Con un numero crescente di aziende interessate a dispositivi basati sull'ISA RISC-V e un numero crescente di core, acceleratori e componenti infrastrutturali resi disponibili, sia commercialmente che in formato open source, gli utenti finali devono affrontare una sfida sempre più difficile di assicurandosi che facciano le scelte migliori.
Ogni utente probabilmente avrà una serie di esigenze e preoccupazioni che equivalgono quasi alla flessibilità delle offerte RISC-V, estendendosi ben oltre le tradizionali metriche PPA fino a questioni di sicurezza e protezione o considerazioni sulla qualità. Ciò potrebbe includere l'adattabilità delle garanzie di verifica, che consentono l'estensione dell'architettura e la necessaria verifica.
Tradizionalmente, sono stati implementati tre livelli di prototipazione: prototipi virtuali, emulazione e prototipi FPGA, compresi ibridi tra loro. Ciascuna piattaforma viene quindi utilizzata per diversi scopi, tra cui la verifica del software, la convalida dell'architettura, la verifica funzionale dell'hardware, l'analisi delle prestazioni e altro ancora.
Mentre gli ecosistemi di progettazione e software per RISC-V si stanno affermando, gli ecosistemi di configurazione e verifica sono in ritardo e richiedono la creazione di nuove tecnologie. È proprio la flessibilità di RISC-V a creare enormi sfide per la verifica, ben oltre quanto richiesto per la verifica di processori fissi. Rende inoltre il co-sviluppo hardware-software non solo possibile, ma necessario.
Co-sviluppo
In passato veniva selezionato l'hardware e poi veniva sviluppato il software da eseguire su di esso. Con RISC-V, l'hardware è spesso gestito dal software. "La prima cosa che devi scegliere è quali opzioni RISC-V standard desideri", afferma Simon Davidmann, fondatore e CEO di Software Impera. “Il set di funzionalità RISC-V ha attualmente 200 o 300 opzioni. Come fai a sapere se il tuo algoritmo trarrebbe vantaggio da un'unità a virgola mobile, o SIMD, moltiplicatori hardware o persino un motore vettoriale? Devi capire le capacità hardware di cui avrai bisogno e che puoi permetterti, per il tipo di applicazione o il lavoro che desideri che quel processore svolga. Già questo diventa un po’ una sfida”.
Per raggiungere questo tipo di compromessi sono necessari prototipi. "Se l'obiettivo del progettista è valutare le prestazioni e l'idoneità allo scopo, la prototipazione virtuale è l'unica scelta praticabile", afferma Steve Roddy, CMO presso quadrico. “La realizzazione di prototipi hardware richiede da 10 a 50 volte più tempo rispetto alla creazione di un modello SystemC di un sottosistema o di un intero SoC. Il prototipo virtuale SystemC generalmente funziona abbastanza velocemente da rispondere a domande sulle prestazioni, ad esempio quanti fotogrammi al secondo di throughput posso ottenere con questo core del processore o qual è il requisito di larghezza di banda di picco e medio della funzione X, entro un intervallo di precisione accettabile.
Ottenere la giusta precisione può essere difficile. "È tutta una questione di precisione e capacità di far girare un modello molto velocemente", afferma Frank Schirrmeister, vicepresidente per le soluzioni e lo sviluppo aziendale presso Arteride IP. “La giusta precisione è definita da qualunque cosa richieda la tua domanda, e generarla non è banale. Se sei un provider ASIP, sarai in grado di generarli da qualunque modello tu abbia. A seconda della domanda, potresti aver bisogno dell'accuratezza della pipeline, dell'accuratezza della memoria, non è necessario che sia completamente accurata, ma quando è coinvolto un reparto CAD, ha troppa paura di rispondere alla domanda sbagliata."
Ma la precisione è un compromesso con la velocità. "Anche se alcuni prototipi virtuali sono accurati in termini di ciclo, spesso funzionano troppo lentamente per poter avere la necessaria produttività del software", afferma Davidmann di Imperas. “I prototipi virtuali con le prestazioni più elevate non sono motori di prestazioni, perché non modellano le pipeline dei processori. Lo guardano dal punto di vista del software, dove puoi compilarlo ed eseguirlo sull'hardware, e puoi vedere le prestazioni approssimative osservando il conteggio delle istruzioni o le stime approssimative dei tempi. Questo dovrebbe essere sufficiente per prendere questo tipo di decisione architettonica”.
Spesso sono necessari diversi prototipi. "In genere eseguiamo prototipi per due motivi", afferma Venki Narayanan, direttore senior per l'ingegneria del software e dei sistemi all'interno della business unit FPGA di Microchip Technology. “Uno riguarda la convalida dell'architettura per garantire il rispetto di tutti i parametri e i requisiti prestazionali e della convalida funzionale. L'altro motivo è lo sviluppo di software e firmware integrati. Utilizziamo diversi livelli di tecniche di prototipazione, il più comune dei quali è l'utilizzo dei nostri FPGA per sviluppare una piattaforma di emulazione per la convalida sia architetturale che funzionale. Utilizziamo anche modelli architettonici come QEMU per costruire piattaforme virtuali sia per la convalida delle prestazioni che per lo sviluppo di software incorporato”.
Il numero di possibilità sta crescendo. "Oggi esistono molti modi in cui le aziende realizzano prototipi con RISC-V", afferma Mark Himelstein, CTO di RISC-V International. “Si va dai computer a scheda singola a livello di produttore, alle schede aziendali compatibili con LINUX. Gli ambienti di emulazione (come QEMU) consentono agli sviluppatori di progredire con il software prima che il loro hardware sia completo, e ci sono parti standard ovunque, dai SoC embedded (di aziende come Espressif e Telink), agli FPGA (di aziende come Microsemi), a la prossima scheda Horse Creek di Intel e SiFive.”
Si torna al compromesso prestazioni/precisione. "I prototipi fisici richiedono uno sforzo di progettazione molto maggiore, perché si connette e si sintetizza un RTL reale, ma offrono precisione e produttività molto maggiori", afferma Roddy di Quadric. “Un prototipo fisico in un sistema FPGA, sia esso realizzato internamente o dalle grandi aziende EDA, richiede uno sforzo per essere realizzato. Ma può essere eseguito un ordine di grandezza più velocemente di un modello SystemC e diversi ordini di grandezza più velocemente della simulazione a livello di gate completo. I team di progettazione in genere passeranno dai modelli basati su C durante il processo di selezione dell’IP ai modelli fisici sia per la verifica del progetto effettivo dopo la selezione dell’IP, sia come piattaforma di sviluppo del software di sistema”.
Una volta che sai quale set di funzionalità desideri nell'hardware, puoi vedere se qualcuno ha già creato una soluzione che soddisfa la maggior parte delle tue esigenze. "È probabile che, con tutti i fornitori disponibili, ci sarà una soluzione commerciale che avrà il tipo di cosa che stai cercando", afferma Davidmann. “Ma con RISC-V non è necessario accettare la soluzione così com’è. Una parte significativa del valore di RISC-V è la libertà di cambiarlo, modificarlo e aggiungere le cose diverse che desideri."
Selezione di un'implementazione
Esistono molti modi per implementare una serie di funzionalità, ad esempio il numero di fasi della pipeline o funzionalità di esecuzione speculativa. Ognuno avrà un diverso compromesso tra potenza, prestazioni e area. "L'aspetto ISA, che si tratti di RISC-V, Arm, Xtensa di Cadence o ARC di Synopsys, non ha un impatto reale sugli obiettivi e sui compromessi di modellazione e prototipazione", afferma Roddy. “Un architetto di sistema deve rispondere a domande sugli obiettivi di progettazione del SoC indipendentemente dalla marca del processore. A livello tecnico, il carrozzone RISC-V è davvero in una posizione stabile nel mercato rispetto al supporto degli strumenti di modellazione e analisi delle prestazioni. Esistono numerosi fornitori core concorrenti, ciascuno con implementazioni e caratteristiche del processore diverse. Essendo una CPU del sistema principale, non ha la longevità di un Arm, e quindi meno attori dell'ecosistema nel mondo EDA hanno un supporto di modellazione ampiamente convalidato e pronto all'uso per i core RISC-V standard della varietà dei fornitori RISC-V. Essendo un nucleo configurabile e modificabile, il mondo RISC-V è in ritardo rispetto al livello di automazione del set di istruzioni che Tensilica ha dedicato 25 anni a costruire. Pertanto RISC-V ha meno supporto di modellazione come elemento costitutivo già pronto e meno automazione da utilizzare come piattaforma per la sperimentazione di set di istruzioni”.
Ma questo è solo un aspetto dell’implementazione che deve essere valutato. Qual è la sua qualità? Se vuoi modificarlo, come lo riconvalidi?
Le prestazioni sono le più facili da valutare. "Questo non è diverso dal rivolgersi a qualsiasi fornitore di processori tradizionale", afferma Davidmann. “Ti diranno che questo core ti dà questo numero di Dhrystones per watt, ti forniranno i dati analitici tipici del processore, che dicono che questa è la velocità con cui funziona questa microarchitettura. Hanno tutti quei dati e chiunque abbia la licenza per un core del processore avrà familiarità con quei dati e andrà a parlare con loro e otterrà quelle informazioni. Probabilmente avranno molte opzioni selezionabili nella loro scheda tecnica e diranno: "Se attivi questa opzione, otterrai questo o quello". Puoi guardarlo sulla scheda tecnica, sui siti web dei venditori.
A questo livello, probabilmente avrai bisogno della precisione del ciclo. "Vedo che la maggior parte delle persone lo inserisce in un emulatore e vi esegue abbastanza dati per prendere una decisione ragionevole", afferma Schirrmeister. “Non credo che si passerà presto ai prototipi virtuali. Alcune aziende parlano di prototipi FPGA, in cui si dispone della propria soluzione a scheda singola. A seconda della domanda a cui devi rispondere, potresti decidere di configurarlo, generarlo e quindi inserirlo in un FPGA per eseguire più dati al suo interno, con sopra le routine software appropriate. L’industria dispone di vie di accesso agli emulatori e alla prototipazione sufficientemente rapide da renderlo possibile. Il problema di base è che vuoi prendere questa decisione sulla base di dati quanto più accurati possibile, ma potresti non avere dati così accurati nel momento in cui vuoi prendere quella decisione.
Molti di questi prototipi devono includere qualcosa di più del semplice processore. "Le piattaforme virtuali offrono la possibilità di integrarsi con altre funzioni hardware fisiche esterne, come memoria e sensori che operano in un ambiente reale", afferma Narayanan di Microchip. “I sistemi ibridi possono riunire piattaforme virtuali con prototipi fisici per altre funzioni esterne. L’emulazione e la prototipazione FPGA aiutano a trovare bug legati ai tempi, come le condizioni di gara, poiché questo è più accurato dal punto di vista del ciclo e le funzioni esterne funzionano a velocità”.
Convalida
Poiché la progettazione del processore è stata effettuata internamente per molto tempo, non esiste un ecosistema di verifica pubblico per la creazione di un processore e le funzionalità di RISC-V richiedono una soluzione di verifica molto più flessibile di quanto sia mai esistita in passato. La creazione di tutto ciò sta appena cominciando ad accadere.
"Esistono parametri di settore come Dhrystones o CoreMark, quindi le persone possono confrontare le prestazioni", afferma Davidmann. “Ma come si può confrontare la qualità della verifica? È necessario che vi sia parità di condizioni in modo che ciascun fornitore possa dire: "Noi lo facciamo così". Abbiamo bisogno di alcuni parametri di qualità che abbiano a che fare con la verifica”.
È qui che il movimento open source può aiutare. "Se si considera l'ecosistema RISC-V, si nota un gran numero di sviluppatori di processori di grande esperienza", afferma Schirrmeister. “Ci sono due estremi. Uno è che sto ricevendo un core da un fornitore e se non funziona, hai un problema con loro. D'altro canto ho totale libertà e faccio tutto da solo. Da qualche parte tra questi due estremi si sta sviluppando un equilibrio. Ottieni qualcosa in cui il tuo fornitore fornisce una certa quantità di verifica e quindi le estensioni sono di tua responsabilità.
Ed è qui che entrano in gioco i parametri. "La compatibilità ISA è solo il primo gradino di una scala piena di complessità che solo poche aziende sono riuscite a scalare", afferma Dave Kelf, CEO di Breker Verification Systems. “La prototipazione potrebbe essere l’unico modo per garantire pienamente il funzionamento affidabile del processore, ma sfruttare carichi di lavoro reali per gestire questi prototipi scalfisce la superficie della copertura reale del processore. Ciò è in contrasto con gli sforzi competitivi di un ISA aperto che promuove uno sviluppo accelerato e problemi di time-to-market”.
Ma quali sono questi parametri? "Nel gruppo di qualità OpenHW, stiamo cercando di capire quali dovrebbero essere questi parametri", afferma Davidmann. “Ciò include cose come la copertura funzionale, perché non si tratta solo di semplici istruzioni. Per un processore di alta qualità, hai bisogno di molto di più. È necessario disporre di una metodologia di verifica, in cui ci sia la certezza che i confronti con un riferimento coprano tutto. La copertura funzionale mostra semplicemente che hai superato il test, ma deve essere abbinata a una metodologia che confronti con una qualche forma di riferimento noto. Aggiungeremo la tecnologia di iniezione dei guasti in modo che diventi possibile scoprire se il banco di prova rileva effettivamente i problemi.
Fig. 1: Definizione dell'architettura di una soluzione di verifica RISC-V. Fonte: Imperas
Ci vorrà una serie di strumenti. “Con la maturazione dell’ecosistema RISC-V, le implementazioni commerciali stanno iniziando a supportare segmenti di mercato definiti”, afferma Ashish Darbari, fondatore e CEO di Axiomise. “Vediamo supporto per mercati, come quello automobilistico, che richiedono la conformità alla sicurezza funzionale. Vediamo il supporto per l’IoT, che richiede sicurezza. I fornitori di RISC-V stanno investendo in tecniche di verifica avanzate, inclusa la prototipazione virtuale per la modellazione e le prestazioni dell'architettura. Sono ora disponibili strumenti per l’adozione anticipata di metodi formali per eliminare i bug nelle prime fasi del processo di progettazione ed evitare l’inserimento di bug mentre i progettisti faticano a individuare bug limite con la simulazione sull’interfaccia processore-memoria”.
Uno degli strumenti che saranno necessari è la capacità di generare test basati su un elenco di funzionalità o un insieme di capacità. "La generazione automatizzata di contenuti di test per realizzare prototipi che tengano conto delle complessità della verifica in modo tempestivo è fondamentale", afferma Kelf di Breker. “Questi meccanismi di generazione stanno ora iniziando ad emergere sul mercato”.
Conclusione
Un ecosistema è valido tanto quanto il suo componente più debole, e per RISC-V questa è la toolchain EDA. Le ragioni di ciò sono duplici. Innanzitutto, fino a poco tempo fa non esisteva un mercato commerciale per gli strumenti di verifica dei processori. Sebbene esistessero in passato, erano tutti scomparsi o erano stati dissolti nelle società di elaborazione legacy. In secondo luogo, la flessibilità dell’ISA RISC-V crea un nuovo approccio di ottimizzazione a livello di sistema che richiede una nuova serie di strumenti. Ci vuole tempo perché questa opportunità venga compresa e perché appaiano strumenti commerciali che la affrontino adeguatamente.
Leggi Anche
Un RISC-V minimo
C'è spazio per una versione ancora più piccola di un processore RISC-V che potrebbe sostituire i microcontrollori a 8 bit?
RISC-V entra nel mainstream
I core del processore open source stanno iniziando a comparire in SoC e pacchetti eterogenei.
Traccia efficiente in RISC-V
Come lavorare con il nuovo standard di debug RISC-V.
Quanto sono sicuri i chip RISC-V?
L'open source di per sé non garantisce la sicurezza. Si riduce ancora ai fondamenti del design.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://semiengineering.com/selecting-the-right-risc-v-core/
- 1
- 10
- a
- capacità
- capace
- Chi siamo
- sopra
- accelerata
- acceleratori
- Accetta
- accettabile
- Il mio account
- precisione
- preciso
- effettivamente
- indirizzo
- Adozione
- Avanzate
- Dopo shavasana, sedersi in silenzio; saluti;
- contro
- algoritmo
- Tutti
- già
- quantità
- .
- Analitico
- ed
- e infrastruttura
- rispondere
- apparire
- Applicazioni
- approccio
- opportuno
- Arco
- architettonico
- architettura
- RISERVATA
- ARM
- aspetto
- valutato
- Automatizzata
- Automazione
- settore automobilistico
- disponibile
- media
- precedente
- Larghezza di banda
- basato
- basic
- perché
- diventa
- diventando
- prima
- Inizio
- essendo
- beneficio
- MIGLIORE
- fra
- Al di là di
- Big
- Po
- Bloccare
- tavola
- marca
- portare
- in linea di massima
- Insetto
- bug
- costruire
- Costruzione
- costruito
- affari
- sviluppo commerciale
- CAD
- funzionalità
- capace
- lotta
- ceo
- certo
- Challenge
- sfide
- probabilità
- il cambiamento
- Chips
- scegliere
- scelte
- Scegli
- Scalato
- OCM
- Collaterale
- Venire
- commercialmente
- Uncommon
- Aziende
- confrontare
- compatibilità
- concorrenti
- competitivo
- completamento di una
- complessità
- conformità
- componente
- componenti
- computer
- preoccupazioni
- condizioni
- fiducia
- Configurazione
- Collegamento
- Considerazioni
- contenuto
- Nucleo
- potuto
- accoppiato
- copertura
- copertura
- CPU
- creato
- crea
- Creazione
- creazione
- Torrente
- CTO
- Attualmente
- dati
- Dave
- decisione
- definizione
- consegnare
- richieste
- Shirts Department
- Dipendente
- schierato
- Design
- processo di progettazione
- designer e gli illustratori veneziani,
- sviluppare
- sviluppato
- sviluppatori
- in via di sviluppo
- Mercato
- dispositivi
- diverso
- difficile
- Direttore
- non
- Dont
- giù
- guidare
- spinto
- guida
- durante
- ogni
- Presto
- più semplice
- ecosistema
- ecosistemi
- sforzo
- sforzi
- o
- incorporato
- Abilita
- motore
- Ingegneria
- Motori
- abbastanza
- garantire
- assicurando
- Impresa
- Intero
- iscrizione
- Ambiente
- ambienti
- Equivale
- equilibrio
- sviluppate
- stime
- valutare
- Anche
- EVER
- qualunque cosa
- esecuzione
- esperto
- estendendo
- estensione
- estensioni
- esterno
- estremo
- Faccia
- familiare
- Moda
- FAST
- più veloce
- caratteristica
- Caratteristiche
- pochi
- campo
- Fico
- Trovare
- ricerca
- Nome
- in forma
- fisso
- Flessibilità
- flessibile
- modulo
- formale
- fondatore
- Fondatore e CEO
- FPGA
- La libertà
- da
- pieno
- completamente
- function
- funzionale
- funzioni
- Fondamenti
- generalmente
- generare
- la generazione di
- ELETTRICA
- ottenere
- ottenere
- Dare
- dà
- Go
- Obiettivi
- andando
- buono
- maggiore
- Gruppo
- Crescita
- di garanzia
- accadere
- Hardware
- Aiuto
- aiuta
- alta qualità
- homegrown
- cavallo
- Come
- HTTPS
- Enorme
- Impact
- realizzare
- implementazione
- in
- includere
- inclusi
- Compreso
- crescente
- sempre più
- industria
- informazioni
- Infrastruttura
- istruzioni
- integrare
- Intel
- interessato
- Interfaccia
- Internazionale
- investire
- coinvolto
- IoT
- IP
- sicurezza
- IT
- stessa
- Lavoro
- Le
- Genere
- Sapere
- conosciuto
- scala
- grandi
- Eredità
- Livello
- livelli
- leveraging
- Licenze
- probabile
- linux
- Lista
- Lunghi
- a lungo
- longevità
- Guarda
- cerca
- fatto
- Principale
- make
- creatore
- FA
- molti
- marchio
- Rappresentanza
- Mercati
- matura
- max-width
- Soddisfare
- Memorie
- Metodologia
- metodi
- Metrica
- minimo
- modello
- modellismo
- modelli
- modificare
- Scopri di più
- maggior parte
- movimento
- in movimento
- necessaria
- Bisogno
- esigenze
- New
- numero
- numerose
- obiettivo
- Probabilità
- offerte
- ONE
- aprire
- open source
- operativo
- operazione
- Opportunità
- ottimizzazione
- Opzione
- Opzioni
- minimo
- ordini
- Altro
- proprio
- Packages
- parte
- Ricambi
- passato
- Corrente di
- Persone
- performance
- Fisico
- conduttura
- Perno
- piattaforma
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- giocatori
- gioco
- punto
- Punto di vista
- posizione
- possibilità
- possibile
- energia
- Presidente
- probabilmente
- Problema
- problemi
- processi
- Processore
- processori
- Progressi
- propriamente
- prototipo
- prototipi
- prototipazione
- fornire
- purché
- fornitore
- la percezione
- pompa
- di pompaggio
- scopo
- fini
- qualità
- domanda
- Domande
- Gara
- gamma
- preconfezionato
- di rose
- mondo reale
- ragione
- ragionevole
- motivi
- recentemente
- Indipendentemente
- affidabile
- sostituire
- richiedere
- necessario
- requisito
- Requisiti
- richiede
- responsabilità
- Prenotazione sale
- Correre
- running
- Sicurezza
- Sicurezza
- Secondo
- sicuro
- problemi di
- segmenti
- selezionato
- Selezione
- prodotti
- anziano
- sensore
- set
- alcuni
- dovrebbero
- mostrare attraverso le sue creazioni
- Spettacoli
- significativa
- Simon
- Un'espansione
- simulazione
- singolo
- Lentamente
- inferiore
- So
- Software
- lo sviluppo del software
- soluzione
- Soluzioni
- alcuni
- Qualcuno
- qualcosa
- da qualche parte
- Arrivo
- Fonte
- velocità
- esaurito
- Spin
- stabile
- tappe
- Standard
- Di partenza
- Steve
- Ancora
- Lotta
- tale
- suite
- supporto
- superficie
- sistema
- SISTEMI DI TRATTAMENTO
- Fai
- prende
- Parlare
- parlando
- le squadre
- Consulenza
- tecniche
- Tecnologia
- modello
- test
- I
- loro
- perciò
- cosa
- cose
- tre
- Attraverso
- portata
- tempo
- richiede tempo
- volte
- sincronizzazione
- a
- oggi
- insieme
- pure
- strumenti
- top
- Totale
- tracciare
- tradizionale
- TURNO
- tipico
- tipicamente
- inteso
- unità
- imminenti
- uso
- Utente
- utenti
- convalidato
- convalida
- APPREZZIAMO
- varietà
- venditore
- fornitori
- Convalida
- versione
- vitale
- Vicepresidente
- Visualizza
- virtuale
- piattaforme virtuali
- volendo
- modi
- siti web
- Che
- Che cosa è l'
- se
- quale
- while
- volere
- entro
- Lavora
- allenarsi
- mondo
- sarebbe
- Wrong
- X
- anni
- Trasferimento da aeroporto a Sharm
- zefiro