Sébastien Bourdeauducq Posted April 14, 2014 Report Share Posted April 14, 2014 Hi, I've been developing a Python-based SoC framework called MiSoC (successor to Milkymist SoC). Some of its key features are: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.You can find more details here: http://m-labs.hk/gateware.html and get the source from GitHub. There is now a basic port for Papilio Pro (except the SDRAM PHY - which would be a nice contribution) and for demo/documentation purposes I've made a simple example of a custom MiSoC design: https://github.com/m-labs/blinkieThe code in this repository takes a simple MiSoC base design and adds a core that blinks a LED at a frequency controllable from the CPU via a CSR. The repository also contains example software to control the frequency from the serial console. I hope you'll find those things useful. Sébastien Link to comment Share on other sites More sharing options...
This topic is now archived and is closed to further replies.