Logisk redundans
Logisk redundans uppstår i ett digitalt grindnätverk som innehåller kretsar som inte påverkar den statiska logiska funktionen. Det finns flera anledningar till att logisk redundans kan finnas. En anledning är att den kan ha lagts till medvetet för att undertrycka transienta glitches (och därmed orsaka ett rastillstånd ) i utsignalerna genom att två eller flera produkttermer överlappar med en tredje.
Tänk på följande ekvation:
Den tredje produkttermen är en redundant konsensusterm . Om växlar från 1 till 0 medan \ och 1. Under övergången av signal i logiska grindar, både den första och andra termen kan vara 0 tillfälligt. Den tredje termen förhindrar en glitch eftersom dess värde på 1 i detta fall inte påverkas av övergången av signal .
En annan orsak till logisk redundans är dålig designpraxis som oavsiktligt resulterar i logiskt redundanta termer. Detta orsakar en onödig ökning av nätverkets komplexitet, och eventuellt försvårar möjligheten att testa tillverkade konstruktioner med traditionella testmetoder (single stuck-at-fault-modeller). Testning kan vara möjlig med IDDQ -modeller.
Ta bort logisk redundans
Logisk redundans är i allmänhet inte önskvärd. Redundans kräver per definition extra delar (i det här fallet: logiska termer) vilket höjer kostnaden för implementering (antingen faktisk kostnad för fysiska delar eller CPU-tid att bearbeta). Logisk redundans kan tas bort med flera välkända tekniker, såsom Karnaugh-kartor , Quine–McCluskey-algoritmen och den heuristiska datormetoden .
Lägger till logisk redundans
I vissa fall kan det vara önskvärt att lägga till logisk redundans. Ett av dessa fall är att undvika tävlingsförhållanden där en utdata kan fluktuera eftersom olika termer "racer" för att stänga av och på. För att förklara detta mer konkret Karnaugh-kartan till höger mintermerna för följande funktion:
Rutorna representerar de minimala OCH/ELLER-termerna som behövs för att implementera denna funktion:
K-kartan visar visuellt var rasförhållanden uppstår i det minimala uttrycket genom att ha luckor mellan minterms, till exempel gapet mellan de blå och gröna rektanglarna. Om inmatningen skulle ändras från till kommer ett lopp att inträffa mellan att stängas av och aktiveras. Om den blå termen stängs av innan den gröna tänds kommer utsignalen att fluktuera och kan registreras som 0. Ett annat rasvillkor är mellan det blå och det röda för övergång från 1110 {\displaystyle 1110} \ .
Race-villkoret tas bort genom att lägga till logisk redundans. Båda villkoren för minterm race täcks av tillägg av den gula termen .
I det här fallet har tillägget av logisk redundans stabiliserat utgången för att undvika utgångsfluktuationer eftersom termer tävlar med varandra för att ändra tillstånd.