SlideShare una empresa de Scribd logo
1 de 7
Sergio Rodríguez Molina
Ing. Sistemas III año
Un multiplexor es un dispositivo
lógico que recibe información
por sus dos o más entradas (de
uno o mas bits de ancho) y
mediante una señal de control
decidimos cual de la entradas
aparece reflejada en la salida;
esto es, un convertidor de
paralelo a serie. Si tienen una
señal de "enable" esta hace
que el multiplexor esté
habilitado o no.
Los multiplexores son circuitos combinacionales convarias entradas y una salida de datos, y están dotados deentradas de control capaces de seleccionar una de lasentradas de datos para permitir su transmisión desde laentrada seleccionada a la salida que es única.
 Fecha: 1870
 Utilidad: Dispositivo que puede recibir varias entradas y
transmitirlas por un medio de transmisión compartido.
 Inventor: Émile Baudot
Entidad 1: Multiplexor de un bit y dos canales
sin "enable"
entity multiplexor is port(
a,b : in bit;
control : in bit;
enable : in bit;
c : out bit
);
end multiplexor;
En este caso, las entradas
son a y b, la señal de control
es control, la señal de
enable esenable, y la salida
es c. Todas vuelven a ser de
un bit de ancho.
Este primer ejemplo es el más sencillo de todos ya que no se puede concebir un multiplexor
con menos operatividad. Usaremos el tipo bit, que viene predefinido por VHDL, y sirve para
indicar que la señal o variable asociada es de un sólo bit. La nomenclatura usada para
designar a los puertos se mantendrá hasta el final de la práctica, no así como el nombre de
la entidad, que lo cambiaremos.
entity multiplexor is port(
a,b : in bit;
control : in bit;
enable : in bit;
c : out bit
);
end multiplexor;
En este caso, las entradas
son a y b, la señal de control
es control, la señal de enable
esenable, y la salida es c. Todas
vuelven a ser de un bit de ancho.
Para que el diseño tenga una señal de
enable, y a efectos de la entidad, solamente
debemos incluirla sin más
Entidad 2: Qué hacer para que tenga señal de "enable"
entity multiplexor is port(
a,b:in bit_vector(3 down to 0);
control:in bit;
enable :in bit;
c: out bit_vector(3 downto 0)
);
end multiplexor;
En este caso, las entradas son a y b, la
señal de control es control, la señal de
habilitación esenable, y la salida es c.
Ahora, las entradas a y b son de 4 bits de
ancho, pero como sólo son
dos, control debe seguir siendo de un solo
bit. La salida debe aumentar también para
adaptarse a las entradas.
Si queremos que cada entrada (y la salida, por supuesto), tengan más anchura, es decir, más bits, no nos sirve el
tipo bit, ya que su anchura es de un bit. Para ello deberemos usar vectores de bits, que al igual que bit está
predefinida en VHDL. En este ejemplo usaremos entradas de 4 bits, que para definirlos hay que escribir el número
de mayor peso seguido de la palabra Down to y del número de menor peso.
Entidad 3: Qué hacer para que cada canal sea de mas bits
Entidad 4: Qué hacer para que tenga más canales
Al igual que cuando queríamos que tuviese señal de
enable, si ahora queremos más canales, a efectos de la
entidad, sólo debemos añadirlos.
control enable d
XX H HHHH
LL L a
LH L b
HL L c
HH L HHHH
entity multiplexor is port(
a,b,c: in bit_vector(3 downto 0);
control:in bit_vector(1 downto 0);
enable: in bit;
d: out bit_vector(3 downto 0);
);
end multiplexor;
En este caso, las entradas son a, b, y c, la
señal de control es control, la señal de
habilitación es enable, y la salida es d. Las
entradas y la salida siguen siendo de 4 bits
de ancho, y al haber mas de
dos, control debe aumentar su anchura a
dos bits.
Arquitectura 1: Estilo algorítmico o de comportamiento usando la
entidad 4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
entity multi is port(
a, b, c :in bit_vector(3 downto
0);
enable :in bit;
control :in bit_vector(1 downto
0);
d :out bit_vector(3 downto 0)
);
end multi;
architecture archmul of multi is
begin
process (a, b, c, control,
enable)
begin
if enable='1' then d<="1111";
elsif enable='0' then
case control is
when "00" => d <= a;
when "01" => d <= b;
when "10" => d <= c;
when others => d <= "1111";
end case;
end if;
end process;
end archmul;
Cabecera del programa
Empieza el programa
Cabecera de un proceso
Empieza el proceso
Sentencia if
Sentencia elsif
Sentencia case
Acaba sentencia case
Acaba sentencia if y elsif
Acaba el proceso
Finaliza el programa
El estilo algorítmico es una forma de programación en la cual se usan los elementos propios de un lenguaje de
programación, es decir, ciclos for, while, case,... Para un multiplexor, parece hecha a la medida la
sentencia case, y para comprobar si la entrada enable está habilitada un ciclo for. Una forma de implementar el
multiplexor correspondiente a la entidad 4 sería la siguiente:
Debemos ver lo siguiente en este ejercicio:
 Entre las líneas 9 y 22 es donde se encuentra toda la operatividad del programa, es
decir que hacemos con las entradas para que se conviertan en las salidas.
 En la línea 10 empieza un proceso (process), el cual acaba en la línea 21. Si
alguna de las variables que están dentro del paréntesis cambia, el proceso se
ejecuta. Una vez ejecutado el proceso cambian las señales, no durante él.
 En la línea 12 hay una sentencia que acaba en la línea 20. Si se cumple la
condición que está después de la palabra if, se ejecuta lo que está después de la
palabra then. En caso de que la condición no se cumpla, se evalúa lo que está
detrás de la palabra elsif, y si es verdad se ejecuta lo que está después del
segundo else. Si se cumple la primera condición, es decir, que enable valga "1", el
multiplexor pasa a tener a la salida el valor "1111". Si no se cumple, pasa a
ejecutarse una case. Pulsa aquí para ver la sentencia if. Pulsa aquí para ver la
sentencia case.
 La sentencia case empieza en la línea 14 y acaba en la 29. Según los valores que
tome control, la salida d tendrá un valor u otro.
 Todas las sentencias que se abran deben estar correctamente cerradas con la
palabra clave end. Debemos saber que al cerrar una sentencia if también cerramos
a la vez todas las sentencias elsif asociadas a ese if. Lo mismo ocurre con el
programa principal, el cual debemos cerrar con end y el nombre de la arquitectura.
 La sentencia case debe estar siempre dentro de un proceso para que la sintaxis
esté correcta.

Más contenido relacionado

La actualidad más candente

Fundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalFundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalAngeleins
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronosDiego Ayala
 
Metodos de deteccion y correcion de errores
Metodos de deteccion y correcion de erroresMetodos de deteccion y correcion de errores
Metodos de deteccion y correcion de erroresFernando Luz
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de erroressanti_rafael7777
 
Comunicacion de datos
Comunicacion de datosComunicacion de datos
Comunicacion de datos1 2d
 
Repeticiones
RepeticionesRepeticiones
Repeticionesyesid19
 
Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4camnav
 
Repeticiones
RepeticionesRepeticiones
Repeticioneschembe
 
ESTATUTO WHILE
ESTATUTO WHILEESTATUTO WHILE
ESTATUTO WHILEcharnisch
 
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaDeteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaSabino Chalen Balon
 

La actualidad más candente (16)

Fundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalFundamentos de Electrónica Digital
Fundamentos de Electrónica Digital
 
C ircuitosintegrados
C ircuitosintegradosC ircuitosintegrados
C ircuitosintegrados
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronos
 
Metodos de deteccion y correcion de errores
Metodos de deteccion y correcion de erroresMetodos de deteccion y correcion de errores
Metodos de deteccion y correcion de errores
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de errores
 
PLC: Lógica de escalera
PLC: Lógica de escaleraPLC: Lógica de escalera
PLC: Lógica de escalera
 
Contadores digitales
Contadores digitalesContadores digitales
Contadores digitales
 
Diseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flopDiseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flop
 
Comunicacion de datos
Comunicacion de datosComunicacion de datos
Comunicacion de datos
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 
Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 
ESTATUTO WHILE
ESTATUTO WHILEESTATUTO WHILE
ESTATUTO WHILE
 
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaDeteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
 
Circuitos digitales
Circuitos digitales Circuitos digitales
Circuitos digitales
 
Registro de banderas y alu
Registro de banderas y aluRegistro de banderas y alu
Registro de banderas y alu
 

Destacado

Circuitos Electronicos 5
Circuitos Electronicos 5Circuitos Electronicos 5
Circuitos Electronicos 5F Blanco
 
Aditi Panditrao's Role of health professionals in promoting peace, health & d...
Aditi Panditrao's Role of health professionals in promoting peace, health & d...Aditi Panditrao's Role of health professionals in promoting peace, health & d...
Aditi Panditrao's Role of health professionals in promoting peace, health & d...Prof. Mridul Panditrao
 
Space planner - L.O.G. (fr)
Space planner - L.O.G. (fr)Space planner - L.O.G. (fr)
Space planner - L.O.G. (fr)anne_burniaux
 
Pasadena Retail Renovation
Pasadena Retail RenovationPasadena Retail Renovation
Pasadena Retail RenovationJoshua Hellon
 
United Church of Rowayton Slides
United Church of Rowayton SlidesUnited Church of Rowayton Slides
United Church of Rowayton Slidesegribin
 
Directiva representantes legales
Directiva representantes legalesDirectiva representantes legales
Directiva representantes legalesJOHN SACAJOMA
 
10th BSB FRSA FLASH 19APRIL2013
10th BSB FRSA FLASH 19APRIL201310th BSB FRSA FLASH 19APRIL2013
10th BSB FRSA FLASH 19APRIL20131BCT FRSA
 
Sandra gill (2) departamento central
Sandra gill (2) departamento centralSandra gill (2) departamento central
Sandra gill (2) departamento centralsandra gill
 
La tecnología-y-sus-múltiples-relaciones (1)
La tecnología-y-sus-múltiples-relaciones (1)La tecnología-y-sus-múltiples-relaciones (1)
La tecnología-y-sus-múltiples-relaciones (1)Edison Danilo Gomez Reyes
 
Fichas música para traballar o proxecto da auga
Fichas música para traballar o proxecto da augaFichas música para traballar o proxecto da auga
Fichas música para traballar o proxecto da augaCep Pedro Caselles
 
Fotos pelo Mundo na Semana de 02 a 05-8-015!
Fotos pelo Mundo na Semana de 02 a 05-8-015!Fotos pelo Mundo na Semana de 02 a 05-8-015!
Fotos pelo Mundo na Semana de 02 a 05-8-015!Aristides Monteiro
 
Teacher Ed Portfolio Final
Teacher Ed Portfolio FinalTeacher Ed Portfolio Final
Teacher Ed Portfolio FinalAaron Barksdale
 
que es un codificador TMECDICE
que es un codificador TMECDICEque es un codificador TMECDICE
que es un codificador TMECDICEKarloos Garcia
 
I gcdp department output
I gcdp department outputI gcdp department output
I gcdp department outputAIESECKolkata
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadoresRopoga
 

Destacado (20)

Routers (enrutador)
Routers (enrutador)Routers (enrutador)
Routers (enrutador)
 
Circuitos Electronicos 5
Circuitos Electronicos 5Circuitos Electronicos 5
Circuitos Electronicos 5
 
Aditi Panditrao's Role of health professionals in promoting peace, health & d...
Aditi Panditrao's Role of health professionals in promoting peace, health & d...Aditi Panditrao's Role of health professionals in promoting peace, health & d...
Aditi Panditrao's Role of health professionals in promoting peace, health & d...
 
Space planner - L.O.G. (fr)
Space planner - L.O.G. (fr)Space planner - L.O.G. (fr)
Space planner - L.O.G. (fr)
 
Pasadena Retail Renovation
Pasadena Retail RenovationPasadena Retail Renovation
Pasadena Retail Renovation
 
United Church of Rowayton Slides
United Church of Rowayton SlidesUnited Church of Rowayton Slides
United Church of Rowayton Slides
 
Directiva representantes legales
Directiva representantes legalesDirectiva representantes legales
Directiva representantes legales
 
10th BSB FRSA FLASH 19APRIL2013
10th BSB FRSA FLASH 19APRIL201310th BSB FRSA FLASH 19APRIL2013
10th BSB FRSA FLASH 19APRIL2013
 
Sandra gill (2) departamento central
Sandra gill (2) departamento centralSandra gill (2) departamento central
Sandra gill (2) departamento central
 
La tecnología-y-sus-múltiples-relaciones (1)
La tecnología-y-sus-múltiples-relaciones (1)La tecnología-y-sus-múltiples-relaciones (1)
La tecnología-y-sus-múltiples-relaciones (1)
 
Molodegka 16
Molodegka 16Molodegka 16
Molodegka 16
 
Fichas música para traballar o proxecto da auga
Fichas música para traballar o proxecto da augaFichas música para traballar o proxecto da auga
Fichas música para traballar o proxecto da auga
 
Fotos pelo Mundo na Semana de 02 a 05-8-015!
Fotos pelo Mundo na Semana de 02 a 05-8-015!Fotos pelo Mundo na Semana de 02 a 05-8-015!
Fotos pelo Mundo na Semana de 02 a 05-8-015!
 
Teacher Ed Portfolio Final
Teacher Ed Portfolio FinalTeacher Ed Portfolio Final
Teacher Ed Portfolio Final
 
que es un codificador TMECDICE
que es un codificador TMECDICEque es un codificador TMECDICE
que es un codificador TMECDICE
 
Oracoes sub adjetivas 2015
Oracoes sub adjetivas   2015Oracoes sub adjetivas   2015
Oracoes sub adjetivas 2015
 
Dashboards focus session
Dashboards focus sessionDashboards focus session
Dashboards focus session
 
Multiplexor
MultiplexorMultiplexor
Multiplexor
 
I gcdp department output
I gcdp department outputI gcdp department output
I gcdp department output
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadores
 

Similar a Multiplexor

Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...Hector Arellano
 
Tipos de circuitos
Tipos de circuitosTipos de circuitos
Tipos de circuitosacllecalle
 
PRESENTACION PROYECTO INTEGRADOR FER Y BETO
PRESENTACION PROYECTO INTEGRADOR FER Y BETOPRESENTACION PROYECTO INTEGRADOR FER Y BETO
PRESENTACION PROYECTO INTEGRADOR FER Y BETOFERBETO2009
 
LabVIEW Estructuras de Control
LabVIEW Estructuras de ControlLabVIEW Estructuras de Control
LabVIEW Estructuras de ControlDiego Becerra
 
Digital
DigitalDigital
Digitaltoni
 
Digital E
Digital EDigital E
Digital Etoni
 
Electrónica de control 6
Electrónica de control 6Electrónica de control 6
Electrónica de control 6Roger Roman
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionalesJOSEMI.PUNCEL
 
Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Miguel Brunings
 
Presentación de tipos de circuitos combinacionales
Presentación de tipos de circuitos combinacionalesPresentación de tipos de circuitos combinacionales
Presentación de tipos de circuitos combinacionalesoptimusjoselorde
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadorasyito24
 
Decodificador y codificador
Decodificador y codificadorDecodificador y codificador
Decodificador y codificadorLevi Gomez
 
Informe tecnico unidad3
Informe tecnico   unidad3Informe tecnico   unidad3
Informe tecnico unidad3Ricardo Ayala
 
elementos basicos de electronica digital. danna.pdf
elementos basicos de electronica digital. danna.pdfelementos basicos de electronica digital. danna.pdf
elementos basicos de electronica digital. danna.pdfjavieralderete3
 

Similar a Multiplexor (20)

Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...
 
Tipos de circuitos
Tipos de circuitosTipos de circuitos
Tipos de circuitos
 
PRESENTACION PROYECTO INTEGRADOR FER Y BETO
PRESENTACION PROYECTO INTEGRADOR FER Y BETOPRESENTACION PROYECTO INTEGRADOR FER Y BETO
PRESENTACION PROYECTO INTEGRADOR FER Y BETO
 
LabVIEW Estructuras de Control
LabVIEW Estructuras de ControlLabVIEW Estructuras de Control
LabVIEW Estructuras de Control
 
Digital
DigitalDigital
Digital
 
Digital E
Digital EDigital E
Digital E
 
Electrónica de control 6
Electrónica de control 6Electrónica de control 6
Electrónica de control 6
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionales
 
Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...
 
control digital
control digitalcontrol digital
control digital
 
Presentación de tipos de circuitos combinacionales
Presentación de tipos de circuitos combinacionalesPresentación de tipos de circuitos combinacionales
Presentación de tipos de circuitos combinacionales
 
Compuertas Lógicas
Compuertas LógicasCompuertas Lógicas
Compuertas Lógicas
 
Cap I
Cap ICap I
Cap I
 
04.Entradas y salidas digitales
04.Entradas y salidas digitales04.Entradas y salidas digitales
04.Entradas y salidas digitales
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadoras
 
GRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptxGRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptx
 
Decodificador y codificador
Decodificador y codificadorDecodificador y codificador
Decodificador y codificador
 
Implemnetacion ALU
Implemnetacion ALUImplemnetacion ALU
Implemnetacion ALU
 
Informe tecnico unidad3
Informe tecnico   unidad3Informe tecnico   unidad3
Informe tecnico unidad3
 
elementos basicos de electronica digital. danna.pdf
elementos basicos de electronica digital. danna.pdfelementos basicos de electronica digital. danna.pdf
elementos basicos de electronica digital. danna.pdf
 

Multiplexor

  • 1. Sergio Rodríguez Molina Ing. Sistemas III año
  • 2. Un multiplexor es un dispositivo lógico que recibe información por sus dos o más entradas (de uno o mas bits de ancho) y mediante una señal de control decidimos cual de la entradas aparece reflejada en la salida; esto es, un convertidor de paralelo a serie. Si tienen una señal de "enable" esta hace que el multiplexor esté habilitado o no. Los multiplexores son circuitos combinacionales convarias entradas y una salida de datos, y están dotados deentradas de control capaces de seleccionar una de lasentradas de datos para permitir su transmisión desde laentrada seleccionada a la salida que es única.  Fecha: 1870  Utilidad: Dispositivo que puede recibir varias entradas y transmitirlas por un medio de transmisión compartido.  Inventor: Émile Baudot
  • 3. Entidad 1: Multiplexor de un bit y dos canales sin "enable" entity multiplexor is port( a,b : in bit; control : in bit; enable : in bit; c : out bit ); end multiplexor; En este caso, las entradas son a y b, la señal de control es control, la señal de enable esenable, y la salida es c. Todas vuelven a ser de un bit de ancho. Este primer ejemplo es el más sencillo de todos ya que no se puede concebir un multiplexor con menos operatividad. Usaremos el tipo bit, que viene predefinido por VHDL, y sirve para indicar que la señal o variable asociada es de un sólo bit. La nomenclatura usada para designar a los puertos se mantendrá hasta el final de la práctica, no así como el nombre de la entidad, que lo cambiaremos.
  • 4. entity multiplexor is port( a,b : in bit; control : in bit; enable : in bit; c : out bit ); end multiplexor; En este caso, las entradas son a y b, la señal de control es control, la señal de enable esenable, y la salida es c. Todas vuelven a ser de un bit de ancho. Para que el diseño tenga una señal de enable, y a efectos de la entidad, solamente debemos incluirla sin más Entidad 2: Qué hacer para que tenga señal de "enable"
  • 5. entity multiplexor is port( a,b:in bit_vector(3 down to 0); control:in bit; enable :in bit; c: out bit_vector(3 downto 0) ); end multiplexor; En este caso, las entradas son a y b, la señal de control es control, la señal de habilitación esenable, y la salida es c. Ahora, las entradas a y b son de 4 bits de ancho, pero como sólo son dos, control debe seguir siendo de un solo bit. La salida debe aumentar también para adaptarse a las entradas. Si queremos que cada entrada (y la salida, por supuesto), tengan más anchura, es decir, más bits, no nos sirve el tipo bit, ya que su anchura es de un bit. Para ello deberemos usar vectores de bits, que al igual que bit está predefinida en VHDL. En este ejemplo usaremos entradas de 4 bits, que para definirlos hay que escribir el número de mayor peso seguido de la palabra Down to y del número de menor peso. Entidad 3: Qué hacer para que cada canal sea de mas bits
  • 6. Entidad 4: Qué hacer para que tenga más canales Al igual que cuando queríamos que tuviese señal de enable, si ahora queremos más canales, a efectos de la entidad, sólo debemos añadirlos. control enable d XX H HHHH LL L a LH L b HL L c HH L HHHH entity multiplexor is port( a,b,c: in bit_vector(3 downto 0); control:in bit_vector(1 downto 0); enable: in bit; d: out bit_vector(3 downto 0); ); end multiplexor; En este caso, las entradas son a, b, y c, la señal de control es control, la señal de habilitación es enable, y la salida es d. Las entradas y la salida siguen siendo de 4 bits de ancho, y al haber mas de dos, control debe aumentar su anchura a dos bits.
  • 7. Arquitectura 1: Estilo algorítmico o de comportamiento usando la entidad 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 entity multi is port( a, b, c :in bit_vector(3 downto 0); enable :in bit; control :in bit_vector(1 downto 0); d :out bit_vector(3 downto 0) ); end multi; architecture archmul of multi is begin process (a, b, c, control, enable) begin if enable='1' then d<="1111"; elsif enable='0' then case control is when "00" => d <= a; when "01" => d <= b; when "10" => d <= c; when others => d <= "1111"; end case; end if; end process; end archmul; Cabecera del programa Empieza el programa Cabecera de un proceso Empieza el proceso Sentencia if Sentencia elsif Sentencia case Acaba sentencia case Acaba sentencia if y elsif Acaba el proceso Finaliza el programa El estilo algorítmico es una forma de programación en la cual se usan los elementos propios de un lenguaje de programación, es decir, ciclos for, while, case,... Para un multiplexor, parece hecha a la medida la sentencia case, y para comprobar si la entrada enable está habilitada un ciclo for. Una forma de implementar el multiplexor correspondiente a la entidad 4 sería la siguiente: Debemos ver lo siguiente en este ejercicio:  Entre las líneas 9 y 22 es donde se encuentra toda la operatividad del programa, es decir que hacemos con las entradas para que se conviertan en las salidas.  En la línea 10 empieza un proceso (process), el cual acaba en la línea 21. Si alguna de las variables que están dentro del paréntesis cambia, el proceso se ejecuta. Una vez ejecutado el proceso cambian las señales, no durante él.  En la línea 12 hay una sentencia que acaba en la línea 20. Si se cumple la condición que está después de la palabra if, se ejecuta lo que está después de la palabra then. En caso de que la condición no se cumpla, se evalúa lo que está detrás de la palabra elsif, y si es verdad se ejecuta lo que está después del segundo else. Si se cumple la primera condición, es decir, que enable valga "1", el multiplexor pasa a tener a la salida el valor "1111". Si no se cumple, pasa a ejecutarse una case. Pulsa aquí para ver la sentencia if. Pulsa aquí para ver la sentencia case.  La sentencia case empieza en la línea 14 y acaba en la 29. Según los valores que tome control, la salida d tendrá un valor u otro.  Todas las sentencias que se abran deben estar correctamente cerradas con la palabra clave end. Debemos saber que al cerrar una sentencia if también cerramos a la vez todas las sentencias elsif asociadas a ese if. Lo mismo ocurre con el programa principal, el cual debemos cerrar con end y el nombre de la arquitectura.  La sentencia case debe estar siempre dentro de un proceso para que la sintaxis esté correcta.