Baixe o app para aproveitar ainda mais
Prévia do material em texto
Circuitos Lógicos Prof. Gutemberg Gonçalves dos Santos Júnior Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Engenharia Elétrica 2023.1 - Campina Grande-PB - Brasil INFORMAÇÕES SOBRE A DISCIPLINA OBJETIVOS § Conhecer os fundamentos da álgebra booleana, circuitos combinacionais e sequenciais; § Estudar as funções lógicas que atuam como base de um circuito digital e suas formas de simplificação; § Compreender as técnicas de análise e síntese de circuitos digitais de baixa e média complexidade. § Projetar e implementar sistemas digitais. CL - Aula 01 3 EMENTA Introdução e Conceitos Básicos Funções Lógicas Linguagem de Descrição de Hardware Expressões e Circuitos Lógicos Álgebra Booleana Simplificação Algébrica Mapas de Karnaugh Circuitos Combinacionais Circuitos Sequenciais Máquinas de Estados Finitos CL - Aula 01 4 METODOLOGIA § Aulas expositivas; § Utilização do Moodle Embedded; q Façam o cadastro no endereço https://moodle.embedded.ufcg.edu.br • Turma manhã à T01 • Turma tarde à T02 § Software para síntese e simulação de circuitos digitais; q EDA Playground - https://www.edaplayground.com q Icarus Verilog - http://iverilog.icarus.com q GTKWave - http://gtkwave.sourceforge.net q HDLBits - https://hdlbits.01xz.net/wiki/Main_Page § Estudos individuais e em grupos q Listas de exercícios e trabalhos escritos CL - Aula 01 5 https://moodle.embedded.ufcg.edu.br/ https://www.edaplayground.com/ http://iverilog.icarus.com/ http://gtkwave.sourceforge.net/ https://hdlbits.01xz.net/wiki/Main_Page AVALIAÇÃO § 3 Avaliações § Reposição § Avaliação Final CL - Aula 01 6 BIBLIOGRAFIA § Harris, D.; Harris, S., Projeto Digital e Arquitetura de Computadores, (tradução para português), 2013, Morgan Kaufman § Harris, D.; Harris, S., Digital Design and Computer Architecture – ARM Edition, 2016, Morgan Kaufman § TOCCI, Ronald J. et al Sistemas Digitais: Princípios e Aplicações. § KARIM, Mohammad A. et al; Projeto Digital – Conceitos e princípios básicos. § VAHID, Frank; Sistemas digitais: projetos, otimização e HDLs. § IDOETA, Ivan V. (et al). Elementos de eletrônica digital. CL - Aula 01 7 AULA 1 CRÉDITOS § Slides baseados no material: q Harris, D.; Harris, S., Digital Design and Computer Architecture – ARM Edition, 2016, Morgan Kaufman CL - Aula 01 9 TÓPICOS § Base § Estratégia de Jogo § A Arte de Lidar com Complexidade § A Abstração Digital § Sistemas de Numeração § Portas Lógicas § Níveis Lógicos § Transistores CMOS § Consumo de Energia INTRODUÇÃO § Qual a importância de estudar Circuitos Lógicos § Como lidar com a Complexidade § Qual a base do funcionamento dos Circuitos Lógicos (Eletrônica Digital) CL - Aula 01 11 BACKGROUND § Os microprocessadores revolucionaram o nosso mundo! q Um computador portátil possui hoje mais capacidade do que um servidor do tamanho de uma sala do passado! q Um carro topo de linha possui dezenas de processadores! q Um celular tem mais capacidade de processamento do que os desktops de alguns anos atrás! • Note 20 o 12GB RAM o 512GB armazenamento CL - Aula 01 12 BACKGROUND § A indústria de semicondutores cresceu de $21 bilhões em 1985 para $419 bilhões em 2019; § É responsável pela evolução tecnológica em diversas áreas; q Medicina; q Construção; q Agricultura; q Mobilidade; q Cidades inteligentes; q Etc. CL - Aula 01 13 Esta Foto de Autor Desconhecido está licenciado em CC BY-NC https://www.dovepress.com/state-of-the-art-of-robotic-surgery-related-to-vision-brain-and-eye-ap-peer-reviewed-fulltext-article-EB https://creativecommons.org/licenses/by-nc/3.0/ Mundo ModernoMUNDO MODERNO E NA UFCG? § Sistemas Embarcados com SoC q Linux Embarcado, Placas de alta velocidade § Microeletrônica (forte) há mais de 15 anos q Brazil-IP, PEM, XMEN § FPGA (para todos) desde 2007 § Faça sua própria CPU (para todos) desde 2009 § Microeletrônica/CPU/SoC atualmente com milhões de portas lógicas/transistores § Projetos com alunos e ex-alunos § Posições em multinacionais § Projetos de cooperação § Muito mais q Software, Sistemas Embarcados, Controle, Robótica, IA, etc CL - Aula 01 15 ESTRATÉGIA DO JOGO § Meta do curso: q Começar a entender o que há por dentro de um computador • Quais sistemas digitais constituem um computador q Começar a entender os sistemas digitais dedicados q Implementações q Aprender os princípios de projeto digital q Aprender a depurar sistematicamente projetos digitais cada vez mais complexos q Projetar e construir um sistema digital CL - Aula 01 16 LIDANDO COM A COMPLEXIDADE § Os sistemas atuais possuem uma alta complexidade; § Lidamos com a complexidade através de: q Abstração; q Abordagem disciplinada § Isto trás 3 aspectos extremamente importantes para nós: q Hierarquia; q Modularidade; q Regularidade. CL - Aula 01 17 ABSTRAÇÃO § É a arte de esconder detalhes quando eles não são importantes! CL - Aula 01 18 Copyright © 2016 Elsevier Ltd. All rights reserved. Nosso foco nessa disciplina! ABORDAGEM DISCIPLINADA § Procura-se restringir as escolhas de projeto q Assim, trabalha-se com um nível mais elevado de abstração § Exemplo: Sistemas Digitais (nosso foco!) q Consideram-se tensões discretas em vez de tensões contínuas usadas em circuitos analógicos; q Circuitos digitais são mais simples de projetar do que circuitos analógicos – com eles podemos construir sistemas mais sofisticados; q Sistemas digitais vem continuamente substituindo predecessores analógicos rapidamente: • Câmeras digitais, TVs digitais, telefones celulares, tablets, BlueRay, etc. CL - Aula 01 19 LIDANDO COM A COMPLEXIDADE § Hierarquia: q Um Sistema dividido em módulos e submódulos; § Modularidade: q Deve-se possuir funções e interfaces bem definidas; § Regularidade q Incentivar a uniformidade; q Módulos mais comuns são reutilizados muitas vezes! CL - Aula 01 20 LIDANDO COM A COMPLEXIDADE § Imagine que você gostaria de ordenar 4 números q O que você faria? q E se usássemos o bloco base abaixo? • Hierarquia • Modularidade • Regularidade CL - Aula 01 21 Ordena2 A B Maior Menor SISTEMAS DIGITAIS CL - Aula 0122 SISTEMAS FÍSICOS § É muito comum tratarmos com quantidades em diversas áreas do nosso dia a dia: q Monitoramos, guardamos, medimos, manipulamos, entre outros, com um determinado objetivo § Basicamente, essas quantidades podem ser representadas de duas formas: q Analógica; q Digital. CL - Aula 01 23 SISTEMAS ANALÓGICOS X SISTEMAS DIGITAIS § Analógico: q Análogo aos naturais; q Contínuo em tempo e em amplitude • Velocidade, temperatura, tempo, etc. CL - Aula 01 24 A ABSTRAÇÃO DIGITAL § A maioria das variáveis físicas é contínua q Tensão em um fio q Frequência de uma oscilação q Posição de uma massa § A abstração digital considera um subconjunto discreto de valores § Valores analógicos podem ser convertidos para digitais ou os valores já são originalmente digitais q Regeneração – os valores discretos são recuperados – ficam como novos CL - Aula 01 25 SISTEMAS ANALÓGICOS X SISTEMAS DIGITAIS § Digital: q Discretos em amplitude e no tempo; q São representados por símbolos denominados dígitos; • Ex: Relógio digital CL - Aula 01 26 BENEFÍCIOS DA REPRESENTAÇÃO DIGITAL § Sinais analógicos (e.g. áudio, vídeo, etc.) pode perder qualidade q Os níveis de tensão não são perfeitamente transmitidos, armazenados ou copiados; CL - Aula 01 27 Vo lts 0 1 2 3 original signal time 0 1 2 3 received signal How fix -- higher, lower, ? Transmissão BENEFÍCIOS DA REPRESENTAÇÃO DIGITAL § A digitalização permite a transmissão, o armazenamento e a transmissão de valores de forma quase “perfeita” q Amostramos o valor da tensão e a codificamos utilizados bits q Apesar dos valores de tensão não serem perfeitos, seguindo determinadas restrições, conseguimos recuperar o valor desejado CL - Aula 01 28 Vo lts digitized signal time 0 1 a2d time Can fix—distinguish 0s/1s, restore0 1 Transmissão A DISCIPLINA DIGITAL § Dois valores discretos: q 1’s e 0’s • 1, VERDADEIRO (TRUE), ALTO (HIGH) • 0, FALSO (FALSE), BAIXO (LOW) § 1 e 0: níveis de tensão, posições de engrenagens, níveis de fluídos, etc. § Circuitos digitais usam níveis de tensão (voltagem) para representar 1 e 0 § Bit: dígito binário (Binary digit) CL - Aula 01 29 COMO REPRESENTAR UMA INFORMAÇÃO EM BINÁRIO § Precisamos aprender a converter informação do nosso dia-a- dia para binário! q Todo sistema digital (computadores, celulares, etc.) lidam e processam dados usando esta representação § Sistema binário -> sistema de numeração que possui apenas dois símbolos (0 e 1) § Vamos aprender um pouco então sobre a história e o princípio dos sistemas de contagem! CL - Aula 01 30 APRESENTAÇÃO DOS PRINCÍPIOS DE CONTAGEM E SISTEMAS DE NUMERAÇÃO CL - Aula 0132 SISTEMAS DE NUMERAÇÃO – SISTEMAS POSICIONAIS § Sistema Decimal q 534210 = q 10101110 = § Sistema Octal q 53428 = q 1010118 = § Sistema Binário q 1010112 = q 111012 = § Sistema Hexadecimal q 534216 = q 10101116 = q CAFE16 = SISTEMAS DE NUMERAÇÃO – SISTEMAS POSICIONAIS § Sistema Decimal q 534210 = 5x103 + 3x102 + 4x101 + 2x100 q 10101110 = 1x105 + 0x104 + 1x103 + 0x102 + 1x101 + 1x100 § Sistema Octal q 53428 = 5x83 + 3x82 + 4x81 + 2x80 q 1010118 = 1x85 + 0x84 + 1x83 + 0x82 + 1x81 + 1x80 § Sistema Binário q 1010112 = 1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 1x20 q 111012 = 1x24 + 1x23 + 1x22 + 0x21 + 1x20 § Sistema Hexadecimal q 534216 = 5x163 + 3x162 + 4x161 + 2x160 q 10101116 = 1x165 + 0x164 + 1x163 + 0x162 + 1x161 + 1x160 q CAFE16 = Cx163 + Ax162 + Fx161 + Ex160 CONVERSÃO ENTRE BASES § Binário para Decimal q 1010102 à § Octal para Decimal q 7738 à § Hexadecimal para Decimal q ACDC16 à CL - Aula 01 35 CONVERSÃO ENTRE BASES (à DECIMAL) § Binário para Decimal q 1010102 à 1×25 + 0×24 + 1×23 + 0×22 + 1×21 + 0×20 = 32 + 8 + 2 = 42 § Octal para Decimal q 7738 à 7×82 + 7×81 + 3×80 = 448 + 56 + 3 = 507 § Hexadecimal para Decimal q ACDC16 à A×163 + C×162 + D×161 + C×160 = = 10×163 + 12×162 + 13×161 + 12×160 = 44252 CL - Aula 01 36 SISTEMAS DE NUMERAÇÃO Decimal Hexadecimal Octal Binário 00 00 00 00000 01 01 01 00001 02 02 02 00010 03 03 03 00011 04 04 04 00100 05 05 05 00101 06 06 06 00110 07 07 07 00111 08 08 10 01000 09 09 11 01001 10 0A 12 01010 11 0B 13 01011 12 0C 14 01100 13 0D 15 01101 14 0E 16 01110 15 0F 17 01111 16 10 20 10000 CL - Aula 01 37 POTÊNCIAS DE 2 • 20 = • 21 = • 22 = • 23 = • 24 = • 25 = • 26 = • 27 = • 28 = • 29 = • 210 = • 211 = • 212 = • 213 = • 214 = • 215 = CL - Aula 01 38 POTÊNCIAS DE 2 • 20 = 1 • 21 = 2 • 22 = 4 • 23 = 8 • 24 = 16 • 25 = 32 • 26 = 64 • 27 = 128 • 28 = 256 • 29 = 512 • 210 = 1024 • 211 = 2048 • 212 = 4096 • 213 = 8192 • 214 = 16384 • 215 = 32768 CL - Aula 01 39É importante lembrar dos valores até 210 CONVERSÃO ENTRE BASES § Binário para Decimal q 101102 à 1×16 + 0×8 + 1×4 + 1×2 + 0×1 = 22 § Decimal para Binário q 4710 à 1×32 + 0×16 + 1×8 + 1×4 + 1×2 + 1×1 = 1011112 CL - Aula 01 40 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) CL - Aula 01 41 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) • 47/2 à Resultado = 23 e Resto = 1; • 23/2 à Resultado = 11 e Resto = 1; • 11/2 à Resultado = 5 e Resto = 1; • 5/2 à Resultado = 2 e Resto = 1; • 2/2 à Resultado = 1 e Resto = 0; q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) CL - Aula 01 42 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) • 47/2 à Resultado = 23 e Resto = 1; • 23/2 à Resultado = 11 e Resto = 1; • 11/2 à Resultado = 5 e Resto = 1; • 5/2 à Resultado = 2 e Resto = 1; • 2/2 à Resultado = 1 e Resto = 0; q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) CL - Aula 01 43 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) • 47/2 à Resultado = 23 e Resto = 1; • 23/2 à Resultado = 11 e Resto = 1; • 11/2 à Resultado = 5 e Resto = 1; • 5/2 à Resultado = 2 e Resto = 1; • 2/2 à Resultado = 1 e Resto = 0; q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) CL - Aula 01 44 4710 à 1011112 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) • 47 à Maior potência de 2 = 25 = 32; • 47 – 32 = 15 à Maior potência de 2 = 23 = 8 • 15 – 8 = 7 à Maior potência de 2 = 22 = 4 • 7 – 4 = 3 à Maior potência de 2 = 21 = 2 • 3 – 2 = 1 à Maior potência de 2 = 20 = 1 CL - Aula 01 45 CONVERSÃO DE DECIMAL PARA BINÁRIO § Podemos empregar dois métodos q Dividir sucessivamente pela base (2) q Encontrar a maior potência de 2 que é menor que o número, subtrair e repetir (soma de potências de 2) • 47 à Maior potência de 2 = 25 = 32; • 47 – 32 = 15 à Maior potência de 2 = 23 = 8 • 15 – 8 = 7 à Maior potência de 2 = 22 = 4 • 7 – 4 = 3 à Maior potência de 2 = 21 = 2 • 3 – 2 = 1 à Maior potência de 2 = 20 = 1 CL - Aula 01 46 4710 à 1×32 + 0×16 + 1×8 + 1×4 + 1×2 + 1×1 = 1011112 CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 16 = 24! q 1A16 = 1×161 + A×160 = 1×(24)1 + A×(24)0 CL - Aula 01 47 CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 16 = 24! q 1A16 = 1×161 + A×160 = 1×(24)1 + A×(24)0 CL - Aula 01 48 Cada termo espaçado por 24 CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 16 = 24! q 1A16 = 1×161 + A×160 = 1×(24)1 + A×(24)0 CL - Aula 01 49 Converter para binário CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Podemos converter para potência de 2 q Base 16 = 24! q 1A16 = 1×161 + A×160 = 1×(24)1 + A×(24)0 q 1A16 = 1×161 + A×160 = (1)×(24)1 + (1×23 + 1×21)×(24)0 q 1A16 = 1×161 + A×160 = 1×24 + 1×23 + 1×21 = 11010 CL - Aula 01 50 Converter para binário CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Podemos converter para potência de 2 q Base 16 = 24! q 1A16 = 1×161 + A×160 = 1×(24)1 + A×(24)0 q 1A16 = 1×161 + A×160 = (1)×(24)1 + (1×23 + 1×21)×(24)0 q 1A16 = 1×161 + A×160 = 1×24 + 1×23 + 1×21 = 11010 q 2B416 = 0010 1011 01002 CL - Aula 01 51 Converter para binário Regra à Converter cada dígito para um número binário com 4 dígitos! CONVERSÃO ENTRE HEXADECIMAL E BINÁRIO § Para converter de binário para hexadecimal, aplicamos de forma análoga a conversão de cada 4 bits para um dígito em hexadecimal § Ex: q 110010002 à 1100 1000 à C816 q 1000102 à 0010 0010 à 2216 CL - Aula 01 52 Separa em grupos de 4 bits Separa em grupos de 4 bits (zero(s) à esquerda) CONVERSÃO ENTRE OCTAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 8 = 23! q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + 3×(23)1 + 4×(23)0 CL - Aula 01 53 CONVERSÃO ENTRE OCTAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 8 = 23! q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + 3×(23)1 + 4×(23)0 CL - Aula 01 54 Cada termo espaçado por 23 CONVERSÃO ENTRE OCTAL E BINÁRIO § Todos podem ser convertidos para potência de 2 q Base 8 = 23! q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + 3×(23)1 + 4×(23)0 CL - Aula 01 55 Converter para binário CONVERSÃO ENTRE OCTAL E BINÁRIO § Podemos converter para potência de 2 q Base 8 = 24! q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + 3×(23)1 + 4×(23)0 q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + (1×21 + 1×20)×(23)1 + (1×22)×(23)0 q 1348 = 1×82 + 3×81 4×80 = 1×26 + 1×24 + 1×23 + 1×22 = 1011100 CL - Aula 01 56 Converter para binário CONVERSÃO ENTRE OCTAL E BINÁRIO § Podemos converterpara potência de 2 q Base 8 = 24! q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + 3×(23)1 + 4×(23)0 q 1348 = 1×82 + 3×81 4×80 = 1×(23)2 + (1×21 + 1×20)×(23)1 + (1×22)×(23)0 q 1348 = 1×82 + 3×81 4×80 = 1×26 + 1×24 + 1×23 + 1×22 = 1011100 q 1278 = 001 010 1112 CL - Aula 01 57 Converter para binário Regra à Converter cada dígito para um número binário com 3 dígitos! CONVERSÃO ENTRE OCTAL E BINÁRIO § Para converter de binário para octal, aplicamos de forma análoga a conversão de cada 3 bits para um dígito em octal § Ex: q 1010102 à 101 010 à 528 q 11100102 à 001 110 010 à 1628 CL - Aula 01 58 Separa em grupos de 3 bits Separa em grupos de 3 bits (zero(s) à esquerda) RESUMO – CONVERSÃO ENTRE BASES CL - Aula 01 59 Decimal Octal HexaDecimal Binário Polinômio – Base 8 Polinômio Base 2 Polinômio – Base 16 Divisão – Base 8 Divisão – Base 16 Divisão Base 2 Agrupamento 3 bits Agrupamento 4 bits ALGUMA DÚVIDA? CL - Aula 0160
Compartilhar