1

我是 fpga 编程的新手,我想知道如何使我的 fpga 设计可分发。这是我想到的场景。我有一个计算机网络,每台计算机都部署了一个基于 fpga 的外围设备。我想定期更新外围设备上的 fpga 设计。我如何在不花大笔购买软件许可证的情况下做到这一点?

我有一个用于 fpga 的小型开发套件,它附带一个可执行文件来加载示例设计文件(它是 Altera fpga FYI)。有谁知道我将如何创建这样的可执行文件?

一些细节:我的 fpgas 是 Xilinx Spartan 6E。我正在使用 Xilinx ISE 进行 fpga 开发。主机运行 debian linux。

感谢您的任何建议!

4

3 回答 3

2

If youre dealing with Altera: one computer would have the software tools and licenses needed to synthesize the project. Assuming all the FPGAs are the same model on each station/node, Quartus will generate an .sof file which you can copy and open from station to station. All you would need to do is download the Altera programmer tool (I believe you can download it separately from Quartus II) on each station which is free. Then upload the .sof to the board using the programmer, where you can permanently store it on the fpga prom using a technique similar to the following:

https://m.youtube.com/watch?v=ZrMe8JS7Ktk

However if you have Xilinx and Altera mix, Xilinx has .bit/xdl files, and uses another tool (impact) to upload their bitstreams. They can't be converted to and from bit and sof. So it's recommended that you probably stick to one make (Xilinx or Altera) and model based on your plans.

于 2014-11-27T03:59:44.147 回答
0

看起来您正在寻找的是如何使您的 FPGA 现场可升级。假设您的 FPGA 是从外部存储器(例如 SPI 闪存芯片)加载的,那么您需要修改您的设计,使其能够写入 SPI 芯片(或其他任何东西)本身。这最简单的方法是在您的设计中放置一个寄存器,该寄存器映射到闪存芯片上的各个引脚,然后从连接的计算机“位爆炸”寄存器。假设您的 FPGA 将数据输入到您自己在计算机上运行的软件中,那么您将修改此软件以具有操作此寄存器以重新刷新闪存设备的功能。显然,如果出现问题,您将设备变砖,直到可以使用 JTAG 再次刷新它,

于 2021-07-26T15:36:49.070 回答
0

如果板上有以太网,则可以使用fpga-cores的远程编程工具

然后您可以远程登录到网络并对 FPGA 进行编程或将新的配置文件邮寄给您的客户,然后他们运行编程器。这就是我们远程更新板的方式。

支持 Spartan 6。作为奖励,您还可以使用远程逻辑分析仪进行一些远程调试。一切都是免费的非商业用途。

于 2021-07-28T06:32:15.280 回答