关于xilinx时序约束的最大时钟频率。
时间:10-02
整理:3721RD
点击:
有段程序是这样的:
module time_test( clk,reset,data_in,data_out
);
input clk,reset;
input [1:0] data_in;
output [1:0] data_out;
reg [1:0] data_t1,data_t2;
wire clk2;
assign clk2 = ~clk;
always @(posedge clk or negedge reset)
if(reset == 1'b0)
data_t1 <= 2'b0;
else
data_t1 <= data_in;
always @(posedge clk2 or negedge reset)
if(reset == 1'b0)
data_t2 <= 2'b0;
else
data_t2 <= data_t1;
assign data_out = data_t2;
endmodule
布局布线后的时序报告中有条信息:
Maximum Data Path: data_t1_0 to data_t2_0 :1.513ns
而这条路径延时决定了最大时钟频率,可不可以把这2个寄存器的延时约束小点,杂个设置约束呢,请教哈高手。
module time_test( clk,reset,data_in,data_out
);
input clk,reset;
input [1:0] data_in;
output [1:0] data_out;
reg [1:0] data_t1,data_t2;
wire clk2;
assign clk2 = ~clk;
always @(posedge clk or negedge reset)
if(reset == 1'b0)
data_t1 <= 2'b0;
else
data_t1 <= data_in;
always @(posedge clk2 or negedge reset)
if(reset == 1'b0)
data_t2 <= 2'b0;
else
data_t2 <= data_t1;
assign data_out = data_t2;
endmodule
布局布线后的时序报告中有条信息:
Maximum Data Path: data_t1_0 to data_t2_0 :1.513ns
而这条路径延时决定了最大时钟频率,可不可以把这2个寄存器的延时约束小点,杂个设置约束呢,请教哈高手。
1.5ns 大概也有600MHz了,瓶经基本在fpga上了
在ucf中直接约束时钟,逐渐很大,直到满足不了为止,这个就是能够得到的最高频率了
根据实际情况约束,满足实际情况就可以。约束太紧跑的时间长,时序不容易满足。
基本上同意楼上的说法,UCF中逐布逼近他的maxclock就可以了····FPGA的最高时钟频率也是限制的因素之一·
弱弱的问下什么是UCF啊?
不懂 关注中~
UCF = user constraints file
