mwachs5
22ffe36258
Add a queue for timing QoR between L2->MMIO network ( #217 )
2016-08-19 22:51:49 -07:00
Howard Mao
f4e0e0966c
move rocketchip package sources into its own subdirectory
2016-08-19 13:45:23 -07:00
Howard Mao
7b20609d4d
reorganize moving non-submodule packages into src/main/scala
2016-08-19 13:45:23 -07:00
Andrew Waterman
114226252b
Hierarchicalize D$ config
2016-08-19 12:12:34 -07:00
Andrew Waterman
3f8c60bbd6
Hierarchicalize FPU and MulDiv parameters
...
This gets some leaf-level parameters out of the global parameterization,
better separating concerns. This commit also allows disabling the
M extension.
2016-08-19 12:06:17 -07:00
Colin Schmidt
0a6c05a5d8
connect top level interrupts to coreplex
2016-08-18 15:52:44 -07:00
Howard Mao
91a97d6773
add some more comments to describe the new device system
2016-08-18 15:06:55 -07:00
Howard Mao
1b6fa70b5c
Add test for external TL clients (bus mastering)
2016-08-18 14:26:03 -07:00
Howard Mao
18982d7351
add default addrMapEntry definition which throws exception
2016-08-18 12:29:41 -07:00
Howard Mao
f7c42499bb
allow ExtraDevices to have client ports as well as MMIO ports
2016-08-18 12:18:14 -07:00
Howard Mao
d771f37e7e
rename BusPorts to ExternalClients
2016-08-18 10:54:24 -07:00
Howard Mao
10190197c3
allow coreplex to take in more than 1 bus port
2016-08-18 10:35:25 -07:00
David Biancolin
29600f64ec
make memsize configurable
2016-08-17 16:31:34 -07:00
Andrew Waterman
ed827678ac
Write test harness in Chisel
...
This is an unavoidably invasive commit, because it affects the unit tests
(which formerly exited using stop()), the test harness Verilog generator
(since it is no longer necessary), and the DRAM model (since it is no
longer connected). However, this should substantially reduce the effort
of building test harnesses in the future, since manual or semi-automatic
Verilog writing should no longer be necessary. Furthermore, there is now
very little duplication of effort between the Verilator and VCS test
harnesses.
This commit removes support for DRAMsim, which is a bit of an unfortunate
consequence. The main blocker is the lack of Verilog parameterization for
BlackBox. It would be straightforward to revive DRAMsim once support for
that feature is added to Chisel and FIRRTL. But that might not even be
necessary, as we move towards synthesizable DRAM models and FAME-1
transformations.
2016-08-15 23:27:27 -07:00
Howard Mao
47a0c880a4
make sure TLId set in Periphery
2016-08-15 13:58:23 -07:00
Howard Mao
e939af88aa
explicitly set TLId for bus TL ports
2016-08-15 12:46:29 -07:00
Howard Mao
2c39f039b5
make external address map order overrideable
2016-08-15 11:40:28 -07:00
Howard Mao
fb476d193c
refactor main App for better code re-use
2016-08-11 16:15:23 -07:00
Howard Mao
e0ae039235
fix config string generation for extra devices
2016-08-11 10:44:32 -07:00
Howard Mao
647dbefd9b
split coreplex off into separate package
2016-08-10 18:04:22 -07:00
Howard Mao
4bfa7ceb6a
unit tests in Coreplex instead of Tile
2016-08-10 11:26:14 -07:00
Howard Mao
0ee1ce4366
separate Coreplex and TopLevel parameter traits
2016-08-10 09:49:56 -07:00
Howard Mao
f95d319162
don't use secondary external address map; collapse submap instead
2016-08-09 22:29:38 -07:00
Howard Mao
2645f74af2
clean up addrmap flatten function
2016-08-09 22:14:32 -07:00
Howard Mao
33f13d5c49
don't repeat external addr map base
2016-08-09 21:20:54 -07:00
Howard Mao
3ea2f4a6c4
refactor top-level into coreplex and platform
2016-08-09 18:26:52 -07:00
Howard Mao
dd1fed41b6
generate BootROM contents from assembly code
2016-08-05 16:39:21 -07:00
Howard Mao
9fa5b228b2
allow extra devices and top-level ports to be added without changing RocketChip.scala
2016-08-04 14:06:14 -07:00
Howard Mao
410e3e5366
make sure TraceGen gets correct addresses
2016-08-04 11:08:25 -07:00
Howard Mao
0a85e92652
Allow additional internal MMIO devices to be created without changing BaseConfig
2016-08-04 11:04:52 -07:00
Howard Mao
f04aefc95c
get rid of deprecated ZynqAdapter
2016-08-02 13:14:20 -07:00
Howard Mao
63b814fcd7
only run the important (high coverage) tests in regression suite
2016-08-02 10:54:05 -07:00
Howard Mao
b7723f1ff8
make unit tests local to the packages being tested
2016-08-01 17:02:00 -07:00
Howard Mao
98eede0505
some refactoring in RocketChip top-level
2016-08-01 17:02:00 -07:00
Megan Wachs
55c992bb3a
Use FoldRight() instead of for loop
2016-08-01 16:56:33 -07:00
Megan Wachs
8db2e8829f
Allow aggregate CONFIG on Command Line
2016-08-01 14:24:16 -07:00
Andrew Waterman
fe670e5421
Stop using deprecated FileSystemUtilities to create files
2016-07-31 18:04:56 -07:00
Andrew Waterman
058396aefe
[rocket] Implement RVC
2016-07-29 17:56:42 -07:00
Howard Mao
cb86aaa46b
fix trace generator addresses
2016-07-28 17:56:14 -07:00
Howard Mao
ecd1af326c
fix L2 deadlock bug and add more advanced trace generator
2016-07-26 12:43:08 -07:00
Howard Mao
1063d90993
make sure L1 and L2 agree on coherence policy
2016-07-25 12:20:49 -07:00
Howard Mao
6a5b2d7f59
fix assembly tests for configurations without VMU and/or user mode
2016-07-22 17:21:57 -07:00
Howard Mao
75347eed56
some fixes and cleanup to stateless bridge
2016-07-21 19:51:26 -07:00
Megan Wachs
c31c650def
If NTiles == 1, only use MEI. Also Create configuration for ManagerToClientStatelessBridge.
2016-07-21 13:54:28 -07:00
Howard Mao
20df74d138
generate more L1 voluntary releases in TraceGen
2016-07-21 12:33:55 -07:00
Wesley W. Terpstra
9ae23f18bd
rocket: support asynchronous external busses
2016-07-19 14:52:56 -07:00
Howard Mao
e08ec42bc0
refactor groundtest unittests into separate package
2016-07-16 23:19:55 -07:00
Megan Wachs
407bc95c42
Rename MulDivUnroll to MulUnroll
2016-07-15 15:40:17 -07:00
Megan Wachs
4c26a6bc96
Create seperate Mul/Div paramters instead of UseFastMulDiv
2016-07-15 14:40:37 -07:00
Andrew Waterman
ba08255450
bump rocket
2016-07-14 22:11:19 -07:00