Circuitos digitais
Programa da Disciplina
[editar | editar código-fonte]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 |
Carga-horária semanal: 4 horas (teóricas: 3; práticas: 1; EAD*: 0) |
Ementa:
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]- 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 de 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 meiodo 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 | editar código-fonte]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.
Bibliografia básica:
[editar | editar código-fonte]- TOCCI, Ronald J.; WIDMER, Neal S. Sistemas digitais: princípios e aplicações. 11ed. São Paulo: Pearson Prentice Hall, 2007.
- VAHID, Frank. Sistemas Digitais Projetos, Otimização e HDL. 1 ed. Porto Alegre: Bookman Companhia Editora, 2008.
Bibliografia complementar:
[editar | editar código-fonte]- Thomas, D. E.; Moorby, Philip R.: Verilog Hardware Description Language , 5ed. New York, Kluwer Academic Publishers, 2002.
- IDOETA, Ivan V; CAPUANO, Francisco G. Elementos de eletrônica digital. 40. ed. São Paulo: Érica, 2008.
- FLOYD, Thomas L. Sistemas Digitais Fundamentos e Aplicações. 9ed..Porto Alegre: Bookman Companhia Editora, 2007.
- CARRO, Luigi. Projeto e prototipação de sistemas digitais. Porto Alegre: Editora da Universidade Federal do Rio Grande do Sul, 2001.