Che cos'è un vincolo di temporizzazione del percorso falso?


10

Nel mondo FPGA, quali sono esattamente i vincoli dei falsi percorsi per un compilatore HDL? Perché sono utili?


1
Questo è un concetto digitale, non solo un concetto FPGA.
W5VO,

Risposte:


14

I falsi percorsi sono percorsi di temporizzazione che non saranno mai realmente esercitati nel progetto finale. Supponiamo che tu stia progettando un contatore a 4 bit e si scopre che c'è un percorso di ritardo molto lento quando si incrementa da 12 a 13. Se il tuo progetto ripristina sempre il contatore ogni volta che il conteggio è uguale a 9, quel percorso lento non sarà mai visto nel disegno reale. È possibile etichettare il percorso lento come un percorso falso in modo che il compilatore non trascorra alcun tempo o aggiungere ulteriore logica, nel tentativo di rendere più veloce il percorso falso.


5
Eh, e pensavo che il falso percorso avesse a che fare con l'uso di Atmels invece di PIC o qualcosa del genere.
Olin Lathrop,

Un tipo più significativo di falso percorso penso che sia un segnale che cambia sul bordo di un orologio e viene campionato sul bordo di un orologio diverso, ma il segnale non cambierà mai in nessun posto vicino al momento in cui cambia il secondo orologio, o se cambia, non importa nulla del suo valore. Gli strumenti di analisi dei tempi probabilmente fallirebbero a meno che uno non aggiungesse un doppio sincronizzatore che era controllato dal secondo orologio, ma l'aggiunta di un tale sincronizzatore avrebbe potuto interrompere totalmente il progetto. Ad esempio, il primo orologio potrebbe funzionare a 1MHz e il secondo a 32KHz, ma ...
supercat

... il dispositivo che genera il segnale potrebbe cambiarlo tre cicli da 1 MHz dopo aver visto un fronte di salita sul clock a 32 KHz. Di conseguenza, è possibile garantire che il segnale bloccato dall'orologio a 32 kHz soddisfi i requisiti di campionamento / mantenimento del latch a 32 kHz senza alcuna sincronizzazione aggiuntiva. Se la logica sul lato 1MHz generasse i suoi dati in base a ciò che stava facendo il lato 32KHz, un tale progetto potrebbe consentire alle informazioni generate su un ciclo sul lato 32Khz di percolare in entrambi i modi con il ciclo successivo. L'aggiunta della doppia sincronizzazione al lato 32Khz lo spezzerebbe.
supercat

8

Un percorso falso è un percorso che esiste nel progetto ma non gioca un ruolo nell'operazione, quindi non è necessario includerlo nell'analisi dei tempi.
Potrebbero esserci varie ragioni per questo, ma poiché lo strumento di analisi dei tempi di solito non sa (anche se ci sono alcuni strumenti che possono rilevarli) quali percorsi possono essere utilizzati o meno, devi dirlo. È simile a un percorso a più cicli, in cui è possibile dire che un determinato percorso può utilizzare più di un ciclo per il completamento.

Un esempio (di un percorso falso) è un registro che potrebbe essere scritto una volta all'accensione, ma poi rimane nello stesso stato.


1

Semplicemente, un percorso falso è un percorso logico che si desidera escludere dal controllo per vedere se soddisfa i tempi durante l'analisi dei tempi. Esistono due motivi per escludere i percorsi, in primo luogo perché il percorso falso renderà gli strumenti più difficili da gestire per rispettare i tempi per quel segnale, il che a sua volta influenzerà i percorsi dei segnali legittimi che potrebbero causare errori di temporizzazione aggiuntivi e perché causerà errori nel controllo dei tempi eventualmente distrarre il progettista da errori di tempistica legittimi.

I percorsi falsi sono causati da percorsi logici tra orologi asincroni non correlati o orologi della stessa frequenza ma con relazione di fase sconosciuta o un percorso che non verrebbe mai attivato durante il normale funzionamento del circuito. Dire allo strumento di ignorare un percorso non fa funzionare i tempi solo che i tempi non sono controllati. Spetta al progettista assicurarsi manualmente che venga utilizzata la logica di sincronizzazione corretta per questi percorsi di segnale ignorati.

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.