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.12.tar.gz (16.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pueda-0.1.12.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pueda-0.1.12.tar.gz
Algorithm Hash digest
SHA256 16b3eed917487e1660328cbaaef7aa8a1f31aab7660b826fcedc5863c23523e4
MD5 d588fe7dd3e7d3dbb9163979144bd917
BLAKE2b-256 8c1da20e23f5b2f8ad696fac1ef606cacc18a16c012bd00c346e9bccb7af6e72

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