Construção sequencial CASE WHEN

Slides:



Advertisements
Apresentações semelhantes
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Advertisements

Projecto de Hardware com FPGAs
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.
VHDL VHSIC Hardware Description Language Very High Speed Integrated Circuits VHDL-87 VHDL-93.
abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant disconnect downto.
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.
VHDL - VHSIC Hardware Description Language
VHDL - VHSIC Hardware Description Language
Fernando Gehm Moraes Ney Laert Vilar Calazans
César Augusto Missio Marcon Ney Laert Vilar Calazans
Ney Laert Vilar Calazans
VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais.
VHDL AULA - 2.
Lógica reconfigurável por hardware
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
VHDL - uma visão geral 5 tipos de unidades
MC613 Laboratório de Circuitos Lógicos
VHDL - Tipos de dados compostos e operações
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Introdução a circuitos lógicos
Verificação MO801/MC912.
Dicas de Circuitos MO801/MC912.
VHDL - Introdução MO801/MC912.
VHDL (outros tópicos) MO801/MC912.
MC 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.
FLI – ModelSim Pedro Velho.
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.
2ª Aula Teórica Prof. Cesar Costa
Modelagem de Sistemas com VHDL
Fundamentos de Eletrônica Digital
Máquina de Estados Finito
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.
Circuitos Seqüenciais Descrição VHDL
Índice Sumário Implementação de Contadores Implementação de contadores
Instanciação em VHDL.
EPUSP – PTC Guido Stolfi
Lógica reconfigurável por hardware
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Circuitos Seqüenciais Contadores
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.
Diagramas de Blocos e Descrição VHDL
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
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
Descrição de Circuitos Combinacionais em VHDL
Projetos Grandes MO801/MC912. Roteiro Componentes Configurações Instanciação múltipla Instanciação condicional Atenção: Os exemplos são cumulativos.
Introdução à Programação da FPGA João M. P. Cardoso.
Hardware Description Language Aula 5 -VHDL Prof. Afonso Ferreira Miguel, MSc.
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.
Introdução a VHDL Monitoria de Digitais.
Introdução ao VHDL João M. P. Cardoso.
1. 2 Objetivos 1.Análise dos resultados da primeira avaliação. Notas importantes para futuro. 2.Comunicação de placas baseadas em FPGAs com computador.
VHDL (Very High Speed Integrated Circuit HDL (VHSIC HDL)) GRECO CIn-UFPE.
Introdução à Programação da FPGA
Projeto de Circuitos Integrados Semidedicados
Máquina de Estados Finitos com Dados (FSMD)
Lógica Sequencial e Máquina de Estados Finitos
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.
Projeto de Circuitos Integrados Semidedicados
Comandos sequenciais entity mux4_1 is
LABORG Prof. Ney Calazans Última alteração: 09/09/2019
Transcrição da apresentação:

Construção sequencial CASE WHEN Sintaxe: CASE <sinal> IS WHEN <alvo1> => <expressão 1>; <expressão 2>; : <expressão n>; WHEN <alvo2> => <expressão 1>; WHEN OTHERS => <expressão 1>; END CASE;

Exemplo da construção CASE WHEN B C 1 Descrever a função da tabela verdade ao lado em VHDL, usando a instrução CASE WHEN

Exemplo da construção CASE WHEN ENTITY exemplo_case IS PORT( A, B : IN BIT; C : OUT BIT ); END exemplo_case; ARCHITECTURE comportamental OF exemplo_case IS SIGNAL auxiliar IS BIT_VECTOR (2 DOWNTO 1); BEGIN auxiliar <= A&B; -- & operador de concatenação PROCESS (auxiliar) CASE auxiliar is WHEN "00" => C <= ‘0’; WHEN “11" => WHEN OTHERS => C<= ‘1’; END CASE; END PROCESS; END comportamental; Tabela Verdade A B C 1

Simulação do exemplo_case B C 1

Exemplo2 da construção CASE WHEN ENTITY exemplo_case IS PORT( ENTRADA : IN BIT_VECTOR(2 DOWNTO 1); C : OUT BIT ); END exemplo_case; ARCHITECTURE comportamental OF exemplo_case IS BEGIN PROCESS (ENTRADA) CASE ENTRADA is WHEN "00" => C <= '0'; WHEN "11" => WHEN OTHERS => C<= '1'; END CASE; END PROCESS; END comportamental; Tabela Verdade A B C 1

Exemplo 3 da construção CASE WHEN ENTITY decodificador IS PORT( controle : IN BIT_VECTOR(2 DOWNTO 1); saida : OUT BIT_VECTOR(4 DOWNTO 1) ); END decodificador; ARCHITECTURE comportamental OF decodificador IS BEGIN PROCESS (controle) CASE controle is WHEN "00" => saida <= "0001"; -- vetor (entre aspas duplas “) WHEN "01" => saida <= "0010"; WHEN "10" => saida <= "0100"; WHEN "11" => saida <= "1000"; END CASE; END PROCESS; END comportamental;

Exemplo 4 da construção CASE WHEN library IEEE; use ieee.std_logic_1164.all; ENTITY decodificador IS PORT( controle : IN STD_LOGIC_VECTOR(2 DOWNTO 1); saida : OUT STD_LOGIC_VECTOR(4 DOWNTO 1) ); END decodificador; ARCHITECTURE comportamental OF decodificador IS BEGIN PROCESS (controle) CASE controle is WHEN "00" => saida <= "0001"; -- vetor (entre aspas duplas ) WHEN "01" => saida <= "0010"; WHEN "10" => saida <= "0100"; WHEN "11" => saida <= "1000"; END CASE; END PROCESS; END comportamental;

Síntese do circuito – Descrição RTL e Tecnologia library IEEE; use ieee.std_logic_1164.all; ENTITY circuito_soma IS PORT ( a, b : IN STD_LOGIC; soma : OUT STD_LOGIC_VECTOR (2 DOWNTO 1) ); END circuito_soma; ARCHITECTURE comportamental OF circuito_soma IS SIGNAL auxiliar : STD_LOGIC_VECTOR (2 DOWNTO 1); BEGIN auxiliar <= a&b; PROCESS (auxiliar) CASE (auxiliar) IS WHEN "00" => soma <= "00"; WHEN "01" => soma <= "01"; WHEN "10" => soma <= "10"; WHEN "11" => soma <= "11"; WHEN OTHERS => END CASE; END PROCESS; END comportamental; Síntese do circuito – Descrição RTL e Tecnologia

Construção FOR LOOP Sintaxe: FOR i IN <valor inicial> TO <valor final> LOOP <expressão 1>; -- i é uma variável do tipo inteiro <expressão 2>; -- valor inicial < valor final : -- valor inicial e valor final não podem ser <expressão n>; -- expressão END LOOP OU FOR i IN <valor inicial> DOWNTO <valor final> LOOP <expressão 1>; -- i é uma variável do tipo inteiro <expressão 2>; -- valor inicial > valor final : <expressão n>;

Exemplo da construção FOR LOOP Descrever em VHDL um circuito para determinar a ordem do bit ‘1’ de mais alta significância em um vetor de entrada de 8 bits. Solução: ordem_bit B A 8 bits 3 bits

Exemplo da construção FOR LOOP library IEEE; -- Biblioteca IEEE use ieee.std_logic_1164.all; -- Define o tipo STD_LOGIC use ieee.std_logic_arith.all; -- e funções envolvendo os tipos STD_LOGIC e inteiro ENTITY ordem_bit IS PORT ( entrada : IN STD_LOGIC_VECTOR (7 DOWNTO 0); z : OUT STD_LOGIC_VECTOR (3 DOWNTO 1) ); END ordem_bit; ARCHITECTURE comportamental OF ordem_bit IS BEGIN PROCESS (entrada) VARIABLE i, k : INTEGER; -- definição das variáveis do processo FOR i IN 0 TO 7 LOOP IF entrada(i) = '1' THEN k := i; -- operador de atribuição de variável END IF; END LOOP; z <= CONV_STD_LOGIC_VECTOR(k,3); -- função para conversão de inteiro para END PROCESS; -- sinal do tipo STD_LOGIC_VECTOR END comportamental; -- representado com 3 bits

Simulação do ordem_bit

Exemplo da construção FOR LOOP library IEEE; -- Biblioteca IEEE use ieee.std_logic_1164.all; -- Define o tipo STD_LOGIC use ieee.std_logic_arith.all; -- e funções envolvendo os tipos STD_LOGIC e inteiro ENTITY ordem_bit2 IS PORT ( entrada : IN STD_LOGIC_VECTOR (7 DOWNTO 0); -- z : OUT STD_LOGIC_VECTOR (3 DOWNTO 1) z : OUT INTEGER RANGE 0 TO 7 -- saída inteiro de 0 a 7 ); END ordem_bit2; ARCHITECTURE comportamental OF ordem_bit2 IS BEGIN PROCESS (entrada) VARIABLE i, k : INTEGER; FOR i IN 0 TO 7 LOOP IF entrada(i) = '1' THEN k := i; END IF; END LOOP; z <= k; -- índice é passado para a saída que também é inteiro -- z <= CONV_STD_LOGIC_VECTOR(k,3); -- não precisa conversão END PROCESS; END comportamental;