Initial version

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/


git-svn-id: http://moon:8086/svn/vhdl/trunk@277 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2009-01-23 20:44:28 +00:00
parent f681936a59
commit 68b045848e
+77
View File
@@ -0,0 +1,77 @@
-----------------------------------------------------------------
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) für Exceptionhandling
- Direct-mapped Instruction Cache mit variabler Größe, 8-words per Line
- Direct-mapped Data Cache mit variabler Größe, 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 Unterstützung für Bus exceptions IBE und DBE
- kein externes Coprocessor interface (COP1..3) für 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 technologieabhängiges Primitive instanzieren
- Area: Auf Divider verzichten
- Area: Auf Multiplier verzichten
- Area vs. Speed: Bei Hazards Pipeline-stall statt Forwarding.
Durch Stalling geringerer Befehlsdurchsatz dafür weniger Logik.
Weniger Logik bedeutet vielleicht wieder auch größere Taktfrequenz.
-----------------------------------------------------------------
Known ToDos
-----------------------------------------------------------------
- Unterstützung für Bus exceptions IBE und DBE
- Externes COP1..3 interface
- Optimierungen evaluieren und ggf. durchführen
-----------------------------------------------------------------
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
-----------------------------------------------------------------