VHDL: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Linha 17: Linha 17:


=== Padrões de Projeto ===
=== Padrões de Projeto ===
<pre>
Sumário1  Introdução42  Projeto do Sistema                                                              42.1  IdentiVcação das Entradas e Saídas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42.2  Descrição e Captura do Comportamento  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  52.3  Projeto do Bloco Operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92.4  Projeto do Bloco de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92.5  Projeto da Unid. Cálculo da Convolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  103  Desenvolvimento                                                              113.1  Desenvolvimento do Bloco Operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  113.1.1  Multiplexador 2x1 (MUX)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123.1.2  Registrador (...)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133.1.3  Multiplicador Inteiro (Mult Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133.2  Desenvolvimento do Bloco Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  143.3  Desenvolvimento da Unid. Cálculo da Convolução . . . . . . . . . . . . . . . . . . . . . . .  163.4  Operadores SobelGxeGy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  163.5  Armazenamento como RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  164  Testes e Validação                                                              184.1  Validação do Bloco Operativo  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.1  Multiplexador 2x1 (MUX)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.2  Registrador (...)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.3  Somador Inteiro (Adder Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.4  Subtrator Inteiro (Subtr Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.5  Multiplicador Inteiro (Mult Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.2  Validação do Bloco Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.3  Validação da Unid. Cálculo da Convolução  . . . . . . . . . . . . . . . . . . . . . . . . . . .  185  Conclusõe
</pre>


== Bons Livros (Recomendados) ==
== Bons Livros (Recomendados) ==

Edição das 10h38min de 19 de junho de 2013

VHDL

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

<source lang="VHDL"> </source>

Padrões de Projeto

Sumário1  Introdução42  Projeto do Sistema                                                               42.1  IdentiVcação das Entradas e Saídas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   42.2  Descrição e Captura do Comportamento  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   52.3  Projeto do Bloco Operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   92.4  Projeto do Bloco de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   92.5  Projeto da Unid. Cálculo da Convolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  103  Desenvolvimento                                                               113.1  Desenvolvimento do Bloco Operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  113.1.1   Multiplexador 2x1 (MUX)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123.1.2   Registrador (...)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133.1.3   Multiplicador Inteiro (Mult Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133.2  Desenvolvimento do Bloco Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  143.3  Desenvolvimento da Unid. Cálculo da Convolução . . . . . . . . . . . . . . . . . . . . . . .  163.4  Operadores SobelGxeGy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  163.5  Armazenamento como RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  164  Testes e Validação                                                              184.1  Validação do Bloco Operativo  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.1   Multiplexador 2x1 (MUX)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.2   Registrador (...)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.3   Somador Inteiro (Adder Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.4   Subtrator Inteiro (Subtr Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.1.5   Multiplicador Inteiro (Mult Int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.2  Validação do Bloco Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  184.3  Validação da Unid. Cálculo da Convolução  . . . . . . . . . . . . . . . . . . . . . . . . . . .  185  Conclusõe

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