Skip to main content

Collection of python for micro-Electronic Design Automation

Project description

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

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

pueda-0.1.11.tar.gz (16.4 kB view details)

Uploaded Source

File details

Details for the file pueda-0.1.11.tar.gz.

File metadata

  • Download URL: pueda-0.1.11.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.31.0 rfc3986/1.5.0 tqdm/4.65.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for pueda-0.1.11.tar.gz
Algorithm Hash digest
SHA256 c6fd412e2802347f14adbbabda785429d0e01f9b7e4d7d013bb8b6f9e07e741d
MD5 365a0de08b7fb9d220a4d733d25f07a2
BLAKE2b-256 34052c4a1b88416e2d8ce1cd4c896b3b2e7672ee6062a0c673bdc04b313b8ef7

See more details on using hashes here.

Supported by

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