Sistemas Digitais (SD) Lógica Programável

Documentos relacionados
SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL

1 MEMÓRIAS 07/08. como armazenar mais do que um bit? Até ao momento... MEMÓRIA =FLIP- FLOP

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Eletrônica Digital para Instrumentação. Prof: Herman Lima Jr

Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas

VHDL Lógica Síncrona. Sinais de Saída. Sinais de Entrada. barreira. carg. VHDL -Lógica Síncrona

Eletrônica Digital para Instrumentação

Dispositivos Lógicos Programáveis

Circuitos Seqüenciais

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Organização e Arquitetura de Computadores II

Dispositivos Lógicos Programáveis

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Ficha da Unidade Curricular

- Arquitetura de sistemas digitais- Cap 1 - Introdução

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Circuitos sequenciais elementares

IMPLEMENTAÇÃO DE CONTROLADOR LÓGICO BASEADO EM LÓGICA PROGRAMÁVEL ESTRUTURADA ( FPGA) Resumo

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil. grace@fem.unicamp.

Portas lógicas e circuitos digitais. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Centro Universitário da FEI Engenharia Elétrica PROJETO DE SISTEMAS. DIGITAIS UTILIZANDO FPGAs

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

INTERFACE RECONFIGURÁVEL PARA ARQUITETURA PARALELA BASEADA EM PROCESSADOR EMBARCADO NIOS II

Microelectrónica (ME)

Modelagem de Sistemas com VHDL

Circuitos sequenciais elementares

Arquitetura de Computadores. Arquitetura de Computadores 1

Circuitos Combinacionais Básicos

Tema 4 Controlo de Fontes de Energia em Veículos Eléctricos. Orientador: Prof. Dr. Paulo José Gameiro Pereirinha

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

LABORG. Parte 3 - VHDL: Processos, Paralelismo e o Comando process. Fernando Gehm Moraes Ney Laert Vilar Calazans

LABORG. Parte 1 Introdução à Simulação em VHDL. Fernando Moraes e Ney Laert Vilar Calazans

Implementação de um Sistema Digital em VHDL Cronômetro para Jogos de Basquete

DISCIPLINA: Sistemas Digitais

Arquitetura e Organização de Computadores I

4.a Aula Prática Projeto de um Somador de 16 bits com a Linguagem VHDL

Sistemas Digitais I LESI :: 2º ano. Questões Práticas de Sistemas Sequenciais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Aula 03. Processadores. Prof. Ricardo Palma

Lab 3. Timing Timing Constraints Simulação

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

Sistemas Operacionais. Rodrigo Rubira Branco

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Set/10

Introdução à Informática

Disciplina: Laboratório de Circuitos Digitais

Introdução aos Computadores Introdução à Ciência de Computadores Outubro / 16

PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA

CONHECIMENTOS ESPECÍFICOS» CONTROLE E PROCESSOS INDUSTRIAIS (PERFIL 6) «

IE-344B - Tópicos em Comunicações Leitura Complementar Aula 5: FPGA e Fluxo de Projeto

ANO LETIVO 2015 / 2016

Os dispositivos lógicos programáveis (PLD Programmable Logic Device) são circuitos integrados programáveis pelo usuário, que

Semana de Engenharia

Memorias. Flip-Flop RS básico (Assíncrono) preencher. Tabela da verdade S R Q A S Q

Organização de Computadores 1

Dispositivos Lógicos Programáveis (PLD) A. Mariano

Circuitos Seqüenciais

Portas lógicas e Circuitos. Marcos Monteiro, MBA

Inteligência Artificial

Prototipação de Sistemas Digitais. Metodologia de Projetos Cristiano Araújo

Hardware Básico. Memórias. Professor: Wanderson Dantas

ELT601 Eletrônica Digital II

5838 Maquinação Introdução ao CNC

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Oganização e Arquitetura de Computadores

MINICURSO: TÓPICOS EM VHDL. Prof. Leonardo Augusto Casillo

Introdução. Modelo de um Sistema de Comunicação

Circuito Decodificador BCD para Display de Sete Segmentos

CONHECIMENTOS ESPECÍFICOS

Flávia Rodrigues. Silves, 26 de Abril de 2010

Módulos Combinatórios

FPGA Field Programmable Gate Array

Driver Next Versão 1.0 de Português

Disciplina: Laboratório de Circuitos Digitais

PROJETO DE CIRCUITOS INTEGRADOS VLSI

Eletrônica Digital II. Exemplo de um CI com encapsulamento DIP. Diagrama do CI 74XX76.

Capítulo 2. Noção de hardware. As componentes de um computador.

MÓDULO N.º 1 SISTEMAS DE NUMERAÇÃO HORAS / TEMPOS CONTEÚDOS OBJETIVOS AVALIAÇÃO

SISTEMAS DIGITAIS CONTADORES

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Colégio Metrópole. Curso Técnico Instrumentação e Automação Industrial

Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET

Questões Práticas de Sistemas Combinacionais

Índice. Modelos e Procedimentos

PLANO DE ENSINO. Código: Crédito: Pré-requisito: Introdução a Lógica ( ) Carga Horária: 60h Bacharelado em Ciência da Computação

Circuitos Digitais. Representação Numérica. Analógica

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Operações na Memória Principal: Leitura (read ou retrieve) não destrutiva Escrita (write ou Record) destrutiva (o conteúdo anterior se perde)

Dispositivos Lógicos Programáveis

O Processador: Via de Dados e Controle

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

MÓDULO 2 Topologias de Redes

Acionamento de Motores: PWM e Ponte H

Disciplina: Laboratório de Circuitos Digitais

Transcrição:

Sistemas Digitais (SD) Lógica Programável

Aula Anterior n Na aula anterior: u Circuitos de controlo, transferência e processamento de dados u Exemplo de uma arquitectura simples de um processador 2

Planeamento SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO 15/Fev a 19/Fev Introdução Sistemas de Numeração 22/Fev a 26/Fev Álgebra de Boole Elementos de Tecnologia 29/Fev a 04/Mar Funções Lógicas Minimização de Funções P0 07/Mar a 11/Mar Minimização de Funções Def. Circuito Combinatório; Análise Temporal L0 14/Mar a 18/Mar Circuitos Combinatórios Circuitos Combinatórios P1 21/Mar a 25/Mar FÉRIAS DA PÁSCOA FÉRIAS DA PÁSCOA 28/Mar a 01/Abr Circuitos Combinatórios Circuitos Sequenciais: Latches L1 04/Abr a 08/Abr Circuitos Sequenciais: Flip-Flops Caracterização Temporal P2 11/Abr a 15/Abr Registos Contadores 18/Abr a 22/Abr Exercícios Teste 1 Síntese de Circuitos Sequenciais Síncronos 25/Abr a 29/Mai Síntese de Circuitos Sequenciais Síncronos Síntese de Circuitos Sequenciais Síncronos 02/Mai a 06/Mai Memórias Máq. Estado Microprogramadas: Circuito de Dados e Circuito de Controlo 09/Mai a 13/Mai Máq. Estado Microprogramadas: Circuitos de Controlo, Transferência e Microprograma Processamento de Dados de um Processador L2 P3 L3 P4 L4 16/Mai a 20/Mai 23/Mai a 27/Mai Lógica Programável P6 P5 P6 Revisões L5 3

Sumário n Tema da aula de hoje: u Lógica programável: l ROM l PLA l PAL l FPGA u Linguagens de descrição de hardware l VHDL q Bibliografia: G. Arroz, C. Sêrro, "Sistemas Digitais: Apontamentos das Aulas Teóricas", IST, 2005: Capítulo 18 (disponível no Fenix) 4

Programmable Logic Device n PLD: Programmable Logic Device u Vários dispositivos disponíveis com a possibilidade de programação da função lógica implementada: l ROM: Read-Only Memory (ROM, PROM, EPROM,EEPROM, etc ) l PLA: Programmable Logic Array l PAL: Programmable Array Logic l FPGA: Field Programmable Gate Array u Função: implementação, num só circuito integrado, de circuitos com lógica combinatória (e/ou sequencial) de média complexidade, que de outra forma seriam implementados com vários circuitos integrados. 5

Read Only Memory (ROM) n ROM: Read-Only Memory u Diferentes famílias disponíveis: l ROM - mask programmable ROM l PROM field Programmable ROM l EPROM - Erasable Programmable ROM l EEPROM - Electrically Erasable Programmable ROM 6

Read Only Memory (ROM) n ROM: Read-Only Memory u Exemplo: Como implementar uma função booleana F(W,X,Y,X) definida pela tabela de verdade? 7

Read Only Memory (ROM) n ROM: Read-Only Memory Descodificador 4:16 Ligação eléctrica Porta OR de 16 entradas 8

Read Only Memory (ROM) n ROM: Read-Only Memory u Exemplo: A ROM pode ser vista como uma matriz de ANDs não programável (do descodificador), correspondente a todos os mintermos possíveis, seguida de uma matriz de ORs programável (uma porta por cada saída). 9

Read Only Memory (ROM) n ROM: Read-Only Memory Geração de todos os mintermos Agrupamento dos mintermos u Ao contrário de outros dispositivos (ver a seguir), a ROM não impõe restrições no número de mintermos gerados (2 n ) e agrupados. u Exemplo: l uma ROM de 8k x 8 bits pode implementar, no máximo, 8 funções booleanas simples (uma por cada saída) de 13 variáveis booleanas (porque 8k = 2 13 ). 10

Read Only Memory (ROM) n ROM: Read-Only Memory u Exemplos de aplicação: l Implementação de funções booleanas combinatórias (genéricas); l Implementação de sistemas sequenciais micro-programados; l Armazenamento, em memória não volátil, de programas executados por processadores; o Exemplo: configuração do sistema de interface de entradas e saídas (BIOS) de um computador. 11

Read Only Memory (ROM) n ROM: Read-Only Memory u Vantagens: l Facilidade e rapidez de definição do seu conteúdo a partir da tabela de verdade da função; l Existe software para programação automática; l Pouco dispendiosas. u Desvantagens: l Uma vez que gera todos os mintermos para o conjunto de variáveis de entrada, conduz a desperdício de recursos, caso esses mintermos não sejam utilizados pela função; l Quando o número de entradas é muito elevado, pode tornar-se impraticável a utilização de ROMs, devido à limitação do número de entradas; l Mais lenta e consome mais potência do que circuitos dedicados. 12

Read Only Memory (ROM) n ROM: Read-Only Memory - Exemplo Desperdício: mintermos não utilizados saídas não utilizadas Tabela de Verdade 13

Programmable Logic Array (PLA) n PLA: Programmable Logic Array u Para ultrapassar os inconvenientes da utilização de ROMs, os fabricantes de circuitos integrados conceberam dispositivos programáveis (PLDs), com restrições ao nível de: l Nº de entradas (n) l Nº de portas AND (p) l Nº de portas OR (q) Geração de mintermos (máx. p) Agrupamento de mintermos (máx. q) 14

Programmable Logic Array (PLA) n PLA: Programmable Logic Array u Para ultrapassar os inconvenientes da utilização de ROMs, os fabricantes de circuitos integrados conceberam dispositivos programáveis (PLDs), com restrições ao nível de: l Nº de entradas (n) l Nº de portas AND (p) l Nº de portas OR (q) u Consequências: l Cada uma das q funções tem de ser expressa numa soma de produtos; l O número total de implicantes disponíveis não pode ultrapassar p. u Estas restrições não existem nas ROMs, pois todos os mintermos estão disponíveis nas saídas do descodificador interno da ROM. 15

Programmable Logic Array (PLA) n PLA: Programmable Logic Array u Exemplo: l n = 4 entradas l p = 6 portas AND l q = 2 portas OR Programação da ligação das portas AND Programação do nível lógico em que cada saída está activa (L ou H) Programação da ligação das portas OR 16

Programmable Logic Array (PLA) n PLA: Programmable Logic Array Exemplo u Exemplo: l n = 4 entradas l p = 6 portas AND l q = 2 portas OR Tabela de Verdade - 3 portas AND - 1 porta OR - Saída não negada (porta XOR) - 4 portas AND - 1 porta OR - Saída não negada (porta XOR) 3 + 4 = 7 portas AND!!! 17

Programmable Logic Array (PLA) n PLA: Programmable Logic u Observação: l Se agruparmos os maxtermos, em vez dos mintermos, obteremos uma expressão mais simples Problema: l A PLA não tem estrutura que facilite o uso de produtos de somas u Alternativa: l Obter a expressão na negação de F2: F2 l Depois nega-se esta negação: F2 = F2 18

Programmable Logic Array (PLA) n PLA: Programmable Logic Array Exemplo u Exemplo: l n = 4 entradas l p = 6 portas AND l q = 2 portas OR Tabela de Verdade Mintermo partilhado - 5 portas AND - 2 porta OR - 1 saída não negada (F1) - 1 saída negada (F2) OK! 19

Programmable Logic Array (PLA) n PLA: Programmable Logic Array Exemplo u Exemplo: l n = 4 entradas l p = 6 portas AND l q = 2 portas OR Tabela de Verdade 20

Programmable Logic Array (PLA) n PLA: Programmable Logic Array u Exemplo: PLS100 (Philips) l 16 entradas l p = 48 portas AND l q = 8 portas OR 21

Programmable Logic Array (PLA) n Programação u One-Time-Programming (OTP) - podem ser programados apenas uma única vez l Aquando da programação, existem fusíveis que são queimados e que irão definir os operandos de cada mintermo. Fusível 22

Programmable Logic Array (PLA) n Programação u O programador está ligado a um computador (PC), que lê um ficheiro com a tabela de verdade pretendida para o circuito 23

ROMs vs PLAs n ROMs vs PLAs u No caso das ROMs, as ligações das portas AND estão fixas e é possível programar as ligações das portas OR: Geração de todos os mintermos Agrupamento dos mintermos u No caso das PLAs, tanto as ligações das portas AND como as ligações das portas OR são programáveis: Geração de mintermos (máx. p) Agrupamento de mintermos (máx. q) 24

Programmable Array Logic (PAL) n PAL: Programmable Array Logic u No caso das PALs, as ligações entre as portas AND e as portas OR estão fixas, e apenas é possível programar as ligações das portas AND às entradas: Geração de mintermos (máx. p) u Restrições: Agrupamento de mintermos (máx. q) l Cada uma das q funções tem de ter a forma de uma soma de produtos; l O número de implicantes da soma não pode exceder p por função (numa PLA, o número de implicantes (p) é partilhado por todas as funções). 25

PALs vs PLAs n PALs vs PLAs: PLA o número de implicantes (p) é partilhado por todas as funções. PAL cada função de saída pode usar p implicantes de forma independente. 26

Programmable Array Logic (PAL) n PAL: Programmable Array Logic u Uma das linhas de saída pode ser realimentada para o interior da PAL, para permitir construir funções que necessitem de um maior número de portas AND. u Algumas PALs incluem também flipflops nas saídas, de modo a permitir realizar circuitos sequenciais. 27

Programmable Array Logic (PAL) n PAL: Programmable Array Logic u Exemplo: Realimentação da saída da função W (que corresponde, também, a mintermos da função Z), a fim de alargar o número de operandos da porta AND. 28

Programmable Array Logic (PAL) n PAL: Programmable Array Logic u Exemplo: PAL16L8 29

Field-Programmable Gate Array (FPGA) n FPGA: Field-Programmable Gate Array u Dispositivo constituído por uma grelha com milhares de blocos lógicos programáveis interligados entre si (CLB: Configurable Logic Blocks), em que cada bloco implementa uma função booleana simples: 30

n Configurable Logic Block (CLB) u Pode ser constituído por: Field-Programmable Gate Array (FPGA) l Look-Up Table (LUT), semelhante a uma ROM, que permite definir uma qualquer função combinatória arbitrária de n entradas l Elemento de memória (ex: Flip-Flop), ligado à saída da LUT, que permite a realização de circuitos sequenciais. u Exemplo (simples): 31

Field-Programmable Gate Array (FPGA) n FPGA: Field-Programmable Gate Array u A programação/configuração é feita aquando do ciclo de inicialização, em que a FPGA lê um ficheiro de configuração (.bit) a partir de uma ROM externa, a fim de configurar: l LUTs de todos os CLBs; l MUXs de saída de todos os CLBs; l Interligações entre CLBs; l Memórias internas; l Interface com o exterior (I/O). u Pode ser configurada múltiplas vezes! 32

Field-Programmable Gate Array (FPGA) n FPGA: Field-Programmable Gate Array u O grande número de CLBs (>10 6 ) actualmente disponibilizados por FPGAs de última geração permite a integração e implementação, num único chip, de: l Vários processadores (sistemas multi-core) l Processadores Digitais de Sinal (DSP) l Micro-controladores l Memórias, etc. u Programação: l Dada a elevada complexidade dos circuitos envolvidos, estes dispositivos são geralmente programados através de linguagens de descrição de circuitos (Hardware Description Languages HDL): o VHDL o Verilog 33

VHDL n VHDL (VHSIC Hardware Description Language) u Exemplo 1: multiplexer 2:1 } 0 G _ 1 0 1 MUX entity MUX is port ( A : in std_logic; B : in std_logic; Sel : in std_logic; Out : out std_logic); end entity MUX; architecture RTL of MUX is begin Out <= A when Sel = '1' else B; end architecture RTL; NOTA: esta informação é disponibilizada para efeitos meramente ilustrativos, não fazendo parte do programa de Sistemas Digitais. 34

VHDL n VHDL (VHSIC Hardware Description Language) u Exemplo 2: somador binário 32 32 Adder 32 entity ADDER is generic ( WIDTH : in natural := 32); port ( OP1 : in std_logic_vector(width-1 downto 0); OP2 : in std_logic_vector(width-1 downto 0); SUM : out std_logic_vector(width-1 downto 0)); end entity ADDER; architecture RTL of ADDER is begin SUM <= OP1 + OP2; end architecture RTL; NOTA: esta informação é disponibilizada para efeitos meramente ilustrativos, não fazendo parte do programa de Sistemas Digitais. 35

VHDL n VHDL (VHSIC Hardware Description Language) u Exemplo 3: flip-flop tipo D 1D EN C1 R Q entity FLIP_FLOP is port ( RST : in std_logic; CLK : in std_logic; D : in std_logic; Q : out std_logic); end entity FLIP_FLOP; architecture RTL of FLIP_FLOP is begin process(rst, CLK) begin if RST = '1' then Q <= '0'; elsif rising_edge(clk) then Q <= D; end if; end process; end architecture RTL; NOTA: esta informação é disponibilizada para efeitos meramente ilustrativos, não fazendo parte do programa de Sistemas Digitais. 36

VHDL n VHDL (VHSIC Hardware Description Language) u Exemplo 4: Contador binário CTR DIV 32 5CT=0 M1[Load] M2[Count] C2+ 1,5D 2D [1] [2] [4] [8] [16] entity COUNTER is generic ( WIDTH : in natural := 5); port ( RST : in std_logic; CLK : in std_logic; LOAD : in std_logic; DATA : in std_logic_vector(width-1 downto 0); Q : out std_logic_vector(width-1 downto 0)); end entity COUNTER; architecture RTL of COUNTER is signal CNT : unsigned(width-1 downto 0); begin process(rst, CLK) is begin if RST = '1' then CNT <= (others => '0'); elsif rising_edge(clk) then if LOAD = '1' then CNT <= unsigned(data); else CNT <= CNT + 1; end if; end if; end process; Q <= std_logic_vector(cnt); 37

Próxima Aula n Tema da Próxima Aula: u Série de Problemas P6 1ª parte 38

Agradecimentos Algumas páginas desta apresentação resultam da compilação de várias contribuições produzidas por: l Nuno Roma l Guilherme Arroz l Horácio Neto l Nuno Horta l Pedro Tomás 39