Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El termino “flujo de diseño” describe el proceso completo que se debe seguir para
llevar un proyecto desde la definición de especificaciones hasta el resultado final.
Aun cuando nuestra responsabilidad se limite a una parte de este flujo, es
indispensable conocerlo en su totalidad para prever los problemas que puedan
aparecer en otras fases.
1
Práctica I – Introducción ISE. Place & Route
2
Práctica I – Introducción ISE. Place & Route
Dentro del menú file existe la opción de creación de un proyecto nuevo. Después de
seleccionarla se nos preguntara que tipo de proyecto queremos crear: Top level
module type: > HDL. Se escoja uno u otro siempre tendremos la opción de incluir
ficheros fuente de todo tipo.
3
Práctica I – Introducción ISE. Place & Route
4
Práctica I – Introducción ISE. Place & Route
En esta ventana definimos los puertos de entrada y salida, una vez especificados
todos los puertos, procederemos a pulsar Siguiente con lo que accederemos a nuestra
ultima ventana, en la que procederemos a confirmar todos nuestros datos. Con estos
pasos ya tenemos creada una parte de nuestro fichero fuente. Si nos queremos crear
nuevos ficheros fuente pulsaremos en el icono siguiente para acceder a la ventana
Add Existing Sources, en ella añadiremos ficheros VHDL ya creados. Si no
tenemos añadir ningún fichero VHDL existente a nuestro proyecto pulsaremos en
siguiente y pasaremos a una ventana en la que finalizaremos el proceso de creación
del proyecto.
Nuestro siguiente paso será terminar de confeccionar nuestro fichero VHDL con
la declaración de Arquitectura. Para confeccionar nuestro fichero VHDL
disponemos editor de textos, el cual es capaz de reconocer las palabras clave
reservadas, señalándolas en rojo, los tipos de datos reconocidos aparecen en gris
y los comentarios en verde.
5
Práctica I – Introducción ISE. Place & Route
6
Práctica I – Introducción ISE. Place & Route
• Componentes de librería
7
Práctica I – Introducción ISE. Place & Route
8
Práctica I – Introducción ISE. Place & Route
mencionar el ahorro de tiempo, ya que un simulador de alto nivel es varias veces más
rápido que un simulador EDIF (netlist).
9
Práctica I – Introducción ISE. Place & Route
10
Práctica I – Introducción ISE. Place & Route
Ilustración 15 – Simulador
4. Síntesis lógica
El proceso de síntesis es uno de los más importantes del flujo de diseño. El
sintetizador se encarga de traducir el código HDL a puertas lógicas. El conocimiento
del funcionamiento del sintetizador, así como su control, nos permitirá sacarle todo
el partido y mejorar las características de los diseños. Nosotros utilizaremos el
sintetizador que esta incluido en la herramienta Xilinx ISE, aunque también se
pueden utilizar otros sintetizadores como LeonardoSpectrum, FPGA Express,
Precision RTL, etc.
11
Práctica I – Introducción ISE. Place & Route
12
Práctica I – Introducción ISE. Place & Route
13
Práctica I – Introducción ISE. Place & Route
14
Práctica I – Introducción ISE. Place & Route
5. Introducción de Constraints
En este apartado se va a describir como introducir constraits por medio de una
utilidad Create Timing Constraints, con esta herramienta elegiremos tanto
constraints temporales, como la asignación de nuestras señales a pines de la FPGA.
La influencia de estos constraints en el funcionamiento del sintetizador es muy
relativa, sin embargo si que pueden exportarse para su posterior uso en al fase de
implementación, evitando así el uso de la complicada herramienta Constraints
editor. Para ello una vez sintetizado nuestro circuito pincharemos en el siguiente
programa, dentro del menú User Constraints, para ello realizaremos doble clic sobre
Create Timing Constraints y comenzaremos nuestra definición.
15
Práctica I – Introducción ISE. Place & Route
Ilustración 25
Ya podemos empezar con la definición de Constraints, para ello disponemos de
cuatro apartados:
1
Se desaconseja el uso de más de un reloj, para respetar las reglas de diseño síncrono, aunque puede
ser interesante en diseños complejos y de gran tamaño el empleo de varias fases de un mismo reloj.
16
Práctica I – Introducción ISE. Place & Route
2. La ventana dedicada a los ports consiste es una tabla en la que podemos ver
todas las características de los mismos. En la primera columna tenemos todos
los ports de entrada y salida del diseño. En la columna de direcciones se
especifica (automáticamente) la dirección de los ports. Las dos columnas
siguientes presentan características temporales que nuestro diseño debe
cumplir con respecto al exterior del dispositivo, considerando una filosofía
17
Práctica I – Introducción ISE. Place & Route
3. Lo siguiente que tendremos que realizar será la asignación de pines. Hay que
indicar a la herramienta cada puerto de la entidad a que pin físico
corresponde, para ello daremos doble click en la acción Floorplan IO-
Presynthesis. Dentro de la columna LOC en la ventana I/O pins podremos
los pines que vayamos a utilizar.
18
Práctica I – Introducción ISE. Place & Route
6. El proceso de implementación
19
Práctica I – Introducción ISE. Place & Route
A la salida del mapeado obtenemos un fichero .NCD, que junto con el fichero de
constraints, que es el mismo que el introducido en la síntesis, se llevan a la fase
siguiente, Place And Route. En la fase PAR, nuestro diseño traducido a CLBs se
emplaza y ruta automáticamente siguiendo los constraints. Al finalizar, obtenemos
un fichero .NCD, reanotado con la posición de cada CLB y cada recurso de la Fuga.
Con este fichero, ya se puede generar un fichero .BIT, mediante el programa
Generate Programming File dentro del visor de procesos, que será el que se graba
en la memoria de configuración de la FPGA.
20
Práctica I – Introducción ISE. Place & Route
7. Opciones de configuración
Estas opciones hacen referencia a la generación del bit-stream, con el que se
configura la FPGA a través de una memoria externa, o bien descargándolo
directamente desde otro dispositivo (PC, etc). Para ello realizaremos doble clic sobre
Generate Programming File y crearemos el fichero .BIT, ya solo nos quedara
mandar este fiche mediante una utilidad de la placa de pruebas a la FPGA y ya
tendremos nuestro circuito funcionando.
21
Práctica I – Introducción ISE. Place & Route
22
Práctica I – Introducción ISE. Place & Route
23