10.11.2012 Views

Circuitos Práticos - Saber Eletrônica

Circuitos Práticos - Saber Eletrônica

Circuitos Práticos - Saber Eletrônica

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.

Desenvolvimento<br />

Introdução<br />

ao VHDL<br />

O artigo anterior foi a apresentação da linguagem VHDL que é uma linguagem descritiva de hardware (HDL),<br />

usada para representar circuitos lógicos digitais. Agora serão abordados outros elementos desta linguagem e<br />

exemplos práticos, mostrando como é simples implementar circuitos digitais em lógica programável.<br />

Process<br />

Um process (processo) define uma<br />

estrutura da linguagem que representa<br />

um certo trecho da descrição de hardware<br />

e deve ser entendido como uma<br />

sequência de operações. Veja no quadro<br />

1 um exem plo mostrando a sintaxe de<br />

um process. Apesar de simples, o process<br />

de ve ser bem entendido, pois é o<br />

recurso da linguagem mais utilizado.<br />

Sugiro procurar leituras adicionais<br />

co mo uma forma de complementar o<br />

conhecimento.<br />

Dentro de um processo podem ser<br />

declaradas constantes e variáveis. As<br />

constantes são úteis para tornar o projeto<br />

mais claro e fácil de ser alterado. As<br />

variáveis são elementos exclusivos dos<br />

processos. Ambas devem ser declaradas<br />

entre o process e o begin. Já os sinais,<br />

que também podem ser manipulados<br />

dentro dos processos, são declarados<br />

externamente (na declaração da arquitetura).<br />

Variáveis de um processo não<br />

podem ser compartilhadas com outros<br />

processos. Uma variável chamada “conta”<br />

pode ser modificada e lida dentro<br />

de um processo específico, mas não<br />

poderá ser lida em um outro processo.<br />

As variáveis, portanto, são locais. O<br />

conceito mais importante em um processo<br />

é o da operação sequencial sobre<br />

sinais e variá veis: as atualizações das<br />

variáveis ocorrem quando as expressões<br />

são executadas (avaliadas), enquanto<br />

que os sinais são atualizados apenas<br />

no final do processo, ou seja, dentre<br />

várias operações com um determinado<br />

44 I SABER ELETRÔNICA 459 I 2012<br />

sinal apenas a última será efetivamente<br />

realizada. Naturalmente, a ideia de<br />

execução sequencial é útil apenas no<br />

sentido de ordenar ou orientar como<br />

um circuito será implementado, e não<br />

possui o mesmo sentido da conhecida<br />

execução sequencial que acontece num<br />

programa de computador. Convém<br />

lembrar que expressões aritméticas ou<br />

lógicas declaradas fora dos processos<br />

são implementadas como circuitos<br />

lógicos combinacionais em paralelo<br />

(de funcionamento simultâneo) e sem<br />

qualquer tipo de registrador (flip-flop<br />

ou latch), enquanto os circuitos resultantes<br />

dos processos implicam em uma<br />

ordem de interconexão e permitem o<br />

uso de re gistradores pa ra memorizar o<br />

estado de sinais e variáveis.<br />

Por exemplo, se um mesmo sinal<br />

for o resultado de algumas operações<br />

lógicas ou aritméticas que ocorrem ao<br />

longo da descrição do processo, apenas<br />

a última operação é que será realizada.<br />

No quadro 1 isso está exemplificado no<br />

sinal DIV(6) que recebe atribuição de<br />

dois valores independentes: “DIV(6)

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

Saved successfully!

Ooh no, something went wrong!