A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

» RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous TC –

Apresentações semelhantes


Apresentação em tema: "» RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous TC –"— Transcrição da apresentação:

1 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous TC – DEI, 2005/2006

2 Introdução aos Sistemas Digitais
Paulo Marques Tecnologia dos Computadores 2005/2006

3 Domínios da Informação
Um termómetro marca a temperatura numa escala real, contínua 1 1 1 Um computador manipula informação discreta, em termos de zeros e uns 74.53 ANALÓGICO DIGITAL TC – DEI, 2005/2006

4 Domínios da Informação (2)
Nos sistemas electrónicos, tipicamente a informação é representada em termos de tensão num determinado ponto do circuito Tensão (V) Tensão (V) +5V (H ou 1) 0V (L ou 0) Tempo (s) Tempo (s) ANALÓGICO DIGITAL TC – DEI, 2005/2006

5 Sistemas Digitais Existem diversas famílias de circuitos integrados para sistemas digitais. Duas das mais famosas são: TTL (Transistor-Transistor Logic) CMOS (Complementary Metal Oxide Semiconductor) Cada família possui um conjunto de tensões que reconhece como sendo 0 ou 1 1 1 2.4V Níveis TTL 2.0V 0.8V 0.4V Saída Entrada TC – DEI, 2005/2006

6 Gates (ou Portas) Uma gate representa uma função lógica básica que se pode a um conjunto de bits NOT AND OR XOR NAND NOR TC – DEI, 2005/2006

7 Gates NOT (Inversor) Expressão Booleana Diagrama Tabela Verdade 74LS04
Y 1 74LS04 TC – DEI, 2005/2006

8 Gates AND (“E”) Tabela Verdade Expressão Booleana Diagrama 74LS08 A B
Y 1 74LS08 TC – DEI, 2005/2006

9 Gates OR (“Ou”) Tabela Verdade Expressão Booleana Diagrama 74LS32 A B
Y 1 74LS32 TC – DEI, 2005/2006

10 Gates XOR (“Ou Exclusivo”)
Tabela Verdade Expressão Booleana Diagrama A B Y 1 74LS86 TC – DEI, 2005/2006

11 Gates NAND e NOR Correspondem às gates AND e OR com um inversor à frente Tabela Verdade Expressão Booleana Diagrama A B Y 1 Tabela Verdade Expressão Booleana Diagrama A B Y 1 TC – DEI, 2005/2006

12 NAND e NOR As portas NAND e NOR são importantes pois podem ser ligadas para se comportar como todas as outras Portas Universais NAND COMO INVERSOR NAND COMO AND NAND COMO OR TC – DEI, 2005/2006

13 Tabela de Verdade Uma das ferramenta básica de trabalho de sistemas digitais Para todas as entradas possíveis, enumera quais as saídas que se quer obter A partir da tabela de verdade extrai-se a função a implementar. Tipicamente, na forma SOMA DE PRODUTOS. TC – DEI, 2005/2006

14 Exemplo: Circuito de Votação
Dadas três entradas distintas, determinar a maioria O LED acende quando existem duas entradas activas TC – DEI, 2005/2006

15 Tabela de Verdade A B C Y 1 TC – DEI, 2005/2006

16 Tabela de Verdade A B C Y 1 TC – DEI, 2005/2006

17 Circuito Votador TC – DEI, 2005/2006

18 Algumas notas importantes
É possível descrever um circuito em termos de: Entradas e Saídas Tabela de Verdade que mapeia as entradas na saída Caso não tenhamos um integrado com portas suficientes, pode-se sempre construir a partir de outras (e.g. Criar um AND de 3 portas a partir de um AND de 2 portas) A forma SOMA DE PRODUTOS exprime a funcionalidade do circuito. No entanto, a forma “soma de produtos” directa não está simplicada. Lógica de Bool, Teoremas de DeMorgan, Mapas de Karnaught, etc. É tipicamente possível simplificar as expressões. TC – DEI, 2005/2006

19 Algebra de Bool A + A = A AA = A A + 0 = A A0 = 0 A + 1 = 1 A1 = A
Idempotência A + 0 = A A + 1 = 1 A0 = 0 A1 = A Elementos neutro e absorvente A + A = 1 AA = 0 Complementariadade A + AB = A + B AB + AB = B Teoremas de Simplificação A + AB = A A(B+C) = AB + AC Comutatividade e Distributividade AB = BA A+B = B+A (AB) = A + B (A+B) = AB Leis de DeMorgan TC – DEI, 2005/2006

20 Expressões simplificadas
Y = ABC + ABC + ABC + ABC = BC(A+A) + ABC + ABC = BC + ABC + ABC = C(B+AB) + ABC = C(A+B) + ABC = AC + BC + ABC = AC + B(C+AC) = AC + B(A+C) = AC + AB + BC Nós não faremos isto porque os computadores já nos simplificam as expressões!!! TC – DEI, 2005/2006

21 Simplificado vs. Não Simplificado
TC – DEI, 2005/2006

22 Lei de Moore O número de transistores num circuito integrado duplica todos os 18 meses. Isto é extremamente relevante porque... as gates são feitas a partir de transistores! TC – DEI, 2005/2006

23 Níveis de Integração SSI MSI LSI VLSI Número de Gates Exemplos 2-10
Small Scale Integration SSI 2-10 Lógica discreta (Portas AND, OR, etc.) Medium Scale Integration MSI 50-100 Somadores, Multiplicadores, Contadores, etc. Large Scale Integration LSI Unidades Aritméticas e Lógicas, processadores simples, etc. Very Large Scale Integration VLSI > Processadores, Memórias, Chipsets, etc. TC – DEI, 2005/2006

24 A placa que iremos usar nas práticas...
Equivalente a gates Equivalente a gates PS: “Gate” não está relacionado com o Sr. Bill Gates  TC – DEI, 2005/2006

25 Primeiro Trabalho Prático
TC – DEI, 2005/2006

26 PONTOS IMPORTANTES Nunca se ligam duas saídas juntas
Excepto em alguns circuitos, isso é um curto-circuito Não se deixam entradas não utilizadas a flutuar (i.e. sem estarem ligadas) Um circulo numa entrada, ou um traço por cima do nome de um sinal quer dizer “activo a 0”  lógica negativa. Um triângulo numa entrada, quer dizer que é activo por flanco (i.e. um sinal de relógio) Em lógica negativa, “activo” quer dizer estar a 0 Por exemplo, o contador é limpo usando o sinal CLR, que é activo a zero. Quando o sinal está a 1, não tem efeito. Quando está a 0, faz com que o contador faça um reset. TC – DEI, 2005/2006

27 Quiz Como é que se pode alterar o circuito apresentado para que o número a seguir a 9 seja 0? TC – DEI, 2005/2006

28 Para saber mais... Digital Design with CPLD Applications and VHDL, by Robert K. DueckDelmar Learning, ISBN , June 2000 Capítulo 2 (todo) Capítulo 3 (3.1, 3.2, 3.3*, 3.4*) * Não ver em profundidade, ler apenas para ficar com uma noção do que está envolvido TC – DEI, 2005/2006

29 TC – DEI, 2005/2006

30 Sistemas Digitais Circuitos Sequenciais
Paulo Marques Tecnologia dos Computadores 2003/2004

31 O que faz este circuito? TC – DEI, 2005/2006

32 Colocando 1 em cima, 0 em baixo...
? 1 1 ? O ‘1’ surge em baixo! TC – DEI, 2005/2006

33 Colocando o ‘1’ de cima a ‘0’
1 1 1 O ‘1’ mantem-se! TC – DEI, 2005/2006

34 ACABAMOS DE CRIAR UMA CÉLULA DE MEMÓRIA! TC – DEI, 2005/2006

35 Colocando ‘0’ em cima e ‘1’ em baixo...
1 1 A entrada de baixo passa a ‘0’, a de cima a ‘1’! TC – DEI, 2005/2006

36 Latch (ou báscula) SR S R Qn+1 Qn 1 ??? SET Q S Q R Q Q RESET
Tabela de Excitação S R Qn+1 Qn 1 ??? Combinação proibida TC – DEI, 2005/2006

37 Dois tipos fundamentais de circuitos
COMBINACIONAIS SEQUENCIAIS As saídas dependem unicamente das entradas As saídas dependem das entradas e do estado corrente da memória O sistema evolui ao longo do tempo através de um conjunto de estados TC – DEI, 2005/2006

38 Circuitos síncronos e assíncronos
As básculas são assíncronas, levando a imensos problemas a nível de sincronização. Na prática, os sistemas sequenciais utilizam o conceito de relógio e células de memória síncronas. Existe um pulso de relógio que mantém o sistema sincronizado Só existem alterações à saída dos circuitos de memória na transição (ou flanco) de 0 para 1 1 TC – DEI, 2005/2006

39 Flip-Flop D A célula de memória básica! D Qn+1 1 D CLK Q
Tabela de Excitação D Qn+1 1 Note-se que o 0 ou o 1 só surgem no próximo evento de clock! TC – DEI, 2005/2006

40 Registo de 4 bits TC – DEI, 2005/2006

41 Exemplo de um circuito síncrono
Um contador de dois bits Dois bits => dois flip-flops (Q1 e Q2) O número de estados possíveis da máquina de estados reflecte-se directamente no número de flip-flops (i.e. células de memória) necessárias para a implementar 01 10 11 00 Máquina de Estados TC – DEI, 2005/2006

42 Contador Síncrono de 2 bits
Tabela de Transição de Estado 01 10 11 00 Q1n Q2n Q1n+1 Q2n+1 1 Saídas Q Entradas D D CLK Q D1 = Q1Q2 + Q1Q2 D2 = Q1Q2 + Q1Q2 (simplificável...) TC – DEI, 2005/2006

43 Esquemático D1 = Q1Q2 + Q1Q2 D2 = Q1Q2 + Q1Q2 TC – DEI, 2005/2006

44 Simulação TC – DEI, 2005/2006

45 Exercício para casa Implemente um contador que conte até de 0 até 6, regressando a 0. Caso o contador “acorde” num número superior a 6, o valor seguinte deverá ser 0! Nível seguinte de dificuldade: Considere que existe uma entrada extra chamada UP/DOWN que especifica se o contador conta para cima ou para baixo. Implemente-o. Desenhe o circuito no Quartus II e simule-o. TC – DEI, 2005/2006

46 Porque é que o pôr-do-sol é vermelho?
TC – DEI, 2005/2006

47 » Keep the design as simple as possible, but not simpler. «
Albert Einstein TC – DEI, 2005/2006

48 Sistemas Digitais Lógica Programável
Paulo Marques Tecnologia dos Computadores 2003/2004

49 SSI/MSI  Programmable Logic Devices
(Spartan-3: gates, €12) (SSI, MSI: funções simples, ~1€) TC – DEI, 2005/2006

50 Circuitos programáveis
Em vez de ter um conjunto de circuitos com funcionalidades pré-definidas... Custos elevados em manutenção de stocks Necessidade de utilizar muitos integrados para implementar uma certa funcionalidade Não existência de determinadas funções Baixa velocidade devido às interligações Utiliza-se um circuito genérico, programável! PLD  Programmable Logical Device PAL  Programmable Array Logic GAL  Generic Array Logic CPLD  Complex Programmable Logic Device FPGA  Field Programmable Gate Array TC – DEI, 2005/2006

51 Vejamos os dois circuitos anteriores...
Circuito votador (não simplificado) TC – DEI, 2005/2006

52 Contador (não simplificado)
TC – DEI, 2005/2006

53 Estrutura de uma PAL (simplificado)
TC – DEI, 2005/2006

54 Implementando uma função...
B C D ABCD ABCD BD + ABCD BD ABCD Fusível Intacto TC – DEI, 2005/2006

55 Programação de PLDs Uma PLD possui blocos que são configuráveis, queimando fusíveis internos (ou equivalente). Existem pinos genéricos de entrada e de saída Blocos AND-OR + Flip-flops + Buffers Interligações em blocos Utiliza-se uma linguagem de alto nível capaz de exprimir o design de um circuito electrónico E.g. PALASM, Abel, AHDL, Verilog, VHDL O programa é compilado, explicitando de que forma é que as gates presentes no circuito devem de ser configuradas TC – DEI, 2005/2006

56 PAL22v10 TC – DEI, 2005/2006

57 PAL22v10 TC – DEI, 2005/2006

58 O Estado da Arte Hoje em dia utilizam-se:
CPLDs (Complex Programmable Logic Devices) FPGAs (Field Programmable Gate Arrays) Uma CPLD / FPGA é basicamente um conjunto enorme de PLDs interligadas por um sistema de interligação programável TC – DEI, 2005/2006

59 Estructura de uma CPLD (FPGA similar)
TC – DEI, 2005/2006

60 Nas aulas práticas... Hardware: Software Objectivos Altera UP2 board
MAX7000S CPLD (2.5k gates)  EPM7128SLC84-7 FLEX10K CPLD (70k gates)  EPF10K70RC240-4 Software Altera QuartusII 5.1 Web Edition Objectivos Introdução prática a circuitos digitais importantes Preparação para as cadeiras de Arquitectura de Computadores TC – DEI, 2005/2006

61 Altera UP2 2.5k + 70k gates disponíveis Relógio a 25MHz
Programação via porto paralelo Iremos utilizar VHDL 4 botões (2 pré-ligados) 24 interruptores (8 pré-ligados) 16 LEDs 2 displays 7-segmentos de 2 dígitos (1 pré-ligado) Saída VGA Entrada rato/PS2 TC – DEI, 2005/2006

62 Altera Quartus II Design de sistemas digitais por “captura gráfica”
Design de sistemas digitais por linguagem de programação VHDL + Verilog + AHDL Simulação do sistema Programação física dos dispositivos TC – DEI, 2005/2006

63 Para saber mais... Computer Organization and Architecture,
Secção 3.6 Digital Design with CPLD Applications and VHDL Capítulo 8 (8.1, 8.2, 8.4, 8.6*, 8.7*) Capítulo 4 * Não ver em profundidade, ler apenas para ficar com uma noção do que está envolvido  ver as anotações que estão nas folhas do quiosque TC – DEI, 2005/2006


Carregar ppt "» RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous TC –"

Apresentações semelhantes


Anúncios Google