Slashdot Mirror


High School Dropout, Self-Taught Chip Designer

circletimessquare writes "The QVC television shopping network has recently found a hit in its product the C64, which emulates the classic Commodore 64 in a small form factor, a joystick. But the story of the designer of the product is more interesting than the product. Meet Jeri Ellsworth [NYTimes. You know what that means], whose life story emulates the golden age of garage-based computer design. She is proof that the passion of the homebrew electronic hobbyist is still a viable force in an age when well-funded and well-staffed corporate design teams dominate chip design."

3 of 816 comments (clear)

  1. No Reg Required... by Anonymous Coward · · Score: 5, Informative

    The soul-saver strikes again (Karma Free, for your pleasure):

    Reg Free Link

  2. Re:impossible? by Grishnakh · · Score: 5, Informative

    You haven't worked much with FPGAs, have you?

    FPGAs are programmed in Verilog or VHDL; it's not much different from programming a computer. All you need is a development board with the FPGA plugged in (the FPGA makers make eval boards specifically to support this), and a connection to your PC so you can download the compiled design into the FPGA.

    The problem with FPGAs is that they're very similar to SRAM, and when they lose power, they lose their programming. So they have to program themselves every time they power on, meaning you need a separate ROM chip on the board for it. Worse, because of this and because of the sheer cost per chip of FPGAs, they aren't very good for designs with large production volumes (they are good for small volumes, though, because you don't have to get a custom chip made, which has a high initial cost). So, all you have to do is get your FPGA design converted to an ASIC; there's several companies that specialize in exactly this.

    Basically, all this girl had to do was do the actual HDL design at home, test and debug it on a prototype board, then when it was finished send it to a manufacturer to have them make ASICs in large volume from it. You don't need your own fabrication plant any more than you need your own photo developing lab to make photos.

  3. Re:impossible? by MagerValp · · Score: 5, Informative

    > 1) Implement a 6502 processor. There is a free core or two floating around, which she likely used. Still not exactly trivial, though.

    No, she did her own core, which is both smaller and faster than the free cores out there.

    > 2) Reverse-engineer and implement the DRAM circuitry. The design does not use DRAM, but you still need to emulate certain portions of the hardware for timing reasons. When DRAM refreshes, the processor has to snooze.

    The NTSC unit is SRAM based. The C64 uses transparent DRAM refresh during the VIC's half of every cycle. The PAL unit will use SDRAM.

    > 3) Reverse-engineer and implement the SID sound chip. Fairly major headache.

    MAJOR headache.

    > 4) Reverse-engineer and implement the video circuitry. Major headache. This system even had hardware sprites.

    Yes, it took her years, and there are still timing glitches. It's amazingly compatible though.

    5) Reverse-engineer and implement the different hardware ports.

    I believe this was fairly easy though.

    > 6) Include a bridge that would allow a PC keyboard to emulate a C64 keyboard.

    IIrc that's a small state machine and a matrix, nothing too hairy.

    > 7) Emulate a cassette drive and load it with warez.

    That was done in software by Adrian Gonzalez. The NY Times article concentrated on Jeri herself, so I guess it's forgivable that they didn't mention that there was a software team as well (Adrian and Robin Harbron were the main programmers, plus me and Mark Seelye helped patch games).

    > 8) Implement the analog bits of the video and sound circuitry. Maybe somebody else did this.

    Nope, all Jeri.

    Those people doubting her hardware skills really shouldn't talk without checking facts, and if you think that designing things in VHDL is as simple as programming in C you need a clue. No, make that two. And for the record, it's designed with a mix of VHDL and schematic capture.

    --

    READY.
    #