关于 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公 ...
随机推荐
- java+android学习路线图
java.android学习路线图 看图之前先按住Ctrl键同时滑动鼠标滚轮
- 有关于/home出现100%被占用 与 vnc的关系
我在远程服务器时,通常使用的程序是vnc.因为vnc可以图形化界面,操作效果比用putty好很多. 但是,我发现使用vnc有一个问题,就是/home占用空间会达到100%. [zy@islab62 ~ ...
- 在 Windows Azure 网站中进行纵向扩展和横向扩展
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Byron Tardif 撰写. 当您开始一个新的 Web 项目,或者刚刚开始开发一般的网站和应用程序时,您可能希望从小处着手. ...
- java中memcached
http://www.oschina.net/code/snippet_250396_9181
- [Leetcode][Python]39: Combination Sum
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 39: Combination Sumhttps://oj.leetcode. ...
- 04737_C++程序设计_第4章_类和对象
例4.1 描述点的Point类. 例4.2 根据上面对Point类的定义,演示使用Point类的对象. #define _SCL_SECURE_NO_WARNINGS #include <ios ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- 关于用exec来执行存储过程中,参数带有引号的解决方法
比如:exec 存储过程名 要带有引号的参数 这样写的时候是传不进引号的,可以选定一种字符来表示引号,在存储过程中再进行转换: @test=replace(replace(@test,char(39) ...
- js charts去掉logo
打开js charts 3的源代码搜索关键字"fs.bg",然后会找到 fs.bg.2v(fX),将这句代码删掉就OK了,可能有的版本会是fs.bg.2u(fX) 欢迎加入群:25 ...
- linux下不重启加硬盘
linux下热加载磁盘 临时给虚拟机加了一块硬盘,增加后懒得重启,于是看了看热加载 [root@centos5 ~]# cat /proc/scsi/scsi Attached devices: Ho ...