curso_vhdl
-
Upload
josue-steven-paredes-rivera -
Category
Documents
-
view
44 -
download
0
Transcript of curso_vhdl
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
VHDL: Lenguaje de VHDL: Lenguaje de descripcin de hardwaredescripcin de hardware
Oscar Yez Oscar Yez SurezSurezIngIng. Elctrica, DCBI, UAM. Elctrica, DCBI, UAM--II
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ReferenciasReferencias
The Designers Guide to The Designers Guide to VHDLVHDLP.J. P.J. AshendenAshendenMorgan KaufmanMorgan Kaufman, 1996, 1996ISBN 1558602704ISBN 1558602704
VHDL: Lenguaje para Sntesis y VHDL: Lenguaje para Sntesis y Modelado de CircuitosModelado de CircuitosJ.A. J.A. BoludaBoluda, F. Pardo, F. PardoAlfaomegaAlfaomega, 2000, 2000ISBNISBN 84789735168478973516
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Sntesis LgicaSntesis Lgica
Descripcin de alto nivel para una funcinDescripcin de alto nivel para una funcin
Mapeo Mapeo de la descripcin a una tecnologa de la descripcin a una tecnologa digital dadadigital dada
Enfoque en el diseo, no el circuitoEnfoque en el diseo, no el circuito PortabilidadPortabilidad AutoAuto--documentacindocumentacin SimulacinSimulacin
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Sntesis LgicaSntesis Lgica
Lenguajes de descripcin de Lenguajes de descripcin de hardware (HDL):hardware (HDL):
VerilogVerilog
VHDL (VHDL (Very High SpeedVery High Speed IC HDL)IC HDL)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
TemarioTemario
Introduccin al lenguaje VHDLIntroduccin al lenguaje VHDL Sntesis de circuitos Sntesis de circuitos combinacionalescombinacionales Sntesis de circuitos secuencialesSntesis de circuitos secuenciales Sntesis de sistemas completosSntesis de sistemas completos
Experimetos Experimetos con con VeriBestVeriBest 99.099.0
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
VHDLVHDL
Lenguaje para simulacin de Lenguaje para simulacin de circuitos digitales (complicado !)circuitos digitales (complicado !)
Para sntesis, se utiliza nicamente un Para sntesis, se utiliza nicamente un subconjunto subconjunto pequeo de las capacidades pequeo de las capacidades del lenguaje ( fcil !)del lenguaje ( fcil !)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Elementos Bsicos de VHDLElementos Bsicos de VHDL
Asignacin de seal:Asignacin de seal:estado_siguiente estado_siguiente =>=
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Elementos Bsicos de VHDLElementos Bsicos de VHDL Condicionales:Condicionales:
IF(IF(estado_siguienteestado_siguiente == ESPERAESPERA) THEN) THEN ELSEELSE || ELSIFELSIF || END IFEND IF
Lazos:Lazos:FOR FOR ii ININ yyRANGERANGE LOOPLOOP......END LOOPEND LOOP
Otros:Otros:WHEN/ELSE CASE WAIT :=WHEN/ELSE CASE WAIT :=
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Elementos Bsicos de VHDLElementos Bsicos de VHDL
Insensible a maysculas o Insensible a maysculas o minsculasminsculas
Terminacin de enunciado: Terminacin de enunciado: ;; Inicio de lnea de comentario: Inicio de lnea de comentario: ---- Los identificadores deben iniciar con Los identificadores deben iniciar con una letra y pueden incluir una letra y pueden incluir caracteres alfanumricos o guin caracteres alfanumricos o guin bajobajo
Concordancia estricta de tipoConcordancia estricta de tipo
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
TemarioTemario
Introduccin al lenguaje VHDLIntroduccin al lenguaje VHDL Sntesis de circuitos Sntesis de circuitos combinacionalescombinacionales Sntesis de circuitos secuencialesSntesis de circuitos secuenciales Sntesis de sistemas completosSntesis de sistemas completos
Experimetos Experimetos con con VeriBestVeriBest 99.099.0
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Par EntidadPar Entidad--ArquitecturaArquitectura
ENTITYENTITY modelomodelo ISISPORT(PORT(
lista de entradas/salidaslista de entradas/salidas););END ENTITYEND ENTITY modelo modelo ;;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Par EntidadPar Entidad--ArquitecturaArquitectura
ARCHITECTUREARCHITECTURE arquitecturaarquitectura OFOF modelomodeloISIS
BEGINBEGIN......enunciados concurrentesenunciados concurrentes......
END ARCHITECTUREEND ARCHITECTURE arquitectura arquitectura ;;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: MUX 2 a 1Ejemplo: MUX 2 a 1LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ColeccionesColeccionesLIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ColeccionesColeccionesLIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ColeccionesColeccionesLIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ENTITY: ENTITY: Interfase Interfase externaexterna
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ENTITY: ENTITY: Interfase Interfase externaexterna
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ENTITY: ENTITY: Interfase Interfase externaexterna
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
BusesBusesyy
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ARCHITECTURE: Funcin ARCHITECTURE: Funcin LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ARCHITECTURE: Funcin ARCHITECTURE: Funcin LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ARCHITECTURE: Funcin ARCHITECTURE: Funcin LIBRARY IEEE;USE IEEE.std_logic_1164.all;
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY mux2a1 ISPORT(
SIGNAL s: IN std_logic; -- selectorSIGNAL a,b: IN std_logic_vector(7 DOWNTO 0); -- entradasSIGNAL o: OUT std_logic_vector(7 DOWNTO 0) -- salida
);END ENTITY mux2a1;
------------------------------------------------------------------------- Definicin del dispositivo, usando ecuaciones lgicas-----------------------------------------------------------------------ARCHITECTURE bool_eqs OF mux2a1 ISSIGNAL sel: std_logic_vector(7 DOWNTO 0); -- seal internaBEGIN
sel s);o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Asignacin de vectoresAsignacin de vectores
Todas estas formas son equivalentes:Todas estas formas son equivalentes:
selsel s,1=>s,3=>s,5=>s,6=>7)(4=>s,7=>s,2=>s,0=>s,1=>s,3=>s,5=>s,6=>7);;
por nombrepor nombre sel sel s); s); defaultdefault sel sel s,OTHERS=>s);s,OTHERS=>s); combinadocombinado
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 1. Sntesis y Prctica 1. Sntesis y simulacin del MUX 2 a 1simulacin del MUX 2 a 1
Manejo de Manejo de VeriBest VeriBest 99.099.0 Descripcin Entidad/Arquitectura Descripcin Entidad/Arquitectura del MUXdel MUX
Banco de pruebaBanco de prueba Compilacin/LigadoCompilacin/Ligado SimulacinSimulacin
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Arquitecturas Arquitecturas alternasalternas------------------------------------------------------------------------- Definicin del dispositivo, usando WHEN/ELSE-----------------------------------------------------------------------ARCHITECTURE when_else OF mux2a1 ISBEGIN
o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Arquitecturas Arquitecturas alternasalternas
------------------------------------------------------------------------- Definicin del dispositivo, usando procesos-----------------------------------------------------------------------ARCHITECTURE proceso OF mux2a1 ISBEGIN
comb: PROCESS(s,a,b) ISBEGIN
o
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ProcesosProcesos
nombre nombre : PROCESS(: PROCESS(seal1,seal2,...seal1,seal2,...) IS) ISBEGINBEGIN
enunciados secuencialesenunciados secuenciales......
END PROCESSEND PROCESS nombrenombre;;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Concurrencia Concurrencia vsvs. Secuencia. Secuencia Los enunciados concurrentes se Los enunciados concurrentes se ejecutan todos al mismo tiempo.ejecutan todos al mismo tiempo.
Los enunciados secuenciales, que Los enunciados secuenciales, que slo pueden aparecer dentro de un slo pueden aparecer dentro de un proceso, se ejecutan uno tras de proceso, se ejecutan uno tras de otrootro
IF/ELSE , CASE , FORIF/ELSE , CASE , FOR : : secuencialsecuencial
PROCESSPROCESS : : c ncurrenteconcurrente
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ProcesosProcesosnombre nombre : PROCESS(: PROCESS(seal1,seal2,...seal1,seal2,...) IS) IS
seal1,seal2,seal1,seal2, es la LISTA DE es la LISTA DE SENSIBILIDAD del proceso. SENSIBILIDAD del proceso. Cualquier evento en estas seales Cualquier evento en estas seales har que el proceso se ejecute har que el proceso se ejecute durante una simulacin.durante una simulacin.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ProcesosProcesos
La asignacin de seales dentro de La asignacin de seales dentro de los enunciados de un proceso ocurre los enunciados de un proceso ocurre en forma secuencial, de modo que en forma secuencial, de modo que una asignacin posterior siempre una asignacin posterior siempre puede cambiar el valor de una seal puede cambiar el valor de una seal asignada previamente dentro del asignada previamente dentro del bloque.bloque.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
ProcesosProcesos Al usar procesos, un error clsico es Al usar procesos, un error clsico es
olvidar incluir enunciados que asignen olvidar incluir enunciados que asignen valores de valores de default default a todas las salidas.a todas las salidas.
Si las herramientas de sntesis VHDL Si las herramientas de sntesis VHDL encuentran una trayectoria lgica tal que encuentran una trayectoria lgica tal que una salida no tenga valor asignado en el una salida no tenga valor asignado en el proceso, asumirn que el valor actual proceso, asumirn que el valor actual debe retenerse, generando un debe retenerse, generando un latch latch en el en el circuito.circuito.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de PruebaBanco de Prueba
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
LIBRARY WORK;USE WORK.all;
------------------------------------------------------------------------- Declaracin del banco de prueba-----------------------------------------------------------------------ENTITY mux2a1_tb ISEND ENTITY mux2a1_tb;
Modelo VHDL de la mesa de Modelo VHDL de la mesa de laboratoriolaboratorio
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de PruebaBanco de Prueba
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
LIBRARY WORK;USE WORK.all;
------------------------------------------------------------------------- Declaracin del banco de prueba-----------------------------------------------------------------------ENTITY mux2a1_tb ISEND ENTITY mux2a1_tb;
Modelo VHDL de la mesa de Modelo VHDL de la mesa de laboratoriolaboratorio
WORKWORK es el nombre es el nombre de la coleccin que se de la coleccin que se est probando.est probando.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de PruebaBanco de Prueba
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
LIBRARY WORK;USE WORK.all;
------------------------------------------------------------------------- Declaracin del banco de prueba-----------------------------------------------------------------------ENTITY mux2a1_tb ISEND ENTITY mux2a1_tb;
Modelo VHDL de la mesa de Modelo VHDL de la mesa de laboratoriolaboratorio
No hay No hay interfase interfase exterior. Se declara exterior. Se declara la mesa del la mesa del laboratorio vaca.laboratorio vaca.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Componentes para el Banco Componentes para el Banco de Pruebade Prueba
-------------------------------------------------------------------------------------------------------------------------------------------------- Definicin del banco de pruebaDefinicin del banco de prueba----------------------------------------------------------------------------------------------------------------------------------------------ARCHITECTURE prueba OF mux2a1_ARCHITECTURE prueba OF mux2a1_tbtb ISIS
---- Declaracin del componente bajo prueba (Declaracin del componente bajo prueba (cbpcbp))COMPONENTCOMPONENT mux2a1mux2a1 ISISPORT(PORT(
s:s: ININ stdstd__logiclogic;; ---- selectorselectora,b:a,b: ININ stdstd__logiclogic_vector(7 DOWNTO 0);_vector(7 DOWNTO 0); ---- entradasentradaso:o: OUTOUT stdstd__logiclogic_vector(7 DOWNTO 0)_vector(7 DOWNTO 0) ---- salidasalida
););END COMPONENTEND COMPONENT mux2a1;mux2a1;
---- Declaracin de seales de pruebaDeclaracin de seales de pruebaSIGNALSIGNAL clkclk:: stdstd__logiclogic;;SIGNAL a,b,o:SIGNAL a,b,o: stdstd__logiclogic_vector(7 DOWNTO 0);_vector(7 DOWNTO 0);
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Instancias y Procesos del Instancias y Procesos del Banco de PruebaBanco de Prueba
BEGINBEGINcbpcbp: : COMPONENTCOMPONENT mux2a1mux2a1 ---- instancia del dispositivoinstancia del dispositivo
PORT MAP(PORT MAP(clkclk,a,b,o,a,b,o););
reloj: PROCESS ISreloj: PROCESS IS ---- generacin de relojgeneracin de relojBEGINBEGIN
clkclk
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Instancias y Procesos del Instancias y Procesos del Banco de PruebaBanco de Prueba
BEGINBEGINcbpcbp: : COMPONENTCOMPONENT mux2a1mux2a1 ---- instancia del dispositivoinstancia del dispositivo
PORT MAP(PORT MAP(clkclk,a,b,o,a,b,o););
reloj: PROCESS ISreloj: PROCESS IS ---- generacin de relojgeneracin de relojBEGINBEGIN
clkclk
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Instancias y Procesos del Instancias y Procesos del Banco de PruebaBanco de Prueba
BEGINBEGINcbpcbp: : COMPONENTCOMPONENT mux2a1mux2a1 ---- instancia del dispositivoinstancia del dispositivo
PORT MAP(PORT MAP(clkclk,a,b,o,a,b,o););
reloj: PROCESS ISreloj: PROCESS IS ---- generacin de relojgeneracin de relojBEGINBEGIN
clkclk
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Codificador de Ejemplo: Codificador de Prioridad de Ocho NivelesPrioridad de Ocho Niveles
((IFs IFs anidados)anidados)
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY prior8 ISPORT(
SIGNAL i1,i2,i3,i4,i5,i6,i7: IN std_logic;SIGNAL sel: OUT std_logic_vector(2 DOWNTO 0)
);END ENTITY prior8;
------------------------------------------------------------------------- Definicin del dispositivo-----------------------------------------------------------------------ARCHITECTURE if_else OF prior8 ISBEGIN
comb: PROCESS(i1,i2,i3,i4,i5,i6,i7) ISBEGIN
IF(i1 = '1') THEN sel
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Codificador de Ejemplo: Codificador de Prioridad de Ocho NivelesPrioridad de Ocho Niveles
((IFs IFs independientes)independientes)ARCHITECTURE inv_if OF prior8 ISBEGIN
comb: PROCESS(i1,i2,i3,i4,i5,i6,i7) ISBEGIN
sel
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de Prueba (Contador)Banco de Prueba (Contador)contador: PROCESS(clk) IS
VARIABLE cuenta,tmp: INTEGER := 0;BEGIN
IF((clk = '1')AND(clk'EVENT)) THENcuenta := cuenta + 1;tmp := cuenta;FOR k IN 0 TO 6 LOOP
IF(tmp REM 2 = 1) THENi(k)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de Prueba (Contador)Banco de Prueba (Contador)contador: PROCESS(clk) IS
VARIABLE cuenta,tmp: INTEGER := 0;BEGIN
IF((clk = '1')AND(clk'EVENT)) THENcuenta := cuenta + 1;tmp := cuenta;FOR k IN 0 TO 6 LOOP
IF(tmp REM 2 = 1) THENi(k)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de Prueba (Contador)Banco de Prueba (Contador)contador: PROCESS(clk) IS
VARIABLE cuenta,tmp: INTEGER := 0;BEGIN
IF((clk = '1')AND(clk'EVENT)) THENcuenta := cuenta + 1;tmp := cuenta;FOR k IN 0 TO 6 LOOP
IF(tmp REM 2 = 1) THENi(k)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Banco de Prueba (Contador)Banco de Prueba (Contador)contador: PROCESS(clk) IS
VARIABLE cuenta,tmp: INTEGER := 0;BEGIN
IF((clk = '1')AND(clk'EVENT)) THENcuenta := cuenta + 1;tmp := cuenta;FOR k IN 0 TO 6 LOOP
IF(tmp REM 2 = 1) THENi(k)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Otros Elementos Otros Elementos SecuencialesSecuenciales
FOR FOR variable/sealvariable/seal IN IN aa TO/DOWNTO TO/DOWNTO bb LOOPLOOP
END LOOP;END LOOP;
CASECASE variable/sealvariable/seal ISISWHENWHEN valorvalor =>=> enunciadoenunciado ;;WHEN OTHERS =>WHEN OTHERS => defaultdefault ;;
END CASE;END CASE;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 2: DecodificadorPrctica 2: Decodificador
Selector 1/8, salida activa bajaSelector 1/8, salida activa bajaHabilitacin, activa altaHabilitacin, activa alta
Definir dos Definir dos arquitecturasarquitecturas, con y sin , con y sin uso de procesos.uso de procesos.
Definir un banco de prueba Definir un banco de prueba adecuado.adecuado.
Simular y verificar operacinSimular y verificar operacin
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Sumador de RizoEjemplo: Sumador de Rizo
ENTITY sum4b ISPORT(
SIGNAL a,b: IN std_logic_vector(3 DOWNTO 0);SIGNAL cin: IN std_logic;SIGNAL sum: OUT std_logic_vector(3 DOWNTO 0);SIGNAL cout: OUT std_logic
);END ENTITY sum4b;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Sumador de RizoEjemplo: Sumador de RizoARCHITECTURE rizo OF sum4b IS
-- Buffer de acarreos internosSIGNAL c: std_logic_vector(4 DOWNTO 0);
BEGINcomb: PROCESS(a,b,cin,c) ISBEGIN
c(0)
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Sumador de RizoSumador de RizoRetardo de propagacin Retardo de propagacin #bits#bits(@0) c(@0) c00 = = ccinin(@2) s(@2) s00 = a= a00bb00cc00(@3) c(@3) c11 = (a= (a00bb00)c)c00+a+a00bb00(@4) s(@4) s11 = a= a11bb11[[(a(a00bb00) c) c00+a+a00bb00]](@5) c(@5) c22 = (a= (a11bb11) ) [[(a(a00bb00) c) c00+a+a00bb00]+a]+a11bb11(@6) s(@6) s22 = a= a22bb22[[(a(a11bb11) ) [[(a(a00bb00) c) c00+a+a00bb00]+a]+a11bb11]](@7) c(@7) c33 = (a= (a22bb22) ) [[(a(a11bb11) ) [[(a(a00bb00) c) c00+a+a00bb00]+a]+a11bb11]+a]+a22bb22(@8) s(@8) s33 = = aa33bb33[[(a(a22bb22) ) [[(a(a11bb11) ) [[(a(a00bb00) c) c00+a+a00bb00]+a]+a11bb11]+]+aa33bb33]](@9) c(@9) c44 = (= (aa33bb33) ) [[(a(a22bb22) ) [[(a(a11bb11) )
[[(a(a00bb00)c)c00+a+a00bb00]+a]+a11bb11]+a]+a22bb22]+]+aa33bb33
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Propagacin/Generacin de Propagacin/Generacin de AcarreoAcarreo
ssii = = aaiibbiicciiccii+1+1 = (= (aaiibbii))ccii++aaiibbii
ppii == aaiibbii ccii se propagar a se propagar a ccii+1+1 si psi pi i = = 11
ggii = = aaiibbii ccii+1+1 se generar si se generar si ggii = 1= 1
ssii = p= piicciiccii+1+1 = p= piiccii++ggii
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Sumador de Acarreo AnticipadoSumador de Acarreo AnticipadoRetardo de propagacin constanteRetardo de propagacin constante(costo:(costo: fanfan--in alto)in alto)
(@0) c(@0) c00 = = ccinin(@2) s(@2) s00 = p= p00cc00(@3) c(@3) c11 = p= p00cc00+g+g00(@4) s(@4) s11 = p= p11[[pp00cc00+g+g00]](@3) c(@3) c22 = p= p11c1c1+g+g11= p= p11pp00cc00+ p+ p11 gg00+g+g11(@4) s(@4) s22 = p= p22((pp11pp00cc00+ p+ p11 gg00+g+g11))(@3) c(@3) c33 = p= p22cc22+g+g22= p= p22pp11pp00cc00+ p+ p22pp11gg00+ p+ p22gg11+g+g22(@4) s(@4) s33 = p= p33((pp22pp11pp00cc00+ p+ p22pp11gg00+ p+ p22gg11+g+g22))(@3) c(@3) c44 = p= p33cc33+g+g33= p= p33pp22pp11pp00cc00+p+p33pp22pp11gg00+p+p33pp22gg11+p+p33gg2 2 +g+g33
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 3: Sumador con Prctica 3: Sumador con Acarreo Anticipado de Acarreo Anticipado de
Cuatro BitsCuatro Bits
Disear, sintetizar y verificar un Disear, sintetizar y verificar un sumador de cuatro bits con acarreo sumador de cuatro bits con acarreo anticipado.anticipado.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
TemarioTemario
Introduccin al lenguaje VHDLIntroduccin al lenguaje VHDL Sntesis de circuitos Sntesis de circuitos combinacionalescombinacionales Sntesis de circuitos secuencialesSntesis de circuitos secuenciales Sntesis de sistemas completosSntesis de sistemas completos
Experimetos Experimetos con con VeriBestVeriBest 99.099.0
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Modelo Secuencial Modelo Secuencial MonofaseMonofase
Lgica Lgica combinacionalcombinacional
Memoria de estadoMemoria de estadoedoedo_actual_actualedoedo_siguiente_siguiente
clkclk resetreset
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Salidas Tipo Salidas Tipo MooreMoore
combcomb: PROCESS(: PROCESS(edoedo_actual) IS_actual) IS
edoedo: PROCESS(: PROCESS(clkclk,,resetreset,,edoedo_siguiente) IS_siguiente) IS
salidassalidas
edoedo_actual_actual
edoedo_siguiente_siguiente
clkclk resetreset
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Salidas Tipo Salidas Tipo MealyMealy
combcomb: PROCESS(entradas,: PROCESS(entradas, edoedo_actual) IS_actual) IS
edoedo: PROCESS(: PROCESS(clkclk,,resetreset,,edoedo_siguiente) IS_siguiente) IS
entradasentradas salidassalidas
edoedo_actual_actual
edoedo_siguiente_siguiente
clkclk resetreset
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Registro con Ejemplo: Registro con Carga ParalelaCarga Paralela
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY rld8b ISPORT(
SIGNAL clk, reset, ld: IN std_logic;SIGNAL din: IN std_logic_vector(7 DOWNTO 0);SIGNAL dout: OUT std_logic_vector(7 DOWNTO 0);
);END ENTITY rld8b;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Procesos Procesos combcomb//edoedoARCHITECTURE mealy OF rld8b ISSIGNAL edo_actual, edo_siguiente : std_logic_vector(7 DOWNTO 0);BEGIN
dout
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Procesos Procesos combcomb//edoedoARCHITECTURE mealy OF rld8b ISSIGNAL edo_actual, edo_siguiente : std_logic_vector(7 DOWNTO 0);BEGIN
dout
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 4: Registro de Prctica 4: Registro de Corrimiento con Carga Corrimiento con Carga
ParalelaParalela Modificar el registro rld8b para que Modificar el registro rld8b para que
acepte tambin una entrada acepte tambin una entrada sdinsdin de un de un bit. Cuando bit. Cuando ldld est inactiva, el registro est inactiva, el registro deber correr hacia la izquierda con cada deber correr hacia la izquierda con cada flanco positivo de flanco positivo de clkclk, poniendo en el bit , poniendo en el bit cero el valor presente en cero el valor presente en sdinsdin..
Sintetizar y verificar la operacin del Sintetizar y verificar la operacin del registro.registro.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Mquinas de Estados Mquinas de Estados FinitosFinitos
Dos opciones para especificar los Dos opciones para especificar los estados del autmata:estados del autmata:
un patrn de bits por estadoun patrn de bits por estadoCONSTANTCONSTANT EDOxEDOx: : stdstd__logiclogic_vector(N DOWNTO 0) _vector(N DOWNTO 0) :=:=
xxxxxxxxedoedo_actual 0);
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Contador LocoEjemplo: Contador Loco
Un contador Un contador sncrono sncrono de tres bits de tres bits tiene una entrada de control de tiene una entrada de control de modo, m. modo, m.
Si m = 0, la cuenta es ascendente Si m = 0, la cuenta es ascendente en cdigo binario.en cdigo binario.
Si m = 1, la cuenta es ascendente Si m = 1, la cuenta es ascendente en cdigo en cdigo GrayGray..
Manejo estndar del Manejo estndar del sobreflujosobreflujo..
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Diagrama de Ejemplo: Diagrama de estadosestados
SS00 SS11 SS22 SS33
SS77SS66SS55SS44
resetreset
m = 0m = 0
m = 1m = 1
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Patrn de Bits Ejemplo: Patrn de Bits por Estadopor Estado
000000 001001 010010 011011
111111110110101101100100
resetreset
m = 0m = 0
m = 1m = 1
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Contador LocoEjemplo: Contador Loco
------------------------------------------------------------------------- Declaracin del dispositivo-----------------------------------------------------------------------ENTITY cntloco ISPORT(
SIGNAL clk, reset, m: IN std_logic;SIGNAL dout: OUT std_logic_vector(2 DOWNTO 0);
);END ENTITY cntloco;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Contador LocoEjemplo: Contador LocoARCHITECTURE mealy OF cntloco ISSIGNAL edo_actual, edo_siguiente : std_logic_vector(2 DOWNTO 0);CONSTANT S0: std_logic_vector(2 DOWNTO 0) := 000;CONSTANT S1: std_logic_vector(2 DOWNTO 0) := 001;CONSTANT S2: std_logic_vector(2 DOWNTO 0) := 010;CONSTANT S3: std_logic_vector(2 DOWNTO 0) := 011;CONSTANT S4: std_logic_vector(2 DOWNTO 0) := 100;CONSTANT S5: std_logic_vector(2 DOWNTO 0) := 101;CONSTANT S6: std_logic_vector(2 DOWNTO 0) := 110;CONSTANT S7: std_logic_vector(2 DOWNTO 0) := 111;BEGIN
dout
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Ejemplo: Contador LocoEjemplo: Contador Loco. . .comb: PROCESS(m, edo_actual) ISBEGIN
edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente edo_siguiente
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 5: Contador LocoPrctica 5: Contador Loco
Sintetizar y verificar la operacin del Sintetizar y verificar la operacin del contador loco con un banco de prueba contador loco con un banco de prueba adecuado.adecuado.
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
TemarioTemario
Introduccin al lenguaje VHDLIntroduccin al lenguaje VHDL Sntesis de circuitos Sntesis de circuitos combinacionalescombinacionales Sntesis de circuitos secuencialesSntesis de circuitos secuenciales Sntesis de sistemas completosSntesis de sistemas completos
Experimetos Experimetos con con VeriBestVeriBest 99.099.0
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
VHDL EstructuralVHDL Estructural Hasta ahora, cada dispositivo se ha Hasta ahora, cada dispositivo se ha
diseado, compilado y simulado en forma diseado, compilado y simulado en forma independienteindependiente
Para conectar varios dispositivos, se Para conectar varios dispositivos, se requiere definir una arquitectura requiere definir una arquitectura estructural (componentes + conexiones)estructural (componentes + conexiones)
Ejemplo mnimo: banco de pruebaEjemplo mnimo: banco de prueba
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
VHDL EstructuralVHDL Estructural Beneficios:Beneficios:
al sintetizar una descripcin estructural, al sintetizar una descripcin estructural, los elementos individuales VHDL se los elementos individuales VHDL se colapsan dentro de un solo bloque, colapsan dentro de un solo bloque, resultando quiz en lgica mas eficienteresultando quiz en lgica mas eficiente
portabilidadportabilidad
Problemas:Problemas: fcilmente se equivocan las conexionesfcilmente se equivocan las conexiones no puede rescatarse el diseo original a no puede rescatarse el diseo original a partir del archivo de sntesispartir del archivo de sntesis
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Modelo para VHDL Modelo para VHDL EstructuralEstructural
ENTITY nombre ISENTITY nombre ISPORT(...); PORT(...); END ENTITY nombre;END ENTITY nombre;
ARCHITECTURE estructural OF nombre ISARCHITECTURE estructural OF nombre ISCOMPONENT tipo1 PORT( ); END COMPONENT tipo1 PORT( ); END
COMPONENT;COMPONENT;COMPONENT tipo2 PORT( ); END COMPONENT tipo2 PORT( ); END
COMPONENT;COMPONENT;SIGNAL seal1, seal2, SIGNAL seal1, seal2,
BEGINBEGINc1: tipo1 PORT MAP( );c1: tipo1 PORT MAP( );c2: tipo2 PORT MAP();c2: tipo2 PORT MAP();......
END ARCHITECTURE estructural;END ARCHITECTURE estructural;
-
Procesamiento Digital de Seales e Imgenes BiomdicasProcesamiento Digital de Seales e Imgenes Biomdicas UAM UAM IztapalapaIztapalapa
Prctica 6: VHDL Prctica 6: VHDL EstructuralEstructural
Manejar el decodificador de la prctica Manejar el decodificador de la prctica 2 con el contador loco de la prctica 5, 2 con el contador loco de la prctica 5, a travs de una descripcin estructural.a travs de una descripcin estructural.
Comprobar la operacin del circuito con Comprobar la operacin del circuito con un banco de prueba adecuado.un banco de prueba adecuado.