Forum Discussion

SKamath's avatar
SKamath
Icon for New Contributor rankNew Contributor
5 years ago

In-circuit programming of parallel flash using MAX3000A CPLD's JTAG interface

Hi,

We are using MAX3000A (EPM3256ATC144-7N) CPLD in our existing design. MX29LV400CTTI-70G (IC, FLASH, 4M, PARALLEL, 48TSOP) is connected to CPLD.

We're having .pof file for CPLD and .bin file that needs to be programmed into parallel flash.

Questions:

1) Which software programming tool is to be used to program parallel Flash from CPLD's JTAG interface?

2) Which HW programmer is to be used?

2) What is step-by-step procedure to program Parallel Flash from CPLD's JTAG interface?

4 Replies

  • SKamath's avatar
    SKamath
    Icon for New Contributor rankNew Contributor

    Attached block diagram illustrates programming of flash using Altera CPLD’s JTAG interface.

    Flash is connected to CPLD only and not connected to JTAG interface.

    • ak6dn's avatar
      ak6dn
      Icon for Regular Contributor rankRegular Contributor

      Since the MAX device offers JTAG boundary scan test access, you could write a test program that, thru the JTAG interface, toggles all the I/Os to the external FLASH device to write data to it, and thus program it.

      This would mean coming up with an SVF (or equivalent) bitstream that would be sent down to the JTAG interface by some suitable JTAG host controller. I've forced test engineers to do this before. They complied with my request but were not happy.

      Alternatively, you could write a custom CPLD image that interfaces to the JTAG pins (they can be reused as standard I/Os, after all) and performs the appropriate R/W accesses to your external parallel FLASH device. More work for you.

      Probably not going to find you can do any of this in the standard Intel/Altera Quartur/MaxPlus software.

      • SKamath's avatar
        SKamath
        Icon for New Contributor rankNew Contributor

        Thanks for response..!

        I have considered below 3 options -

        1) Option-1: Using external JTAG programmer module interfaced to JTAG interface of CPLD

        2) Option-2: Using external controller interfaced to JTAG interface of CPLD

        3) Option-3: Using custom CPLD image to program Flash memory

        Option-1 is best & easy solution.

        I'm looking for the following 2 details -

        1) Which JTAG Flash Programmer software tool is to be used?

        2) What is step-by-step procedure to write parallel Flash using Programmer software