Wat is False path?

Pad dat structureel bestaat, maar waarlangs tijdens de werking geen signaal daadwerkelijk propageert. Wordt als timingexceptie van STA uitgesloten en in SDC opgegeven met set_false_path.

Japanse benaming: フォールスパス

“False path” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Timinganalyse en CDC.

Vakgebied: Timinganalyse en CDC

Nu oefenen: vragen over False path

Voor welk pad is het instellen van een false path (set_false_path) passend?

  1. AEen pad dat structureel in de schakeling verbonden is, maar waar in werkelijkheid nooit een signaal doorheen gaat, bijvoorbeeld omdat de selectievoorwaarden elkaar uitsluiten
  2. BEen pad met een grote timingovertreding dat moeilijk te repareren is
  3. CEen pad waarbij de data maar eens per 2 cycli hoeft te worden overgenomen
Antwoord en toelichting tonen

Antwoord: A. Een pad dat structureel in de schakeling verbonden is, maar waar in werkelijkheid nooit een signaal doorheen gaat, bijvoorbeeld omdat de selectievoorwaarden elkaar uitsluiten

STA onderzoekt alle verbonden paden zonder rekening te houden met de logische betekenis. Daardoor kunnen ook overtredingen verschijnen op paden die in werkelijkheid nooit worden doorlopen, zoals in een schakeling waarin twee multiplexers met hetzelfde selectiesignaal tegengestelde ingangen kiezen. Zulke paden worden als false path opgegeven en uit de analyse gehaald. Een pad uitsluiten omdat het moeilijk te repareren is, verbergt echte fouten. Een pad dat eens per 2 cycli overneemt, moet als multicycle path met verlengde tijd verder worden geanalyseerd.

Wat is de juiste reden waarom het een probleem kan zijn om het pad waarlangs de Gray-codepointer van een asynchrone FIFO naar het andere domein gaat zonder constraint te laten (false path), alleen omdat het asynchroon is?

  1. AOmdat bij een false path de flip-flops van de synchronisator door logische synthese worden verwijderd
  2. BOmdat als het verschil in vertraging tussen de bits groter wordt dan het update-interval van de pointer, de aanname dat per keer maar één bit verandert aan de ontvangende kant niet meer klopt
  3. COmdat bij een false path de pointer door de tool weer naar binair wordt omgezet
Antwoord en toelichting tonen

Antwoord: B. Omdat als het verschil in vertraging tussen de bits groter wordt dan het update-interval van de pointer, de aanname dat per keer maar één bit verandert aan de ontvangende kant niet meer klopt

Een Gray-codepointer gaat ervan uit dat, op welke flank de ontvanger ook kijkt, hooguit één bit aan het veranderen is. Zonder constraint op het pad kan de vertraging per bit na place-and-route sterk uiteenlopen. Is bijvoorbeeld de periode aan de verzendende kant 2 ns, en duurt het voor de bit die de eerste keer verandert 3 ns en voor de bit die de tweede keer verandert 1 ns om aan te komen, dan komen beide op tijdstip 3 ns aan en lijkt het alsof 2 bits tegelijk veranderen. Daarom wordt een constraint voor de maximale vertraging opgelegd om het verschil in vertraging binnen één periode van de verzendende kant te houden.

“False path” in de toelichting

Vragen met “False path” (2)

  1. Voor welk pad is het instellen van een false path (set_false_path) passend?
  2. Wat is de juiste reden waarom het een probleem kan zijn om het pad waarlangs de Gray-codepointer van een asynchrone FIFO naar het andere domein gaat zonder constraint te laten (false path), alleen omdat het asynchroon is?

Verwante termen

STA (statische timinganalyse) Asynchrone FIFO Numerieke apertuur (NA) CRPR (clock reconvergence pessimism removal) Handshake Klokdomein Klokonzekerheid (clock uncertainty) Kritiek pad MTBF (gemiddelde tijd tussen storingen) Multicyclepad

Naar de woordenlijst