@dcset; "Don’t-Care-Set: Auswirkungen siehe Simulationsergebnisse DECLARATIONS "*************** Ein- und Ausgänge *************************** in3..in0 PIN 25,26,27,28; "Eingänge a,b,c,d,e,f,g PIN 4,3,6,7,8,9,10 ISTYPE'BUFFER,COM'; "Anzeige-Ausgänge ohne Flipflops "********************* SET Deklarationen ******************************** dipschalter = [in3..in0]; "Zusammenfassung der Eingänge leds = [a,b,c,d,e,f,g]; "Zusammenfassung der Ausgänge EQUATIONS "**************************************************************** TRUTH_TABLE "************** Funktionstabelle ****************************** (dipschalter -> [a ,b ,c ,d ,e ,f ,g ]) "Eingänge -> Ausgänge 0 -> [1 ,1 ,1 ,1 ,1 ,1 ,0 ]; " LEDs high-aktiv! 1 -> [0 ,1 ,1 ,0 ,0 ,0 ,0 ]; " a 2 -> [1 ,1 ,0 ,1 ,1 ,0 ,1 ]; " --- 3 -> [1 ,1 ,1 ,1 ,0 ,0 ,1 ]; " f | g | b 4 -> [0 ,1 ,1 ,0 ,0 ,1 ,1 ]; " --- 5 -> [1 ,0 ,1 ,1 ,0 ,1 ,1 ]; " e | d | c 6 -> [1 ,0 ,1 ,1 ,1 ,1 ,1 ]; " --- 7 -> [1 ,1 ,1 ,0 ,0 ,0 ,0 ]; 8 -> [1 ,1 ,1 ,1 ,1 ,1 ,1 ]; 9 -> [1 ,1 ,1 ,1 ,0 ,1 ,1 ]; TEST_VECTORS "************* Simulation ************************************ (dipschalter -> leds); "oder [in3..in0]->[a,b,c,d,e,f,g] 0 -> .x.; @const i = 0; "Angangswert der Zählvariablen @repeat 16 "in { } folgendes 16 mal wiederholen { i -> [.x.,.x.,.x.,.x.,.x.,.x.,.x.]; @const i = i+1; "Zählvariable um 1 erhöhen } END
ohne @dcset (Don’t-Care-Set) | mit @dcset (Don’t-Care-Set) |
Vom Compiler erzeugte Logikgleichungen ohne @dcset (Don’t-Care-Set) |
Vom Compiler erzeugte Logikgleichungen mit @dcset (Don’t-Care-Set) |
a = (!in3 & !in2 & !in0 # in3 & !in2 & !in1 # !in3 & in1 # !in3 & in2 & in0); b = (!in3 & in1 & in0 # !in2 & !in1 # !in3 & !in1 & !in0 # !in3 & !in2); c = (!in2 & !in1 # !in3 & in2 # !in3 & in0); d = (!in3 & !in2 & !in0 # !in3 & in1 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1 & in0 # !in3 & !in2 & in1); e = (!in2 & !in1 & !in0 # !in3 & in1 & !in0); f = (!in2 & !in1 & !in0 # !in3 & in2 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1); g = (!in3 & in2 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1 # !in3 & !in2 & in1); |
a = (!in2 & !in0 # in3 # in1 # in2 & in0); b = ( in1 & in0 # !in2 # !in1 & !in0); c = (!in1 # in2 # in0); d = ( in1 & !in0 # in3 # in2 & !in1 & in0 # !in2 & in1 # !in2 & !in0); e = (!in2 & !in0 # in1 & !in0); f = ( in2 & !in0 # in3 # in2 & !in1 # !in1 & !in0); g = ( in2 & !in0 # in3 # in2 & !in1 # !in2 & in1); |