PyGears 0.1.2 released

Features

  • Add support for user configuration .pygears.py files that are loaded at startup. These files can be local to the project or located in ~/.pygears.py and active globally.

  • Registry paths can be accessed by Unix path strings (e.g. logger/svgen/print_traceback), take a look at registry

  • Wildcards can be used in registry paths, e.g. logger/*/print_traceback

  • Add support for user configuration files in JSON and YAML formats

  • Loggers are organized better and are configured more easily. Checkout docs for Logger

  • Added generation of Questa run script in SystemVerilog generation subsystem

  • Added Python implementation for the following gears from the gear library: accumulator, clip, iceil, max_gears, qlen_cnt, reverse, take, tr_cnt, unary and valve

  • width_reductor is now version of serialize gear when active field is supplied

  • Gears can now be scheduled multiple times within forward/backward phases, which handles the problems with fictive cycles in simulation graph when multiple gears are combined to be simulated in external RTL simulator.

  • Output interfaces are now named after the returned variable names in hierarchical gears

Infrastructure

  • Move infrastructure modules to conf subpackage.

  • Allow for modules to specify callbacks to be triggered when their configuration is changed in registry

  • Module err.py has been removed and its functionality has been moved to trace.py

Bug-fixes

  • Fix __str__ for generic Queue and Array.

  • Correct unpatch-ing of PDB when trace/level is set from TraceLevel.user to TraceLevel.debug

  • Fix clashing between class and instance methods Tuple.replace

  • Turn-off pretty sieve naming by default since it creates performance issues for large designs

  • Make importing of yaml package optional, since the package doesn’t come with Python and needs to be installed separately.

Documentation

Comments

comments powered by Disqus