Bernd schrieb:
> elernt habe ich in den anderen Foreninhalten, dass unterschiedliche
> Clks stets synchronisiert werden müssen, unabhängig davon ob deren
> Flanken synchron HIGH werden oder nicht, und das dies ein echter Aufwand
> ist den, wenn man ihn vermeiden kann, auch vermeiden sollte.
An dem Satz stimmen 3 Sachen nicht:
1) Synchronisieren von Clocks ist nicht der Punkt, es geht um das
Synchronisieren der Daten.
2) Flanken von Takten sind grundsätzlich nie 100% synchron. Das ist eine
Frage des Budgets. Wenn das reicht, ist eine sichere Übergabe immer
möglich, egal ob die Takte einen direkten Bezug haben und ab und
scheinbar zum gleichen Zeitpunkt kommen. Es ist im Gegenteil so, dass
dies genau dann am einfachsten funktioniert, wenn sich die Taktflanken
NIE sehen.
3) Man kann da nichts vermeiden, weil das durch die Aufgabe vorgegeben
ist. Dort, wo Takte aufeinander treffen, muss eine adäquate Lösung her.
Was man machen kann, ist nicht unnötig viele Takte ins Design zu
bringen.
Daher der Einwurf der enables. Aber:
In deinem Fall kann das durchaus sinnvoll sein, einen langsamen echten
Takt zu nehmen und das passend zu behandeln. Dazu braucht es ein strobe
Signal, das das neu Einschreiben eines Datums in REG anzeigt. Wenn sich
das ändert, wird gelesen. Das zu synchen erfordert ein einmaliges
Einsynchen der Daten und des Strobes.