Detector de LSB

El detector de LSB informa el indice del bit menos significativo en 1 dentro del bus de entrada, con un indicador de habilitacion que se activa solo si hay al menos un bit en 1. Al recorrer desde abajo, aisla el uno mas bajo, la operacion detras del find-first-set y la logica de asignacion.

Básico

Ultimo uno en 4 bits

Para la entrada 0110 el bit mas bajo en 1 esta en el indice 1, asi que el detector entrega 1 y activa habilitacion. Con 0000 no hay nada en 1, la habilitacion queda en bajo y el indice no esta definido.

InputEnableIndex
00000-
000110
001011
010012
011011
100013
Intermedio

Aislar el uno mas bajo

En 8 bits el detector devuelve el primer 1 visto desde el extremo menos significativo. Para 01101000 el ultimo uno esta en el indice 3. El truco clasico x AND (-x) aisla ese mismo bit como mascara.

Aislar el uno mas bajo
Avanzado

Asignador find-first-free

Los grupos de recursos guardan un mapa de bits donde 0 marca una ranura libre. Al invertirlo y tomar el indice del LSB se obtiene la primera ranura disponible en un paso, el nucleo de asignadores de buffers, listas de listos del planificador y arbitros round-robin.

Asignador find-first-free

Citas

  • Shannon, C. E. (1938). A symbolic analysis of relay and switching circuits. Referencia 1
  • Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson.
  • Wakerly, J. F. (2018). Digital design: Principles and practices (5th ed.). Pearson.