490 likes | 599 Views
Eletrônica Digital II ELT013. Engenharia de Computação. Aula 2. Arquitetura de dispositivos lógicos programáveis. O que são dispositivos lógicos programáveis? (1).
E N D
Eletrônica Digital IIELT013 Engenharia de Computação
Aula 2 Arquitetura de dispositivos lógicos programáveis ELT013 - Eletrônica Digital II
O que são dispositivos lógicos programáveis? (1) • Dispositivos Lógicos Programáveis, ou PLDs, são dispositivos configuráveis afim de implementar um grande número de funções lógicas • Configuráveis pelo usuário • Funções combinacionais e/ou sequenciais. • PLD é um chip que contém um grande número de portas lógicas, flip-flopse registradores, que estão interconectados, uns com os outros, por meio de fusíveis (ou chaves) especiais que podem ser programados e com isso, implementar uma função lógica. ELT013 - Eletrônica Digital II
O que são dispositivos lógicos programáveis? (1) • PLD é um chip que contém um grande número de componentes lógicos • Portas lógicas, flip-flopse registradores interconectados • A conexão é feita por meio de fusíveis (ou chaves) especiais para esta função • A conexão podem ser programadas e com isso implementar uma função lógica. ELT013 - Eletrônica Digital II
Qual a diferença entre um microprocessador/controlador/DSPs e os outros sistemas digitais? MICROPROSSADORES/MICROCONTROLADORES/DSPs OUTROS SISTEMAS DIGITAIS Não são limitados por funções especificadas Fornece respostas mais “rápidas” Flexível Possibilita a prototipagem “Desenvolvimento” do hardware é mais barato e rápido • Seguem instruções especificadas pelo projetista • Organização interna complexa • “Lentos” • Inflexível • Desenvolvimento do hardware é caro (CI MSI) e demorado ELT013 - Eletrônica Digital II
Árvores da Famílias de Sistemas Digitais • A decisão de projeto sobre qual família utilizar depende de muitos fatores • Velocidade de operação, custo, consumo de energia, potência, tamanho, tempo disponível para projeto, etc. ELT013 - Eletrônica Digital II
http://algol.dcc.ufla.br/~lacerda/projetos/index.html ELT013 - Eletrônica Digital II
http://algol.dcc.ufla.br/~lacerda/projetos/index.html ELT013 - Eletrônica Digital II
Lógica padrão (1) • Refere-se a componentes digitais funcionais básicos • Portas lógicas, flip-flops, decodificadores, multiplexadores, registradores, contadores etc.), disponíveis como CIs SSI e MSI. • Projetos de complexidade média utilizariam centenas de componentes ELT013 - Eletrônica Digital II
Lógica padrão (2) • TTL • Tecnologia madura, não usada em novos projetos mas muito presente em sistemas digitais ainda utilizados • CMOS • Mais popular nos dias de hoje pois tem baixo consumo de energia • ECL • Projetos de alta velocidade ELT013 - Eletrônica Digital II
Sistemas Microprocessados e Processamento Digital de Sinais (DSP) • Dispositivos que podem ser controlados eletronicamente e os dados manipulados pela execução de um programa de instruções. • Flexíveis porém com baixa velocidade • Hardware é sempre mais rápido do que software ELT013 - Eletrônica Digital II
ASICsApplicationSpecificIntegratedCircuit • Circuitos integrados de aplicação específica • Solução moderna de projetos de hardware para sistemas digitais ELT013 - Eletrônica Digital II
Dispositivos lógicos programáveis (PLDs) • Ou dispositivos de campo de lógicas programáveis (FPLDs) • Podem ser configurados para criar qualquer circuito digital desejado para sistemas simples ou complexos. • Componentes e software de desenvolvimento são de baixo custo se comparados com matrizes de portas, célula padrão e fullcustom ELT013 - Eletrônica Digital II
Dispositivos lógicos programáveis (PLDs) • A arquitetura de PLD selecionada depende de sua aplicação, pois são muito diversificadas e dinâmicas: • SPLD - dispositivos lógicos programáveis simples (600 portas). • CPLD - dispositivos lógicos programáveis complexos. • FPGA - matrizes de portas programáveis em campo. • CPLDs e FPGAs , também são chamadas dispositivos lógicos programáveis de alta capacidade (HCPLDs). ELT013 - Eletrônica Digital II
Matrizes de portas (MPGAs) • As funções lógicas são criadas por interconexões de centenas de milhares de portas pré-fabricadas (circuitos ULSI). • Uma máscara de design customizada é usada, muito parecida com os dados armazenados em uma ROM programada por máscara. • Individualmente são menos caras do que PLDs com mesmo número de portas. • Processos de programação customizada são muito caros e requerem um longo período de espera. ELT013 - Eletrônica Digital II
Célula Padrão • Usam blocos de construção da função de lógica predefinidos para criar o sistema digital desejado • Os custos do projeto para as células padrão ASICs são superiores aos MPGAs, com maior tempo de espera. • Funções baseadas em células são projetadas para serem muito menores que as funções equivalentes em matrizes portas: • Permitem a operação, geralmente com maior velocidade e custos de fabricação mais baixos. ELT013 - Eletrônica Digital II
Totalmente Personalizados (full-custom) • São a melhor escolha ASIC • Todos os componentes e interconexões são personalizadas pelo projetista do CI. • Requerem uma quantidade significativa de tempo e dinheiro • Resultar em CIs que podem operar na maior velocidade possível e exigem a menor área de chip, o que reduz significativamente o custo de produção. ELT013 - Eletrônica Digital II
Arquitetura de um FPGA • Blocos podem sem programados como sendo: • Entrada ou saída; ou • Bidirecionais (I/O) • Programados por codificação do projetista; ou • Blocos pré-definidos (IPs) ELT013 - Eletrônica Digital II
IPsIntelectual Property • Projetos de blocos digitais complexos pré-definidos • Disponibilizados pelos fabricantes do FPGA ou terceiros • Avaliação é grátis • Uso comercial necessita de licenciamento • Incluem processadores embutidos, blocos de construção DSP e circuitos de núcleo padrão para funções periféricas e de interface • Encurta o tempo de projeto ELT013 - Eletrônica Digital II
Fundamentos dos circuitos de PLDs ELT013 - Eletrônica Digital II
Estrutura Básica ELT013 - Eletrônica Digital II
Fundamentos dos circuitos de PLDs (1) • Cada função de saída é programada com os fusíveis posicionados entre as portas AND e cada uma das portas OR. • Linhas de entrada: cada entrada A e B está conectada a um buffer inversor e outro não-inversor que são ligados a uma matriz de portas AND • Linhas produto: saídas das portas AND ELT013 - Eletrônica Digital II
Fundamentos dos circuitos de PLDs (2) • Cada linha produto está ligada a uma das quatro entradas de cada porta OR por fusíveis • Com todos os fusíveis intactos, casa saída de porta OR apresenta um nível constante 1. ELT013 - Eletrônica Digital II
Fundamentos dos circuitos de PLDs(3) • Cada uma das saídas O1, O2, O3 e O4 pode ser programada para ser função de A e B queimando seletivamente os fusíveis apropriadas • Cada entrada aberta atua como um nível lógico 0 • Pode-se programar cada saída OR para executar qualquer função desejada • Depois de programado o dispositivo realiza a lógica desejada. • Exemplo: queimando os fusíveis 1 e 4 da por OR número 1, a saída O1 se torna: ELT013 - Eletrônica Digital II
Simbologia Simplificada • Diminuir a complexidade do diagrama do circuito • Neste arranjo, as saídas estão programadas como: ELT013 - Eletrônica Digital II
Arquitetura de PLDs ELT013 - Eletrônica Digital II
PROMs ELT013 - Eletrônica Digital II
PROMs (1) • PROMs têm como objetivo a implementação de uma expressão lógica de soma-de-produtos em vez de armazenamento de dados em posições de memória. ELT013 - Eletrônica Digital II
PROMs ELT013 - Eletrônica Digital II
Procedimento de Análise • 1º Passo: Tabela verdade para todas as combinações de valores das variáveis de entrada ELT013 - Eletrônica Digital II
Procedimento de Análise • 2º Passo: Selecionar as saídas de interesse (fusíveis intactos) ELT013 - Eletrônica Digital II
Procedimento de Análise • 3º Passo: Realizar um OR das saídas da matriz AND intactas para encontrar o valor da saída O ELT013 - Eletrônica Digital II
Lógica de Arranjo Programável (PAL) ELT013 - Eletrônica Digital II
Lógica de Arranjo Programável (PAL) • Cada porta AND pode ser programada para gerar qualquer produto desejado de quatro variáveis de entrada. • A família PAL também contém dispositivos com variações do circuito soma-de-produtos básico • Conectam o circuito lógico de soma-de-produtos às entradas de FFs D e usam um dos pinos como entrada de clock para disparar os flip-flops de saída sincronamente. ELT013 - Eletrônica Digital II
Arranjos de lógica genérico (GAL) • Usam uma matriz EEPROM na matriz programável que determina as conexões para as portas AND. • Os interruptores EEPROM podem ser apagados e reprogramados pelo menos 100 vezes. • Podem ser usado como um genérico, com substituição de pinos compatível para a maioria dos dispositivos PAL. ELT013 - Eletrônica Digital II
Família MAX7000S da Altera ELT013 - Eletrônica Digital II
Diagrama em bloco da família MAX7000S ELT013 - Eletrônica Digital II
Recursos dos dispositivos da Família MAX7000S • As principais estruturas da MAX7000S são os blocos de matrizes lógicas (LABs) e o arranjo de interconexão programável (PIA). • Um LAB contém um conjunto de 16 macrocélulas e se assemelha muito a um dispositivo SPLD único. • Cada macrocélula consiste de um circuito programável AND/OR e um registro programável (flip-flop). ELT013 - Eletrônica Digital II
Diagrama em bloco da família MAX7000S ELT013 - Eletrônica Digital II
Estruturas principais dos dispositivos da Família MAX7000S (1) • Blocos de Matriz Lógica (LABs) com 16 macrocélulas, número determinado a partir do nº de peças (EPM7128S têm 128, em oito LABs). • Sinais lógicos roteados entre LABs pelo PIA. • PIA é um barramento global que conecta qualquer fonte de sinal a qualquer destino dentro do dispositivo. • Pinos I/O são conectados a macrocélulas específicas (o número de pinos I/O disponíveis depende do pacote). ELT013 - Eletrônica Digital II
Diagrama em bloco da família MAX7000S ELT013 - Eletrônica Digital II
Estruturas principais dos dispositivos da Família MAX7000S (2) • A programação no – sistema pode ser feita através de pinos JTAG e uma porta paralela do PC. • Macrocélulas não conectados a pinos de I/ O podem ser usadas pelo compilador para a lógica interna. • Os quatro pinos só de entrada podem ser configurados como sinais de alta velocidade de controle ou como entradas gerais do usuário. • GCLK1 - entrada de clock global primária para todas as macrocélulas. • GCLK2 - relógio global secundário. • OE1- habilitação de saída tristate primária. • GCLRn- clear assíncrono para qualquer registrador de macrocélula. ELT013 - Eletrônica Digital II
Diagrama em bloco da família MAX7000S ELT013 - Eletrônica Digital II
Estruturas principais dos dispositivos da Família MAX7000S (3) • Os blocos de controle I/O configuram todos os pinos I/O de entrada, saída ou operação bidirecional. • Todos os pinos I/O têm um buffer de saída que permanentemente ativado ou desativado, controlado por um dos dois pinos de habilitação de saída global ou por outras entradas ou funções geradas por macrocélulas. • Durante a programação no sistema os pinos de I/O serão transformados em tristate e receberão um pull-up interno, para eliminar conflitos de placa ELT013 - Eletrônica Digital II
Diagrama em bloco da família MAX7000S ELT013 - Eletrônica Digital II
Estruturas principais dos dispositivos da Família MAX7000S (4) • FFs de macrocélulas podem implementar operações D, T, JK, ou SR. • Todos os registradores programáveis têm seu clock ativado de três modos diferentes: • Com sinal de clock global. • Com sinal de clock global quando FF está habilitado. • Com sinal de clock de matriz produzido por uma macrocélula ou um pino de entrada (não-global). • Cada registrador pode ser apagado com o pino GCLRn. • Todos os registradores do dispositivo serão resetados automaticamente ao serem energizados. ELT013 - Eletrônica Digital II