Commit e9c027ba authored by Andrey Filippov's avatar Andrey Filippov

after auto

parents 473a5121 627cce33
bin bin
tmp tmp
*.directory *.directory
#src/com/elphel/vdt/veditor
#_generated
#src/com/elphel/vdt/core/launching/VDTErrorParser.java
about_veditor.html about_veditor.html
ChangeLogVeditor.txt ChangeLogVeditor.txt
CONTRIBUTORS_VEDITOR.txt CONTRIBUTORS_VEDITOR.txt
cocotb cocotb
<<<<<<< HEAD
_generated_* _generated_*
src/com/elphel/vdt/veditor src/com/elphel/vdt/veditor
...@@ -16,3 +14,8 @@ src/com/elphel/vdt/core/launching/VDTErrorParser.java ...@@ -16,3 +14,8 @@ src/com/elphel/vdt/core/launching/VDTErrorParser.java
about_veditor.html about_veditor.html
ChangeLogVeditor.txt ChangeLogVeditor.txt
CONTRIBUTORS_VEDITOR.txt CONTRIBUTORS_VEDITOR.txt
=======
src/com/elphel/vdt/veditor
_generated
src/com/elphel/vdt/core/launching/VDTErrorParser.java
>>>>>>> 627cce33007b66f00dc7bdab8f1c567ad7577b23
VDT plugin VDT plugin
========== ==========
![VDT plugin screenshot](vdt_screenshot.png) ![VDT plugin screenshot](vdt_screenshot.png)
There is a [![Elphel video](http://community.elphel.com/pictures/icons/playbutton3-32.png) video tutorial](http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras) that shows installation of this plugin and related software. There is a [![Elphel video](https://community.elphel.com/pictures/icons/playbutton3-32.png) video tutorial](https://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras) that shows installation of this plugin and related software.
Table of Contents Table of Contents
----------------- -----------------
* [VDT plugin documentation](#vdt-plugin-documentation) * [VDT plugin documentation](#vdt-plugin-documentation)
* [Installation of VDT plugin and related programs](#installation-of-vdt-plugin-and-related-programs) * [Installation of VDT plugin and related programs](#installation-of-vdt-plugin-and-related-programs)
* [Installation of Xilinx tools](#installation-of-xilinx-tools) * [Installation of Xilinx tools](#installation-of-xilinx-tools)
* [Programs and libraries installed from (K)ubuntu repositories](#programs-and-libraries-installed-from-kubuntu-repositories) * [Programs and libraries installed from (K)ubuntu repositories](#programs-and-libraries-installed-from-kubuntu-repositories)
* [GtkWave (3.3.58-1)](#gtkwave-3358-1) * [GtkWave (3.3.58-1)](#gtkwave-3358-1)
* [other programs needed for building Icarus Verilog](#other-programs-needed-for-building-icarus-verilog) * [other programs needed for building Icarus Verilog](#other-programs-needed-for-building-icarus-verilog)
* [Java JDK](#java-jdk) * [For simulation with Cocotb](#for-simulation-with-cocotb)
* [Icarus Verilog](#icarus-verilog) * [Java JDK](#java-jdk)
* [JavaCC](#javacc) * [Icarus Verilog](#icarus-verilog)
* [Eclipse IDE](#eclipse-ide) * [JavaCC](#javacc)
* [Installation of VDT plugin itself](#installation-of-vdt-plugin-itself) * [Eclipse IDE](#eclipse-ide)
* [Clone VDT plugin source code](#clone-vdt-plugin-source-code) * [Installation of VDT plugin itself](#installation-of-vdt-plugin-itself)
* [Run VEditor installation/patch script from within the top directory of vdt-plugin](#run-veditor-installationpatch-script-from-within-the-top-directory-of-vdt-plugin) * [Clone VDT plugin source code](#clone-vdt-plugin-source-code)
* [Import the VDT plugin project into the Eclipse workspace.](#import-the-vdt-plugin-project-into-the-eclipse-workspace) * [Run VEditor installation/patch script from within the top directory of vdt-plugin](#run-veditor-installationpatch-script-from-within-the-top-directory-of-vdt-plugin)
* [Configuring JavaCC (optional)](#configuring-javacc-optional) * [Import the VDT plugin project into the Eclipse workspace.](#import-the-vdt-plugin-project-into-the-eclipse-workspace)
* [Building and running VDT](#building-and-running-vdt) * [Configuring JavaCC (optional)](#configuring-javacc-optional)
* [Import and configuration of the sample project in VDT](#import-and-configuration-of-the-sample-project-in-vdt) * [Building and running VDT](#building-and-running-vdt)
* [Import x393 project](#import-x393-project) * [Import and configuration of the sample project in VDT](#import-and-configuration-of-the-sample-project-in-vdt)
* [Configuration of VDT for x393 project](#configuration-of-vdt-for-x393-project) * [Import x393 project](#import-x393-project)
* [Configure access to the server with Xilinx tools](#configure-access-to-the-server-with-xilinx-tools) * [Configuration of VDT for x393 project](#configuration-of-vdt-for-x393-project)
* [Copy unisims library to the local directory](#copy-unisims-library-to-the-local-directory) * [Configure access to the server with Xilinx tools](#configure-access-to-the-server-with-xilinx-tools)
* [Patch primitive(s) to work with Icarus Verilog](#patch-primitives-to-work-with-icarus-verilog) * [Copy unisims library to the local directory](#copy-unisims-library-to-the-local-directory)
* [Simulating x393 project with Icarus Verilog](#simulating-x393-project-with-icarus-verilog) * [Patch primitive(s) to work with Icarus Verilog](#patch-primitives-to-work-with-icarus-verilog)
* [Simulating x393 project with Icarus Verilog](#simulating-x393-project-with-icarus-verilog)
##VDT plugin documentation
Documentation is available in a separate [vdt_docs](https://github.com/Elphel/vdt-docs) repository. ## VDT plugin documentation
Here are some [screenshots](https://github.com/Elphel/vdt-docs/blob/master/VDT-UserManualAddendum.pdf) Documentation is available in a separate [vdt_docs](https://git.elphel.com/Elphel/vdt-docs) repository.
##Installation of VDT plugin and related programs Here are some [screenshots](https://git.elphel.com/Elphel/vdt-docs/blob/master/VDT-UserManualAddendum.pdf)
VDT plugin for Eclipse is designed to integrate different tools for Verilog-based FPGA design. ## Installation of VDT plugin and related programs
Currently it supports only GNU/Linux operating system and tool specification file support VDT plugin for Eclipse is designed to integrate different tools for Verilog-based FPGA design.
Icarus Verilog simulator and Xilinx ISE and Vivado Webpack design suites. It also works with Altera Currently it supports only GNU/Linux operating system and tool specification file support
Quartus tools for synthesising FPGA code for Altera devices. Icarus Verilog simulator and Xilinx ISE and Vivado Webpack design suites. It also works with Altera
Below is detailed step-by-step installation procedure for Kubuntu 14.04 LTS (other GNU/Linux systems Quartus tools for synthesising FPGA code for Altera devices.
should not require significantly different installation). Latest tested versions of the programs Below is detailed step-by-step installation procedure for Kubuntu 14.04 LTS (other GNU/Linux systems
are also specified. should not require significantly different installation). Latest tested versions of the programs
### Installation of Xilinx tools are also specified.
Xilinx Webpack software (free for download) needs to be installed on a GNU/Linux computer according ### Installation of Xilinx tools
to the manufacturer recommendations on the same computer as the rest of the software or (preferably) Xilinx Webpack software (free for download) needs to be installed on a GNU/Linux computer according
on a separate system. VDT uses ssh and rsync access to the server running tools, the server can be to the manufacturer recommendations on the same computer as the rest of the software or (preferably)
in the same LAN or accessed over the WAN. Both ISE and Vivado tools are supported. on a separate system. VDT uses ssh and rsync access to the server running tools, the server can be
### Programs and libraries installed from (K)ubuntu repositories in the same LAN or accessed over the WAN. Both ISE and Vivado tools are supported.
#### GtkWave (3.3.58-1) ### Programs and libraries installed from (K)ubuntu repositories
``` #### GtkWave (3.3.58-1)
sudo apt-get install gtkwave ```
``` sudo apt-get install gtkwave
#### other programs needed for building Icarus Verilog ```
``` #### other programs needed for building Icarus Verilog
sudo apt-get install autoconf gperf flex bison g++ zlib1g-dev libbz2-dev git ```
``` sudo apt-get install autoconf gperf flex bison g++ zlib1g-dev libbz2-dev git
#### Java JDK ```
For most tasks JRE is sufficient, but if you would like to be able to modify and recompile Verilog #### For simulation with Cocotb
language parsing you will need java compiler that comes with the full JDK. ```
sudo apt-get install python2.7-dev
``` ```
sudo apt-get install default-jdk
``` #### Java JDK
For most tasks JRE is sufficient, but if you would like to be able to modify and recompile Verilog
### Icarus Verilog language parsing you will need java compiler that comes with the full JDK.
Icarus Verilog has to be compiled from the source code that is available in git repository:
``` ```
git clone git://github.com/steveicarus/iverilog.git sudo apt-get install default-jdk
cd iverilog ```
sh autoconf.sh
./configure ### Icarus Verilog
``` Icarus Verilog has to be compiled from the source code that is available in git repository:
Update: Removed instructions to modify Icarus code - current version does not need ```
them anymore, so just proceed with git clone git://github.com/steveicarus/iverilog.git
``` cd iverilog
make sh autoconf.sh
sudo make install ./configure
``` ```
Default VDT configuration assumes Icarus is installed to the /usr/local/bin Update: Removed instructions to modify Icarus code - current version does not need
them anymore, so just proceed with
### JavaCC ```
Java compiler compiler is optional, as VDT provide both Verilog grammar source files make
and generated Java files. It is needed only if you need to change and recompile these sudo make install
files (for example adding support to not yet covered Verilog features). ```
Default VDT configuration assumes Icarus is installed to the /usr/local/bin
[JavaCC]( https://java.net/projects/javacc) can be downloaded as
[javacc-6.0.zip]( https://java.net/projects/javacc/downloads/download/javacc-6.0.zip) ### JavaCC
Unzip it in any convenient location - this location will be provided to Eclipse later. Java compiler compiler is optional, as VDT provide both Verilog grammar source files
and generated Java files. It is needed only if you need to change and recompile these
### Eclipse IDE files (for example adding support to not yet covered Verilog features).
You will need _Eclipse IDE for Java EE Developers_ (capable of plugin development), [JavaCC]( https://java.net/projects/javacc) can be downloaded as
latest tested version is Mars (eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz). VDT plugin [javacc-6.0.zip]( https://java.net/projects/javacc/downloads/download/javacc-6.0.zip)
is experimental and I would recommend to have a separate (from your other development) Unzip it in any convenient location - this location will be provided to Eclipse later.
installation. VDT uses modified version of [VEditor](http://sourceforge.net/projects/veditor/)
and any other versions of VEditor installed will conflict with VDT. ### Eclipse IDE
There are still issues with GTK3 (refresh of the windows content, animated icons), all seems You will need _Eclipse IDE for Java EE Developers_ (capable of plugin development),
to work if Gtk3 is disabled (Gtk2 used instead) by adding the following 2 lines in the eclipse.ini latest tested version is Mars (eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz). VDT plugin
file (it is in the same directory as eclipse executable) . is experimental and I would recommend to have a separate (from your other development)
``` installation. VDT uses modified version of [VEditor](http://sourceforge.net/projects/veditor/)
--launcher.GTK_version and any other versions of VEditor installed will conflict with VDT.
2
``` There are still issues with GTK3 (refresh of the windows content, animated icons), all seems
are added just before line to work if Gtk3 is disabled (Gtk2 used instead) by adding the following 2 lines in the eclipse.ini
``` file (it is in the same directory as eclipse executable) .
--launcher.appendVmargs. ```
``` --launcher.GTK_version
2
Additionally a fix is required to make menu tooltips visible (https://github.com/dirruk1/gnome-breeze/issues/7#issuecomment-109325330) : ```
«go to system settings > color > options and make sure "apply colors to non-Qt colors" is switched off, then log out and back in and see if the colors are normal. The tooltips are not supposed to have a light background.» are added just before line
```
__Update for Eclipse Neon__: Tested, instructions above are still valid (including using GTK2 instead of GTK3), --launcher.appendVmargs.
in the installer the needed _Eclipse IDE for Java EE Developers_ is __the second choice__ in the menu. You also need to ```
remove the following line in eclipse.ini. By default Neon installs executable and ini file to ~/eclipse/jee-neon/:
Additionally a fix is required to make menu tooltips visible (https://github.com/dirruk1/gnome-breeze/issues/7#issuecomment-109325330) :
-XX:+UseStringDeduplication «go to system settings > color > options and make sure "apply colors to non-Qt colors" is switched off, then log out and back in and see if the colors are normal. The tooltips are not supposed to have a light background.»
As it is not recognized on GNU/Linux (at least on my installation) and causes a crash at startup. __Update for Eclipse Neon__: Tested, instructions above are still valid (including using GTK2 instead of GTK3),
in the installer the needed _Eclipse IDE for Java EE Developers_ is __the second choice__ in the menu. You also need to
### Installation of VDT plugin itself remove the following line in eclipse.ini. By default Neon installs executable and ini file to ~/eclipse/jee-neon/:
VDT plugin uses modified VEditor plugin for Eclipse and because of the license incompatibility -XX:+UseStringDeduplication
(Eclipse Public License v1.0 for VEditor and GNU General Public License v3.0+ for VDT plugin)
it is not possible to distribute a pre-compiled version (.jar file), so the plugin code has to be As it is not recognized on GNU/Linux (at least on my installation) and causes a crash at startup.
merged (using provided script) and compiled/built as Eclipse plugin project.
####Clone VDT plugin source code ### Installation of VDT plugin itself
```
git clone https://github.com/Elphel/vdt-plugin.git VDT plugin uses modified VEditor plugin for Eclipse and because of the license incompatibility
``` (Eclipse Public License v1.0 for VEditor and GNU General Public License v3.0+ for VDT plugin)
###Run VEditor installation/patch script from within the top directory of vdt-plugin it is not possible to distribute a pre-compiled version (.jar file), so the plugin code has to be
``` merged (using provided script) and compiled/built as Eclipse plugin project.
./install_and_patch_veditor.sh #### Clone VDT plugin source code
``` ```
This will clone the original VEditor source tree as tmp/unmodified_veditor_1_2_0_clone, git clone https://git.elphel.com/Elphel/vdt-plugin.git
re-organize files to match VDT plugin code tree, apply patch and copy the produced files ```
to VDT project locations (most under src/com/elphel/vdt/veditor and _generated), these ### Run VEditor installation/patch script from within the top directory of vdt-plugin
files/directories are listed in .gitignore . When VEditor-related part of the VDT code ```
will be changed (and so the vdt-veditor.patch) you will need to run ./install_and_patch_veditor.sh
./install_and_patch_veditor.sh again ```
This will clone the original VEditor source tree as tmp/unmodified_veditor_1_2_0_clone,
####Import the VDT plugin project into the Eclipse workspace. re-organize files to match VDT plugin code tree, apply patch and copy the produced files
At this stage I hit GTK bug that caused Eclipse to crash, working solution is described to VDT project locations (most under src/com/elphel/vdt/veditor and _generated), these
in https://bugs.kde.org/show_bug.cgi?id=339174 : files/directories are listed in .gitignore . When VEditor-related part of the VDT code
For oxygen, edit the normally already existing file will be changed (and so the vdt-veditor.patch) you will need to run
**/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc** and change **GtkComboBox::appears-as-list = 1** ./install_and_patch_veditor.sh again
into **GtkComboBox::appears-as-list = 0**
``` #### Import the VDT plugin project into the Eclipse workspace.
File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned VDT At this stage I hit GTK bug that caused Eclipse to crash, working solution is described
Import Existing Projects (wizard selection) in https://bugs.kde.org/show_bug.cgi?id=339174 :
``` For oxygen, edit the normally already existing file
Keep both **parsers** and **vdt** checked and press **Finish** **/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc** and change **GtkComboBox::appears-as-list = 1**
into **GtkComboBox::appears-as-list = 0**
####Configuring JavaCC (optional) ```
In the **Project Explorer** window, expand the **vdt** project folder, right-click File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned VDT
the **buildjavacc.xml** file and select **Properties**. Import Existing Projects (wizard selection)
In the new dialog window select **Run/Debug Settings**, press **New** and agree to ```
the only suggested option: **Ant Build**. Keep both **parsers** and **vdt** checked and press **Finish**
Then Select **Environment** tab and enter two variables by pressing **New** and then #### Configuring JavaCC (optional)
In the **Project Explorer** window, expand the **vdt** project folder, right-click
Name: **ECLIPSE_HOME** the **buildjavacc.xml** file and select **Properties**.
In the new dialog window select **Run/Debug Settings**, press **New** and agree to
Value: Folder path that contains Eclipse executable the only suggested option: **Ant Build**.
Name: **JAVACC_HOME** Then Select **Environment** tab and enter two variables by pressing **New** and then
Value: Folder path where **javacc-6.0.zip** was unpacked (ending with /javacc-6.0). Name: **ECLIPSE_HOME**
####Building and running VDT Value: Folder path that contains Eclipse executable
In the "Project Explorer" window, expand the 'vdt' project folder and double-click (open)
the **plugin.xml** file. Name: **JAVACC_HOME**
Select the **Overview** tab at the bottom of the appeared window. Value: Folder path where **javacc-6.0.zip** was unpacked (ending with /javacc-6.0).
Under the **Testing** label, click the **Launch an Eclipe application** link. #### Building and running VDT
In the "Project Explorer" window, expand the 'vdt' project folder and double-click (open)
You may also use "Run Eclipse Application" (green triangle) or "Debug Eclipse Application" the **plugin.xml** file.
(green bug) buttons on Eclipse toolbar to launch
A new instance of Eclipse will open, this new Eclipse will have VDT plugin activated. Select the **Overview** tab at the bottom of the appeared window.
You may minimize the original Eclipse window at this point (it can be used to monitor
and fix plugin errors). Next you may create a new FPGA development project or import Under the **Testing** label, click the **Launch an Eclipe application** link.
an existing one. We will use DDR3 memory interface project as an example.
## Import and configuration of the sample project in VDT You may also use "Run Eclipse Application" (green triangle) or "Debug Eclipse Application"
Sample project is a DDR3 memory interface for Xilinx Zynq SOC that does not depend on (green bug) buttons on Eclipse toolbar to launch
undocumented featuers and encrypted modules and can be simulated with the Free Software A new instance of Eclipse will open, this new Eclipse will have VDT plugin activated.
tools. You may minimize the original Eclipse window at this point (it can be used to monitor
### Import x393 project and fix plugin errors). Next you may create a new FPGA development project or import
You may already have it if you installed other software for Elphel NC393 camera development, if that an existing one. We will use DDR3 memory interface project as an example.
is the case you can skip the next step and use ~/git/elphel393/fpga-elphel/x393/ ## Import and configuration of the sample project in VDT
``` Sample project is a DDR3 memory interface for Xilinx Zynq SOC that does not depend on
git clone https://github.com/Elphel/x393.git undocumented featuers and encrypted modules and can be simulated with the Free Software
cd x393 tools.
./INIT_PROJECT ### Import x393 project
``` You may already have it if you installed other software for Elphel NC393 camera development, if that
The last command copies Eclipse .project and .pydevproject files to the working directory. is the case you can skip the next step and use ~/git/elphel393/fpga-elphel/x393/
```
From the Eclipse instance that runs VDT plugin (not the one with the VDT source code) git clone https://git.elphel.com/Elphel/x393.git
use the same steps as for importing VDT plugin code (described above): cd x393
``` ./INIT_PROJECT
File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned x393
Import Existing Projects (wizard selection) ```
``` Python program used on the target and during Cocotb simulation requires Python numpy module,
Keep both **x393** and **py393** checked and press **Finish** on Ubuntu you may install it with
```
### Configuration of VDT for x393 project sudo apt-get install python-numpy
The cloned x393 project does not include Verilog modules of Xilinx primitives that are ```
required even for simulation of the design. The required library (unisims) is included
with the Xilinx Vivado software and the proprietary license does not allow to redistribute The last command copies Eclipse .project and .pydevproject files to the working directory.
it. VDT provides means to copy this library from your Vivado installation to the project,
So for the next step you need Xilinx software to be installed on the same or different From the Eclipse instance that runs VDT plugin (not the one with the VDT source code)
computer running GNU/Linux. use the same steps as for importing VDT plugin code (described above):
```
Open the top module (x393.v) in the Editor (or any othe Verilog file of the project) File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned x393
Import Existing Projects (wizard selection)
Open "Verilog/VHDL' perspective: ```
``` Keep both **x393** and **py393** checked and press **Finish**
Window->Open Perspective->Other->Verilog/VHDL
``` ### Configuration of VDT for x393 project
It should look as shown on screenshots in [VDT-UserManualAddendum.pdf](https://github.com/Elphel/vdt-docs/blob/master/VDT-UserManualAddendum.pdf?raw=true), The cloned x393 project does not include Verilog modules of Xilinx primitives that are
with bottom-left panel showind "Design Menu" and FPGA-related tools required even for simulation of the design. The required library (unisims) is included
with the Xilinx Vivado software and the proprietary license does not allow to redistribute
#### Configure access to the server with Xilinx tools it. VDT provides means to copy this library from your Vivado installation to the project,
In the "Design menu" panel select "Package" icon, it will open a dialog with "Xilinx server setup" So for the next step you need Xilinx software to be installed on the same or different
tab active. computer running GNU/Linux.
If you have Xilinx tools installed on the same computer as VDT, leave the default value for Open the top module (x393.v) in the Editor (or any othe Verilog file of the project)
*Remote Host IP* (localhost) and *Remote user name* (your current login name).
Open "Verilog/VHDL' perspective:
If you are using phisically different computer - change the both fields as needed. ```
Window->Open Perspective->Other->Verilog/VHDL
You may also change Vivado Release to the current one, installation directory (if different from the ```
default) and configure same parameters for Xilinx ISE if you plan to use it (VDT supports both) It should look as shown on screenshots in [VDT-UserManualAddendum.pdf](https://git.elphel.com/Elphel/vdt-docs/blob/master/VDT-UserManualAddendum.pdf?raw=true),
with bottom-left panel showind "Design Menu" and FPGA-related tools
Next you need to setup password-less access to the tools server based on the key pairs:
#### Configure access to the server with Xilinx tools
Generate ssh key (if you do not have it already). Use command line tool or expand In the "Design menu" panel select "Package" icon, it will open a dialog with "Xilinx server setup"
*Vivado Tools* in the design menu, right-click *Start remote Vivado session* and select tab active.
*Generate public key* (or use a key icon on the Design menu toolbar)
If you have Xilinx tools installed on the same computer as VDT, leave the default value for
Send this key to the server - you may either use a command-line program *ssh-copy-id* or right-click *Remote Host IP* (localhost) and *Remote user name* (your current login name).
*Start remote Vivado session* and select *Setup connection to user@server* (tools icon on the toolbar).
This operation requires you to enter the password for the server and this requires a separate program If you are using phisically different computer - change the both fields as needed.
to be installed, you can do this with
``` You may also change Vivado Release to the current one, installation directory (if different from the
sudo apt-get install ssh-askpass default) and configure same parameters for Xilinx ISE if you plan to use it (VDT supports both)
```
Update: In Kubuntu 16.04 ssh-askpass is not required, there is a similar program available in base Next you need to setup password-less access to the tools server based on the key pairs:
installation. Just pay attention that the first pop-up window will ask not for the password, but for
"yes". Generate ssh key (if you do not have it already). Use command line tool or expand
*Vivado Tools* in the design menu, right-click *Start remote Vivado session* and select
If ssh will not find *ssh-askpass* or a similar program, it will fail and Eclipse console output will *Generate public key* (or use a key icon on the Design menu toolbar)
output the resolution suggestions.
Send this key to the server - you may either use a command-line program *ssh-copy-id* or right-click
With ssh-askpass a separate dialog window will open, likely the first question will be not the password *Start remote Vivado session* and select *Setup connection to user@server* (tools icon on the toolbar).
itself, but your permission to connect to an unknown host, so just enter *yes* there. This operation requires you to enter the password for the server and this requires a separate program
to be installed, you can do this with
If everything was configured correctly you may try opening remote Vivado session (later it will ```
happen automatically when needed): sudo apt-get install ssh-askpass
```
Right-click *Start remote Vivado session* and select *Launch Vivado* (door with entering green arrow icon Update: In Kubuntu 16.04 ssh-askpass is not required, there is a similar program available in base
on the toolbar) installation. Just pay attention that the first pop-up window will ask not for the password, but for
"yes".
If everything is correct, in Eclipse console you will see
``` If ssh will not find *ssh-askpass* or a similar program, it will fail and Eclipse console output will
puts "@@FINISH@@" output the resolution suggestions.
```
and a few secods later server response ending with With ssh-askpass a separate dialog window will open, likely the first question will be not the password
``` itself, but your permission to connect to an unknown host, so just enter *yes* there.
@@FINISH@@
``` If everything was configured correctly you may try opening remote Vivado session (later it will
@@FINISH@@ sequence is just a marker to know server successfully finished the requested command happen automatically when needed):
*Start remote Vivado session* shold now show pulsating green dot to the right of it and the console is
open for both VDT communication and you can also manually enter TCL commands as covered in Xilinx Vivado Right-click *Start remote Vivado session* and select *Launch Vivado* (door with entering green arrow icon
manuals. on the toolbar)
#### Copy unisims library to the local directory
``` If everything is correct, in Eclipse console you will see
Vivado Tools -> Vivado utilities -> Copy Vivado primitives library to the local project ```
``` puts "@@FINISH@@"
#### Patch primitive(s) to work with Icarus Verilog ```
Some of the Xilinx primitives can not be simulated correctly with Icarus Verilog, we will add more patches and a few secods later server response ending with
when we'll hit particular problems, for x393 only one file needs to be patched - OSERDESE1.v ```
@@FINISH@@
Run patch command from the unisms subdirectory of the x393 project : ```
```bash @@FINISH@@ sequence is just a marker to know server successfully finished the requested command
patch -p1 < ../unisims_patches/OSERDESE1.diff *Start remote Vivado session* shold now show pulsating green dot to the right of it and the console is
``` open for both VDT communication and you can also manually enter TCL commands as covered in Xilinx Vivado
In x393_sata project this command will be manuals.
```bash #### Copy unisims library to the local directory
patch -p1 < ../x393/unisims_patches/OSERDESE1.diff ```
``` Vivado Tools -> Vivado utilities -> Copy Vivado primitives library to the local project
After new files are added the project needs to be refreshed - you may click on the project name in the navigator window ```
and press F5 key or right-click -> Refresh #### Patch primitive(s) to work with Icarus Verilog
Some of the Xilinx primitives can not be simulated correctly with Icarus Verilog, we will add more patches
There are many files in the library so refreshing make take a while. when we'll hit particular problems, for x393 only one file needs to be patched - OSERDESE1.v
## Simulating x393 project with Icarus Verilog Run patch command from the unisms subdirectory of the x393 project :
``` ```bash
Design Menu -> Verilog Development tools -> Icarus Verilog simulator patch -p1 < ../unisims_patches/OSERDESE1.diff
``` ```
If you get many errors "Unknown module type", you may need to refresh the project (press F5) after adding unisims library In x393_sata project this command will be
files. ```bash
patch -p1 < ../x393/unisims_patches/OSERDESE1.diff
If everything will work correctly, Icarus will compile and simulate the design (some warnings in the beginning are not fixed yet). After that GTKWave will open the simulation results. ```
After new files are added the project needs to be refreshed - you may click on the project name in the navigator window
In the case of problems you may get more verbose output in the console if you right-click on the and press F5 key or right-click -> Refresh
*Icarus Verilog Simulator*, select *Tool parameters*, open *Options tab* and check *Show output
with no errors/warnings* There are many files in the library so refreshing make take a while.
## Simulating x393 project with Icarus Verilog
```
Design Menu -> Verilog Development tools -> Icarus Verilog simulator
```
If you get many errors "Unknown module type", you may need to refresh the project (press F5) after adding unisims library
files.
If everything will work correctly, Icarus will compile and simulate the design (some warnings in the beginning are not fixed yet). After that GTKWave will open the simulation results.
In the case of problems you may get more verbose output in the console if you right-click on the
*Icarus Verilog Simulator*, select *Tool parameters*, open *Options tab* and check *Show output
with no errors/warnings*
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment