sv2v/test/basic/gate.sv

52 lines
1.3 KiB
Systemverilog
Raw Normal View History

2020-02-01 02:24:37 +01:00
module top;
reg input_a;
reg input_b;
wire output_and;
wire output_and_delay;
wire output_not;
wire output_buf_delay;
2025-09-01 13:06:47 +02:00
wire output_bufif0_delay;
2025-09-01 13:06:55 +02:00
wire output_rpmos;
2020-02-01 02:24:37 +01:00
and (output_and, input_a, input_b);
and #1 (output_and_delay, input_a, input_b);
not (output_not, input_a);
buf #2 foo_name (output_buf_delay, input_a);
2025-09-01 13:06:47 +02:00
bufif0 (output_bufif0_delay, input_a, input_b);
2025-09-01 13:06:55 +02:00
rpmos (output_rpmos, input_a, input_b);
2020-02-01 02:24:37 +01:00
wire output_nand, output_or, output_nor, output_xor, output_xnor;
nand (output_nand, input_a, input_b);
or (output_or, input_a, input_b);
nor (output_nor, input_a, input_b);
xor (output_xor, input_a, input_b);
xnor (output_xnor, input_a, input_b);
2020-02-01 02:24:37 +01:00
initial repeat(2) begin
$monitor("%3d ", $time,
input_a, input_b,
output_and, output_and_delay,
2025-09-01 13:06:47 +02:00
output_not, output_buf_delay, output_bufif0_delay,
output_nand, output_or, output_nor, output_xor, output_xnor);
2020-02-01 02:24:37 +01:00
#1;
#1; input_a = 1;
#1; input_b = 0;
#1; input_b = 1;
#1;
#1; input_a = 0;
#1; input_b = 0;
#1; input_a = 0;
#1; input_b = 1;
#1; input_a = 1;
#1; input_b = 0;
#1; input_a = 1;
#1; input_b = 1;
#1;
#1;
#1;
end
endmodule