跳转到主要内容

GAL方程求解器

项目描述

GINGER

GINGER不是一个GAL仿真器

Image

那么这又是什么呢?

这是一个读取GAL .pld文件并使用.vec文件来解决方程的工具。有些人可能称之为仿真器,但它不是:它只是一个感觉像在“仿真”真实GAL的方程求解器。

快速开始

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

请参阅示例GAL代码和相应的向量文件

编写.vec文件的规则

  • @开头的行是测试用例名称。

    例如:@ 测试各种内容

  • <开头的行列出您想要输入的信号(每个后续行需要将这些信号置高或置低)。

    例如:< A15 A14 A13 A12 /RD /WR

  • >开头的行列出您想要在每一步后显示的信号。

    例如:> /ROM /RAM /IO

  • ?开头的行是测试用例断言,它们应包含您的测试的关键值对。如果任何测试失败,Ginger将退出并返回非零代码。

    例如:? /ROM=1 /RAM=0 /IO=1

  • 注释以#开头。如果向量后添加了注释,它将在运行时打印出来。

  • 空行将被忽略。

  • 所有其他非空行都是向量。空白将被忽略,并且只能添加以增强可读性。

    例如:0101 1 1(相当于0 1 0 1 11010111

要求

功能

支持

  • 组合逻辑
  • 已注册逻辑
  • 三态
  • 自动测试用例断言
  • 输入/输出/断言中信号的任意反转(例如:? /RAM=1 等同于 ? RAM=0
  • 时序图生成

不支持(尚未?)

  • 输出使能(忽略)
  • 输入/输出验证

优点

  • 可以在这里找到Vim语法高亮文件。

免责声明及一些技术警告

此工具不保证编译的.pld代码在实际GAL上表现相同。此外,它也不保证.pld文件是有效的汇编(例如,它不会验证用户是否尝试将输入引脚用作输出、术语限制等,并将允许用户做所有各样愚蠢的事情)。

Ginger使用Lark来解析.pld语法,并且仅验证语法,而不是语义

因此,请首先使用,例如,galasm来编译.pld文件,以查看它是否可以用于编程GAL,然后可以自由地使用Ginger!

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码发行版

ginger-emulator-0.2.7.tar.gz (6.8 kB 查看哈希

上传时间: 源代码

构建发行版

ginger_emulator-0.2.7-py3-none-any.whl (7.1 kB 查看哈希

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面