Robert J. Woodworth
The Verilog VPI is a C-Programming interface to the Verilog HDL (Hardware Description Language). It essentially allows you to write your own Verilog simulator system calls using C/C++.
The VPI modules described here are designed for image processing utilizing the Intel OpenCV libraries. Two modules are provided and fully described. With these modules, one could easily build an image processing system in Verilog and simulate image processing algorithms with real images.
It is not necessary to be familiar with the OpenCV libraries to use these Verilog VPI modules. However, OpenCV can be very useful for developing image processing algorithms and using these modules as a starting point, you can develop your own VPI libraries with OpenCV for Verilog behavioral simulation.
For more information on Intel’s OpenSource Computer Vision Libraries go to the official website:
Official OpenCV Wiki at:
Two Verilog modules are included here
Also included, is a top level testbench Verilog module. This module will allow for a complete simulation to be run so that you can see how these modules work together. The
top.v module will instantiate the
sensor() Verilog module, provide a system pixel clock and pipe the pixels to the display module. The display module will use the OpenCV GUI tools to display the image on your screen.
Gimme The Code!
- Source Distribution: imageProcessingVPI.zip
- Pre-Compiled Windows Binary dll’s for ModelSim: imageProcessing-BIN.zip