Mudanças entre as edições de "Experimento 5 para Circuitos Lógicos"
Ir para navegação
Ir para pesquisar
Linha 1: | Linha 1: | ||
− | __NOTOC__ | + | __NOTOC__== Consersor BCD para display de sete segmentos== |
− | == | + | |
− | ;Objetivos: | + | |
− | * Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 | + | ;Objetivos: |
+ | * Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos; | ||
* Gerar formas de onda para entrada de simulação; | * Gerar formas de onda para entrada de simulação; | ||
* Fazer a simulação funcional do circuito com o QSIM; | * Fazer a simulação funcional do circuito com o QSIM; | ||
− | ;Materiais necessários: | + | *;Materiais necessários: |
− | #[http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA) |
− | #[http://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74X32 OR](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74X32 OR](disponível na biblioteca da ALTERA) |
− | #[http://www.ti.com/lit/ds/symlink/sn74ls04.pdf 74X04 NOT](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn74ls04.pdf 74X04 NOT](disponível na biblioteca da ALTERA) |
− | #Computador com software Quartus II da Altera. | + | *# Computador com software Quartus II da Altera. |
==Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)== | ==Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)== | ||
+ | |||
* Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum; | * Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum; | ||
* Siga o exemplo do segmento G: | * Siga o exemplo do segmento G: | ||
Linha 18: | Linha 20: | ||
<center> | <center> | ||
− | {| | + | {| style="text-align: center;" border="1" cellspacing="0" cellpadding="5" |
− | |||
− | |||
− | |||
|- | |- | ||
− | ! | + | ! style="background: #efefef;" colspan="4"|Entradas |
− | + | ! style="background: #ffdead;" colspan="7"|Saídas | |
− | + | ! style="background: #efefef;" colspan="1"|Decimal | |
− | ! | ||
− | |||
− | ! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | ! width="30"|A |
+ | ! width="30"|B | ||
+ | ! width="30"|C | ||
+ | ! width="30"|D | ||
+ | ! width="30"|a | ||
+ | ! width="30"|b | ||
+ | ! width="30"|c | ||
+ | ! width="30"|d | ||
+ | ! width="30"|e | ||
+ | ! width="30"|f | ||
+ | ! width="30"|g | ||
+ | ! width="30"|Display | ||
|- | |- | ||
− | | 0 || 0 | + | | 0 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
|- | |- | ||
− | | 0 || 0 | + | | 0 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 2 | ||
|- | |- | ||
− | | 0 || 1 || | + | | 0 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 3 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 4 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 5 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 6 | ||
|- | |- | ||
− | + | | 0 | |
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 0 | ||
+ | | 7 | ||
|- | |- | ||
− | | 1 || 0 | + | | 1 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 8 | ||
|- | |- | ||
− | | 1 || 0 | + | | 1 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 9 | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 || 1 || | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|} | |} | ||
</center> | </center> | ||
Linha 73: | Linha 251: | ||
==Mapa de Karnaugh== | ==Mapa de Karnaugh== | ||
− | * Para implementar a minimização | + | * Para implementar a minimização do Mapa de Karnaugh será utilizado o seguinte [https://www.docjava.com/cpe210/kmapExplorer.html software]. |
* Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g: | * Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g: | ||
[[Arquivo: seg-g.png]] | [[Arquivo: seg-g.png]] | ||
Linha 84: | Linha 262: | ||
==Inserindo a minimização do Mapa de Karnaugh no Quartus== | ==Inserindo a minimização do Mapa de Karnaugh no Quartus== | ||
− | #Baixe o [http://docente.ifsc.edu.br/odilson/CIL29003/7-seg.qar .qar do projeto] e salve /home/aluno. | + | |
− | #Execute o Quartus. | + | # Baixe o [http://docente.ifsc.edu.br/odilson/CIL29003/7-seg.qar .qar do projeto] e salve /home/aluno. |
− | #Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/7-seg.qar ; Destination folder: /home/aluno/BCD_Hexa) >> OK >> Yes. | + | # Execute o Quartus. |
− | #Será criada uma pasta '''BCD_Hexa'''. Esse será nosso diretório de trabalho. | + | # Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/7-seg.qar ; Destination folder: /home/aluno/BCD_Hexa) >> OK >> Yes. |
− | #Compile o projeto. | + | # Será criada uma pasta '''BCD_Hexa'''. Esse será nosso diretório de trabalho. |
− | #Note que apenas o segmento '''g''' está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário. | + | # Compile o projeto. |
− | #Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado. | + | # Note que apenas o segmento '''g''' está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário. |
− | #Associe o dispositivo a ser utilizado: Assignments >> Device >> '''Family: Cyclone IV E''' e '''Available Devices: EP4CE30F23C7''' >> OK | + | # Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado. |
− | #Compile o projeto. | + | # Associe o dispositivo a ser utilizado: Assignments >> Device >> '''Family: Cyclone IV E''' e '''Available Devices: EP4CE30F23C7''' >> OK |
− | #Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | kit MERCURIO IV - EP4CE30F23C7]]. | + | # Compile o projeto. |
− | ##Utilize quatro chaves (sw) como entrada BCD. | + | # Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | kit MERCURIO IV - EP4CE30F23C7]]. |
− | ##Utilize um dos dois ''displays'' SSD como saída. | + | ## Utilize quatro chaves (sw) como entrada BCD. |
− | #Compile o projeto. | + | ## Utilize um dos dois ''displays'' SSD como saída. |
− | #Conecte a placa via USB. | + | # Compile o projeto. |
− | #Faça a carga do código: Tools >> Programer >> Start. | + | # Conecte a placa via USB. |
− | #Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD. | + | # Faça a carga do código: Tools >> Programer >> Start. |
+ | # Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD. | ||
==Fazer a simulação funcional do circuito com o QSIM== | ==Fazer a simulação funcional do circuito com o QSIM== | ||
− | *Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado. | + | |
− | #Abra o editor de forma de onda do simulador QSIM | + | * Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado. |
− | #Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK]. | + | # Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF) (v 13.0 e 13.1). |
− | #Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111. | + | # Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK]. |
− | #Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] (v. 13.0) | + | # Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111. |
− | #Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation) | + | # Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] (v. 13.0) |
− | #O resultado da simulação deve corresponder ao funcionamento do conversor BCD - SSD. | + | # Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation) |
− | #Agrupe os sinais de entrada como | + | # O resultado da simulação deve corresponder ao funcionamento do conversor BCD - SSD. |
− | #Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída. | + | # Agrupe os sinais de entrada como RADIX "decimal não sinalizado". Para isso selecione os sinais [Edit > Grouping] [Group name = IN] > [Radix = Unsigned Decimal] > [OK]. |
+ | # Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída. |
Edição das 10h40min de 2 de abril de 2020
Consersor BCD para display de sete segmentos
- Objetivos
- Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos;
- Gerar formas de onda para entrada de simulação;
- Fazer a simulação funcional do circuito com o QSIM;
- Materiais necessários
Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)
- Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum;
- Siga o exemplo do segmento G:
Entradas | Saídas | Decimal | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | a | b | c | d | e | f | g | Display |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 2 |
0 | 0 | 1 | 1 | 1 | 3 | ||||||
0 | 1 | 0 | 0 | 1 | 4 | ||||||
0 | 1 | 0 | 1 | 1 | 5 | ||||||
0 | 1 | 1 | 0 | 1 | 6 | ||||||
0 | 1 | 1 | 1 | 0 | 7 | ||||||
1 | 0 | 0 | 0 | 1 | 8 | ||||||
1 | 0 | 0 | 1 | 1 | 9 | ||||||
1 | 0 | 1 | 0 | X | X | ||||||
1 | 0 | 1 | 1 | X | X | ||||||
1 | 1 | 0 | 0 | X | X | ||||||
1 | 1 | 0 | 1 | X | X | ||||||
1 | 1 | 1 | 0 | X | X | ||||||
1 | 1 | 1 | 1 | X | X |
Mapa de Karnaugh
- Para implementar a minimização do Mapa de Karnaugh será utilizado o seguinte software.
- Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g:
- O software preenche o Mapa de Karnaugh com a melhor minimização possível:
- Obtêm-se a expressão resultante do Mapa:
Inserindo a minimização do Mapa de Karnaugh no Quartus
- Baixe o .qar do projeto e salve /home/aluno.
- Execute o Quartus.
- Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/7-seg.qar ; Destination folder: /home/aluno/BCD_Hexa) >> OK >> Yes.
- Será criada uma pasta BCD_Hexa. Esse será nosso diretório de trabalho.
- Compile o projeto.
- Note que apenas o segmento g está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário.
- Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado.
- Associe o dispositivo a ser utilizado: Assignments >> Device >> Family: Cyclone IV E e Available Devices: EP4CE30F23C7 >> OK
- Compile o projeto.
- Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do kit MERCURIO IV - EP4CE30F23C7.
- Utilize quatro chaves (sw) como entrada BCD.
- Utilize um dos dois displays SSD como saída.
- Compile o projeto.
- Conecte a placa via USB.
- Faça a carga do código: Tools >> Programer >> Start.
- Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD.
Fazer a simulação funcional do circuito com o QSIM
- Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado.
- Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF) (v 13.0 e 13.1).
- Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK].
- Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111.
- Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] (v. 13.0)
- Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
- O resultado da simulação deve corresponder ao funcionamento do conversor BCD - SSD.
- Agrupe os sinais de entrada como RADIX "decimal não sinalizado". Para isso selecione os sinais [Edit > Grouping] [Group name = IN] > [Radix = Unsigned Decimal] > [OK].
- Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída.