In c (embedded) a plugin can be implemented by defining a function pointer table and an address range that the module can be loaded into.
This requires linker directive to allocate the space and define the location of the function table.
Is there a similar mechanism in HDL / VHDL or Verilog.
I guess what I am thinking is to define a block of gates in an FPGA to be for my extension feature, define the ports it will interface to and later be able to load into this block the logic to perform a certain operation.
This would have to be at runtime as the FPGA is part of the communications system that the plugin will be delivered by.