Académique Documents
Professionnel Documents
Culture Documents
Rosa Corti
2007
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
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.
Categoras funcionales
4
4.1
Dispositivos combinacionales.
Compuertas.
4.2
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
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.
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
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.
5
5.1
Dispositivos secuenciales.
Implementacin del 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
Flip-Flops D.
5.2.1
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
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 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.
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:
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
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
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.