The Open Logic project
One of the reasons to writing this blog was to share content and projects about FPGA. When this blog started, in 2020, there were some open-source projects like Yosys or Verilator. Fortunately,the amount of this kind of project, and the number of FPGA engineer that are sharing their knowledge is increasing day by day. This time I want to bring you another open-source resource, Open Logic.
Open Logic was created by Oliver Bründler, and according to him, “Open Logic aims to be for HDL projects what stdlib is for C/C++ projects.”. This project is based on a set of modules written in VHDL ready to use in FPGA projects. Oliver has divided the modules into three different groups, Base modules, AXI modules, and Interface modules. The base folder contains modules with some basic, and not so basic, digital operations from FIFO memories or decoders to clock domain crossing synchronizers. In the interface folder we can find modules related to interfaces like SPI or UART. Finally, the AXI contains from an AXI slave to an AXI master module.
In order to use these modules in an FPGA design, the project includes a set of scripts compatible with the IDE tools of all FPGA vendors that add to the project the olo_
library, which contain all the modules available in the Open Logic project. Since I am involved in a Microchip PolarFire Project, I have tested the integration with Libero SOC. In this case, we have a tcl
script that, executed inside a project, links all the modules available.
Notice that, before use them you need to unlink the module you ant to use and add it to the project.
One thing that I missed in this project is a set of DSP modules for process and filtering data. I would be happy with a moving average filter or even a second order IIR filter, but I think that is a matter of time to have this kind of modules in this library.
The project is growing almost month to month and only five days ago was released the version 3.1.0 that added support for Gowin EDA as well as new modules.
The FPGA open-source ecosystem is far from other open-source communities, but it is growing by leaps and bounds, which is great. I always remember when a FAE ask me, why someone would share something for free?, in my case the answer is because I like what I do, and I think that sharing my work will motivate the others to share, allowing me to use great tools like Yosys or Open Logic.