Skip to content

Releases: SystemRDL/PeakRDL-regblock

1.1.1

16 Jul 17:54
Compare
Choose a tag to compare

Bugs fixed:

  • Add names to assertions. #151
  • Fix incorrect NBA in Avalon always_comb template. #152
  • Tidy up whitespace in generated package. #148

1.1.0

16 May 05:18
Compare
Choose a tag to compare

Updates:

  • Add support for signed fields (#140)
  • Add support for fixed-point fields (#140)

Credit goes to @darsor for implementing this!

1.0.0

12 Apr 05:27
Compare
Choose a tag to compare

Publishing first "stable" version 1.0! 🎉
Architecture of the regblock generator has stabilized enough that I'm comfortable to start publishing this using proper semantic versions.
Thank you so much to all the early-adopters who helped test, find bugs, and enhance the tool further!

Updates:

  • ⚠️ Drop support for Python 3.6
  • Add simulation-time width assertions to SV interfaces. #128
  • Add user parameters to regblock package. #112
  • Allow for write enable and sticky property. #98
  • Make swmod respect cpuif byte strobes. #137
  • Simplify stickybit implementation for single-bit fields to not create redundant expression. #127
  • Emit error if field that is asynchronously reset uses a dynamic reset value. #129
  • Fix missing error message if multiple unconditional field assignments are inferred. #93
  • Add more specificity to stickybit conditional class
  • Add top-level block size to generated package #134

0.23.0

20 Dec 05:59
Compare
Choose a tag to compare

Updates:

  • Add preprocessor ifndef SYNTHESIS guard around RTL assertions to avoid synthesis warnings. #104
  • Fix incorrect bit-order of external register packed struct fields. #111
  • Add optional dependency that includes peakrdl-cli by installing via peakrdl-regblock[cli]. Allows for lightweight PeakRDL tool install option.
  • Add next_q storage element to reset clause to avoid synthesis issues with async resets. #113, #89
  • Fix incorrect address width calculation for external block address assignment. #116
  • Remove excessive secondary counter saturation clamping logic. Counters will now be allowed to be loaded with values beyond their saturation point if loaded through non-increment/decrement mechanisms. #114
  • Add width cast to address decode loop iterators. #92

0.22.0

01 Apr 05:23
Compare
Choose a tag to compare

Updates:

  • Add support for CPUIFs to provide parameters to the module #80
  • Add packed struct overlay for external register bitfields. #84
  • Use explicit logic type for user enum declarations. #91

0.21.0

21 Mar 03:05
Compare
Choose a tag to compare

Updates:

  • Remove use of in-scope initial assignments to automatics to work around bug in Spyglass lint tool. #87
  • Fix read/write buffering trigger generation when trigger is not the same reg. #88

0.20.0

06 Jan 05:16
Compare
Choose a tag to compare

Updates:

  • Fix invalid bit-slicing of literals if field reset value is a constant. #71
  • Add validation check for write buffered registers that trigger off of their own field. #39
  • Fix accidental blocking assignment in always_ff for read buffering storage elements.
  • Tidy up some whitespace.

0.19.0

12 Oct 05:06
Compare
Choose a tag to compare

Updates:

  • Fix hwif type name generation to properly include parameterized component type names. #70
  • Remove implication operator to avoid xsim compatibility limitation. #57
  • Fix always_ff generation for non-reset fields and async default reset. #63
  • Fix axi4-lite write strobe width. #68

0.18.0

25 Aug 03:46
Compare
Choose a tag to compare

Updates:

  • Add assertion for rogue external ack strobes. #57
  • Omit unnecessary hwif signals if an external register is read-only or write-only. #58
  • Discard LSbs of address for AXI4-Lite CPUIF to properly handle unaligned transfers. #60
  • Add parameters for CPUIF data and addr widths to package output.

0.17.0

20 Jul 04:10
Compare
Choose a tag to compare

Updates:

  • Fix interrupt conditional predicates to be single-bit. #54
  • Clean up ugly unconditional 'if(1)' conditionals in field logic. #50