User Tools

Site Tools


notes:altera

Altera Tools on Linux

Note: Of course, when I say Linux, I mean Slackware :p

I have started using Altera (an alternative to Xilinx) because that is what I have to use in the course I will be handling next semester. And when I say on Linux, it is more like on Slackware. I run the software on my pure 64-bit Slackware, but in a 32-bit chroot environment.

I will be using Quartus Web Edition 13.0sp1, which is the last version that supports all Cylone FPGAs (low cost ones). Current version is now known as Quartus Prime Lite Edition 15.1.

Command Line Stuff

I use command-line most of the time - this is because I can then use shell scripts to automate my work flow.

Device Programmer

quartus_pgm -l | grep '1)' | sed 's/^1)\s\(.*\)$/\1/'
quartus_pgm -c usb-blaster -m JTAG --device=1 -o "p;my1fpga.sof"

Installation Notes

Additional installation info…

Using USB Byte Blaster

To use the USB blaster (byte-blaster?) cable on Linux, we need to set proper permission and device symlink. Create a udev rule file (something like…) '/etc/udev/rules.d/99-altera-usb.rules' and enter

99-altera-usb.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", GROUP="plugdev", MODE="0666", SYMLINK+="usbblaster"

If not rebooting, do not forget to restart udev service. (e.g. udevadm control –reload-rules)

Note: idProduct may vary (on Linux, check kernel message i.e. dmesg|tail) - so, either create multiple entry OR simply write ATTR{idProduct}==“6010|6001” within the same statement

Run Time Issues

Run-time issues…

(Unsolved) ModelSim Run-Time Error

This is exactly like I had previously (I guess I was on 14.1 that time), but the fix is no longer working on 14.2. Just a recap, when trying to run vsim, this error message appears

Error in startup script: 
Initialization problem, exiting.

Initialization problem, exiting.

Initialization problem, exiting.

    while executing
"EnvHistory::Reset"
    (procedure "PropertiesInit" line 3)
    invoked from within
"PropertiesInit"
    invoked from within
"ncFyP12 -+"
    (file "/home/share/apps/altera-13.0sp1/modelsim_ase/linux/../tcl/vsim/vsim" line 1)
** Fatal: Read failure in vlm process (0,0)

Recompiling freetype-2.4.7 does not fix this. Still looking for a fix…

Another bug has also been found - due to the fact that Slackware 14.2 is on 4.0 kernel version. The vco script assumes all 'other' versions after 3 is running on RedHat 6. To rectify that

  • chmod +w vco
  • sed -i 's|linux_rh60|linux|g' vco
  • chmod -w vco

20160727 Quartus II 13.0sp1 cannot run on Slackware 14.2

Slackware 14.2 has a newer libpng (1.14 and 1.16). So I copied the older version from 14.1 packages (aaa_elflibs) and copied it into /usr/lib (I'm using 32-bit quartus). Problem solved.

Note: To get that package on my slackware machine, I use my getslackpack script

ARCH=x86 RELEASE=14.1 getslackpack --reset --slack aaa_elflibs --exec

which will create a sub-folder slackpack-14.1 to store that file.

20160201 ModelSim Run-time Error

I had a problem running ModelSim (Altera Edition) and later found that a similar issue has been reported here. So what I did is simply download last known working version of freetype library (2.4.7) from here and compile manually (configure and make - notice no install!). I copied the shared library objs/.libs/libfreetype.so.6.7.2 and the two softlinks (libfreetype.so & libfreetype.so.6) into a path like /home/share/application/altera-13.0sp1/libfreetype. Do an

export LD_LIBRARY_PATH=/home/share/application/altera-13.0sp1/libfreetype

before running vsim. Problem solved.

Quartus 13.0sp1 on Devuan

I have a machine running Devuan that I currently use to do some FPGA-related work.

Prepare 32-bit Environment

Most tools are still 32-bit. So, as root, setup multi-arch environment on Devuan and install required libraries.

# dpkg --add-architecture i386
# apt update
# apt install libc6:i386 libncurses5:i386 libstdc++6:i386
# apt install libxft2:i386 libxext6:i386
# apt install zlib1g-dev:i386 libsm6:i386

Installation

I usually install as normal user to a 'shared' location (e.g. /home/share/appx/altera/) - no need root access for this. I use this script to start work environment.

$ do-exec altera

Issues

Quartus needs libpng12

  • download
    PNG_BASE="https://sourceforge.net/projects/libpng/files"
    PNG_VERS=1.2.59
    PNG_PACK="libpng-${PNG_VERS}.tar.xz"
    wget ${PNG_BASE}/libpng12/${PNG_VERS}/${PNG_PACK}/download >${PNG_PACK}
  • extract and compile
    $ ./configure
    $ make CFLAGS+=-m32
  • copy .libs/{libpng12.so,libpng12.so.0,libpng12.so.0.59.0} to quartus/linux/

ModelSim needs older freetype (2.4.7 should be fine)

  • download
  • extract and compile
    $ ./configure CFLAGS=-m32
    $ make
  • copy objs/.libs/{libfreetype.so,libfreetype.so.6,libfreetype.so.6.7.2} to modelsim_ase/linux/
  • do an export LD_LIBRARY_PATH=<path to modelsim>/linux/ (in my case, handled by do-exec)
  • note this may be the solution to my previous issue on Slackware14.2 (will test this later)
notes/altera.txt · Last modified: 2021/04/11 19:28 by 127.0.0.1