Home > On-Demand Archives > Talks >

Fixed Point Math in the Open Logic FPGA Standard Library

Oliver Bruendler - Watch Now - EOC 2025 - Duration: 59:42

Fixed Point Math in the Open Logic FPGA Standard Library
Oliver Bruendler

FPGAs excel at high-performance DSP applications due to their parallel processing capabilities, but fixed-point algorithm implementation often suffers from fragmented toolchains. DSP algorithms are typically developed in Python for rapid prototyping, but translating these models to HDL requires manual recoding with inconsistent fixed-point support across Python and VHDL/Verilog. This leads to lengthy verification cycles and potential bit-exactness errors. Additionally, the absence of standardized libraries forces developers to repeatedly implement basic elements like FIFOs, CDCs, and delay lines.

Open Logic, a vendor-independent standard library, addresses both of these challenges. Its fixed-point mathematics framework provides a unified notation that remains consistent across Python and HDL implementations in both VHDL and Verilog. This common syntax enables straightforward manual translation with minimal transcription errors, while automated verification tools confirm bit-exact equivalence between Python prototypes and HDL implementations. This approach also allows for parametrizable, reusable HDL code with automatic word-width scaling.

This talk will briefly cover Open Logic's core concepts, including its library of standard components (FIFOs, CDCs, and delay lines). We will then demonstrate a complete fixed-point development workflow using a practical example. Attendees will see the process from initial Python model definition through HDL implementation to bit-exact verification, highlighting the time savings and reduced error potential compared to traditional manual approaches.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Leonard
Score: 0 | 2 weeks ago | 1 reply

Where is the code for the example shown here in the video?

OliverBruendlerSpeaker
Score: 0 | 2 weeks ago | no reply

It's the fixed-point math tutorial from Open Logic. You can find the link to the tutorial on the main page of the project:
https://github.com/open-logic/open-logic

Or if you want to go to the tutorial directly without going through the main-page:
https://github.com/open-logic/open-logic?tab=readme-ov-file

osamimi
Score: 1 | 2 weeks ago | 1 reply

Nice work!
For those interested in a pure systemverilog alternative, I am going to plug my ‘fplib’ library here that offers similar functionality: https://github.com/SkyworksSolutionsInc/fplib

OliverBruendlerSpeaker
Score: 0 | 2 weeks ago | no reply

Cool - thanks for sharing.

As mentioned in the presentation I am looking for someone to help me with getting a reasonable system verilog implementation of the format calculations in the same form as en_cl_fix. Looks like this would be low hanging fruit for you - are you interested in contributing?

OUR SPONSORS & PARTNERS