关于 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公 ...
随机推荐
- ListView学习小结
ListView小结 ListView 是Android UI中十分重要的一个组件,在数据的显示上能有着十分灵活的表现,其使用也比较简单,一般包括以下几个要点: 1. 可以通过编写ListActiv ...
- 浅析document.createDocumentFragment()与js效率
对于循环批量操作页面的DOM有很大帮助!利用文档碎片处理,然后一次性append,并且使用原生的javascript语句操作 document.createDocumentFragment()说白了就 ...
- [置顶] 与小伙伴共勉的java有关jvm的知识(一),小鸟尽量写得详细哦,欢迎讨论,谢绝喷子
JAVA运行在JVM之上,JVM的运行状况会对程序产生很大的影响,因此了解一些JVM的东东,对于编写稳定的,高性能的java程序至关重要.这是JVM的规范中定义的标准结构图: 以上标准是JVM标准中定 ...
- 5.4const对象
常成员函数 一个const对象可以调用const函数,但不能调用非const成员函数.必须将关键字const放在函数参数表之后,才能说明该函数是一个const成员函数. 声明常成员函数的格式如下: 类 ...
- SQL Server DBA三十问【转】
http://database.51cto.com/art/201110/298926.htm 很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识 ...
- 图片延迟加载技术-Lazyload的应用
我们在浏览图片量非常大的页面时,像淘宝商城商品展示.必应图片搜索这类网站,图片的加载非常流畅,其中就应用了图片延迟加载技术.本文讲解Lazyload图片加载插件,当我们打开页面时,首先在屏幕可视区域加 ...
- C#数据绑定中,时间为空时显示时间为原始日期问题
这个问题一般出现在用实体时,实体的时间格式没有加?号.加了之后就默认为空,没有数据时不会为原始时间了.
- SharePoint 计时器服务无法启动
摘要: Microsoft SharePoint Server 2010 使用 Windows SharePoint Services 定时 V4 (SPTimerV4) 服务运行大多数系统任务.服务 ...
- Nutch的发展历程
Nutch的创始人是Doug Cutting,他同时也是Lucene.Hadoop和Avro开源项目的创始人 下面是Nutch的发展历程: 月由Doug Cutting发起,托管于Sourceforg ...
- 大表建立索引引发enq: TX - row lock contention等待
今天要给一张日志表(6000w数据)建立索引,导致生产系统行锁部分功能卡住 create index idx_tb_cid on tb_login_log(user_id); 开始执行后大概花费了20 ...