Getting Quartus II to work

First, I must say that Quartus is brilliant. A complete hardware noob like myself can get up and running and creating complex hardware designs in hours.

64 bit Fedora 29, 32 bit Quartus 13.0sp1

This is my new setup, as of 2019-01.

13.0sp1 is the latest version of Quartus to support Cyclone II devices, so I can't use anything later.

Quartus is still a 32 bit program, so :-

# dnf -y install \
libX11.i686 \
libXau.i686 \
libXdmcp.i686 \
libXext.i686 \
libXft-devel.i686 \
libXrender.i686 \
libXt.i686 \
libXtst.i686 \
libpng12.i686 \
libnsl.i686 \
compat-openssl.i686
# cd /opt/altera/13.0sp1/quartus/linux
# ln -s /usr/lib/libcrypto.so.1.0.2o libcrypto.so
# ln -s /usr/lib/libgcrypt.so.20 libgcrypt.so
# ln -s /usr/lib/libssl.so.1.0.2o libssl.so

The JTAG still needs rules allowing a normal user access to USB Blaster, so create /etc/udev/rules.d/51-altera-usb-blaster.rules containing :-

SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"

I found running udevadm control -reload as root doesn't make the system notice the new rules, I had to reboot.

As yourself :-

$ touch ~/.jtagd.conf

General tips

To import DE1.qsf from Altera website, use Assignments > Import Assignments...

Top level port names should reflect PIN names in this file.

I choose to do Active Serial Programming, which means the board will not lose the FPGA configuration at power off (the JTAG alternative isn't persistent). So under Assignments > Device > Device and Pin Options... > Configuration I select EPCS4. Under Tools > Programmer I select device as EPCS4 and select .pof file to program. Flip switch to PROG, click Start, when done, flip switch to RUN.

Beware SignalTap logic analyser errors. I find I need to shutdown Quartus, kill jtagd, then restart Quartus and start SignalTap. Otherwise when I press "Run Analysis", I get "Invalid data received". If I use "Read Data", I get what looks like reasonable data, but the start-stop point is somewhere mid data.