Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge remote-tracking branch 'upstream/master' into master #26

Draft
wants to merge 330 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
b0a3b66
move cde and hardfloat to dependencies folder
sequencer Sep 24, 2023
7b01955
add support to build chisel from source
sequencer Oct 2, 2023
11f0119
Merge pull request #3507 from chipsalliance/chisel_source
sequencer Nov 15, 2023
1751e0c
Bump to Chisel 5.1
sequencer Nov 16, 2023
89f46b3
Merge pull request #3530 from chipsalliance/chisel5p1
sequencer Nov 16, 2023
218ae0a
Remove Scalar Crypto and BitManip
cyyself Nov 16, 2023
6b67317
Merge pull request #3532 from cyyself/remove_b_zk
sequencer Nov 17, 2023
df66c19
remove vMemDataBits check
sequencer Nov 23, 2023
74dd9b1
remove vector on dcache port
sequencer Nov 23, 2023
5bef59a
add vectorUseDCache parameter
sequencer Nov 25, 2023
b3fa8df
Merge pull request #3537 from chipsalliance/vec-hotfix
sequencer Nov 25, 2023
9c35f3b
remove vMemDataBits check
sequencer Nov 23, 2023
e9ed56f
remove vector on dcache port
sequencer Nov 23, 2023
ed7e6f7
add vectorUseDCache parameter
sequencer Nov 25, 2023
63aa0bb
Remove Scalar Crypto and BitManip
cyyself Nov 16, 2023
74d65ca
Merge pull request #3541 from chipsalliance/mergify/copy/master/pr-3532
jerryz123 Nov 25, 2023
f51bca4
Vector CSR data hazard
jerryz123 Nov 28, 2023
9dc08fe
Pass vxrm to vector impl
jerryz123 Nov 28, 2023
749a3ea
Merge remote-tracking branch 'origin/dev' into clusters2
jerryz123 Dec 15, 2023
d90ce17
* Remove line that does an H to S mode mapping as this isn't specifie…
JulianBailey Dec 18, 2023
f05e1d2
refactor(doc): update diplomacy adder code sample to pass compilation
donaldkuck Dec 20, 2023
37e1d56
Merge pull request #3547 from SpinEch0/doc
jerryz123 Dec 20, 2023
80dffc8
Merge commit '50adbdb' into ifv
jerryz123 Dec 27, 2023
e4572b0
Merge pull request #3546 from JulianBailey/master
jerryz123 Dec 28, 2023
2813aab
Merge branch 'master' into mergify/copy/master/pr-3537
jerryz123 Dec 28, 2023
12139be
scalar read, rm
dpgrubb13 Dec 7, 2023
cd4b38b
Simplify vector-fpu integration
jerryz123 Dec 28, 2023
bf79222
add vector FP exceptions
dpgrubb13 Dec 16, 2023
66bd400
Fix scalar FP to vector
jerryz123 Dec 28, 2023
48602b9
Vector trap-check should block younger exceptions
jerryz123 Jan 3, 2024
28bbca5
Add vector ll scalar wb interface
jerryz123 Jan 3, 2024
a68cfc1
Fix vector-to-scalar trace
jerryz123 Jan 3, 2024
1850695
Merge pull request #3540 from chipsalliance/mergify/copy/master/pr-3537
jerryz123 Jan 4, 2024
710e2e5
Remove the unused outer argument in HellaCacheBundle
poemonsense Jan 5, 2024
aa214ce
Merge pull request #3553 from poemonsense/fix-outer-argument
sequencer Jan 5, 2024
fbd0fb8
Add vector/fp interface
jerryz123 Jan 8, 2024
060a761
Merge pull request #3490 from chipsalliance/clusters2
sequencer Jan 9, 2024
4639233
Fix outdated technical report link.
FantasqueX Jan 10, 2024
2217e09
Update README.md
menotti Jan 16, 2024
166a95b
Update SRAM to improve throughput on full write
Kevin99214 Jan 16, 2024
2fd1d1f
Merge pull request #3557 from Kevin99214/master
jerryz123 Jan 18, 2024
c281c56
Merge pull request #3554 from FantasqueX/fix-outdated-technical-repor…
jerryz123 Jan 18, 2024
07efde6
Merge pull request #3556 from menotti/patch-1
jerryz123 Jan 18, 2024
b6d02ea
Add hardware ROB debugger to trace register writeback values
joonho3020 Jan 13, 2024
3588938
Add cntr to measure max queue cnt
joonho3020 Jan 16, 2024
2974eca
DebugROB params
joonho3020 Jan 20, 2024
6d5b054
Vec should kill in-flight dcache
dpgrubb13 Jan 22, 2024
af11ed4
StoreGen supported maxSize > dat.length
jerryz123 Jan 22, 2024
9f0b3d8
Fix Chisel deprecated APIs
SpriteOvO Jan 22, 2024
56a4da7
Set vector killm for all killm cases
jerryz123 Jan 23, 2024
203fc1f
Fix vsetvl
jerryz123 Jan 23, 2024
5930109
Add diplomatic node to rocket vector unit
Dec 18, 2023
ef404d7
Merge pull request #3561 from SpriteOvO/fix-chisel-deprecated-api-dev
sequencer Jan 23, 2024
b28eb6a
Fix build.
gonsolo Jan 24, 2024
de696aa
Fix set vstart
jerryz123 Jan 25, 2024
33c16e3
Merge pull request #3563 from gonsolo/fix-disable-infer
jerryz123 Jan 25, 2024
3172ee6
Support swap12 in fpu external interface
jerryz123 Jan 25, 2024
fb3c8dd
Add scalar FPU-to-vector support
dpgrubb13 Jan 26, 2024
dc24b03
Remove deprecated registerrouter APIs
jerryz123 Jan 26, 2024
b99a77c
Merge remote-tracking branch 'origin/master' into dev
jerryz123 Jan 26, 2024
0292f13
Remove dontCare from fpuOpt
jerryz123 Jan 26, 2024
548e713
Update src/main/scala/rocket/RocketCore.scala
joonho3020 Jan 26, 2024
5e01baf
Update src/main/scala/rocket/RocketCore.scala
joonho3020 Jan 26, 2024
377aa14
Add flags to disable debug ROB as well
joonho3020 Jan 26, 2024
fd2316d
update debug rob flag only on enable
joonho3020 Jan 26, 2024
7d1155d
Merge pull request #3566 from chipsalliance/sync
sequencer Jan 29, 2024
8026b6b
Merge pull request #3565 from chipsalliance/no-rr
sequencer Jan 29, 2024
baa9f45
Merge pull request #3560 from joey0320/trace-wb-dev
jerryz123 Jan 29, 2024
0bff786
Fix shared FPU for divSqrt ops
jerryz123 Jan 29, 2024
5bcdcb2
Merge commit '749a3ea' into ifv
jerryz123 Jan 29, 2024
9b0416e
add slave node to rocc
richardyrh Feb 1, 2024
52b8c6e
Fence for RoCC on rocc-csr writes
jerryz123 Nov 25, 2023
dfaa357
Simplify id_csr_rocc_write
jerryz123 Feb 2, 2024
c025c2e
Merge pull request #3539 from chipsalliance/rocc-csr-fence
jerryz123 Feb 12, 2024
ef2876c
Pass vconfig to vec-decode
jerryz123 Feb 12, 2024
f3951e7
Fix vstart bypassing
jerryz123 Feb 12, 2024
15c63b5
Modularize PMA-checking functionality
jerryz123 Feb 8, 2024
39b2188
Merge pull request #3568 from chipsalliance/pmas
jerryz123 Feb 13, 2024
2b4b79d
Add error module in LazyModule construction
jerryz123 Feb 15, 2024
7b9d44f
Merge pull request #3569 from chipsalliance/lm-error
sequencer Feb 15, 2024
2a3bd4e
Fix AXI4 Xbar elaboration error due to missing fields
tymcauley Dec 24, 2023
49e7d27
Merge pull request #3549 from tymcauley/waiveall-axi4-xbar
jerryz123 Feb 20, 2024
eb141eb
Fix vector interface gating in FPU
jerryz123 Feb 20, 2024
44ad268
Use sortedSlaves in some TL helpers
jerryz123 Feb 23, 2024
1cb9506
Merge pull request #3572 from chipsalliance/tl-sorted
sequencer Feb 25, 2024
7d1495b
remove depending on explicit SBUS
sequencer Feb 25, 2024
2f5bcc9
Merge pull request #3573 from chipsalliance/no-more-sbus
sequencer Feb 25, 2024
516da16
split dts related logic out from BareSubsystem to prepare for CIRCT-OM
sequencer Feb 26, 2024
9d06cc5
Merge pull request #3574 from chipsalliance/clean-up-resource-api
sequencer Feb 26, 2024
2657317
purge xbus in BaseSubsystem
sequencer Feb 26, 2024
2b8fa0a
Merge pull request #3575 from chipsalliance/no-more-xbus
sequencer Feb 27, 2024
c79db98
FIFOFixer should be identity when no clients may request Fifo
jerryz123 Feb 28, 2024
7f8f08b
Merge pull request #3577 from chipsalliance/fifo-identity
jerryz123 Feb 28, 2024
ebef114
Merge pull request #3567 from richardyrh/rocc-slave
jerryz123 Feb 28, 2024
27f23ee
Move diplomacy to standalone library absorbing aop
lordspacehog Feb 26, 2024
072bc41
Fix vsetvl with rs1=x0
jerryz123 Feb 29, 2024
5a17c56
Allow pulling out full output from iterative imul
jerryz123 Feb 29, 2024
ed09cea
Support pulling out full imul response
jerryz123 Feb 29, 2024
f8105ce
Add full_data to pipelined-mul-unit
jerryz123 Feb 29, 2024
35a69e7
Merge pull request #3578 from chipsalliance/full-mul
sequencer Mar 1, 2024
cc57dcc
Delete SFC RegisteredLibrary file
tymcauley Mar 1, 2024
4996086
Merge commit '8026b6b' into ifv
jerryz123 Mar 1, 2024
d6d5b05
Merge pull request #3580 from tymcauley/remove-sfc-options
sequencer Mar 4, 2024
8c49974
Update diplomacy dependency to track master
lordspacehog Mar 6, 2024
b3476b1
Merge pull request #3571 from lordspacehog/aswehla/standalone_diplomacy
sequencer Mar 8, 2024
aa92969
bump diplomacy and switch to diplomacy/master
sequencer Mar 11, 2024
2af9fe6
Merge pull request #3583 from chipsalliance/diplomacy-bump
sequencer Mar 11, 2024
20a5fe3
Add tlb_port to NBDcache as well
jerryz123 Mar 12, 2024
2fb2c5f
Improve NBDCache performance
jerryz123 Mar 12, 2024
61b59e9
Add req.no_resp to ScratchpadSlavePort
jerryz123 Mar 12, 2024
b50ad58
add mem.req.no_resp to rocc examples
jerryz123 Mar 12, 2024
6e554f3
Add tlb_port to NBDcache as well
jerryz123 Mar 12, 2024
d8afe64
Improve NBDCache performance
jerryz123 Mar 12, 2024
e47a188
Add req.no_resp to ScratchpadSlavePort
jerryz123 Mar 12, 2024
174a4b9
add mem.req.no_resp to rocc examples
jerryz123 Mar 12, 2024
1e9fef1
Fix vector integration
jerryz123 Mar 13, 2024
bf6e57d
Support managers with < pageSize alignment
jerryz123 Mar 15, 2024
6d00957
Merge pull request #3589 from chipsalliance/precise_tlb_perms
jerryz123 Mar 15, 2024
a721154
Merge pull request #3588 from chipsalliance/tlb_port
jerryz123 Mar 15, 2024
e81ed19
Fix missing no_resp field in TraceGen hella-cache req
jerryz123 Mar 15, 2024
f228714
Merge pull request #3590 from chipsalliance/tracegen-fix
jerryz123 Mar 16, 2024
527560a
Merge remote-tracking branch 'origin/dev' into ifv
jerryz123 Mar 18, 2024
6036838
Port AMBA to standalone diplomacy
lordspacehog Mar 18, 2024
9dbe82b
fixup! Port AMBA to standalone diplomacy
lordspacehog Mar 18, 2024
b33b8dd
Merge pull request #3592 from Zephyr-Computing-Systems/aswehla/amba_d…
jerryz123 Mar 19, 2024
b036fa2
Fix TLFragmenter assert
jerryz123 Mar 20, 2024
0b2d940
Support v-impls which issue vconfig to backend
jerryz123 Mar 20, 2024
28bf141
Fix TLFragmenter assert
jerryz123 Mar 20, 2024
ea3d882
Only connect vector dcache port if requested by VU
jerryz123 Mar 20, 2024
ea35ee2
Remove DebugROB requires
jerryz123 Mar 20, 2024
c2651f4
Fix debug rob for some vector units
jerryz123 Mar 20, 2024
32b2d12
Fix s1_data when coreDataBits > xLen
jerryz123 Mar 20, 2024
84409c8
Fix s1_data when coreDataBits > xLen
jerryz123 Mar 20, 2024
dbcb06a
PTW Hypervisor bug fixes: check GPA bits higher than HGATP.Mode (#3591)
ingallsj Mar 20, 2024
b7e4f05
Merge pull request #3598 from chipsalliance/fix_s1_data
jerryz123 Mar 20, 2024
224b91f
Merge pull request #3595 from chipsalliance/tlfrag-assert
jerryz123 Mar 21, 2024
db35cb8
Merge remote-tracking branch 'origin/dev' into ifv
jerryz123 Mar 21, 2024
73ee196
Update LazyRoCC blackbox
jerryz123 Mar 21, 2024
01303e7
Merge remote-tracking branch 'origin/master' into sync
jerryz123 Mar 21, 2024
f13a570
Merge pull request #3600 from chipsalliance/sync
jerryz123 Mar 21, 2024
3c888a2
Add message to usingVector require
jerryz123 Mar 21, 2024
b8d59a0
Fix ll_resp not writing into FPU
jerryz123 Mar 26, 2024
e254fff
Migrate diplomacy imports to standalone diplomacy
lordspacehog Mar 19, 2024
3279f17
Merge pull request #3602 from Zephyr-Computing-Systems/aswehla/update…
jerryz123 Mar 28, 2024
7a12ab9
Add store_pending notification bit to DCache
jerryz123 Mar 28, 2024
b60568c
Fix RoCCBlackbox
jerryz123 Mar 28, 2024
9f92ac6
Fix chisel3.experimental imports in debug/Periphery
jerryz123 Mar 28, 2024
5453ae9
Merge pull request #3605 from chipsalliance/debug-fix
jerryz123 Mar 28, 2024
80ff66a
Store pending bit should include IOMSHRs
jerryz123 Mar 29, 2024
8ff7929
Avoid structural hazard-induced nacks on external fpu reqs
jerryz123 Mar 30, 2024
521a1d1
Set fp sboard for vector writes into fpregfile
jerryz123 Mar 30, 2024
93fe30e
Fix connection order of meip/seip to plic
jerryz123 Apr 2, 2024
51e8773
Merge pull request #3606 from chipsalliance/plic-order
jerryz123 Apr 3, 2024
c37e630
Fix tile interrupt sources
jerryz123 Apr 3, 2024
c10ce93
Merge pull request #3608 from chipsalliance/tile-int-fix
jerryz123 Apr 3, 2024
6ce53a1
Update SRAM.scala to improve perf on non-full sized reads
Kevin99214 Apr 10, 2024
87b3a4d
Merge pull request #3614 from Kevin99214/master
jerryz123 Apr 15, 2024
b613fbe
Fix DelayQueue
jerryz123 Apr 16, 2024
c8eb0ee
Add illegal instruction detection to RVC decoder
chenguokai Apr 8, 2024
3bd6174
Merge remote-tracking branch 'origin/dev' into ifv
jerryz123 Apr 19, 2024
d8de943
Merge pull request #3613 from OpenXiangShan/illegal_rvc
jerryz123 Apr 23, 2024
960c147
Hypervisor: drive mtinst/htinst
ingallsj Apr 23, 2024
1a7a96c
PTW: traverse check GPA bits higher than HGATP mode only if valid
ingallsj Apr 23, 2024
0c510ec
Merge pull request #3625 from chipsalliance/ptw_gf
jerryz123 Apr 23, 2024
65164f8
Merge pull request #3624 from chipsalliance/mhtinst
jerryz123 Apr 23, 2024
cc1395b
Merge remote-tracking branch 'origin/dev' into ifv
jerryz123 Apr 23, 2024
94d1b43
TLMonitor: Fix a_opcode_lookup width
jerryz123 Apr 25, 2024
31e1ed8
Fix extraction-width warnings in Debug.scala
jerryz123 Apr 25, 2024
7960fe8
Fix extraction-width warnings in Debug SBA.scala
jerryz123 Apr 25, 2024
91a6038
Fix extraction-width warnings in TL Error.scala
jerryz123 Apr 25, 2024
5de77a2
Fix extraction-width warnings in CSR.scala
jerryz123 Apr 25, 2024
2ff60ca
Fix extraction-width warnings in ICache.scala
jerryz123 Apr 25, 2024
cd4b193
Fix extraction-width warnings in TLMonitor.scala
jerryz123 Apr 25, 2024
ebe730b
Fix extraction-width warnings in TLWidthWidget.scala
jerryz123 Apr 25, 2024
0b556a1
Set TLRAM setName based on devName
jerryz123 May 1, 2024
c69faba
Merge pull request #3626 from chipsalliance/width-fix
jerryz123 May 8, 2024
e79ecc1
Suggest name for plic domain
joonho3020 May 11, 2024
2f462f5
Merge pull request #3628 from joonho3020/plic-domain-name
jerryz123 May 12, 2024
4bd4675
Decode vector insns as illegal when vill
jerryz123 May 14, 2024
10bc824
Fix vlMax computation
jerryz123 May 14, 2024
724974d
setvl should use new vtype to compute vlMax
jerryz123 May 14, 2024
22cc8aa
Don't gate of ctrl.vec with vill
jerryz123 May 14, 2024
d92922a
Fix vector debug trace
jerryz123 May 17, 2024
a235684
Merge pull request #3599 from chipsalliance/ifv
jerryz123 May 17, 2024
2371ef6
Support configurable ifpu and fpmu latency in FPU
jerryz123 May 17, 2024
2453dd4
Allow pipeline coprocessor accesses into FPU
jerryz123 May 17, 2024
2e1bfe5
Merge pull request #3631 from chipsalliance/cp_fpu
jerryz123 May 21, 2024
c68e850
Update APBtoTL scala to not flip apb address when doing conversion
Kevin99214 May 22, 2024
8b80cba
Add IO Connections for Custom User Field in TL Channels within Xbar
ksungkeun84 May 29, 2024
d9a3d99
Merge pull request #3634 from Kevin99214/APBToTLfix
jerryz123 May 30, 2024
1709858
Set ClockDomain desiredName by ClockParameters name
jerryz123 May 30, 2024
c82a93d
Add generateSynchronousDomain API to set domain desiredName
jerryz123 May 30, 2024
3cec0f0
Set desiredName for ClockDomains of rom/plic/clint
jerryz123 May 30, 2024
f43041d
Merge pull request #3639 from chipsalliance/named_domains
jerryz123 May 30, 2024
ee00619
Set desiredName for many system components
jerryz123 May 30, 2024
aea0064
Move clockCrossing types into prci
jerryz123 Jun 6, 2024
a73b797
Move dts/resources to new resources subpackage
jerryz123 Jun 6, 2024
4ac1529
Add deprecated accessors to diplomacy package components
jerryz123 Jun 6, 2024
6d88d6c
Merge pull request #3642 from chipsalliance/empty_diplomacy
jerryz123 Jun 12, 2024
ce9a2ec
Interrupts coming outwards from the Tile should cross into a toPlicDo…
jerryz123 Jun 13, 2024
043926a
Merge pull request #3648 from chipsalliance/tile_int_domain
jerryz123 Jun 13, 2024
ea9979b
Merge pull request #3641 from chipsalliance/naming
jerryz123 Jun 25, 2024
949ca21
PTW: traverse check GPA bits higher than HGATP mode only if leaf
ingallsj Jun 26, 2024
79626c0
Merge pull request #3651 from chipsalliance/ptw_leaf
jerryz123 Jun 27, 2024
dd26375
Allow non-V implementations of vector units, with Zve/Zvl extensions
jerryz123 Jun 28, 2024
caa9d8a
Merge pull request #3652 from chipsalliance/rvv_isastrs
jerryz123 Jun 29, 2024
5a4213f
Add new config-fragements
Kevin99214 Jun 29, 2024
1ba5acd
Merge pull request #3654 from Kevin99214/NewSubsystemConfigFragments
jerryz123 Jun 30, 2024
f388fb1
Split RocketConfigs into separate file
jerryz123 Jun 29, 2024
53bf263
Move xLen/pgLevels to tile-local parameters
jerryz123 Jun 30, 2024
50559ea
DRY out the RocketConfigs
jerryz123 Jun 30, 2024
c558393
Move RocketConfigs to rocket.Configs
jerryz123 Jun 30, 2024
e3da6bd
Clean up and add some Rocket configs
jerryz123 Jun 30, 2024
93cef4e
Add pgLevels check to Tile
jerryz123 Jun 30, 2024
0464c21
Clean up TileAttachConfig | add atTileIds method
jerryz123 Jun 30, 2024
f50b0db
Merge pull request #3655 from chipsalliance/split-configs
jerryz123 Jul 11, 2024
54ff555
Add IO Connections for Custom User Field in TL Channels within Xbar
ksungkeun84 Jul 18, 2024
afe77ac
Fix for compilation error in PhysicallFilter
ksungkeun84 Jul 18, 2024
4b33216
Merge pull request #3637 from ksungkeun84/master
jerryz123 Jul 18, 2024
286e842
Properly generate zvfh isa string
jerryz123 Jul 23, 2024
e53bbfc
Fix zvfh capitalization
jerryz123 Jul 23, 2024
04d4271
Fix FP16 storegen bug
jerryz123 Jul 26, 2024
794c5b1
bug fix to io.out.bits.store
sequencer Jul 29, 2024
306467d
Merge pull request #3659 from chipsalliance/zvfh
sequencer Jul 29, 2024
ee7f6a6
Support vector extensions
jerryz123 Aug 8, 2024
3e20954
Merge pull request #3665 from chipsalliance/v_exts
sequencer Aug 9, 2024
1aa0104
Add support for zba/zbb/zbs-enabled tiles
jerryz123 Aug 11, 2024
c68371e
Revert to single global ALU
jerryz123 Aug 12, 2024
37cfd6f
Fix rv64uzba test names
jerryz123 Aug 12, 2024
90da5bc
Support Zba in rocket
jerryz123 Aug 12, 2024
83e8c6b
Add Zbb support
jerryz123 Aug 12, 2024
51a5485
Support Zbs extension
jerryz123 Aug 12, 2024
09bbf5c
Fix rv32b
jerryz123 Aug 12, 2024
1dbaf6d
Add b-ext tests to CI
jerryz123 Aug 12, 2024
7e16264
Set 'b' in isaStr if zba+zbb+zbs
jerryz123 Aug 12, 2024
48037e9
Add HugeCore config that adds Zfh/Zba/Zbb/Zbs
jerryz123 Aug 12, 2024
044a434
Disable ma_data rv32 tests in CI, rocket does not support misaligned …
jerryz123 Aug 12, 2024
7c32936
Merge pull request #3667 from chipsalliance/b_ext
sequencer Aug 13, 2024
49158aa
Prevent bypasses from vector instructions
jerryz123 Aug 15, 2024
72690b0
Fix bit indices for rd when computing AVL for vsets
jerryz123 Aug 16, 2024
14b81e4
Merge pull request #3670 from chipsalliance/vec_bypasses
sequencer Aug 16, 2024
cff28b8
Merge pull request #3675 from chipsalliance/dev
jerryz123 Aug 21, 2024
445b5da
Adding support for Litex
leviathanch Aug 19, 2024
50744b3
Merge pull request #3674 from libresilicon/litex2
jerryz123 Aug 22, 2024
d0c6b50
VM disabled: support larger physical addresses (#3682)
ingallsj Sep 1, 2024
e66d617
Add RocketChip Technical Charter
bensternthal Sep 9, 2024
1b9f433
Merge pull request #3683 from chipsalliance/bensternthal-patch-1
sequencer Sep 17, 2024
2c260e2
Fix clock gating bug inside RocketCore when the RoCC is busy
moniriki Nov 11, 2024
2fe6bb5
Merge pull request #3696 from moniriki/moniriki/rocket_cg_rocc_bug_fi…
jerryz123 Nov 11, 2024
2a92a8c
Merge remote-tracking branch 'upstream/master' into master
NewPaulWalker Dec 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/mill-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
config: [DefaultConfig, DefaultBufferlessConfig, DefaultRV32Config, TinyConfig, DefaultFP16Config]
config: [DefaultConfig, DefaultBufferlessConfig, DefaultRV32Config, TinyConfig, DefaultFP16Config, DefaultBConfig, DefaultRV32BConfig]
steps:
- uses: actions/checkout@v2
with:
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
if: ${{ false }} # disable for now, I prefer adding firesim-based simulation framework in the future.
strategy:
matrix:
config: ["DefaultRV32Config,32,RV32IMACZicsr_Zifencei", "DefaultConfig,64,RV64IMACZicsr_Zifencei", "BitManipCryptoConfig,64,RV64IZba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh_Zksed_Zksh", "BitManipCrypto32Config,32,RV32IZba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh_Zksed_Zksh"]
config: ["DefaultRV32Config,32,RV32IMACZicsr_Zifencei", "DefaultConfig,64,RV64IMACZicsr_Zifencei"]
steps:
- uses: actions/checkout@v2
with:
Expand Down
18 changes: 11 additions & 7 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
[submodule "hardfloat"]
path = hardfloat
[submodule "dependencies/hardfloat"]
path = dependencies/hardfloat
url = https://github.com/ucb-bar/berkeley-hardfloat.git
[submodule "torture"]
path = torture
url = https://github.com/ucb-bar/riscv-torture.git
[submodule "cde"]
path = cde
[submodule "dependencies/cde"]
path = dependencies/cde
url = https://github.com/chipsalliance/cde.git
[submodule "dependencies/chisel"]
path = dependencies/chisel
url = https://github.com/chipsalliance/chisel.git
[submodule "dependencies/diplomacy"]
path = dependencies/diplomacy
url = https://github.com/chipsalliance/diplomacy.git
branch = master
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Rocket Chip Generator :rocket: ![Build Status](https://github.com/chipsalliance/
=====================

This repository contains the Rocket chip generator necessary to instantiate
the RISC-V Rocket Core. For more information on Rocket Chip, please consult our [technical report](http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html).
the RISC-V Rocket Core. For more information on Rocket Chip, please consult our [technical report](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html).

## RocketChip Dev Meeting

Expand Down Expand Up @@ -233,4 +233,4 @@ A list of contributors can be found [here](https://github.com/chipsalliance/rock

If used for research, please cite Rocket Chip by the technical report:

Krste Asanović, Rimas Avižienis, Jonathan Bachrach, Scott Beamer, David Biancolin, Christopher Celio, Henry Cook, Palmer Dabbelt, John Hauser, Adam Izraelevitz, Sagar Karandikar, Benjamin Keller, Donggyu Kim, John Koenig, Yunsup Lee, Eric Love, Martin Maas, Albert Magyar, Howard Mao, Miquel Moreto, Albert Ou, David Patterson, Brian Richards, Colin Schmidt, Stephen Twigg, Huy Vo, and Andrew Waterman, _[The Rocket Chip Generator](http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html)_, Technical Report UCB/EECS-2016-17, EECS Department, University of California, Berkeley, April 2016
Krste Asanović, Rimas Avižienis, Jonathan Bachrach, Scott Beamer, David Biancolin, Christopher Celio, Henry Cook, Palmer Dabbelt, John Hauser, Adam Izraelevitz, Sagar Karandikar, Benjamin Keller, Donggyu Kim, John Koenig, Yunsup Lee, Eric Love, Martin Maas, Albert Magyar, Howard Mao, Miquel Moreto, Albert Ou, David Patterson, Brian Richards, Colin Schmidt, Stephen Twigg, Huy Vo, and Andrew Waterman, _[The Rocket Chip Generator](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html)_, Technical Report UCB/EECS-2016-17, EECS Department, University of California, Berkeley, April 2016
Binary file added RocketChip_Technical_Charter_8-23-2024.pdf
Binary file not shown.
169 changes: 142 additions & 27 deletions build.sc
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,37 @@ import mill._
import mill.scalalib._
import mill.scalalib.publish._
import coursier.maven.MavenRepository
import $file.hardfloat.common
import $file.cde.common
import $file.dependencies.hardfloat.common
import $file.dependencies.cde.common
import $file.dependencies.diplomacy.common
import $file.dependencies.chisel.build
import $file.common

object v {
val scala = "2.13.10"
val scala = "2.13.12"
// the first version in this Map is the mainly supported version which will be used to run tests
val chiselCrossVersions = Map(
"3.6.0" -> (ivy"edu.berkeley.cs::chisel3:3.6.0", ivy"edu.berkeley.cs:::chisel3-plugin:3.6.0"),
"5.0.0" -> (ivy"org.chipsalliance::chisel:5.0.0", ivy"org.chipsalliance:::chisel-plugin:5.0.0"),
"5.1.0" -> (ivy"org.chipsalliance::chisel:5.1.0", ivy"org.chipsalliance:::chisel-plugin:5.1.0"),
// build from project from source
"source" -> (ivy"org.chipsalliance::chisel:99", ivy"org.chipsalliance:::chisel-plugin:99"),
)
val mainargs = ivy"com.lihaoyi::mainargs:0.5.0"
val json4sJackson = ivy"org.json4s::json4s-jackson:4.0.5"
val scalaReflect = ivy"org.scala-lang:scala-reflect:${scala}"
val sourcecode = ivy"com.lihaoyi::sourcecode:0.3.1"
val sonatypesSnapshots = Seq(
MavenRepository("https://s01.oss.sonatype.org/content/repositories/snapshots")
)
}

// Build form source only for dev
object chisel extends Chisel

trait Chisel
extends millbuild.dependencies.chisel.build.Chisel {
def crossValue = v.scala
override def millSourcePath = os.pwd / "dependencies" / "chisel"
def scalaVersion = T(v.scala)
}

object macros extends Macros
Expand All @@ -33,33 +50,60 @@ trait Macros
object hardfloat extends mill.define.Cross[Hardfloat](v.chiselCrossVersions.keys.toSeq)

trait Hardfloat
extends millbuild.hardfloat.common.HardfloatModule
extends millbuild.dependencies.hardfloat.common.HardfloatModule
with RocketChipPublishModule
with Cross.Module[String] {

def scalaVersion: T[String] = T(v.scala)

override def millSourcePath = os.pwd / "hardfloat" / "hardfloat"
override def millSourcePath = os.pwd / "dependencies" / "hardfloat" / "hardfloat"

def chiselModule = None
def chiselModule = Option.when(crossValue == "source")(chisel)

def chiselPluginJar = None
def chiselPluginJar = T(Option.when(crossValue == "source")(chisel.pluginModule.jar()))

def chiselIvy = Some(v.chiselCrossVersions(crossValue)._1)
def chiselIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._1)

def chiselPluginIvy = Some(v.chiselCrossVersions(crossValue)._2)
def chiselPluginIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._2)

def repositoriesTask = T.task(super.repositoriesTask() ++ v.sonatypesSnapshots)
}

object cde extends CDE

trait CDE
extends millbuild.cde.common.CDEModule
extends millbuild.dependencies.cde.common.CDEModule
with RocketChipPublishModule
with ScalaModule {

def scalaVersion: T[String] = T(v.scala)

override def millSourcePath = os.pwd / "cde" / "cde"
override def millSourcePath = os.pwd / "dependencies" / "cde" / "cde"
}

object diplomacy extends mill.define.Cross[Diplomacy](v.chiselCrossVersions.keys.toSeq)

trait Diplomacy
extends millbuild.dependencies.diplomacy.common.DiplomacyModule
with RocketChipPublishModule
with Cross.Module[String] {

override def scalaVersion: T[String] = T(v.scala)

override def millSourcePath = os.pwd / "dependencies" / "diplomacy" / "diplomacy"

// dont use chisel from source
def chiselModule = Option.when(crossValue == "source")(chisel)
def chiselPluginJar = T(Option.when(crossValue == "source")(chisel.pluginModule.jar()))

// use chisel from ivy
def chiselIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._1)
def chiselPluginIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._2)

// use CDE from source until published to sonatype
def cdeModule = cde

def sourcecodeIvy = v.sourcecode
}

object rocketchip extends Cross[RocketChip](v.chiselCrossVersions.keys.toSeq)
Expand All @@ -73,23 +117,29 @@ trait RocketChip

override def millSourcePath = super.millSourcePath / os.up

def chiselModule = None
def chiselModule = Option.when(crossValue == "source")(chisel)

def chiselPluginJar = None
def chiselPluginJar = T(Option.when(crossValue == "source")(chisel.pluginModule.jar()))

def chiselIvy = Some(v.chiselCrossVersions(crossValue)._1)
def chiselIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._1)

def chiselPluginIvy = Some(v.chiselCrossVersions(crossValue)._2)
def chiselPluginIvy = Option.when(crossValue != "source")(v.chiselCrossVersions(crossValue)._2)

def macrosModule = macros

def hardfloatModule = hardfloat(crossValue)

def cdeModule = cde

def diplomacyModule = diplomacy(crossValue)

def diplomacyIvy = None

def mainargsIvy = v.mainargs

def json4sJacksonIvy = v.json4sJackson

def repositoriesTask = T.task(super.repositoriesTask() ++ v.sonatypesSnapshots)
}

trait RocketChipPublishModule
Expand All @@ -108,7 +158,6 @@ trait RocketChipPublishModule
override def publishVersion: T[String] = T("1.6-SNAPSHOT")
}


// Tests
trait Emulator extends Cross.Module2[String, String] {
val top: String = crossValue
Expand Down Expand Up @@ -136,12 +185,40 @@ trait Emulator extends Cross.Module2[String, String] {
}
}

object litexgenerate extends Module {
def compile = T {
os.proc("firtool",
generator.chirrtl().path,
s"--annotation-file=${generator.chiselAnno().path}",
"--disable-annotation-unknown",
"-dedup",
"-O=debug",
"--split-verilog",
"--preserve-values=named",
"--output-annotation-file=mfc.anno.json",
"--lowering-options=disallowLocalVariables",
s"-o=${T.dest}"
).call(T.dest)
PathRef(T.dest)
}

def rtls = T {
os.read(compile().path / "filelist.f").split("\n").map(str =>
try {
os.Path(str)
} catch {
case e: IllegalArgumentException if e.getMessage.contains("is not an absolute path") =>
compile().path / str.stripPrefix("./")
}
).filter(p => p.ext == "v" || p.ext == "sv").map(PathRef(_)).toSeq
}
}

object mfccompiler extends Module {
def compile = T {
os.proc("firtool",
generator.chirrtl().path,
s"--annotation-file=${generator.chiselAnno().path}",
"-disable-infer-rw",
"--disable-annotation-unknown",
"-dedup",
"-O=debug",
Expand Down Expand Up @@ -268,6 +345,7 @@ object emulator extends Cross[Emulator](
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultBufferlessConfig"),
// RocketSuiteC
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig"),

// Unittest
("freechips.rocketchip.unittest.TestHarness", "freechips.rocketchip.unittest.AMBAUnitTestConfig"),
("freechips.rocketchip.unittest.TestHarness", "freechips.rocketchip.unittest.TLSimpleUnitTestConfig"),
Expand Down Expand Up @@ -295,8 +373,42 @@ object emulator extends Cross[Emulator](
//
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultFP16Config"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.BitManipCryptoConfig"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.BitManipCrypto32Config"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultBConfig"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32BConfig"),

// Litex
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall1x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall1x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall1x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall1x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall2x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall2x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall2x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall2x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall4x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall4x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall4x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall4x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall8x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall8x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall8x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigSmall8x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig1x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig1x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig1x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig1x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig2x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig2x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig2x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig2x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig4x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig4x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig4x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig4x8"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig8x1"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig8x2"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig8x4"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.LitexConfigBig8x8"),
)

object `runnable-riscv-test` extends mill.Cross[RiscvTest](
Expand Down Expand Up @@ -358,8 +470,8 @@ object `runnable-riscv-test` extends mill.Cross[RiscvTest](
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32uc-v", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32uf-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32uf-v", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32ui-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32ui-v", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32ui-p", "ma_data"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32ui-v", "ma_data"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32um-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "rv32um-v", "none"),

Expand All @@ -371,11 +483,17 @@ object `runnable-riscv-test` extends mill.Cross[RiscvTest](
// lsrc is not implemented if usingDataScratchpad
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig", "rv32ua-p", "lrsc"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig", "rv32uc-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig", "rv32ui-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig", "rv32ui-p", "ma_data"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.TinyConfig", "rv32um-p", "none"),

("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultFP16Config", "rv64uzfh-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultFP16Config", "rv64uzfh-v", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultBConfig", "rv64uzba-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultBConfig", "rv64uzbb-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultBConfig", "rv64uzbs-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32BConfig", "rv32uzba-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32BConfig", "rv32uzbb-p", "none"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32BConfig", "rv32uzbs-p", "none"),
)

object `runnable-arch-test` extends mill.Cross[ArchTest](
Expand All @@ -384,9 +502,6 @@ object `runnable-arch-test` extends mill.Cross[ArchTest](
// For CI within reasonable time
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultConfig", "64", "RV64IMACZicsr_Zifencei"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.DefaultRV32Config", "32", "RV32IMACZicsr_Zifencei"),

("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.BitManipCryptoConfig", "64", "RV64IZba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh_Zksed_Zksh"),
("freechips.rocketchip.system.TestHarness", "freechips.rocketchip.system.BitManipCrypto32Config", "32", "RV32IZba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh_Zksed_Zksh"),
)

object `runnable-jtag-dtm-test` extends mill.Cross[JTAGDTMTest](
Expand Down
7 changes: 3 additions & 4 deletions common.sc
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,18 @@ trait RocketChipModule
// should be hardfloat/common.sc#HardfloatModule
def hardfloatModule: ScalaModule

// should be cde/common.sc#CDEModule
def cdeModule: ScalaModule
def diplomacyModule: ScalaModule

def mainargsIvy: Dep

def json4sJacksonIvy: Dep

override def moduleDeps = super.moduleDeps ++ Seq(macrosModule, hardfloatModule, cdeModule)
override def moduleDeps = super.moduleDeps ++ Seq(macrosModule, hardfloatModule, diplomacyModule)

override def ivyDeps = T(
super.ivyDeps() ++ Agg(
mainargsIvy,
json4sJacksonIvy
json4sJacksonIvy,
)
)
}
1 change: 1 addition & 0 deletions dependencies/chisel
Submodule chisel added at e3bcc9
1 change: 1 addition & 0 deletions dependencies/diplomacy
Submodule diplomacy added at edf375
2 changes: 1 addition & 1 deletion docs/src/diplomacy/adder_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ behavior of typical Chisel width inference.
```scala mdoc:invisible
import chipsalliance.rocketchip.config.{Config, Parameters}
import chisel3._
import chisel3.internal.sourceinfo.SourceInfo
import chisel3.experimental.SourceInfo
import chisel3.stage.ChiselStage
import chisel3.util.random.FibonacciLFSR
import freechips.rocketchip.diplomacy.{SimpleNodeImp, RenderedEdge, ValName, SourceNode,
Expand Down
Loading