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
Clifford Wolf
28d6f97b00
Fix picosoc quad spi mode (flashio_worker must be multiple of 4 bytes)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 14:26:49 +02:00
Clifford Wolf
b3f292a988
Improve picosoc demo firmware, picosoc firmware build fixes
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 13:49:08 +02:00
Clifford Wolf
ce9d92939a
Merge pull request #61 from mmicko/linker-script
...
Created lds file (section mapping) and init for data and bss sections
2018-08-14 13:05:56 +02:00
Clifford Wolf
2a0cff8672
Merge pull request #74 from olofk/picosoc-fusesoc_v2
...
Picosoc fusesoc v2
2018-08-14 13:04:03 +02:00
Olof Kindgren
12274e9f8a
Add FuseSoC .core file for hx8kdemo
...
The core file specifies targets for FPGA implementation (fusesoc
build hx8kdemo) and simulation (fusesoc run --tool=<tool>
--target=sim hx8kdemo --firmware=path/to/firmware.he).
Simulation has been tested successfully with icarus, modelsim and xsim
2018-07-27 23:23:41 +02:00
Olof Kindgren
80f128713d
Add FuseSoC .core file for picosoc
...
This allows other cores to depend on the generic parts of picosoc
and use that as a base design.
2018-07-27 23:23:41 +02:00
Olof Kindgren
262da6444c
Add FuseSoC .core file for SPI Flash model
...
This allows other cores to depend on spiflash. Can also be used to
run the spiflash testbench with
fusesoc run --tool=<tool> spiflash --firmware=path/to/firmware.hex
This has been tested with icarus, modelsim and xsim. Fails with isim
If --tool is left out, icarus will be used as default
2018-07-26 23:26:43 +02:00
Clifford Wolf
9b6ea045f9
Update riscv-gnu-toolchain to cb6b34b
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-29 22:35:22 +02:00
Clifford Wolf
4fed27fc16
Fix showtrace.py for changed objdump output format
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-25 21:13:14 +02:00
Clifford Wolf
1cc9784d71
Fix "make testbench_verilator" bug
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-25 21:04:30 +02:00
Clifford Wolf
3f55fb4ccb
Improve testbench_verilator
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-25 13:04:49 +02:00
Clifford Wolf
247a19dd58
Add "make test_verilator"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-25 12:53:21 +02:00
Clifford Wolf
147da6432a
Merge pull request #69 from olofk/picosoc_regs_v3
...
Bypass picosoc compile order check if PICORV32_REGS is defined.
2018-05-19 12:09:52 +02:00