Some highlights to be included in the next release:
-
Bump to chisel 3.5.4 (chipsalliance#3105)
-
As Chisel compatability layer is being sunset, update chisel2 legacy code to chisel3 (chipsalliance#3097)
-
Removal of
RocketTilesKey
andRocketCrossingKey
(chipsalliance#3133)
10 Oct 2022
- Bump to Chisel 3.5.3 (chipsalliance#2931, chipsalliance#2937, chipsalliance#2947, chipsalliance#3005)
- Support for Scala 2.12.15 (chipsalliance#2947)
- Properly-sized don't cares for FPU typeTag fields (chipsalliance#2949)
- Add a
virtual
argument toTLBEntry.sectorHit
function (chipsalliance#2952) - Support building PTW with no PTECache (chipsalliance#2962)
- Update
IncoherentBusTopology
to support multiclock and custom clocking (chipsalliance#2940) - Allow forcing
RocketTiles
into separate PRCI groups (chipsalliance#2842) - Add a
WithHypervisor
config (chipsalliance#2946) - Add ScalaDoc documentation for I$ (chipsalliance#3001)
- AHPParameters and APBParameters:
PROT_PRIVILEDGED
- This was a typo. It is nowPROT_PRIVILEGED
. (chipsalliance#2925)
- GrountTestTile: use generic
BuildHellaCache
key (chipsalliance#2919) - copy EICG wrapper from vsrc when using Clock Gate Model (chipsalliance#2969)
- PTW page fault instead of access exception if PTE reserved bit set (chipsalliance#2913, chipsalliance#2934)
PTE_RSVD
was introduced into Spike in riscv-software-src/riscv-isa-sim#750- Reserved PTE bits report page fault instead of access exception.
- Add an additional bit
pf
toPTWResp
andTLBEntryData
to pipe this through.
- Have HFENCE.GVME
sfence.bits.hg=1, hv=0
only target TLB entries with V=1 (and not V=0) (chipsalliance#2954) - Update Instructions from riscv-opcodes and separate out rocket-specific custom instructions (chipsalliance#2956, chipsalliance#2972)
- post riscv-opcode instruction category scheme at this PR riscv/riscv-opcodes#106
- Decode: switch to using Chisel Decode API (chipsalliance#2836, chipsalliance#2994)
- Convert
toaxe.py
to python3 (chipsalliance#3034) - make
AsyncClockGroupsKey
a node generator (chipsalliance#2935) - change
debug
module name totlDM
(chipsalliance#3029) - As part of a larger migration begin refactoring files to chisel3:
- ALU.scala (chipsalliance#3039)
- AMOALU.scala (chipsalliance#3040)
- Breakpoint.scala (chipsalliance#3041)
- PMP.scala (chipsalliance#3042)
- FormalUtils.scala (chipsalliance#3044)
- Decode.scala (chipsalliance#3049)
- Consts.scala (chipsalliance#3052)
- Proper translation to HRProt3 in AHB Protocol (chipsalliance#2928)
- Assert HasFSDirty false (chipsalliance#2997)
- VSStatus is now read-only and dirty when RoCC is enabled (chipsalliance#2984)
- RocketCore: avoid false RAW/WAW hazards for integer instructions using an
x
register whose numeric specifier coincides with a previous instruction'sf
register. (chipsalliance#2945) - Correct
rocc_illegal
to usereg_vsstatus.xs
field (chipsalliance#2983) - Zero out
aux_pte.reserved_for_future
wheneveraux_pte.ppn
is driven (chipsalliance#3003) - Prevent ILTB miss fault PTW thrashing D$ (chipsalliance#3004)
- Prevent nonsensical use of RVE with Hypervisor (chipsalliance#2988)
- Explicity outline Rocket's lack of support for
haveFSDirty
(chipsalliance#2997) - Fix bit-width out of range issue when both Sv57 and Hypervisor are enabled (chipsalliance#3006)
- Fix synthesizability of
RoccBlackBox
with Vivado (chipsalliance#3035)
- Remove Object Model from Diplomacy (chipsalliance#2967)
- Removed RegEnable explicit arguments in preparation for changes in Chisel 3.6 (chipsalliance#2986)
- Removed all mentions of Travis CI and .travis.yml file (chipsalliance#2647)
- Remove
TraceGen
from `HeterogeneousTileExampleConfig (chipsalliance#2923)
18 Jan 2022
- Chisel 3.5 support
- Hypervisor extension (chipsalliance#2841):
- Introduce virtualization of hart id for virtualized supervior OSs and virtualized user modes
- More work to be done on interrupt controllers, IOMMUs, etc.
- Fault if reserved bits D/A/U of page table entry are set to 1 (chipsalliance#2895)
mnie
bit added to mnstatus (chipsalliance#2904)WithCoherentBusTopology
added toBaseFPGAConfig
(chipsalliance#2787)- Add support for timebase-frequency in the cpus node of the Device Tree (chipsalliance#2782)
- Support incoherent access to
ExtMem
Bus through SBus (chipsalliance#2978)
- TLToAXI4: b-channel acks are now stalled for if blocked for 7 consecutive cycles (chipsalliance#2805)
- Cacheable ROMs: treat acquire-able read-only memory as cacheable (chipsalliance#2808)
- Modularly wrap the value of
nextSelectEnc
in theReadyValidCancelRRArbiter
when Round-Robin parameters arerr=true && !isPow2(n)
(chipsalliance#2798) - Changed TLMonitor to check the correct opcode for a (so far unused) B channel Get message (chipsalliance#2788)
- D$: drive Tilelink C-Channel AMBA_PROT bits last (chipsalliance#2770)
- PTW and TLB fault prioritization:
- Misaligned faults (chipsalliance#2926):
- We cannot check if the memory address has side effects to take a misaligned exception if a PTW doesn't finish within a valid PTE.
- Therefore, misaligned faults are now given lowest priority.
- Access exceptions (chipsalliance#2916):
- Separate access faults into faults for accessing Page Table Entries and faults for bad Physical Page Numbers.
- Misaligned faults (chipsalliance#2926):
- Hoist
r_valid_vec
onto a register before L2TLB refillwmask
(chipsalliance#2868 chipsalliance#2856) - Dedpulicate to one OptimizationBarrier per TLBEntry (chipsalliance#2833)
- D$: block until ReleaseAck from slave acknowledging completion of writeback (chipsalliance#2832)
- dtim: convert PutPartials to PutFulls when mask is full to avoid RMW (chipsalliance#2822)
- dtim: don't let
dmem.req.bits.cmd
become X which causes X-prop (chipsalliance#2818) - Jam WidthWidget until write to prevent leaking of X output (chipsalliance#2815)
- Don't cover non-existent U-mode counters (chipsalliance#2817)
- Supress SCIE assertion when instruction not valid (chipsalliance#2816)
- Fixed an issue where store fails to take effect if it is immediately followed by a load to the same address under an ECC error condition (chipsalliance#2804)
- ReadyValidCancelRRArbiter: fixed an issue where round-robin select rotated incorrectly when
rr=true
(chipsalliance#2771) - TraceGen: now observes
dmem.ordered
when attempting a fence (chipsalliance#2779)
- Remove unrecoverable non-maskable interrupts (chipsalliance#2904)
- Remove wake support (chipsalliance#2847)
- Remove ability to build Chisel/FIRRTL from source
- regmapper: update all regmap tests
- tilelink: buswrapper leave fromPort
19 Dec 2020
RC has undergone two years of development since the last version update. The changelog for this version of RC is non-extensive. The changelog for this version is merely illustrative of the features added since the 1.2~1.3 releases. No API compatibility is guaranteed between minor version releases of RC. Future versions of the changelog should follow the format here https://keepachangelog.com/en/1.0.0/
- Chisel 3.4.x and FIRRTL 1.4 compatible.
- Rely on building from source by default (chipsalliance#2617)
- bump to 3.4.0 and FIRRTL 1.4.0 (chipsalliance#2694)
- Verilator 4.028 compatible (chipsalliance#2377)
- submodules
- torture https://github.com/ucb-bar/riscv-torture/tree/77195ab12aefc373ca688e0a9c4d710c13191341
- hardfloat https://github.com/ucb-bar/berkeley-hardfloat/tree/01904f99ed3ad26cdbe2876f638d63e30e7fecdc
- cde https://github.com/chipsalliance/cde/tree/fd8df1105a92065425cd353b6855777e35bd79b4
- if building from source for firrtl and chisel:
- scala 2.12.10
- scalatest 3.2.0
- json4s-jackson 3.6.1
- [CSR] add vcsr and move vxrm/vxstat from fcsr to that register set (chipsalliance#2400, chipsalliance#2422)
- [CSR] disallow writes to MSTATUS.XS (chipsalliance#2508)
- [CSR] expand TracedInstruction.cause to xLen (chipsalliance#2548)
- [CSR][mstatus] implement updated MPRV from priv-1.12 (chipsalliance#2206)
- [CSR] add `mcountinhibit from priv-1.11 (chipsalliance#2693)
- ignore PAUSE when
mcountinhibit(0)
=== 1 (chipsalliance#2700)
- ignore PAUSE when
- [CSR] Comply with priv spec by resetting and initializing mcause to 0 (chipsalliance#2333)
- [events] add SuperscalarEventSets (chipsalliance#2337, chipsalliance#2506)
- [events] make fields public for tapping signals (chipsalliance#2464, chipsalliance#2524)
- [i$] fix ccover bug to cover all beats of D channel corruption chipsalliance#2755
- [d$] updates
- fix elaboration with < 4 MiB of physical address space (chipsalliance#2367)
- guarantee no-alloc accesses are ordered even if aliased (chipsalliance#2358)
- [ecc] fixed a rare bug where under the right conditions stores to the same word resulted in one store detecting an error while the other does not (chipsalliance#2458)
- [HellaCache] introduce
subWordBits
param to support subbanking (chipsalliance#2645) - support specifying cache index when aliasing is possible (chipsalliance#2697, chipsalliance#2730)
- reduce latency on inclusion and coherence misses by allowing D$ to voluntarily release (aka "noisy drop") cache lines (chipsalliance#2696)
- follow-up to fix deadlock (chipsalliance#2714)
- follow-up to fix performance (chipsalliance#2739)
- distinguish a supervisor mode that does not use MMU/VM (chipsalliance#2422, chipsalliance#2499)
- [hartid]
- fixed an issue where the Rocket core's placement would be impacted by non-constant hartid (chipsalliance#2432)
- add a diplomatic node for assigning hartid (chipsalliance#2447)
- [Replacement][PseudoLRU] fix performance issue with PseudoLRU for replacements when number of ways is not a power of 2 (chipsalliance#2493, chipsalliance#2498)
- [Replacement][d$] configure replacement policy with parameter to indicate wheteher policy is used on a per-set basis or a global basis (chipsalliance#2656)
- [PTW]
- replace round robin arbitration with static arbitration (chipsalliance#2433)
- fixed a bug where an L2TLB write would almost always block the next L2TLB search when MMU and clock gating were enabled (chipsalliance#2601)
- wait for L2TLB to refill before searching (chipsalliance#2619)
- [PTWPerfEvents] add (unused) Performance Monitor Events for L2TLB hit and PTE Cache Miss/Hit (chipsalliance#2668, chipsalliance#2688, chipsalliance#2692)
- enable configurable set-associtive L2 TLB (chipsalliance#2748, chipsalliance#2753)
- default configuration is direct-mapped
- enable Sv48 setting page levels equal to 4 (chipsalliance#2434)
- [PMP] remove NA4 coverpoint for pmp granularity > 4 (chipsalliance#2625)
- [TLB]
- check PutPartial support separately from PutFull (chipsalliance#2503)
- fix a rare refill/invalidate race condition (chipsalliance#2534)
- configure L1 D/I TLBs by set, entry, and replacement policy (chipsalliance#2574, chipsalliance#2621)
- add params nTLBBasePageSectors and nTLBSuperpages for both I and D TLBs (chipsalliance#2595)
- [CoreMonitor]
- add privilege mode and exception signals (chipsalliance#2387)
- now prints only retired instructions (chipsalliance#2372)
- separate wren into wrenx/wrenf for integer/float (chipsalliance#2423)
- Add [CoreMonitorBundle] for [FPU] floating point registers (chipsalliance#2538, chipsalliance#2541, chipsalliance#2546, chipsalliance#2589)
- [FPU] Zfh extension, option for Half-Precision unit (chipsalliance#2723)
- replaces
singleIn
andsingleOut
withtypeTagIn
andtypeTagOut
- replaces
- preliminary RV32Zfh extension support (chipsalliance#2359)
- [RVV] -> 0.9 -> 1.0 (chipsalliance#2477, chipsalliance#2484, chipsalliance#2396, chipsalliance#2552, chipsalliance#2576)
- Fractional LMUL
- Tail-agnostic/mask-agnostic bits
- EEW loads/stores
- Some encoding changes
- tighten fractional LMUL-SEW constraint
- Instructions: add new and update RISC-V vector extension opcodes
- reorder fields in vtype
- add B extension opcodes and object model description (chipsalliance#2678)
- fixed an issue where multiplierIO was unclonable (chipsalliance#2331)
- [PLIC] add support for PLIC elaboration even when nDevices == 0 (chipsalliance#2351)
- [PLIC] fix off-by-one for priority register description (chipsalliance#2718)
- [BuildInDevices] introduce case class parameters to Zero and Error device (chipsalliance#2684)
- make instantiation of buffers optional
- allow for optional instantiation of CacheCork
- [BasicBusBlocker] convert to chisel3, add scala-doc, add factory companion object (chipsalliance#2630)
- [PhysicalFilter] added scaladoc and
RegFieldDesc
(chipsalliance#2685) - [BEU]
- added a Device Tree description for the bus error unit (chipsalliance#2373)
- report Corrupt+Denied on I-Fetch (chipsalliance#2482)
- [ResetSynchronizer][ClockGroupResetSynchronizer] add a pair of diplomatic reset synchronizers (chipsalliance#2666)
- replaced IdentityNodes with AdapterNodes (chipsalliance#2689)
- wrap Tiles in PRCI Domains (chipsalliance#2550)
- contains logic related to power, reset, clock, and interrupt
- define
ResetCrossingType
and use withBlockDuringReset
inTilePRCIDomain
(chipsalliance#2641)- analogous to
ClockCrossingType
. Currently, there are two crossing types:NoResetCrossing
andStretchedResetCrossing(cycles: Int)
- introduces
Blockable
util
- analogous to
- Synchronizer primitive changes (chipsalliance#2212)
- introduction of
ClockCrossingReg
- _SynchronizerShiftReg requires synchronizer depth > 1
- deprecate IntXing and IntSyncCrossingSink
- deprecate SyncResetSynchronizerShiftReg
- introduction of
- [SynchronizerPrimitiveShiftReg] correct the dedup behavior for the *ResetSynchronizerPrimitiveShiftReg so you only end up with one copy (chipsalliance#2547)
- add partial multiple reset scheme support (chipsalliance#2375)
- AsyncResetReg: use chisel3 async resets (chipsalliance#2397)
- Async Reset support for Atomics, FPU, and TLBroadcast (chipsalliance#2362)
- [ResetStretcher][PRCI] add reset stretcher for Async Reset systems (chipsalliance#2566)
- ClockGroupDriverParameters: allow for a configurable drive function for driving asynchronous clock groups with IO other than the implicit clock (chipsalliance#2319)
- [ClockDivider] fixed bug where clock divider's source and sink functions always divided by two (chipsalliance#2610)
- [InterruptBusWrapper] update synchronizer API (chipsalliance#2640)
- replaces using
IntXing
in asynchronize
method withto
andfrom
methods - this is to ensure synchronized registers are always put in the destination clock domain
- replaces using
- [notification] provide reset values for cease and wfi (chipsalliance#2449)
- [notification][CSR] Block wfi, halt, cease, and other valid signals during asynchronous reset (chipsalliance#2611)
- trace.valid of CSR changed to async-reset delay (chipsalliance#2613)
- [notification][WFI] expose WFI from core (chipsalliance#2315)
- [i$] fixed bug where cease signal was asserted before potential glitching in I$ clock finished. Add an assertion to cease signal. (chipsalliance#2419, chipsalliance#2420, chipsalliance#2456)
- [PMP][DTS] add pmp granularity to DTS (chipsalliance#2661)
- [NMI] introduce non-maskable interrupt implementation (chipsalliance#2711)
val tiles
in traitHasTiles
is now populated eagerly via theTilesLocated
Field. (chipsalliance#2504)
- [HasTiles] add seipNode (chipsalliance#2665)
- Topology changed from static traits to CDE-based configurable runtime (chipsalliance#2327)
HasHierachicalBusTopology
trait replaced with two config options:WithCoherentBusTopology
WithIncoherentBusTopology
- renamed attachment API to location API (chipsalliance#2330)
- [BundleBridge] to propagate [TileInputConstants]. ROM attachment changes (chipsalliance#2521 merged as chipsalliance#2531)
HasPeripheryBootROM
andHasPeripheryBootROMModuleImp
are removed and replaced by a call toBootROM.attach
BootROMParams
Field is removed and replaced withBootROMLocated
FieldMaskROMLocated
Field is addedSubsystemExternalResetVectorKey
,SubsystemExternalHartIdWidthKey
andInsertTimingClosureRegistersOnHartIds
Fields are added- Unused
ResetVectorBits
Field is removed HasExternallyDrivenTileConstants
bundle mixin is removedHasResetVectorWire
subsystem trait is removedHasTileInputConstants
andInstantiatesTiles
subsystem traits are addedBaseTile
exposesval hartIdNode: BundleBridgeNode[UInt]
andresetVectorNode: BundleBridgeNode[UInt]
and these are automatically connected to inHasTiles
.rocket.Frontend
,rocket.ICache
,rocket.DCache
,rocket.NDCache
now haveBundleBridgeSink[UInt]
for their reset vector or hartid wire inputs.- If you instantiate them manually, i.e. not using the traits e.g.
rocket.HasHellaCache
, you will have to manually connect up those nodes to the aforementionedBaseTile
nodes.
- If you instantiate them manually, i.e. not using the traits e.g.
- follow up PR - bug fix for HartID and ResetVector width calcluation (chipsalliance#2543)
- add HierarchicalLocation to LocationAPI (chipsalliance#2346)
- [RocketCrossingParams] relax type of
master
param toTilePortParamsLike
(chipsalliance#2634) - [Subsystem] Miscellaenous subsystem bus crossing changes (chipsalliance#2724)
- introduce keys for bus crossings
- allow for disabling of DriveClockFromMaster behavior
- introduce MBus crossing to CoherentBusTopology
- [Subsystem][PLIC] avoid using implicit clock (chipsalliance#2719)
- Add an optional
TileInputConstant
as an MMIO Address Prefix used in ITIM and DTIM hit calculations (chipsalliance#2533)- follow-up: fix traceCoreNode duplication issue (chipsalliance#2561)
- [stage] Fix a bug where unserializable RocketTestSuiteAnnotations were being serialized (chipsalliance#2424)
- [stage] Fix a bug where the desired output file name was being superseded by another phase (chipsalliance#2424)
- [RocketChipStage] Remove emitVerilog, emitFirrtl, and emitChirrtl methods from RocketChipStage (chipsalliance#2481)
- [stage] expose Stage's
--target-dir
to Config (chipsalliance#2725) - [Transforms][Lint] add
RenameDesiredNames
transform andLintConflictingModuleNames
Lint rule (chipsalliance#2452)- also adds RenameModulesAspect that can be used to emit name overrides and a LintConflictingModuleNamesAspect to collect DesiredNameAnnotations to be checked by the lint pass.
- [ElaborationArtefactAnnotation] add
ElaborationArtefactAnnotation
- an API similar toElaborationArtefacts
(chipsalliance#2727)- this API is for assuring metadata has correct instance paths and signal names
- allow renames to multiple targets for
MemoryPathToken
(chipsalliance#2729)
- mcontext and scontext CSRs for breakpoint qualification (chipsalliance#2588)
- allow a fast debugger reading dmstatus in a single dminner clock cycle to read the proper value (chipsalliance#2412)
- fix address sent from DM to SB2TL (chipsalliance#2559)
- add bus blocker to deny requests to dmInner when dmactive = 0 (chipsalliance#2205)
- DMIToTL: remove PutPartial (chipsalliance#2598)
- convert registers and wires from a Regs of Vector to Regs of UInt (chipsalliance#2597)
- make instantiation of reset synchronizers optional (chipsalliance#2626)
- allow DM at base address other than 0 (chipsalliance#2649)
- [Periphery] workaround an autonaming bug with debug (chipsalliance#2657)
- make
nExtTriggers
a val for compatibility with cloneType (chipsalliance#2667) - [BPWatch] have the watchpoint compare to store or load instruction type for matching (chipsalliance#2317)
- combine modifiable and cacheable, add read and write alloc fields (chipsalliance#2386)
- [AXI4Deinterleaver][AXI4IdIndexer][AXI4UserYanker][TLToAXI4][Anotations] (chipsalliance#2676)
- Scala doc
- Clarifying comments
- Unify
TLToAXI4
metadata code paths into a single path throughTLtoAXI4IdMap
- Make any value of
TLToAXI4.stripBits
other than 0 illegal and stop using it internally. - Remove usage of un-consumed
Annotated.idMapping
and delete associated application and annotation class.
- [AXI4Deinterleaver] support asynchronous reset (chipsalliance#2479)
- [AXI4Deinterleaver] add buffer when optimized away (chipsalliance#2642, chipsalliance#2652)
- [AXIS] allow masters to carry resources (chipsalliance#2443)
- [SRAM] accomodate address ranges that require more than 32 bits (chipsalliance#2491)
- [SRAM] Add public accessors for SRAM modules (chipsalliance#2646)
- [SimAXIMem] introduce
base
address argument to constructor )chipsalliance#2628) - [TLRAM] improved cycle time for designs involving TLRAM (chipsalliance#2582)
- TLMonitors: formal verification support and additional constraints
- TLVIP2 (chipsalliance#2271, chipsalliance#2505, chipsalliance#2754, chipsalliance#2537, chipsalliance#2573)
- change
isShrink
TLPermissions
assertion on C channel toisReport
(chipsalliance#2675)
- TLEdge: add require failure messages for TL edges (chipsalliance#2313)
- minor tilelink v1 parameter fixes for setName and probe rendering (chipsalliance#2428)
- [TLParameters] add v2 constructors (chipsalliance#2532)
- [TLParameters] functions to look at emits parameters (chipsalliance#2572)
- [Parameters] replace cover function with mincover (chipsalliance#2571)
- [APBToTL] only assert address alignment when data is ready and valid on a-channel (chipsalliance#2314)
- [TLBroadcast][TLSourceShrinker][TLCacheCork][SBA][$] Drive or pass through TL user bits (chipsalliance#2457, chipsalliance#2448, chipsalliance#2383, chipsalliance#2446)
- [TLBroadcast] add API to create Probe filters for Broadcast coherence manager (chipsalliance#2509)
- [TLBroadcast] fixed a Generator bug when instantiated with no inner cache (chipsalliance#2516)
- [TLBroadcast] Add control parameters for control interface (chipsalliance#2519)
- make it possible to filter with Banked Broadcast Hub (chipsalliance#2545)
- [TLSourceShrinker] preserve meta data when no shrinkage is required (chipsalliance#2466)
- [TLFragmenter] ensure Fragmenter raises corrupt signal when raising denied (chipsalliance#2468)
- [Tilelink][Arbiter][Xbar][ReadyValidCancel] Add new API that replaces
valid
withearlyValid
andlateCancel
to fix a timing path for A-channel requests (chipsalliance#2480, chipsalliance#2488) - [TLCacheCork] prevent cache block write size from exceeding read size (chipsalliance#2527)
- [TLCacheCork] switch CacheCork class to take a case class parameter (chipsalliance#2684)
- with backwards compatible constructor in helper object
- [TLBundle] C channel now has same user bits as A channel (chipsalliance#2632)
- caches now responsible for driving AMBAProt on C-channel.
- [TLArbiter] add
highestIndexFirst
arbitration policy (chipsalliance#2587) - [AHBToTL] retain AHB hrdata even during error response (chipsalliance#2512)
- [AHBToTL] fix spurious fire of assertion on first cycle (chipsalliance#2523)
- [CreditedIO] introduce new DecoupledIO interface for credit debit buffers (chipsalliance#2555)
- [IdMap][IdMapEntry] standardize IdMap and IdMapEntry (chipsalliance#2483)
- [AXI4IdIndexer] later fixed a bug with graphml parsing metadata bracketed in "< >" (chipsalliance#2638)
- [IdMapEntry][OMIdMapEntry] add
maxTransactionsInFlight
field chipsalliance#2627
- versioning support for tilelink parameters (chipsalliance#2320)
- allow users to access Lazy Module nodes (chipsalliance#2301)
- JunctionNodes now support configurable up/down ratio (chipsalliance#2430)
- dynamic and remote order: fix QoR in designs with large physical address maps (chipsalliance#2461)
- [AddressSet] fix a bug where duplicated AddressSets would cause incorrect widening when unify is called. (chipsalliance#2502)
- [LazyModule]
- mark LazyModules for inlining such as nodes with circuit identity (inputs are outputted unchanged) (chipsalliance#2579)
- inline xbar patch: (chipsalliance#2639)
- add scaladoc (chipsalliance#2311)
- mark LazyModules for inlining such as nodes with circuit identity (inputs are outputted unchanged) (chipsalliance#2579)
- Added more debug info to node requires (chipsalliance#2577)
- [Nodes] documentation for Nodes (chipsalliance#2604)
- [Nodes] replace
bundleSafeNow
guard withinstantiated
guard (chipsalliance#2680) - tutorial for adder (chipsalliance#2615)
- [aop][Select] add Select Library API (chipsalliance#2674)
- [DTS] allow node names up to 48 bytes (chipsalliance#2570)
- [AddressAdjuster] and RegionReplicator now work on prefixes (not chip id) (chipsalliance#2430)
- removes MultiChipMaskKey
- [AddressAdjuster] patches (chipsalliance#2470)
- user can now supply a default local base address for reporting manager address metadata other than the 0th region
- let local and remote legs have different user bits using <:= operator
- allow for no fifo ordering on the replicated region
- more verbose requires
- [BundleBridge] generalize
BundleBroadcast
intoBundleBridgeNexus
(chipsalliance#2497)- user can now supply input and output functions
- [BundleBridge] add
SafeRegNext
toBundleBridgeNexus
to preserve width (chipsalliance#2520) - [BundleBroadcast] add register pipelining argument (chipsalliance#2431)
- [OMMemoryMap] require register map to only go to one memory region (chipsalliance#2496)
- [OMErrorDevice] added to Object Model (chipsalliance#2410, chipsalliance#2411)
- added IdRange, IDMap to include source ids in object model (chipsalliance#2495)
- added L2UTLB entries and memory (chipsalliance#2606)
- [OMISA] Add OMVectorExtension.vstartALU field (chipsalliance#2578)
- [RegFieldDesc]
- add AddressBlocks for RegFieldDesc (chipsalliance#2437)
- require RegFieldDesc to match RegEx to limit to a subspect of IP-XACT standard (chipsalliance#2525)
- updates for AHB and AXI (chipsalliance#2427)
- add Zfh extension (chipsalliance#2581)
- make RC more tolerant to x-prop (chipsalliance#2659)
- [util][rotate] fix
rotate
for zero-width wires (chipsalliance#2663) - [SimJTAG][SimDTM] fix a verilator bug due to delay statements (chipsalliance#2635)
- register coverage now generated based on access type (chipsalliance#2384)
- [BundleMap] improved API for user bits
- Customizable field unification, Default for bulk assignments, Field and Key class required (chipsalliance#2318)
- Use BundleMap for AMBA protocols (chipsalliance#2326)
- various bug fixes to TL user fields (chipsalliance#2335)
- [FixChisel3] Added some scaladoc commentary to the operators :<>, :<=, :=> to explain what they do and the rationale for their creation. (chipsalliance#2339)
- [util] Add utilities for bitwise shifts by signed shift amounts (chipsalliance#2477)
- [TLBusWrapper] more stability to internal wire names (chipsalliance#2515)
- [LazyRoCC] convert LazyRoCC to chisel3 (chipsalliance#2553)
- [OptimizationBarrier] give the module a name in generated verilog (chipsalliance#2507)
- add test enable pin to Clock Gate (chipsalliance#2087)
- [RecordMap] addd as an API for better diplomatic IO naming chipsalliance#2486
- used to get easier to follow Clock Group signal names chipsalliance#2528
- [IDPool] enable ResetAsynchronous Full (chipsalliance#2568)
- [IDPool] add
lateValid
andrevocableSelect
to shift the deep logic cones from before thevalid/selec
registers to after thebitmap
register (chipsalliance#2673, chipsalliance#2677) - [IDPool] infer widths (chipsalliance#2679)
- Make AsyncValidSync a RawModule (chipsalliance#2352)
- compiler warning fixes (chipsalliance#2357, chipsalliance#2356, chipsalliance#2355, chipsalliance#2354, chipsalliance#2353, chipsalliance#2378, chipsalliance#2379, chipsalliance#2380, chipsalliance#2442, chipsalliance#2567, chipsalliance#2757, chipsalliance#2758)
- [SCIE] fix width mismatch assignment lint warning from VCS (chipsalliance#2563)
- Initial scalatest flow support and aspect generation (chipsalliance#2309, chipsalliance#2517)
- [linting] add Chisel Linting Framework (chipsalliance#2435)
- [scalafix] enable scalafix and remove unused imports (chipsalliance#2648)
- This requires downstream projects using rocket-chip's build.sbt to enable scalafix.
- enable LeakingImplicitClassVal (chipsalliance#2650)
- enable ProcedureSyntax (chipsalliance#2651)
- mdoc infrastructure (chipsalliance#2615)
- [PlusArg]
- support for no-default PlusArgs and string-valued PlusArgs (chipsalliance#2453)
- fix VCS lint warning for plusarg default bit width (chipsalliance#2558, chipsalliance#2562)
- decode: improve runtime (chipsalliance#2462)
- Switch to using Github Actions (chipsalliance#2465, chipsalliance#2472, chipsalliance#2530, chipsalliance#2536)
- Some Travis changes were made, but travis is dropped in later releases (chipsalliance#2451, chipsalliance#2454, chipsalliance#2455, chipsalliance#2490)
- Add scalatest to a bucket for regression testing (chipsalliance#2511)
- RTLSim trace log:
- fixed an issue where the wrong destination register being dumped in the RTLSim trace log (chipsalliance#2409)
- enhanced log so only registers read or written are printed (chipsalliance#2414)
- add CONTRIBUTING.md (chipsalliance#2342, chipsalliance#2473)
- [wake]
- add self-location rules (chipsalliance#2526)
- fix string interpolation of bootrom path (chipsalliance#2535)
- publish location of ivydependencies.json (chipsalliance#2540)
- update CI to 0.19.0 (chipsalliance#2594 superseding chipsalliance#2584)
- avoid hardcoded directory path for hardfloat repo chipsalliance#2633
- [mill] add mill build system (chipsalliance#2654)
- [sbt] remove jgit-repo resolver (chipsalliance#2364)
This version exists as a branch, but seems to be largely synonymous with 1.2. There are no release notes or maintenance for this version.
There are no existing release notes for this and previous versions.