-----------------------------------------------------------------
J-MIPS Features
-----------------------------------------------------------------

- Synchrones Design
- Portable Beschreibung in VHDL 
- Kompatible zur GNU Toolchain (Binutils, GCC, Newlib)
- Befehle kompatibel mit MIPS-1 ISA (z.B. MIPS R3000)
- 5-Stufige Pipeline und Hazardvermeidung durch Forwarding
- 64Bit Multiplier (32Bit Operanden), 12 Cycles Latenz
- 64Bit Divider (32Bit Operanden), 36 Cycles Latenz
- Coprocessor 0 (COP0) fr Exceptionhandling
- Direct-mapped Instruction Cache mit variabler Gre, 8-words per Line
- Direct-mapped Data Cache mit variabler Gre, 8-words per Line
- J-Bus kompatible Bus Interface Unit (J-Bus ist im wesentlichen FIFO interface mit 'wichtigen' Signalnamen)
- 1,15 DMIPS/MHz mit 16Kbyte I/D-Cache (Dhrystone 2.1)

-----------------------------------------------------------------
Known Limitations
-----------------------------------------------------------------
- keine MMU
- z.Zt. nur Little-endian.
- keine Untersttzung fr Bus exceptions IBE und DBE
- kein externes Coprocessor interface (COP1..3) fr z.B. FPU
- nicht alle COP0 Register/Bits vorhanden.

-----------------------------------------------------------------
Known Bugs
-----------------------------------------------------------------
- nicht alle Cache-Sizes funktionieren
- Umschaltung (RE) zwischen Little/Big-Endian fehlerhaft
- es gibt bestimmt noch nicht entdeckte Bugs

-----------------------------------------------------------------
Known Optimizations
-----------------------------------------------------------------
- Area: Multiplier als technologieabhngiges Primitive instanzieren
- Area: Auf Divider verzichten
- Area: Auf Multiplier verzichten
- Area vs. Speed: Bei Hazards Pipeline-stall statt Forwarding. 
  Durch Stalling geringerer Befehlsdurchsatz dafr weniger Logik. 
  Weniger Logik bedeutet vielleicht wieder auch grere Taktfrequenz.
 
-----------------------------------------------------------------
Known ToDos
-----------------------------------------------------------------
- Untersttzung fr Bus exceptions IBE und DBE
- Externes COP1..3 interface
- Optimierungen evaluieren und ggf. durchfhren

-----------------------------------------------------------------
Synthesis results
-----------------------------------------------------------------
Virtex-4 XC4VSX35-10 

Config: 16Kbyte I/D-Cache

Number of Slices			2387 	15360 	15%
Number of Slice Flip Flops 	1784 	30720 	 5%
Number of 4 input LUTs		3962 	30720 	12%
Number of FIFO16/RAMB16s 	18 		192 	 9%

Speed: 110MHz nach Synthesis

-----------------------------------------------------------------
Virtex-1 XCV1000-4

Config: 4Kbyte I/D-Cache

Number of Slices			2045 	13824 	16%
Number of Slice Flip Flops 	1783 	27648 	 7%
Number of 4 input LUTs		3923 	27648 	15%
Number of FIFO16/RAMB16s 	20 		32	 	62%

Speed: 30MHz nach Synthesis

-----------------------------------------------------------------
