Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

RESUMO
Circuito combinacional: as saídas dependem apenas das entradas atuais.
Circuito sequencial: as saídas dependem das entradas atuais, mas também das
sequências de entradas passadas. É impossível descrever o comportamento de um
circuito sequencial através de uma tabela que relaciona entradas com saídas. Para saber
o estado seguinte, é preciso saber o estado atual.
Também são chamados de máquinas de estado finito. A mudança de estado ocorre no
instante especificado por um sinal de clock.
- Estado - circ. sequencial: é uma coleção de variáveis de estado cujos valores
contém toda informação sobre o passado necessária para saber o
comportamento futuro do circuito.
Linguagem VHDL
- suporta diversos níveis de hierarquia
- diversos níveis de abstração são suportados
Entidade do projeto
Pode ser:
- um porta lógica
- um sistema lógico completo
Composto:
- Declaração de entidade: define as portas de entrada e saída descrição
● Regras de declaração
○ ENTITY : inicia a declaração - lista de entrada e saídas
○ PORT: define modo e tipos de portas
■ IN
■ OUT
■ BUFFER: saída ( pode ser referenciada internamente)
■ INOUT: bidirecional
○ END: termina a declaração
- Arquitetura: descreve as relações entre portas lógicas
● ARCHITECTURE: inicia a declaração da arquitetura e as linhas que
seguem.
○ Declaração de sinais e constantes;
○ Declaração de componentes referenciados;
○ Descrição de subprogramas locais;
○ Definição de novos tipos.
● BEGIN: inicia a descrição
● END: termina a descrição
Tipos:
Tipos de Escalares
Ordenados e representam um valor único
- INTEGER: representa um número inteiro quando é necessário um linha de 32 bits
Tipos Compostos
- BIT_VECTOR: vetor contendo elementos tipo BIT
- STRING: vetor contendo elementos tipo caracteres
- Declaração de tipos compostos: limites definidos por TO e DOWNTO.
Operadores
Definem a precedência dos operadores
Comandos Concorrentes
Os comandos concorrentes presentes em um determinado código são executados
conjuntamente e por isso a sequência como são apresentados é irrelevante.
A ordem dos comandos não deve interferir no resultado final da simulação.
- Circuito Seleção
Comandos
- WHEN ELSE
● Usada com o objetivo de transferência condicional de um sinal
● Contém uma lista de condições e expressões, sendo que a condição
verdadeira define a expressão transferida.
- WITH SELECT
● Usada quando há transferência condicional de um sinal.
● Não há prioridade
○ TO e DOWNTO delimitam as faixas de opção
- BLOCK
● O comando BLOCK tem a finalidade de dividir o código em regiões para
facilitar o entendimento da descrição. Sinais podem ser declarados no
interior de um bloco, e a visibilidade destes é restrita ao interior do bloco.
- PROCESS
● permite definir uma área contendo comandos sequenciais.
Comandos Sequenciais
Comandos sequenciais ficam contidos em regiões específicas de código, como
processos e subprogramas. Uma vez iniciada a execução de comandos em região de
código sequencial, os comandos são avaliados na sequência em que são apresentados
no código, independentemente da troca de valor nos sinais ou variáveis aos quais o
comando é sensível.
Comandos
- IF ELSE
● permite a execução condicional de um ou mais comandos seqüenciais
● A condição de teste pode ser uma expressão que retorne um valor do tipo
BOOLEAN.
● O comando IF inicia a lista de condições e pode ser seguido por cláusulas
ELSIF contendo, também, condições a serem verificadas. Se nenhuma
condição for verdadeira e não existir uma cláusula ELSE na construção,
nenhum comando é executado.
- CASE WHEN
● similar à construção WITH SELECT
● permite a execução condicional de um ou mais comandos sequenciais,
conforme o valor de uma expressão. Cada condição define um conjunto de
comandos sequenciais a se executar.
● As condições devem ser mutuamente exclusivas, significando que não é
permitido mais de uma condição verdadeira na relação de valores que a
expressão pode assumir,
Comparações
- WHEN ELSE x IF ELSE
WHEN ELSE:
● código concorrente
● a operação executada é a simples transferência de valor para um sinal
IF ELSE:
● código sequencial
● mais flexível, pois permite a execução de vários comandos sequenciais
- WITH SELECT x CASE WHEN
Possuem similaridade no fato de que todas as opções devem estar presentes na
lista de escolha
WITH SELECT:
● pode ser empregada apenas em regiões de código concorrente
● executa apenas a atribuição de um sinal a casa de escolha
CASE WHEN:
● possibilita que cada condição de escolha inicie a execução de vários
comandos sequenciais.
Atraso
É aplicado na geração de formas de onda para teste de descrições ou na modelagem do
comportamento dinâmico de um circuito.
Sinal e Variável
São objetos que contêm um valor armazenado e este pode ser alterado na execução do
código.
- Objeto: é um elemento que armazena um valor. Um sinal é um objeto e pode ser
empregado tanto em regiões de código sequencial como em regiões de código
concorrente.
- Variável: é um objeto empregado em regiões de código sequencial e sua
declaração é feita nessas regiões. A transferência de uma variável para uma
região de código concorrente emprega um sinal. Diferentemente dos sinais, os
valores das variáveis são assumidos imediatamente após a avaliação do
comando.
Atributos
São informações adicionais associadas a tipos, objetos, subprogramas e unidades de
projeto.
Registrador sensível a borda (Inicialização Síncrona)
As operações de set e reset são síncronas (dependem do relógio).
Emprega duas construções do tipo IF ELSE: a primeira detecta a condição do
sinal de controle, e a segunda testa sucessivamente as condições para realizar
operações de set, reset ou armazenamento.
Registrador sensível a borda (Inicialização Assíncrona)
Um registrador com inicialização assíncrona apresenta as operações set e
reset independentes do sinal de relógio ck.
Máquinas de Estados
Máquina de estados é um circuito sequencial que transita numa sequência pré
definida de estados. A transição entre os estados é comandada por um sinal de controle.
O estado atual é definido por um elemento de memória e o estado futuro é determinado
com base no estado atual e na condição das entradas.
- Máquina de Mealy, o valor de saída é função do estado atual e da condição das
entradas.
- Máquina de Moore, o valor da saída depende exclusivamente do estado atual.
PERGUNTAS
1. O que é FPGA?
Field programmable gate away - Arranjo de portas programáveis em campo, é um
conjunto integrado projetado para ser programável pelo operador. Ou seja, é uma placa
com portas lógicas e elementos de memória organizados em formato de matriz. É um
arranjo de portas lógicas NAND programáveis.
2. O que é VHDL?*
É a linguagem de programação utilizada para programar o FPGA. Ele permite
descrever em um software o comportamento e a estrutura do hardware.
3. Diferença dos códigos VHDL E ASIC.*
VHDL é uma linguagem usada para descrever o comportamento e a arquitetura
de circuitos digitais, permitindo a simulação e o teste de projetos antes de sua
implementação física.
ASIC é um tipo de circuito integrado projetado para uma *função específica*, que
pode ser descrito usando VHDL em uma fase inicial do desenvolvimento, *mas uma vez
fabricado, não pode ser alterado.*
4. Qual a arquitetura e entidade?
Entidade - relação direta com com o meio físico da fpga, ligações físicas, pinos
físicos
Arquitetura - variável temporária, pode ser usada como entrada ou saída.
5. Como é a estrutura do código VDHL?
Declarações
Objetos que serão usados em comandos concorrentes ou seqüenciais
Declarados antes da cláusula begin em arquiteturas, blocos, processos,
procedimentos e funções
Comandos concorrentes: comandos que serão executados em paralelo,
independentemente um dos outros block e process
Comandos sequenciais: comandos que serão executados de forma sequencial,
obedecendo o fluxo de controle comandos após a cláusula begin em processos
6. Quais são os tipos de variáveis VHDL?
Bit
Bit vector
Inter
Caractere
7.Quais são as aplicações do FPGA?
O uso do FPGA é muito versátil, podendo ser usado em diversas áreas. Alguns
exemplos da suas aplicações é para fluxo de dados banda larga, equipamentos para
processamento de imagem
8. Quando o FPGA não pode ser usado?
Processamento mais leve, taxa baixa, uso raspberry
9. Como se declara vetor em vhdl
Bit vector (condições que ele tem to ou downto)
10. Quais são os comandos e a qual eles pertencem?
Concorrentes: WHEN ELSE, WITH SELECT, BLOCK e
Sequenciais: IF ELSE, CASE WHEN, WAIT e NULL
11. If else, pode ser usado em qual codigo?
No código sequencial.
12. Comando concorrente x sequenciais
Os comandos concorrentes são executados simultaneamente e comandos
sequenciais são avaliados um de cada vez, na ordem em que aparecem
13. O que é uma máquina de estado?
um circuito sequencial que transita numa sequência pré definida de estados. A transição
entre os estados é comandada por um sinal de controle. O estado atual é definido por um
elemento de memória e o estado futuro é determinado com base no estado atual e na
condição das entradas.
14. Thunderbird
15. Semáforo
16. Display de 7 segmentos
DEMAIS PERGUNTAS
• Declare entidade
• Se colocarmos um vetor X qual será a saída?
• Desenvolvimento do código

Mais conteúdos dessa disciplina