关于 FPGA 和 外部芯片接口时序设计
在看这篇文章之前, 建议先好好读下这篇文章。http://download.csdn.net/detail/angelbosj/8013827。
因为我不太会用 VISio。要是哪位网友能告诉我。怎么能画出上面文档那么好的时序图来,请留言告诉我。
拜谢~
对于视频接口好多都是这种。 比方 bt1120, 16根数据线和 1根clock. 并行.
a、FPGA 输入时钟模型.
我们能够要求layout的时候, clk 和 数据线之间等长。 这样分析起来会easy。
假设外部芯片是上升沿发送数据, FPGA上升沿接受数据.
请看以下这图:
建立时间满足的情况:
Setup Slack = (Tclk + Tclk2 ) - (Tclk1 + Tpcb + Tco + FTsu) >0.
由于 Tclk2 = Tpcb, Tclk1 = 0. 所以。 Tclk - (Tco + FTsu) > 0 . 由此可知,建立时间肯定能满足.
保持时间满足的情况:
Hold Slack = (Tclk1 + Tco + Tpcb) - (Tclk2 + FTh) >0 .
由于 Tclk2 = Tpcb, Tclk1 = 0. 所以 Tco - FTh > 0. 这样显然可能不合适.
外部芯片是下降沿发送数据, FPGA上升沿接受数据,
请看以下这图:
建立时间满足的情况:
Setup Slack = (Tclk + Tclk2 ) - (Tclk1 + Tpcb + Tco + FTsu) >0.
由于是下降沿发送数据。 则Tclk1 = Tclk/2. Tclk2 = Tpcb,所以。 Tclk - (Tclk/2 + Tco + FTsu) > 0 . 能够满足情况.
保持时间满足的情况:
Hold Slack = (Tclk1 + Tco + Tpcb) - (Tclk2 + FTh) >0 .
由于 Tclk2 = Tpcb, Tclk1 = Tclk/2.. 所以 Tco + Tclk/2 - FTh > 0. 能够满足情况.
外部芯片是上升沿发送数据, FPGA下降沿接受数据,
请看下图;
建立时间满足的情况:
Setup Slack = (Tclk + Tclk2 ) - (Tclk1 + Tpcb + Tco + FTsu) >0.
由于是下降沿接受数据。 则Tclk1 = 0. Tclk2 = Tpcb - Tclk/2. 此时. Setup Slack = Tclk/2 - (Tco + FTsu ) > 0 能够满足条件.
保持时间满足的情况:
Hold Slack = (Tclk1 + Tco + Tpcb) - (Tclk2 + FTh) >0 .
由于是下降沿接受数据。 则Tclk1 = 0. Tclk2 = Tpcb - Tclk/2. 此时,Tco + Tclk/2 - FTh > 0 能够满足条件.
b、FPGA 输出时钟模型.
FPGA 输出时钟模型.和 FPGA输入模型情况类似.
总结:
对于FPGA 输入时钟模型, 有两个建议:
一、 数据 和 时钟线 等长.
二、 外部芯片下降沿发送数据,FPGA上升沿接受数据.
对于FPGA 输出时钟模型, 有两个建议:
一、 数据 和 时钟线 等长.
二、 FPGA上升沿发送数据。外部芯片 下降沿接受数据.
仅仅有这样再去进行FPGAport的约束才有意义.
补充: PCB延时经验值为 600mil/ns, 1mm = 39.37mil.
内部时序不满足的时候, 尽量降低 组合逻辑.
关于 FPGA 和 外部芯片接口时序设计的更多相关文章
- 74HC595驱动(并转串,fpga与时钟匹配,fpga与外部芯片的连接注意事项)
上一次设计的动态扫描数码管显示电路模型如上,这是一个32位并行数据[31:0]disp_num选通输出并行数据[7:0]select和[7:0]段选的电路.因此需要输出16个信号 而在开发板上的电路与 ...
- 【转载】FPGA静态时序分析——IO口时序
转自:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束 ...
- FPGA静态时序分析——IO口时序(Input Delay /output Delay)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...
- FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)
转载地址:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟 ...
- FPGA静态时序分析——IO口时序(Input Delay /output Delay)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...
- 东芝线阵CCD芯片TCD1305DG驱动时序设计
最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成 ...
- VGA接口时序约束
SF-VGA模块板载VGA显示器DA转换驱动芯片AVD7123,FPGA通过OUPLLN连接器驱动ADV7123芯片产生供给VGA显示器的色彩以及同步信号.SF-CY3核心模块与SF-VGA子模块连接 ...
- 【接口时序】6、IIC总线的原理与Verilog实现
一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...
- 【接口时序】7、VGA接口原理与Verilog实现
一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...
随机推荐
- 快速开启Safari的私密浏览(快捷键创建)
正常使用Safari浏览器,都会保存你的浏览记录.搜索记录,包括你的浏览习惯,经常去哪些网站等等.这样的好处是可以帮助你更快速的进入自己需要的网站,节约很多时间. 但有些情况下,你还是会偏向于选择私密 ...
- 500多条Linux信息
http://www.cnblogs.com/zgqjymx/myposts.html?page=77 http://www.cnblogs.com/zgqjymx/tag/%E5%8E%9F%E5% ...
- 10-2[RF] OOB validation
main idea: 在使用bootstrap生成gi的训练集时,会有一部分数据没有被选中,使用这一部分数据(OOB)进行validation. 1.数据没有被选中的概率 假设训练集大小为N,使用bo ...
- Linux学习之第十九、条件判断
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_4.php 条件判断式 只要讲到『程序』的话,那么条件判断式,亦即 ...
- setObject与setValue的区别
在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有.1.先看看setVa ...
- 如何使用dynamic
DataTable dt = new DataTable("TableOne"); dt.Columns.Add("ID", typeof(int)); ...
- POJ3253 Fence Repair(贪心)
分割木板的顺序是自由的,所以每次选择两块最短的板,组合在一起,增加队列,原来两个板出队,直到队列中为空或者仅仅剩下一个板时结束.这里使用优先队列较为方便. #include<iostream&g ...
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
我们依据上一次介绍的触屏事件和事件队列等知识来实现触屏的单击,双击,三连击事件. 下图为我们实现的效果图: 单击精灵跳跃一个高度, 双击精灵跳跃的高度比单击的高 三连击精灵跳跃的跟高 好了,開始动手吧 ...
- PHP+jQuery实现翻板抽奖
翻板抽奖的实现流程:前端页面提供6个方块,用数字1-6依次表示6个不同的方块,当抽奖者点击6个方块中的某一块时,方块翻转到背面,显示抽奖中奖信息.看似简单的一个操作过程,却包含着WEB技术的很多知识面 ...
- 列"xx"不在表Table中
在数据库中用了left join来查一个表的所有列和另一个表的一个列,但无论用IDataReader还是DataSet都不能获取到另一个表的列,调试时总是说没有那个值,但在数据库中执行语句又有.一直想 ...