Vous êtes sur la page 1sur 19

Digital II

Xilinx Foundation Series


Bibliotecas unificadas

Departamento de Sistemas e Informtica


Escuela de Electrnica
Facultad de Ciencias Exactas, Ingeniera y
Agrimensura
Universidad Nacional de Rosario

Rosa Corti
2007

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 2 de 19

Contenido del apunte


1 El concepto de Bibliotecas unificadas......................................4
2 Incorporacin de los dispositivos en el diseo .........................5
3 Categoras funcionales .............................................................5
4 Dispositivos combinacionales. ..................................................5
4.1
4.2
4.3
4.4
4.5
4.6

Compuertas. ................................................................................5
Sumadores (ADD4, ADD8, ADD16)..........................................6
Sumadores/Restadores (ADDSU4, ADDSU8, ADDSU16). ......6
Multiplexores. .............................................................................7
Comparadores. ............................................................................8
Funciones de I/O. .......................................................................8
4.6.1
4.6.2
4.6.3
4.6.4
4.6.5

Buffers de entrada. ...........................................................................8


Buffers de salida. ..............................................................................9
Pads de entrada.................................................................................9
Pads de salida....................................................................................9
Pads bidireccionales. ........................................................................9

5 Dispositivos secuenciales. .......................................................10


5.1 Implementacin del Clock Enable (CE)..................................10
5.2 Flip-Flops D..............................................................................11
5.2.1
5.2.2

Flip-Flops D con CLR. ...................................................................11


Flip-Flops D con CE y/o entradas de seteo y reseteo. .................11

5.3 Flip-Flops de entrada. ..............................................................12


5.4 Flip-flops JK. ............................................................................13
5.5 Contadores binarios con CE y clear asincrnico conectables
en cascada ..................................................................................................13
5.6 Contadores binarios con carga paralela, CE y clear
asincrnico conectables en cascada..........................................................13
5.7 Contadores binarios bidireccionales con carga paralela, CE y
clear asincrnico conectables en cascada. ...............................................13
5.8 Contadores binarios con CE y reset sincrnico, conectables en
cascada ...............................................................................14
5.9 Registros de datos. ....................................................................15
5.9.1
5.9.2

Registros de datos con CE y CLR. .................................................15


Registros de datos con CE y R.......................................................15

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 3 de 19

5.10 Registros de desplazamiento con entrada serie, salida


paralela, CE y clear asincrnico. ..............................................................15
5.11 Registros de desplazamiento con entrada serie/paralelo,
salida paralela, CE y clear asincrnico. ...................................................16
5.12 Registros de desplazamiento bidireccionales con entrada
serie, salida paralela, CE y clear asincrnico ..........................................16
5.13 Registros de desplazamiento con entrada serie, salida
paralela, CE y reset sincrnico..................................................................17
5.14 Registros de desplazamiento con entrada serie/paralelo,
salida paralela, CE y reset sincrnico.......................................................17
5.15 Registros de desplazamiento bidereccionales con entrada
serie, salida paralela, CE y reset sincrnico............................................17
5.16 Memorias RAM sincrnicas. ................................................17
5.17 Memorias RAM de puerto doble...........................................18
5.18 Memorias ROM. ....................................................................19
5.19 Definicin de la propiedad INIT en los bloques de memoria
de biblioteca................................................................................................19

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 4 de 19

XILINX FOUNDATION SERIES


BIBLIOTECAS UNIFICADAS1
1

El concepto de Bibliotecas unificadas

La empresa Xilinx mantiene bibliotecas asociadas con las distintas familias de


dispositivos programables que fabrica. Estas bibliotecas estn compuestas por gran
cantidad de elementos de diseo funcional, que pueden ser primitivas o macros2. Si bien
en Digital II trabajamos con los dispositivos de las familias Spartan2 y/o Spartan3, cuyas
bibliotecas incluyen los elementos sintetizables con la arquitectura propia de la familia, en
cada familia de dispositivos, sean estos del tipo FPGA o CPLD, existe una biblioteca de
caractersticas similares.
Xilinx aborda una aproximacin unificada de sus bibliotecas, lo que significa
que se pueden implementar diseos creados con cualquiera de ellas utilizando otra familia
de dispositivos, siempre y cuando la biblioteca destino soporte los elementos incluidos.
Por lo general esta situacin se presenta cuando escalamos hacia familias ms avanzadas,
que es lo que normalmente ocurre.
La compatibilidad hacia abajo,
es ms complicada si se utilizan
elementos de diseo novedosos,
incorporados por las nuevas
arquitecturas.
Los elementos que existen
en las bibliotecas de distintas
familias no slo tienen la misma
apariencia sino que funcionan de
forma similar, pese a que su
implementacin puede diferir de
una a otra por motivos de
eficiencia. En cada biblioteca los
smbolos aparecen repetidos lo
cual es necesario para la
simulacin (especialmente a nivel
placa), ya que las caractersticas
de temporizacin son particulares
a cada arquitectura.
En consonancia con este
enfoque, se definen convenciones
de nombres que se utilizan en todas las bibliotecas, y que ponen de manifiesto algunas de
sus caractersticas como ser la funcionalidad, tamao y entradas disponibles. En la Figura
1 tomada de una publicacin de la empresa sobre este tema, se muestran estas
convenciones generales. En las mismas, los nombres comienzan con la funcionalidad del
bloque, seguida por el nmero de bits. En las puertas es comn que se indique el nmero
Figura 1

El contenido de este apunte se basa en el documento de Xilinx sobre las bibliotecas de su


ambiente de desarrollo. Las figuras mostradas corresponden a dicha publicacin.
2
Elementos compuestos por varias primitivas u otras macros que se encapsulan y almacenan en las
bibliotecas. Son un ejemplo de diseo jerrquico.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 5 de 19

de entradas sin negar y negadas, mientras que en bloques secuenciales se listan las
entradas de control ordenadas por prioridad.
Es importante destacar, que el usuario puede definir sus propios bloques a partir de
los elementos disponibles en las bibliotecas. Los mismos pueden ser encapsulados y
reutilizados con el fin de ahorrar esfuerzo en desarrollos futuros.

Incorporacin de los dispositivos en el diseo

Cuando se aborda un proyecto en el ambiente de diseo utilizando el flujo por


esquemticos, los bloques se arrastran desde las bibliotecas y se conectan con las
herramientas disponibles. Es la forma en la que trabajaremos en la asignatura, donde los
utilizaremos como bloques MSI3 para implementar la particin del sistema a disear,
lograda con el mtodo constructivo.
Estos elementos de biblioteca, son tambin tiles cuando se encara un diseo
basado en lenguajes de descripcin de hardware (HDL). En este ltimo caso, se los
instancia y conecta con sentencias del lenguaje. El flujo de diseo con HDL escapa a los
alcances de la asignatura, pero constituye hoy en da una tendencia firme para encarar
sistemas digitales de complejidad creciente.
En Digital II, slo abordamos algunos pasos del flujo de diseo. Especficamente
realizamos el ingreso del diseo y su simulacin comportamental con el objetivo de
verificar su funcionamiento y realizar las correcciones y ajustes necesarios. Sin embargo,
el ambiente de desarrollo Webpack permite completar el flujo de desarrollo, llegando
hasta la implementacin de los proyectos en dispositivos de lgica programable. La
herramienta de sntesis incorporada (XST), reconoce los elementos de biblioteca que
constituyen el circuito, y realiza la implementacin de una forma optimizada para el
dispositivo FPGA seleccionado. El producto final del proceso de sntesis (mapeo,
emplazamiento y ruteo) es un archivo bitstream de apellido .bit, que consiste en un
conjunto de ceros y unos que codifican la configuracin que se le dar al integrado.
Finalmente, este producto final es transferido al dispositivo FPGA, que alojar la totalidad
del sistema desarrollado.

Categoras funcionales

Existen diversas funcionalidades disponibles en las bibliotecas de Xilinx. Las


agruparemos por categoras, y es importante notar que la variedad de dispositivos en cada
una de ellas es distinta de una familia a otra. Dentro de cada biblioteca los elementos de
diseo estn organizados alfabticamente y cabe destacar que existen funciones standard
del tipo TTL-7400 en todas las bibliotecas cuyo nombre comienza con el prefijo X74.
En este apunte comentaremos las caractersticas ms relevantes de las categoras
de dispositivos ms usuales en los prcticos planteados en la asignatura. Queda para el
lector la inquietud de recorrer la biblioteca y explorar todos los elementos de diseo
disponible.

4
4.1

Dispositivos combinacionales.
Compuertas.

Respecto a la disponibilidad de compuertas lgicas hay de distinto tipo con las


entradas negadas y sin negar y con distinta cantidad de entradas. Adems existen
3

MSI: Sigla en ingls para Mediana Escala de Integracin.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 6 de 19

combinaciones de puertas como suma de productos. A continuacin se listan algunas de


las disponibles, si se necesitan otras de distintas caractersticas se deben buscar en la
biblioteca nombres anlogos a los presentados.
Object Name:
AND2
Attribute: Gate, Gate Array
Comment:
2-Input AND Gate with Non-Inverted Inputs
Object Name:
INV
Attribute: Gate, Gate Array
Comment:
Inverter
Object Name:
NAND2
Attribute: Gate, Gate Array
Comment:
2-Input NAND Gate with Non-Inverted Inputs
Object Name:
NOR2
Attribute: Gate, Gate Array
Comment:
2-Input NOR Gate with Non-Inverted Inputs
bject Name:
OR2
Attribute: Gate, Gate Array
Comment:
2-Input OR Gate with Non-Inverted Inputs
Object Name:
XOR2
Attribute: Gate, Gate Array
Comment:
2-Input XOR Gate with Non-Inverted Inputs

4.2

Sumadores (ADD4, ADD8, ADD16).

Son sumadores completos que pueden conectarse en


cascada para obtener dispositivos de mayor nmero de bits.
Disponen de Carry In (CI), Carry Out (CO) y seal de Overflow
(OFL). Estos dispositivos suman dos palabras (A y B) y el CI,
produciendo una suma S, y las salidas CO y OFL. La entrada de CI
se utiliza cuando se necesita encadenar varios dispositivos, en caso
contrario debe estar conectada a masa.
Pueden operar tanto con nmeros binarios sin signo como
con nmeros binarios en complemento a dos. La nica diferencia
es la interpretacin de las palabras A y B que se ingresan, del
resultado S, y de cmo se determina en ambas operaciones la situacin de overflow.
Figura 2: ADD4
Suma binaria sin signo:
En esta operacin, ADD4 representa nmeros entre 0 y 15, ADD8 entre 0 y 255 y
ADD16 entre 0 y 65535. La salida CO indica cuando asume el valor 1 que se ha excedido
la capacidad del sumador (hay una situacin de carry), y la salida OFL se ignora.
Suma en complemento a dos:
En esta operacin ADD4 representa nmeros entre -8 y 7, ADD8 entre -128 y 127
y ADD16 entre -32768 y 32767. La salida OFL indica cuando asume el valor 1 que se ha
excedido la capacidad del sumador (hay una situacin de overflow), y la salida CO se
ignora.
4.3

Sumadores/Restadores (ADDSU4, ADDSU8, ADDSU16).

Son sumadores/restadores que pueden conectarse en cascada para obtener


dispositivos de mayor nmero de bits. Disponen de Carry In (CI), ADD (en 1 indica suma

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 7 de 19

en 0 resta), Carry Out (CO) y seal de Overflow (OFL). Estos dispositivos suman o restan
(dependiendo de la seal de control ADD) dos palabras (A y B) y el CI, produciendo una
suma S, y las salidas CO y OFL.
Binarios sin signo vs nmeros en complemento a dos:
Como estos dispositivos son sumadores/restadores, tanto con binarios sin signo
como en complemento a dos, puede presentarse la situacin de overflow. Ambas
operaciones se diferencian en la forma en que determinan dicha situacin, en aritmtica
sin signo se utiliza CO, y en complemento a dos OFL.
Cuando la seal ADD est en alto los dispositivos suman las dos palabras A y B y
el CI, entregando el resultado en S y generando CO u OFL dependiendo si la operacin se
realiza sobre nmeros binarios sin signo o si se realiza sobre nmeros en complemento a
2. CO, OFL y CI estn activos en alto.
Cuando la seal ADD est en cero, los dispositivos realizan la operacin A-B,
entregando el resultado en S y generando las seales CO u OFL dependiendo de la
interpretacin de los nmeros. Sin embargo aqu tanto CI como CO
estn activos en cero, lo cual hace que deban tomarse precauciones
al utilizar el dispositivo. Cuando se restan binarios sin signo, la seal
CO debe ser interpretada como una seal de pedir prestado, si se
restan nmeros en C2 esta seal se ignora. La seal OFL es activa
siempre en alto.
Por lo tanto, si se trabaja con aritmtica sin signo, teniendo
en cuenta que ahora se suma y se resta dependiendo de ADD y
recordando las consideraciones anteriores, la seal de overflow
puede obtenerse como:
Overflow = ADD XNOR CO
Figura 3
Si se trabaja con aritmtica en C2, CO se ignora y OFL
determina si se excede la capacidad. Para obtener un funcionamiento correcto, teniendo en
cuenta las consideraciones anteriores se deber definir:
CI = Not ADD
4.4

Multiplexores.

Estos dispositivos estn disponibles con y sin seal de enable (E). Cuando la seal
E est en valor alto el dispositivo est activo y presenta una de las entradas en su salida
dependiendo de la configuracin de control. Si E est en cero, la salida es cero. Existen

Figura 4: Tabla de verdad de un MUX 4 a 1


multiplexores de 2, 4, 8 y 16 a 1, y hay algunos con opciones de entradas negadas (en el
caso de las familias Spartan2 y Spartan3 en el multiplexor de 2 a 1). En la figura 4 se
muestra la tabla de verdad correspondiente a un multiplexor de 4 a 1 con entrada de

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 8 de 19

Enable. Si se necesitan multiplexores que trabajen con buses4, se deber definir la macro
correspondiente a partir de los elementos disponibles en la biblioteca.
4.5

Comparadores.

Se disponen dos tipos de comparadores: de identidad y de


magnitud. Los comparadores de identidad permiten determinar si dos
nmeros binarios sin signo, son iguales o no y por lo tanto slo
disponen de una salida EQ. Los comparadores de magnitud tienen dos
salidas (LT y GT), que en estado alto determinan la relacin entre dos
nmeros binarios sin signo. Si se desea comparar nmeros negativos
representados en complementos con comparadores de magnitud, se
deberan efectuar las correcciones correspondientes a las seales de
salida5.
Figura 5: Comparador de identidad
4.6

Funciones de I/O.

Los IOB6 del integrado, sea ste CPLD o FPGA, poseen recursos que se
configuran como primitivas y macros de I/O.
En la versin Webpack que utilizamos, el procedimiento para indicar que una lnea
o bus se conecta con seales externas al CI, consiste en agregar en el esquemtico I/O
markers. Las caractersticas de estos marcadores, deben ser las mismas que las de la
lnea o bus relacionada. Si la seal ingresa al CI (seal de slo lectura para el circuito,
que la utiliza pero no la define), corresponde un marcador de tipo I. Si la seal egresa del
CI (seal que define o escribe el circuito) corresponde un marcador de tipo O. Si el
circuito define seales que egresarn del CI, pero adems las necesita para procesamiento
interno (se realimentan al interior del sistema), corresponde un marcador de tipo I/O.
Se presentan a continuacin los dispositivos de I/O ms usuales. Cabe destacar,
que con la versin del ambiente que se utiliza en la asignatura, slo debern agregarse
como elementos discretos en situaciones excepcionales. En general, basta con agregar el
marcador de I/O correspondiente, ya que la herramienta de sntesis los reconoce, e
incorpora ms adelante en el flujo de diseo los elementos adicionales necesarios.
4.6.1

Buffers de entrada.

IBUF, IBUF4, IBUF8, IBUF16 son buffers de entrada que aslan el circuito
interno del dispositivo de las seales que ingresan al chip. Se conectan a pads (elementos
que representan las patillas del chip) de entrada o de entrada/salida.
Object Name:
IBUF
Attribute: Gate, Bus Driver, Gate Array
Comment:
Input Buffer
Object Name:
IBUF4
Attribute: Gate, Bus Driver, Gate Array
Comment:
4 Input Buffers

En los prcticos se suele trabajar con buses de 4 bits.


Las correcciones necesarias fueron comentadas en clase.
6
Bloques de Entrada/Salida.
5

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 9 de 19

4.6.2

Buffers de salida.

Para adaptar las seales de salida, se conectan antes de los pads de salida. Hay de
distinta cantidad de bits (OBUF, OBUF4, OBUF8, OBUF16).
Object Name:
OBUF
Attribute: Gate, Bus Driver, Gate Array
Comment:
Output Buffer
Object Name:
OBUF4
Attribute: Gate, Bus Driver, Gate Array
Comment:
4 Output Buffers

4.6.3

Pads de entrada.

Elementos que indican la conexin con las patillas del dispositivo configuradas
como entradas. Por ellos ingresan las seales de entrada al sistema. Hay de distinta
cantidad de bits (IPAD, IPAD4, IPAD8, IPAD16).
Object Name:
IPAD
Attribute: Gate Array
Comment:
Input Pad
Object Name:
IPAD4
Attribute: Gate Array
Comment:
4 Input Pads

4.6.4

Pads de salida.

Para indicar la conexin con las patillas del dispositivo configuradas como salidas.
Desde ellos egresan seales desde el chip hacia el exterior. Hay de distinta cantidad de
bits (OPAD, OPAD4, OPAD8, OPAD16).
Object Name:
OPAD
Attribute: Gate Array
Comment:
Output Pad
Object Name:
OPAD4
Attribute: Gate Array
Comment:
4 Output Pads

4.6.5

Pads bidireccionales.

Para conectar con seales que se realimentan hacia el circuito implementado en el


chip. Hay de distinta cantidad de bits (IOPAD, IOPAD4, IOPAD8, IOPAD16). Se
conectarn con los buffers correspondientes.
Object Name:
IOPAD
Attribute: Gate Array
Comment:
Input/Output Pad
Object Name:
IOPAD4
Attribute: Gate Array
Comment:
4 Input/Output Pads

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 10 de 19

5
5.1

Dispositivos secuenciales.
Implementacin del Clock Enable (CE).

La entrada de CE es una caracterstica comn de los dispositivos sincrnicos de las


bibliotecas, por lo que es importante comprender la forma en que trabaja para abordar los
diseos propuestos en la asignatura. Se incorpora para prevenir el uso de puertas con la
finalidad de afectar la seal de reloj. Esta ltima es una prctica desaconsejable no slo
por los retardos que introduce, sino tambin por la posibilidad de producir glitches que
ocasionen un mal funcionamiento, y que suelen ser difciles de detectar. Cuando se
necesita inhibir el funcionamiento del dispositivo en lugar de afecta la seal de reloj, se
utiliza el CE (CE = 0).
El Flip Flop tipo D es el bloque de construccin bsico para todas las
arquitecturas. Sin embargo hay diferencias entre ellas respecto de las entradas disponibles.
En las familias de dispositivos Spartan2 y Spartan3 que son las que nos interesan, los FF
D pueden disponer de entrada de CE (clock enable), y se puede optar entre dispositivos
con entradas de seteado y/o reseteado sincrnicas o asincrnicas. Se sugiere recorrer los
elementos de biblioteca en el ambiente para verificarlo.
Cuando se utilizan entradas de control sincrnicas y asincrnicas, la prioridad
entre ellas es consistente a travs de todas las arquitecturas y elementos de diseo siendo
en general el orden desde la prioridad ms alta a la ms baja como sigue:

Clear asincrnico (CLR).


Preset asincrnico (PRE).
Set sincrnico (S).
Reset sincrnico (R).
Clock Enable (CE).

Las entradas asincrnicas CLR y PRE, tienen en realidad prioridad por definicin
sobre todas las entradas sincrnicas y de clock del dispositivo.
Respecto del CE, se implementa en las bibliotecas utilizando dos mtodos
diferentes, lo que afecta las prioridades entre CE y otras seales de control del dispositivo.
Los dos mtodos se presentan en la Figura 6.

Figura 6: Implementaciones de CE

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 11 de 19

Mtodo 1: El CE se implementa conectando el CE de la macro al pin dedicado de


CE de los FF existentes en el CLB7 utilizado. Esto permite un CE por CLB y
ocasiona que CE tenga un nivel de prioridad ms alto respecto a otras seales
sincrnicas. Todos los FF con preset o clear asincrnico utilizan este mtodo.

Mtodo 2: El CE se implementa usando las LUTs del CLB. Entonces la prioridad


del CE es ms flexible. Todos los FF con set o reset sincrnico utilizan este
mtodo.

El mtodo utilizado en una macro particular queda indicado por la inclusin de


clear asincrnico, preset asincrnico, set sincrnico o reset sincrnico, en la descripcin
de la macro. Adems en cada una, y de acuerdo a cmo se hayan definido las conexiones
internas, queda claramente definido un esquema de prioridades para manejar las seales
de control del dispositivo. Este esquema queda plasmado en la convencin de nombres
que se ha definido. Si quedan dudas, se debe consultar la documentacin asociada.
5.2

Flip-Flops D.

Es el tipo ms simple de flip-flop disponible como primitiva en la biblioteca de las


familias de inters. El dato presente a la entrada es cargado en el pulso activo de clock.
Existen con flanco activo ascendente y descendente. Ambos se resetean cuando se aplica
tensin al circuito.

Figura 7: Esquema del FD

5.2.1

Flip-Flops D con CLR.

Estos FF son primitivas en las familias Spartan2 y Spartan3. Agregan a la


funcionalidad descripta en el punto anterior un CLR, que es prioritario y lleva el
contenido del dispositivo a cero cuando est en alto. Tambin se disponen con flanco
activo descendente.

Figura 8: Esquema del FDCE


5.2.2

Flip-Flops D con CE y/o entradas de seteo y reseteo.

Estos dispositivos, que tambin son primitivas en las familias Spartan2 y Spartan3,
combinan una entrada de CE con entradas de seteo y/o reseteo asincrnico o sincrnico.
Las entradas asincrnicas (CLR y PRE) pueden presentarse en conjunto o slo una de
7

Bloque Lgico Configurable de la FPGA

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 12 de 19

ellas. Lo mismo ocurre para las entradas sincrnicas R y S. los dispositivos trabajan con
flancos de reloj ascendente y descendente. Se presentan como ejemplo las tablas de
comportamiento de dos FF. El reset en las tablas de los dispositivos presentados es
prioritario en ambos, pero es importante notar la diferencia en el funcionamiento entre el
CLR (asincrnico) y el R (sincrnico).

Figura 9: Tabla del Flip-Flop FDCE (clock enable y clear asincrnico)

Figura 10: Tabla del Flip-Flop FDRE (reset sincrnico y clock enable)
Se recomienda recorrer los elementos de biblioteca del ambiente para
familiarizarse con los dispositivos disponibles en esta categora.
5.3

Flip-Flops de entrada.

Estos flip-flops de distinta cantidad de lneas de entradas (IFD, IFD4, IFD8,


IFD16) estn contenidos en los IOB del integrado y responden al flanco ascendente del
clock. La entrada (D) se conecta directamente a un marcador de entrada o de
entrada/salida. Su funcin adems de almacenar, es sincronizar los datos que ingresan al
chip, con el reloj general del sistema. Por lo tanto, cuando se ingresan datos por teclado en
simulacin, es conveniente incluirlos en el diseo a fin de que no se
presenten anomalas al momento de verificar el comportamiento del
circuito. En sntesis la sincronizacin de seales externas tambin es
recomendable, por lo que su inclusin en el diseo no est en modo
alguno limitada al logro de buenos resultados de simulacin.
Object Name:
IFD
Attribute: Flip Flop / Latch, Gate Array
Comment:
Input D Flip-Flop
Object Name:
IFD4
Attribute: Flip Flop / Latch, Gate Array
Comment:
4 Input D Flip-Flops

Figura 11: Esquema de IFD4

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 13 de 19

5.4

Flip-flops JK.

Estos Flip-Flops existen tambin con muchas variantes. Los dos tipos ms simples
incluyen un clear asincrnico (FJKC) o un preset asincrnico FJKP). Los bloques de esta
categora se implementan como macros en las familias de inters, y todos agregan a la
tabla de verdad ya conocida otras entradas como se indica:

FJKC: Clear asincrnico


FJKCE: CE y Clear asincrnico (prioritario)
FJKP: Preset asincrnico.
FJKPE: CE y Preset asincrnico El Preset es prioritario.
FJKRSE: CE, Reset y Set sincrnicos (R prioritario frente al S, y ambos
prioritarios respecto al CE).
FJKSRE: Mismas entradas que el anterior pero aqu el prioritario el Set sincrnico
(notar la inversin de las letras en el nombre).

Las entradas de seteo y reseteo (sincrnicas o asincrnicas) son prioritarias en


todos los casos respecto del CE (si existe).
5.5

Contadores binarios con CE y clear asincrnico conectables en cascada

Se disponen de distinta cantidad de bits, son los dispositivos CB2CE, CB4CE,


CB8CE y CB16CE, macros en las familias de inters. El clear asincrnico es prioritario
frente a todas las otras entradas, y cuando est en alto lleva todas las salidas a cero. El
contador incrementa su valor en 1 cada vez que llega un flanco activo de clock y CE est
en alto (con CLR en cero).
La salida TC asume valor alto cuando el contenido del contador consiste en una
tira de unos8.
La salida CEO se utiliza para conectar los contadores en
cascada con el fin de lograr contadores de mayor capacidad.
CEO est en alto cuando TC y CE estn en alto, por lo tanto, la
salida CEO del primer contador de la cascada se debe conectar a
la entrada CE del segundo y las entradas C y CLR de ambas
deben estar en paralelo. Si hay ms contadores en la cascada se
repite el procedimiento. Se debe tener cuidado con la relacin
del perodo del clock usado y los retardos introducidos por cada
etapa de la cascada.

Figura 12: Esquema de CB4CE


5.6

Contadores binarios con carga paralela, CE y clear asincrnico conectables en


cascada.

Tambin hay de distinta cantidad de bits: CB2CLE, CB4CLE, CB8CLE y


CB16CLE. Estos dispositivos agregan a la funcionalidad descripta en los contadores
anteriores la posibilidad de realizar una carga en paralelo. En la tabla de la Figura 13,
puede verse el comportamiento y nivel de prioridades de todas las entradas. Notar que la
entrada de carga en paralelo (L) es sincrnica, pero resulta prioritaria respecto al CE. Slo

O sea, el contador alcanza la cuenta mxima.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 14 de 19

si CLR = 0 (reset asincrnico), L = 0 y CE = 1 el contador incrementa su contenido con la


llegada de un flanco activo de reloj.

Figura 13: Tabla de verdad de CBzCLE.


5.7

Contadores binarios bidireccionales con carga paralela, CE y clear asincrnico


conectables en cascada.

CB2CLED, CB4CLED, CB8CLED y CB16CLED agregan a la funcionalidad


descripta en los dispositivos anteriores la posibilidad de incrementar o decrementar la
cuenta, incorporando una entrada UP, que en estado alto provoca una cuenta ascendente y
en bajo una descendente. La funcionalidad y las prioridades entre entradas se muestran en
la tabla de comportamiento de los dispositivos de la Figura 14.

Figura 14: Esquema de CB4CLEDy tabla de verdad de CBzCLED


5.8

Contadores binarios con CE y reset sincrnico, conectables en cascada.

CB2RE, CB4RE, CB8RE y CB16RE tienen la misma funcionalidad que los


dispositivos CBzCE descriptos en 5.5, salvo que aqu el reset es sincrnico. Solo si R = 0
y CE = 1 el contador incrementa su contenido con la llegada de un flanco activo de reloj.
Esto puede verificarse en la tabla de verdad de la figura 15. La conexin en cascada debe
realizarse del modo ya descrito anteriormente.

Figura 15: Tabla de verdad de CBzRE

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 15 de 19

5.9

Registros de datos.

Son registros de distintos tamaos que se utilizan para guardar datos en paralelo
exclusivamente. Se trata de un conjunto de slip-flops D con reset asincrnico o
sincrnico.y CE.
5.9.1

Registros de datos con CE y CLR.

FD4CE, FD8CE y FD16CE, son macros en las familias de inters que disponen de
entradas de CE y CLR, o sea, habilitacin de reloj y clear asincrnico. En los mismos,
CLR es prioritario frente CE y lleva la salida a cero. Si CLR est bajo, los cambios en el
contenido de los registros se producen en el flanco activo de reloj slo cuando CE est en
alto, produciendo la carga paralela de los datos presentes en la entrada.
5.9.2

Registros de datos con CE y R.

FD4RE, FD8RE y FD16RE son macros en las familias de inters que disponen de
CE y reset sincrnico. El R es prioritario frente al CE y lleva el contenido del registro a
cero cuando se presenta el flanco activo de reloj. Si R est bajo, y CE en alto, el flanco
activo del reloj carga en el registro el dato presente a la entrada. Si tanto R como CE estn
bajos no se producen cambios.
5.10 Registros de desplazamiento con entrada serie, salida paralela, CE y clear
asincrnico.
SR4CE, SR8CE y SR16CE son los distintos tamaos de estos dispositivos. El
clear asincrnico es la entrada ms prioritaria en todos ellos. Si CLR est bajo y CE alto,
con el flanco activo del reloj se introduce el dato presente en la entrada serie en el bit
menos significativo del registro. Estos registros pueden disponerse en cascada si se
conecta el bit ms significativo de la primera etapa a la entrada serie de la etapa siguiente,
adems CLR, CE y C deben ir en paralelo para todas las etapas de la cascada. En la Figura
16 se muestra la funcionalidad y la relacin de prioridad entre las entradas.

Figura 16: Esquema de SR4CEy tabla de verdad para SRzCE

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 16 de 19

5.11 Registros de desplazamiento con entrada serie/paralelo, salida paralela, CE y


clear asincrnico.

Figura 17: Esquema de SR4CLE y tabla de verdad de SRzCLE.


SR4CLE, SR8CLE y SR16CLE son los tamaos disponibles para estos
dispositivos, que agregan a la funcionalidad descripta en los bloques anteriores la
posibilidad de realizar una carga en paralelo de datos. El clear asincrnico sigue siendo la
entrada ms prioritaria, y le sigue la entrada L de carga paralela que ingresa con la llegada
del flanco activo del reloj los datos presentes. Los dispositivos tambin pueden conectarse
en cascada para lograr registros de mayor capacidad. La funcionalidad y un esquema del
bloque se presentan en la Figura 17.
5.12 Registros de desplazamiento bidireccionales con entrada serie, salida paralela, CE
y clear asincrnico

Figura 16: Esquema de SR4CLEy tabla de verdad de SRzCLE

Figura 18: Esquema y tabla de verdad de SR4CLED


SR4CLED, SR8CLED y SR16CLED son los tamaos disponibles de estos
dispositivos. Tienen entrada y salida serie, pero agregan la posibilidad de un
desplazamiento serie bidireccional de los datos contenidos (dispone de dos entradas serie
SLI y SRI, asociadas con LEFT). La tabla de verdad que se presenta en la Figura 18,
muestra la funcionalidad y las relaciones de prioridad entre las entradas de los
dispositivos.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 17 de 19

5.13 Registros de desplazamiento con entrada serie, salida paralela, CE y reset


sincrnico.
SR4RE, SR8RE y SR16RE son los tamaos en los que estn disponibles estos
dispositivos. Su funcionalidad es similar a los bloques SRzCE descriptos en 5.10, con la
diferencia de que ahora el reset es sincrnico. Pueden conectarse en cascada para
conseguir registros de mayor tamao en forma anloga a los SrzCE.
5.14 Registros de desplazamiento con entrada serie/paralelo, salida paralela, CE y
reset sincrnico.
SR4RLE, SR8RLE y SR16RLE son los tamaos en los que estn disponibles estos
dispositivos. Su funcionalidad y las prioridades entre sus entradas son similares a las
descriptas para los bloques del tipo SRzCLE en la seccin 5.11, con la diferencia de que
ahora se dispone de reset sincrnico. Tambin pueden conectarse en cascada para
conseguir registros de mayor capacidad.
5.15 Registros de desplazamiento bidereccionales con entrada serie, salida paralela,
CE y reset sincrnico.
SR4RLED, SR8RLED y SR16RLED son los tamaos en los que estos
dispositivos. Su funcionalidad y las prioridades entre sus entradas son similares a las
descriptas para los bloques del tipo SRzCLED en la seccin 5.12, con la diferencia de que
ahora se dispone de reset sincrnico.
Nota: Si se desea utilizar un fasmetro para realizar el control de tiempos en los
diseos, deber construirse en el ambiente de trabajo ya que este tipo de dispositivos no
est disponible en las bibliotecas. Su definicin puede lograrse a partir de un registro de
desplazamiento, cargado con el valor inicial 001 (un uno en la fase cero, y cero en las
dems). Una vez definido, el dispositivo puede encapsularse en la biblioteca de trabajo del
proyecto y reutilizarse en otros diseos.
El control de tiempos, necesario en los trabajos de laboratorio, tambin puede
resolverse con contadores. Queda para el alumno elegir la opcin que prefiera.
5.16 Memorias RAM sincrnicas.
Estos dispositivos estn disponibles en varios tamaos en las familias de inters,
siendo la ms usual en los prcticos la memoria RAM16X4S. Se aconseja recorrer la
biblioteca para verificar las caractersticas de los diversos bloques pertenecientes a esta
categora.
Se trata de memorias de acceso aleatorio y escritura sincrnica. Por lo tanto
disponen de una entrada de WE (Write Enable). Cuando WE est en estado alto, los datos
en la entrada son escritos en la direccin especificada, cuando se presenta un flanco activo
de reloj.
Estas memorias se inicializan a cero en todas sus palabras cuando se energiza el
sistema, a no ser que se establezca lo contrario mediante la propiedad INIT. Si para el
trabajo de laboratorio se necesita que tengan ciertos valores especficos cuando el sistema
inicia su funcionamiento, se deber proceder como se detalla ms adelante en el punto
5.19.
En la figura 19 se muestra el esquema y la tabla de verdad para una RAM16X4S,
como ejemplo del funcionamiento de todas las memorias de esta categora.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 18 de 19

Figura 19: Esquema y tabla de verdad de la RAM16X4S


5.17 Memorias RAM de puerto doble.
Estos dispositivos estn disponibles en distintos
tamaos, de los cuales nicamente la memoria RAM16X1D,
de 1 bit de longitud de palabra es una primitiva. Las bibliotecas
ofrecen otros tamaos definidos como macros para las familias
de inters, y nuevamente se aconseja recorrer la biblioteca para
examinar los dispositivos existentes.
Estas memorias son memorias de acceso aleatorio,
write sincrnico y puerto doble, lo que significa que agregan la
capacidad de lectura y escritura simultnea en distintas
direcciones. Esta caracterstica las hace muy tiles y efectivas
para ciertas aplicaciones dnde es necesario realizar ambas
operaciones de la forma ms eficiente posible9.

Figura 20: RAM16X4D

Figura 21: Tabla de verdad para la RAM16X4D


Para implementar su funcionamiento con xito, los dispositivos cuentan con dos
puertos de acceso: direccin para lectura (DPRAz:DPRA0), y direccin para escritura
(Az:A0). La direccin de lectura selecciona los datos presentes en los pines de salida
(DPOz:DPO0), y la direccin de escritura controla el destino de una transaccin de
9

Recordar el problema de implementar una pila FIFO analizado en laboratorio.

Digiral II Bibliotecas Unificadas Xilinx R. Corti 2007 - Pgina 19 de 19

escritura vlida. La escritura se realiza cuando la entrada WE est en alto y se presenta un


flanco activo de clock (escritura sincrnica). Para la escritura slo se tiene en cuenta la
direccin presente en el puerto de escritura, la direccin del puerto de lectura no est
involucrada en la transaccin.
Respecto a la inicializacin de estas memorias, valen las consideraciones hechas
para las RAM sincrnicas. En la figura 21 se muestra la tabla de verdad para las
RAM16X4D, que son las utilizadas en la prctica de laboratorio de la asignatura.
5.18 Memorias ROM.
Estos dispositivos slo estn disponibles en los tamaos
de ROM16X1 y ROM32X1, como primitivas. Se trata de
memorias de slo lectura y es obligatorio asignarles un valor
inicial mediante la propiedad INIT, de la misma forma que se
ha comentado en los tipos de memoria anteriores. Si no se
asigna valor alguno, ocurre un error en el ambiente de diseo.
El funcionamiento de esta memoria es muy sencillo, ya que en
forma asincrnica presenta en los pines de salida el dato
almacenado en la direccin especificada. En la figura 22 se
muestra un esquema de la ROM16X1.
Figura 22: ROM16X1
Si para la realizacin de algn trabajo prctico se
necesita una ROM con un tamao de palabra mayor a un bit,
deber implementarse utilizando el ambiente de diseo. Para hacerlo se deber definir un
bloque de memoria personalizado interconectando primitivas de un bit. El nuevo
dispositivo definido se puede encapsular y almacenar en la biblioteca del proyecto
(biblioteca WORK), pudiendo ser reutilizado en otros diseos.
5.19 Definicin de la propiedad INIT en los bloques de memoria de biblioteca.
La propiedad INIT puede asignarse en las primitivas de biblioteca (memorias con
tamao de palabra de 1 bit). A dicha propiedad debe asignrsele un valor en hexadecimal.
Por ejemplo para una memoria de 16X4 sera:
INIT = (10A7)16
En la misma los dgitos hexadecimales se escriben en la primitiva desde el ms
significativo al menos, generando entonces una memoria 16X1 que contiene el bitstream:
0001 0000 1010 0111
Se debe recordar que si se utiliza una macro (las memorias RAM de longitud de
palabra de 4 bits son macros), primero se deber descomponer el bloque macro en sus
primitivas utilizando la herramienta de descomposicin jerrquica disponible en el editor
de esquemticos. Esta herramienta consiste en un botn con una flecha dirigida hacia
debajo asociada a la etiqueta Push. La descomposicin tambin se logra seleccionando la
macro y eligiendo Push into Symbol con el botn derecho del ratn. Estas acciones
abrirn una nueva hoja de esquemticos con el nombre de la macro, donde se mostrarn
los componentes y sus interconexiones. Luego haciendo doble clic sobre cada primitiva
se abrir una ventana de propiedades del objeto donde se agregar el valor deseado para la
propiedad INIT. Dicha propiedad puede hacerse visible para mayor claridad.

Vous aimerez peut-être aussi