x
x

FPGA实战演练逻辑篇61:CMOS摄像头接口时序设计1理想时序

发布时间:2015-8-12 12:20    发布者:rousong1989
CMOS摄像头接口时序设计1理想时序(特权同学版权所有)
本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》(特权同学版权所有)
配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt
本实例的CMOS接口是时序分析中典型的pin2reg接口。由于详细的设计说明将在第12章中,因此大家可以先大体浏览过第12章,对整个系统设计有一定了解后,再来进行本节的pin2reg的时序路径分析。(特权同学,版权所有)
CMOS Sensor接口相对于FPGA来说是不折不扣的pin2reg所覆盖的约束类型。在开始这个CMOS Sensor的时序约束前,我们先来进一步认识一下pin2reg的约束模型。(特权同学,版权所有)
如图8.44所示,前面已经给出的这个模型覆盖了pin2reg、reg2reg和reg2pin这三大类时序路径。本例重点讨论的pin2reg即FPGA和外部芯片连接时,FPGA的输入信号从外部引脚到内部寄存器所经过的延时。图中大圈部分即pin2reg的完整意义上的路径约束起点和终点,而图中小圈部分则是在FPGA内部实际的pin2reg路径,也是我们约束的直接对象。(特权同学,版权所有)
在图示中,我们从前面reg2reg分析不难推测,在外部芯片内的源寄存器和在FPGA内部的目的寄存器构成的reg2reg也是需要满足一定的时序要求的,即对应的假设它们有同一个时钟源,是100MHz(对应10ns周期)。那么,如图中假设外部芯片所需要的数据路径延时是4ns,不考虑外部信号和FPGA间的PCB走线延时情况下,FPGA内部的pin2reg路径上的延时就应该是10ns-4ns = 6ns了。时序设计工具一般支持直接约束和间接约束两种方式。所谓直接约束,即设计者自己算出FPGA内部的pin2reg约束是6ns,那么告诉时序设计工具6ns这个数据就OK了;而间接约束,就是设计者告诉时序设计工具FPGA外部的路径上占用了4ns时间,时序设计工具自己有一套运算机制,它也能运算出FPGA内部的pin2reg时间是6ns。而我们这个模型和所使用的约束方式,是间接方式。(特权同学,版权所有)
1.jpg
图8.44 pin2reg路径模型
如图8.45所示,我们将前面的模型放大。在这个模型中,我们理想的假设外部芯片和FPGA都使用同一个时钟源,这个时钟源到达外部芯片(对应源寄存器)的时钟输入引脚的路径延时(即PCB走线延时)为Tc2s,时钟源到达FPGA的时钟输入引脚的路径延时(即PCB走线延时)为Tc2r。数据信号在外部芯片所经过的总延时值定义为extTco。数据在外部信号和FPGA输入引脚之间所经过的PCB走线延时定义为Tpcb。在FPGA内部,时钟信号的走线延时定义为uTc2r;数据信号的pin2reg延时定义为Tp2r;此外,FPGA内部寄存器的建立时间定义为uTsu,保持时间定义为uTh。(特权同学,版权所有)
在这些路径参数中,我们可以简单的分三大类来看。第一类是在PCB上的走线路径,包括Tc2s、Tc2r和Tpcb,这类路径的延时基本上在硬件设计完成后就固定了,而且这些路径的影响通常是微乎其微的(以0.17ns/inch的走线延时计算);第二类是外部芯片中的延时,即extTco,因为外部芯片的时序也都是固定的,我们作为芯片的应用者,无法改变芯片内部时序;第三类是FPGA内部的路径,寄存器固有的uTsu和uTh是随所使用的FPGA器件而定的,通常作为器件的应用者也无法改变,而时钟延时uTc2r虽然是可变的,但是因为FPGA内部一般都有专用的全局时钟网络,专门用于类似时钟信号这样的高扇出、低延时信号,所以uTc2r通常也会控制在一个比较低的范围内,而最有文章可做的就是Tpin2reg的延时值大小了。因此,我们的时序约束关注的重点也就是Tpin2reg延时。(特权同学,版权所有)
2.jpg
图8.45 pin2reg的理想寄存器模型
对于以上的路径,参考reg2reg路径的分析,我们不难得到以下的基本建立时间和保持时间要求。(特权同学,版权所有)
建立时间需要满足的公式:
Launch edge + Tc2s + extTco + Tpcb +Tp2r < latch edge + (Tc2r + uTc2r) - uTsu
保持时间需要满足的公式:
Launch edge + Tc2s + extTco + Tpcb +Tp2r > latch edge + (Tc2r + uTc2r) + uTh
我们可以将以上的两个不等式做些变换,得到如下两个公式。(特权同学,版权所有)
建立时间:
(Tc2s - Tc2r) + extTco + Tpcb <(latch edge - Launch edge) – uTsu + uTc2r - Tp2r
保持时间:
(Tc2s - Tc2r) + extTco + Tpcb >(latch edge - Launch edge) + uTh + uTc2r - Tp2r
如果取input delay = (Tc2s - Tc2r) + extTco + Tpcb,对照具体的路径,我们不难发现这个input delay实际上就FPGA外部所有延时参数的总和。由此,我们可以得到:
input delay < (latch edge - Launchedge) + uTc2r – uTsu - Tp2r
input delay > (latch edge - Launchedge) + uTc2r + uTh - Tp2r
我们再来看,Altera官方的handbook中给出了pin2reg路径的建立时间和保持时间的slack计算公式。以下公式中所涉及的input max delay和input min delay也正是我们上面所定义的input delay的最大值和最小值。(特权同学,版权所有)
建立时间余量计算公式:
Setup time slack = Data Required Time–Data Arrival Time
Data Arrival Time = Launch Edge +input max delay + Tp2r
Data Required Time = Latch Edge +uTc2r – uTsu
保持时间余量计算公式:
Hold time slack = Data Arrival Time –Data Required Time
Data Arrival Time = Launch Edge +input min delay + Tp2r
Data Required Time = Latch Edge +uTc2r + uTh

本文地址:https://www.eechina.com/thread-152254-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • EtherCAT®和Microchip LAN925x从站控制器介绍培训教程
  • MPLAB®模拟设计器——在线电源解决方案,加速设计
  • 让您的模拟设计灵感,化为触手可及的现实
  • 深度体验Microchip自动辅助驾驶应用方案——2025巡展开启报名!
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表