Ogni microprocessore è costruito su un'architettura di set di istruzioni (ISA), che definisce le funzioni di alto livello utilizzate per eseguire operazioni di calcolo con dati digitali. Un ISA è uno dei componenti fondamentali di una CPU che definisce come il software comunicherà con l'hardware. Definisce essenzialmente i comandi in modo che una macchina possa capire e include tipicamente istruzioni per operazioni di memoria, gestione dei dati, operazioni aritmetiche, operazioni logiche e operazioni di controllo del flusso. Un ISA definisce anche come le istruzioni sono memorizzate, codificate e accessibili.
Gli ISA dominanti negli ultimi due decenni sono stati x86, x64 e ARM, tutti i quali hanno guidato l'adozione di computing personale e incorporato ai livelli che vediamo oggi. Mentre ARM è tra le architetture di processo più utilizzate, un nuovo concorrente open-source sta venendo abbracciato dall'industria dei semiconduttori. Questa architettura alternativa è RISC-V (pronunciato “risk five”), ed è stata accolta dalla comunità open-source e dai fornitori di semiconduttori come alternativa alle architetture ARM e x86/x64.
Sebbene non ci aspettiamo che le architetture di Intel x86/x64 o ARM scompaiano a breve, RISC-V offre un'alternativa open-source convincente. Ora alcuni fornitori di semiconduttori stanno supportando implementazioni RISC-V nei loro FPGA, e la comunità open-source ha risposto con un'ondata di IP di fornitori e librerie per aiutare ad accelerare lo sviluppo. In questo articolo, esamineremo alcuni dei prodotti basati su RISC-V più recenti rilasciati sul mercato dai fornitori di semiconduttori.
L'ISA RISC-V è un ISA open-source che può essere utilizzato per definire le manipolazioni digitali di dati a basso livello che sono implementate in un nucleo di microprocessore. La specifica utilizza un insieme di 49 istruzioni che sono compatibili con implementazioni hardware a 32 bit. La larghezza della parola può essere utilizzata a 64 bit con un insieme di 14 istruzioni di estensione, o fino a 128 bit (in teoria). Come specifica open-source, il set di istruzioni primario e le estensioni opzionali possono essere personalizzati, rimossi o totalmente riscritti per fornire un'architettura di processore personalizzata o altamente specificata per l'uso in nuovi chip.
Dal momento che lo sviluppo di RISC-V è iniziato nel 2010 (al Par Lab di Berkeley), i creatori di RISC-V hanno successivamente fondato SiFive, una società di IP di core di processori. La società ha fornito la prima architettura di core di processore completamente open source costruita su RISC-V. L'architettura può essere utilizzata come specifica di base per progettare un'architettura di logica digitale che implementa l'ISA RISC-V e qualsiasi funzione aggiuntiva dell'utente.
Costruire un processore applicativo personalizzato su RISC-V offre agli sviluppatori un eccellente percorso per realizzare un nuovo processore su silicio personalizzato, o costruire un processore riconfigurabile su un FPGA. Lo sviluppo di logica con RISC-V su un FPGA porta i propri benefici grazie alla personalizzabilità e riconfigurabilità delle piattaforme FPGA, così come alla loro alta densità di calcolo. Per applicazioni embedded che richiedono più di un RTOS, i core RISC-V possono essere portati a supportare distribuzioni Linux.
Gli sviluppatori RISC-V possono utilizzare il set di istruzioni e la sua implementazione hardware in due modi possibili: per sviluppare progetti logici personalizzati su un nuovo design di chip, o per implementare logica specializzata in un FPGA. L'industria sta solo iniziando a utilizzare RISC-V come architettura di base per i design dei microcontrollori, ma questi componenti non sono disponibili su larga scala.
Attualmente, la gamma di processori commercialmente disponibili che possono supportare RISC-V è limitata agli FPGA, dove RISC-V è supportato con IP del fornitore. Per il momento, costruire su un FPGA è un'ottima opzione per gli sviluppatori di sistemi, sia da una prospettiva di prototipazione sia in termini di progettazione di hardware applicativo specifico personalizzato che è fortemente ottimizzato per carichi di lavoro di calcolo intensivo.
La piattaforma PolarFire di Microchip è la piattaforma FPGA basata su RISC-V di punta dell'azienda, dove un pezzo di processore pronto all'uso è costruito direttamente dal tessuto di interconnessione FPGA. La linea di prodotti PolarFire comprende più componenti e numeri di parte, tutti volti a ottenere il minimo consumo di energia con alta densità di calcolo in applicazioni embedded. Questo FPGA SoC può essere fortemente personalizzato utilizzando il Libero SoC Design Suite, e l'IP core è disponibile per l'uso nella piattaforma PolarFire. In termini di capacità hardware, il sistema può supportare trasmettitori da 12.7 Gbps e PCIe 2 I/O.
Efinix è un fornitore di semiconduttori più piccolo, ma hanno abbracciato RISC-V nel loro IP di fornitore con due prodotti SoC per i prodotti Trion e Titanium.
Sapphire SoC - Questa implementazione RISC-V è un'istanza configurabile dall'utente con un controller di memoria opzionale (DDR o HyperRAM) e molteplici interfacce (fino a 32 GPIO, 3 master I2C, 3 master SPI e 3 UART) integrate nel core del dispositivo.
Edge Vision SoC - Questa libreria è destinata ad applicazioni di visione embedded e include interfacce standard per sistemi in quest'area applicativa. Funzioni utente aggiuntive come blocchi DSP specializzati o manipolazione dei dati possono essere aggiunte a questo IP con strumenti di sviluppo.
Prodotti di sviluppo sono disponibili per entrambe le linee di prodotto per aiutare gli utenti a iniziare con una nuova piattaforma, come il Trion T20 MIPI D-PHY/CSI-2 Dev Kit per applicazioni di visione.
Bluespec Inc., partner ufficiale di sviluppo per Xilinx, supporta ora implementazioni di core RISC-V a 32 bit su FPGA Xilinx. Questo SoC IP è destinato ad applicazioni che richiedono un singolo core di processore che esegua Linux su un FPGA. Il RISC-V RV32IMAC SCL supporta le istruzioni base intere RISC-V (I), Moltiplicazione e Divisione intere (M), Atomiche (A) e Istruzioni Compressi (C), istruzioni a virgola mobile Singole e Doppie (FD). Gli utenti possono implementare il Bluespec RISC-V 32IM core IP su FPGA Xilinx utilizzando il set standard di strumenti di sviluppo nell'IDE Vivado.
Il vantaggio dell'uso di hardware di un grande fornitore come Xilinx è il livello di supporto open-source e i prodotti di sviluppo disponibili per la costruzione di un'applicazione embedded. L'ampio portafoglio di IP Xilinx può essere utilizzato insieme all'architettura logica di base definita in RSIC-V per costruire un'implementazione hardware personalizzata. Come esempio, il core IP Freedom E310 di SiFive può essere programmato sulla piattaforma di sviluppo Arty A7 di Digitlent utilizzando l'IDE Arduino.
Altre aziende hanno recentemente annunciato prodotti riguardanti l'uso di core RISC-V in nuovi prodotti semiconduttori. Questi prodotti sono destinati ad essere qualcosa di più vicino ai processori di applicazione che offrono ancora una certa programmabilità generale tramite un'applicazione embedded. Alcuni degli annunci di prodotti recenti includono:
Prodotti Standard Specifici per Applicazioni (ASSPs) di Renesas, una linea di prodotti basati su RISC-V destinati a combinare l'elaborazione generale con la specificità dell'applicazione.
Picocom PC802 SoC 5G NR, un processore specifico per applicazioni per piccole celle 5G NR che interfaccia con unità radio tramite O-RAN Open Fronthaul eCPRI o JESD204B.
Intel ora supporterà RISC-V attraverso la sua nuova divisione di servizi di fonderia, consentendo alle aziende fabless di creare progetti compatibili con le capacità di elaborazione del silicio di Intel.
Il prossimo chip acceleratore AI basato su RISC-V di Kneron intende portare l'autonomia alle auto senza conducente supportando i sistemi ADAS di Livello 1 e 2 ADAS.
La progettazione di chip è una disciplina difficile, ma utilizzare un set di istruzioni open-source come RISC-V come framework di sviluppo è un ottimo modo per accelerare la progettazione dell'architettura dei chip. La sfida per un progettista logico è creare i circuiti logici che rappresentano le istruzioni definite nella specifica RISC-V. Per un microcontrollore o MPU, questo è un compito arduo e richiede molta esperienza; non è qualcosa che un progettista farebbe tipicamente da solo.
Tuttavia, per un FPGA, ci sono molte implementazioni RISC-V che possono essere utilizzate per costruire rapidamente un'architettura altamente estensibile che incorpora funzioni personalizzate dell'utente. Questo è qualcosa su cui gli strumenti dei fornitori e la comunità open-source hanno dedicato molto tempo a costruire, e ora ci sono molti core RISC-V che possono essere utilizzati nello sviluppo di FPGA. Per iniziare, dai un'occhiata ad alcuni di questi repository GitHub:
Questa è solo una piccola sezione di ciò che è disponibile, ci sono molti altri repository open-source che troverai su GitHub utili con una varietà di FPGA. Inoltre, per tutti gli sviluppatori di FPGA interessati a costruire sull'ISA, RISC-V International ha lanciato un Programma Partner di Formazione RISC-V. Gli sviluppatori possono ottenere una maggiore comprensione dei vantaggi della cooperazione aperta ed espandere la loro conoscenza di RISC-V.
La grande parte dell'architettura RISC-V è che può essere modificata e venduta sul mercato aperto. Le startup di semiconduttori fabless stanno ora fornendo il loro core IP basato sull'ISA RISC-V in licenza ad altre aziende secondo un modello di business simile ad ARM. Allo stesso modo, le aziende stanno rendendo disponibile il loro IP di fornitore per l'acquisto e l'uso in FPGA dei principali produttori di semiconduttori. Man mano che questi componenti basati su RISC-V entrano sul mercato, possiamo aspettarci che offrano alti livelli di specificità per applicazioni avanzate.
Quando sei pronto per iniziare a selezionare il tuo FPGA, SoC programmabile e altri componenti per il tuo nuovo sistema, assicurati di utilizzare le funzionalità avanzate di ricerca e filtraggio in Octopart per trovare tutti i componenti avanzati di cui hanno bisogno per progetti avanzati. Quando utilizzi il motore di ricerca elettronica di Octopart, avrai accesso ai dati aggiornati sui prezzi dei distributori, all'inventario delle parti e alle specifiche delle parti, ed è tutto liberamente accessibile in un'interfaccia user-friendly. Dai un'occhiata alla nostra pagina sui circuiti integrati per trovare i componenti di cui hai bisogno.
Rimani aggiornato con i nostri ultimi articoli iscrivendoti alla nostra newsletter.