GENERAL INFORMATION:

Design:              BJXEPLD
Compatible software: XEPLD fitter from XACT v5.0
                     XABEL v5.0

Platform:            PC or Sun
Target device:       XC7354 in PC44 package or larger (7354-xxPC44)

The BJXEPLD example demonstrates a typical XEPLD design using XABEL. The 
logic of a blackjack game is expressed using 3 ABEL-language equation 
files: bjxepld.abl, binbcd1.abl, and muxadd1.abl. 
The top-level design file, bjxepld.abl, contains PLUSASM property statements 
defining certain EPLD I/O resources and including the other 2 equation files. 
Each ABEL source file also contains test vectors for running functional 
simulation in the XABEL environment. 

The 3 ABEL files are first translated to PLUSASM using the XABEL compiler. You 
can compile the files under the XABEL interface, which can be invoked by 
selecting DesignEntry -> XABEL in the XDM menu. 

  1. In XABEL, select File -> Open; select bjxepld.abl; and select OK.
  2. Select Options -> Xilinx EPLD; select (turn on) Stand-Alone Design; OK.
  3. Select Compile -> Xilinx EPLD Netlist; the top-level bjxepld is compiled.
  4. Select File -> Open; select binbcd1.abl; OK.
  5. Select Options -> Xilinx EPLD; de-select (turn off) Stand-Alone Design; OK.
  6. Select Compile -> Xilinx EPLD Netlist; the binbcd1 module is compiled.
  7. Repeat steps 4-6 for muxadd1.abl.

After converting the 3 ABEL files into PLUSASM, you can run the bjxepld.pld 
top-level design file through the EPLD fitter. The bjxepld.pld design file 
names the other 2 equation files included in the design. To run the fitter, 
select Fitter -> FITEQN in the XDM menu, or enter the following command:

  fiteqn -e bjxepld -p 7354-10pc44

As an alternative, you can invoke the ABEL-to-PLUSASM translator and the EPLD 
fitter by entering the following commands (bjxepld must be run last):

  abl2pld -p 7354 binbcd1
  abl2pld -p 7354 muxadd1
  abl2pld -p 7354-10pc44 -r bjxepld

The fitter produces several report files, including Resources (bjxepld.res), 
Mapping (bjxepld.map), Pinlist (bjxepld.pin) and Partitioning (bjxepld.par).

