An abstract model of EDA tool projects.
Project description
pyEDAA.ProjectModel
- abstract model of EDA tool projects
- filesets, filetypes, ...
Use Cases
- tbd
Examples
from pathlib import Path
from pyEDAA.ProjectModel import Project, Design, FileSet, VHDLSourceFile
print(f"Current working directory: {Path.cwd()}")
projectDirectory = Path.cwd() / "../project"
print(f"Project directory: {projectDirectory!s} - {projectDirectory.exists()}")
project = Project("myProject", rootDirectory=projectDirectory)
designA = Design("designA", project=project, directory=Path("designA"))
designAFileset = FileSet("srcA", design=designA)
for vhdlFilePath in designAFileset.ResolvedPath.glob("*.vhdl"):
designAFileset.AddFile(VHDLSourceFile(vhdlFilePath))
libFileset = FileSet("lib", Path("../lib"), design=designA)
for vhdlFilePath in libFileset.ResolvedPath.glob("*.vhdl"):
libFileset.AddFile(VHDLSourceFile(vhdlFilePath))
print(f"All VHDL files in {designA.Name}:")
for file in designA.Files(fileType=VHDLSourceFile):
print(f" {file.Path}")
References
- Paebbels/pyIPCMI: pyIPCMI/Base/Project.py
- VUnit/vunit: vunit/project.py
- PyFPGA/pyfpga: fpga/project.py
- olofk/fusesoc: fusesoc/capi2/core.py
- XedaHQ/xeda: xeda/flows/flow.py
- tsfpga/tsfpga: tsfpga/build_project_list.py
- hdl-make: hdlmake/
- OSVVM/OSVVM-Scripts: OsvvmProjectScripts.tcl
Contributors
- Patrick Lehmann (Maintainer)
- Unai Martinez-Corral
- and more...
License
This Python package (source code) 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.ProjectModel-0.2.0.tar.gz
(26.3 kB
view hashes)
Built Distribution
Close
Hashes for pyEDAA.ProjectModel-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f28a504610f04ae3cf13e71a3b14d097be4f26bd07b32e19779d662e61ce66f3 |
|
MD5 | cdfdd6254b3484e92c5683bb7e778497 |
|
BLAKE2b-256 | 59f55f3f86a9a918a196e4de485a778647212dda453bdc3cdc424f43edff6f85 |
Close
Hashes for pyEDAA.ProjectModel-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83584407d26701642d5e1774ac0ebb8c8cb88b9041aab6477f501272de3f8751 |
|
MD5 | cafecdb8fcbe06d78b31179eb7df841c |
|
BLAKE2b-256 | d5b700916ff986353437ca88cc241370a6c71d7d1bcd4b87cc64cec4a2662a3e |