Tengo una condición como si un número fuera de una constante, entonces, ¿cómo se puede convertir esto en hardware en diseño digital? ¿Se convertirá esto en mux o algo más?
Tengo una condición como si un número fuera de una constante, entonces, ¿cómo se puede convertir esto en hardware en diseño digital? ¿Se convertirá esto en mux o algo más?
Esto es simplemente un restador. Resta a de b, y el bit de signo te dirá < o > =. Por cierto, para < = puede verificar todos los ceros, o simplemente intercambiar a y b.
Vamos a intentar desarrollar algo como un comparador digital de N bits para enteros sin signo. ¿Cómo compararíamos dos números \ $ A = A_ {N-1} ... A_1A_0 \ $ y \ $ B = B_ {N-1} ... B_1B_0 \ $?
Aquí está el algoritmo:
1) Si \ $ A_ {N-1} = B_ {N-1} \ $, devuelva el resultado de \ $ A '< B '\ $, donde \ $ A = A_ {N-2} ... A_1A_0 \ $ y \ $ B = B_ {N-2} ... B_1B_0 \ $, es decir, los números originales sin su MSB.
2) De lo contrario, devuelva el resultado de \ $ A_ {N-1} < B_ {N-1} \ $ (solo la relación de los dos bits actuales).
Así que aquí está el bloque básico CMP1
: comparación de bits de \ $ A_i \ $ con \ $ B_i \ $, si \ $ A_i < B_i \ $, devuelve 1
, de lo contrario, devuelva el resultado de la siguiente comparación. Aquí está la tabla de verdad:
Ai Bi Result_(i-1) | Result_i
0 0 0 | 0
0 0 1 | 1
0 1 0 | 1
0 1 1 | 1
1 0 0 | 0
1 0 1 | 0
1 1 0 | 0
1 1 1 | 1
Y para el bit N simplemente encadenamos los bloques:
Lea otras preguntas en las etiquetas digital-logic