Steffen Vogel
3710a86b81
icebreaker: artificially limit available RAM to speed-up simulation
2019-02-12 00:13:33 +01:00
Steffen Vogel
eb64df6c3e
picosoc: use preprocessor for generating target-specific linker script
2019-02-11 23:44:47 +01:00
Steffen Vogel
f3b1246c86
picosoc: added memtest
2019-02-11 23:14:56 +01:00
Steffen Vogel
d21937bafc
picosoc: increase available memory by using SPRAM instead of BRAM for the Icebreaker example
2019-02-11 23:13:05 +01:00
Steffen Vogel
017f537317
add readme file for torture test ( closes #93 )
2019-02-11 21:39:15 +01:00
Steffen Vogel
672c99b71e
added echo command for testing simpleuart
2019-02-11 21:26:45 +01:00
Austin Seipp
1c7f51ed60
scripts/icestorm: check circuit @ 62MHz
...
With arachne-pnr this circuit couldn't hit 60MHz, just barely under it.
OTOH, nextpnr hits about ~68 MHz. So let's set it somewhere inbetween to
make sure this is true over time!
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:49:37 -06:00
Austin Seipp
af3b1bb75d
scripts/icestorm: dedupe calls to yosys-config
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:49:18 -06:00
Austin Seipp
770b5bd4c6
scripts/icestorm: add readme
...
Notes about how to build proper simulation vs hardware bitstreams.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
13a9edf122
scripts/icestorm: remove unneeded -lgcc
...
This freestanding firmware doesn't need anything from the supporting
toolchain.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
2944564ba8
scripts/icestorm: move SHIFT_COUNTER_BITS into Makefile
...
This makes it easier to build separate bitstreams for simulation targets
vs the real bitstream for hardware, without editing any source code.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
752790a4d7
scripts/icestorm: comments only
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
d711ce527e
scripts/icestorm: add 'timing' target
...
This dumps a simple IceTime report for the bitstream; we fix the device
package to CT256, corresponding to the HX8K.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
4900ebb693
scripts/icestorm: force -march=rv32i
...
The IceStorm example core doesn't include compressed instructions or the
MULT extension; it is an rv32i core, not rv32i[m|c]. If the given
riscv32 toolchain is not explicitly told to generate rv32i code for the
firmware, it may generate invalid instructions which cause a trap during
simulation or on the hardware itself (although CATCH_ILLINSN is set to
zero in this case, too).
Luckily, any rv32i* toolchain (rv32imc for example) can fit the bill
here -- there's no use of libgcc or anything (which might introduce
illegal instructions generated previously) so just forcing the compiler
to generate the right code works nicely.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
fc71cadda4
scripts/icestorm: switch to nextpnr-ice40
...
nextpnr-ice40 gives a better fMAX for this design (by about ~9Mhz for
me: ~59MHz -> ~68MHz) and is The Way Of The Future.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp
070367c88d
scripts/icestorm: touch up Makefile a bit
...
This touches up the Makefile so that it:
- uses $@, $< and $^ in more places for brevity and robustness (typo
guards, etc)
- tracks dependencies slightly better (e.g. .pcf file changes weren't
tracked before)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 15:59:56 -06:00
Austin Seipp
42b7477ba7
Add shell.nix for Nix-based PicoRV32 development
...
The net result of this is that cd'ing into the main source directory and
running:
$ nix-shell
will get you every tool needed to immediately do RISC-V development with
picorv32 or picosoc (assuming you're targeting ICE40 or ECP5).
The shell.nix file contains many comments on how to use the resulting
environment.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 15:58:31 -06:00
Austin Seipp
9bf2fcb410
gitignore: update to ignore verilator artifacts
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 13:10:43 -06:00
Clifford Wolf
9b70921103
Merge pull request #102 from emilio93/patch-2
...
Update vivado scripts
2018-11-09 13:03:48 +01:00
Emilio Rojas
d7daf9b2cd
use 32 bit toolchain
2018-11-08 17:52:05 -06:00
Emilio Rojas
451bf030be
update to current vivado version
2018-11-08 17:51:45 -06:00
Clifford Wolf
de479b0905
Merge pull request #101 from mmicko/master
...
Alignment fix for global symbols fixes #97
2018-10-30 10:59:07 +01:00
Miodrag Milanovic
2f16c46918
Alignment fix for global symbols fixes #97
2018-10-28 18:48:19 +01:00
Clifford Wolf
3a6ac16259
Merge pull request #94 from hutch31/master
...
Added new testbench and linker file for ROM load
2018-10-19 13:04:41 +02:00
Guy Hutchison
82b44105a0
Merge pull request #1 from cliffordwolf/master
...
Fix typo in README.md
2018-10-18 13:55:02 -07:00
Guy Hutchison
4e766af587
Renamed linker file
2018-10-18 20:52:46 +00:00
Guy Hutchison
5c0e137792
Removed dead code and cleanup before pull request
2018-10-18 20:51:40 +00:00
Guy Hutchison
73318eaeab
Removed multiplier/divider
2018-10-18 20:33:40 +00:00
Guy Hutchison
f47ac81c89
Passing with custom linker file
2018-10-18 18:47:06 +00:00
Clifford Wolf
a721bb0c6e
Fix typo in README.md
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-10-17 12:34:49 +02:00
Clifford Wolf
ef386e8f17
Add libexpt1-dev to list of Ubuntu packages needed for building tools, closes #88
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-10-02 10:03:40 +02:00
Clifford Wolf
cf613d2088
Merge pull request #90 from bobbl/master
...
Fix PicoSoC firmware filename for simulation
2018-10-01 14:22:14 +02:00
Jörg Mische
cb766a3757
Fix PicoSoC firmware filename for simulation
2018-10-01 14:00:21 +02:00
Clifford Wolf
0d573311ce
Merge pull request #89 from emilio93/patch-1
...
Update Risc-V website link for tools
2018-09-30 14:27:17 +02:00
Emilio Rojas
e507c54058
Update Risc-V website link for tools
...
Current link ends up in 404 error
2018-09-15 12:08:11 -06:00
Clifford Wolf
028aa757df
Merge pull request #85 from olofk/fusesoc-icebreaker
...
Add FuseSoC support for icebreaker
2018-09-03 11:02:01 +02:00
Olof Kindgren
7b9641ad97
Add FuseSoC support for icebreaker
2018-09-02 22:48:47 +02:00
Clifford Wolf
23d7bbdc8b
Add rvfi_mode (set to constant 3 = M-mode)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-31 12:21:01 +02:00
Clifford Wolf
e3ce4ef800
Merge pull request #82 from mattvenn/master
...
fixes for hx8k board demo
2018-08-31 12:17:41 +02:00
matt venn
fabb3eaf70
fix firmware recipes
2018-08-30 22:27:34 +02:00
matt venn
fe1867817d
fix ifdef to include flash functions for hx8k
2018-08-30 22:27:18 +02:00
Clifford Wolf
e9c5831097
Fix chown call in Makefile (for building tools)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-26 18:23:55 +02:00
Clifford Wolf
2d6d5c055b
More PicoSoC firmware improvements for icebreaker
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-19 14:39:20 +02:00
Clifford Wolf
68c69136b9
Add icebreaker example PicoSoC implementation
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-19 13:38:59 +02:00
Clifford Wolf
1afe3af452
Add PicoSoC IceBreaker demo
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-18 20:17:21 +02:00
Clifford Wolf
b634224ccb
Merge pull request #79 from olofk/irqconfig
...
Expose ENABLE_IRQ_QREGS and PROGADDR_IRQ from picosoc.v
2018-08-18 19:32:35 +02:00
Olof Kindgren
75aa1055f8
Expose ENABLE_IRQ_QREGS and PROGADDR_IRQ from picosoc.v
2018-08-16 22:06:26 +02:00
Clifford Wolf
7c256656c2
PicoSoC: Use RDSR1+RDCR1+WRR instead of RDAR+WRAR
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-16 14:09:12 +02:00
Clifford Wolf
89c2761f57
Update riscv-gnu-toolchain
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 20:54:30 +02:00
Clifford Wolf
4c1e0f47a6
Add rs232 decode to picosoc hx8kdemo test bench
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 14:27:09 +02:00