FPGA建立时间和保持时间你必须知道的

2019-07-17 05:34:00 来源:21ic
标签:
时钟是FPGA设计中最重要的信号,FPGA系统内大部分器件的动作都是在时钟的上升沿或者下降沿进行。无论是在输入,输出或是寄存器与寄存器之间,只要设计到时钟上升沿或者下降沿的采样,就会提到建立时间(setup TIme) 和保持时间(hold TIme) 。
 
建立时间(Tsu:set up TIme)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器;保持时间(Th:hold TIme)是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。
 
建立时间和保持时间这两个指标说明器件本身不是理想的(有时延等),正是这个不理想的特性,限制了FPGA的时钟工作频率。
 
首先我们都知道setup TIme 和holdup time是由器件决定的,并不是说可以随着你FPGA设计的改变而改变。那么FPGA时钟频率是怎么计算的呢,在不考虑时钟延时抖动等条件下,一个信号从触发器的D端到Q端的延时假设是Tcd,从Q端出来之后会经过组合电路延时,这里注意即使没有组合电路,就单单经过导线也是有延时的,这个延时称作Tdelay,经过这个延时之后,信号将要去下一个触发器,而且必须要满足触发器的建立时间tsetup,不然时钟无法采样到稳定的数据。
 
 
所以这三个时间加起来应该比时钟周期要小,否则数据无法打入下一个触发器,那就会进入亚稳态。Tcd+Tdelay+Tsetup
 
至于FPGA时钟频率与holdup time的关系,具体做设计的时候还是需要满足Tcd+Tdelay+TsetupTholdup,也就是说Tholdup 决定了最短路径的下限,也就是说组合逻辑是不能太大也不能太小的。这就是hold time 能起作用的地方吧。其实一般都能满足保持时间,一般只要考虑都是要满足建立时间。
 
建立时间与保持时间的简单示意图如下图1所示,在图1中我们看到clk_r3的前后各有一条虚线,前一条虚线(最左边的虚线,左边代表出现时间早,与modelsim仿真时信号依次从左往右出现)到clk_r3上升沿的这段时间即为建立时间,clk_r3上升沿到后一条虚线(最右边的虚线)的这段时间即为保持时间。
 
前面对建立时间和保持时间下定义时提到过,在这段时间内不能够有数据的变化,数据必须保持稳定。而在这个波形中,也确实没有看到在建立时间和保持时间内,reg3in的数据有任何的变化,因此我们可以稳定的将reg3in的数据锁存到reg3的输出reg3out中。
 
同样的一些信号,但我们发现reg3in在clk_r3的建立时间内发生了变化,这带来的后果就是clk_r3上升沿锁存到的reg3in数据不确定,那么随后的reg3out值也会处于一个不确定状态。比如第一个时钟周期,原本reg3in应该是稳定的低电平,但是由于整个路径上的延时时间(Tcd+Tdelay)过长,导致了reg3in在clk_r3的建立时间内数据还未能稳定下来,在建立时间内信号出现了电平从高到低的变化,即不稳定的状态,那么导致的后果就是reg3out的最终输出不是确定的状态,很可能是忽高忽低的亚稳态,而不是原本期望的低电平。
 
我们再来看看保持时间违规的情况,这次是数据传输得太快了(不满足Tcd+Tdelay>Tholdup,也就是Tcd+Tdelay时延太小),原本应该下一个时钟周期到达clk_r3的数据竟然在clk_r3的前一个时钟周期的保持时间还未过去就来到了。因此,它出现的最终危害也是后端输出的reg3out处于不确定的状态。
 
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
FPGA近期频频刷“存在感”,它究竟有什么特别之处?

日前赛灵思推出最大容量FPGA芯片,阿里达摩院也发布了关于AI语音的FPGA芯片技术。FPGA芯片有何特别之处?它和当下最热的5G、AI领域又有何关系呢?据媒体报道,全球最大的可编程芯片(FPGA)厂

将Power指令集开源,IBM 是如何咸鱼翻身的?

这是一个漫长的过程,如果在十年前就这样做,情况可能会更好。但是,随着收购Red Hat后大量注入开源精神,IBM终于迈出了下一步,将其Power系列处理器的指令集体系结构开源。

快速掌握MIPI开发攻略,对接百度人工智能计算卡EdgeBoard

MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写,是MIPI联盟发起的为移动应⽤处理器制定的开放标准。

基于Verilog的UART接口电路设计
基于Verilog的UART接口电路设计

UART(UniversalAnynchrONousReceiverTransmitter,通用异步接收发送器)是广泛应用的串行数据传输协议之一,其应用范围遍及计算机外设、工控自动化等场合。

使用FPGA加速广告推荐算法的教程

在这篇文章里你可以了解到广告推荐算法 Wide and deep 模型的相关知识和搭建方法,还能了解到模型优化和评估的方式。我还为你准备了将模型部署到 FPGA 上做硬件加速的方法,希望对你有帮助。阅读这篇文章你可能需要 20 分钟的时间。

更多资讯
IBM宣布开源Power架构,国产处理器的另一个机会?
IBM宣布开源Power架构,国产处理器的另一个机会?

在正在进行的北美 OpenPOWER 峰会上,IBM 宣布开源 Power 芯片指令集架构(ISA,Instruction Set Architecture)。

继世界最大AI芯片诞生后,赛灵思发布最大FPGA芯片
继世界最大AI芯片诞生后,赛灵思发布最大FPGA芯片

赛灵思(Xilinx)今天宣布推出世界最大的FPGA芯片“Virtex UltraScale+ VU19P”,拥有多达350亿个晶体管,密度在同类产品中也是最大的,相比上代Virtex UltraScale VU440增大了1.6倍,而功耗降低了60%。

Xilinx推出拥有900万个系统逻辑单元的全球最大 FPGA

自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布推出全球最大容量的 FPGA – Virtex UltraScale+ VU19P,从而进一步扩展了旗下 16 纳米 (nm) Virtex® UltraScale+™ 产品系列。

用FPGA如何实现小波变换?
用FPGA如何实现小波变换?

基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifting Scheme) 是由Sweldens 等人在近几年提出的一种小波变换方法,用它的框架结构能有效地计算DWT。

BittWare对Eideticom进行战略投资并拓宽基于FPGA的 NVMe加速器产品组合以将EDSFF纳入其中

Molex旗下的 BittWare 公司是一家采用FPGG技术的企业级 NVMe 存储平台领域领先供应商,宣布将对 Eideticom 进行战略投资并开展协作 – 后者在高增长的新兴计算存储市场上是广受认可的领导者。