Firmware features ?

  • 1 Replies
  • 129 Views
Firmware features ?
« on: April 24, 2024, 09:23:44 AM »
Hello,
Nice project !

I am a master student and during my internship i will have to filter high-frequency signals.
I would like to know if i can integrate filters (IIR) to the firmware and if i only need Vivado Design Suite (ML Standard Edition free) to configure these features.

Thanks.

*

Dejan

  • *****
  • 142
    • View Profile
Re: Firmware features ?
« Reply #1 on: April 26, 2024, 09:54:16 AM »
Hi!

Yes, you could modify FPGA firmware (image) to implement a digital filter. For example, take a look on how the signal averaging  is implemented in the 'mavg' component and integrated in the firmware. If the filter will always be enabled, then this would be all that is required to make it work. Vivado can be used for compiling the FPGA image.

If you want the ability for this filter to be switched on or off through the software GUI, then you would need to add a new setting option to the hardware control registers . These registers are modified through the GUI software (or Python API) and transferred from software to the hardware. After choosing a reserved (unused) register, you woud need to write a new C function in the software to control this register (again, for example, take a look at the  sfSetAverage and sfGetAverage) functions in scopefunapi.c . Then a new wxwidgets check-box would be added to the GUI and it would be used to call these hardware register modifying functions through wxWidgets.

Another option is to implement this digital filter on the host (PC), after samples are retrieved from the board. This could most  trivially be implemented in Python, using scopefun Python API to connect to the board and read the samples.