Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Massima frequenza di clock e critical path

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

1
voti

[1] Massima frequenza di clock e critical path

Messaggioda Foto Utenteguestleandro11 » 18 lug 2015, 10:36

Ciao a tutti, ho dei dubbi riguardante appunto il critical path e la massima frequenza di clock, della retelogica che posto di seguito come allegato.

1.png


Vi spiego le cose che credo fino ad ora mi sono chiare:
-Data una rete logica, per calcolare la frequenza massima di clock ammissibile dal circuito, devo calcolare la seguente formula \frac{1}{T_{cp}+T_{su}+T_{h}}, con Tcp=tempo di crtical path, Tsu=tempo di setup del flip flop, Th=tempo di hold del flip flop.
Ma perche spesso trovo discordanze su questa formula? a volte la trovo anche cosi: \frac{1}{T_{cp}+T_{su}+T_{r}}, con Tr=tempo di ritardo del flip flop. Quale delle due formule devo usare?
-Per il calcolo del critical path, devo considerare il percorso che richiede più tempo giusto? (probabilmente quello che attraversa più porte logiche), in questo caso nel mio esercizio, attraverso: FF1-AND-XOR-OR-FF2, considerando sempre il fatto che se in una porta logica invertente se entra un segnale tipo LH, uscirà un segnale HL; mentre una porta logica "normale", entra HL ed esce HL; mentre per la porta "xor" devo considerare entrambi i casi. Quindi in questo esercizio otengo:
t_{1}=AND(Tr HL)+XOR(Tr HL)+OR(Tr HL)
t_2{1}=AND(Tr HL)+XOR(Tr LH)+OR(Tr LH) teoricamente dovrei anche calcolarmi t3 e t4 con la AND(Tr LH), ma già si nota che se facessi cosi sarebbe inutile dato che devo considerare i tempi più grandi che mi vengono dati da AND(Tr HL). Devo considerare i tempi più grandi infatti giusto?
-All'interno della formula, devo anche considerare il "load factor" che sarebbe il fattore di carico della porta successiva, quindi (calcolo direttamente t2 dato che è quella con tempo più grande):
t_{2}=(0.260+0.027(2))+(0.260+0.046(1))+(0.220+0.047(1))=0.887nS
ora qui ho un paio di domande riguardanti il fattore di carico:
1) In teoria dopo l'ultima OR, il fattore di carico non dovrebbe essere 4? dato che il FF2 ha appunto fattore di carico=4.
2)Mettiamo il caso che avessi considerato un altro percorso come ad esempio FF1-NAND-XOR-OR-FF2, in questo caso avrei: t_{a}=NAND(Tr HL)+XOR(Tr HL)+OR(Tr HL), con tutti i vari casi, quindi considerando solo questo caso avrei: t_{a}=(0.180+0.037(2+1)+(0.250+0.031(1))+(0.260+0.029(1)). Cioè dopo la prima NAND nel load factor devo fare la somma delle porte successive collegate ad essa, cioè della XOR e della NOR, giusto?

-Ora facendo il calcolo della t1 precedente, che era t1=0.887nS, mi posso anche calcolare la massima frequenza di clock ammissibile dal circuito usando questa formula:
Fmax=\frac{1}{T_{cp}+T_{su}+T_{h}}=\frac{1}{0.887+0.1+0.01}=1GHz.

Ringrazio in anticipo per gli eventuali chiarimenti O_/
Avatar utente
Foto Utenteguestleandro11
10 1 2
 
Messaggi: 8
Iscritto il: 17 lug 2015, 19:06

3
voti

[2] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteIsidoroKZ » 19 lug 2015, 10:06

In ingegneria, come da tante altre parti, non si usano "le formule", o peggio ancora "le formulette", ma si applicano dei concetti che poi possono eventualmente dare origine a una formula. Ma se non si conoscono i concetti non si sa che formula usare, non si sa se quella che si sta usando e` giusta o sbagliata, non si sa se quella che si sta usando, pur essendo giusta, e` applicabile al caso su cui si sta lavorando.

Cio` detto, il concetto base per lavorare con i flip flop con clock e` il seguente. Un flip flop lavora correttamente se il dato al suo ingresso e` stabile per un tempo di set up, prima che arrivi la transizione del clock e se permane stabile per un tempo di hold dopo che c'e` stata la transizione del clock.

Considera la figura che hai postato e immagina una serie periodica di fronti di clock. Seguiamo quello che capita partendo dal primo flip flop andando verso il secondo quando arriva un fronte di clock.

Arriva il fronte, supponiamo al tempo t=0\,\text{s}. Questo vuol dire semplicemente che misuro i ritardi a partire da un fronte che scelgo io.

Dopo un tempo T_r che e` arrivato il fronte, l'uscita del primo flip flop cambia e T_r e` il ritardo del flip flop dal clock all'uscita. Questa variazione dell'uscita si propaga attraverso la rete, mettendoci un po' di tempo per arrivate al secondo flip flop. Questo e` il ritardo di propagazione della rete, ed e` diverso a seconda dei dati in uscita, perche' la variazione potrebbe passare attraverso percorsi diversi, quindi bisogna trovare il piu` lento. Questo tempo mi pare lo abbia chiamato T_{cp}.

Ora il nuovo dato e` arrivato sul secondo flip flop, ma deve arrivare in anticipo rispetto al clock di un tempo di set up T_{su}, altrimenti il secondo flip flop si incasina (stati metastabili o peggio). Questo vuol dire che il fronte di clock successivo non puo` arrivare contemporaneamente ai dati, ma deve arrivare T_{su} dopo i dati.

A questo punto sei in grado di calcolare qual e` il minimo periodo di clock e di riconoscere se le formule che hai scritto sono giuste o sbagliate, o eventualmente quando va usata una o l'altra o nessuna delle due?

PS: il simbolo di secondo e` una s minuscola, non maiuscola! La S e` il siemens, s e` il secondo. Se poi scrivi le unita` di misura in latex, devono essere in tondo, non in corsivo, 2\,\text{ns} non 2ns
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[3] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteGustav » 19 lug 2015, 10:19

Che senso ha studiare un circuito con le uscite delle porte logiche in parallelo tra loro? Non mi sono preoccupato di capire se ci sono conflitti logici, mi sembra una rete priva di senso.
Avatar utente
Foto UtenteGustav
256 1 3
ex frequentatore
 
Messaggi: 80
Iscritto il: 3 lug 2015, 21:20

0
voti

[4] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteIsidoroKZ » 19 lug 2015, 10:24

Credo che la convenzione di quel disegno sia che le linee spesse sono le varie singole linee disegnate insieme, ma non sono in cortocircuito, come quando si fa un "bundle", un fascio, di cavi e li si tiene insieme con delle fascette. Alcuni cad li chiamano bus.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[5] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteGustav » 19 lug 2015, 12:53

L'avevo pensato anche io, e non voglio andare OT, ma in questo caso mancherebbero un poche di informazioni: un bus ha senso se per ogni segnale di ingresso corrisponde un segnale di uscita, e se questi sono siglati per capire origine e destinazione. In quell'esercizio io vedo solo confusione ed una grafica fuorviante. Altro che insegnare. Quello è disinformare.
Avatar utente
Foto UtenteGustav
256 1 3
ex frequentatore
 
Messaggi: 80
Iscritto il: 3 lug 2015, 21:20

0
voti

[6] Re: Massima frequenza di clock e critical path

Messaggioda Foto Utenteguestleandro11 » 19 lug 2015, 14:28

Grazie mille per la risposta, mi hai chiarito molti dubbi. Quindi, dimmi se sbaglio, nel circuito ho un clock che è in comune tra i 2 flip-flop. Entra un dato nel primo flip-flop, e appena il clock è sul fronte di salita alto, il dato viene trasmesso attraverso la rete logica con certo tempo, (e devo considerare il percorso più lungo in cui si propaga il segnale). Naturalmente quando il clock è sul fronte di salita, il dato viene trasmesso in uscita dal primo flip-flop con un piccolissimo ritardo (cioè il T_{setup}.
Ora devo considerare anche il tempo di hold, cioè il tempo in cui il dato permane prima della prossima transazione giusto?
Quindi nel secondo flip-flop il clock dovrà essere ancora al livello logico tale che non ci siano transazioni dal basso verso l'alto, affinche ci sia una buona riuscita della trasmissione?
Avatar utente
Foto Utenteguestleandro11
10 1 2
 
Messaggi: 8
Iscritto il: 17 lug 2015, 19:06

0
voti

[7] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteIsidoroKZ » 19 lug 2015, 17:52

Non mi pare sia giusto. Direi che debba metterti a studiare per bene quanto ti hanno spiegato in aula, anche se con questo caldo studiare e` poco invitante, e poi rileggi la mia spiegazione.

Ad esempio potresti cominciare a studiare le definizioni di tempi di set up, di hold, di ritardo del flip flop, di ritardo della rete logica...
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

2
voti

[8] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteIsidoroKZ » 19 lug 2015, 18:26

Gustav ha scritto: Altro che insegnare. Quello è disinformare.


E` solo una convenzione grafica, in realta` ci sono 3 FF a sinistra e 3 FF a destra, dato che non e` specificato da dove arrivato i segnali e dove vanno, e l'esercizio e` solo un aspetto particolare del progetto del sistema (trovare la massima frequenza di clock), non e` importante denominare i segnali.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[9] Re: Massima frequenza di clock e critical path

Messaggioda Foto Utenteguestleandro11 » 19 lug 2015, 20:33

Ho rivisto bene gli appunti, allora faccio il punto di ciò:
Un Flip-Flop è caratterizzato da un tempo di setup, un tempo di hold e un tempo di ritardo.
Tempo di setup: quando ho il fronte di salita del clock, il flip-flop memorizza il valore presente in "data", ma devo considerare questo tempo di setup, cioè il valore di "data" deve essere già di quel valore poco prima della transazione del clock.
Tempo di hold: il tempo di hold si riferisce sempre al flip-flop e significa che il segnale "data" non deve assolutamente variare prima di questo periodo affinche il flip-flop riesca a memorizzarlo correttamente.
Tempo di ritardo: riguarda tutti i vari dispositivi, nel mio caso i flip-flop e le porte logiche. Nel caso del flip-flop il tempo di ritardo è quel tempo che passa dopo la transazione del clock, affinchè ho in uscita il dato che ho inserito in "data". Stessa cosa per le porte logiche, cioè inserisco un segnale in ingresso, e impiegano un certo tempo di ritardo per riportarlo in uscita.
Allego un piccolo schema
Allegati
11749536_10206986874941276_1878622913_n.jpg
Avatar utente
Foto Utenteguestleandro11
10 1 2
 
Messaggi: 8
Iscritto il: 17 lug 2015, 19:06

0
voti

[10] Re: Massima frequenza di clock e critical path

Messaggioda Foto UtenteIsidoroKZ » 20 lug 2015, 8:30

Ok, adesso prova a rivedere il messaggio [2] e vedi se ha qualche senso in piu`.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 61 ospiti