introduccion al vhdl parte 2

Upload: fcc92

Post on 03-Mar-2016

227 views

Category:

Documents


2 download

DESCRIPTION

Apunte Introduccion al VHDL - Parte 2Tecnicas Digitales IUTN FRBA 2015

TRANSCRIPT

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    1

    Tcnicas Digitales I

    V D LH

    Introduccin al VHDL 2da. parte

    Docente: Ing. Juan E. Collazo

    2Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    Lgica combinacional discreta y Descripciones VHDL

    En lo que sigue se presentarn algunos circuitos que surgen como aplicaciones de lgica combinacional y que se disponen integrados en forma comercial.De manera simultnea se vern algunos ejemplos de obtencin de circuitos similares a partir de descripciones en VHDL.

    Una caracterstica de muchos circuitos especiales que se integran para dar funciones dedicadas, es la posibilidad de interconexin entre ellos para lo cual es necesario disponer de seales que acten como habilitacin.Respecto de esta, existen formas alternativas y en funcin de ellas el nombre que toma la seal que la produce puede ser distinto.

    3

    Lgica combinacional discreta

    As, una seal que se activa y habilita el ingreso de informacinse la denomina Enable(habilitacin).

    Otro caso es cuando los procesos internos de los circuitos se habilitan para que aparezcan a la salida, en cuyo caso se habla de una seal de habilitacin de puerta G (gate). La salida inhabilitada permanecer inactiva (en alto o bajo)

    Una variante de esto es cuando la etapa de salida al deshabilitarse permanece en alta impedancia. La habilitacin se llama de salida OE (output enable)

    IEn

    Oi

    Oj

    On

    G

    OE

    Tipos de habilitacin

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 4

    Lgica combinacional discreta

    En cuanto a la forma de representar entradas y salidas desde el punto de vista de su nivel de actividad, se presentan las siguientes:

    si las seales son activas en alto, se identifican con el nombre de la variable escrita en forma normal.si son activas en bajo, hay dos alternativas: una es escribir las respectivas seales en forma negada o bien escribirlas en su forma normal e incorporar un circulito en el puerto (entrada o salida) para dar la idea de inversin del nivel de actividad.

    MUX

    Y

    S1 S0

    I3I2I1I0

    MUX

    Y

    S1 S0

    I3I2I1I0

    MUX

    Y

    S1 S0

    I3I2I1I0

    Entradas activasen alto

    Entradas activas en bajo

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    2

    C

    B

    A

    Ii

    n . Ii

    Ii

    a ncompuertas

    a)

    Iin.Ii

    (n+1).Ii b)C

    5

    Lgica combinacional discretaUn aspecto tecnolgico de inters se puede apreciar en las hojas de datos de los diversos circuitos integrados.En algunos de ellos se podr encontrar que las variables de entrada que deben disponerse tanto en su forma directa como en su forma negada tienen un esquema como se ilustra abajo. En l se aprecia que la seal que ingresa se niega dos veces y para disponer de la negada, se la toma a la salida del primer negador. Por qu poner dos negadores y no uno slo?Como las etapas internas de un circuito que van conectadas a una dada entrada pueden estar formadas por varias compuertas que requerirn tantas porciones de corriente de entrada por cada una de ellas, esto generara una carga elevada para el circuito externo que se conecte. Por esto y para que cada entrada maneje similares niveles de corriente se coloca una compuerta ala entrada que consuma hacia afuera lo queconsume una sola y se encargue de cubrir el consumo interno. Es lo que pasa en el caso a). El 2do. inversor se pone para tener la seal normal. En el caso b) si la seal normal (C) tuviera que alimentar varias entradas, la cantidad de corriente debera ser provista por el circuito exterior que restara energa para alimentar otros circuitos

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    I7

    I5

    I2

    I0

    C

    B

    A

    I6

    I4

    I1

    I3

    )7654 IIIIC +++=76)54.(32 IIIIIIB ++++=

    76.5)64.(3)642.(1 IIIIIIIIIIA ++++++=

    B

    I7

    I5

    I2

    I0

    I6

    I4

    I1

    I3

    C

    A

    B

    A

    Ei

    I0

    I1

    I2

    I3

    I4

    I5

    I6

    I7 C

    GS

    Eo0 1 2 3 4 5 6 7 E i

    7I.Ei6I.5I.Ei)6I4I.(3I.Ei)6I4I2I.(1I.EiA ++++++=7I.Ei6I.Ei)5I4I.(3I.Ei2I.EiB ++++=

    )I7I6I5I4.(EiC +++=

    )7I6I5I4I3I2I1I0I.(EiGS +++++++=GSEiEo +=

    6

    Codificadores

    a) Codificador elemental de 8 entradas

    b) Codificador de prioridadc) Codificador de prioridad mejorado

    incluye habilitacin de entrada, propagacin de habilitacin a la salida y seal de grupo (ayuda a diferenciar el cdigo cero de salida entre entrada I0 activa y ausencia de entradas activas)

    a)

    b)

    c)

    Las seales de salida se puedendenominar A, B, C alternativamente o bien con una variable y un subndice numrico

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    7

    Expansin de Codificadores

    Se aprecia que las dos salidas ms significativas se repiten 4 veces seguidas, cambia una variable y nuevamente se repite 4 veces seguidas mientras que las menos significativas toman sus cuatro valores por cada valor de las ms significativas.

    Se pretende armar un codificador de tamao mayor a partir del uso de codificadores ms pequeos. Por ejemplo, disear un coder de 16 entradas usando coders de 4 entradas

    I15 I14 I13 I12 I11 I10 I9 I8 I7 I6 I5 I4 I3 I2 I1 I0 A3 A2 A1 A01 X X X X X X X X X X X X X X X 1 1 1 1

    1 X X X X X X X X X X X X X X 1 1 1 01 X X X X X X X X X X X X X 1 1 0 1

    1 X X X X X X X X X X X X 1 1 0 01 X X X X X X X X X X X 1 0 1 1

    1 X X X X X X X X X X 1 0 1 01 X X X X X X X X X 1 0 0 1

    1 X X X X X X X X 1 0 0 01 X X X X X X X 0 1 1 1

    1 X X X X X X 0 1 1 01 X X X X X 0 1 0 1

    1 X X X X 0 1 0 01 X X X 0 0 1 1

    1 X X 0 0 1 01 X 0 0 0 1

    1 0 0 0 0

    I3 I2 I1 I0 O1 O00 0 0 1 0 00 0 1 0 0 10 1 0 0 1 01 0 0 0 1 1

    Se marcaron 4 bloques de color que, unidos, forman la TV de un codific. de 4 entr.Esto da la pauta de que con al menos 4 de stos se formar uno de 16 entradas.

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 8

    Expansin de Codificadores

    Expansin en rbol de Codificadores

    CODAR

    A1

    A0

    GSEo

    I3I2I1I0

    Ei

    CODAR

    A1

    A0

    GSEo

    I3I2I1I0

    Ei

    CODAR

    A1

    A0

    GSEo

    I3I2I1I0

    Ei

    CODAR

    A1

    A0

    GSEo

    I3I2I1I0

    Ei

    CODAR

    A1

    A0

    GSEo

    I3I2I1I0

    Ei

    A1

    A0

    A3

    A2

    3

    2

    1

    0

    GS

    Eo

    Ei

    I2

    I0I1

    I3

    I7

    I5I6

    I4

    I10

    I8I9

    I11

    I15

    I13I14

    I12

    Por ejemplo: Si se activan I9 e I7 a la vez, el codigo de salida debe ser 1001 (el de I9). Al activar Ei (Ei=1) en el Coder(3) y no estar I15 a I12 activas se pone Eo(3) = 1. Luego Ei(2) = 1 pero al ser I9 = 1 queda inactiva Eo(E0(2) = 0) y se hace Ei(1) = 0.

    De esta manera queda inactiva la etapa 1 y consecuentemente la etapa 0. Las A1(2)A0(2) = 01 (a travs de la OR forman A1A0 de salida). Se activa tambin la seal de grupo GS de la etapa dos y sta se conecta a la entrada I2 de un codificador que acta como salida y genera el cdigo A3A2 = 10.O sea, resulta A3-0 = 1001, lo esperado.

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    3

    9

    Decodificadores (o Decoders)

    Un decoder es un dispositivo lgico de n entradas que activa una de sus 2 salidas cuya numeracin decimal coincide con el cdigo binario de las seales de entrada

    n

    Como cada salida en la TV presenta un nico 1, se concluye que un Decoder es un generador de minitrminos

    001122 AAAAAA

    O7

    O5

    O2

    O0

    O6

    O4

    O1

    O3

    A2A1A0

    A2A1A0

    01

    01244 AAAOP ==01255 AAAOP ==01266 AAAOP ==01277 AAAOP ==

    01200 AAAOP ==01211 AAAOP ==01222 AAAOP ==

    01233 AAAOP ==a)

    En O7

    O5

    O2

    O0

    O6

    O4

    O1

    O3

    A2A1A0

    O3O2O1O0

    O7O6O5O4

    A0

    A1

    A2

    EN

    Decodificador conentrada habilitacin

    b)

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 10

    1 - - Decodificador de 8 salidas con habilitacin2 library ieee;3 use ieee.std_logic_1164.all; 4 entity deco_x8 is5 port (ent : in std_logic_vector (2 downto 0); 6 hab : in std_logic;7 sal : out std_logic_vector (7 downto 0)); 8 end deco_x8 ; 9 architecture tabla of deco_x8 is10 signal ssal: std_logic_vector (7 downto 0);11 begin12 with ent select13 ssal

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    4

    D C B A Y0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 03 0 0 1 1 14 0 1 0 0 05 0 1 0 1 16 0 1 1 0 07 0 1 1 1 18 1 0 0 0 09 1 0 0 1 1

    10 1 0 1 0 111 1 0 1 1 012 1 1 0 0 113 1 1 0 1 014 1 1 1 0 015 1 1 1 1 1

    O3O2O1O0

    O7O6O5O4

    O8O9

    O10O11O12O13O14O15

    A

    B

    C

    D

    A0

    A1

    A2

    A3

    Y

    = 10,12,15)1,3,4,7,9,(PY

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    Y

    11,13,14)0,2,5,6,8,(SY =

    13

    Decodificadores: uso para implementar funciones lgicas

    Siendo un decodificador un generador de minitrminos, incorporando una OR a sus salidas se pueden obtener funciones lgicas como suma de productos (fig. b). En este caso de la funcin mostrada en la tabla a)Tambin se puede generar como Producto de sumas cannicas o producto de maxitrminos, es decir tomando los valores que hacen cero a la funcin. Se deja al lector verificar que es el caso de la figura c)

    a)

    b) c)

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 14

    Decodificadores: uso para implementar funciones lgicas

    Aiken

    N D C B A D' C' B' A'0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 12 0 0 1 0 0 0 1 03 0 0 1 1 0 0 1 14 0 1 0 0 0 1 0 05 0 1 0 1 1 0 1 16 0 1 1 0 1 1 0 07 0 1 1 1 1 1 0 18 1 0 0 0 1 1 1 09 1 0 0 1 1 1 1 1

    1 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

    Natural

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    ABCD' ' ' '

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    15

    Decodificadores: uso para implementar memorias

    ABCD

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    ' ' ' '

    Decod

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 16

    Decodificadores: uso para implementar memorias

    D

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    '

    Decod

    Cada lnea del decoder va conectada a una entrada de cada una de las cptas OR de salida a travs de una conexin programada, esto es, puede establecerse si se produce o no conexin elctrica.En el esquema se simboliza dicho tipo de conexin con cruces que simbolizan lo que originariamente fueron fusibles y luego llaves electrnicas (transistores de paso).Cada salida originariamente tiene todas sus entradas conectadas via los fusibles a cada salida del decoder y como ste es un generador de todos los minitrminosde n variables, se concluye que la salida de este dispositivo antes de programarse, estar en 1.

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    5

    ABCD

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    ' ' ' '

    Decod

    D'= 5+6+7+8+9C'= 4+6+7+8+9B'= 2+3+5+8+9A'= 1+3+5+7+9

    17

    Decodificadores: uso para implementar memorias

    En este ejemplo se muestran los fusibles que se dejaron intactos luego de programar, y las expresiones lgicas de cada una de las salidas.

    Alguien se anima a decir qu funcin cumple el

    circuito?

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 18

    En esta figura se ve una forma de representar las salidas con una Or de una entrada conectada a las 16 lineas del decoder con fusibles, lo cual simboliza 16 entradas.Si se leen los fusibles intactos como 1 y los restantes como 0, el esquema de conexiones se asemeja a la T. de Verdad del Cdigo Aiken.

    Analizado de otra forma, se puede decir que segn el valor binario de las seales A3-0 se elije una palabra que ser la misma cada vez que se seleccionen los mismos valores de A3-0, esto es, el circuito almacena la misma palabra para cada combinacin de entradas

    ABCD

    O3O2O1O0

    O7O6O5O4

    A

    B

    C

    D

    A0

    A1

    A2

    A3 O8O9

    O10O11O12O13O14O15

    ' ' ' '

    Decod

    ROM /PROM

    AikenD' C' B' A'0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1X X X XX X X XX X X XX X X XX X X XX X X X

    N D C B A0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1

    1 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

    Natural

    Conexin intacta luegode la programacinSin conexin luego dela programacin

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    19

    Conversores de cdigo

    Con los circuitos vistos hasta ac, estn en condiciones de plantear cules y cmo conectarlos para armar un

    conversor de cdigo, p.ej. de Binario a Gray?

    In ?n?

    I3I2I1I0

    Onn

    ?

    O3O2O1O0

    Ac les dejo una ayudita ...

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    A.B.CB.CD'D ++=

    ACB.CD'C ++=

    A.B.CB.CD'B ++=

    D C B A

    D C B A

    A.B.C

    B.C

    A'=D

    20

    Conversores de codigo con lgica combinacionalCmo se podran implementar algunos de los conversores de cdigo descriptos en VHDL en lgica discreta?

    Se vi en su momento un conversor de BCD natural a Aiken a partir de las Tabla de Verdad de A a D y se lleg a:

    BCD 2AIKEN

    DCBA

    D'C'B'A'

    Aiken

    N D C B A D' C' B' A'0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 12 0 0 1 0 0 0 1 03 0 0 1 1 0 0 1 14 0 1 0 0 0 1 0 05 0 1 0 1 1 0 1 16 0 1 1 0 1 1 0 07 0 1 1 1 1 1 0 18 1 0 0 0 1 1 1 09 1 0 0 1 1 1 1 1

    1 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

    Natural

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    6

    Considerando que el vector de salida tiene un nico 1, una forma ms simple es detectar en qu salida debe estar (segn la ent) y escribirlo.

    Si no est habilitado, la salida es cero.

    1 - - Decodificador de 8 salidas con doble habilitacin E1,/E02 library ieee;3 use ieee.std_logic_1164.all;4 use ieee.numeric_std.all;5 6 entity comod is -- com_deco_8c_2e7 port (ent : in std_logic_vector (2 downto 0);8 hab : in std_logic_vector (1 downto 0); 9 sal : out std_logic_vector (7 downto 0)); 10 end comod; 11 architecture tabla of comod is12 signal ssal : std_logic_vector (7 downto 0);13 begin14 process (ent, hab)15 variable i : integer range 0 to 7;16 begin17 ssal

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    7

    1 --Decodificador 8 salidas, dos habilitaciones usando Numeric_std2 library ieee;3 use ieee.std_logic_1164.all;4 use ieee.numeric_std.all;5 entity deco is6 port (ent : in std_logic_vector (2 downto 0);7 hab : in std_logic_vector (1 downto 0); 8 sal : out std_logic_vector (7 downto 0)); 9 end deco; 10 architecture tabla of deco is11 signal ssal : std_logic_vector (7 downto 0);12 begin13 process (ent, hab)14 variable i : integer range 0 to 7;15 begin16 ssal

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    8

    Mux_16ent

    A1 A0

    Mux4pref

    I3I2I1I0

    OA1 A0

    I3I2I1I0

    O

    A1 A0

    Mux4pref

    I3I2I1I0

    O

    A1 A0

    I3I2I1I0

    O

    A1 A0

    I3I2I1I0

    O

    Out2

    Out3

    Out1

    Out0

    sal

    ent(11)

    ent(15)

    ent(0)

    ent(4)

    ent(7) Mux4pref

    Mux4pref

    Mux4pref

    2

    2

    A3 A2 A1 A0

    2

    1

    3

    4

    0

    Mux de 16 entradas porexpansin de Mux de 4 entr.

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 29

    16 entradas implican 4 Muxpero 4 Mux tienen 4 salidas y se necesita una sola, por ello se toma un quinto Mux que multiplexa esas 4 salidas por sus 4 entradas y su salida serla salida deseada del Mux x 16.

    Los entradas de los 4 primeros sern seleccionadas por las seales de direccin menos significativas, en cambio la seleccin de cul mux de entrada ser el que pase su seal a la salida, la hacen las seales de direccin mssignificativas

    30

    Demultiplexores

    Otro tipo de circuito dedicado es el que hace la operacin inversa del Multiplexor, esto es, aqul que toma informacin por su nica entrada y la distribuye en una de varias salidas, que se escogen mediante entradas llamadas de seleccin.

    Demux

    I

    O3O2O1O0 I

    O0

    O1

    O2

    O3

    En0

    En1

    En2

    En3a) b)

    I

    O3

    O2

    O1

    O0

    En2

    En0

    En1

    En3

    S1 S0

    I

    O3

    O2

    O1

    O0

    c) d)

    a) esquema con llave selectora b) esquema con pulsadores individuales; ambos son Demux analgicosc) demux lgico, hace lo mismo que b sin pulsadores. Como el Demux debe distribuir seal en una nica salida, los pulsadores no deben activarse simultneamente. En un circuito lgico se implementa con compuertas que se activan de a una por vez, mediante una adecuada combinacin de dos variables. Se ve en d). d) Demux con entradas de seleccin codificadas. El arreglo de compuertas marcadas en azul representa un decodificador. El smbolo del Demux se presenta en e). Comparando d) con los decoders vistos se verifica cierta analoga entre la habilitacin de un Decoder y la entrada de datos del Demux. Se concluye que ambos circuitos pueden funcionar como el otro conectando adecuadamente sus entradas

    DEMUX

    I

    O3O2O1O0

    S1 S0

    e)

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    31

    Demultiplexores

    S1 S0

    I

    E

    O3

    O2

    O1

    O0 DEMUX

    O3

    O2

    O1

    O0

    S0E0E1

    S1

    I

    O3

    O2

    O1

    O0

    I

    S1 S0 E1 E0

    f) Demux con entrada de habilitacin activa en bajo. g) Idem f) con doble entrada de habilitacin (una activa en alto otra en bajo). Circuito y representacin en bloque.

    Expansin de Demultiplexores

    Se puede ampliar un Demux usando ms de uno y conectando adecuadamente sus seales. En h) se ve un Demux de 8 salidas hecho con dos de 4. Demanda 3 seales de seleccin: utiliza las dos de los demux de 4 (S1,S0) como menos significativas y usa la habilitacin como tercer seal de seleccin S2. Con S2 en bajo se habilita el superior y con S2=1 el inferior que tiene las salidas ms significativas. Por esto S2 se conecta a la Enable de uno de ellos y va un inversor, a la En del otro.

    S0

    S1 E

    O7

    O6

    O5

    O4I

    S1S0

    I

    ES1

    S2

    S0

    O3

    O2

    O1

    O0I

    O3

    O2

    O1

    O0

    O3

    O2

    O1

    O0

    f) g)

    h)

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 32

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    DEMUX0

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    DEMUX2

    DEMUX1

    DEMUX3

    S1S2S3

    S0

    O3O2O1

    O0

    O10O9

    O8

    O11

    O7O6O5O4

    O14O15

    O13O12

    I DEMUX1

    I

    O3

    O2

    O1

    O0

    S1

    S0E

    DEMUX2

    I

    O3

    O2

    O1

    O0

    S1 S0

    DEMUX3

    I

    O3

    O2

    O1

    O0

    S1 S0

    DEMUX4

    I

    O3

    O2

    O1

    O0

    S1 S0

    S1

    S2

    S3

    S0

    O3O2O1

    O0

    O10O9

    O8

    O11

    O7O6O5O4

    O14O15

    O13O12

    E

    E

    EDECOD

    O3

    O2

    O1

    O0S1

    S0

    Demultiplexores: Expansin a 16 salidas con Demux de 4

    i) j)

    j) Expansin en rbol: condemux de 4 salidas y una sola habilitacin (seleccionable con un Decoder)

    El primero usa demux con 2 Enables con dos niveles activos, luego con el auxilio de un inversor logra una seleccinadecuada. El segundo esquema usa demux con una E, luego requiere el auxilio de un Deco para la seleccin.

    i) Con Demux de 4 salidas y doble habilitacinactivas en alto y bajo: usa las habilitaciones como seales de seleccin ms significativas

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

  • Introduccin al VHDL- 2da.parte - Ing. Juan E. Collazo

    9

    33

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    DEMUX0

    I

    O3

    O2

    O1

    O0

    S1 S0E0E1

    DEMUX2

    DEMUX1

    DEMUX3

    S1S2S3

    S0

    O3O2O1

    O0

    O10O9

    O8

    O11

    O7O6O5O4

    O14O15

    O13O12

    IDemultiplexores en VHDL

    En funcin de los distintos ejemplos VHDL

    vistos y las dos diapositivas anteriores,Se animan a plantear

    una descripcin VHDL de un Demultiplexor?

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 34

    Multiplexores y Demultiplexores: Algunos usos

    a) Uso de un Mux y un Demux para conectar varios transmisores con distintos receptores.b) Implementacin de una funcin lgica de 3 variables con un Mux de 3 variables de seleccin: se trata de poner en las entradas los valores de la funcin en el rengln de la TV cuyo nmero coincida con la entrada del Mux.c) Idem, con un Mux de 2 variables de seleccin y un inversor. En rigor no siempre sernecesario el uso del inversor segn sea la funcin a generar, pero s es seguro que con un Mux de n variables de seleccin y a lo sumo un inversor, se puede generar una funcin lgica (como suma de productos) de n+1 variables. Para ello se procede a obtener una tabla reducida en una variable (queda con una variable menos). La que se sac puede (o no) aparecer en la tabla en la columna de la funcin. De hacerlo, la variable se conecta a la(s) entrada(s) que coincidan con los renglones donde aparece. Se deja para el estudiante, pensar cmo se podran implementar funciones de n+2 variables con un Mux de n variables de seleccin

    DEMUX

    I

    S1 S0

    O7

    O5

    O2

    O0

    O6

    O4

    O1

    O3

    S2

    MUXI3I2I1I0

    Y

    S1 S0

    C B A X0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

    B A X0 0 00 1 11 0 C1 1 /C

    a)

    c)b)

    MUX

    X

    S1 S0S2

    B AC

    I7

    I5

    I2

    I0

    I6

    I4

    I1

    I3

    01010110

    MUX

    X

    S1 S0B A

    01C I2

    I0I1

    I3

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    35

    Perif.1 Perif.

    2

    Perif.3

    Bus 1

    En1 En2

    En3a

    En3b

    En4

    En5a

    En5bBus 2

    Bus 3

    El esquema de la fig. a) anterior corresponde al caso de distribucinde informacin entre dispositivos que se encuentran prximosfsicamente. Para el caso en que esas unidades estuvieran alejadas entre ellas, se recurre a otro esquema de distribucin. Se presenta esto en el esquema de la figura el cual simboliza distintas posibilidades de distribucin de informacin vabuses de datos.Todos los dispositivos que accedan a los buses tendrn salida 3-state de modo de gobernar que slo uno quede habilitado a enviar una seal a dicho bus y evitar superposicin

    Multiplexacin y Demultiplexacin distribudas

    de seales en una misma lnea (p.ej. el perifrico 1). Los que reciban datos del bus no necesitan una interfaz 3-state de entrada, pero se necesita una puerta que habilite el momentode dejar pasar la informacin y eso con una And de 2 entradas (una de ellas habilitacin) lo logra (p.ej. el perifrico 2). Casos combinados de ambos se dan en el perifrico 3. Se muestra otro caso de acceso unidireccional de un bus a otro en la conexin al bus 2 y otro bidireccional, via dos buffer 3-state en contrafase, entre Bus 1 y 3.

    (Esquema tomado del libro del Ing. Jorge E. Sinderman)

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo 36

    El Multiplexor componente elemental de Circuitos Lgicos Programables

    valor que toma A. sta seleccionar entre I1 e I0, pero f a la vez depender de los valores que se programen en esas entradas. O sea f puede tomar 2 exp (2 exp 1) = 4 valores posibles.b) Encadenando tres de esos Mux elementales se arma uno de dos variables de seleccin de 1 de 4 entradas posibles. La funcin de salida f1 ser una sobre 2 exp (2 exp 2) = 16 valores posibles. Esa f1 se puede representar por medio de una Tabla de Verdad. En este caso se muestra como ejemplo la funcin A1 xor A0.c) Esa tabla se la denomina Tabla de Inspeccin (Look up table) y es el componente bsico de los bloques lgicos elementales que forman parte de la estructura de algunos circuitos programables que se utilizarn para el diseo que se implementa a partir de descripciones hechas en VHDL como son las FPGA.

    Aplicaciones de Lgica combinacionalIng. Juan E. Collazo

    a) b)

    A1 A0 f10 0 00 1 11 0 11 1 0

    f1A1

    A0c)

    a) Si a un Mux elemental de dos entradas se le conectan dos celdas lgicas, cada una almacenando uno de dos posibles valores lgicos, que pueden ser programables o seleccionables por el usuario, se tiene a la salida f una funcin lgica dependiente del

    01

    01

    A

    fI0

    I1

    01

    01

    01

    01

    A0A1

    f1

    0.10.11 AAAAf +=

    01.00.01 AAAx =+=

    00.01.02 AAAx =+=