fughilli / ViveFPGACapture

FPGA-based timing synchronization and sweep pulse capture engine for a custom SteamVR-compatible tracked device.
3 stars 1 forks source link

How to port this to iCE40 / Upduino, iCEStorm toolchain? #1

Open paulreimer opened 6 years ago

paulreimer commented 6 years ago

Hi there,

I am looking to implement a simple (initially) IMU-less SteamVR tracker, and this project looks like a good starting point. It is my first use of programming an FPGA, but I would like to port this project to a different FPGA vendor (Lattice), and toolchain (iCEStorm).

Not sure if you have seen it, but it is a fairly capable FPGA in a QFN package, for $10 (or $15 with USB interface): http://gnarlygrey.atspace.cc/development-platform.html#upduino

Are you interested, in supporting an alternate platform such as this one? If you are able to provide suggestions/guidance, then I would be happy to do the porting effort. I am not sure what would be involved to support a different FPGA toolchain.

fughilli commented 6 years ago

Hi, porting to Lattice using the open-source tools actually interested me early on in this project. Doing that work shouldn't be too hard--you'll just need to define a different platform constraints file (the one for the mojo is the const.ucf in the repo). The rest of the Verilog implementation should be portable to another platform. You may also want to change the top-level IO mapping by making changes to mojo_top.v. Let me know if you've made progress on this!