Single-File IP
This page contains designs coded in Arx that are less trivial than the examples embedded in the Arx manual, but still simple enough to be reasonably kept in a single file.You can obtain C++ and VHDL equivalents of the examples on this page by uploading the Arx code to the Arx Web Demo page. You can then simulate the outcome with the provided testbenches provided that you have first downloaded the infrastructure files available from the demo page. Feel free to experiment with your own variants of the IP blocks or completely new designs.
The C++ testbenches contain some knowledge of the application. The VHDL testbenches verify behavior on a clock-cycle basis using data generated with the C++ testbench. The .in files contain the inputs and the .ref files the expected output. The VHDL testbenches generate a .out file that should have the same content as the .ref file.
This page is under development. You can subscribe to the Bibix mailing list via the form on the Bibix home page to remain informed about new additions to this page and other developments related to Bibix.
Click on the file names in the table below to retrieve the code that you need (or use your right mouse button to save the files).
Description | Arx code | C++ testbench | VHDL testbench |
---|---|---|---|
Generic FIR filter similar to fir_gen from [1] | fir_gen.arx | tb_fir_gen.cpp | - |
Pipelined CORDIC supporting rotation and vectoring modes | cordic_pipe.arx | tb_cordic_pipe.cpp |
tb_cordic_pipe.vhd cordic_pipe.in cordic_pipe.ref |
Application of pipelined CORDIC for sine/cosine generation | cordic_sine_gen.arx | tb_cordic_sine_gen.cpp |
tb_cordic_sine_gen.vhd cordic_sine_gen.in cordic_sine_gen.ref |
16-point decimation-in-frequency textbook FFT | fft_r2_16p.arx |
tb_fft_r2_16p.cpp
fft_r2_16p.dec |
tb_fft_r2_16p.vhd fft_r2_16p.in fft_r2_16p.ref |
Radix 2^3 decimation-in-frequency butterfly, see [2] and [3] for the theory. | fft_r8_bf.arx |
tb_fft_r8_bf.cpp
fft_r8_bf.dec |
tb_fft_r8_bf.vhd fft_r8_bf.in fft_r8_bf.ref |
64-point decimation-in-frequency FFT pipeline built from two radix 2^3 butterflies as given above. | fft_r8_64p.arx |
tb_fft_r8_64p.cpp
fft_r8_64p.dec |
tb_fft_r8_64p.vhd fft_r8_64p.in fft_r8_64p.ref |
References
- [1]
- Meyer-Baese, U., Digital Signal Processing with Field Programmable Gate Arrays, Third Edition, Springer, Berlin, (2007).
- [2]
- He, S. and M. Torkelson, "Designing Pipeline FFT Processor for OFDM (De)modulation", URSI International Symposium on Signals, Systems and Electronics, ISSSE'98, pp. 257-262, (1998).
- [3]
- Kampen, D. van, K.L. Hofstra, J. Potman and S.H. Gerez, "Implementation of a Combined OFDM-Demodulation and WCDMA-Equalization Module", Annual Workshop on Circuits, Systems and Signal Processing, ProRISC 2006, Veldhoven, The Netherlands, (November 2006). [download]