Can dynamic plugins run in VHDL?

In c (embedded), a plugin can be implemented by defining a function pointer table and an address range into which the module can be loaded.

This requires a linker directive to allocate space and locate the function table.

Is there a similar mechanism in HDL / VHDL or Verilog.

I guess what I think is to define a gate block in the FPGA for my extension function, define the ports that it will communicate with, and then load logic into that block to perform a specific operation.

This must be at runtime as the FPGA is part of the communication system that the plugin will supply.

+1


source to share


2 answers


If you are using Xilinx FPGA, this may be supported on some of their chips.

See: Benefits of Partial Reconfiguration with Xilinx



- jeffk ++

+5


source


The function you are looking for is orthogonal to the VHDL domain. VHDL allows modules (objects implemented by architectures), so in theory, yes, this could work. But in practice it really depends on your operating system.

What do you expect from this? Save reconfiguration time?



If you have a fairly complex board with running software, you can easily load a new FPGA configuration from any communication channel. You can also get some small performance gains in Xilinx by using partial reconfiguration.

Or maybe you can just create a custom VHDL module that the software will configure at runtime to behave as needed.

+2


source







All Articles