Quartus: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
 
(61 intermediate revisions by the same user not shown)
Line 5: Line 5:
== How to run Quartus ==
== How to run Quartus ==


=== Prerequisites ===
=== Quartus versions to use with different projects ===


You will want to sit in front of a large monitor, and you will want to run the quartus application on a fast computer with large memory (use ladd11 and ladd12). To download compiled fpga firmware into vme modules using jtag or Active Serial interfaces, you will need a USB-Blaster dongle.
* cyclone I: VF48, VME-NIMIO32, etc: /daq/quartus/13.0sp1/quartus/bin/quartus
* cyclone III: PPG32, etc: try 13.1.4.182, otherwise, use /daq/quartus/13.1.3.178/quartus/bin/quartus
* cyclone IV: ??? (CAMAC interface)
* cyclone V: ALPHA-g PWB, ALPHA-g ADC: quartus 17.0 (17.1 and newer have incompatible NIOS ethernet interface)
* cyclone V: chronobox: 20.1
* cyclone V: VME-NIMIO32-Rev3: 20.1
 
=== Available versions of Quartus ===
 
* ls -l /daq/quartus (mount -o ro daq00:/quartus /daq/quartus and mount -o ro daqstore.triumf.ca:/pool/daqstore /daq/daqstore)
 
Archive of quartus distribution files:
 
* /daq/quartus_archive (mount -o ro daqstore:/z6tb/quartus_archive)


=== Select a quartus license ===
=== Select a quartus license ===


* ladd05 nodelocked license: run quartus on ladd05, use license file /home/olchansk/daq/altera/license-ladd05.dat
* daq01 license, ubuntu-20.04: start license server: "ssh daq01 /opt/intelFPGA/20.1/quartus/linux64/lmgrd -c /home/olchansk/daq/altera/license-daq01.dat"
* ladd01 nodelocked license: run quartus on ladd01, use license file /home/olchansk/daq/altera/license-ladd01.dat
* daq13 license, ubuntu-20.04: start license server: "ssh daq13 /opt/intelFPGA/20.1/quartus/linux64/lmgrd -c /home/olchansk/daq/altera/license-daq13.dat"
* ladd00 floating license: start license server: "ssh ladd00 /triumfcs/trshare/olchansk/altera/altera9.1/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd00.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd00.dat
* daq16 license, centos-7: start license server: "ssh daq16 /daq/quartus/16.1/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daq16.dat"
* ladd09 floating license: start license server: "ssh ladd09 /triumfcs/trshare/olchansk/altera/altera9.1/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd09.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd03.dat
 
* ladd12 floating license: start license server: "ssh ladd12 /triumfcs/trshare/olchansk/altera/altera9.1/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd12.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd12.dat
 
* (temp not available) ladd05 nodelocked license: run quartus on ladd05, use license file /home/olchansk/daq/altera/license-ladd05.dat
* (temp not available) ladd01 nodelocked license: run quartus on ladd01, use license file /home/olchansk/daq/altera/license-ladd01.dat
* (temp not available) daqshare floating license: start license server: "ssh daqshare /daq/daqshare/olchansk/altera/13.1.3.178/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daqshare.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-daqshare.dat
* (temp not available) ladd09 floating license: start license server: "ssh ladd09 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd09.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd09.dat
* (temp not available) ladd12 floating license: start license server: "ssh ladd12 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd12.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd12.dat
* (moved to alpha03, use license-alpha03.dat) daq19 floating license: start license server: "ssh -n tigress@daq19 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daq19.dat &", run quartus anywhere, use license file /home/olchansk/daq/altera/license-daq19.dat


=== Start Quartus ===
=== Mac addresses ===


* Quartus 11.1 on ladd19: run "/ladd/data19/altera/11.1/quartus/bin/quartus --64bit"
* old ladd01/daqshare license: 00:1e:8c:7c:ff:03
* Quartus 11.1 on ladd11: run "/ladd/data11/altera/11.1/quartus/bin/quartus --64bit"
* old ladd01 nodelocked license: 00:30:48:76:2e:42 00:30:48:76:2e:43
* Quartus other versions on trshare:
* old ladd09 license: 00:13:d4:92:5e:a3
** ssh to ladd11 or ladd12
* old ladd12 license: 00:1c:c0:fa:be:df
** run "ls /triumfcs/trshare/olchansk/altera" to list available versions
* old ladd19/daq19 license: 10:bf:48:4e:1e:89
** run the selected version directly, i.e. "/triumfcs/trshare/olchansk/altera/altera9.1/quartus/bin/quartus"
* specify license file at startup or from the "Tools -> License setup..." menu.


=== Use Quartus ===
=== Ubuntu Caveats ===


refer to quartus documentation and gurus
* Ubuntu LTS 20.04
* /opt/intelFPGA/17.0/quartus/bin/jtagconfig does not work, killall -KILL jtagd and use /daq/quartus/13.0sp1/quartus/bin/jtagconfig, then jtag works.
 
=== (OBSOLETE) SL/CentOS Caveats ===
 
* If Quartus 13.1 crashes on startup, see this: http://www.altera.com/support/kdb/solutions/rd12102013_780.html
 
* If Quartus 13.0, 13.1, etc crashes on startup with error about "SSL_library_init", see https://www.altera.com/support/support-resources/knowledge-base/solutions/rd12102013_780.html. Solution is to verify presence of "/usr/lib64/libcrypto.so.0.9.8e", erase it with "rpm --erase openssl098e", then verify it has been erased.


== Interfacing with hardware ==
== Interfacing with hardware ==
Line 39: Line 63:
== Accessing USB-Blaster attached to remote computer ==
== Accessing USB-Blaster attached to remote computer ==


=== Using JTAGD ===
=== Using JTAGD 2020-OCT ===
 
* login to the machine where usb blaster is attached as the user who normally run quartus tools
* run jtagconfig to confirm usb blaster is attached correctly:
<pre>
$ /opt/intelFPGA/16.1/quartus/bin/jtagconfig
1) USB-Blaster [1-1.1]
  024090DD  EP4SGX230(.|ES)
  020A40DD  5M(1270ZF324|2210Z)/EPM2210
</pre>
* killall -KILL jtagd
* echo 'Password = "123";' >> ~/.jtagd.conf
* /opt/intelFPGA/16.1/quartus/bin/jtagd
* lsof -P | grep jtagd | grep IP ### note jtagd port number, usually 1309
* /opt/intelFPGA/16.1/quartus/bin/jtagconfig ### should still work
 
* login to the remote machine where we will run quartus compilations and quartus signal tap
* ncat daq16 1309 ### hostname of machine with usb blaster and port number of jtagd
* if result is this:
<pre>
daqstore:adc_firmware$ ncat daq16 1309
Ncat: No route to host.
</pre>
* then we need to open port 1309 in the daq16 firewall:
<pre>
ssh root@daq16
firewall-cmd --list-all ### list all rules
firewall-cmd --add-port=1309/tcp --permanent ### jtagd port number, usually 1309
firewall-cmd --reload
firewall-cmd --list-all
</pre>
* try "ncat daq16 1309" again, it should just sit there, get out with CTRL-C
* try /opt/intelFPGA/16.1/quartus/bin/jtagconfig
* if it just sits there eventually reports
<pre>
daqstore:adc_firmware$ /opt/intelFPGA/17.0/quartus/bin/jtagconfig
1) Remote server daq16: Unable to connect   
</pre>
* need to enable jtagd password on daq16:
<pre>
ssh root@daq16
mkdir /etc/jtagd
echo 'Password = "123";' > /etc/jtagd/jtagd.conf
</pre>
* try again jtagconfig. it should work:
<pre>
daqstore:adc_firmware$ /opt/intelFPGA/17.0/quartus/bin/jtagconfig
1) USB-Blaster on daq16 [1-1.1]
  024090DD  EP4SGX230(.|ES)
  020A40DD  5M(1270ZF324|2210Z)/EPM2210
</pre>
* from here remote usb blaster should work same as the local one (signal tap, etc)
 
=== Using JTAGD (obsolete) ===


* install jtagd system files per [[SLinstall#Configure_Altera_jtagd]]
* install jtagd system files per [[SLinstall#Configure_Altera_jtagd]]
* this sets the jtagd password to "123"
* this sets the jtagd password to "123"
* ssh to the machine where the USB-Blaster is connected
* ssh to the machine where the USB-Blaster is connected
* start local jtagd: /triumfcs/trshare/olchansk/altera/11.0/quartus/bin/jtagd
* start local jtagd: /daq/daqshare/olchansk/altera/11.0/quartus/bin/jtagd
* test local connection: /triumfcs/trshare/olchansk/altera/11.0/quartus/bin/jtagconfig
* NOTE: jtagd from .../quartus/linux64/jtagd will not run, please use .../quartus/bin/jtagd
* add this machine to $HOME/.jtag.conf:
* test local connection: /daq/daqshare/olchansk/altera/11.0/quartus/bin/jtagconfig
* add this machine to $HOME/.jtag.conf: (replace "laddvme05" with the name of the machine where the USB blaster is attached)
<pre>
<pre>
# /home/olchansk/.jtag.conf
# /home/olchansk/.jtag.conf
Line 62: Line 140:
=== Using SSH tunnel ===
=== Using SSH tunnel ===


To access USB-Blaster Jtag interface attached to a remote computer: (from https://ladd00.triumf.ca/elog/DAS/437)  
To access USB-Blaster Jtag interface attached to a remote computer: (from https://ladd00.triumf.ca/elog/DAS/437)
Assume we have the USB blaster connected to laddvme05 and we will run quartus on ladd00
login to ladd00
Assume we have the USB blaster connected to laddvme05 (target) and we will run quartus on ladd00 (quartus host)
get rid of possibly running local jtagd processes: killall -KILL jtagd
* login to ladd00
start the ssh tunnel: ssh laddvme05 -L1309:127.0.0.1:1309
* get rid of possibly running local jtagd processes: killall -KILL jtagd
inside the ssh tunnel, start the jtagd daemon: jtagd --user-start (assuming quartus tools are in your $PATH, otherwise use full pathnames, i.e. /triumfcs/trshare/olchansk/altera/altera9.1/quartus/bin/jtagd --user-start)
* start the ssh tunnel: ssh laddvme05 -L1309:127.0.0.1:1309
inside the ssh tunnel check that jtag works: jtagconfig
* inside the ssh tunnel (on the target machine) start the jtagd daemon: jtagd --user-start (assuming quartus tools are in your $PATH, otherwise use full pathnames, i.e. /triumfcs/trshare/olchansk/altera/altera9.1/quartus/bin/jtagd --user-start)
if jtagconfig does not work, check permissions on the /proc/bus/usb/*/* devices, they should be "rw-rw-rw". If they are not, fix them by hand: login as root and run "chmod a+wr /proc/bus/usb/*/*" or follow these instructions for changing default hot plug instructions: http://daq-plone.triumf.ca/SM/docs/local/usb-permissions
* inside the ssh tunnel (on the target machine) check that jtag local connection works: jtagconfig
leave the laddvme05 ssh tunnel window alone (iconize it)
* if jtagconfig does not work, check permissions on the /proc/bus/usb/*/* devices, they should be "rw-rw-rw". If they are not, fix them by hand: login as root and run "chmod a+wr /proc/bus/usb/*/*" or follow the instructions for changing default usb permissions at https://www.triumf.info/wiki/DAQwiki/index.php/SLinstall
login to ladd00
* leave the ssh tunnel window alone (iconize it)
again get rid of possibly running local jtagd processes: killall -KILL jtagd
* login to ladd00
go to the quartus project directory, start quartus, open the quartus project
* again get rid of possibly running local jtagd processes: killall -KILL jtagd
start the jtag progammer from "quartus -> tools -> programmer"
* go to the quartus project directory, start quartus, open the quartus project
start the jtag signal  tap tool from "quartus -> tools -> signal tap II logic analyzer"
* start the jtag progammer from "quartus -> tools -> programmer"
in either place, you should see the USB blaster is if it were a locally connected.
* start the jtag signal  tap tool from "quartus -> tools -> signal tap II logic analyzer"
Troubleshooting: if remote jtag connection does not work, try this, report the results:
* in either place, you should see the USB blaster is if it were locally connected.
jtagconfig on the machine where the USB blaster is locally connected should see the jtag devices. Typical malfunctions are wrong permissions on the USB files (fix as described above) and stale/bad jtagd running (kill it, restart it)
 
local jtagd should talk to us: "telnet localhost 1309" should report "JTAG Server"
Troubleshooting:
ssh tunnel should be running (ssh -L)
 
the tunnel should work (on the other end of the tunnel, i.e. on ladd00), "telnet localhost 1309" should report "JTAG Server"
if remote jtag connection does not work, try this, report the results:
* jtagconfig on the machine where the USB blaster is locally connected should see the jtag devices. Typical malfunctions are wrong permissions on the USB files (fix as described above) and stale/bad jtagd running (kill it, restart it)
* local jtagd should talk to us: "telnet localhost 1309" should report "JTAG Server"
* ssh tunnel should be running (ssh -L)
* the tunnel should work (on the other end of the tunnel, i.e. on ladd00), "telnet localhost 1309" should report "JTAG Server"
jtagconfig should see the same devices
jtagconfig should see the same devices
== Notes ==
=== Enable 64-bit by default ===
* edit .../quartus/adm/qenv.sh to read: - add one line as indicated:
<pre>
##### Check if should use 64-bit executables
unset USE_64BIT
# If we are on a 64-bit system, use 64-bit if QUARTUS_64BIT is set and != 0
# Also use it if we are running jtagd, since it interacts with hardware it must\
always match the OS
if test $QUARTUS_BIT_TYPE = "64" ; then
        USE_64BIT=1 ### <---------------------------------------------- add this line
        if test "$CMD_NAME" = "jtagd" ; then
                USE_64BIT=1
        elif test "${QUARTUS_64BIT-UNSET}" != UNSET ; then
                if test $QUARTUS_64BIT != "0" ; then
                        USE_64BIT=1
                fi
        fi
fi
</pre>
=== Debug the license server ===
* show available hostid:
<pre>
$ /daq/daqshare/olchansk/altera/12.1/quartus/linux/lmutil lmhostid
lmutil - Copyright (c) 1989-2008 Acresso Software Inc. All Rights Reserved.
The FLEXnet host ID of this machine is ""00167639501b 0013d4925ea3""
Only use ONE from the list of hostids.
</pre>
* fudge the hostid:
<pre>
ip link set dev eth3 address 00:13:D4:92:5E:A3
</pre>
or
<pre>
modprobe bonding
echo +bond0 > /sys/class/net/bonding_masters
ifconfig bond0
ip link set dev bond0 address 00:13:D4:92:5E:A3
</pre>

Latest revision as of 11:15, 1 April 2022

Useful Links

TBW

How to run Quartus

Quartus versions to use with different projects

  • cyclone I: VF48, VME-NIMIO32, etc: /daq/quartus/13.0sp1/quartus/bin/quartus
  • cyclone III: PPG32, etc: try 13.1.4.182, otherwise, use /daq/quartus/13.1.3.178/quartus/bin/quartus
  • cyclone IV: ??? (CAMAC interface)
  • cyclone V: ALPHA-g PWB, ALPHA-g ADC: quartus 17.0 (17.1 and newer have incompatible NIOS ethernet interface)
  • cyclone V: chronobox: 20.1
  • cyclone V: VME-NIMIO32-Rev3: 20.1

Available versions of Quartus

  • ls -l /daq/quartus (mount -o ro daq00:/quartus /daq/quartus and mount -o ro daqstore.triumf.ca:/pool/daqstore /daq/daqstore)

Archive of quartus distribution files:

  • /daq/quartus_archive (mount -o ro daqstore:/z6tb/quartus_archive)

Select a quartus license

  • daq01 license, ubuntu-20.04: start license server: "ssh daq01 /opt/intelFPGA/20.1/quartus/linux64/lmgrd -c /home/olchansk/daq/altera/license-daq01.dat"
  • daq13 license, ubuntu-20.04: start license server: "ssh daq13 /opt/intelFPGA/20.1/quartus/linux64/lmgrd -c /home/olchansk/daq/altera/license-daq13.dat"
  • daq16 license, centos-7: start license server: "ssh daq16 /daq/quartus/16.1/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daq16.dat"


  • (temp not available) ladd05 nodelocked license: run quartus on ladd05, use license file /home/olchansk/daq/altera/license-ladd05.dat
  • (temp not available) ladd01 nodelocked license: run quartus on ladd01, use license file /home/olchansk/daq/altera/license-ladd01.dat
  • (temp not available) daqshare floating license: start license server: "ssh daqshare /daq/daqshare/olchansk/altera/13.1.3.178/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daqshare.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-daqshare.dat
  • (temp not available) ladd09 floating license: start license server: "ssh ladd09 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd09.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd09.dat
  • (temp not available) ladd12 floating license: start license server: "ssh ladd12 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-ladd12.dat", run quartus anywhere, use license file /home/olchansk/daq/altera/license-ladd12.dat
  • (moved to alpha03, use license-alpha03.dat) daq19 floating license: start license server: "ssh -n tigress@daq19 /daq/daqshare/olchansk/altera/12.0/quartus/linux/lmgrd -c /home/olchansk/daq/altera/license-daq19.dat &", run quartus anywhere, use license file /home/olchansk/daq/altera/license-daq19.dat

Mac addresses

  • old ladd01/daqshare license: 00:1e:8c:7c:ff:03
  • old ladd01 nodelocked license: 00:30:48:76:2e:42 00:30:48:76:2e:43
  • old ladd09 license: 00:13:d4:92:5e:a3
  • old ladd12 license: 00:1c:c0:fa:be:df
  • old ladd19/daq19 license: 10:bf:48:4e:1e:89

Ubuntu Caveats

  • Ubuntu LTS 20.04
  • /opt/intelFPGA/17.0/quartus/bin/jtagconfig does not work, killall -KILL jtagd and use /daq/quartus/13.0sp1/quartus/bin/jtagconfig, then jtag works.

(OBSOLETE) SL/CentOS Caveats

Interfacing with hardware

  • To download pof files into VME modules with Active Serial EPROMs (i.e. VF48 modules): see /home/olchansk/daq/vf48/firmware/load.perl
  • To download pof files into VME modules with VME-accessible Flash Programmer (VF48, etc) use the "srunner_vme" program, see /home/olchansk/packages/vme/srunner*
  • To download sof files into VME modules using JTAG interface, see /home/olchansk/daq/vf48/firmware/load_jtag_fe.perl

Accessing USB-Blaster attached to remote computer

Using JTAGD 2020-OCT

  • login to the machine where usb blaster is attached as the user who normally run quartus tools
  • run jtagconfig to confirm usb blaster is attached correctly:
$ /opt/intelFPGA/16.1/quartus/bin/jtagconfig
1) USB-Blaster [1-1.1]
  024090DD   EP4SGX230(.|ES)
  020A40DD   5M(1270ZF324|2210Z)/EPM2210
  • killall -KILL jtagd
  • echo 'Password = "123";' >> ~/.jtagd.conf
  • /opt/intelFPGA/16.1/quartus/bin/jtagd
  • lsof -P | grep jtagd | grep IP ### note jtagd port number, usually 1309
  • /opt/intelFPGA/16.1/quartus/bin/jtagconfig ### should still work
  • login to the remote machine where we will run quartus compilations and quartus signal tap
  • ncat daq16 1309 ### hostname of machine with usb blaster and port number of jtagd
  • if result is this:
daqstore:adc_firmware$ ncat daq16 1309
Ncat: No route to host.
  • then we need to open port 1309 in the daq16 firewall:
ssh root@daq16
firewall-cmd --list-all ### list all rules
firewall-cmd --add-port=1309/tcp --permanent ### jtagd port number, usually 1309
firewall-cmd --reload
firewall-cmd --list-all
  • try "ncat daq16 1309" again, it should just sit there, get out with CTRL-C
  • try /opt/intelFPGA/16.1/quartus/bin/jtagconfig
  • if it just sits there eventually reports
daqstore:adc_firmware$ /opt/intelFPGA/17.0/quartus/bin/jtagconfig
1) Remote server daq16: Unable to connect     
  • need to enable jtagd password on daq16:
ssh root@daq16
mkdir /etc/jtagd
echo 'Password = "123";' > /etc/jtagd/jtagd.conf
  • try again jtagconfig. it should work:
daqstore:adc_firmware$ /opt/intelFPGA/17.0/quartus/bin/jtagconfig
1) USB-Blaster on daq16 [1-1.1]
  024090DD   EP4SGX230(.|ES)
  020A40DD   5M(1270ZF324|2210Z)/EPM2210
  • from here remote usb blaster should work same as the local one (signal tap, etc)

Using JTAGD (obsolete)

  • install jtagd system files per SLinstall#Configure_Altera_jtagd
  • this sets the jtagd password to "123"
  • ssh to the machine where the USB-Blaster is connected
  • start local jtagd: /daq/daqshare/olchansk/altera/11.0/quartus/bin/jtagd
  • NOTE: jtagd from .../quartus/linux64/jtagd will not run, please use .../quartus/bin/jtagd
  • test local connection: /daq/daqshare/olchansk/altera/11.0/quartus/bin/jtagconfig
  • add this machine to $HOME/.jtag.conf: (replace "laddvme05" with the name of the machine where the USB blaster is attached)
# /home/olchansk/.jtag.conf
Remote2 {
	Host = "laddvme05";
	Password = "123";
}
  • test remote connection: run jtagconfig, now your device should show up two times - first for the local USB connection and second for the remote jtagd connection
  • go to your quartus machine, start quartus, open your project file
  • open tools->programmer
  • open hardware setup, you should see an entry for your jtag connection
  • use the remote jtag connection the same way as a local jtag connection.

Using SSH tunnel

To access USB-Blaster Jtag interface attached to a remote computer: (from https://ladd00.triumf.ca/elog/DAS/437)

Assume we have the USB blaster connected to laddvme05 (target) and we will run quartus on ladd00 (quartus host)

  • login to ladd00
  • get rid of possibly running local jtagd processes: killall -KILL jtagd
  • start the ssh tunnel: ssh laddvme05 -L1309:127.0.0.1:1309
  • inside the ssh tunnel (on the target machine) start the jtagd daemon: jtagd --user-start (assuming quartus tools are in your $PATH, otherwise use full pathnames, i.e. /triumfcs/trshare/olchansk/altera/altera9.1/quartus/bin/jtagd --user-start)
  • inside the ssh tunnel (on the target machine) check that jtag local connection works: jtagconfig
  • if jtagconfig does not work, check permissions on the /proc/bus/usb/*/* devices, they should be "rw-rw-rw". If they are not, fix them by hand: login as root and run "chmod a+wr /proc/bus/usb/*/*" or follow the instructions for changing default usb permissions at https://www.triumf.info/wiki/DAQwiki/index.php/SLinstall
  • leave the ssh tunnel window alone (iconize it)
  • login to ladd00
  • again get rid of possibly running local jtagd processes: killall -KILL jtagd
  • go to the quartus project directory, start quartus, open the quartus project
  • start the jtag progammer from "quartus -> tools -> programmer"
  • start the jtag signal tap tool from "quartus -> tools -> signal tap II logic analyzer"
  • in either place, you should see the USB blaster is if it were locally connected.

Troubleshooting:

if remote jtag connection does not work, try this, report the results:

  • jtagconfig on the machine where the USB blaster is locally connected should see the jtag devices. Typical malfunctions are wrong permissions on the USB files (fix as described above) and stale/bad jtagd running (kill it, restart it)
  • local jtagd should talk to us: "telnet localhost 1309" should report "JTAG Server"
  • ssh tunnel should be running (ssh -L)
  • the tunnel should work (on the other end of the tunnel, i.e. on ladd00), "telnet localhost 1309" should report "JTAG Server"

jtagconfig should see the same devices

Notes

Enable 64-bit by default

  • edit .../quartus/adm/qenv.sh to read: - add one line as indicated:
##### Check if should use 64-bit executables 
 
unset USE_64BIT 
# If we are on a 64-bit system, use 64-bit if QUARTUS_64BIT is set and != 0 
# Also use it if we are running jtagd, since it interacts with hardware it must\
 always match the OS 
if test $QUARTUS_BIT_TYPE = "64" ; then 
        USE_64BIT=1 ### <---------------------------------------------- add this line
        if test "$CMD_NAME" = "jtagd" ; then 
                USE_64BIT=1 
        elif test "${QUARTUS_64BIT-UNSET}" != UNSET ; then 
                if test $QUARTUS_64BIT != "0" ; then 
                        USE_64BIT=1 
                fi 
        fi 
fi 

Debug the license server

  • show available hostid:
$ /daq/daqshare/olchansk/altera/12.1/quartus/linux/lmutil lmhostid
lmutil - Copyright (c) 1989-2008 Acresso Software Inc. All Rights Reserved.
The FLEXnet host ID of this machine is ""00167639501b 0013d4925ea3""
Only use ONE from the list of hostids.
  • fudge the hostid:
ip link set dev eth3 address 00:13:D4:92:5E:A3

or

modprobe bonding
echo +bond0 > /sys/class/net/bonding_masters
ifconfig bond0
ip link set dev bond0 address 00:13:D4:92:5E:A3