How+to+program+ELVIS-DEFB+PROM+for+running+stand-alone+program?

=Software Requirement=
 * National Instrument Multisim 12
 * Xilinx IDS 13.4

=Step 1: Generate Programming File=
 * 1) Create your circuit using Multisim 12 and ensure that there is no error.
 * 2) On Multisim menu, click **Transfer -> Export to PLD...**
 * 3) Select the option **Program the connected PLD**, and check the option **Save generated programming file**. Click **Next**.
 * 4) On Xilinx Tools, select **Xilinx ISE Design Suite 13.4 64-bit**.
 * 5) Set and remember the location for the **Programming file**.
 * 6) Now connect the USB from Elvis to the PC, and USB from DEFB to PC. Turn on the power on Elvis, and the power for the prototype board.
 * 7) On Multisim PLD Export window, click **Refresh** button to detect the board. The device status should change to **Detected**.
 * 8) Expand the **Advanced Settings**, and under **Xilinx user constraint files (*.ucf)**, choose the UCF file for your simulation. By default it will point to the default file that is provided by National Instruments. However, if you made changes to the UCF file for your simulation, then you will need to load your modified file.
 * 9) Click **Finish**.
 * 10) Check the **Result** window and make sure there is no error.
 * 11) By now, you circuit should run on the FPGA board. You should test for any error before going to the next step.

=Step 2: Program PROM=
 * 1) Once you are ready to download the program to the PROM, run  **iMPACT** from **Windows 7 Start Menu.**
 * 2) Click **File -> New Project**.
 * 3) Choose "I want to **create a new project (*.ipf)**", and select the location for the new project.
 * 4) Before proceed to the next step, make sure the boards are on and the USB cables are connected to the PC.
 * 5) On the Welcome to iMPACT window, choose **Configure devices using Boundary-Scan (JTAG)**, and from the drop down menu, choose **automatically connect to a cable and identify boundary scan chain**. Click **OK**.
 * 6) Now we want to assign configuration files to the FPGA and the PROM.
 * 7) Right click the icon **xc3s500e**, and click **assign new configuration files**. Then, choose the programming file that you produced in **Step 1: Generate Programming File** above. This should be a file with the extension bit (*.bit), e.g. ALU_8_bit.bit.
 * 8) Choose No when asked to attach SPI or BPI Prom.
 * 9) Right click the icon **xc3s500e**, and click **Program**. Click OK, and you should see **Program Succeeded** in the screen.
 * 10) On the **iMPACT Flows** panel on the top left, double click on **Create PROM file (PROM file formatter)**.
 * 11) Under **Storage device type**, choose **Xilinx** **Flash/PROM**. Click on the green arrow to go to the next step.
 * 12) Under PROM Family, choose **Platform Flash**.
 * 13) Under Device bits, choose **xcf04s [4M]**.
 * 14) Click **Add Storage Device**. Then click the green arrow to go to the next step.
 * 15) Put FF on the Checksum Fill Value.
 * 16) Set the **Output File Name** and its **location**.
 * 17) Under File Format, choose **MCS**.
 * 18) Click **OK**.
 * 19) Choose the programming file that you produced in **Step 1: Generate Programming File** above. This should be a file with the extension bit (*.bit), e.g. ALU_8_bit.bit.
 * 20) When asked to add another device, say **No**.
 * 21) Now the window show the PROM File formatter tab.From the Menu bar, click **Operations -> Generate File ...** . This will generate MCS file with the file name that you specify.
 * 22) Switch to **Boundary Scan** tab.
 * 23) Right click **xcf04s** and choose **Assign New Configuration File**. Select the MCS file that was generated.
 * 24) Right click the icon **xcf04s**, and click **Program**.
 * 25) Check the following options: **Verify, Erase the entire device, Load FPGA**.
 * 26) Click OK, and you should see **Program Succeeded** in the screen.
 * 27) Save the project before closing. The next time you want to program, you just need to assign bit programming file again.