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. |
|
The accelerator card used in this example
is the Wildcard (tm) reconfigurable PCMCIA card from Annapolis
Microsystems. 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:
-
The Field Upgrade is user activated as opposed to being pushed out by a
central controller.
-
A commercially available reconfigurable hardware accelerator card is used.
-
A "signed" Java Applet is used to securely download a bit file.
-
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
to view
the PDF file above
Instructions
-
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.
-
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.
-
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.
-
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.
-
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.
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
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 |
Sound file that should reside on web server |
Troubleshooting
Tips
-
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.
-
Test using a signed applet http://java.sun.com/security/signExample12/
-
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.html
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.
-
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.
-
Finally in section 5 you will click on the link http://java.sun.com/security/signExample12/signedPluginEx.html
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:
-
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.
-
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.
-
Reboot the computer as a last resort.
Steps
for Running Demo
-
Photoshop is opened with a color image to be converted.
-
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.
-
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.
-
Access your designated website (where vfilterselect.htm resides) via an
internet browser for the updated plugin.
-
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
-
Rerun the filter in Photoshop. Note, the version is now 1.2 and that it
runs correctly.
|