Anda di halaman 1dari 9

Prác ca No 4 (CktosLógicos)

Tutorial ISE Xilinx Versión 14.7 y Programación de Compuertas Lógicas


Obje vos:

1. Aprende a usar la interfaz de Xilinx ISE para realización de lógica programable usando como entradas diagramas
esquemá cos y VHDL.
2. Aprende a simular circuitos lógicos a par r de una descripción textual de los es mulos.
3. Crear y u lizar componentes para mejorar la administración de proyectos.

Procedimiento:

En caso necesario Instale y ponga en marcha el programa ISE. El programa puede descargarlo del siguiente enlace
“h ps://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html”

Pesa cerca de 7G y es posible que requiera registrase. Aparece una ventana similar a la de la figura 1 (1era vez)

Figura 1

Para iniciar el laboratorio crearemos un nuevo proyecto basado en esquemá co.

Seleccione “File  New Project” o simplemente puye1 el botón “New Project…” para que aparezca el asistente que guía la
elaboración de un nuevo proyecto. Indique la ubicación del proyecto se sugiere“C:\Xilinx\ISEWork14.7” en la casilla
“Loca on”, en la casilla “Name” escriba el nombre del proyecto “Prac1LP” por ejemplo, luego escoja po esquemá co
“Schema c” para el “top level source type” figura 2(a).

1 Con el puntero ubicado sobre el icono especificado presione el botón izquierdo del ratón

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
Puye el botón “Next” y aparece la siguiente ventana del asistente complete la información que se solicita, El ejemplo en la
figura 2(b) presenta los datos para la SPARTAN 3E. La información de este cuadro depende de su tarjeta consulte con la
data de fabricación, se ene al alcance la NEXYS 2 basada en el FPGA Spartan 3E – 500 FG320 y la ATLYS que se basa en el
FPGA Spartan 6, esta información es relevante a la hora de probar su diseño en el hardwar. Puye “Next” y aparece un
cuadro resumen de sus elecciones revíselo y puye en “Finish”, aparece la interfaz del ISE con el nombre de proyecto
asignado y con el po de elemento seleccionado.

El proyecto está en blanco, así que hay que añadirle un nuevo archivo fuente.

(a) (b)
Figura 2

Especifique un nuevo archivo fuente (New source file), haga clic derecho en el nombre del archivo que aparece en el
marco de “Design” vista de “Implementa on” y luego puye en la opción “New Source” y en la ventana que emerge
escriba el nombre del archivo fuente Prac1LPTop seleccione “Schema c” para el po de archivo. Asegúrese de que la
casilla “add to project” esté marcada y haga clic en “Next”. Vea la secuencia en la figura 3

Figura 3

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
En la ventana que aparece acepte la propuesta (clic en finish) para que aparezca la interfaz de captura del esquemá co.
La ventana de desarrollo debe verse como la figura 4:

Figura 4

En el panel de la izquierda se muestran las secciones donde se concentra la mayor parte de la ac vidad de desarrollo de
proyectos:

1. Las pestañas que marcan las fichas que con enen los comandos usados:

Al inicio queda en la ficha de “Op ons” donde se pueden ac var o desac var las diferentes opciones de selección
de los elementos en el marco de trabajo en forma conjunta o en forma individual.
También se dispone de la ficha de Design donde se seleccionan los procesos que están disponibles para el archivo
seleccionado. Esta ficha es importante y será u lizada para la implementación del esquemá co y su programación
en el hardware disponible. Si se desplaza a la derecha con ayuda de los botones de navegación verá que aparece
la ficha de símbolos que es la que con ene los “elementos lógicos que se u liza en la realización del projecto.
2. En la ficha “Symbols”: se clasifican los diferentes simbolos lógicos que puede
programar en el FPGA. para capturar y ubicar un elemento en la hoja central del
esquemá co solo hay que seleccionar su categoría (en la sección superior) y
luego escoger el elemento en la sección de Símbolos.
Por ejemplo:
Para ubicar en la hoja una compuerta NOT:
a. seleccionar la categoría Logic (use los botones de navegación hasta
ubicar la categoría) y el símbolo inv (idem) esto engancha al cursor el
símbolo

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
b. ubicar el elemento en cualquier punto del de la hoja por medio de un clic en la ubicación deseada.
c. seleccionar otro elemento. Cuando culmine la colocación de los elementos oprima ESC o clic derecho lo
que lo ubica nuevamente en la primera ficha. La categoría “Logic” es una de las más usadas en este curso
revise los diferentes elementos presentes en esta categoría y presente en su reporte un compendio
descrip vo de estos. También presente una similar reseña de los elementos en la categoría “General”.
Una vez que todos los elementos estén ubicados en la hoja de la interfaz se puede realizar lo siguiente:
d. Puede corregir la ubicación o re-acomodar los elementos solo con seleccionarlo (clic sobre el disposi vo)
y arrástralo hasta su nueva posición y soltarlo allí.

e. Puede alambrar su circuito usando la opción “Add wire” conectando diferentes puntos del circuito
en un procedimiento bastante intui vo. Si elije la opción inicial y final (clic en el terminal de inicio y clic en
el terminal des no) ISE hace el trazado automá co. Si elije la opción manual debe hacer clic en el
terminal inicial y luego en cada punto donde desee hacer una inflexión del trazo, hasta que llegue al pin
de des no.
f. Puede incluir puertos de conexión para entrada de es mulos (importante) o para salida de señales y
asignarle el nombre que mejor describa su función. Los puertos son necesarios ya que es a través de ellos
que podemos alimentar los circuitos con señales lógicas o verificar su comportamiento en los LEDs. Los
puertos señalan las terminales y como serán asignadas al FPGA. La inclusión de puertos se logra con el
botón (Add I/O Marker), debe tener al menos un elemento dispuesto en la hoja para poder añadir
puertos ya que estos no pueden ser ubicados en la hoja al menos que estén conectados a un terminal de
entrada o a un terminal de salida.
g. Asigne nombre significa vos a los puertos haciendo clic secundario en el puerto escogido y luego puye la
opción “Rename Port” en el menú “pop-up”. Un nombre significa vo tendría dos componentes: la
iden ficación simbólica de la señal y el número de la terminal del FPGA al cual será asignado. Algunas
asignaciones son fijas dependiendo del componente que controle la terminal por ejemplo hay terminales
del FPGA que están conectados a LEDs por lo que son ideales para asignar salidas, por otro lado hay
terminales que están conectados a interruptores lógicos por lo que deben ser asignados como entradas.
La información que concierne está en la data de la tarjeta u lizada.
Presente en el informe el detalle de los elementos de entrada y salida con que cuenta la tarjeta
u lizada y a que terminales del FPGA están conectados.
Pruebe los teoremas básicos de la lógica programable

ID VHDL Algebraico VHDL Algebraico


P1 1 or A = 1 1+A=A 0 and A = 0 0.A=0
P2 A and A = A A.A=A A or A = A A+A=A
P3 (A and B) or (A and B’) = A A. B + A. B’ = A (A or B) and (A or B’) = A (A + B)(A + B’) = A
P4 A or (not(A) and B) = A or B A + A’ . B = A + B A and (not(A) + B) = A and B A(A’ + B) = A . B
P5 A and (B or C ) = (A and B) or (A and C) A(B + C) = A.B + A.C A or (B and C) = (A or B) and (A or C) A + B.C = (A+B)(A+C)

(A and B)or(not(A) and C)or(B and C) = A.B + A’.C + B.C = (A or B)(not(A) or C)(B or C) = (A + B)(A’ + C)(B + C) =
P6
A and B or not(A) and C A.B + A’.C (A or B)(not(A) or C) (A + B)(A’ + C)
La figura 5 presenta la construcción necesaria para probar P4 (P4 debe ser igual a P4demo). Presente en
su reporte los diagramas que se requieren para probar el resto de los teoremas presentados en la tabla
conjuntamente con la demostración de los mismos.

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)

Figura 5
Simulación:
El ISE 14.7 permite realizar la simulación de nuestra construcción antes de programarlo en el hardware. Esta
caracterís ca permite probar y depurar nuestro trabajo. Para realizar la simulación debemos seguir el siguiente
procedimiento
3. En el marco de Design cambiamos a la vista “Simula on”.
4. Clic derecho sobre el nombre del proyecto y seleccionamos “Add new
source”
5. En la ventana del asistente seleccionamos el po de archivo “VHDL Test Bench” asignamos un nombre al archivo
de simulación (Sug.: P4Test)2 y nos asguramos que la casilla “Add to project” esté cotejada. Puye “Next”.
6. Asociamos el archivo de simulación al módulo correcto. Puye “Next” y luego “Finish”.
Aparece en el marco central el archivo de trabajo donde asignaremos los es mulos a las entradas A y B, este archivo
está en lenguaje VHDL y hay que modificarlo tal como se indica a con nuación.
7. Declare una constante de empo para la sincronización de las entradas usando el siguiente enunciado:
constant Tp : me := 100ns;3
Este debe ubicarse en el renglón inmediatamente después del úl mo SIGNAL al inicio de la “ARCHITECTURE” del
módulo de simulación antes del “BEGIN”.

SIGNAL A : STD_LOGIC;
SIGNAL B : STD_LOGIC;
SIGNAL P4 : STD_LOGIC;
SIGNAL P4demo : STD_LOGIC;
constant Tp : time := 100ns;
BEGIN

8. Modifique el proceso llamado “tb :process” insertando en el mismo las asignaciones dinámicas de las entradas
según se indica a con nuación:
tb : PROCESS
BEGIN
A <= `0`;
B <= `0;
wait for Tp;
A <= `0`;
B <= `1`;
wait for Tp;
A <= `1`;
B <= `0`;
wait for Tp;
A <= `1`;
B <= `1`;
wait for Tp
–- WAIT; -- al comentar este WAIT el proceso se repite
END PROCESS;

2 Es posible asignar varios archivos de simulación al mismo proyecto uno por cada módulo por ejemplo este archivo de simulación es para la propiedad P4 pero
también podemos asignar otro archivo de simulación para probar otra propiedad o teorema.

3 Se declara una constante nombrada “Tp” la cual es de la clase “ me” y que por norma ene el valor de 100ns.

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
El proceso “tb” creado asigna las entradas según todas las combinaciones diferentes que estas puedan tener
9. Resalte el nuevo archivo de simulación y ac ve el proceso “Behavioral Check Sintax” corrija los errores de
haberlos y luego ac ve el proceso “Simulate Behavioral Model”. Si todo sale ok se ac va el módulo ISIM que
entonces abre una ventana con el resultado de la simulación tal como se presenta en la figura 6 puede ser
necesario ajustar el ZOOM para poder apreciar el resultado.

Figura 6
Note que las señales P4 y P4demo salen idén cas lo que verifica la propiedad.

Asignando terminales de la FPGA a los puertos de entrada y salida.


Para cerrar el ciclo de desarrollo lo siguiente es llevar la construcción al FPGA que corresponda a nuestra tarjeta de
trabajo es decir NEXYS, BASYS o ATLYS para eso antes es necesario configurar el hardware realizando dos
procedimientos, Configurar el FPGA y Asignar los puertos de entrada y de salida a los terminales apropiados.

10. En la ficha “Design” (De no poder ver la ficha, use los botones de navegación) volvemos a la vista
“Implementa on” y se aprecian dos marcos, uno con ene la estructura jerárquica de su construcción
(usualmente la de arriba) y la otra que con ene los procesos. Los procesos dependen de que miembro de la
estructura jerárquica haya seleccionado, si seleccionó el miembro en el tope (xc3s500e o similar...) aparece solo
un proceso disponible. Si selecciono el miembro Prac1LPtop entonces aparecen más procesos. Cabe mencionar
los siguientes:
a. Design U li es con ene varios subprocesos el que usaremos será “Create Schema c Symbol” el cual
toma el diseño y lo convierte en un elemento o componente que puede ser seleccionado en la ficha de
Symbols en la categoría que posee el nombre del archivo creado. Este proceso será examinado más
adelante.

b. User constraints con ene varios subprocesos, el subproceso que nos atañe es “Floorplan Area/IO/Logic-
(Plan Ahead) con el cual asignaremos a cada puerto de entrada y salida un terminal del FPGA. Ac ve este
proceso con un doble clic sobre el mismo. Acepte la sugerencia sobre la creación del archivo *.UCF (User
Constraints File) Descarte cualquier sugerencia de actualización. Después de un rato debe ac varse el
programa Plan Ahead el cual se encarga de asignar terminales de FPGA a nuestros puertos. En caso de
que el módulo Plan Ahead no funcione en su computadora no hay problema ya que su única función aquí
es crear un archivo de texto con extensión *.ucf que define que señal de entrada o de salida (NET) va que
que terminal del FPGA según la numeración dada por el fabricante (LOC) este archivo ene el formato que

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
se presenta a con nuación:

# Salidas P4 y P4demo a los LEDs 0 y 1


NET "P4" LOC = "J14";
NET "P4demo" LOC = "J15";

# Entradas A y B conectadas a los slide switch 0 y 1


NET "A" LOC = "G18";
NET "B" LOC = "H18";

La clave “NET” indica el nombre de la señal de acuerdo a su construcción , la clave LOC señala el terminal
según su “FPGA” y la “#” señala un comentario con fines de referencia que va hasta el fin de línea. En el
archivo las salidas P4 y P4demo van conectados a terminales ocupados por LED en la tarjeta y las entradas
A y B van a terminales que están conectados a interruptores de dos posiciones. Para crear este archivo
ucf solo basta un clic derecho con el puntero en el archivo principal y luego seleccionar “Implementa on
constraint file”.
11. Realice la asignación de terminales del FPGA de tal forma que las salidas puedan ser apreciadas en LEDs y las
entradas controladas por los switches lógicos disponibles en su tarjeta. Haga esto a través del Plan Ahead o
modificando el archivo Prac1LPTop.ucf creado y añadido al proyecto por Ud. Cuando termine guarde su archivo
a. El archivo *.ucf almacenado en el directorio de trabajo y agregado al proyecto se muestra en la estructura
jerárquica como parte del archivo top tal como la figura 7 lo ilustra. Cabe resaltar que el archivo *.ucf es
un archivo de texto que puede generarse directamente usando el bloque de notas u otro archivo que
maneje solo texto.
b. Habiendo llegado a este punto podemos ac var directamente el proceso “Generate Programming File”
(haga doble clic en este proceso) el cual genera el archivo que programa nuestro circuito en la FPGA. La
ac vación de este proceso dispara el proceso anterior en la ficha de Design “Implement Design” es un
paso intermedio antes de la generación del archivo de programación. El archivo de programación es el
resultado final del proceso de diseño este posee el mismo nombre del archivo principal pero con la
extensión *.bit en este caso será Pra3ISEtop.bit

Figura 7

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)
c. “Configure Target Device” (Nexys 2) es el proceso usado para transferir el archivo *.bit al disposi vo este
proceso requiere que la tarjeta esté conectada antes de ac varlo. Cuando se ac va este proceso se
dispara el programa “Impact” que es el que realiza el trabajo de programar la FPGA. La conexión de la
tarjeta a través del cable USB es trivial y no requiere más explicación.
Al ac var este proceso aparece la ventana de advertencia que se muestra en la figura 8, responda OK

Figura 8
Se abre la interfaz del Impact donde debe aparecer la cadena de disposi vos programables que con ene
la tarjeta, de aparecer una pantalla en blanco ejecute un doble clic en el comando “Boundary Scan” y
luego puye el botón “Ini alize Chain”

Aparece la cadena . Que incluye a la FPG y a la EPROM y un cuadro que le indica una acción similar al de la
figura 9

Figura 9
Usualmente la tarjeta con ene dos o más disposi vos programables: la FPGA y el PROM. El FPGA
almacena la programación temporal mientras que la PROM almacena el programa de forma más
permanente. Seleccione “YES” en la ventana emergente, luego emerge el diálogo para la apertura del
archivo de configuración en nuestro caso sería el Pra3ISEtop.bit, navegue hasta encontrar su archivo
luego selecciónelo y puye el botón “Open” en el cuadro de diálogo. Luego seleccione No a la pe ción de
añadir un manejador PROM. Los otros disposi vos simplemente seleccione la opción “Bypass” y
finalmente “OK”. En la sección de operaciones disponible ac ve “Program Device” y listo el programa es
transferido al disposi vo en forma exitosa similar a la figura 10. Ya puede mover sus interruptores y
observar los resultados en los LEDs.

Ing. M. Logreira V.A.


Prác ca No 4 (CktosLógicos)

Varíe los tres interruptores según las ocho combinaciones posibles y anote en tablas separadas los
resultados en cada una de las salidas. Presente esta demostración al instructor: (Si el LED brilla la salida
es uno lógico)
___________________________________ (Demostración del Tutorial)

3a.En caso de que su sistema no responda al procedimiento anterior debe usar el programa Adept IV para programar
su esquemá co en la NEXYS 2. El instalable está disponible en la página siguiente: www.digilen nc.com no debe
tomar mucho su descarga con todo y manuales. El uso de este programa es bastante intui vo y se le delega a
usted su uso.

Esto culmina el tutorial, no cubre todos los comandos del programa pero lo encamina para que usted siga
experimentando con el Project Navigator. Ahora probaremos los siguientes teoremas del algebra booleana a través de
una implementación sica de la expresión usando los elementos lógicos ya estudiados.

a. De Morgan AND
A .B .C=A+B+C
El teorema original solo incluye dos variables pero se ex ende a un número plural de variables en esta
prác ca se ex ende a tres. Igual implemente ambos lados y compruebe su igualdad.
b. De Morgan OR
A +B+C=A .B .C
Igualmente implemente ambos lados y compruebe su igualdad:

_______________________________.(De Morgan)
c. Iden dades ú les (a)
A + A . B=A
A .B+ A .B .C= A . B
______________________________(Iden dades ú les)
Asignación:
1. Compruebe las siguientes expresiones con ayuda del ISE tal como hizo con los teoremas anteriores

a. A .(B+C .D )= A+B .(C +D )


b. A .C +A .B .C=A .(C+B )
2. Demuestre las igualdades de la parte a y b manualmente.

Como reporte presente esta guía con todas las firmas y una adenda con las asignaciones
realizadas, el orden de entrega influirá en la calificación

Ing. M. Logreira V.A.

Anda mungkin juga menyukai