10 likes | 249 Views
Multiplication Module (No System Generator). Abstract. FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University. The program multiplies two bit inputs and returns a value to display the result on the appropriate pens.
E N D
Multiplication Module (No System Generator) Abstract FPGA BASED IMAGE PROCESSINGTexas A&M University / Prairie View A&M University • The program multiplies two bit inputs and returns a value to display the result on the appropriate pens. • The two numbers are assigned to the first four switches (LSB) of the Spartan 3 Board. The output is assigned • to the first three LED lights (LSB) of the Spartan 3 Board. • All four bits were turned on and the fourth and first LED lights were the result of the • multiplication.(11*11=1001). Process • Generate MATLAB code (M-Files) • Convert M-Files into Simulink Blocks. • Add System Generator and set parameters. • Generate VHDL code using System Generator. • Open specified file in project navigator inside Xilinx ISE 7.1. • Create the .ucf to map I/O ports. • Configure device (iMPACT) for debugging. • Download to the Spartan 3 board using ExPort. Addition Module • The program adds together two-two bit numbers and returns a value to display the result on the appropriate • pins. • The two numbers are assigned to the first four switches of the Spartan 3 Board. The output is assigned to the • first three LED lights of the Spartan 3 Board. • The first switch to the right (LSB) is turned on and the first LED light to the right (LSB) was the result of the • total addition(01+00=01). Tools • Xilinx Spartan 3 Board • MATLAB/Simulink 7.1 • Xilinx System Generator 8.1 • Xilinx ISE V 7.1 • ModelSim • Digilent JTAG-USB Cable Over the past few decades, the improvements from machine language to objected oriented programming has merged with engineering drawing concepts expanding the development of highly efficient visual based programming. A representative of this visual base programming is MATLAB/Simulink, which can solve discrete and continuous simulations graphically. These functions are labeled as blocks and used to design larger sub-systems. Recently, a new synthesis tool by Xilinx called System Generator for DSP has been developed to automatically generate RTL files in MATLAB to VHDL format. The VHDL format is transferred to the ISE Project Navigator to assign function variables to pins on the hardware and check the syntax of the VHDL code. Modelsim is used to simulate the VHDL code. The Digilent Export USB program is used to download the program into the Spartan 3 FPGA board. The main goal of this project was to learn MATLAB/Simulink using tutorials, derive simple mathematical modules in MATLAB, and learn the process for implementing VHDL Code onto the FPGA. An additional goal was to learn how to use a subset of the MATLAB programming language to write modules that describe arithmetic operators for image decoding and processing. These modules are written in MATLAB then attached to M-Blocks provided by System Generator and automatically compiled into an equivalent VHDL. These modules will be used in the future to build more complex modules in image processing (e.g. convolution theory). Parallel Addition Module (No System Generator) Conclusion/Future Work • Conclusion • Implemented 4 different math modules on the Spartan 3 Board. • Could not generate VHDL code from System Generator due to technical difficulties. • All programs were downloaded to the board successfully. • All downloaded programs ran successfully (tested through calculations). • Future Work • Create more complex math modules in MATLAB. • Attach the complex modules to system generator blocks on Simulink. • Successfully implement the complex math modules on the Spartan 3 Board for image processing. • The program adds two different three bit functions and returns a value to display the result on the appropriate • pins. • The 4 numbers are assigned to the 8 switches to the right (LSB) and also the 4 push buttons to represent each • bit. The output is assigned to the first 6 LED lights to the right (LSB) of the Spartan 3 Board. • The first, fourth, the last switch, and the first and third push buttons are turned on (LSB). The first three, fifth, • and sixth LED lights (LSB) were the result of the total additions.(101+010=111) (100+010=110). Subtraction Module (No System Generator) Acknowledgements • National Science Foundation • Prairie View A&M University • Texas A&M University • PSAL (Power System Automation Laboratory) • The program subtracts two bit inputs and returns a value to display the result on the appropriate pins. • The two numbers are assigned to the first four switches of the Spartan 3 Board. The Output is assigned to the first • three LED lights of the Spartan 3 Board. • The first bit of the first number and the second bit of the second number (LSB) were turned on and the first two • LED lights were the result of the total substraction(01-10=11) (Two’s Complement result). Electrical Engineering Research Applications to Homeland Security National Science Foundation Research Experiences for Undergraduates Dr. Karen Butler-Purry Dr. James Northern Malcolm A. Brown Dan Richardson III Power System Automation Lab Department of Electrical and Computer Engineering Texas A&M University College Station, TX 77843-3128