1
0
Commit Graph

62 Commits

Author SHA1 Message Date
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
1b6fa70b5c Add test for external TL clients (bus mastering) 2016-08-18 14:26:03 -07:00
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
647dbefd9b split coreplex off into separate package 2016-08-10 18:04:22 -07:00
4bfa7ceb6a unit tests in Coreplex instead of Tile 2016-08-10 11:26:14 -07:00
f95d319162 don't use secondary external address map; collapse submap instead 2016-08-09 22:29:38 -07:00
3ea2f4a6c4 refactor top-level into coreplex and platform 2016-08-09 18:26:52 -07:00
410e3e5366 make sure TraceGen gets correct addresses 2016-08-04 11:08:25 -07:00
0a85e92652 Allow additional internal MMIO devices to be created without changing BaseConfig 2016-08-04 11:04:52 -07:00
63b814fcd7 only run the important (high coverage) tests in regression suite 2016-08-02 10:54:05 -07:00
b7723f1ff8 make unit tests local to the packages being tested 2016-08-01 17:02:00 -07:00
cb86aaa46b fix trace generator addresses 2016-07-28 17:56:14 -07:00
ecd1af326c fix L2 deadlock bug and add more advanced trace generator 2016-07-26 12:43:08 -07:00
1063d90993 make sure L1 and L2 agree on coherence policy 2016-07-25 12:20:49 -07:00
75347eed56 some fixes and cleanup to stateless bridge 2016-07-21 19:51:26 -07:00
20df74d138 generate more L1 voluntary releases in TraceGen 2016-07-21 12:33:55 -07:00
e08ec42bc0 refactor groundtest unittests into separate package 2016-07-16 23:19:55 -07:00
90bcd3dbdc make sure DirectGroundTest testers given correct TL settings 2016-07-11 18:11:01 -07:00
8f0fa11ce4 optionally export detailed status information in DirectGroundTest 2016-07-11 18:11:00 -07:00
cb2a18b533 allow direct instatiation of arbitrary non-caching groundtests 2016-07-11 18:11:00 -07:00
f03ffb32a0 add top that directly tests the TL -> AXI converters 2016-07-11 18:11:00 -07:00
35547aa428 allow NastiConverterTest and Memtest to run simultaneously 2016-07-08 13:40:52 -07:00
358668699f refactoring groundtest configuration 2016-07-08 11:40:16 -07:00
f79a3285fb fix TraceGen and Nasti -> TL converter 2016-07-05 17:42:57 -07:00
c924ec2a22 fixing bufferless broadcast hub 2016-07-05 12:10:22 -07:00
b01871c3de test configurations for both shrinking and growing TL -> MIF 2016-07-01 18:13:33 -07:00
600f2da38a export TL interface for Mem/MMIO and fix TL width adapters 2016-06-30 18:20:43 -07:00
74cd588c65 refactor uncore to split into separate packages 2016-06-28 14:10:25 -07:00
d10fc84a8b no longer require caching interfaces for groundtest tiles 2016-06-27 17:32:49 -07:00
2dd8d90ae4 make Comparator fit the GroundTest model 2016-06-27 16:01:32 -07:00
2d44be747a Fix groundtest without HTIF 2016-06-23 12:17:26 -07:00
82169e971e Dynamically compute number of L1 client channels
Until now, the number of L1 client channels was set statically in the
configuration. This static configuration also assumed the same number of
cached and uncached channels per tile. As we plan to move towards
heterogenous multicore systems, this restriction should be removed.

This commit changes the generator so that number of channels per tile
can be independently set (using cde.Parameters.alterPartial).
The OuterMemorySystem will dynamically compute the number of cached and
uncached channels by summing the number of each kind of channel per core.
2016-06-20 13:02:31 -07:00
70d92995df TestConfigs: add comparator config 2016-06-09 15:43:13 -07:00
1679cf4764 fix groundtest tilelink xacts 2016-06-09 15:42:44 -07:00
2cd897e240 Revert "include the unmatched field in CDEMatchError"
This reverts commit ff2937a788.
2016-06-07 16:13:01 -07:00
ff2937a788 include the unmatched field in CDEMatchError 2016-06-06 11:23:20 -07:00
ece3ab9c3d Refactor AddrMap and its usage (#122) 2016-06-03 17:29:05 -07:00
3cc236e9c4 By default, use same TileLink width everywhere
When there's no L2 with a wide interface, having wider TileLink
is only disadvantageous.
2016-05-26 18:04:01 -07:00
e82c080c3c Add blocking D$ 2016-05-25 11:09:50 -07:00
dfcb73b6c9 groundtest only needs to write to a single tohost 2016-05-03 20:21:13 -07:00
4045a07eda Remove need for separate riscv-tests for groundtest 2016-05-03 18:29:46 -07:00
8f891437b5 fix CacheFillTest 2016-05-03 14:57:05 -07:00
487d0b356e fixes to get groundtest working with priv-1.9 changes 2016-05-03 13:09:44 -07:00
d0aa4c722d More WIP on new memory map 2016-04-28 16:15:31 -07:00
48170fd9aa add default cases to configs that use CDEMatchError
this avoids filling in the stack trace every time
a config doesn't contain the parameter
2016-04-22 12:14:58 -07:00
c5838dd9b3 Fix narrow read/write behavior for AXI converters and fix L2 bugs
Until recently, we were assuming that the data channel in AXI was always
right-justified. However, for narrow writes, the data must actually be
aligned within the byte lanes. This commit changes some of the
converters in order to fix this issue.

There was a bug in the L2 cache in which a merged get request was
causing the tracker to read the old data from the data array,
overwriting the updated data acquired from outer memory. Changed it so
that pending_reads is no longer set if the data in the buffer is already
valid.

There was a bug in the PortedTileLinkCrossbar. The new GrantFromSrc and
FinishToDst types used client_id for routing to managers. This caused
bits to get cut off, which meant the Finish messages could not be routed
correctly. Changed to use manager_id instead.
2016-04-12 15:39:15 -07:00
4f06a5ff6b add memtest config for testing memory channel mux 2016-03-31 18:41:56 -07:00
ad93e0226d Changes to prepare for switch to TileLink interconnect
We are planning on switching to a TileLink interconnect throughout and
convert to AXI only on the very edge. Therefore, we need to get rid of
all the existing AXI masters other than the TileLink to AXI converter.

* Get rid of DMA engine for now
* Connect RTC to TileLink interconnect instead of AXI interconnect
2016-03-29 20:16:07 -07:00
e1a03cc9ac fix issue with partial writemasks 2016-03-29 20:16:07 -07:00
e90a9dfb2b make taking max of multiple integers in config a bit easier 2016-03-16 14:35:08 -07:00