自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(221)
  • 资源 (7)
  • 收藏
  • 关注

原创 Aurora 协议学习理解与应用——Aurora 64B66B协议学习

Aurora 协议描述了通过 Aurora channel传输用户数据,该通道由一个或多个 Aurora lane组成。每个 Aurora lane都是串行数据连接,可以是全双工,也可以是单工。通过channel进行通信的设备称为channel partners。Aurora 接口允许用户应用程序通过 Aurora 通道传输数据。每个 Aurora 接口上的用户接口未在本规范中定义。Aurora通道包含下面这些属性:1、数据通过 Aurora 通道以帧的形式传输。

2024-04-17 13:26:11 617

原创 Aurora 协议学习理解与应用——Aurora 8B10B协议学习

Aurora 8B/10B 协议描述了通过 Aurora 8B/10B Channel传输用户数据。一个 Aurora 8B/10B Channel由一个或多个 Aurora 8B/10B lanes组成。每个 Aurora 8B/10B lane都是全双工串行数据连接。通信的双方称为Partners。与其他例如SRIO称为Master和Slave不同,这里Partners说明双方是对等的关系。Aurora 8B/10B 协议接口通过用户接口与用户应用程序传输数据和控制。

2024-04-16 21:01:54 1028

原创 VB语言回忆录——到了是该放弃VB语言的时候了么

4年前(2020年),微软 NET 团队在开发者博客中宣布,他们虽然还会继续在 .NET 5.0 上支持 Visual Basic ,但不再将 VB 作为一门独立的语言发展。VB这个语言我从接触到现在也将近十七八年了,虽然一直都是停留在初级的阶段,但作为一个自己的纯爱好,虽然技术上一直没有太大的进步,但也一直没有生疏,它一直在我的工作发挥着作用,甚至是锦上添花。

2024-03-10 14:27:17 693

原创 vivado如何生成一个模块的带原语的网表

有时候我们想生成一个网表文件,但vivado默认是会生成一个dcp的文件,加密性时非常好的,但又过于黑盒子了,而通过原理图按钮只能看到原理图图形,如果将原理图生成全部是原语的文本呢。

2024-02-29 08:30:07 377

原创 vivado的一个报错记录(找到指定的cell)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-01-31 11:54:32 415

原创 Gowin FPGA的使用——GW2A系列rPLL

使用GUI来配置rpll还是很明了的,这个不需要太多说明就能直接使用了,我主要是要搞清楚原语的使用以及rPLL的内部结构。

2024-01-17 16:06:38 563

原创 LTPI协议的理解——4、LTPI链路初始化以及运行

整个LTPI协议实现过程中,我认为最复杂的也就是LTPI的链路建立的过程 以及异步信号(特别是IIC)的传输事务的控制和响应以及对IIC接口线的操作。我们前面已经大致提到了各个阶段的帧定义,那么接下来我们继续来理解整个LPTI协议的初始化到运行的流程是怎样的LPTI协议的实现,主要是要注意各种状态的跳转,各种异常的检测,以及一些调试分支都要考虑到,所以协议都要细细的研读,否则很慢把所有细节都把握清楚。

2023-12-29 11:41:52 1352

原创 LTPI协议的理解——2、LTPI实现的底层架构

前面讲了LTPI的定义和大概结构,接下来继续理解LTPI硬件实现的底层架构1、类似于高速收发器中需要字节对齐,K码检测,这个协议也涉及到这些2、用到了8B/10B编码,那么帧内容应该都是以字节为单位进行组帧,同时在帧的头部设置为K comma用于判断是什么类型的帧,尾巴加上CRC校验,CRC校验的内容是不包含K Comma的其他内容2、GPIO UART这些因为是直通的,因此可以直接进行采样3、而I2C和DATA BUS这些是需要交互的,不能像GPIO UART那么简单的操作。

2023-12-29 09:19:32 1618

原创 LTPI协议的理解——3、LTPI协议的帧定义

前言各种帧格式速率协商阶段能力确认阶段运行阶段总结手册中各种帧写的位置有点乱,不好查询,这里进行一下汇总LTPI协议就是通过上述帧来传输数据的,一开始是使用检测帧来互相交换速度信息,通过速度帧来协商确认,选定一个各自都存在的最高速度来运行LVDS信号,速度协商完成之后。开始发送能力广告帧,交换两端的能力信息,然后SCM发送配置帧,如果HPM的能力满足配置帧的话则发送有效接受帧,这样两端就进入了运行状态。

2023-12-28 15:33:37 979

原创 LTPI协议的理解——1、LTPI协议的定义和结构

定义DC-SCM 2.0 LTPI 结构GPIO通道I2C/SMBus通道Uart通道OEM通道数据通道总结LTPI (LVDS Tunneling Protocol & Interface,LVDS 隧道协议和接口)是一种协议和接口,设计用于在 HPM 和 SCM 之间传输各种低速信号。它不仅支持 GPIO 的隧道传输,还支持 SMBus、I2C、UART 等低速串行接口的隧道传输。它还可以通过额外的专有 OEM 接口进行扩展,并为 HPM CPLD 和 SCM CPLD 之间的原始数据隧道提供支持。

2023-12-28 14:50:07 1783

原创 Gowin FPGA工程modelsim功能仿真和时序仿真

下面记录一下modelsim功能仿真和时序仿真的操作步骤,学习新器件的第一步,当然是要知道怎么进行IP核的仿真了。

2023-08-23 13:05:51 1399 1

原创 Xilinx DDR3学习总结——4、添加读写功能

前言APP端口读写测试前面modelsim已经仿真成功了了DDR3的初始化,但其他端口都设置成了0,现在就需要对其读写端口进行操作了。

2023-08-12 20:53:03 725

原创 Xilinx DDR3学习总结——3、MIG exmaple仿真

前言仿真前面我们直接把exmaple例程稍加修改就进行了抢先上板测试,证明了MIG模块工作时正常的,但后续如果需要添加读写功能的话,还是需要先进行仿真,因此我们还是先要把modelsim仿真弄起来。

2023-08-12 20:08:42 787

原创 Xilinx DDR3学习总结——2、MIG exmaple直接上板

前言修改内容上板上一篇,我们生成了一个example,example的测试激励看起来都比较复杂,仿真先不看,实际上,这个example稍加改动就可以直接上板了。这里我们就是查看MIG IP输出的init_calib_complete信号。

2023-08-12 19:34:35 1024

原创 Xilinx DDR3学习总结——1、MIG核设置

前言开发板 DDR信息MIG 设置话说之前从来没有使用过DDR,工作中的项目都是流式处理的,没有一个大存储的需求,应该图像处理中DDR用的会比较多一些,但是一个这么常用的东西不预先学习一下也不像话,在这里,也就记录一下学习的过程。参考其他优秀的博主的文章,现学现会。

2023-08-12 16:52:55 1013

原创 Gowin FPGA学习记录——前言

现在用国产FPGA的厂家是越来越多了,和以前的同事聊天,很多公司都陆陆续续有了一些使用国产FPGA的项目,用的人多了,自然而然整个生态就建立起来了。工作一两年中,也有国产FPGA厂家过来推销,虽然说的怎么怎么好,但我们都知道国产的东西,那肯定是不怎么稳定的,还是让别人先去当小白鼠吧,因此国产FPGA基本上不怎么受待见。现在FPGA的这种发展势头在十年前那是不敢想象的,记得我刚毕业的时候,还有个叫京微雅格的国产FPGA公司,那应该是我最早听到的国产FPGA的名字了。4、IP核的使用学习。

2023-07-13 23:07:38 700

原创 xilinx srio ip学习笔记之axistream接口

srio 的IQ接口都是基于axistream的,以前没怎么用过axistream的接口,或者说没怎么用过复杂条件下的axistream的接口,今天就来总结和改造一下包括以下信号axistream 一边是发送端,一边是接收端。接收端的时序还比较好判断,只要判断tvalid准备好了,只要发送一个tready,那么tvalid和tready同时为高的时候,ireq_tdata就可以采集下来。

2023-02-15 10:28:39 1315 3

原创 LMK04828时钟芯片配置——配置理解

主要理解了下SYSREF的生成,因为这个比较重要。

2023-02-05 22:25:42 6447 3

原创 LMK04828时钟芯片配置历程——SPI接口

虽然这么个简单的SPI的接口折腾了一两天才调通,但确实对于一个新器件来说,还是需要去关注它的数据手册,了解清楚一点在进行调试比较好。

2023-02-02 17:44:50 3329 2

原创 ADI demo PS工程的编译-以adrv9371x_zc706为例子

接《ADI demo PL工程的编译-以adrv9371x_zc706为例子之使用Cygwin》这篇。导出XSA文件,接下来使用vitis软件建立工程,话说vitis软件我也是第一次使用,自从2019版本之前好像还都是SDK,那个还用过一些,不过看网上说VITIS好像也差不多但毕竟我手头上并没有官方的开发板,只能说编译成功了,功能对不对也不知道。但毕竟编译成功了也是成功了一小步,后续计划将这套程序挪到我的ZYNQ7030中,而且只保留SPI部分,还是需要对程序进行慢慢理解的。

2023-01-15 21:57:00 1525

原创 ADI demo PL工程的编译-以adrv9371x_zc706为例子之使用Cygwin

之前一篇ADI demo工程的编译是ADI不推荐的方法,而且确实在后面NO-OS的软件部分的造成了麻烦,手动添加源代码文件总会发现不是缺了这个就是缺了那个。显然不是很方便而ADI官方是说然后分为Linux环境和Windows环境Linux的暂时不研究,先看看Windows下面的既然官方推荐用Cygwin,那我们也还是先试试这个吧,后面有时间看看 gnuwin 这个行不行所以说官方推荐的实际上还是最方便的,只是需要一个Cygwin工具而已。

2023-01-15 15:43:05 819

原创 学习理解10G Ethernet Subsystem之IEEE1588

1588大多是走在报文中,主要通过一些报文交互来完成同步过程,对于设备的要求分类和状态机的运用,让整个系统可以知道自己处在什么状态,也可以手动设置自己的同步优先级顺序。1588简单来说是在用端到端的报文交互来确认彼此状态,计算环路时延然后进行同步,在这个过程中有两个假设:1.在时钟源设备和受时钟设备之间,网络报文传输时间是对称的。也就是说一个报文从时钟源设备到受时钟设备的传输时间等于报文从受时钟设备到时钟源设备的传输时间相同。2.在 PTP 报文交换过程当中,本地时钟的漂移可以忽略不计。

2023-01-12 23:14:55 1292

原创 xilinx srio ip学习笔记之srio example

前面对SRIO的理论有了初步的理解,现在急需要通过理解例程并且修改例程来建立自信心了。学东西确实是需要有一种任务驱动才能学的快,以前也想通过自学学习SRIO,但就是没有动力,但有了任务驱动之后,确实学习的效率高多了。

2023-01-12 18:05:35 2474

原创 xilinx srio ip学习笔记之再识srio

这段时间,随着对SRIO的学习,又有了更深的一点认识,不像一开始这么慌张了SRIO的协议有一千来页,一个初学者是不可能一开始就去读协议的,那得学到猴年马月呀,为了避免从入门到放弃,得快速的学习才行,不仅要看明白官方的例程,同时还要自己动手改改才行,这样才能建立信心。1、https://www.cnblogs.com/liujinggang/p/ 这位大佬对SRIO估计已经玩转的非常深刻了,他的系列文章实在是太详细了spm=1001.2014.3001.5502 这位大哥的系列文章也还不错。

2023-01-12 11:17:48 2867 5

原创 xilinx srio ip学习笔记之初识srio

因为工作原因,需要对rapidio 的协议进行了解,在xilinx的IP核中,是对应着Serial RapidIO Gen2 这个IP核。因为之前从来没有接触过这个IP核,因此希望像之前学习JESD IP那样,一开始从xilinx的example开始入手以上就是对srio ip example的一个直观的认识,希望后面慢慢能够加深其理解。

2022-12-29 10:56:10 2328

原创 ADI demo PL工程的编译-以adrv9371x_zc706为例子

最近在研究AD9371,ADI官网上是提供了很多示例工程的,但苦于只有一些tcl脚本,一直都不清楚要怎么搭建工程,经过一天的摸索。终于搞清楚要如何搭建一个AD9371的工程的步骤主要是要参考这篇文章:Xilinx auto Tcl build 这个章节,尽管官方不推荐用这种方法,但实际上这种方法最方便了首先vivado的版本最好还是跟例程一致找到adi_env.tcl文件,这里说了vivado2021.2版本。可能改以下版本用其他版本也可以,不过我没去试了}具体于我这里,我输入以下指令。

2022-11-29 17:20:47 805

原创 Xilinx selectIO 资源的使用——input方向

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2022-10-13 17:05:06 1896 1

原创 FPGA开发技巧备忘录——Vivado 自动日期版本号

我们在编译FPGA工程的时候一般需要对版本号的更新,一般来说都会有一个日期或者时间的版本标识,在上板调试的时候用于表征当前版本确实已经更新成功,或者作为FPGA发布版本的标识等等。但有时候我们有时候会忘记更新版本号,从而导致时间的浪费。下面我们就是要解决这个痛点,利用vivado的tcl功能自动进行日期版本号的更新这个小技巧解决了每次编译需要手动更新编译日期的问题。

2022-10-07 21:33:24 2544 3

原创 Intel Cyclone 10 GX 收发器的时钟网络

前面我们提到了实际在代码设计中,CMU PLL、ATXPLL和FPLL是作为IP核需要我们自己去添加和连线的下面以Advanced Transmit (ATX) PLL为例。

2022-09-07 22:57:50 934

原创 Intel Cyclone 10 GX 收发器的初步认识

目标芯片: 10CX220YF672I5GIntel Cyclone 10 GX 器件提供 6, 10 或 12 个收发器通道。每个收发器 bank 有高达六个收发器通道。收发器 bank 是一个基础单元,包含与器件的高速串行收发器相关的所有功能模块。每个收发器 bank 均包含四个或六个收发器通道10CX220YF672I5G这个芯片包含了10个收发器通道,那应该就是如下图所示。...

2022-08-27 09:01:09 870

原创 Intel FPGA的JESD204B例程的搭建

尽管JESD204B不分Xilinx还是Intel,但两家的IP还是有一些差别的,不提前研究的话也不太可能能直接上手,这里,我希望和当年研究Xilinx公司JESD204B一样,能够细致的掌握那么首先就从搭建JESD204B的例程开始吧。

2022-08-24 23:35:45 1604

原创 手撕IP核系列——Xilinx FIFO IP核-异步FIFO

以前从来没有这么细扣过,认识比较肤浅,通过几天对Xilinx IP核的仿制,对异步FIFO有了更深刻的认识。一开始,我是希望做到时序完全一模一样的,在某些间隔读和间隔写的场景中,也确实做到了输出时序完全一模一样,但发现在有些读和写同时进行的场景,有些输出就是与异步FIFO IP核会有差距。尽管最终我还是放弃追求完全和IP核的时序保持一致了,但通过这几天的手写和研究,也能写出功能正确的异步FIFO出来下面,将描述实现的一些过程,我们以一个IP核的设置作为参考。.........

2022-08-09 23:55:20 2895 1

原创 手撕IP核系列——Xilinx FIFO IP核-同步FIFO

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2022-08-05 15:10:33 1082

原创 手撕IP核系列——Xilinx FIR IP核之一

在Xilinx和Intel平台的FPGA中提供了给我们各种各样的IP核,这些IP核都是厂家的成熟设计,使用起来也非常的方便。但因为我们的项目经常存在跨平台的问题,两家的IP核从参数、时序到风格都有一些区别,越复杂的IP核越难以移植,特别是如果两家的IP核输入输出的时序不一致的话会导致设计需要改动很大。因此有必要对IP核进行RTL描述,1、 通过自己的代码写出了IP核的功能,对IP核的实现进行了深入的理解。......

2022-08-05 14:56:16 3400 1

原创 Vivado中的一些名词记录

查漏补缺。

2022-07-26 20:18:26 1777

原创 FPGA开发技巧备忘录——Project Archive

提示文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2022-07-16 17:04:48 622 4

原创 4G5G 信号时频结构的一些总结

前言4GLTE时域结构描述4GLTE频域结构5GNR时域结构描述对4GLTE和5GNR的时频结构进行总结,将一些参数列出来以备用。

2022-07-14 23:10:15 5183

原创 Vivado从此开始(进阶篇)读书笔记-RAM的三种工作模式

书本中对于RAM的三种操作读优先级(read_first)、写优先(write_first)和保持(no_change)使用等效的verilog来描述,简单明了,记录于此。

2022-07-14 21:39:38 2152

原创 Vivado从此开始(进阶篇)读书笔记——综合阶段相关知识点

对控制集百分比的说明(适用于7系列FPGA和UltraScale FPGA)如下表。可以看出:当控制集的百分比超过15%时,需要降低控制集。计算控制集百分比的步骤如下:1、 打开综合阶段或实现阶段生成的DCP,通过命令获取unique_ctrl_set,即unique control sets值2、 通过两条命令获取当前芯片中SLICE的个数slice_num:3、 计算控制集百分比,即unique_ctrl_set/ set slice_num*100%例如使用keep,使得寄存器不会被综

2022-07-13 22:44:52 1819

原创 Vivado从此开始(进阶篇)读书笔记——跨时钟处理

最近买了几本书,对知识进行细节方面查漏补缺,从0分到90分容易,从90分到95分难。主要记录一些自认为有用,但平时又没有用到的一些小知识点或者技巧,包括例如一些新奇的设计、一些忽略的报表分析或者约束等等,也许不关注这些东西,工程也能正常编译和使用,但为了更加精益求精,还是要广泛吸收其他人的一些总结和经验,才能不断进步。在异步跨时钟域场合,对于控制信号(通常位宽为1bit)常使用双触发器的方式完成跨时钟域操作。如图所示。对于图中标记的1和2的触发器,需要使用综合属性ASYNC_REG,其目的有两个:表明1触发

2022-07-12 23:32:10 4141 4

《FPGA信号处理系列文章——多相滤波器解决Xilinx工程问题》中的COE文件

https://myfpga.blog.csdn.net/article/details/122265963 中的COE文件

2022-01-01

P码相关处理文档.rar

GPS基带P码处理总结——几个关键的说明和重要的参考文献 https://blog.csdn.net/gzy0506/article/details/120921786 中的附件

2021-10-24

serdes_12g.rar

https://blog.csdn.net/gzy0506/article/details/120805043 Serdes系列总结——Xilinx serdes IP使用(三)——12G serdes 的附件

2021-10-17

SERDES_10G.rar

https://blog.csdn.net/gzy0506/article/details/120804423 Serdes系列总结——Xilinx serdes IP使用(二)——10G serdes 的附件

2021-10-16

SERDES_3G.rar

https://blog.csdn.net/gzy0506/article/details/120803797 Serdes系列总结——Xilinx serdes IP使用(一)——3G serdes的附件

2021-10-16

AD9364下变频链路仿真.rar

https://blog.csdn.net/gzy0506/article/details/120730465 所描述的matlab代码

2021-10-13

ise14.5 和vivado2013.3 通用LICENSE

本人已经使用1-2年了,一直在使用,请放心

2015-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除