Sunday, May 17, 2009

1.0 is ready to go!

I've now completed the Ball Computer v1.0. Woot!

Check it out in all its nearly-incomprehensible glory!

Let's have a quick review of the steps to getting it built, so that you can understand how far along I am, and how much further I have to go. Here's the old version of the steps to getting it built. I'm going to update that, as plans have changed a little and I want to flesh out what I've done a bit more than I did the last time.
  1. Prove it's possible by planning out the basic logic architecture.
  2. Write the tool [BCD] needed for the design [ongoing, but it had to get good enough to use before starting step 3].
  3. Design all the major components of the CPU, such as the ALU and RAM. Build a state machine that tests each solo component to my satisfaction.
  4. Hook the components together with additional logic to implement the instructions. Write short tests that validate each individual instruction.This is what I've just completed.
  5. Add a 3D interface to BCD so as to be able to show off what it might look like, do placement, and figure out how big it's going to be.
  6. Prototype designs for all the physical gates.
  7. Write a decent instruction test suite for real design verification. [I may see if I can outsource this or adapt an existing suite if there's anything close. Also, I'll have to improve BCD such that I can run a large suite efficiently via automation.]
  8. Redesign everything for parallel operation [multiple balls in flight at a time, necessary for reasonable speed]. Here the test suite helps validate that nothing broke in the redesign.
  9. Write a time+cost estimate for construction. The size estimate from the 3D model helps here.
  10. Find someone who wants one and someone to pay for it.
I see that I keep adding steps ahead of me, and have managed to put off any physical prototyping a bit longer. That's a bit disturbing, but I'll keep an eye on it.

0 Comments:

Post a Comment

<< Home