Introdução aos circuitos integrados de aplicação específica João Canas Ferreira 2007-09-17 Tópicos de Projecto de VLSI digital Assuntos Tópicos 1 2 Circuitos programáveis 3 Fluxo de projecto Contém figuras de: Application-Specific Integrated Circuits, Michael J. S. Smith, Addison-Wesley. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 2 / 14
Circuitos Integrados de Aplicação Específica CIAEs (=ASICs) são circuitos orientados para a implementação de tarefas específicas em domínios bem definidos. Exemplos: processamento de áudio e vídeo; indústria automóvel; telecomunicações (com ou sem fios). Os CIAEs estão em contraste com os circuitos de aplicação geral, como: microprocessadores e microcontroladores; memórias estáticas e dinâmicas. Existem muitos tipos de CIAEs, que se distinguem segundo: custo; desempenho (rapidez, consumo de potência); tempo de desenvolvimento; tempo de fabrico; número de unidades fabricadas (viabilidade económica). João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 3 / 14 Circuitos full-custom Projecto completo e individualizado de todos os aspectos do circuito (dimensão e colocação dos dispositivos e respectivas interligações) Usado também para os circuitos de aplicação geral. Só faz sentido quando os requisitos do projecto impedem a utilização de bibliotecas pré-caracterizadas (tecnologia nova, requisitos muito fortes de rapidez ou consumo). Arriscado e demorado (mau para time-to-market). Time-to-market é uma das principais preocupações actuais em certos mercados importantes, como a electrónica de consumo. O fabrico envolve a definição de todas as máscara. Para uma tecnologia avançada (abaixo de 100 nm), a produção das máscaras pode custar cerca de 1 milhão de dólares. Tempo de fabrico (turnaround-time): cerca de 2 meses. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 4 / 14
Circuitos standard-cell Circuito usa células pré-desenhadas e pré-caracterizadas que implementam portas lógicas, flip-flops e outros circuitos simples. (CBIC = cell-based IC.) standard-cell area 1 O circuito também pode incluir blocos (mega-células), que são células mais complexas (núcleo de processador, RAM) fixed blocks 2 3 O risco associado ao projecto é significativamente reduzido (por comparação com full-custom). Fabrico ainda envolve o conjunto completo de máscaras. 0.02 in 500 µm 4 5 João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 5 / 14 Exemplo de uma célula standard Todas as células têm a mesma altura, com as ligações de alimentação percorrendo a célula horizontalmente. As células são ligadas por justaposição. Cada célula tem contactos (quadrados escuros na figura). Podem existir múltiplas células para uma dada funcionalidade, diferindo em largura, rapidez, consumo. Células especiais: feedthrough, spacer cells, row-end cells. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 6 / 14
Exemplo de encaminhamento num CBIC 1 250λ expanded view of part of flexible block 1 terminal VSS to power pads VDD no connection metal1 metal2 connection VSS to power pads VDD Z row-end cells feedthrough cell A.11 cell A.14 cell A.23 cell A.132 metal2 spacer cells metal2 I1 power cell metal1 metal1 rows of standard cells 50λ João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 7 / 14 Matrizes de transístores Transístores estão pré-fabricados (matriz de base) Célula primitiva é replicada por todo o circuito. Faltam apenas alguns níveis (superiores) de metalização. MGA = Masked Gate Array As máscaras de metalização permitem personalizar o circuito. Projectista (via ferramenta de CAD) escolhe células pré-desenhadas ( macros ). Custo do fabrico da bolacha é distribuído por múltiplos clientes/projectos. Utilização de um pequeno número de máscaras. Turnaround-time: 2 dias 2 semanas. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 8 / 14
Tipos de MGA base cell base cell embedded block array of base cells (not all shown) array of base cells (not all shown) array of base cells (not all shown) Channeled GA Channelless GA structured GA Distância entre linhas de células é fixa. Sea-of-Gates (SOG) masterslice Inclui blocos pré-definidos (RAM, CPU, etc.). João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 9 / 14 MGA: célula base e personalização João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 10 / 14
Circuitos programáveis Dispositivos lógicos programáveis macrocell programmable interconnect Programmable Array Logic (PAL) modelo 22V10 Cada macrocélula é equivalente a uma pequena PAL. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 11 / 14 Field-Programmable Gate Arrays Circuitos programáveis Nenhuma máscara é alterada. Tanto os blocos lógicos como as interligações são configuráveis. A configuração pode ser volátil ou não-volátil. programmable basic logic cell Arquitectura mais comum: matriz de blocos lógicos (island FPGA). Pinos de E/S também são configuráveis. Configuração demora alguns ms (valor típico); geração da configuração pode demorar algumas horas (frequentemente, apenas alguns minutos). programmable interconnect João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 12 / 14
Exemplo de um bloco lógico Circuitos programáveis João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 13 / 14 Fluxo de projecto Fluxo de projecto 1 Captura esquemática ou linguagem de descrição de hardware (Verilog/VHDL). 2 Lista de portas lógicas + mapeamento em células. 3 Sistemas muito grandes são divididos em vários CIs. 4 Simulação sem informação das interconexões. 5 Disposição global dos blocos no CI. prelayout simulation postlayout simulation 4 9 start design entry logic synthesis system partitioning floorplanning 1 2 3 5 netlist VHDL/Verilog A A B chip logical design 6 Colocação das células. 7 Definição das interconexões. 8 Extracção da informação física (principalmente das interconexões). back-annotated netlist circuit extraction 8 placement routing 6 7 finish block logic cells physical design 9 Simulação com informação física detalhada. João Canas Ferreira (FEUP/DEEC) CIAE 2007-09-17 14 / 14