Commit graph

33 commits

Author SHA1 Message Date
Florian Zaruba
48be94f822 Ariane 4.1.0 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
11c8b4a58d
Update changelog 2019-01-30 15:36:39 +01:00
Florian Zaruba
603c74da2d
Fix signaling issue in rgmii converter 2018-11-25 14:46:31 +01:00
Michael Schaffner
67c68e5e8c
Merge remote-tracking branch 'upstream/ariane_next' into serpent 2018-11-23 19:07:43 +01:00
Florian Zaruba
785577d37a
🐛 Fix reset strategy in TB 2018-11-23 19:04:37 +01:00
Michael Schaffner
0bd9c4fb2b
Merge branch 'ariane_next' into serpent 2018-10-17 18:52:21 +02:00
Florian Zaruba
25a0470df6
Fix Issue #127 (#128)
* Switch to AXI structs

* Fix problems with ID width mismatches

* 📝 Update CHANGELOG
2018-10-17 16:30:58 +02:00
msfschaffner
8468544156
Misc majurity fixes (#125)
* Fix latch and timing loop in debu_req

* Fix unconnected IPI signals in CLINT, and unconnected regs in CSR_REGFILE

* Fix several issues with AXI IDs in axi_adapter, add AXI ID width parameter, and assertions testing for invalid read/write data

* Eliminate sim, simc make targets for Questa. Tests can be directly invoked via typing name and optionally specifying the gui-mode.

* Initialize instruction traced shadow regfile to zero at start of simulation

Fix progbuf offsets and tie unsupported counters to zero to avoid propagation of X

Fix printouts of assertions

Modify bootrom to prevent assignment of X to output

* Make separate CI target for AMO tests

* Bump fpga-support version

* Add AMO tests list

* Fix FPU submodule version

* Change core_id + cluster_id into hart_id

* Rename gitlab CI tests

* Replace all SYNTHESIS macros with pragma translate_off

* Update readme, bump common cells, benderize

* Fix torture make target

* Remove unneeded signal
2018-10-17 11:57:18 +02:00
Michael Schaffner
5d37678061
Update changelog 2018-10-15 22:31:20 +02:00
Florian Zaruba
712de20bdd
📝 Update README and CHANGELOG 2018-09-23 20:22:35 +02:00
Florian Zaruba
319ed5632e 🔥 Remove timer, CSR will trap on access 2018-08-01 01:25:05 +02:00
Florian Zaruba
74fa1d9dd5
🔥 Remove external flush interface from interface 2018-07-24 22:24:30 -07:00
Florian Zaruba
8199995c20
🎨 Update CHANGELOG and CONTRIBUTING 2018-06-30 14:19:23 -07:00
Florian Zaruba
bd9e852596
Merge branch 'master' into ariane_next 2018-04-09 15:18:45 +02:00
Florian Zaruba
62fc4bd816
Pump submodules, cherry-pick TLB clean-up 2018-04-09 15:11:15 +02:00
Florian Zaruba
594d4687e9
Merge branch 'new-frontend' into ariane_next 2018-03-14 14:35:49 +01:00
Florian Zaruba
d90a9b00a0
🐛 Fix encoding issue (undetected illegal instr) 2018-03-14 14:10:54 +01:00
Florian Zaruba
62fffe6a9a
Add correct dependencies 2018-03-06 17:20:47 +01:00
Florian Zaruba
038357ae3d
📝 Add documentation on generating hex file 2018-03-02 11:25:39 +01:00
Florian Zaruba
a3460b881a
Remove execute permissions from source files 2018-01-26 10:31:49 +01:00
Florian Zaruba
8a619040da
Clean-up add github remotes to submodules 2018-01-26 10:15:53 +01:00
Florian Zaruba
e1a5dd747f
Aad IPI to Ariane 2017-12-12 17:43:27 +01:00
Florian Zaruba
2935c7ae92
Merge multiplication branch 2017-11-12 21:31:08 +01:00
Florian Zaruba
69953a6257
Merge remote-tracking branch 'origin/perf_counters' into dcache 2017-10-28 23:30:00 +02:00
Florian Zaruba
8cdd4fa041
Load tests in physical mode are passing [ci skip] 2017-10-28 22:15:38 +02:00
Florian Zaruba
ed7fb5ce66
Fix link in changelog 2017-10-13 11:49:20 +02:00
Florian Zaruba
f0f37c0c6e
Add changelog 2017-10-13 11:47:56 +02:00
Florian Zaruba
817ff2dba9 Add CHANGELOG entry 2017-07-26 23:47:50 +02:00
Florian Zaruba
7654ad29c5 🎨 Establish link to version compare 2017-07-15 15:56:46 +02:00
Florian Zaruba
a4810888d0 i🎨 Improve CHANGELOG 2017-07-15 15:55:14 +02:00