Skip to content

ChipFlow/example-socs

Repository files navigation

Example ChipFlow design

This repository is the basis for our Introduction to the ChipFlow platform tutorial.

Preparing your local environment

Run the design in simulation

Build local simulation binary:

make sim-build

Build the software/BIOS which will run on our design.

make software-build

Now that we have our simulation and a BIOS, we can run it:

make sim-run

You should see something like this:

Simulation output

Run the design on a ULX3S board

Build the design into a bitstream for the board:

make board-build

Build the bios, and program BIOS into the board's flash:

make software-build
make board-load-software-ulx3s

Load SoC onto board (program its bitstream):

make board-load-ulx3s

Your board should now be running. You can connect to it via its serial port:

Connecting to your board on macOS

  • Find the serial port for your board, using ls /dev/tty.* or ls /dev/cu.*. You should see something like /dev/tty.usbserial-K00219 for your board.
  • Connect to the port via the screen utility, at baud 112200, with the command: screen /dev/tty.usbserial-K00219 115200.
  • Now, press the PWR button on your board, which will restart the design.
  • Within screen, should now see output like: Board output
  • To exit screen, use CTRL-A, then CTRL-\.

Generate an RTLIL from your design

make silicon-rtlil

You should now have an build/my_design.il.

Send your RTLIL to the API to prepare for manufacturing

make silicon-prepare