Skip to content

Releases: Intuity/packtype

v3.1.1

22 Dec 10:40
2994b27

Choose a tag to compare

What's Changed

  • "Normative points" renamed to "requirements"
  • __copy__ and __deepcopy__ operators implemented
  • Type hinting fixes

v3.1.0: Variants and other enhancements

13 Nov 15:18
7afa5b5

Choose a tag to compare

What's Changed

  • Adding repr for unions by @Intuity in #41
  • Add multiline comment support to .pt grammar by @ahizzey in #42
  • Fixing 'utils.unpack(...)' when used against an ArraySpec by @Intuity in #43
  • Version 3.1.0: Various changes and improvements by @Intuity in #44

New Contributors

Full Changelog: v3.0.3...v3.1.0

v3.0.3

03 Sep 10:07
a925f16

Choose a tag to compare

What's Changed

  • Adding support for instances (typed constants) by @Intuity in #40
  • Addresses #39

Full Changelog: v3.0.2...v3.0.3

v3.0.2

29 Aug 14:14
935ec69

Choose a tag to compare

What's Changed

  • Better handling of other in numeric primitives by @Intuity in #35
  • Adding pack and unpack utility methods by @Intuity in #36
  • Adding a repr to Constant by @Intuity in #37
  • Add support for multi-dimensional arrays by @Intuity in #38

Full Changelog: v3.0.1...v3.0.2

v3.0.1: Minor fixes

25 Jul 08:52
8ccfab0

Choose a tag to compare

What's Changed

Full Changelog: v3.0.0...v3.0.1

v3.0.0

13 Jul 13:05
4b67633

Choose a tag to compare

Version 3 introduces the custom Packtype grammar, which parses .pt files into the same internal class format as when they are declared with @packtype decorators. This is a major extension to the tool, and has necessitated some breaking changes to the the CLI interface.

What's Changed

  • Adding a custom .pt grammar as an alternative to dataclass style declarations by @Intuity in #32

Full Changelog: v2.1.0...v3.0.0

v2.1.0

13 Jul 12:40

Choose a tag to compare

What's Changed

  • Moving operator overrides into a Numeric class and using this for both Constant and Enum by @Intuity in #7
  • Assembly also inherits from Numeric to add comparisons between packtypes by @Alldred in #8
  • Performance improvements by @Intuity in #10
  • Fixing issue with unions where value was not assigned by @Intuity in #11
  • Making aliases unique by @Intuity in #12
  • Providing str/repr implementation for PackedAssembly by @Intuity in #13
  • Enum values are now assigned with a size, so they don't default to 32bit by @Alldred in #14
  • Wrap pt_width in int() to convert to integer in template by @Alldred in #15
  • Support for rendering structs to SVG by @Intuity in #16
  • Fix: Fix array of structures not getting bit vector when in a union by @OisinRobinson in #17
  • Adding support for register descriptions within packtype syntax by @Intuity in #18
  • SV localparam generation greater than 32bits by @davidp135 in #19
  • Fixes to help the bridge cope with backpressure by @Intuity in #20
  • Fix issue with double underscore by @Intuity in #21
  • Add _as_dict to get name:value dict for enums by @Alldred in #22
  • Change enum._pt_as_dict to class method by @Intuity in #23
  • Lazy Field Expansion by @Intuity in #26
  • Update header.mako by @Alldred in #27
  • Use ordered set to ensure deterministic output by @Kotarski in #28
  • Pipelined register accesses by @Intuity in #25
  • Documentation and Utility Methods by @Intuity in #30
  • Migrating SVG rendering within PackedAssembly and adding repr_svg by @Intuity in #33

New Contributors

Full Changelog: v2.0.0...v2.1.0

v2.0.0

11 Dec 15:59

Choose a tag to compare

A complete rebuild of how Packtype works to address a bunch of technical debt:

  • Declared types can now be used natively in Python without rendering out a template
  • Parameterisation of primitives such as Scalar is now performed using the [...] (square bracket) typing syntax that is common in Python (i.e. Scalar[19] declares a 19-bit scalar type)
  • The innards of type declaration now leverage dataclasses to simplify the nastiness of dealing with __annotations__ manually
  • Exceptions have been updated through to be more distinct (rather than using assert a lot)
  • C/C++ templates have been temporarily removed (they need to be rewritten)

v1.1.3

26 Sep 14:47

Choose a tag to compare

  • Added support for rendering multiple templates for one language type
  • Moved pack/unpack function definitions into a separate .cpp file for C++
  • Moved pack/unpack function definitions into a separate .c file for C

v1.1.2

23 Sep 21:39

Choose a tag to compare

Fixing missing newline at end of SystemVerilog output causing lint failures