Verilog

The LSE-PC is written mostly in Verilog 2005.

Icarus Verilog

Icarus Verilog is an open source Verilog compiler and simulation tool.

Simulation with gtkwave

For advanced usage, install gtkwave with tcl scripting support enabled. For Arch Linux, see gtkwave-tcl-svn` on AUR.

Then use a gktwave rc file such as:

# Automatically add signals from a list
set names [list]
lappend names "SignalName1"
lappend names "SignalName2"
set num_added [ gtkwave::addSignalsFromList $names ]

# Set the default zoom level
gtkwave::setZoomFactor -20

Quartus II

Quartus II is the design software for Altera FPGA’s.

Setup

For Linux, and preferably Arch Linux.

# Download the latest Quartus and the Cyclone IV data.
$ wget http://download.altera.com/akdlm/software/acdsinst/14.1/186/ib_installers/QuartusSetupWeb-14.1.0.186-linux.run
$ wget http://download.altera.com/akdlm/software/acdsinst/14.1/186/ib_installers/cyclone-14.1.0.186.qdz

# Install QuartusII, it will auto-detect and install the CycloneIV support.
$ chmod +x QuartusSetupWeb-14.1.0.186-linux.run
$ ./QuartusSetupWeb-14.1.0.186-linux.run # if this fails, append '--mode gtk'

When using Arch Linux, the libcurl library bundled with Quartus II may make it crash after a few minutes, therefore remove it, Quartus II will use the one installed system-wide.

$ cd altera/14.1/quartus/linux64
$ mv libcurl.so.4 libcurl.so.4.orig

Speed up compilation

  • For multi processor compilation, enable TalkBack in Tools -> Options -> General -> Internet Connectivity -> TalkBack Options
  • Enable Smart compilation: Assignments -> Settings -> Compilation -> Process Settings -> Use smart compilation