Practica 1.1
Practica 1.1
Practica 1.1
En particular VHDL permite tanto una descripción de la estructura del circuito (descripción
a partir de subcircuitos más sencillos), como la especificación de la funcionalidad de un
circuito utilizando formas familiares a los lenguajes de programación. La misión más
importante de un lenguaje de descripción HW es que sea capaz de simular perfectamente
el comportamiento lógico de un circuito sin que el programador necesite imponer
restricciones.
Elementos Básicos de VHDL
Un sistema digital está descrito por sus entradas y sus salidas y la relación que existe entre
ellas. En el caso de VHDL por un lado se describirá el aspecto exterior del circuito: entradas
y salidas; y por otro la forma de relacionar las entradas con las salidas. El aspecto exterior,
cuántos puertos de entrada y salida tenemos, es lo que denominaremos entity. Y la
descripción del comportamiento del circuito architecture, toda architecture tiene que estar
asociada a una entity. Además, aunque no es estrictamente necesario, podemos definir
también las bibliotecas y paquetes que vamos a utilizar, lo que nos indicará que tipos de
puertos y operadores podemos utilizar. Siempre ha de aparecer la definición de las
bibliotecas y paquetes antes de la definición de la entity.
Entity
Una entidad es la abstracción de un circuito, ya sea desde un complejo sistema electrónico
o una simple puerta lógica. La entidad únicamente describe la forma externa del circuito,
en ella se enumeran las entradas y las salidas del diseño. Una entidad es análoga a un
símbolo esquemático en los diagramas electrónicos, el cual describe las conexiones del
dispositivo hacia el resto del diseño.
Los puertos pueden ser de entrada in, salida out, entrada-salida inout o buffer. Los puertos
de entrada sólo se pueden leer y no se puede modificar su valor internamente en la
descripción del comportamiento del circuito (architecture), sobre los puertos de salida sólo
library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_arith.all; use
ieee.std_logic_unsigned.all; La biblioteca ieee y estos tres paquetes asociados aparecen
por defecto al generar un módulo VHDL.
Architecture
Los pares de entidades y arquitecturas se utilizan para representar la descripción completa
de un diseño. Una arquitectura describe el funcionamiento de la entidad a la que hace
referencia, es decir, dentro de architecture tendremos que describir el funcionamiento de la
entidad a la que está asociada utilizando las sentencias y expresiones propias de VHDL.
-- declaraciones de la arquitectura:
-- tipos
-- señales
- componentes begin
-- código de descripción
-- instrucciones concurrentes
-- ecuaciones booleanes
FPGA’s y Quartus
Un FPGA o Field Programable Gate Array es un conjunto de circuitos integrados, como
puede ser cualquier chip, que está pensado para entregarse al cliente sin configurarlo para
que luego cada uno lo personalice y programe según la tarea que necesite que haga esa
pieza, una vez está ya se ha fabricado. Es como si fabricaran un procesador y luego lo
configuraran en función de lo que se necesite, en vez de enfocarlo a una tarea o un uso
específico durante el proceso de producción.
Quartus
Este es un software diseñado por Altera para el análisis y la síntesis de diseños realizados
en HDL (Lenguaje de descripción de Hardware).Quartus II permite al desarrollador o
desarrolladora compilar sus diseños, realizar análisis temporales, examinar diagramas RTL
y configurar el dispositivo de destino con el programador.
La familia de FPGAs de bajo coste Cyclone, está soportada por esta edición, por lo que los
pequeños desarrolladores y desarrolladoras no tendrán problemas por el coste del
software.
Las FPGAs Cyclone® IV están optimizadas para consumir la menor energía posible, con lo
que usted puede administrar mejor los requisitos térmicos. Como resultado, puede reducir
o eliminar los costos de enfriamiento del sistema y también extender la vida útil de la batería
para aplicaciones portátiles.
Los números primos son por definición números naturales mayores a 1, que únicamente tienen
dos divisores enteros positivos: el 1 y ellos mismos. Por consiguiente, en el caso de esta práctica,
en la Tabla 1.1 se señalan en un recuadro color verde los números primos comprendidos del 0
al 15 en decimal, puesto que nuestro circuito será de un máximo de 4 bits.
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
15
ECUACIÓN DE SALIDA
Cuando se desea realizar un circuito que sea activo en determinadas entradas, lo importante es
reconocer que salidas son las de nuestro interés, por ejemplo, suponiendo un circuito de 2
entradas, A y B; y una salida S, se plantea que la salida sea activa únicamente cuando haya un
2 binario en la entrada. En la Tabla 1.2 se muestra la tabla de verdad para este c
Tabla 1.2 Tabla de verdad para circuito con una única salida en alto
A B S
0 0 0
0 1 0
1 0 1
1 1 0
Como en este caso solo nos interesa cuando entra el 2 binario (10), la ecuación para su
salida S será: 𝑆 = 𝐴𝐵̅.
En el caso de que sea de nuestro interés que la salida sea activa con más números, por
ejemplo,cambiando su salida en 1 para 𝐴𝐵 = 00 y 𝐴𝐵 = 11, se tendrá su tabla de verdad
en la Tabla 1.3.
Tabla 1.3 Tabla de verdad para circuito con dos salidas en alto
A B S
0 0 1
0 1 0
1 0 0
1 1 1
Como en este caso la salida se forma con 2 números de entrada, la ecuación para su
salida S será: 𝑆 = 𝐴̅𝐵̅+ 𝐴𝐵. Esta forma de escribir la igualdad de la salida es la forma
llamada suma de productos.
DESARROLLO
Para diseñar el circuito detector de números primos de 4 entradas, se tiene que tomar las
salidas en alto para la salida S cuando la combinación de las entradas genere un número
primo, como se muestra en la tabla de verdad de la Tabla 1.4.
Tabla .4 Tabla de verdad para detector de números primos de 4 entradas.
S A B C D
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
X=2, 3, 5,7,11,13
9. Una vez tengamos el codigo listo lo que debemos hacer es asegurar que no
tenga ningun error, para hacer esto lo que debemos hacer es complilar el
codigo, esto lo hacemos seleccionando la opcion de compilar (tambien se
puede precionando la figura del triangulo que se encuentra en la parte
superior de la ventana, de esta manera comensara a compilar el codigo.
El diseño del detector de números primos incluyó la creación de una tabla de verdad
y la derivación de la ecuación lógica correspondiente, que fue implementada en
VHDL. Este proceso nos enseñó cómo representar condiciones lógicas complejas
mediante suma de productos y a aplicar correctamente las compuertas lógicas, lo
cual es esencial en el diseño digital.
https://docta.ucm.es/rest/api/core/bitstreams/4ded6d60-6b62-4f59-a7cd-
2511b9a73861/content
https://www.intel.la/content/www/xl/es/products/details/fpga/cyclone/iv.html
https://www.geeknetic.es/FPGA/que-es-y-para-que-sirve
HeTPro-Tutoriales. https://hetpro-store.com/TUTORIALES/como-instalar-quartus-
ii-y-crear-un-proyecto-nuevo/
México