Skip to content

Commit c0826db

Browse files
author
Stefan Mach
committed
🔖 Release 0.5.4
2 parents 63ca354 + d147b37 commit c0826db

12 files changed

+32
-6
lines changed

Bender.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package:
33
authors: ["Stefan Mach <smach@iis.ee.ethz.ch>"]
44

55
dependencies:
6-
common_cells: {git: "https://github.com/pulp-platform/common_cells.git", rev: 32dd115}
7-
fpu_div_sqrt_mvp: {git: "https://github.com/pulp-platform/fpu_div_sqrt_mvp.git", rev: e10ab86}
6+
common_cells: {git: "https://github.com/pulp-platform/common_cells.git", version: v1.13.1}
7+
fpu_div_sqrt_mvp: {git: "https://github.com/pulp-platform/fpu_div_sqrt_mvp.git", version: v1.0.1}
88

99
sources:
1010
- src/fpnew_pkg.sv

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ Multiple integer formats with arbitrary number of bits (as source or destionatio
3030
- Conversions between FP formats and integers (signed & unsigned) and vice versa
3131
- Classification
3232

33+
Multi-format FMA operations (i.e. multiplication in one format, accumulation in another) are optionally supported.
34+
3335
Optionally, *packed-SIMD* versions of all the above operations can be generated for formats narrower than the FPU datapath width.
3436
E.g.: Support for double-precision (64bit) operations and two simultaneous single-precision (32bit) operations.
3537

docs/CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,42 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

77
In this sense, we interpret the "Public API" of a hardware module as its port/parameter list.
8+
Versions of the IP in the same major relase are "pin-compatible" with each other. Minor relases are permitted to add new parameters as long as their default bindings ensure backwards compatibility.
89

910

1011
## [Unreleased]
1112
### Added
1213
### Changed
1314
### Fixed
1415

16+
17+
## [0.5.4] - 2019-06-02
18+
19+
### Added
20+
- Documentation about multi-format operations
21+
- Extended pipelining description slightly
22+
- Extended semantic versioning declaration in changelog
23+
24+
### Changed
25+
- Updated diagrams in architecture documentation
26+
27+
### Fixed
28+
- [common_cells] Bumped to fix src_files.yml bugs
29+
- [fpu_div_sqrt_mvp] Bumped to fix linter warnings
30+
31+
1532
## [0.5.3] - 2019-05-31
1633

1734
### Fixed
1835
- ips_list.yml entry for updated common_cells
1936

37+
2038
## [0.5.2] - 2019-05-31
2139

2240
### Fixed
2341
- Internal pipeline bypass in cast unit
2442

43+
2544
## [0.5.1] - 2019-05-27
2645

2746
### Fixed

docs/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,8 @@ Results from all lanes are collected and assembled at the output of the slice.
427427

428428
Implementing units as merged slices usually yields best total area, however costs more in terms of per-format latency.
429429

430+
When the `ADDMUL` block is implemented using the `MERGED` implementation, multi-format FMA (multiplication done in `src_format`, accumulation in `dst_format`) is automatically supported among all formats using `MERGED`.
431+
430432
![FPnew](fig/multislice_block.png)
431433

432434

@@ -436,6 +438,9 @@ Pipeline registers are inserted into the operational units directly, according t
436438
As such, each slice in the system can have a different latency.
437439
Merged slices are bound to thave the largest latency of the included formats.
438440

441+
All pipeline registers are inserted as shift registers at predefined locations in the FPU.
442+
For optimal mapping, retiming funcitonality of your synthesis tools should be used to balance the paths between registers.
443+
439444
Data traverses the pipeline stages within the operational units using the same handshaking mechanism that is also present at the top-level FPU interface.
440445
An individual pipeline stage is only stalled if its successor stage is stalled and cannot proceed in the following cycle.
441446
In general, different operations can overtake each other in the FPU if their latencies differ or significant backpressure exists in one of the paths.

docs/fig/multislice_block.png

121 Bytes
Loading

docs/fig/opgrp_block.png

217 Bytes
Loading

docs/fig/opgrp_slices_block.png

-38 KB
Binary file not shown.

docs/fig/slice_block.png

-370 Bytes
Loading

docs/fig/top_block.png

13 Bytes
Loading

ips_list.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
#
2020

2121
common_cells:
22-
commit: 0b8c10c21c9f810509bbd7bf86cfbdc4e6626c8e
22+
commit: v1.13.1
2323
domain: [soc, cluster]
2424

2525
fpu_div_sqrt_mvp:
26-
commit: master
26+
commit: v1.0.1
2727
domain: [cluster,soc]

0 commit comments

Comments
 (0)