mirror of
https://github.com/YosysHQ/yosys
synced 2025-11-22 21:51:28 +00:00
verilog_parser: add port renaming tests
This commit is contained in:
parent
5b989b53f5
commit
60ae44dae8
7 changed files with 105 additions and 0 deletions
22
tests/verilog/port_rename_equivalence.ys
Normal file
22
tests/verilog/port_rename_equivalence.ys
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Equivalence
|
||||||
|
read_verilog << EOF
|
||||||
|
module gold(input a, input b, output c);
|
||||||
|
assign c = a + b;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module gate_header (
|
||||||
|
.a(x),
|
||||||
|
.b(y),
|
||||||
|
.c(z)
|
||||||
|
);
|
||||||
|
input x;
|
||||||
|
input y;
|
||||||
|
output z;
|
||||||
|
|
||||||
|
assign z = x + y;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
|
||||||
|
equiv_make gold gate_header equiv_header
|
||||||
|
equiv_simple
|
||||||
|
equiv_status -assert
|
||||||
12
tests/verilog/port_rename_error_1.ys
Normal file
12
tests/verilog/port_rename_error_1.ys
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Multiple names for the same inout port
|
||||||
|
logger -expect error "Missing details for module port" 1
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_multi_inout (
|
||||||
|
.i(a),
|
||||||
|
.o(a)
|
||||||
|
);
|
||||||
|
inout a;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
logger -check-expected
|
||||||
|
design -reset
|
||||||
12
tests/verilog/port_rename_error_2.ys
Normal file
12
tests/verilog/port_rename_error_2.ys
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Multiple names for the same input port
|
||||||
|
logger -expect error "Missing details for module port" 1
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_multi_inout (
|
||||||
|
.i(a),
|
||||||
|
.j(a)
|
||||||
|
);
|
||||||
|
input a;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
logger -check-expected
|
||||||
|
design -reset
|
||||||
15
tests/verilog/port_rename_error_3.ys
Normal file
15
tests/verilog/port_rename_error_3.ys
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Multiple names for an output port
|
||||||
|
logger -expect error "Missing details for module port" 1
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_multi_output (
|
||||||
|
a,
|
||||||
|
.c(b),
|
||||||
|
.b(b)
|
||||||
|
);
|
||||||
|
input a;
|
||||||
|
output b;
|
||||||
|
assign b = a;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
logger -check-expected
|
||||||
|
design -reset
|
||||||
16
tests/verilog/port_rename_error_4.ys
Normal file
16
tests/verilog/port_rename_error_4.ys
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Swapping names for two ports
|
||||||
|
logger -expect error "not declared in module header" 1
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_swap (
|
||||||
|
.a(b),
|
||||||
|
.b(a),
|
||||||
|
c
|
||||||
|
);
|
||||||
|
input a;
|
||||||
|
input b;
|
||||||
|
output c;
|
||||||
|
assign c = a & !b;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
logger -check-expected
|
||||||
|
design -reset
|
||||||
14
tests/verilog/port_rename_error_5.ys
Normal file
14
tests/verilog/port_rename_error_5.ys
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# ANSI-style renaming
|
||||||
|
logger -expect error "syntax error" 1
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_ansi (
|
||||||
|
input .alias_a(a),
|
||||||
|
output .alias_b(b)
|
||||||
|
);
|
||||||
|
wire a;
|
||||||
|
wire b;
|
||||||
|
assign b = a;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
logger -check-expected
|
||||||
|
design -reset
|
||||||
14
tests/verilog/port_rename_pass_1.ys
Normal file
14
tests/verilog/port_rename_pass_1.ys
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Partial aliasing
|
||||||
|
read_verilog << EOF
|
||||||
|
module gate_swap (
|
||||||
|
.a(a),
|
||||||
|
.b(b),
|
||||||
|
c
|
||||||
|
);
|
||||||
|
input a;
|
||||||
|
input b;
|
||||||
|
output c;
|
||||||
|
assign c = a & !b;
|
||||||
|
endmodule
|
||||||
|
EOF
|
||||||
|
design -reset
|
||||||
Loading…
Add table
Add a link
Reference in a new issue