GAL方程求解器
项目描述
GINGER
GINGER不是一个GAL仿真器
那么这又是什么呢?
这是一个读取GAL .pld文件并使用.vec文件来解决方程的工具。有些人可能称之为仿真器,但它不是:它只是一个感觉像在“仿真”真实GAL的方程求解器。
快速开始
pip install ginger-emulator
ginger ./sample/addr.pld ./sample/addr.vec
编写.vec文件的规则
-
以
@开头的行是测试用例名称。例如:
@ 测试各种内容 -
以
<开头的行列出您想要输入的信号(每个后续行需要将这些信号置高或置低)。例如:
< A15 A14 A13 A12 /RD /WR -
以
>开头的行列出您想要在每一步后显示的信号。例如:
> /ROM /RAM /IO -
以
?开头的行是测试用例断言,它们应包含您的测试的关键值对。如果任何测试失败,Ginger将退出并返回非零代码。例如:
? /ROM=1 /RAM=0 /IO=1 -
注释以
#开头。如果向量后添加了注释,它将在运行时打印出来。 -
空行将被忽略。
-
所有其他非空行都是向量。空白将被忽略,并且只能添加以增强可读性。
例如:
0101 1 1(相当于0 1 0 1 11或010111)
要求
- Python 3.x
- Lark解析器
功能
支持
- 组合逻辑
- 已注册逻辑
- 三态
- 自动测试用例断言
- 输入/输出/断言中信号的任意反转(例如:
? /RAM=1等同于? RAM=0) - 时序图生成
不支持(尚未?)
- 输出使能(忽略)
- 输入/输出验证
优点
- 可以在这里找到Vim语法高亮文件。
免责声明及一些技术警告
此工具不保证编译的.pld代码在实际GAL上表现相同。此外,它也不保证.pld文件是有效的汇编(例如,它不会验证用户是否尝试将输入引脚用作输出、术语限制等,并将允许用户做所有各样愚蠢的事情)。
Ginger使用Lark来解析.pld语法,并且仅验证语法,而不是语义。
因此,请首先使用,例如,galasm来编译.pld文件,以查看它是否可以用于编程GAL,然后可以自由地使用Ginger!
项目详情
关闭
ginger-emulator-0.2.7.tar.gz的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7b0b0120d75cab4c4d3d4e6189336be09adcfaa905d968c19a686b75774341fa |
|
| MD5 | 9192b51f9ca4c42a2cfa6511476a1d85 |
|
| BLAKE2b-256 | 0efc877791746de8f6bbce029c004f8e9fbbfd4c35815c8df2f5ad1b4767eb36 |
关闭
ginger_emulator-0.2.7-py3-none-any.whl的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2c8eeb1840053a496e51df390780c2e79d8e65a9babbeadf0231f07d102a48be |
|
| MD5 | 44a472720f7f3b37845a6e4faeee14c6 |
|
| BLAKE2b-256 | 70a4f2d2e08482ddfc69263804805ae0a0a2e45060cd555055119d28abb75080 |