wirehead wrote:
Well, I think, to avoid me from bankrupting you with bad advice, that you shouldn't spend much on CPLD/FPGA software.
I currently am learning how to do behavioral modeling with Icarus Verilog. It's quite the learning experience. I'm currently working on the Kestrel's first piece of custom hardware: a simple UART.
Some features include the following:
* Frame sizes from 1 to 14 bits. Most other UARTs restrict you to only 5 to 8 bits at best. A 14 bit frame is obviously incompatible with most devices; but with compatible hardware, you can use it to include ECC redundancy, for example.
* Data rates freely programmable from 27 bps to 787kbps (yes, that's 787,000 bits per second).
Quote:
Thankfully, there's some inexpensive stuff to lure you into using the various lines, at least. I know that Atmel's CPLDs are reasonably inexpensive.
I was thinking of using Cypress or Atmel for CPLDs, and Atmel or Xilinx for FPGAs.
Quote:
The best idea is to solve in a CPLD/FPGA the same sort of obnoxious problems that people keep solving and replace parts that have all gone obselete in favor of others. I mean, if you put too much on a chip, it starts to ruin the fun of building your own system from scratch, you know?
This warrents two responses.
First, I agree; and I will be developing replacement chips based on customer requirements.
Second, the Kestrel is a beginner's kit; I can't have too many surface mount components in the design, because the hand of a beginner isn't going to be as steady as the hand of an experienced electronics kit builder. And surface mount components all require precision when soldering. It also reduces the cost of the kit, letting me get more profit for the value (which is important, considering I have only $15 in my bank account at the moment).
Quote:
Simple framebuffer VGA/LCD interface. Should act just like memory that happens to display video. If done well, it would most likely be useful for PIC/AVR projects, too.
The Kestrel has been re-spec'ed to have DMA-fed video with the following (maximum) configurations: 2, 4, 8, and 16-colors at 320x240/320x480, and 2 or 4-colors at 640x200/640x480. Colors are out of a palette of 256 colors. VGA interface. NTSC and/or PAL interfaces are possible, I suppose, but they'd take a lot longer to develop and debug. I doubt I could pull it off without help from others.
The custom logic that makes this happen
will be available as discrete components for the independent project as well.
Quote:
ISA bus interface good enough so that we aren't stuck with 6551s for UARTs.
Actually, the WISHBONE interface is openly documented on the opencores.org site. And upon reading it, I realized that I had basically and completely re-invented it with my asynchronous logic for the 65816. Like my interface, WISHBONE implements a three-phase asynchronous protocol that can support single-clock data transfers. And unlike my interface, it's fully specified. While intended for use as an interconnect inside FPGAs, if you tie the DI and DO (data IN and data OUT) buses together, you can easily get a slot-capable expansion back-plane.
Quote:
A "done the right way" 65c816 upper-8-bit address decoder. (Which almost gets back to what you were selling, except a little more minimal and done as a single chip)
This is also on the design board.
The idea I'm following is that every "core" I develop for the Kestrel will also be made available as a discrete component in chip form.
All 65x-support chips will belong in the FTS10xx family.
Quote:
Floppy drive interface. It looks pretty easy to bit-bang an IDE or PCMCIA interface, but people haven't done much with floppy interfaces for a while. Although that might just call for some simple glue and an existing SMT super IO chip on a module.
A floppy interface would be an interesting challenge. However, the cost of floppy storage is prohibitively expensive compared to a harddrive. Floppies get maybe $0.50 to $1.00/MB, while harddrives are pennies per MB, or less. However, I acknowledge that floppies are convenient for sneaker-net applications.
I will definitely consider these. Each of these are things I've always wanted to hack on in the past. And if I can earn some small profit to help support myself in the process, all the more better!
Another thing: I didn't get my usual e-mail saying someone had posted to this topic. Why is that? I always used to!