DC-UFRPE/Licenciatura Plena em Computação/Circuitos Digitais

Programa da Disciplina

editar
Nome: Circuitos Digitais Código: 14063
Departamento: Departamento de Computação Área: Ciência da Computação
Carga-horária total: 60 horas Créditos: 4
Pré-requisito: Nenhum Docente: Abner Barros
Carga-horária semanal: 4 horas (teóricas: 4; práticas: 0; EAD*: 0)

Ementa

editar

Bases numéricas: princípio de funcionamento e padrões de representação. Representações de números inteiras e fracionárias nos sistemas digitais: representação em complemento a dois, em ponto-fixo e em ponto-flutuante.

Eletrônica básica: circuitos elétricos e circuitos eletrônicos básicos. Implementação de portas lógicas com transistores e diodos. Famílias lógicas. Circuitos lógicos combinacionais: análise e síntese. Circuitos lógicos sequenciais: análise e síntese. Flip-flops, registradores, e memórias. Osciladores e relógios. Dispositivos lógicos programáveis. Introdução aos sistemas digitais. Implementação e análise de circuitos contadores, geradores de código e autômatos finitos.

Linguagens de Descrição de Hardware (HDL), Padrões de codificação de projeto em linguagens de descrição de hardware. Modelagem e implementação de circuitos lógicos sequenciais e combinacionais por meio do uso de linguagens de descrição de hardware. Introdução à arquitetura de computadores.

Prática como componente curricular (30h)

editar

No âmbito da discussão sobre educação a distância, serão praticados métodos de ensino específicos desta modalidade, apoiados pelos recursos de mídia dos ambientes virtuais de aprendizagem, tais como fóruns, chats, vídeo-aulas, e-books, entre outros.

Objetivos

editar
  • Apresentar aos alunos conceitos fundamentais dos circuitos digitais tais como: Bases numéricas, Álgebra booleana;
  • Portas lógicas básicas;
  • Metodologia de Projeto e análise e circuitos lógicos combinacionais;
  • Simplificação de circuitos lógicos combinacionais utilizando métodos algébricos e mapas de Karnaugh;
  • Projeto de circuitos lógicos sequenciais;
  • Tecnologias de fabricação dos circuitos digitais;
  • Linguagens de descrição de hardware (HDL);
  • Introdução ao projeto de circuitos digitais complexos por meio do uso de linguagens de descrição de hardware (HDL);
  • Introdução aos princípios básicos de funcionamento e estratégias de projeto dos processadores.

Conteúdo Programático

editar

1.Sistemas de Numeração

     1.1. Bases binária, octal e hexadecimal

          ● Representação, conversão e operação;

          ● Representação e operação de números em complemento a dois.

     1.2. Representação de números reais nas notações de ponto fixo e de ponto flutuante.

2. Revisão de Eletricidade Básica e Introdução aos circuitos eletrônicos

     2.1. Lei de Ohms

          ● Aplicação da Lei de ohms – Circuitos série e paralelo;

     2.2. Princípio de funcionamento dos Semicondutores

          ● Junção PN;

          ● Diodos;

          ● Transistores.

3. Circuitos Lógicos Combinacionais

     3.1. Álgebra Booleana;

     3.2. Funções e portas lógicas básicas –AND, OR, NOT,NAND, NOR, XOR, XNOR;

     3.3. Tabela Verdade;

     3.4. Expressões Booleanas;

     3.5. Teoremas Booleanos;

     3.6. Teorema de deMorgan;

     3.7. Universalidade das portas NAND e NOR;

     3.8. Simbologia Alternativa para portas lógicas;

     3.9. Projeto e simplificação de circuitos lógicos combinacionais;

     3.10. Aplicação de tabela verdade no projeto de circuitos lógicos combinacionais;

     3.11. Equações booleanas e suas aplicações nas implementações de circuitos lógicos combinacionais;

     3.12. Simplificação de circuitos lógicos combinacionais

          ● Método Algébrico ;

          ● Mapa de Karnaugh.

4. Circuitos Lógicos Sequenciais

     4.1. Latchs;

     4.2. Características dos Pulsos digitais e sinais de clock;

     4.3. Flip-flops SR, JK, D e T;

     4.4. Entradas síncronas e assíncronas dos flip-flops;

     4.5. Problemas de temporização e sincronismo com flip-flops;

     4.6. Aplicações com flip-flops

          ● Armazenamento de dados;

          ● Transferência paralela e serial de dados;

          ● Divisão de frequência e contagem.

     4.7. Circuitos Osciladores

          ● Multivibradores;

          ● Circuitos geradores de clock;

     4.8. Dispositivos Schmitt-trigger;

     4.9. Projeto e análise de circuitos sequenciais.

          ● Contadores assíncronos

               ○ Projeto e análise de contadores assíncronos;

               ○ Atraso de propagação em contadores assíncronos.

          ● Contadores síncronos

               ○ Paralelo módulo N;

               ○ Paralelo módulo menor que N;

               ○ Contadores crescentes e decrescentes;

               ○ Contadores com carga paralela;

               ○ Projeto e análise de contadores síncronos;

          ● Metodologia de Projeto e análise de circuitos sequenciais

               ○ Modelagem em máquina de estados finitos;

               ○ Tabela de transição de estados;

               ○ Circuitos de ativação.

5.Famílias Lógicas e Circuitos Integrados

     5.1. Família lógica TTL (Transistor Bipolar)

          ● Características de construção;

          ● Outras Características.

     5.2. Família lógica CMOS (Transistor de Efeito de Campo)

          ● Características de construção;

          ● Outras Características.

     5.3. Tecnologias de acoplamento

          ● Saída Toten-pole;

          ● Saída coletor aberto;

          ● Saída Tri-state.

     5.4. Portas de transmissão CMOS;

     5.5. Interfaceamento de Cis;

     5.6. Circuitos Lógicos MSI.

          ● Decodificadores/Codificadores;

          ● Multiplexadores/Demultiplexadores;

         ● Comparador de Magnitude;

          ● Conversor de código;

          ● Barramento de dados.

6. Matrizes de Portas Lógicas Reconfiguráveis em Campo (FPGA)

     6.1. Introdução;

     6.2. Arquitetura Interna de um FPGA;

     6.3. Famílias de FPGAs;

     6.4. Ambiente de desenvolvimento de projetos para FPGAs.

7. Linguagem de descrição de hardware (HDL)

     7.1. Introdução as Linguagens de Descrição de Hardware;

     7.2. Linguagem Verilog

          ● Sintaxe básica;

          ● Padrões de codificação de projeto em linguagens de descrição de hardware;

          ● Modelagem e implementação de circuitoslógicos combinacionais;

          ● Modelagem e implementação de circuitos lógicos sequenciais;

          ● Simulação e Verificação de sistemas

                    7.2..1                Waveform

                    7.2..2                Testbench

     7.3. Projeto de sistemas complexos utilizando HDL.

8. Introdução aos Microprocessadores

     8.1. Arquitetura interna de um microprocessadores;

     8.2. Estratégia de projeto e implementação dos elementos internos de um microprocessador

          ● Banco de Registradores;

          ● Unidade Lógica e Aritmética;

          ● Unidade de Controle;

          ● Memória de Programa;

          ● Entrada e Saída.

9. Projeto prático – Implementação de um microprocessador básico utilizando a linguagem Verilog.

Critérios Avaliativos

editar

Ao término da apresentação de cada conteúdo os alunos serão submetidos a avaliação por meio atividades realizadas no AVA. A nota média obtida nas avaliações com os conteúdos sobre base numérica e circuitos combinacionais comporão a nota equivalente a primeira VA e a nota média obtida nos conteúdos sobre circuitos sequenciais e linguagem de descrição de hardware comporão a nota equivalente a segunda VA. Se o aluno desejar poderá ainda fazer uma avaliação individual com todo o conteúdo para compor a nota da terceira VA. Os alunos que não obtiverem nota suficiente para serem aprovados poderão se submeter a uma avaliação final com todo o conteúdo apresentado o qual comporá a nota FINAL.

Avalie seus conhecimentos

editar

Você poderá testar seus conhecimentos sobre os diversos assuntos da disciplina através do nosso: Quiz

Existe um jogo chamado "Make it True" ele está disponível para android pelo link abaixo, é bastante útil para quem está iniciando.

Bibliografia

editar

Bibliografia básica:

editar
  1. TOCCI, Ronald J.; WIDMER, Neal S. Sistemas digitais: princípios e aplicações. 11ed. São Paulo: Pearson Prentice Hall, 2007.
  2. VAHID, Frank. Sistemas Digitais Projetos, Otimização e HDL. 1 ed. Porto Alegre: Bookman Companhia Editora, 2008.
  3. Sintaxe Verilog, https://www.chipverify.com/verilog/verilog-syntax, Acessado em 08/05/2020

Bibliografia complementar:

editar
  1. Thomas, D. E.; Moorby, Philip R.: Verilog Hardware Description Language , 5ed. New York, Kluwer Academic Publishers, 2002.
  2. IDOETA, Ivan V; CAPUANO, Francisco G. Elementos de eletrônica digital. 40. ed. São Paulo: Érica, 2008.
  3. FLOYD, Thomas L. Sistemas Digitais Fundamentos e Aplicações. 9ed..Porto Alegre: Bookman Companhia Editora, 2007.
  4. CARRO, Luigi. Projeto e prototipação de sistemas digitais. Porto Alegre: Editora da Universidade Federal do Rio Grande do Sul, 2001.
  5. Verilog Designers Guide, https://www.doulos.com/knowhow/verilog_designers_guide/, Acessado em 08/05/2020