Skype: mariano.andre

Taquara, RS, Brasil

CIRCUITO LÓGICO EM VHDL - LÓGICA PROGRAMÁVEL


Olá! Esta é a terceira postagem da série Atividade Prática, desenvolvidas para o curso de engenharia elétrica. O estudo foi realizado em conjunto com o colega Fabricio Dias e teve o objetivo de otimizar a compreensão dos conceitos estudados na disciplina de Lógica Programável. O experimento abarca a montagem de um circuito lógico com circuitos integrados discretos e a reprodução do mesmo circuito em uma plataforma para desenvolvimento de circuitos lógicos com tecnologia FPGA, em linguagem VHDL, através do software computacional Quartus II.

1. INTRODUÇÃO

Conhecer e entender o funcionamento de circuitos lógicos combinacionais é essencial para que seja possível implementar estes circuitos em dispositivos FPGA. Os dispositivos lógicos programáveis permitem sintetizar circuitos digitais, desde os mais simples aos mais complexos. Neste relatório são apresentados os resultados de um experimento prático realizado através da montagem de um circuito lógico em protoboard e posteriormente implementado e reproduzido em uma plataforma para desenvolvimento de dispositivos FPGA, utilizando linguagem de programação VHDL.

Neste relatório o circuito estudado é representado por meio de desenho esquemático e fotos da montagem em protoboard. Também é apresentada a expressão lógica e a tabela verdade do circuito que serviu de base para montagem e para escrita do código que reproduz no dispositivo FPGA o mesmo resultado da montagem. Tais procedimentos reforçam o entendimento dos conceitos estudados na disciplina de Lógica Programável.

2. PROCEDIMENTO EXPERIMENTAL

Para esta atividade prática foram propostas quatro opções de circuitos para estudo, ficando a cargo do aluno a escolha do circuito a ser estudado. O experimento consiste em realizar a montagem do circuito em protoboard, com circuitos integrados discretos, e no kit FPGA, através da programação em linguagem VHDL no software de desenvolvimento Quartus II.

O circuito escolhido é apresentado no item 2.1 por meio do diagrama esquemático, da expressão lógica e pela tabela verdade do circuito. No item 2.2 é apresentada a montagem em protoboard e no item 2.3 a montagem no kit FPGA.

2.1. Circuito estudado

O circuito lógico a ser estudado nesta atividade prática é ilustrado na figura 1. O circuito foi desenhado no software Multisim, que permite a simulação dos sinais que facilita a compreensão dos conceitos relacionados.

Figura 1 - Diagrama esquemático do circuito lógico.

As chaves que conectam as entradas A, B e C à tensão de alimentação, bem como os resistores R1, R2 e R3 possuem a função de determinar os níveis dos sinais de entrada e o sinal de saída é indicado pelo LED1. O resistor R4 tem a função de limitar a corrente do LED.

A expressão matemática do circuito lógico é dada por:

S = (A AND B) OR (A AND C) OR (B AND C) 

A tabela verdade permite visualizar o estado da saída S que é determinada pelas entradas A, B e C do circuito.
Para comprovar os estados da saída S foi acrescentado ao circuito um Gerador de Palavras que simula os sinais de entrada e um analisador lógico para medir os níveis dos sinais de entrada e saída, simultaneamente. Assim é possível verificar e comprovar os estados da tabela 1.

Figura 2 - Simulando os sinais para verificação da tabela verdade.

Figura 3 - Sinais gerados e medidos no ambiente de simulação.

2.2. Montagem em protoboard

A montagem em protoboard proporciona um contato direto como circuito, possibilita realizar medições com instrumentos e componentes reais. Com base no diagrama da figura 1 o circuito foi montado e é ilustrado na imagem seguinte:

Figura 4 - Montagem do circuito em protoboard.

Figura 5 - Detalhe do circuito montado.

Após a montagem foram realizados testes para verificar o comportamento do circuito e confirmar os estados descritos na tabela verdade. Para facilitar a verificação foi utilizado um circuito auxiliar, um kit de desenvolvimento com microcontrolador PIC , no qual foi implementado um gerador de palavras de 8 bits para que fosse possível realizar o mesmo teste realizado no simulador.

A figura 6 ilustra o circuito auxiliar, que tem a finalidade de gerar a sequência estabelecida na tabela 1, conectado ao circuito do protoboard e ao analisador lógico que permite registrar os sinais de entrada e saída do circuito, simultaneamente. Os sinais registrados no analisador podem ser verificados através da figura 7.

Figura 6 - Medição de sinais com analisador lógico.

Figura 7 - Sinais registrados no analisador.

2.3. Montagem no kit FPGA

Para realizar a montagem do circuito lógico no kit FPGA foi utilizado o software Quartus II onde é implementado o código VHDL que corresponde ao circuito montado em protoboard. O software permitiu a simulação dos sinais de entrada, de saída e a execução da expressão lógica.

O código VHDL é apresentado na figura 8, onde podem ser observadas as linhas de programação com comentários que facilitam o entendimento do código.

Figura 8 - Código VHDL do circuito estudado.

Após concluir a programação do código foi realizada a simulação do mesmo para verificar se o resultado estava de acordo com os resultados obtidos na simulação com o software Multisim. A simulação do código VHDL é ilustrada na figura 9.

Figura 9 - Simulação da expressão lógica escrita em VHDL.

Com o auxílio da ferramenta Pin Planer, no Quartus II, foram associados os pinos utilizados para montagem prática do circuito no kit FPGA, como ilustra a figura 10.


Figura 10 - Associação de entradas e saídas da expressão aos pinos físicos do kit FPGA.

A montagem do kit FPGA com auxílio do protoboard é ilustrada na figura 11, na qual é possível observar as chaves que determinam os níveis das entradas A, B e C, pinos 74, 75 e 73 respectivamente. A saída S foi associada ao pino 98 do kit, o qual possui um LED de uso geral.

Neste ensaio não foi utilizado o kit de PIC para auxiliar na geração dos sinais de entrada porque os níveis de tensão dos kits são diferentes entre si. Ainda que sejam diferentes, poderíamos ter implementado uma interface que permitiria a interconexão dos kits através de optoacopladores, no entanto, isto não está no escopo desta atividade prática.

A figura 12 ilustra os sinais das entradas e saída registrados com analisador e medidos no kit FPGA. Nota-se uma variação nas larguras dos sinais, decorrentes da variação do tempo em que as chaves de entrada são acionadas.

Figura 11 - Montagem do circuito lógico em kit FPGA.

Figura 12 - Sinais medidos no kit FPGA e registrados no analisador lógico.

3. CONCLUSÃO

A falta de familiaridade com o software Quartus II e com o kit de desenvolvimento com tecnologia FPGA foi a única dificuldade encontrada e exigiu um estudo mais aprofundado dos materiais disponibilizados nas aulas teóricas e práticas da disciplina.

O estudo permitiu relacionar os conceitos teóricos aos experimentos práticos, onde foi possível comprovar os mesmos resultados que demonstram grande confiabilidade e eficiência dos ambientes de programação que permitem a simulação de circuitos lógicos digitais. A simulação dos circuitos em ambiente computacional oferece grande facilidade na implementação e testes de circuitos lógicos, simples e complexos.

A realização desta atividade prática foi de extrema importância para otimizar a compreensão dos conceitos estudados acerca da utilização e programação de circuitos FPGA para resolução de problemas que envolvem circuitos lógicos combinacionais e não visa esgotar o assunto, pelo contrário, é indispensável aprofundar os estudos relacionados à linguagem VHDL e programação de circuitos FPGA frente a tendência ao uso destas tecnologias em equipamentos eletrônicos.

4. REFERÊNCIAS

CICHACZEWSKI, Ederson. Lógica Programável. Curitiba: Uninter, 2020. Material de aula.

D’AMORE, Roberto. VHDL: descrição e síntese de circuitos digitais – 2.ed. Rio de Janeiro: LTC, 2012.

TOCCI, Ronald J. Sistemas digitais: princípios e aplicações – 11.ed. São Paulo: Pearson Prentice Hall, 2011.

TEXAS INSTRUMENTS. Digital Logic: pocket data book. Texas: Texas Instruments Incorporated, 2007.