Ich muss eine 4-zu-1-Funktion in Veriog implementieren. Die Eingabe ist 4 Bits, eine Zahl von 0-15. Der Ausgang ist ein einzelnes Bit, 0 oder 1. Jeder Eingang gibt einen anderen Ausgang und die Zuordnung von Eingängen zu Ausgängen ist bekannt, die Ein- und Ausgänge selbst jedoch nicht. Ich möchte, dass VCS den Code erfolgreich optimiert und auch so kurz/sauber wie möglich ist. Meine Lösung so weit:Effiziente Synthese einer 4-zu-1-Funktion in Verilog
wire [3:0] a;
wire b;
wire [15:0] c;
assign c = 16'b0100110010111010; //for example but could be any constant
assign b = c[a];
Das Deklarieren von c ist hässlich und ich weiß nicht, ob vcs die K-map dort erkennt. Funktioniert das ebenso wie eine Fallaussage oder eine Aufgabe in konjunktiver Normalform?