3
0
Fork 0
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:
Dag Lem 2023-02-13 00:25:39 +01:00 committed by GitHub
parent 5ea2c290a5
commit 615adc4253
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 3 deletions

View 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

View 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

View file

@ -4,3 +4,4 @@
./runone.sh svinterface_at_top
./run_simple.sh load_and_derive
./run_simple.sh resolve_types