vhdl - tutorial

Upload: ruben-rafael-galan-sanz

Post on 15-Jul-2015

211 views

Category:

Documents


0 download

TRANSCRIPT

Curso de doctorado

Diseo y modelado digital con VHDL y sntesis lgicaUniversidad de ZaragozaDpto. Ing. Electrnica y Comunicaciones Area de Tecnologa Electrnica

Luis Angel [email protected]

Jos Ignacio [email protected]

Diciembre 1.997

DESCRIPCION DEL DISEO TEMA 1: PROCESO DE DISEO DE SISTEMAS DIGITALESt t

Desde la especificacin de un diseo hasta su fabricacin, el diseo pasa a travs de un conjunto de etapas: Las distintas etapas utilizan distintos niveles de abstraccin Las etapas iniciales son ms abstractas A medida que se avanza en el diseo se aumenta el nivel de detalle de la implementacin y de la tecnologa

Descripcin del diseo Representaciones de diseo Niveles de abstraccin Proceso de diseo Pasos del proceso de diseo Herramientas CAD de diseo Metodologa tpica de diseo

t

t t

Para cada nivel de abstraccin, el diseo puede ser descrito utilizando distintas representaciones de diseo. En algunas tareas el diseador cuenta con la ayuda de herramientas CADDETALLE

Especificacin del DiseoABSTRACCION

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 1

Representaciones de diseot

Niveles de abstraccin. Granularidadt

Las distintas representaciones difieren en el tipo de informacin que se destaca Comportamental Especifica el comportamiento del sistema en funcin de los valores de entrada Estructural El sistema se describe como un conjunto de componentes y sus conexiones La funcionalidad no se da explcitamente Fsica Especifica las dimensiones y situacin de cada componente y las conexiones contenidas en la descripcin estructural

t

Los distintos niveles de abstraccin difieren en el tipo de objeto (grano) que utilizan como componentes bsicos en la descripcin del diseo Nivel de transistor: transistores, resistencias, condensadores. Nivel lgico: puertas lgicas y FFs. Nivel de registro: unidades funcionales y de almacenamiento (sumadores, registros, contadores, pilas). Nivel de procesador: procesador, memoria, controlador, interfaz, ASIC.

t

t

t t

t

t

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 2

U nid. funcio nales C o ntado res M acroceldas P ilas

R epr esenta ciones vs. N iveles de A b str a ccin

M dulos U nidades

F ISIC A

PC Bs M CM s

C elda dig ital

PROCESO DE DISEOt

C O M P O R T A M E N T A L E ST R U C T U R A L

P rocesador A SI C , M em oria C o ntroladores

T ransistores R , C onexi ones

P uertas FFs

El proceso de diseo evoluciona desde la especificacin del circuito electrnico hasta su fabricacin Existen diferentes alternativasESPECIFICACION

E c. difere nciales V ( t) , I (t)

T ransfe re ncias entre reg istros

E c. Booleanas M EF

P ro gram as A lg oritm os

t

Una Metodologa de Diseo est constituida por: Conjunto de tareas especficas realizadas en el proceso de diseo Orden en el que dichas tareas han de ser ejecutadas Herramientas CAD utilizadas en la realizacin de cada tarea

P R O C E SA D O R

R E P R E SE N T / N IV E L

Universidad de Zaragoza, IEC.

D ISP O SI T IV O

R E G IST R O

L O G IC O

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 3

F ISIC A

Metodologa top-downEspecificacin

C O M P O R T A M E N T A L E ST R U C T U R A L

P r oceso de D iseo

Validacin

Sntesis

Biblioteca de componentes

Validacin

Diseo Fsico

P R O C E SA D O R

R E P R E SE N T / N IV E L

D I SP O SI T IV O

Test

R E G I ST R O

Fabricacin

Universidad de Zaragoza, IEC.

L O G IC O

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 4

Especificacin del sistemat

E str uctur a F ull-C ustom

Guiados por las especificaciones del diseo (velocidad, rea, tamao de la serie,...), el diseador debe seleccionar: Tipo de implementacin Fabricante Herramientas de diseo (EDA)C.I. estndar C.I. estndar Microprocesador Microprocesador

Data path

I/O

Programable Programable

Semi-custom

Full-custom

PLD

FPGA

Gate Array

Standard Cell

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Pads

SSI/MSI

LSI/VLSI

ASIC ASIC

Proceso de diseo de sistemas digitales - 5

RAM

ADC

Universidad de Zaragoza, IEC. Luis A. Barragn y Jos I. Artigas Proceso de diseo de sistemas digitales - 6

E str uctur a Standar d C ellPads Cells Feedthrough

C ell L ibraryA C D B

I/O FUNCTIONAL BLOCK Vdd Vss

Routing channels

E str uctur a A r r ay de P uer tasC ada C I est parcialm ente prefabricado , inc o rpo ra un g ran nmero de puertas idnticas q ue se dispo nen en una matriz bidimensional re g ularPads Gates

Routing

Universidad de Zaragoza, IEC. Luis A. Barragn y Jos I. Artigas Proceso de diseo de sistemas digitales - 7

E str uctur a b sica d e F P G A

P r o gr am m able Inter co n nect

I/O B locks (IOB s )

C onf igur able L og ic B lock s (C L B s )

C ompa r acin entr e tipos d e implementacinFull-custom C ell Size V ari able S ta ndar d cell F ix ed H eig ht G a te A r r ay F ix ed F PG A F i xed

C ell T ype

V ari able

V ariable

F ix ed

P ro g ram .

C ell Placem ent

V ariable

in row

F ix ed

F ix ed

I nter connections

V ari able

V ariable

V ari abl e

P ro g ram .

D esig n C ost

H igh

M edium

M edi um

L ow

C omp ar acin entr e tipos de implementa cin

N ing una

G rande

FPG A

B aja

Sntesist

G ate A r r ay

M oderada

Standar d cell

P eq uea a M oderada

A lta a M ediana

T odas

C apas de R outing

M ediana

Sntesis: conversin de una descripcin comportamental en una estructural, en la que cada bloque es un componente de la biblioteca elegida

Tareas de sntesis

F ull-custom

Sntesis de la arquitectura

P eq uea

T odas

A lta

V elocida d

Sntesis Lgica

Universidad de Zaragoza, IEC.

C apa s a F ab r icarLuis A. Barragn y Jos I. Artigas

A r ea

Proceso de diseo de sistemas digitales - 8

HERRAMIENTAS CADt

Herramientas de Modeladot

Clasificacin Modelado Captura de Esquemas HDL

Captura de esquemas: Permite seleccionar componentes de men e interconectarlos Esquemticos

Sntesis Sntesis de Alto Nivel (Comportamental) Sntesis Lgica Generadores de Macroceldast

Modela representaciones estructurales HDLs. Caractersticas: Permite la captura de representaciones estructurales Adems, modela representaciones comportamentales Esquemticos y HDLs deben ser utilizados de forma conjunta La interconexin entre componentes se captura mejor grficamente La funcionalidad de un controlador se captura mejor con HDL, utilizando instrucciones if-then-else

Simulacin Funcional A nivel de transistor

Ubicacin e interconexionado (P&R) Reglas de diseo (DRC) Extraccin del circuito (LVS)

t

Test Generacin de vectores de test Cobertura de fallos

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 9

Herramientas de Modeladot

Herramientas de Sntesist

Ambito de utilizacin de HDLs: Eficiente Poco eficienteCOMPORT. ESTRUCT. Diag. Bloques FISICA

La sntesis lgica es el proceso de convertir una descripcin HDL en un netlist de puertas de una tecnologa dada Permite: Transformar descripciones de MEF en puertas y biestables Transformar expresiones booleanas en puertas Minimizar nmero de puertas, retardos de propagacin, rea y/o consumo Ventajas: Reduce el ciclo de diseo Permite modelar un diseo en HDL de forma independiente de la tecnologa y posteriormente sintetizarlo para distintas tecnologas

t

PROCESADOR REGISTRO LOGICO DISPOSITIVO

CIF, EDIF EDIF

t

HDLs ms utilizados:VHDL Origen Dominio Parecido a IEEE estndar Pblico ADA Verilog Cadence Pblico C, Pascalt

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 10

Herramientas de sntesis lgicaCompaa Nombre del Producto Max-Plus-4 (AHDL, VHDL) Synergy (VHDL, Verilog) Warp II, III (VHDL) Autologic (VHDL) Design Compiler (VHDL, Verilog) ViewSynthesis (VHDL, Verilog) Nivel de Sntesis RTL, MEF Tipo de Circuitos CPLD

METODOLOGIA TPICA DE DISEOEspecificaciones Castellano

Altera

Cadence

RTL, MEF Test RTL, MEF

ASIC FPGA PLD FPGA ASIC FPGA ASIC FPGA ASIC FPGA

Diseo de la arquitectura

Cypress

Especificacin RTL

Descripcin HDL

Mentor Graphics Synopsys

RTL, MEF Test, Datapath RTL, MEF Test RTL, MEF Test

Diseo Lgico Especificacin a nivel de celdas prediseadas Diseo Fsico

Netlist de puertas

Viewlogic

LayoutManual Automatizado

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 11

Metodologa tpica de diseoEspecificacin Funcional del Diseo Diagrama de Bloques

Anlisis Temporal

Simulacin Funcional del VHDL

Sntesis Lgica

Sntesis del test / ATPG

Simulacin a nivel de Puertas

Netlist de Puertas

Universidad de Zaragoza, IEC.

Cobertura de test Insuficiente

Pre-sntesis

Codificacin VHDL

Luis A. Barragn y Jos I. Artigas

Proceso de diseo de sistemas digitales - 12

INTRODUCCION TEMA 2: LENGUAJE VHDLt t t t t t t t t t t

Breve historia Caractersticas de VHDL Codificacin orientada al hardware Objetivos del tema

Introduccin Conceptos bsicos Organizacin del diseo Descripcin de la arquitectura Modelo de tiempos Descripcin de circuitos digitales Simulacin

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 1

Breve historiat

Caractersticas de VHDL (1)t

Qu significa VHDL? VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuits Inicialmente, documentacin de diseos y creacin de modelos de simulacin de hardware para el DoD (1981). Estndar IEEE Portabilidad 1987, se aprob el lenguaje estndar IEEE 1076-1987 1992, cada 5 aos se revisa el proceso de estandarizacin, IEEE 1076-1992 Permite descripcin de hardware digital: Puertas lgicas Sistemas complejos (SPARC)

Permite diseos modulares y jerrquicos. Soporta distintas metodologas de diseo: Arriba-abajo Abajo-arriba Mixto Soporta varias tcnicas de modelado digital: Descripcin algortmica Ecuaciones booleanas Mquinas de Estados Finitos (MEFs) Soporta temporizacin: Sncrona Asncrona Es un lenguaje concurrente, aunque permite definir dominios en los que las acciones se suceden en orden secuencial

t

t

t

t

t

t

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 2

Caractersticas de VHDL (2)t t

Codificacin orientada al hardwaret

Soporta tipos abstractos de datos. Permite simular el diseo y generar formas de onda Entornos de test (test benchs). Soporta distintos niveles de descripcin: Comportamental RTL Lgico A partir de un modelo en HDL se puede sintetizar hardware a nivel de puertas con herramientas especiales de sntesis Independencia de la tecnologa.

Codificar pensando en puertas y FFs, no en variables y funciones!! Disear circuitos sncronos Un nico reloj y flanco (si es posible). Codificar en HDL no nos preserva de problemas hardware: glitches, violacin de restricciones temporales tsu, th. Evitar: Bucles combinacionales. Buffers triestado. Latches (usar slo FFs). Set, Reset asncronos. Relojes condicionales (Gated-clock). Comentar el cdigo fuente Reutilizacin

t

t

t

t

t

t

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 3

Objetivos del temat

CONCEPTOS BASICOSt t t

Enmarcar los lenguajes de descripcin de hardware dentro del proceso de sntesis lgica Presentar una introduccin a VHDL Reforzar la sintaxis y semntica de VHDL con la presentacin de ejemplos Conocer la sintaxis de VHDL, no implica necesariamente saber disear hardware con l

Objetos Tipos Operadores

t t

t

Introducir mediante ejemplos la influencia del estilo de codificacin en el hardware sintetizado

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 4

Objetost t

Tipost

Los objetos en VHDL contienen valores. Clases de objetos: Constant. Se les asigna un valor inicial que no puede ser modificado. Variable. Contiene un valor que puede ser modificado. Signal. Contiene una lista de valores que incluye el valor actual y un conjunto de posibles valores futuros. File. Modelan ficheros en el entorno del host. Se utilizan en test-benchs. Estos objetos se crean mediante su declaracin: variable R: natural := 0;

Todos los objetos en VHDL son de algn tipo. Es ilegal conectar seales que no son del mismo tipo Un tipo de datos se caracteriza por un conjunto de valores que puede tener y un conjunto de operaciones. El tipo de cada objeto es esttico Los tipos predefinidos en el lenguaje estn declarados en el package STANDARD:boolean, bit, bit_vector, character, string, integer, real, time, positive, natural.

t

t

t

t

El lenguaje permite crear nuevos tipos y definir operaciones con esos tipos a travs de funciones Tipos de datos predefinidos: - Scalar - Composite - Access - File

t

Declaraciones implcitas: Puertos de una entidad Indices de bucles

t

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 5

Tipos escalarest

Compositet

Existe una relacin de orden entre los valores de los objetos de este tipoINTEGER constant MUX_ADDRESS: integer := 5; -- Rango desde -(2**31) hasta (2**31-1) -- Se puede especificar un rango menor type INDEX is integer range 0 to 15; constant MUX_ADDRESS: INDEX := 5; type natural is integer range 0 to integer'high; FLOATING POINT variable F0 : real := 62.3E-2; -- Se puede especificar un rango type ANALOG_IN is real range 0.0 to 5.0; ENUMERATION -- Conjunto de valores definidos por el usuario -- Hace ms legible el cdigo, se utiliza en la -- definicin de mquinas de estado type MICRO_OP is (LOAD, STORE, ADD, SUB); FISICOS -- Representan medidas de magnitudes fsicas -- Existe un tipo TIME cuya unidad es fs constant TH : time := 10 ns;

Tipo matriz: Una o ms dimensiones Elementos del mismo tipo Acceso indexado1 2 3

0 0 1 2 3

type ADR_WORD is array (0 to 63) of BIT; type DATA_WORD is array (7 downto 0) of BIT; type ROM is array (0 to 125) of DATA_WORD; -- arrays predefinidos: BIT_VECTOR variable OP_CODE: BIT_VECTOR(1 to 5); OP_CODE := "01001"; OP_CODE := ('0','1','0','0','1'); OP_CODE := (2=>'1', 5=>'1', others=>'0');

t

Tipo Registro: Uno o ms campos Campos de diferente tipo Acceso por nombretype OPCODE is (LD, ST, ADD, SUB); type ADR is array (0 to 63) of BIT; type INSTRUCTION is record OPCODE_FIELD: OPCODE; OPERAND1 : ADR; OPERAND2 : ADR; end record;

Campo1 Campo2 Campo3 Campo4

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 6

Tipos de datost

Operadorest

Un SUBTIPO es un tipo con una restriccin. Se especifica el tipo base y el rango de restricciones Se comprueba cada asignacin para garantizar que el valor entra dentro del rango del subtipo

Se definen sobre los tipos de datos predefinidos, aunque se pueden sobrecargar.

package std_logic_arith package std_logic_unsigned package std_logic_signed

type MATRIZ is array(integer range, integer range ) of integer; subtype IMAGEN is MATRIZ (0 to 255, 0 to 255); subtype POSITIVE is INTEGER range 1 to INTEGERHIGH t

ALIAS. Define nombres alternativos para partes de un objeto ya existentesignal SCON : bit_vector (7 downto 0); alias RI : bit is SCON (0) variable DATA_WORD : BIT_VECTOR (15 downto 0); alias DATA_BUS : BIT_VECTOR (7 downto 0) is DATA_WORD (15 downto 8);

ARITMTICOS + * / mod rem ** abs RELACIN SIGN O + = /=

DESPL. sll srl sla sra rol ror

LOGICOS AND OR NAND NOR XOR NOT

=

CONCATENACIN

&

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 7

ORGANIZACIN DEL DISEOt

Entidadt

Entidad: Declaracin de la entidad. Descripcin de la arquitectura. Declaracin de la configuracin. Empaquetamientos y libreras. Entorno de trabajo con Synopsys.

Entidad = Abstraccin Hardware de un Sistema Digital Las entidades pueden ser jerrquicas. Una entidad E1 puede, a su vez, estar constituida por otras entidades Una entidad E2 se puede utilizar como componente de otra entidad E1 Una entidad consta de: Declaracin de la Entidad Descripcin de la Arquitectura Declaracin de la Configuracin

t

t t

t

E2 E1

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 8

Declaracin de la entidadt

Modo de un puertot

Especifica el nombre de la entidad y el interfaz con su entorno (los puertos) Los puertos son seales; su declaracin es implcita. No especifica la estructura de la entidad. Visin de caja negra (Encapsulado).Design Entity

t

El Modo define la direccin del flujo de datos visto desde la entidad. Pueden ser: IN, slo pueden ser ledos OUT, slo se les puede asignar valor INOUT, BUFFER. se les puede leer y asignar un valor desde dentro de la entidad.

A B C D

M N P Q

Entity Declaration

Architecture Body

IN t

OUT

INOUT

BUFFERR/W

Config. Declaration

-- Declara el nombre de la entidad, -- los puertos de entrada y salida, los -- modos y los tipos de dichos puertos ENTITY E1 IS PORT (A, B, C, D : in BIT; M, N, P, Q : out BIT ); END E1; Nombres Modos Tipos

Lectura de un INOUT, lee el valor del flujo de datos entrante Lectura de un BUFFER, como solo tiene una fuente, lee el valor asignado

t

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 9

Descripcin de la arquitecturat

Declaracin de configuracint

Contiene la descripcin interna de la entidad. Estilos de modelado: Estructural: Conexin de componentes. Comportamental: Algoritmo secuencial (Alto Nivel Abstraccin) Ecuaciones booleanas (Bajo Nivel Abstraccin)

Realiza la correspondencia entre: Entidad/Arquitectura Entidad/Componente Una vez que la configuracin se ha compilado, VHDL puede simular el modelo globalEntity E1

t

t

Una entidad puede tener varias arquitecturas, que representan diferentes implementaciones de la misma.ARCHITECTURE mi_arq OF E1 IS

component E2 ... end component ...

Design Entity Entity Declaration

-- Declaracin de items que sern -- utilizados dentro del cuerpo de -- la arquitectura -- Los nombres de los puertos y -- genricos no requieren ser -- declaradosBEGIN

I_1: E2 E1_A1 E1_A2

-- Descripcin de entidad E1 en -- fichero E1.vhd configuration CFG_E1 of E1 is for E1_A2 for I_1: E2 use configuration WORK.CFG_E2_A1; end for; end for; end CFG_E1;

Entity E2

Architecture Body

Config. Declaration

-- Instrucciones Concurrentes -- El orden textual no importa -- ya que se ejecutan en paralelo END mi_arq;

E2_A1

E2_A2

-- Descripcin de E2 entity en -- fichero E2.vhd configuration CFG_E2_A1 of E2 is for E2_A1 end for; end CFG_E2_A1

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 10

Entidad de diseo vs. placa de circuito impresot

Empaquetamientos y libreras (1)t

Declaracin de Entidad Definir zcalos Arquitectura Soldar zcalos en la placa y Rutear pistas En un mismo zcalo se pueden insertar distintos C.I. compatibles funcionalmente y pin a pin segn: velocidad, precio, consumo,... Configuracin Insertar en cada zcalo un integrado

t

Empaquetamientos: Pueden contener declaraciones y definiciones de objetos a usar en diferentes diseos. Constan de: Declaracin: Componentes, constantes, tipos, funciones y procedimientos. Cuerpo: Cuerpos de las funciones y procedimientos declarados.package EX_PACK is z z --Declarations z end; package body EX_PACK is z z --Body Declarations z end;

t

t

Libreras: Los diseos, una vez compilados, se almacenan en Libreras. Una librera es un directorio. Los diseos compilados son ficheros.

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 11

Empaquetamientos y libreras (2)t

Entorno de trabajo con Synopsysodf.symCLK RST

Existen libreras predefinidas: STD: Contiene los empaquetamientos STANDARD, define los tipos, subtipos y funciones bsicas del lenguaje. TEXTIO contiene declaraciones de tipos, subtipos y programas para operaciones ASCII.

Smbolo

OUT_DATA(15:0)

IN_DATA(15:0) DATA_RDY

ppp.schodf odf

WORK: librera de trabajo Aqu se almacenan las entidades de diseo del usuarioEsquemtico

I_1 ctl I_3

I_2

IEEE: Contiene empaquetamientos: STD_LOGIC_1164 STD_LOGIC_ARITHt

Estas declaraciones pueden ser importadas y utilizadas por otros diseos utilizando la clausula USE. Ejemplo: Suponiendo que EX_PACK se ha compilado en la librera DESIGN_LIB:library DESIGN_LIB; use DESIGN_LIB.EX_PACK.ALL; VHDL

odf.vhdlibrary IEEE; use IEEE.std_logic_1164.all

Entity Declaration

Architecture Body

Config. Declaration

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 12

Arbol de directorios/

DESCRIPCION DE LA ARQUITECTURAt t

Introduccin Estilos de modelado Sentencia PROCESS Sentencias secuenciales Sentencias de asignacin Sentencia IF Sentencia CASE Sentencia LOOP Sentencia COMPONENT Ejemplo

VLSI1 home synopsys sd4 packages usuario IEEE WORK src libt xxx.vhd xxx.sym xxx.sch xxx.syn xxx.sim xxx.mra t t t

std_logic_1164.vhd std_logic_arith.vhd ...

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 13

Introduccint

Estilos de modelado (1)t

La descripcin de una arquitectura se compone de un conjunto de sentencias concurrentes que se ejecutan de forma asncrona entre s y se comunican mediante seales El orden textual de las mismas no importa La sentencia fundamental es el proceso que define los lmites de un dominio secuencial El resto de sentencias concurrentes son formas particulares de procesosArchitecture

Cdigo vs. estilo de modelado

ARCHITECTURE name OF entity IS

-- Declaracin de items que sern utilizados -- dentro del cuerpo de la arquitectura BEGIN Sentencias Concurrentes PROCESS Conjunto de procesos ejecutandose asncronamente COMPONENT instantationComportamental

t t

Secuencial Concurrente

Estructural

t

END name; t

En la descripcin de una arquitectura dada se pueden mezclar los dos estilos de modelado VHDL tiene un dominio secuencial en el que opera un funcionamiento puramente algortmico y un dominio concurrente en el que evolucionan los procesos a ritmo de eventos discretos

Statement A

Statement B

Statement C

t

Signal Assignment Process Component Block

Procedure Generate Assert

Universidad de Zaragoza, IEC.

Luis A. Barragn y Jos I. Artigas

Lenguaje VHDL - 14

Estilos de modelado (2)t

Estilos de modelado (3)t

Nombre y pines de la entidadSET Q

Descripcin comportamental QN_SET

RS_LatchRESET Q

entity RS_Latch is Port (N_SET : In BIT; N_RESET: In BIT; Q : Out BIT; N_Q : Out BIT); end RS_Latch;

Ecuaciones Booleanas Dominio Concurrente.N_RESET

0 0 1 1 0

1 1 Q

t

Descripcin comportamental

Algoritmo secuencial.architecture SEQUENTIAL of RS_Latch is begin process (N_SET, N_RESET) begin if (N_SET='1' and N_RESET='0') then Q