I am really stuck on the Or 8 Way section. Based on a page 26 of the Chapter 1 of "The Element of Computing Systems, Multi-Way Gates: Implementation tip: Think forks. Is what you tried to tell me? Then, I determined to design the Or 8 Way circuit picture and post it here. Also, I tried to read A.5.3 of the same book above, I did not get it since it was too vague to understand. I am a self-learner and an old gentleman.
Thank you very much in advance.
The Or chip only works with single bit signals. When you write Or(a=in[0..7], you are trying to connect 8 wires to a single input pin.
Also, you have 4 parts that have "=out" so you are trying to connect 4 different wires to the single output wire from the Or8Way.
Your drawing is much closer to correct then this .hdl file. You need 4 Or gates, one for each one in your drawing. They need to create the internal wires or0, or1, or2, or3 as you named them. Then you need 2 Or gates, one that combine or0 and or1, and one that combines or2 and or3., then you need ...
You do not have anything connected to the Or8Way's 'out' pin, so the output is always equal to 0.
Your Or8Way needs 7 Or parts.
How would you write
out = ( (in + in) + (in + in) ) + ( (in + in) + (in + in) ) in a programming language that did not allow any parens or multiple '+' in an expression?
a = in + in;
b = in + in;
out = x + y;
I was wrong with my original graphic view of the Or8Way. I figured it out on my own by drawing it out on a piece of a paper after reading a hint and meditating on it. There should be two OR gates on the left side of the original drawing's four Ors. Then lone OR following by. Therefore, it works GREAT! Whew! Thanks cadet1620 (Mark)!