CIL-EngTel (página)

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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
    3. A compilação valerá para o circuito que esta no Top Level. Para escolher outro circuito acesse a aba Files >> tecla direita do mouse no circuito desejado >> Set as Top-Level Entity).
  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.
    4. Essa é uma das principais etapas pois será verificado se o circuito projetado esta se comportando conforme desejado.
  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.

Criando um símbolo para um circuito

  1. Selecione, na IDE do Quartus II, o diagrama esquemático e [File > Create/Update > Create Symbol Files for Current File] > [Save] > [OK].
  2. Note que um novo simbolo estará disponível para uso no diagrama esquemático com o nome FullAdder [Symbol >> Project >> FullAdder]
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 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. Verifique se todas as entradas e saídas do projeto estão conectadas corretamente aos pinos do FPGA. Nenhuma posição da coluna Location deve estar vazia. E nenhuma posição da coluna Direction deve estar em unknown.
  6. Verifique se os pinos não usados estão setados para entrada em 3-state ou 3-state com weak pull-up.
  7. Compile o projeto. Note que agora a numeração dos pinos também aparece no diagrama esquemático.
  8. No Quartus vá em (Tools > Programmer) para abrir a página de programação da placa.
  9. Selecione o Hardware (Hardware Setup > USB-Blaster).
  10. 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 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 o arquivo Clock de 1 ms ou Clock de 1 s, descompacte 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 o arquivo Clock de 1 ms, descompacte e salve todos os arquivos no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
  2. Baixe o arquivo debounce, descompacte e salve todos os arquivos no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
  3. Serão criados dois novos circuitos que podem ser acessados por Symbol tool (ícone de uma porta AND no menu superior) > Project > clock1ms ou Debouncer_v2.
  4. 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.
  5. 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
  6. 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. Verifique a Licença Quartus
  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

  1. Uso do software Quartus e QSIM para ensino de Circuitos Lógicos
  2. Conversor BCD para display de sete segmentos
  3. Circuitos Lógicos Aritméticos
  4. Circuito de Multiplicação Binária
  5. Circuito de Comparação Binária
  6. Registrador de Deslocamento - BDF e QSIM
  7. Contador binário síncrono
  8. Minimização de funções lógicas com mapa de Karnaugh
  9. Modelo para uso em relatórios

Projetos Finais CIL29003

Links auxiliares


Curso de Engenharia de Telecomunicações