Saturday, May 28, 2005

You thought the ROM was big?

You thought the ROM was big? Meet the RAM.

That's actually a link to the state machine I used to test the RAM itself, so that you can see what its interface is like.

Note that I'm using a ROM to hold a sequence of simple instructions [here just addresses and data], just as I did in the PCU test. While my designs are getting bigger and more complicated, I'm able to leverage the components I already trust in order to test the new ones.

With the creation of this component, I now have [in a half-assed way] all the parts that one would need to make a CPU. All the rest is pretty much glue logic and some instruction-decode state machines. However, most of the components need a little tweaking before I can really put them all together. For example, the ALU doesn't have a carry-in signal yet, the multiplier doesn't give 16-bit results for signed inputs, the shifter doesn't produce the precise overflow behavior that I want, and they've got a variety of different control interfaces.

My plan for the rest of Step 3 is:
  • Improve bcd's simulator interface, to make testing easier and faster;
  • Decide on a standard control paradigm for all components;
  • Go through all the components, one by one, and make the necessary improvements;
  • [Finally!] put it all together and proceed to Step 4: write+run test code for the complete CPU.

0 Comments:

Post a Comment

<< Home