.
vdt-plugin-altera/META-INF/ 0000775 0000000 0000000 00000000000 12551525065 0015563 5 ustar 00root root 0000000 0000000 vdt-plugin-altera/META-INF/MANIFEST.MF 0000664 0000000 0000000 00000024001 12551525065 0017212 0 ustar 00root root 0000000 0000000 Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.elphel.vdt.veditor; singleton:=true
Bundle-Version: 2.0
Bundle-ClassPath: veditor.jar
Bundle-Activator: com.elphel.vdt.veditor.VerilogPlugin
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Export-Package:
com.elphel.vdt;uses:="org.eclipse.core.runtime,org.eclipse.core.resources",
com.elphel.vdt.core;uses:="org.eclipse.core.runtime,org.eclipse.core.resources",
com.elphel.vdt.core.launching;
uses:="org.eclipse.debug.core,
org.eclipse.core.runtime,
com.elphel.vdt.core.tools.params,
org.eclipse.core.resources,
org.eclipse.debug.core.model",
com.elphel.vdt.core.options;
uses:="org.eclipse.jface.preference,
com.elphel.vdt.core.tools.params,
org.eclipse.core.resources,
com.elphel.vdt.core.tools.params.types,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools;
uses:="com.elphel.vdt.core.tools.menu,
com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.config;uses:="com.elphel.vdt.core.tools.menu,com.elphel.vdt.core.tools.params,com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.config.xml;
uses:="com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params.conditions,
org.w3c.dom,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.contexts;
uses:="com.elphel.vdt.core.tools.menu,
com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params,
com.elphel.vdt.core.tools.params.conditions",
com.elphel.vdt.core.tools.generators;uses:="com.elphel.vdt.core.tools.params",
com.elphel.vdt.core.tools.menu;uses:="com.elphel.vdt.core.tools,com.elphel.vdt.core.tools.config",
com.elphel.vdt.core.tools.params;
uses:="com.elphel.vdt.core.tools,
com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params.conditions,
com.elphel.vdt.core.tools.params.types,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.params.conditions;uses:="com.elphel.vdt.core.tools,com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.params.recognizers;uses:="com.elphel.vdt.core.tools.generators,com.elphel.vdt.core.tools.params,com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.core.tools.params.types;uses:="com.elphel.vdt.core.tools.params",
com.elphel.vdt.ui;
uses:="org.eclipse.core.runtime,
org.eclipse.jface.resource,
org.eclipse.swt.graphics,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.ui.dialogs;
uses:="org.eclipse.core.runtime,
com.elphel.vdt.core.tools.menu,
com.elphel.vdt.core.tools.params,
org.eclipse.swt.graphics,
org.eclipse.jface.viewers,
org.eclipse.ui.dialogs,
org.eclipse.swt.widgets,
com.elphel.vdt.ui.tools,
com.elphel.vdt.core.tools.contexts,
org.eclipse.jface.dialogs",
com.elphel.vdt.ui.launching;
uses:="org.eclipse.debug.core,
org.eclipse.jface.action,
org.eclipse.debug.ui,
org.eclipse.debug.ui.actions,
com.elphel.vdt.core.tools.params,
org.eclipse.ui,
org.eclipse.jface.viewers,
com.elphel.vdt.ui.tools",
com.elphel.vdt.ui.options;
uses:="org.eclipse.jface.preference,
org.eclipse.jface.resource,
org.eclipse.ui,
com.elphel.vdt.core.tools.params,
org.eclipse.core.resources,
com.elphel.vdt.ui.preferences,
org.eclipse.swt.widgets,
org.eclipse.jface.dialogs,
com.elphel.vdt.ui.options.component,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.ui.options.component;
uses:="org.eclipse.jface.preference,
org.eclipse.swt.events,
com.elphel.vdt.core.tools.params,
com.elphel.vdt.core.options,
org.eclipse.swt.graphics,
com.elphel.vdt.ui.dialogs,
org.eclipse.swt.widgets",
com.elphel.vdt.ui.options.fieldeditor;
uses:="org.eclipse.jface.preference,
com.elphel.vdt.core.tools.params,
org.eclipse.swt.widgets,
com.elphel.vdt.core.tools.contexts",
com.elphel.vdt.ui.options.project;
uses:="org.eclipse.jface.preference,
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.ui.dialogs,
org.eclipse.swt.widgets",
com.elphel.vdt.ui.preferences;
uses:="org.eclipse.jface.preference,
org.eclipse.jface.resource,
com.elphel.vdt.core.tools.params,
org.eclipse.ui,
org.eclipse.swt.widgets,
org.eclipse.core.runtime.preferences,
com.elphel.vdt.ui.tools,
org.eclipse.ui.forms.widgets",
com.elphel.vdt.ui.texts,
com.elphel.vdt.ui.tools;
uses:="org.eclipse.debug.core,
org.eclipse.debug.ui,
com.elphel.vdt.core.tools,
com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params,
org.eclipse.core.resources,
org.eclipse.swt.widgets",
com.elphel.vdt.ui.tools.params;
uses:="org.eclipse.debug.core,
org.eclipse.swt.events,
com.elphel.vdt.core.tools.params,
org.eclipse.swt.widgets,
com.elphel.vdt.ui.tools,
com.elphel.vdt.ui.options.component",
com.elphel.vdt.ui.variables;
uses:="org.eclipse.ui,
org.eclipse.core.resources,
org.eclipse.jface.viewers,
org.eclipse.swt.widgets,
org.eclipse.core.variables",
com.elphel.vdt.ui.views;
uses:="com.elphel.vdt.core.tools.config,
com.elphel.vdt.core.tools.params,
org.eclipse.ui,
org.eclipse.ui.part,
com.elphel.vdt.core.tools.contexts,
org.eclipse.jface.action,
com.elphel.vdt.core.tools.menu,
org.eclipse.core.resources,
org.eclipse.jface.viewers,
org.eclipse.swt.graphics,
org.eclipse.swt.widgets",
com.elphel.vdt.ui.wizards;
uses:="org.eclipse.jface.action,
org.eclipse.jface.wizard,
org.eclipse.ui,
org.eclipse.jface.viewers",
com.elphel.vdt.ui.wizards.module;
uses:="org.eclipse.jface.wizard,
org.eclipse.jface.operation,
org.eclipse.core.runtime,
org.eclipse.swt.events,
org.eclipse.ui,
org.eclipse.core.resources,
org.eclipse.jface.viewers,
com.elphel.vdt.ui.wizards,
org.eclipse.swt.widgets",
com.elphel.vdt.ui.wizards.project;
uses:="org.eclipse.jface.wizard,
org.eclipse.jface.operation,
org.eclipse.core.runtime,
com.elphel.vdt.core.tools.menu,
org.eclipse.ui,
org.eclipse.swt.events,
org.eclipse.core.resources,
org.eclipse.jface.viewers,
com.elphel.vdt.ui.wizards,
org.eclipse.swt.widgets",
com.elphel.vdt.util;uses:="org.eclipse.swt.widgets",
com.elphel.vdt.veditor;
uses:="org.eclipse.core.runtime,
org.eclipse.jface.resource,
org.eclipse.ui.console,
org.eclipse.ui,
org.eclipse.ui.plugin,
org.eclipse.jface.text.templates,
org.eclipse.jface.preference,
org.eclipse.core.resources,
org.eclipse.jface.text.templates.persistence,
org.eclipse.swt.graphics,
org.eclipse.ui.editors.text.templates,
org.eclipse.swt.widgets",
com.elphel.vdt.veditor.actions;
uses:="org.eclipse.jface.action,
org.eclipse.jface.text.source,
org.eclipse.jface.resource,
com.elphel.vdt.veditor.editor,
org.eclipse.ui,
org.eclipse.jface.viewers,
org.eclipse.swt.widgets",
com.elphel.vdt.veditor.builder;
uses:="org.eclipse.core.runtime,
org.eclipse.ui.console,
org.eclipse.core.resources,
org.eclipse.ui.dialogs,
org.eclipse.swt.widgets,
org.eclipse.jface.dialogs",
com.elphel.vdt.veditor.document;
uses:="org.eclipse.jface.text,
org.eclipse.core.runtime,
com.elphel.vdt.veditor.parser,
com.elphel.vdt.veditor.editor.scanner,
org.eclipse.core.resources,
org.eclipse.ui.editors.text",
com.elphel.vdt.veditor.editor;
uses:="org.eclipse.jface.text,
org.eclipse.jface.text.source,
org.eclipse.core.runtime,
com.elphel.vdt.veditor.editor.completionProposals,
com.elphel.vdt.veditor.parser,
com.elphel.vdt.veditor.parser.vhdl,
com.elphel.vdt.veditor.document,
org.eclipse.ui,
org.eclipse.ui.part,
org.eclipse.jface.text.contentassist,
org.eclipse.jface.text.templates,
org.eclipse.jface.action,
org.eclipse.ui.views.contentoutline,
org.eclipse.jface.text.presentation,
com.elphel.vdt.veditor.editor.scanner,
org.eclipse.core.resources,
org.eclipse.jface.viewers,
org.eclipse.swt.graphics,
org.eclipse.swt.widgets,
org.eclipse.ui.editors.text,
org.eclipse.jface.text.source.projection",
com.elphel.vdt.veditor.editor.completionProposals;
uses:="org.eclipse.jface.text,
com.elphel.vdt.veditor.parser,
com.elphel.vdt.veditor.parser.vhdl,
com.elphel.vdt.veditor.document,
org.eclipse.core.resources,
org.eclipse.swt.graphics,
org.eclipse.jface.text.contentassist,
org.eclipse.jface.text.templates",
com.elphel.vdt.veditor.editor.scanner;uses:="com.elphel.vdt.veditor.editor,org.eclipse.jface.text.rules",
com.elphel.vdt.veditor.editor.scanner.verilog;uses:="com.elphel.vdt.veditor.editor.scanner,org.eclipse.jface.text.rules",
com.elphel.vdt.veditor.editor.scanner.vhdl;uses:="com.elphel.vdt.veditor.editor.scanner,org.eclipse.jface.text.rules",
com.elphel.vdt.veditor.log;
uses:="org.eclipse.jface.text,
org.eclipse.core.runtime,
org.eclipse.jface.text.source,
org.eclipse.ui.editors.text",
com.elphel.vdt.veditor.parser,
com.elphel.vdt.veditor.parser.verilog,
com.elphel.vdt.veditor.parser.vhdl,
com.elphel.vdt.veditor.preference;
uses:="org.eclipse.ui.texteditor.templates,
org.eclipse.jface.text.source,
org.eclipse.jface.preference,
org.eclipse.ui,
org.eclipse.core.runtime.preferences,
org.eclipse.swt.widgets,
org.eclipse.jface.dialogs",
com.elphel.vdt.veditor.semanticwarnings;uses:="com.elphel.vdt.veditor.parser.vhdl,org.eclipse.core.resources",
com.elphel.vdt.veditor.templates;uses:="org.eclipse.jface.text.templates",
com.elphel.vdt.veditor.wizard;
uses:="org.eclipse.jface.wizard,
org.eclipse.jface.text.source,
org.eclipse.ui,
org.eclipse.jface.viewers,
org.eclipse.swt.widgets,
org.eclipse.jface.text.templates"
Require-Bundle:
org.eclipse.ui,
org.eclipse.ui.editors,
org.eclipse.ui.workbench.texteditor,
org.eclipse.core.runtime,
org.eclipse.jface.text,
org.eclipse.core.resources,
org.eclipse.ui.views,
org.eclipse.ui.ide,
org.eclipse.ui.console,
org.eclipse.core.filesystem,
org.eclipse.debug.ui,
org.eclipse.core.variables,
org.eclipse.ui.forms;bundle-version="3.6.1",
org.eclipse.ui.externaltools;bundle-version="3.2.200"
Eclipse-LazyStart: true
vdt-plugin-altera/README 0000664 0000000 0000000 00000000104 12551525065 0015276 0 ustar 00root root 0000000 0000000 Please read basic installation instructions in the "INSTALL" file.
vdt-plugin-altera/README.md 0000664 0000000 0000000 00000034655 12551525065 0015717 0 ustar 00root root 0000000 0000000 VDT plugin
==========
Table of Contents
-----------------
* [VDT plugin documentation](#vdt-plugin-documentation)
* [Instalation of VDT plugin and related programs](#instalation-of-vdt-plugin-and-related-programs)
* [Installation of Xilinx tools](#installation-of-xilinx-tools)
* [Programs and libraries installed from (K)ubuntu repositories](#programs-and-libraries-installed-from-kubuntu-repositories)
* [GtkWave (3.3.58-1)](#gtkwave-3358-1)
* [other programs needed for building Icarus Verilog](#other-programs-needed-for-building-icarus-verilog)
* [Java JDK](#java-jdk)
* [Icarus Verilog](#icarus-verilog)
* [JavaCC](#javacc)
* [Eclipse IDE](#eclipse-ide)
* [Installation of VDT plugin itself](#installation-of-vdt-plugin-itself)
* [Clone VDT plugin source code](#clone-vdt-plugin-source-code)
* [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)
* [Import the VDT plugin project into the Eclipse workspace.](#import-the-vdt-plugin-project-into-the-eclipse-workspace)
* [Configuring JavaCC (optional)](#configuring-javacc-optional)
* [Building and running VDT](#building-and-running-vdt)
* [Import and configuration of the sample project in VDT](#import-and-configuration-of-the-sample-project-in-vdt)
* [Import eddr3 project](#import-eddr3-project)
* [Configuration of VDT for eddr3 project](#configuration-of-vdt-for-eddr3-project)
* [Configure access to the server with Xilinx tools](#configure-access-to-the-server-with-xilinx-tools)
* [Copy unisims library to the local directory](#copy-unisims-library-to-the-local-directory)
* [Patch primitive(s) to work with Icarus Verilog](#patch-primitives-to-work-with-icarus-verilog)
* [Simulating eddr3 project with Icarus Verilog](#simulating-eddr3-project-with-icarus-verilog)
##VDT plugin documentation
Documentation is available in a separate [vdt_docs](https://github.com/Elphel/vdt-docs) repository.
##Instalation of VDT plugin and related programs
VDT plugin for Eclipse is designed to integrate different tools for Verilog-based FPGA design.
Currently it supports only GNU/Linux operating system and tool specification file support
Icarus Verilog simulator and Xilinx ISE and Vivado Webpack design suites.
Below is detailed step-by-step installation procedure for Kubuntu 14.04 LTS (other GNU/Linux systems
should not require significantly different installation). Latest tested versions of the programs
are also specified.
### Installation of Xilinx tools
Xilinx Webpack software (free for download) needs to be installed on a GNU/Linux computer according
to the manufacturer recommendations on the same computer as the rest of the software or (preferably)
on a separate system. VDT uses ssh and rsync access to the server running tools, the server can be
in the same LAN or accessed over the WAN. Both ISE and Vivado tools are supported.
### Programs and libraries installed from (K)ubuntu repositories
#### GtkWave (3.3.58-1)
```
sudo apt-get install gtkwave
```
#### other programs needed for building Icarus Verilog
```
sudo apt-get install autoconf gperf flex bison g++ zlib1g-dev libbz2-dev
```
#### Java JDK
For most tasks JRE is sufficient, but if you would like to be able to modify and recompile Verilog
language parsing you will need java compiler that comes with the full JDK
```
sudo apt-get install openjdk-7-jdk
```
### Icarus Verilog
Icarus Verilog has to be compiled from the source code that is available in git repository:
```
git clone git://github.com/steveicarus/iverilog.git
cd iverilog
sh autoconf.sh
./configure
```
If you run ```make``` with unmodified code it will not be able to simulate the test project -
[DDR3 Memory Interface](http://blog.elphel.com/2014/06/ddr3-memory-interface-on-xilinx-zynq-soc-free-software-compatible/)
assert in vvp is triggered by the Micron DDR3 memory model. I do not understand what exactly
is wrong but just disabling these assert statements in
[vpi_vthr_vector.cc](https://github.com/steveicarus/iverilog/blob/master/vvp/vpi_vthr_vector.cc)
allows vvp to proceed without any visible problems:
```c++
vpiHandle vpip_make_vthr_vector(unsigned base, unsigned wid, bool signed_flag)
{
struct __vpiVThrVec*obj = new __vpiVThrVec;
if (base >= 65536)
// assert(base < 65536);
fprintf(stderr, "vvp error: base > 65535, base= 0x%x\n",base);
obj->bas = base;
if (wid >= 65536)
// assert(wid < 65536);
fprintf(stderr, "vvp error: wid > 65535, wid= 0x%x\n",wid);
obj->wid = wid;
obj->signed_flag = signed_flag? 1 : 0;
obj->name = vpip_name_string("T<>");
return obj;
}
```
Then with the modified code
```
make
sudo make install
```
Default VDT configuration assumes Icarus is installed to the /usr/local/bin
### JavaCC
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
files (for example adding support to not yet covered Verilog features).
[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)
Unzip it in any convenient location - this location will be provided to Eclipse later.
### Eclipse IDE
You will need _Eclipse IDE for Java EE Developers_ (capable of plugin development),
latest tested version is Luna
(eclipse-jee-luna-SR1-linux-gtk-x86_64.tar.gz). VDT plugin 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/) and any other
versions of VEditor installed will conflict with VDT.
### Installation of VDT plugin itself
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)
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.
####Clone VDT plugin source code
```
git clone git@github.com:Elphel/vdt-plugin.git
```
###Run VEditor installation/patch script from within the top directory of vdt-plugin
```
./install_and_patch_veditor.sh
```
This will clone the original VEditor source tree as tmp/unmodified_veditor_1_2_0_clone,
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
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 again
####Import the VDT plugin project into the Eclipse workspace.
At this stage I hit GTK bug that caused Eclipse to crash, working solution is described
in https://bugs.kde.org/show_bug.cgi?id=339174 :
For oxygen, edit the normally already existing file
**/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc** and change **GtkComboBox::appears-as-list = 1**
into **GtkComboBox::appears-as-list = 0**
```
File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned VDT
Import Existing Projects (wizard selection)
```
Keep both **parsers** and **vdt** checked and press **Finish**
####Configuring JavaCC (optional)
In the **Project Explorer** window, expand the **vdt** project folder, right-click
the **buildjavacc.xml** file and select **Properties**.
In the new dialog window select **Run/Debug Settings**, press **New** and agree to
the only suggested option: **Ant Build**.
Then Select **Environment** tab and enter two variables by pressing **New** and then
Name: **ECLIPSE_HOME**
Value: Folder path that contains Eclipse executable
Name: **JAVACC_HOME**
Value: Folder path where **javacc-6.0.zip** was unpacked (ending with /javacc-6.0).
####Building and running VDT
In the "Project Explorer" window, expand the 'vdt' project folder and double-click (open)
the **plugin.xml** file.
Select the **Overview** tab at the bottom of the appeared window.
Under the **Testing** label, click the **Launch an Eclipe application** link.
You may also use "Run Eclipse Application" (green triangle) or "Debug Eclipse Application"
(green bug) buttons on Eclipse toolbar to launch
A new instance of Eclipse will open, this new Eclipse will have VDT plugin activated.
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
an existing one. We will use DDR3 memory interface project as an example.
## 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
undocumented featuers and encrypted modules and can be simulated with the Free Software
tools.
### Import eddr3 project
```
git clone git@github.com:Elphel/eddr3.git
```
From the Eclipse instance that runs VDT plugin (not the one with the VDT source code)
use the same steps as for importing VDT plugin code (described above):
```
File->Import->Git->Projects from Git->Existing local repository-> Select directory where you cloned eddr3
Import Existing Projects (wizard selection)
```
Keep **eddr3** checked and press **Finish**
### Configuration of VDT for eddr3 project
The cloned eddr3 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
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
computer running GNU/Linux.
Open the top module (ddrc_test01.v) in the Editor (seems to be a bug that prevents
configuration without that step)
Open "Verilog/VHDL' perspective:
```
Window->Open Perspective->Other->Verilog/VHDL
```
It should look as shown on screenshots in [VDT-UserManualAddendum.pdf](https://github.com/Elphel/vdt-docs/blob/master/VDT-UserManualAddendum.pdf?raw=true),
with bottom-left panel showind "Design Menu" and FPGA-related tools
#### Configure access to the server with Xilinx tools
In the "Design menu" panel select "Package" icon, it will open a dialog with "Xilinx server setup"
tab active.
If you have Xilinx tools installed on the same computer as VDT, leave the default value for
*Remote Host IP* (localhost) and *Remote user name* (your current login name).
If you are using phisically different computer - change the both fields as needed.
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)
Next you need to setup password-less access to the tools server based on the key pairs:
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
*Generate public key* (or use a key icon on the Design menu toolbar)
Send this key to the server - you may either use a command-line program *ssh-copy-id* or right-click
*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
to be installed, you can do this with
```
sudo apt-get install ssh-askpass
```
If ssh will not find *ssh-askpass* or a similar program, it will fail and Eclipse console output will
output the resolution suggestions.
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.
If everything was configured correctly you may try opening remote Vivado session (later it will
happen automatically when needed):
Right-click *Start remote Vivado session* and select *Launch Vivado* (door with entering green arrow icon
on the toolbar)
If everything is correct, in Eclipse console you will see
```
puts "@@FINISH@@"
```
and a few secods later server response ending with
```
@@FINISH@@
```
@@FINISH@@ sequence is just a marker to know server successfully finished the requested command
*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
manuals.
#### Copy unisims library to the local directory
```
Vivado Tools -> Vivado utilities -> Copy Vivado primitives library to the local project
```
#### 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
when we'll hit particular problems, for eddr3 only one file needs to be patched - OSERDESE1.v
Run patch command from the unisms subdirectory of the eddr3 project :
```bash
~/git/eddr3/unisims$ patch -p1 < ../unisims_patches/OSERDESE1.diff
```
## Simulating eddr3 project with Icarus Verilog
```
Design Menu -> Verilog Development tools -> Icarus Verilog simulator
```
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*
vdt-plugin-altera/about.html 0000664 0000000 0000000 00000002735 12551525065 0016432 0 ustar 00root root 0000000 0000000
About
About This Content
License
VDT plug-in is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
VDT plug-in is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
Additional permission under GNU GPL version 3 section 7:
If you modify this Program, or any covered work, by linking or combining it
with Eclipse or Eclipse plugins (or a modified version of those libraries),
containing parts covered by the terms of EPL/CPL, the licensors of this
Program grant you additional permission to convey the resulting work.
{Corresponding Source for a non-source form of such a combination shall
include the source code for the parts of Eclipse or Eclipse plugins used
as well as that of the covered work.}
vdt-plugin-altera/build.properties 0000664 0000000 0000000 00000002705 12551525065 0017644 0 ustar 00root root 0000000 0000000 source.veditor.jar = src/,\
_generated/
output.veditor.jar = bin/
bin.includes = icons/,\
veditor.jar,\
plugin.xml,\
about_veditor.html,\
META-INF/,\
templates/,\
plugin.properties,\
tools/,\
README,\
about.html,\
LICENSE,\
INSTALL,\
CONTRIBUTORS_VEDITOR.txt,\
parsers/
#
# Set the following to override the environment
# variable settings for JAVACC_HOME and ECLIPSE_HOME
#
#javacc_dir=/home/ali/javacc-4.0
#eclipse_plugin_dir=/home/ali/eclipse/plugins
#javacc_dir=/data/vdt/javacc-6.0
#eclipse_plugin_dir=/data/vdt/eclipse_08/plugins
src.includes = .classpath,\
.cvsignore,\
.externalToolBuilders/,\
.project,\
.settings/,\
CONTRIBUTORS_VEDITOR.txt,\
ChangeLogVeditor.txt,\
META-INF/,\
_generated/,\
about_veditor.html,\
bin/,\
build.properties,\
buildjavacc.xml,\
icons/,\
plugin.properties,\
plugin.xml,\
plugins/,\
src/,\
templates/,\
tools/,\
parsers/,\
INSTALL,\
LICENSE,\
about.html,\
README
vdt-plugin-altera/buildjavacc.xml 0000664 0000000 0000000 00000006760 12551525065 0017425 0 ustar 00root root 0000000 0000000
vdt-plugin-altera/convert_full_repo.sh 0000775 0000000 0000000 00000006322 12551525065 0020514 0 ustar 00root root 0000000 0000000 #!/bin/bash
################################################################################
# Copyright (c) 2014 Elphel, Inc.
# This file is a part of VDT plug-in.
# VDT plug-in is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# VDT plug-in is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
# Additional permission under GNU GPL version 3 section 7:
# If you modify this Program, or any covered work, by linking or combining it
# with Eclipse or Eclipse plugins (or a modified version of those libraries),
# containing parts covered by the terms of EPL/CPL, the licensors of this
# Program grant you additional permission to convey the resulting work.
# {Corresponding Source for a non-source form of such a combination shall
# include the source code for the parts of Eclipse or Eclipse plugins used
# as well as that of the covered work.}
################################################################################
#TMPDIR="tmp"
#GITURL="https://github.com/Elphel/unmodified_veditor_1_2_0_clone.git"
#GITREPO="unmodified_veditor_1_2_0_clone"
#PATCH_FILE="vdt-veditor.patch"
INITIAL_DIRECTORY=`pwd`
FULL_REPO_URL="git@github.com:Elphel/vdt.git"
DERIVATIVE_REPO_NAME="vdt-plugin"
#create derivative repo at the same level as current
cd ../
cp -v -r "$INITIAL_DIRECTORY" "$DERIVATIVE_REPO_NAME"
cd "$DERIVATIVE_REPO_NAME"
echo "Removing git remote origin to prevent accidental corruption of the original repository"
echo "You may set it late with \"git remote set-url origin \""
git remote set-url origin ""
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/com/elphel/vdt/veditor/*' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch -r _generated' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch about_veditor.html' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/com/elphel/vdt/core/launching/VDTErrorParser.java' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ChangeLogVeditor.txt' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch CONTRIBUTORS_VEDITOR.txt' --prune-empty --tag-name-filter cat -- --all
echo "Modifying gitignore to include removed files/directories"
cat << EOF >> .gitignore
src/com/elphel/vdt/veditor
_generated
src/com/elphel/vdt/core/launching/VDTErrorParser.java
about_veditor.html
ChangeLogVeditor.txt
CONTRIBUTORS_VEDITOR.txt
EOF
git commit .gitignore -m "added files to be generated by patching VEditor"
cd "$INITIAL_DIRECTORY"
pwd
exit 0
vdt-plugin-altera/create_vdt_veditor_patch.sh 0000775 0000000 0000000 00000011643 12551525065 0022022 0 ustar 00root root 0000000 0000000 #!/bin/bash
################################################################################
# Copyright (c) 2014 Elphel, Inc.
# This file is a part of VDT plug-in.
# VDT plug-in is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# VDT plug-in is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
# Additional permission under GNU GPL version 3 section 7:
# If you modify this Program, or any covered work, by linking or combining it
# with Eclipse or Eclipse plugins (or a modified version of those libraries),
# containing parts covered by the terms of EPL/CPL, the licensors of this
# Program grant you additional permission to convey the resulting work.
# {Corresponding Source for a non-source form of such a combination shall
# include the source code for the parts of Eclipse or Eclipse plugins used
# as well as that of the covered work.}
################################################################################
TMPDIR="tmp"
GITURL="https://github.com/Elphel/unmodified_veditor_1_2_0_clone.git"
GITREPO="unmodified_veditor_1_2_0_clone"
PATCH_FILE="vdt-veditor.patch"
INITIAL_DIRECTORY=`pwd`
if [ ! -d "$TMPDIR" ]; then
mkdir "$TMPDIR"
fi
rm -f -v -r "$TMPDIR"/vdt "$TMPDIR"/vdt-veditor "$TMPDIR"/*.patch
mkdir -p "$TMPDIR"/vdt/src/com/elphel/vdt/core/launching
cp -v src/com/elphel/vdt/core/launching/VDTErrorParser.java "$TMPDIR"/vdt/src/com/elphel/vdt/core/launching
cp -v -r src/com/elphel/vdt/veditor "$TMPDIR"/vdt/src/com/elphel/vdt/
cp -v -r _generated "$TMPDIR"/vdt/
cp -v about_veditor.html "$TMPDIR"/vdt/
cp -v ChangeLogVeditor.txt "$TMPDIR"/vdt/
cp -v CONTRIBUTORS_VEDITOR.txt "$TMPDIR"/vdt/
cd "$TMPDIR"
if [ ! -d "$GITREPO" ]; then
git clone "$GITURL"
fi
mkdir -p vdt-veditor/src/com/elphel/vdt/core/launching
#Different structure of the files generated by JavaCC, manual copying
mkdir -p vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog
mkdir -p vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/JavaCharStream.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/ParseException.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/ParseException.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/Token.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/Token.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/TokenMgrError.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/TokenMgrError.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VerilogParserCoreConstants.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VerilogParserCore.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VerilogParserCoreTokenManager.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/verilog/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VhdlParserCoreConstants.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VhdlParserCore.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v -r "$GITREPO"/_generated/net/sourceforge/veditor/parser/VhdlParserCoreTokenManager.java vdt-veditor/_generated/com/elphel/vdt/veditor/parser/vhdl/
cp -v "$GITREPO"/about.html vdt-veditor/about_veditor.html
cp -v "$GITREPO"/ChangeLog.txt vdt-veditor/ChangeLogVeditor.txt
cp -v "$GITREPO"/CONTRIBUTORS.txt vdt-veditor/CONTRIBUTORS_VEDITOR.txt
cp -v "$GITREPO"/src/net/sourceforge/veditor/builder/ErrorParser.java vdt-veditor/src/com/elphel/vdt/core/launching/VDTErrorParser.java
cp -v -r "$GITREPO"/src/net/sourceforge/veditor vdt-veditor/src/com/elphel/vdt/
find vdt-veditor -name ".svn" -exec rm -rf {} \;
#Ignore all white spaces
#diff -U 3 -H -w -d -r -N -x '.svn*' -- vdt-veditor vdt > "$PATCH_FILE"
diff -U 3 -dHrN -- vdt-veditor vdt > "$PATCH_FILE"
cp -v "$PATCH_FILE" "$INITIAL_DIRECTORY"
cd "$INITIAL_DIRECTORY"
pwd
exit 0
vdt-plugin-altera/icons/ 0000775 0000000 0000000 00000000000 12551525065 0015536 5 ustar 00root root 0000000 0000000 vdt-plugin-altera/icons/IconTestTube.png 0000664 0000000 0000000 00000000767 12551525065 0020626 0 ustar 00root root 0000000 0000000 ‰PNG
IHDR óÿa ,tEXtCreation Time Thu 11 Jun 2009 07:39:35 -0500±}Up tIMEÙ"ÔÈÃR pHYs ‡ ‡“@‡S gAMA ±üa NIDATxÚcü÷ï1€ÉòÊ U Äëÿ×¹ 'J7q;
S'É &½c>¼,¯Ö™ÓÑ
a!J3ÿÍŸ1ú|uêy^׫ †€¼µž_ k†‰
™¤2Aa‚Ó dÍROÎ3üùÅÀðˆßjŠkÆ{ù‘&ë° ÒÌÀòz3CŽy4ûO†Ïo>¼e¸ó‚Aü‰æ„—Ïþùþ»dµ¤Ã ¸Í‰ZpÍï30\Ä þÚ”Y3F,ª%P4³~g`øÔüþ)PóC f3¬šá.À°ùë{¨æGx5ƒÃ€Aç’Í@Íßšß<ÄëlT°?Éýl«ÈÀÀñªùÑšøôØæ‡Dk{AÜõ¸ÏËœ›~ßž¸€"ÃËç‰ÒO’î'}^¾{˜ù)3™XÍ Éê%ÅÖÌ IEND®B`‚ vdt-plugin-altera/icons/P.gif 0000664 0000000 0000000 00000000112 12551525065 0016416 0 ustar 00root root 0000000 0000000 GIF89a € S¤ÿÿÿ!ù
, !Œ©ËàX€°Åó–K[u“yÔÇ)MW
®,zºìL ; vdt-plugin-altera/icons/Retort.png 0000664 0000000 0000000 00000001051 12551525065 0017520 0 ustar 00root root 0000000 0000000 ‰PNG
IHDR (-S PLTE N²ç=¨æ?Ï×;£â“Ù k¸‰Ôk°Ý/œß%l¹'›ß ‚Ò‹Ö?¥ä%kµ:£âK±æ €ÒØ€ÌéÄà÷Øõ=Ð;Ïâòþ‘Ø»Þõ-”ÙÕìø%j¸”ØL³ã«ØõÀé=χÔÍÝíúÉäøS·æ¸Ýö‹Ö™Ñî_±Ý'Ì*ŸÛ3 á‘×Åâ÷,ŽÖ&‚ÎÄåù¬ØõÇã÷X´çzÈè¶Üö`«1œß`¬Áæ$q¾+’Ùª×ò¡ÕõÔéú5„Èd½ç2¢ÞR¹ì&ƒËU¸ä$Í®ÙõÙõ®Øò*ÖºÝõÞíú‚Ó>‘ÑÈëÆâ÷8¢á¶Ýø3–ÚÈäø'8¶o tRNS @æØf bKGD ˆH pHYs šœ tIMEÞ
88ËOv —IDATÓU‹Uƒ@_”… qwwwww»ÿIl%Yú¯»f ô*ðG`Rç¶@`Þé>é0¾·šptVkš°=ùëš°îf‹¤ÓÞ«#<øŒ6gSúæÇ•6£¯[
„PÅ‘a§:a£L.ÂòdìfßrÁòŠ‹Ã‡d’‘ÊùÛK™ˆ{Æ:9¬ÔÏàjP‰{Ü=€?¥<âNÞÎ IEND®B`‚ vdt-plugin-altera/icons/alias_signal.gif 0000664 0000000 0000000 00000000162 12551525065 0020652 0 ustar 00root root 0000000 0000000 GIF89a ¡ îîßÝ8ÿÿÿÿÿÿ!þCreated with The GIMP !ù
, *”§{¹ÀP„,8©²W€¯I—
I‰hÃ9n›žé"ÏiokœoýÍ( ; vdt-plugin-altera/icons/ar_obj.gif 0000664 0000000 0000000 00000002025 12551525065 0017460 0 ustar 00root root 0000000 0000000 GIF89a ÷ ÖÓÙiijýýþüüýûûüúúûøøùgjxëìñôõùÞäúæëüÏÒÜdhtdhsæìýßãîæêõÚÝæÔ×àÖÙáóöþãæîîðöàâèö÷úóô÷ïðóîïòÝæüØßñãêüäëü¿ÄÐSjXn¢«¼á±¼ÕÊÖðÍØñØãýÑÛñ¾ÇÛÍÖêßèüÉÑâ¹ÀÏÓÚéÄÉÔÂÇÒÁÆÑ¿ÄÏÈÍØÏÓÜËÏØàäíÚÝäáäëàãêXo]u¥^tŸcy¥«¾ãªºÙÅÓðÉÖñÕáø·ÁÕ´¾ÒÂÌà»ÄÖáêý¼ÃÑÇÎÜàçõÊÐÜæìøÇÌÖßäîêîöäèðÝàææéïäçíãæìâåëçéíôõ÷\u¤±¿Ø¶ÃÛ´ÁعÅÛ·ÃØÑÞö»ÇܾÊß¾ÉÞkq|ÄÏã½ÇÚÆÑäÖáõÙãöÊÓäÞèúÛäõáêúÐØçÉÐݾÄϼÂÍÅËÖÂÈÓÑÖßÊÏØñöÿëðùãèñØÜãÕÙà®Áámv…³ÁÙÍÖå½ÅÒÒÚçÁÈÔâéõäëöïò÷èëð®¿ØÑßóÑÞñÖáñÕÞìÇÍÖæìõõ÷úïñôãëöðó÷ÝèöðöýêðöíðóùúûäëñßäèüþÿøýÿèðñýÿÿüýýtkX|q\‰k