FPGA

Páginas: 7 (1735 palabras) Publicado: 14 de abril de 2013
Memoria
Diseño de Sistemas con FPGA
Patricia Borensztejn

Memoria (Spartan-3)‫‏‬
• La Spartan-3 conjuntamente con el S3 board proveen varias
opciones de almacenamiento:
– Registros (FF): aprox. 4.5K bits (4320 LC) embebidos en las LC e I/O
buffers
– RAM distribuida: construida con las LUTS. Puede haber hasta 30K bits
en la XC3S200. (Compite por recursos con la lógica. Su uso estárentringido a aplicaciones que requieran poco almacenamiento).
– Block RAM: es un bloque especial separado de las celdas lógicas.
• Cada bloque consiste de 16K bits (mas 2K bits de paridad) organizado de
diferentes formas: desde 16K bits a 512 por 32 bits.
• En Spartan hay 12 BRAMS.
• Se pueden utilizar para: FIFO, una LUT grande, etc.

Tanto la memoria distribuida como la BRAM vienenprovistas de una
interface síncrona que permite su utilización sin que sea necesario un
controlador de memoria.
– Memoria SRAM Externa: 8Mbits, configuradas como dos 256K por 16
SRAM chips.

Familia Spartan3E
• Memoria Distribuida

• Block Ram
18532 bits por BRAM
18432 bits por BRAM

18432 (18K) bits por BRAM

Solo números
FPGA

S3 BOARD

12

4.5 K

FF

18 K

30K

LUT RAM

2

18 K

BRAM

Memoria
Distribuida

TODA LA MEMORIA ES ESTÁTICA

256 K x 16 bits

Memoria Externa

Solo números: S3E
FPGA

S3E BOARD

20

9316

FF

18 K

74496

LUT RAM

18 K

BRAM

Memoria
Distribuida

TODA LA MEMORIA ES ESTÁTICA

32M x 16 bits

Memoria Externa

LUT RAM o Memoria Distribuida
• Cada CLB está formado por cuatroSLICES interconectados,
agrupados por pares: dos de tipo SLICEM y dos de tipo SLICEL.
• Los slice tipo M son los que pueden implementar lógica o memoria.
Los de tipo L sólo implementan lógica.

LUT RAM
• Por eso, con aprox. 4320 LC sólo hay disponible
32 K bits de memoria distribuida.

LUT RAM
• Características:
– RAM de:





16 x 1 bit
Write síncrono
Read asíncronoLos LUT´s de los SLICEM se pueden poner en cascada para
formar:
– RAM de 16 x 4 bits
– RAM de 32 * 2 bits
– RAM de 64 * 1 bit

• Las señales adicionales de dirección para los casos de 32 y
64 se obtienen de entradas especiales (Bx y By)‫‏‬

LUT RAM
• Pueden ser single o dual port (direcciones)‫‏‬
• Para implementar las dual port se usan los dos LUTs del
SLICEM:
– LUT 1 : tieneUN port de lectura y de escritura
– LUT 2: tiene UN port de solo lectura (visible)
– La operación de escritura es simultánea en las dos LUTs.

LUT RAM doble puerto

Para‫‏‬el‫‏‬curioso…

LUT RAM : primitivas

Templates para instanciación
• Edit ->Language Templates from the menu, and then select VHDL
or Verilog, followed by Device Primitive Instantiation->FPGA >RAM/ROM ->Distributed RAM
// RAM64X1S: 64 x 1 positive edge write, asynchronous read single-port distributed RAM
//
Virtex-II/II-Pro/4/5, Spartan-3/3E/3A
// Xilinx HDL Language Template, version 10.1
RAM64X1S #(
.INIT(64'h0000000000000000) // Initial contents of RAM
) RAM64X1S_inst (
.O(O),
// 1-bit data output
.A0(A0),
// Address[0] input bit
.A1(A1),
// Address[1] input bit
.A2(A2),
//Address[2] input bit
.A3(A3),
// Address[3] input bit
.A4(A4),
// Address[4] input bit
.A5(A5),
// Address[5] input bit
.D(D),
// 1-bit data input
.WCLK(WCLK), // Write clock input
.WE(WE)
// Write enable input
);

Numeración de los SLICES

Slice Location Designations
The Xilinx development software designates the location of a slice according to its X and Y
coordinates,starting in the bottom left corner, as shown in Figure 5-1.‫‏‬The‫‏‬letter‫„‏‬X‟
followed by a number identifies columns of slices, incrementing from the left side of the
die‫‏‬to‫‏‬the‫‏‬right.‫‏‬The‫‏‬letter‫„‏‬Y‟‫‏‬followed‫‏‬by‫‏‬a‫‏‬number‫‏‬identifies‫‏‬the‫‏‬position‫‏‬of‫‏‬each‫‏‬slice‫‏‬in
a pair as well as indicating the CLB row, incrementing from the bottom of the die.The SLICEM...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Fpga
  • FPGA
  • FPGA
  • Fpga
  • Fpga
  • FPGA
  • fpga
  • Fpga

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS