SoC, una tecnologia pronta all’uso

Apertura

I System-on-Chip sono una tecnologia microelettronica che è maturata negli anni grazie a una spinta all’integrazione di sistema che è venuta da settori applicativi importanti come quello della comunicazione e quello del consumer. L’integrazione su un solo chip di un intero sistema è una delle più importanti innovazioni tecnologiche che caratterizzeranno la natura delle applicazioni della microelettronica nei settori tradizionali comunicazione, automotive, medicale, e nei settori emergenti (social life, indossabili, robotica, scienze naturali). Il SoC, anche se ha la sua genesi è riferibile al microcontrollore, cioè a quel processo di integrazione di sistema dell’architettura del computer (tutto quanto è interconnesso a una Cpu) intesa a portare su singolo chip la funzionalità del microprocessore (la Cpu) integrata a quella del contesto funzionale (memorie e periferiche). Il SoC comunque non è il single-chip-computer, ma un sistema completo su singolo chip che, per definizione, quando viene applicato, non ha bisogno di altri componenti esterni (teoricamente anche di commodity come resistenze e condensatori), in quanto è application-oriented. Ciò significa che le Cpu possono essere più di una e di natura diversa, per esempio Risc (Reduced instruction set computer) e Dsp (Digital signal processor), le memorie ottimizzate in tipologie (Ram, Flash, ecc.) e dimensioni, il timing su misura, le periferiche digitali, analogiche e miste (mixed signal), l’architettura di sistema ottimizzata (multi bus ad elevato parallelismo). Diverse sono state le tecnologie che hanno contribuito allo sviluppo dei SoC, rendendo questi a sua volta una tecnologia abilitante ed effettiva di una nuova generazione di applicazioni. Tra queste, le tecnologie a segnali misti (mixed-signal) e quella analogica rappresentano uno degli aspetti più importanti dei SoC in relazione alla loro principale peculiarità, l’integrazione di sistemi eterogenei su singolo chip. Infatti, la natura di sistema dei SoC non può prescindere dalla sistemistica analogica e dall’integrazione di questa con quella digitale. I SoC infatti non sono dei computer on chip, ma sistemi on chip, quindi globali a tutti gli effetti. In tal senso il SoC va oltre la natura strettamente elettronica e coinvolge altre dimensioni del mondo fisico cui si applica come per esempio la meccanica e la chimica.


Il modello di sviluppo
Uno degli aspetti fondamentali dei SoC è il modello di sviluppo, cioè come è possibile progettare un SoC in maniera effettiva, sia a livello di produttori di sistemi microelettronici, sia a livello di sviluppatori di sistemi elettronici. I SoC sono sviluppati con tre tecnologie fondamentali, quella completamente custom, quella delle standard cell e quella delle Fpga. L’approccio custom è il massimo dell’ottimizzazione nello sviluppo dei SoC e implica la disponibilità di tecnologie di natura custom da parte del produttore di componentistica microelettronica (per esempio la tecnologia Asic) come lo sviluppo di blocchi funzionali custom, la customizzazione di Intellectual Property e la capacità di packaging che ottimizza le dimensioni tra die e incapsulamento. Nello sviluppo custom dei SoC il packaging gioca un ruolo importante in quanto è possibile avere un perfetto fitting rispetto all’applicazione finale, avvalendosi di tecnologie avanzate come il multi-layering e il multi-chip (stacked o side-by-side).
Per esempio, società come Microsemi sono in grado di offrire capacità di sviluppo e di produzione di natura custom Asic e semi-custom per lo sviluppo di circuiti integrati a tecnologie miste, integrando funzioni analogiche complesse con porte logiche, microprocessori, memoria (volatile e non volatile), analogica di precisione (amplificatori low-offset, A/D e D/A, convertitori sigma-delta, filtri, ecc.) e funzionalità di once-time-programming, fondamentali per poter utilizzare in maniera effettiva la tecnologia SoC in contesti a elevata diversificazione applicativa, come per esempio il mondo consumer. L’approccio standard cell allo sviluppo dei SoC consente di affrondare da parte dello sviluppatore in maniera più diretta la progettazione SoC, disponendo di tecnologie avanzate di sviluppo tipiche dei produttori di componenti microelettronici. Le standard cell sono un metodo di progettazione degli Asic che si avvale di un processo di astrazione che incapsula in una rappresentazione logica di base (per esempio la logica Nand, Nor, Xor) una rappresentazione logica complessa, che viene utilizzata per costruire funzioni logiche ad alto livello, astraendosi dal livello fisico. Ciò si basa su librerie di celle elementari (Nand, Nor, Xor, ecc.), ma anche complesse (adder, flip-flop, ecc.). Per esempio, per le varie architetture Arm sono disponibili librerie standard cell per la progettazione SoC in cui è possibile ottimizzare il livello di prestazione in funzione dell’applicazione in termini di velocità, potenza consumata e dimensioni. STMicroelectronics dispone di librerie standard cell per il contesto tecnologico del 28 nanometri FD-Soi, particolarmente vantaggiose per le applicazioni SoC. In particolare, l’ottimizzazione in termini di basso consumo in rapporto alle elevate prestazioni, sfrutta l’inerente peculiarità della tecnologia FD-Soi in termini di efficienza energetica, implementandole in tecniche di progettazione low-power come il clock gating, il power gating, il multiple power domain e in celle specializzate.

La soluzione SoC-Fpga
L’approccio Fpga, una particolare variante delle standard cell, è quello più versatile dal lato sviluppatore, in quanto consente di disporre della massima libertà in termini di approccio alla sintesi dell’architettura SoC. La soluzione SoC-Fpga offre soprattutto flessibilità in quanto il SoC è completamente programmabile sia a livello software, sia a livello hardware, quindi rapidamente adattabile ai requisiti applicativi anche in fase di produzione. L’approccio Fpga alla progettazione SoC è interessante in quanto consente di sfruttare in maniera vantaggiosa le possibilità di progettazione rapida offerte ormai da numerosi ambienti di progettazione system-model design in collaborazione con gli stessi produttori di Fpga orientate allo sviluppo SoC. Altera per esempio oltre alle Fpga -SoC (combinazione tra ecosistema Arm multicore processor e Fpga fabric), offre schede di prototipazione rapida per la realizzazione di applicazioni custom SoC basate su Arm. Per esempio, nel contesto del Model-Based Design di Mathworks, è possibile simulare modelli completi di sistemi e generare in maniera automatica il codice C e il codice Hdl in ambiente Simulink, usando come target i dispositivi Altera. Utilizzando l’Embedded Coder e congiuntamente l’Hdl Coder support package per i SoC Altera, è possibile generare il codice dell’applicazione (C e Hdl), utilizzare Quartus II di Altera per la sintesi, il pace e il routing, e portare tutto sulla piattaforma SoC. I SoC quindi non sono solo piattaforme di computing su singolo chip che possono essere configurate in maniera ottimale per poter implementare al meglio funzionalità di sistema complete, ma anche sistemi fatti su misura per l’applicazione, cioè application specific. Ciò significa che rappresentano una soluzione di sistema che consente di portare su un unico chip tutta quella serie di funzioni al contorno che richiede un’applicazione e usare tale chip come “companion” di un altro chip specifico dell’applicazione. La soluzione Fpga-SoC per l’implementazione della funzionalità “companion” è ideale per la prototipazione. Per esempio, per aumentare le prestazioni del controllo motore sono necessari algoritmi Dsp complessi che devono essere eseguiti in tempo reale insieme a processi di gestione veloce della comunicazione (I/O) e di gestione generale dell’applicazione, oltre a utilizzare driver di motore particolarmente efficienti. Si tratta in pratica di realizzare un’applicazione ad architettura multi-chip caratterizzata da un elevato grado di complessità a livello di sistema, soprattutto per la soluzione di funzionalità critiche che risultano difficili da implementare con dispositivi standard. Per esempio, Avnet rende disponibile un kit di sviluppo basato su una Fpga con architettura SoC, la Zync 7000 All Pogrammable SoC Arm dual-core Cortex -A9 + 28 nm programmable logic di Xilinx e sui convertitori ad elevata precisione di ultima generazione e i sistemi di isolamento digitale di Analog Devices per lo sviluppo di applicazioni di controllo motore a elevate prestazioni e connettività di rete industriale. Utilizzando il Zynq reference design “Field Oriented Control” basato sul framework Linux di Analog Devices, lo sviluppatore può integrare rapidamente algoritmi custom, utilizzando il Model-Based Design per Zynq in ambiente Simulink , Embedded Coder e Hdl Coder di Mathworks. Questa soluzione che mette insieme la tecnologia Fpga-SoC, quella application-specific per il controllo motore e quella dello sviluppo in un contesto di modellazione, simulazione e prototipazione rapida consente di rendere estremamente efficiente il processo di progettazione e pervenire a soluzioni hardware estremamente compatte e affidabili in tempi relativamente brevi.

SoC per piattaforme mobile
Le piattaforme di mobile computing, in particolare gli smartphone, rappresentano un contesto applicativo ove la soluzione SoC è fondamentale per soddisfare requisiti di sistema particolarmente impegnativi sia dal punto di vista dimensionale, sia relativamente ai consumi di potenza elettrica e di prestazione computazionale. Il core, e quindi l’architettura computazionale di riferimento è un aspetto importante, considerando che per esempio i consumi di potenza elettrica dipendono molto dall’architettura di computing, e quindi dal tipo di core utilizzato. I core processor Arm sono ottimizzati proprio per contesi applicativi particolarmente sensibili ai consumi di potenza elettrica, come appunto lo sono le piattaforme di computing mobile. Questi SoC integrano su un solo chip quasi tutta la funzionalità di un sistema mobile, quindi oltre la Cpu integrano la Graphic Processing Unit, un Digital Signal Processor e altri coprocessori specializzati in task standard in applicazioni di mobile computing e comunicazione. Inoltre il SoC integra il controller della memoria, la memoria cache, e funzionalità di comunicazione computazionalmente complesse come il modem ad alta velocità. I tre maggiori competitor relativamente ai SoC per mobile sono Samsung, Qualcom e Intel. Samsung (Exynos 7420) e Qualcomm (Snapdragon 810) si basano su core ad architettura Arm (Armv8-A - 32 / 64-bit), mentre Intel (Atom Z3580) utilizza core ad architettura Intel (X86-64). Si tratta di SoC multicore (8 core per Samsung e Qualcomm, 4 core per Intel) in cui il core, nella versione multipla, viene caratterizzato per ottimizzare al meglio consumi di potenza elettrica in funzione della natura dell’applicazione che deve supportare.

I SoC programmabili
I SoC programmabili sono uno degli approcchi che cercano di portare la tecnologia SoC alla portata dello sviluppatore, sia in termini metodologici, sia in termini tecnologici. L’approccio più mirato a questro tipo di soluzione è venuto da Cypress Semiconductor, che, in un certo senso, ha messo insieme due tecnologie, quella del microcontrollore nella sua caratterizzazione di soluzione single-chip di un’architettura di computing, e quella della programmabilità dell’hardware tipica della logica programmabile. Il PSoC (Programmable SoC), come l’ha chiamato Cypress, è di fatto un microcontrollore la cui architettura finale di sistema non è definita a priori, ma tramite una libreria di blocchi funzionali centrali e periferici (digitali, analogici e mixed-signal) che possono essere configurati tramite un ambiente di modellazione e di prototipazione che consente di ottenere su singolo chip l’architettura di sistema ritagliata sulla applicazione target. L’idea dell’approccio SoC di Cypress è fondamentalmente basata sulla tecnologia di routing e interconnessione dei blocchi funzionali, e ciò rende il PSoC differente dal microcontrollore standard in quanto il PSoC è configurabile liberamente come un system-on-chip. Nella sua ultima versione, il PSoC 5LP, integrando funzionalità come i 24 bit Digital Filter Block, i 24 bit Udb e i Controller Dma oltre agli Analog Front-End e la Cpu Arm Cortex-M3, rappresenta una soluzione SoC particolarmente interessante per gli sviluppatori, considerando l’elevato grado di configurabilità del dispositivo in rapporto alla relativa semplicità del modello di sviluppo. L’entry level in termini di sistema di sviluppo, il CY8CKIT-059 PSoC 5LP, un kit di prototipazione dotato di programmatore on board e di debugger, costa solo 10 dollari, ma permette di sviluppare un SoC contenete una Cpu a 32-bit Arm Cortex-M3 Cpu con 32 interrupt input, 24 canali di Direct Memory Access, un 24-bit fixed-point digital filter processor, oltre 20 Universal Building Blocks, periferiche analogiche di precision, fino a 62 CapSense sensor con SmartSens Auto-tuning, un front-end analogico multiplato e con amplificatori operazionali, Adc a 12-bit Sar e Dac a 8-bit e un drive di Lcd, il tutto incapsulabile in un package a 68 pin Qfn o Tqfp a 100 pin. Se Cypress con il PSoC ha creato la tecnologia del SoC programmabile partendo dal basso, cioè dal microcontrollore verso l’hardware programmabile, Xilinx ha fatto un processo inverso, partendo dall’hardware programmabile ha sviluppato una tecnologia SoC programmabile integrando la logica Fpga con funzionalità tipiche dell’architettura microcontroller, Cpu, periferiche, application-specific processing, e altro, con un approccio di sistema a elevate prestazioni computazionali. Si tratta del MPSoC (Multi-Processing System-on-Chip), un’architettura UltraScale di Xilinx costruita sul processo tecnologico Tmsc 16 FinFet+ che consente di implementare in dispositivi SoC architetture di sistema multi-processing eterogenee.

Pubblica i tuoi commenti