Quale metodo suggerisci per la prototipazione di circuiti asincroni?


9

Sono rimasto sorpreso e in parte scioccato dal constatare che non esiste uno strumento adeguato per la progettazione e la prototipazione di circuiti asincroni.

Continuo a cercare utilizzando Google e altri mezzi per trovare un buon metodo per progettare circuiti asincroni VLSI, ma finora le ricerche non sono riuscite a produrre una risposta.

Ci sono alcuni strumenti abbandonati come Balsa, ecc. Per automatizzare i progetti VLSI, ma sono totalmente privi di documenti e difficili da usare. Quello che sto cercando è qualcosa come FPGA che abbiamo nel mondo sincrono.

Ad ogni modo, lo apprezzo se condividi il nome di uno strumento affidabile e la prototipazione di hardware che alleggerisce il peso della progettazione di circuiti asincroni.


10
Non lo troverai (prodotti e strumenti commerciali), perché non è richiesta dal mercato. Il design asincrono è molto più difficile da ottenere, motivo per cui è più conveniente limitarne l'uso a poche funzioni primitive ben definite (infradito, ecc.) E quindi utilizzare tecniche sincrone per tutte le funzioni di livello superiore. Aiutaci spiegando la tua motivazione per questo e ciò che speri di realizzare.
Dave Tweed,

6
L'essenza di un progetto di ricerca è di fare qualcosa di nuovo, quindi ci si può aspettare solo il fatto che ci sono piste sterrate abbandonate anziché autostrade interstatali. L'unico suggerimento che posso suggerire è cercare i documenti di Teresa Meng. Ricordo di aver visto uno o due dall'ISSCC 1990 quando si tenne a Glasgow.
Brian Drummond,

5
Allo stesso modo ho studiato con Simon Moore ( cl.cam.ac.uk/~swm11/resume ) che ha lavorato un intero gruppo su questo oltre un decennio fa. Sono stato anche coinvolto in un avvio asincrono di strumenti di progettazione hardware .. che si è spostato su strumenti di progettazione sincroni a bassa potenza, a causa della mancanza di mercato. Ancora una volta dovresti cercare documenti da lui e dal suo gruppo di ricerca.
pjc50,

4
(Inoltre, le persone che stanno votando per chiudere questa domanda perché non si tratta di progettazione elettronica hanno semplicemente torto)
pjc50

2
C'è anche NULL Convention Logic con una libreria di primitive VHDL. I nomi primitivi indicano un collegamento a Theseus Research Inc .. C'è stata una domanda sul moltiplicatore NCL su Stack Overflow ritirata circa il tempo in cui stavo per fare un banco di prova. (13 maggio 2015). L'idea si presenta periodicamente per evitare l'analisi della potenza nella crittografia (ho visto una menzione IACR la scorsa settimana). Un libro DESIGN LOGICAMENTE DETERMINATO DESIGN DEL SISTEMA SENZA OROLOGI CON LOGICA A CONVENZIONE NULL , Karl M. Fant.
user8352

Risposte:


3

È stata menzionata la logica NCL di Theseus, c'erano anche i sistemi Handshake (spin-off Philips), Fulcrum Microsystems e Caltech. C'era anche un processore ARM asincrono chiamato Amulet. E SUN Microsystems aveva un team di progettazione di processori anche per questo SPARC senza clock.

Chiamerei questi design senza orologio per evitare la confusione tra design logico come contatori di ripple e questi tipi di circuiti. Ma in generale viene usato uno dei due termini.

Anche DC (Design Compiler) di Synopsys e Merlin dei sistemi FTL erano disponibili.

Tuttavia, se si dispone di una libreria di celle core progettata correttamente, questa astrazione / descrizione di livello superiore può diventare banale. Il problema principale è che se hai progettato un sistema che consente a ciascuna cellula di propagare in avanti un segnale che dice "risultato buono" così come propagare "sistema disponibile" all'indietro, gli auto-orologi del sistema e come tali possono essere semplicemente progettati in software senza preoccupazioni per le condizioni di gara o i tempi per quella materia.

Quindi gli strumenti utilizzati sarebbero semplici come SPICE per la progettazione a livello di cella (a livello di transistor) e C per la compilazione in una serie di primitivi da posizionare. Per la mia vita non riesco a trovare lo strumento basato su C (open source) che è stato utilizzato.

Guarda a persone come Wesley Clark (scomparso di recente), nonché Ivan Sutherland e Karl Fant (menzionati anche altrove).


@Ehsan: E 'sicuramente interessante, ma non riesco a vedere come si affronta la questione a tutti . Il layout a livello di cella è per la progettazione ASIC, non per la prototipazione.
Ben Voigt,

@Ben: sono d'accordo, ed è per questo che non ho accettato la sua risposta. Ma potrei \ emp {simulare} alcuni circuiti asincroni di base usando le librerie a livello di cella in MultiSim e LTSpice. La logica NCL ha anche una libreria Verilog sandbox che è possibile prototipare circuiti basati su NCL usando FPGA: github.com/karlfant/NCL_sandbox . Ma non l'ho ancora provato. Quando ho studiato l'NCL ho capito l'enorme sovraccarico dell'approccio, quindi sto cercando di evitarlo e ho trovato qualcosa di più pratico.
Ehsan,

2

Se un registro è sincronizzato con un orologio di sistema, sarebbe considerato sincrono. Se quello stesso registro fosse sincronizzato direttamente da un gate, un circuito logico o in generale qualsiasi cosa oltre a un clock di sistema sarebbe asincrono. I registri di Altera possono essere sincronizzati da più orologi di sistema o dalla logica. Puoi costruire qualunque tipo di circuito di gate desideri. . . È stata la mia esperienza con la maggior parte dei tipi di ASIC o FPGA che ogni volta che viene compilato, qualcosa viene instradato in modo diverso. Pertanto i ritardi di propagazione cambiano sempre.


2

Un FPGA è l'hardware giusto. Ma non sarai in grado di utilizzare il software di sintesi focalizzato sincrono, perché rende le trasformazioni sbagliate.

Ad esempio, un FPGA è perfettamente in grado di formare un oscillatore costruito con una catena di inverter. Ma se si definisce quella catena di inverter in es. VHDL e si utilizza uno dei compilatori standard, "NOT-gate pushback" eliminerà gli inverter in coppia e ne lascerà solo uno e il dispositivo non oscillerà.

Potrebbe essere necessario scrivere alcuni dei tuoi software di sintesi, il che sarà possibile se otterrai abbastanza informazioni sul bitstream. Esaminerei altri sforzi di ricerca che operano sul bitstream piuttosto che sulla descrizione comportamentale - cose come il rilevamento di glitch e le analisi di affidabilità dipendono fortemente dalla mappatura scelta dal sintetizzatore. Probabilmente alcuni lavori nell'area della logica ridondante a tolleranza d'errore hanno già elaborato alcune tecniche di mappatura personalizzate, poiché l'eliminazione dei termini di prodotto comune è una delle trasformazioni standard eseguite da un sintetizzatore tradizionale e distrugge assolutamente un progetto ridondante.

Quando controlli l'utilizzo delle primitive dell'elemento logico FPGA come tabelle di ricerca e interconnessione locale e globale, sarai in grado di utilizzare i ritardi intrinseci per realizzare il tuo progetto asincrono. Il tuo problema di ottimizzazione è molto più difficile che adattarsi all'obiettivo di rispettare i tempi di installazione e sospensione, ma questo è ciò che lo rende ricerca.


1

A seconda della complessità del circuito. Se il tuo progetto è per lo più digitale, potresti utilizzare il sistema Quartus di Altera. Inserisci il tuo design con strumenti grafici e / o VHDL usando registri con clock asincrono o usa solo porte logiche. Aggiungi buffer fittizi, gate, pin di segnale ecc., Se necessario, per ritardare i percorsi del segnale in modo che corrispondano a ciò di cui hai bisogno. (supponendo che il tuo design sia più lento dei loro ritardi gate CPLD più veloci <5 ns)

Molti anni di progettazione con i loro chip, non ho mai trovato un risultato simulatore errato. I progetti più piccoli possono essere realizzati con i loro strumenti gratuiti.


"registri con clock asincrono"?! Non sono sicuro che tu abbia capito bene i concetti. Non esistono "registri con clock asincrono". Un circuito o ha un clock (sincrono) o no (asincrono). Lo strumento che sto cercando deve supportare il primitivo Muller gate, dual-rail, 2NCL gates, ecc.
Ehsan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.