- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《两片FPGA之间的数据传输
两片FPGA之间的数据传输
两片FPGA之间的数据传输
???????? 在工程实践中,常常需要涉及多个主芯片间的数据传输。尤其在多个FPGA级联的系统中,不同吞吐量的数据传输可以采取不同的接口方式来实现。但是,采取什么样的方式能够让他们相互间的数据传输可靠、稳定,并且满足吞吐量的需求呢?通信方式有很多,慢点可以用UART、IIC,快的可以用SPI、LVDS、并行总线等方式,这里要介绍的是并行总线方式。它的优点是接口简单,常见的3.3V LVTTL电平即可,无需额外的辅助电压,并且只要FPGA分别给出一组IO口连接即可。缺点也很显而易见,耗费的IO管脚数较多。
???????? 先来看看示意图,图1中的两个FPGA,数据传输是单向的。TX FPGA有一个专用的FIFO用于缓存待发送的数据,RX FPGA也有一个专用的FIFO用于缓存接收到的数据。而他们接口的信号为时钟信号tx_clk、发送数据有效信号tx_en、发送数据总线tx_db、请求数据发送信号rx_req和复位信号clr。
图1
???????? 这种接口的工作方式是有请求才有数据,通常rx_req置位后,TX FPGA发出一组(固定数据流,需要在TX FPGA的逻辑中设置)数据,这组数据以时钟周期(tx_clk)为单位进行发送。在接收端(RX_FPGA)通过tx_clk的上升沿锁存数据,有效数据对应的数据有效信号tx_en是使能的。RX FPGA的复位输出clr用于复位TX FPGA的缓存FIFO。
???????? 在硬件连接上,有讲究,由于tx_clk是PLL输出的,因此最好能够分配到TX FPGA的专用PLL输出时钟管脚上;此外,在RX FPGA端也一样,tx_clk要分配到专用全局时钟输入管脚上。其它的信号根据实际布局进行优化布线即可。
不是连接好FPGA或是写好逻辑就完事了,两片FPGA间的时序约定、约束以及收敛也是非常关键的。
下面通过特权同学模拟一个工程的情况来探讨这种两片FPGA通信的时序分析与约束。如图2对两片FPGA的接口与时序参数进行定义。两片FPGA间的接口也是寄存器到寄存器的时序路径,通常可以分为三部分时序路径:TX FPGA内、PCB板上和RX FPGA内。图2中给出的PCB走线长度参数是确定的,TX FPGA和RX FPGA内的路径延时值是假设的。
图2
???????? RX FPGA发出的rx_req和clr信号时序要求均不高,可以简单的约束或者直接作为false路径。
???????? 主要关注的时序是tx_clk/tx_en/tx_db,他们必须满足如图3所示的关系。即希望能用tx_clk的上升沿采样到稳定的tx_en/tx_db信号。也就是说,tx_clk的上升沿最好能够对准tx_en/tx_db的有效信号窗口中央。
图3
???????? 从寄存器级来看tx_clk与tx_en/tx_db之间的关系,大体可以如图4所示。其实这也是一个比较典型的源同步接口。无论对于时钟信号还是数据信号,他们的源节点到宿节点之间所经过的延时都分为三部分,即在TX FPGA内部的路径延时、在PCB板上走线的延时、在RX FPGA内部的路径延时(当然确切的说,可能应该再加上一些不确定时间)。而在PCB板上的延时是固定的,分别在两片FPGA器件内部的路径延时则是需要进行约束和分析的,并且通过他们的实际情况来调整作为RX FPGA输入时钟的相位,以确保尽可能的符合图3所示的时序要求。
图4
???????? 图2其实已经大体标注出了实际的一个大致延时范围。其实我们的这个范围圈定以及实际情况的不断校准,最终是希望能够计算出一个比较合适的tx_clk相位偏移。
???????? 按图5的方式来定义clk和data总线的路径延时,那么 clk总的路径延时为Tc1+Tc2+Tc3(每一个值可能都有一个取值范围,不是固定的),data总的路径延时为Td1+Td2+Td3。如图我们取Tc1+Tc2+Tc3的最大值为Tcmax,最小值为Tcmin,并且取Td1+Td2+Td3的最大值为Tdmax,最小值为Tdmin。
图5
???????? 再来看图6所示的波形,其中sysclk是图4的TX FPGA内部时钟,也是源寄存器时钟;data即输出到TX FPGA的数据总线tx_db(包括tx_en信号);outclk是从PLL输出的时钟波形,inclk则是最终到达目的寄存器的时钟波形。
图6
???????? 从图6所示的一些时间关系中,不难理出一个Tshift取值的公式。如下:
1.?????? 令Data总线的有效数据窗口为(Tdv1,Tdv2),则:
Tdv1 = Tdmax,Tdv2 = Tclk + Tdmin,中间值为Tdv = (T
您可能关注的文档
最近下载
- Linux网络操作系统配置与管理 第四版 项目3 文件和目录的管理.ppt VIP
- 医学课件-肝功能衰竭.pptx VIP
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 肝功能衰竭医学科普.pptx
- 2024-2025学年广东省深圳中学九年级(上)开学数学试卷(含详解).pdf VIP
- 《肝功能衰竭》课件课件-2024鲜版.ppt VIP
- 通桥(2014)2132-Ⅳ(跨度31.5m) (附条文及目录 ).pdf VIP
- 儿科学麻疹病例分析,病例导入法.docx VIP
- 燃煤锅炉超低排放治理工程项目实施方案(参考).docx
- 24012NDS00 NDS试验测试标准.doc VIP
文档评论(0)