VERILOG. Alex Vidigal Bastos
|
|
- Benedito Campos Aldeia
- 6 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
Leia maisELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica
ELT6 Eletrônica Digital II Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Verilog HDL Máquinas de estados finitos Prof. Rodrigo de Paula Rodrigues ircuitos sequenciais Q Q Q Q
Leia maisLivro 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
Leia maisVerilog 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
Leia maisGustavo 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
Leia maisDISPOSITIVOS 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
Leia maisFPGA & 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
Leia maisIntrodução à Linguagem VHDL
Sistemas Digitais EEL 480 Introdução à Linguagem VHDL Luís Henrique M. K. Costa luish@gta.ufrj.br UFRJ DEL/Poli e PEE/COPPE P.O. Box 68504 - CEP 21941-972 - Rio de Janeiro - RJ Brasil - http://www.gta.ufrj.br
Leia maisDISPOSITIVOS 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
Leia maisFundamentos 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
Leia maisFPGA & 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
Leia maisIntroduçã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
Leia maisIntroduçã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
Leia maisTó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 max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Leia maisDescriçã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
Leia maislow): 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.
Leia maisCircuitos 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
Leia maisAlgoritmos 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
Leia maisNOTAS 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
Leia maisCircuitos 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
Leia maisIntroduçã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
Leia maisProf. 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
Leia maisProjeto 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.
Leia maisCompilador 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
Leia maisAmbiente 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
Leia maisDescreva 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,
Leia maisIntroduçã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
Leia maisRegistradores. 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
Leia maisEstruturas 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
Leia maisTó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
Leia maisTó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
Leia maisAula 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
Leia maisLinguagens 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
Leia maisOrganização e Arquitetura de Computadores II
Organização e Arquitetura de Computadores II Rômulo Calado Pantaleão Camara Romulo.camara@univasf.edu.br www.univasf.edu.br/~romulo.camara 60h/02h Disciplinas Correlacionadas Programação Org. e Arq. de
Leia maisPascal. -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
Leia maisAula 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 fglima@inf.ufrgs.br Maquinas de Estado Tipo Melay and Moore Entrada estado f Reset
Leia mais12/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.
Leia maisSistemas 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
Leia maisLABORG. 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
Leia maisPlano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL
Instituto Federal de Santa Catarina Área de Telecomunicações SST20707 Síntese de Sistemas de Telecomunicações Prof. Roberto de Matos viso de direitos utorais: Transparências baseadas no trabalho do Prof.
Leia maisSintaxe e Semântica. George Darmiton da Cunha Cavalcanti.
Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo
Leia maisCalculadora 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
Leia maisUma 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,
Leia mais4. 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
Leia maisENGC40 - 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
Leia maisIntrodução à Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Conceitos Básicos de Eletrônica Digital (Parte IV) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br
Leia maisENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO
ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em
Leia maisEPUSP 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
Leia maisINTRODUÇÃ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
Leia mais#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
Leia maisExercí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
Leia maisLinguagem de Programação C. Prof. Fabrício Olivetti de França
Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite
Leia maisUFJF 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
Leia maisModelaçã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
Leia maisFunçõ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
Leia maisLinguagem 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
Leia maisTÉ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
Leia maisArquitectura 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
Leia maisModelagem 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
Leia maisELETRÔ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: patriciapedrosoestevam@hotmail.com 26/11/216 1 Registradores de deslocamento
Leia maisComo 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 delamaro@icmc.usp.br Como construir um
Leia maisAULA 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
Leia maisAlgoritmos 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.
Leia maisSintaxe da linguagem Java
Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem
Leia maisEPUSP 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
Leia maisLinguagens de descrição de hardware
Linguagens de descrição de hardware Modelação de um circuito (digital) descrições comportamentais permitem nível elevado de abstracção metodologia de projecto top-down: ferramentas de síntese automática
Leia maisConceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos alexvbh@gmail.com
Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) 1 Alex Vidigal Bastos alexvbh@gmail.com Objetivos da Aula Apresentar o conceito gerais de Linguagens de Descrição de Hardware (Verilog /
Leia maisRevisã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
Leia maisLab 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
Leia maisFSM 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;
Leia maisK&R: Capitulo 2 IAED, 2012/2013
Elementos da Linguagem C K&R: Capitulo 2 Elementos da Linguagem C Identificadores Tipos Constantes Declarações Operadores aritméticos, lógicos e relacionais Conversões de tipos Operadores de incremento
Leia maisPSI-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
Leia maisUnidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri
Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa
Leia maisAnhanguera 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
Leia maisIntroduçã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
Leia maisISE com VHDL estrutural
UFRJ - DEL EEL480-2014 Laboratório - Turmas EL1, EL2 ISE com VHDL estrutural Texto para as aulas de laboratório, a ser complementado pelo Tutorial dos Alunos e manuais da Xilinx UG331, UG334 e UG695. Mário
Leia maisConceitos Básicos Linguagem C
Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS MACDIASPAE@GMAIL.COM 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo
Leia maisLinguagem 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
Leia maisProjecto 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
Leia maisX Y Z A B C D
29) A seguinte tabela verdade corresponde a um circuito combinatório de três entradas e quatro saídas. Obtenha a tabela de programação para o circuito em um PAL e faça um diagrama semelhante ao apresentado
Leia maisIntroduçã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
Leia maisPROGRAMAÇÃ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 é
Leia maisIntroduçã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 beltrame@mail.ufsm.br
Leia maisDiagramas Sintáticos
Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Cada classe X pública é declarada num ficheiro
Leia maisPORTUGUÊ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
Leia maisInformá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
Leia maisProjetos 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
Leia maisLinguagem 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
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br 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);
Leia maisEletrônica Digital para Instrumentação. Herman Lima Jr.
G03 Eletrônica Digital para Instrumentação Prof: hlima@cbpf.br Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) Parâmetros de circuitos integrados lógicos Dispositivos
Leia maisComputação I. Prof. Miguel Elias Mitre Campista.
Computação I Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Introdução ao Pascal Níveis de Linguagens de Programação Linguagens declarativas Linguagens
Leia maisAplicaçõ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,
Leia maisRevisã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
Leia maisProjecto 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
Leia maisVariáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Leia maisIntroduçã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
Leia maisHello 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
Leia maisAlgoritmos 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
Leia maisEletrônica Digital para Instrumentação
G4 Eletrônica Digital para Instrumentação Prof. Márcio Portes de Albuquerque (mpa@cbpf.br) Prof. Herman P. Lima Jr (hlima@cbpf.br) Centro Brasileiro de Pesquisas Físicas Ministério da Ciência e Tecnologia
Leia mais