4.1.3. RAM: 2-PORT FPGA IP Parameters
Parameter | Allowed Values | Description |
---|---|---|
Operation mode |
|
Specifies how you use the dual port RAM. |
Type |
|
Determines whether to specify the memory size in words or bits. |
Parameter | Allowed Values | Description |
---|---|---|
How many words of memory? | — | Specifies the number of words. |
Use different data widths on different ports | On/Off | Specifies whether to use different data widths on different ports. |
How wide should the 'q_a' output bus be? | — | Specifies the width of the input and output ports. These option are available if you select With one read port and one write port or With two read/write ports. |
How wide should the 'data_a' input bus be? | ||
How wide should the 'q_b' output bus be? | ||
Ram block type |
|
Specifies the memory block type. The types of memory block that are available for selection depends on your target device. |
Set the maximum block depth to |
|
Specifies the maximum block depth in words. |
How should the memory be implemented? | Use default logic cell style | Specifies the logic cell implementation method. Select Use default logic cell style if you prefer smaller and faster memory capacity. |
Parameter | Allowed Values | Description |
---|---|---|
Which clocking method do you want to use? |
|
Specifies the clocking method to use.
|
Emulate TDP dual clock mode |
On/Off | Specifies whether to emulate a TDP dual clock mode. The clock connection to Port A must be a slow clock and the clock connection to Port B must be a fast clock. This option is available if you select With two read/write ports and Customize clocks for A and B ports clocking method. |
Create 'rden' read enable signal |
On/Off | Specifies whether to create a read enable signal for port B. This option is available if you select With one read port and one write port. |
Create 'rden_a' and 'rden_b' read enable signals |
Specifies whether to create a read enable signal for port A and B. This option is available if you select With two read/write ports. |
|
Create byte enable for port A | On/Off | Specifies whether to create a byte enable for port A and B. Turn on these options if you want to mask the input data so that only specific bytes, nibbles, or bits of data are written. The option to create a byte enable for port B is only available when you select the With two read/write ports option. |
Create byte enable for port B | On/Off | |
What is the width of a byte for byte enables? |
5, 8, 9, or 10 bits |
Specifies the width of a byte for byte enables. This option is only available when you select the Create byte enable for port A and/or Create byte enable for port B option(s). |
Enable Error Correction Check (ECC) | On/Off | Specifies whether to enable the ECC feature that corrects single bit errors, double adjacent bit errors, and triple adjacent bit errors at the output of the memory. |
Enable ECC Pipeline Registers | On/Off | Specifies whether to enable the ECC Pipeline Registers before the output decoder to achieve that same performance as non-ECC mode at the expense of one cycle of latency. |
Enable ECC Encoder Bypass | On/Off | Specifies whether to enable the ECC encoder bypass feature that allows you to selectively insert parity bits into the memory through eccencparity port. |
Enable Coherent Read | On/Off | Specifies whether to enable the coherent read feature to present with coherent memory read. This feature allows you to read out current memory content, perform operation on top of the content, and write back to the same location in the same cycle. |
Parameter | Allowed Values | Description | |
---|---|---|---|
Input Registers | All write input ports | On/Off | Specifies whether to register all write input ports. |
raddress port | On/Off | Specifies whether to register read input 'rdaddress' port. | |
Output Registers | q_a port | On/Off | Specifies whether to register read output 'q_a' port. This option is available if you select With two read/write ports |
q_b port | On/Off | Specifies whether to register read output 'q_b' port. | |
Use different clock enables for registers | On/Off | Specifies whether to create clock enables for registers. | |
Use clock enable for write input registers | On/Off | Specifies whether to create clock enables for input and output registers. These options are available if you select With one read port and one write port. |
|
Use clock enable for read input registers | |||
Use clock enable for output registers | |||
Use clock enable for port A input registers | On/Off | Specifies whether to create clock enables for input and output registers of port A and port B. These options are available if you select With two read /write ports. |
|
Use clock enable for port A output registers | |||
Use clock enable for port B input registers | |||
Use clock enable for port B output registers | |||
Create a 'wr_addressstall' input port. |
On/Off | Specifies whether to create clock enables for address registers. You can create these ports to act as an extra active low clock enable input for the address registers. These options are available if you select With one read port and one write port. |
|
Create a 'rd_addressstall' input port. |
|||
Create an addressstall_a input port |
On/Off | Specifies whether to create clock enables for address registers. You can create these ports to act as an extra active low clock enable input for the address registers. These options are available if you select With two read/write ports. |
|
Create an addressstall_b input port |
|||
Read Input Aclrs | rdaddress port | On/Off | Specifies whether to create an asynchronous clear port for the registered ports. Specifies whether the 'rdaddress' port is cleared by the aclr port. This option is available if you select With one read port and one write port. |
Output Aclrs | q_a port | On/Off | Specifies whether to create an asynchronous clear port for the registered ports. Specifies whether the 'q_a' port is cleared by the aclr port. This option is available if you select With two read/write ports |
q_b port | On/Off | Specifies whether to create an asynchronous clear port for the registered ports. Specifies whether the 'q_b' port is cleared by the aclr port. |
|
Output Sclrs | q_a port | On/Off | Specifies whether to create a synchronous clear port for the registered ports. Specifies whether the 'q_a' port is cleared by the sclr port. This option is available if you select With two read/write ports |
q_b port | On/Off | Specifies whether to create a synchronous clear port for the registered ports. Specifies whether the 'q_b' port is cleared by the sclr port. |
Parameter | Allowed Values | Description |
---|---|---|
How should the q_a and q_b outputs behave when reading a memory location that is being written from the other port? |
|
Specifies the output behavior when read-during-write occurs.
|
Parameter | Allowed Values | Description |
---|---|---|
What should the 'q_a' output be when reading from a memory location being written to? |
|
Specifies the output behavior when read-during-write occurs.
|
What should the 'q_b' output be when reading from a memory location being written to? | ||
Get x's for write masked bytes instead of old data when byte enable is used | On/Off | Turn on this option to obtain 'X' on the masked byte. |
Parameter | Allowed Values | Description |
---|---|---|
Do you want to specify the initial content of the memory? |
|
Specifies the initial content of the memory. To initialize the memory to zero, select No, leave it blank. To use a memory initialization file (.mif) or a hexadecimal (Altera-format) file (.hex), select Yes, use this file for the memory content data. |
Initialize memory content data to XX..X on power-up in simulation | On/Off | — |
The initial content file should conform to which port's dimensions? |
|
If you select to use the initial content file for memory content data, select the port the file should conform to. |
Implement clock-enable circuitry for use in a partial reconfiguration region | On/Off | Specifies whether to implement clock-enable circuitry for use in a partial reconfiguration region. Implement clock-enable circuitry for use in a partial reconfiguration region |
Parameter | Allowed Values | Description |
---|---|---|
Parameter Settings: | ||
Enable Force to Zero | On/Off | Specifies whether to set the output to zero when you deassert the read enable signal. Enabling this feature helps improve the glue logic performance when the selected memory depth is larger than a single memory block. |
Which timing/power optimization option do you want to use? |
|
Specifies the timing or power optimization option to use. This option is only applicable when you select M20K memory type on Agilex™ 7 devices. |