自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 基于UDP协议的千兆以太网视频显示系统和心率数据传输

xc7a100tfgg484-2、VITESSE VSC8601以太网基础https://gitcode.csdn.net/65e6ef3d1a836825ed788b02.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6ODE5MjYzLCJleHAiOjE3MTAzMjExMDYsImlhdCI6MTcwOTcxNjMwNiwidXNlcm5hbWUiOiJ3ZWl4aW5fNDUyODQ4NzEifQ.QyyEsiEGoJplLK

2024-03-26 21:44:46 545

原创 基于mig核的ddr控制器

首先由于mig核控制器给到用户的命令端口是时分复用的,我写了个mig核的仲裁模块,当读写请求同时来的时候,写的优先级更高,所以就有了个问题。比如极端的情况,你传一个很长的视频,你一直对ddr写,那仲裁模块是否一直处于写状态,导致ddr读请求不被响应。PCIe下发视频给ddr,一直在写ddr,仲裁模块一直处于hdmi的向ddr要数据,读请求一直挂着,向ddr请求不了数据。(就是说pcie +HDMI超过DDR的带宽)

2024-03-26 21:23:47 542

原创 初识时序约束,分析,优化

时序分析是对源节点到目的节点间进行时序分析,模型分为以下四种:• 寄存器与寄存器之间• 输入 PAD 与寄存器之间• 寄存器与输出 PAD 之间• 输入PAD 与输出 PAD 之间。

2024-03-26 21:20:08 599

原创 心跳包的发送模块设计

发送模块的工作时钟也为125MHz,组帧的数据流如下:首先产生没有校验位数据的帧,将其缓存到一个buffer,一边缓存一边算它的ip和udp校验和,算完了在把数据读出来,读到响应的位置就填计算结果进去,然后在添加crc的帧尾发送出去。

2024-03-26 21:15:37 718

原创 千兆以太网的接收和crc校验

解析该以太网帧,包括统计该以太网帧长度+过滤功能(端口号对不对,是否为udp协议)+CRC校验,将解析结果存入状态fifo,一旦状态fifo开始有数,就开始开启读过程,读过程开始时,首先读状态fifo,根据从状态fifo里面读出的以太网帧长度,来读数据fifo(这样能够防止跨帧读),然后在根据状态fifo里面读出的crc校验正确标志和过滤标志,来确定是否将数据fifo读出来的数据送给下一个模块。改掉之后在抓一下,可以看到抓出来的数据完全正确,从最后开始看,除去4个crc校验的尾巴,数据是到255结束的。

2024-03-26 21:08:38 813

原创 # RGMII 接口和 IDDR 原语的使用 和phy芯片

属于IOB资源中的挨着接口的ILOGIC,即输入信号处理逻辑iddr有3种工作模式,使用SAME_EDGE_PIPELINED,一个时钟上升沿下降沿采出的数据q1和q2是对齐的。这里给到fpga的线有4根数据线,1根控制线,所以对于每个phy芯片传递过来的时钟,要例化5个iddr原语来采样4根数据线和1根控制使能。数据线 0bit 和 4bit 为一组, 1bit 和 5bit 为一组,2bit 和 6bit 为一组, 3bit 和 7bit 为一组。代码如下:generate。

2024-03-20 16:08:40 633 1

原创 FPGA 内部资源总结

CLB在FPGA中最为丰富,由两个SLICE构成,SLICE分为SLICEL(L:Logic)和SLICEM(M:Memory),因此CLB可分为CLBLL和CLBLM两类,1个slice里包含4个6输入的查找表。块ram和分布式ram的区别,分布式ram是利用fpga里面的寄存器和查找表搭建出来的,不是芯片上面固有的,特性不如块ram好。(5)、底层内嵌的功能单元:主要包括 DLL、PLL、DSP、CPU 等,现在越来越丰富的内嵌的功。丰富的布线资源、底层内嵌功能资源、内嵌专用硬核资源,时钟资源等。

2024-03-20 16:01:34 1036 1

原创 关于异步复位同步释放理解与整体复位设计思考

在B寄存器后面再加一级寄存器,并且设置(* ASYNC_REG = “TRUE” *) 能够将这两级寄存器挨的足够近(把两个寄存器约束到一个slice里面),数据传输时延很小,留给B输出的亚稳态状态时间就可以多一些。什么意思了?

2024-03-20 15:59:38 534 1

原创 基于10G Ethernet subsystem 的简易万兆光纤通信

HUAWEI的02310SNN光模块、xlinx vc709开发板最开始我在sfp1和sfp2的macengine上都用了gtcommon,即例化了两次axi_10g_ethernet_0_shared_clocking_wrapper,同一个quad中重复使用GT_COMMON,导致错误。一个quad只能有一个gtcommon。

2024-01-04 14:07:38 1206

原创 zynq的spi中断设置——以GPIO中断为例

zynq的spi中断设置——以GPIO中断为例

2023-12-13 15:50:26 961

原创 对reg变量_非阻塞赋值的理解

modelsim认为时钟和数据同时变化会采集到变化后的值。可以看到在黄线处的时钟上升沿对po_c1进行采样,将采样到的值赋值给r_po_c1,由波形数据可以看出,D寄存器po_c1的Q端值想要完成更新(0变成1),但是经过我上面的精心描述,它不是立马更新的,所以时钟上升沿采样到的值是D寄存器po_c1的还未来得及更新的原来的数据(时钟上升沿左侧的数据即0),并将它赋值给r_po_c1,持续一个时钟周期,直到下一个时钟上升沿的到来。0,它是不对的,但是它的赋值逻辑是按照时钟沿的左侧数据来赋值的,逻辑是对的。

2023-11-23 15:48:40 56

原创 速率可配_奇偶可选_停止位可配的UART收发器

我用modelsim仿真发现图很完美没有错啊,然后没办法用ILA抓了以下数据发现,我的接收端有问题,主要原因是pc端发下的数据,他的每个bit不能严格的保持理论时间,往往在我正在接收上一次数据的时候,下一次数据的下降沿就来了,我在接收模块用的计数器是按照理论时间来预估每个bit的持续时间,导致我不能精准地识别pc端来的串行数据的下降沿。一开始我想的是回环直接把接收的模块的数据直接作为用户端的数据直接给到发送模块,像下图这样。想搞一个这种架构的UART,然后让速率可配,奇偶校验可选,数据位宽可选,做个回环。

2023-11-23 15:41:02 26

原创 基于VC709开发板利用IBERT实现SFP/SFP+ connectors GTH收发器的测试

发现只能是光模块和光纤的问题,再次检查光模块是否打开,进行检测,还是no link,于是找师兄23333,在一次偶然的测试中,师兄准备把光纤拔出但还未完全拔出之际,发现link上了。这一页注意一下,选择SFP/SFP+ connectors所在的bank,如下图,还有我们的VC709 GTH的参考时钟要选SMA引入进来的时钟,上面的参考文章和后面会说到GTH 的参考时钟是由两根电缆引进来的差分时钟。可以看到信号的效果非常好,有些博主的眼图信号质量不好,有可能他做回环的时候光模块没有加上衰减。

2023-11-23 15:34:25 173

原创 手撕sdram控制器,实现图像的缓存和vga实时显示

手撕sdram控制器,实现图像的缓存和vga实时显示

2023-11-23 10:29:12 79

空空如也

空空如也

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

TA关注的人

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