Moving work to separate branch.
Done with mux4.
Finishing up the muxes
Adding block diagram from the lab manual PDF.
Got a roadmap up and running for what I'm thinking of doing.
It's getting late. Debating going to bed, because I'm drawing a blank right now. Which is strange. I usually do my best work right around... now. At 2 or 3 in the morning.
OK. I think I've got a plan that might work.
Ok. Rot figured out. Still working on shift.
I think I've nailed this.
Ok. addsub and bitwise logic done. need to do comparator and shiftrotate.
Forgot to get rid of some old signals on bitwise stuff. starting work on comparator.
I really wish I had a year or two to just go wild with this stuff, like I did as a kid with software development. I think I'd have a much easier time groking everything.
Got all except the signed portions working.
I think I've got the comparator all wired up properly. Gonna call it a night and knock out the shifter/rotator tomorrow.
Ok. I think everything squares away with everything else now.
Example with rotate left. Should work the same way with everything else. Can do a simple (A(3) OR 0) to take care of the shift-right-arithmetic case. That would let us set the shifted bits appropriately. Or we could of course just wire A(3) into those slots. Yeah. That's a better idea.
Turns out my mux implementation wasn't as generalized as I rememberd it being... Oh well. Wrote out a quick mux4 for one bit inputs rather than 4-bit-long std_logic_vector inputs.
AND I wrote out the portmap for the mux4_bit wrong. May god have mercy on the soul of whoever has to understand this hacky code. Seriously, I'm a software guy for fuck's sake. There's GOT to be a better way to do some of this stuff that's more generalized.
I think I've actually got everything coded now! Now I have to throw it all in WebPACK ISE to find all of the syntax errors and google the solution.
Starting work on test benches.