Py4Hw is a Python library that allows to describe, display, simulate, and generate Verilog for digital circuits without the need of any other HDL tool.
In this notebook we will learn how to use it. Launch it in Binder by clicking the icon of the README.md for an better user experience.
Follow it step by step for an incremental view of the library or browse the following table of contents.
0.1 Installing the library¶
0.2 Cloning the development repository¶
1.1 Hardware Design Style¶
1.2 Object Oriented Approach¶
1.3 HWSystem¶
1.4 Logic¶
1.5 Ports¶
1.6 Wires¶
1.7 Parameters¶
1.8 Interfaces¶
1.9 Abstract Logic¶
2.1 Bitwise Logic Operations¶
2.2 Logical and Relational Operations¶
2.3 Bit manipulation¶
3.1 Registers¶
3.2 Memories¶
4.1 FSMs¶
4.2 Clocked Processes (Algorithmic Design Style)¶
4.3 Clock enabling¶
5.1 The simulator¶
5.2 Scopes¶
5.3 Waveforms¶
6.1 Schematic Viewer¶
6.2 Manipulating Schematics¶
6.3 Interactive Workbench¶
7.1 RTL Generation from Strucrual Descriptions¶
7.2 RTL Generation from Behavioural Descriptions¶
8.1 Dealing with unique instances, unique blocks and parametetric blocks¶
9.1 Current blocks¶
9.2 Future goals¶
10.1 Behavioural Modeling¶
10.2 Cycle Based Simulation¶
10.3 Schematic Visualization¶
10.4 Comparing with other Python based HDLs¶
11.1 HLS of combinational circuits¶