ITTO20120289A1 - Circuito per comunicazioni asincrone, sistema e procedimento relativi - Google Patents

Circuito per comunicazioni asincrone, sistema e procedimento relativi Download PDF

Info

Publication number
ITTO20120289A1
ITTO20120289A1 IT000289A ITTO20120289A ITTO20120289A1 IT TO20120289 A1 ITTO20120289 A1 IT TO20120289A1 IT 000289 A IT000289 A IT 000289A IT TO20120289 A ITTO20120289 A IT TO20120289A IT TO20120289 A1 ITTO20120289 A1 IT TO20120289A1
Authority
IT
Italy
Prior art keywords
signal
lines
groups
signal lines
asserted
Prior art date
Application number
IT000289A
Other languages
English (en)
Inventor
Daniele Mangano
Salvatore Pisasale
Carmelo Pistritto
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT000289A priority Critical patent/ITTO20120289A1/it
Priority to US13/854,419 priority patent/US9191033B2/en
Publication of ITTO20120289A1 publication Critical patent/ITTO20120289A1/it

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/51Constant weight codes; n-out-of-m codes; Berger codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

DESCRIZIONE dell’invenzione industriale dal titolo:
“Circuito per comunicazioni asincrone, sistema e procedimento relativiâ€
TESTO DELLA DESCRIZIONE
Campo tecnico
La presente descrizione si riferisce alle comunicazioni asincrone.
Varie forme di attuazione possono trovare applicazione nell'ambito di sistemi quali i cosiddetti System-on-Chip (SoC).
Varie forme di attuazione possono trovare applicazione nell’ambito di infrastrutture di comunicazione del tipo noto come Network-on-Chip (NoC) in cui più nuclei o core IP (Intellectual Property) sono interconnessi in uno schema di commutazione a pacchetto (packet switched).
Come noto, per nucleo o core IP si intende un blocco di logica o di dati utilizzabile, ad esempio, per realizzare circuiti FGPA (Field Gate Programmable Array) o ASIC (Application Specific Integrated Circuit.
Sfondo tecnologico
Il ricorso a tecnologie su scala submicrometrica nella realizzazione di sistemi microelettronici quali i sistemi denominati System-on-Chip o SoC può indurre fenomeni di varia natura (denominati “deep-submicron effects†) suscettibili di tradursi in limitazioni in termini di prestazioni e/o di produttività. Tali effetti possono essere avvertiti, ad esempio, nelle tecnologie a 32 nm e, in maniera ancor più sensibile, nelle tecnologie a 22 nm.
Un possibile indirizzo di soluzione per superare tali inconvenienti à ̈ legato al ricorso, per le comunicazioni onchip, a modalità di trasmissione asincrone.
La figura 1 dei disegni annessi illustra in modo schematico un contesto applicativo, ad esempio di Systemon-Chip o SoC, in cui dati asincroni (AData) sono trasmessi fra un trasmettitore TX ed un ricevitore RX su un canale di comunicazione con varie linee di segnale configurato ad esempio come un bus. La trasmissione dei dati può avvenire, ad esempio, fra un codificatore ENC ed un decodificatore DEC e prevedere la trasmissione di un segnale di conferma del completamento della trasmissione, indicato nella figura come AAck. Questo segnale à ̈ destinato ad essere trasmesso in funzione dell’emissione, da parte di un circuito rivelatore del completamento della trasmissione (Completion Detector, nel seguito, per brevità, “circuito CD"), di un segnale, indicato con "done", suscettibile di indicare il fatto che i dati sulle linee di segnale del canale di trasmissione sono stabili, ossia che il trasferimento à ̈ stato completato, dunque fatto (appunto, “done†).
La figura 2 rappresenta, sempre a titolo esemplificativo, un possibile cronogramma relativo alla trasmissione di dati asincroni AData (effettuata, ad esempio, in quattro fasi indicate come PHASE 1, PHASE 2, PAHSE 3 e PHASE 4 che seguono una fase iniziale di ripristino o RESET) ed alla emissione del segnale AAck.
In varie soluzioni, lo schema esemplificato nella figura 2 può corrispondere all’implementazione di un protocollo handshake basato sui seguenti criteri:
- quando non ci sono transazioni in corso, tutti i segnali in uscita dal trasmettitore TX, e dunque tutte le linee di segnale del canale di trasmissione, sono deasseriti, ad esempio al livello logico 0 (condizione indicata come RESET a sinistra nella figura 2);
- quando il modulo o nucleo IP trasmettitore invia una richiesta e il trasmettitore TX vuole avviare una transazione, esso pilota le uscite in modo corrispondente (PHASE 1 nella figura 2);
- quando il lato ricevitore RX riconosce sulle linee di segnale del canale di trasmissione la condizione di "dati validi", ossia di dati stabili, non più soggetti a transizioni, esso campiona i dati ed asserisce un segnale di acknowledgement (AAck) per il trasmettitore TX (PHASE 2 nella figura 2);
- quando il trasmettitore TX riceve un segnale AAck, esso de-asserisce tutte le sue uscite (PHASE 3 nella figura 2);
- quando il ricevitore RX rileva in modo corrispondente il de-asserimento (ad esempio al livello logico O) dei suoi ingressi, esso de-asserisce il segnale AAck (PHASE 4 nella figura 2); e
- infine, quando il trasmettitore TX riconosce che il segnale AAck à ̈ stato de-asserito, il sistema torna alla condizione iniziale di RESET, permettendo il possibile inizio di una nuova transazione può iniziare.
Gli inventori hanno osservato che in un tale contesto applicativo esiste la possibilità di ricorrere a circuiti e/o schemi di codifica insensibili ai ritardi (Delay-Insensitive o DI). Ad esempio questo approccio può essere utilizzato per realizzare collegamenti asincroni on-chip tali da permettere una agevole interconnessione fra unità on-chip operanti con clock diversi. Una caratteristica di vari codici DI sta nella capacità di consentire la corretta interpretazione della parola di codice in modo indipendente dal ritardo di singoli bit.
Un esempio di una tale codifica (attuabile ad esempio a livello del codificatore ENC della figura 1, con corrispondente decodifica da parte del decodificatore DEC) à ̈ uno schema di codifica dual rail, dove si possono usare n fili o linee per trasmettere una parola dati di n/2 bit. Questo schema di codifica à ̈ semplice e richiede un minimo apporto di logica aggiuntiva. Quando applicato a sistemi di interconnessione grandi e complessi, il costo legato al raddoppio della larghezza del cammino dei dati o data path (in termini sia di area del chip, sia, come conseguenza, di ritardi di propagazione) può però divenire inaccettabile.
Un altro esempio di codifica insensibile ai ritardi (Delay Insensitive o DI), anch’essa attuabile ad esempio a livello del codificatore ENC della figura 1, à ̈ la codifica m-of-n, in cui m linee fra n linee sono disponibili per la trasmissione a livello di uno logico. In un certo senso, la codifica dual rail non à ̈ altro che un caso particolare di codifica m-of-n, con m=1 e n=2, ossia in cui a ciascun bit si applica una codifica 1-of-2.
Si può anche pensare alla codifica dual–rail come a una codifica 1-of-2 applicata a “gruppi†di linee di ampiezza unitaria. Il concetto di gruppo può essere peraltro generalizzato al caso della codifica m-of-n. Ad esempio, la figura 3 mette in luce, ancora una volta in modo schematico per semplicità di trattazione, che il problema di rilevare la stabilità dei dati nei termini delineati in precedenza può essere generalizzato al caso di bus di notevole larghezza o ampiezza in cui le linee di segnale, e dunque i dati o bit trasmessi, sono organizzati (ad esempio a livello di encoder ENC – vedi figura 1) in più gruppi; ad esempio, la figura 3 illustra schematicamente una possibile configurazione "4-of-8", che rappresenta un caso particolare del caso più generale "mof-n".
Ancora un altro esempio di codifica insensibile al ritardo (DI) à ̈ la codifica di Berger. Il codice di Berger à ̈ un codice applicabile alla rivelazione degli errori nella trasmissione dei dati. È composto di due parti: i bit di informazione (D, bit dati) e bit di controllo (CR, check bit), vale a dire la rappresentazione binaria del conteggio dei bit di informazione che sono a 0.
Documenti rappresentativi della tecnica nota considerata in precedenza sono, ad esempio:
- M.H. Sawasaki et al., "Externally Hazard-Free Implementations of Asynchronous Control Circuits†- IEEE Transactions on Computer-Aided Design of Integrated Circuit and Systems, Vol. 16, No. 8, August 1977, pp.835-848,
- S. Hauck, "Asynchronous Design methodologies: An Overview - Proceedings of the IEEE, Vol. 83, No. 1, pp.
69-93, January 1995,
- T.H.-Y.Meng et al., “Automatic Synthesis of Asynchronous Circuits from High-level Specifications†, IEEE Transactions on Computer–Aided Design, Vol. 8, Number 11, November 1989, pp. 1185-1205,
- G. Campobello et al., “GALS Networks on Chip: A New Solution for Asynchronous Delay-Insensitive Links†, Design, Automation and Test in Europe, 2006 (DATE '06); Proceedings Volume 2; Year: 2006, pp. 1-6.
L’ultimo documento citato contiene una discussione generale di schemi di codifica dual-rail, m-of-n e di Berger, con l’esemplificazione della possibile applicazione della codifica di Berger a collegamenti asincroni insensibili al ritardo in un contesto di Network–on-Chip (NoC).
L'implementazione di circuiti del tipo qui considerato può tuttavia risultare critica; le codifiche insensibili ai ritardi possono infatti dimostrarsi onerose sia in termini di area di silicio impegnata, sia a livello di flussi di progettazione, ad esempio per quanto riguarda la disponibilità di celle in grado di trattare con elementi di memoria asincroni.
Ad esempio, per implementare circuiti CD (si rammenta ancora che con questa denominazione indica un circuito “Completion Detection†, ossia un circuito rivelatore del completamento della trasmissione, così come presentato in precedenza) à ̈ possibile ricorrere ad elementi logici del tipo correntemente denominato "elemento C" (C-element).
Questo componente logico asincrono, noto anche come Muller C-element o Muller C-gate, à ̈ un circuito logico con isteresi la cui uscita riflette gli ingressi in caso di corrispondenza degli stati di tutti gli ingressi con la capacità di rimanere in questo stato fino a quando tutti gli ingressi subiscono una transizione ad un altro stato. Tale circuito esiste anche in una versione, detta "asimmetrica", in cui solo alcuni degli ingressi possono incidere a livello di una delle transizioni dell'uscita.
Gli inventori hanno osservato che una cella basata su elementi C non può essere considerata una cella standard e, in più, à ̈ suscettibile di presentare aspetti critici di implementazione a livello di porta (gate), in particolare per quanto riguarda il possibile conseguimento di un funzionamento “glitches free†. Ancora, si tratta di una cella non adatta ad essere trattata in modo semplice a livello di flusso di design corrente.
Gli inventori hanno altresì osservato che tali problemi diventano ancora più evidenti nel caso dell'applicazione a bus di grande ampiezza. In un tale possibile ambito di applicazione può infatti insorgere l'esigenza di rilevare che i dati siano stabili su tutti i gruppi di dati su cui il bus à ̈ stato organizzato, con la conseguenza di utilizzare celle con elementi C a più ingressi. Questo può implicare un uso molto esteso di elementi C (anche a livello di implementazione su pipeline).
Scopo e sintesi
Varie forme di attuazione mirano a superare gli aspetti critici delineati in precedenza, ad esempio in relazione all'esigenza di disporre di sistemi insensibili al ritardo (Delay Insensitive o DI) realizzabili in modo semplice e con costo ridotto e/o tali da permettere l'implementazione di elementi di memoria asincroni utilizzando flussi di progettazione e celle di impiego corrente.
In varie forme di attuazione, tale scopo à ̈ raggiunto grazie ad un circuito avente le caratteristiche richiamate in modo specifico nelle rivendicazioni che seguono. La descrizione riguarda anche un corrispondente sistema ed un corrispondente procedimento.
Le rivendicazioni formano parte integrante dell'insegnamento tecnico qui somministrato in relazione all'invenzione.
Varie forme di attuazione possono prevedere il ricorso ad una macchina a stati finiti asincrona (Asynchronous Finite State Machine o AFSM), implementata ad esempio tramite flip-flop, ed evitare così il ricorso ad una logica ad elementi C, in particolare nel caso (così come rappresentato in precedenza) di una comunicazione in quattro fasi insensibile ai ritardi (4 PHASE DI).
Varie forme di attuazione possono fondarsi, ad esempio in relazione ad una codifica m-of-n (o dual rail, come caso particolare 1-of-2), sul criterio di rilevare la stabilità dei dati verificando la condizione per cui un numero dato (ad es. m) delle (ad es. n) linee sono asserite, identificando eventualmente, nel caso in cui le linee siano ripartite su più gruppi, la condizione complessiva di stabilità dei dati come quella per cui i dati sono stabili in tutti e ciascuno dei gruppi. Varie forme di attuazione possono fondarsi sul criterio di rilevare la condizione di ritorno a zero come quella in cui tutti i bit siano a zero, identificando eventualmente, nel caso in cui le linee siano ripartite su più gruppi, la condizione complessiva di ritorno a zero come quella per cui, in tutti e ciascuno dei gruppi, tutti i bit siano a zero. Varie forme di attuazione possono prevedere l’impiego di codifiche insensibili al ritardo (Delay-Insensitive o DI) di tipo diverso, ad esempio l’impiego di una codifica di Berger. Varie forme di attuazione possono prevedere una microarchitettura logica di rilevazione applicabile per qualunque tipo di codifica DI anche a bus molto larghi o ampi (wide).
Breve descrizione dei disegni
L'invenzione sarà ora descritta, a puro titolo di esempio non limitativo, con riferimento ai disegni annessi, in cui:
- le figure 1 a 3 sono già state descritte in precedenza,
- le figure 4 e 5 sono schemi a blocchi di forme di attuazione,
- le figure 6 e 7 sono ulteriori schemi di maggior dettaglio di forme di attuazione, e
- la figura 8 illustra il possibile funzionamento di forme di attuazione.
Descrizione particolareggiata
Nella seguente descrizione sono illustrati vari dettagli specifici finalizzati ad un’approfondita comprensione di varie forme di attuazione. Le forme di attuazione possono essere realizzate senza uno o più dei dettagli specifici, o con altri metodi componenti materiali, etc. In altri casi, strutture, materiali o operazioni noti non sono mostrati o descritti in dettaglio per evitare di rendere oscuri i vari aspetti delle forme di attuazione.
Il riferimento ad “una forma di attuazione†nell’ambito di questa descrizione sta ad indicare che una particolare configurazione, struttura o caratteristica descritta in relazione alla forma di attuazione à ̈ compresa in almeno una forma di attuazione. Quindi, frasi come “in una forma di attuazione†, eventualmente presenti in diversi luoghi di questa descrizione non sono necessariamente riferite alla stessa forma di attuazione. Inoltre, particolari conformazioni, strutture o caratteristiche possono essere combinate in ogni modo adeguato in una o più forme di attuazione.
I riferimenti qui utilizzati sono soltanto per comodità e non definiscono dunque l’ambito di tutela o la portata delle forme di attuazione.
Le figure 4 e successive si riferiscono a possibili esempi di attuazione di un circuito CD sensibile alla trasmissione di dati asincroni AData fra un trasmettitore TX (encoder ENC) ed un ricevitore RX (decoder DEC), ad esempio nell'ambito di un System-on-Chip o SoC, ove il circuito CD à ̈ in grado di generare un segnale “done†, suscettibile di indicare il fatto che i dati sulle linee di segnale del bus sono stabili, per cui il trasferimento dei dati à ̈ stato completato, indicando altresì la condizione in cui le linee sono state “resettate†, per cui il bus à ̈ pronto per procedere ad un nuovo trasferimento di dati.
Il tutto nell’ambito di un contesto di sistema del tipo di quello già in precedenza esemplificato con riferimento alle figure 1 a 3. La descrizione già fornita in relazione a tali figure si applica quindi anche alle varie forme di attuazione nel seguito esemplificate, se non per quanto nel seguito diversamente descritto.
Le figure 4 e successive si riferiscono a possibili esempi di forme di attuazione in cui il circuito CD comprende una logica di rilevazione 100 suscettibile di generare alla sua uscita segnali rispettivamente di "set" e "reset" diretti verso una macchina a stati finiti di tipo asincrono (Asynchronous Finite State Machine o AFSM) 102 suscettibile di generare alla sua uscita il segnale “done†.
La figura 5 fa riferimento ad un possibile esempio di attuazione in cui la logica di rilevazione 100 Ã ̈ ripartita in un rilevatore di bus (bus detector) 100a ed in un modulo aggregatore 100b.
La figura 6 rappresenta in dettaglio un possibile esempio di attuazione dei blocchi 100a e 100b della figura 5 e la figura 7 illustra un possibile esempio di attuazione della macchina a stati finiti 102.
Così come già detto in precedenza, vari esempi di attuazione fanno riferimento ad un canale per la trasmissione dei dati (AData nella figura 1) comprendente un bus le cui linee o fili di bit o di segnale sono organizzati in una pluralità di gruppi secondo uno schema di codifica insensibile ai ritardi (ad es. m-of-n, eventualmente 2-of-1 ossia dual rail, o di Berger).
Varie forme di attuazione possono quindi basare il loro funzionamento sul fatto che la condizione identificativa del fatto che i dati sono “stabili†può essere che in tutti e ciascuno dei gruppi in questione i dati sono stabili (ad es. m fra le n linee siano asserite); detto altrimenti, si ha una condizione di stabilità generale dei dati quando i dati sono stabili in ciascuno dei gruppi e la condizione di ripristino (return-to-zero) può essere che tutti le linee di segnale del bus siano deasseriti (ad esempio si trovino a livello logico “0†).
La descrizione di forme di attuazione data nel seguito si basa, a titolo di esempio, sull’assunto che i segnali/dati in gioco siano segnali binari (livelli logici “0†e “1†) e che la condizione di segnale asserito corrisponda al livello logico “1†, mentre la condizione di segnale de-asserito corrisponda al livello logico “0†. Gli esperti del settore comprenderanno che varie forme di attuazione, in ogni caso comprese nell'ambito della presente descrizione, possono adottare una scelta complementare (segnale asserito = livello logico “0†; segnale de-asserito = livello logico “1†) e che i criteri di implementazione dei blocchi 100a, 100b e 102 possono essere allora modificati in modo corrispondente, fermi restando i criteri di funzionamento descritti.
Con riferimento agli schemi a blocchi delle figure 4 e 5, una possibile forma di attuazione del blocco o modulo rilevatore 100a à ̈ in grado di rilevare, per ciascun gruppo di linee del bus:
- la condizione per cui m fra gli n bit (ad es. 1 su 2, nel caso dual rail) sono stabili (ad es. asseriti ad un primo livello logico, ad es. “1†), e
- la condizione in cui tutti gli n bit sono deasseriti (ad un secondo livello logico, ad es. “0†).
Queste due condizioni identificano rispettivamente la condizione di stabilità dei dati e la condizione di ripristino.
Si apprezzerà ancora che la descrizione qui fornita si riferisce a titolo esemplificativo all’ipotesi che le linee di segnale del bus di sistema siano state ordinate in più gruppi, ad ognuno dei quali corrisponde uno dei segnali in uscita dal modulo 100a ed un determinato numero di bit del dato di partenza (nell’esempio di una codifica 4-of-8, ad ogni gruppo corrispondono 6 bit).
Varie forme di attuazione possono però prevedere il ricorso ad un unico gruppo (ad es. ad una codifica m-of-n applicata sull’intero dato), il che può essere visto come caso particolare dell’approccio più generale basato su un numero arbitrario di gruppi, in cui il numero di gruppi si riduce ad 1.
Nel caso in cui siano presenti più gruppi, varie forme di attuazione possono allora prevedere la presenza del blocco o modulo 100b, che ha lo scopo di aggregare i risultati ottenuti per i vari gruppi di linee del bus dal blocco o modulo 100a e generare in uscita un primo o un secondo segnale (rispettivamente “set†o “reset†, nell'esempio sono qui considerato) che, passando ad esempio da livello logico “0†al livello logico “1†, indicano il fatto che:
- in tutti i gruppi si à ̈ riscontrata la condizione di stabilità (set);
- in tutti i gruppi si à ̈ determinata la condizione per il ripristino (reset).
In varie forme di attuazione, in cui sia previsto il ricorso ad un singolo gruppo (ad es. ad una codifica m-of-n applicata sull’intero dato) il blocco o modulo 100b può divenire superfluo ed i segnali “set†e “reset†possono essere generati direttamente dal blocco o modulo 100a.
Ancora, varie forme di attuazione possono utilizzare una codifica Delay-Insensitive di tipo diverso (ad esempio di Berger), per cui la condizione di stabilità e la condizione per il ripristino possono essere rilevate dal blocco o modulo 100a secondo criteri cui si farà riferimento nel seguito diversi da quelli applicabili per la codifica m-of-n.
La macchina a stati finiti 102 riceve in ingresso i due segnali in questione e genera a sua volta in uscita il segnale “done†, suscettibile, in vari esempi di attuazione, di assumere:
- un primo valore o livello logico (ad esempio, il livello logico “1†, nell’esempio qui considerato) quando all’uscita del blocco o modulo 100b à ̈ stato asserito il segnale (set, nell'esempio qui considerato) rappresentativo del fatto che i dati sono stabili,
- un secondo valore o livello logico (ad esempio livello logico “0†, nell'esempio qui considerato) quando all’uscita del blocco o modulo 100b à ̈ stato asserito il segnale (reset, nell'esempio qui considerato) rappresentativo del fatto che sono determinate le condizioni per il ripristino o ritorno a zero, e
- uno stato o livello di sospensione (“hold†) negli altri casi, ossia quando né l'uno né l'altro dei segnali di uscita del blocco o modulo 100b (set e reset, nell'esempio qui considerato) risulta asserito.
Lo schema a blocchi della figura 6 illustra – facendo riferimento a titolo esemplificativo ad una codifica insensibile ai ritardi (ad es. m-of-n) applicata su più gruppi di linee di bus – ad una possibile forma di attuazione dei blocchi o moduli 100a e 100b secondo uno schema di implementazione semplice ed esente da fenomeni di glitch (glitches-free).
In varie forme di attuazione, il blocco o modulo 100a può comprendere vari sotto-blocchi o sotto-moduli 1000a (ad esempio in numero pari al numero dei gruppi in cui à ̈ organizzato il bus) con ciascun sotto-blocco o sotto-modulo 1000a comprendente a sua volta un sorter 1001a ed una rete logica 1002a.
Il sorter 1001a à ̈ suscettibile di essere costituito da una rete logica in grado di rilevare quando un numero dato delle linee di segnale del rispettivo gruppo à ̈ asserito. In varie forme di attuazione si può trattare ad es. di una logica di tipo combinatorio in grado di rilevare quando m degli n bit del rispettivo gruppo sono asseriti (nell’esempio qui considerato, al livello logico “1†, operando ad esempio secondo la soluzione nota come “batcher†) e ad emettere un segnale (ad es. “1†) logico corrispondente.
La logica 1002a à ̈ in grado di rilevare quando tutti gli n bit del rispettivo gruppo sono de-asseriti (nell’esempio qui considerato, al livello logico “0†, operando dunque semplicemente come una porta logica OR, la cui uscita va a “0†solo quando tutti gli ingressi sono parimenti a “0†) ad emettere un segnale (ad es. “0†) logico corrispondente.
Adottando una tale forma di implementazione, il blocco o modulo aggregatore 1000b può di fatto ridursi a due porte logiche.
Nel caso in cui si operi secondo i criteri esemplificativi considerati in precedenza:
- la prima di queste porte logiche, indicata con 1001b, può essere semplicemente una porta logica AND la cui uscita va a “1†(solo) quando tutti gli ingressi sono a “1†, e
- la seconda di queste porte logiche, indicata con 1002b, può essere semplicemente una porta logica NOR (ornegato) la cui uscita va a “1†(solo) quando tutti gli ingressi sono a “0†.
Così come già detto, varie forme di attuazione possono prevedere il ricorso ad un singolo gruppo (ad esempio ad una codifica m-of-n applicata sull’intero dato), il che può essere visto come caso particolare dell’approccio più generale basato su un numero arbitrario di gruppi in cui il numero di gruppi si riduce ad 1: il blocco o modulo 100b può allora divenire superfluo ed i segnali “set†e “reset†possono essere generati direttamente dal blocco o modulo 100a. In questo caso, volendo mantenere la stessa logica di generazione del segnale reset, facendo sì che tale segnale vada a “1†(solo) quando tutti le n linee sono a “0†, la logica 1002a potrà essere realizzata come logica NOR.
Ancora, così come già detto, varie forme di attuazione possono utilizzare una codifica Delay-Insensitive di tipo diverso (ad esempio dual rail o di Berger) applicate su un unico gruppo o su più gruppi di linee di segnale del canale di trasmissione.
Così come già detto in precedenza, la codifica dual rail può essere semplicemente vista come un caso particolare della codifica m-of-n con m=1 e n=2
Nel caso di una codifica di Berger, in varie forme di attuazione:
- la funzione del blocco o modulo 1001a può essere implementata attraverso un multiplexer che riceve in ingresso il dato riordinato da un circuito sorter e un segnale di selezione (ossia di comando del multiplexer) che di fatto rappresenta la somma degli zeri contenuti nel dato originario, e/o
- la funzione del blocco o modulo 1002a può essere implementata come operazione logica di OR tra tutti i bit del dato e tutti i bit del check (attuata ad esempio con tre logiche OR che espletano questa funzione: una sul dato, una sul segnale di check e una che combina le uscite delle due OR precedenti.
Anche nel caso della codifica di Berger possono applicarsi mutatis mutandis le stesse considerazioni fatte in precedenza per il caso in cui si ricorra ad un singolo gruppo: si tratta del caso in cui il numero di gruppi si riduce ad 1 ed il blocco o modulo di aggregazione 100b può allora divenire superfluo, con i segnali “set†e “reset†possono essere generati direttamente dal blocco o modulo 100a (con eventuali adattamenti della relativa logica qualora si volgano mantenere gli stessi criteri di generazione del segnale reset qui esemplificate).
In varie forme di attuazione, quali che siano i criteri adottati per rivelare la condizione di stabilità dei dati e/o la condizione di reset (ad esempio adottando una particolare codifica Delay-Insensitive) ed i dettagli di implementazione, la macchina a stati finiti asincrona (AFSM) 102 può mirare ad assicurare il soddisfacimento di relazioni temporali suscettibili di intercorrere tra le varie fasi del protocollo di comunicazione.
In varie forme di attuazione, la macchina a stati finiti asincrona (AFSM) 102 può operare, ad esempio in una qualsiasi configurazione di comunicazione Delay-Insensitive (ad esempio su 4 fasi – così come già presentata con riferimento alla figura 2), in base ai seguenti criteri:
- il reset o ripristino (ad es. ritorno a zero) delle linee del bus viene effettuato dal trasmettitore TX solo a seguito della ricezione del segnale di Ack asincrono (AAck); e
- la trasmissione di un nuovo dato viene effettuata dal trasmettitore TX solo dopo il reset o ripristino (ritorno a zero) del segnale AAack.
In questo modo à ̈ possibile far sì che in nessun caso i segnali set e reset del circuito CD cambino contemporaneamente, per cui un evento su uno di questi due segnali viene generato da un evento precedente sull’altro segnale (fatta eccezione per il primo evento dopo il reset di sistema).
Supponendo, sempre a titolo di esempio, che i segnali set e reset in uscita dal modulo o blocco 100b siano da considerarsi asseriti quando al livello “1†, in varie forme di attuazione la macchina a stati finiti 102 può corrispondere allo schema illustrato a titolo esemplificativo nella figura 7.
In tale figura, i riferimenti 200a e 200b indicano due flip-flop (ad esempio di tipo D) cadenzati con i segnali set e reset. Le uscite dei flip-flop 200a e 200b sono collegate agli ingressi di una porta X-OR (OR esclusivo) la cui uscita, definente appunto il segnale “done", à ̈ destinata ad andare ad un primo livello logico, ad es. “1†, con riferimento all’esempio di implementazione qui considerato, (solo) quando o l’uno o l’altro degli ingressi si trova a tale livello. I due flip-flop 200a e 200b sono collegati fra loro in un anello invertente tale per cui l'uscita del flip-flop 200a va all'ingresso del flip-flop 200b in modo diretto mentre l'uscita del flip-flop 200b va all'ingresso del flip-flop 200a attraverso un invertitore logico 200c.
Al riguardo si apprezzerà che sebbene le porte XOR possano dimostrarsi sorgenti di glitches, in varie forme di attuazione la soluzione qui esemplificata, grazie al modo in cui questa porta à ̈ utilizzata, assicura che il relativo circuito sia sempre e comunque “glitches free†.
In varie forme di attuazione, questo risultato può essere assicurato grazie al fatto che i segnali in ingresso all’operazione di XOR non cambiano mai contemporaneamente.
Varie forme di attuazione possono sfruttare le relazioni che intervengono fra gli eventi sui segnali di set e reset così da poter conseguire, ad esempio secondo modalità di funzionamento glitches-free, le seguenti modalità operative:
- segnale di set asserito (ad es. a “1†) solo quando i dati sulle linee del canale di comunicazione (bus) sono stabili,
- segnale di reset asserito (ad es. a “1†) solo dopo che il valore di asserimento (“1†) del segnale “done" à ̈ stato propagato verso il trasmettitore TX, e le linee del canale di comunicazione sono state resettate (ad es. a “0†, negli esempi qui considerati)
- nuovo asserimento del segnale set quando il secondo livello (“0†nell'esempio qui considerato) del segnale “done", rappresentativo del fatto che le linee del canale di comunicazione sono state resettate, à ̈ rilevato dal trasmettitore TX, con possibilità di immettere nuovi dati sul bus.
Il cronogramma della figura 8 si rifà, a titolo di esempio, alle stesse modalità di funzionamento 4 PHASE DI (protocollo handshake) già considerate con riferimento alle figure 1 e 2 in relazione un sistema comprendente un trasmettitore TX ed un ricevitore RX con interposto un canale di comunicazione per la trasmissione fra essi di dati asincroni (AData), il canale di comunicazione comprendendo linee di segnale organizzate secondo una codifica (codificatore ENC) insensibile ai ritardi.
In varie forme di attuazione, un tale sistema può comprendere un circuito rilevatore CD secondo una delle forme di attuazione precedenti, accoppiato al canale di comunicazione per produrre il segnale di rilevazione “done†.
In varie forme di attuazione, in un tale sistema:
- il ricevitore RX può essere configurato per asserire un segnale di acknowledgement AAck verso il trasmettitore TX quando il segnale di rilevazione (done) assume il suddetto primo valore, indicativo del fatto che i dati asincroni sul canale sono stabili,
- il trasmettitore TX può essere configurato per deasserire le sue uscite verso le linee di segnale del canale di comunicazione (bus) quando il trasmettitore TX rileva l’asserimento del suddetto segnale di acknowledgement AAck da parte del ricevitore (RX),
- il ricevitore RX può essere configurato per deasserire il segnale di acknowledgement AAck verso il trasmettitore (TX) quando il segnale di rilevazione (done) assume il secondo valore, indicativo del fatto che il trasmettitore TX ha de-asserito le sue uscite verso le linee di segnale del canale di comunicazione;
- il trasmettitore TX può essere configurato per riconoscere il de-asserimento del segnale di acknowledgement AAck da parte del ricevitore RX, per cui il sistema à ̈ ripristinato per una nuova trasmissione di dati asincroni (AData) su detto canale di comunicazione.
Con tali modalità di funzionamento, in varie forme di attuazione, i ritardi di propagazione delle transizioni (ritardo determinato in via principale, nell’esempio di attuazione qui considerato, dai ritardi di propagazione dei flip-flop 200a e 200b) possono essere in ogni caso resi più ridotti (ossia più “corti†) rispetto:
- all’intervallo T1 che intercorre fra l'istante di asserimento (passaggio al livello logico “1†) del segnale set ed il successivo istante di asserimento (passaggio al livello logico “1†) del segnale reset, e
- all’intervallo T2 che intercorre fra tale istante di asserimento (passaggio al livello logico “1†) del segnale reset ed il successivo istante di asserimento del segnale set.
Le suddette condizioni sui ritardi di propagazione risultano in ogni caso suscettibili di essere agevolmente soddisfatte.
Varie forme di attuazione permettono di conseguire vantaggi significativi in termini di produttività a livello di progettazione e di time-to-market permettendo altresì di ricorrere a soluzioni più sicure grazie alla possibilità di far ricorso a celle di tipo standard.
Tutto questo conseguendo un miglioramento in termini di prestazioni del relativo sistema, ad esempio del tipo System-on-Chip (o SoC), applicabile in numerosi contesti diversi.
Naturalmente, fermo restando il principio dell'invenzione, i particolari di realizzazione e le forme di attuazione potranno variare, anche in modo significativo, rispetto a quanto qui illustrato a puro titolo di esempio non limitativo senza per questo uscire dall'ambito di protezione; tale ambito di protezione à ̈ determinato dalle rivendicazioni.

Claims (12)

  1. RIVENDICAZIONI 1. Circuito rilevatore del completamento (CD) del trasferimento di dati asincroni (AData) su un canale di comunicazione con linee di segnale organizzate secondo una codifica (ENC) insensibile ai ritardi, il circuito comprendendo: - circuitazione logica (100) di rilevazione dei dati su dette linee di segnale configurata per produrre: - i) un primo segnale (set) indicativo del fatto che i dati asincroni su dette linee di segnale sono stabili, - ii) un secondo segnale (reset) indicativo del fatto dette linee di segnale sono de-asserite, e - una macchina a stati finiti asincrona (102) alimentata con detto primo segnale (set) e detto secondo segnale (reset) e configurata per produrre un segnale di rilevazione (done) del completamento del trasferimento dei dati asincroni (AData) su dette linee di segnale, detto segnale di rilevazione (done) avendo: - un primo valore quando detto primo segnale (set) à ̈ asserito, - un secondo valore quando detto secondo segnale (reset) à ̈ asserito, ed essendo sospeso (on hold) quando né l’uno né l’altro tra detto primo segnale (set) e detto secondo segnale (reset) à ̈ asserito.
  2. 2. Circuito secondo la rivendicazione 1, in cui detta macchina a stati finiti asincrona (102) comprende: - almeno un primo (200a) ed un secondo (200b) flip flop cadenzati rispettivamente da detto primo segnale (set) e detto secondo segnale (reset); detti flip-flop (200a, 200b) essendo disposti in un anello invertente in cui: - i) l'uscita del primo flip-flop (200a) Ã ̈ in ingresso al secondo flip-flop (200b), - ii) l'uscita del secondo flip-flop (200b) Ã ̈ in ingresso al primo flip-flop (200a) dopo inversione logica (200c), e - una logica X-OR (300) che realizza lo X-OR delle uscite di detti flip-flop (200a, 200b).
  3. 3. Circuito secondo la rivendicazione 1 o la rivendicazione 2, in cui dette linee di segnale comprendono una pluralità di gruppi di linee, con le linee di ciascun gruppo organizzate secondo una codifica (ENC) insensibile ai ritardi, in cui detta circuitazione logica (100) comprende: - logica di rilevazione (100a) configurata per - i) rilevare che i dati asincroni sulle linee di segnale di ciascuno di detti gruppi sono stabili, producendo un rispettivo segnale di asserimento di gruppo per ciascuno di detti gruppi, e - ii) rilevare che in ciascuno di detti gruppi le linee di segnale sono de-asserite, producendo un rispettivo segnale di de-asserimento di gruppo per ciascuno di detti gruppi, e - logica di aggregazione (100b) configurata per ricevere i rispettivi segnali di asserimento di gruppo e di de-asserimento di gruppo da detta logica di rilevazione (100a) e produrre: - detto primo segnale (set) quando detti rispettivi segnali di asserimento di gruppo sono identici per tutti i gruppi di detta pluralità, e - detto secondo segnale (reset) quando detti rispettivi segnali di de-asserimento di gruppo sono identici per tutti i gruppi di detta pluralità.
  4. 4. Circuito secondo una qualsiasi delle rivendicazioni 1 a 3, in cui detta codifica (ENC) insensibile ai ritardi à ̈ scelta fra dual–rail, m-of-n e codifica di Berger.
  5. 5. Circuito secondo una qualsiasi delle precedenti rivendicazioni, in cui dette linee di segnale comprendono uno o più gruppi di linee, con le linee del gruppo o di ciascun gruppo organizzate secondo una codifica (ENC) insensibile ai ritardi, in cui detta circuitazione logica (100) comprende circuitazione sorter (1001a) configurata per rilevare che i dati asincroni sulle linee di segnale del gruppo o di ciascuno di detti gruppi sono stabili quando un numero dato delle linee di segnale del rispettivo gruppo à ̈ asserito.
  6. 6. Circuito secondo una qualsiasi delle precedenti rivendicazioni, in cui dette linee di segnale comprendono uno o più gruppi di linee, con le linee del gruppo o di ciascun gruppo organizzate secondo una codifica (ENC) di Berger insensibile ai ritardi, in cui detta circuitazione logica (100) per rilevare che i dati asincroni sulle linee di segnale del gruppo o di ciascuno di detti gruppi sono stabili comprende (1001a) un multiplexer che riceve in ingresso detti dati asincroni riordinati da un circuito sorter ed un segnale di comando del multiplexer rappresentativo della somma degli zeri contenuti in detti dati asincroni.
  7. 7. Circuito secondo una qualsiasi delle precedenti rivendicazioni, in cui dette linee di segnale comprendono uno o più gruppi di linee, con le linee del gruppo o di ciascun gruppo organizzate secondo una codifica (ENC) insensibile ai ritardi, in cui detta circuitazione logica (100) per rilevare che le linee di segnale del o di ciascuno di detti gruppi sono de-asserite comprende almeno un circuito di somma logica (1002a) collegato alle linee di segnale del gruppo o di ciascuno di detti gruppi.
  8. 8. Circuito secondo la rivendicazione 7, in cui dette linee di segnale comprendono uno o più gruppi di linee, con le linee del gruppo o di ciascun gruppo organizzate secondo una codifica (ENC) di Berger insensibile ai ritardi, in cui in cui detto circuito di somma logica (1002a) à ̈ configurato per realizzare la somma logica tra tutti i bit dati e tutti i bit di controllo o check della codifica (ENC) di Berger.
  9. 9. Circuito secondo una qualsiasi delle precedenti rivendicazioni, in cui detta circuitazione logica (100) sente dette linee di segnale come asserite e come deasserite rispettivamente quando esse si trovano al livello logico “1†ed al livello logico “0"
  10. 10. Sistema comprendente: - un trasmettitore (TX) ed un ricevitore (RX) con interposto un canale di comunicazione per la trasmissione di dati asincroni (AData), detto canale di comunicazione comprendendo linee di segnale organizzate secondo una codifica (ENC) insensibile ai ritardi, - un circuito rilevatore secondo una qualsiasi delle rivendicazioni 1 a 9, accoppiato a detto canale di comunicazione per produrre detto segnale di rilevazione (done), ed in cui: - il ricevitore (RX) à ̈ configurato per asserire un segnale di acknowledgement (AAck) verso il trasmettitore (TX) quando detto segnale di rilevazione (done) assume detto primo valore, indicativo del fatto che detti dati asincroni su detto canale sono stabili, - il trasmettitore (TX) à ̈ configurato per de-asserire le sue uscite verso le linee di segnale di detto canale di comunicazione quando il trasmettitore (TX) rileva l’asserimento di detto segnale di acknowledgement (AAck) da parte del ricevitore (RX); - il ricevitore (RX) à ̈ configurato per de-asserire detto segnale di acknowledgement (AAck) verso il trasmettitore (TX) quando detto segnale di rilevazione (done) assume detto secondo valore, indicativo del fatto che il trasmettitore (TX) ha de-asserito le sue uscite verso le linee di segnale di detto canale di comunicazione; e - il trasmettitore (TX) à ̈ configurato per riconoscere il de-asserimento di detto segnale di acknowledgement (AAck) da parte del ricevitore (RX), per cui il sistema à ̈ ripristinato per una nuova trasmissione di dati asincroni (AData) su detto canale di comunicazione.
  11. 11. Sistema secondo la rivendicazione 10, in cui detto sistema à ̈ un System-on-Chip o SoC.
  12. 12. Procedimento per rilevare il completamento (CD) del trasferimento di dati asincroni (AData) su un canale di comunicazione con linee di segnale di organizzate secondo una codifica (ENC) insensibile ai ritardi, il procedimento comprendendo: - rilevare (100) i dati su dette linee di segnale per produrre: - i) un primo segnale (set) indicativo del fatto che i dati asincroni su dette linee di segnale sono stabili, - ii) un secondo segnale (reset) indicativo del fatto dette linee di segnale sono de-asserite, e - alimentare detto primo segnale (set) e detto secondo segnale (reset) ad una macchina a stati finiti asincrona (102) per produrre un segnale di rilevazione (done) del completamento del trasferimento dei dati asincroni (AData) su dette linee di segnale, detto segnale di rilevazione (done) avendo: - un primo valore, quando detto primo segnale (set) à ̈ asserito, - un secondo valore, quando detto secondo segnale (reset) à ̈ asserito, ed essendo sospeso (on hold) quando né l’uno né l’altro tra detto primo segnale (set) e detto secondo segnale (reset) à ̈ asserito.
IT000289A 2012-04-02 2012-04-02 Circuito per comunicazioni asincrone, sistema e procedimento relativi ITTO20120289A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT000289A ITTO20120289A1 (it) 2012-04-02 2012-04-02 Circuito per comunicazioni asincrone, sistema e procedimento relativi
US13/854,419 US9191033B2 (en) 2012-04-02 2013-04-01 Circuit for asynchronous communications, related system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000289A ITTO20120289A1 (it) 2012-04-02 2012-04-02 Circuito per comunicazioni asincrone, sistema e procedimento relativi

Publications (1)

Publication Number Publication Date
ITTO20120289A1 true ITTO20120289A1 (it) 2013-10-03

Family

ID=46548731

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000289A ITTO20120289A1 (it) 2012-04-02 2012-04-02 Circuito per comunicazioni asincrone, sistema e procedimento relativi

Country Status (2)

Country Link
US (1) US9191033B2 (it)
IT (1) ITTO20120289A1 (it)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9520180B1 (en) 2014-03-11 2016-12-13 Hypres, Inc. System and method for cryogenic hybrid technology computing and memory
US9455706B2 (en) * 2014-06-24 2016-09-27 Advanced Micro Devices, Inc. Dual-rail encoding
US11550982B2 (en) 2015-11-04 2023-01-10 Chronos Tech Llc Application specific integrated circuit interconnect
US9977853B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit link
US10073939B2 (en) 2015-11-04 2018-09-11 Chronos Tech Llc System and method for application specific integrated circuit design
US10181939B2 (en) 2016-07-08 2019-01-15 Chronos Tech Llc Systems and methods for the design and implementation of an input and output ports for circuit design
US10637592B2 (en) 2017-08-04 2020-04-28 Chronos Tech Llc System and methods for measuring performance of an application specific integrated circuit interconnect
US11087057B1 (en) 2019-03-22 2021-08-10 Chronos Tech Llc System and method for application specific integrated circuit design related application information including a double nature arc abstraction
US11469919B2 (en) 2020-09-17 2022-10-11 Analog Devices International Unlimited Company Bidirectional communication circuit and a method for operating a bidirectional communication circuit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003069485A2 (en) * 2002-02-12 2003-08-21 Fulcrum Microsystems, Inc. Techniques for facilitating conversion between asynchronous and synchronous domains

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265216A (en) * 1991-06-28 1993-11-23 Digital Equipment Corporation High performance asynchronous bus interface
US6359946B1 (en) * 1998-09-23 2002-03-19 National Instruments Corp. Clock synchronization for asynchronous data transmission
US6292023B1 (en) * 1999-09-29 2001-09-18 Agere Systems Guardian Corp. Spike-triggered asynchronous finite state machine
KR100651373B1 (ko) * 1999-11-24 2006-11-28 삼성전자주식회사 비동기 전송모드 교환기에서 불안정한 에이티엠단말기의주소등록으로 인한 과도한 플러딩 제한방법
JP3807406B2 (ja) * 2003-09-05 2006-08-09 セイコーエプソン株式会社 データ転送制御装置及び電子機器
DE102005014133B3 (de) * 2005-03-29 2006-06-14 Bernhard Engl Integrierte Schaltung mit Mischsignal-Eindrahtschnittstelle und Verfahren zu ihrem Betrieb
US7683679B2 (en) * 2007-11-14 2010-03-23 Texas Instruments Incorporated AFSM circuit and method for low jitter PLL CMOS programmable divider
US8487681B2 (en) * 2011-02-23 2013-07-16 Nvidia Corporation Dual-trigger low-energy flip-flop circuit
US8436669B2 (en) * 2011-04-27 2013-05-07 Nvidia Corporation Single-trigger low-energy flip-flop circuit
US9231567B2 (en) * 2012-09-06 2016-01-05 Lattice Semiconductor Corporation Test solution for a random number generator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003069485A2 (en) * 2002-02-12 2003-08-21 Fulcrum Microsystems, Inc. Techniques for facilitating conversion between asynchronous and synchronous domains

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WENG-GENG HO ET AL: "A power-efficient integrated input/output completion detection circuit for asynchronous-logic quasi-delay-insensitive Pre-Charged Half-Buffer", INTEGRATED CIRCUITS (ISIC), 2011 13TH INTERNATIONAL SYMPOSIUM ON, IEEE, 12 December 2011 (2011-12-12), pages 376 - 379, XP032096288, ISBN: 978-1-61284-863-1, DOI: 10.1109/ISICIR.2011.6131975 *

Also Published As

Publication number Publication date
US9191033B2 (en) 2015-11-17
US20130259146A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
ITTO20120289A1 (it) Circuito per comunicazioni asincrone, sistema e procedimento relativi
US11797378B2 (en) Multichip package link error detection
US20250225024A1 (en) Forward error correction and cyclic redundancy check mechanisms for latency-critical coherency and memory interconnects
CN102473462B (zh) 计算机存储器测试结构
US20190260504A1 (en) Systems and methods for maintaining network-on-chip (noc) safety and reliability
RU2603553C2 (ru) Архитектура расширения оптической памяти
CN107408032B (zh) 互连中的伪随机比特序列
Saponara et al. Design of an NoC interface macrocell with hardware support of advanced networking functionalities
US11206045B1 (en) Efficient determination of parity bit location for polar codes
JP2013034133A (ja) 送信装置、送受信システムおよび制御方法
TWI455489B (zh) 具嵌入式自測試與除錯特徵之並行碼核對器及高效率高速度輸入輸出之硬體
CN102394720A (zh) 一种信息安全校验处理器
Yu et al. Dual-layer adaptive error control for network-on-chip links
JP5090934B2 (ja) インターフェース装置及びチップ間通信インターフェース装置
Siddagangappa Asynchronous NoC with fault tolerant mechanism: a comprehensive review
Ahmed et al. Enhanced overloaded CDMA interconnect (OCI) bus architecture for on-chip communication
US20150268962A1 (en) Asynchronous Circuit Design
Zhang et al. Fine-grained splitting methods to address permanent errors in network-on-chip links
Huang et al. Self‐calibrated energy‐efficient and reliable channels for on‐chip interconnection networks
Rajesh et al. SCDBI Encoding scheme for NoC links
Abed et al. Fault tolerance design for NoCs: Partial virtual-channel sharing
El Ouchdi et al. Design and physical implementation of a data transfer interface used in network on chip
Zhong Network interface design for network on chip
Preetam et al. Design and verification of Ethernet, VME IP core using ACE and CDC
TW201246514A (en) Asynchronous data transmitting device