代码之家  ›  专栏  ›  技术社区  ›  anon

现场可编程门阵列位置和路线

  •  6
  • anon  · 技术社区  · 15 年前

    对于编程fpgas,是否可以编写自己的位置和路由例程?[重点不是我的会更好;重点是我是否有这样做的自由]——或者Place&Route Stage输出到未记录的位文件,本质上迫使我使用专有工具?

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  9
  •   aneccodeal    15 年前

    过去有人在comp.arch.fpga上对此进行过讨论。结论通常是,除非你想吸引FPGA公司的激烈法律诉讼,否则你可能不想这样做。位文件格式是FPGA公司严密保护的秘密,您可能需要了解文件格式才能完成您想要的工作。这意味着您需要对格式进行反向工程,并且(如果您以任何方式公开了您的工具)会在短时间内给您带来诉讼。

    我将补充说,可能有中间文件,您可能不会读或写位文件本身来做您想做的事情,但这些中间文件往往也是未记录的。请阅读您的FPGA合成工具的EULA(例如,来自Xilinx的ISE)-任何类型的逆向工程都是严格禁止的。在这个领域中,我们拥有开源替代方案的唯一途径似乎就是出现一个开源的FPGA架构。

        2
  •  3
  •   Jan Gray    15 年前

    我同意AnncCodeal的观点,但要进一步阐述一下,在Xilinx上,可能有几种方法可以做到这一点。xdl文件格式允许(或用于)显式放置和路由。此外,应该可以编写FPGA编辑器脚本来实现自定义路由。

    在放置方面,有一个丰富的基础设施来约束逻辑到原语的技术映射,并控制这些原语的放置。例如,lut-map约束可以控制技术映射,loc和rloc约束可以确定位置。在实践中,这使得经验丰富的设计师能够很好地控制如何实现设计,而不需要他们复制几个世纪的软件开发来直接生成比特流。

    你也可能会发现有趣的是,目前最先进的FPGA CAD研究软件,如 VPR . 在我看来,这些都是挑战,以跟上供应商自己的工具,必须应付现代异构FPGA与可拆分6-LUT,DSP块等。

    快乐黑客。