abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant disconnect downto.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Exemplo de um projeto de sistema completo
Projecto de Hardware com FPGAs
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.
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 :=
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
VHDL Linguagem de Descrição e Síntese de Circuitos Digitais
VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais.
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Verilog AULA - 3.
VHDL AULA - 2.
MC542 Organização de Computadores Teoria e Prática
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Introdução a circuitos lógicos
Dicas de Circuitos MO801/MC912.
VHDL (outros tópicos) MO801/MC912.
MC542 Organização de Computadores Teoria e Prática
Semana de Engenharia Introdução a Linguagem de Descrição de HW VHDL a ao Projeto Baseado em Lógica de Programação ALTERA Prof. Daniel Barros Júnior
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}
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
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.
7 Abstração Genérica Unidades genéricas e instanciação.
Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001
Comunicação Inclusiva Acessibilidade e Programação Web
O Portal do Estudante de Computação
Fundamentos de Eletrônica Digital
Paradigmas de programação
João Lucas de Oliveira Torres
Ada.
Circuitos Seqüenciais Descrição VHDL
Variáveis, Tipos de Dados e Constantes
Validação de VHDL: técnicas e ferramentas
Circuitos Seqüenciais Contadores
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.
Seminário 1: Revisão de C
O Portal do Estudante de Computação
Ney Laert Vilar Calazans
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Monitoria GDI Aula Prática
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Expressões: operadores aritméticos
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.
Programação e Aplicações Gráficas
Conversão de Tipos Exemplo: x + i, onde x é do tipo real e i é do tipo integer. A especificação da linguagem deve indicar se a linguagem suporta este tipo.
Hardware Description Language Aula 5 -VHDL Prof. Afonso Ferreira Miguel, MSc.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Trabalho Computacional Mecânica de Fluidos Ambiental Guillaume Riflet, Pedro Pina, Luís Fernandes.
Prof. Anderson Royes Terroso Abril, 2000.
Remote Procedure Call (RPC) e Rendezvous
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.
Autor: Fernando de Carvalho Navarro Apresentação criada por Fernando de Carvalho Navarro
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
Verilog HDL. Introduzida em 1985 pela Gateway Design System Corporation Após 1990, passou a ser de domínio público, e em 1995 passou a ser padrão IEEE.
VHDL (Very High Speed Integrated Circuit HDL (VHSIC HDL)) GRECO CIn-UFPE.
Projeto de Circuitos Integrados Semidedicados
Comandos sequenciais entity mux4_1 is
Transcrição da apresentação:

abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant disconnect downto else elsif end entity exit file for function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process pure range record register reject rem report return rol select severity signal shared sla sll sra srl subtype then to transport type unaffected units until use variable wait when while with xnor xor

Operadores Operador Operação operando esquerdo operando direito tipo do resultado ** exponenciação inteiro/virgula flutuante inteiro mesmo que esquerdo abs valor absoluto numérico mesmo que operando not negação bit/boolean ou array 1-D de bit/boolean mesmo que operando multiplicação inteiro/virgula flutuante mesmo que o esquerdo mesmo que o operando físico inteiro/virgula flutuante mesmo que o esquerdo inteiro/virgula flutuante físico mesmo que o direito / divisão inteiro/virgula flutuante mesmo que o esquerdo mesmo que o operando físico inteiro/virgula flutuante mesmo que o esquerdo físico mesmo que o esquerdo inteiro universal mod módulo inteiro mesmo que o esquerdo mesmo que o operando rem resto inteiro mesmo que o esquerdo mesmo que o operando comentários para ISE Xilinx – divisão só para o operando direito igual a 2 n

Operadores Operador Operação operando esquerdo operando direito tipo do resultado + identidade numérico mesmo que operando - negação numérico mesmo que operando + adição numérico mesmo que esquerdo mesmo que operando - subtracção numérico mesmo que esquerdo mesmo que operando & concatenação array 1-D mesmo que esquerdo mesmo que operando array 1-D tipo elemento do operando esquerdo mesmo que esquerdo tipo elemento do operando direito array 1-D mesmo que direito sll shift-left lógico array 1-D/bit/boolean inteiro mesmo que esquerdo srl shift-right/lógico sla shift-left/aritmético sra shift-right/aritmético rol rotar esquerdo srl rotar direito - - -

Operadores Operador Operação operando esquerdo operando direito tipo do resultado = comparar/ igual qualquer excepto ficheiro mesmo que o esquerdo boolean /= comparar/ não igual and AND lógico array 1_D do qualquer tipo discreto / bit / boolean mesmo que o esquerdo mesmo que o operando or OR lógico nand AND lógico nor OR lógico xor XOR lógico xnor XOR lógico < menor que escalar ou array 1-D do mesmo que o esquerdo boolean qualquer tipo discreto <= menor ou igual que > maior que >= maior ou igual que Prioridade max min

o tipo numérico = inteiro ou com virgula flutuante ou físico; o tipo físico = unidades físicas (ex. ns, ms, ohm, Kohm, etc.). Comentários: os tipos físicos não são suportados por Xilinx ISE.

tipos escalaresaccessficheiroscompósitos discretos com vírgula flutuante físicosarray estrutura (record) inteiros enumerações severity_level caracteres boolean bit tempo unconstrainedconstrained bit_vectorstring

& ( ) * +, -. / : ; | => ** := /= >= atribuição para variáveis atribuição para sinais

inteiros: 2# #16#A9#8#251# E e-03 reais: Os caracteres em VHDL são escritos entre plicas : Fq,

Representam sequências de caracteres e são escritas entre aspas: Esta e uma Linha 1 e & comprida. - representam sequências de bits; - começam com um caracter (B, b, O, o, X, x) que representa a base.; - escrevem-se entre aspas; - podem incluir _. B0010 b1111_1111 O123 o123 XABCDE x12ab x0a = b0000_1010 o12

Um objecto é um item nomeado que pertence a um determinado tipo.

- precisam de ser declaradas antes de poderem ser utilizadas. A declaração introduz o nome do objecto, define o seu tipo e pode especificar o valor inicial. constant a : string := "Linha ""1"" e" & "comprida." ; constant numero_de_bits : integer := 4; constant dados : std_logic_vector(11 downto 0) := b"0000_1111_1010"; variable var1 : bit; variable var2 : std_logic := '1'; assume o valor inicial por defeito que depende do tipo da variável

As declarações de variáveis e constantes aparecem normalmente na parte declarativa de processos: architecture Behavioral of reg4 is begin process (d0, d1, d2, d3, en, clk) is variable sd0, sd1, sd2, sd3 : bit; begin if en = '1' and clk = '1' then sd0 := d0; sd1 := d1; sd2 := d2; sd3 := d3; end if; s0 <= sd0; s1 <= sd1; s2 <= sd2; s3 <= sd3; end process; end Behavioral; A atribuição de um valor à variável (:=) substitui imediatamente o valor anterior desta variável !!! A atribuição de um valor a um sinal (<=) funciona de maneira diferente !!!

entity var_sig is port (clk, reset: in std_logic; output : out std_logic); end entity var_sig; architecture behav of var_sig is begin process (clk) variable temp_var : std_logic; begin temp_var := '1'; if (temp_var = '1') then output <= temp_var; else output <= '0'; end if; temp_var := '0'; end process; end behav;

entity var_sig is port (clk, reset: in std_logic; output : out std_logic); end entity var_sig; architecture behav of var_sig is signal temp_sig : std_logic; begin test: process (clk) begin temp_sig <= '1'; if (temp_sig = '1') then output <= temp_sig; else output <= '0'; end if; temp_sig <= '0'; end process test; end behav;

signal sig : std_logic_vector(1 downto 0); signal sig_sig, var_sig : std_logic; begin process(clk48,rst) variable var : std_logic_vector(1 downto 0); begin if rst= '0' then var_sig <= '0'; var := (others=> '0'); elsif rising_edge(clk48) then var_sig <= '1'; var := var + 1; if var = "01" then var := "00"; var_sig <= '0'; else null; end if; var := "00"; end process; process(clk48,rst) begin if rst= '0' then sig_sig <= '0'; sig '0'); elsif rising_edge(clk48) then sig_sig <= '1';sig <= sig + 1; if sig = "01" then sig <= "00"; sig_sig <= '0'; else null; end if; sig <= "00"; end process; var_sig = 0 sig_sig = 1

tipos escalaresaccessficheiroscompósitos discretos com virgula flutuante físicosarray estrutura (record) inteiros enumerações severity_level caracteres boolean bit tempo unconstrainedconstrained bit_vectorstring