用于将布尔电路用作图形的工具。

circuitgraph的Python项目详细描述


电路图

Build StatuscodecovCode style: blackpre-commit

CircuitGraph是一个以图形形式处理硬件设计的库。CircuitGraph提供了一个基于NetworkX的接口来实现这一点,同时还集成了其他有用的工具,如sat解算器和Yosys合成工具,以及verilog的输入/输出。在

概述

Circuit类是库的核心,它本质上是NetworkX图形对象的包装器。此图可通过Circuitgraph成员变量访问,并可用作健壮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 CICodecov设置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

引文

请尽快回电。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法将自定义数据类型转换为字符串?   JavaLog4j和appender,这个Log4j定义正确吗?   用于换行的java Android Eclipse拆分   与某个方法关联的java启用/禁用JButton   java小部件列表视图加载视图   java国家/地区名称中的正则表达式   从Java调用Kotlin时,如何获取错误的行号?   java将视图传递给AsyncTask以访问findViewById   java SQL性能:多个绑定还是绑定到一个SQL变量以供重用?   BluetoothAdapter上的安卓 Java NullPointerException。isEnabled()   在clojure中取消引用java方法   JAVA网SocketException:IP_添加_成员身份失败(硬件筛选器不足?)   java从类对象的方法接收nullpointer异常   java使用for循环创建多个对象   java无法使用NTLM身份验证apache camel cxf   java Eclipse不喜欢@Override注释   java Spark SQL模拟红移(Oracle)“系统日期”或“当前日期”