Kestrel-3

Update of "Base Specs"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: c99936b1c0e496a6cdd18d63bf965924100b36de3bbd8aae99aaae047c70ad33
Page Name:Base Specs
Date: 2018-01-21 00:37:39
Original User: kc5tja
Mimetype:text/x-markdown
Parent: 8eddb5fbb453ad450d56979f9355c1aeef2a29f3fdc3e326dd633b997f461d38 (diff)
Next 15abecfc1463b2d91b57c4fbd85ebbbf1b707fb0b88007978fe2f0902aec906a
Content

Previous Specifications

Originally, the very first member of the Kestrel-3 family would have supported my use-cases with the following features, as found on my Altera/TerasIC DE-1 development board:

I wanted to target this board for the purposes of simplicity: it has everything I need to make a reference implementation of the computer. It also is quite affordable at US$150, at least until such time as they stop manufacturing it.

However, in having discussions with a number of people who were interested in following along with the Kestrel-3's development for themselves, tutorial-style, I've decided to not go this route (at least, not primarily). Instead, I'm now looking to use two or more iCE40HX8K-based FPGA boards in tandem to construct the first Kestrel-3 prototype. These boards are, in particular, icoBoard Gamma and MyStorm BlackIce boards. Both are targeted with the open-source toolchain, Yosys. Additionally, both icoBoard and BlackIce boards are free/open-source hardware projects. So this would be a great way of supporting their efforts as well.

This does mean it'll be more expensive to build; at a minimum, you'll need to purchase more adapters to get a working desktop computer. You'll want to contain everything inside a project box, as well.

Current Specifications

This design concept is not fully fleshed out, however; details to come as I resolve fundamental problems with this approach.

Right now I'm looking at using two open-source FPGA boards built around the open-source accessible Lattice iCE40HX4K or iCE40HX8K FPGAs. One board will consist of the CPU, at least 512KiB of local SRAM, and one serial port to facilitate bootstrapping the system. Another board will consist of the I/O hardware, at least 512KiB of I/O-accessible SRAM, and related ports and adapters.

My plan is to use the MyStorm BlackIce as the I/O board, because it has more usable PMOD ports. It should be able to handle a two-PMOD VGA adapter providing 4096 color output, two PS/2 adapters (one for keyboard, one for mouse), a PMOD for driving audio, and the two PMODs needed for the ByteLink interconnect. It also has an SD card slot that can be used as a "built-in" storage device.

This leaves the icoBoard Gamma to serve as the CPU board. Although this board has more I/O capacity, it's less accessible to the casual user. It does, however, expose four PMODs, two of which are conveniently usable for the ByteLink interconnect. This leaves two more PMODs free for use as high-speed serial interfaces for intelligent peripherals and/or debugging terminals.

The CPU Board

This would almost certainly be built on the icoBoard Gamma.

The I/O Board

This would almost certainly be built on the MyStorm BlackIce.

Standard Disclaimers Apply.

Of course, I reserve the right to change my plans depending upon changes in general hardware availability.