I'm learning to code on Xilinx (VHDL). Next, I want to make a simple microprocessor/microcontroller and on the way learn a little about slice components. So my goal is try to code an 8 bits microprocessor using an AMD 2901 (4 bits-slice). (I already have the code of the 2901 and all its information about its input and output signals.)
I know the first step would be make the architecture of the microprocessor so I ended up with something like this (I understand that the bandwidth of the bus will be very different for what I'm looking for).
http://www.cs.binghamton.edu/~reckert/wk15fig1.JPG (Basically all I know about microprocessors and microcontrollers I get it from here http://www.cs.binghamton.edu/~reckert/hardwire3new.html)
So here are the punctual questions:
How do I code a central bus like the diagram showed? How do I make "listen" and "write" my memory and components using a central big bus like the diagram?
I want to use the 2901 ALU (two of them) so I have an 8-bit microprocessor. The question is: let’s say my opcode is using
xxxxx001(where x are control signals and 001 means add for the ALU) for add function on the ALU, so... as I have a slice ALU my opcode should bexxxxx001001for give the instruction to both ALUs? Or should ALUs share the same "001" command? (I guess that can be done knowing how to use a bus in VHDL, making two ports "listen" or something.)If you can share with me some tutorials or links with information that can help me with my goal that will be awesome. I've searched a lot and found very very little information.