R
Block RAM Location and Surrounding Neighborhood. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
           Block RAM/Multiplier Routing Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
    Data Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
    Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
           Data Inputs and Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
                Data Input Bus — DI[#:0] (DIA[#:0], DIB[#:0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
                Data Output Bus — DO[#:0] (DOA[#:0], DOB[#:0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
           Parity Inputs and Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
                Data Input Parity Bus — DIP[#:0] (DIPA[#:0], DIPB[#:0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
                Data Output Parity Bus — DOP[#:0] (DOPA[#:0], DOPB[#:0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
           Address Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
                Address Bus — ADDR[#:0] (ADDRA[#:0], ADDRB[#:0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
           Control Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
                Clock — CLK (CLKA, CLKB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
                Enable — EN (ENA, ENB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
                Write Enable — WE (WEA, WEB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
                Output Register Enable - REGCE (REGCEA, REGCEB) Spartan-3A DSP FPGA Only . . . . . . . . . . . . . . . . . . .164
                Output Latch Synchronous Set/Reset — SSR (SSRA, SSRB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
                    Output Latch/Register Synchronous/Asynchronous Set/Reset
                                   - RST (RSTA, RSTB) - Spartan-3A DSP FPGA Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
                    Global Set/Reset — GSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
                    Inverting Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
                    Unused Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
    Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
           Number of Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
               CORE Generator System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
               VHDL or Verilog Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
           Memory Organization/Aspect Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
               CORE Generator System — Memory Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
               VHDL or Verilog Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
               Address and Data Mapping Between Two Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
           Content Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
               CORE Generator System — Load Init File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
               VHDL or Verilog Instantiation — INIT_xx, INITP_xx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
           Data Output Latch Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
               CORE Generator System — Global Init Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
               VHDL or Verilog Instantiation — INIT (INIT_A and INIT_B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
           Data Output Latch Synchronous Set/Reset Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
               CORE Generator System — Init Value (SINIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
               VHDL or Verilog Instantiation — SRVAL (SRVAL_A and SRVAL_B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
           Read Behavior During Simultaneous Write — WRITE_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
               WRITE_FIRST or Transparent Mode (Default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
               READ_FIRST or Read-Before-Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
               NO_CHANGE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
               CORE Generator System — Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
               VHDL or Verilog Instantiation — WRITE_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
           Location Constraints (LOC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
    Block RAM Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
           RAM Contents Initialized During Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
           Global Set/Reset Initializes Data Output Latches Immediately After Configuration
                        or Global Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
           Enable Input Activates or Disables RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
           Synchronous Set/Reset Initializes Data Output Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Spartan-3 Generation FPGA User Guide                                           www.xilinx.com                                                                                          9
UG331 (v1.8) June 13, 2011