pyanalog

所属分类:VHDL/FPGA/Verilog
开发工具:Mathematica
文件大小:0KB
下载次数:0
上传日期:2022-04-04 11:28:25
上 传 者sh-1993
说明:  用于模拟计算机编程的anabrid Python工具链的源代码,
(The source code of the anabrid Python toolchain for analog computer programming,)

文件列表:
Dockerfile (1306, 2024-01-04)
LICENSE.ANABRID (881, 2024-01-04)
LICENSE.DE (4290, 2024-01-04)
LICENSE.GPL3 (35147, 2024-01-04)
LICENSE.py (4061, 2024-01-04)
Makefile (2186, 2024-01-04)
dda/ (0, 2024-01-04)
dda/__init__.py (5921, 2024-01-04)
dda/__main__.py (1417, 2024-01-04)
dda/ast.py (49446, 2024-01-04)
dda/computing_elements.py (6364, 2024-01-04)
dda/cpp_exporter.py (39338, 2024-01-04)
dda/dsl.py (9583, 2024-01-04)
dda/scipy.py (20034, 2024-01-04)
dda/sympy.py (8470, 2024-01-04)
doc/ (0, 2024-01-04)
doc/Makefile (713, 2024-01-04)
doc/_templates/ (0, 2024-01-04)
doc/_templates/breadcrumbs.html (977, 2024-01-04)
doc/code-testing.rst (11955, 2024-01-04)
doc/conf.py (4954, 2024-01-04)
doc/dda/ (0, 2024-01-04)
doc/dda/api-reference.rst (172, 2024-01-04)
doc/dda/ast.rst (113, 2024-01-04)
doc/dda/cas.rst (1261, 2024-01-04)
doc/dda/computing_elements.rst (130, 2024-01-04)
doc/dda/cpp-codegen.rst (117, 2024-01-04)
doc/dda/dsl.rst (121, 2024-01-04)
doc/dda/examples.rst (2804, 2024-01-04)
doc/dda/intro.rst (7273, 2024-01-04)
doc/dda/package.rst (178, 2024-01-04)
doc/dda/rationale.rst (12398, 2024-01-04)
doc/dda/scipy.rst (152, 2024-01-04)
doc/dda/shell-example.rst (4486, 2024-01-04)
doc/examples/ (0, 2024-01-04)
doc/examples/Heat-Equation.ipynb (54, 2024-01-04)
doc/examples/chua.ipynb (50, 2024-01-04)
... ...

# PyAnalog: A Pythonic Analog Computer Demonstrator Interface Welcome to PyAnalog, a *research code* written and maintained by [Anabrid GmbH](https://anabrid.com/) and released as Open Source (see below for license). This repository holds a Python package called `pyanalog`. It consists of three modules/libraries which allow to interface analog computers on a software developer/mathematican level: * `PyDDA` is a tool for simple algebraic transformations of equations and circuits as well as their numerical simulation. * `PyFPAA` is a tool for compiling an electrical circuit into a machine architecture. This especially sets digital potentiometers and cross bar switches and relies on a minimalistic hardware description language (HDL) written in YAML. * `PyHyCon` is an interface to a Model-1 Hybrid Controller in order to run a program, steer the operation and gain output data. > :information_source: **Please read the docs**: > As a starting point, see `docs/` or `make docs`. You can find > the generated docs at **https://www.anabrid.dev/pyanalog/dirhtml/** > > We used to serve them from https://pyanalog.readthedocs.io/ but > abandoned ReadTheDocs due to missing features. ## Directory structure ``` . ├── dda - The PyDDA module ├── doc - holding the Sphinx-based documentation ├── Dockerfile - primarily for the CI and testing ├── examples - a large number of applications and examples ├── fpaa - The PyFPAA module ├── hycon - The PyHyCon module ├── LICENSE.ANABRID - Part of the License texts, see below for more information ├── LICENSE.DE - Part of the License texts, see below for more information ├── LICENSE.GPL3 - Part of the License texts, see below for more information ├── LICENSE.py - Generator forthe License texts ├── Makefile - Not really an entry point, but see below ├── misc - Old files, such as Mathematica notebooks or Perl codes ├── README.md - This very file ├── requirements.txt - A dependencies file for pip, see also doc/installation.rst ├── setup.py - A python installer, see also doc/installation.rst └── tests - Unit tests (which also can be useful examples) ``` ## About the Makefile PyAnalog is basically a collection of scripts, so there is no such thing as ``make build``. However, you can try ``make install``, which will basically execute ``setup.py``. Read [doc/installation.rst](doc/installation.rst) for further details. ### The shortest quick start (of PyDDA) This directory holds the package root directory (where `setup.py` lives) of the PyDDA package. This is mostly a pure Python3 package with no dependencies. If you are lazy, you can start using PyDDA right from here: ``` $ git clone git@github.com:anabrid/pyanalog.git $ cd pyanalog $ python3 >>> from dda import * >>> s = BreveState() >>> s.x = Symbol("int", "x", 0.02, 0) >>> print(s) BreveState({'x': int(x, 0.02, 0)}) ``` Please read [doc/installation.rst](doc/installation.rst) for further instructions on how to use the package. It contains also instructions how to install PyAnalog properly. Run `make` to see the various formats the documentation can be generated in. ## About the License Basically, this code is *Open Sourced* by the *GPLv3*. However, we have a different license model for commercial use. In order to stay safe regarding liability questions, we also refer to the [LICENSE.DE](LICENSE.DE) for legal issues relevant to Germany. Here is the full license text which typically prepends any file within this repository: ``` ANABRID_BEGIN_LICENSE:GPL Commercial License Usage Licensees holding valid commercial anabrid licenses may use this file in accordance with the commercial license agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Anabrid GmbH. For licensing terms and conditions see https://www.anabrid.com/licensing. For further information use the contact form at https://www.anabrid.com/contact. GNU General Public License Usage Alternatively, this file may be used under the terms of the GNU General Public License version 3 as published by the Free Software Foundation and appearing in the file LICENSE.GPL3 included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3 requirements will be met: https://www.gnu.org/licenses/gpl-3.0.html. For Germany, additional rules exist. Please consult /LICENSE.DE for further agreements. ANABRID_END_LICENSE ``` ## Further questions? This code was primarily written by https://github.com/svenk within the years 2020/21. If you have any questions, you should drop him a mail or use the Github tools (such as opening an Issue). Stay analog!

近期下载者

相关文件


收藏者