Hi,
Over the years my company has made many Altera FPGA designs, and for a long time the way-of-work for JTAG constraints remained undefined and of little consequence. Then for a couple Arria V designs, JTAG instability became a hot issue (e.g. random failures when discovering the JTAG chain, using SignalTap, using SystemConsole). Our initial strategy probably was to not constrain JTAG at all (as JTAG is 'slow' and its logic is fixed), but then we would get Quartus errors regarding unconstrained ports/clocks. We then tried to find constraints recommended directly by Altera, but never could find a conclusive, complete, satisfactory answer. Based on experience we do feel that the constraints actually affect JTAG stability, and so we're still keeping an eye out for a good solution. Note that the JTAG hardware part for our designs was always rather basic, so we don't think the instability originates from there.
A selection of the examples and best practices we have found and tried over the years:
- Old TimeQuest cookbook: can't find it anymore
- Recent TimeQuest cookbook:
https://www.altera.com/content/dam/a...t_cookbook.pdf
- Knowledge base item 1:
https://www.altera.com/support/suppo...82016_788.html
- Knowledge base item 2:
https://www.altera.com/support/suppo...82008_867.html
- Forum post:
https://www.alteraforum.com/forum/sh...ad.php?t=56328
Some of these examples seem to contradict each other, adding to the confusion.
My specific questions for Altera are:
1) What are
the JTAG constraints recommended by Altera?
2) Are there any plans regarding JTAG constraints? E.g. having Quartus automatically implement them?
3) Are there any known JTAG issues for the Arria V family? If there are, are these fixed in the 10 series?
Best regards,
Daniel