¿Cómo obtener el MSB en una puerta lógica que verifique si un número es negativo o no?

0

Necesito crear una puerta lógica que averigüe si un número es negativo o no.

La entrada es de 8 bits y la salida es de 1 bit, y si la entrada es 1 (es decir, un número negativo), la salida también debe ser 1, pero si la entrada es 0, entonces la salida también debe ser 0, por lo que funciona un poco como una compuerta NO sin el inversor.

He leído sobre el MSB y cómo funciona y que debería incluirlo en la entrada, pero no estoy completamente seguro de cómo escribirlo. Voy a probar esto en un HDL, así que tendré que escribirlo un poco como:

Not(in=in[1], out=out[1];

y así sucesivamente.

¿Alguna idea?

    
pregunta MichaelCerrera

2 respuestas

0

En Verilog solo habrías assign out = in[7] y habrás terminado.

Puede que haya una puerta disponible en su HDL que haga esto en un solo paso. Podría llamarse algo así como Buf o Buffer .

Pero si no tiene la documentación para su HDL, o si realmente no hay forma de decirle simplemente que una señal es un alias de otra, podría conectar dos inversores en cascada.

simular este circuito : esquema creado usando CircuitLab

Aparte de eso, el lenguaje que está utilizando se parece más a un lenguaje de lista de red que a un HDL con todas las funciones. Probablemente haya sido diseñado únicamente para respaldar a su clase y no se usa en absoluto en la industria. Su profesor o asistente de asistencia técnica es probablemente el mejor para explicarle la sintaxis y las puertas disponibles.

    
respondido por el The Photon
0

No haces nada. Puede utilizar la señal tal como está:

if (number[7]) // do whatever you want when it's negative else // do the positive thing

O use una declaración de asignación como se sugiere en los comentarios.

    
respondido por el Matt

Lea otras preguntas en las etiquetas