[[labs.beatcraft.com]]

*JavaRock [#m456758f]
>
''Caution'': The project of JavaRock, a high-level synthesis language has already been closed. It has moved to its successor, which is called Synthesijer. BC::labs puts weight on the project of Stnthesijer and frequently update the new project.

Please consider this page and JavaRock related articles as reference.

* JavaRock [#b5d88802]
JavaRock is a high-level synthesis language, which generates HDL from Java language. This article shows how to set up the basic working environment for JavaRock.
''Caution'':~
The project of JavaRock, a high-level synthesis language has already been closed.~
It has moved to its successor, which is called [[Synthesijer]].~
BC::labs puts weight on the project of Stnthesijer and frequently update the new project.~
~
Please consider this page and JavaRock related articles as reference.

* How to Compile a JavaRock sample on Ubuntu (12.04 32bit version) [#obbde32b]
#contents
~

* JavaRock [#b5d88802]
>
JavaRock is a high-level synthesis language, which generates HDL from Java language.~
This article shows how to set up the basic working environment for JavaRock.~

* How to Compile a JavaRock sample on Ubuntu (12.04 32bit version) [#obbde32b]
** Basic set up [#xbf69616]
The newest compiled JavaRock is javarock_20130708.jar, and the latest sample code set of JavaRock is samples_20130707.tar,gz. Please download them from the URL shown below.
<URL>

>
The newest compiled &#74;avaRock is javarock_20130708.jar, and the latest sample code set of &#74;avaRock is samples_20130707.tar,gz.~
Please download them from the URL shown below.~
[[http://sourceforge.net/projects/javarock/files/20130708/]]
>
Install Ubuntu 12.04 (32bit version) and add the package listed below.
<Code>
 $ sudo apt-get install build-essential
 $ sudo apt-get install openjdk-7-jdk

** Compile JavaRock Samples [#j2911306]
Set PATH, which defines the location of javarock_20130708.jar is placed, to the environment variable of JavaRock, JAVAROCK.
<Code>
** Compile &#74;avaRock Samples [#j2911306]
>
Set PATH, which defines the location of javarock_20130708.jar is placed, to the environment variable of &#74;avaRock, JAVAROCK.
 $ export JAVAROCK=/home/beat/JavaRock/javarock_20130708.jar
~
Compile samples/pong.~
Assume that the directory of samples is /home/beat/&#74;avaRock/samples.~
If comile_fpga.sh does not have the executable permission, give it, and execute it.~
 $ cd JavaRock/
 $ ls
 javarock_20130708.jar  samples  samples_20130707.tar.gz
 $ export JAVAROCK=/home/beat/JavaRock/javarock_20130708.jar
 $ cd samples/pong/
 $ ls
 ButtonIF.java  DE2-115  Game.java  Top.java  acknowledgement.txt  compile_fpga.bat  compile_fpga.sh
 $ chmod +x compile_fpga.sh
 $ ./compile_fpga.sh
 Compile: ButtonIF
 Compile: Game
 Compile: Top
 pass: connection
 pass: bypass
 pass: optimization
 pass: linkage
 pass: generate
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
~
After the compile process is completed, please check that class files and vhd file are generated.~
 $ ls
 ButtonIF.class  DE2-115     Game.java  Top.java             compile_fpga.bat  game.vhd
 ButtonIF.java   Game.class  Top.class  acknowledgement.txt  compile_fpga.sh   top.vhd

Compile samples/pong.
Assume that the directory of samples is /home/beat/JavaRock/samples.
If comile_fpga.sh does not have the executable permission, give it, and execute it.
<Code>
After the compile process is completed, please check that class files and vhd file are generated.
* How to Compile &#74;avaRock sample on Mac OS X [#m8f0256a]
>
JavaRock can be compiled on Mac OS X Mavericks (10.9.3) if JDK7 is installed to Mac OS X.~
The default Java on Mac OS X Mavericks is Java 1.6, but &#74;avaRock cannot be compiled with Java 1.6. Java 1.7 is the requirement.~
~
 $ java -version
 java version "1.6.0_65"
 Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
 Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
 
 $ /usr/libexec/java_home -V
 Matching Java Virtual Machines (2):
     1.6.0_65-b14-462, x86_64:   "Java SE 6"     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
     1.6.0_65-b14-462, i386:     "Java SE 6"     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
~
Download Oracle JDK from the URL below.~
[[http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html]]~
After the download of jdk-7u55-maxosx-x64.dmg is completed, the execute the file.~
As the installer screen shows up, please follow its instructions to install JDK.~
After the installation is completed, please check its version of JDK.~
 $ java -version
 java version "1.7.0_55"
 Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
 Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
 
 $ /usr/libexec/java_home -V
 Matching Java Virtual Machines (3):
     1.7.0_55, x86_64:   "Java SE 7"     /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
     1.6.0_65-b14-462, x86_64:   "Java SE 6"     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
     1.6.0_65-b14-462, i386:     "Java SE 6"     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

* Hw to Compile JavaRock sample on Mac OS X [#m8f0256a]
 JavaRock can be compiled on Mac OS X Mavericks (10.9.3) if JDK7 is installed to Mac OS X.
The default Java on Mac OS X Mavericks is Java 1.6, but JavaRock cannot be compiled with Java 1.6. Java 1.7 is the requirement.
<Code>
** Compile &#74;avaRock samples [#h615f7a0]
>
Confirming that JDK7 is installed, set PATH, which defines the location of javarock_20130708.jar is placed, to the environment variable of &#74;avaRock, JAVAROCK. This is the same way as having done to Ubuntu.~
 $ export JAVAROCK=/home/beat/JavaRock/javarock_20130708.jar
Setting PATH to the environment variable, execute samples/test/test.sh.~
 $ cd ~/JavaRock/samples/test
 $ ./test.sh
 Compile: counter
 Compile: led
 Compile: SC1602Wrapper
 Compile: SC1602Writer
 Compile: sc1602_test
 Compile: echo
 Compile: rs232c
 Compile: test
 pass: connection
 pass: bypass
 pass: optimization
 pass: linkage
 pass: generate
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
 VHDLArrayAccess:getReadSignal: TO => net.wasamon.javarock.model.vhdl.VHDLIdent
~
 $ ls
 counter.vhd             rs232c.vhd              test.class
 echo.vhd                sc1602_test.vhd         test.java
 led.vhd                 sc1602writer.vhd        test.sh
 rs232c.class            sim.VHD                 test.ucf
 rs232c.java             test.bat                tes
~
If the class file and vhd file exist, this file, test.sh, is executed correctly,~
If test.sh is executed without updating the version of Java, these errors will occur. The details are shown below.~
~
 $ cd ~/JavaRock/samples/test
 $ ./test.sh 
 An exception has occurred in the compiler ((version info not available)). Please file a bug at the JavaRock BugTracks (http://sourceforge.net/p/javarock/bugs/)  after checking the Bug Parade for duplicates.
 Include your program and the following diagnostic in your report.  Thank you.
 java.lang.NoClassDefFoundError: javax/lang/model/type/UnionType
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
         at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
         at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
         at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
         at openjdk.com.sun.tools.javac.comp.MemberEnter.<init>(MemberEnter.java:95)
         at openjdk.com.sun.tools.javac.comp.MemberEnter.instance(MemberEnter.java:85)
         at openjdk.com.sun.tools.javac.comp.Enter.<init>(Enter.java:126)
         at openjdk.com.sun.tools.javac.comp.Enter.instance(Enter.java:114)
         at openjdk.com.sun.tools.javac.comp.Check.<init>(Check.java:96)
         at openjdk.com.sun.tools.javac.comp.Check.instance(Check.java:86)
         at openjdk.com.sun.tools.javac.code.Types.<init>(Types.java:101)
         at openjdk.com.sun.tools.javac.code.Types.instance(Types.java:88)
         at openjdk.com.sun.tools.javac.jvm.ClassReader.<init>(ClassReader.java:264)
         at openjdk.com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:226)
         at openjdk.com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:331)
         at openjdk.com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:88)
         at openjdk.com.sun.tools.javac.main.Main.compile(Main.java:424)
         at openjdk.com.sun.tools.javac.main.Main.compile(Main.java:353)
         at openjdk.com.sun.tools.javac.main.Main.compile(Main.java:342)
         at openjdk.com.sun.tools.javac.main.Main.compile(Main.java:333)
         at openjdk.com.sun.tools.javac.Main.compile(Main.java:76)
         at openjdk.com.sun.tools.javac.Main.main(Main.java:61)
 Caused by: java.lang.ClassNotFoundException: javax.lang.model.type.UnionType
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
         ... 30 more

Download Oracle JDK from the URL below. 
After the download of jdk-7u55-maxosx-x64.dmg is completed, the execute the file.
As the installer screen shows up, please follow its instructions to install JDK.
After the installation is completed, please check its version of JDK.
<Code>
* About &#74;avaRock [#va404bd1]
>
The contents of expanded samples_201310707.tar.gz are organized as they are shown below.~
In the following directories, kc705 indicates this directory for Xilinx Kintex-7 FPGA KC705.~
Test directory is for Virtex-6 FPGA ML605 Evaluation Kit. microboard is the directory for Avnet Spartan-6 LX9 MicroBoard.~
Zedboard is the test directory for Xulinx ZedBoard ZedBoard.~
~
>>
samples~
&#9500;&#9472;&#9472; altera~
&#9474;   &#9500;&#9472;&#9472; DE2_115.qsf~
&#9474;   &#9500;&#9472;&#9472; DE2_115.v~
&#9474;   &#9500;&#9472;&#9472; Test.java~
&#9474;   &#9500;&#9472;&#9472; Top.java~
&#9474;   &#9500;&#9472;&#9472; mandelbrot~
&#9474;   &#9474;   &#9500;&#9472;&#9472; Firefly.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; Mandelbrot.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; SC1602Wrapper.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; SC1602Writer.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAIf.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAJavaTest.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAWrapper.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; compile~
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; mandelbrot.sof~
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test.qsf~
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; test.sof~
&#9474;   &#9474;   &#9500;&#9472;&#9472; main.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; sc1602_test.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; test.sh~
&#9474;   &#9474;   &#9492;&#9472;&#9472; test.v~
&#9474;   &#9500;&#9472;&#9472; mandelbrot.sof~
&#9474;   &#9500;&#9472;&#9472; test~
&#9474;   &#9474;   &#9500;&#9472;&#9472; Firefly.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; Mandelbrot.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; SC1602Wrapper.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; SC1602Writer.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAIf.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAJavaTest.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; VGAWrapper.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; main.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; sc1602_test.java~
&#9474;   &#9474;   &#9500;&#9472;&#9472; test.sh~
&#9474;   &#9474;   &#9492;&#9472;&#9472; test.v~
&#9474;   &#9500;&#9472;&#9472; test.qsf~
&#9474;   &#9492;&#9472;&#9472; test.sof~
&#9500;&#9472;&#9472; arith~
&#9474;   &#9500;&#9472;&#9472; arith.java~
&#9474;   &#9500;&#9472;&#9472; assign.java~
&#9474;   &#9492;&#9472;&#9472; floating.java~
&#9500;&#9472;&#9472; array~
&#9474;   &#9500;&#9472;&#9472; BitVectorTest.java~
&#9474;   &#9500;&#9472;&#9472; bitvectortest_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; fill.java~
&#9474;   &#9500;&#9472;&#9472; fillsim.java~
&#9474;   &#9500;&#9472;&#9472; fillsim_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; main.java~
&#9474;   &#9500;&#9472;&#9472; out.vcd~
&#9474;   &#9500;&#9472;&#9472; rx.java~
&#9474;   &#9500;&#9472;&#9472; sum.java~
&#9474;   &#9500;&#9472;&#9472; sumsim.java~
&#9474;   &#9500;&#9472;&#9472; sumsim_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; test.java~
&#9474;   &#9500;&#9472;&#9472; test2.java~
&#9474;   &#9500;&#9472;&#9472; test3.java~
&#9474;   &#9500;&#9472;&#9472; testTest.java~
&#9474;   &#9500;&#9472;&#9472; testtestsim.VHD~
&#9474;   &#9500;&#9472;&#9472; tx.java~
&#9474;   &#9492;&#9472;&#9472; work-obj93.cf~
&#9500;&#9472;&#9472; bench~
&#9474;   &#9500;&#9472;&#9472; BubbleSort.java~
&#9474;   &#9500;&#9472;&#9472; BubbleSortMod.java~
&#9474;   &#9500;&#9472;&#9472; BubbleSortSim.java~
&#9474;   &#9500;&#9472;&#9472; BubbleSortThread.java~
&#9474;   &#9500;&#9472;&#9472; Sieve.java~
&#9474;   &#9500;&#9472;&#9472; SieveMod.java~
&#9474;   &#9500;&#9472;&#9472; SieveSim.java~
&#9474;   &#9500;&#9472;&#9472; SieveThread.java~
&#9474;   &#9500;&#9472;&#9472; bubblesort.sh~
&#9474;   &#9500;&#9472;&#9472; sieve.sh~
&#9474;   &#9500;&#9472;&#9472; simbubble.VHD~
&#9474;   &#9492;&#9472;&#9472; simsieve.VHD~
&#9500;&#9472;&#9472; bf e-trees exStick~
&#9474;   &#9500;&#9472;&#9472; BF.java~
&#9474;   &#9500;&#9472;&#9472; HW.java~
&#9474;   &#9500;&#9472;&#9472; IO.java~
&#9474;   &#9500;&#9472;&#9472; Test.java~
&#9474;   &#9500;&#9472;&#9472; TestHW.java~
&#9474;   &#9500;&#9472;&#9472; compile.sh~
&#9474;   &#9500;&#9472;&#9472; exstick.VHD~
&#9474;   &#9500;&#9472;&#9472; exstick.ucf~
&#9474;   &#9500;&#9472;&#9472; exstick2.ucf~
&#9474;   &#9500;&#9472;&#9472; rs232c.java~
&#9474;   &#9500;&#9472;&#9472; sim~
&#9474;   &#9474;   &#9492;&#9472;&#9472; IO.java~
&#9474;   &#9500;&#9472;&#9472; sim.VHD~
&#9474;   &#9500;&#9472;&#9472; test.ucf~
&#9474;   &#9492;&#9472;&#9472; top.VHD~
&#9500;&#9472;&#9472; callback~
&#9474;   &#9500;&#9472;&#9472; CallBackTest.java~
&#9474;   &#9500;&#9472;&#9472; Counter.java~
&#9474;   &#9500;&#9472;&#9472; test.ucf~
&#9474;   &#9492;&#9472;&#9472; top.v~
&#9500;&#9472;&#9472; container~
&#9474;   &#9500;&#9472;&#9472; List.java~
&#9474;   &#9500;&#9472;&#9472; Stack.java~
&#9474;   &#9492;&#9472;&#9472; Test.java~
&#9500;&#9472;&#9472; echo~
&#9474;   &#9500;&#9472;&#9472; UpperEcho.java~
&#9474;   &#9500;&#9472;&#9472; echo.java~
&#9474;   &#9492;&#9472;&#9472; rs232c.java~
&#9500;&#9472;&#9472; float~
&#9474;   &#9492;&#9472;&#9472; test.java~
&#9500;&#9472;&#9472; i2c~
&#9474;   &#9500;&#9472;&#9472; I2C_IF.java~
&#9474;   &#9500;&#9472;&#9472; I2C_Master_Wrapper.java~
&#9474;   &#9500;&#9472;&#9472; I2C_Test.java~
&#9474;   &#9500;&#9472;&#9472; SimpleI2C_Wrapper.java~
&#9474;   &#9500;&#9472;&#9472; top.VHD~
&#9474;   &#9492;&#9472;&#9472; zedboard.ucf~
&#9500;&#9472;&#9472; kc705~ 
&#9474;   &#9500;&#9472;&#9472; compile.bat~
&#9474;   &#9500;&#9472;&#9472; compile.sh~
&#9474;   &#9500;&#9472;&#9472; rs232c.java~
&#9474;   &#9500;&#9472;&#9472; test.java~
&#9474;   &#9500;&#9472;&#9472; test.sh~
&#9474;   &#9500;&#9472;&#9472; top.VHD~
&#9474;   &#9492;&#9472;&#9472; top.ucf~
&#9500;&#9472;&#9472; led~
&#9474;   &#9500;&#9472;&#9472; Firefly.java~
&#9474;   &#9500;&#9472;&#9472; counter.java~
&#9474;   &#9492;&#9472;&#9472; led.java~
&#9500;&#9472;&#9472; microboard 
&#9474;   &#9500;&#9472;&#9472; button.java~
&#9474;   &#9500;&#9472;&#9472; microboard.sh~
&#9474;   &#9500;&#9472;&#9472; sim.VHD~
&#9474;   &#9500;&#9472;&#9472; test.java~
&#9474;   &#9500;&#9472;&#9472; test.ucf~
&#9474;   &#9492;&#9472;&#9472; top.VHD~
&#9500;&#9472;&#9472; old~
&#9474;   &#9500;&#9472;&#9472; Hoge.java~
&#9474;   &#9500;&#9472;&#9472; MUX.java~
&#9474;   &#9500;&#9472;&#9472; MyString.java~
&#9474;   &#9500;&#9472;&#9472; append.java~
&#9474;   &#9500;&#9472;&#9472; appendsim.java~
&#9474;   &#9500;&#9472;&#9472; arraysim.java~
&#9474;   &#9500;&#9472;&#9472; arraysim2.java~
&#9474;   &#9500;&#9472;&#9472; arraytest.java~
&#9474;   &#9500;&#9472;&#9472; arraytest2.java~
&#9474;   &#9500;&#9472;&#9472; echo0.java~
&#9474;   &#9500;&#9472;&#9472; echo1.java~
&#9474;   &#9500;&#9472;&#9472; put.java~
&#9474;   &#9500;&#9472;&#9472; state.java~
&#9474;   &#9492;&#9472;&#9472; step.java~
&#9500;&#9472;&#9472; pong~
&#9474;   &#9500;&#9472;&#9472; ButtonIF.java~
&#9474;   &#9500;&#9472;&#9472; DE2-115~
&#9474;   &#9474;   &#9500;&#9472;&#9472; DE2-115.qpf~
&#9474;   &#9474;   &#9492;&#9472;&#9472; DE2-115.qsf~
&#9474;   &#9500;&#9472;&#9472; Game.java~
&#9474;   &#9500;&#9472;&#9472; Top.java~
&#9474;   &#9500;&#9472;&#9472; acknowledgement.txt~
&#9474;   &#9500;&#9472;&#9472; compile_fpga.bat~
&#9474;   &#9492;&#9472;&#9472; compile_fpga.sh~
&#9500;&#9472;&#9472; prime~
&#9474;   &#9500;&#9472;&#9472; Prime.java~
&#9474;   &#9500;&#9472;&#9472; PrimeSim.java~
&#9474;   &#9500;&#9472;&#9472; PrimeThread.java~
&#9474;   &#9500;&#9472;&#9472; sim.VHD~
&#9474;   &#9492;&#9472;&#9472; test.sh~
&#9500;&#9472;&#9472; random~
&#9474;   &#9500;&#9472;&#9472; Random19Wrapper.java~
&#9474;   &#9492;&#9472;&#9472; sim.VHD~
&#9500;&#9472;&#9472; sc1602~
&#9474;   &#9500;&#9472;&#9472; SC1602Wrapper.java~
&#9474;   &#9500;&#9472;&#9472; SC1602Writer.java~
&#9474;   &#9500;&#9472;&#9472; ml605_sc1602.ucf~
&#9474;   &#9492;&#9472;&#9472; sc1602_test.java~
&#9500;&#9472;&#9472; sformat~
&#9474;   &#9500;&#9472;&#9472; SParser.java~
&#9474;   &#9500;&#9472;&#9472; SParserTest.java~
&#9474;   &#9492;&#9472;&#9472; test.dat~
&#9500;&#9472;&#9472; syntax~
&#9474;   &#9500;&#9472;&#9472; cond.java~
&#9474;   &#9500;&#9472;&#9472; condtest.java~
&#9474;   &#9500;&#9472;&#9472; condtest_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; for_test.java~
&#9474;   &#9500;&#9472;&#9472; for_test_test.java~
&#9474;   &#9500;&#9472;&#9472; for_test_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; out.vcd~
&#9474;   &#9500;&#9472;&#9472; private_method.java~
&#9474;   &#9500;&#9472;&#9472; private_method_test.java~
&#9474;   &#9500;&#9472;&#9472; private_method_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; public_constant.java~
&#9474;   &#9500;&#9472;&#9472; public_constant_test.java~
&#9474;   &#9500;&#9472;&#9472; public_constant_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; subblock.java~
&#9474;   &#9500;&#9472;&#9472; subblock_test.java~
&#9474;   &#9500;&#9472;&#9472; subblock_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; sync.java~
&#9474;   &#9500;&#9472;&#9472; sync_test.java~
&#9474;   &#9500;&#9472;&#9472; sync_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; thread_test.java~
&#9474;   &#9500;&#9472;&#9472; thread_test_test.java~
&#9474;   &#9500;&#9472;&#9472; thread_test_test_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; type_test.java~
&#9474;   &#9500;&#9472;&#9472; type_test_test.java~
&#9474;   &#9500;&#9472;&#9472; type_test_test_sim.VHD~
&#9474;   &#9492;&#9472;&#9472; work-obj93.cf~
&#9500;&#9472;&#9472; test~
&#9474;   &#9500;&#9472;&#9472; rs232c.java~
&#9474;   &#9500;&#9472;&#9472; sim.VHD~
&#9474;   &#9500;&#9472;&#9472; test.bat~
&#9474;   &#9500;&#9472;&#9472; test.java~
&#9474;   &#9500;&#9472;&#9472; test.sh~
&#9474;   &#9492;&#9472;&#9472; test.ucf~
&#9500;&#9472;&#9472; upl_tx_rx~
&#9474;   &#9500;&#9472;&#9472; Makefile~
&#9474;   &#9500;&#9472;&#9472; UPL32Test.java~
&#9474;   &#9500;&#9472;&#9472; UPL32_RX.java~
&#9474;   &#9500;&#9472;&#9472; UPL32_TX.java~
&#9474;   &#9500;&#9472;&#9472; UPL8Test.java~
&#9474;   &#9500;&#9472;&#9472; UPL8_RX.java~
&#9474;   &#9500;&#9472;&#9472; UPL8_TX.java~
&#9474;   &#9500;&#9472;&#9472; simpledualportram.VHD~
&#9474;   &#9500;&#9472;&#9472; upl32_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; upl8_sim.VHD~
&#9474;   &#9500;&#9472;&#9472; vhdl_upl32_rx_wrapper.VHD~
&#9474;   &#9500;&#9472;&#9472; vhdl_upl32_tx_wrapper.VHD~
&#9474;   &#9500;&#9472;&#9472; vhdl_upl8_rx_wrapper.VHD~
&#9474;   &#9500;&#9472;&#9472; vhdl_upl8_tx_wrapper.VHD~
&#9474;   &#9500;&#9472;&#9472; vhdl_upl_rx.VHD~
&#9474;   &#9492;&#9472;&#9472; vhdl_upl_tx.VHD~
&#9500;&#9472;&#9472; vgatest~
&#9474;   &#9500;&#9472;&#9472; VGAIf.java~
&#9474;   &#9500;&#9472;&#9472; VGAJavaTest.java~
&#9474;   &#9500;&#9472;&#9472; VGAWrapper.java~
&#9474;   &#9500;&#9472;&#9472; sramiface.VHD~
&#9474;   &#9500;&#9472;&#9472; swing~
&#9474;   &#9474;   &#9492;&#9472;&#9472; VGAIf.java~
&#9474;   &#9500;&#9472;&#9472; vga.VHD~
&#9474;   &#9500;&#9472;&#9472; vgaclk.VHD~
&#9474;   &#9500;&#9472;&#9472; vgagen.VHD~
&#9474;   &#9492;&#9472;&#9472; vgaiface.VHD~
&#9500;&#9472;&#9472; vhdl~
&#9474;   &#9500;&#9472;&#9472; arraytop.vhd~
&#9474;   &#9500;&#9472;&#9472; bitvector.vhd~
&#9474;   &#9500;&#9472;&#9472; blockram.vhd~
&#9474;   &#9500;&#9472;&#9472; button.vhd~
&#9474;   &#9500;&#9472;&#9472; clk_div.vhd~
&#9474;   &#9500;&#9472;&#9472; distributedram.vhd~
&#9474;   &#9500;&#9472;&#9472; ml605.ucf~
&#9474;   &#9500;&#9472;&#9472; rs232c_rx.vhd~
&#9474;   &#9500;&#9472;&#9472; rs232c_tx.vhd~
&#9474;   &#9500;&#9472;&#9472; sim.vhd~
&#9474;   &#9492;&#9472;&#9472; simpledualportram.vhd~
&#9500;&#9472;&#9472; wait-notify~
&#9474;   &#9500;&#9472;&#9472; Consumer.java~
&#9474;   &#9500;&#9472;&#9472; NoWait.java~
&#9474;   &#9500;&#9472;&#9472; NoWait2.java~
&#9474;   &#9500;&#9472;&#9472; NoWait2Test.java~
&#9474;   &#9500;&#9472;&#9472; Producer.java~
&#9474;   &#9500;&#9472;&#9472; Simulation.java~
&#9474;   &#9500;&#9472;&#9472; Test.java~
&#9474;   &#9500;&#9472;&#9472; nowait2_sim.VHD~
&#9474;   &#9492;&#9472;&#9472; nowait_sim.VHD~
&#9492;&#9472;&#9472; zedboard~
&nbsp;&nbsp; &#9500;&#9472;&#9472; FPGAMain.java~
&nbsp;&nbsp; &#9500;&#9472;&#9472; HDMI_1280_720_Wrapper.java~
&nbsp;&nbsp; &#9500;&#9472;&#9472; LED.java~
&nbsp;&nbsp; &#9500;&#9472;&#9472; compile.sh~
&nbsp;&nbsp; &#9500;&#9472;&#9472; i2cmem~
&nbsp;&nbsp; &#9500;&#9472;&#9472; top.VHD~
&nbsp;&nbsp; &#9492;&#9472;&#9472; zedboard.ucf~
32 directories, 232 files~
~

** Compile JavaRock samples [#h615f7a0]
Confirming that JDK7 is installed, set PATH, which defines the location of javarock_20130708.jar is placed, to the environment variable of JavaRock, JAVAROCK. This is the same way as having done to Ubuntu.
<Code>
Setting PATH to the environment variable, execute samples/test/test.sh.
<Code>
<Code>
If the class file and vhd file exist, this file, test.sh, is executed correctly,
If test.sh is executed without updating the version of Java, these errors will occur. The details are shown below.
<Error Code>

* About JavaRock [#va404bd1]
The contents of expanded samples_201310707.tar.gz are organized as they are shown below. In the following directories, kc705 indicates this directory for Xilinx Kintex-7 FPGA KC705. test directory is for Virtex-6 FPGA ML605 Evaluation Kit. microboard is the directory for Avnet Spartan-6 LX9 MicroBoard. Zedboard is the test directory for Xulinx ZedBoard ZedBoard.
<Directory>

* Reference [#n1a7248d]
- JavaRock's Official Web Page
<URL>
>
- &#74;avaRock's Official Web Page~
[[http://javarock.sourceforge.net/]]~
~
- &#74;avaRock's Source Repository~
[[http://sourceforge.net/p/javarock/git/ci/master/tree/]]~

- JavaRock's Source Repository
<URL>

* Revision History [#u5388e06]
-
>
- 2014/12/24 This article is initially published~
~
- ''Caution'':~
The development of &#74;avaRock has been closed, and it has the successor, which is called [[Synthesijer]].~
If you are interested in a high-level synthesis, which is generates HDL from Java language, please go to [[Synthesijer]].~

- Caution: The development of JavaRock has been closed, and it has the successor, which is called Synthesijer. If you are interested in a high-level synthesis, which is generates HDL from Java language, please go to Synthesijer.


Front page   New List of pages Search Recent changes   RSS of recent changes