|
| 1 | +## 0.2.0 |
| 2 | + |
| 3 | +- Added extensive variable-width floating-point support: |
| 4 | + - Added support classes `FloatingPointLogic` and `FloatingPointValue` (<https://github.com/intel/rohd-hcl/pull/97>), (<https://github.com/intel/rohd-hcl/pull/110>), (<https://github.com/intel/rohd-hcl/pull/131>), (<https://github.com/intel/rohd-hcl/pull/156>), (<https://github.com/intel/rohd-hcl/pull/175>), (<https://github.com/intel/rohd-hcl/pull/134>). |
| 5 | + - Added `FloatingPointAdder` abstract component API with implementations `FloatingPointSinglePathAdder` and `FloatingPointDualPathAdder` (<https://github.com/intel/rohd-hcl/pull/106>), with pipelining (<https://github.com/intel/rohd-hcl/pull/126>), (<https://github.com/intel/rohd-hcl/pull/182>). |
| 6 | + - Added explicit J-Bit option for `FloatingPointValue` and `FloatingPointLogic` (<https://github.com/intel/rohd-hcl/pull/193>) as well as in the `FloatingPointAdderSinglePath` and `FloatingPointAdderDualPath`. This allows for unnormalized floating-point representation by storing the leading '1' or j-bit in the mantissa. |
| 7 | + - Modified `FloatingPointValue` and `FloatingPointLogic` to support denormal-as-zero (DAZ) and flush-to-zero (FTZ) (<https://github.com/intel/rohd-hcl/pull/212/>). Implemented in `FloatingPointAdderSinglePath` and `FloatingPointAdderDualPath`. |
| 8 | + - Added `FloatingPointConverter` component (<https://github.com/intel/rohd-hcl/pull/123>), (<https://github.com/intel/rohd-hcl/pull/161>) to convert between different widths of `FloatingPointLogic`. |
| 9 | + - Added `FloatingPointMultipler` base API with `FloatingPointMultiplierSimple` implementation component (<https://github.com/intel/rohd-hcl/pull/152>), (<https://github.com/intel/rohd-hcl/pull/160>). |
| 10 | + - Added square root components for floating-point (<https://github.com/intel/rohd-hcl/pull/188>). |
| 11 | +- Added fixed-point support classes `FixedPointLogic` and `FixedPointValue` (<https://github.com/intel/rohd-hcl/pull/99>), (<https://github.com/intel/rohd-hcl/pull/132>), (<https://github.com/intel/rohd-hcl/pull/167>), (<https://github.com/intel/rohd-hcl/pull/172>), (<https://github.com/intel/rohd-hcl/pull/208>). |
| 12 | +- Added `StaticOrRuntimeParameter` configuration class which provides API support for configuration of a hardware feature within a component using a single parameter for either static configuration with a `bool` or dynamic configuration with a `Logic` signal (<https://github.com/intel/rohd-hcl/pull/214>). |
| 13 | +- Added AXI4 interface with functional model (<https://github.com/intel/rohd-hcl/pull/159>). |
| 14 | +- Added Control Status Register capabilities (<https://github.com/intel/rohd-hcl/pull/151>), (<https://github.com/intel/rohd-hcl/pull/205>), (<https://github.com/intel/rohd-hcl/pull/197>). |
| 15 | +- Added `Sum` and `Counter` components (<https://github.com/intel/rohd-hcl/pull/89>) which are fully-featured capabilities to track counters with multiple inputs and various options to handle overflow. |
| 16 | +- Added `Serializer` and `Deserializer` components (<https://github.com/intel/rohd-hcl/pull/92>) which handle marshalling and unmarshalling of data onto wider or narrower interfaces. |
| 17 | +- Added `ReductionTree` module and `ReductionTreeGenerator` component (<https://github.com/intel/rohd-hcl/pull/155>), (<https://github.com/intel/rohd-hcl/pull/180>), (<https://github.com/intel/rohd-hcl/pull/204>) which allow generalized reduction operations of arbitrary radix with pipelining. |
| 18 | +- Added `Extrema` component (<https://github.com/intel/rohd-hcl/pull/93>). |
| 19 | +- Added clock gating componentry (<https://github.com/intel/rohd-hcl/pull/96>), (<https://github.com/intel/rohd-hcl/pull/111>). |
| 20 | +- Added fast `RecursiveModulePriorityEncoder` (<https://github.com/intel/rohd-hcl/pull/178>) to complement `ParallelPrefixPriorityEncoder`. |
| 21 | +- Added `OnesComplementAdder` component (<https://github.com/intel/rohd-hcl/pull/85>). |
| 22 | +- Added `CompoundAdder` and `CarrySelectOnesComplement` adder components (<https://github.com/intel/rohd-hcl/pull/98>), (<https://github.com/intel/rohd-hcl/pull/178>). |
| 23 | +- Added extensive integer multiplication support: |
| 24 | + - Added multiplier componentry such as parameterizable Booth-encoders, different kinds of sign extension on a partial-product array, delay-driven Wallace tree compression, and selection of differnt kinds for final adders (<https://github.com/intel/rohd-hcl/pull/85>). |
| 25 | + - Added special visualization of partial-product arrays for debug (<https://github.com/intel/rohd-hcl/pull/102>), (<https://github.com/intel/rohd-hcl/pull/107>). |
| 26 | + - Added support for pipelining (<https://github.com/intel/rohd-hcl/pull/118>), (<https://github.com/intel/rohd-hcl/pull/137>), (<https://github.com/intel/rohd-hcl/pull/138>). |
| 27 | + - Added support for rectangular multiplication and multiple kinds of sign extension (<https://github.com/intel/rohd-hcl/pull/154>). |
| 28 | + - Added components `CompressionTreeMultiplier` and `CompressionTreeMultiplyAccumulate` supporting signed and unsigned operands, both statically and logically controlled, rectangular multiplication, Booth encoding with radices 2,4,8, and 16, delay-driven Wallace tree, and configurable final adder, all with exhaustive narrow-width testing (<https://github.com/intel/rohd-hcl/pull/144>). |
| 29 | + - Added wrapper class `NativeMultiplier` (<https://github.com/intel/rohd-hcl/pull/125>). |
| 30 | +- Added integer `MultiCycleDivider` (<https://github.com/intel/rohd-hcl/pull/87>), (<https://github.com/intel/rohd-hcl/pull/117>), (<https://github.com/intel/rohd-hcl/pull/129>), (<https://github.com/intel/rohd-hcl/pull/141>). |
| 31 | +- Added Parallel Prefix Tree components: adding `ParallelPrefixAdder`, `ParallelPrefixEncoder`, `ParallelPrefixIncr`, `ParallelPrefixDecr` and `ParallelPrefixOrScan` (<https://github.com/intel/rohd-hcl/pull/77>), fixing Issue (<https://github.com/intel/rohd-hcl/issues/12>). The types of prefix trees supported are `Kogge-Stone`, `Sklansky`, `Brent-Kung`, and `Ripple`. |
| 32 | +- Added Ready-Valid Bus Functional Model (<https://github.com/intel/rohd-hcl/pull/69>). |
| 33 | +- Added `HammingEccTramsitter` and `HammingEccReceiver` componentry with SECC/SEDDED/SECDED, and SEDDEDTED (<https://github.com/intel/rohd-hcl/pull/74>). |
| 34 | +- Added `BinaryToGray` and `GrayToBinary` conversion components (<https://github.com/intel/rohd-hcl/pull/54>). |
| 35 | +- Added `EdgeDetector` component (<https://github.com/intel/rohd-hcl/pull/75>). |
| 36 | +- Added Serial Peripheral Interface componentry and functional modeling (<https://github.com/intel/rohd-hcl/pull/148>). |
| 37 | +- Added `Find-Nth` component (<https://github.com/intel/rohd-hcl/pull/187>). |
| 38 | +- Modified `ShiftRegister` component to support async reset and different stage reset values (<https://github.com/intel/rohd-hcl/pull/105>). |
| 39 | +- Modified tree form of `OneHotToBinary` to add error generation (<https://github.com/intel/rohd-hcl/pull/211>). |
| 40 | +- Fixed bugs in `FifoChecker` sampling at clock edges that caused failures. (<https://github.com/intel/rohd-hcl/pull/70>). |
| 41 | +- Updated `ApbTracker` for configurable widths and data (<https://github.com/intel/rohd-hcl/pull/71>). |
| 42 | +- Breaking: `ParityTransmitter` deprecates `parity` for `code`,`checkError` for `error` and `originalData` for `data`. |
| 43 | +- Fixed memory model for read-after-write or read on non-zero latency (<https://github.com/intel/rohd-hcl/pull/72>). |
| 44 | +- Fixed bug in `SparseMemoryStorage` (<https://github.com/intel/rohd-hcl/pull/195>). |
| 45 | +- Improved `MemoryStorage` read (<https://github.com/intel/rohd-hcl/pull/176>). |
| 46 | +- Added online schematic generation in the web generator application using [yoWASP](https://yowasp.org/) (WebAssembly form of the [yosys](https://github.com/YosysHQ/yosys) logic synthesis tool) and [d3schematics](https://github.com/Nic30/d3-hwschematic) graphics ([SVG](https://en.wikipedia.org/wiki/SVG)) generation (<https://github.com/intel/rohd-hcl/pull/84>). |
| 47 | +- Modified code to be compatible with ROHD 0.6.0 (<https://github.com/intel/rohd-hcl/pull/150>). |
| 48 | +- Modified code to be lint-compatible with Dart 3.8 (<https://github.com/intel/rohd-hcl/pull/202>). |
| 49 | +- Updated flutter to version 3.27.0 (<https://github.com/intel/rohd-hcl/pull/212/>). |
| 50 | +- Added flutter to devcontainer (<https://github.com/intel/rohd-hcl/pull/79>). |
| 51 | +- Fixed documentation linting to be compatible with Dart 3.3.0 and above (<https://github.com/intel/rohd-hcl/pull/80>). |
| 52 | + |
1 | 53 | ## 0.1.0
|
2 | 54 |
|
3 | 55 | - The first formally versioned release of ROHD-HCL.
|
0 commit comments