FPGA学习
文章平均质量分 88
FPGA小白,记录学习过程。欢迎交流!
流浪蓝天
记录学习过程,内容如有纰漏感谢指出!!shaoyu_qu@163.com
展开
-
时序约束(二): input delay约束和output delay约束
在项目中,RGMII的数据输入方式为DDR,源同步输入方式,可以用之前提到的分析模型进行约束。LrMax = Tco max + Td_bd max -(Tc_d + Tc_bd) ------分析建立时间时序LrMin = Tco min + Td_bd min -(Tc_d + Tc_bd) ------分析保持时间时序Clock:时钟,选择rx_clk。Objects:约束目标,选择RGMII输入信号。Delay value:延时时间。原创 2024-07-02 20:06:46 · 2051 阅读 · 0 评论 -
时序约束(一):时钟的约束
对于时序分析工具来说同样如此,分析工具需要我们去告知时钟的特征,通过添加合理的时钟约束,经过 时序分析工具分析后得到对应的时序分析结果, 用于后期的优化提供数据参考依据。这里我们对项目工程中的rx_clk信号做约束,这个信号是PHY芯片通过引脚传入FPGA的时钟信号,用于iddr模块的采样时钟,并没有经过PLL,因此需要进行时钟约束。值得注意的是,如果基准时钟经过了 PLL, 由于在 PLL 配置界面设置了基准时钟频率等信息,在约束信息里会自动添加基准时钟约束,并且自动会把生成时钟也会添加约束。原创 2024-06-27 01:00:00 · 1508 阅读 · 0 评论 -
DDR3控制器(一)DDR3 IP调用
MIG IP核(Memory Interface Generator)是Xilinx提供的IP核,专门用于处理存储器接口的生成和管理。它的主要功能是简化和优化FPGA与外部存储器(如DDR SDRAM)之间的数据传输和通信。需要说明的是,DDR3 IP是软核,因此需要占用逻辑资源,在FPGA选型时需要注意。原创 2024-06-26 10:00:00 · 2634 阅读 · 0 评论 -
时序分析(三):output delay分析
以上的分析是基于我们知道下游芯片的STsu/STh的,但是多数时候我们是不知道这些参数的,这时候可以假设出数据(FPGA输出)的skew,假设 SKEW 的目的是让综合工具知道输出的时钟采样沿不能落在 SKEW 的区域。图中各波形的含义从他们的名字就可以看出,其中Downstream data in指数据到达下游器件的输入引脚,Downstream clock in指时钟信号到达下游器件的输入引脚,这两个信号波形很重要,后边会讲为什么。这里需要强调的是,与input delay分析不同,原创 2024-06-25 00:15:00 · 2393 阅读 · 0 评论 -
千兆以太网数据发送(三):CRC校验、ODDR
在上一篇中,我们完成了IP校验和、UDP校验和的计算,并将计算结果填充在以太网协议帧中的对应位置,输出数据信号check_data[7:0]和数据有效信号check_en。至此,完成了下图中发送链路模块、gen_frame_ctrl模块和check_sum模块,但是CRC字段都给的0。本文将在此基础上计算出CRC校验和,进一步完善以太网数据包。原创 2024-06-24 00:15:00 · 1367 阅读 · 0 评论 -
时序分析基础
同样,为了不引起时序违例问题,要求:Th Slack > 0,而Ty = Th + Th Slack,因此,只有当 Ty = Tclk1 + Tco + Tdata + Tcycle - Latch Edge - Tclk2 – Th > Th才能满足时序要求。我们知道,为了不引起时序违例问题,要求:Tsu Slack > 0,而Tx = Tsu + Tsu Slack,因此,只有当 Tx = T + Tclk2 – Tclk1 – Tco – Tdata > Tsu才能满足时序要求。原创 2024-06-22 08:46:08 · 1303 阅读 · 0 评论 -
千兆以太网数据发送(二):IP、UDP检验和计算
我们设计的以太网整个发送链路如下图所示,在中已经实现了timer模块和gen_frame_ctrl模块,得到UDP的基本帧结构,但是检验和、CRC等字段都给的0。本文将在此基础上计算出IP检验和以及UDP校验和,进一步完善以太网数据包。原创 2024-06-19 00:30:00 · 2378 阅读 · 1 评论 -
千兆以太网数据发送(一):心跳帧的组建
当秒脉冲到来时,拉高gen_frame_flag信号,开启gen_frame_cnt计数器的技术,当计数到113时停止计数并拉低gen_frame_flag。(按照以太网包结构,以太网帧头为50字节,另外设定心跳帧数据为64个0,所以共有114个字节)tx_data[7:0]和tx_en为输出的心跳包数据,根据gen_frame_cnt计数到不同的数值给tx_data[7:0]赋值,从而组成以太网包。如果心跳帧没有得到预期的响应,设备可以判断链路已经断开,从而采取必要的措施。原创 2024-06-17 15:26:07 · 585 阅读 · 0 评论