Example of a Verilog Design File with LPM Function Instantiation

For any parameterized function in the Synopsys® Synplify software, you must declare all parameters used in the function, and their values.

The following example shows a Verilog HDL file that instantiates the lpm_ram_dq function. A comment in the Module Declaration contains the syn_black_box directive and parameter names and values. This comment must immediately follow the port list and precede the closing semicolon (;).

When you instantiate a library of parameterized modules (LPM) function, the LPM function name must be specified as the value of the LPM_TYPE parameter. In addition, each parameter must be listed on a separate line.

The following example shows a direct instantiation of an LPM function. Use the IP Catalog to create the function, and then instantiate it in a design, refer to the Creating a Design for Use with the Synplify Software topic.

// Define the black box
module myram64x16 (data,address,inclock,outclock,we,q)
/* syn_black_box 
   LPM_WIDTH=16 
   LPM_WIDTHAD=6 
   
LPM_TYPE="LPM_RAM_DQ"  */ ; 
input [15:0] data;
input [5:0] address;
input inclock, outclock;
input we;
output [15:0] q;
endmodule
// Instantiate the LPM parameterized module in the 
//    higher-level module myram
module 
myram(clock, we, data, address, q);
input clock, we;
input [15:0] data;
input [5:0] address;
output [15:0] q;
       myram_64x16 inst1 (data, address, clock, clock, we, q);
endmodule