多周期路径的一个例子
时间:10-02
整理:3721RD
点击:
在实际的FPGA逻辑设计中,经常出现如下情况,程序描述如下:
always@(clk)
begin
if(mul_en == 1'b1)
reg_0 <= din0 * din1 ;
end
always@(clk)
begin
if(mul_en == 1'b1)
reg_1 <= reg_0 ;
end
假如时钟clk为200MHz,如果乘法器的组合逻辑延时为12ns,而且mul_en信号是周期为15ns且与主时钟clk同一个时钟域,此时由reg0到reg1的时序电路就是一个多时钟周期。如果不对该数字电路进行多周期约束说明,时序分析时就会报错。
always@(clk)
begin
if(mul_en == 1'b1)
reg_0 <= din0 * din1 ;
end
always@(clk)
begin
if(mul_en == 1'b1)
reg_1 <= reg_0 ;
end
假如时钟clk为200MHz,如果乘法器的组合逻辑延时为12ns,而且mul_en信号是周期为15ns且与主时钟clk同一个时钟域,此时由reg0到reg1的时序电路就是一个多时钟周期。如果不对该数字电路进行多周期约束说明,时序分析时就会报错。
分析的很到位啊