Frage

Ich möchte ein 27-MHz-Taktsignal zur Einrichtung in ModelSim . I-Setup in der Regel eine Uhr mit einem rechten Mausklick des Signal -> Uhr -> Setup-Zeit. Zum Beispiel, 50-MHz-Takt -> 20 ns oder habe ich die Kraft Anweisung

.

Da der 27-MHz-Takt speziell ist, ist es nicht eine ganze Zahl Zeit, wenn ich ein Setup der Uhr mit einem appx Wert, ist es immer Timing-Probleme hat.

So, wie ich ein Setup tun diese Uhr?

War es hilfreich?

Lösung

Ihre Uhren sind asynchron. Sie wird immer „Timing-Probleme“ haben - wenn Ihr zwei Taktflanken einander sehr nahe kommen (wie sie zwangsläufig manchmal) einige Ihrer Flops Metastabilität ausstellen.

Sie benötigen eine 27-MHz-Domain Signale an die 50-MHz-Domäne resynchronisieren, akzeptieren und für die Tatsache zu mildern, dass gelegentlich die Synchronisation falsch sein wird. Es gibt Techniken, um den Wert von „gelegentlich“ als kleiner Wert zu reduzieren, wie Sie für Ihr System geeignet denken ist, aber Sie werden nie wieder los.

Siehe FPGA-FAQ 0017, Erzähl mir von Metastabilität .

Andere Tipps

Wenn beide Domänen mit (50 MHz, 27 MHz) ist ein Muss, dann sollten Sie Synchronisationsschaltungen an jedem intrface zwischen den beiden Domänen implementieren:

Signal changes_at50;
Signal read_at27;

Sie können eingeben:

read_at27 <= changes_at50;

Aber bringen Sie sie durch eine Synchronisationsschaltung. (Oder ein asynchrones FIFO).

Synchronisationsschaltungen sind in der Regel kaskadierten Flip-Flops, die Meta-stabily zu minimieren, die zwischen Taktbereichen entsteht. Weitere Kaskaden besser reduziert die Meta-Stabilität, sondern erhöht die Datenlatenz. Es ist eine Design-Wahl.

Wenn Sie mit nur einem Takt, der eine funktionelle sim laufen, die genaue Zeit der Uhr ist nicht so wichtig, solange das Ein- und Ausgänge des Systems sind mit der gleichen Rate getaktet wird.

Ich schlage vor, eine Taktperiode der Nähe Ihrer Zielperiode zu wählen und Ihre Datenquellen entsprechend skaliert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top