Rename "spiflash" example to "picosoc"
This commit is contained in:
parent
571f5d5df7
commit
caef4e3753
|
@ -128,6 +128,11 @@ Simple instruction-level tests from [riscv-tests](https://github.com/riscv/riscv
|
||||||
|
|
||||||
Another simple test firmware that runs the Dhrystone benchmark.
|
Another simple test firmware that runs the Dhrystone benchmark.
|
||||||
|
|
||||||
|
#### picosoc/
|
||||||
|
|
||||||
|
A simple example SoC using PicoRV32 that can execute code directly from a
|
||||||
|
memory mapped SPI flash.
|
||||||
|
|
||||||
#### scripts/
|
#### scripts/
|
||||||
|
|
||||||
Various scripts and examples for different (synthesis) tools and hardware architectures.
|
Various scripts and examples for different (synthesis) tools and hardware architectures.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
testbench: testbench.vvp firmware.hex
|
testbench: testbench.vvp firmware.hex
|
||||||
vvp -N $<
|
vvp -N $<
|
||||||
|
|
||||||
testbench.vvp: spiflash.v spimemio.v testbench.v top.v ../picorv32.v
|
testbench.vvp: spiflash.v spimemio.v testbench.v picosoc.v ../picorv32.v
|
||||||
iverilog -s testbench -o $@ $^
|
iverilog -s testbench -o $@ $^
|
||||||
|
|
||||||
spiflash_tb: spiflash_tb.vvp firmware.hex
|
spiflash_tb: spiflash_tb.vvp firmware.hex
|
||||||
|
@ -27,8 +27,8 @@ firmware.hex: firmware_vma.elf
|
||||||
firmware.bin: firmware.elf
|
firmware.bin: firmware.elf
|
||||||
riscv32-unknown-elf-objcopy -O binary firmware.elf firmware.bin
|
riscv32-unknown-elf-objcopy -O binary firmware.elf firmware.bin
|
||||||
|
|
||||||
design.blif: spimemio.v top.v ../picorv32.v
|
design.blif: spimemio.v picosoc.v ../picorv32.v
|
||||||
yosys -ql design.log -p 'synth_ice40 -top top -blif design.blif' $^
|
yosys -ql design.log -p 'synth_ice40 -top picosoc -blif design.blif' $^
|
||||||
|
|
||||||
design.asc: pinout.pcf design.blif
|
design.asc: pinout.pcf design.blif
|
||||||
arachne-pnr -d 8k -o design.asc -p pinout.pcf design.blif
|
arachne-pnr -d 8k -o design.asc -p pinout.pcf design.blif
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
PicoRV32 SPI-Flash Demo
|
PicoSoC - A simple example SoC using PicoRV32
|
||||||
=======================
|
=============================================
|
||||||
|
|
||||||
This is a simple PicoRV32 example design that can run code directly from an SPI
|
This is a simple PicoRV32 example design that can run code directly from an SPI
|
||||||
flash chip. This example design uses the Lattice iCE40-HX8K Breakout Board.
|
flash chip. This example design uses the Lattice iCE40-HX8K Breakout Board.
|
||||||
|
@ -18,7 +18,7 @@ and upload them to a connected iCE40-HX8K Breakout Board.
|
||||||
|
|
||||||
| File | Description |
|
| File | Description |
|
||||||
| --------------------------- | --------------------------------------------------------------- |
|
| --------------------------- | --------------------------------------------------------------- |
|
||||||
| [top.v](top.v) | Top-level Verilog module for the design |
|
| [picosoc.v](picosoc.v) | Top-level Verilog module for the design |
|
||||||
| [spimemio.v](spimemio.v) | Memory controller that interfaces to external SPI flash |
|
| [spimemio.v](spimemio.v) | Memory controller that interfaces to external SPI flash |
|
||||||
| [spiflash.v](spiflash.v) | Simulation model of an SPI flash (used by testbench.v) |
|
| [spiflash.v](spiflash.v) | Simulation model of an SPI flash (used by testbench.v) |
|
||||||
| [testbench.v](testbench.v) | Simple test bench for the design (requires firmware.hex). |
|
| [testbench.v](testbench.v) | Simple test bench for the design (requires firmware.hex). |
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Top-level for "spiflash" SoC demo
|
* PicoSoC - A simple example SoC using PicoRV32
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module top (
|
module picosoc (
|
||||||
input clk,
|
input clk,
|
||||||
output trap,
|
output trap,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* A simple simulation model for an SPI flash
|
* PicoSoC - A simple example SoC using PicoRV32
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* A simple test bench for the SPI flash simulation model
|
* PicoSoC - A simple example SoC using PicoRV32
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Interface module for SPI flash and PicoRV32 native memory interface
|
* PicoSoC - A simple example SoC using PicoRV32
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Test bench for the "spiflash" SoC
|
* PicoSoC - A simple example SoC using PicoRV32
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2017 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
||||||
|
@ -51,7 +51,7 @@ module testbench;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
top uut (
|
picosoc uut (
|
||||||
.clk (clk ),
|
.clk (clk ),
|
||||||
.gpio_i (gpio_i ),
|
.gpio_i (gpio_i ),
|
||||||
.gpio_o (gpio_o ),
|
.gpio_o (gpio_o ),
|
Loading…
Reference in New Issue