Commit graph

97 commits

Author SHA1 Message Date
Florian Zaruba
48be94f822 Ariane 4.1.0 2019-03-18 11:51:58 +01:00
Florian Zaruba
ad223cfd9f Clean-up naming to distinguish OP from GP Ariane (#193)
* Clean-up naming to distinguish  OP from GP Ariane

* Rename wb to wt in hidden CI files

* Fix verilator install script
2019-03-18 11:51:58 +01:00
Florian Zaruba
a5f3184a65 Improve Tandem Simulation, switch-able caches and fix a cache-bug (#192)
* Add spike isa sim

* Fix AMO problem in verilator

* 🎨 Tidy up FPU wrapper

* Bump axi_exclusive submodule

* Refactor serpent AXI adapter, bump dbg and atomics submodules, add separate bootrom for linux on OpenPiton (#190)

* Refactor serpent AXI adapter

* Disable FPU in OpenPiton by default

* Bump dbg and atomics submodules

* Fix cache testbenches (interface change)

* FPGA bootrom changes for OpenPiton SDHC

* Introduce two bootroms, one for baremetal apps (pitonstream), and one for linux boot from SD

* Testing barrier-based synchronisation instead of CLINT-based

* This bootrom works for 2 core on g2 and if you change MAX_HARTS to 4, then 4 cores on vc707

* Add MAX_HARTS switch to makefile

* Fix gitlab CI

* Revert standard FPGA bootrom

* Update Flist

* Make UART_FREQ a parameter

* Fix typo in tb.list and an error in define switch in ariane_pkg

* Copy over SD-driver in bootloader from @leon575777642

* Fix compilation issues of bootrom

* Change signal name in serpent periph portlist

* Correct generate statement in serpent dcache memory

* Add Piton SD Controller, FPGA fixes

* Fix race condition in dcache misshandler

* Add tandem spike to Make flow

* Remove OpenPiton SD Card controller again
2019-03-18 11:51:58 +01:00
msfschaffner
07df142624 Maturity fixes and AXI extensions for write-through cache system (#188)
* : Fix PITON_ARIANE define issues
* Fix write-back / cache read collision issue in serpent dcache.
* Add separate bootrom / device tree for openpiton (hardcoded for 1x1 tile config at the moment).
* Bootrom generation update (better compatibility with older python versions), new bootrom for OpenPiton+Ariane.
* Fix assertion in icache.
* Correct JTAG timing constraints.
* Fix parameter type in fpga toplevel (fix #168).
* Remove conflicting bootrom from fpga file list.
* This flushs the branch predictors when entering exception handlers in order to avoid speculative fetches from virtual addresses (to be improved with PMAs).
* Fix byte offset of IPIs in CLINT
* Disable DCache flushes on fence for write-through cache (not needed in that case)
* Fix blocking assignments in ff process.
* Fix register access issue in debug mode, only affects A0 (fix #179).
* Fix multiple driver issue in PLIC
* Do not assume replicated data in serpent dcache when reading from an NC region.
* Another byte offset fix in IPIs (CLINT)
* Add AXI64 compliance switch to dcache_mem
* Fix genesys 2 constraints
* Map serpent atomic requests onto AXI atomic/exclusive transactions.
* Cleanup of AXI memory plumbing, add separate AXI adapter module.
* Remove unneeded interface signals, increase wbuffer #pending tx
* Fix verilator compilation issues in AXI adapter.
* Delete unnecessary constraint
* Delete duplicate module instance
* Update gitlab CI script
* Small fixes to make riscv atomics work with serpent_axi_adapter.
* Update travis and gitlab-ci scripts
* Register b responses for better timing.
* Remove fpu div submodule, update Makefile paths and src lists
* Constant bits in haltsum reduction must be 1 (AND reduction).
* Switch to DTM from riscv-dbg submodule
* Further cleanup fixes in AXI/serpent atomics
* Bump riscv-dbg version
2019-03-18 11:51:58 +01:00
Florian Zaruba
b1bdc0c02c Add System Verilog FPU (#163)
* Change reset strategy in ariane_verilog_wrap.sv, remove unneeded sigs in serpent_peripherals.

* saving...

* ⬆️ Updates for new FPU

* Add sv fpu to FPGA flow

* Use multi-threading capabilities of verilator

- Deactivate non-standard floating point arguments
- Make multi-threading conditional on the availability of verilator 4

* Remove DPI threadsafety

* Reduce FPGA clock frequency

- Remove couple of -v- tests to reduce test-time

* Fix documentation and fpga flow

- Fix cycle time to accommodate FPU
- Fix FPGA constraints

* Change UART frequency
2019-03-18 11:51:58 +01:00
Michael Schaffner
40be845580
Rerouting RISC-V DTM JTAG from PMOD header to 2nd channel of FTDI chip. 2019-01-30 11:36:34 +01:00
Michael Schaffner
9ff98be0f7
🎨 Update OpenPiton section in README 2018-11-29 14:33:12 +01:00
Florian Zaruba
f53aba7161
🎨 Update README with Linux credentials 2018-11-29 12:09:55 +01:00
Florian Zaruba
0c8bc49536
🎨 Update README 2018-11-29 11:18:20 +01:00
Florian Zaruba
7c09143664
FPGA build flow clean-up 2018-11-28 13:44:59 +01:00
Michael Schaffner
693fe335f3
Merge remote-tracking branch 'iis-git/ariane_next' into ariane_next 2018-11-26 12:09:59 +01:00
Michael Schaffner
41fb4d225e
Rename SERPENT_PULP define to PITON_ARIANE. 2018-11-26 12:07:54 +01:00
Florian Zaruba
6381b3d3ee
Add ILA and GPIO peripheral 2018-11-25 21:22:51 +01:00
Michael Schaffner
0850d2c713
Merge remote-tracking branch 'upstream/ariane_next' into serpent 2018-11-23 18:38:08 +01:00
Florian Zaruba
4558960b88
Small pre-release clean-up 2018-11-23 11:37:14 +01:00
Michael Schaffner
179054a0ec
Merge remote-tracking branch 'upstream/ariane_next' into serpent 2018-11-21 20:15:32 +01:00
Florian Zaruba
bb821300f1
Put batch flow in place (incl small flow fixes) 2018-11-19 19:24:31 +01:00
Florian Zaruba
3ef4bf3f09
📝 Update readme to include stand-alone elf running 2018-11-18 18:53:53 +01:00
Michael Schaffner
151fd7669a
Updated README.md 2018-11-18 11:33:46 +01:00
Florian Zaruba
3c40965e8a
Merge remote-tracking branch 'origin/ariane_next' into fpga_dev 2018-11-17 22:38:54 +01:00
Florian Zaruba
99a2fae447
Enable D$ by default and extend README 2018-11-16 17:20:58 +01:00
Florian Zaruba
f5c6b43705
Update README 2018-11-07 17:00:56 +01:00
Florian Zaruba
9db50883da
Improve Spike - Ariane alignment
- Don't increment instret on exception
- Align cycle counter with instret counter (-> IPC 1 as in Spike)
- Add mock uart functionality
- Make the preloading elf a plus-arg
2018-11-04 16:20:19 +01:00
Michael Schaffner
c5b01e31a9
Update readme, bump common cells, benderize 2018-10-15 22:02:33 +02:00
Florian Zaruba
90e075793c
Disable floating point tests in CI update README 2018-10-13 16:26:20 +02:00
Florian Zaruba
257d017abb
FPGA mapping working on Genesys 2 2018-09-27 12:02:23 +02:00
Florian Zaruba
9ee80b879b
Fix latch and timing loop in debu_req 2018-09-26 12:24:10 +02:00
Florian Zaruba
321abec12a
Merge remote-tracking branch 'origin/ariane_next' into fpga_dev 2018-09-24 18:09:40 +02:00
Florian Zaruba
b686a406a8
Integrate PLIC 2018-09-24 18:03:25 +02:00
Florian Zaruba
b58b63d61e
🐛 Fix re-naming when issued operand is flushed 2018-09-24 10:51:22 +02:00
Florian Zaruba
712de20bdd
📝 Update README and CHANGELOG 2018-09-23 20:22:35 +02:00
Florian Zaruba
b5f9cf57a1
Merge remote-tracking branch 'origin/fix-57' into a-extension 2018-09-23 15:50:44 +02:00
Florian Zaruba
e3c446e40d
amoadd.d riscv tests passing 2018-09-21 18:50:26 +02:00
Florian Zaruba
3b75716a59
Encoding working 2018-09-21 13:01:21 +02:00
Florian Zaruba
d29a334fe0
Wire-up clint, first debug test passing 2018-09-14 22:05:40 +02:00
Florian Zaruba
0ae3fb5ebb
Clean-up and fpga preparataion
- fix CDC
- Bump repo versions
- Fix interface issue with bypassed read/writes
2018-09-14 10:50:25 +02:00
Michael Schaffner
d2a2521bfd Add torture test targets to Makefile and fix CI flows 2018-09-13 17:54:07 +02:00
Florian Zaruba
5ff7ed4832
Fix Questa flow 2018-09-11 11:51:20 +02:00
Florian Zaruba
c6b6213358 📝 Update README.md 2018-08-02 02:02:30 +02:00
Florian Zaruba
5885de8d37 🎨 Remove section about unit tests 2018-08-01 01:20:02 +02:00
Florian Zaruba
37c9015120 🎨 Clean-up README and rom comments 2018-08-01 01:09:28 +02:00
Florian Zaruba
44300f4dbd
💚 Fix CI build 2018-07-24 22:42:09 -07:00
Florian Zaruba
3ec61a67cc
Change build dir, adapt README 2018-07-24 18:24:45 -07:00
Florian Zaruba
e35e2c11f2
Merge remote-tracking branch 'origin' into riscv-compliant-debug 2018-07-24 17:08:37 -07:00
Florian Zaruba
ee27a39a29
📝 Remove comment about performance increase 2018-07-24 11:14:20 -07:00
Florian Zaruba
54bbced94f
Add debug hart ctrl memory interface 2018-07-11 16:25:49 -07:00
Rahul Behl
7155c8b33e
README update for #21
- Added a new section in README about compiling custom C-code
2018-03-14 11:57:13 +05:30
Florian Zaruba
038357ae3d
📝 Add documentation on generating hex file 2018-03-02 11:25:39 +01:00
Florian Zaruba
8a326f76bb
📝 Correct from checking out to cloning 2018-02-19 20:33:02 +01:00
Florian Zaruba
d58ab98bf8
📝 Explicitly mention riscv-fesvr in README 2018-02-16 14:04:36 +01:00