Building Your Own Digital Device?
Skaven04 asks: "After finishing up my Digital Design class this semester I've suddenly got the urge to build something really cool. I'm leaning toward a processor/pda/calculator thingamajig. Not really a processor, considering that it wouldn't be following any set standards, like x86, but basically a machine that I can program with my own assembly language, have keyboard input, and (most likely) an LCD output (like on your TI85 or whatever). What I'm seeing in my head right now is an 8-bit design with an ALU (like the 74LS181) as the centerpiece and naturally a few 64K RAMs and various registers, counters, etc. as necessary to implement my command set. Has anybody else out there ever undertaken this kind of project? What are some sites I could visit to get a good outline of the best way to approach it? What are some good places to get the parts cheap? Any suggestions on displays? Links to similar projects?"
Probably a better option, though, will be to continue taking design courses. look into a computer architecture course. In mine, we made a non-pipelined CPU in VHDL. Also look into what you may do for your senior design course. This is where you'll get free reign over a lab and a budget from school.
For any project, the most important aspect is to have some clear objective.
A cool digital thingamajiggy just doesn't cut it. I'd say your first step is to get ideas for a purpose for your thingamajiggy first. Ask your fellow students and professors what they would like but can't find already made.
Once you have a purpose specced out, you can make a design to match that purpose. Even just making one modification to a design type can be cool. Like a calculator with a cool-looking or durable form factor (great excuse to play around with a plastic mold-maker), or unique input or output options.
Ultimately you should think about your end user and what will serve him or her best for some list of tasks. Design for the nontechnical humans.
I know I'm giving just added questions rather than options, but you will find when you get out of the classroom that in the best designs form follows function. Figure out the function and then design around that.
evanchik.net
You're obviously doing this for fun. Don't get any crazy ideas about making it useful for other people. There are far better and cheaper things you can get now. (think $100 palm)
/very/ nice line of flash 16 bit chips for under $20), hook it up to the LCD, slap a touchscreen on there, and you'll still have tons of room to add other gizmos.
So, for a display you can start off with the expensive $50 64x128 graphics LCD. (can't remember the source - email me), but I'd stay away from FPGAs or ASICs, they tend to suck current, and you'll be changing batteries every day. Look for an inexpensive 16 or 32 bit chip (mitsubishi makes a
-Adam
I understand what you are feeling. You've learned some cool stuff and now you want to do something with it. Think of it as a "hello world" program in hardware.
I remember going to a local college's "Engineering Fair" when I was in highschool. Lots of cool stuff:
A tic-tac-toe computer made out of discrete parts
A program which printed random poetry.
Various "Op-art displays on a monitor (This was in the early '70s)
...
A couple of suggestions:
Implement a simple two player game in hardware. Like the little poker calculators.
Check out sites like Viridian which have thingamajiggy design contests from time to time.
I gotta confess, I sometimes check out the electronics parts in the back of Radio Shack stores. I just browse around and get ideas. It's sorta like browsing around a bookstore.
Is radio shack the only retailer that sells electronic parts piecemeal? What are the good, reliable vendors on the 'net?
evanchik.net
Be very careful about trying to do too much at once- you can quickly make a system that is just too complex to debug. Try to design in small, testable parts that you have the tools (scope, DVM, etc.) and the knowledge to debug. For this type of design, wire-wrap works great. It lets you try out things easily and make changes quickly. You will get things wrong, you will mis-wire, and so forth. Avoid high speed clocks (>10 MHz) at this point- they can throw all sorts of weird things in your way that are difficult to track down. Stay away from those white plastic proto boards that you can plug wires into- unless you are willing to run with very slow clocks (less than 1MHz), since the parasitic capacitances and leakages can also do very weird, unpredictable things.
I tried to do a similar project a few years ago with a dual-slope A/D converter. A project like this can be very useful in honing your design skills, but it can also very easily frustrate you. This is the project that makes me be very careful about what projects I tackle. You want to learn, but you also need some success in the meantime to keep you going.
For a design like this, something like an FPGA based project is a good idea since there are good simulation tools available, and you can very quickly re-design. Also, this will be a lot closer to what you will be doing in the "professional" world if you do go into digital design. The tools are expensive, but you may be able to get discounts or borrow from your school or the local FPGA rep (Altera and Xilinx are the two that come to mind). They know that once you graduate, you may have infuential power over design decisions, so they will be willing to listen.
Try to find old copies of older (1970s, early '80s) TAB Books - especially the robot books by David L. Heiserman or Frank DeCosta (actually, look for some of my earlier posts on these books - I give all of the ISBN info in them). These give a ton of design info - on the Heiserman books details a full 8 bit processor design based around the 8080 (I think that is right).
/. article - I remember the design was pretty monstrous, but was exactly what you were trying to do. If I find it, I will post to this thread...
Anyhow, I know you want to go even deeper from scratch, and get down into the dark and dirty underworld of processor design. If that is what you want to do, go for it - I am sure it would be an interesting thing to do to design your own CPU and instruction set.
I tried to find a link to a site that had such a design up - I remember I found the link in another
Reason is the Path to God - Anon
The All Electronics Corporation has a decent online presence. They might not have everything you want, but when they do, it's cheap. They often have things you may not know you wanted, strange assemblies pulled from unsold hardware and whatnot.
my sig's at the bottom of the page.