Update
- 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