HDL合成工具包
hwt的Python项目详细描述
硬件工具包(HWT),
python中的硬件开发库
hwt的目标
- 元编程+HLS,标准代码生成器,防止代码重复。
- 与社区和商业工具的集成,灵活的轻量级用户可扩展体系结构。
- 简单的验证和测试。
功能
- 元硬件描述语言(例如simple,showcase)。它介于HLS和HDL之间。它提供hls风格的编码,但同时它允许您操作hdl对象。这意味着编写原型比在hls中要慢一点,但是您总是知道发生了什么、如何发生以及为什么发生。
- 具有uvm类验证环境的数字电路模拟器(示例用法CAM,structWriter_test.py)
- 静态分析工具(resourceAnalyzer,示例用法cntr_test.py)
- 序列化程序将hwt设计导出到多个目标hdl(verilog, VHDL, system-c, IP-core packager, hwt itself...)
hwt使用hilevel netlists作为目标设计的内部表示。优化后的网络列表由常用的代码语句、函数调用、语句等生成(硬件进程自动解析)。这个网络列表很容易使用,如果主库中缺少什么东西,用户可以很容易地修改或分析。 同时serialization modes允许调整组件在序列化期间的行为。
HWT不执行HLS计划或调度。hwt还可以作为api,用于由更高级的工具生成代码。组件/接口/类型的层次结构不受限制。检查用户指定的名称是否与目标语言冲突。
硬件设计是实例。无需特别注意,只需使用tortl metod或其他(查看examples)。
HWT生态系统
- hwtLib-充满实例和实际设计的库。
- sphinx-hwt-sphinx文档生成器插件,它将shematic添加到html文档中。
- hdlConvertor-(系统)verilog/vhdl解析器
- hwtHls-高级合成器(算法描述->;rtl)
- hwtHdlParsers(未维护)-(系统)verilog/vhdl兼容层,允许您从hdl导入对象。
安装
这个库是普通的python包。您可以使用:
# system-wide, use -u for local use only
sudo pip3 install hwt
然后,您可以从python控制台或脚本使用hwt库中定义的函数和类。 建议安装hwtLib,因为它包含所有接口代理等…
类似项目
- chisel-2012-?,Scala,元HDL
- SpinalHDL-2015-?,Scala,元HDL
- migen-2013-?,python,元hdl
- MyHDL-2004-?,python,基于进程的hdl
- PyMTL-2014-?,python,基于进程的hdl
- veriloggen-2015-?,python,以verilog为中心的meta-hdl,具有类似hls的特性
- hoodlum-2016-?,生锈,meta-hdl
- magma-2017-?,python,元hdl
- garnet-2018-?,python,基于magma的粗粒度可重构架构生成器
- concat-2016-?,haskell,haskell到硬件
- PyRTL-2015-?,python,元hdl
- Verilog.jl-2017-2017,julia,简单julia到verilog transpiler
- Kactus2-ip核心打包机
相关开源
- vtr-verilog-to-routing < < > >;
- yosys-rtl综合框架