Come definire gli orologi nel mio caso?

L

laughlatest

Guest
Hi, tutti:

Gli orologi nel mio disegno è:
CLK0 input esterni possono essere 32MHz o 64 MHz, che è stato selezionato con pin clk_sel.
CLK0 passa attraverso un PLL per diventare 64 MHz CLK1.

Poi, con l'aiuto di clk_sel, sia CLK1 o CLK0 è selezionato come CLK2, che serve come l'orologio di root del sistema.Il diagramma è illustrato di seguito.
- CLK0> PLL -> CLK1;
CLK2 = clk_sel?CLK1: CLK0;

Allora come definire i vincoli circa l'orologio?
Devo usare set_case_analysis per impostare clk_sel a 0 o 1, ed esegue l'analisi in modo indipendente?

D'altra parte,
Ci sono PLL e MUX tra CLK0 e CLK2 in caso di clk_sel = 1, mentre MUX solo in caso di clk_sel = 0, così diversa definizione di input_delay forse necessari per questi due casi?

Grazie in anticipo!
laughlatest

 
Salve,

Non so circa il flusso Synopsis, ma è necessario utilizzare set_clock_latency invece di input_delay per l'orologio in Encounter base del flusso.

La domanda successiva è "Che cosa è la radice orologio?".La risposta dipende archirecture scelto.Do you cotstraint ogni pin di uscita?Voglio dire, avete un sistema esterno che devono sincronizzare il lavoro con la tua morte (usa lo stesso clock di leggere dal vostro die)?Se no, si potrebbe utilizzare l'uscita PLL (o di uscita MUX) come root di clock generato.

Se la risposta è "sì", l'albero orologio può essere più complicato.

Può fornire maggiori informazioni su l'intero sistema che utilizza il vostro morire?

PS orologi Multiplexed sono molto spesso usati, in modo da cercare di google it (ex: http://www.altera.com/search?output=xml_no_dtd&sort=date% 3AD% 3AL% 3Ad1 & client = www_frontend & proxystylesheet = www_frontend & ie = UTF-8 & oe = UTF - 8 & site = www & q = MUX 20clock%)

 
Hi, kulyapinav:

Grazie per la vostra gentilezza.

Sicuramente, il mio chip è tenuto a fornire riferimento al campionamento clock esterno AD e DA.Ma l'orologio arriva anche l'uscita dal MUX, mentre l'orologio d'ingresso stessa.
Mi chiedo se questo fatto semplificare il problema in una certa misura.

Se scelgo l'uscita MUX come la radice di clock, quindi come strumento di sintesi gestirà il percorso da CLK0 (pin di ingresso CLK) di uscita MUX?
(Per avere un riferimento, PLL viene da 3-rd party IP, MUX è cellula speciale per l'orologio di selezione multiplexing proviene dalla biblioteca di fornitore di tecnologia).
E in questo caso, come utilizzare il set_clock_latency?

Grazie in anticipo
laughlatest

 
Salve,
Non si deve saltare porto CLK a tutti.
Volevo dire le seguenti:
create_clock-CLK0 nome [get_ports CLK] ....
create_generated_clock \
-name CLK1 \
-source [get_ports CLK]-divide_by 1 \
-[master_clock get_clocks CLK0] \
-add [get_pins PLL / OUT]
set_case_analysis 1 [get_ports PLL_selection]
CLK0 set_clock_latency $ some_nubmer
CLK1 set_clock_latency $ some_number

Si deve lavorare per FE.E, se funziona per voi, è possibile utilizzare pin di uscita PLL come radice dell'albero CLOCK durante back-end, invece che deve includere macro PLL in Fisica (propagate) Albero Clock.

 
Salve,

Thanks a lot.
Credo che la proposta sarà lavoro per me, in caso di clk_sel = 1.Vorrei solo provare.
Una cosa deve essere chiarita: nel mio disegno, PLL è usato per raddoppiare la frequenza di clock.
Quando clk_sel = 0, il CLK0 è un orologio da 64 MHz e utilizzato come clock di sistema direttamente,
quando clk_sel = 1, la CLK0 è un orologio 32MHz e tradotto in 64 MHz da PLL, quindi utilizzato come clock di sistema.

Ancora, mi chiedo perché è pin di uscita PLL, invece di pin di uscita MUX,
che deve essere utilizzato come radice del CTS.
Come sapete, in caso di clk_sel = 0, pin di uscita PLL non viene utilizzato comunque!

E anche nella vostra proposta, perché non c'è alcun bisogno di "set_case_analysis 0"?

Con i migliori saluti

 
Quote:

Ancora, mi chiedo perché è pin di uscita PLL, invece di pin di uscita MUX,

che deve essere utilizzato come radice del CTS.

Come sapete, in caso di clk_sel = 0, pin di uscita PLL non viene utilizzato comunque!
 
Hi, kulyapinav

Thanks so much!
Ora credo di avere avuto modo di capire la sua proposta in modo corretto.
Incentrata sulla valorizzazione del percorso con PLL sembra opportuno per me.

La cella MUX (MUX2CK) proviene dalla biblioteca di venditore, ed è specifica per il passaggio di clock,
quindi credo che non ho bisogno di preoccuparsi.

Ma quando si tratta del rapporto tra la latenza di clock e del gruppo dei costi,
In realtà, io non ne so molto di it.Would ti prego di darmi una breve e chiara
spiegazione?

Con i migliori saluti

 
laughlatest, è possibile specificare il vostro orologio in uscita MUX, ma come farà a risolvere il pantano dinanzi al mux?Si ha realmente bisogno di uno strumento che può gestire CTS multimodale.Si dovrebbe guardare anche l'uso Azuro's powercentric, può equilibrio orologi in entrambi i modi.

Dal modo in cui il vostro PLL hanno un modello di calendario con tutti i tempi definiti archi?Se è così allora si dovrebbe essere in grado di definire solo CLK0.

 
iwpia50s,

Grazie.
Il mio progetto è un segno netlist-off progetto, essere compito è out-sourcing per 3-house party design,
che ci forniscono lib tecnologia e anche PLL IP ecc
Quindi mi chiedo se posso semplificare il mio compito FE, per quanto possibile, e spingere le cose
a BE.Comunque, sono esperti per far fronte a queste cose .^-^.
Forse sono troppo ottimista al riguardo.

Secondo la mia comprensione, io possa avere alcun bisogno di equilibrio orologi in due modalità,
perché non sono utilizzati allo stesso tempo.
Se tutto l'input / output sono collegati alla produzione MUX, perché è l'equilibrio tra gli orologi in due
modi di essere importava?

B & R
laughlatest

 
hi iwpia50s,
In realtà i vincoli di cui sopra timimg (root clock è definita in uscita PLL o di uscita MUX) sono del tutto accettabili per BE (io uso questo flusso spesso. Io uso Cadence incontro è fissato strumento). Si può facilmente risolvere il pantano PRIMA il mux attraverso l'utilizzo vincolo max_transition .

hi laughlatest,
latenza orologio è ritardo di clock tree (albero del buffer e cellule inverter).Albero strumento Clock sinthesizer cerca di equalizzare tutte le locali latenza (ritardo dalla radice di clock per ogni FF) in modo tale modo il segnale arriva CLK tutte FFs allo stesso tempo.Corrispondenti in latenze locale è SKEW o parametro di incertezza.Quindi, se Skew = 0PS, orologio arriva tutti FFs allo stesso tempo (latenza globale = ogni latenza locali).
reg2reg gruppo dei costi
Registro a registrare i percorsi dati sono assolutamente independed sulla latenza.Nel caso in cui se Skew! = 0, reg2reg percorsi dei dati dipendono dal valore skew, e non dipendono dalla latenza (è ogni semplice: abs (lancio un'ora di ritardo - ritardo del clock cupture) = Skew).

Input-to-register gruppo dei costi
Questo gruppo di costo è un caso particolare di reg2reg (eredita comune paradigma reg2reg) - lancio valore di ritardo clock è pad di input / ritardo di porta anziché ritardo albero clock locale.In questo modo, in modo da avere solo la cattura di FF e la porta d'ingresso è un equivalente di lancio FF

-registro-gruppo dei costi di uscita
Questo è un caso particolare di reg2reg troppo, ma bisogna lanciare FF e porta di uscita, invece di catturare FF

Così, si può facilmente estrapolare reg2reg calcolo molle di installazione al gruppo dei costi in2reg e reg2out.

 

Welcome to EDABoard.com

Sponsor

Back
Top