13 / 63 · Concepto
DEMUX y decodificador: envíe datos por el camino seleccionado
Compare dirección y función de MUX, DEMUX y decodificador y verifique one-hot y one-hot-or-zero.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
MUX reúne; DEMUX distribuye
Un MUXMultiplexor Circuito combinacional que conecta una de varias entradas a la salida según una señal de selección. Debe especificarse la correspondencia entre los bits de selección y los números de entrada. Más información envía una de varias entradas de datos a una salida. Un DEMUXDEMUX Circuito que envía un dato de entrada a la salida indicada por la selección. También debe especificarse el valor de las salidas no seleccionadas. envía una entrada d a la salida seleccionada y mantiene las demás en 0. Para un DEMUX 1 a 4 con selección :
La misma función como decodificador con enable
En la figura, lea a1 y a0 como dirección y enable como dato d. Las salidas d0–d3 corresponden a y0–y3. La misma función combinacional recibe nombres distintos según su contexto.
d[i] = enable AND (2 × a1 + a0 = i)
Con dirección 10 y dato 1, solo y2 vale 1. Con dato 0, todas las salidas, incluida la seleccionada, valen 0. Por tanto, no siempre se cumple one-hotOne-hot Representación en la que exactamente un bit vale 1. Si también se permite que todos sean 0, la condición se denomina one-hot-or-zero. Más información, exactamente un 1; para toda la operación corresponde one-hot-or-zero, como máximo un 1.
Distinga selección y escritura efectiva
Para escribir en uno de cuatro registrosRegistro Circuito que almacena varios bits de estado. Los registros síncronos de este curso capturan la entrada especificada en el flanco de reloj. Más información, puede usarse write_en como d y la dirección como selección. El decodificadorDecodificador Circuito que activa la línea de salida correspondiente a un código binario. Con enable, puede llevar todas las salidas a 0 cuando está deshabilitado. Más información no almacena valores: el registro recibe enable y datos en el flanco de reloj y entonces almacena. Cambiar una selección combinacional no cambia inmediatamente el valor guardado.
- Dirección + write_en: Defina dónde escribir y si se escribe
- Decodificador: Genere enable para un único registro seleccionado
- Flanco de reloj: El registro seleccionado almacena el dato
Compruebe tanto la salida seleccionada como que todas las restantes valgan 0. Hay cuatro combinaciones con d=0 y cuatro con d=1: ocho en total. Esta comprobación funcional no garantiza ausencia de pulsos espurios al cambiar la dirección.
Inténtalo tú
Con s1s0=01, calcule y3y2y1y0 para d=1 y d=0. ¿Cuándo falla exigir que exactamente un enable de los cuatro registros esté activo?
Leer la explicación
Son 0010 y 0000. Con d o write_en en 0 es correcto que ninguna salida esté activa. La condición de exactamente una solo se aplica con d=1.