



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
两片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 = (Tdmax + Tclk + Tdmin)/22. 令clk信号的上升沿有效窗口为(Tcv1,Tcv2),则:Tcv1 = Tshift + Tcmin,Tcv2 = Tshift + Tcmax,中间值为Tcv = Tshift+(Tcmin+Tcmax)/23. 若要得到最佳的采样结果,则:Tdv = Tcv,即(Tdmax + Tclk + Tdmin)/2 = Tshift+(Tcmin+Tcmax)/2,也就是要满足:Tshift = (Tclk + Tdmax + Tdmin Tcmin - Tcmax)/2图2通过约束得到了一些参数值,即Tclk =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 7986-2025输送带滚筒摩擦试验
- GB/T 15062-2025变形高温合金无缝管
- 2025黑龙江牡丹江东宁市人力资源和社会保障局招聘公益性岗位21人(2025年第一批)考前自测高频考点模拟试题及参考答案详解
- 2025河南郑州大学第三附属医院招聘160名考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025北京十一未来城学校春季招聘考前自测高频考点模拟试题参考答案详解
- 2025年威海技师学院公开招聘工作人员(29名)考前自测高频考点模拟试题及完整答案详解1套
- 2025春季中铁水务集团有限公司校园考前自测高频考点模拟试题附答案详解(突破训练)
- 2025恒邦财产保险股份有限公司营业部招聘1人模拟试卷及答案详解(必刷)
- 2025安徽芜湖市人才发展集团有限公司招聘2人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年长春医学高等专科学校公开招聘编外聘用制工作人员(2人)考前自测高频考点模拟试题及答案详解(各地真题)
- IPD项目-TR1要素评审表
- 地质灾害治理工程单元、分部、分项工程划分(完整资料)
- 拌合站拆除作业安全技术交底
- 胰岛素的种类及应用(共26张PPT)
- 数学教师简历模板3篇
- GB/T 96.1-2002大垫圈A级
- 2022年湖南食品药品职业学院单招综合素质考试笔试试题及答案解析
- 完整版隧道项目消防工程施工组织设计方案
- 《内科学》人卫第9版教材
- 赤峰元宝山电厂超低排放改造在建脱硫吸收塔“3.23”火灾事故报告
- 金坛区苏科版四年级心理健康教育第2课《别人眼中的我》课件(定稿)
评论
0/150
提交评论