3 votos

ALU de diseño con 2 líneas de selección, 2 entradas ( n bits )

Quiero diseñar ALU con 2 líneas de selección , 2 entradas ( n bits ) que hagan lo siguiente:
table

esto es una tarea y quiero saber que hacer, escribeme los pasos para diseñarlo.
lo primero que he pensado hacer es construir una tabla con S0,S1,C, entonces tengo 8 filas, y la salida será F. ¿esta bien? ahora que debo hacer?
¡Gracias!
EDITAR

S0 S1 C  |  operation
0  0  0  |  S = A+B
0  0  1  |  S = A+B+1
0  1  0  |  S = A transfer?
0  1  1  |  S = A+1(inc)
1  0  0  |  S = B`
1  0  1  |  S = B`+1
1  1  0  |  s = A+B`(negate)
1  1  1  |  S = A+B`+1

4voto

JW. Puntos 145

¿Has oído hablar de un multiplexor de n bits? Calcula todas las funciones independientemente en paralelo (con lógica combinatoria), y pasa las salidas a través de un multiplexor con la salida elegida por las líneas de selección. Los multiplexores son una herramienta muy útil para la "superposición lógica" (ni idea de si es un término real, me lo acabo de inventar).

La forma de llegar a una solución optimizada es construir primero una ruta de datos que pueda generar y combinar eficazmente todos los valores intermedios que identifique el enunciado del problema. A continuación, hacer un poco de reducción lógica para generar las distintas señales de control a esa ruta de datos en función de sus entradas de control de alto nivel (S1, S0).

2voto

Tolik Puntos 31

Se pueden hacer algunas observaciones:

  1. Sólo necesita 1 resultado por conjunto de entrada de control
  2. TODAS las operaciones que la ALU necesita realizar son posibles a través de un bloque Sumador que tiene 2 entradas de n bits junto con 1 entrada de acarreo.
  3. El rango de entradas que necesitas introducir es (A, B, B`, 0) y (0, 1) para las entradas de acarreo. Por ejemplo, para s1s0 = 01 y C=0, puede alimentar A y 0 como entrada al sumador y establecer el acarreo en 0. Para C=1, puede establecer el acarreo en 1.

Todo esto se traduce en un multiplexor de entrada seguido de un sumador.

Aunque sólo sean deberes, es una buena e importante técnica de diseño para aprender a identificar redundancias en la especificación y reducir la lógica.

0voto

ianb Puntos 659

Son sólo ideas para ayudar, no hace falta votar.

  • S0 siempre aparece para invertir B - utilizar una exclusiva o puerta para esto; B va a una entrada y S0 a la otra.
  • C siempre añade un uno a la respuesta intermedia, así que úsalo para algo.
  • Cuando S0 es cero, A siempre se factoriza en la respuesta

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X