[[labs.beatcraft.com]]~ [[DE0-Nano]]~ [[Synthesijer]]~ #contents * DE0-Nano/Synthesijer [#s9623766] > [[Sythesijer>http://synthesijer.sourceforge.net/]] is the successor of JavaRock, a high-level synthesis tool that is able to generate VHDL and Verilog HDL code from Java code.~ This article explains how to execute a sample program of Synthesijer on DE0-Nano.~ ~ This article uses synthesijer-20140818.jar and synthesijer_sample-20140818. However, the newer version of Synthesijer, and~ its sample are also available at [[this page>http://sourceforge.net/projects/synthesijer/files/synthesijer-2.0/]]. Please download them.~ ~ The outline and some part (the version of Quartus) of this article are identical to DE0-Nano/JavaRock.~ The outline of this articles are:~ > - About host PC~ Working on a virtual machine (Ubuntu 12.04LTS, 64bit version) on Windows PC.~ (This article does NOT explain how to install a Linux virtual machine, Ubuntu 12.04LTS, on a PC.)~ ~ - Configuring Ubuntu and editing files~ Install the development tools on Ubuntu, and edit the files for working with DE0-Nano.~ ~ - Writing down to DE0-Nano~ Explain how to execute a sample of Synthesijer on DE0-Nano.~ ** About Host PC [#mf1b3ce8] > The details of the host PC for this article are shown below. Most work is done in Ubuntu 12.04 LTS (64bit)~ ~ OS:~ - Host OS: Windows7 (64bit version, hereafter “Windows”)~ - Guest OS: Ubuntu 12.04 LTS (64bit version, hereafter “Ubuntu”)~ > Applications:~ - VMware Player (Windows)~ - DE0-Nano System Builder (Windows)~ - Quartus II 12.0 sp1 (Ubuntu, hereafter “Quartus”)~ > Create an Ubuntu image on VMware Player. The desk size of image is 20GB.~ ~ DE0-Nano System Builder, which is provided by Terasic Technologies, Inc, manages the project files (qpf)~ and configuration file for pin-assignment (qsf). This application can be executed from only Windows.~ ~ Quartus is a FPGA and CPLD design and development tool, which can be downloaded from the site of Altera Corporation.~ (The download page is [[here]].) This is installed on Ubuntu. The version of Quartus, which is used for this article is 12.0 sp1.~ The newer versions of this application are available at its download site. However, Quartus 12.0 sp1 is used in the article of~ [[DE0-Nano/JavaRock>]], this article uses the same version of the application.~ ** Configuring Ubuntu and Editing Files [#yc373be0] > This part of this article explains how to configure Ubuntu and to edit the files for the configurations.~ *** Install the development tool [#z70651da] > To install Quartus on Ubuntu, install the development tools, first.~ $ sudo apt-get install build-essential ia32-libs la32-lib is installed because each binary of Quartus is written in 32bit.~ ~ Setting and installing Java SE, Synthesijer, and Quartus are done at the directory of /home/beat. However, you may change to~ any directory as you like to work.~ ~ Install Java SE 7u67 for working with Synthesijer. Download Linux version of Java SE 7u67 from the web page of Oracle.~ Then, extract the archive.~ $ tar xvfz jdk-7u67-linux-x64.tar.gz ''Caution'':~ According to the web page of Synthesijer, Java SE should be Java SE 7 or greater. However, as you use Java SE 8~ with synthesijer-20140818.jar, an annotation error will occur. This is why this article uses Java SE 7u67.~ ~ Download synthesijar-20140818.jar and synthesijar_samples-20140818.zip form [[http://synthesijer.sourceforge.net]]/~ ~ Unzip synthesijer_samples-20140818.zip~ $ unzip synthesijer_samples-20140818.zip Install Quartus. Expand the archive and execute setup. Then, follow the instructions of GUI to proceed the installation process.~ $ tar xvfz 12.0sp1_232_quartus_free_linux.tar.gz $ cd 12.0sp1_232_quartus_free_linux/ $ ./setup If start up Quartus, show up the error message , which is shown below. To avoid this error to occur, set up the symbolic link from /altera/12.0/quartus/ to linux64~ $ cd ~/altera/12.0sp1/quartus/ $ ln -s linux linux64 The error message~ *** The Quartus II software cannot be started because the current platform, 'linux64', does not appear to be installed in: '/home/beat/altera/12.0sp1/quartus'. /home/beat/altera/12.0sp1/quartus/bin/jtagd: 69: exit: Illegal number: -1 *** Edit .bashrc [#f8c1ed69] > To let working environment easier, set up the PATH of Java, Synthesijer, and Quartus. Please add three lines shown below at the end of .bashrc.~ To let working environment easier, set up the PATH of Java, Synthesijer, and Quartus.~ Please add three lines shown below at the end of .bashrc.~ $ vi .bashrc export JAVA_HOME=/home/beat/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:/home/beat/altera/12.0sp1/quartus/bin:$PATH export SYNTHESIJER=/home/beat/synthesijer-20140818.jar *** Add and apply the rules of udev [#ff487868] > To transfer a program to DE0-Nano from Ubuntu by USB connection, the USB-Blaster is used. To make Ubuntu recognize the USB-Blaster, add the rule file for the USB-Blaster (51-usbblaster.rules) to the rule file for udev (automatically create and delete device file, /etc/udev/rule.d).~ To transfer a program to DE0-Nano from Ubuntu by USB connection, the USB-Blaster is used. To make Ubuntu recognize the USB-Blaster,~ add the rule file for the USB-Blaster (51-usbblaster.rules) to the rule file for udev (automatically create and delete device file, /etc/udev/rule.d).~ ~ After adding the rule file, restart udev. Just adding the file, the change will not be effective.~ $ sudo vi /etc/udev/rules.d/51-usbblaster.rules SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666", SYMLINK+ ~ $ sudo udevadm control --reload-rules * Revision History [#we95c182] > -2014/12/24 This article is initially uploaded