You will create a VHDL description for each XILINX chip in the SPLASH machine. If you desire, you may design a single XILINX chip and have all SPLASH processing elements (PE's) use that design. Conversely, you may design n different chips with different PE's executing different functions.
The design of a SPLASH PE is not done in a vacuum - a complete template giving input and output ports should be used as a starting point for any design. In addition, existing SPLASH VHDL libraries of data type declarations and useful functions should be used to ensure that your design will work when downloaded to SPLASH.
The simulation environment provides a number of helpful features to assist you in debugging your design such as:
vhdl2xnf is used to do the conversion. In the synthesis step your VHDL code is compiled and mapped onto the specific XILINX parts that exist in SPLASH. This mapping is done right down to the I/O pin locations to ensure that the finished chip will work when downloaded into SPLASH.
It is in this step that you provide the compilation constraints (such as operating speed requirements) that ensure that your design will operate according to specification.
Once you have completed this step you may view the resulting synthesized gate-level logic using design_analyzer from Synopsys. This step of the design flow is done on an HP 700 machine where the Synopsys tools have been installed.
xnf2bit script which physically maps the synthesized logic onto the XILINX part. The result is a BIT file which may be downloaded into the SPLASH XILINX parts. In addition, more detailed timing characteristics of the XILINX parts are available at the conclusion of this step. This step of the design flow is done on an HP 700 machine where the Synopsys tools have been installed.
You then may use the t2 program to download the BIT files to SPLASH, set up the input and output files, initialize the PE memories, and then repeatedly clock SPLASH. The t2 program will also let you watch signals from the SPLASH PE's. It does this by completely downloading the flip flop values from each PE between clock cycles, extracting the desired bit values and displaying them. This is done via the JTAG scan logic built into the XILINX parts. I believe one can also set values as well using t2 but I don't know how to do it.