O que é um SoC?

Um System on Chip ou SoC é um circuito integrado que incorpora a maioria dos componentes presentes em um computador. Como o nome sugere, é um sistema completo fabricado em um chip de silício. A beleza de um SoC é que ele integra todos os componentes em um único substrato. Nos semicondutores, um substrato é uma fina película de silício usada para fabricar circuitos integrados. Em contraste com a placa-mãe tradicional, o SoC integra os componentes substituíveis em um único chip, reduzindo assim o tamanho e aumentando a eficiência.

Junto com o circuito integrado, um SoC inclui software e uma estrutura de interconexão para integração. A abordagem de integração hardware-software torna o SoC menor em tamanho, permite menor consumo de energia e é mais confiável do que um sistema multichip padrão.

Figura 1. De PCBs a SoCs.

Componentes de um SoC
Os SoCs podem ser identificados como os seguintes tipos: construídos em torno de um microcontrolador, construídos em torno de um microprocessador, construídos para aplicações específicas e SoCs programáveis ​​(PSoC). As partes integrantes de um SoC incluem um processador, armazenamento de memória primária e secundária e portas de entrada/saída. Os outros componentes vitais incluem uma unidade de processador gráfico (GPU), um módulo WiFi, processador de sinal digital (DSP) e vários periféricos como USB, Ethernet, SPI (Serial Peripheral Interface), ADC, DAC e até FPGAs. Normalmente, possui vários núcleos. Dependendo de vários fatores decisivos e preferências, o núcleo pode ser um microcontrolador, microprocessador, DSP ou até mesmo um ASIP (Application Specific Instruction-set Processor). ASIPs possuem conjuntos de instruções baseados em uma aplicação específica. Normalmente, os SoCs usam a arquitetura ARM, que é uma família de RISC (Reduced Instruction Set Computing), que requer menos design digital, tornando-o compatível para uso em sistemas embarcados. A arquitetura ARM é muito mais eficiente em termos de consumo de energia do que processadores como o 8051 porque, em contraste com os processadores que usam a arquitetura CISC, os processadores com arquitetura RISC requerem menos transistores. Isso também reduz a dissipação de calor e o custo.

O diagrama a seguir mostra um exemplo de diagrama de blocos SoC.

FIG 2: Exemplo de diagrama de blocos SoC.

Processador
No coração do SoC está o seu processador. Geralmente possui vários núcleos de processador. Vários núcleos permitem que diferentes processos sejam executados ao mesmo tempo, o que aumenta a velocidade do sistema, pois permite que o computador execute várias operações ao mesmo tempo. Basicamente, o sistema operacional vê os múltiplos núcleos como múltiplas CPUs, o que aumenta o desempenho. Como vários núcleos são instalados no mesmo chip, há menos latência, devido à comunicação mais rápida entre os núcleos. Um sistema com vários núcleos possui apenas um soquete de CPU com vários núcleos. Por exemplo, o sistema a seguir possui quatro núcleos e um soquete.

Por causa do hyper-threading, para um sistema operacional, um núcleo único aparece como duas unidades lógicas. Hyper-threading permite o compartilhamento de recursos físicos entre duas CPUs.

Figura 3. Exemplo de processadores multi-core e suas descrições.

Processador de Sinal Digital (DSP)
Processador de Sinal Digital (DSP) é um chip otimizado para operações de processamento de sinal digital. Isso inclui operações para sensores, atuadores, processamento de dados e análise de dados. Pode ser usado para decodificação de imagens. O uso do DSP economiza ciclos de CPU para outras tarefas de processamento, o que aumenta o desempenho. DSPs dedicados são mais eficientes em termos de energia, o que os torna adequados para uso em SoCs. O conjunto de instruções usado para núcleos DSP é SIMD (Instrução Única, Dados Múltiplos) e VLIW (Palavra de Instrução Muito Longa). O uso desta arquitetura permite o processamento paralelo de instruções e execução superescalar. DSPs são usados ​​para realizar operações como Transformada Rápida de Fourier, convolução e acumulação múltipla.

Memórias em um SoC
SoCs possuem memórias baseadas na aplicação. As memórias são blocos de memória semicondutores para fins de computação. A memória semicondutora geralmente se refere a células de memória Metal Oxide Semiconductor, que são fabricadas em um único chip de silício. Os tipos de memórias são:

  • Memórias voláteis: Memórias que perdem dados após desligamento. Em outras palavras, eles precisam de uma fonte de energia constante para reter informações. As memórias voláteis são mais rápidas e baratas, por isso são escolhidas com frequência.

RAM é um tipo de memória volátil. As RAM mais comuns usadas são SRAM (RAM estática) e DRAM (RAM dinâmica). SRAM é feita de células de memória que consistem em 1,3 ou 6 transistores (MOSFETs). Em contraste, a DRAM possui apenas um MOSFET e um capacitor que é carregado e descarregado de acordo com o estado do FET. No entanto, a DRAM está sujeita a correntes de fuga de capacitores. Uma vantagem significativa da DRAM é que é mais barata que a SRAM. Se um SoC tiver uma hierarquia de cache, a SRAM será usada para cache e a DRAM será usada para a memória principal. Isso ocorre porque o cache requer um tipo de memória mais rápido em comparação com a memória principal.

Existem tipos de RAM projetados para funções não voláteis também. Estes são FRAM (RAM ferroelétrico), MRAM (memória de acesso aleatório magnetoresistiva), que armazena dados em estados magnéticos, PRAM (memória de acesso aleatório de parâmetros), que é usado em computadores Macintosh para armazenar configurações do sistema, incluindo as configurações de exibição e fuso horário. . Além desses, existe a RRAM (Resistive Random Access Memory), que possui um componente chamado memristor. Um memristor é um resistor cuja tensão varia de acordo com a tensão aplicada.

  • Memórias não voláteis: Memórias que retêm informações mesmo na ausência de fonte de energia. ROM (Read Only Memory) é um tipo de memória não volátil. Os tipos de ROM incluem EPROM (Erasable Programmable Read-Only Memory), que é um conjunto de transistores de porta flutuante. UVROM (memória somente leitura programável apagável ultravioleta), que é apagada usando luz UV e reprogramada com dados, EEPROM (ROM programável apagável eletricamente) e flash.

O tipo de memória selecionado depende das especificações do projeto e da aplicação.

Figura 4: Classificação das memórias semicondutoras em um SoC.

As empresas que fabricam principalmente memórias semicondutoras são Micron Technology, Intel Corporation, Western Digital.

Comunicação no chip
Tradicionalmente, a arquitetura de barramento era usada para comunicação entre as unidades de execução do SoC. No entanto, atualmente, a tecnologia de interconexão Network-On-Chip surgiu como uma tendência para ultrapassar a arquitetura de barramento.

Um exemplo popular de comunicação de barramento é o protocolo de barramento AMBA (Advanced Microcontroller Bus Architecture) da ARM. A arquitetura de barramento é usada para conduzir dados entre componentes. A arquitetura de barramento no chip pode ser classificada como barramento compartilhado, barramento hierárquico e topologias em anel. Diferentes empresas projetaram arquiteturas diferentes de acordo com o design e aplicação do chip. Alguns exemplos são Altera AVALON, IBM CORECONNECT, WISHBONE da Silicore Corporation.

Figura 5. Exemplo de barramento AMBA em um SoC.

O Network-On-Chip emprega técnicas de rede em nível de sistema para gerenciamento de tráfego no chip. O NOC é uma rede de switch fabric homogênea e escalável usada para transportar pacotes de dados multifuncionais. Essa arquitetura é naturalmente em camadas com tecnologia definida pelo usuário. A comunicação ocorre através de um esquema de comunicação de três camadas, nomeadamente Transação, Transporte e Física.

O objetivo de uma malha de interconexão NOC é reduzir o congestionamento de roteamento de fios no chip, melhor fechamento de temporização e uma maneira padronizada de fazer alterações em vários IPs no design do SOC. As arquiteturas NOC provaram ser mais eficientes em termos de energia e podem atender aos requisitos de rendimento.

Figura 6. Camadas em uma rede no chip.

Interfaces externas
As interfaces SOC são diferenciadas de acordo com a aplicação pretendida. As interfaces externas são comumente baseadas em protocolos de comunicação como WiFi, USB, Ethernet, I2C, SPI, HDMI. Se necessário, interfaces analógicas podem ser adicionadas para interface com sensores e atuadores.

Outros componentes
Outros componentes necessários para um SOC totalmente funcional são fontes de temporização, como relógios, temporizadores, osciladores, sistemas de loop de bloqueio de fase, reguladores de tensão e unidades de gerenciamento de energia.

Fluxo de projeto do SoC
O fluxo de design do SoC visa o co-design arquitetônico, que projeta hardware e software ao mesmo tempo. O fluxo de projeto deve levar em consideração os objetivos de otimização e diversas restrições. O diagrama abaixo é um exemplo de fluxo de projeto de SoC, desde as especificações até a fabricação. Equipes separadas executam cada uma das etapas envolvidas na fabricação de um SoC.

Um SoC é fabricado usando tecnologia MOS. Hoje, a menor tecnologia MOS é a tecnologia de 3 nm desenvolvida pela TSMC e Samsung. No entanto, a maioria dos dispositivos hoje usa tecnologia de 10 nm. O processo de fabricação envolve a geração do design da netlist, seguida pelo fluxo do design físico. Ao longo do processo, atenção especial é dada à análise de temporização estática (STA), que é o cálculo de temporizações em um circuito digital. O STA também é usado para validar o desempenho de cronometragem e verificar quaisquer violações de cronometragem. Violações de temporização podem levar à metaestabilidade, que ocorre quando os flip-flops em um circuito digital estão em um estado desconhecido (nem 1 nem 0).

Figura 7. Fluxo de projeto do SoC.

Na Etapa 1 da fabricação, as especificações do projeto são analisadas e uma lista de IPs necessários para executar as especificações é gerada. Esses IPs ou Propriedades Intelectuais geralmente são terceirizados para fornecedores de IP terceirizados. Esses IPs podem ser Soft Cores, Hard Cores ou núcleos firmes, dependendo do nível de flexibilidade para alteração de parâmetros. Os IPs também podem ser feitos pela mesma empresa.

Na Etapa 2, os IPs são integrados para gerar uma descrição RTL de todo o projeto. RTL significa Register Transfer Level, que inclui o uso de várias linguagens descritivas de hardware como Verilog, System Verilog e VHDL. RTL modela circuito digital síncrono entre registros de hardware.

Na Etapa 3, uma netlist em nível de porta é gerada pelo integrador SoC. Uma netlist em nível de porta contém dados sobre a conectividade lógica de células padrão, inclusive para células combinacionais, sequenciais e redes. Uma rede é um grupo de dois ou mais componentes interconectados. Ferramentas Design-For-Test (DFT) são usadas para melhorar a testabilidade.

Na Etapa 4, a netlist no nível do portão é convertida em um layout baseado no processo de design físico.Núcleos IP também podem ser importados nesta fase. O projeto físico envolve a conversão de representações de circuito de um projeto em formas geométricas, o que leva ao funcionamento dos componentes após a fabricação.

Na Etapa 5, assumindo que a análise de temporização estática e a análise de potência estejam concluídas, um layout final é desenvolvido e enviado para fabricação.

Na Etapa 6, o chip fabricado é verificado na montagem. Os chips são cuidadosamente verificados quanto à correção lógica antes desta etapa. Essa verificação é chamada de verificação funcional e é responsável por uma parte significativa do processo. Para realizar a verificação, linguagens como SystemC, System Verilog estão se tornando cada vez mais populares para acomodar a complexidade.

É importante lembrar que fazer qualquer alteração em um chip após a fabricação é muito difícil e caro. Conseqüentemente, a emulação (prototipagem) do projeto é realizada antes da fabricação. Isso é feito popularmente usando FPGAs (Field Programmable Gate Array) porque é reprogramável e permite depuração.

Vantagens e desvantagens do SoC
O principal objetivo de um SoC é minimizar componentes externos. Portanto, tem as seguintes vantagens em relação a um computador de placa única:

  1. Tamanho: O SoC é do tamanho de uma moeda. Devido ao tamanho cada vez menor da tecnologia MOS, os SOCs podem ser muito pequenos e, ao mesmo tempo, capazes de executar tarefas complexas. O tamanho não afeta os recursos do chip.
  2. Diminuição do consumo de energia: Um SoC é otimizado para dispositivos de baixo consumo de energia, como telefones celulares. O baixo consumo de energia resulta em maior capacidade da bateria dos telefones celulares.
  3. Flexibilidade: Os SoCs são facilmente reprogramáveis, o que os torna flexíveis. Eles permitem a reutilização de IPs.
  4. Confiabilidade: Os SoCs oferecem alta segurança de circuito e complexidade de projeto reduzida.
  5. Custo benefício: Principalmente devido a menos componentes físicos e reutilização de design
  6. Operação de circuito mais rápida

Os SoCs também apresentam algumas desvantagens:

  1. Demorado: Todo o processo, desde o projeto até a fabricação, pode levar de 6 meses a 1 ano. Conseqüentemente, o tempo para a demanda no mercado é muito alto.
  2. Os requisitos de verificação de projeto são muito altos e consomem 70% do tempo total. DV é entediante devido à crescente complexidade do design do SoC.
  3. A disponibilidade e compatibilidade dos IPs desempenham um papel muito significativo, o que pode aumentar o tempo de lançamento no mercado.
  4. Aumento exponencial dos custos de fabricação.
  5. Para produtos de baixo volume, o SoC pode não ser a melhor opção.

Formulários
A aplicação mais comum de SOCs hoje é em aplicativos móveis, incluindo smartphones, smartwatches, tablets. Outras aplicações incluem processamento de sinais de voz, interfaces de PC e comunicação de dados. Os SoCs também estão sendo aplicados a computadores pessoais devido à integração de módulos de comunicação como LTE e redes sem fio no chip.

Os SoCs mais populares no mercado hoje são fabricados pela Qualcomm Technologies para smartphones, smartwatches e a próxima compatibilidade de rede 5G. Outros fabricantes incluem Intel Technology, Samsung Inc, Apple Inc., entre muitos outros.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.