Skip to main content

PuEDA

A collection of Python tools for micro-Electronics Design Automation.

PuEDA in an acronym, but also stands for a conjugate for of the Spanish verb "poder" which means "can". The project was born as part of a group of scripts to test the cryptech ecdsa256 IP.

Install (from pypi)

pip3 install pueda

Install (from github)

pip3 install git+https://github.com/bat52/pueda.git@master

Example of simple simulation with Icarus Verilog

from pueda.edalize import icarus
icarus(simname='hello', top='hello_tb', src_dirs = ['./hello'])

Example of simulation with Icarus Verilog

from pueda.edalize import icarus
icarus(simname='counter', top='counter_tb', src_dirs = ['./counter/rtl','./counter/tb'], iverilog_options=['-g2005-sv'])

Example of simulation with pyverilator

from pueda.pyverilator import pyverilator_wrapper
pv = pyverilator_wrapper(fname='./counter/rtl/counter.v', src_dirs=['./counter/rtl'], command_args = [], dump_en = False)

for _ in range(16):
    pv.sim.clock.tick()
    print('count = %d' % pv.sim.io.count)
assert(pv.sim.io.count == 0)

Example of synthesys with yosys

from pueda.yosys import yosys
yosys(top='counter', src_dirs = ['./counter/rtl'], synth_en=True)
# gate count available in ./work_yosys/yosys.log

Common functions

from pueda.common import * 

# list2str : convert a list of strings into a single string
# get_source_files_alldir : returns a file list from a list of directories
# get_source_files: gets all rtl source files from a directory
# get_inc_list: returns a string appending -I to the input list of directories
# get_remote_files: donwload files from an internet url
# vcd_view: visualize a vcd or fst file with gtkwave
# get_clean_work: generate a clean work direactory for a specific tool
# write_file_lines: print a file to screen

Metadata

Release files for pueda 0.1.12

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

Source distribution (sdist)

Source distribution for pueda 0.1.12
File Size Uploaded Provenance Actions
pueda-0.1.12.tar.gz 16.7 kB Without provenance Details for pueda-0.1.12.tar.gz

Release files / pueda-0.1.12.tar.gz

Download URL pueda-0.1.12.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
16b3eed917487e1660328cbaaef7aa8a1f31aab7660b826fcedc5863c23523e4
BLAKE2b-256 checksum
How to use checksums
8c1da20e23f5b2f8ad696fac1ef606cacc18a16c012bd00c346e9bccb7af6e72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Security for pueda 0.1.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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