Skip to main content

hdlConvertorAst

CircleCI PyPI version Python version Coverage Status Documentation Status

This library contains universal HDL AST nodes (Hardware Description Language Abstract Syntax Tree = objects for representation of code constructs) for SystemVerilog, VHDL and others. This AST can be generated from SV/VHDL code by hdlConvertor and it can also be converted to VHDL/SV/JSON/SystemC/... and other formats using hdlConvertorAst.to module. Note that the conversion of AST of different languages requires an extra care. E. g. the VHDL AST and SV AST will have a different type names and thus the direct transpilation using hdlConvertorAst.to module will not yield working code. If source and target language differs the translation is required. For this translations and post processing you can use hdlConvertorAst.translate module

Doc shared with hdlConvertor.

Intended as a support library for

  • code generators
  • code parsers
  • compilers/transpilers

Supported languages

  • IEEE 1076-2008 (VHDL 2008) and all previous standard, (currently without tool_directive and PSL)
  • IEEE 1800-2017 (SystemVerilog 2017) and all previous standards.
  • SystemC 2.3.3
  • HdlConvertor JSON
  • hwtSimApi basic_rtl_sim_model (python interpreted RTL simulator)
  • hwt (hardware construction framework (HCL) with algorithmic synthesis (HLS))

List of selected unique features of this library

  • single straightforward universal AST for all languages, wide spectrum of import/export languages
  • automatic parenthesis resolution in expressions based on operator priority/associativity
  • clever white-spaces, constant and expression formating
  • comments preserved as doc of objects

Installation

# note this may be older version than you see in repo
sudo pip3 install hdlConvertorAst

# or download repository and run
sudo python3 setup.py install

# if you are using version from git rather uninstall
# old library first if required
# sudo pip3 uninstall hdlConvertorAst

Similar projects

  • fasm - Python, FPGA Assembly (FASM) Parser and Generator

Metadata

Release files for hdlConvertorAst 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hdlConvertorAst 1.2
File Size Uploaded
hdlConvertorAst-1.2.tar.gz 64.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hdlConvertorAst 1.2
File Interpreter ABI Platform
hdlConvertorAst-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 154.6 kB

Release files / hdlConvertorAst-1.2.tar.gz

Download URL hdlConvertorAst-1.2.tar.gz
Size 64.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7dcf79871f529c891ead74f47a6ad4ddf1d6f058ea1a4faa7644eee2cf4ec0ec
BLAKE2b-256 checksum
How to use checksums
4f4dee9d652b60b70c33329a226ec3a2a23f18e321eb260397a649becc1b54ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.1

Release files / hdlConvertorAst-1.2-py3-none-any.whl

Download URL hdlConvertorAst-1.2-py3-none-any.whl
Size 90.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0becf07c665b399bfdde0cc10559dc061e1278a817ec28262d3512281f58b4b3
BLAKE2b-256 checksum
How to use checksums
6250b02f8cb20d17868382f07a4b18fd1280f6a06fd38f338ad7c8fcee38bd52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.1

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.1

2 release files

1.0

3 release files

0.9

3 release files

0.8

3 release files

0.7

3 release files

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page