LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Showing revision 5
Note: I get a .bit file but I have no 7i43 hardware to test it on. If you can verify that this gives a working bitfile, please remove this caveat -- jepler, 2008/07/02

Start Xilinx ise according to the instructions (I used Release Version: 9.2.04.i Application Version: J. 40)

Select Project > Source Control > Import

For "Project file to import", browse to {EMC2}/src/hal/drivers/mesa-hostmot2/firmware/7i43/SOURCE/hostmot2_import.tcl

For "Directory to import to", select a new empty directory (you can create an empty one using the "folder with sparkle" icon)

Click OK

After a few moments the import process will complete.

To rebuild the FPGA firmware, choose Process > Implement Top Module. This will print many warnings and may take a long time, particularly on slow PCs -- several minutes on my 2.2GHz Core 2 Duo machine.

To build the BIT file, find the Processes tab. Double click "Generate Programming File".

Copy the i43hostmot2.bit file from the project directory to the location and name expected by the emc build process (src/hal/drivers/mesa7i43-firmware/???.bit); I am not sure what the naming convention is for these files.

To generate the firmware for the other size of FPGA chip, right click xc3s400 near the top of "sources" and choose "XC3S200" for Device. (If you're building for yourself, you need only build the one you want; If you're building for others, you must build all combinations)

The above description of this process was written by Jeff Epler in 2008. It's now 2013 and, after becoming interested in FPGAs, I thought I would try to perform this procedure myself. Below is a record of my experiences...

1. First, and even before I decided to build the hostmot2 firmware, I installed the latest free version of the Xilinx software for 32 bit linux. To install this, you go to: http://www.xilinx.com/support/download/index.htm and download "Full Installer for Linux" The file I got was Xilinx_ISE_DS_Lin_14.4_P.49d.3.0.tar. They'll make you register for an account before you can do anything, so be prepared to tell them your life story :) This file is about 6-1/2 Gigabytes, so it'll take a while. Once you have the file, untar it and run 'xsetup'.

2. sudo apt-get install ghdl

(Added in 2017 by KimK)

Matt didn't finish his story in 2013, and now I'm looking at the same thing in 2017.

I'm not sure if it's still necessary to install ghdl, but ghdl is no longer available in the standard repos, and hasn't been updated since 2014.

Here's an article on building ghdl from source: [Installing ghdl from source on Ubuntu 16.04]

There's also a ghdl PPA: [ghdl PPA on Launchpad]

If the PPA is still available then it just changes step 2 above to:

 sudo add-apt-repository ppa:pgavin/ghdl
 sudo apt-get update
 sudo apt-get install ghdl

(Maybe I'll post more updates later, or maybe I'll disappear too.)

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions | View current revision
Edited September 7, 2017 3:54 pm by KimK (diff)
Published under a Creative Commons License