Combinador de barramento
Um barramento é um feixe de fios que transporta um valor de vários bits como uma única linha. O Combinador compõe N linhas individuais de 1 bit em um único barramento de saída de N bits, de modo que a entrada i se torna o bit i do barramento. Ele não realiza lógica nem adiciona atraso: é apenas uma conveniência de fiação que permite combinar sinais controlados separadamente em uma única linha de barramento. É a contraparte exata do Divisor — onde o Divisor decompõe um barramento, o Combinador o remonta.
Combinar quatro linhas de 1 bit
Defina a largura de bits do Combinador como 4 e conecte quatro linhas separadas de 1 bit às suas quatro entradas — in0, in1, in2 e in3 (bit menos significativo primeiro). A saída única transporta então o barramento composto, onde a entrada i simplesmente se torna o bit i do valor do barramento, portanto in0=1, in1=1, in2=0, in3=1 produz o valor de barramento 1011.
| in3 | in2 | in1 | in0 | Bus |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0000 |
| 1 | 0 | 1 | 1 | 1011 |
| 1 | 1 | 1 | 1 | 1111 |
Indexação de bits, LSB primeiro
O Combinador segue a convenção do bit menos significativo primeiro: o índice de entrada 0 se torna o LSB do barramento e o índice N-1 se torna o MSB. Isso corresponde à forma como o Divisor numera suas saídas, então um barramento dividido e recombinado com índices correspondentes retorna ao mesmo valor. Manter a mesma ordem de bits em ambas as pontas é essencial sempre que você divide um barramento, processa os bits individuais e os recombina.
Transformar fontes individuais em um barramento
Conecte quatro Interruptores a um Combinador e leve sua saída de 4 bits à entrada do decodificador de um Display de 7 Segmentos. Alternar os interruptores agora compõe um valor bit a bit e o exibe como um único dígito, o padrão comum para montar um barramento a partir de fontes controladas independentemente, como interruptores, sensores ou as saídas de vários subcircuitos pequenos. Para fazer o inverso e decompor um barramento de volta em bits individuais, use o Divisor em vez disso.
Citações
- Harris, D. M., & Harris, S. L. (2012). Digital design and computer architecture (2nd ed.). Morgan Kaufmann. Referência 1
- Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson. Referência 2