Имеем девайс на основе EP3C40F484. Интерфес программирования был слизан с девайса на основе EP3C25F324. Используются два JTAG-разъема - один для программирования EPROM, а другой - для доступа непосредственно к ПЛИС. Естественно, при слизывании номера контактов проставлены в соответствии с документацией. Отличие от хэндбука состоит лишь в том, что сигналы TMS и TDI подтянуты к VCCA через 10кОм. В старом девайсе это работало...
А вот в новом возникли проблемы - при попытке достучаться непосредственно к ПЛИС выдается сообщение (JTAG отладчиком):
Код
!Error: JTAG chain problem detected
!Error: No device detected
!Error: The TDO connection to the download cable might be shorted to VCC or is an open circuit
!Error: The TCK and TMS connections to the last device might have problem
При исследовании вопроса действительно цепь TDO выглядит висящей в воздухе (судя по поведению луча осциллографа - цепь в третьем состоянии и чувствительна к наводкам), хотя разъем звонится нормально до последнего доступного переходного отверстия.
При этом второй JTAG нормально пишет данные в EPROM, откуда они успешно попадают по включению питания в FPGA.
В чем может быть проблема? Не хочется верить, что все дело в величине резисторов.. Ну - или из-за плохой пайки FPGA