Distribuidores (Splitters)

Quando você trabalhar com valores multi-bit, muitas vezes poderá querer rotear bits em direções diferentes. A ferramenta Distribuidor (Splitter) da biblioteca Base () lhe permitirá fazer isso.

Por exemplo, suponha que queiramos construir um circuito que calcula bit a bit a conjunção de dois nibbles (meio byte) de uma entrada de oito bits (os quatro bits superiores e os quatro bits inferiores). Teremos um valor de oito bits no pinos de entrada, e é desejável dividi-lo em dois valores de quatro bits. No circuito abaixo, usaremos um distribuidor para conseguir isso: a entrada de 8 bits irá conectar-se ao distribuidor (que se assemelha a um pé de pássaro), que dividirá os 8 bits em dois conjuntos de 4 bits, que irão para a porta AND e de lá para a saída.

()
(Figura do original em inglês)

Nesse exemplo, a distribuição acontecerá na verdade ao se separar um valor de entrada em vários de saída. Mas os distribuidores também poderão combinar vários valores em um só. Na verdade, eles não têm direção preferencial: podem enviar sinais em um sentido em dado instante, e em outro sentido mais tarde, e ainda poderão fazer as duas coisas ao mesmo tempo, como no exemplo abaixo, onde um sinal será transmitido para o leste através de dois distribuidores, e em seguida, será encaminhado de volta para o oeste através deles, e novamente para leste, onde finalmente chegará a sua saída.

(Figura do original em inglês)

A chave para o entendimento dos distribuidores são seus atributos. A seguir, o termo terminações (split end) refere-se às múltiplas conexões de um lado, enquanto o termo combinada (combined) refere-se à extremidade do único fio do outro lado.

Observar que qualquer alteração nos atributos multiplicidade ou largura de bit irá recompor todas os atributos Bit x de modo que eles possam distribuir os bits combinados da maneira mais uniforme possível entre as terminações.

Próximo: Cores das conexões.