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?
-
\$\begingroup\$ Perhaps you should check how large is the CPLD data, and will it even fit into microcontroller flash. \$\endgroup\$Justme– Justme2022年07月12日 13:01:51 +00:00Commented 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\$old_timer– old_timer2022年07月12日 13:02:03 +00:00Commented 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\$Chris Knudsen– Chris Knudsen2022年07月12日 13:06:49 +00:00Commented Jul 12, 2022 at 13:06
-
\$\begingroup\$ @ChrisKnudsen yes I want dynamically reprogramming the CPLD in the field. \$\endgroup\$GG Jack– GG Jack2022年07月12日 13:10:07 +00:00Commented 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\$GG Jack– GG Jack2022年07月12日 13:40:15 +00:00Commented Jul 12, 2022 at 13:40
1 Answer 1
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).
Explore related questions
See similar questions with these tags.