Informe Mux

download Informe Mux

of 22

Transcript of Informe Mux

  • 7/28/2019 Informe Mux

    1/22

    SISTEMAS DIGITALES II

    UNIVERSIDAD NACIONAL DE CHIMBORAZO

    FACULTAD DE INGENIERIA

    ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES

    INFORME DE SISTEMAS DIGITALES II

    Tema: Mux, Demux, Decos en Xilinx

    Nombres:

    Maria Jose Inca

    Karina Escudero

    Raul Samaniego

    Klever Allauca

    OBJETIVOS:

    Aprender la forma de programacin de cada uno de los elementos.

    Implementar los multiplexores y decodificadores en el CMod C2

    MATERIALES

    Software Xilinx

    Computador

    Cables de conexin

    Marco Terico.

    El sistema CAE de Xilinx es una herramienta de desarrollo que consiste en un conjunto

    integrado de herramientas software y hardware para crear, simular e implementar diseos

    digitales en una FPGA o CPLD. Todas las herramientas usan una interfaz de usuario grfica

    que permite usar todos los programas desde iconos, mens o barras de herramientas.

    Tambin se dispone de ayuda en lnea desde la mayora de ventanas.

    MULTIPLEXORES

    Un multiplexor digital es un circuito con 2n lneas de entrada de datos y una lnea de salida;tambin debe tener una manera de determinar la lnea de entrada de datos especfica que se va

    a seleccionar en cualquier momento. Esto se efecta con otras n lneas de entrada, denominadas

    entradas de seleccin, cuya funcin es elegir una de las 2n entradas de datos para la conexin

    con la salida.

    Multiplexores (Selectores)

    Existen dos tipos bsicos de Multiplexores:

  • 7/28/2019 Informe Mux

    2/22

    SISTEMAS DIGITALES II

    De varias entradas a una salida, llamados de selectores de 2n a 1, o simplemente MUX (del ingls

    multiplexer) de 2n a 1.

    De una entrada a varias salidas, llamados selectores de 1 a 2n o simplemente DEMUX (del ingls

    demultiplexer) de 2n a 1.

    El multiplexor 4 a 1 tiene seis entradas y una salida. Una tabla de verdad que describa el circuito

    necesitar 64 renglones, esta es una tabla excesivamente larga y no es prctica.

    Una manera ms prctica de describir el funcionamiento es por medio de una tabla de funcin.

    DECODICADORES

    Las cantidades discretas de informacin se representan en sistemas digitales con cdigos

    binarios (ejemplo: BCD, EXCESO 3, 84-2-1, 2421, etc.). Un cdigo binario de n bits es capaz de

    representar hasta 2n elementos distintos de informacin codificada.

    Un decodificador es un circuito combinatorio que convierte informacin binaria de n lneas de

    entrada a un mximo de 2n lneas nicas de salida o menos. Estos decodificadores son

    denominados decodificadores n-a-m lneas, donde m 2n.

    Estos dispositivos normalmente cuentan con una entrada habilitadora. Cuando esta entrada vale0, todas las salidas del codificador son 0. Cuando la entrada habilitadora vale 1, la salida

    correspondiente al mini trmino formado por la combinacin presente en las n entradas tomar

    el valor 1 y las dems tomarn el valor 0.

  • 7/28/2019 Informe Mux

    3/22

    SISTEMAS DIGITALES II

    De forma semejante a como se define el decodificador 2x4, pueden definirse decodificadores de

    3x8, 4x16, 5x32 y en forma general de nx2n.

    La principal utilizacin de este dispositivo es cuando se tiene N alternativas que se pueden

    seleccionar, pero se desea seleccionar solamente una de ella.

    Tambin puede ser usado para construir funciones lgicas

    CODIFICADORES

    Un codificador es un circuito digital que ejecuta la operacin inversa de un decodificador. Un

    codificador tiene 2n (o menos) lneas de entrada y n lneas de salida. Las lneas de salida generan

    un cdigo binario correspondiente al valor de entrada binario.

    Ver codificador de octal a binario

  • 7/28/2019 Informe Mux

    4/22

    SISTEMAS DIGITALES II

    El codificador puede implantarse con compuertas OR cuyas entradas se determinan directamente

    de la tabla de verdad. Por ejemplo, la salida es A0 ser igual a 1 si el digito octal de entrada es 1 o

    3 o 5 o 7.

    Las funciones de este codificador son las siguientes:

    A0 = D1+D3+D5+D7

    A1 = D2+D3+D6+D7

    A3 = D4+D5+D6+D7

    APLICACIONES DEL DECODIFICADOR

    Su funcin principal es la de direccionar espacios de memoria. Un decodificador de N entradas

    puede direccionar 2N espacios de memoria.

    Para poder direccionar 1kb de memoria necesitara 10 bits, ya que la cantidad de salidas seria 210,

    igual a 1024.

    De esta manera:

    Con 20 bits tengo 220 que es 1Mb.

    Con 30 bits tengo 230 que es 1Gb.

    1. GRFICOS

    2. PROCEDIMIENTO

    Problema 1. Completar el circuito MUX 4:1 en dibujar los cables que faltan.

  • 7/28/2019 Informe Mux

    5/22

    SISTEMAS DIGITALES II

    CODIGO EN VHDL

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    entity multiplexer4_1 is

    port (i0 : in std_logic;

    i1 : in std_logic;

    i2 : in std_logic;

    i3 : in std_logic;

    sel : in std_logic_vector(1 downto 0);

    bitout : out std_logic

    );

    end multiplexer4_1;

    architecture Behavioral of multiplexer4_1 is

    begin

    process(i0,i1,i2,i3,sel)

    begin

    case sel is

    when "00" => bitout bitout bitout

  • 7/28/2019 Informe Mux

    6/22

    SISTEMAS DIGITALES II

    when others => bitout

  • 7/28/2019 Informe Mux

    7/22

    SISTEMAS DIGITALES II

    if enable='1' then d d d d d

  • 7/28/2019 Informe Mux

    8/22

    SISTEMAS DIGITALES II

    Problema 5: Compite un esquema del circuito para mostrar cmo F = m (0, 2, 4, 5, 6) puede ser

    implementado utilizando el mux mostrado. (Sugerencia: preparar una ingresado variable K-map).

    I0

    I1

    I2

    I3

    S1S0

    Y

    Problema 6. Completar el esquema decodificador 03:08 a la derecha por dibujar los cables quefaltan.

    Y0

    Y1

    Y2

    Y3

    Y4

    Y5

    Y6

    Y7

    S2 S1 S0

    Y0

    Y1

    Y2

    Y3

    Y4

    Y5

    Y6

    Y7

    S2

    S1

    S0

    3:8 Decoder

    Symbol 3:8 Decoder Circuit

    CODIGO EN VHDL

    --libraries to be used are specified here

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    --entity declaration with port definitions

    entity decoder is

    port( input : in std_logic_vector(2 downto 0);

    output : out std_logic_vector(7 downto 0)

    );

    end decoder;

    --architecture of entity

    architecture Behavioral of decoder is

    begin

    output(0)

  • 7/28/2019 Informe Mux

    9/22

    SISTEMAS DIGITALES II

    output(3)

  • 7/28/2019 Informe Mux

    10/22

    SISTEMAS DIGITALES II

    Y0

    Y1

    Y2

    Y3

    Y4

    Y5

    Y6

    Y7

    S0

    S1

    S2

    Problema 10. Completa la tabla de verdad. La tabla muestra los nueve dgitos decimales, sus

    equivalentes binarios, y siete columnas etiquetadas AG. Las columnas etiquetadas AG se pueden

    utilizar para grabar cuando un segmento debe estar iluminado para mostrar un dgito

    determinado. Por ejemplo, en la primera fila correspondiente al dgito '0 ', los segmentos A, B, C,

    D, E, y F se deben iluminar, por lo que un '1' debe ser colocado en esas columnas. Cuando se haya

    completado, la tabla puede servir como una tabla de verdad para el controlador de siete

    segmentos - que muestra la relacin lgica requerida entre las cuatro entradas y siete salidas.

    Tenga en cuenta que en la tabla de verdad, los ltimos seis patrones de entrada (1010 a 1111) noestn asociados con un dgito decimal. Por tanto, son las entradas "ilegales", lo que los resultados

    pueden recibir un "no me importa" para las filas.

    Digit Inputs

    4-bit numbers

    Outputs

    Segment-drive functions

    B3 B2 B1 B0 A B C D E F G

    0 0 0 0 0 1 0 0 0 0 0 0

    1 0 0 0 1 1 1 1 1 0 0 1

    2 0 0 1 0 0 1 0 0 1 0 0

    3 0 0 1 1 0 1 1 0 0 0 0

    4 0 1 0 0 0 0 1 1 0 0 1

    5 0 1 0 1 0 0 1 0 0 1 0

    6 0 1 1 0 0 0 0 0 0 1 0

    7 0 1 1 1 1 1 1 1 0 0 0

    8 1 0 0 0 0 0 0 0 0 0 0

    9 1 0 0 1 0 0 1 0 0 0 0

    A 1 0 1 0 0 0 0 1 0 0 0

    b 1 0 1 1 0 0 0 0 0 1 1

    C 1 1 0 0 1 0 0 0 1 1 0

    d 1 1 0 1 0 1 0 0 0 0 1

    E 1 1 1 0 0 0 0 0 1 1 0

  • 7/28/2019 Informe Mux

    11/22

    SISTEMAS DIGITALES II

    F 1 1 1 1 0 0 0 1 1 1 0

    Problema 12. Completa la tabla de verdad de un codificador de prioridad de tres entradas. Al

    completar la tabla de verdad, tenga en cuenta que si I3 es un '1 ', no importa lo que I2, I1, I0 o son

    - la salida codificada ser "11". Esta informacin puede dar lugar a que no le importa en la tabla de

    verdad, lo que hace que el diseo mucho ms fcil (tenga en cuenta que X se han utilizado en la

    tabla de verdad para indicar que no se preocupan por las condiciones de entrada). Cuando la tabla

    de verdad se ha completado, escribir ecuaciones VHDL para definir los circuitos de codificador.

    EIN I3 I2 I1 I0 GS Y1 Y0 EOUT

    0 X X X X 0 0 0 0

    1 1 X X X 1 0 0 1

    1 0 1 X X 0 1 1 1

    1 0 0 1 X 0 1 0 1

  • 7/28/2019 Informe Mux

    12/22

    SISTEMAS DIGITALES II

    CODIGO EN VHDL

    library IEEE;

    use IEEE.STD_LOGIC_1164.all;

    entity prio_encoder is

    port(

    r

    : in STD_LOGIC_VECTOR(4 downto 1);

    pcode

    : out STD_LOGIC_VECTOR(2 downto 0)

    );

    end prio_encoder;

    architecture arq_when of prio_encoder is

    begin

    pcode

  • 7/28/2019 Informe Mux

    13/22

    SISTEMAS DIGITALES II

    Problema 14. Completa la tabla de abajo para mostrar los resultados numricos de la aplicacin

    de la operacin indicada con las caractersticas indicadas. Opcodes son nmeros de seis bits

    definidos como se muestra a continuacin. R = 1 para rotar, D = 1 para la derecha; F es llenado y

    A2-A0 define el nmero de bits. Mostrar todo el trabajo para ser elegible para el crdito parcial.

    R D F A2 A1 A0

    Input(Base10) Input(Base2/8-bit) Op Code Output(Base10) Output(Base2/8-bit))

    47 00101111 000011 188 01111000

    96 01100000 110111

    16 00010000 011001

    111 01101111 100011

    63 00111111 001111

    188 10111100 110001

    Problema 15. Modifique slo dos caracteres en el siguiente cdigo para aadir un pedacito derelleno.

  • 7/28/2019 Informe Mux

    14/22

    SISTEMAS DIGITALES II

    entity my_shift is

    port (din: in std_logic_vector(7 downto 0);

    r, d, f, en: in std_logic;

    dout: out std_logic_vector(7 downto 0));

    end my_shift;

    architecture my_shift_arch ofmy_shift is

    begin

    dout

  • 7/28/2019 Informe Mux

    15/22

    SISTEMAS DIGITALES II

    Podramos decir que al realizar las conexiones hacia el PLD Cmod- C2 tenemos que conocer de

    forma clara el datasheet de nuestro dispositivo ya que esta puede ser una de las razones que no

    funcione nuestro circuito de forma correcta.

    Tenemos que copilar y ver que el circuito en el programa funcione de forma correcta,

    especficamente la simulacin, ya que si no copilamos bien el circuito no puede funcionar.

    Debemos asignar de forma correcta los pines de nuestro PLD C Mod-C2 en el software xilinx.

    4. CONCLUSIONES

    Aprendimos a reconocer y programar en el software XILIXNX de forma adecuada siguiendo todos

    los pasos necesarios para un correcto funcionamiento del simulado y al grabar en el PLD C Mod C2

    no tengamos problemas.

    Comprendimos para que sirve el TEST BENCH as como su nombre lo dice el banco de pruebas, en

    donde programamos nuestros tiempos para poder simular en nuestro software xilinx ISE.

    Adems grabamos de forma correcta la asignacin de pines y conocimos la forma correcta dequemar nuestro programa en el PLD C-Mod C2 .

    5. BIBLIOGRAFIA

    http://vhdlguru.blogspot.com/2010/03/how-to-write-testbench.html

    ece.wpi.edu/~rjduck/Xilinx VHDL Test Bench Tutorial_2.0.pdf

    http://www.digilentinc.com/Products/Detail.cfm?Prod=CMOD

    6.

    PROBLEMA 1_____________________________________________________________________

    LIBRARY ieee;

    USE ieee.std_logic_1164.ALL;

    -- Uncomment the following library declaration if using

    -- arithmetic functions with Signed or Unsigned values

    --USE ieee.numeric_std.ALL;

    ENTITY mux_tb IS

    END mux_tb;

    ARCHITECTURE behavior OF mux_tb IS

    -- Component Declaration for the Unit Under Test (UUT)

    http://vhdlguru.blogspot.com/2010/03/how-to-write-testbench.htmlhttp://www.digilentinc.com/Products/Detail.cfm?Prod=CMODhttp://www.digilentinc.com/Products/Detail.cfm?Prod=CMODhttp://vhdlguru.blogspot.com/2010/03/how-to-write-testbench.html
  • 7/28/2019 Informe Mux

    16/22

    SISTEMAS DIGITALES II

    COMPONENT mux

    PORT(

    a : IN std_logic_vector(3 downto 0);

    b : IN std_logic_vector(3 downto 0);

    c : IN std_logic_vector(3 downto 0);

    sel : IN std_logic_vector(1 downto 0);

    salida : OUT std_logic_vector(3 downto 0)

    );

    END COMPONENT;

    --Inputs

    signal a : std_logic_vector(3 downto 0) := (others => '0');

    signal b : std_logic_vector(3 downto 0) := (others => '0');

    signal c : std_logic_vector(3 downto 0) := (others => '0');

    signal sel : std_logic_vector(1 downto 0) := (others => '0');

    --Outputs

    signal salida : std_logic_vector(3 downto 0);

    -- No clocks detected in port list. Replace below with

    -- appropriate port name

    constant _period : time := 10 ns;

    BEGIN

    -- Instantiate the Unit Under Test (UUT)

    uut: mux PORT MAP (

    a => a,

    b => b,

    c => c,

    sel => sel,

    salida => salida

    );

    -- Clock process definitions

    _process :process

  • 7/28/2019 Informe Mux

    17/22

    SISTEMAS DIGITALES II

    begin

  • 7/28/2019 Informe Mux

    18/22

    SISTEMAS DIGITALES II

    port ( H : in std_logic;

    S : in std_logic_vector(2 downto 0);

    D : out std_logic_vector(7 downto 0));

    end decodificador_3_a_8;

    architecture estructural_1 of decodificador_3_a_8 is

    begin

    process(S,H)

    begin

    case s is

    when "000" =>

    if H ='1' then

    D

  • 7/28/2019 Informe Mux

    19/22

    SISTEMAS DIGITALES II

    else

    D

    if H ='1' then

    D

  • 7/28/2019 Informe Mux

    20/22

    SISTEMAS DIGITALES II

    end process;

    end estructural_1;

    PROBLEMA 6 ----------------------------------------------------------------------------------

    -- Company:

    -- Engineer:

    --

    -- Create Date: 10:02:04 04/02/2013

    -- Design Name:

    -- Module Name: p6 - Behavioral

    -- Project Name:

    -- Target Devices:

    -- Tool versions:

    -- Description:

    --

    -- Dependencies:

    --

    -- Revision:

    -- Revision 0.01 - File Created

    -- Additional Comments:

    --

    ----------------------------------------------------------------------------------

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    -- Uncomment the following library declaration if using

    -- arithmetic functions with Signed or Unsigned values

    --use IEEE.NUMERIC_STD.ALL;

  • 7/28/2019 Informe Mux

    21/22

    SISTEMAS DIGITALES II

    -- Uncomment the following library declaration if instantiating

    -- any Xilinx primitives in this code.

    --library UNISIM;

    --use UNISIM.VComponents.all;

    entity p6 is

    Port ( A : in STD_LOGIC_vector(2 downto 0);

    Y : out STD_LOGIC_vector(7 downto 0));

    end p6;

    architecture Behavioral of p6 is

    begin

    with A select

    Y

  • 7/28/2019 Informe Mux

    22/22

    SISTEMAS DIGITALES II

    Conclusiones:

    1.-Es mejor utilizar el banco pe pruebas para no tener errores al momento de quemar el pld.

    Bibliografa

    http://www.digilentinc.com/Products/Detail.cfm?Prod=CMOD

    http://es.wikipedia.org/wiki/PLD

    http://www.digilentinc.com

    http://www.digilentinc.com/Products/Detail.cfm?Prod=CMODhttp://www.digilentinc.com/Products/Detail.cfm?Prod=CMODhttp://es.wikipedia.org/wiki/PLDhttp://es.wikipedia.org/wiki/PLDhttp://www.digilentinc.com/http://www.digilentinc.com/http://www.digilentinc.com/http://es.wikipedia.org/wiki/PLDhttp://www.digilentinc.com/Products/Detail.cfm?Prod=CMOD