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)

Representações normalizadas: soma de produtos e produto de somas. Mintermos e Maxtermos.

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.

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. Flip-Flops Master-Slave e Flip-Flops Edge-Triggered: Realização, Funcionamento e Simbologia.

Circuitos Sequenciais Básicos (cont.). Tempos de Propagação.

Flip-Flops JK e D.

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.

Flip-Flops e Registos

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 Simples (Carregamento Paralelo). Registos de Deslocamento. Registos Multimodo: Funcionalidade, Simbologia e Realização.

Revisões

Revisões

Registos e Contadores

Registos: Exemplos práticos de funcionamento.

Contadores: Contador Binário utilizando Flip-Flops JK em modo "toggle". Contador Binário utilizando Flip-Flops D.

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.

Contadores

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. LFSR: Registo de deslocamento com realimentação linear.

Contadores por Pulsação (assíncronos). Contadores assíncronos vs. síncronos.

Contadores. Circuitos Sequenciais Síncronos.

Circuitos Sequenciais Síncronos: Exemplo de projecto de um detector de sequência.

Máquinas de Moore e máquinas de Mealy. Codificação de Estados. Tabelas de transição de estados. Máquina de Moore vs. Máquina de Mealy: comparação dos diagramas temporais.

Circuitos Sequenciais Síncronos (cont.)

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".

Portas tri-state.

Portas tri-state.

Memórias.

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.

Memórias e Lógica Programável.

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.