用于将布尔电路用作图形的工具。
circuitgraph的Python项目详细描述
电路图
CircuitGraph是一个以图形形式处理硬件设计的库。CircuitGraph提供了一个基于NetworkX的接口来实现这一点,同时还集成了其他有用的工具,如sat解算器和Yosys合成工具,以及verilog的输入/输出。在
概述
Circuit
类是库的核心,它本质上是NetworkX图形对象的包装器。此图可通过Circuit
的graph
成员变量访问,并可用作健壮NetworkX API的入口点。在
下面是一个简单的例子,读取verilog文件,向图中添加一个节点,然后写回一个新文件。在
importcircuitgraphascgc=cg.from_file('/path/to/circuit.v')# Add an AND gate to the circuit that takes as input nets o0, o1, o2, o3c.add('g','and',fanin=[f'o{i}'foriinrange(4)])cg.to_file(c,'/path/to/output/circuit.v')
文档可以在here找到。在
安装
电路图需要Python3。 最简单的安装方法是通过PyPi:
^{pr2}$要从版本安装,请下载并:
pip install circuitgraph-<release>.tar.gz
最后,要使用源安装到位,请使用:
cd <install location> git clone https://github.com/circuitgraph/circuitgraph.git cd circuitgraph pip install -r requirements.txt pip install -e .
可选包
除了requirements.txt
中列举的包之外,您还可以安装一些工具来启用其他功能。在
如果您想执行模拟,可以安装使用PyVerilator接口的Verilator。注意PyVerilator有点挑剔,我们正在寻找更好的模拟解决方案。在
如果您想执行合成,您可以安装Cadence genius或Yosys。如果要使用genius,则必须通过设置CIRCUITGRAPH_GENUS_LIBRARY_PATH
变量来提供要使用的合成库的路径。在
发展中
使用Travis CI和Codecov设置CI测试和覆盖范围。 如果要在本地生成覆盖率信息,请安装coverage和codecov。在
pip install coverage codecov make coverage
文档是使用pdoc3构建的。在
pip install pdoc3 make doc
测试是使用内置的unittest框架运行的。在
make test
代码应使用black格式化。 Pre-commit用于提交时自动运行black。在
pip install black pre-commit pre-commit install
引文
请尽快回电。在
- 项目
标签: