VERILOG. Alex Vidigal Bastos
|
|
|
- Benedito Campos Aldeia
- 7 Há anos
- Visualizações:
Transcrição
1 VERILOG Alex Vidigal Bastos
2 Sumário Objetivos Introdução Hierarquia Estruturas de Modelagem
3 Objetivos Identificar os modelos de componentes do Verilog, incluindo módulos, instâncias e portas; Correta sintaxe para cada um dos modelos dos componentes do Verilog; Indicar as relações entre os diferentes modelos dos componentes do Verilog; Identificar e corrigir a sintaxe para as estruturas de modelagem que são componentes dos
4 Verilog Com as linguagens de descrição de hardware, o processo passou a ser como o de se desenvolver um software. Um exemplo seria: Especificação Design de Alto Nível Codificação Verificação / Testes Sintetização
5 Introdução Linguagens de descrição de hardware, ou HDL, são linguagens utilizadas para projetar hardware. Tal como o nome implica, um HDL também pode ser usado para descrever a funcionalidade do hardware, bem como a sua aplicação.
6 Introdução A principal característica de uma linguagem de descrição de hardware é que ele contém a capacidade para descrever a função de uma peça de hardware de forma independente da aplicação.
7 Introdução O grande avanço com HDL modernos foi o reconhecimento de que uma linguagem única pode ser utilizada para descrever a função do projeto e também para descrever a implementação. Isto permite que o processo de concepção inteira para ter lugar numa única linguagem, e, assim, uma representação única do projeto.
8 História
9 Hierarquia Verilog permite representar a hierarquia de um projeto. As estruturas de Verilog que constrõem a hierarquia são: Módulos; Portas;
10 Hierarquia Um modelo de Verilog é composto de módulos. Um módulo é a unidade básica do modelo, e pode ser composto de instâncias de outros módulos. Um módulo de que é composto de instâncias dos outros módulos é chamado um parent module, e as instâncias são chamadas parent children.
11 Hierarquia
12 Verilog - Exemplo
13 Verilog - Exemplo module and2 (a, b, y); input a, b; output y; assign y = a & b; endmodule
14 Linguagens de Descrição de Hardware - HDL Para quê precisamos de uma Linguagem de Descrição de Hardware? Modelar, Representar e simular hardware digital Concorrência Paralelismo Semântica para valores de sinais no tempo Construções e semântica especiais Transições (bordas) de valores de sinais Atrasos de propagação de sinais Verificação de condições temporais 14
15 VERILOG HDL A unidade básica o modulo Modulo (module) Descreve a funcionalidade do circuito Define terminais (pinos, portas) de entrada e saída Exemplo: Um computador Funcionalidade: Realizar operações programadas Portas de entrada/saída: conector para teclado, mouse, conector VGA, conector USB 15
16 Module Definição geral module module_name ( port_list ); port declarations; variable declaration; description of behavior endmodule Exemplo module HalfAdder (A, B, Sum, Carry); input A, B; output Sum, Carry; assign Sum = A ^ B; //^ denotes XOR assign Carry = A & B; // & denotes AND endmodule 16
17 Convenções Lexicais Comentários // comentário de uma linha só /* outra forma de comentário de uma linha */ /* inicio de comentário com múltiplas linhas todo texto é ignorado termina com a linha abaixo */ Números decimal, hexadecimal, octal, binário unsized decimal form size base form include underlines, +,- Cadeias de caracteres "Delimite usando aspas numa mesma linha" limitados a 1024 caracteres 17
18 Identifier A... Z a... z Underscore Convenções Lexicais (cont.) Strings são limitadas a 1024 caracteres Primeiro caractere de identificação não deve ser um dígito Operators: Verilog diferencia letras maiúsculos de minúsculos 18
19 Estilos de Descrição Estrutural: representa circuitos lógicos usando primitivas da linguagem Verilog Exemplo: not n1(sel_n, sel); and a1(sel_n, b, sel_b); and a2(sel_a, a, sel); or o1(out, sel_b, sel_a); b sel n1 a1 sel_b sel_n a o1 out a2 sel_a 19
20 Estilo de Descrição (cont.) Fluxo de dados: Representa sinais de saída em função de sinais de entrada Exemplo: assign out = (sel & a) (~sel & b); b sel sel_n sel_b out sel_a a 20
21 Estilo de Descrição (cont.) Comportamental: representa o comportamento na forma de um algoritmo Exemplo: if (select == 0) begin out = b; end else if (select == 1) begin out = a; end a b Black Box 2x1 MUX out select 21
22 Estilo de Descrição (cont.) RTL (Register Transfer Level): descreve o que acontece a cada transição ativa do sinal de relógio Exemplo: clock) begin end pisca = ~pisca; 22
23 Modelo estrutural Execução: Concorrente Formato (portas lógicas primitivas): and G2(Carry, A, B); Primeiro parâmetro (Carry) Output Outros parâmetros (A, B) - Inputs 23
24 Modelo de Fluxo de Dados Usa atribuição permanente para sinais Format: assign [ delay ] net = expression; Example: assign sum = a ^ b; delay : Atraso de propagação da expressão para o sinal Todas as atribuições permanentes executam simultaneamente A ordens das atribuições dentro do arquivo Verilog não tem efeito sobre a execução. 24
25 Modelo de Fluxo de Dados (cont.) Atraso Exemplo: assign #2 sum = a ^ b; #2 indica 2 unidades de tempo Sem especificação de atraso: 0 (default) Associação entre unidade de tempo e tempo simulado `timescale unidade de tempo/ precisão tempo Exemplo: `timescale 1 ns / 10 ps 1 unidade de tempo = 1 ns resolução é 10 ps (0.01 ns) ns é interpretado como ns 25
26 Modelo de Fluxo de Dados (cont.) Exemplo: `timescale 1ns/10ps module HalfAdder (A, B, Sum, Carry); input A, B; output Sum, Carry; assign #3 Sum = A ^ B; assign #6 Carry = A & B; endmodule 26
27 Modelo de Fluxo de Dados (cont.) 27
28 Exemplo: Modelo comportamental module mux_2x1(a, b, sel, out); input a, a, sel; output out; or b or sel) begin if (sel == 1) out = a; else out = b; end endmodule Sensitivity List 28
29 Modelo comportamental RTL (cont.) always statement : Sequência do bloco; Sequential Block: Todas as declarações dentro do bloco são executados sequencialmente; Quando é executado? Ocorrência de um evento na lista de sensibilidade; Evento: Mudança do valor lógico 29
30 Modelo comportamental RTL (cont.) - Declarações com um bloco seqüencial: Atribuições processuais - Atraso na Atribuições processuais Inter-Statement Delay Intra-Statement Delay 30
31 Modelo comportamental (cont.) Atraso entre atribuições: Exemplo: Sum = A ^ B; #2 Carry = A & B; Execução atrasada Atraso dentro de uma atribuição: Exemplo: Sum = A ^ B; Carry = #2 A & B; Atribuição atrasada 31
32 Existem dois: Construções Procedurais initial : Executa uma única vez no início da simulação, NÃO sintetizável always : Executa repetidamente, sintetizável Exemplo: initial begin Sum = 0; Carry = 0; end or B) begin Sum = A ^ B; Carry = A & B; end 32
33 Controle por evento Controle por evento Disparo do evento por transição (borda) Disparo do evento por nível Controle por evento de (posedge CLK) // transição positiva de CLK Curr_State = Next_state; Controle por evento de nível (A or B) // mudança nos valores de A ou B Out = A & B; 33
34 Instruções de Laço Laços Repeat While For Laço repeat Exemplo: repeat (Count) sum = sum + 5; Se a condição é x or z ela é tratada como 0 34
35 Laço While Instruções de Laço (cont.) Exemplo: while (Count < 10) begin end sum = sum + 5; Count = Count +1; Se a condição é x or z ela é tratada como 0 Laço For Exemplo: for (Count = 0; Count < 10; Count = Count + 1) begin end sum = sum + 5; 35
36 Instruções Condicionais Formato: if (condition) procedural_statement else if (condition) procedural_statement else procedural_statement Exemplo: if (reset) Q = 0; else Q = D; 36
37 Instruções Condicionais (cont.) Instrução Case Exemplo 1: case (X) 2 b00: Y = A + B; 2 b01: Y = A B; 2 b10: Y = A / B; endcase Example 2: case (3 b101 << 2) 3 b100: A=B+C; 4 b0100: A=B C; 5 b10100: A=B/C; //This statement is executed endcase 37
38 Tipos de Dados Net Type: Wire wire [ msb : lsb ] wire1, wire2, Exemplo: wire Reset; // A 1-bit wire wire [6:0] Clear; // A 7-bit wire Register Type: Reg reg [ msb : lsb ] reg1, reg2, Exemplo: reg [ 3: 0 ] cla; // A 4-bit register reg cla; // A 1-bit register 38
39 Restrições sobre Tipos de Dados Fluxo de Dados e Modelagem Estrutural - Pode usar somente tipos de dados wire - Não pode usar tipo de dados reg Modelos de Comportamento - Pode usar somente tipos de dados reg (dentro das construções iniciais e always) - Não pode usar tipo de dados wire 39
40 Um array de registros Memórias reg [ msb : lsb ] memory1 [ upper : lower ]; Example reg [ 0 : 3 ] mem [ 0 : 63 ]; // Um array de 64-4bit de registradores reg mem [ 0 : 4 ]; // Um array de 5 1-bit registers 40
41 Diretivas de Compilação `define (Similar ao define em C) usado para definir parâmetros globais Example: `define BUS_WIDTH 16 reg [ `BUS_WIDTH - 1 : 0 ] System_Bus; `undef Remove a diretiva previamente definida Example: `define BUS_WIDTH 16 reg [ `BUS_WIDTH - 1 : 0 ] System_Bus; `undef BUS_WIDTH 41
42 Compiler Directives (cont.) `include usado para incluir outro arquivo Example `include./fulladder.v 42
43 Tarefas de Sistema Exibir as tarefas - $display : Mostra toda a lista no momento em que declaração é encontrada; $monitor : Sempre que há uma mudança em qualquer argumento, exibe toda a lista no final do passo de tempo; Tarefa de Controle de Simulação $finish : Faz o simulador sair; $stop : Suspende a simulação Time $time: dá o tempo da simulação; 43
44 Tipos de Conexões de portas Connection by Position parent_mod 44
45 Tipos de Conexões de portas (cont.) Connection by Name parent_mod 45
46 Conexões de Portas Vazias Se uma porta de entrada de um módulo instanciado estiver vazia, a porta está definida para um valor de z (alta impedância). module child_mod(in1, In2, Out1, Out2) module parent_mod(.) input In1; input In2; child_mod mod(a,,y1, Y2); output Out1; //Empty Input output Out2; endmodule //behavior relating In1 and In2 to Out1 endmodule Se uma porta de saída de um módulo instanciado é deixado vazio, a porta é considerado como não utilizada. module parent_mod(.) child_mod mod(a, B, Y1, ); //Empty Output endmodule 46
47 Bancada de Teste `timescale 1ns/100ps module Top; reg PA, PB; wire PSum, PCarry; HalfAdder G1(PA, PB, PSum, PCarry); initial begin: LABEL reg [2:0] i; for (i=0; i<4; i=i+1) begin {PA, PB} = i; #5 $display ( PA=%b PB=%b PSum=%b PCarry=%b, PA, PB, PSum, PCarry); end // for end // initial endmodule Test Bench Apply Inputs Design Module Observe Outputs 47
48 Bancada de Teste - Estímulo gerador Exemplo: uma sequência de valores; initial begin Clock = 0; #50 Clock = 1; #30 Clock = 0; #20 Clock = 1; end 48
49 Bancada de Teste Gerando Clock Sinais Repetitivos Signals (clock) Clock Solução Simples: wire Clock; assign #10 Clock = ~ Clock Cuidados: Iniciar valores de clock (wire data type) = z ~z = x and ~x = x 49
50 Bancada de Teste Gerando Clock Inicializar o sinal de clock initial begin Clock = 0; end Cuidado: Clock is of data type wire, cannot be used in an initial statement Solução: reg Clock; initial begin Clock = 0; end always begin #10 Clock = ~ Clock; end SEMPRE loop pode ser usado para gerar clock 50
51 Perguntas?
1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog.
1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog. 2. Material utilizado: Ambiente Eclipse 3. Introdução: 3.1
Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC
Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Linguagem para descrever o funcionamento de um sistema (o que e como o sistema faz). O sistema descrito em HDL
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
Verilog HDL 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 Verilog HDL vs. VHDL Verilog HDL é mais
Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.
Introdução à VHDL Gustavo G. Parma Assunto: Introdução à VHDL. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. 1 Introdução Teórica VHDL, VHSIC (Very High Speed Integrated
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou
FPGA & VHDL. Tutorial
FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves
Introdução à Linguagem VHDL
Sistemas Digitais EEL 480 Introdução à Linguagem VHDL Luís Henrique M. K. Costa [email protected] UFRJ DEL/Poli e PEE/COPPE P.O. Box 68504 - CEP 21941-972 - Rio de Janeiro - RJ Brasil - http://www.gta.ufrj.br
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou
Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno
Fundamentos de Sistemas Digitais Lógica Sequencial Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno 2 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até 7.4, 9, 10. Não tem
FPGA & VHDL. Tutorial Aula 1. Computação Digital
FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma
Introdução. VHDL: VHSIC Hardware Description Language. Origem: VHSIC: Very High Speed Integrated Circuits. Departamento de Defesa EUA
Introdução VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits Origem: Departamento de Defesa EUA desenvolvida entre anos 70 e 80 descrever e modelar circuitos complexos
Introdução à Linguagem VHDL
Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Descrição e Projeto de Circuitos Utilizando VHDL
Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia Melhor
low): Descreve o que o sistema deve fazer utilizando expressões lógicas.
Descrição por fluxo de dados (Data Data-Flow low): Descreve o que o sistema deve fazer utilizando expressões lógicas. Descrição estrutural: Descreve como é o hardware em termos de interconexão de componentes.
Circuitos sequenciais elementares
Circuitos sequenciais elementares João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and esign,. Patterson & J. Hennessey, 3 a. ed., MKP Tópicos Sistemas
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos
NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA
AULA 17 - Nível de Transferência entre Registradores RTL. Livro texto, pág.242 a 276 e apostila de fluxo de dados. 1. Introdução:.Continuação projeto RTL. Exemplo 5.2: Medidor de distância baseado em raio
Circuitos sequenciais elementares
Circuitos sequenciais elementares João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and esign,. Patterson & J. Hennessey, 3ª. ed., MKP ópicos Sistemas sequenciais
Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba
Introdução ao VHDL Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Original por Ayman Wahba VHDL É uma linguaguem de descrição de hardware, ou seja, uma forma estruturada para a descrição de circuitos
Prof. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 3 Introdução ao VHDL Prof. Leonardo Augusto Casillo O que significa VHDL? Very High Speed Integrated Circuit Hardware Description
Projeto com Linguagens de Descrição de Hardware
Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.
Compilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Ambiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMATICA LISTA DE EXERCÍCIOS DE SISTEMAS DIGITAIS Prof. Fernanda Gusmão de Lima Kastensmidt E Marcelo Porto (aluno mestrado PPGC) Descreva em VHDL,
Introdução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas
Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva
Registradores Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva 2 Registradores Conjunto de elementos de memória (flip-flops ou latches) utilizados para armazenar n bits. Utilizam um único sinal de
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Tópicos Especiais 2 Capítulo 3 Introdução ao VHDL, sintaxe básica, tipo de dados e atribuições
Tópicos Especiais 2 Capítulo 3 Introdução ao VHDL, sintaxe básica, tipo de dados e atribuições Prof. Alan Petrônio Pinheiro - 2011 Introdução VHDL é uma linguagem de descrição de hardware Hardware Description
Tópicos em Sistemas Embarcados. Esterel
Universidade Federal do Rio Grande do Sul Instituto de Informática Tópicos em Sistemas Embarcados Esterel Esterel 1. Do Surgimento 2. A Linguagem Esterel 3. Vantagens da Linguagem 4. Desvantagens da Linguagem
Aula Expositiva 03. DCC 001 Programação de Computadores 2 o Semestre de 2011 Prof. Osvaldo Carvalho DCC
Aula Expositiva 03 2.2.5 Síntese de Circuitos Combinatórios (7 segmentos) 2.2.6 Multiplexadores e Demultiplexadores 2.3 Circuitos Sequenciais 2.3.1 Flip-flops e registradores 2.3.2 Barramentos e Controle
Linguagens de descrição de hardware. Modelação de um circuito (digital)
Linguagens de descrição de hardware Modelação de um circuito (digital) descrições comportamentais permitem nível elevado de abstracção metodologia top-down: ferramentas de síntese automática representação
Organização e Arquitetura de Computadores II
Organização e Arquitetura de Computadores II Rômulo Calado Pantaleão Camara [email protected] www.univasf.edu.br/~romulo.camara 60h/02h Disciplinas Correlacionadas Programação Org. e Arq. de
Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string
Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program
Aula 7 SISTEMAS DIGITAIS. Linguagem de Descrição de Hardware VHDL Maquinas de Estados. Prof. Fernanda Gusmão de Lima Kastensmidt
SISTEMAS DIGITAIS Linguagem de Descrição de Hardware VHDL Maquinas de Estados Prof. Fernanda Gusmão de Lima Kastensmidt [email protected] Maquinas de Estado Tipo Melay and Moore Entrada estado f Reset
12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)
Instituto Federal de Santa Catarina Área de Telecomunicações SST20707 Síntese de Sistemas de Telecomunicações Prof. Roberto de Matos Aviso de direitos Autorais: Transparências baseadas no trabalho do Prof.
Sistemas de Numeração. Sistemas de Numeração. Sistemas de Numeração. RUIDO em Sistemas Computacionais. Arquiteturas de Computadores
Arquiteturas de Computadores Sistema de Numeração Decimal - (..9) Número 23 na base (): = Prof. Edward David Moreno Cap 2 Número 23,456 na base (): = AC - CAP2 - Edward Moreno AC - CAP2 - Edward Moreno
LABORG. VHDL Máquina de estados finitos
LABORG VHDL Máquina de estados finitos Sumário Introdução TRABALHO A FAZER A ENTREGAR 2 Na aula anterior vimos: Introdução VHDL pode ser vista não como uma, mas como várias linguagens modelagem/simulação/síntese
Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.
Sintaxe e Semântica George Darmiton da Cunha Cavalcanti ([email protected]) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo
Calculadora Simples em VHDL
Calculadora Simples em VHDL Versão 2014 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware. São apresentados
Uma Introdução às Linguagens de Descrição de Hardware
Uma Introdução às Linguagens de Descrição de Hardware Edson T. Midorikawa (2001) revisado em 03/2007 Este texto tem como objetivo apresentar de forma bem sucinta as Linguagens de Descrição de Hardware,
4. Estruturas Fundamentais de Programação em C
4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente
ENGC40 - Eletrônica Digital
ENGC40 - Eletrônica Digital 1 a Lista de Exercícios Prof. Paulo Farias 1 de setembro de 2011 1. A Figura 1 mostra um circuito multiplicador que recebe dois números binários x 1 x 0 e y 1 y 0 e gera a saída
EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL
Circuito em VHDL Versão 2017 RESUMO Esta experiência tem como objetivo um contato inicial com o desenvolvimento do projeto de um circuito digital simples em VHDL e sintetizado para uma placa de desenvolvimento
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la
#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Exercícios de Fixação
Exercícios de Fixação Para entregar em 07/02/2013 Exercício I Implemente o circuito de seis portas lógicas abaixo em VHDL; Crie um projeto com o simulador Modelsim que contenha o par entidade-arquitetura
UFJF FABRICIO CAMPOS
Cap 7 Revisão Teoremas Booleanos Teoremas de De Morgan Portas Lógicas Flip-Flop Mapa de Karnaugh Simbologias Representação Binária Tabela Verdade Cap 7 Revisão Teoremas Booleanos Teoremas de De Morgan
Modelação de máquinas de estados
Modelação de máquinas de estados FSM (Finite State Machine) sequência determinada de estados, síncrono com relógio estrutura geral saídas (Moore) entradas saída saídas (Mealy) saída saídas (Moore) reset
Funções de Lógica Combinacional
Fundamentos de Sistemas Digitais Funções de Lógica Combinacional prof. Dr. Alexandre M. Amory prof. Dr. Edson I. Moreno Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 6. ppt segue
Linguagem de Programação C
Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem
TÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)
LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento
Modelagem de Sistemas com VHDL
Modelagem de Sistemas com VHDL A abstração empregada por projetistas de sistemas digitais pode ser expressa em dois domínios: No domínio estrutural, um componente é descrito em termos de um conjunto de
ELETRÔNICA DIGITAL APLICADA Aula 8- Registradores de deslocamento como contadores
ELETRÔNICA DIGITAL APLICADA Aula 8- Registradores de deslocamento como contadores Prof.ª Msc. Patricia Pedroso Estevam Ribeiro Email: [email protected] 26/11/216 1 Registradores de deslocamento
Como construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro [email protected] Como construir um
AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)
AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) Ø LP Java. Estrutura de um programa em Java. Ø Conjunto de caracteres utilizado. Ø Identificadores. Ø Variáveis e constantes. Ø Tipos
Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo
Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Guia de bolso - Prof. César Melo Histórico A linguagem C é uma linguagem de programação inventada na década de 1970 por Dennis Ritchie Brian Kennigaham.
Sintaxe da linguagem Java
Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira ([email protected]) Classe pública com método main Uma classe pública com nome A tem
EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL
Introdução ao VHDL Versão 2016 RESUMO Esta experiência consiste no estudo de descrições VHDL e no projeto e implementação de um circuito digital simples. São apresentados aspectos básicos da linguagem
Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos [email protected]
Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) 1 Alex Vidigal Bastos [email protected] Objetivos da Aula Apresentar o conceito gerais de Linguagens de Descrição de Hardware (Verilog /
Revisão: Projeto de Processadores em VHDL
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto de Processadores em VHDL DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Sumário
Lab 3. Timing Timing Constraints Simulação
Lab 3 Timing Timing Constraints Simulação A. Mariano - 2014 1 VHDL processes Para um designer, process é um bloco de instruções que funciona de maneira sequencial e que é chaveado quando algum dos sinais
FSM em VHDL e Verificação Funcional. CMP de junho de 2006
FSM em VHDL e Verificação Funcional CMP 238 20 de junho de 2006 Máquina de Estados: exemplo Reset= S0 S S3 X= S2 Descrição em VHDL library IEEE; use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL;
PSI-3451 Projeto de CI Lógicos Integrados. Aula 9- Atividade de Aula com Memória e FIFO
PSI-3451 Projeto de CI Lógicos Integrados Aula 9- Atividade de Aula com Memória e FIFO A parte prática da aula 9 permitirá ao aluno familiarizar-se com a geração de memórias (SRAM e FIFO) na foram de IP
Anhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
Introdução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão
Conceitos Básicos Linguagem C
Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS [email protected] 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo
Linguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Projecto de Sistemas Digitais
Projecto de Sistemas Digitais Linguagens de descrição de hardware -Verilog Setembro de 27 António José Duarte Araújo Linguagens de descrição de hardware HDL - Hardware Description Language HDL linguagem
Introdução à Ciência da Computação
Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado
PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Introdução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria [email protected]
Diagramas Sintáticos
Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira ([email protected]) Classe pública com método main Cada classe X pública é declarada num ficheiro
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Informática I. Aula 9. Aula 9-17/05/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Projetos de Sistemas Digitais com VHDL - Parte I
Projetos de Sistemas Digitais com VHDL - Parte I VHDL Modelamento Estrutural Prof. Dr. Leonardo Mesquita Departamento de Engenharia Elétrica DEE/FE-G/UNESP Versão 1.0-2005 Como desenvolver modelos VHDL
Linguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ [email protected] Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Eletrônica Digital para Instrumentação. Herman Lima Jr.
G03 Eletrônica Digital para Instrumentação Prof: [email protected] Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) Parâmetros de circuitos integrados lógicos Dispositivos
Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga
Aplicações: Conversão de Códigos e Motor de Passo Aplicação 1 Conversão de Código ASCII para Hexadecimal Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de Vídeo, Displays de Cristal Líquido,
Revisão: Projeto e síntese de Circuitos Digitais em FPGA
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto e síntese de Circuitos Digitais em FPGA DCA0119 Sistemas Digitais Heitor Medeiros Florencio
Projecto de Sistemas Digitais. Trabalho Prático 1
Licenciatura em Engenharia Electrotécnica e de Computadores 2004/05 1 o semestre Projecto de Sistemas Digitais Trabalho Prático 1 Modelação, síntese e implementação de circuitos sequenciais síncronos Objectivos
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Introdução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para
Eletrônica Digital para Instrumentação
G4 Eletrônica Digital para Instrumentação Prof. Márcio Portes de Albuquerque ([email protected]) Prof. Herman P. Lima Jr ([email protected]) Centro Brasileiro de Pesquisas Físicas Ministério da Ciência e Tecnologia
