Return to the Home Page
  homesearchagentssupportask xilinxmap


Xilinx Online Home
Frequently Asked Questions
Success Stories
Discussion Forum
Reference Design
Java API for Boundary Scan
JBits
White Papers
Xilinx Online - Upgradable Systems

Photoshop Internet Reconfigurable Logic (IRL) Reference Design

Introduction
The Photoshop reference design is an example of a field upgradable system using a Xilinx Virtex FPGA and a "signed" Java Applet.  The device reconfiguration is end-user activated from an Internet website.  Figure 1. (below) graphically represents the field upgradable system. 


Figure 1


In this example, the end-user has a desire to accelerate the process of using hardware over software because image conversion is sometimes computationally intensive to convert an image from color to greyscale. Initially the speed of processing between software and hardware is compared by using a software based Photoshop Plugin filter and then a hardware based Photoshop Plugin filter.
Expanded View The accelerator card used in this example is the Wildcard (tm) reconfigurable PCMCIA card from Annapolis MicrosystemsInternet Link. The hardware based filter is applied to the image and then reapplied using an upgraded hardware filter obtained using the internet.

The keypoints of this demo:

  1. The Field Upgrade is user activated as opposed to being pushed out by a central controller.
  2. A commercially available reconfigurable hardware accelerator card is used.
  3. A "signed" Java Applet is used to securely download a bit file. 
  4. A hard drive is used as a non volatile storage for FPGA.


In order to experiment using this reference design, the following resources have been made available: 


White Papers
 
A white paper explaining how image processing is done in Virtex is available.

Implementing Photoshop Filters in Virtex

Two white papers explaining how to accelerate Adobe Photoshop using Xilinx FPGAs are available.

Accelerating DTP with Reconfigurable Computing Engines
Accelerating Adobe Photoshop with Reconfigurable Logic

to view the  PDF file above


Instructions
  1. The files listed below assume you are using the WildCard from Annapolis Microsystems. To download the bitstream to other systems, you must refer to the device driver support software provided by the producer of that system.
  2. Directory locations of the files that reside on the laptop must be reproduced exactly. If you have a different version of Photoshop, you must rename and reconfigure the filter path accordingly.
  3. In order for the Java applet to work, you must have the Java Run-time Engine (JRE) installed. To install the JRE, go to http://java.sun.com/products/jdk/1.2/jre/download-windows.html.Internet Link 
  4. You must install Java and filter files that reside on both the web server and as well as the laptop. There is a WinZip file below for both a web Server and Laptop. There are tables after that that explain the file and path for all the Photoshop files, Java Applet files and HTML/sound files.
  5. When you download filters to your laptop, make a duplicate copy of the Greyscale filter so you can rerun the demo. This is important because the original will be written over.
Demo WinZip Files
Server Files
Laptop Files

 
Photoshop Files
File: Greyscale_SW.8bf
Path: C:\Program Files\Adobe\Photoshop 5.0\Plug-Ins\Filters\
This is the software version of the greyscale filter that operates in the software on your laptop.
File: OldGreyscale_Virtex_Wildcard.8bf
Path: C:\Program Files\Adobe\Photoshop 5.0\Plug-Ins\Filters\
This is the hardware version of the greyscale filter that is done on the Wildcard and located on the laptop; version 1.0. This should be renamed as greyscale. This is also the file you need to duplicate to rerun the demo.
File: NewGreyscale_Virtex_Wildcard.8bf
This is the updated software version that must reside on the web server and will be the file that is downloaded. Note, this must be renamed to delete “New” so that the name is identical to the 1.0 version.
Java Applet Files
File: test.jar
Java archive applet that needs to reside on the web server
File:  .java.policy
Path: Java 1.2.1 home directory of C:\Windows\
Policy file for laptop. NOTE: back up the current .java.policy file before downloading.
File: .keystore
Path: C:\Windows\
Keystore file for laptop
HTML & Sound Files
vbuyit.htm
vfilterselect.htm
HTML files that should reside on the web server
cashreg.wav
Sound file that should reside on web server


Troubleshooting Tips
  1. Start menu -> Programs -> Java Plug-in Control Panel. You should see a Java window titled "Java(tm) Plug-in Properties. Choose the "Basic" tab sheet. Check "Show Java Console" Close this Java properties window. The next time your Netscape 4.5 browser encounters an applet which requires the use of the Java plug-in, the console for the plug-in would open and show you debugging information.  Among the information shown is the "home directory" for the user as seen by the Java plug-in.  You need to make sure that you know what the installed Java plug-in considers as the use's home directory.  You will need to set up the computer's "kystore" and "policy" files in that directory, or else the signed applet will not be granted the permission it needs to perform file write operation.
  2. Test using a signed applet http://java.sun.com/security/signExample12/Internet Link
  3. In section 2 under "Running signed applets with the Java plug-in" you will click on a link http://java.sun.com/security/signExample12/signedPluginEx.htmlInternet Link which shows you how a regular non-signed applet would not work.  You should see the "Java Console" window come up.  Note the first couple of lines in the messages.  It should read Java Plug-in and JRE version, etc.  The 3rd line tells you what the Java plug-in considers as the user's home directory. It is probably "C:\WINNT\Profiles\{username}" on an NT 4.0 computer.  At this point, you might want to know that all the necessary links to complete the example can be found at the bottom of this page.  There, and only there, do you find the link to download the example certificate.
  4. In section 3 when you import the certificate and create your .keystore file you will be prompted to assign a password to protect the .keystore file.  Eventually you should have created a .keystore file and downloaded a .java.policy file.  Make sure they are both in your home directory as indicated by the Java console's message.
  5. Finally in section 5 you will click on the link http://java.sun.com/security/signExample12/signedPluginEx.htmlInternet Link which should give you a signed applet that finally can write a file to your filesystem.  This example writes a file to "C:\tmpfoo".  If this example doesn't work,  try one or more of the following:
    1. Make sure the .keystore and .java.policy files are your "home directory".  The keytool.exe command can help to ensure your .keystore file is proper.  Run the keytool.exe with the -list option and you should be able to see information about the sample certificate displayed. C:\keytool.exe -list (assuming the path to this executable is already added to your path) The .java.policy is a text file and its syntax is easy to understand.  You can take a look at it and it becomes pretty obvious to you how to read it.  Make sure you downloaded the policy file meant to Windows.
    2. You may have extra copies of Netscape still hanging around in memory even though you don't see them anymore.  Use the Task Manager -> Processes to kill all the netscape.exe and start a new instance of the browser and test again.
    3. Reboot the computer as a last resort.

Steps for Running Demo
  1. Photoshop is opened with a color image to be converted.
  2. Selecting the Xilinx Software Greyscale image filter from the Filters menu, the image is converted to grey. Note, that this takes around 3 seconds. Undo the operation to return the image to color.
  3. Then the Wildcard version of the filter is selected. Note, that this is version 1.0 of that filter. When activated, this appears to happen instantly. It is, in fact, a speedup of about 4 to 6 times. Note, that, while fast, this filter does not perform the function correctly. Reds still exist in the processed image. Undo the processing to return the image to color.
  4. Access your designated website (where vfilterselect.htm resides) via an internet browser for the updated plugin.
  5. Select the Greyscale Filter and "buy" the updated filter. This filter gets downloaded into the standard directory location for Photoshop filters; C:\Program Files\Adobe\Photoshop 5.0\Plug-Ins\Filters
  6. Rerun the filter in Photoshop. Note, the version is now 1.2 and that it runs correctly.