Community

Ask A Question
Subscribe

You’re not receiving notifications from this thread.

How do I take multiple input bits to use n to 2^n decoders, n>=2?

Created by Baibhav Chakraborty • 1 year ago
General
avatar of user

Baibhav Chakraborty

On  Aug 05, 2022

I have been in a dilemma for 5 mins. I have been looking at the forum for answer. However I couldn't find anything suitable. I need help.

avatar of user

Jeff Berkowitz

On  Aug 06, 2022

I have the same question. I have 2 control lines A and B. I want to decode them 2:4, but I also need A and B at other points in the circuit. I found that I can make a 2:4 decoder and make its inputs 2 bits wide. But now I have to make an input "A and B" that is two bits wide. I can no longer get access to the A signal or the B signal for use as a logic gate input (or whatever).

I found there is a splitter control in MISC. But I cannot get it to work. It never shows any branches, no matter what values I put in for the 2 arguments that are supposed to specify the number of signals in and the number of signal out. I wonder what I'm missing. Thanks.

avatar of user

Jeff Berkowitz

On  Aug 07, 2022

The answer is: to make a Splitter work, you need to separate numbers with SPACES. I had to go and dig into their code to figure it out; it is not documented anywhere, it is NOT obvious, and the only error checking is complaint you get later saying the bit widths don't match.

The code: https://github.com/CircuitVerse/CircuitVerse/blob/master/simulator/src/modules/Splitter.js#L41 - note the .split(' ') in the middle of the line.

So if you have a 4-bit bus, for example, and you want to split it out to 4 single lines, place a Splitter. You'll get a dialog box for the input width. Enter '4'. Then you'll get another dialog for the output width. This is the point: enter "1 1 1 1" (four ones separated by spaces). Now you'll get a Splitter with branches.

Want To Join The Discussion ?
Create account Log in