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