Perché le infradito di solito vengono attivate sul fronte di salita dell'orologio?


14

Di solito nella progettazione digitale, ci occupiamo di infradito che vengono attivati ​​su una transizione del segnale di clock da 0 a 1 (innesco del fronte positivo) anziché su una transizione da 1 a 0 (innesco del fronte negativo). Conosco questa convenzione dai miei primi studi sui circuiti sequenziali, ma finora non l'ho messa in discussione.

La scelta tra innesco del fronte positivo e innesco del bordo negativo è arbitraria? O c'è una ragione pratica per cui le infradito innescate dal lato positivo sono diventate dominanti?


2
Il modo in cui la maggior parte di questo genere di cose accade è che qualcuno lo fa in un modo, qualcun altro ha bisogno di rendere l'hardware compatibile e fa lo stesso, e qualche anno dopo hai uno standard accidentale.
Connor Wolf,

1
Lavoro con Flip-flop che sono per lo più innescati da Falling Edge. Ho avuto esattamente la domanda opposta!
Swanand,

Risposte:


10

Migliore ipotesi: la tendenza positiva è un sottoprodotto di progetti che cercano di utilizzare una piccola area / parti possibile prima degli anni '70 . Una misura di riduzione dei costi per la produzione aumentando il numero di chip per wafer. I moderni DFF pos / neg-edge hanno spesso una superficie totale uguale, quindi la tendenza del edge positivo è ormai una pratica legacy.

Il salvataggio dell'area è venuto dai disegni "classici" D-infradito. I moderni componenti master / slave di un D-flip-flop possono utilizzare due dispositivi di chiusura a 5 transistor; Brevetti WO1984003806 A1 e US4484087 A entrambi depositati il ​​23 marzo 1984. Un brevetto D a 8 transitori era brevetto è stato depositato il 6 febbraio 1970; US3641511 A . Per motivi di semplicità, i progetti basati su chiavistelli SR / SnRn saranno definiti "Classici" e "Moderni" per i progetti che utilizzano i brevetti D-latch / S-cell citati.

In un progetto IC, un gate NAND utilizza meno area del gate NOR a causa delle proprietà caratteristiche di un NMOS e PMOS. Da lì, l'area salva la tendenza delle dimensioni in cascata. I fermi a D dei fermi SnRn sono più piccoli dei fermi SR. I design classici D-flip-flop si basano su queste porte logiche. Dopo aver cercato diversi disegni, i disegni con bordi positivi classici sono sempre più piccoli dei disegni con bordi negativi classici. La migrazione verso il moderno è avvenuta quando il costo delle chips è diventato favorevole: risparmi per area contro canoni reali.


Scavare un po 'più a fondo per dimostrare le differenze di area:

D-flip-flop classico con fronte positivo : basato su schematico Descrizione e diagramma D-Flip-flop classico con bordo positivo di Wikipedia basato su cinque NAND2 e una NAND3. Questo utilizza un totale di tredici NMOS e tredici PMOS.

schematico

simula questo circuito - Schema creato usando CircuitLab

Il miglior D-flip-flop classico con fronte negativo che ho trovato è di usare due D-Latch e due inverter. Modulo di riferimento schematico http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Questo utilizza un totale di diciotto NMOS e diciotto PMOS. Posizionare un inverter sul posedge classico sopra ridurrà il conteggio dei transistor di questo design. In entrambi i casi, il classico fronte negativo è più grande del disegno positivo.

schematico

simula questo circuito

Un moderno design D-flip-flop può apparire come segue in base ai brevetti WO1984003806 A1 e US4484087 Una descrizione con D-latch a cinque transistor. Questo utilizza un totale di cinque NMOS e PMOS fice; grande risparmio di area rispetto alla classica. L'inversione dell'ordine master / slave creerebbe un flip-flop con bordo negativo di uguale dimensione.

schematico

simula questo circuito

Sto solo dimostrando i disegni più piccoli possibili. I progetti possono basarsi su requisiti di progettazione, librerie di celle standard consentite, funzioni di ripristino / preimpostazione o altri motivi.


È un buon punto. Mi stavo avvicinando al problema dalla distribuzione dell'orologio, ma posso vedere come l'architettura DFF potrebbe essere diversa. Tuttavia, penso che i flop innescati da edge negativi possano avere anche un'architettura basata su NAND. Puoi aggiungere uno schema dell'architettura o delle architetture di cui stai parlando?
Travisbartley,

1
@ trav1s, ho aggiornato la mia risposta con esempi e alcune ricerche sui brevetti.
Greg,

Mi chiedo fino a che punto i chip utilizzano altre tecniche per i latch che devono operare in base ai bordi di un orologio applicato esternamente? Ad esempio, usando il clock a due fasi e la logica semi-dinamica si potrebbe ridurre a sette il numero richiesto di transistor per flop [un approccio completamente dinamico sarebbe sei, ma l'aggiunta di un settimo transistor consente di aggiungere uno stato "hold" completamente statico ].
supercat

@Greg, ottimo lavoro. La tua scoperta è proprio quello che mi aspettavo. Quel transistor 10T alla fine è una cosa bellissima.
Travisbartley,

Risposta interessante e molto perspicace. Stai dicendo che la tendenza al posedge è arrivata prima degli anni '70, ma questo non è coerente con i miei risultati (vedi la mia risposta). Cosa ti ha fatto venire con questa data? Solo un'ipotesi o hai qualche informazione aggiuntiva? Se è quest'ultimo, sarò felice di ottenere un riferimento (al fine di migliorare la mia risposta :))
Vasiliy,

3

Ci sono alcune ipotesi di base qui che sono state trattate in un altro post (che non riesco a trovare ora).

Se si contano il numero totale di elementi logici posizionati e la logica con clock (numero totale di FF spediti) probabilmente saranno in processori e microprocessori, Intel, DEC ecc. La manifestazione di ciò è che si finisce con un piccolo gruppo di persone / team che sono responsabili di progetti che coprono molti decenni, senza molti dettagli sul funzionamento interno.

Al contrario, ci sono molti team diversi che lavorano sui flussi ASIC, con molti più progetti ma corrispondenti a un volume inferiore.

La maggior parte dei progetti di processori in realtà non ha un clock positivo o negativo ma sono progettati utilizzando uno schema di clock gratuito a doppio latch, NOC (Non Overlapped Clock).

Quindi si finisce con un input -> (cloud logico) -> latch dall'orologio -> cloud logico -> latch dallo schema! Clock. Qual è la forma canonica di un master slave FF con logica all'interno.

Questo tipo di metodologia di progettazione presenta numerosi vantaggi ma presenta anche un'ulteriore complessità.

Un'altra cosa spiacevole è che questa metodologia di progettazione non viene insegnata nella maggior parte delle università. Tutti i design Intel x86 sono di questo tipo (non si deve confondere il funzionamento esterno delle interfacce con il funzionamento interno) con i notevoli core SOC sintetizzabili che hanno progettato per telefoni portatili.

Un eccellente discorso su questo può essere trovato in "Dally, William J. e John W. Poulton". Ingegneria dei sistemi digitali. Cambridge University Press, 1998. la sezione 9.5 discute il "timing sincrono ad anello aperto" <-chapter title. Ma per citare "Il timing innescato dai bordi, tuttavia, viene raramente utilizzato nei progetti di microprocessori e sistemi di fascia alta in gran parte perché si traduce in un tempo di ciclo minimo dipendente dall'inclinazione dell'orologio".

Sì, una risposta totalmente pedante. ma un'importante metodologia che è poco conosciuta, considerando quanti transistor totali ci sono in questi progetti (lotti e lotti).


L'ho letto tre volte, ma non riesco ancora a capire come sia correlato alla domanda di OP ...
Vasiliy,

1
Inoltre, dire che le CPU sono costruite solo con i latch è un po 'esagerato (forse nemmeno un "po'"). I latch vengono utilizzati nella logica critica ad alte prestazioni (principalmente percorsi di dati), ma sono ancora presenti numerosi infradito. Il principale svantaggio dei fermi è la difficoltà di analisi della temporizzazione - a causa della capacità di "presa in prestito del tempo" della progettazione basata su chiavistello (la stessa capacità che rende questo disegno "più veloce"), è molto difficile testare la progettazione basata su chiavistello per la chiusura della temporizzazione. Nelle parti non critiche delle CPU vengono utilizzati principalmente FF.
Vasiliy,

La parola chiave nel titolo è "solitamente" - 1) nel numero totale di diversi tipi di chip progettati - quindi il flusso ASIC e il trigger dei bordi saranno usuali. 2) se il numero totale di elementi logici / transistor spediti vince e quindi vince il doppio clock basato su latch e l'affermazione non è valida.
segnaposto

1
Non è possibile guardare l'interfaccia di questi chip per determinare quale sia l'operazione interna. Come ho affermato, uno Flip Flop Master slave è solo una versione semplificata di un design basato su latch a doppia logica con clock a due fasi. L'analisi dei tempi non è difficile, anzi è semplificata. Devi solo essere certo dei tuoi domini di clock.
segnaposto

1
No, le parole chiave sono "flip-flop" e "bordo dell'orologio". I fermi sono dispositivi sensibili al livello, non sensibili ai bordi. Uomo di mele e arance - se voglio sapere perché sono le arance, è del tutto irrilevante il fatto che ci siano molte persone che preferiscono le mele.
Vasiliy,

2

Le attuali prestazioni della tecnologia CMOS (in termini di potenza / area / velocità / costo) sembrano essere insensibili allo schema di innesco utilizzato.

Non posso dimostrare rigorosamente la suddetta affermazione perché richiede molte conoscenze preliminari e ricerche, e anche il riassunto della prova sarà probabilmente troppo lungo per una risposta. Per quanto ne so, non ci sono differenze, quindi suppongo solo che sia così.

O non so se la tua affermazione sul fatto che le infradito di solito sono attivate sul bordo positivo dell'orologio sia corretta (credo che lo sia). Suppongo che ciò sia corretto anche ai fini della seguente discussione.

Sotto tutti i presupposti di cui sopra vedo solo due possibilità:

  • L'innesco del fronte positivo è diventato uno standard perché in passato aveva alcuni chiari vantaggi. Dopo che la tecnologia che ha sfruttato questo vantaggio è diventata obsoleta, l'attivazione del fronte positivo è rimasta lo standard di fatto.
  • L'attivazione del fronte positivo è diventata uno standard senza alcuna legittimità ingegneristica, ovvero non ha fornito alcun vantaggio in nessuna famiglia logica e nessun nodo tecnologico in passato.

Per vedere quando il trigger edge positivo è diventato uno standard, ho deciso di seguire l'evoluzione degli schemi di clock delle CPU Intel :

  1. φ2
  2. 8086 : Latching of Data Out è stato eseguito sul bordo negativo di CLK.
  3. 80386 : bordo positivo utilizzato di CLK2.
  4. 80486 : bordo positivo usato di CLK.
  5. Pentium : bordo positivo usato di CLK ...

Sembra che Intel abbia iniziato con il trigger del fronte negativo (se questo termine può essere applicato a tutti i primi CPU), ma è passato al trigger del fronte positivo a partire da 386.

8086 utilizzava la tecnologia HMOS (una sorta di logica NMOS a carico di esaurimento ) mentre 80386 era CHMOS (è una specie di CMOS). Sembra che l'adozione del trigger edge positivo sia avvenuta parallelamente all'adozione della tecnologia CMOS. Abbiamo ipotizzato che CMOS non offra alcun vantaggio all'innesco del fronte positivo, pertanto sembra che questa convenzione sia arbitraria.

Tuttavia, dobbiamo tenere a mente tre punti:

  • Abbiamo ipotizzato che le attuali tecnologie CMOS non offrano alcun vantaggio.
  • L'assunto di cui sopra non è stato provato o discusso in alcuna forma.
  • Dai fogli di dati è chiaro su quale limite viene bloccato il Data Out, tuttavia ciò potrebbe non rappresentare l'implementazione interna.

Chiaramente, c'è spazio per ulteriori ricerche. Continua...

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.