# VerilogPAD
VerilogPAD is Python tool designed to analyze Verilog files, providing power, area, and delay metrics.
## Prerequisits
- Install the following tools:
1. **Python**
2. **Linux**
3. **Yosys**: link (https://github.com/YosysHQ/yosys)
4. **OpenSTA**: link (https://github.com/The-OpenROAD-Project/OpenSTA)
5. **Icarus Verilog**: link (https://github.com/steveicarus/iverilog)
**Note: add the binaries of 3, 4, and 5 to your PATH**
## Features
- **Comprehensive Analysis**: Compute detailed metrics for power consumption, physical area, and timing delay of Verilog circuits.
- **Intermediate File Handling**: Automatically manages intermediate files in a temporary directory to keep the workspace clean.
- **Report Generation**: Outputs analysis results in separate, organized report files for each metric.
## Folder Structure
- `./config/`: contains the technology library and synthesizer scripts
- `./src/`: contains the main classes and modules of the project
- `./VerilogPDA.py.temp/`: a temporary folder that is automatically created and stores the intermediate files such as synthesized files (can be safely removed afterward).
- `./VerilogPDA.py.report/`: a temporary folder that is automatically created and stores the area, power, and delay reports (can be safely removed afterward).
## Usage
To run the VerilogPADAnalyzer, use the following syntax:
### Arguments
```
$ python3 VerilogPDA.py [path-to-input]
```
For example, assuming that a circuit called `abs_diff_i4_o3.v` is located at the root directory, one can get the area, power, and delay reports of this circuit using the following command:
```
$ python3 VerilogPDA.py abs_diff_i4_o3.v
```
Upon launching the command above, three report files will be generated in `./VerilogPDA.py.report/` directory.
## Contributing
Contributions to the project are welcome. Please follow the standard GitHub pull request process to propose changes.
## Contact
For any inquiries or contributions, please contact Morteza at Rezaalipour.usi@gmail.com.
Raw data
{
"_id": null,
"home_page": "https://github.com/MortezaRezaalipour/VerilogPADAnalyzer",
"name": "verilog-pad-analyzer",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "python, verilog, PAD, synthesis, analysis, circuit, EDA, simulation, hardware, design",
"author": "Morteza Rezaalipour (MorellRAP)",
"author_email": "<rezaalipour.usi@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ff/50/ceea34e46540e0b693340d26120771fcf07c197ff7759c842bfe83944a61/verilog-pad-analyzer-0.0.6.tar.gz",
"platform": null,
"description": "# VerilogPAD\n\nVerilogPAD is Python tool designed to analyze Verilog files, providing power, area, and delay metrics.\n\n\n\n## Prerequisits\n- Install the following tools:\n1. **Python**\n2. **Linux**\n3. **Yosys**: link (https://github.com/YosysHQ/yosys)\n4. **OpenSTA**: link (https://github.com/The-OpenROAD-Project/OpenSTA)\n5. **Icarus Verilog**: link (https://github.com/steveicarus/iverilog)\n\n**Note: add the binaries of 3, 4, and 5 to your PATH**\n\n## Features\n- **Comprehensive Analysis**: Compute detailed metrics for power consumption, physical area, and timing delay of Verilog circuits.\n- **Intermediate File Handling**: Automatically manages intermediate files in a temporary directory to keep the workspace clean.\n- **Report Generation**: Outputs analysis results in separate, organized report files for each metric.\n\n\n## Folder Structure\n- `./config/`: contains the technology library and synthesizer scripts\n- `./src/`: contains the main classes and modules of the project\n- `./VerilogPDA.py.temp/`: a temporary folder that is automatically created and stores the intermediate files such as synthesized files (can be safely removed afterward).\n- `./VerilogPDA.py.report/`: a temporary folder that is automatically created and stores the area, power, and delay reports (can be safely removed afterward).\n\n## Usage\n\nTo run the VerilogPADAnalyzer, use the following syntax:\n\n\n\n### Arguments\n\n```\n$ python3 VerilogPDA.py [path-to-input]\n```\nFor example, assuming that a circuit called `abs_diff_i4_o3.v` is located at the root directory, one can get the area, power, and delay reports of this circuit using the following command: \n\n```\n$ python3 VerilogPDA.py abs_diff_i4_o3.v\n```\nUpon launching the command above, three report files will be generated in `./VerilogPDA.py.report/` directory. \n\n\n## Contributing\nContributions to the project are welcome. Please follow the standard GitHub pull request process to propose changes.\n\n\n## Contact\nFor any inquiries or contributions, please contact Morteza at Rezaalipour.usi@gmail.com.\n",
"bugtrack_url": null,
"license": null,
"summary": "VerilogPADAnalyzer is a Python application designed to analyze and report the",
"version": "0.0.6",
"project_urls": {
"Homepage": "https://github.com/MortezaRezaalipour/VerilogPADAnalyzer"
},
"split_keywords": [
"python",
" verilog",
" pad",
" synthesis",
" analysis",
" circuit",
" eda",
" simulation",
" hardware",
" design"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e5ac704f654c0e5343fa9303bb1f4692a1140032cd0f6768280d208566d70786",
"md5": "ad2ad722dcf26f5e9dd8207cabd2ff03",
"sha256": "b04128e0c9cc631a52ee177719459e6ce4baa71e05d11c9918e8dbec053a9202"
},
"downloads": -1,
"filename": "verilog_pad_analyzer-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ad2ad722dcf26f5e9dd8207cabd2ff03",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 80511,
"upload_time": "2024-03-26T11:17:10",
"upload_time_iso_8601": "2024-03-26T11:17:10.477527Z",
"url": "https://files.pythonhosted.org/packages/e5/ac/704f654c0e5343fa9303bb1f4692a1140032cd0f6768280d208566d70786/verilog_pad_analyzer-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff50ceea34e46540e0b693340d26120771fcf07c197ff7759c842bfe83944a61",
"md5": "dea679b925f60eb8423ddf2308a3a777",
"sha256": "ef207995c0b3441d0842bf037b77a61b04cd9faf0d63539c5e4bb121206afaf2"
},
"downloads": -1,
"filename": "verilog-pad-analyzer-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "dea679b925f60eb8423ddf2308a3a777",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 79441,
"upload_time": "2024-03-26T11:17:12",
"upload_time_iso_8601": "2024-03-26T11:17:12.873979Z",
"url": "https://files.pythonhosted.org/packages/ff/50/ceea34e46540e0b693340d26120771fcf07c197ff7759c842bfe83944a61/verilog-pad-analyzer-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-26 11:17:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MortezaRezaalipour",
"github_project": "VerilogPADAnalyzer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "verilog-pad-analyzer"
}