16.11.2015 Views

UltraScale Architecture Memory Resources

ug573-ultrascale-memory-resources

ug573-ultrascale-memory-resources

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 1: Block RAM <strong>Resources</strong><br />

Additional RAMB18E2 and RAMB36E2 Primitive<br />

Design Considerations<br />

The RAMB18E2 and RAMB36E2 primitives are integral in the block RAM solution.<br />

Optional Output Registers<br />

Optional output registers can be used at either or both A|B output ports of RAMB18E2 and<br />

RAMB36E2. The choice is made using the DO[A|B]_REG attribute. The two independent<br />

clock enable pins are REGCE[A|B]. When using the optional output registers at port [A|B],<br />

assertion of the synchronous set/reset (RSTREG and RSTRAM) pins of ports [A|B] causes the<br />

value specified by the attribute SRVAL to be registered at the output. Figure 1-16 shows an<br />

optional output register.<br />

Independent Read and Write Port Width<br />

IMPORTANT: To specify the port widths using the dual-port mode of the block RAM, designers must use<br />

the READ_WIDTH_[A|B] and WRITE_WIDTH_[A|B] attributes.<br />

These rules should be considered:<br />

• Designing a single-port block RAM requires the port pair widths of one write and one<br />

read to be set (e.g., READ_WIDTH_A and WRITE_WIDTH_A).<br />

• Designing a dual-port block RAM requires all port widths to be set.<br />

• In simple dual-port mode, one side of the ports is fixed while the other side can have a<br />

variable width. The RAMB18E2 has a data port width of up to 36, while the RAMB36E2<br />

has a data port width of up to 72. When using the block RAM as read-only memory,<br />

only the READ_WIDTH_A/B is used.<br />

RAMB18E2 and RAMB36E2 Port Mapping Design Rules<br />

The block RAMs are configurable to various port widths and sizes. Depending on the<br />

configuration, some data pins and address pins are not used. Table 1-7, page 29 through<br />

Table 1-10, page 30 show the pins used in various configurations. In addition to the<br />

information in these tables, these rules are useful to determine the RAMB port connections:<br />

• When using RAMB36E2, if the DIN[A|B] pins are less than 32 bits wide, concatenate<br />

(32 - DIN_BIT_WIDTH) logic zeros to the front of DIN[A|B].<br />

• If the DINP[A|B] pins are less than 4 bits wide, concatenate (4 - DINP_BIT_WIDTH) logic<br />

zeros to the front of DINP[A|B]. DINP[A|B] can be left unconnected when not in use.<br />

<strong>UltraScale</strong> <strong>Architecture</strong> <strong>Memory</strong> <strong>Resources</strong> www.xilinx.com<br />

Send Feedback<br />

45<br />

UG573 (v1.2) February 24, 2015

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!