Skip to content
Peter Kazanzides edited this page Dec 11, 2023 · 44 revisions

About

This is the firmware, written in Verilog, for the Xilinx FPGA on the FPGA1394 board, which is Spartan 6 for FPGA1394 V1, V2 and Zynq 7000 for FPGA1394 V3. It can be compiled with the Xilinx ISE software. Note that the latest Xilinx software, Vivado Design Suite, does not support the Spartan 6. While Vivado can be used to compile the firmware for the Zynq 7000, it is more convenient to keep all firmware in the same repository and use the same build tools.

See http://jhu-cisst.github.io/mechatronics/ for board details.

See https://github.com/jhu-cisst/mechatronics-embedded for the embedded software that runs on the Zynq ARM processor in FPGA1394 V3.

See https://github.com/jhu-cisst/mechatronics-software/wiki for information about the C++ library (Amp1394) that provides the PC interface to the firmware. In particular, see the Interface Specification (packet formats).

This wiki is also a git repository and can be cloned as follows:

git clone https://github.com/jhu-cisst/mechatronics-firmware.wiki.git

This is the easiest way to add images, which are stored in the assets directory. Note that the source files (e.g., Powerpoint) for some images are included.

List of branches

  • main: main branch
  • devel: development branch
  • feature-digital-control: digital control on the FPGA, for QLA boards modified as described here

Files

  • Generated: generated .mcs files for programming
  • Simulation: test bed file + old .do file
  • Verilog: verilog for all modules
  • Chipscope: chipscope project for debug purpose
    • some data bus and names
  • ipcore_dir: generated ip cores for any FPGA version
  • ipcorev3_dir: generated ip cores for FPGA V3
  • FPGA1394V1-QLA.xise, FPGA139V2-QLA.xise: project file (Xilinx ISE); recommended to use CMake instead

Documentation

How-to and Release Notes

Firmware Documentation

Reference