Skip to content
dogtopus edited this page Nov 29, 2019 · 4 revisions

To check out the entire OpenVizsla distribution (Altium design files, firmware source, host software source), use git to clone https://github.com/openvizsla/ov_ftdi.git (e.g. $ git clone https://github.com/openvizsla/ov_ftdi.git)

Building OpenVizsla Firmware

The OpenVizsla “firmware” runs on the Xilinx Spartan6 FPGA; you will need the free (but proprietary, bloated and DRM’d) Xilinx ISE Webpack toolchain to build it. The latest known-working version is 14.6.

You will also need python3.5+ to use migen / mibuild, which compile a simple Python-based HDL into Verilog and then automatically invoke the Xilinx tools (as long as your system is correctly configured — ISE should be installed in /opt/Xilinx or C:\Xilinx on Windows). If you do not want to build the firmware yourself, you can download the latest version at .

Building under Linux

$ cd ov_ftdi/software/fpga/ov3
$ make

After a few minutes, you will end up with build/ov3.fwpkg.

Building under Windows

cd ov_ftdi\software\fpga\ov3
set PYTHONPATH=..\migen;..\misoc
python build.py -p

After a few minutes, you will end up with build/ov3.fwpkg.


Once the build process has completed successfully, you will have an ‘ov3.fwpkg’ file in the build/ directory. The output file can be found in build/ov3.fwpkg. The 'fwpkg' file is a zip archive containing the FPGA bitstream and associated runtime information. The runtime information includes a register map so the software tooling can automatically refer to registers by name. You will probably want to copy this file into the same directory as ovctl.py (see below).

Building host software

Currently, the host software is a command line utility called ovctl.py; it invokes C code (libov) to communicate with the device. There is also an experimental, barebones Wireshark analyzer.

ovctl

Building under Linux

Prerequisites:

  • Install libusb-1.0.0-dev and python3.3-dev

Steps to compile:

$ cd ov_ftdi/software/host
$ make

You will end up with a libov.so file.

Building under OS X

Prerequisites:

  • Compile and install libusb-1.0 in /usr/local
  • Install python33 and py33-crcmod using MacPorts

Alternatively they can be installed with Homebrew

  • Install libusb and python3 formulas via brew
  • Install crcmod package via pip3

Steps to compile:

$ cd ov_ftdi/software/host
$ make

You will end up with a libov.dylib file.

Building under Windows

TBD