Francesco Conti
d5a262cf24
fixed src_files.yml
2016-02-17 14:50:03 +01:00
Andreas Traber
9858198ee5
Fix a bug in the LSU by making sure that branches can be finished
...
correctly in the EX stage without impacting the WB stage
Also align simchecker and tracer to this
2016-02-16 19:59:51 +01:00
Andreas Traber
18f5ffcd4a
Fix wait_gnt signal for prefetcher if transaction was aborted
2016-02-16 17:24:14 +01:00
Andreas Traber
656c391215
Respect jump done in controller for the eret instruction
2016-02-16 17:21:24 +01:00
Andreas Traber
6b22441367
Fix handling of packed/unpacked structs in the riscv tracer
2016-02-16 17:19:18 +01:00
Francesco Conti
2e7d74c8a6
moved src_files.txt to src_files.yml
2016-02-11 16:41:29 +01:00
Francesco Conti
98a815fbc6
moved src_files.txt to src_files.yml
2016-02-11 16:35:43 +01:00
Francesco Conti
9ecd6d9868
Merge branch 'master' of iis-git.ee.ethz.ch:pulp-project/riscv
2016-02-11 16:14:50 +01:00
Francesco Conti
c894ae0aec
added FPGA-friendly register file to src_files.txt
2016-02-11 16:07:09 +01:00
Andreas Traber
a8987b5890
Added a basic description of the pipeline
2016-02-11 15:58:29 +01:00
Andreas Traber
6f3358adfd
Clarified hwloops with same endpoint
2016-02-11 14:10:26 +01:00
Andreas Traber
918caba6f3
Update tracer and simchecker to be more verbose
2016-02-11 13:48:28 +01:00
Andreas Traber
8c130d6398
Add README
2016-02-10 17:25:56 +01:00
Andreas Traber
993e254947
Start adding interrupt support to simchecker
2016-02-10 10:24:49 +01:00
Andreas Traber
33987fcc6c
Handle boot address correctly
2016-02-09 17:38:41 +01:00
Andreas Traber
c39e27f3ac
Allow nested interrupts and save current value of MSTATUS to MESTATUS
...
upon entering an interrupt handler
2016-02-09 09:21:26 +01:00
Andreas Traber
d99c3c9f24
Simchecker now also supports rvc
2016-02-08 13:08:56 +01:00
Andreas Traber
f95e08bf64
Finish sim checker. It passes coremark on pulpino, so relatively mature :-)
2016-02-07 13:21:08 +01:00
Andreas Traber
e7f5ef8336
Prepare for simchecker
2016-02-07 13:21:08 +01:00
Francesco Conti
8720d93a21
Merge branch 'master' of iis-git.ee.ethz.ch:pulp-project/riscv
2016-02-05 12:24:24 +01:00
Andreas Traber
3d768d27ab
Fix issues in instruction tracer and align with virtual platform
2016-02-04 16:43:27 +01:00
Francesco Conti
2a9bb089e0
added src_files.txt
2016-02-03 17:27:24 +01:00
Andreas Traber
9f19da8c2f
Move to classes for tracer
2016-02-02 17:31:26 +01:00
Andreas Traber
c91e3a621e
Add memory transactions to tracer and align better with simulator
2016-02-02 14:49:40 +01:00
Andreas Traber
1938b1c768
Make tracer look nicer
2016-02-01 16:59:16 +01:00
Andreas Traber
9d03afe12c
Switch to queue for instruction tracer
2016-02-01 15:46:58 +01:00
Andreas Traber
a8d66afa71
Refactor riscv tracer and put it in own module
2016-02-01 13:27:32 +01:00
Andreas Traber
5e90564929
Make sure the address is kept stable when we are waiting for a gnt
2016-01-23 00:35:01 +01:00
Andreas Traber
53f0dbda25
Fix net declaration
2016-01-21 15:11:32 +01:00
Andreas Traber
531745d656
Update documentation and instruction tracer for new encoding
2016-01-21 14:30:11 +01:00
Andreas Traber
a15f007d46
Change to new encoding from Eric
...
This changes the way mac and mul are handled and moves the rs3 register
for mac operations.
When rs3 is not used, the register file port is now silenced
2016-01-21 13:08:16 +01:00
Andreas Traber
11ffa5630c
only jump once even when there are stalls
2015-12-26 13:30:44 +01:00
Andreas Traber
1b98c11e12
Remove mscratch and change the way csr works
2015-12-26 00:15:00 +01:00
Andreas Traber
49532dfa79
More enables on pipeline registers
2015-12-23 16:35:52 +01:00
Andreas Traber
db9e184054
use separate registers for multiplier and do smarter enable in the
...
pipeline
This saves up to 20% power compared to the previous solution
2015-12-23 12:41:19 +01:00
Andreas Traber
7ec2f6410f
Add LSU instructions to datasheet
2015-12-23 10:34:13 +01:00
Andreas Traber
981cd4789b
Add block diagram to titlepage
2015-12-22 16:30:42 +01:00
Andreas Traber
cfc1a17419
Add the rest of the extended alu operations
2015-12-22 16:13:20 +01:00
Andreas Traber
5a0e624be7
Add description of most alu ext operations
2015-12-22 14:32:46 +01:00
Andreas Traber
e4cbf45209
Add chapters about hardware loops and multiply-accumulate
...
Add instruction specification of pulp extensions
2015-12-22 11:16:47 +01:00
Andreas Traber
dc8144a459
Added more information about debug to documentation
2015-12-21 14:54:37 +01:00
Andreas Traber
e9197db83c
Working on the documentation
2015-12-21 13:04:50 +01:00
Andreas Traber
2b8fdcd6d3
Update pc counters, branches taken were wrong
2015-12-16 11:17:37 +01:00
Andreas Traber
79cff74dfd
Fix a problem in the normal prefetch buffer, some instructions were performed twice
2015-12-15 23:42:08 +01:00
Andreas Traber
4ed498014b
Added taken branch performance counter and excluded jumps and branches
...
in icache misses
2015-12-15 18:07:32 +01:00
Andreas Traber
a6c4f6d4ef
Make sure performance counters work correctly on FPGA
2015-12-15 13:57:26 +01:00
Andreas Traber
d84ae50481
Clean headers
2015-12-14 16:39:16 +01:00
Andreas Traber
4b9fc6af99
Added LICENSE file and started adding headers
2015-12-11 17:20:07 +01:00
Andreas Traber
ee89618b29
Fix a couple of errors regarding hwloops
2015-12-08 13:11:01 +01:00
Andreas Traber
aa9715f130
Rewrote prefetcher (again), this time it is actually quite nice
2015-12-08 04:59:17 +01:00