Installation and Overview
Select your version
The Synflow IDE is dual-licensed under commercial and open source licenses. Synflow supports the free software concept by providing the Synflow IDE Open Source Edition, which is licensed under the GNU Lesser General Public License (LGPL) version 3. You can use this edition to create and distribute IP cores, systems, apps, and variant of the IDE with licenses that are compatible with this free software license. The commercial license gives you the full rights to create and distribute software on your own terms without any open source license obligations. The commercial license also allows us to pay the bills, ourselves, and other team members ;-) More information about the licenses here.
- You can download the Open Source Edition from the download page or from GitLab by cloning the repository.
- You can download the Commercial Edition from the download page or from GitLab by cloning the repository.
Figure 1. Clone ngDesign from Gitlab
You need Java 8 to run the IDE so prior to execute the Synflow IDE, it is a good idea to install a flavor of Java 8 JDK.
Install the Synflow IDE
If you have downloaded the Synflow IDE from the download page, you can simply unzip it somewhere in your computer (e.g. C:\FPGA) and run it. If you want to clone the repository and compile the source files, follow those steps:
- Download and install Eclipse for RCP and RAP developers.
- Set Up Eclipse (Preferences => Workspace => Text File Encoding => UTF-8) and display the Git Repositories View (Eclipse => Show View => Git Repositories)
- Clone the Git repository of Synflow under Eclipse (Clone Repository)
- Import all the projects but
- Install the plugins (Eclipse Modeling framework SDK, Graphical Editing Framework GEF SDK, MWE 2 Language SDK, MWE 2 Runtime SDK, Xtend IDE, Xtext Complete SDK)
- Execute MWE 2 on the GenerateCx.mw2 class (Project Explorer => Synflow IDE => com.synflow.cx => src => com.synflow.cx => GenerateCx.mw2) by making a right click and selecting Run as => MWE 2 Workflow
- Configure the Product (Project Explorer => Synflow IDE => releng => ngDesign.product => Synchronize, and then Lunch an Eclipse Application - it will fail)
- Run the product (Run as => ngdesign.product => Plug-ins => Add Required Plug-ins, and then Apply and Run)
If you are a bit lost, go to our Youtube channel and you will see the process in Video.
The first time you start ngDesign, you will be asked for your workspace. The workspace is the folder where your preferences and projects will be stored. By default it is placed in a "workspace" folder under your home directory. You can tick the checkbox to avoid being asked every time you launch ngDesign (you can always change the folder later). Click OK.
Figure 2: The Synflow IDE
Download and install third party tools
To compile your code and program a FPGA, you need a third party synthesizer. Depending on the development board you will use, it can be either Lattice Diamond, Intel Quartus Prime, or Xilinx Vivado. Once again, we recommend to install one or more of these synthesizes on a folder that does not contain spaces, dots, or any country-specific special characters (é, à, ç, etc.). If required, order a license from your FPGA provider.
You should be able to use the latest version of any synthesizer. To date, we are using Vivado 2018.3, Lattice Diamond 3.10, and Altera Quartus Prime 18.0.
Set up the Synflow IDE
The Synflow IDE can automatically call third party tools to perform simulations and synthesis of your apps and systems. To enable those features, open the Preferences windows by clicking on windows ⇒ Preferences. Add the path to your third party synthesizer in the dedicated slots.
Figure 3: Synflow Set Up
For advanced simulations, you may also want to use Modelsim. In such case, you can add the path to Modelsim on the preferences page.
Using the IDE
You can see on the figure below, the Synflow IDE in action.
Figure 4: Overview of the Synflow IDE
The view bar is hardly ever used in practice. The two main elements you may need are:
- 'Project -> Clean...' to remove all generated files and regenerate everything
- 'Windows -> Reset Perspective' to reset all modifications you may have performed on the windows
You will need the toolbar regularly for most frequently usedoperations:
- 'Save, Save as, Print' the traditional options of all IDEs
- 'Debug, Run' execute or configure a Cx simulation or run a Cx program using a third party software (Xilinx, Altera, Lattice)
- 'Search, Annotation, ...' particularly useful to move in a complex project when going from a task to another
Other windows: 4 (Project Explorer), 5 (Editor), 6 (Graph view), 7 (FSM view), 8 (Git repositroy), and 9 (Console, Problems, others) are the ones that you will use to code applications, and manage your projects.
On the start page, click on Samples and choose Basic examples. It opens a new Clone Git Repository window. Click twice on next, then finish. This operation clones a repository from GitHub to your computer. The repository contains various examples of Cx code. Close the 'welcome' view to access the main views of the product.
Figure 5: Some examples of Cx code
Start using the IDE
Take some time to discover the different views, explore the product, and read the code. You can watch some videos on our Youtube channel.