MC542 Organização de Computadores Teoria e Prática

Slides:



Advertisements
Apresentações semelhantes
UNIDADE 5 . Custos de produção de curto e longo prazo
Advertisements

Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
VHDL VHSIC Hardware Description Language Very High Speed Integrated Circuits VHDL-87 VHDL-93.
Array aggregates type columns is range 1 to 4; type row is array (columns) of std_logic; variable r1 : row := ('1', '0', '1', '1'); variable r2 : row :=
The new way! The old way... TC – DEI, 2005/2006.
Fernando Gehm Moraes Ney Laert Vilar Calazans
César Augusto Missio Marcon Ney Laert Vilar Calazans
Para Casa – Montar o cariograma
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
MC613 Laboratório de Circuitos Lógicos
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Introdução a circuitos lógicos
Verificação MO801/MC912.
Dicas de Circuitos MO801/MC912.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MO Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MO Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
DIAGRAMA DE ATIVIDADES
DIAGRAMA DE CASOS DE USO PERSPECTIVA CONCEITUAL
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
FLI – ModelSim Pedro Velho.
Mapas de Karnaugh 5 e 6 variáveis.
Library IEEE; use ieee.std_logic_1164.all; use IEEE.std_logic_arith.all;
Tipos de dados Existentes BIT - {0, 1} BIT_VECTOR - {vetor de BIT}
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Construção sequencial CASE WHEN
Auditoria de Segurança da Informação
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
2ª Aula Teórica Prof. Cesar Costa
Matemática I Prof. Gerson Lachtermacher, Ph.D.
Expressão algébrica a partir da representação gráfica da função
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Verificação por Simulação Circuitos Descritos.
Instanciação em VHDL.
IFPE Campus Garanhuns– Curso Técnico em Informática 1 Sexta-feira, 19 de Agosto de 2011 Eletrônica Arquitetura de Computadores.
Conversão de um NFA para um DFA com um exemplo
Multiplexadores e Demultiplexadores
Test-bench para Somador
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Projeto de Somador com e sem Sinal Descrição.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Caríssimos. A todos, meus cumprimentos
Salas de Matemática.
Circuitos Combinacionais 01/08/2013.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Memórias.
Ney Laert Vilar Calazans
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
1.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Análise da Arrecadação Agosto de Desempenho da Arrecadação das Receitas Federais Evolução Janeiro a Agosto – 2014/2013 (A preços de agosto/14 –
Marca do evento Calendário de reuniões e encontros para o ano de 2011 Calendário 2011.
Análise da Arrecadação Setembro de Desempenho da Arrecadação das Receitas Federais Evolução Janeiro a Setembro – 2014/2013 (A preços de setembro/14.
Análise da Arrecadação Outubro de Desempenho da Arrecadação das Receitas Federais Evolução Janeiro a Outubro – 2014/2013 (A preços de outubro/14.
Rio Verde - Goiás - Brasil
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Descrição de Circuitos Combinacionais em VHDL
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Transcrição da apresentação:

MC542 Organização de Computadores Teoria e Prática 2006 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte Review today, not so fast in future

MC542 Circuitos Lógicos Circuitos Combinacionáis Blocos Básicos “Fundamentals of Digital Logic with VHDL Design” - (Capítulo 6) Review today, not so fast in future

Circuitos Combinacionáis: Blocos Básicos Sumário Multiplexador Implementação de Funções Lógicas Usando Mux Decodificador Codificador Codificador de Prioridade Conversores Comparador VHDL para Circuito Combinacional Select Atribuição Condicional Processos If-Then-Else Case

Multiplexador: 2 para 1 (2:1) Símbolo Gráfico f s w 1 Tabela Verdade 1 f s w transmission gates w 1 f s f s w 1 Suma-de-produtos

Multiplexador: 4 para 1 (4:1) f s 1 w 00 01 2 3 10 11 w 1 f s 2 3 f s 1 w 2 3

Mux 4:1 a partir de Mux 2:1 w 1 2 3 f s

Mux 16:1 w 8 11 s 1 3 4 7 12 15 2 f

Exemplo de Uso de Mux 2x2 crossbar switch 1 2 y s x 1 2 s y

Síntese de Funções Lógicas Usando MUX w 1 2 1 f w 2 1 f w 2 f w 2 1

Exemplo 1 w 2 3 f w w f 1 2 w 1 3 w 1 3 1 1 1 f w 1 2 3

Exempo 1 w 2 3 f w Å w 2 3 f w 3 1 2 w Å w 2 3

Exemplo 1 w 2 3 f f w 1 2 3

Exemplo Maioria de uns 1 w 2 3 f + f w 3 1 2

Exemplo Maioria de uns

Decodificador w n 1 – inputs En Enable 2 outputs y

Decodicifador 2:4 1 y w x En 2 3 w 1 y 2 3 En w En y 1 2 3

Decodicifador 3:8 Usando 2:4 w 2 y 1 3 En 4 5 6 7

Decodicifador 4:16 Usando 2:4 w En y 1 2 3 8 9 10 11 4 5 6 7 12 13 14 15

Memória 2m x n read-only memory (ROM) Sel 2 1 m – Address Read d n -to-2 decoder 0/1 Data a

Codificador 2 n inputs w 1 – y outputs 2n-to-n binary encoder

Codificador Binário 4:2 1 w 3 y 2 w 1 y 2 3

Codificador de Prioridade 1 w y z x 2 3 Exercício: Qual o Circuito Lógico?

Conversor BCD para Código Display de 7 segmentos f d Display 7-segmentos w a 1 b c d 2 3 e f g 1 w a b 2 3 c d e f g

Comparador de 4 bits i 1 2 3 b a AeqB AgtB AltB

Circuito Combinacional VHDL Comandos de Atribuição: Mux 2:1 - Comando Select LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux2to1 IS PORT ( w0, w1, s : IN STD_LOGIC ; f : OUT STD_LOGIC ) ; END mux2to1 ; ARCHITECTURE Behavior OF mux2to1 IS BEGIN WITH s SELECT f <= w0 WHEN '0', w1 WHEN OTHERS ; END Behavior ;

Circuito Combinacional VHDL Mux 4:1 – Comando Select LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux4to1 IS PORT ( w0, w1, w2, w3 : IN STD_LOGIC ; s : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ; f : OUT STD_LOGIC ) ; END mux4to1 ; ARCHITECTURE Behavior OF mux4to1 IS BEGIN WITH s SELECT f <= w0 WHEN "00", w1 WHEN "01", w2 WHEN "10", w3 WHEN OTHERS ; END Behavior ;

Circuito Combinacional VHDL Mux 4:1 - Como um Componente LIBRARY ieee ; USE ieee.std_logic_1164.all ; PACKAGE mux4to1_package IS COMPONENT mux4to1 PORT ( w0, w1, w2, w3 : IN STD_LOGIC ; s : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ; f : OUT STD_LOGIC ) ; END COMPONENT ; END mux4to1_package ;

Mux 16:1 usando o Componente Mux 4:1 LIBRARY ieee ; USE ieee.std_logic_1164.all ; LIBRARY work ; USE work.mux4to1_package.all ; ENTITY mux16to1 IS PORT ( w : IN STD_LOGIC_VECTOR(0 TO 15) ; s : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; f : OUT STD_LOGIC ) ; END mux16to1 ; ARCHITECTURE Structure OF mux16to1 IS SIGNAL m : STD_LOGIC_VECTOR(0 TO 3) ; BEGIN Mux1: mux4to1 PORT MAP ( w(0), w(1), w(2), w(3), s(1 DOWNTO 0), m(0) ) ; Mux2: mux4to1 PORT MAP ( w(4), w(5), w(6), w(7), s(1 DOWNTO 0), m(1) ) ; Mux3: mux4to1 PORT MAP ( w(8), w(9), w(10), w(11), s(1 DOWNTO 0), m(2) ) ; Mux4: mux4to1 PORT MAP ( w(12), w(13), w(14), w(15), s(1 DOWNTO 0), m(3) ) ; Mux5: mux4to1 PORT MAP ( m(0), m(1), m(2), m(3), s(3 DOWNTO 2), f ) ; END Structure ;

Decodificador Binário LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY dec2to4 IS PORT ( w : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ; En : IN STD_LOGIC ; y : OUT STD_LOGIC_VECTOR(0 TO 3) ) ; END dec2to4 ; ARCHITECTURE Behavior OF dec2to4 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 ;

Circuito Combinacional VHDL Mux 2:1 Comando Condicional LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux2to1 IS PORT ( w0, w1, s : IN STD_LOGIC ; f : OUT STD_LOGIC ) ; END mux2to1 ; ARCHITECTURE Behavior OF mux2to1 IS BEGIN f <= w0 WHEN s = '0' ELSE w1 ; END Behavior ;

Circuito Combinacional VHDL Processo (mux 2:1) Comando IF-Then-Else LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux2to1 IS PORT ( w0, w1, s : IN STD_LOGIC ; f : OUT STD_LOGIC ) ; END mux2to1 ; ARCHITECTURE Behavior OF mux2to1 IS BEGIN PROCESS ( w0, w1, s ) IF s = '0' THEN f <= w0 ; ELSE f <= w1 ; END IF ; END PROCESS ; END Behavior ;

Circuito Combinacional VHDL Processo (mux 2:1 – alternativo) LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux2to1 IS PORT ( w0, w1, s : IN STD_LOGIC ; f : OUT STD_LOGIC ) ; END mux2to1 ; ARCHITECTURE Behavior OF mux2to1 IS BEGIN PROCESS ( w0, w1, s ) f <= w0 ; IF s = '1' THEN f <= w1 ; END IF ; END PROCESS ; END Behavior ;

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 ) 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 ;

Circuito Combinacional VHDL Processo (Comando Case) LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY mux2to1 IS PORT ( w0, w1, s : IN STD_LOGIC ; f : OUT STD_LOGIC ) ; END mux2to1 ; ARCHITECTURE Behavior OF mux2to1 IS BEGIN PROCESS ( w0, w1, s ) CASE s IS WHEN '0' => f <= w0 ; WHEN OTHERS => f <= w1 ; END CASE ; END PROCESS ; END Behavior ;

Decodificador de 7 segmentos LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY seg7 IS PORT ( bcd : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; leds : OUT STD_LOGIC_VECTOR(1 TO 7) ) ; END seg7 ; ARCHITECTURE Behavior OF seg7 IS BEGIN PROCESS ( bcd ) 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 ;

74381 ALU

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 ;

74381 ALU ARCHITECTURE Behavior OF alu IS BEGIN PROCESS ( s, A, B ) 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 ;

74381 ALU