【问题标题】:Can dynamically pluggable modules be done in VHDL?可以在 VHDL 中完成动态可插拔模块吗?
【发布时间】:2008-12-19 14:22:59
【问题描述】:

在c(嵌入式)中,可以通过定义函数指针表和模块可以加载到的地址范围来实现插件。

这需要链接器指令来分配空间并定义函数表的位置。

HDL/VHDL 或 Verilog 中是否有类似的机制。

我想我的想法是在 FPGA 中定义一个门块以用于我的扩展功能,定义它将连接到的端口,然后能够将逻辑加载到该块中以执行特定操作。

这必须在运行时进行,因为 FPGA 是用于交付插件的通信系统的一部分。

【问题讨论】:

    标签: verilog vhdl fpga dynamic-loading hdl


    【解决方案1】:

    如果您使用的是 Xilinx FPGA,他们的某些芯片可以支持这一点。

    见: Benefits of Partial Reconfiguration with Xilinx

    --jeffk++

    【讨论】:

    • jeffk 描述的不是 Verilog 或 VHDL 功能,而是芯片功能。
    【解决方案2】:

    您正在寻找的功能与 VHDL 的领域是正交的。 VHDL 允许模块(实体,由架构实现),所以理论上,是的,这可以工作。但实际上,这真的取决于您运行的系统。

    您希望从中获得什么?节省重新配置时间?

    如果您有一个足够复杂的电路板并运行一些软件,您可以从某个通信渠道轻松下载新的 FPGA 配置。通过使用部分重配置,您还可以在 Xilinx 上获得小的性能优势。

    或者,也许您可​​以创建一个可配置的 VHDL 模块,软件将在运行时配置该模块以根据需要运行。

    【讨论】:

    • 希望在不使设备变砖的情况下获得现场可编程性。通信通道需要 FPGA 的一部分才能在整个编程阶段保持运行。如果出现问题并“变砖”,实际的 FPGA 就无法物理接触。
    • 有解决方案。例如,阅读有关 Altera 的远程升级主题的信息。有一个永远不会改变的“加载器”图像,它会将多个“应用程序”图像加载到内存中,并且可以更新它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    相关资源
    最近更新 更多