VHDL: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 40: Linha 40:
=== Padrões de Projeto ===
=== Padrões de Projeto ===


# Sumário


#2 Introdução
=== Exposição de um projeto (Lucas Tonussi) ===


# Projeto do Sistema
* Sumário
## IdentiVcação das Entradas e Saídas
## Descrição e Captura do Comportamento
## Projeto do Bloco Operativo
## Projeto do Bloco de Controle
## Projeto da Unid. Cálculo da Convolução


# Desenvolvimento
* Introdução
## Desenvolvimento do Bloco Operativo
## Multiplexador 2x1 (MUX)
## Registrador (...)
## Multiplicador Inteiro (Mult Int)
## Desenvolvimento do Bloco Controle
## Desenvolvimento da Unid. Cálculo da Convolução
## Operadores SobelGxeGy
## Armazenamento como RAM


# Testes e Validação
* Projeto do Sistema
## Validação do Bloco Operativo
** IdentiVcação das Entradas e Saídas
## Multiplexador 2x1 (MUX)
** Descrição e Captura do Comportamento
## Registrador (...)
** Projeto do Bloco Operativo
## Somador Inteiro (Adder Int)
** Projeto do Bloco de Controle
## Subtrator Inteiro (Subtr Int)
** Projeto da Unid. Cálculo da Convolução
## Multiplicador Inteiro (Mult Int)
## Validação do Bloco Controle
## Validação da Unid. Cálculo da Convolução


# Conclusões
* Desenvolvimento
** Desenvolvimento do Bloco Operativo
** Multiplexador 2x1 (MUX)
** Registrador (...)
** Multiplicador Inteiro (Mult Int)
** Desenvolvimento do Bloco Controle
** Desenvolvimento da Unid. Cálculo da Convolução
** Operadores SobelGxeGy
** Armazenamento como RAM
 
* Testes e Validação
** Validação do Bloco Operativo
** Multiplexador 2x1 (MUX)
** Registrador (...)
** Somador Inteiro (Adder Int)
** Subtrator Inteiro (Subtr Int)
** Multiplicador Inteiro (Mult Int)
** Validação do Bloco Controle
** Validação da Unid. Cálculo da Convolução
 
* Conclusões





Edição das 22h14min de 20 de junho de 2013

VHDL

VHDL é uma linguagem de descrição de hardware (por favor não confunda com linguagem de programação de hardware) que herda algumas convenções, atribuições de linguagens de programação c-like. VHDL permite que você modele eventos que ocorrem em função do tempo. VHDL é uma linguagem muito útil para descrever hardware porém mantendo uma distância maior de abordagem aos problemas que estão ligados a sínteze de hardware. A parte de sínteze é por conta do VHDL que constroi a parte mais baixo nível.


Ferramentas

Uma boa ferramentas para se começar a sintetizar hardware em FPGA's como as da Altera, é o Quartus Web Edition https://www.altera.com/download/ é gratuíta e fácil de se instalar. É também portada para Linux/Unix e Windows, eu aconselho a versão 32 bits apesar de nunca ter tido problema com a versão 64 bits e até mesmo abrindo projetos 32 bits no Quartus 64 bits. Algumas funções que para quem trabalha realmente em projeção de hardware, não estão disponíveis no Quartus Web Edition, mas são coisas específicas que talvéz nem faça falta para a abordagem do pessoal do LabMacambira. No entanto, comprando uma placa da Altera, tipo Cyclone II acredito que o software Quartus Edição Completa, acompanha o pacote. E uma placa dessas custa em torno de 500 dólares. Existem maneiras de se comprar pela Universidade e reduzir esse preço. De qualquer maneira Universidades geralmente tem um conjunto de placas FPGA's em laboratórios de sínteze de hardware. Outro Software é o ModelSim Altera, que também é gratuíto pelo mesmo link, e de extrema importância na sinteze de hardware. Uma vez que não tem como um hardware mais complexo, sintetizado em alto nível passar sem antes for executada uma bateria de testes pesada sobre ele para que ele realmente de todos os erros para que sejam corrigidos após Testes e Validações.

Outra ferramenta que eu recomendo fortemente é o Sigasi http://www.sigasi.com/, um plugin para Eclipse. Na verdade é uma ferramenta poderosa para descrever em VHDL. Ela é gratuíta para estudantes universitários, basta se cadastrar colar o link na sessão de updates de plugins no Eclipse, instalar e programar em VHDL de uma maneira muito mais prática. Eu recomendo o Sigasi, pois VHDL é uma linguagem bastante propensa a erros de sintaxe.

Vantagens

Desvantagens

Altera

-- (this is a VHDL comment)

-- import std_logic from the IEEE library
library IEEE;
use IEEE.std_logic_1164.all;

-- this is the entity
entity ANDGATE is
  port ( 
    I1 : in std_logic;
    I2 : in std_logic;
    O  : out std_logic);
end entity ANDGATE;

-- this is the architecture
architecture RTL of ANDGATE is
begin
  O <= I1 and I2;
end architecture RTL;

Padrões de Projeto

Exposição de um projeto (Lucas Tonussi)

  • Sumário
  • Introdução
  • Projeto do Sistema
    • IdentiVcação das Entradas e Saídas
    • Descrição e Captura do Comportamento
    • Projeto do Bloco Operativo
    • Projeto do Bloco de Controle
    • Projeto da Unid. Cálculo da Convolução
  • Desenvolvimento
    • Desenvolvimento do Bloco Operativo
    • Multiplexador 2x1 (MUX)
    • Registrador (...)
    • Multiplicador Inteiro (Mult Int)
    • Desenvolvimento do Bloco Controle
    • Desenvolvimento da Unid. Cálculo da Convolução
    • Operadores SobelGxeGy
    • Armazenamento como RAM
  • Testes e Validação
    • Validação do Bloco Operativo
    • Multiplexador 2x1 (MUX)
    • Registrador (...)
    • Somador Inteiro (Adder Int)
    • Subtrator Inteiro (Subtr Int)
    • Multiplicador Inteiro (Mult Int)
    • Validação do Bloco Controle
    • Validação da Unid. Cálculo da Convolução
  • Conclusões


Bons Livros (Recomendados)

  • "Digital Design: With RTL, VHDL, and Verilog" (2nd ed, Wiley, 2010); Plus "VHDL for Digital Design" / "Verilog for Digital Design" (Wiley 2007)

Links Uteis