mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 00:55:32 +00:00
Resolve package types in interfaces (#3658)
* Resolve package types in interfaces * Added test for resolving of package types in interfaces
This commit is contained in:
parent
5ea2c290a5
commit
615adc4253
4 changed files with 34 additions and 3 deletions
24
tests/svinterfaces/resolve_types.sv
Normal file
24
tests/svinterfaces/resolve_types.sv
Normal file
|
@ -0,0 +1,24 @@
|
|||
// This test checks that types, including package types, are resolved from within an interface.
|
||||
|
||||
typedef logic [7:0] x_t;
|
||||
|
||||
package pkg;
|
||||
typedef logic [7:0] y_t;
|
||||
endpackage
|
||||
|
||||
interface iface;
|
||||
x_t x;
|
||||
pkg::y_t y;
|
||||
endinterface
|
||||
|
||||
module dut (input logic [7:0] x, output logic [7:0] y);
|
||||
iface intf();
|
||||
assign intf.x = x;
|
||||
assign y = intf.y;
|
||||
|
||||
ondemand u(.intf);
|
||||
endmodule
|
||||
|
||||
module ref (input logic [7:0] x, output logic [7:0] y);
|
||||
assign y = ~x;
|
||||
endmodule
|
6
tests/svinterfaces/resolve_types.ys
Normal file
6
tests/svinterfaces/resolve_types.ys
Normal file
|
@ -0,0 +1,6 @@
|
|||
read_verilog -sv resolve_types.sv
|
||||
hierarchy -libdir . -check
|
||||
flatten
|
||||
equiv_make ref dut equiv
|
||||
equiv_simple
|
||||
equiv_status -assert
|
|
@ -4,3 +4,4 @@
|
|||
./runone.sh svinterface_at_top
|
||||
|
||||
./run_simple.sh load_and_derive
|
||||
./run_simple.sh resolve_types
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue