U of U CS 3710 - Implementing and Testing Efficient Video Line Stores

Unformatted text preview:

Implementing and Testing Efficient Video Line Stores (Includes 7 ready to use macros for popular line lengths)Ken ChapmanXilinx Ltd28thJune 2006Rev.1Efficient Video Line Stores 2Limited Warranty and Disclaimer. These designs are provided to you “as is”. Xilinx and its licensors make and you receive no warranties or conditions, express, implied, statutory or otherwise, and Xilinx specifically disclaims any implied warranties of merchantability, non-infringement, or fitness for a particular purpose. Xilinx does not warrant that the functions contained in these designs will meet your requirements, or that the operation of these designs will be uninterrupted or error free, or that defects in the Designs will be corrected. Furthermore, Xilinx does not warrant or make any representations regarding use or the results of the use of the designs in terms of correctness, accuracy, reliability, or otherwise.Limitation of Liability. In no event will Xilinx or its licensors be liable for any loss of data, lost profits, cost or procurement of substitute goods or services, or for any special, incidental, consequential, or indirect damages arising from the use or operation of the designs or accompanying documentation, however caused and on any theory of liability. This limitation will apply even if Xilinx has been advised of the possibility of such damage. This limitation shall apply not-withstanding the failure of the essential purpose of any limited remedies herein.These design modules are not supported by general Xilinx Technical support as an official Xilinx Product.Please refer any issues initially to the provider of the module.Any problems or items felt of value in the continued improvement of these reference designs would be gratefully received by the author. Ken ChapmanSenior Staff Engineer – Spartan Applications Specialistemail: [email protected] Video Line Stores 3IntroductionThis reference design for the Spartan-3E Starter Kit serves two quite different purposes. As such, you may be interested in one particular aspect or both.HyperTerminal(or similar)RS232Serial Communication38400 baud8-bitsNo ParityNo flow controlXC3S500EUART1024 × 18768 × 241280 × 721536 × 121920 × 91280 × 131920 × 48Line Store Macros Under EvaluationLEDspixels_per_line × bit_widthHardware Development and Testing of Macros - The design provides an example of how the Starter Kit can be used as a test bed for macros enabling real implementations to be evaluated during development. This technique can be applied to many parts of designs and helps reduce the burden of testing and debugging when putting a final system together. Such ‘real simulation’ can also be significantly faster than using a traditional software simulator since the logic is working at full clock rate. When testing a macro, it is not always necessary to have all the peripherals and connectors that the final system will have. The macro is effectively placed in a ‘virtual socket’ within the Spartan-3E device and some means provided to stimulate and monitor the macro. In this example PicoBlaze is used as a convenient way to control and monitor the macros under test with an RS232 (UART) link to the PC providing the human interface (HyperTerminal). So in fact the test design only uses 2 pins on the Spartan device and all others are ‘virtual pins’ (OK, I used the LEDs too). Efficient Video Line Store Macros - In this case the macros under evaluation are a set of highly efficient video line stores implemented using Block Memory (BRAM). Line stores are often used when performing image processing algorithms. In recent years the resolution of images has been increasing resulting in more pixels per line and pixels of greater resolution (more bits to represent each colour). Unless these line stores are implemented efficiently it becomes very difficult to implement an adequate number of line stores on a Spartan-3E device. This reference design provides 7 ready to use line store macros all of which can be evaluated using this design. If your main interest in this reference design is purely to use one or more of these macros then you may wish to advance directly to page 16 (without passing GO and without collecting £200!).‘Virtual socket’Efficient Video Line Stores 4Using the Test DesignThe design is provided as a configuration BIT file for immediate programming of the Spartan XC3S500E provided on the Spartan-3E Starter Kit. Source design files are also provided for those more interested in the intricacies of the design itself. USB cable plus some devices on board essentially provide the same functionality as a Platform Cable USB and is used in conjunction with iMPACT. Initially used to configure the Spartan-3E with the PicoBlaze based design (BIT file). Can subsequently be used to update the PicoBlaze program stored in an internal Block Memory (BRAM) allowing rapid software changes and experiments(see JTAG_loader documentation provided with PicoBlaze) .RS232 Serial Cable. Used for operating the design and obtaining results.Cable connects J9 on the board to your PC serial port. For this you will need a male to female straight through cable (critically pin2-pin2, pin3-pin3 and pin5-pin5). +5v supplyDon’t forget to switch the board on too! (SWP)PCTo make this task really easy the first time, unzip all the files provided into a directory and then…. double click on ‘install_line_store_tester.bat’. Assuming you have the Xilinx software installed, your board connected with the USB cable and the board powered (don’t forget the power switch), then this should open a DOS window and run iMPACT in batch mode to configure the Spartan-3E with the design (configuration BIT file). You should see the LED ‘LD0’ turn on and a message appear on your PC terminal window (see following pages for HyperTerminal set up).Quick Start - Configure the Spartan-3E with the designEfficient Video Line Stores 5Serial Terminal Setup An RS232 serial link is used to communicate with the design. Any simple terminal program can be used, but HyperTerminal is adequate for the task and available on most PCs. A new HyperTerminal session can be started and configured as shown in the following steps. These also indicate the communication settings and protocol required by an alternative terminal utility. 1) Begin a new session with a suitable name.HyperTerminal can typically be located on your PC at Programs -> Accessories -> Communications ->


View Full Document
Download Implementing and Testing Efficient Video Line Stores
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Implementing and Testing Efficient Video Line Stores and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Implementing and Testing Efficient Video Line Stores 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?