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

jop design flow
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

JOP Design Flow

VHDL Java JVM Microcode make JopSim ModelSim Quartus Eclipse IO bus Wishbone ACEX Spartan Cyclone FPGA

slide-2
SLIDE 2

JVMHW JOP Design Flow 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

slide-3
SLIDE 3

JVMHW JOP Design Flow 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

slide-4
SLIDE 4

JVMHW JOP Design Flow 4

Directories

 vhdl

 The hardware description of JOP

 asm

 The JVM in microcode

 java

 System sources (JVM, JDK)  Target applications  Tools

slide-5
SLIDE 5

JVMHW JOP Design Flow 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

slide-6
SLIDE 6

JVMHW JOP Design Flow 6

File Types

 Source

 .asm, .vhd, .java

 Generated

 JVM assembly: .vhd, .mif, .dat  Quartus: .sof, …  JOPizer: .jop

 Configuration

 Project: Makefile, .bat  Quartus: .qsf, .cdf

slide-7
SLIDE 7

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

JVM JOP

JVMHW 7 JOP Design Flow

slide-8
SLIDE 8

JVMHW JOP Design Flow 8

JOP Startup

 FPGA configuration

 ByteBlaster download cable  USB  Flash on power up

 Watchdog -> PLD configures FPGA

 Java application

 Serial line  USB  Flash

slide-9
SLIDE 9

JVMHW JOP Design Flow 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

slide-10
SLIDE 10

JVMHW JOP Design Flow 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  …

slide-11
SLIDE 11

JVMHW JOP Design Flow 11

JVM + Library

 JVM

 Microcode (jvm.asm)  Java (JVM.java, Startup.java, GC.java)

 Library

 JOP specific: util, ejip, joprt  JDK: System, String,…

slide-12
SLIDE 12

JVMHW JOP Design Flow 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

slide-13
SLIDE 13

JVMHW JOP Design Flow 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

slide-14
SLIDE 14

JVMHW JOP Design Flow 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

slide-15
SLIDE 15

JVMHW JOP Design Flow 15

More Information

 Chapter 2 in the handbook  An Introduction to the Design Flow for

JOP

slide-16
SLIDE 16

JVMHW JOP Design Flow 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

slide-17
SLIDE 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