@shtaxxx shtaxxx released this Nov 16, 2015 · 812 commits to master since this release


  • Python 3.5.0 is supported, which is tested only on Mac OS environment.
  • lib.dataflow is a dataflow pipeline builder (which is renamed from lib.pipeline).
  • lib.dataflow supports the visualization by using pygraphviz (for python 2.7 and 3).
  • lib.fsm: state traversal codes are evaluated and inserted lazily.
  • lib.simulation supports ModelSim in addition to Icarus Verilog.
  • Module supports add_hook(method, args, kwargs) for adding a lazy-evaluated method which is executed when to_verilog() method is called. Those methods do not affect the Module object state (like immutable), excepting the generated code. Usually a make_always() method is passed to add_hook(), and then it will called when to_verilog() is called.
  • Constructor methods of lib.fsm.FSM, lib.seq.Seq, lib.dataflow.Dataflow are changed, so that they require a clock and reset signal. In contrast, make_always() methods do not require them no longer.
  • All example codes use absolute_import and print_function for better Python3 support.

Test environment

Mac OSX 10.10.5

  • python 2.7.9 + pyverilog 1.0.1
  • python 3.4.2 + pyverilog 1.0.1
  • python 3.5.0 + pyverilog 1.0.1

Ubuntu 14.04

  • python 2.7.6 + pyverilog 1.0.1
  • python 3.4.3 + pyverilog 1.0.1