Diseño electrónico con hardware reconfigurable - RUA
Existen tres formas diferentes de describir el funcionamiento de una entidad a través de la arquitectura: Comportamiento o algorítmico (behavioral). Especifica ...
Modelos de descripción Existen tres formas diferentes de describir el funcionamiento de una entidad a través de la arquitectura: Comportamiento o algorítmico (behavioral). Especifica cómo se comportan las salidas con respecto a las entradas. No proporciona al sintetizador información de cómo será el circuito, siendo éste el que lo determina. La parte fundamental de este tipo de descripciones es el proceso (process) Flujo de datos (dataflow). Especifica el circuito como una representación concurrente del movimiento de los datos a su través, es decir, cómo circula la información Estructural (structural). Describe la conexión entre distintos módulos descritos previamente
Modelos de descripción VHDL Como hemos visto, la architecture, en VHDL describe la función que realiza una entity. La arquitectura se compone de dos partes: la parte declarativa en la que se encuentran las definiciones de las señales, funciones, tipos, procedimientos, etc .. a utilizar. y el cuerpo de la descripción, consistente en una sucesión de asignaciones concurrentes y procesos que modelan la entidad.
Estructura de un diseño en VHDL LIBRARY ieee; USE ieee.std_LOGIC_1164.all; ENTITY nombre_entidad IS [GENERIC( )]; PORT(
declaraciones de puertos
parte declarativa de la arquitectura
cuerpo de la arquitectura
); END nombre_entidad;
Nombre de la entidad
ARCHITECTURE nombre_arquitectura OF nombre_entidad IS Definición de las señales a usar Definición de los tipos y subtipos a utilizar BEGIN Se modela el comportamiento del circuito
Nombre de la arquitectura
con asignaciones, instanciaciones y PROCESOS END nombre_arquitectura;
Concurrencia del hardware El hardware es concurrente, es decir, los circuitos coexisten en el tiempo y por lo tanto trabajan al mismo tiempo. No se puede modelar con un lenguaje como C: S1 = A and B; S2 = C or D; S3 = C xor D; Las tres puertas funcional al mismo tiempo ¡no una después de la otra! Este chip tiene tres puertas que funcionan simultáneamente
Concurrencia: una posible solución La solución al problema anterior es que aunque la ejecución sea secuencial, las asignaciones no tengan tiempo de ejecución: