JOP

Java Optimized Processor

 


Home
Documentation
Performance
Download
Applications
Board
Getting Started
Links

Contact

Download

All source here is copyrighted by Martin Schoeberl. You are allowed to download it only for personal use or for educational purpose. If you find Jop usefull (or not) please drop me a short note. For commercial use you need a licence.

Licence fees

pieces price
>= 10 EUR 50.00
>= 50 EUR 30.00
>= 100 EUR 25.00
>= 200 EUR 20.00
>= 500 EUR 15.00
>= 1000 EUR 10.00

Files

JOP February 23, 2003 VHDL/Java sources development snapshot
Archive Archive of older versions includes JOP1 and JOP2

Change Log for JOP3:

February 23, 2003 Changing intern RAM to full synchron (except dout) for Cyclone port.
Should now be easy to port JOP to Xilinx. JOP runs now on Cyclone!
December 6, 2002 Enhancements in extern memory access (wait instruction).
November 8, 2002 TCPIP: Ethernet (cs8900) and slip interface work concurrent (Threads).
October 29, 2002 Java: changes in tcpip code, TFTP to program flash (a lot faster than serial line :-)
October 8, 2002 JopWriter: new method table (with virtual functions).
JVM: getfield, putfield, invokevirtual, invokespecial. new in com.jopdesign.sys.JVM.
July 28, 2002 JVM: call com.jopdesign.sys.JVM.f_xxx() on unimplemented byte codes.
=> it's possible to implement 'complex' JVM instructions in Java!
JopWeb: display inputs of baseio and set outputs in the browser.
July 26, 2002 JVM, JopWriter.java: system functions (io, mem) as special byte codes.
Some reorganization of Java files (packages).
June 28, 2002 Java: Ethernet driver for CS8900A (for new board).
March 24, 2002 VHDL: Java shift instructions are now JOP nativ instructions (single cycle).
Some enhancements in bc load from external memory.
March 22, 2002 VHDL: doing imul in 'hardware'.
March 16, 2002 VHDL/Java: Ethernet card with RTL8019AS attached to jop -> tiny Web server.
February 25, 2002 VHDL: Sigma delta ADC (external components: two Rs and one C).
January 31, 2002 Bug fix in JOPWriter.java.
Very simple web server (via slip).
January 16, 2002 VHDL: simple fifo for uart.
JVM: imul, idiv, irem, ishr and a lot more Java samples.
December 10, 2001 Jop instruction set changed from 16 to 8 bit!
JVM: automatic load byte code from external memory if program does not fit in internal memory.
December 7, 2001 VHDL: muxes befor jbc and rom removed.
Java goto and ifxxx decode in bcfetch.vhd => only one JOP instruction for all Java branch types.
December 6, 2001 Some clean up in the decode stage, prepare for instruction set change.
December 4, 2001 JVM: bug in bc download corrected, more java examples.
VHDL: cp register removed (const pool is in external memory).
December 3, 2001 JVM adapted for new 'class file' (memory map). Class structs and fields in external memory, byte code still in internal. More than one (static) class works.
December 1, 2001 JopSim: a simulator for JOP's JVM, written in Java :-)
New JOPWriter for jcc to generate memory map for more objects.
November 15, 2001 Jump table for bc to JVM address mapping (but no new pipeline stage => slower max. clock).
New jp instruction instead of jp flag (not necessary with jump table).
JVM: getstatic, putstatic, newarray, arraylength, iastore, iaload, astore, aload.
October 31, 2001 Download of Java programs via serial line ('boot').
October 29, 2001 invokestatic, ireturn, return, indirect io addressing, special init bc.
October 24, 2001 Jop assembler adapted, change in bz, bnz opcode (delayed address).
July 31, 2001 Technology specific VHDL files for rams. No more .tdf files.
July 15, 2001 Prime test program is running.
June, 2001 Redesign of JOP2 => JOP3.

Change Log for JOP2:

June 11, 2001 Enhancement for local variables in the JVM.
June 10, 2001 Byte code operand fetch and branches in hardware.
June 6, 2001 Prime test program for performance tests is running.
June 4, 2001 Byte code fetch and decode in hardware, first JVM instructions ('Hallo World' and more).
May 29, 2001 Memory interface to static RAM and FLASH.
May 27, 2001 Assembler for JOP instructions.
Added Uart. Split core and memio (for simpler multi processor :-).
May 26, 2001 Core: delayed branches (is this a good idea?).
May 17, 2001 Two JOP2 fit in one ACEX EP1K30 and are running!
May 16, 2001 First working version of JOP2 (blinking LED).
April 16, 2001 First VHDL code (alu,...).
April, 2001 Redesign of JOP => JOP2.

Change Log for JOP1:

May 29, 2001 Error correction in JVM (sipush).
May 26, 2001 Byte code caching for xxx_n instructions.
January 27, 2001 Byte codes in external ram.
February 14, 2001 Enhancing memory interface (write one cycle shorter).
February 03, 2001 ECP interface added.
January 27, 2001 Change memory interface to simulate 32 bit memory with a single SRAM.
Instruction ROM now for 1024 instruction. No internal RAM in 1K30 possible.
January 14, 2001 First 'real' Java progam runs (prime).
December 27, 2000 First working version of memory interface (SRAM and FLASH).
December 3, 2000 JOP runs in real time with added serial interface (UART).
October 4, 2000 First 'program' (3 instructions) runs on JOP (with debug interface on printer port).
October 2, 2000 Creation of JOP (A lot is adapted from earlier processor designs between 1995 and 2000).

Copyright © 2000-2002, DI Martin Schoeberl