MC 542 Organizao de Computadores Teoria e Prtica
- Slides: 39
MC 542 Organização de Computadores Teoria e Prática 2006 Prof. Paulo Cesar Centoducatte@ic. unicamp. br www. ic. unicamp. br/~ducatte MO 401 5. 1
MC 542 Circuitos Lógicos Circuitos Combinacionáis Blocos Básicos “Fundamentals of Digital Logic with VHDL Design” - (Capítulo 6) MO 401 5. 2
Circuitos Combinacionáis: Blocos Básicos Sumário • Multiplexador • • • Decodificador Codificador de Prioridade Conversores Comparador VHDL para Circuito Combinacional – Implementação de Funções Lógicas Usando Mux – – – Select Atribuição Condicional Processos » If-Then-Else » Case MO 401 5. 3
Multiplexador: 2 para 1 (2: 1) s w 0 w 1 0 1 f s f 0 1 w 0 w 1 Tabela Verdade Símbolo Gráfico w 0 s f w 1 s w 1 Suma-de-produtos f transmission gates MO 401 5. 4
Multiplexador: 4 para 1 (4: 1) s 0 s 1 w 0 w 1 w 2 w 3 s s 1 0 00 01 10 11 f s 0 w 0 0 1 1 s 1 w f w 0 w 1 w 2 w 3 1 f w w 2 3 MO 401 5. 5
Mux 4: 1 a partir de Mux 2: 1 s s w w 1 0 0 0 1 1 0 f 1 w w 2 0 3 1 MO 401 5. 6
Mux 16: 1 s 0 s 1 w w 0 3 4 s 2 s 3 7 f w w 8 11 12 15 MO 401 5. 7
Exemplo de Uso de Mux 2 x 2 crossbar switch s x 1 x 2 y 1 y 2 x 1 0 1 y 1 s x 2 0 1 y 2 MO 401 5. 8
Síntese de Funções Lógicas Usando MUX w 1 1 0 0 w 2 0 1 2 w 0 1 1 1 0 0 w f 0 0 w w f w 2 1 0 1 f 1 0 f 1 w 0 0 w 1 2 1 1 1 0 w 2 f MO 401 5. 9
Exemplo w 1 w 2 w 3 f 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 w 2 0 0 1 1 w w 0 1 f 0 w 3 1 2 1 0 w 3 f 1 MO 401 5. 10
Exempo w 1 w 2 w 3 f 0 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 w 2 Å w 3 w w 2 w 1 3 f w 2 Å w 3 MO 401 5. 11
Exemplo w 1 w 2 w 3 f 0 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 w 3 w w w 3 w 2 1 3 f 3 3 MO 401 5. 12
Exemplo Maioria de uns w 1 w 2 w 3 f 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 w f 1 0 w w 1 w + w w w 2 2 3 3 w 2 1 3 f MO 401 5. 13
Exemplo Maioria de uns MO 401 5. 14
Decodificador w y 0 0 n 2 inputs w Enable outputs n– 1 En n y 2 n – 1 MO 401 5. 15
Decodicifador 2: 4 En w w 1 0 y y 0 1 2 3 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 x x 0 0 w 0 y 0 w 1 y 2 w 0 w 1 En y 0 y 1 y 2 y 3 En MO 401 5. 16
Decodicifador 3: 8 Usando 2: 4 w 0 y 0 w 1 y 1 y 2 En y 3 w 0 y 4 w 1 y 5 y 2 y 6 y 3 y 7 w 2 En En MO 401 5. 17
Decodicifador 4: 16 Usando 2: 4 w 0 w 1 En w 0 w 1 w 2 w 3 w 0 w 1 En En y 0 y 1 y 2 y 3 En w 0 w 1 En y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 y 0 y 1 y 2 y 3 y 8 y 9 y 10 y 11 y 0 y 1 y 2 y 3 y 12 y 13 y 14 y 15 MO 401 5. 18
Address a 0 a 1 am– 1 m-to-2 mdecoder Memória 2 m x n read-only memory (ROM) Sel 0 0/1 0/1 Sel 1 0/1 0/1 Sel 2 0/1 0/1 Sel m 2 – 1 0/1 0/1 Read Data dn– 1 dn– 2 d 0 MO 401 5. 19
Codificador w 0 y 0 2 n n inputs outputs y w n– 1 2 n-to-n binary encoder MO 401 5. 20
Codificador Binário 4: 2 w w 3 2 1 0 y y 1 0 0 0 0 1 0 1 0 0 0 1 1 w w 0 1 y 0 2 y 3 1 MO 401 5. 21
Codificador de Prioridade w 3 w 2 w 1 w 0 y 1 y 0 z 0 0 d d 0 0 1 x 0 1 1 0 1 x x 1 0 1 1 x x x 1 1 1 Exercício: Qual o Circuito Lógico? MO 401 5. 22
Conversor BCD para Código Display de 7 segmentos a f e b g w 0 w 1 w 2 w 3 c d a b c d e f g Display 7 -segmentos w w 3 2 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 a b c d e f g 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 MO 401 5. 23
Comparador de 4 bits a 3 b 3 i 3 a 2 b 2 i 2 a 1 b 1 i 1 a 0 b 0 i 0 Aeq. B Alt. B Agt. B MO 401 5. 24
Circuito Combinacional VHDL • Comandos de Atribuição: – Mux 2: 1 - Comando Select LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 2 to 1 IS PORT ( w 0, w 1, s : IN f : OUT END mux 2 to 1 ; STD_LOGIC ; STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 2 to 1 IS BEGIN WITH s SELECT f <= w 0 WHEN '0', w 1 WHEN OTHERS ; END Behavior ; MO 401 5. 25
Circuito Combinacional VHDL • Mux 4: 1 – Comando Select LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 4 to 1 IS PORT ( w 0, w 1, w 2, w 3 s f END mux 4 to 1 ; : IN : OUT STD_LOGIC ; STD_LOGIC_VECTOR(1 DOWNTO 0) ; STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 4 to 1 IS BEGIN WITH s SELECT f <= w 0 WHEN "00", w 1 WHEN "01", w 2 WHEN "10", w 3 WHEN OTHERS ; END Behavior ; MO 401 5. 26
Circuito Combinacional VHDL • Mux 4: 1 - Como um Componente LIBRARY ieee ; USE ieee. std_logic_1164. all ; PACKAGE mux 4 to 1_package IS COMPONENT mux 4 to 1 PORT ( w 0, w 1, w 2, w 3 : IN STD_LOGIC ; s : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ; f : OUT STD_LOGIC ) ; END COMPONENT ; END mux 4 to 1_package ; MO 401 5. 27
• Mux 16: 1 usando o Componente Mux 4: 1 LIBRARY ieee ; USE ieee. std_logic_1164. all ; LIBRARY work ; USE work. mux 4 to 1_package. all ; ENTITY mux 16 to 1 IS PORT ( w : IN s : IN f : OUT END mux 16 to 1 ; STD_LOGIC_VECTOR(0 TO 15) ; STD_LOGIC_VECTOR(3 DOWNTO 0) ; STD_LOGIC ) ; ARCHITECTURE Structure OF mux 16 to 1 IS SIGNAL m : STD_LOGIC_VECTOR(0 TO 3) ; BEGIN Mux 1: mux 4 to 1 PORT MAP ( w(0), w(1), w(2), w(3), s(1 DOWNTO 0), m(0) ) ; Mux 2: mux 4 to 1 PORT MAP ( w(4), w(5), w(6), w(7), s(1 DOWNTO 0), m(1) ) ; Mux 3: mux 4 to 1 PORT MAP ( w(8), w(9), w(10), w(11), s(1 DOWNTO 0), m(2) ) ; Mux 4: mux 4 to 1 PORT MAP ( w(12), w(13), w(14), w(15), s(1 DOWNTO 0), m(3) ) ; Mux 5: mux 4 to 1 PORT MAP ( m(0), m(1), m(2), m(3), s(3 DOWNTO 2), f ) ; END Structure ; MO 401 5. 28
Decodificador Binário LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY dec 2 to 4 IS PORT ( w : IN En : IN y : OUT END dec 2 to 4 ; STD_LOGIC_VECTOR(1 DOWNTO 0) ; STD_LOGIC_VECTOR(0 TO 3) ) ; ARCHITECTURE Behavior OF dec 2 to 4 IS SIGNAL Enw : STD_LOGIC_VECTOR(2 DOWNTO 0) ; BEGIN Enw <= En & w ; WITH Enw SELECT y <= "1000" WHEN "100", "0100" WHEN "101", "0010" WHEN "110", "0001" WHEN "111", "0000" WHEN OTHERS ; END Behavior ; MO 401 5. 29
Circuito Combinacional VHDL • Mux 2: 1 Comando Condicional LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 2 to 1 IS PORT ( w 0, w 1, s f END mux 2 to 1 ; : IN : OUT STD_LOGIC ; STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 2 to 1 IS BEGIN f <= w 0 WHEN s = '0' ELSE w 1 ; END Behavior ; MO 401 5. 30
Circuito Combinacional VHDL • Processo (mux 2: 1) – Comando IF-Then-Else LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 2 to 1 IS PORT ( w 0, w 1, s f END mux 2 to 1 ; : IN : OUT STD_LOGIC ; STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 2 to 1 IS BEGIN PROCESS ( w 0, w 1, s ) BEGIN IF s = '0' THEN f <= w 0 ; ELSE f <= w 1 ; END IF ; END PROCESS ; END Behavior ; MO 401 5. 31
Circuito Combinacional VHDL • Processo (mux 2: 1 – alternativo) LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 2 to 1 IS PORT ( w 0, w 1, s f END mux 2 to 1 ; : IN : OUT STD_LOGIC ; STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 2 to 1 IS BEGIN PROCESS ( w 0, w 1, s ) BEGIN f <= w 0 ; IF s = '1' THEN f <= w 1 ; END IF ; END PROCESS ; END Behavior ; MO 401 5. 32
Exercício: Qual o Bloco implementado? LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY priority IS PORT ( w : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; y : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ; z : OUT STD_LOGIC ) ; END priority ; ARCHITECTURE Behavior OF xxxxxxx? IS BEGIN PROCESS ( w ) BEGIN IF w(3) = '1' THEN y <= "11" ; ELSIF w(2) = '1' THEN y <= "10" ; ELSIF w(1) = '1' THEN y <= "01" ; ELSE y <= "00" ; END IF ; END PROCESS ; z <= '0' WHEN w = "0000" ELSE '1' ; END Behavior ; MO 401 5. 33
Circuito Combinacional VHDL • Processo (Comando Case) LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY mux 2 to 1 IS PORT ( w 0, w 1, s f END mux 2 to 1 ; : IN STD_LOGIC ; : OUT STD_LOGIC ) ; ARCHITECTURE Behavior OF mux 2 to 1 IS BEGIN PROCESS ( w 0, w 1, s ) BEGIN CASE s IS WHEN '0' => f <= w 0 ; WHEN OTHERS => f <= w 1 ; END CASE ; END PROCESS ; END Behavior ; MO 401 5. 34
Decodificador de 7 segmentos LIBRARY ieee ; USE ieee. std_logic_1164. all ; ENTITY seg 7 IS PORT ( bcd : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; leds : OUT STD_LOGIC_VECTOR(1 TO 7) ) ; END seg 7 ; ARCHITECTURE Behavior OF seg 7 IS BEGIN PROCESS ( bcd ) BEGIN CASE bcd IS -abcdefg WHEN "0000" => leds <= "1111110" ; WHEN "0001" => leds <= "0110000" ; WHEN "0010" => leds <= "1101101" ; WHEN "0011" => leds <= "1111001" ; WHEN "0100" => leds <= "0110011" ; WHEN "0101" => leds <= "1011011" ; WHEN "0110" => leds <= "1011111" ; WHEN "0111" => leds <= "1110000" ; WHEN "1000" => leds <= "1111111" ; WHEN "1001" => leds <= "1110011" ; WHEN OTHERS => leds <= "-------" ; END CASE ; END PROCESS ; END Behavior ; MO 401 5. 35
74381 ALU MO 401 5. 36
74381 ALU LIBRARY ieee ; USE ieee. std_logic_1164. all ; USE ieee. std_logic_unsigned. all ; ENTITY alu IS PORT ( s : IN STD_LOGIC_VECTOR(2 DOWNTO 0) ; A, B : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; F : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END alu ; MO 401 5. 37
74381 ALU ARCHITECTURE Behavior OF alu IS BEGIN PROCESS ( s, A, B ) BEGIN CASE s IS WHEN "000" => F <= "0000" ; WHEN "001" => F <= B - A ; WHEN "010" => F <= A - B ; WHEN "011" => F <= A + B ; WHEN "100" => F <= A XOR B ; WHEN "101" => F <= A OR B ; WHEN "110" => F <= A AND B ; WHEN OTHERS => F <= "1111" ; END CASE ; END PROCESS ; END Behavior ; MO 401 5. 38
74381 ALU MO 401 5. 39
- Organizao
- 8005427793
- Measurements definition
- Cs 542
- Cs 542
- Cs 542
- Fundamentos de redes de computadores
- Rede de computadores
- Provedor tier 1
- Clases de mantenimiento
- Computadores antiguos
- Arquitetura de computadores
- Execusist
- Redes de computadores
- Classificação dos computadores
- Organização e arquitetura de computadores
- Stallings william comunicaciones y redes de computadores
- Organização de computadores
- Ensamble y mantenimiento de computadores
- Algoritmo link state
- Redes de computadores
- Computadores
- Modelo de contingencia de lawrence y lorsch
- Szkoła neoklasyczna
- Neoklasyczna teoria przedsiębiorstwa
- Teoria da gravitação
- Leininger teoria
- Teoria de la contingencia en la administracion
- Gradi di libertà statistica
- Model harroda
- Teoria magicznego pocisku
- Celular
- Operaciones mentales simples
- Teoria
- Teoria abc
- Teoria de los rasgos (ralph stogdill y edwin ghiselli)
- La célula eucariota
- La teoria de la mano invisible
- Teoria social de durkheim
- Szlosek metody nauczania