Installing Rapid Hardware

The installer for Rapid Hardware is simply a file archive that comes in 2 formats..
  • Self .rar archive for Windows
  • .tar.gz archive for Linux

The files will extract to a folder of your choice. The c:\src\RapidHDL folder is recommended.

Noteworthy Folders

  • .\bin\Release\RapidHDL.dll - Rapid HDL .Net Assembly
  • .\RapidHDL.csproj - Project file for Rapid HDL source code
  • .\Demo\* - Demonstration Projects
  • .\Demo\1SimpleCounter\SimpleCounter\SimpleCounter.sln - An Example (Visual Studio 2005 solution file)
  • .\Extras\RHDLSynthOnly - Build Service for Remote Build Process
  • .\Extras\PicoInvoke\picoinvoke.dll - Driver DLL for software interaction with Pico FPGA (Windows Only)
  • .\Extras\PicoInvoke\ - GPL Licensed Source Code for picoinvoke.dll
  • .\Extras\ - GPL Licensed Verilog files for interfacing Pico FPGA to Rapid HDL (see below)
  • .\RHDLWorkbench\ - Project for invoking tests in Rapid HDL

Uninstalling Rapid HDL

To uninstall Rapid HDL, delete the installation folder. The Rapid HDL installer only extracts files to this location and does not touch the registry.

Running on Linux

To be compabile with Mono, Rapid HDL does not use PInvoke and it should properly convert file paths to the right format. Rapid HDL has been tested and used on Ubuntu as a remote build server (see below). Therefore, Rapid HDL should run on Linux with MonoDevelop using the latest stable build of Mono (currently 2.4). However, Rapid HDL has been developed on Windows (except for the build service), so please report any bugs.

Xilinx ISE Setup

Xilinx ISE is necessary if you intend to synthesize hardware for a Xilinx project.

Install the latest ISE Webpack. This is free software from Xilinx that runs on most operating systems. You may have to register with Xilinx to download the software and to get a free license.

If you are using Linux, you will need to call an environment variables script (something like If you are using windows, make sure your path and environment variables are set.

The following settings are related to the Xilinx ISE installation.

            Settings.XilinxToolsPath = "c:\\Xilinx\\10.1\\ISE\\bin\\nt";
            Settings.XilinxChip = "xc4vlx25-sf363-12";
            Settings.OptimizeSpeed = true;

Pico E-12 Setup

Rapid HDL was designed to interface with a Pico E-12 FPGA card using the PCMCIA slot.

The E-12 includes SDRAM and a Xilinx Virtex-4 FPGA.

If you have a Pico card of any type, you should be able to adjust the firmware source code to inter-operate with Rapid HDL.

The Pico E-12 FGPA is not required

If you do not have a Pico Computer FPGA, you have 2 other options.
  • Use Rapid HDL without integrating your FPGA
    • Verilog Generation will still work
    • Verilog Simulation will still work
    • Mentor Graphics integration will still work

Installing the Pico Drivers

First, make sure the Pico drivers and utilities are installed for your FPGA. In particular, verify that c:\bin\PicoUtil.exe works and can establish communication with your card.

Hint: If you are using a PCMCIA card for your FPGA, you may need to re-seat the PCMCIA card after windows restarts from hibernation.

Installing Pico Interface Files For Rapid HDL

Rapid HDL generates Verilog to implement your hardware design. However, communication drivers and interface hardware for the Pico E-12 is relatively permanent. These files that interface the FPGA to the software are stored in an Interface folder and included in the hardware synthesis step when invoking Xilinx ise. Many of these files are from Pico Computing and modified under the GNU license.

To install these files, extract the file to a folder like "c:\\hdl\\pico". Before logic synthesis starts, all of the files in this folder are copied into the synthesis folder.

The default setting for the location of the interface folder is shown below.

            Settings.InterfaceSourcePath = "c:\\hdl\\pico";


The PicoInvoke.dll file needs to be copied to c:\windows\system32 or somehow added to the Windows path environment variable. This DLL allows the host software application to communicate with the Pico FPGA drivers.


To use certain features, Rapid HDL depends on other programs.

Verilog simulation:

Rapid HDL currently uses the free * url Icarus Verilog version 0.9.1.

Icarus Verilog Simulation is controlled by two settings in the RapidHardware class.

            Settings.SimulateVerilog = true;
            Settings.IcarusPath = "c:\\icarus\\bin";

ASIC Synthesis

ASIC synthesis can take place on a machine with Mentor Graphics and the Mentor Graphics ASIC design kit installed. Mentor Graphics IC Station runs only on Linux, so the machine running Mentor Graphics tools will probably be a Linux based machine.

Some Mentor Graphics tools such as Leonardo Spectrum and Model Sim also run on MS Windows. Leonardo Spectrum can be integrated with Rapid HDL on MS Windows. Both Leonardo Spectrum and the ASIC design kit need to be installed.

If your Mentor Graphics tools are on Linux and Rapid HDL is on MS Windows, then the SFTP protocol can be used to transfer Rapid HDL generated files to the Mentor Graphics computer.

Settings that control ASIC synthesis are listed below. SynthLibrary is the ASIC Design Kit process. Note, the ASIC Design Kit must also be installed properly on the machine running Mentor Graphics Tools. The Synthesis process can be enabled using the SynthASIC setting. If running Leonardo locally, set the LeonardoPath setting to its install location.

            Settings.SynthASIC = false;
            Settings.SynthLibaray = "tsmc035_typ";
            Settings.LeonardoPath = @"C:\MGC\LeoSpec\LS2008b_3\bin\win32\";

Remote Build Server

Remote FPGA Interface

Last edited Jul 9, 2010 at 6:41 PM by allen248, version 6


No comments yet.