Diamond 3 14 Install Guide Linux
Diamond 3 14 Install Guide Linux
14 Installation
Guide for Linux
Trademarks
All Lattice trademarks are as listed at www.latticesemi.com/legal. Synopsys and
Synplify Pro are trademarks of Synopsys, Inc. Aldec and Active-HDL are trademarks
of Aldec, Inc. ModelSim and QuestaSim are trademarks or registered trademarks of
Siemens Industry Software Inc. or its subsidiaries in the United States or other
countries. All other trademarks are the property of their respective owners.
Disclaimers
NO WARRANTIES: THE INFORMATION PROVIDED IN THIS DOCUMENT IS “AS IS”
WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING
WARRANTIES OF ACCURACY, COMPLETENESS, MERCHANTABILITY,
NONINFRINGEMENT OF INTELLECTUAL PROPERTY, OR FITNESS FOR ANY
PARTICULAR PURPOSE. IN NO EVENT WILL LATTICE OR ITS SUPPLIERS BE
LIABLE FOR ANY DAMAGES WHATSOEVER (WHETHER DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL, INCLUDING, WITHOUT
LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR
LOSS OF INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE
THE INFORMATION PROVIDED IN THIS DOCUMENT, EVEN IF LATTICE HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME
JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF CERTAIN
LIABILITY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
Bold Items in the user interface that you select or click. Text that you type
into the user interface.
Courier Code examples. Messages, reports, and prompts from the software.
Revision History 36
Note
The available devices vary depending on the type of license.
System Requirements
The following are the basic system requirements for Lattice Diamond on
Linux:
Intel Pentium or Pentium-compatible PC, or AMD Opteron system
support:
For Diamond Programmer:
The Lattice Diamond 64-bit release contains a 64-bit driver to support
the 64-bit system.
Red Hat Enterprise Linux version 7.9 or 8.8 operating system.
The host operating system can only be 64-bit.
Ubuntu version 20.04 or 22.04 LTS operating system.
The Lattice Diamond software has 64-bit specific application programs
to run on Red Hat 64 platforms.
Note
A floating license requires access to the license server, so both a network adapter
and connectivity are required.
Memory Requirements
Table 1 lists the minimum memory requirements and recommended memory
for all the Lattice Semiconductor FPGA families.
Minimum Recommended
ECP5U/UM/UM5G All 4 GB 6 GB
Up to 50K LUT 2 GB 3 GB
Up to 100K LUT 2 GB 4 GB
Up to 150K LUT 6 GB 8 GB
Up to 115K LUT 2 GB 5 GB
Minimum Recommended
Technical Support
FAQs
Installer Contents
The Lattice Diamond software installation packages are available for
download from http://www.latticesemi.com/latticediamond. Click the
Downloads tab. Some documents and downloads are not visible to
anonymous visitors. To view all items, please log in to your Lattice account.
Follow the product download instructions and uncompress the software.
The following describes the contents of the Lattice Diamond installer.
The Lattice Diamond, Reveal, Programmer, and Power Estimator Linux
installer run files have the following convention for 64-bit platforms.
[version]_[product]_lin.run - 64-bit platform
The Lattice Diamond, Reveal, Programmer, and Power Estimator run file
names are as follows:
3.14.0.75.2_Diamond_lin.run
3.14.0.75.2_Diamond_PowerEstimator_lin.run
3.14.0.75.2_Diamond_Programmer_lin.run
3.14.0.75.2_Diamond_Reveal_lin.run
The Lattice Diamond “base” installation file (.run) installs Lattice Diamond
and Synplify Pro for Lattice. See “Diamond 3.14 Release System Library
Dependencies” on page 11 for more information.
The Reveal installation file (.run) installs the stand-alone Reveal Analyzer.
It is not necessary to install this package if the Diamond Base RUN is
installed. See “Installing Stand-Alone Reveal Analyzer” on page 12 for
more information.
The Programmer installation file (.run) installs the stand-alone Diamond
Programmer. It is not necessary to install this package if the Diamond
Base RUN is installed. See “Installing Stand-Alone Programmer” on
page 13 for more information.
The Power Estimator (.run) file installs the stand-alone Diamond Power
Estimator. It is not necessary to install this package if the Diamond Base
RUN is installed. See “Installing Stand-Alone Power Estimator” on
page 14 for more information.
The LatticeMico installation file (.run) installs LatticeMico Development
Tools and GNU-based Compiler Tools. See “Installing LatticeMico
Development Tools” on page 31 for more information.
The Installation Notice contains installation and licensing information.
bin/lin64/ This directory contains files for running the Lattice Diamond 64-
bit GUI.
data/ This directory contains files for the Lattice Diamond software.
embedded_source/ This directory contains source code files for the JTAG Full VME,
JTAG Slim VME, Slave SPI, I2C, and sysCONFIG embedded
systems for Lattice FPGA devices.
ispfpga/ This directory contains files for the Lattice Diamond software.
questasim/ This directory contains files for the QuestaSim for the Lattice
Diamond software.
synpbase/ This directory contains files for the Synplify Pro for Lattice
software.
Note
Platform Manager 2 devices require the Diamond Platform Designer tool. The
LatticeMico Development Tools must be installed along with Diamond in order to use
Platform Designer, Refer to “Installing LatticeMico Development Tools” on page 31.
The RUN file has a companion MD5 checksum file. The MD5 file permits you
to validate the integrity of the RUN file.
Note
In the Diamond installation, blank space characters are not allowed in the
installation directory path name.
You can type the following command to determine the required libraries.
% ./bin/lin64/check_systemlibrary_diamond.csh
libXt
libXext
libXrender
libXi
libXft
gstreamer1
cdparanoia-libs
opus
libtheora
iso-codes
libvisual
libglvnd-glx
libglvnd
gstreamer1-plugins-base
Installing the packages one by one requires the parent package to be installed
last. The package deepest in the tree must be installed first. For example,
libICE package depends on libSM. The libSM package must be installed prior
to libICE.
Two cyclic dependencies are found with Diamond, glibc and nss-softokn-
freebl, and glib2 and gamin. Installing these packages requires the two RPM's
to be specified on the same rpm command line.
Note
User needs to make sure libusb-0.1.so.4 and libXss.so.1 are installed in Red Hat 7.4,
and they are default installed in Red Hat 6.9 or earlier.
You can check the current permissions of the parallel port by navigating to the
/dev directory and doing a lookup on the port, as follows
% cd /dev ls –l parport0
There are two main ways to give read/write permission to the parallel port.
The first is to give read/write permission to the parallel port to anyone that has
access to that machine. The second is more secure, where only selected
individuals will have read/write permission to the parallel port that has access
to that machine. Below are the descriptions on how to setup parallel port zero
to have read/write permission.
There are two files to change on the machine to give selected individuals
read/write permission to parallel port zero. Both files are located in the /etc
directory. The two files are “group” and “nsswitch.conf”.
1. Log in as root.
2. Change directory to the /dev directory as follows:
% cd /dev <return>
3. Give read/write permission to parallel port zero (parport0) to owner and
group as follows:
% chmod 666 parport0 <return>
4. Change directory to the /etc directory as follows:
% cd /etc <return>
5. Using your favorite text editor, edit the file “group” as follows:
Add the login name for all the users you want to give read/write
permission for parallel port zero by adding the login names to the
“lp:x:7:” line. This line may vary from system to system. Two examples
are shown below.
Example 1: Change:
lp:x:7:
to:
lp:x:7:user_name1,user_name2,etc
Example 2: Change:
lp:x:7:daemon,lp
to:
lp:x:7:daemon,lp,user_name1,user_name2,etc
where user_name1, etc., are the login names for all the users you
want to give read/write permission for parallel port zero. Save the changes
and close the “group” file.
6. Using your favorite text editor, edit the file “nsswitch.conf” as follows:
Look at the group line. Ensure “files” is there.
For example:
group: files nis
7. Reboot for the changes to take effect.
Note
The USB cable must be disconnected from the PC when performing the installations.
You must have root access and be able to log in as a super user.
Note
User needs to download and install libusb-0.1.4-3.el7.x86_64.rpm first in Red Hat 7.
Note
You must reboot after creating the plugdev group in /etc/group. If plugdev already
exists in /etc/group, you can verify this by typing “id” on the Linux command line.
#Lattice
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="1134",ATTRS{idProduct}=="8001",MODE==
"0660",GROUP=="username",SYMLINK+="lattice-%n"
#FTDI
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",MODE==
"0666",GROUP=="username",SYMLINK+="ftdi-%n"
SUBSYSTEM=="usb",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",RUN+="/bin/sh -c
'basename %p > /sys/bus/usb/drivers/ftdi_sio/unbind'"
Note
Each SUBSYSTEM entry must be a single line, or split using the “\” line
continuation character.
Replace the username with your username in above rules.
Note
Note
Diamond software permits the creation of configuration bitstreams for all of Lattice
Semiconductor's FPGAs. However, a license is required for some devices.
To use the included Questa Lattice OEM simulator, you need a license with the
latticeqsim license feature. The licenses generated for use with the Modelsim
Lattice OEM simulator have the latticemsim license feature and must be updated
to the new feature to use Questa Lattice OEM. To start qsim, you need to set either
the LM_LICENSE_FILE or SALT_LICENSE_SERVER.
In order to change the LATTICE_LICENSE_FILE variable, you may need to edit
the .cshrc or .bashrc configuration file located in your home directory.
Obtaining a License
To register and license your Diamond software:
1. Obtain the host ID of your license server with the following command:
% <install_path>/diamond/3.14/ispfpga/bin/lin64/lmutil
lmhostid
2. Go to the Licensing section of the Lattice Semiconductor Web site
(www.latticesemi.com/license) and follow the on-screen instructions.
Note
Lattice Semiconductor supports licensing for a single server or three redundant
servers. If you are using three redundant servers, enter all three server host IDs
on the License File/Registration Form.
Edit the SERVER line by replacing the nodename with the host name and the
port ID (1710). The port ID, 1710 in this example, must be assigned a TCP/IP
port number that is not already in use on the server, so you might need to
change it.
Edit the Lattice DAEMON line, replacing daemon_path with the path to
Diamond software. For lmgrd V11, the path is:
% <install_path>/diamond/3.14/ispfpga/bin/lin64/lattice
Edit the QuestaSim DAEMON line, replacing daemon_path with the path to
QuestaSim Lattice Edition. For QuestaSim, the path is:
% <install_path>/diamond/3.14/questasim/license_server/saltd
When editing these lines, type them exactly as you received them. All entries
are case-sensitive.
Note
The encryption codes are in hexadecimal format (digits 0-9, and lower-case letters a-f
or upper-case letters A-F).
$HOME/.flexlmrc can be used to set LATTICE_LICENSE_FILE variable, and you
should do the cleanup if it’s necessary.
Type the following command on one line to start the license manager
daemon:
% <install_path>/diamond/3.14/ispfpga/bin/lin64/lmgrd
-l <install_path>/diamond/3.14/license/license.log
-c <install_path>/diamond/3.14/license/license.dat
Redirecting output to a log file is helpful when you debug licensing problems.
The -l switch tells the license manager to send its output to a log file
(license.log), and -c tells it which license to serve. The log file contains
information on the status of the server and the daemon and TCP port in use. It
also shows which users have checked out the license and the checkout time.
To install the License Manager to a different location, copy the files lattice,
lmgrd, and lmutil from the following directory:
% <install_path>/diamond/3.14/ispfpga/bin/lin64/
% <remote_server_install_path>/my_machine/lattice_license/
To gain access to the licenses on the remote license server, you need to set
the environment variable LM_LICENSE_FILE value to
license_port_number@linux_host_name.
Note
Lattice Diamond software uses the following network communication ports (TCP/IP
socket ports):
Port 80 – This is the standard HTTP web access port. Diamond uses this port in
the following cases:
When the Diamond software has updates from the Lattice web site:
% ping <license_server>
<install_path>/diamond/3.14/ispfpga/bin/lin64
The following is an example of using the lmutil lmstat command to check the
license file status:
With the diamond script, you can also run the following tools in stand-
alone mode.
To invoke stand-alone Power Calculator, run:
% diamond -pwc
To invoke stand-alone Reveal Analyzer, run:
% diamond -rva
To invoke stand-alone IPexpress, run:
% diamond -ipx
To invoke stand-alone Epic, run:
% diamond -epic
Refer to the online Help for more information about the Diamond GUI.
After that, you can run the executable files directly. For example, you can
invoke the Diamond GUI by:
% pnmain &
Note
The stand-alone Power Estimator requires a license. See “Licensing Lattice Diamond
Software” on page 19.
% set ROOT="<install_path>/powerestimator/3.14"
% set platform=lin64
% setenv LD_LIBRARY_PATH ${ROOT}/ispfpga/bin/
${platform}:${ROOT}/bin/${platform}
% set path=(${ROOT}/ispfpga/bin/${platform} ${ROOT}/bin/
${platform} $path)
% ${ROOT}/bin/${platform}/pwcwrap est &
Note
You can also use the Help > Check for Updates command in the Diamond window to
check for and download software update.
Note
You need the root privilege to install an RPM package.
Installing LatticeMico
Development Tools
System Requirements
Intel Pentium or Pentium-compatible PC with USB port
64-bit Red Hat Enterprise Linux version 7.9, 8.8 operating system
2 GB memory recommended for FPGAs
Approximately 436 megabytes of free disk space
1024 x 768 graphics display
Software Requirements
Perl version 5.8.0 or later. The following Perl modules are required:
XML::DOM
XML::Parser
XML::RegExp
Getop::Std
Scalar::Util
FindBin::Bin
These modules are normally found in the native version of Perl that
comes with Red Hat Linux.
PDF browser, such as Adobe Acrobat
Mozilla or Netscape browser (optional)
Note
The LatticeMico software is integrated into the Diamond installation now.
libuuid
libXt
libXext
libXrender
libXi
libXft
libXtst
alsa-lib
atk
nss
nss-util
nspr-devel
nspr
nss-softokn
sqlite
readline
ncurses-libs
gmp
pango
cairo
libthai
libpng
pixman
libXcomposite
libXfixes
libXdamage
libXinerama
libXrandr
compat-expat1
compat-libstdc++-33
cups-libs
avahi
audit-libs
avahi-libs
dbus-libs
libcap
libattr
libdaemon
libtiff
gnutls
keyutils-libs
krb5-libs
libgcrypt
libgpg-error
libtasn1
gtk2
jasper-libs
perl-XML-DOM
perl-XML-RegExp
Revision History
The following table gives the revision history for this document.