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 |