Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 20 Dec 2005 01:55 PM by  kurtl@logicpd.com
Xilinx Xc2C128 CPLD ... cannot program this device. WHY?
 3 Replies
Sort:
You are not authorized to post a reply.
Author Messages
wmohat
New Member
New Member
Posts:


--
09 Dec 2005 09:40 AM
    I am trying to use the PC-104 interface on the FireEngine.
    There are SERIOUS design flaws with this interface, which I have
    corrected. And, I have produced timing diagrams, documentation,
    and CPLD source code to make this interface functional.

    HOWEVER----

    I am not able to program the Xilinx CPLD on the board, which controls
    many of I/O devices (like the Compact FLASH, etc) and the
    PC-104 connector.

    I have tried programming the XC2C128 CPLD, using both a
    Xilinx Parallel III pod, and also their newer USB pod (Model DLC9). Both
    of these cables are known good, and have programmed hundreds
    of other Xilinx devices. The connections to the LogicPD ColdFire
    board have been checked by two other engineers (one is a Xilinx FAE!),
    and all connections have been ohmed out, to verify correct connections.
    All signals have been verified with a digital scope: everything
    looks fine, no "shorted" or floating signals, all signals move
    during testing, signal "noise" is well within limits.

    When I start the Xilinx iMPACT programmer and "initialize the chain",
    the Xilinx programmer immediately recognizes that there is only one
    device on the chain, and correctly identifies it as a xc2c128. So
    far, so good .... the JTAG interface seems to be functioning, or it
    could not have read this data back.

    However, if I try to do ANYTHING ELSE (blank check, erase,
    program ...anything)....iMPACT immediatly fails, and prints the following
    error message:

    ERROR:iMPACT: 2129 Boundary-Scan test failed. Please check
    tdi -> tdo connection between the cable and device: '1' ('xc2c128').
    A problem ...... (etc).


    WHY is this? What's the secret to programming this XC2C128
    on the FireEngine?

    By the way, I checked ... U31 (the CPLD Update Buffer) ...
    has it's control lines HIGH (so it's tri-stated, and not interfering
    with the JTAG pod.) So, why doesn't this work?

    Has ANYBODY successfully programmed the Xilinx CPLD
    on a FireEngine? If so, what's the secret to this?
    kurtl@logicpd.com
    New Member
    New Member
    Posts:


    --
    09 Dec 2005 12:46 PM
    During development we used a Xilinx Parallel Cable 3 to originally program the devices.

    During manufacturing the J6 connections to the CPLD are tested in an In-Circuit-Test fixture. During a functional test, the CPLDs are programmed, tested, and some configurations erased before shippping on the kit using the onboard buffer U31.

    Couple things you should verify:
    - Power is applied to the development kit / ETX module
    - No parrallel cable extenders are used to interface to the Xilinx programming module
    - The board is not held in reset.

    Also please note the latest production versions of the product are shipped with a XC2C64 sized part, not a XC2C128 part. If you received a XC2C128 part you probably have an early revision board from Freescale.

    One thing you might want to try to make sure the CPLD JTAG interface is working on your board is use Lolo to program the CPLD using our online update files. You'll have to go through the SLA process to get access, but then you can verify your CPLD is working properly.

    If the Lolo CPLD update file works properly, I'd suspect there is a connection issue between the programming cable and the ETX board connector.

    Keep us posted on your progress.
    -Kurt
    Anonymous
    Posts:


    --
    20 Dec 2005 01:53 PM
    Here is the solution that the customer found:

    The problem turned out to be a bug in the Xilinx iMPACT programming tool. It seems if you want to program any other Xilinx part (CPLD, FPGA) OTHER than a CoolRunner, there isn't any problem. You can have your binary xxxx.JED file for that part located ANYWHERE you want (hard disk, floppy, CD-ROM, USB drive, network drive, ZIP drive....whatever)....and the device will be programmed correctly.


    But if you are programming a CoolRunner part, you MUST have the source file physically on your hard disk to program it successfully. Anywhere else (on a floppy, CD-ROM, whatever) .... and the Xilinx iMPACT programming tool reports a JTAG error, as if there is something wrong with the board or your JTAG pod..... which, of course, has you looking in the wrong place for a solution.

    The reason nobody could help me is that nobody believed there was a problem programming CoolRunner parts. ( The Xilinx support staff is chewing on this little "bug" right now.
    kurtl@logicpd.com
    New Member
    New Member
    Posts:


    --
    20 Dec 2005 01:55 PM
    Good information, thanks for the reply!
    You are not authorized to post a reply.