从高层次的角度来看,使用 Yosys 定位新设备需要什么?我想以 Xilinx XC9572XL 为目标。我有一个这样的开发板:XC9572XL-CPLD-development-board-v1b。此处的 Xilinx 文档很好地介绍了此 CPLD 的体系结构。
我认为我需要执行以下操作:
- 了解如何让 Yosys 将设计综合为基于积和和 D 型触发器的网表。
- 从 Yosys 将该网表输出为 BLIF 格式。
- 为 XC9572XL 创建一个“fitter”(类似于 ICE40 FPGA 的 arachne-pnr)
- 输出一个 JEDEC 文件,其中包含需要设置的适当熔断器以实现上一步中的设计。
- 使用 xc3sprog 将设计闪存到 CPLD。
看起来有可能。难点在于构建一个“装配工”工具。该工具需要了解 CPLD 的资源,然后需要一些巧妙的算法来适应设计并以 JEDEC 格式输出所需的熔断器。一个导入缺失的部分是物理 CPLD 中的“熔断器”与 JEDEC 文件中的熔断器之间的映射。这必须进行逆向工程。我注意到 Xilinx WebPACK ISE 的 JEDEC 文件包含 46656 个保险丝。这些中的每一个都映射回 CPLD 中的某个可配置节点。
我想知道其他人对这种方法的看法。我可能会遇到哪些类型的问题?
如果我要进行这项工作,我需要考虑哪些法律方面的问题?如果我决定要对他们的工具生成的 JEDEC 文件进行逆向工程,我是否应该先写信给 Xilinx 并征求他们的许可?
XC9572XL 是一个过时的部件......