Circuitos Digitales II TestBench, Generics, Generate y Más sobre Procesos Semana No.4 Semestre 2008-2 Prof. Gustavo Patiño Prof. Eugenio.

Slides:



Advertisements
Presentaciones similares
Métodos de diseño en VHDL.
Advertisements

MICROELECTRÓNICA IE. MSc. José Armando Becerra Vargas
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Circuitos Digitales II
Circuitos Digitales II The General Computer Architecture The Pipeline Design Semana No.11 Semestre Prof. Gustavo Patiño Prof.
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Circuitos Digitales II
Vhdl para síntesis Alfredo Rosado Muñoz Universidad de Valencia Ingeniería Electrónica Diseño de Circuitos y Sistemas Electrónicos.
2008Control Digital Clase 7 Técnicas de Análisis de Estabilidad.
Curso de Semiconductores
Búsquedas con expresiones lógicas Oscar Ortega Lobo Ingeniería de Sistemas Universidad de Antioquia, 2001.
Curso Circuitos Digitales I Sesión 2 (complemento)
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre Prof. Eugenio Duque Pérez Prof. Felipe.
Diseño de sistemas Digitales Semestre 2014-II
Circuitos Digitales II y Lab. Introducción al Curso Semana No.1 Semestre Prof. Eugenio Duque Pérez Prof. Gustavo Patiño A.
El procesador: la ruta de datos y el control (II Parte)
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
Circuitos Digitales II
Instrucciones para Informar al Posgrado, los Cursos que como Docente va a dictar en el y forma de diligenciar la pre-matrícula de sus estudiantes.
Presentación Adptada Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N.
Algoritmo y Estructura de Datos I
Introducción a la Computación (7ma Semana) Lunes 16 de Abril del 2007
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (11va Semana) Lunes 14 de Mayo Ing. Juan José Montero Román.
Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007
Visita: Por la construcción de Comunidad Universitaria Departamento de Promoción de la Salud y Prevención de la Enfermedad.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (7ma Semana) Lunes 18 de Setiembre del 2006 Juan José Montero Román.
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
CURSO: UNIDAD 4: LENGUAJES HDL
Electrónica Análoga I Prof. Dr. Gustavo Patiño MJ
VHDL.
HERRAMIENTAS CAD Jorge Felipe Blanco Medina Rafael Duran Oscar Pizza.
GESTION DE LA JERARQUIA
Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica Abril 2013 Sistemas Digitales Electrónica Digital I Diseño Combinacional.
Capítulo.2 - Fundamentos del Lenguaje VHDL
Sistemas Digitales Electrónica Digital I Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica Álgebra Booleana.
Arquitectura de Máquinas Computadoras II
VHDL Breve introducción.
Diseño lógico combinacional mediante VHDL
Programación 1 (01) Prof. Flor Narciso Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
El Diodo modelo de baja frecuencia y pequeña señal
Facultad de Ingeniería Curso: “ELECTROTECNIA Y ELECTRÓNICA” Curso: “ELECTROTECNIA Y ELECTRÓNICA”
Maestría en Ingeniería Electrónica
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Integración de entidades en VHDL
1 ICI-3018 ELECTROTECNIA Y ELECTRONICA Unidad I: Clase 1 Aspectos Administrativos UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Escuela de Ingeniería.
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 Semestre 2005-I.
Universidad Tecnológica del Centro Programa de la Asignatura ARQUITECTURA DEL COMPUTADOR Universidad Tecnológica del Centro Programa de la Asignatura ARQUITECTURA.
Diseño lógico secuencial con VHDL
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 INTRODUCCIÓN Eduardo.
Prueba de Entrada Universidad Nacional de Ingeniería Facultad de Ingeniería Química y Textil.
Introducción. ¿Que es una computadora? Maquina electrónica capaz de resolver problemas ejecutando las instrucciones de un programa: 1.recibe datos, 2.los.
 La historia de las computadoras personales comenzó en los años  Una computadora personal esta orientado al uso individual y se diferencia de.
LA ARQUITECTURA O LA FUNCIONALIDAD DEL SISTEMA DefiniciónDefiniciónDefinición Declaración y reglas sintácticas.Declaración y reglas sintácticas.Declaración.
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 Algebra de Boole.
Electrónica Análoga I Prof. Gustavo Patiño. M.Sc, Ph.D MJ
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 08.
3A3A3A3A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
BANCOS DE PRUEBAS CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
MAPAS NUMERADOS DE ESPAÑA Material para una prueba.
Laboratorio de Arduino
Repaso de los números
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
UNIVERSIDAD RICARDO PALMA FACULTAD DE MEDICINA HUMANA SEMESTRE ACADÉMICO 2016-I.
BANCOS DE PRUEBA CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
En VHDL existen tres tipos de declaraciones concurrentes;
Hardware Description Language
Transcripción de la presentación:

Circuitos Digitales II TestBench, Generics, Generate y Más sobre Procesos Semana No.4 Semestre Prof. Gustavo Patiño Prof. Eugenio Duque Departamento de Ingeniería Electrónica Facultad de Ingeniería 1

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Temario Repaso : Instrucciones de Asignación Dentro de Arquitecturas, fuera de procesos. Dentro de Procesos. Ejemplos : Máquinas de Estados VHDL Estructural Síntesis vs Simulación Test Bench (Banco de Prueba) Generics Generic Map Generate Statement FOR-scheme IF-scheme 2

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Las instrucciones condicionales y asignaciones seleccionadas difieren considerablemente en su gramática dentro y fuera de los Process. Fuera de un Process una asignación seleccionada es funcionalmente equivalente a una instrucción case dentro de un Process. Los procesos pueden ser utilizados para lógica combinacional, pero suelen ser más utilizados para encapsular lógica secuencial. 3 Repaso : Instrucciones de Asignación

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Instrucciones de asignación concurrente: Asignación Condicional target_signal <= value1 when condition1 else value2 when condition2 else... valueN-1 when conditionN-1 else valueN; WHEN -ELSE.… Value N Value N-1 Condition N-1 Condition 2 Condition 1 Value 2 Value 1 Target Signal …

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Formato para múltiples k-opciones WHEN value WHEN value_1 to value_2 WHEN value_1 | value_2 |.... | value N 5

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Instrucciones de asignación concurrente: Asignación seleccionada with choice_expression select target_signal <= expression1 when choices_1, expression2 when choices_2,... expressionN when choices_N; With –Select – When choices_1 choices_2 choices_N expression1 target_signal choice expression expression2 expressionN Los valores deben ser constantes 6

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Formato para múltiples k-opciones WITH sel SELECT y <= a WHEN 000, b WHEN 011 to "110, c WHEN 001 | 111, d WHEN OTHERS; 7

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Instrucciones condicionales dentro de Process CASE – WHEN CASE variable/señal IS WHEN valor => enunciado ; … WHEN OTHERS => default ; END CASE; 8

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Instrucciones condicionales dentro de Process FOR - LOOP FOR variable/señal IN a TO/DOWNTO b LOOP … END LOOP; 9

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Circuitos secuenciales complejos Los circuitos que sean más complejos pueden ser construidos usando Máquinas de Estados Finitos (FSM: Finite State Machines). Las FSM son fácilmente especificadas usando instrucciones CASE/WHEN dentro de uno o varios Process. 10

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Repaso : Modelo secuencial mono fase 11

Señales vs Variables dentro de Process Ejemplos 12

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Código basado en el uso de Señales 15

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Código basado en el uso de variables 16

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia VHDL Estructural Para conectar varios dispositivos, se requiere definir una arquitectura estructural (componentes + conexiones) Ejemplo mínimo: Test Bench 17

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia VHDL Estructural (…cont) Beneficios: Al sintetizar una descripción estructural, los elementos individuales VHDL se colapsan dentro de un solo bloque, resultando quizá en lógica más eficiente. Portabilidad. Problemas: Fácilmente se equivocan las conexiones. No se puede rescatarse el diseño original a partir del archivo de síntesis. 18

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Modelo para VHDL estructural ENTITY nombre IS PORT(...); END ENTITY nombre; ARCHITECTURE estructural OF nombre IS COMPONENT tipo1 PORT( … ); END COMPONENT; COMPONENT tipo2 PORT( … ); END COMPONENT; … SIGNAL señal1, señal2, … BEGIN c1: tipo1 PORT MAP( …); c2: tipo2 PORT MAP(…);... END ARCHITECTURE estructural; ENTITY nombre IS PORT(...); END ENTITY nombre; ARCHITECTURE estructural OF nombre IS COMPONENT tipo1 PORT( … ); END COMPONENT; COMPONENT tipo2 PORT( … ); END COMPONENT; … SIGNAL señal1, señal2, … BEGIN c1: tipo1 PORT MAP( …); c2: tipo2 PORT MAP(…);... END ARCHITECTURE estructural; 19

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia VHDL Estructural (…cont) Components Once you have defined an entity, the next thing is to instantiate it as a component within another entitys architecture. The interface of the component must be defined in any architecture that instantiates it. Then, any number of port map statements create instances of that component. Example : Here is how to connect eight of the full adders to give a eight-bit adder: 20

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ejemplo : Sumador completo de 1- bit library ieee; -- add this to the IEEE library use ieee.std_logic_1164.all; -- includes std_ulogic entity full_adder is port(a, b, c : in std_ulogic; sum, carry : out std_ulogic); end full_adder; architecture imp of full_adder is begin sum <= (a xor b) xor c; -- combinational logic carry <= (a and b) or (a and c) or (b and c); end imp; library ieee; -- add this to the IEEE library use ieee.std_logic_1164.all; -- includes std_ulogic entity full_adder is port(a, b, c : in std_ulogic; sum, carry : out std_ulogic); end full_adder; architecture imp of full_adder is begin sum <= (a xor b) xor c; -- combinational logic carry <= (a and b) or (a and c) or (b and c); end imp; 21

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ejemplo : Sumador completo de 8- bits usando components library ieee; use ieee.std_logic_1164.all; entity add2 is port (A, B : in std_logic_vector(7 downto 0); sum_out : out std_logic_vector(8 downto 0)); end add2; architecture imp of add2 is component full_adder port (a, b, c : in std_ulogic; sum, carry : out std_ulogic); end component; signal carry : std_ulogic_vector(6 downto 0); begin bit0 : full_adder port map (a => A(0), b => B(0), c => 0, sum => sum_out(0), carry => carry(0)); bit1 : full_adder port map (a => A(1), b => B(1), c => carry(0), sum => sum_out (1), carry => carry(1)); bit2 : full_adder port map (a => A(2), b => B(2), c => carry(1), sum => sum_out (2), carry => carry(2)); bit3 : full_adder port map (a => A(3), b => B(3), c => carry(2), sum => sum_out (3), carry => carry(3)); bit4 : full_adder port map (a => A(4), b => B(4), c => carry(3), sum => sum_out (4), carry => carry(4)); bit5 : full_adder port map (a => A(5), b => B(5), c => carry(4), sum => sum_out (5), carry => carry(5)); bit6 : full_adder port map (a => A(6), b => B(6), c => carry(5), sum => sum_out (6), carry => carry(6)); bit7 : full_adder port map (a => A(7), b => B(7), c => carry(6), sum => sum_out (7), carry => sum_out (8)); end imp; 22

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Síntesis vs Simulación Todos los diseños sintetizables pueden ser simulados. No todos los diseños para simulación pueden ser sintetizados. Considere, por ejemplo, el siguiente código: 23

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Síntesis vs Simulación (…cont) La entrada din es asignada a dout después de 10ns (after 10ns) Puede esto representar un sistema del mundo real ?SI Será posible de implementar esto en un dispositivo ?TAL VEZ Será posible de implementar esto en todos los dispositivos ?NO Esta arquitectura puede ser simulado más no sintetizado. Algunas herramientas de diseño en VHDL sólo permiten el uso de palabras claves sintetizables. La mayoría de las herramientas aceptan un subconjunto sintetizable de VHDL93. 24

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Test Bench (Banco de Prueba) -- Modelo VHDL para elaboración de un testbench en VHDL: LIBRARY IEEE; USE IEEE.std_logic_1164.all; LIBRARY WORK; USE WORK.all; Declaración del banco de prueba ENTITY mux2a1_tb IS END ENTITY mux2a1_tb; -- Modelo VHDL para elaboración de un testbench en VHDL: LIBRARY IEEE; USE IEEE.std_logic_1164.all; LIBRARY WORK; USE WORK.all; Declaración del banco de prueba ENTITY mux2a1_tb IS END ENTITY mux2a1_tb; No hay interface externa. Básicamente debido a que la declaración de un Testbench no es en si mismo un bloque circuital. Es sólo la especificación temporal de variaciones de señales para efectos de simulación. No hay interface externa. Básicamente debido a que la declaración de un Testbench no es en si mismo un bloque circuital. Es sólo la especificación temporal de variaciones de señales para efectos de simulación. Eventualmente WORK es la colección de diseños que se desean simular. 25

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Componentes del TestBench Definición del banco de prueba ARCHITECTURE prueba OF mux2a1_tb IS -- Declaración del componente bajo prueba (cbp) COMPONENT mux2a1 IS PORT( s: IN std_logic ; -- selector a,b: IN std_logic_vector(7 DOWNTO 0); -- entradas o: OUT std_logic_vector(7 DOWNTO 0) -- salida ); END COMPONENT mux2a1; -- Declaración de señales de prueba SIGNAL clk: std_logic; SIGNAL a,b,o: std_logic_vector(7 DOWNTO 0); Definición del banco de prueba ARCHITECTURE prueba OF mux2a1_tb IS -- Declaración del componente bajo prueba (cbp) COMPONENT mux2a1 IS PORT( s: IN std_logic ; -- selector a,b: IN std_logic_vector(7 DOWNTO 0); -- entradas o: OUT std_logic_vector(7 DOWNTO 0) -- salida ); END COMPONENT mux2a1; -- Declaración de señales de prueba SIGNAL clk: std_logic; SIGNAL a,b,o: std_logic_vector(7 DOWNTO 0); 26

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Instancias y procesos del testbench BEGIN cbp : COMPONENT mux2a1 -- instancia del dispositivo PORT MAP( clk,a,b,o); reloj: PROCESS IS -- generación de reloj BEGIN clk <= '1'; WAIT FOR 25 ns ; clk <= '0'; WAIT FOR 25 ns ; END PROCESS reloj; estimulación: PROCESS IS -- patrones de estimulación BEGIN a <= " "; -- define entrada 'a' b <= " "; -- define entrada 'b' WAIT ; END PROCESS estimulación; END ARCHITECTURE prueba; BEGIN cbp : COMPONENT mux2a1 -- instancia del dispositivo PORT MAP( clk,a,b,o); reloj: PROCESS IS -- generación de reloj BEGIN clk <= '1'; WAIT FOR 25 ns ; clk <= '0'; WAIT FOR 25 ns ; END PROCESS reloj; estimulación: PROCESS IS -- patrones de estimulación BEGIN a <= " "; -- define entrada 'a' b <= " "; -- define entrada 'b' WAIT ; END PROCESS estimulación; END ARCHITECTURE prueba; Component/Port map : Genera una instancia del componente y lo conecta a las señales del circuito al cual pertenece. Component/Port map : Genera una instancia del componente y lo conecta a las señales del circuito al cual pertenece. Wait/wait for: Le indican al simulador que esperen infinitamente por el tiempo especificado. Wait/wait for: Le indican al simulador que esperen infinitamente por el tiempo especificado. 27

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generics Generics provide a method to communicate static information to an architecture from the external environment. They are passed through the entity construct. 28

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generics – Example 29

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generic Map 30

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generic Map : Sintax 31

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Another Example 32

Generate Statement FOR-scheme and IF-Scheme 33

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generate Statement VHDL provides the GENERATE statement to create well-patterned structures easily. Some structures in digital hardware are repetitive in nature (e.g. RAMs, adders). Any VHDL concurrent statement may be included in a GENERATE statement, including another GENERATE statement. Specifically, component instantiations may be made within GENERATE bodies 34

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Generate Statement (…cont) VHDL provides two different schemes of the GENERATE statement : FOR-scheme IF-scheme. The FOR-scheme is reminiscent of a FOR loop used for sequence control in many programming languages. The FOR-scheme generates the included concurrent statements the assigned number of times. In the FOR-scheme, all of the generated concurrent statements must be the same. 35

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia For – Scheme All objects created are similar The GENERATE parameter must be discrete and is undefined outside the GENERATE statement (i.e. it is not a variable or signal visible elsewhere in the architecture). Loop cannot be terminated early 36

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia For – Scheme : Example 37

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia IF – Scheme Allows for conditional creation of components. Cannot use ELSE or ELSIF clauses with the IF- scheme. 38

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia IF – Scheme (…cont) One obvious difference between this scheme and the FOR-scheme is that all the concurrent statements generated do not have to be the same. While this IF statement may seem reminiscent to the IF-THEN ELSE constructs in programming languages, note that the GENERATE IF-scheme does not provide ELSE or ELSIF clauses. 39

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia IF – Scheme : Example 40