Pagina 1 di 1

[Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 13 set 2014, 10:42
da escher
Salve, devo svolgere un esercizio di elettroncia digitale. Il testo dice che devo calcolare la massima frequenza di clok del circuito in allegato.

Ora prima di iniziare a risolvere l'esercizio, visto che ho solo appunti vari, sono andato a vedere cosa significassero tutti quei tempi riportati in tabella, ma sto facendo confusione. In pratica vorrei accertarmi di 3 cose:

0 - Se le spiegazioni dei tempi trovate in rete siano corrette.
1 - Se la formula della frequenza massima è corretta.
2 - Come calcolare il critical path.


Fan-IN: E' il minimo numero di ingressi relativi ad una porta logica.
Fan-OUT: Esprime il massimo carico che una porta è in grado di sopportare, funzionando correttamente.
Load Factor: Carico medio diviso il carico di picco per un periodo di tempo specificato.
Tempo di setup: Periodo minimo di tempo per il quale gli ingressi sincroni e quelli asincroni devono essere stabiliti per fare in modo che il flip-flop risponda in modo affidabile prima della transizione di clock.
Tempo di Hold: Tempo per il quale il dato deve essere stabile dopo il fronte di clock.
Tempo di Propagazione: tempo che passa tra la variazione dello stato di un ingresso e il mutamento dello stato di uscita. (H -> L, L -> H).

Espressione per il cacolo della massima frequenza di clock:

F_{MAX^{CLK}} = \frac{1}{T_{L} + T_{SU^{FF}} + T_{H^{FF}}}

Dove: T_{L} è il tempo della logica, ossia il critical path.
T_{SU^{FF}} è il tempo di setup del flip-flop.
T_{H^{FF}} è il tempo di Hold del flip-flop.

Ora vorrei sapere se le definizioni e l'espressione sono corrette per almeno avere una base da dove partire.

Per il calcolo del critical path se ho capito bene devo prendere il percorso più lungo. Che credo sia dato dalla porta NAND (TrH L) + XOR (TrHL) + OR (TrHL) e l'ho calcolato così:

(0.180 + 0.037*(2)) + (0.250 + 0.031*(1)) + (0.260 + 0.029 *z) con z = 1 ottengo: 0.824

Il 2 è relativo alle porte logiche strettamente collegate alla AND ( quindi la XOR e la NOR)
L'1 è relativo alla porta strettamente collegata alla XOR (quindi solo la OR).

Ne avevo calcolati altri di crital path:

NAND (TrLH) + XOR (TrLH) + OR (TrLH) e ottengo: 0.819

NAND (TrLH) + XOR (TrHL) + OR (TrHL) e ottengo: 0.816

Ho preso il più grande.

Quindi poi dalla formula della frequenza massima:
\frac{1}{0.824 + 0.1 + 0.01} = 1.070663

Ma devo seguire una logica per calcolarlo o basta che vado a tentativi?

Inoltre non ho usato né Fan_in né Fan-out né Load Factor né size. A cosa servono di preciso e quando?

Scusate la confusione ma sono all'inizio e sto cercando di capire il più possibile.

Grazie della disponibilità.

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 13 set 2014, 21:43
da boiler
escher ha scritto:Fan-IN: E' il minimo numero di ingressi relativi ad una porta logica.


Load Factor: Carico medio diviso il carico di picco per un periodo di tempo specificato.


Qui parliamo di circuiti CMOS, non di motori elettrici o di saldatrici :roll:
Il load factor è la "pesantezza" di un ingresso. Se un gate con fan-out 2 pilota un gate con load factor 2, potrà pilotarne uno solo. Se il load factor è 1 potrà pilotarne due.

Tempo di Propagazione: tempo che passa tra la variazione dello stato di un ingresso e il mutamento dello stato di uscita. (H -> L, L -> H).


Giusto a patto di specificare bene cosa si intende. Il tempo dopo il quale l'uscita inizia a variare è il contamination delay. Il propagation delay è il tempo dopo il quale l'uscita ha finito di variare. E per i flip-flop questo tempo si conta a partire dal fronte attivo, non dalla variazione dell'input.

Ora vorrei sapere se le definizioni e l'espressione sono corrette per almeno avere una base da dove partire.


Quello che non ho corretto va bene.

Per il calcolo del critical path se ho capito bene devo prendere il percorso più lungo.


Giusto :ok:

Che credo sia dato dalla porta NAND (TrH L) + XOR (TrHL) + OR (TrHL)


Sbagliato [-X

Fai il calcolo per la AND(TrHL) + XOR(TrLH) + OR(TrLH)
Inoltre nel calcolo del carico devi considerare non solo il numero di porte logiche pilotate, ma anche il loro load factor. Quindi, benché l'uscita della AND entri in una sola porta (la XOR), devi usare L=2 perché il load factor della XOR è 2.

\frac{1}{0.824 + 0.1 + 0.01} = 1.070663


Manca l'unità di misura. Se ti stai preparando per un esame, perdi un sacco di punti (e a me causi un eczema :twisted:)

Ma devo seguire una logica per calcolarlo o basta che vado a tentativi?


In sè basta calcolare tutte le possibili vie e prendere quella piú lunga, ma con l'esperienza e l'astuzia finisci per vedere che ci sono punti che sono comuni a tutti i path e quindi non vanno considerati.

Boiler

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 14 set 2014, 9:56
da escher
Intanto grazie per la risposta. Hai avuto molta pazienza per correggere e te ne sono grato!

Inoltre nel calcolo del carico devi considerare non solo il numero di porte logiche pilotate, ma anche il loro load factor. Quindi, benché l'uscita della AND entri in una sola porta (la XOR), devi usare L=2 perché il load factor della XOR è 2.


Vediamo se ho capito: Nel calcolo del crital path NAND (TrH L) + XOR (TrHL) + OR (TrHL) dovrei scrivere:

(0.180 + 0.037 * (2*2)) + (0.250 + 0.031 * (1*1)) + (0.260 + 0.029 *z)

Il 2*2 è perché: La NAND ha due porte logiche strettamente collegate (la XOR e la NOR) e il load factor della XOR è due. Quindi ho scritto L = 2*2
(Quindi nel calcolo dello stesso critical path nel mio primo posto ho sbagliato, poiché ho scritto solo L = 2, invece di L = 4).

1*1 è perché una porta logica strettamente collegata alla XOR (ossia la OR) e il Load Factor della OR è uno. Quindi ho scritto L = 1*1

Ed è questo quello che ho inteso dalla definizio di Load Factor.

Si so che questo non è il critial path, ma l'ho preso come esempio per chiarirmi le idee.

Con il calcolo che mi hai fatto fare mi viene: (Con z = 1)
(0.260 + 0.027 * (1*2)) + (0.260 + 0.046 * (1)) + (0.220 + 0.047 z) = 0.887

1*2 = Una porta logica strettamente collegata alla AND (cioè la XOR) ma la XOR ha Load factor due. Quindi ho scritto: L = 1*2

Si grazie me la dimentico sempre, dovrebbe essere nHZ. .

Grazie ancora della disponibilità.

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 14 set 2014, 10:04
da boiler
escher ha scritto:Vediamo se ho capito: Nel calcolo del crital path NAND (TrH L) + XOR (TrHL) + OR (TrHL) dovrei scrivere:

(0.180 + 0.037 * (2*2)) + (0.250 + 0.031 * (1*1)) + (0.260 + 0.029 *z)

Il 2*2 è perché: La NAND ha due porte logiche strettamente collegate (la XOR e la NOR) e il load factor della XOR è due. Quindi ho scritto L = 2*2


Non ci siamo... la NAND vede due ingressi, XOR e NOR. La XOR ha un load factor di 2, la NOR di 1, quindi il primo termine della tua espressione qui sopra deve diventare:
(0.180 + 0.037 \cdot (2+1))

EDIT: questa formula contiene un errore, vedi sotto la correzione di Foto Utentecorrotto.


Si grazie me la dimentico sempre, dovrebbe essere nHZ.


O forse MHz? :roll:

Ciao Boiler

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 14 set 2014, 11:09
da escher
Grazie ancora.

Non ci siamo... la NAND vede due ingressi, XOR e NOR. La XOR ha un load factor di 2, la NOR di 1, quindi il primo termine della tua espressione qui sopra deve diventare:
(0.180 + 0.037 \cdot (2+1))


Quindi devo sommare i Load Factor delle porte strettamente collegate alla porta logica che sto prendendo in considerazione.


Grazie davvero, stai eliminando pian piano tutti i dubbi. :-)

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 23 ago 2015, 1:22
da corrotto
boiler ha scritto:Non ci siamo... la NAND vede due ingressi, XOR e NOR. La XOR ha un load factor di 2, la NOR di 1, quindi il primo termine della tua espressione qui sopra deve diventare:
(0.180 + 0.037 \cdot (2+1))


Ciao,
anche io ho dei dubbi su questo esercizio. Alla porta NAND sono collegate una XOR, una OR, una NOR e il flip flop di uscita.
Perché nel calcolo vengono considerati come carichi soltanto la XOR e la NOR?

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 23 ago 2015, 8:42
da boiler
Ciao Foto Utentecorrotto

La risposta alla tua domanda è: "perché c'è un errore" #-o
Fa piacere vedere che i mesaggi vengono letti con attenzione anche a distanza di parecchio tempo.
Grazie per la correzione :ok:

Boiler

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 30 giu 2017, 19:29
da ummo89
.

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 30 giu 2017, 19:30
da ummo89
boiler ha scritto:Ciao Foto Utentecorrotto

La risposta alla tua domanda è: "perché c'è un errore" #-o
Fa piacere vedere che i mesaggi vengono letti con attenzione anche a distanza di parecchio tempo.
Grazie per la correzione :ok:

Boiler


Scusate una cosa, quindi ricapitolando :

Il giusto Tcp =NAND(Tr HL)-XOR(Tr LH)-OR(Tr LH)
il carico da considerare su NAND sarebbe quello complessivo di tutte le unità logiche collegate ad esso , cioè il fattore di carico 2 dello XOR, 1 del NOR e 1 dell' OR e 4 del Flip_Flop2 , cioè 8 giusto ?

Se il ragionamento è questo, allora anche nel calcolo del tempo di ritardo del primo Flip_Flop si considera come carico NANAD ,AND e NOR ?

Allo stesso modo perché l'OR finale vede come carico 1 e non il 4 del Flip_Flop ?

Grazie...

Re: [Elettronica Digitale] Tempi indicati in tabella.

MessaggioInviato: 30 giu 2017, 22:55
da ummo89
Credo di essere arrivato alla giusta conclusione:

Per il FF1 abbiamo :
Il FF1 pilota un ingresso della NOR, 2 ingressi della NAND e 2 della AND,quindi
Load factor= 2xNAND+2xAND+NOR=2x1+2x1+1.

Per il resto la NAND vede come carichi la XOR la NOR e la OR e il FLIP FLOP 2

La OR come carico vede il FLIP FLOP 2 cioè Load Factor = 4.