{ "info": { "author": "XESS Corp.", "author_email": "info@xess.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)" ], "description": "===============================\nPygMyHDL\n===============================\n\n.. image:: https://img.shields.io/pypi/v/pygmyhdl.svg\n :target: https://pypi.python.org/pypi/pygmyhdl\n\n\nPygMyHDL is a thin wrapper around `MyHDL `_. MyHDL lets you design\nand simulate digital hardware using Python. PygMyHDL does the same thing,\nbut tries to make it a little simpler. Think of it as \"MyHDL on training wheels\".\nOnce you get enough experience with PygMyHDL, you'll probably cast it aside\nand just use straight MyHDL. That's OK; that's why I invented it.\n\n\nFeatures\n--------\n\nPygMyHDL adds the following features to MyHDL:\n\n* ``Wire`` and ``Bus`` classes for declaring single-bit and multi-bit digital signals.\n\n* ``Bus`` objects have ``.o`` and ``.i`` properties that are used to get the value on a\n bus (that's the ``.o`` property) and to drive values onto a bus (using the ``.i`` property).\n\n* ``State`` objects are used to declare state variables for finite-state machines.\n Each ``State`` object also stores all the defined states in its ``s`` attribute\n for use in making comparisons to states or updating state values.\n\n* The ``@chunk`` decorator is used to indicate a function will create one or more\n pieces of logic circuitry. These pieces will be implicitly gathered into a\n list of logic instances that can be simulated and synthesized later.\n (MyHDL requires you to explicitly store logic instances into Python variables\n so they can be found and processed later.)\n\n* The decorators ``@comb_logic`` and ``@seq_logic`` are used to declare functions that\n perform combinational and sequential logic operations, respectively. (These\n are almost identical to MyHDL's ``@always_comb`` and ``@always_seq`` decorators\n except they assist with the implicit instantiation of logic.)\n\n* Helper functions are provided for testing a digital design using random test\n vectors, exhaustive test vectors, user-defined test vectors, or a simple clock signal.\n\n* The `myhdlpeek module `_ is used to display the\n results of logic simulations as waveforms or tables.\n\n\nGetting Started\n------------------\n\nBelow are some examples of Jupyter notebooks using PygMyHDL.\nUnfortunately, the Github Notebook viewer doesn't render the waveform displays\nso you'll have to download and run the notebooks locally or click on the static HTML\nlink to see what PygMyHDL can do.\n\n* The Fastest, Easiest FPGA Blinker, Ever!:\n `[Notebook1] `_ \n `[HTML1] `_\n\n* Hierarchy and Abstraction and Ursidae, Oh My!:\n `[Notebook2] `_\n `[HTML2] `_\n\n* Pulse Width Modulators:\n `[Notebook3] `_ \n `[HTML3] `_\n\n* Block (RAM) Party!:\n `[Notebook4] `_ \n `[HTML4] `_\n\n* FSMs Without Monsters!:\n `[Notebook5] `_ \n `[HTML5] `_\n\n|\n\n* Free software: MIT license\n\n\n\n\nHistory\n-------\n\n\n0.0.3 (2017-11-05)\n___________________________\n\n* Added State object for working with finite-state machines in PygMyHDL.\n\n\n0.0.2 (2017-09-20)\n___________________________\n\n* Fixed Bus object so my_bus.o[m:n] now calls my_bus(m, n) to get a shadow slice instead of creating an array of wires.\n\n\n0.0.1 (2017-08-30)\n___________________________\n\n* First release on PyPI.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xesscorp/pygmyhdl", "keywords": "pygmyhdl", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pygmyhdl", "package_url": "https://pypi.org/project/pygmyhdl/", "platform": "", "project_url": "https://pypi.org/project/pygmyhdl/", "project_urls": { "Homepage": "https://github.com/xesscorp/pygmyhdl" }, "release_url": "https://pypi.org/project/pygmyhdl/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "MyHDL hardware design language encased in the tasty PygMyHDL wrapper.", "version": "0.0.3" }, "last_serial": 3307497, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "15813748a15fdce734111ba208fb61cc", "sha256": "287b42f2c7c8299a14fdda4814caf7dba59fe15d09220e60ef8a5f1caebfcdae" }, "downloads": -1, "filename": "pygmyhdl-0.0.1.tar.gz", "has_sig": false, "md5_digest": "15813748a15fdce734111ba208fb61cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17663, "upload_time": "2017-08-31T21:06:19", "url": "https://files.pythonhosted.org/packages/12/86/4fe7c8d2e56f94dd02fe469e95abb8f80d7c95960b4c68405bc214eb9241/pygmyhdl-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f44bd341f6e7b0fa45f7c17d0d6ca038", "sha256": "9ad75e208e9de6a1edef3fd353f0c1a692e9b073c72349c4954a5d5e1470cfe1" }, "downloads": -1, "filename": "pygmyhdl-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f44bd341f6e7b0fa45f7c17d0d6ca038", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18155, "upload_time": "2017-09-22T17:55:40", "url": "https://files.pythonhosted.org/packages/79/40/bd9e6112c4a951dfa2a662fda7df7eedf253445ee9304ae349f07e4ed717/pygmyhdl-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "77a06cca76953d4cf6e2ae15647b43ba", "sha256": "2ac2754eacddcade905d168c0d097f69f81877ea00cee428536f24b5ecac8731" }, "downloads": -1, "filename": "pygmyhdl-0.0.3.tar.gz", "has_sig": false, "md5_digest": "77a06cca76953d4cf6e2ae15647b43ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19335, "upload_time": "2017-11-05T18:36:11", "url": "https://files.pythonhosted.org/packages/f2/e1/918a40481240537df7af7ab5ce72aa5c1b8ccba10f27e37ec2db1114e4f4/pygmyhdl-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77a06cca76953d4cf6e2ae15647b43ba", "sha256": "2ac2754eacddcade905d168c0d097f69f81877ea00cee428536f24b5ecac8731" }, "downloads": -1, "filename": "pygmyhdl-0.0.3.tar.gz", "has_sig": false, "md5_digest": "77a06cca76953d4cf6e2ae15647b43ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19335, "upload_time": "2017-11-05T18:36:11", "url": "https://files.pythonhosted.org/packages/f2/e1/918a40481240537df7af7ab5ce72aa5c1b8ccba10f27e37ec2db1114e4f4/pygmyhdl-0.0.3.tar.gz" } ] }