Planeamento
Aulas Teóricas
Apresentação
Apresentação da Cadeira: Objectivos. Programa. Funcionamento. Avaliação. Bibliografia.
Sistemas de Numeração e Códigos
Definição de Sistema de Numeração. Numeração Binária. Operações Aritméticas Básicas. Conversão entre sistemas de numeração de bases diferentes. Sistema de Numeração de Base Hexadecimal.
Códigos Binários. Códigos Decinais-Binários. Códigos alfanuméricos.
Álgebra de Boole (introdução).
Introdução à Lógica Binária. Portas Lógicas Básicas.
Álgebra de Boole. Definição. Propriedades Básicas. Princípio da Dualidade. Simplificação Algébrica. Leis de DeMorgan. Teorema da Adjacência.
Álgebra de Boole. Elementos de Tecnologia
Leis de DeMorgan. Teorema da Adjacência.
Circuitos Integrados: tecnologias, componentes TTL, níveis lógicos, fan-out e fan-in.
Funções Lógicas
Funções de 2 variáveis booleanas.
Portas com mais de 2 entradas. Circuitos com portas NAND/NOR.
Funções Lógicas (continuação)
Funções incompletamente especificadas.
Minimização de Funções Booleanas
Simplificação algébrica pelo teorema da adjacência; quadro de Karnaugh; identificação dos termos nos quadros de Karnaugh; quadros de 3 variáveis.
Minimização de Funções Booleanas (cont.)
Representação de funções. Agrupamentos de mintermos e de maxtermos. Implicantes e implicados. Implicante/implicado primo. Implicantes/implicados primos essenciais e não essenciais. Método de minimização de Karnaugh. Quadros de 4 variáveis.
Minimização de funções (conclusão).
Método de minimização de Karnaugh: Exemplos de aplicação com funções de 5 variáveis.
Circuitos Combinatórios Típicos.
Descodificadores e codificadores - funcionalidade básica.
Arquitectura de descodificadores. Exemplo de componentes.
Codificadores de prioridade.
Circuitos Combinatórios Típicos (cont.)
Multiplexadores: funcionalidade, arquitectura, simbologia e componentes típicos.
Realização de funcções combinatórias básicas com descodificadores multiplexadores.
Demultiplexers: funcionalidade e arquitectura, simbologia e componentes típicos. Equivalência funcional entre demultiplexers e descodificadores.
Circuitos Combinatórios Típicos - Muxes, Descodificadores e Somadores.
Multiplexadores e Descodificadores: combinação de componentes mais simples para realização de componentes de maior complexidade.
Circuitos para soma aritmética: semi-somador e somador completo. Componentes para soma aritmética.
Circuitos Combinatórios Típicos - Somadores e Subtractores.
Representações de números negativos: sinal e valor; complemento para 1; complemento para 2. Soma e subtracção de números com sinal usando complemento para 2. Circuito somador/subtractor. Detecção de overflow.
Componentes para soma e comparação de inteiros de 4 bits.
Caracterização Temporal de Circuitos Combinatórios
Caracterização Temporal de Circuitos Combinatórios: Tempos de propagação de portas lógicas. Cálculo do caminho combinatório com atraso de propagação máximo.
Revisões
Revisões
Circuitos Sequenciais Básicos
Elementos básicos de memória: realização com circuitos simples com realimentação. Latches RS simples e sincronizado: funcionamento, arquitectura, e simbologia.
Latch D (sincronizado). Latches e Flip-Flops.
Circuitos Sequenciais Básicos (cont.).
Flip-Flops Master-Slave e Flip-Flops Edge-Triggered: Realização, Funcionamento e Simbologia.
Flip-Flops JK e D.
Registos e Contadores
Registos Simples (Carregamento Paralelo). Registos de Deslocamento. Registos Multimodo: Funcionalidade, Simbologia e Realização. Exemplos práticos de funcionamento.
Contadores: componentes integrados mais utilizados e respectiva simbologia. Exemplos práticos de utilização.
Contadores (cont.)
Contadores: contagem ascendente e contagem descendente. Exemplos práticos de utilização.
Contadores decimais.
Ligação em série de contadores.
Contador Binário utilizando Flip-Flops JK em modo "toggle". Contador Binário utilizando Flip-Flops D.
Contadores (Cont.)
Projecto de Contadores com Flip-Flops JK. Projecto de Contadores com Flip-Flops D. Exemplo prático de Realização de um Contador Síncrono de Módulo 5. Exemplo de Projecto de um Contador Ascendente/Descendente Síncrono de Módulo 5. O Problema dos Estados de "Lockout" e respectiva solução.
Contador em Anel, Contador Johnson.
Contadores por Pulsação (assíncronos). Contadores assíncronos vs. síncronos.
Caracterização Temporal de Circuitos Sequenciais
Flip-Flops e Latches: Funcionamento e Simbologia (Revisão)
Caracterização Temporal de Latches e Flip-Flops: tempo de propagação; duração mínima do impulso; tempos de preparação e de manutenção. Metodologia de Sincronização Temporal.
Circuitos Sequenciais Síncronos.
Circuitos Sequenciais Síncronos: Exemplo de projecto de um detector de sequência.
Codificação de Estados. Tabelas de transição de estados.
Técnicas de Projecto com Flip-Flops D e com Flip-Flops JK.
Máquinas de Moore.
Circuitos Sequenciais Síncronos (cont.)
Máquina de Moore vs. Máquina de Mealy: comparação dos diagramas temporais.
Exemplo prático de Projecto (máquina de distribuição de pastilhas): diagrama de estados; codificação; tabela de transição de estados; projecto da lógica combinatória; logigrama do circuito final.
Exemplo prático de Projecto: comparador-série.
Circuitos Sequenciais Síncronos (concl.). Portas Tri-State
Circuitos Sequenciais Síncronos: Projecto com 1 Flip-Flop por Estado: codificação "one-hot"; realização por tabelas de estados; realização directa sem recurso a tabelas de estados; exemplos práticos de aplicação. Vantagens e desvantagens da codificação "one-hot".
Projecto utilizando contadores.
Memórias e Lógica Programável.
Memórias de acesso aleatório - RAMs: funcionalidade; modelo simplificado e simbologia. Operação de escrita e operação de leitura. Modelo lógico da estrutura base de uma RAM. Estruturas tipo. Associação de componentes para aumento da dimensão das palavras. Associação de componentes para aumento do número de posições de memória.
Memórias ROM: Funcionalidade; modos de programação; simbologia; estrutura tipo para realização lógica.
Lógica Programável - FPGAs: estrutura tipo; blocos básicos dos dispositivos de hardware programável.Máquinas de estado e memórias: utilização de memórias para realizar o circuito combinatório.