Commit graph

99 commits

Author SHA1 Message Date
Michael Schaffner
07aeb56387 Update to Verilator 4.014 2019-06-04 10:36:17 +02:00
Michael Schaffner
d30369da8a fpu: Add distributed pipe regs to ease FPGA timing 2019-06-04 10:36:17 +02:00
Michael Schaffner
55b69486f9 Fix for OpenPiton release 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
msfschaffner
0ffef2ae1a 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
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
89a0f6b5f6
Factor out multiplication tests 2018-11-28 22:19:04 +01:00
Michael Schaffner
41fb4d225e
Rename SERPENT_PULP define to PITON_ARIANE. 2018-11-26 12:07:54 +01:00
Michael Schaffner
179054a0ec
Merge remote-tracking branch 'upstream/ariane_next' into serpent 2018-11-21 20:15:32 +01:00
Michael Schaffner
32354ac49d
Temporarily disable torture targets due to CI runner issues. 2018-11-02 18:19:15 +01:00
Michael Schaffner
6315fb605c
Minor modifications to ci scripts. 2018-11-02 18:02:07 +01:00
Michael Schaffner
efce57f1c4
Reduce number of CI runner threads. 2018-10-31 20:57:11 +01:00
Michael Schaffner
bfc38d970b
Increase number of worker threads in CI. 2018-10-26 16:41:12 +02:00
Michael Schaffner
6539da7193
Merge branch 'ariane_next' into serpent 2018-10-19 11:29:00 +02:00
Michael Schaffner
76101fe9ed Improve serial divider performance by aligning operands, add serdiv testbench to CI 2018-10-19 10:53:16 +02:00
Michael Schaffner
423f9a5e4a
Improve serial divider performance by aligning operands, add serdiv testbench to CI 2018-10-19 10:00:33 +02:00
Michael Schaffner
0bd9c4fb2b
Merge branch 'ariane_next' into serpent 2018-10-17 18:52:21 +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
15cb764ea9
Adapt torture targets, disable AMO instructions for the time being to be compatible with serpent pulp 2018-10-16 13:11:01 +02:00
Michael Schaffner
6ecb9c5b46
Rename gitlab CI tests 2018-10-15 20:17:09 +02:00
Michael Schaffner
b394d366bf
Merge remote-tracking branch 'upstream/ariane_next' into serpent 2018-10-15 19:24:33 +02:00
Michael Schaffner
71f61878e3
Make separate CI target for AMO tests 2018-10-15 18:36:48 +02:00
Michael Schaffner
15b0ca956a
Eliminate sim, simc make targets for Questa. Tests can be directly invoked via typing name and optionally specifying the gui-mode. 2018-10-15 18:36:46 +02:00
Michael Schaffner
ff7bba23aa
Implemented serpent DCache and the corresponding TB 2018-10-15 18:36:36 +02:00
Michael Schaffner
b9ae8bfb4b Add correct paths for GitLab CI 2018-09-19 12:45:47 +02:00
Michael Schaffner
e2c57474f8
Merge branch 'ariane_next' into serpent 2018-09-14 21:00:29 +02:00
Michael Schaffner
6ec8fdb93d Fix CI 2018-09-13 17:54:07 +02:00
Michael Schaffner
d2a2521bfd Add torture test targets to Makefile and fix CI flows 2018-09-13 17:54:07 +02:00
Michael Schaffner
26f769a8ac Fix gitlab-ci description 2018-09-13 17:54:07 +02:00
Michael Schaffner
429bf25ec7 Add torture test to CI 2018-09-13 17:54:07 +02:00
Michael Schaffner
670495ba76 Bump GCC version to 7.2 in CI flows 2018-09-13 17:54:07 +02:00
Michael Schaffner
bd83037fe5
Fix Travis CI 2018-09-13 16:35:27 +02:00
Michael Schaffner
68d4bd1bfc
Fix CI 2018-09-13 16:32:39 +02:00
Michael Schaffner
40c067a0b1
Add serpent targets to CI 2018-09-13 13:30:49 +02:00
Michael Schaffner
b776416a7b
Add torture test targets to Makefile and fix CI flows 2018-09-13 13:27:31 +02:00
Michael Schaffner
42d80bd2ba
Add torture test targets to Makefile and fix CI flows 2018-09-13 13:23:51 +02:00
Michael Schaffner
782a713a25
Fix gitlab-ci description 2018-09-13 11:54:36 +02:00
Michael Schaffner
54010e961a
Add torture test to CI 2018-09-13 11:42:16 +02:00
Michael Schaffner
1044f75c6b
Merge branch 'ariane_next' into serpent 2018-09-12 18:40:39 +02:00
Michael Schaffner
1e9ebbbd5f
add iis paths 2018-09-12 18:17:27 +02:00
Michael Schaffner
7ddee4d0e7
Bump GCC version to 7.2 in CI flows 2018-09-12 18:07:53 +02:00
Michael Schaffner
c47cd6c268
Bump GCC version to 7.2 in CI flows 2018-09-12 17:36:36 +02:00
Michael Schaffner
38c3114c32
Add serpent cache tests to CI script 2018-09-06 18:07:28 +02:00
Michael Schaffner
c5a295166c add iis paths 2018-08-31 12:58:15 +02:00
Michael Schaffner
8e89f62181 restructure travis and gitlab-ci flow scripts and make targets
* fix typo in signal naming and make axi_adapter questa-sim compliant
2018-08-22 17:21:42 +02:00
Florian Zaruba
98b924a76f
📝 Update doc add .travis.yml 2018-02-05 13:22:52 +01:00
Florian Zaruba
387da70257
💚 Fix gitlab ci build 2018-01-25 11:17:01 +01:00
Florian Zaruba
440e89a719
Specify correct verilator version 2018-01-25 10:56:14 +01:00
Florian Zaruba
188e178e48
Use local verilator version 2018-01-23 16:00:53 +01:00
Florian Zaruba
ba415f21cf
Remove submodules, fix CI build 2018-01-23 15:50:48 +01:00