Skip to main content

GAL equation solver

Project description

ginger

Ginger Is Not a GAL EmulatoR

Image

So what is this then?

This is a tool that reads GAL .pld files and uses .vec files to solve equation. Some may call this an emulator, but it is not: it's just an equation solver that feels like it's "emulating" a real GAL.

Quick start

pip install ginger-emulator
ginger ./sample/addr.pld ./sample/addr.vec

Please see sample GAL code and corresponding vector file.

Rules on writing .vec files:

  • Lines that start with @ are test case names.
  • Lines that start with < list signals that you want to input (and each following line needs to set those signals high or low).
  • Lines that start with > list signals that you want to display after every step.
  • Comments start with #. If a comment is added after a vector, it will be printed during run.
  • Empty lines are ignored.
  • All other lines are vectors.

Requirements

Features

Supported:

  • Combinatorial logic
  • Registered logic

Not supported (yet?):

  • Tri-states
  • Output enable (ignored)
  • Validation of inputs/outputs
  • Automated test-case assertions

Disclaimer & some technical warnings

This tool does not guarantee that the assembled .pld code will behave in the same way on a real GAL. Additionally, it does not guarantee that the .pld file is a valid assembly (e. g. it does not validate if user is trying to use input pins as outputs, term limit, etc, and and will allow the user to do all sorts of silly stuff).

Ginger is using Lark for parsing .pld grammar and only validates the syntax, not the semantics.

So please use, say, galasm to assembled the .pld file first in order to see if it can be used to program a GAL in the first place, and then feel free to use Ginger!

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

ginger-emulator-0.1.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

ginger_emulator-0.1.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file ginger-emulator-0.1.1.tar.gz.

File metadata

  • Download URL: ginger-emulator-0.1.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for ginger-emulator-0.1.1.tar.gz
Algorithm Hash digest
SHA256 95249bf9cbe8620554081e4fcfc5eb21a2072820fa21fe739426f3ff23401e2a
MD5 b23a3da4c761aac29876483886c33c50
BLAKE2b-256 ccac238d5f954acdb3dcc84c78f14776126be49c657d3949d8ae9db4a6221851

See more details on using hashes here.

File details

Details for the file ginger_emulator-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ginger_emulator-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19e98d8fa58ac7b7efe47ec0bc064727fd1a98080a2a46049a45ec7bc8b60f70
MD5 f8aed4fc087a17c961d136e224030130
BLAKE2b-256 f62d0084af564eac9e9e46bc692c7ef45a88c155f8e3e6f00bd872befd39f3ae

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