Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jordens/blinkie
Simple example of a custom MiSoC design
https://github.com/jordens/blinkie
Last synced: about 1 month ago
JSON representation
Simple example of a custom MiSoC design
- Host: GitHub
- URL: https://github.com/jordens/blinkie
- Owner: jordens
- Created: 2014-04-29T22:58:57.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-04-30T02:08:47.000Z (over 10 years ago)
- Last Synced: 2024-10-16T04:19:08.951Z (3 months ago)
- Language: Python
- Homepage: http://m-labs.hk
- Size: 138 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
__ ___ _ ____ _____
/ |/ / (_) / __/__ / ___/
/ /|_/ / / / _\ \/ _ \/ /__
/_/ /_/ /_/ /___/\___/\___/a high performance and small footprint SoC based on Migen
This package is a simple example of how to build a customized SoC with MiSoC. It
takes a simple MiSoC base design and adds a core that blinks a LED at a
frequency controllable from the CPU via a CSR. This package also contains
example software to control the frequency from the serial console.It can be run on the Papilio Pro, a small entry-level Spartan-6 LX9 board.
[> Getting started
------------------
1. Obtain MiSoC and follow its "Quick start guide". Set the MSCDIR environment
variable to the MiSoC directory.2. Run from MiSoC:
./make.py -X /path_to/blinkie -t blinkie all
This will build and flash our SoC design, plus the MiSoC BIOS.3. Build and flash the demo software:
cd software
make flash
Alternatively, the demo software can be loaded through the serial port using
flterm, by using "make load". The default serial device is /dev/ttyUSB1.4. Reboot the board (press the reconfiguration button on the Papilio Pro) and
open a serial terminal program at 115200 8-N-1. As an alternative to
rebooting the board, load the bitstream with "./make.py -X /path_to/blinkie
-t blinkie load-bitstream" in MiSoC.5. The BIOS and the demo software should load. Press 0-9 to set the LED
blinking frequency.[> How to use Mixxeo and Milkymist One
--------------------------------------
This example also works with Mixxeo and M1.
In targets/blinkie.py, replace "SimpleSoC" with "MiniSoC".
In software/Makefile, set BOARD to "mixxeo" or "m1" - you probably need to
change the serial port too.Building for Mixxeo is with the same command:
./make.py -X /path_to/blinkie -t blinkie all
Add "-p m1" to build for Milkymist One:
./make.py -X /path_to/blinkie -t blinkie -p m1 all[> Known problems
-----------------
The "load-bitstream" target does not work reliably on the Papilio Pro, due to a
bug that seems related to xc3sprog. You can load the bitstream using UrJTAG
instead, which does not cause the problem, or write the bitstream to the flash
everytime.