mirror of https://github.com/lnis-uofu/SOFA.git
[Benchmark] Add micro benchmarks
This commit is contained in:
parent
39aa11c42c
commit
75db7b255b
|
@ -0,0 +1,3 @@
|
|||
a 0.5 0.5
|
||||
b 0.5 0.5
|
||||
c 0.25 0.25
|
|
@ -0,0 +1,8 @@
|
|||
.model and2
|
||||
.inputs a b
|
||||
.outputs c
|
||||
|
||||
.names a b c
|
||||
11 1
|
||||
|
||||
.end
|
|
@ -0,0 +1,18 @@
|
|||
/////////////////////////////////////////
|
||||
// Functionality: 2-input AND
|
||||
// Author: Xifan Tang
|
||||
////////////////////////////////////////
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
module and2(
|
||||
a,
|
||||
b,
|
||||
c);
|
||||
|
||||
input wire a;
|
||||
input wire b;
|
||||
output wire c;
|
||||
|
||||
assign c = a & b;
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,6 @@
|
|||
a 0.492800 0.201000
|
||||
b 0.502000 0.197200
|
||||
clk 0.500000 2.000000
|
||||
d 0.240200 0.171200
|
||||
c 0.240200 0.044100
|
||||
n1 0.240200 0.044100
|
|
@ -0,0 +1,14 @@
|
|||
# Benchmark "and2_latch" written by ABC on Wed Mar 11 10:36:28 2020
|
||||
.model and2_latch
|
||||
.inputs a b clk
|
||||
.outputs c d
|
||||
|
||||
.latch n1 d re clk 0
|
||||
|
||||
.names a b c
|
||||
11 1
|
||||
|
||||
.names c n1
|
||||
1 1
|
||||
|
||||
.end
|
|
@ -0,0 +1,29 @@
|
|||
/////////////////////////////////////////
|
||||
// Functionality: 2-input AND with clocked
|
||||
// and combinational outputs
|
||||
// Author: Xifan Tang
|
||||
////////////////////////////////////////
|
||||
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
module and2_latch(
|
||||
a,
|
||||
b,
|
||||
clk,
|
||||
c,
|
||||
d);
|
||||
|
||||
input wire clk;
|
||||
|
||||
input wire a;
|
||||
input wire b;
|
||||
output wire c;
|
||||
output reg d;
|
||||
|
||||
assign c = a & b;
|
||||
|
||||
always @(posedge clk) begin
|
||||
d <= c;
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,16 @@
|
|||
module counter(clk_counter, q_counter, rst_counter);
|
||||
|
||||
input clk_counter;
|
||||
input rst_counter;
|
||||
output [7:0] q_counter;
|
||||
reg [7:0] q_counter;
|
||||
|
||||
always @ (posedge clk_counter)
|
||||
begin
|
||||
if(rst_counter)
|
||||
q_counter <= 8'b00000000;
|
||||
else
|
||||
q_counter <= q_counter + 1;
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,24 @@
|
|||
module counter_tb;
|
||||
|
||||
reg clk_counter, rst_counter;
|
||||
wire [7:0] q_counter;
|
||||
|
||||
counter_original C_1(
|
||||
clk_counter,
|
||||
q_counter,
|
||||
rst_counter);
|
||||
|
||||
initial begin
|
||||
#0 rst_counter = 1'b1; clk_counter = 1'b0;
|
||||
#100 rst_counter = 1'b0;
|
||||
end
|
||||
|
||||
always begin
|
||||
#10 clk_counter = ~clk_counter;
|
||||
end
|
||||
|
||||
initial begin
|
||||
#5000 $stop;
|
||||
end
|
||||
|
||||
endmodule
|
Loading…
Reference in New Issue