0
\$\begingroup\$

I am new to CPLD's and I have a CPLD connected to the microcontroller via JTAG. Xilinx has an application note (XAPP058) about programming but I could not understand very well. Steps that I understand:

  • Create a desing in ISE
  • Use iMPACT to convert desgin files to XSVF
  • Convert XSVF file to hex file

What should be the next? Flash this hex file to the connected microcontroller (?)

How can I combine CPLD design files and XSVF interpreter code? How should I put the XSVF file to the data memory? How to assign JTAG pins?

asked Jul 12, 2022 at 12:55
\$\endgroup\$
5
  • \$\begingroup\$ Perhaps you should check how large is the CPLD data, and will it even fit into microcontroller flash. \$\endgroup\$ Commented Jul 12, 2022 at 13:01
  • 1
    \$\begingroup\$ you need to "play" the file. bit bang the signals into the cpld. assuming the data and code to load it fit. \$\endgroup\$ Commented Jul 12, 2022 at 13:02
  • \$\begingroup\$ ** (just in case there's a basic misunderstanding) ** Why even connect the JTAG to the uC? Do you plan on dynamically reprogramming the CPLD from the uC? If not, then there's no requirement to connect the CPLD JTAG to the uC. Use the proper programmer dongle (or create your own) and program it directly from your PC. \$\endgroup\$ Commented Jul 12, 2022 at 13:06
  • \$\begingroup\$ @ChrisKnudsen yes I want dynamically reprogramming the CPLD in the field. \$\endgroup\$ Commented Jul 12, 2022 at 13:10
  • \$\begingroup\$ @old_timer Can you explain a little bit more? In the application note there is a saying "Embedded users should call xsvfExecute() directly". So I will just create a project according to my microcontroller and call this function to "play" the file? How do I address the xsvf file? \$\endgroup\$ Commented Jul 12, 2022 at 13:40

1 Answer 1

1
\$\begingroup\$

SVF (or Xilinx's variant, XSVF) contains instructions for how the JTAG should be operated for programming. You need an interpreter for these instructions, either an existing program compiled for your microcontroller, or one that you have written yourself.

The hex files usually contain only the contents of the programming chain, so you need to know the rest of the sequence (but that is pretty much fixed for each chip).

answered Jul 12, 2022 at 14:31
\$\endgroup\$

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.