Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Construção de Circuitos Digitais Lógica Digital 1oCC Carolina P. Almeida Construção de Circuitos Digitais Os circuitos digitais são realizados com circuitos integrados; Um circuito integrado é um cristal semicondutor, habitualmente de silício, que contém os componentes eletrônicos que formam as portas lógicas; Construção de Circuitos Digitais Semicondutores são sólidos cristalinos de condutividade elétrica intermediária entre condutores e isolantes; Os elementos semicondutores podem ser tratados quimicamente para transmitir e controlar uma corrente elétrica; Um circuito integrado é habitualmente designado por chip. Construção de Circuitos Digitais O chip é montado dentro de um empacotamento cerâmico ou plástico e são construídas ligações do chip para os pinos externos do circuito integrado; O número de pinos pode variar entre 14 (para os empacotamentos pequenos) e milhares. Construção de Circuitos Digitais Os CIs podem ser classificados segundo o nº de portas lógicas que comportam: SSI – “Small-Scale Integration”: até 10 portas; MSI – “Medium-Scale Integration”: até 100 portas – funções elementares: somadores, etc. Construção de Circuitos Digitais LSI – “Large-Scale Integration”: até alguns milhares de portas – pequenos processadores, etc. VLSI – “Very Large-Scale Integration”: a partir de alguns milhares de portas – microprocessadores, etc. A maioria dos circuitos modernos comerciais são VLSI. Construção de Circuitos Digitais Os CIs são também classificados de acordo com a tecnologia em que são fabricados; A seguir, veremos algumas tecnologias que foram empregadas ao longo do tempo na construção de circuitos integrados. Terminologias Terminologias dos Circuitos Integrados Apesar do grande número de fabricantes de circuitos integrados, grande parte da nomenclatura e da terminologia empregadas nesta área é padronizada; Os termos mais usais serão definidos e discutidos a seguir. Terminologias dos Circuitos Integrados VIH (mínimo)-Tensão de Entrada Correspondente ao Nível Lógico Alto: É o nível de tensão necessário para representar o nível lógico 1 na entrada de um circuito digital. Qualquer tensão abaixo deste nível não será considerada nível lógico alto por um circuito digital; VIL (máximo)-Tensão de Entrada Correspondente ao Nível Lógico Baixo: É o nível de tensão necessário para representar o nível lógico 0 na entrada de um circuito digital. Qualquer tensão acima deste nível não será considerada nível lógico baixo por um circuito digital; Terminologias dos Circuitos Integrados VOH (mínimo) - Tensão de Saída Correspondente ao Nível Lógico Alto: É o nível de tensão necessário a representar o nível lógico 1 na saída de um circuito digital. Tal parâmetro normalmente é especificado por seu valor mínimo; VOL (máximo) - Tensão de Saída Correspondente ao Nível Lógico Baixo: É o nível de tensão necessário a representar o nível lógico 0 na saída de um circuito digital. Tal parâmetro normalmente é especificado por seu valor máximo; Terminologias dos Circuitos Integrados Terminologias dos Circuitos Integrados Fan-out: em geral, a saída de um circuito lógico é projetada para alimentar várias entradas de outros circuitos lógicos; O fan-out , também chamado fator de carga, é definido como o número máximo de entradas de circuitos lógicos que uma saída pode alimentar de maneira confiável; É o número que expressa a quantidade máxima de portas da mesma família que poderá ser conectada à saída de uma porta lógica; Terminologias dos Circuitos Integrados Terminologias dos Circuitos Integrados Fan-in: é o número total de entradas da porta lógica. Terminologias dos Circuitos Integrados Atraso (retardo/delay) de Propagação: um sinal lógico sempre sofre atraso em sua passagem através de um circuito; Os dois tempos correspondentes aos atrasos de propagação são definidos como: tPLH: tempo de atraso correspondente à passagem do nível lógico 0 para o nível lógico 1 (baixo para alto). tPHL: tempo de retardo correspondente à passagem do nível lógico 1 para o nível lógico 0 (alto para baixo). Terminologias dos Circuitos Integrados Tais valores são usados para a compação das velocidades de operação dos circuitos lógicos; Exemplo: Um circuito com atraso de propagação total em torno de 10ns é mais rápido do que um circuito com atraso de propagação total da ordem de 20 ns. Tecnologias Famílias de Circuitos Lógicos Para a construção de um hardware (chip) podem ser empregadas diversas tecnologias; Cada tecnologia tem seus prós e contras, sendo indicada para determinados casos ou não; Veremos algumas tecnologias e no que elas são aplicadas. Famílias de Circuitos Lógicos Durante muito tempo, os circuitos construídos a partir da Álgebra Booleana foram implementados utilizando-se dispositivos eletromecânicos como, por exemplo, os relés; Portanto, o nível de tensão correspondente a um nível lógico (VIL, VIH, VOL, VOH), poderia assumir qualquer valor dependendo apenas das características do projeto; Famílias de Circuitos Lógicos A partir do surgimento do transistor, procurou-se padronizar os sinais elétricos correspondentes aos níveis lógicos; Esta padronização ocasionou o surgimento das famílias de componentes digitais com características bastante distintas; Existem várias tecnologias e topologias disponíveis para a implementação de portas lógicas digitais. Famílias de Circuitos Lógicos As famílias lógicas diferem basicamente pelo componente principal utilizado por cada uma em seus circuitos: As famílias TTL (Transistor-Transistor Logic) e ECL (Emitter Coupled Logic) usam transistores bipolares como seu principal componente; Enquanto as famílias PMOS, NMOS e CMOS usam os transistores unipolares MOSFET como seu elemento principal de circuito. Famílias de Circuitos Lógicos Apesar da tecnologia dominante atualmente ser a tecnologia CMOS, quer devido ao seu baixo custo quer devido à grande densidade de portas lógicas que permite integrar por unidade de área; Existem tecnologias alternativas que também apresentam algumas vantagens e são usadas correntemente em circuitos comerciais; Famílias de Circuitos Lógicos As principais tecnologias utilizadas são: Portanto, para a implementação de um porta NAND (ou qualquer outra porta lógica), por exemplo, pode-se utilizar: GaAs; TTLs; CMOS; BiCMOS. Famílias de Circuitos Lógicos Arseneto de Gálio (GaAs): A tecnologia de GaAs permite a realização de circuitos de muito alta freqüência (acima de 10 GHz); No entanto a baixa densidade que é possível obter e o seu elevado custo de fabricação limitam a sua utilização prática a circuitos muito específicos para os quais seja virtualmente impossível quaisquer das outras tecnologias disponíveis. Famílias de Circuitos Lógicos Tecnologia Bipolar: A tecnologia bipolar foi a tecnologia precursora dos circuitos digitais; Pode ser vantajosa em termos de velocidade face às tecnologias baseadas em transistores unipolares; No entanto, é uma solução mais cara, mais complexa, pior em termos de consumo de energia e não permite a implementação de sistemas de larga escala devido à área que uma porta lógica ocupa. Famílias de Circuitos Lógicos Tecnologia Bipolar: A tecnologia bipolar foi a tecnologia precursora dos circuitos digitais; As principais variantes atuais da tecnologia bipolar são as famílias TTL e ECL respectivamente utilizadas para circuitos lógicos genéricos e de muito alta velocidade. Famílias de Circuitos Lógicos TTL – Transistor-Transistor Logic: Trabalha com transistores e é utilizada em pequenos chips (poucas portas); É uma tecnologia antiga e pouco utilizada (consome muita energia para fazer pouca coisa); Cada TTL tem em média 4 portas, para fazer um circuito complexo seria necessário muitas TTLs (ocupa muito espaço). Famílias de Circuitos Lógicos Chip TTL Implementação da porta AND em TTL Famílias de Circuitos Lógicos CMOS – Complementary Metal-Oxide- Semiconductor : É a tecnologia mais utilizada atualmente, pois permite um baixo consumo de energia e uma grande densidade de portas lógicas; É utlizada em memórias, processadores, microcontroladores, etc. Famílias de Circuitos Lógicos CMOS – Principais Características: Reduzido consumo de energia; Processo de fabricação do CMOS mais simples que da TTL, possuindo também uma densidade de integração maior; Porém são mais lentos do que os TTL; Apesar da nova série CMOS de alta velocidade competir em pé de igualdade com as séries TTL 74 e 74LS. Famílias de Circuitos Lógicos Câmera Kodak com sensor CMOS Tecnologia BiCMOS: combina as vantagens dos circuitos bipolares (TTL e ECL) e CMOS; Partilha também algumas das desvantagens da tecnologia bipolar, como o custo, área, e o seu campo de utilização é bastante limitado; Sendo por vezes uma boa opção em circuitos mistos (analógicos e digitais). Famílias de Circuitos Lógicos FPGAs – Field Programmable Gate Arrays (Vetor de Portas Programáveis em Campo): Foram criadas em 1983 pela empresa Xilinx; Consiste de um grande arranjo de células lógicas ou blocos lógicos configuráveis contidos em um único circuito integrado ; Cada célula contém capacidade computacional para implementar funções lógicas e realizar roteamento para comunicação entre elas. Famílias de Circuitos Lógicos FPGAs – Field Programmable Gate Arrays (Vetor de Portas Programáveis em Campo): As funções lógicas implementadas em uma FPGA podem ser trocadas até mesmo em tempo de execução; Uma FPGA é um dispositivo que pode ser implementada em diversas tecnologias, a mais utilizada é a CMOS. Famílias de Circuitos Lógicos Placa de desenvolvimento de hardware DE2. Esta placa contém uma FPGA chamada Cyclone II, dispositivos de entrada e saída, placa de rede, LEDs, portas USB, memória RAM, display de 7 segmentos, etc O elemento lógico da figura anterior compõe o vetor de elementos da FPGA; Durante a reconfiguração suas funções podem ser modificadas; Famílias de Circuitos Lógicos Este elemento contém: Multiplexadores: circuito que recebe duas ou mais entradas e retorna uma única saída que corresponde a uma das entradas; Look-up Table (LUTs): é um tipo de memória que é utilizada para guardar tabelas-verdade de funções; Famílias de Circuitos Lógicos Carry-Chain: serve para facilitar e tornar mais rápidas as operações de soma e subtração (utilizadas quando o elemento lógico está no modo aritmético); Registradores (flip-flop): servem como elementos de armazenamento. Utilizados em circuitos seqüenciais. Famílias de Circuitos Lógicos CPLDs – Complex Programmable Logic Devices: É uma outra tecnologia de hardware reconfigurável; Inicialmente haviam diferenças conceituais entre CPLDs e FPGAs, hoje em dia os termos são praticamente sinônimos; Antes a FPGA era mais flexível do que uma CPLD, mas uma CPLD era mais rápida do que uma FPGA; Hoje a principal diferença é marketing. O termo FPGA “pegou” mais, está mais associado a hardware reconfigurável. Famílias de Circuitos Lógicos CPLDs – Complex Programmable Logic Devices: Então uma CPLD também é composta por elementos lógicos reconfiguráveis; Os quais podem ser alterados em tempo de execução. Famílias de Circuitos Lógicos Famílias de Circuitos Lógicos As duas maiores empresas fabricantes de FPGAs e CPLDs são: Altera: www.altera.com Xilinx: www.xilinx.com Famílias de Circuitos Lógicos Fluxo de Desenvolvimento em uma FPGA Design Entry – o circuito desejado é especificado tanto por meio de diagrama esquemático ou pelo uso de uma linguagem de descrição de hardware, tal como VHDL; Synthesis – o código ou o esquema é sintetizado (transformar na tecnologia) em um circuito que consiste de elementos lógicos contidos em um chip FPGA; Functional Simulation – o circuito sintetizado é testado para verificar sua corretude funcional. Esta simulação não leva em consideração nenhum quesito de tempo. Fluxo de Desenvolvimento em uma FPGA Fitting – verifica se o chip comporta o circuito. Se o circuito “couber” no chip, o fitting escolhe em quais partes (elementos) o seu circuito será alocado. Além disso, ele faz a comunicação entre as partes do circuito (liga os fios); Timing Analysis – calcula os tempos mínimos e máximos para executar cada “pedacinho” do circuito. Verifica qual parte do sistema é mais demorada e deve ser melhorada. Fluxo de Desenvolvimento em uma FPGA Timing Simulation – é uma simulação levando em consideração o tempo. Como o circuito se comportaria na placa; Programming and Confi- guration – o circuito desejado é implementado em um chip físico (FPGA).