【资料图】
FPGA中时序约束是设计的关键点之一,准确的时钟约束有利于代码功能的完整呈现。进行时序约束,让软件布局布线后的电路能够满足使用的要求。
周期约束是结合所用时钟源(晶振)在软件中进行约束,从而使得软件可以获得时钟周期参数,保证布局布线过程中不违规。
1 建立/保持时间
在FPGA中谈及时序约束,首先要了解三个基本名词:触发器、建立时间和保持时间。在FPGA中做时序约束便是为了满足建立时间和保持时间。
触发器(FF)概念为:对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变;
建立时间(Setup)概念为:在时钟clk的上升沿到来之前,数据相对于该上升沿有一个最小的时间提前量,这个时间量为建立时间;(这里可以这样理解,就是数据来了之后间隔一个时间,时钟clk才产生上升沿捕获数据);
保持时间(Hold)概念为:在时钟clk的上升沿到来之后,数据相对于该上升沿必须保持一个最小的时间量,这个时间量为保持时间;(这里可以这样理解,时钟clk产生上升沿之后,数据需要保持住一个时间,保证时钟clk上升沿捕获到数据);
NOTE:
a. FPGA的建立/保持时间是由器件物理特性决定的,与生产、加工工艺有关(后续会讲FPGA的生产过程)。当使用某款FPGA芯片时,建立时间和保持时间随之确定。
b. Xilinx FPGA的建立时间setup基本都在0.04ns的量级,保持时间hold time基本在0.2
标签: