1
0
Commit Graph

1652 Commits

Author SHA1 Message Date
675f183dd2 refactor ICache to be reusable by other frontends (#808)
* refactor ICache to be reusable by other frontends

specifically one that would like to change the fetch width and number of
bytes in an instruction
2017-06-20 08:21:01 -07:00
a6d9884cc0 Improve integer mul/div
- Signed integer multiplication latency is now deterministic (before,
it would take an extra cycle if the multiplier was negative).
- High-part multiplication is now one cycle faster.
- RV64 MULW now takes half as many cycles as MUL.
- Positive remainders are now one cycle faster.
2017-06-19 12:09:21 -07:00
61c39da475 Check for rvc before declaring illegal instruction after an ebreak. 2017-06-16 10:49:36 -07:00
93d423d202 diplomacy: optimize IdRange.contains (#798)
This should make an optimal circuit for a wider class of ranges.
2017-06-15 15:56:14 -07:00
4059d9417f GeneratorUtils: support to elaborate a RawModule 2017-06-15 14:33:02 -07:00
5368ea60fe Merge pull request #757 from freechipsproject/isp-port
Inter-System-Port
2017-06-15 13:07:19 -07:00
1f8c4ba4ca CoreplexNetwork: don't force a buffer on the coherence manager
Let the l2Config.coherenceManager create its own appropriate buffers.
This can matter if you need to make sure the buffer is in the right
place in the hierarchy for hierarchical place and route.
2017-06-14 14:27:23 -07:00
4a15d47061 diplomacy: BufferParams can now directly create a Queue 2017-06-14 13:47:37 -07:00
b4b165112c PeripheryErrorSlave: do not put a TLMonitor between the fragmenter and slave
This edge has the largest number of source bits by far. Let's just exclude it.
2017-06-13 16:59:29 -07:00
94f85e8bc8 tilelink2: TLMonitor will not create giant wires 2017-06-13 16:58:22 -07:00
8264c0a77e add a debug print for xbar id mappings 2017-06-13 16:58:21 -07:00
9bbde9767c rocketchip: top-level systems are now multi-IO modules
Cake pattern only 2 layers instead of 3.
Standardized naming convention.
Comments for periphery mix-ins.
Testharnesses use new periphery helper methods.
2017-06-13 13:55:45 -07:00
2e8a40a23f diplomacy: Allow LazyModuleImps to be based on RawModules or MultiIOModules
And add a MonitorBase class to be connect's return type.
2017-06-13 13:55:27 -07:00
76af15a6ff Fix FPU control bug for div/sqrt
I was examining a WB-stage control signal instead of a MEM-stage control
signal.  I refactored the code to group the signals together, so that this
sort of bug is less likely going forward.
2017-06-09 15:51:06 -07:00
8552c77972 Fix I$ reset regression FU-357
Can't rely on s2 TLB response, so mask using s2_valid.
2017-06-09 00:48:24 -07:00
5a4daebbcc minNum -> minimumNumber (#766) 2017-06-08 11:12:52 -07:00
8cb250cfe6 Fix FMUL sign, again (#789) 2017-06-08 01:50:00 -07:00
60c896b48c Typo: is should be if ? (#786)
Typo: is should be if ?
2017-06-07 10:40:13 -07:00
d45fc0d670 Merge pull request #785 from freechipsproject/fmul-fix
Fix FMUL sign of zero
2017-06-06 00:46:03 -07:00
07ad9203ff Fix FMUL sign of zero 2017-06-05 17:35:42 -07:00
8d2e9a8631 Merge remote-tracking branch 'origin/master' into plusarg_docstring 2017-06-05 17:23:44 -07:00
87a5665e43 axi4: only block writes if SAME master has outstanding reads (#782)
* axi4: only block writes if SAME master has outstanding reads
* tilelink2: ToAXI4 rename variable
TL uses sources, not IDs like AXI. Keep it less confusing.
* tilelink2: ToAXI4 improve stall circuit delay
Don't bother decoding the AXI ID to compute stall.
2017-06-05 16:54:00 -07:00
7afd5e6070 remove unnecessary whitespace. Fix grammar. 2017-06-05 16:18:57 -07:00
8440c4b1c4 plusarg_reader : Add the ability to add a documentation string. 2017-06-05 16:16:52 -07:00
274d908d98 Changed TLXbar arbitration policy to roundRobin (#781) 2017-06-05 10:20:28 -07:00
16ecbdd5b2 Reduce fanout on critical I$ miss signal 2017-06-02 20:45:50 -07:00
27b143013f Improve ITLB QoR
- No need to check cacheability
- Remove a gate delay from PMP path
2017-06-02 20:45:50 -07:00
0ffb2c8baf Simplify and improve QoR of ShiftQueue 2017-06-02 20:44:52 -07:00
8229bdee03 Remove FP unboxing from FMA critical path 2017-06-02 20:44:52 -07:00
7504b47bbe Improve code quality in FP->FP and Int->FP units 2017-06-02 20:44:52 -07:00
84c4ae775f Improve QoR for FP->Int conversions 2017-06-02 20:44:52 -07:00
07968df183 Refactor FP Classify 2017-06-02 20:44:52 -07:00
6ecd58a977 Incorporate new div/sqrt unit 2017-06-02 20:44:15 -07:00
b1917e7915 coreplex: add an ISPPort trait to add cross-connect points 2017-06-02 20:43:23 -07:00
81d372137a coreplex: unconditionally insert a Splitter between tiles and l1tol2 2017-06-02 20:43:21 -07:00
d002cec6ac NodeNumberer: add an adapter to map inter-chip fabrics 2017-06-02 20:42:17 -07:00
5a2a6b0386 diplomacy: add a CustomNode type that allows direct overload of methods 2017-06-02 20:42:17 -07:00
fed1f53afa tilelink2: add a TLSplitter to be used for the ISP port 2017-06-02 20:42:17 -07:00
a4bf678954 tilelink2: fix latent Xbar truncation bug
This was introduced when we switched to HeterogeneousBag for diplomatic IO.
It seems a lucky coincidence that nothing has run into this yet!
2017-06-02 20:42:16 -07:00
ce12a64f4b tilelink2: support SplitterNodes 2017-06-02 20:42:16 -07:00
de39af7f65 tilelink2: make some Xbar methods reusable 2017-06-02 20:42:16 -07:00
0a2a93c27d diplomacy: add the new Splitter node type 2017-06-02 20:42:16 -07:00
c695237050 diplomacy: make :=* and :*= resolution more flexible 2017-06-02 20:42:16 -07:00
cdbf67be68 Add a note to wire up jtag_mfr_id (#778)
Close #774
2017-06-02 18:53:14 -07:00
e0741a2097 axi4: don't map unused masters into TL source ID space 2017-06-02 16:30:16 -07:00
80c63c0da6 rocket: include hartid in cache master names 2017-06-02 15:52:23 -07:00
d25ad10592 diplomacy: require masters to have a name 2017-06-02 15:52:20 -07:00
475ac93cdf coreplex: print memory map using DTS, also write a JSON for it 2017-06-02 14:27:40 -07:00
ae8734da05 diplomacy: report cacheability in ResourceAddress 2017-06-02 14:27:40 -07:00
985d9750e6 tilelink2: Xbar QoR improvement 2017-06-02 14:27:40 -07:00