yosys - 定位新设备需要什么?

标签 yosys

从高级的角度来看,使用 Yosys 定位新设备需要什么?我想以 Xilinx XC9572XL 为目标。我有一个这样的开发板:XC9572XL-CPLD-development-board-v1b . Xilinx 文档 here 中详细介绍了该 CPLD 的架构。 .

我想我需要做以下事情:

  • 研究如何让 Yosys 将设计综合到基于乘积和 D 型触发器的网表。
  • 将该网表输出为 Yosys 的 BLIF 格式。
  • 为 XC9572XL 创建一个“钳工”(类似于 ICE40 FPGA 的 arachne-pnr)
  • 输出带有适当熔断器的 JEDEC 文件,需要设置这些熔断器以实现上一步中的设计。
  • 使用 xc3sprog 将设计烧写到 CPLD。

  • 看起来有可能。难点在于构建“钳工”工具。该工具需要了解 CPLD 的资源,然后需要一些巧妙的算法来适应设计并以 JEDEC 格式输出所需的熔断​​器。一个导入缺失的部分是物理 CPLD 中的“ fuse ”与 JEDEC 文件中的 fuse 之间的映射。这将不得不进行逆向工程。我注意到来自 Xilinx WebPACK ISE 的 JEDEC 文件包含 46656 个 fuse 。每一个都映射回 CPLD 中的某个可配置节点。

    我想知道其他人对这种方法的看法。我可能会遇到哪些类型的问题?

    如果我要进行此操作,我需要考虑哪些法律问题?如果我决定要对由他们的工具生成的 JEDEC 文件进行逆向工程,我是否应该先写信给 Xilinx 并寻求他们的许可?

    XC9572XL 是一个过时的部件......

    最佳答案

    1. Work out how to get Yosys to synthesise a design to a Sum-of-Product and D-type Flip Flop based netlist.
    2. Output that netlist as a BLIF format from Yosys.


    您可以使用逻辑级 BLIF 文件中的 ABC 进行两级综合。例如:
    $ yosys -p synth -o test.blif tests/simple/fiedler-cooley.v
    $ yosys-abc
    abc> read_blif test.blif
    abc> collapse
    abc> write_pla test.pla
    

    现在,您可以编写一个程序,将 .pla 文件(以及可能由您需要编写的 yosys 插件生成的辅助信息)转换为 JEDEC 文件。

    What legal aspects do I need to consider if I was to undertake this?



    肛门。天拉。

    当您通过分析芯片供应商提供的软件对其进行逆向工程时:在这种情况下,这实际上取决于您所居住的国家/地区。例如,在欧洲,您可以在某些情况下对软件进行逆向工程,甚至反汇编,即使是软件 EULA 禁止它。我更深入地解释了这一点 here .

    我认为在北美等地对硅本身进行逆向工程(而不是分析软件)问题不大。

    关于yosys - 定位新设备需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217939/

    相关文章:

    yosys - 如何使用IceStorm在512x8读取模式下使用iCE40 4K Block RAM?

    verilog - 用 Yosys 生成 TIE 细胞?

    yosys - 如何在 Yosys 中使用多个包含同名模块的 IP 核

    yosys - 为什么 yosys 重新编号向量端口?

    yosys - 修改 iCE40 比特流以加载新的 block RAM 内容

    yosys - 什么是好的 "template"Yosys 综合脚本?

    verilog - 如何在 Yosys 的初始 block 中分配 RAM 值?

    linux - iceprog .. 找不到 iCE FTDI USB 设备(Linux 权限问题??)

    yosys - iCE40 I/O 模块与封装引脚的对应关系