Skip to main content

An abstraction layer of EDA CLI tools.

Project description

Sourcecode on GitHub Sourcecode License Documentation Documentation License Gitter
PyPI PyPI - Status PyPI - Python Version
GitHub Workflow - Build and Test Status Libraries.io status for latest release Codacy - Quality Codacy - Coverage Codecov - Branch Coverage

Provide unified interfaces to execute EDA tools via CLI from Python, agnostic to any specific configuration format/object.

Main Goals

  • Provide a pythonic solution to construct command line calls for EDA tools based on pyTooling.CLIAbstraction
  • Launch CLI tools and connect to STDIn, STDOUT, STDERR for realtime output post-processing.

Features

  • Support multiple native platforms: Linux, macOS, Windows.
  • Support nested platforms like MSYS2 with MinGW32, MinGW64, URCT64, Clang64, ...
  • Find CLI programs either in PATH or specify an exact installation location.
  • Generate CLI options in correct order.
  • Generate correctly escaped CLI options.

Supported Tools

  • Aldec
    • 🚧 Active-HDL
    • 🚧 Riviera-PRO
  • Altera
    • 🚧 Quartus
    • 🚫 ModelSim Altera (Student) Edition
  • Cadence
    • 🙋 need a list of tools
  • IntelFPGA
    • 🚧 Quartus
    • 🚫 ModelSim Altera (Student) Edition
  • Lattice
    • 🚧 Diamond
    • 🚫 Active-HDL Lattice Edition
    • 🚫 ModelSim Lattice Edition
  • MentorGraphics
    • ✅ ModelSim DE/SE/PE
    • 🚫 QuestaSim
  • SiemensEDA
    • 🚫 ModelSim DE/SE/PE
    • 🚫 QuestaSim
  • Synopsys
    • 🙋 need a list of tools
  • Xilinx
    • 🚧 ISE
    • 🚧 Vivado
    • 🚫 Vivado-SDK
    • 🚫 Vitis
  • System Tools
    • ✅ Git
  • Open Source
    • ✅ GHDL
    • ✅ GTKWave
  • Yosys
    • 🙋 need a list of tools

Legend:
✅ → implemented and tested
🚧 → under test
🚫 → planned but not yet implemented ⇒ accepting PRs
🙋 → need help

Examples

from pyEDAA.CLITool.GHDL import GHDL

tool = GHDL()
tool[tool.CommandAnalyze] = True
tool[tool.FlagVHDLStandard] = "08"
tool[tool.FlagSynopsys] = True
tool[tool.FlagRelaxed] = True
tool[tool.FlagExplicit] = True
tool[tool.FlagMultiByteComments] = True
tool[tool.FlagLibrary] = "lib_Test"

print(f"Calling GHDL: {tool}")
# Calling GHDL: "ghdl" "analyze" "--std=08" "-fsynopsys" "-frelaxed" "-fexplicit" "--work=lib_Test" "--mb-comments"

Consumers

This layer is used by:

References

Contributors

License

This Python package (source code) is licensed under Apache License 2.0.
The accompanying documentation is licensed under Creative Commons - Attribution 4.0 (CC-BY 4.0).


SPDX-License-Identifier: Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyedaa_clitool-0.4.1.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyedaa_clitool-0.4.1-py3-none-any.whl (37.9 kB view details)

Uploaded Python 3

File details

Details for the file pyedaa_clitool-0.4.1.tar.gz.

File metadata

  • Download URL: pyedaa_clitool-0.4.1.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pyedaa_clitool-0.4.1.tar.gz
Algorithm Hash digest
SHA256 1e760ce297e5181cf35539643528727610afbf5faf59d33fe1a5db43db887616
MD5 d9a899c498ae38698cb15cdee5581a41
BLAKE2b-256 a38e82a32fb8c4e3368eed034a65c366f41abb5a88fc0a0138f48974d0baa164

See more details on using hashes here.

File details

Details for the file pyedaa_clitool-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: pyedaa_clitool-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 37.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pyedaa_clitool-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8b9ff3b163af851c40ac86c1243dcdfaafe1f4b7c7d2af4184d752f54e7feba
MD5 6bbd3008acf2e9854e5f5283a7276949
BLAKE2b-256 f65f2daf7b8dd3f74619e34311aa11c6b3aaba5affc4abddd6f55775d17899be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page