有時候寫個小工程測試綜合頻率,但會出現<No paths to report.>,因爲是組合邏輯,首先組合邏輯沒有時鐘;如果想測看該組合邏輯的頻率,只能另寫一帶時鐘的頂層模塊,輸入輸出都加一級寄存器,下面實現一比較器:因爲CASU本身是組合邏輯,不可能綜合出時鐘頻率,只能另加top.v,這樣既可綜合出頻率
CASU.v
//***********************************************
// DEFINE MODULE PORT //
//***********************************************
module CASU(//input
in1,
in2,
//output
max,
min);
//*******************************************
// DEFINE INPUT
//*******************************************
input [9:0] in1;
input [9:0] in2;
//*******************************************
// DEFINE OUTPUT
//*******************************************
output [9:0] min;
output [9:0] max;
//*********************************************
//MAIN CODE
//********************************************
assign max = (in1 <= in2) ? in2 : in1;
assign min = (in1 > in2) ? in2 : in1;
//*********************************************
endmodule
//*********************************************
/*********************top.v*******************/
module top(//input
clk,
in1,
in2,
//output
out1,
out2
);
input clk;
input [9:0] in1;
input [9:0] in2;
output reg [9:0] out1;
output reg [9:0] out2;
reg [9:0] rin1;
reg [9:0] rin2;
wire [9:0] wout1;
wire [9:0] wout2;
always @(posedge clk)
begin
rin1 <= in1;
rin2 <= in2;
end
always @(posedge clk)
begin
out1 <= wout1;
out2 <= wout2;
end
CASU CASU_inst(
.in1(rin1),
.in2(rin2),
.min(wout1),
.max(wout2)
);
endmodule