在看这篇文章之前, 建议先好好读下这篇文章。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 和 外部芯片接口时序设计的更多相关文章

  1. 74HC595驱动(并转串,fpga与时钟匹配,fpga与外部芯片的连接注意事项)

    上一次设计的动态扫描数码管显示电路模型如上,这是一个32位并行数据[31:0]disp_num选通输出并行数据[7:0]select和[7:0]段选的电路.因此需要输出16个信号 而在开发板上的电路与 ...

  2. 【转载】FPGA静态时序分析——IO口时序

    转自:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束 ...

  3. FPGA静态时序分析——IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  4. FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)

    转载地址:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟 ...

  5. FPGA静态时序分析——IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  6. 东芝线阵CCD芯片TCD1305DG驱动时序设计

    最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成 ...

  7. VGA接口时序约束

    SF-VGA模块板载VGA显示器DA转换驱动芯片AVD7123,FPGA通过OUPLLN连接器驱动ADV7123芯片产生供给VGA显示器的色彩以及同步信号.SF-CY3核心模块与SF-VGA子模块连接 ...

  8. 【接口时序】6、IIC总线的原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...

  9. 【接口时序】7、VGA接口原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...

随机推荐

  1. Delphi获取当前系统时间(使用API函数GetSystemTime)

    在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...

  2. 一个Windows C++的线程池的实现

    此线程池所依赖的线程类,请参看<一个Windows C++的线程类实现>: http://blog.csdn.net/huyiyang2010/archive/2010/08/10/580 ...

  3. 04737_C++程序设计_第1章_认识C++的对象

    例1.1 演示使用结构对象的示例程序. //功能:将结构对象的两个域值相加,乘以2再加50 #include <iostream>//包含头文件 using namespace std;/ ...

  4. 学习RAC小记-适合给新手看的RAC用法总结(转)

    原文:http://www.jianshu.com/p/ff79a5ae0353 什么是RAC? 几乎每一篇介绍RAC的文章开头都是这么一个问题.我这篇文章是写给新手(包括我自己)看的,所以这个问题更 ...

  5. mongodb创建、更新、删除

    1.插入操作 user = {"username":"lcq","sex":"man"} db.user.insert( ...

  6. wcf系列5天速成——第二天 binding的使用(2)

    承接上一章,今天来讲MSMQ在实战项目中的应用.众所周知,放了防止订单丢失,我们都是采用Order过一下MSMQ. MSMQ的优点个人认为是:先天的异步消息发送和天生的自动负载均衡. 好了,看看MSM ...

  7. javascript高级知识分析——定义函数

    代码信息来自于http://ejohn.org/apps/learn/. 可以使用哪些方式来声明函数? function isNimble(){ return true; } var canFly = ...

  8. Android源码学习(一) 数据集观察者

    查看Android源码发现这个,决定记下下来. 1.在android.database这个包下面,存在这样一个抽象类DataSetObserver,里面包括onChanged()和onInvalida ...

  9. 20151120 jsp相关

    jsp 声明表示.代码片段及引用 <%@ page language="java" contentType="text/html; charset=UTF-8&qu ...

  10. EC读书笔记系列之6:条款11 在operator=中处理自我赋值

    记住: ★确保当对象自我赋值时operator=有良好行为.有三种方法:比较“来源对象”和“目标对象”的地址.精心周到的语句顺序.以及copy-and-swap技术 ★确定任何函数若操作一个以上对象, ...