Skip to main content

System Design in Python

Project description

SyDPy (System Design in Python) aims to become an alternative to SystemVerilog and SystemC by providing the necessary tools to cover tasks of HDL design from system architecture design to HDL synthesis.

SyDPy comprises an event based simulator and various classes for describing and simulating a system, all written in Python. This allows an easy extension of the SyDPy with additional user classes or existing Python libraries

SyDPy was written with design reuse and iterable nature of the design process in mind. Smart channels enable cosimulation of module architectures written on various abstraction levels (of timing and functionality), without the need of explicit interface converters in the design. Modules with higher levels of abstraction can then serve as model checkers for lower level modules.

SyDPy features:

  • RTL and TLM cosimulation

  • Smart channels for information exchange between various interfaces

  • Global simulator configuration for test setup

  • Basic randomization, sequencing and scoreboarding supported

  • Automatic model checking between different module architectures

  • Extendible simulator kernel

Soon available:

Getting started

Installation

Install SyDPy using pip:

pip install sydpy

Install SyDPy using easy_install:

easy_install sydpy

Install SyDPy from source:

python setup.py install

Read the documentation

Read the SyDPy documentation

Get involved

Pull your copy from github repository

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

sydpy-0.0.1.tar.gz (53.7 kB view details)

Uploaded Source

File details

Details for the file sydpy-0.0.1.tar.gz.

File metadata

  • Download URL: sydpy-0.0.1.tar.gz
  • Upload date:
  • Size: 53.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sydpy-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4a4cc5b41d08bb5e81ea0b1d5af1096ef5033212edf8094b2ecdba59df73902d
MD5 04c80b2ac42b8c01ab5551e6360a0dd3
BLAKE2b-256 fcaaeebf9261b4bfa4d0ae7dc31bfd6a25b66a411b50e7f8e074ce22738553c1

See more details on using hashes here.

Supported by

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