如何利用FPGA进行时序分析设计

2017-06-22 15:40:00 来源:EEFOCUS
标签:

 

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。对于时序如何用FPGA来分析与设计,本文将详细介绍。

基本的电子系统如图 1所示,一般自己的设计都需要时序分析,如图 1所示的Design,上部分为时序组合逻辑,下部分只有组合逻辑。而对其进行时序分析时,一般都以时钟为参考的,因此一般主要分析上半部分。在进行时序分析之前,需要了解时序分析的一些基本概念,如时钟抖动、时钟偏斜(Tskew)、建立时间(Tsu)、保持时间(Th)等。时序分析也就是分析每一个触发器(寄存器)是否满足建立时间/保持时间,而时序的设计的实质就是满足每一个触发器的建立时间/保持时间的要求。

 


图 1  基本的电子系统


一、时钟抖动和时钟偏斜
1.时钟抖动

时钟信号边沿变化的不确定时间称为时钟抖动,如图 2所示。一般情况下的时序分析是不考虑时钟抖动,如果考虑时钟抖动,则建立时间应该是Tsu+T1,保持时间应该是Th+T2。

 


图 2  时钟抖动时序图


2.时钟偏斜

时序偏斜分析图如图 3所示。时钟的分析起点是源寄存器(Reg1),终点是目标寄存器(Reg2)。时钟在图中的结构中传输也会有延迟,时钟信号从时钟源传输到源寄存器的延时为Tc2s,传输到目标寄存器的延时为Tc2d。时钟网络的延时为Tc2s与Tc2d之差,即Tskew=Tc2d-Tc2s。

 


图 3  时钟偏斜时序图


二、建立时间和保持时间
建立时间(Setup Time)常用Tsu表示,指的是在触发器的时钟信号上升沿到来以前,数据和使能信号稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器,使能信号无效,也就是说在这个时钟周期对数据的操作时无效的;保持时间(Hold Time)常用Th表示,指的是在触发器的时钟信号上升沿到来以后,数据和使能信号稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器,对数据的操作同样是无效的,使能信号无效。数据要能稳定传输,就必须满足建立时间和保持时间的关系,图 4标识了它们间的关系。

 


图 4  建立时间/操持时间的概念


三、发送沿和捕获沿
(1)发送沿(Launch Edge):前级寄存器发送数据对应的时钟沿,是时序分析的起点;

(2)捕获沿(Latch Edge):后记寄存器捕获数据对应的时钟沿,是时序分析的终点。相对于launch Edge通常为一个时钟周期,但不绝对,如多周期。

“信号跳变抵达窗口”:对latch寄存器来说,从previous时钟对应的Hold Time开始,到current 时钟对应的Setup Time 结束。

“信号电平采样窗口”:对latch寄存器来说,从current时钟对应的Setup Time开始,到current时钟对应的Hold Time结束。

launch寄存器必须保证驱动的信号跳变到达latch寄存器的时刻处于“信号跳变抵达窗口”内,才能保证不破坏latch寄存器的“信号电平采样窗口”。

 


图 5  Launch Edge和Latch Edge

 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
你对ARM了解多少?

全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具体参看ARM官网

选择合适的“连接器”其实非常伤脑!
选择合适的“连接器”其实非常伤脑!

如果你工作的地方只有一个饭馆,吃饭是件很自然的事情,去吃就好了。当你的周围有几十家饭馆的时候,你每天最困扰的就变成了“我今天要吃什么呢?”

高云半导体参展2018德国慕尼黑电子展

2018年11月16日,中国广州,国内领先的可编程逻辑器件供应商广东高云半导体科技股份有限公司(如下简称:高云半导体),近日参展2018年德国慕尼黑电子展,与其欧洲经销商Eldis公司共同向欧洲市场展示了高云半导体最新的FPGA技术与产品。

火线三兄弟:DSP 、ASIC、FPGA

在相当长的一段时间内,FPGA、ASIC、DSP三者不同的技术特征造就了它们不同的应用领域,DSP在数字信号方面是绝对的霸主,ASIC是专业定制领域的牛人,而FPGA由于其价格高、功耗大,主要用于ASIC前端验证和一些高端领域,在DSP和ASIC面前绝对属于小弟。但近10年,这小弟特别努力,提高了半导体工艺水平,降低了功耗和芯片价格

现状不容乐观的国产FPGA,该如何攻克难关?
现状不容乐观的国产FPGA,该如何攻克难关?

“芯片投入产出比不高。国内投入不断加大,但实际效果并不明显,科技研发回报周期长,投资分散,导致投入产出比被稀释;研发落后,人才短缺,市场脱节。国内外制造工艺技术差距较大,设计、生产、制造能力均落后太多,人才缺口大,能力相对偏弱,人才争夺存在恶意竞争,同时中国芯的市场接受度很低,市场上仿制兼容产品多,自主知识产权产品少,不利于长远发展。”

更多资讯
简单几步让你看懂单片机时序图

操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了。而提取芯片器件手册上有用的信息是使用芯片的最基本步骤。

如何实现SoC全生命周期的监测?

SoC的设计越来越复杂,上市时间、软硬件集成、系统级验证、系统性能、异构、网络安全/功能安全等都是设计人员需要考虑的因素。流片前,设计师能通过仿真软件进行验证,但是流片过程中很多意想不到的结果,需要在流片后仍能被准确的检测出来。

如何将单片机的波特率作为形参的函数

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。

代码分享教你如何使用msp430单片机延时函数

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

如何控制51单片机液晶实现计时器的功能?

要想实现人机交互,显示装置是不可缺少的。前面讲到了如何利用单片机控制数码管的显示,这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示的定时器搬到液晶屏上来。