Timing-Analyse und CDC
Welche Bedingung zur Erkennung von „voll“ (full) auf der Schreibseite ist bei einem asynchronen FIFO mit 16 Wörtern Tiefe und 5-Bit-Gray-Code-Zeigern richtig?
- ADie oberen 2 Bit von Schreibzeiger und synchronisiertem Lesezeiger sind jeweils invertiert, und die unteren 3 Bit stimmen überein
- BAlle 5 Bit von Schreibzeiger und synchronisiertem Lesezeiger stimmen überein
- CNur das höchstwertige Bit von Schreibzeiger und synchronisiertem Lesezeiger ist invertiert, und alle unteren 4 Bit stimmen überein
Antwort und Erläuterung anzeigen
Antwort: A. Die oberen 2 Bit von Schreibzeiger und synchronisiertem Lesezeiger sind jeweils invertiert, und die unteren 3 Bit stimmen überein
Binär ist der FIFO voll, wenn der Schreibzeiger genau 16 vor dem Lesezeiger liegt; dann unterscheidet sich nur das höchstwertige Bit. In Gray-Code übertragen wird das höchstwertige Bit direkt invertiert, das zweite Bit, das durch XOR mit dem höchstwertigen Bit entsteht, wird ebenfalls invertiert, und die unteren 3 Bit sind gleich. Ist der Lesezeiger beispielsweise 00000, ist der Schreibzeiger bei vollem FIFO 11000. „Nur das höchstwertige Bit invertiert“ ist die Bedingung für den binären Fall, und die Übereinstimmung aller 5 Bit ist die Bedingung für leer (empty).