[Benchmark] Change multi-clock counter from 8-bit to 4-bit
This commit is contained in:
parent
250adb01cf
commit
ccf3e037ff
|
@ -0,0 +1,22 @@
|
|||
clk0 0.505000 0.204400
|
||||
rst0 0.491000 0.206000
|
||||
clk1 0.472000 0.204400
|
||||
rst1 0.501400 0.204600
|
||||
q1[0] 0.278800 0.557400
|
||||
q1[1] 0.240600 0.268800
|
||||
q1[2] 0.178200 0.120000
|
||||
q1[3] 0.098400 0.041600
|
||||
q0[0] 0.283400 0.566600
|
||||
q0[1] 0.246800 0.272000
|
||||
q0[2] 0.181000 0.122200
|
||||
q0[3] 0.093200 0.048800
|
||||
n34 0.178200 0.068356
|
||||
n38 0.098400 0.002698
|
||||
$abc$226$new_n22_ 0.880800 0.004943
|
||||
n42 0.283400 0.129291
|
||||
n46 0.246800 0.084119
|
||||
n50 0.181000 0.067113
|
||||
n54 0.093200 0.002644
|
||||
$abc$226$new_n27_ 0.883200 0.005398
|
||||
n26 0.278800 0.038636
|
||||
n30 0.240600 0.082416
|
|
@ -0,0 +1,48 @@
|
|||
# Benchmark "counter4bit_2clock" written by ABC on Wed Jan 13 13:27:00 2021
|
||||
.model counter4bit_2clock
|
||||
.inputs clk0 rst0 clk1 rst1
|
||||
.outputs q0[0] q0[1] q0[2] q0[3] q1[0] q1[1] \
|
||||
q1[2] q1[3]
|
||||
|
||||
.latch n26 q1[0] re clk1 2
|
||||
.latch n30 q1[1] re clk1 2
|
||||
.latch n34 q1[2] re clk1 2
|
||||
.latch n38 q1[3] re clk1 2
|
||||
.latch n42 q0[0] re clk0 2
|
||||
.latch n46 q0[1] re clk0 2
|
||||
.latch n50 q0[2] re clk0 2
|
||||
.latch n54 q0[3] re clk0 2
|
||||
|
||||
.names q1[0] q1[1] rst1 q1[2] n34
|
||||
-001 1
|
||||
0-01 1
|
||||
1100 1
|
||||
.names rst1 $abc$226$new_n22_ n38
|
||||
00 1
|
||||
.names q1[2] q1[0] q1[1] q1[3] $abc$226$new_n22_
|
||||
--00 1
|
||||
-0-0 1
|
||||
0--0 1
|
||||
1111 1
|
||||
.names rst0 q0[0] n42
|
||||
00 1
|
||||
.names rst0 q0[1] q0[0] n46
|
||||
001 1
|
||||
010 1
|
||||
.names q0[1] q0[0] rst0 q0[2] n50
|
||||
-001 1
|
||||
0-01 1
|
||||
1100 1
|
||||
.names rst0 $abc$226$new_n27_ n54
|
||||
00 1
|
||||
.names q0[2] q0[1] q0[0] q0[3] $abc$226$new_n27_
|
||||
--00 1
|
||||
-0-0 1
|
||||
0--0 1
|
||||
1111 1
|
||||
.names q1[0] rst1 n26
|
||||
00 1
|
||||
.names rst1 q1[0] q1[1] n30
|
||||
001 1
|
||||
010 1
|
||||
.end
|
|
@ -0,0 +1,29 @@
|
|||
module counter4bit_2clock(clk0, q0, rst0, clk1, q1, rst1);
|
||||
|
||||
input clk0;
|
||||
input rst0;
|
||||
output [3:0] q0;
|
||||
reg [3:0] q0;
|
||||
|
||||
input clk1;
|
||||
input rst1;
|
||||
output [3:0] q1;
|
||||
reg [3:0] q1;
|
||||
|
||||
always @ (posedge clk0)
|
||||
begin
|
||||
if(rst0)
|
||||
q0 <= 4'b0000;
|
||||
else
|
||||
q0 <= q0 + 1;
|
||||
end
|
||||
|
||||
always @ (posedge clk1)
|
||||
begin
|
||||
if(rst1)
|
||||
q1 <= 4'b0000;
|
||||
else
|
||||
q1 <= q1 + 1;
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,42 @@
|
|||
module counter4bit_2clock_tb;
|
||||
|
||||
reg clk0, rst0;
|
||||
wire [3:0] q0;
|
||||
|
||||
reg clk1, rst1;
|
||||
wire [3:0] q1;
|
||||
|
||||
counter_2clock C_1(
|
||||
clk0,
|
||||
q0,
|
||||
rst0);
|
||||
|
||||
counter_2clock C_1(
|
||||
clk1,
|
||||
q1,
|
||||
rst1);
|
||||
|
||||
initial begin
|
||||
#0 rst0 = 1'b1; clk0 = 1'b0;
|
||||
#100 rst0 = 1'b0;
|
||||
end
|
||||
|
||||
always begin
|
||||
#10 clk0 = ~clk0;
|
||||
end
|
||||
|
||||
initial begin
|
||||
#0 rst1 = 1'b1; clk1 = 1'b0;
|
||||
#100 rst1 = 1'b0;
|
||||
end
|
||||
|
||||
always begin
|
||||
#20 clk1 = ~clk1;
|
||||
end
|
||||
|
||||
|
||||
initial begin
|
||||
#5000 $stop;
|
||||
end
|
||||
|
||||
endmodule
|
Loading…
Reference in New Issue