27.11.2014 Views

VHDL PARTE 1 - - GSE

VHDL PARTE 1 - - GSE

VHDL PARTE 1 - - GSE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Estrutura de um programa <strong>VHDL</strong><br />

Estrutura de um programa <strong>VHDL</strong><br />

Projeto <strong>VHDL</strong><br />

Arquivos <strong>VHDL</strong><br />

Package:<br />

Declara constantes, tipos de<br />

dados, subprogramas.<br />

Objetivo: reutilização de<br />

código<br />

Entity:<br />

declara as interfaces do<br />

projeto (pinos de<br />

entrada/saída)<br />

Architecture:<br />

define a(s) implementação<br />

(ões) do projeto<br />

Configuration:<br />

declara qual das<br />

arquiteturas será utilizada<br />

(no próprio port map)<br />

ver lâmina 23<br />

– Cada módulo tem sua própria “entity” e “architecture”.<br />

– As arquiteturas podem ser descritas tanto no nível comportamental<br />

quanto estrutural ou uma mistura disto.<br />

– Toda a comunicação ocorre através das portas declaradas em cada<br />

entity, observando-se o tipo, tamanho, se se trata de sinal ou<br />

barramento e a direção.<br />

– Várias funções e tipos básicos são armazenados em bibliotecas<br />

(library). A biblioteca “IEEE” sempre é incluída.<br />

– Biblioteca do usuário (default): work. Todos os arquivos contidos no<br />

diretório de trabalho fazem parte da biblioteca do usuário.<br />

Professor Fernando Moraes / Ney Calazans<br />

29<br />

Professor Fernando Moraes / Ney Calazans<br />

30<br />

Arquitetura<br />

Package (1/3)<br />

– A função de uma “entity ” é determinada pela sua “architecture”<br />

– Organização:<br />

Architecture<br />

Declarações<br />

signal - sinais de comunicação entre processos concorrentes<br />

sinais que comunicação entre processos concorrentes e os pinos de E/S<br />

type - novos tipos<br />

constant - constantes<br />

component - componentes (para descrever estrutura)<br />

function - Subprogramas ( apenas a declaração destes)<br />

Begin (declarações concorrentes)<br />

End<br />

Atribuição a sinais<br />

Chamadas a “functions” e a “ procedures”<br />

Instanciação de Componentes<br />

Processos: descrição de algoritmo<br />

– Permite a reutilização de código já escrito<br />

– Armazena:<br />

• Declaração de subprogramas<br />

• Declaração de tipos<br />

• Declaração de constantes<br />

• Declaração de arquivos<br />

• Declaração de “alias” (sinônimos, por exemplo, para mnemônicos)<br />

package minhas_definicoes is<br />

function max(L, R: INTEGER) return INTEGER;<br />

type UNSIGNED is array (NATURAL range ) of STD_ULOGIC;<br />

constant unit_delay : time := 1ns;<br />

file outfile :Text is Out "SIMOUT.DAT";<br />

alias C : Std_Ulogic is grayff (2);<br />

end minhas_definicoes;<br />

Professor Fernando Moraes / Ney Calazans<br />

31<br />

Professor Fernando Moraes / Ney Calazans<br />

32<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!