FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5925 Discussions

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

SKamath
Novice
1,029 Views

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?

0 Kudos
4 Replies
SKamath
Novice
1,011 Views

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.

0 Kudos
ak6dn
Valued Contributor III
999 Views

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
Novice
986 Views

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

0 Kudos
ak6dn
Valued Contributor III
971 Views

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

---

1) which JTAG flash programmer software tool is to be used?  I know of none off the shelf.
    Basically you would chose some hardware JTAG interface (like the Altera USB Blaster device).
    And then some software interface (like the Altera JAM STAPL package which can drive it).
    Or you could use some commercial JTAG test software package.

2) what is the procedure to write the parallel flash using the programmer software
    Basically you would write a lot of custom code to send test vectors down to the CPLD device
    that would toggle all the I/Os attached to the FLASH device to perform data write cycles.

Long and short, there is no off the shelf solution to this problem. You generated a custom
hardware configuration, and you are going to have to write a lot of custom software to use it.

Reply