Как правилно да четете ДНК на устройството от FPGA на Xilinx с помощта на пакетни команди на Impact?

Опитвам се да прочета 57-битовата ДНК на устройството на Xilinx Spartan 3AN FPGA, използвайки пакетната командна обвивка на Impact (ISE v14.6) и използвайки следното извикване на командния ред:

impact -batch file.txt

Съдържанието на file.txt е:

setMode -bscan
setCable -p auto
addDevice -p 1 -file program.bit
readDna -p 1
quit

Отговорът, който получавам от Impact, е грешен и се променя с всяко мое обаждане. Знам, че е грешно, защото съм инстанцирал DNA_PORT примитив в моя HDL и чета правилната ДНК. Ето последните няколко реда от един от отговорите на Impact:

Boundary-scan chain validated successfully.
DNA = '111111111111111100000000000000000000000000000000000000000'
Elapsed time = 0 sec.

Някой имал ли е успех с тази команда? Ако е така, какво правя грешно?


person Ryan    schedule 30.03.2015    source източник
comment
Трябва да работи, сигурни ли сте, че вашата JTAG верига е правилна? Можете ли да разчетете ДНК с помощта на GUI? Има и ReadIdcode -p 1, само за да сте сигурни, че се насочвате към спартанец. Това единственото устройство ли е във веригата JTAG?   -  person Jonathan Drolet    schedule 30.03.2015
comment
Оценявам отговора и да, ReadIdcode връща правилния идентификатор и съответства на FPGA, който използвам (0x02620093 = XC3AN400ANFTG256). JTAG веригата работи, защото мога да получа този идентификатор, да изтрия, програмирам, потвърдя и т.н. GUI, който използвам (iMPACT P.68d, v14.6), не предоставя метод за получаване на ДНК за това част - поне не начин, който аз знам. Позволява ми да получа личната карта.   -  person Ryan    schedule 01.04.2015
comment
Също така, да, има само едно устройство в тази верига - Spartan 3AN FPGA с вътрешна NV памет.   -  person Ryan    schedule 01.04.2015
comment
Извадих моята прашна платка spartan-3AN за вас, изглежда опцията за четене на ДНК от GUI не е налична за spartan-3AN (тя е за spartan-6). Никога не съм използвал ДНК функцията преди spartan-6, изглежда, че беше по-бъгова тогава, вашата част празна ли е? Видяхте ли този отговор xilinx.com/support/answers/29977.html?   -  person Jonathan Drolet    schedule 01.04.2015
comment
Бъги е прав. За щастие примитивът DNA_PORT, който инстанцирах в структурата, не е с грешки и връща последователни резултати.   -  person Ryan    schedule 02.04.2015


Отговори (1)


С помощта на Джонатан стигнах до дъното на това.

За Spartan 3AN FPGA можете да използвате само партидните команди на iMPACT за четене на ДНК от празна част, върху която не са извършвани други операции. Първоначално разчитах ДНК веднага след изтриване на частта и извършване на успешна празна проверка. Тези две стъпки пречеха на iMPACT да прочете правилно ДНК на Spartan 3AN, въпреки че беше празен. Цикълът на захранване на FPGA след празната проверка води до валидно четене на ДНК.

Предполагам, че това е свързано с поведението на щифта DONE. На това устройство командата за празна проверка кара щифта DONE да бъде заявен и също кара FPGA да премине в неактивно състояние, независимо дали е празен или не.

Благодаря отново Джонатан, че ме накара да поема по правилния път.

person Ryan    schedule 01.04.2015