Comparador de magnitud
Compara dos buses sin signo A y B e informa el resultado en tres salidas separadas: A>B, A=B y A<B. Exactamente una de ellas está en HIGH en cada momento, porque dos números siempre son o mayor, o igual, o menor. Responde la pregunta que un restador solo insinúa, y la responde sin producir una diferencia que después habría que interpretar.
Leer las tres banderas
Alimenta A y B desde dos entradas multibit y coloca un LED en cada una de las tres salidas. Cambia cualquiera de los números y observa cómo el LED encendido se mueve entre las tres banderas. La tabla de abajo usa valores de 2 bits para ser breve; el comportamiento es el mismo con cualquier ancho.
| A | B | A>B | A=B | A<B |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 2 | 3 | 0 | 0 | 1 |
| 3 | 3 | 0 | 1 | 0 |
Un detector de umbral
Mantén B fijo con un DIP switch y excita A desde un contador. La salida A>B pasa ahora a HIGH en el momento en que la cuenta supera tu umbral, y se mantiene en HIGH después. Combina A>B con A=B a través de una compuerta OR cuando quieras la condición "mayor o igual", que el comparador no entrega como pin propio.
La igualdad es la parte barata
Vale la pena saber qué te cuesta el comparador. La igualdad por sí sola es barata: aplica XNOR a cada par de bits y luego AND a los resultados, ya que dos números son iguales exactamente cuando coinciden en todas las posiciones. El orden es la parte cara, porque debe decidirse desde el bit más significativo que difiere hacia abajo, y por eso un comparador de magnitud crece con el ancho de una forma en que un detector de igualdad no lo hace. Si tu diseño solo necesita A=B, construirlo con XNOR resulta más pequeño que colocar un comparador completo.
Citas
- Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson. Referencia 1
- Wakerly, J. F. (2018). Digital design: Principles and practices (5th ed.). Pearson.