Вы находитесь на странице: 1из 29

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia.

Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Introduccin al Diseo, Simulacin e Implementacin de Sistemas Digitales Mediante el Software ISE Xilinx 10.1

1. Introduccin

Un sistema digital es la combinacin de dispositivos diseados para manipular informacin lgica o cantidades fsicas que se representan en forma digital, es decir, las cantidades slo pueden tener valores discretos. Algunos de los sistemas digitales ms comunes son las computadoras y las calculadoras digitales, equipos de audio y video digital, etc. El diseo de sistemas digitales es un rea importante en la ingeniera y de frecuente uso en las telecomunicaciones, en la automatizacin y control de sistemas, hardware computacional, etc. Las aplicaciones de los sistemas digitales se encuentran desde pequeos reproductores de audio hasta en complejos trasbordadores espaciales. Hoy en da existen diversas herramientas que facilitan el diseo, el anlisis y la implementacin de sistemas digitales una de ellas es el software ISE Xilinx, en esta prctica guiada se ilustrar la manera de abordar el diseo de sistemas digitales, su simulacin y su implementacin en un dispositivo programable.

2. Objetivos

Presentar el software ISE Xilinx 10.1 como herramienta de diseo, simulacin e implementacin de sistemas digitales. Introducir al manejo bsico del software mediante ejemplos ilustrativos. Crear sistemas digitales haciendo uso de la interfaz grafica y del lenguaje VHDL. Realizar simulaciones de sistemas digitales mediante el uso de ISE Simulator. Presentar las tarjetas FPGA (Field Programmable Gate Array) como dispositivo digital programable. Implementar en la FPGA algunos sistemas digitales.

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

3. Descarga e instalacin del software ISE Xilinx 10.1

El software ISE Xilinx 10.1 puede ser descargado gratuitamente siguiendo los siguientes pasos. 1. Ir al enlace: http://www.xilinx.com/support/download/index.htm 2. Dar clic en sign in. 3. Se debe crear una cuenta de usuario, para ello se da clic en el icono Create account. Luego se deben rellenar los campos; la contrasea debe ser de 7 caracteres mnimo y debe incluir por lo menos un nmero. 4. Se enva al correo electrnico un email para la activacin de la cuenta. 5. Se ingresa al siguiente enlace http://www.xilinx.com/support/download/index.htm 6. Seleccionar la versin que se desea descargar, para nuestro caso corresponde a la versin 10.1. 7. Damos clic en All platforms debajo del ttulo ISE Foundation Webpack. 8. Para obtener la clave de activacin se ingresa al siguiente enlace: http://www.xilinx.com/support/download/index.htm, se selecciona la versin de la cual se desea obtener la clave de instalacin. 9. Se da clic en Obtain a v10.1 Registration ID 10. Se completan los datos requeridos. 11. Se seleccionan los productos a registrar. Para la instalacin se siguen los siguientes pasos. 1. 2. 3. 4. Se descomprimen la carpeta descargada. Se da clic en Setup. Se da clic en next. Se ingresa la clave de activacin. Y Se contina la instalacin mediante el asistente.

Nota 1: Cuando la instalacin alcanza el 99% pregunta s se desea descargar las actualizaciones, es importante aclarar que no es necesario y por lo tanto se puede cancelar. Nota 2: Se recomienda realizar la instalacin por defecto, es decir, sin modificar ninguna de las opciones que ofrece el asistente de instalacin ya que esto podr afectar el buen funcionamiento del software.

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

4. Manejo bsico de ISE Xilinx 10.1

ISE (Integrated Software Enviroment) es un software profesional para el diseo de circuitos y sistemas digitales, es complementario de las tarjetas FPGA desarrolladas por Xilinx y Digilent; Las tarjetas FPGA son dispositivos programables que permiten programar desde sistemas digitales tan simples como una compuerta lgica hasta sistemas complejos como una red neuronal o controlador digital (dependiendo de la capacidad de la FPGA). Las aplicaciones tanto industriales como acadmicas utilizando FPGA han ido incrementando en la ltima dcada, por ende es indispensable para cualquier estudiante de ingeniera en reas de electrnica, control y sistemas conocer sobre su programacin y adecuado manejo. 4.1. Iniciando ISE Xilinx 10.1 Para Iniciar el programa se debe seguir la siguiente ruta: Inicio > Todos los programas > Xilinx ISE Desing 10.1 > ISE > Project Navigator Nota 3: La ruta sugerida puede ser distinta en cada ordenador, dicha ruta depende de la forma de instalacin. La pantalla de inicio debe aparecer de la siguiente manera:

Figura 1

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

4.2. Crear un nuevo proyecto Un proyecto contiene los archivos creados de diseo, simulacin, sntesis y programacin; Un proyecto puede contener diferentes sistemas digitales, mltiples archivos de simulacin, etc. El buen manejo de los proyectos es indispensable para evitar problemas al momento de querer realizar una simulacin o programar una tarjeta FPGA. A continuacin se describen los pasos de cmo crear un proyecto nuevo. 1. Clic File > New Project. proyectos. Y aparece una nueva ventana con el asistente de creacin de

Figura 2

2. En el campo Project name se ingresa el nombre del proyecto. (En este caso practica_1) 3. En el campo Project location se selecciona el directorio donde se almacenar la carpeta del proyecto. 4. En el campo Top level source type seleccionar schematic, ste indica el tipo de archivo principal que contendr los dems subsistemas. Nota 4: Debe tener en cuenta que la direccin y el nombre del proyecto puede contenes caracteres alfabticos desde la A hasta la Z (no incluye la ), no diferencia entre maysculas y minsculas, puede contener caracteres numricos y el carcter _. 5. Clic en next. Luego de ello se abrir la ventana que nos permite configurar el programa segn el dispositivo programable (FPGA) a utilizar; El laboratorio de electrnica digital

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

cuenta con dos referencias de FPGA, la Nexys 2 y la Basys 2 creadas por Digilent Xilix, las informaciones sobre cada FPGA la puede encontrar en los siguientes enlaces http://www.digilentinc.com/Data/Products/NEXYS2/Nexys2_rm.pdf http://www.digilentinc.com/Data/Products/BASYS2/Basys2_rm.pdf En las siguientes dos imgenes se ilustra la manera de cmo se deben configurar el software para cada tipo de tarjeta, en primer lugar para Nexys 2 y luego para la Basys 2.

Figura 3. Configuracin del proyecto para trabajar con la FPGA Nexys 2.

Figura 4. Configuracin del proyecto para trabajar con la FPGA Basys 2.

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

6. Clic en next. Ahora aparece el asistente para crear una nueva fuente (source), ste asistente permite crear diferentes tipos de archivos para agregar al proyecto desde un inicio dando clic en new source; ms adelante se explicarn los tipos de archivos que van a ser utilizados en el trascurso del laboratorio. En el momento no se crear ningn archivo.

Figura 5

7. Dando clic en next se accede al asistente add source, sta venta permite agregar archivos ya existentes al proyecto que estamos creando, es muy til cuando se trabaja en diseo similares y evita realizar varias veces el mismo archivo; la nica restriccin que se tiene es que este archivo debe estar ubicado dentro de la carpeta del proyecto para evitar problemas de compilacin.

Figura 6

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

8. Por ltimo se da clic en next; se abre una nueva ventana donde se presenta un resumen de la configuracin seleccionada para el nuevo proyecto. Damos clic en finish y se crear el proyecto. 4.3. Crear un sistema digital a partir de la captura de esquemas. Teniendo en cuenta de que ya se ha creado un proyecto llamado practica_1 se va a ilustrar la forma de crear un sistema digital simple utilizando smbolos de compuertas lgicas digitales. Se debe crear un nuevo archivo (o source) tipo esquemtico, para ello se tienen diferentes opciones si se est sobre la siguiente pantalla.

Figura 7.

Al lado izquierdo aparecen dos ventanas llamadas sources y processes; en la ventana sources nos aparece el nombre del proyecto y debajo de l la sealizacin de la tarjeta FPGA para la que se ha configurado el proyecto. A continuacin se expone una de las maneras de crear una nueva fuente tipo esquemtico. 1. Inicialmente se seala en la ventana sources la configuracin para la FPGA y se da clic derecho. 2. Luego damos clic en New Source 3. Seleccionamos schematic y en el campo file name se escribe el nombre del archivo; en este caso se llamar ejemplo_1. 4. Finalizamos con clic en next; Y en la siguiente ventana clic en finish

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 8.

Ahora en la ventana sources aparece un nuevo archivo que corresponde al archivo creado, adems luego de terminar la creacin del archivo el programa lo abre automticamente; La vista del software se puede ver en la Figura 9.

Figura 9.

Es importante mencionar que las ventanas sources y processes se pueden acomodar a su gusto en cualquier parte del rea de trabajo, no necesariamente deben de coincidir con las ilustradas en ste tutorial.

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

4.3.1.

Smbolos de compuertas lgicas

En la ventana sources se encuentran diferentes pestaas ubicadas en la parte inferior de la ventana llamadas sources, files, snapshots, libraries y symbols; Sin embargo las ms utilizadas sern sources que muestra los archivos creados hasta el momento y su orden jerrquico y symbols que nos permite seleccionar las compuertas con las que deseamos realizar nuestro diseo; en estas libreras de smbolos solo se encuentra los ms comunes, si se necesita de otro elemento no contenido all se debe de crear dicho elemento (ms adelante se introducir a la manera de crear smbolos).

Figura 10.

Los smbolos estn organizados en diferentes categoras, las categoras ms usadas a lo largo del desarrollo sern: Arithmetic, Comparator, Counter, Decoder, Flip-Flop, General, Logic, Mux y shifter register. Ahora se mostrar los smbolos principales dentro de cada categora. En la categora Arithmetic se puede encontrar operaciones aritmticas como suma, resta y multiplicacin entre nmeros de 4, 8 y 16 bits. En la categora Comparator se encuentran comparadores de magnitud y de igualdad, estos comparadores se pueden usar para nmeros de 2, 4, 8 y 16 bits. En la categora counter se encuentra contadores binarios unidireccionales y bidireccionales y se pueden encontrar desde 2 bits hasta 16 bits. En la categora Decoder se pueden encontrar decodificadores binarios. En la categora Flip-Flop se encuentran flip- flops tipo D, tipo T, tipo JK. En la categora general se encuentran diferentes smbolos entre los ms tiles se encuentran gnd, constant, vcc. En la categora logic se pueden encontrar las compuertas lgicas ms utilizadas como: and, nand, not, or, nor, xor y xnor. Estas compuertas se encuentran con y sin entradas. En la categora Mux se encuentran diferentes tipos de multiplexores. En la categora shift register se encuentran registros de desplazamientos. 9

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Nota 5: Algunos trminos pueden sonar algo desconocidos, sin embargo a medida que vaya avanzando el curso se irn introduciendo y explicando los elementos en el momento oportuno. 4.3.2. Insercin y conexin de smbolos

Ahora se va a realizar un circuito digital simple utilizando las compuertas lgicas ms comunes, para realizar el circuito es necesario tener claro el proceso de insercin y conexin de los diferentes smbolos. El circuito digital a realizar debe representar la siguiente ecuacin Booleana: = + ( + ) Donde A, B, C, D son entradas digitales, F es una salida digital; la suma se representa por una compuerta or y la multiplicacin por una compuerta and. Para implementar dicha ecuacin es necesario utilizar dos compuertas or de dos entradas y una compuerta and de dos entradas; es importante aclarar que las entradas de las compuertas no deben estar negadas, las compuertas con entradas negadas se reconocen por tener en las entradas un crculo. Ahora para insertar los smbolos se va a la pestaa symbols de la ventana sources, se selecciona la categora logic y se procede a seleccionar la compuerta necesaria, en este caso se selecciona la compuerta or2, luego de seleccionar la compuerta se dirige el puntero del mouse hacia la ventana del esquemtico y se posiciona el objeto en el lugar deseado dando clic; luego de posicionar las dos compuertas or2 se procede a insertar la compuerta and2 de igual manera. En este momento el circuito digital debe lucir como lo ilustra la Figura 11.

Figura 11.

Para unir los smbolos se utiliza la herramienta llamada add wire ubicada en la barra de herramientas y se puede identificar por el siguiente smbolo . Luego de dar clic sobre el smbolo el puntero del mouse debe de cambiar, ahora se conecta la salida de cada compuerta or con las entradas de la compuerta and. El circuito debe lucir como lo ilustra la Figura 12. 10

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 12.

Ahora se debe asociar las entradas A, B, C y D con las entradas de las compuertas, para ello se hace uso de la herramienta add I/O Marker identificado con el siguiente smbolo , en la ventana processes se puede seleccionar si la etiqueta ser puesta a una seal de entrada, de salida, si es bidireccional o si el software lo determina automticamente. Se posiciona el puntero mouse sobre cada entrada o salida y se da clic. En la Figura 13 se ilustra la forma en que debera lucir el circuito en este momento.

Figura 13.

Utilizando la herramienta select identificado con el siguiente smbolo se da doble clic sobre cada etiqueta agregada y se modifica el nombre de cada entrada o cada salida. Recuerde que las entradas al circuito digital son A, B, C y D y la salida F. El circuito finalmente debe lucir como se muestra en la Figura 14.

11

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 14.

Cuando se tienen circuitos complejos se pueden cometer errores, para encontrarlos ISE Xilinx 10.1 dispone de una herramienta llamada Check Schematic, sta herramienta se encuentra en el men tolos. Luego de dar clic en Check Schematic en la parte inferior del programa se pude observar el resultado, en este caso el resultado notifica que no se presenta ningn error o advertencia.

Figura 15.

Nota 6: No olvide guardar sus progresos. 4.3.3. Crear un BUS de datos

Un bus de datos es una lnea por la que viajan mltiples bits en serie, el uso de bus de datos es importante dentro los sistemas digitales para manejar la comunicacin y el trasporte de seales desde y hacia otros sistemas. En este caso se va ilustrar la manera de crear un bus de datos de cuatro bits.

12

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Para dar comienzo a la creacin de un bus de datos primero se crea un nuevo esquemtico y en ste caso lo llamaremos ejemplo_2, luego con la herramienta add wire se realiza una lnea sobre el esquemtico, se le agrega una etiqueta y a continuacin se da doble clic sobre ella, en el campo name colocamos A(3:0), esto indica que se est creando una seal de entrada de 4 bits, es decir, A(0), A(1), A(2) y A(3), donde el bit ms significativo corresponde A(3) y el menos significativo a A(0). La Figura 16 ilustra el bus de datos en el circuito esquemtico.

Figura 16

La creacin de un Bus de datos es solo una de las tareas que se deben de tener en cuenta a la hora de realizar un circuito digital, su manejo tambin es indispensable; a continuacin se presentar de manera breve el manejo de los buses de datos con un ejemplo ilustrativo. Partiendo del esquema con el bus de datos llamado A(3:0) se crea otro bus de datos de entrada llamado B(3:0), luego se inserta el smbolo add4 cuya categora es Arithmetic.

Figura 17

Ahora se debe conectar los dos buses de datos de entrada al sumador de 4 bits, dicha actividad se realizar de dos maneras diferentes. Para conectar el bus A(3:0) extenderemos las lneas de entrada del sumador utilizando la herramienta add wire, luego de ello buscamos en la barra de herramientas el icono correspondiente a la herramienta Add Net Name identificado con el siguiente smbolo , en la ventana processes en el campo name se coloca el nombre de la seal que se desea desacoplar del bus de datos, en este caso A(0), ahora se posiciona el puntero del mouse sobre la lnea de entrada del sumador marcada con A0 y se da clic; se realiza lo mismo para separar del bus las 13

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

seales A(1), A(2) y A(3). Luego de completar todas las conexiones del bus de entrada A(3:0) al sumador de 4 bits el circuito debe lucir como se muestra en la Figura 18.

Figura 18.

Para realizar la conexin del Bus de datos B(3:0) se har uso de la herramienta Add bus tap identificada con el siguiente smbolo , inicialmente con la herramienta add wire se extiende de manera vertical la lnea del bus de entrada, luego se selecciona la herramienta Add bus tap y sobre la lnea vertical anteriormente creada se colocan 4 taps, cada salida del tap se une con la entradas del sumador de 4 bits, por ltimo nos posicionamos sobre cada conexin entre tap y el sumador se hace doble clic, en el campo name se coloca el nombre de la seal correspondiente, es decir, si la entrada al sumador est marcada como B0 el nombre de la conexin deber ser B(0).

Figura 19.

4.4. Crear sistemas digitales usando lenguaje VHDL No todos los sistemas digitales que deseemos implementar pueden ser diseados utilizando la captura de esquemas ya que no todos los smbolos necesarios se encuentran en la libreras del software. ISE Xilinx 10.1 permite tambin el diseo de sistemas digitales utilizando lenguaje VHDL cuyas siglas provienen de VHSIC (Very High Speed Integrated Circuit) y HDL (Hardware Description Language); VHDL es un lenguaje definido por la IEEE para la descripcin de circuitos digitales. A continuacin se introducir a la creacin de circuitos VHDL de una manera sencilla y precisa.

14

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

1. Se crea una nueva fuente en la pestaa sources, la nueva fuente debe ser de tipo VHDL Module, en el campo name seleccionamos el nombre del archivo para este caso lo llamaremos ejemplo_3. Clic en next.

Figura 20.

2. La siguiente ventana nos presenta la posibilidad de definir las seales de entrada y de salida, es importante tener definido el nmero y tipo de seales de entrada y de salida que sern necesarias en nuestro diseo. Como ejemplo programaremos en cdigo VDHL lo realizado en la captura de esquemas, por lo tanto en la nueva ventana se debe ingresar las entradas A, B, C y D y la salida F.

Figura 21.

15

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

3. Clic en next y luego en finish. Ahora se tiene abierto un nuevo archivo llamado ejemplo_3.vhd, dicho archivo est dividido en diferentes partes que se explican a continuacin. 4.4.1. Libreras

Antes de empezar a describir el sistema mediante el lenguaje VHDL se deben introducir las libreras, las libreras son asociaciones de paquetes que contienen definiciones de datos, componentes, etc. la sintaxis para el ingreso de libreras es la siguiente: library < Nombre de la librera > use <Nombre de la librera>.<Nombre del paquete>.ALL; Algunas libreras y paquetes se presentan en la Tabla 1.
Tabla 1. Libreras y paquetes usadas en el lenguaje VHDL.

Librera Std Std Work IEEE IEEE IEEE IEEE IEEE

Paquete Standard Textio Std_logic_1164 Std_logic_arith Std_logic_signed Std_logic_unsigned Std_logic_textio

Descripcin Tipos bsicos de VHDL: bit, bit_vector, boolean Tipos de dato como line y text Librera por defecto Tipos std_logic y std_logic_vector Tipos signed y unsigned Operaciones aritmticas con signo y de comparacin Operaciones aritmticas sin signo y de comparacin Tipo de datos y procedimientos de lectura y escritura

Cuando se crea un archivo VHD en ISE Xilinx 10.1 el sistema agrega automticamente algunas libreras por defecto.

4.4.2.

Entidad

En la entidad se declaran las entradas y salidas del modulo, la sintaxis del cdigo se ilustra a continuacin. entity <Nombre de la entidad> is port ( Nombre de la seal : modo tipo de seal; Nombre de la seal : modo tipo de seal; ); end <Nombre de la entidad>;

16

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Para la declaracin de puertos es importante tener claro que puerto es cualquier seal de entrada o salida, cada puerto debe estar definido por nombre o identificador, modo y tipo de dato. Los identificadores son los nombres vlidos para nombrar las variables, constantes, seales, proyectos, procesos, etc. El nombre del identificador puede contener cualquier letra de la A a la Z, nmeros de 0 al 9 y el guin bajo _; debe comenzar por carcter alfabtico, no puede terminar con subrayado, ni puede terminar con dos subrayados seguidos. Dentro del lenguaje VHDL existen cuatro tipos modos los cuales se describen a continuacin: IN: Este modo indica que la seal es de entrada. OUT: Este modo indica que la es de salida. INOUT: Este modo indica que la seal es bidireccional. BUFFER: Este modo indica que la seal adems de ser una seal de salida puede usarse como seal realimentada.

Los tipos de datos dentro del lenguaje VHDL son: Bit: Las seales solo toman el valor de 1 o 0 Boolean: Las seales solo toman el valor de true o false. Std_logic: Este tipo de seales puede tomar 9 valores diferentes: 1, 0, Z (para el tercer estado) y (para los estados opcionales). Integer: En este tipo las seales toman valores enteros los 1 y 0 se escriben sin comillas. Bit_vector: Este tipo de seal es una cadena de 1 y 0. Ejemplo 10010 Std_logic_vector: En este tipo los valores de las seales son una cadena de los nueve valores permisibles para el tipo std_logic. Character: Contiene todos los caracteres ISO de 8 bits, donde los primeros 128 son los caracteres ASCII.

ISE Xilinx por medio del asistente para la creacin de un sistema digital usando lenguaje VHDL realiza automticamente la definicin de los puertos, sin embargo se pueden realizar modificaciones, es decir, se pueden agregar o eliminar seales de entrada y/o salida.

4.4.3.

Arquitectura

La arquitectura describe la operacin del modulo, su funcionamiento o estructura interna, su funcionalidad est asociada a una entidad anteriormente descrita. En el curso de electrnica digital la programacin se realizar bsicamente utilizando ecuaciones Booleanas y en algunos casos se utilizarn sentencias como if, for, else, when, etc. Inicialmente se 17

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

comenzarn con ejemplos sencillos y simples, a medida que avance el curso se ir ilustrando conceptos ms profundos de programacin en VHDL. La sintaxis para la programacin de la arquitectura del circuito digital se muestra a continuacin: architecture < nombre_arquitectura> of <nombre_entidad> is Declaracin de seales internas Declaracin de tipos definidos por el usuario Declaracin de componentes en caso de instanciacin begin Cuerpo de la arquitectura Se define la funcionalidad del diseo con: Procesos end <nombre_arquitectura>; El principal objetivo de este tutorial es poder programar en lenguaje VHDL el sistema digital anteriormente diseado con la captura de esquemas, la programacin se ilustra en las siguientes lneas de cdigo.

La lnea de cdigo <= ( ( )), representa la ecuacin Booleana = + ( + ). 4.4.4. Revisin de la sintaxis

Luego de terminar la programacin en VHDL del sistema digital es importante revisar la sintaxis para verificar que no exista ningn error de programacin; los pasos para revisar la sintaxis se describen a continuacin. 1. En la pestaa sources seleccionamos el nombre correspondiente al archivo VHDL al que se desea revisar la sintaxis. 2. En la pestaa processes se da doble clic sobre el icono Check Syntax. Ver Figura 22. 3. Luego que termine el proceso de chequeo debe aparecer el siguiente smbolo en el icono de Check Syntax , de lo contrario debe revisar los errores y corregirlos.

4.5. Crear smbolos esquemticos En el diseo de sistemas digitales se presentan situaciones donde se requiera de encapsular en un smbolo algn diseo que se haya creado, ISE Xilinx permite crear smbolos esquemticos a partir de circuitos programados con la captura de esquemas o lenguaje VHDL; Est herramienta es de gran utilidad ya que permite a los usuarios crear sus propias libreras de smbolos, ahorrar espacio 18

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

en el rea de trabajo, trabajar de manera ordenada, etc. A continuacin se presentar la forma en que se crean smbolos y se introduce a su uso.

Figura 22.

En primer lugar volvemos al archivo ejemplo_1 y verificamos que este archivo est seleccionado como modulo principal, esto se realiza en la pestaa sources ,al lado del nombre del archivo se debe verificar que se encuentre el siguiente smbolo , si no se encuentra se da clic derecho sobre el nombre del archivo y se selecciona set as top Module. Para crear el smbolo seleccionamos el nombre del archivo en la ventana sources, luego nos dirigimos a la pestaa processes y desplegamos el men desing utilities, por ltimo se da doble clic sobre Create schematic symbol y se espera a que el software confirme la creacin del smbolo;

Figura 23.

19

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Para visualizar los smbolos creados se debe actualizar el programa pulsando varias veces la tecla F5, luego nos dirigimos hacia la pestaa symbols en la venta sources y se debe encontrar una nueva categora que tiene como nombre el directorio donde se tiene almacenado el proyecto, dando clic en dicha categora se pueden encontrar los smbolos e insrtalos en cualquier esquemtico. Ver Figura 24.

Figura 24.

Nota 6: Tambin posible crear smbolos esquemticos a partir de archivos VHDL siguiendo los mismos pasos. 4.6. Simulacin de sistema digitales Antes de crear el archivo que nos permitir realizar la simulacin de nuestro sistema digital es de vital importancia comprobar que el circuito est libre de errores ya que el resultado de la simulacin depende de ello. A continuacin se describen los pasos necesarios para realizar la simulacin de un sistema digital. 1. En la pestaa sources se crea una nueva fuente dando clic derecho en cualquier parte de la ventana y luego en new source. 2. En la ventana que nos aparece a continuacin seleccionamos Test Bench Waveform (Banco de pruebas). 3. En el campo name se coloca el nombre que se desea poner a la simulacin, en este caso simulacin_1.

Figura 25

20

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

4. Clic en next. Luego en la siguiente ventana nos presentan la posibilidad de seleccionar el sistema que se desea simular, se selecciona ejemplo_1. 5. Clic en next. Se abre una nueva ventana con el resumen de la creacin del archivo de simulacin. Clic en Finish. 6. Si el circuito no presenta ningn error se abre la siguiente ventana

En sta ventana de dialogo se tienen diferentes opciones para la simulacin, a continuacin se explicarn las diferentes opciones que se deben tener presentes al momento de realizar las simulaciones. Cuando el circuito que se desea simular es combinacional, es decir, solo contiene elementos como multiplexores, compuertas and, or, xor, etc, decodificadores, sumadores, codificadores y en general elementos que no depende de una seal de control se deben seleccionar en la opcin clock information y se habilita el tem combinatorial (or internal clock ). Las dems opciones se por defecto, tenga en cuenta que un tiempo de simulacin muy grande tomar demasiado tiempo en concretar el resultado. Cuando el sistema que se desea simular es secuencial, es decir, contiene flip-flops, registros de desplazamientos, contadores, etc. Se debe seleccionar en la opcin clock information el tem single clock y posteriormente seleccionar la entrada que corresponde al reloj, en la opcin clock timing

21

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

information se selecciona las caractersticas del reloj como tiempo en alto, tiempo en bajo, retardo, etc. Igualmente se recomienda dejar las dems opciones por defecto. Para ste caso es evidente que el circuito con el que se trabaja es combinacional, luego de configurar la ventana se da clic en finish. Se abre un nuevo archivo y nuestro software debe lucir como se muestra en la Figura 26.

Figura 26.

7. En esta ventana nos aparecen todas las seales de entrada y de salida; recordemos que las entradas de nuestro circuito son A, B, C y D y la salida es F. Las entradas y salidas son seales digitales o discretas, es decir, pueden tomar el valor de 1 o de 0 a lo largo del periodo de simulacin, un valor de 1 significa que la entrada esta actividad y un valor de 0 significan lo contrario; las entradas se pueden modificar a nuestro gusto o segn la necesidad.

Figura 27.

8. Luego de modificar las diferentes seales de entrada se procede a guardar el proyecto, luego de que el proyecto se haya guardado nos dirigimos a la pestaa sources de la ventana

22

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

sources, all se encuentra un men desplegable en dicho men seleccionamos Behavioral Simulation.

Figura 28

9. Ahora se seala el nombre de la simulacin creada, en este caso simulacion_1 10. En la pestaa processes de la ventana processes se despliega el men de la herramienta ISE simulator.

Figura 29.

11. Se da doble clic sobre simlate Behavoral Model. Y finalmente se abre otra pantalla con el resultado de la simulacin. Nota 7: Si su sistema operativo es Windows Vista o Windows 7 debe activar el cliente web para poder realizar las simulaciones. La activacin del cliente web se realiza siguiendo los pasos que se presentan a continuacin: inicio > panel de control > Herramientas Administrativas > Servicios. En cliente web damos clic derecho y seleccionamos iniciar. Recuerde luego de terminar las diferentes simulaciones terminar el servicio cliente web. Nota 8: Tambin se pueden realizar simulaciones de sistemas digitales creados usando lenguaje VHDL siguiendo los mismos pasos.

23

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

4.7. Crear restricciones de diseo Las restricciones del diseo deben ser creadas antes de que el sistema sea implementado en la tarjeta FPGA, las restricciones dependen bsicamente de la tarjeta FPGA con la que se trabaje. Existen diferentes mtodos para la creacin de restricciones fsicas y de tiempo, sin embargo solo se ilustrar la manera ms directa y sencilla. 1. En la pestaa sources desplegamos el men sources for y seleccionamos la opcin implementation. 2. Seleccionamos el archivo al que se desea crear las restricciones de diseo, ste debe estar seleccionado como modulo principal. 3. En la pestaa Processes desplegamos el men correspondiente a User Constraints. 4. Doble clic sobre Floorplan Area, el software verifica automticamente la sntesis del diseo y luego abre el Xilinx PACE.

Figura 30.

En Xilinx PACE se imponen las restricciones fsicas, para ello se va exponer los componentes fsicos de cada una de las FPGA con las que se trabajar en el laboratorio de electrnica digital. Las tarjetas FPGA Nexys 2 y Basys 2 cuentan bsicamente con 8 switchs, 4 pulsadores, 8 LEDs y 4 Display 7 segmentos.

24

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 31.

Para la programacin de los pines es necesario conocer la distribucin y su nombre en la respectiva FPGA, en las Figuras 32 y 33 se ilustran la distribucin de los pines y su nombramiento para tarjeta Nexys 2 y Basys 2 respectivamente.

Figura 32. Pines de entradas y salidas de la FPGA Nexys 2

25

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 33. Pines de entrada y salida para la FPGA Basys 2.

El circuito al que se le desea implementar las restricciones fsicas tiene 4 entradas y una salida, las entradas son digitales por lo tanto pueden ser asignadas a 4 de los 8 switchs que tiene la FPGA, la salida tambin es digital y puede ser asignada a un LED. En el software Xilinx PACE al frente de cada entrada o salida aparece un campo llamado loc all se ingresar el nombre del pin que se desea asignar. En las Figuras 29 y 30 se muestran la asignacin de pines para las FPGA Nexys 2 y Basys 2 respectivamente.

Figura 34. Asignacin de pines en la FPGA Nexys 2.

26

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 35. Asignacin de pines para la FPGA Basys 2.

Nota 8: La asignacin de pines debe hacerse de acuerdo a la configuracin del proyecto realizada al inicio, es decir, no se pueden asignar pines de la FPGA Nexys 2 a la FPGA Basys 2, esto conllevar a que se presenten diferentes errores y la asignacin de pines no se lleve a cabo. 5. Guardar el archivo de Xilinx PACE dando clic en el icono clic en guardar como. Luego cierre el Xilinx PACE 4.8. Implementacin de diseo en la FPGA A continuacin se describirn los pasos para realizar la implementacin en la FPGA, tenga en cuenta que antes de realizar la implementacin se debe realizar la asignacin de pines. Para llevar a cabo la implementacin es necesario otro software llamado Adept, puede ser descargado de: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,828&Prod=ADEPT2 La versin con la que se trabajar es: Adept System 2.6.1. Luego de culminar la instalacin del Adept, se puede continuar con la implementacin del circuito a FPGA. 1. En la pestaa processes dar doble clic sobre Generate programming File. 2. Cuando culmine la creacin del archivo de programacin se deben encontrar tres chulos 3. sobre la ventana processes. Se conecta la tarjeta FPGA mediante el cable USB a la computadora. Debe asegurase de que los drivers de la tarjeta se han correctamente instalados, de lo contrario no se reconocer la tarjeta FPGA. Se prende la tarjeta FPGA y verificamos que el programa inicial de testeo funcione correctamente. Se abre el software Adept. Si la tarjeta ha sido correctamente instalada el software reconocer el dispositivo automticamente. En la Figura 36 se muestra la pantalla del software cuando tiene conectado la FPGA Nexys2, en la Figura 37 se muestra para la FPGA Basys2. Las tarjetas FPGA siempre se van a programar en la memoria que contenga el nombre del dispositivo, si se programa la memoria PROM se borrara el programa de testeo inicial, para buscar el archivo de programacin se da clic en browse, luego se busca en la carpeta del proyecto; la extensin es .bit 27 ; tenga cuidado en no dar

4. 5.

6.

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

Figura 36.

Figura 37.

28

Laboratorio de Electrnica Digital, Facultad de Minas, Universidad Nacional de Colombia. Introduccin al diseo, simulacin e implantacin de sistemas digitales mediante el software ISE Xilinx 10.1

7. Por ltimo se da clic en program. Inmediatamente despus de culminar la programacin el programa se ejecuta en la tarjeta FPGA. Tenga en cuenta que al apagar la tarjeta el programa se borrar. Algunas recomendaciones para la programacin de la tarjeta FPGA son: Toda manipulacin de la tarjeta FPGA debe realizarse con una manilla antiesttica para evitar descargas en el circuito de la tarjeta. Evite tocar los componentes electrnicos de la tarjeta FPGA. No coloque la tarjeta FPGA sobre mesas o soportes metlicos. Antes de iniciar su trabajo con la tarjeta verifique que sus entradas y salidas se encuentran en buen estado, esta tarea se realiza con ayuda del programa de testo que se inicia cuando enciende la tarjeta.

5. Referencias Barragan, D. (s.f.). VHDL, su organizacin y arquitectura. Recuperado el 10 de Enero de 2011, de MATPIC: http://www.matpic.com/esp/descargas/1_VHDL_Su%20organizacion%20y%20aquitectura..zip Borromeo Lpez, S. (s.f.). VHDL. Recuperado el 10 de Enero de 2011, de Universidad Rey Juan Carlos, Dpto. Tecnologa Electrnica: http://laimbio08.escet.urjc.es/assets/files/docencia/EDII/Tema4VHDL.pdf Vallejo, M. (21 de Julio de 2010). Tutorial Xilinx. Recuperado el 10 de Enero de 2011, de Laboratorio de Electrnica Digital: http://www.docentes.unal.edu.co/mavallejov/docs/Electronica_Digital/Laboratorio/tutorial_Xilinx.p df

29

Вам также может понравиться