Commit Graph
49 Commits
Author SHA1 Message Date
mwachs5andWesley W. Terpstra 47acbf928b Give AsyncCrossing slave interfaces registers visibility into when they were written (#288) 2016-09-14 00:17:26 -07:00
mwachs5andGitHub 395bc16da6 Merge pull request #271 from ucb-bar/black_box_regs_fix
Get rid of the unecessary Parameters for Async Reset Reg
2016-09-10 14:14:12 -07:00
Megan Wachs 77e4aa63f8 Get rid of the unecessary Parameters for Async Reset Reg 2016-09-09 16:24:35 -07:00
mwachs5andGitHub 8273ca1ae7 Merge pull request #265 from ucb-bar/black_box_regs
Make it possible to have Async Reset Flops
2016-09-09 13:54:04 -07:00
Megan Wachs 5f5989848c Merge remote-tracking branch 'origin/master' into black_box_regs 2016-09-09 13:12:52 -07:00
Megan Wachs fda4c2bd76 Add a way to create Async Reset Registers and a way to easily access them with TL2 2016-09-08 20:02:07 -07:00
Megan Wachs c1eb1f12a2 tilelink2: Rename GPIO to Example to avoid conflicts with real GPIO devices 2016-09-08 20:02:07 -07:00
Megan Wachs e95fe646a3 mem_gen failure doesn't create the target 2016-09-06 16:29:29 -07:00
Megan Wachs 48098f5e2d Bump FIRRTL to instantiate Sequential Memory Macros 2016-09-06 14:48:28 -07:00
Megan Wachs 1fec9807f6 allow override of vlsi_mem_gen script 2016-09-06 14:44:12 -07:00
Megan Wachs af364bc7bc Rename RTC to RTCTick to clarify that it needs to be a Boolean signal, not a Clock type signal 2016-09-02 15:14:39 -07:00
Megan Wachs 8163a6b597 Make it easier to override the 'placeholder' Real-Time-Clock, to allow more real-world applications 2016-09-02 11:11:40 -07:00
mwachs5andGitHub 35948918b6 Merge pull request #226 from ucb-bar/coreplex_peripheral_interrupts
Allow some External Interrupts to come from Periphery
2016-08-26 11:52:04 -07:00
Megan Wachs 53ee54dbd1 Incorporate feedback to make the NExtPerhipheryInterrupts come from DeviceBlock itself 2016-08-26 10:40:39 -07:00
Megan Wachs 41aa80c5d7 Merge remote-tracking branch 'origin/master' into coreplex_peripheral_interrupts 2016-08-26 09:32:36 -07:00
Megan Wachs 428eed79a1 Allow some External Interrupts to come from Periphery 2016-08-25 14:16:33 -07:00
mwachs5andGitHub 8ff739d3fa Merge pull request #225 from ucb-bar/remove-openocd
Remove openocd from .gitmodules
2016-08-25 11:01:17 -07:00
Megan Wachs 3a674b413d Remove openocd from .gitmodules 2016-08-25 10:05:30 -07:00
mwachs5andGitHub d5d076200e Merge pull request #213 from ucb-bar/new_test_jtag_DTM
Adds Logic & test support for JTAG implementation of Debug Transport Module.
2016-08-23 18:18:18 -07:00
Megan Wachs 67467c65f5 Add a jtag-dtm-regression target to the regression
This doesn't get added to Travis, but this target can be used
by other automated testing tools which may want to do further
testing on rocket-chip.
2016-08-23 16:53:50 -07:00
Megan Wachs 32118269c1 Remove } introduced in merge 2016-08-23 08:20:52 -07:00
Megan Wachs c22c77c7a4 remove pointer to openOCD 2016-08-23 07:35:48 -07:00
Megan Wachs 9974626d6a Merge remote-tracking branch 'origin/master' into HEAD
Conflicts:
	src/main/scala/rocketchip/TestHarness.scala
2016-08-23 07:34:01 -07:00
mwachs5andAndrew Waterman 22ffe36258 Add a queue for timing QoR between L2->MMIO network (#217) 2016-08-19 22:51:49 -07:00
Megan Wachs 75efc7dee7 JtagIO's DRV_TDO should be an INPUT 2016-08-19 16:38:03 -07:00
Megan Wachs 723cc063cb Move files after the file reorganization 2016-08-19 16:11:41 -07:00
Megan Wachs 48c5ec3551 add missing jtag file 2016-08-19 16:08:32 -07:00
Megan Wachs 66a253a0db Remove unncessary file 2016-08-19 16:08:31 -07:00
Megan Wachs 3dd51ff734 This commit adds Logic & test support for JTAG implementation of Debug Transport Module.
- The DebugTransportModuleJtag is written in Verilog. It probably could be written in
  Chisel except for some negative edge clocking requirement.
- For real implementations, the AsyncDebugBusTo/From is insufficient. This commit
  includes cases where they are used, but because they are not reset asynchronously,
  a Verilog 'AsyncMailbox' is used when p(AsyncDebug) is false.
- This commit differs significantly from the earlier attempt. Now, the
  DTM and synchronizer is instantiated within Top, as it is a real piece of
  hardware (vs. test infrastructure).
-TestHarness takes a parameter vs. creating an entirely new TestHarness class.
It does not make sense to instantiate TestHarness when p(IncludeJtagDTM) is false,
and it would not make sense to insantiate some other TestHarness if p(IncludeJtagDTM)
is true.

To build Verilog which includes the JtagDTM within Top:

make CONFIG=WithJtagDTM_...

To test using gdb->OpenOCD->jtag_vpi->Verilog:

First, install openocd (included in this commit)

./bootstrap
./configure --prefix=$OPENOCD --enable-jtag-vpi
make
make install

Then to run a simulation:

On a 32-bit core:

$(ROCKETCHIP)/riscv-tools/riscv-tests/debug/gdbserver.py \
  --run ./simv-TestHarness-WithJtagDTM_... \
  --cmd="$OPENOCD/bin/openocd --s $OPENOCD/share/openocd/scripts/" \
  --freedom-e300-sim \
  SimpleRegisterTest.test_s0

On a 64-bit core:

$(ROCKETCHIP)/riscv-tools/riscv-tests/debug/gdbserver.py \
  --run ./simv-TestHarness-WithJtagDTM_... \
  --cmd="$OPENOCD/bin/openocd --s $OPENOCD/share/openocd/scripts/" \
  --freedom-u500-sim \
  SimpleRegisterTest.test_s0
2016-08-19 16:08:31 -07:00
Megan Wachs dd4a50c452 Add JTAG DTM and test support in simulation
Initial cut

checkpoint which compiles and runs but there is some off-by-1 in the protocol

Debugging the clock crossing logic

checkpoint which works

Clean up the AsyncMailbox black box
2016-08-19 16:08:17 -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
mwachs5andAndrew Waterman 4465260469 Update README.md
- List things that are no longer submodules as subpackages instead
- clean up some formatting issues
2016-07-29 17:56:42 -07:00
Megan WachsandHoward Mao c31c650def If NTiles == 1, only use MEI. Also Create configuration for ManagerToClientStatelessBridge. 2016-07-21 13:54:28 -07:00
Megan WachsandHoward Mao eb9e998c08 Add ManagerToClientStatelessBridge 2016-07-21 13:49:16 -07:00
mwachs5andAndrew Waterman cff8de9814 Use new Mul/Div parameters vs UseFastMulDiv (#48)
* Use new Mul/Div parameters vs UseFastMulDiv

* Rename MulDivUnroll to MulUnroll
2016-07-15 15:41:20 -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
mwachs5andAndrew Waterman 36720d915a Update README.md (#161)
Correct typo in heading
2016-07-11 00:34:13 -07:00
mwachs5andAndrew Waterman 2d2096e509 Add smaller ROM/RAM for 32-bit debug (#60) 2016-06-15 15:07:43 -07:00
Megan WachsandAndrew Waterman cee0cf345e [debug] Update Debug ROM contents to write F..F to RAM in case of exception 2016-06-09 14:05:30 -07:00
mwachs5andAndrew Waterman 93c1b17b52 [debug] Remove erroneous buffer on SB read data (#56) 2016-06-08 23:31:13 -04:00
Megan WachsandAndrew Waterman b832689642 Correct Debug ROM contents 2016-06-05 19:35:25 -07:00
Megan WachsandAndrew Waterman 605fb5b92f [debug]: fix issue with subword select logic 2016-06-05 19:31:07 -07:00
Megan WachsandAndrew Waterman 3e8322816b Correct DMINFO Fields 2016-06-05 19:29:50 -07:00
Megan WachsandAndrew Waterman 7e550ab07c [debug] rocket: fix for issue 121, correct debug ROM and stall logic 2016-06-05 19:29:44 -07:00
mwachs5andAndrew Waterman 740a6073f6 Add Debug Module (#49)
* Add Debug Module

* [debug] Remove unit tests, update System Bus register addresses, parameterize nComponents

* [debug] Update Debug ROM contents to match updated addresses
2016-06-01 16:33:33 -07:00
mwachs5 a81334f505 Update README links to point to this repo 2016-04-06 14:10:04 -07:00
mwachs5andHenry Cook 22e7b3ff2f Update README.md
- adding instructions of how to run with groundtest
- correct some MD syntax in README
- add some spaces
- minor changes to wording
- remove spurious 'class'
- add commands for running w/ TraceGenConfig
- add code from http://www.cl.cam.ac.uk/~mn416/tracegen.html
- Update README.md
- add WSO note
- correct some syntax within the code blocks and add note about run-asm-tests, run-bmark-tests
- Add one more command to the "quick reference" to show the complete flow
- Correct WSO to WMO
- Add information about tracegen+check.sh
- Use tracegen.py commands instead of running the emulator directly
- added a missing newline
- remove extra head command
2016-03-31 14:20:14 -07:00