Planeamento
Aulas Teóricas
Apresentação. Sistema de Numeração Binário
Apresentação da Cadeira: Objectivos. Programa. Funcionamento. Avaliação. Bibliografia.
Numeração Binária. Conversão de binário para decimal. Operações Aritméticas Básicas em Binário.
Sistemas de Numeração e Códigos
Definição de Sistema de Numeração. Sistemas de Numeração Decimal, Binário e Hexadecimal. Operações Aritméticas Básicas. Conversão entre sistemas de numeração de bases diferentes.
Códigos Binários. Códigos Decinais-Binários. Códigos alfanuméricos.
Álgebra de Boole
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.
Elementos de Tecnologia. Funções Lógicas
Circuitos Integrados: tecnologias, componentes TTL, níveis lógicos, fan-out e fan-in.
Funções de 2 variáveis booleanas. Função ou-exclusivo.
Portas com mais de 2 entradas.
Funções Lógicas (continuação)
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.
Multiplexadores: funcionalidade, arquitectura, simbologia e componentes típicos.
Demultiplexers: funcionalidade. Equivalência funcional entre demultiplexers e descodificadores.
Circuitos Combinatórios Típicos - Muxes, Descodificadores e Somadores.
Realização de funcções combinatórias básicas com descodificadores e multiplexadores.
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.
Revisões
Revisões
Caracterização Temporal de Circuitos Combinatórios
Utilização de Somadores e Representação em Complemento para 2 (continuação).
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.
Caracterização Temporal (concl.). Portas Tri-State
Caracterização Temporal de Circuitos Combinatórios: exemplos.
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).
Circuitos síncronos e sinal de relógio global.
Circuitos Sequenciais Básicos (cont.).
Flip-Flops Master-Slave e Flip-Flops Edge-Triggered: Realização, Funcionamento e Simbologia.
Flip-Flops JK e D.
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.
Registos e Contadores
Registos Simples (Carregamento Paralelo). Registos de Deslocamento. Registos Multimodo: Funcionalidade, Simbologia e Realização. Exemplos práticos de funcionamento.
Contadores: contador binário módulo 16, funcionalidade e simbologia. Exemplo prático.
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.)
Contador em Anel, Contador Johnson.
Contadores por Pulsação (assíncronos). Contadores assíncronos vs. síncronos.
O Problema dos Estados de "Lockout" e respectiva solução.
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.
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.
Máquinas de Moore e de Mealy.
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.
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".
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.