【发布时间】:2015-06-28 11:12:48
【问题描述】:
我认为我的标题说明了一切。 我在 Altera FPGA 上的 NIOS2 处理器上运行软件。 有什么方法可以检测软件运行在哪个 FPGA 上?
回答评论中的问题:我为什么要关心我在哪个 FPGA 上? 对于生产,我们使用带有 EPCS 控制器的设计来对所有内容进行编程。该编程流程对 Quartus 版本不敏感,与使用 Quartus 编程器的 .jic 流程不同。 不幸的是,对于新的 EPCQ 器件,您必须使用正确的等待状态和寻址模式正确地对 EPCQ 的非易失性寄存器进行编程,以便正确配置 FPGA。 NIOS shell 工具没有能力做到这一点(使用 .jic 流的 Quartus 程序员可以做到)所以我编写了一个小软件来做到这一点。 EPCQ 数据表中有一个表格,说明了根据 FPGA 系列和 EPCQ 的大小应该是什么等待状态。 EPCQ 的大小我可以问 EPCQ。 FPGA家族我不知道该问谁。因此,现在对于每个项目,我都有其个人软件,其中包含硬编码为 FPGA 类型的数据。我希望软件是通用的,而不是特定于 FPGA 的,因此我需要知道我在哪个 FPGA 上。
【问题讨论】:
-
你的 porgram 有什么理由想知道它所在的设备吗?
-
您的“小软件”在哪里运行?在FPGA本身上?如果有,FPGA设计是你自己开发的还是给的?
-
所以您正在尝试使用 Nios II 流程确定您的目标是哪个 FPGA?您的问题是这样表述的,似乎您希望在 Nios II 处理器上运行的程序来确定它正在运行的设备类型,这对于尝试对其进行编程没有意义。
-
您现在想了解哪些有关 FPGA 的确切信息?设备系列名称是否足够?
-
无论如何,您都需要为每种 FPGA 类型构建不同的固件,那么为什么不能为每个设计或构建包含一个唯一的 ID?有趣的是,存在“Altera 唯一芯片 ID”IP 块,但这是按芯片而非按 FPGA 类型区分的。作为替代方案,您可以尝试访问 FPGA 自己的 JTAG 链,但这可能需要在硬件中完成,而且对我来说似乎过于复杂。 (并且请不要将您的 cmets 发布为“答案”,而是使用 cmets 或调整问题!)
标签: fpga intel-fpga nios