| <!DOCTYPE html> |
| <html><head><meta charset="UTF-8"> |
| <title>Project IceStorm – Notes for Installing on OSX</title> |
| </head><body> |
| <h1>Project IceStorm – Notes for Installing on OSX</h1> |
| |
| <p> |
| The toolchain should be easy to install on OSX platforms. Below are a few troubleshooting items found on Mountain Lion (10.8.2). |
| </p> |
| |
| <p> |
| See <a href="https://github.com/ddm/icetools">https://github.com/ddm/icetools</a> for a set of shell scripts to build IceStorm on OSX (using brew for dependencies). |
| </p> |
| |
| <h2>Installing FTDI Library</h2> |
| |
| <p> |
| The libftdi package (.so lib binary and the ftdi.h header) has been renamed to libftdi0, so either do: |
| </p> |
| |
| <ul> |
| <li><p><tt>port install libftdi0</tt><br/> |
| (note that ports installs the tool to /opt instead of /usr, see next note)</p></li> |
| <li><p><tt>brew install libftdi0</tt></p></li> |
| </ul> |
| |
| <h2>iceprog make error on "ftdi.h not found"</h2> |
| |
| <p> |
| Note that Mac Ports installs to /opt instead of /usr, so change the first two lines in <tt>iceprog/Makefile</tt> to: |
| </p> |
| |
| <pre style="padding-left: 3em"> |
| LDLIBS = -L/usr/local/lib -L/opt/local/lib -lftdi -lm |
| CFLAGS = -MD -O0 -ggdb -Wall -std=c99 -I/usr/local/include -I/opt/local/include/ |
| </pre> |
| |
| <p> |
| Basically you are indicating where to find the lib with <tt>-L/opt/local/lib</tt> and where to find the .h with <tt>-I/opt/local/include/</tt>. |
| </p> |
| |
| <h2>yosys make error on "<tuple> not found"</h2> |
| |
| <p> |
| This is a compiler issue, i.e., you are probably running on clang and you can circumvent this error by compiling against another compiler. |
| Edit the Makefile of yosys and replace the two first lines for this, i.e., comment the first line (clang) and uncomment the second (gcc): |
| </p> |
| |
| <pre style="padding-left: 3em"> |
| #CONFIG := clang |
| CONFIG := gcc |
| </pre> |
| |
| <h2>error "Can't find iCE FTDI USB device (vendor_id 0x0403, device_id 0x6010)." while uploading code to FPGA (e.g., "iceprog example.bin")</h2> |
| |
| <p> |
| You need to unload the FTDI driver (notes below are from Mountain Lion, 10.8.2). |
| First check if it is running: |
| </p> |
| |
| <pre style="padding-left: 3em"> |
| kextstat | grep FTDIUSBSerialDriver |
| </pre> |
| |
| <p> |
| If you see it on the kextstat, we need to unload it: |
| </p> |
| |
| <pre style="padding-left: 3em"> |
| sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver |
| </pre> |
| |
| <p> |
| Repeat the <tt>kextstat</tt> command and check that the driver was successfully unloaded. |
| </p> |
| |
| <p> |
| Try running <tt>iceprog example.bin</tt> again. It should be working now. |
| </p> |
| |
| <p> |
| Note: On newer OSes perhaps you need to also kextunload the <tt>com.apple.driver.AppleUSBFTDI</tt> driver. |
| </p> |
| |