PyGears 0.1.2 released ====================== .. post:: October 28, 2018 :author: Bogdan :category: Release 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 :ref:`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 :ref:`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 :meth:`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 ------------- - Document PyGears :ref:`registry `. - :any:`typing/tuple` documented. - Separate pages and additional documentation for :any:`typing/integer`, :any:`typing/uint` and :any:`typing/int` types. - Document :func:`drv ` gear.