Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

ID 813901
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.2.13. Instantiation Template

DCFIFO Verilog HDL Instantiation Template
//Quartus Prime Parameterizable Macro Template
//ASYNC FIFO
//Macro Location :
//$QUARTUS_ROOTDIR/libraries/megafunctions/async_fifo.v
 
async_fifo #( 
 .DATA_WIDTH_A                         (8), 
 .ADDR_WIDTH_A                         (11), 
 .DATA_WIDTH_B                         (8), 
 .ADDR_WIDTH_B                         (11), 
 .RDSYNC_DELAYPIPE                     (2), 
 .WRSYNC_DELAYPIPE                     (2), 
 .ENABLE_SHOWAHEAD                     ("OFF"), 
 .UNDERFLOW_CHECKING                   ("ON"), 
 .OVERFLOW_CHECKING                    ("ON"), 
 .ADD_USEDW_MSB_BIT                    ("OFF"), 
 .WRITE_ACLR_SYNCH                     ("OFF"), 
 .READ_ACLR_SYNCH                      ("OFF"), 
 .ADD_RAM_OUTPUT_REGISTER              ("OFF"), 
 .RAM_BLOCK_TYPE                 	   ("M20K"), 
 .MAXIMUM_DEPTH                	     (2048), 
 .BYTE_EN_WIDTH                 	    (1), 
 .BYTE_SIZE                            (8) 
                            
) <instance_name> ( 
 .data        (_connected_to_data_),                 
 .rdclk       (_connected_to_rdclk_),                
 .wrclk       (_connected_to_wrclk_),               
 .aclr        (_connected_to_aclr_),                 
 .rdreq       (_connected_to_rdreq_),                
 .wrreq       (_connected_to_wrreq_),                
 .byteena     (_connected_to_byteena_),              
 .rdfull      (_connected_to_rdfull_),               
 .wrfull      (_connected_to_wrfull_),               
 .rdempty     (_connected_to_rdempty_),              
 .wrempty     (_connected_to_wrempty_),              
 .rdusedw     (_connected_to_rdusedw_),              
 .wrusedw     (_connected_to_wrusedw_),              
 .q           (_connected_to_q_)                     
); 

DCFIFO VHDL Instantiation Template
-- Macro Location :
-- $QUARTUS_ROOTDIR/eda/sim_lib/altera_lnsim_components.vhd
-- Add the library and use clauses before the design unit declaration
library altera_lnsim; 
use altera_lnsim.altera_lnsim_components.all; 
-- Instantiating ASYNC_FIFO 
 <instance_name> : ASYNC_FIFO 
 generic map ( 
   DATA_WIDTH_A =>                              8, 
   ADDR_WIDTH_A =>                              11, 
   DATA_WIDTH_B =>                              8, 
   ADDR_WIDTH_B =>                              11, 
   RDSYNC_DELAYPIPE =>                          2, 
   WRSYNC_DELAYPIPE =>                          2, 
   ENABLE_SHOWAHEAD =>                          "OFF", 
   UNDERFLOW_CHECKING =>                        "ON", 
   OVERFLOW_CHECKING =>                         "ON", 
   ADD_USEDW_MSB_BIT =>                         "OFF", 
   WRITE_ACLR_SYNCH =>                          "OFF", 
   READ_ACLR_SYNCH =>                           "OFF", 
   ADD_RAM_OUTPUT_REGISTER =>                   "OFF", 
   RAM_BLOCK_TYPE =>                            "M20K", 
   MAXIMUM_DEPTH =>                             2048, 
   BYTE_EN_WIDTH =>                             1, 
   BYTE_SIZE =>                                 8 
) 
 port map (  
   data =>    _connected_to_data_,    -- input, width = DATA_WIDTH_A
   rdclk =>   _connected_to_rdclk_,   -- input, width = 1		   
   wrclk =>   _connected_to_wrclk_,   -- input, width = 1		   
   aclr =>    _connected_to_aclr_,    -- input, width = 1		   
   rdreq =>   _connected_to_rdreq_,   -- input, width = 1		   
   wrreq =>   _connected_to_wrreq_,   -- input, width = 1		   
   byteena => _connected_to_byteena_, -- input, width = BYTE_EN_WIDTH
   rdfull =>  _connected_to_rdfull_,  -- output, width = 1		   
   wrfull =>  _connected_to_wrfull_,  -- output, width = 1		   
   rdempty => _connected_to_rdempty_, -- output, width = 1		   
   wrempty => _connected_to_wrempty_, -- output, width = 1		   
   rdusedw => _connected_to_rdusedw_, -- output, width = ADDR_WIDTH_B 
   wrusedw => _connected_to_wrusedw_, -- output, width = ADDR_WIDTH_A 
   q =>       _connected_to_q_        -- output, width = DATA_WIDTH_B
};	
SCFIFO Verilog HDL Instantiation Template
//Quartus Prime Parameterizable Macro Template
//SYNC FIFO
//Macro Location :
//$QUARTUS_ROOTDIR/libraries/megafunctions/sync_fifo.v
	 
sync_fifo #( 
 .ADD_RAM_OUTPUT_REGISTER             ("OFF"), 
 .ALMOST_EMPTY_VALUE                  (1), 
 .ALMOST_FULL_VALUE                   (1), 
 .ENABLE_SCLR                         ("OFF"), 
 .ENABLE_ACLR                         ("OFF"), 
 .RAM_BLOCK_TYPE                      ("M20K"), 
 .ALLOW_RWCYCLE_WHEN_FULL             ("ON"), 
 .ENABLE_SHOWAHEAD                    ("OFF"), 
 .DATA_WIDTH                       	(8), 
 .ADDR_WIDTH                       	(11), 
 .OVERFLOW_CHECKING                   ("ON"), 
 .UNDERFLOW_CHECKING                  ("ON"), 
 .MAXIMUM_DEPTH                   	 (2048), 
 .BYTE_SIZE                        	(8), 
 .BYTE_EN_WIDTH                    	(1) 
 
) <instance_name> ( 
 .clock        (_connected_to_clock_),        //input, width = 1 
 .data         (_connected_to_data_),         //input, width = DATA_WIDTH 
 .rdreq        (_connected_to_rdreq_),        //input, width = 1 
 .sclr         (_connected_to_sclr_),         //input, width = 1, synch reset 
 .aclr         (_connected_to_aclr_),         //input, width = 1, asynch reset 
 .wrreq        (_connected_to_wrreq_),        //input, width = 1 
 .byteena      (_connected_to_byteena_),      //input, width = BYTE_EN_WIDTH 
 .almost_empty (_connected_to_almost_empty_), //output, width = 1 
 .almost_full  (_connected_to_almost_full_),  //output, width = 1 
 .q            (_connected_to_q_),            //output, width = DATA_WIDTH 
 .usedw        (_connected_to_usedw_),        //output, width = ADDR_WIDTH 
 .empty        (_connected_to_empty_),        //output, width = 1 
 .full         (_connected_to_full_)          //output, width = 1 
); 
SCFIFO VHDL Instantiation Template
-- Macro Location :
-- $QUARTUS_ROOTDIR/eda/sim_lib/altera_lnsim_components.vhd
-- Add the library and use clauses before the design unit declaration
library altera_lnsim; 
use altera_lnsim.altera_lnsim_components.all; 
-- Instantiating SYNC_FIFO
	
<instance_name> : SYNC_FIFO 
 generic map ( 
 ADD_RAM_OUTPUT_REGISTER =>              "OFF", 
 ALMOST_EMPTY_VALUE =>                   1, 
 ALMOST_FULL_VALUE =>                    1, 
 ENABLE_SCLR =>                          "OFF", 
 ENABLE_ACLR =>                          "OFF", 
 RAM_BLOCK_TYPE =>                       "M20K", 
 ALLOW_RWCYCLE_WHEN_FULL =>              "ON", 
 ENABLE_SHOWAHEAD =>                     "OFF", 
 DATA_WIDTH =>                           8, 
 ADDR_WIDTH =>                           11, 
 OVERFLOW_CHECKING =>                    "ON", 
 UNDERFLOW_CHECKING =>                   "ON", 
 MAXIMUM_DEPTH =>                        2048, 
 BYTE_SIZE =>                            8, 
 BYTE_EN_WIDTH =>                        1 
) 
port map (  
 clock =>        _connected_to_clock_,        -- input, width = 1		   
 data =>         _connected_to_data_,         -- input, width = DATA_WIDTH 
 rdreq =>        _connected_to_rdreq_,        -- input, width = 1		   
 sclr =>         _connected_to_sclr_,         -- input, width = 1		   
 aclr =>         _connected_to_aclr_,         -- input, width = 1		   
 wrreq =>        _connected_to_wrreq_,        -- input, width = 1		   
 byteena =>      _connected_to_byteena_,      -- input, width = BYTE_EN_WIDTH 
 empty =>        _connected_to_empty_,        -- output, width = 1	
 full =>         _connected_to_full_,         -- output, width = 1		   
 almost_empty => _connected_to_almost_empty_, -- output, width = 1	   
 almost_full =>  _connected_to_almost_full_,  -- output, width = 1	   
 q =>            _connected_to_q_,            -- output, width = DATA_WIDTH 
 usedw =>        _connected_to_usedw_         -- output, width = ADDR_WIDTH 
    );