initial
[fpgammix.git] / doc / README
blob374ccd2c0eaf20297943d098169cd48a3310bf07
2                           FpgaMMIX Computer
4                          Phase 1: microcoded
6                              Version 0.0
8                     Copyright (C) 2006 Tommy Thorn
10   This is the first hardware implementation of Professor Knuth's MMIX
11   architecture. More than just the CPU core, this is a full computer
12   with an assortment of peripherals.
14   The present version is a micro-sequenced implementation which
15   primary purpose is an experiment to verify my understanding of the
16   architecture, a tool for learning, and a vehicle for building the
17   infrastructure (notably software) for the higher performance version
18   to follow.
20   Performance specifically been a *non-goal* for this implementation,
21   as long as it was sufficient fast for the purpose mentioned above
22   and small enough to fit my development FPGA (Altera Cyclone
23   EP1C20). For practical reasons FpgaMMIX, as of this writing, runs
24   with a clock frequency of 25 MHz and takes at least 10 cycles per
25   instruction.
27   Performance goal for the pipelined implementation (FpgaMMIX v1) is
28   one cycle execution for most instructions and a frequency in the
29   range of 100 to 200 MHz on the same hardware, thus 40-80X faster.
31 CONFORMANCE
33   Any deviation from the specification given by Knuth should be
34   considered a bug (please report), unless explicitly stated. The TLB
35   is likely to implement only a subset of the specification.
37   The current implementation is fast approaching Milestone 1, that is
38   full RTL implementation of the integer subset. DIV[U] and all
39   floating point instructions will be emulated by the firmware. The
40   extend of hardware floating point support is TBD, particularly
41   depending on available logic resources. FpgaMMIX v1 is expected to
42   get basic hardware support for floating point arithmetic.
46 ACKNOWLEDGMENT
48   Big thanks to H. Peter Anvin for showing how to interface much of
49   the peripherals on the Nios Development Kit, Cyclone Ed. as well as
50   the Lancelot daughter card.
53 TASKS
55 - Porting to cheaper or more capable platforms.