Creación de un Sumador Binario de 1 bit

Vamos a crear un  sumador binario con carry anterior (Cin)  y carry posterior (Cout) el cual diseñaremos de forma esquemática mediante la implementación con puertas Or y And.

El entorno de trabajo será ISE WEBPACK V10.1  y el CPLD a implementar será el XV9572.

  1. Abrimos ISE WEBPACK V10.1 y creamos el proyecto :

Una vez abierto el programa y ubicados en el entorno abriremos en archivo>>new proyect…,  nos aparcerá un cuadro como el de la imagen inferior y los nombramos como sumador en la ruta definida, tipo esquemático.

Una vez pulsado next en la imagen superior, accederemos a insertar las propiedades del dispositivo con el que vamos a trabajar.

      • Dispositivo: CPLD XC9572
      • Encapsulado: PC84
      • Velocidad: -7 nano segundos de retardo pin a pin.
      • Herramientas de síntesis: XST(VHDL).
      • Lenguaje base: VHDL

Pulsamos Next y aparecerá el cuadro de creación de nueva fuente, vamos a New Source…, seleccionamos el tipo schematic, en file name damos el nombre al archivo “sumador”, y en location la ruta c:\xilinx\sumador.

CREACIÓN ESQUEMÁTICO

CREACIÓN ESQUEMÁTICO

  • Creamos el diseño esquemático del proyecto

Seleccionando en view>>sources seleccionaremos en la pestaña inferior de el cuadro correspondiente (situado a la izquierda) la opción symbol, donde se recogerá la implementación de diversos dispositivos creados por Xilinx y de los cuales nosotros usaremos del tipo logicos:

    • 2 XOR
    • 2 AND
    • 1 OR
PUERTAS LÓGICAS

PUERTAS LÓGICAS

Seleccionando View>>toolbars>>schematic editor se abrirá una linea de iconos que nos de las cuales seleccionaremos el que está marcado en rojo en la imagen inferior, este nos servirá para realizar el conexionado del circuito que queremos implementar.

CONEXIONADO

CONEXIONADO

Dentro de la misma barra de opciones podemos ver la opción de etiquetado de entradas y salidas mediante la cual asignaremos las marcas I/O de entrada y salida del dispositivo.

ETIQUETAS DE ENTRADA Y SALIDA

ETIQUETAS DE ENTRADA Y SALIDA

  1. Una vez hecho esto haremos la verificación de que todo funciona correctamente mediante la opción check schematic.
DRC

DRC

  • Creación del fichero test bench waveform.

El fichero test bench es el fichero VHDL cuya extensión es ‘uut‘ y contiene la instancia de prueba simulación.

Para crearlo nos basta con ir al icono de extensión .sch en los archivos de fuentes ‘sources‘, mediante los cuales podremos, clicando al boton derecho entraremos en new source y nos saldrá un cuadro como el de la imagen siguiente. En el crearemos mediante la selección de test bench waveform y, con el nombre y ruta deseados, el archivo uut que nos creará será el archivo de simulación funcional.

CREACIÓN TEST BENCH

CREACIÓN TEST BENCH

Una vez creado daremos next y nos irán apareciendo los procedimientos intermedios de creación del archivo, bastará con ver la imágenes para comprender el paso:

Una vez finalizado el procedimiento de creación del archivo deberemos configurarlo, para ello nos saldrá un cuadro como el siguiente en el cual cofiguraremos el sistema.

CONFIGURACIÓN TB

CONFIGURACIÓN TB

Podemos observar que hemos configurado el tipo de circuito (Combinational), para CPLD (PRDL) con un retardo de inicio de 100ns, una asignación de retardo de 50 ns de respuesta entre excitación de la entrada sobre la salida y viceversa. Éste procedimiento se realiza con la idea de evitar conflictos internos entre entradas-salidas. Y finalmente configuramos la longitud de la simulación inicial, el tiempo que durará la simulación by step.

Una vez finalizado esto, se nos abrirá HDL BENCHER  en ISE :

TEST BENCH

TEST BENCH

En la imagen superior podemos ver en el recuadro izquierdo superior (sources)

los archivos creados para la simulación, situado en la parte de simulación de comportamiento. En el gráfico podemos configurar los estados de las entradas a tratar simplemente pulsando en los recuadros azules y así cambiar cada secuencia de tiempo en cada entrada.

En la parte inferior del recuadro izquierdo de la imagen, si seleccionamos el archivo de extensión .twb en la parte superior,  podemos ver el cuadro de procesamiento de la simulación. En él se observa en el icono de herramientas Xilinx ISE Simulator, expandiéndose el mismo, un icono llamado Simulate Behavioral Model el cual contiene Generate Self-Checking Test Bench que generará automaticamente la simulación en función de las entradas establecidas previamente habiendo configurado el diagrama .twb esto se generará dando doble click sobre Generate Self-Checking Test Bench.

ENTRADAS Y SALIDAS DEL DISPOSITIVO

ENTRADAS Y SALIDAS DEL DISPOSITIVO

El resultado será algo así:

 
SIMULACIÓN Y TIEMPOS

SIMULACIÓN Y TIEMPOS

También podemos observar el fichero .vhd del test bench dando doble click sobre el archivo .vhd:

  • SÍNTESIS DEL DISEÑO:

    La síntesis del diseño se basa en la creación del archivo NGC que se basa en la creación de la netlist a partir de un código HDL (VHDL, Verilog…) conteniendo los datos del diseño lógico y restricciones.
     
     
     
     
     


 
El archivo de restricciones tiene extensión .ucf y es el encargado de asignar los pines del CPLD así como configurar todos los recursos del mismo.
En el archivo fuente sumador.sch haremos click derecho y crearemos una new source, posteriormente en el cuadro abierto crearemos el archivo implement constraints file y le daremos el nombre y la ruta opcionales.
 
A partir de ahí se creará el archivo de extensión .ucf. Entrando en él abriremos el XILINX PACE:
 
Aquí podemos configurar los pines en función de las macroceldas y bloques de función I/O que queremos utilizar, además se nos muestran pines de alimentación y conexión con el JTAG, en la columna Loc, asignaremos los pines que vamos a utilizar, después, cerramos y guardamos el programa.
 
  • TRANSLATE:
Transforma los archivos de la netlist en un código propietario de la tecnología interna que se  utiliza, su extensión es .NGD.
 
 
 
  • FIT:

mapea la lógica definida por el fichero NGD dentro de los recursos del CPLD, tal como células lógicas, I/OB’s y otros componentes. Una vez hecho se recoge toda la tecnología y tamaño de la misma que se usará en función del tamaño del CPLD en cuestión (%).

  • GENERAMOS EL FICHERO .JED:
Fichero encargado de la descarga de archivos desde el ordenador al CPLD mediante el interface JTAG.
 
 
 
 
 
 

 

descargar…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s