u n i v e r s i d a d e d o m i n h o - d e p. i n f o r m á t i c a

Sistemas Digitais I

Alberto José Proença

Lic. Engª Sistemas e Informática, 2º ano

1999/00

Sumários

Semana:1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14








Semana 1

21-Fev-2000 (TP1)

Não houve aula (ainda não houve aula de apresentação)

22-Fev-2000 (TP2)

Não houve aula (ainda não houve aula de apresentação)

23-Fev-2000 (T)

Não houve aula

24-Fev-2000 (T)

Apresentação da disciplina: definição dos objectivos, programa resumido, bibliografia e das regras de avaliação. Enquadramento temático da disciplina no curso e identificação das contribuições para a formação.

24-Fev-2000 (TP3, TP4, TP5)

Não houve aula (para se manter equilibrada com as restantes da semana)

25-Fev-2000 (TP6)

Não houve aula (para se manter equilibrada com as restantes da semana)
 

Semana 2

28-Fev-2000 (TP1)

Módulo 1: Introdução ao ORCAD. Desenho de um projecto - Contador digital síncrono de 4 bits. Anotação automática e verificações eléctricas.

29-Fev-2000 (TP2)

Módulo 1: Introdução ao ORCAD. Desenho de um projecto - Contador digital síncrono de 4 bits. Anotação automática e verificações eléctricas.

01-Mar-2000 (T)

Conceitos em Sistemas Digitais: caracterização do projecto e da implementação de sistemas, nomeadamente de sistemas de hardware digitais síncronos; fases no ciclo de vida de um produto; níveis de abstracção no detalhe da especificação do sistema; pontos de vista na especificação/descrição do sistema. (Cap. 1.1.1 )

02-Mar-2000 (T)

Introdução e caracterização das tecnologias no projecto e na implementação. Análise das fase relevantes no projecto (concepção, implementação e debug). Refinamento nas formas de representação (especificação funcional, requisitos de desempenho e custo, e descrições funcionais/estruturais e físicas). Abordagens na implementação. Análise dum exemplo. (Cap. 1.1.2 e 1.1.3)

02-Mar-2000 (TP3, TP4, TP5)

Introdução ao OrCAD: familiarização com o OrCAD; compreensão da estrutura das ferramentas OrCAD; utilização do editor de esquemáticos "Draft"; projectar um contador digital síncrono de 4 bits. Anotação automática e verificação de incorrecções do ponto de vista eléctrico.

03-Mar-2000 (TP6)

Módulo 1: Introdução ao ORCAD. Desenho de um projecto - Contador digital síncrono de 4 bits. Anotação automática e verificações eléctricas.

Semana 3

06-Mar-2000 (TP1)

Módulo 4: Representações de Sistemas Digitais. SOMA2 - Circuito somador de dois bits optimizado. SOMA1 - Circuito somador genérico de 1 bit optimizado. Circuito somador de n bits construído por módulos SOMA1. CONV7 - Circuito conversor binário-7 segmentos. (Aula dada no dia 22-Mar-2000)

07-Mar-2000 (TP2)

Entrudo

08-Mar-2000 (T)

Identificação dos possíveis erros num sistema digital (de projecto, de implementação e de componentes).O hardware dos sistemas digitais: o sistema digital vs. sistema analógico; introdução aos fundamentos teóricos dos sistemas digitais binários; a tecnologia dos circuitos digitais binários.(Cap. 1.2.1 a 1.2.3)

09-Mar-2000 (T)

Não houve aula (testemunho de defesa em julgamento)

09-Mar-2000 (TP3, TP4, TP5)

Simulação em OrCAD: introdução do ambiente de simulação em OrCAD; interligação entre os esquemáticos e o simulador; visualização de formas de onda e de atrasos; interpretação do significado das formas de onda observadas. Simulação dos contadores síncrono e assíncrono de 4 bits.

10-Mar-2000 (TP6)

Módulo 2: Simulação de projectos - Contador digital síncrono de 4 bits; Contador digital assíncrono de 4 bits.

Semana 4

13-Mar-2000 (TP1)

Módulo 2: Simulação de projectos - Contador digital síncrono de 4 bits; Contador digital assíncrono de 4 bits.

14-Mar-2000 (TP2)

Módulo 2: Simulação de projectos - Contador digital síncrono de 4 bits; Contador digital assíncrono de 4 bits.

15-Mar-2000 (T)

O hardware dos sistemas digitais: caracterização do sistemas combinatórios e sequências. (Cap. 1.2.4)
Representação de sistemas digitais ao nível lógico: switches (e sua introdução aos transístores), tabelas de verdade, álgebra de Boole, diagramas esquemáticos; equivalência entre as diversas representações; exemplos de aplicação. (Cap. 1.3.1 a 1.3.4)

16-Mar-2000 (T)

Abstracções na representação de sistemas digitais: formas de onda (comportamento dinâmico), blocos (nível RT) e linguagens (do nível lógico ao nível do sistema). (Cap. 1.3.5 a 1.3.7)
Prototipagem rápida de sistemas digitais: motivação e técnicas (simulação, síntese de alto nível e circuitos reconfiguráveis); exemplos. (Cap. 1.4)

16-Mar-2000 (TP3, TP4, TP5)

PCB em OrCAD: desenhar uma placa de circuito impresso com o OrCAD; principais elementos constituintes dum circuito impresso; interligação entre os esquemáticos e o PCB. Colocação e interligação de componentes do circuito impresso; exemplos de algoritmos de interligação. Projecto: obtenção de uma placa de circuito impresso para o contador síncrono de 4 bits.

17-Mar-2000 (TP6)

Módulo 3: PCB em OrCAD - desenhar uma placa de circuito impresso com o OrCAD; principais elementos constituintes dum circuito impresso; interligação entre os esquemáticos e o PCB. Colocação e interligação de componentes do circuito impresso; exemplos de algoritmos de interligação. Projecto: obtenção de uma placa de circuito impresso para o contador síncrono de 4 bits.

Semana 5

20-Mar-2000 (TP1)

Módulo 3: PCB em OrCAD - desenhar uma placa de circuito impresso com o OrCAD; principais elementos constituintes dum circuito impresso; interligação entre os esquemáticos e o PCB. Colocação e interligação de componentes do circuito impresso; exemplos de algoritmos de interligação. Projecto: obtenção de uma placa de circuito impresso para o contador síncrono de 4 bits.

21-Mar-2000 (TP2)

Módulo 3: PCB em OrCAD - desenhar uma placa de circuito impresso com o OrCAD; principais elementos constituintes dum circuito impresso; interligação entre os esquemáticos e o PCB. Colocação e interligação de componentes do circuito impresso; exemplos de algoritmos de interligação. Projecto: obtenção de uma placa de circuito impresso para o contador síncrono de 4 bits.

22-Mar-2000 (T)

Lógica combinatória a dois níveis. Funções lógicas: Algebra de Boole; operadores lógicos adicionais (NAND, NOR, XOR e NXOR); justificação para a optimização; exemplos de circuitos equivalentes. (Cap. 2.1)

23-Mar-2000 (T)

Lógica combinatória a dois níveis (cont.). Optimização ao nível da gate: leis e teoremas da algebra de Boole; demonstração dos teoremas mais utilizados na optimização; teorema da dualidade e a lei de DeMorgan. (Cap. 2.2)

23-Mar-2000 (TP3, TP4, TP5)

Representações de Sistemas Digitais: desenvolvimento da intuição dos alunos no relacionamento da representação por tabelas e expressões booleanas; descrição dos problemas usando diversas representações (texto, tabelas, esquemático, expressões algébricas). Obtenção da expressões minimizadas para os seguintes circuitos: somador de 2 bits, somador de 3 bits e conversor de binário para 7 segmentos.

24-Mar-2000 (TP6)

Módulo 4: Representações de Sistemas Digitais. SOMA2 - Circuito somador de dois bits optimizado. SOMA1 - Circuito somador genérico de 1 bit optimizado. Circuito somador de n bits construído por módulos SOMA1. CONV7 - Circuito conversor binário-7 segmentos.

Semana 6

27-Mar-2000 (TP1)

Módulo 5: Representações canónicas em SOP e POS. Leis de DeMorgan e o Teorema da Dualidade. Representações canónicas por literais e índices. Mapas de Karnaugh: definição de implicante (maior e essencial), cobertura mínima e "1" distinguido. Resolução de exercícios.

28-Mar-2000 (TP2)

Módulo 4: Representações de Sistemas Digitais. SOMA2 - Circuito somador de números de dois bits optimizado. SOMA1 - Circuito somador genérico de 1 bit optimizado. Circuito somador de n bits construído por módulos SOMA1. CONV7 - Circuito conversor binário-7 segmentos.

29-Mar-2000 (T)

Lógica combinatória a dois níveis (cont.); optimização ao nível da gate: forma canónica em soma de produtos; produto e mintermo; forma canónica em produtos de soma; maxtermo; representação simplificada dos mintermos e maxtermos; conversão entre as forma canónicas (aplicação do teorema de DeMorgan); funções especificadas incompletamente (don't Cares); forma canónica para os don't cares; exemplos. (Cap. 2.2)

30-Mar-2000 (T)

Simplificação a dois níveis: representação auxiliar de cubos; adjacências; mapas de Karnaugh (K-Map) e exemplos; introdução aos métodos algorítmicos utilizados em ferramentas de CAD - Quine-McCluskey e Espresso. (Cap. 2.3 e 2.4)

30-Mar-2000 (TP3, TP4, TP5)

Representações canónicas em SOP e POS: diferença entre a Lei de DeMorgan e o Teorema da Dualidade; introdução das representações canónicas em SOP e POS; as representações por literais e índices. Aplicação da Lei de DeMorgan e o Teorema da Dualidade para mudar a forma das funções booleanas de SOP para POS (e vice-versa). Mapas de Karnaugh: definição de implicante (maior e essencial), cobertura mínima e "1" distinguido; algoritmo de minimização de funções lógicas aplicando os mapas de Karnaugh.

31-Mar-2000 (TP6)

Módulo 5: Representações canónicas em SOP e POS. Leis de DeMorgan e o Teorema da Dualidade. Representações canónicas por literais e índices. Mapas de Karnaugh: definição de implicante (maior e essencial), cobertura mínima e "1" distinguido. Resolução de exercícios.

Semana 7

03-Abr-2000 (TP1)

Módulo 6: Mapas de Karnaugh - exemplos de aplicação dos mapas de Karnaugh na simplificação de funções, mapas de Karnaugh com don't cares (reformulação do método sistemático de minimização e exercícios).

04-Abr-2000 (TP2)

Módulo 5: Representações canónicas em SOP e POS. Leis de DeMorgan e o Teorema da Dualidade. Representações canónicas por literais e índices. Mapas de Karnaugh: definição de implicante (maior e essencial), cobertura mínima e "1" distinguido. Resolução de exercícios.

05-Abr-2000 (T)

Lógica combinatória multinível: introdução ao conceito de optimização por factorização; a lógica multinível como forma de optimização da área (redução do nº de gates e de sinais de interligação); mapeamento de somas de produtos em circuitos NAND/NAND. (Cap. 3.1.1)

06-Abr-2000 (T)

Lógica sequencial: elementos de memória primitivos com circuitos lógicos com feedback; conceitos de lógica sequencial; terminologia e análise do funcionamento de latches e FFs, com ênfase para as questões temporais. (Cap. 6.1 e 6.2)

06-Abr-2000 (TP3, TP4, TP5)

Mapas de Karnaugh: exemplos de aplicação dos mapas de Karnaugh na simplificação de funções, mapas de Karnaugh com don't cares (reformulação do método sistemático de minimização e exercícios) e mapas de Karnaugh com variáveis externas (extensão do âmbito de aplicação dos mapas a sistemas com 7 ou mais variáveis, escolha das variáveis externas, reformulação do método de minimização e exercícios).

07-Abr-2000 (TP6)

Módulo 6: Mapas de Karnaugh - exemplos de aplicação dos mapas de Karnaugh na simplificação de funções, mapas de Karnaugh com don't cares (reformulação do método sistemático de minimização e exercícios).

Semana 8

10-Abr-2000 (TP1)

Módulo 7: Mapas de Karnaugh com variáveis externas (extensão do âmbito de aplicação dos mapas a sistemas com 7 ou mais variáveis, escolha das variáveis externas, reformulação do método de minimização e exercícios).

11-Abr-2000 (TP2)

Módulo 6: Mapas de Karnaugh - exemplos de aplicação dos mapas de Karnaugh na simplificação de funções, mapas de Karnaugh com don't cares (reformulação do método sistemático de minimização e exercícios).

12-Abr-2000 (T)

Lógica sequencial (cont.): análise e selecção de FFs (RS, JK, D e T) na construção de sistemas sequenciais síncronos. (Cap. 6.3)

13-Abr-2000 (T)

Circuitos de lógica sequencial: introdução a circuitos disponíveis como componentes; análise da estrutura de um registo e dos sinais adicionais de controlo dos FFs presentes nos componentes existentes (inc. síncrono/assíncrono set/load, reset/clear); análise de registos de deslocamento. (Cap. 7.1)

13-Abr-2000 (TP3, TP4, TP5)

Árvores de multiplexadores e descodificadores: apresentação da funcionalidade dos multiplexadores, descodificadores, desmultiplexadores e buffers tristate. Exercícios envolvendo multiplexadores e descodificadores em cascata, buffers tristate e barramentos.

14-Abr-2000 (TP6)

Módulo 7: Mapas de Karnaugh com variáveis externas (extensão do âmbito de aplicação dos mapas a sistemas com 7 ou mais variáveis, escolha das variáveis externas, reformulação do método de minimização e exercícios).

Semana 9

17-Abr-2000 (TP1)

Módulo 8: Introdução às máquina de estados - Diagrama de Estados e diagrama ASM. Registos e qualificadores. Conceitos associados. Máquina de Moore e máquina de Mealy, saídas síncronas e assíncronas. Obtenção do diagramas de estados a partir duma descrição textual e sua posterior conversão nas tabelas de estado e de verdade. Exercícios de aplicação.

18-Abr-2000 (TP2)

Módulo 7: Mapas de Karnaugh com variáveis externas (extensão do âmbito de aplicação dos mapas a sistemas com 7 ou mais variáveis, escolha das variáveis externas, reformulação do método de minimização e exercícios).

19-Abr-2000 (T)

Circuitos de lógica sequencial (cont.): passos no projecto de um contador (uma das formas mais simples de uma máquina de estados); especificação com diagrama de estados, codificação de estados, selecção dos FFs, construção das tabelas - "transição de estados", "próximo estado", "excitação de FFs" e de "saidas" - desenho do circuito lógico e análise temporal; análise no arranque e do comportamento nos estados não especificados. (Cap. 7.2.1, 7.2.2, 7.3 e 7.4)

Semana 10

01-Mai-2000 (TP1)

Feriado

02-Mai-2000 (TP2)

Módulo 8: Introdução às máquina de estados - Diagrama de Estados e diagrama ASM. Registos e qualificadores. Conceitos associados. Máquina de Moore e máquina de Mealy, saídas síncronas e assíncronas. Obtenção do diagramas de estados a partir duma descrição textual e sua posterior conversão nas tabelas de estado e de verdade. Exercícios de aplicação.

03-Mai-2000 (T)

Circuitos de lógica sequencial (cont.): organização das memórias de acesso aleatório (RAM) estáticas e dinâmicas. (Cap. 7.6.1 e 7.6.2)

04-Mai-2000 (T)

Projecto de máquinas de estado: generalização dos contadores enquanto circuitos sequenciais síncronos; partição dum sistema em datapath e controlo; caracterização das máquinas de Moore e Mealy e das saídas síncronas e assíncronas (imediatas); identificação das fases de um projecto.(Cap. 8.1 e 8.4.1)

04-Mai-2000 (TP3, TP4, TP5)

Os componentes digitais com memória: evolução da latch S-R até aos flip-flops tipo D e JK, diferença entre os componentes que mudam de estado na transição do sinal de relógio (flip-flops) e os que mudam no nível (latches). Introdução às redes digitais sequenciais: obtenção do diagramas de estados a partir duma descrição textual e sua posterior conversão nas tabelas de estado e de verdade. Implementação da máquina de estados correspondente a um controlador simples, passando pela selecção de flip-flops e obtenção das funções que geram as saídas e o próximo estado; recurso à equação de excitação dos flip-flops.

05-Mai-2000 (TP6)

Módulo 8: Introdução às máquina de estados - Diagrama de Estados e diagrama ASM. Registos e qualificadores. Conceitos associados. Máquina de Moore e máquina de Mealy, saídas síncronas e assíncronas. Obtenção do diagramas de estados a partir duma descrição textual e sua posterior conversão nas tabelas de estado e de verdade. Exercícios de aplicação.

Semana 11

08-Mai-2000 (TP1)

Não houve aula

09-Mai-2000 (TP2)

Não houve aula

10-Mai-2000 (T)

Projecto de máquinas de estado (cont.): impacto na escolha dos FFs; conceitos temporais e análise do comportamento temporal de um sistema sequencial síncrono sensível à transição do clock.(Cap. 8.1)

11-Mai-2000 (T)

Projecto de máquinas de estado (cont.): especificação e síntese de um exemplo ilustrativo dos sistemas sequenciais síncronos.(Cap. 8.2)

11-Mai-2000 (TP3, TP4, TP5)

Máquinas de estados: diagrama de estados e diagrama ASM, máquina de Moore e máquina de Mealy, saídas síncronas e assíncronas. Obtenção do diagramas de estados a partir duma descrição textual e sua posterior conversão nas tabelas de estado e de verdade. Exercício de aplicação, onde se realça a obtenção das funções que geram as saídas e o próximo estado. Apresentação da máquina de estados projectada com recurso a tabelas, através duma descrição em linguagem VHDL.

12-Mai-2000 (TP6)

Módulo 9: Utilização de componentes digitais com memória: flip-flops e latchs. Resolução de diversos exercícios - desenho do diagrama de blocos, construção do diagrama de estados,  preenchimento da tabela de verdade, e desenho do circuito lógico.
 

Semana 12

15-Mai-2000 (TP1)

Módulo 9: Utilização de componentes digitais com memória: flip-flops e latchs. Resolução de diversos exercícios - desenho do diagrama de blocos, construção do diagrama de estados,  preenchimento da tabela de verdade, e desenho do circuito lógico.

16-Mai-2000 (TP2)

Módulo 9: Utilização de componentes digitais com memória: flip-flops e latchs. Resolução de diversos exercícios - desenho do diagrama de blocos, construção do diagrama de estados,  preenchimento da tabela de verdade, e desenho do circuito lógico.

17-Mai-2000 (T)

Não houve aula (por autorização superior, no âmbito do "enterro da gata")

18-Mai-2000 (T)

Projecto de máquinas de estado (cont.): representações alternativas da máquina de estados baseadas em linguagens de descrição de hardware; análise com detalhe da especificação dum sistema digital sequencial síncrono usando a notação ASM.(Cap. 8.3.1)

18-Mai-2000 (TP3, TP4, TP5)

Não houve aula.

19-Mai-2000 (TP6)

Não houve aula (Festejos do "Enterro da Gata", por autorização superior)

Semana 13

22-Mai-2000 (TP1)

Máquinas de estados envolvendo saídas de estado e saídas condicionais: Resolução de exercícios e esclarecimento de dúvidas de exercícios anteriores

23-Mai-2000 (TP2)

Máquinas de estados envolvendo saídas de estado e saídas condicionais: Resolução de exercícios e esclarecimento de dúvidas de exercícios anteriores

24-Mai-2000 (T)

Projecto de máquinas de estado(cont.): representações alternativas da máquina de estados baseadas em linguagens de descrição de hardware; análise com detalhe da especificação dum sistema digital sequencial síncrono em VHDL e em ABEL.(Cap. 8.3.2 e 8.3.3)

25-Mai-2000 (T)

Introdução à lógica programável: identificação dos componentes de uma função lógica que possam ser configurados - a matriz AND e a matriz OR - e caracterização das estruturas PLA/PAL e ROM e respectiva interligação de blocos; utilização de componentes de lógica programável na implementação de sistemas sequenciais (com referência à inclusão de FF nos componentes).(Cap. 4.1)

25-Mai-2000 (TP3, TP4, TP5)

Projecto: implementação de um relógio simples a partir duma descrição em VHDL parcialmente fornecida. Os objectivos do projecto
são a familiarização dos alunos com as ferramentas CAD (simulação, síntese, implementação) e implementação com lógica programável (FPGA). Obtenção da descrição completa do sistema e correcção dos erros de código através do simulador VHDL.

26-Mai-2000 (TP6)

Máquinas de estados envolvendo saídas de estado e saídas condicionais: Resolução de exercícios e esclarecimento de dúvidas de exercícios anteriores
 

Semana 14

29-Mai-2000 (TP1)

Processo de desenvolvimento de sistemas digitais: Modelo VHDL e ferramentas para a síntese. Resolução de um exercício elementar em VHDL. Diagrama ASM de máquina de estados com vista à passagem para VHDL. Esclarecimento de dúvidas.

30-Mai-2000 (TP2)

Processo de desenvolvimento de sistemas digitais: Modelo VHDL e ferramentas para a síntese. Resolução de um exercício elementar em VHDL. Diagrama ASM de máquina de estados com vista à passagem para VHDL. Esclarecimento de dúvidas.

31-Mai-2000 (T)

Introdução à lógica programável: multiplexadores/selectores e demultiplexadores/descodificadores; organização interna e utilização destas estruturas como elementos de lógica universal em circuitos combinatórios.(Cap. 4.2.2 e 4.2.3)

01-Jun-2000 (T)

Introdução à lógica programável: papel dos descodificadores na estrutura da ROM, enquanto componente programável de lógica combinatória. (Cap. 4.2.5)
Evolução das PLDs para as actuais estruturas de CPLDs baseadas em agrupamentos de PALs ou para redes densas de blocos configuráveis nas FPGA's; análise sucinta da estrutura duma FPGA.
Preenchimento do inquéiro de avaliação da disciplina.

01-Jun-2000 (TP3, TP4, TP5)

Projecto (continuação): implementação de um relógio simples a partir duma descrição em VHDL parcialmente fornecida. Síntese da descrição VHDL do sistema para uma representação estrutural do tipo netlist. Implementação do sistema tendo em vista gerar um ficheiro de configuração da FPGA, realçando as fases de mapeamento, colocação e encaminhamento.
Conclusão da disciplina com a apresentação dum apanhado geral do conteúdo ministrado.

02-Jun-2000 (TP6)

Processo de desenvolvimento de sistemas digitais: Modelo VHDL e ferramentas para a síntese. Resolução de um exercício elementar em VHDL. Diagrama ASM de máquina de estados com vista à passagem para VHDL. Esclarecimento de dúvidas.