jop design flow
play

JOP Design Flow Microcode make JopSim Java ModelSim JVM - PowerPoint PPT Presentation

JOP Design Flow Microcode make JopSim Java ModelSim JVM Quartus VHDL Eclipse FPGA IO bus Wishbone ACEX Spartan Cyclone The Project 4/5 programming languages VHDL, Java, Microcode, C, (Verilog) 2648 files 498k LoC


  1. JOP Design Flow Microcode make JopSim Java ModelSim JVM Quartus VHDL Eclipse FPGA IO bus Wishbone ACEX Spartan Cyclone

  2. The Project  4/5 programming languages  VHDL, Java, Microcode, C, (Verilog)  2648 files  498k LoC  Java: 350k  VHDL: 49k  Microcode (.asm): 4k  C: 4k  5 FPGA types, 9 target boards  Docu: 19k LoC JVMHW JOP Design Flow 2

  3. Don‘t Panic  This complexity is not unusual  Linux kernel: 6M LOC!  There is a master Makefile  A single target can be built  Calls batch files  Help  Some documentation is available (pdf and web)  e-mail to Schoeberl  Yahoo! Groups : java-processor JVMHW JOP Design Flow 3

  4. Directories  vhdl  The hardware description of JOP  asm  The JVM in microcode  java  System sources (JVM, JDK)  Target applications  Tools JVMHW JOP Design Flow 4

  5. Directories cont.  quartus  Project files for Altera FPGA boards  Each board and variation in its own directory  xilinx  Project files for Xilinx FPGA boards JVMHW JOP Design Flow 5

  6. File Types  Source  .asm, .vhd, .java  Generated  JVM assembly: .vhd, .mif, .dat  Quartus: .sof, …  JOPizer: .jop  Configuration  Project: Makefile, .bat  Quartus: .qsf, .cdf JVMHW JOP Design Flow 6

  7. Microcode System System jvm.asm JVM.java Startup.java JOP Jopa Application JVM Hello.java core.vhd Memory files rom.vhd,… javac Synthesize Quartus classes.zip FPGA config. jop.sof JOPizer Hello.jop Configure Download JVMHW JOP Design Flow 7

  8. JOP Startup  FPGA configuration  ByteBlaster download cable  USB  Flash on power up  Watchdog -> PLD configures FPGA  Java application  Serial line  USB  Flash JVMHW JOP Design Flow 8

  9. Startup Configuration  FPGA configuration  PLD (MAX7064)  ByteBlaster: cyc_conf_init.pof  Flash: cyc_conf.pof  Java application  JVM (jvm.asm) on startup  Loads the application (.jop)  Defines download type  Constants: FLASH, USB, SIMULATION JVMHW JOP Design Flow 9

  10. Targets  Top level defines FPGA type  jopcyc.vhd  jopcyc12.vhd  jopacx.vhd  …  IO top level defines board type  scio_min.vhd  scio_baseio.vhd  scio_dspio.vhd  … JVMHW JOP Design Flow 10

  11. JVM + Library  JVM  Microcode (jvm.asm)  Java (JVM.java, Startup.java, GC.java)  Library  JOP specific: util, ejip, joprt  JDK: System, String,… JVMHW JOP Design Flow 11

  12. Native Functions  Bridge between Java and the HW  Memory, IO access  Register, stack cache  Special bytecode  Implemented in microcode  Translated by JOPizer  Define in:  jvm.asm  com.jopdesign.sys.Native.java  com.jopdesign.tools.JopInstr.java JVMHW JOP Design Flow 12

  13. Simulation  VHDL with ModelSim  HW related changes  Testbench reads the memory content  High level with JopSim  System debugging (e.g. GC)  Reads .jop files  A JVM in Java  Board simulation JVMHW JOP Design Flow 13

  14. Summary  Modules  JOP – VHDL files  JVM – Microcode + Java  Application – Java  Build  Jopa, Quartus -> FPGA configuration file (.sof)  javac, JOPizer -> Java application file (.jop)  Makefile + Batchfiles JVMHW JOP Design Flow 14

  15. More Information  Chapter 2 in the handbook  An Introduction to the Design Flow for JOP JVMHW JOP Design Flow 15

  16. Next Lecture  Topic: The Java Virtual Machine  We 9.6.2010, 10:00, Room 030  Recommended preparation:  JOP Thesis: p 7-16, p 55-64, JOPThesis  Handbook: p 35-46  Look into a very simple JVM e.g.:  JopSim.java (in java/tools/src/com/jop…)  http://www.jopdesign.com/download.jsp  Disassemble simple Java files with javap JVMHW JOP Design Flow 16

  17. Lab  Starts today in Databar 229  Do preparation examples  Build JOP and change simple things  Start to think about the project  See you at 13:00! JVMHW JOP Design Flow 17

Recommend


More recommend