Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

packages for synthesis

Altera_Forum
Honored Contributor II
1,237 Views

Using Quartus 15.1 

 

I am trying to define my own types for IO in my modules. 

 

I have generated the package foo_pkg.sv as follows: 

 

package FOO_BUSSES; 

 

typedef struct packed{ 

logic rd_wrn; 

logic [31:0] address; 

logic [10:0] burstsize; 

logic transaction_dv; 

logic dout_dv; 

logic [63:0] dout; 

logic din_dv; 

logic [63:0] din; 

logic transaction_rd; 

logic din_rd; 

} foo64_intf_p ; 

 

endpackage // FOO_BUSSES 

 

Now that I have the package defined I want to call it into the module foo_top.sv 

 

module foo_top  

 

import FOO_BUSSES::*; 

 

# (parameter A = 1, 

parameter B = 2) 

 

( input CLK, 

input RST, 

 

foo64_intf_p FOODEF 

 

); 

 

.... 

 

endmodule 

 

 

When I synthesize I get the following error 

 

Error (10161): Verilog HDL error at foo_top.sv(nn): object "foo64_intf_p" is not declared 

 

in my qip that calls these mods: 

 

set_global_assignment -library "foo_flex" -name SYSTEMVERILOG_FILE [file join "../../ip_foo/foo_common/rtl/foo_pkg.sv"] 

set_global_assignment -library "foo_flex" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "foo_top.sv"] 

 

 

this code will simulate using various modelsim simulators. 

 

 

any and all help will be appreciated.
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
353 Views

Hello, 

 

Could you try by using 'input' keyword before 'foo64_intf_p FOODEF'? 

 

Regards, 

Bhaumik
0 Kudos
Reply