FPGA汇编(FASM)解析器和生成库
项目描述
FPGA汇编(FASM)解析器和生成库
此存储库记录了FASM文件格式,并提供了解析库和简单工具,用于处理FASM文件。
它提供了一种基于 textx
的纯Python解析器和一种基于 ANTLR
的显著更快的C解析器。库将首先尝试使用ANTLR解析器,如果找不到编译的模块,则回退到textx
解析器。
可以通过python3 -c "import fasm.parser as p; print(p.available)"
找到您当前安装支持的解析器。当前使用的解析器可以通过fasm.parser.implementation
找到。
强烈推荐使用ANTLR解析器,因为它大约快15倍。
解析和生成FASM文件的功能。
构建说明
CMake是必需的,ANTLR有一些依赖关系
sudo apt install cmake default-jre-headless uuid-dev libantlr4-runtime-dev
在 third_party
中拉取依赖项
git submodule update --init
构建
make build
使用 ... 测试
python setup.py test
ANTLR 运行时可以静态链接或作为共享库。使用 --antlr-runtime=[static|shared]
标志在两种模式之间选择,例如:
python setup.py install --antlr-runtime=shared
或者,使用 pip
pip install . --install-option="--antlr-runtime=shared" --no-use-pep517
默认情况下,将构建运行时并将其静态链接。此标志可在 build_ext、build、develop 和 install 命令中使用。
需要使用 --no-use-pep517 标志,因为目前无法使用 PEP517 传递标志。相关问题:https://github.com/pypa/pip/issues/5771
FPGA 组装(FASM)
FPGA 组装是由 F4PGA 项目 开发者设计的一种文件格式,用于为配置 FPGA 内部提供纯文本文件格式。
它旨在允许 FPGA 布局和路由不需要关心 FPGA 上使用的实际位流格式。
属性
- 从 FASM 文件中删除一行后,您将保留一个有效的 FASM 文件。
- 允许使用人类可读的注释进行注释。
- 允许使用“计算机可读”的注释进行注释。
- 有用于表示内存 / lut 初始化位 / 其他大型数据数组的语法糖。
- 有一个规范形式。
- 不需要任何特定的位流格式。
支持
FASM 目前由 F4PGA Verilog to Routing 分支 支持,但我们希望它不久就能合并到上游。
它也被 Project X-Ray 使用。
项目详情
fasm-0.0.2.post100-pp37-pypy37_pp73-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae97ccf86628133ae2f6701b2dfd525b4a9251005b4f5c408a98d1296df3f52f |
|
MD5 | 5cf9bb421ef426538f8032018367d84a |
|
BLAKE2b-256 | e12ee9724c6bd019ba5794ece14d9ec7607ff359077eed1a166550e8002fa7f6 |
fasm-0.0.2.post100-pp37-pypy37_pp73-macosx_11_0_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 48fedde002a0f4dd909223f78f70e77d01180aecb1a97b61d82728ac00932499 |
|
MD5 | dd156e87d19861b9b46f6c7d991511bf |
|
BLAKE2b-256 | ca367538de4a8029c1466cdb5ae07c4e289f4cf65b6011f1ead05bafef89fbc0 |
fasm-0.0.2.post100-pp36-pypy36_pp73-win32.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bea2862225219f1dab75c6d2102b0b12f3a904472285f97ca6e576d47a47de8a |
|
MD5 | 499836dd82e13426357c4b4dee671459 |
|
BLAKE2b-256 | 76f9bddb55dd29858ab3cc5035acfd697c77cfbe09b42759ecd068eba167d12e |
Hashes for fasm-0.0.2.post100-cp39-cp39-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 83c017fa45dbd98684410a64d2babae2f9cfbcc5649b26adb2f0dead2e365024 |
|
MD5 | c496599351611950dc45812de2c70b5a |
|
BLAKE2b-256 | fd881e34854e09eab7025110128fa025fa675128bb651bbff57067ebcdb9edb7 |
Hashes for fasm-0.0.2.post100-cp39-cp39-macosx_11_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f0992a6216eddfd4a25d1332a08f9b8daa36a67ee84dee4c084921ed9355ff29 |
|
MD5 | 8aeb61ccd4750a1820ee2a358c93364b |
|
BLAKE2b-256 | cd1e272517e26b3052181bd7132a6805445a3d910bead28dcb0d8280cd761fe7 |
Hashes for fasm-0.0.2.post100-cp38-cp38-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 590a54e7d4e4897f02ad2e67edbfb825dd3f629cd07e88aeac37622c1da164d5 |
|
MD5 | 8a9110eda9da1d69799eaac5fc7e9055 |
|
BLAKE2b-256 | 258ae56d03dc90fe310ed52f183da094ee65e68e4cf54563d63468babac8c11d |
Hashes for fasm-0.0.2.post100-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c73de7af79b5271bd5344c39f293d3728ee69dcc69aef4115f529af82ca88adb |
|
MD5 | 189b9ba4083039a5a37632aac060e849 |
|
BLAKE2b-256 | 807890c58394b5f3307a40c4c6737ae6099d4103ddb822f6980269837097d4d5 |
Hashes for fasm-0.0.2.post100-cp38-cp38-macosx_11_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2054935da2b2d04587069ce415e3cc6cf425cf2352405e3c81917edc9a49c19d |
|
MD5 | c75ef1eb1b925946618df745bbf437fb |
|
BLAKE2b-256 | cb7b2001a45749453288f73e90280f722d6ccf96029701165097c9741f79b6ef |
Hashes for fasm-0.0.2.post100-cp37-cp37m-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 456b9a30c3d6f94df45cf93e733aae6907223b1493015569b933928b142128b0 |
|
MD5 | fbc8c07d02f4fdeb6e0cd54fa9970602 |
|
BLAKE2b-256 | fe7fe567b4d01ec48a894bebbc3f65e51d64583c5c497c6f1b764c3221c81897 |
Hashes for fasm-0.0.2.post100-cp37-cp37m-macosx_11_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fa5e32ed5a642e93149d3a521f338d14e7b039d47fb70996f575ddc7b2a7e869 |
|
MD5 | e0ccddc34ab1cac0f1fade3aaef4cad9 |
|
BLAKE2b-256 | dd5bb84df15d1842b8ac08e7756989ae4e3a779824a1a9ce5cfef9a201d3800f |
Hashes for fasm-0.0.2.post100-cp36-cp36m-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13bc3c1c474975dc456e595b5e6ab61d2d2d39f5f025a16e09d9b389da4f137e |
|
MD5 | 773fa7d1a7417012cfff412966a529cc |
|
BLAKE2b-256 | fe4c894220036974fbae2d924f1569885274490c5866d3ee681885e11cbccbae |
Hashes for fasm-0.0.2.post100-cp36-cp36m-macosx_11_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b670a194a13a7934c3d8689cdf0c1d71a105e8996add2dedab6db6a7d15461e4 |
|
MD5 | b245b1713f7e676d231d1c7bfa68a9d1 |
|
BLAKE2b-256 | a4d6cbd0a7b6f3adf711b7ec0176b8562bb0ac31cad2d264381a11079e42b383 |