Mudanças entre as edições de "CIL-EngTel (página)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 211: Linha 211:
 
#Faça a simulação de cada circuito criado.
 
#Faça a simulação de cada circuito criado.
 
##Existem a simulação funcional e temporal. Elas auxiliam o projetista a verificar se o circuito criado está funcionando de acordo com o planejado.
 
##Existem a simulação funcional e temporal. Elas auxiliam o projetista a verificar se o circuito criado está funcionando de acordo com o planejado.
 +
## Para realizar a simulação, crie o arquivo que irá conter todas as formas de onda desejadas.
 
##File > New > Verification/Debugging Files > University Program VWF.
 
##File > New > Verification/Debugging Files > University Program VWF.
 
#Faça a associação de pinos.
 
#Faça a associação de pinos.

Edição das 09h49min de 27 de agosto de 2020

MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES



Carga horária, Ementas, Bibliografia, Professores

Plano de Ensino

Slides utilizados em sala

  1. Introdução - Pedroni Cap. 1
  2. Representações Binárias - Pedroni Cap. 2
  3. Aritmética Binária - Pedroni Cap. 3
  4. Introdução aos Circuitos Digitais - Pedroni Cap. 4
  5. Álgebra Booleana - Pedroni Cap. 5
  6. Famílias Lógicas - Pedroni Cap. 10
  7. Circuitos Combinacionais Lógicos - Pedroni Cap. 11
  8. Circuitos Combinacionais Aritméticos - Pedroni Cap. 12
  9. Registradores - Pedroni Cap. 13
  10. Circuitos Sequenciais - Pedroni Cap. 14

Listas de Estudo e Exercícios

Seções do livro do Pedroni a estudar:

  • 1.1 ==> 1.8 e 1.10
  • 2.1 ==> 2.9
  • 3.1 ==> 3.7
  • 4.1 ==> 4.8 e 4.10 ==> 4.13
  • 5.1 ==> 5.6 e 5.9
  • 10.1 ==> 10.3, 10.5, 10.6 e 10.9
  • 11.1, 11.5 ==> 11.7 e 11.13.
  • 12.1 ==> 12.3, 12.5, 12.6, 12.10 ==> 12.13 e 12.15.
  • 13.1, 13.2, 13.3.1, 13.4, 13.10.
  • 14.2, 14.3, 14.5, 14.7.
Lista de Exercícios
  1. Converta para decimal
  2. Converta para a base indicada:
  3. Livro Pedroni: 2.16 ==> 2.38
  4. Qual é o maior e menor valor decimal que se consegue representar em complemento de dois com 8 dígitos binários?
  5. Livro Pedroni: 3.1 ==> 3.22
  6. Livro Pedroni: 4.6 ==> 4.16, 4.18, 4.19, 4.26 ==> 4.31
  7. O consumo de potência em um circuito lógico é dividido em estática e dinâmica. Defina cada uma dessa potências e quais são as providências a serem tomadas para sua minimização.
  8. Liste os três tipos de buffer. Qual é sua função lógica? Quais são suas principais aplicações?
  9. Livro Pedroni: 5.1, 5.5, 5.8 ==> 5.19, 5.22 ==> 5.28, 5.30 ==> 5.38.
  10. Utilizando álgebra Booleana simplifique as seguintes funções lógicas, mostre todo o processo:
    1. y=a.b+c'+(c.d)'
    2. y=((a.b)'+{c.d)')'
    3. y=(a+b'+c).(a+c+d')'
    4. y=(a+b)'.c.(a+c).b'
    5. y=((a+b)'.c)+((b.d)'.(a'+(b.d)))
  11. Para cada uma das funções lógicas da questão anterior, monte a tabela-verdade equivalente.
  12. Derive uma equação SOP mínima (irredutível) para cada uma das funções Booleanas representadas pelas tabelas-verdade da questão anterior, fazendo uso de mapas de Karnaugh.
  13. Livro Pedroni: 10.4 ==> 10.17
  14. Livro Pedroni: 11.8 ==> 11.12, 11.14 ==> 11.21, 11.23, 11.27 e 11.28
  15. Livro Pedroni: 12.1 ==> 12.3, 12.6a) 12.6b), 12.9 ==> 12.12, 12.16, 12.17, 12.22
  16. Exercícios Livro Pedroni:
    1. 13.2, 13.7, 13.8, 13.9
    2. 14.1 ==> 14.5, 14.8, 14.23, 14.33, 14.37, 14.38, 14.39.
  17. Para o gerador de sequências pseudorandômicas da Figura 14.30, calcule a sequência dos 25 primeiros bits produzidos pelo circuito, após a execução de um Reset no sistema.
  18. Faça o diagrama de ligações para um SR de 16 bits, com entrada série e saída paralela, baseado no sn74als164a
  19. Faça um diagrama de tempo que explicite a entrada e saída do valor 10001101 no SR sn74als165
  20. Faça um diagrama de tempo que mostre a entrada serial do valor 1110 com deslocamento para a direita e, em seguida, o valor 1011 com deslocamento para a esquerda no sn74as194.
  21. Faça um diagrama de tempo que mostre a entrada serial do valor 1110 com deslocamento para a direita e, em seguida, entrada paralela do valor 1011 com deslocamento para a direita no sn74as194.
  22. Faça o diagrama de ligações para obter duas versões de um contador módulo 10, baseado no SN74LS90.
  23. Faça o diagrama de ligações para obter um contador de 2 à 8, baseado no SN54ALS162B.
  24. Faça o diagrama de ligações para obter um contador módulo 256 ascendente, baseado no SN74ALS191A.
  25. Faça o diagrama de ligações para obter um contador módulo 256 descendente, baseado no SN74ALS193A.
  26. Faça o diagrama de ligações para obter um contador de 12 à 0, baseado no SN74ALS169B.
  27. Faça o diagrama de ligações para obter um contador decimal ascendente, baseado no SN74LS192.


Software e equipamentos recomendados para programação de FPGAs

Circuitos Integrados Comerciais

Para localizar os circuitos integrados comerciais existentes, consulte o Guia de produtos da Texas Instruments. Atualmente é muito comum o uso de circuitos integrados com uma única porta ou circuitos (ver Little Logic Guide). Nas listagens a seguir são mostrados as folhas de dados (Datasheet) de alguns circuitos comerciais, os quais também possuem uma implementação em VHDL disponível no software Quartus da ALTERA. O código 74X indica que o circuito pode estar disponível em diferentes famílias TTL e CMOS.

Um resumo das portas lógicas e demais circuitos da TI podem ser visualizados no guia de bolso. Os circuitos de 1 porta (páginas 79 a 84); de 2 portas (páginas 84 a 87); de 3 portas (páginas 87 e 88); e outros circuitos (páginas 161 a 288). Para a visualização da disponibilidade dos dispositivos lógicos nas diferentes famílias consulte a página 141 e 142.

Esta página [1] também apresenta uma rápida visualização da pinagem dos CIs mais antigos do tipo DIP.

Listagem de circuitos integrados

Lista dos circuitos integrados da série 7400

Circuitos Lógicos

  • Buffer
  • 3-Estados - 74AHC1G125
  • 3-Estados e Driver - 74AHC541
  • Dreno aberto - 74LV07A The open-drain outputs require pullup resistors to perform correctly and can be connected to other open-drain outputs to implement active-low wired-OR or active-high wired-AND functions.
  • Coletor aberto - 7407
  • Schmitt trigger - SN74AUC1G17 @
  • Inversor - 6 Inversor - 74X04;

Circuitos Lógicos Combinacionais

  • Decodificador/Demultiplexador 3 para 8 linhas - 74X138
  • 2x Decodificador/Demultiplexador 2 para 4 linhas 74X139
  • Decodificador/Driver BCD para Sete Segmentos - 74X47/48/49
  • Decodificador/Demultiplexador 3 para 8 linhas com Latch - 74X137
  • Codificador de prioridade 8 linhas para 3 linhas - 74x48
  • Multiplexador/Seletor de 8 para 1 - 74X151
  • 2x Multiplexador/Seletor de 4 para 1 - 74X153
  • 4x Multiplexador/Seletor de 2 para 1 - 74X157/158
  • Decodificador BCD para 10 linhas decimais 74X42
  • Codificador de Prioridade de 8 para código binário - 74X148
  • Gerador de Paridade Par e Impar de 9 bits - 74X280

Circuitos Aritméticos Combinacionais

  • Somador de 4 bits - 74X283
  • Unidade de Lógica e Aritmética - 74X181.
  • Multiplicador de 4 bits. Obs: integrando o 74284 e 74285 74284.
  • Look Ahead Carry Generator - 74X182
  • Comparador BCD - 74X85
  • Comparador de magnitude de 8 bits - 74X688
  • Comparador de igualdade de 8 bits - 74X521

Circuitos Sequenciais

  • Registrador de deslocamento 74X164 8-bit Saída Paralela, 74X165, 74X166 8-bits Carga Parelela e saída serial, 74x194 4-Bit Bidirectional Universal Shift Registers, 74x299 8-Bit Universal Shift/Storage Registers With 3-State Outputs.
  • Contador Assíncrono 74X90/92/93 - 74X90- Decada, 74X92 - Duzia, 74X93 - Binário 4 bits, 74X390 - 2x Decada,
  • Contadores Síncronos
    • Binário e decádico ascendente/descendente: 74x669/668;
    • Binário e decádico ascendente, com Clear: 74X161/162/163;
    • Binário ascendente/descendente: 74X191;
    • Binário e decádico ascendente/descendente, dois pinos de clock distintos, indicado somente para contar eventos, não tempo, com Clear: 74X192/193;
    • Binário ascendente/descendente: 74X169;
  • Registradores com DFF 74X174 Hex D-type Flip-Flops With Clear, 74X273 Octal D-type Flip-Flops With Clear

Materiais de apoio as aulas


Aulas de Laboratório

Orientações gerais para o uso do software Quartus

As principais etapas para elaborar um projeto no Quartus são:

  1. Crie um novo projeto.
    1. Todo projeto deve possuir um diretório exclusivo, onde estarão contidos todos os arquivos relacionados ao projeto.
    2. File > New Project Wizard > Next
    3. Ao salvar arquivos e projetos tome sempre as seguintes precauções, sob pena de erros de compilação.
      1. Não nomeie diretórios e/ou arquivos com espaço em branco, se necessário utilize "_" (underline) como caractere separador.
      2. Não nomeie diretórios e/ou arquivos com caracteres especiais e/ou caracteres acentuados.
      3. Não inicie o nome de projetos e/ou circuitos com caracteres numéricos e/ou caracteres especiais e/ou caracteres acentuados.
  2. Crie o(s) circuito(s) desejado(s).
    1. Nos circuitos são adicionadas as portas lógicas, os CIs e as todas as conexões/ligações.
    2. File > New > Block Diagram/Schematic File
  3. Compile cada circuito criado.
    1. A compilação, entre outras coisas, verifica a existência ou não de erros no projeto.
    2. Processing > Star Compilation
  4. Faça a simulação de cada circuito criado.
    1. Existem a simulação funcional e temporal. Elas auxiliam o projetista a verificar se o circuito criado está funcionando de acordo com o planejado.
    2. Para realizar a simulação, crie o arquivo que irá conter todas as formas de onda desejadas.
    3. File > New > Verification/Debugging Files > University Program VWF.
  5. Faça a associação de pinos.
    1. A associação de pinos nada mais é que a ligação do circuito projetado com o pinos reais da placa FPGA.
    2. Assignments > Pin Planner.
  6. Programe e configure a FPGA.
    1. Aqui é o momento onde se programa a placa FPGA com o código criado a partir dos circuitos projetados.
    2. Tools > Programmer.

Arquivando e recuperando projetos

  1. Procedimento para arquivar/salvar projetos
    1. Project > Archive Project... > Archive file name: nome_do_projeto.qar
    2. O arquivo será salvo em: /home/aluno/nome_do_projeto/output_files/nome_do_projeto.qar
    3. Copie o arquivo para algum repositório particular remoto ou mande o mesmo (nome_do_projeto.qar) para o seu email.
  2. Procedimento para restaurar um projeto:
    1. Baixe o arquivo .qar salvo em uma pasta local cujo nome não possua caracteres especiais e/ou acentuados.
    2. Execute o Quartus.
    3. Clique na opção Open Existing Project.
    4. Navegue no gerenciador de arquivos até encontrar o .qar baixado, dê duplo clique no mesmo e OK.
Orientações para a gravação da FPGA
  1. Para gravar o circuito lógico no FPGA, é necessário escolher um FPGA para a aplicação.
  2. Confira a família e dispositivo a ser usado (Assignments > Devices), utilizando a família family=Cyclone IV E com o dispositivo device=EP4CE115F29C7 ou Family = Cyclone IV E com dispositivo device = EP4CE30F23C7, e faça uma nova Análise e Síntese para que a nova pinagem do FPGA seja reconhecida pelo Quartus.
  3. Atribua os pinos do circuito aos pinos do FPGA utilizando o Pin Planner (Assignments > Pin Planner).
  4. Para descobrir a pinagem do FPGA e sua associação com os componentes do kit consulte as informações disponíveis em Pinagem dos dispositivos de entrada e saída do kit DE2-115 ou Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV.
  5. Compile o projeto. Note que agora a numeração dos pinos também aparece no diagrama esquemático.
  6. No Quartus vá em (Tools > Programmer) para abrir a página de programação da placa.
  7. Selecione o Hardware (Hardware Setup > USB-Blaster).
  8. Utilize o modo JTAG e clique em Start para começar a programação;
Orientações para sincronismo e uso de clocks
  1. Para circuitos que necessitem de uma base de tempo, disponibilizamos dois circuitos prontos que fornecem bases de tempo de 1 ms e 1s. Para utilizá-los execute os passos:
    1. Crie ou abra um projeto no Quartus, por exemplo, /home/aluno/meu_projeto.
    2. Baixe os 4 arquivos presentes em Clock de 1 ms ou Clock de 1 s e salve no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
    3. Será criado um novo circuito que pode ser acessado por Symbol tool (ícone de uma porta AND no menu superior) > Project > clock1s ou clock1ms.
    4. A entrada clock deverá ser conectada na base de tempo da própria FPGA (PIN_T1) e a saída com a base de tempo desejada é a cout. Os demais pinos deixa-se em aberto.
  2. Para o bom funcionamento do FPGA é recomendado que todos os sub-sistemas sejam sincronizados, quando trabalham em base temporal. Na figura abaixo temos um exemplo desse sincronismo.
    Exemplo de sincronismo
  • Perceba que o sinal de clock da FPGA é (PIN_T1) é utilizado para os dois circuito presentes.
Orientações para criação do circuito debounce
  • Normalmente uma chave apresenta os denominados repiques de sinal, ou seja, ao se alterar o estado da chave o sinal elétrico oscila várias vezes entre um nível lógico e outro, antes de estabilizar. No caso de esse sinal ser utilizado como clock para um determinado circuito, o mesmo pode receber vários pulsos, quando a intenção era um único pulso.
  • Para evitar esse fenômeno pode-se fazer uso de um debounce que gera um atraso entre os estados, ocultando a sequência de pulsos gerados fisicamente pela chave.
  • Para criar um debounce siga os seguintes passos:
  1. Baixe os 4 arquivos presentes em Clock de 1 ms e salve no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
  2. Baixe o projeto debounce Arquivo:Deboucer.qar.
  3. Restaure o projeto: Project > Restore Archived Project > Deboucer.qar > Open > OK.
  4. Abra o esquemático do Debouncer_v2.
  5. Copie todo o arquivo: (Ctrl + a) e (Ctrl + c)
  6. Abra novamente o projeto original: File > Open Project > /home/aluno/meu_projeto > Open.
  7. Crie um novo diagrama nesse projeto: File > New > Block Diagram/Schematic File > OK.
  8. Cole o diagrama do debounce copiado: (Ctrl + v).
  9. Salve o diagrama esquemático com o nome debounce: (Ctrl + s) > /home/aluno/meu_projeto/debounce > Save.
  10. Configure o debounce para ser o Top Level Entity e compile o esquemático.
  11. Crie um novo Symbol File para o debouncer: [File > Create/Update > Create Symbol File for Current File].
  12. Volte ao diagrama do projeto, onde deseja introduzir o debounce, e acrescente os blocos clock1ms e debounce: Symbol Tool > Project > clk1ms e Symbol Tool > Project > debounce.
  13. Interligue os blocos:
    1. A entrada clock do circuito clock1ms em PIN_T1.
    2. A saída cout do circuito clock1ms em clk_1ms do circuito debounce.
    3. A entrada sw do circuito debouncer na chave a ser utilizada no projeto.
    4. A saída sw_debounced no CLK do contador ou circuito onde deseja-se o sinal "limpo" da chave.
      Uso do debounce
  14. Compile novamente o projeto.
Orientações para programar utilizando a máquina local ou a Nuvem
  1. Há duas formas de executar o Quartus:
    1. Acesso local: Nas máquinas dos laboratórios do campus basta rodar o Quartus versão 13.
    2. Acesso remoto: basta acessar o site nuvem.sj.ifsc.edu.br e seguir as orientações. Para acesso utilize os dados do portal de alunos.
  2. Em ambos os casos e somente no primeiro uso, se necessário:
    1. Ajuste o atalho para o navegador, para poder ler os manuais quando necessário, por meio de Tools > Options > Internet Connectivity, no campo Web browser preencha: /usr/bin/firefox.
    2. Para indicar a licença, selecione Tools>Options>License Setup, e indique o local onde está a licença do software License File:
      • se estiver usando a rede do IFSC: 1800@vm-lan2
      • Se estiver usando a IFSC-CLOUD: 1800@vm-lan2.sj.ifsc.edu.br
      • ou opte pela avaliação de 30 dias
  3. Outra opção é utilizar a versão free do Quartus, que apresenta praticamente todas as funcionalidades da versão comercial, com certeza suficiente para o desenvolvimento de nossos projetos.

Dicas para programar usando a Nuvem do campus São José do IFSC.

  1. Acesse a Nuvem do campus São José do IFSC.
  2. Execute o Quartus no terminal:
     quartus & <Enter>
    
  3. Faça toda a programação e simulação do circuito na nuvem.
  4. Para os testes de hardware é necessário a transferência do arquivo da nuvem para o computador local. Detalhes em Acesso ao IFSC_CLOUD

Pinagens das placas disponíveis

Roteiros de Laboratórios

Projetos Finais CIL29003

Links auxiliares


Curso de Engenharia de Telecomunicações