Close
0%
0%

iCE40K boards

iCE40K is the only FPGA now with open source tool chain. Need some practise so making some boards for it

Similar projects worth following

I'm a bit rusty on the whole electronics thing (been moving to the US from the UK), so using this as a useful but still practise board, toolchain etc.

I'm going to use Eagle as still seems to be the best indie friendly PCB software that doesn't have some killer issue. Has to support OS X as well which limits my choices, using latest 7.3. on the hobbyist license for now. Any commercial PCB are are a long way off.

Plan to keep a stream of thoughts blog under the projects notes and then update the actual pages once things have been hardened into something concrete

  • mkrom

    deano08/21/2015 at 06:48 0 comments

    Need a way to create rom files, so writing a little tool cmd line. When finished will allow me to include a gcc compile zpu program as a rom.

  • ZPU

    deano08/14/2015 at 15:39 0 comments

    Ported over ZPU Avalance 32 bit CPU (not sure if will use it yet but its a good exercise)

    Its a pure microcode implementation of the ZPU architecture, I've removed some of the options to fit 32bit BRAM vs the Xilinix 36 bit and generally make it smaller and easier to mod.

    With a small internal RAM, the microcode ROM and the ZPU core itself its using

    IOs 7 / 96

    LCs 1119 / 1280

    DFF 236

    CARRY 75

    CARRY, DFF 3

    DFF PASS 159

    CARRY PASS 2

    BRAMs 9 / 16

    GBs 0 / 8

    Just fitting so far in a 1K ICE40, however we don't yet have a UART or a program ROM so further optimisations will be needed for it to be useful.

    I think I can reduce the size of the microcode ROM by a fair amount, but doubt that will help number of logic cells used, that will require changes to the core itself.

  • A basic empty project on github

    deano08/08/2015 at 06:27 0 comments

    So time to write some code AKA HD/RTL (hardware engineers love to say its not code, but it is), decided to great a empty project with makefile etc. so can get onto some proper stuff.

    Found out then to download the project using iceprog this driver on OS X may get int the way, use the following command (from Sparkfun article on FTDI usage for Arduinos) to remove the kernel driver. You have to do this after plugging the device in, also it seems that sometimes it gets stuck. Reboot seems to cure that.

    sudo kextunload –b com.apple.driver.AppleUSBFTDI

    With that out of the way, my little 'empty' project will with the wave of make run synthesise, place and route and download the DUT to the iCEStick. The 'empty' project has a little binary to grey code LED flasher inspired by a video showing off yosys and ice storm on youtube.

    Project is in github here, if you want an easy to start place for your own ice40K open source projects. Commented out are all the FPGA programmable pins connected to the iCE IC to use as required.

    Enjoy

  • Compiling OSS FPGA tool chain

    deano08/05/2015 at 17:23 1 comment

    Got my Lattice iCEstick (1K) and iCE40-HX8K Breakout Board dev boards today from mouser, and have also had a quick go at compiling iCEStorm (http://www.clifford.at/icestorm/) on my mac.

    OS X (Yosemite) Instructions

    Need Brew package manager to get the various GNU packages that OS X doesn't come with. Commands I fired off were

    brew install gawk

    brew install pkg-config

    brew install libffi

    brew install readline

    brew install bison

    brew install gnu-sed

    brew install hg

    brew install libftdi

    For IceTools, you will need to change icebox/Makefile from using python2 to python before it will build the DB files required.

    Download both yosys and arachne-pnr and compile with make

    iceprog make file needed hacking to find ftdi header and library path.

    It all compiles, haven't actually tried it, yet but should be no problems as far as I can see now :)

  • Starting fresh

    deano07/30/2015 at 05:19 3 comments

    I've just moved from the UK to the Cupertino, CA in the US (bet you can guess the company ;) ) and building out my maker lab again. 2nd time i've learnt a lot, also actually have some money to spend rather than whatever I can scrounge. The main excuse for new stuff is the old 220v vs 110v which is a bit of a lie, as a step up would be fine for most of the stuff but its a good enough of an exuse


    Eagle 7.3 is my poison for layout, grabbed the hobbiest license from Adafruit, as no commercial stuff for a while and gives me the space and features to make life a bit nicer. Did consider other packages (Eagle and I have a love/hate relationship) but all have issues, working on OS X being number 1, cost or privacy issues being number 2. Did seriously think about blowing multiple kilo-dollars on a package but in the end couldn't justify it without a commercial reason, the new lab is costing enough as is.

    Got a new 3D printer, a Rigol DS1102D mixed scope and LA. new PSU, nice new Weller iron + proper vice, cutters, static mat etc. Still few relatively little things to get (like a decent bench) for the electronic side of things, maker side some big costly items.

    Ideal world could make simple 256 ball bga devices in house with cases etc. but thats a bit unrealistic. PCB would send off but assembly would be nice to do at home. Going to need oven and microscope for that to pan out...

    So first board is going to uses a 144 TQFP iCE40HX4K part, will give practise on smd parts and should make a fairly nice little dev board. After that want to try the csBGA HX8K parts :I

    First job has been making a part for the library, slow as i'm rusty in Eagle and user friendlynice has never been a strong point (esp on a laptop). Part of me knows that ULP and i'm sure a bunch of tricks can make this less laborious but oh well slow and steady win the race.

View all 5 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates