Sébastien Bourdeauducq, the creator of the MilkyMist FPGA and SOC, was kind enough to put together an example project of his new MiSoC system for the Papilio Pro. It is a Python based system and it looks really great, check out the specs:
- LatticeMico32 CPU, modified to include an optional MMU (experimental). There is a work-in-progress NetBSD port.
- Based on Migen, a Python metaprogramming system and toolbox for HDL (think of it as a “generate” statement on steroids).
- High performance memory controller capable of issuing several SDRAM commands per FPGA cycle.
- Provided peripherals: UART, GPIO, timer, GPIO, NOR flash controller, SPI flash controller, Ethernet MAC, and more.
- High performance: on Spartan-6, 83MHz system clock frequencies, 10+Gbps DDR SDRAM bandwidth, 1080p 32bpp framebuffer, etc.
- Low resource usage: basic implementation fits easily in Spartan-6 LX9.
- Portable and easy to customize thanks to Python- and Migen-based architecture.
- Possibility to design new peripherals using Migen and benefit from automatic CSR maps and logic, automated bus interconnect, etc.