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
 
(140 revisões intermediárias por 11 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 +
__INDEX__
 +
 
{{DivulgueEngtelecom}}
 
{{DivulgueEngtelecom}}
  
Linha 5: Linha 7:
 
==[[CIL-EngTel (Plano de Ensino) | Plano de Ensino]]==
 
==[[CIL-EngTel (Plano de Ensino) | Plano de Ensino]]==
  
==Aulas==
+
==Slides utilizados em sala==
*[[Multiplicação Binária]]
+
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_1_Introducao.pdf Introdução - Pedroni Cap. 1]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_2_Representacoes_Binarias.pdf Representações Binárias - Pedroni Cap. 2]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_3_Aritmetica_Binaria.pdf Aritmética Binária - Pedroni Cap. 3]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_4_Introducao_Circuitos_Digitais.pdf Introdução aos Circuitos Digitais - Pedroni Cap. 4]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_5_Algebra_Booleana.pdf Álgebra Booleana - Pedroni Cap. 5]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_10_Familias_Logicas.pdf Famílias Lógicas - Pedroni Cap. 10]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_11_Circuitos_combinacionais_Logicos.pdf Circuitos Combinacionais Lógicos - Pedroni Cap. 11]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_12_Circuitos_combinacionais_Aritmeticos.pdf Circuitos Combinacionais Aritméticos - Pedroni Cap. 12]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_13_Registradores.pdf Registradores - Pedroni Cap. 13]
 +
#[http://docente.ifsc.edu.br/odilson/CIL29003/Pedroni_Cap_14_Circuitos_Sequenciais.pdf 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.
  
==Software e equipamentos recomendados==
+
{{Collapse top | left = yes | title = Lista de Exercícios}}
Nas aulas de Circuitos Lógicos utilizaremos o Quartus II que é um EDA da ALTERA que possibilita a programação, sintese, teste e programação de dispositivos de lógica programável como os CPLDs e FPGAs. Além deste software utilizaremos também para a simulação o QSIM e o Modelsim-Altera.
 
===Kits de desenvolvimento===
 
*Nos links a seguir você pode consultar as informações sobre os kits Educacionais e de Desenvolvimento da ALTERA [http://www.altera.com/education/univ/materials/boards/de0-nano/unv-de0-nano-board.html DE0-Nano],[http://www.altera.com/education/univ/materials/boards/de0/unv-de0-board.html?GSA_pos=1&WT.oss_r=1&WT.oss=de0 DE0], [http://www.altera.com/education/univ/materials/boards/de1/unv-de1-board.html?GSA_pos=1&WT.oss_r=1&WT.oss=de1 DE1], [http://www.altera.com/education/univ/materials/boards/de2-115/unv-de2-115-board.html DE2-115].
 
*Neste link você pode encontrar algumas das [[Interfaces de entrada e saída da DE2-115]]
 
*Se precisar de outras, procure no [[Media:ManualDE2-115.pdf | Manual do kit DE2-115]].
 
* Outra opção é o uso do [[Media:ManualMercurio.pdf | kit MERCURIO IV]] da MACNICA, que dispõe de um CYCLONE IV (EP4CE30F23). Procure no manual a [[pinagem dos dispositivos de entrada e saída do kit MERCURIO IV]].
 
set_global_assignment -name FAMILY "Cyclone IV E"
 
set_global_assignment -name DEVICE EP4CE30F23C7
 
  
*A instalação do cabo e driver USB para programação via JTAG de FPGA ALTERA deve ser feito uma vez na maquina onde será usado o programador da ALTERA (Embutido no Quartus II). Verificar o procedimento conforme o kit que você tem disponível em http://www.altera.com/download/drivers/dri-index.html.
+
#Converta para decimal
*Para facilitar a alocação da pinagem, a  Altera e a Macnica disponibilizam os arquivos de configuração .qsf para estes kits [ftp://ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE0-Nano/DE0_Nano.qsf  DE0_Nano.qsf], [ftp://ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE0/DE0.qsf DE0.qsf], [ftp://ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE1/DE1.qsf DE1.qsf], [ftp://ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE2-115/DE2_115.qsf DE2_115.qsf], [https://dl.dropboxusercontent.com/u/35196307/IFSC-SJ/Pin_MercurioIV.qsf  MERCURIO_IV.qsf].
+
##<math>100110_2</math>
 +
##<math>11110_2</math>
 +
##<math>111011_2</math>
 +
##<math>1010000_2</math>
 +
##<math>11000101_2</math>
 +
##<math>11001100110101_2</math>
 +
##<math>14_8</math>
 +
##<math>67_8</math>
 +
##<math>153_8</math>
 +
##<math>1544_8</math>
 +
##<math>2063_8</math>
 +
##<math>479_16</math>
 +
##<math>4AB_16</math>
 +
##<math>BDE_16</math>
 +
##<math>F0CA_16</math>
 +
##<math>2D3F_16</math>
 +
#Converta para a base indicada:
 +
##<math> 1428_{10} = X_{16} </math>
 +
##<math> 428_{10} = X_{8}</math>
 +
##<math> 28_{10} = X_{2}</math>
 +
##<math> F0F0_{16} = X_{2}</math>
 +
##<math> 1427_{8} = X_{16}</math>
 +
##<math> 1001010_{2} = X_{16}</math>
 +
##<math> 1001010_{10} = X_{16}</math>
 +
##<math> 1428_{16} = X_{8}</math>
 +
#Livro Pedroni: 2.16 ==> 2.38
 +
#Qual é o maior e menor valor decimal que se consegue representar em complemento de dois com 8 dígitos binários?
 +
#Livro Pedroni: 3.1 ==> 3.22
 +
#Livro Pedroni: 4.6 ==> 4.16, 4.18, 4.19, 4.26 ==> 4.31
 +
#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.
 +
#Liste os três tipos de ''buffer''. Qual é sua função lógica? Quais são suas principais aplicações?
 +
#Livro Pedroni: 5.1, 5.5, 5.8 ==> 5.19, 5.22 ==> 5.28, 5.30 ==> 5.38.
 +
#Utilizando álgebra Booleana simplifique as seguintes funções lógicas, mostre todo o processo:
 +
##y=a.b+c'+(c.d)'
 +
##y=((a.b)'+{c.d)')'
 +
##y=(a+b'+c).(a+c+d')'
 +
##y=(a+b)'.c.(a+c).b'
 +
##y=((a+b)'.c)+((b.d)'.(a'+(b.d)))
 +
#Para cada uma das funções lógicas da questão anterior, monte a tabela-verdade equivalente.
 +
#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.
 +
#Livro Pedroni: 10.4 ==> 10.17
 +
#Livro Pedroni: 11.8 ==> 11.12, 11.14 ==> 11.21, 11.23, 11.27 e 11.28
 +
#Livro Pedroni: 12.1 ==> 12.3, 12.6a) 12.6b), 12.9 ==> 12.12, 12.16, 12.17, 12.22
 +
#Exercícios Livro Pedroni:
 +
##13.2, 13.7, 13.8, 13.9
 +
##14.1 ==> 14.5, 14.8, 14.23, 14.33, 14.37, 14.38, 14.39.
 +
#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.
 +
#Faça o diagrama de ligações para um SR de 16 bits, com entrada série e saída paralela, baseado no [http://www.ti.com/lit/ds/symlink/sn74als164a.pdf sn74als164a]
 +
#Faça um diagrama de tempo que explicite a entrada e saída do valor 10001101 no SR [http://www.ti.com/lit/ds/symlink/sn74als165.pdf sn74als165]
 +
#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 [http://www.ti.com/lit/ds/symlink/sn74as194.pdf sn74as194].
 +
#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 [http://www.ti.com/lit/ds/symlink/sn74as194.pdf sn74as194].
 +
#Faça o diagrama de ligações para obter duas versões de um contador módulo 10, baseado no [http://www.ti.com/lit/ds/symlink/sn74ls90.pdf SN74LS90].
 +
#Faça o diagrama de ligações para obter um contador de 2 à 8, baseado no [http://www.ti.com/lit/ds/symlink/sn54als163b.pdf SN54ALS162B].
 +
#Faça o diagrama de ligações para obter um contador módulo 256 ascendente, baseado no [http://www.ti.com/lit/ds/symlink/sn74als191a.pdf SN74ALS191A].
 +
#Faça o diagrama de ligações para obter um contador módulo 256 descendente, baseado no [http://www.ti.com/lit/ds/symlink/sn74als193a.pdf SN74ALS193A].
 +
#Faça o diagrama de ligações para obter um contador de 12 à 0, baseado no [http://www.ti.com/lit/ds/symlink/sn74als169b.pdf SN74ALS169B].
 +
#Faça o diagrama de ligações para obter um contador decimal ascendente, baseado no [http://www.ti.com/lit/ds/symlink/sn74192.pdf SN74LS192].
 +
{{Collapse bottom}}
  
===Software Quartus II e QSIM===
+
<!-- ==Desenvolvimento Pedagógico==
Procedimentos para instalação e uso estão descritos em [[Uso do Quartus II nos Labs do IFSC]].
+
*[[CIL29003-2018-1|CIL29003 2018-1 - Prof. Heron Eduardo de Lima Ávila]] e [[Odilson Tadeu Valle]]
 +
*[[CIL29003-2017-2|CIL29003 2017-2 - Prof. Odilson T. Valle]]
 +
*[[CIL29003-2017-1|CIL29003 2017-1 - Prof. Odilson T. Valle]]
 +
*[[CIL29003-2016-2|CIL29003 2016-2 - Prof. Odilson T. Valle]]
 +
*[[CIL29003-2016-1|CIL29003 2016-1 - Prof. Odilson T. Valle]]
 +
*[[CIL29003-2015-2|CIL29003 2015-2 - Prof. Odilson T. Valle]]
 +
*[[CIL29003-2015-1|CIL29003 2015-1 - Prof. Odilson T. Valle]] -->
  
====Configuração da USB para programação do FPGA====
+
==[[Software e equipamentos recomendados para programação de FPGAs]]==
Para poder programar o FPGA é necessário configurar a USB-Blaster para ser utilizada através da USB. As instruções estão detalhadas em [[Configuração da USB para programação do FPGA via JTAG]]. O uso e programação do FPGA é detalhado em [[Programando o FPGA através da USB-Blaster]].
 
  
 
==Circuitos Integrados Comerciais==
 
==Circuitos Integrados Comerciais==
Linha 34: Linha 113:
 
Esta página [http://quarndon.co.uk/WallChart/wc74.php?p=0] também apresenta uma rápida visualização da pinagem dos CIs mais antigos do tipo DIP.
 
Esta página [http://quarndon.co.uk/WallChart/wc74.php?p=0] também apresenta uma rápida visualização da pinagem dos CIs mais antigos do tipo DIP.
  
Algumas informações muito úteis sobre as famílias lógicas, migração, níveis de tensão, encapsulamento podem ser vistas no [TI - Logic Guide http://www.ti.com/lit/sg/sdyu001z/sdyu001z.pdf].
+
===Listagem de circuitos integrados===
 +
[https://pt.wikipedia.org/wiki/Lista_dos_circuitos_integrados_da_s%C3%A9rie_7400 Lista dos circuitos integrados da série 7400]
  
 
===Circuitos Lógicos===
 
===Circuitos Lógicos===
Linha 61: Linha 141:
 
*Decodificador/Demultiplexador 3 para 8 linhas - [http://www.ti.com/lit/ds/symlink/sn54als138a.pdf 74X138]
 
*Decodificador/Demultiplexador 3 para 8 linhas - [http://www.ti.com/lit/ds/symlink/sn54als138a.pdf 74X138]
 
*2x Decodificador/Demultiplexador 2 para 4 linhas [http://www.ti.com/lit/ds/symlink/sn54als139.pdf 74X139]
 
*2x Decodificador/Demultiplexador 2 para 4 linhas [http://www.ti.com/lit/ds/symlink/sn54als139.pdf 74X139]
*Decodificador/Driver BCD para Sete Segmentos - [http://www.ti.com/lit/ds/symlink/sn7447a.pdf 74X47]
+
*Decodificador/Driver BCD para Sete Segmentos - [http://www.ti.com/lit/ds/symlink/sn7447a.pdf 74X47/48/49]
 
 
 
*Decodificador/Demultiplexador 3 para 8 linhas com Latch - [http://www.ti.com/lit/ds/symlink/sn54als137a.pdf 74X137]
 
*Decodificador/Demultiplexador 3 para 8 linhas com Latch - [http://www.ti.com/lit/ds/symlink/sn54als137a.pdf 74X137]
 
+
*Codificador de prioridade 8 linhas para 3 linhas - [http://www.ti.com/lit/ds/symlink/sn54ls148.pdf 74x48]
 
*Multiplexador/Seletor de 8 para 1 - [http://www.ti.com/lit/ds/symlink/sn54als151.pdf 74X151]
 
*Multiplexador/Seletor de 8 para 1 - [http://www.ti.com/lit/ds/symlink/sn54als151.pdf 74X151]
 
*2x Multiplexador/Seletor de 4 para 1 - [http://www.ti.com/lit/ds/symlink/sn54als153.pdf 74X153]
 
*2x Multiplexador/Seletor de 4 para 1 - [http://www.ti.com/lit/ds/symlink/sn54als153.pdf 74X153]
Linha 74: Linha 153:
 
===Circuitos Aritméticos Combinacionais===
 
===Circuitos Aritméticos Combinacionais===
 
*Somador de 4 bits - [http://www.ti.com/lit/ds/symlink/sn54ls283.pdf 74X283]
 
*Somador de 4 bits - [http://www.ti.com/lit/ds/symlink/sn54ls283.pdf 74X283]
*Unidade de Lógica e Aritmética - [http://www.ti.com/lit/ds/symlink/sn74ls181.pdf 74X181].
+
*Unidade de Lógica e Aritmética - [http://www.esi.uclm.es/www/isanchez/apuntes/ci/74181.pdf 74X181].
 +
*Multiplicador de 4 bits. Obs: integrando o 74284 e 74285 [http://docente.ifsc.edu.br/odilson/CIL29003/74284.pdf 74284].
 
*Look Ahead Carry Generator - [http://www.ti.com/lit/ds/symlink/sn54s182.pdf 74X182]
 
*Look Ahead Carry Generator - [http://www.ti.com/lit/ds/symlink/sn54s182.pdf 74X182]
 
*Comparador BCD - [http://www.ti.com/lit/ds/sdls123/sdls123.pdf 74X85]
 
*Comparador BCD - [http://www.ti.com/lit/ds/sdls123/sdls123.pdf 74X85]
 
*Comparador de magnitude de 8 bits - [http://www.ti.com/lit/ds/symlink/sn54ls688.pdf 74X688]
 
*Comparador de magnitude de 8 bits - [http://www.ti.com/lit/ds/symlink/sn54ls688.pdf 74X688]
 
*Comparador de igualdade de 8 bits - [http://www.ti.com/lit/ds/symlink/sn74als521.pdf 74X521]
 
*Comparador de igualdade de 8 bits - [http://www.ti.com/lit/ds/symlink/sn74als521.pdf 74X521]
*Multiplicador binário de 4 bits por 4 bits - [http://www.ti.com/lit/ds/symlink/sn74284.pdf 74X284/285]
+
<!-- *Multiplicador binário de 4 bits por 4 bits - [http://www.ti.com/lit/ds/symlink/sn74284.pdf 74X284/285] -->
 
<!-- *Multiplicador binário de 2 bits por 4 bits - [http://www.ti.com/lit/ds/sdls150/sdls150.pdf 74X261] -->
 
<!-- *Multiplicador binário de 2 bits por 4 bits - [http://www.ti.com/lit/ds/sdls150/sdls150.pdf 74X261] -->
  
Linha 85: Linha 165:
 
*Registrador de deslocamento [http://www.ti.com/lit/ds/symlink/sn74als164a.pdf 74X164] 8-bit Saída Paralela, [http://www.ti.com/lit/ds/symlink/sn74als165.pdf 74X165], [http://www.ti.com/lit/ds/symlink/sn74als166.pdf 74X166] 8-bits Carga Parelela e saída serial, [http://www.ti.com/lit/ds/symlink/sn74as194.pdf 74x194] 4-Bit Bidirectional Universal Shift Registers, [http://www.ti.com/lit/ds/symlink/sn74als299.pdf 74x299] 8-Bit Universal Shift/Storage Registers With 3-State Outputs.  
 
*Registrador de deslocamento [http://www.ti.com/lit/ds/symlink/sn74als164a.pdf 74X164] 8-bit Saída Paralela, [http://www.ti.com/lit/ds/symlink/sn74als165.pdf 74X165], [http://www.ti.com/lit/ds/symlink/sn74als166.pdf 74X166] 8-bits Carga Parelela e saída serial, [http://www.ti.com/lit/ds/symlink/sn74as194.pdf 74x194] 4-Bit Bidirectional Universal Shift Registers, [http://www.ti.com/lit/ds/symlink/sn74als299.pdf 74x299] 8-Bit Universal Shift/Storage Registers With 3-State Outputs.  
 
*Contador Assíncrono [http://www.ti.com/lit/ds/symlink/sn74ls90.pdf 74X90/92/93] - 74X90- Decada, 74X92 - Duzia, 74X93 - Binário 4 bits, [http://www.ti.com/lit/ds/symlink/sn74ls390.pdf 74X390] - 2x Decada,  
 
*Contador Assíncrono [http://www.ti.com/lit/ds/symlink/sn74ls90.pdf 74X90/92/93] - 74X90- Decada, 74X92 - Duzia, 74X93 - Binário 4 bits, [http://www.ti.com/lit/ds/symlink/sn74ls390.pdf 74X390] - 2x Decada,  
*Contador Síncrono [http://www.ti.com/lit/ds/symlink/sn54als163b.pdf 74X161/163] - 74X161 - reset assíncrono, 74X163 - reset síncrono; [http://www.ti.com/lit/ds/symlink/sn74als191a.pdf 74X191], [http://www.ti.com/lit/ds/symlink/sn74als193a.pdf 74X193], [http://www.ti.com/lit/ds/symlink/sn74als169b.pdf 74X169] - Binario 4 bits, Up/Down
+
*Contadores Síncronos
 +
**Binário e decádico ascendente/descendente: [http://www.ti.com/lit/ds/symlink/sn54ls669.pdf 74x669/668];
 +
**Binário e decádico ascendente, com Clear: [http://www.ti.com/lit/ds/symlink/sn54als163b.pdf 74X161/162/163];
 +
**Binário ascendente/descendente: [http://www.ti.com/lit/ds/symlink/sn74als191a.pdf 74X191];
 +
**Binário e decádico ascendente/descendente, dois pinos de clock distintos, indicado somente para contar eventos, não tempo, com Clear: [https://www.ti.com/lit/gpn/sn74ls193 74X192/193];
 +
**Binário ascendente/descendente: [http://www.ti.com/lit/ds/symlink/sn74als169b.pdf 74X169];
 
*Registradores com DFF [http://www.ti.com/lit/ds/symlink/sn54als174.pdf 74X174] Hex D-type Flip-Flops With Clear, [http://www.ti.com/lit/ds/symlink/sn54als273.pdf 74X273] Octal D-type Flip-Flops With Clear
 
*Registradores com DFF [http://www.ti.com/lit/ds/symlink/sn54als174.pdf 74X174] Hex D-type Flip-Flops With Clear, [http://www.ti.com/lit/ds/symlink/sn54als273.pdf 74X273] Octal D-type Flip-Flops With Clear
  
Linha 92: Linha 177:
 
*[http://mathworld.wolfram.com/Hexadecimal.html Sistema de numeração hexadecimal]
 
*[http://mathworld.wolfram.com/Hexadecimal.html Sistema de numeração hexadecimal]
 
*[http://mathworld.wolfram.com/Octal.html Sistema de numeração octal]
 
*[http://mathworld.wolfram.com/Octal.html Sistema de numeração octal]
 +
*[[Multiplicação Binária]]
 
*[[Display de 7 segmentos]]
 
*[[Display de 7 segmentos]]
 
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/video-lectures/lecture-4/ A abstração Digital] - MIT, Prof. Anant Agarwal
 
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/video-lectures/lecture-4/ A abstração Digital] - MIT, Prof. Anant Agarwal
 
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/video-lectures/lecture-5/ Conhecendo o interior das portas lógicas] - MIT, Prof. Anant Agarwal
 
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/video-lectures/lecture-5/ Conhecendo o interior das portas lógicas] - MIT, Prof. Anant Agarwal
 +
*[https://www.youtube.com/watch?v=gnhNKITVVZ8 Projeto de sistema digital]
 
*[http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/138/6320.Voltages.jpg Tensões de entrada e saída nas familias lógicas]
 
*[http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/138/6320.Voltages.jpg Tensões de entrada e saída nas familias lógicas]
 +
*Algumas informações muito úteis sobre as famílias lógicas, migração, níveis de tensão, encapsulamento podem ser vistas no [TI - Logic Guide http://www.ti.com/lit/sg/sdyu001aa/sdyu001aa.pdf].
 
*[http://download.intel.com/newsroom/kits/22nm/pdfs/Intel_Transistor_Backgrounder.pdf A evolução do transistor MOS], [http://www.intel.com/content/www/us/en/history/museum-transistors-to-transformations-brochure.html]
 
*[http://download.intel.com/newsroom/kits/22nm/pdfs/Intel_Transistor_Backgrounder.pdf A evolução do transistor MOS], [http://www.intel.com/content/www/us/en/history/museum-transistors-to-transformations-brochure.html]
*Atualmente estamos na tecnologia de [http://en.wikipedia.org/wiki/22_nanometer 22nm], [http://download.intel.com/newsroom/kits/22nm/pdfs/22nm-Details_Presentation.pdf],já ingressando em [http://www.altera.com/literature/wp/wp-01201-fpga-tri-gate-technology.pdf 14 nm], [http://www.altera.com/devices/fpga/stratix-fpgas/stratix10/stx10-index.jsp]. No futuro qual será o tamanho do canal do GATE do transistor MOS  [http://en.wikipedia.org/wiki/5_nanometer]?   
+
*Atualmente estamos na tecnologia de [http://en.wikipedia.org/wiki/22_nanometer 22nm], [http://download.intel.com/newsroom/kits/22nm/pdfs/22nm-Details_Presentation.pdf],já ingressando em [http://www.altera.com/literature/wp/wp-01201-fpga-tri-gate-technology.pdf 14 nm]. [https://www.altera.com/solutions/technology/next-generation-technology/overview.html], [http://www.altera.com/devices/fpga/stratix-fpgas/stratix10/stx10-index.jsp]. No futuro qual será o tamanho do canal do GATE do transistor MOS  [http://en.wikipedia.org/wiki/5_nanometer] [https://www.semiwiki.com/forum/content/5080-imec-cadence-disclose-5nm-test-chip.html Veja os teste com 5nm da IMEC e Cadence]?   
 
*O menor transistor 4nm. [http://www.nature.com/nnano/journal/v5/n7/full/nnano.2010.95.html], [http://www.dailytech.com/article.aspx?newsid=18476]
 
*O menor transistor 4nm. [http://www.nature.com/nnano/journal/v5/n7/full/nnano.2010.95.html], [http://www.dailytech.com/article.aspx?newsid=18476]
  
==Listas de Exercício==
+
<!--==Avaliações ==
*Capítulo 4 (pag. 83 - 89). 4, 6-7, 10-19, 26-31.
+
*Avaliação 1
<!--
+
*Avaliação 2
*Capítulo 5 (pag. 110 - 116). 1-18, 22-36.
+
*Avaliação 3
*T1-T3 Implementar em diagrama esquemático no QUARTUS II e simular no QSIM: T1 - Ex.4.19(d), T2 - Ex.4.29 e T3 - Ex. 2.31 (entregar até 11/11/2013 por email o QAR de cada exercicio e as imagens capturadas da simulação)
+
*Projeto Final
*T4 - Utilizando Mapa de Karnaught implementar um decodificador de 7 segmentos para entradas (0, 1, 2, 3, 4, 5).  Obter o circuito minimizado considerando as outras entradas DON'T CARE. (entregar até 25/11/2013 em meio físico)
+
*Recuperação final -->
*T5 - Implemente no Quartus II o circuito da Fig12.13(b), e teste somando os números A (-8 a +7) com B (-8 a +7). Teste as possibilidades de Overflow (aula dia 30/11/2013,  entregar relatório até 08/12/2013 até 23h59)
 
:*A e B são negativos A+B < -8 (Overflow)
 
:*A e B são negativos A+B >= -8 (OK)
 
:*A e B são positivos A+B > 7 (Overflow)
 
:*A e B são positivos A+B <= 7 (OK)
 
:*A e B tem sinais contrários (OK)
 
-->
 
==Avaliações ==
 
*A1 - (18/03/2014)
 
*A2 - (29/04/2014)
 
*A3 - ()
 
*Projeto Final (apresentação 08/07/2014)
 
*Recuperação (11/07/2014)
 
*Trabalhos e Listas de Exercícios
 
  
 
==Aulas de Laboratório==
 
==Aulas de Laboratório==
*[[Uso do software Quartus e QSIM para ensino de Circuitos Lógicos]]
+
{{Collapse top | left = yes | title = Orientações gerais para o uso do software Quartus}}
*[[Circuitos Lógicos Aritméticos]]
+
<span style="font-size:150%">As principais etapas para elaborar um projeto no Quartus são:
*[[Registrador de Deslocamento -  BDF e QSIM]]
+
#Crie um novo projeto.
*[[Minimização de funções lógicas com mapa de Karnaugh]]
+
##Todo projeto deve possuir um diretório exclusivo, onde estarão contidos todos os arquivos relacionados ao projeto.
*[[Projetos Finais CIL29003]]
+
##File > New Project Wizard > Next
*[[Brainstorming de projetos CIL29003]]
+
##Ao salvar arquivos e projetos tome '''sempre''' as seguintes precauções, sob pena de erros de compilação.
 +
###'''Não''' nomeie diretórios e/ou arquivos com espaço em branco, se necessário utilize "_" (''underline'') como caractere separador.
 +
###'''Não''' nomeie diretórios e/ou arquivos com caracteres especiais e/ou caracteres acentuados.
 +
###'''Não''' inicie o nome de projetos e/ou circuitos com caracteres numéricos e/ou caracteres especiais e/ou caracteres acentuados.
 +
#Crie o(s) circuito(s) desejado(s).
 +
##Nos circuitos são adicionadas as portas lógicas, os CIs e as todas as conexões/ligações.
 +
##File > New > Block Diagram/Schematic File
 +
#Compile cada circuito criado.
 +
##A compilação, entre outras coisas, verifica a existência ou não de erros no projeto.
 +
##Processing > Star Compilation
 +
##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).
 +
#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.
 +
## 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.
 +
## Essa é uma das principais etapas pois será verificado se o circuito projetado esta se comportando conforme desejado.
 +
#Faça a associação de pinos.
 +
##A associação de pinos nada mais é que a ligação do circuito projetado com o pinos reais da placa FPGA.
 +
##Assignments > Pin Planner.
 +
#Programe e configure a FPGA.
 +
##Aqui é o momento onde se programa a placa FPGA com o código criado a partir dos circuitos projetados.
 +
##Tools > Programmer.
 +
<span style="font-size:150%">Arquivando e recuperando projetos
 +
#Procedimento para arquivar/salvar projetos
 +
##Project > Archive Project... > Archive file name: nome_do_projeto.qar
 +
##O arquivo será salvo em: '''/home/aluno/nome_do_projeto/output_files/nome_do_projeto.qar'''
 +
##Copie o arquivo para algum repositório particular remoto ou mande o mesmo (nome_do_projeto.qar) para o seu email.
 +
#Procedimento para restaurar um projeto:
 +
##Baixe o arquivo .qar salvo em uma pasta local cujo nome não possua caracteres especiais e/ou acentuados.
 +
##Execute o Quartus.
 +
##Clique na opção '''Open Existing Project'''.
 +
##Navegue no gerenciador de arquivos até encontrar o '''.qar''' baixado, dê duplo clique no mesmo e '''OK'''.
 +
<span style="font-size:150%">Criando um símbolo para um circuito
 +
# Selecione, na IDE do Quartus II, o diagrama esquemático e [File > Create/Update > Create Symbol Files for Current File] > [Save] > [OK].
 +
#Note que um novo simbolo estará disponível para uso no diagrama esquemático com o nome FullAdder [Symbol >> Project >> FullAdder]
 +
{{Collapse bottom}}
 +
 
 +
{{Collapse top  | left = yes | title = Orientações para a gravação da FPGA}}
 +
#Para gravar o circuito lógico no FPGA, é necessário escolher um FPGA para a aplicação.
 +
#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.
 +
#Atribua os pinos do circuito aos pinos do FPGA utilizando o Pin Planner (Assignments > Pin Planner).
 +
#Para descobrir a pinagem do FPGA e sua associação com os componentes do kit consulte as informações disponíveis em [[Interfaces de entrada e saída da DE2-115 | 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]].
 +
#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'''.
 +
#Verifique se os '''pinos não usados''' estão setados para entrada em 3-state ou 3-state com weak  pull-up. 
 +
#Compile o projeto. Note que agora a numeração dos pinos também aparece no diagrama esquemático.
 +
#No Quartus vá em (Tools > Programmer) para abrir a página de programação da placa.
 +
#Selecione o Hardware (Hardware Setup > USB-Blaster).
 +
#*Se não aparecer a [USB-BLASTER], e aparecer no seu lugar a [USB-BLASTER Variant], ou [No Hardware], então será necessário alterar os arquivos de configuração (precisa de senha de root), segundo o procedimento descrito em [[Configuração da USB para programação do FPGA via JTAG]].
 +
#*Caso ainda apresente algum problema siga os passos apresentados em [[Programando o FPGA através da USB-Blaster]].
 +
#Utilize o modo JTAG e clique em '''Start''' para começar a programação;
 +
{{Collapse bottom}}
 +
 
 +
{{Collapse top  | left = yes | title = Orientações para sincronismo e uso de clocks}}
 +
#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:
 +
##Crie ou abra um projeto no Quartus, por exemplo, /home/aluno/meu_projeto.
 +
##Baixe o arquivo [http://docente.ifsc.edu.br/odilson/CIL29003/clk1ms.zip Clock de 1 ms] ou [http://docente.ifsc.edu.br/odilson/CIL29003/clk1s.zip Clock de 1 s], descompacte e salve no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
 +
##Será criado um novo circuito que pode ser acessado por Symbol tool (ícone de uma porta AND no menu superior) > Project > clock1s ou clock1ms.
 +
##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.
 +
#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. <center> [[Arquivo:Sincronismo_blocos.png|600px|Exemplo de sincronismo]] </center>
 +
*Perceba que o sinal de clock da FPGA é (PIN_T1) é utilizado para os dois circuito presentes.
 +
{{Collapse bottom}}
 +
 
 +
{{Collapse top  | left = yes | title = 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:
 +
#Baixe o arquivo [http://docente.ifsc.edu.br/odilson/CIL29003/clk1ms.zip 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.
 +
#Baixe o arquivo [http://docente.ifsc.edu.br/odilson/CIL29003/Debounce.zip debounce], descompacte e salve todos os arquivos no diretório raiz do projeto a ser utilizado, por exemplo, /home/aluno/meu_projeto.
 +
#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.
 +
# 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.
 +
# Interligue os blocos:
 +
##A entrada '''clock''' do circuito '''clock1ms''' em '''PIN_T1'''.
 +
##A saída '''cout''' do circuito '''clock1ms''' em '''clk_1ms''' do circuito '''debounce'''.
 +
##A entrada '''sw''' do circuito '''debouncer''' na chave a ser utilizada no projeto.
 +
##A saída '''sw_debounced''' no '''CLK''' do contador ou circuito onde deseja-se o sinal "limpo" da chave. <center> [[Arquivo:Debouncer.png|600px|Uso do ''debounce'']] </center>
 +
# Compile novamente o projeto.
 +
{{Collapse bottom}}
 +
 
 +
{{Collapse top  | left = yes | title = Orientações para programar utilizando a máquina local ou a Nuvem}}
 +
#Há duas formas de executar o Quartus:
 +
##Acesso local: Nas máquinas dos laboratórios do campus basta rodar o '''Quartus versão 13'''.
 +
##Acesso remoto: basta acessar o site [https://nuvem.sj.ifsc.edu.br/ nuvem.sj.ifsc.edu.br] e seguir as orientações. Para acesso utilize os dados do portal de alunos.
 +
#Em ambos os casos e '''somente no primeiro uso''', se necessário:
 +
##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'''.
 +
##Verifique a [[Licença Quartus]]
 +
#Outra opção é utilizar a versão ''free'' do [https://www.intel.com/content/www/us/en/programmable/downloads/download-center.html Quartus], que apresenta praticamente todas as funcionalidades da versão comercial, com certeza suficiente para o desenvolvimento de nossos projetos.
 +
 
 +
<span style="font-size:150%"> Dicas para programar usando a Nuvem do campus São José do IFSC.
 +
#Acesse a [https://nuvem.sj.ifsc.edu.br/ Nuvem do campus São José do IFSC].
 +
#Execute o Quartus no terminal: <syntaxhighlight lang=bash> quartus & <Enter> </syntaxhighlight>
 +
#Faça toda a programação e simulação do circuito na nuvem.
 +
#Para os testes de hardware é necessário a transferência do arquivo da nuvem para o computador local. Detalhes em [[Acesso_ao_IFSC-CLOUD | Acesso ao IFSC_CLOUD]]
 +
{{Collapse bottom}}
 +
 
 +
===Pinagens das placas disponíveis===
 +
*[[Interfaces de entrada e saída da DE2-115 | Pinagem dos dispositivos de entrada e saída do kit DE2-115 ]]
 +
*[[Pinagem dos dispositivos de entrada e saída do kit MERCURIO IV]]
 +
===Roteiros de Laboratórios===
 +
#[[Uso do software Quartus e QSIM para ensino de Circuitos Lógicos]]
 +
#[[Experimento 5 para Circuitos Lógicos | Conversor BCD para display de sete segmentos]]
 +
#[[Circuitos Lógicos Aritméticos]]
 +
#[[Circuito de Multiplicação Binária]]
 +
#[[Circuito de Comparação Binária]]
 +
#[[Registrador de Deslocamento -  BDF e QSIM]]
 +
#[[Contador binário síncrono]]
 +
#[[Minimização de funções lógicas com mapa de Karnaugh]]
 +
#[[Modelo para uso em relatórios]]
 +
 
 +
==[[Projetos Finais CIL29003]]==
  
 
==Links auxiliares==
 
==Links auxiliares==
 
*[http://mathworld.wolfram.com/EyeofHorusFraction.html Sistema Binário do Egípcios]
 
*[http://mathworld.wolfram.com/EyeofHorusFraction.html Sistema Binário do Egípcios]
 +
*[[Display de sete segmentos]]
 +
*[http://www.wolframalpha.com/input/?i=1000+to+binary Wolfram Alfa]
 
*[http://number.webmasters.sk/numerical.php Conversor de sistemas de numeração]
 
*[http://number.webmasters.sk/numerical.php Conversor de sistemas de numeração]
 
*[http://babbage.cs.qc.cuny.edu/IEEE-754/ Conversores de número real para representação IEEE 754], [http://www.h-schmidt.net/FloatConverter/], [https://itunes.apple.com/us/app/ieee-fp/id325837744?mt=8 App para Iphone]
 
*[http://babbage.cs.qc.cuny.edu/IEEE-754/ Conversores de número real para representação IEEE 754], [http://www.h-schmidt.net/FloatConverter/], [https://itunes.apple.com/us/app/ieee-fp/id325837744?mt=8 App para Iphone]

Edição atual tal como às 15h04min de 30 de novembro de 2023


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