FPGA时序是FPGA设计过程中一个非常重要的环节,他基本上决定了系统稳定性与鲁棒性。
FPGA时序既与其自带的内部器件有一定的关系,同时也与逻辑编程有一定的关系。
在此我们可以先了解两个名词 及STA(静态时序分析) 以及SDC文件,这两个名词,前者是高速我们逻辑代码的时序如何,后者则是去改善前者,使其时序逻辑变得较好。一般时序的设计流程如下,综合(Synthesize)>在TimeQuest TA里添加时序要求(约束)> 在工程中使能(及调用)TimeQuest TA>布局布线(Fitter) > 采用 TimeQuest TA察看报告、验证时序。
简单来说就是 先查看STA 在编写SDC文件,最后通过TimeQuest TA来察看和验证时序
下面是一些知识背景介绍。
首先是启动沿(launch)和锁存沿(latch),对应上图的Launch Edge和 Latch Edg
每有一个启动沿就会产生一个新数据,每一个锁存沿就会有一个新的数据被锁存。(注意!!!这里需要两个时钟,而不是一个时钟)
也可以理解为当一个启动沿来的时候相当于一个触发器的启动沿,而紧跟来的第二个时钟会将第一个触发器送来的数据锁存及保存。这里我们不妨来看一段代码加深理解。
...
input data= 1'b1;
reg data1 = 1'b1;
r