|
29 posts
|
This post was updated on Nov 19, 2019; 11:30pm.
to solve the Mux4way16, i first created this switch:
[CODE REMOVED by poster]
}
Then, to create the Mux4Way16 I connected this ^ device's 4 single outputs to four, AND16-gates, with the 4 data buses, respectively: here is the resulting verbose code(successful):
[CODE REMOVED by poster]
}
How do I more concisely say "hook up select0, to each line in the b-bus"? I couldn't get b=select0 or b[0]..b[15]=select0 to work, because select0 is a single line, not a 16-bit bus.
|
182 posts
|
Hi
It's been a long time since I answered those questions, so I'm sure someone will correct me if I'm wrong.
I think you're overcomplicating things.. not to say that you're wrong per say, but the Mux4Way16 can be implemented with only 3, 16 bit chips..
|
182 posts
|
Also again if i remember the rules for connecting buses vs pins are slightly different...Do you have the easy solution and are just trying to experiment with a more complicated system to test, say, buses and the hardware simulator?
All the best...
|
29 posts
|
And in that 3-chip solution, you don't have to hook the single select lines to an entire 16-bit bus? That's where the code gets bloated.
|
8 posts
|
In the solution Lozminda nodded to (I think haha) there is no need to connect each of the 16-bit bus lines to any of select bits - actually you don't have to split buses at all!
|
21 posts
|
This is one of the things confusing me.
I couldn't believe how simple the real solution was.
It almost feels cheating.
How can a Mux4Way16 be easier to code than an or gate using nands?
I feel this is one area the book could do with strengthening - no where does it make it obvious how to connect multiple buses, as soon as you see the solution or an example you get it.
|
29 posts
|
Yeah, in a later unit, when i was thinking about the big picture, I realized that you could connect the data line to all registers without a dmux, and it wouldn't matter, since the load wasn't enabled for any of those other registers.
|
|