Zwei 8-Bit-Eingänge werden dem Komparator zugeführt, und wenn der erste größer als der zweite ist, sollen sie subtrahiert werden, sonst sollen sie addiert werden. Aber, und < Operatoren sollen nicht verwendet werden, um sie zu vergleichen. Also, ich habe meine Logik geschrieben wie:Vergleich zweier Zahlen ohne Vergleich Operatoren in Verilog
input[7:0] in1,in2;
output select;
assign select=(in1-in2)?0:1;
Es ist immer subtrahiert, es sei denn, Differenz 0 ist gleich Wenn ich Division verwenden, 0 kann nicht ein Eingang oder mein Programm kann abstürzen sein. Irgendwelche Vorschläge, wie man dieses Problem löst?
Vielen Dank für Ihre Zeit.
Vielen Dank Alper. Aber warum funktionierte das und die Logik, die ich benutzte, nicht? Passt der Draht oder die Größe zueinander? – ZealousCoder
Gern geschehen, ZealousCoder. In 'assign select = (in1-in2)? 0: 1;', 'in1-in2' ist ein 8-Bit-Wert. '(in1-in2)?' Operation vergleicht, ob das Ergebnis dieser 8-Bit-Subtraktion größer als Null ist oder nicht, und gibt nur 0 zurück, wenn 'in1-in2' gleich Null ist. Bitte denken Sie daran, die Antwort zu akzeptieren, wenn Sie glauben, dass sie Ihr Problem löst. –