реклама на сайте
подробности

 
 
> Spartan-3 JTAG, конфигурация Spartan-3 через JTAG
Andrey Filippov
сообщение Feb 19 2005, 03:21
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 55
Регистрация: 27-01-05
Из: 40.7019N 112.0811W
Пользователь №: 2 220



Прошлым летом я столкнулся с проблемой - не удавалось конфигурация Spartan-3 через JTAG и я так и не смог найти документацию. В схеме JTAG порт подключен к портам процессора, поэтому я не мог воспользоваться готовым софтом и/или кабелем для загрузки. Со Spartan-IIe, которые я использовал до этого, проблем не было - документации вполне хватало. После недели мучений я обнаружил, что в Spartan-3 Instruction Register имеет ширину 6, а не 5 бит. После этого все заработало. Сейчас я решил проверить - не появилась ли такая документация, где про это написано - и опять не нашел, даже зная что я ищу. Кто-нибудь с такой проблемой сталкивался? Или я плохо искал?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
3.14
сообщение Feb 19 2005, 15:19
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 Andrey Filippov
А чем Вас конфигурирование в сбросе не устраивает?
Единственно, геморой с втыканием-вытыканием разъема, кстати, я свой LPT программер для Xilinx объединил с программатором AVR (STK200/300), один LPT - два программатора!

2 acex2
<...поэтому особых проблем с пониманием что к чему быть не должно...>
Хотя я VHDL уже и позабыл, но не раз замечал разницу в потоке SVF файлов и алгоритмов в BSDL.
Например BSDL на xc95216, процедура пограммирования:
"flow_program(array) " &
" Repeat 25920 " &
" (ISC_PROGRAM 17:$addr?,8:$last?,2:2 wait TCK 160)" &
" (ISC_PROGRAM 17:$addr,8:$last,2:2 wait TCK 160)" &
" loop min 1 max 32 ( " &
" (ISC_PROGRAM 17:$addr,8:$last,2:2 wait TCK 160 25:0*0,2:3*3:OST)),"&
Из которой я понял, что надо задвигать в SIR команду "ISC_PROGRAM", далее в SDR адрес и данные, задержка 160мкс, повторить вышеописанные действия, инкрементировать адрес и т.д.

В SVF же, следующая реализация:
Одинажды в SIR задвигается "ISC_PROGRAM", дплее в SDR задвигается адрес и данные, задержка, инкремент адреса и т.д. !?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
acex2
сообщение Feb 19 2005, 20:14
Сообщение #3


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(3.14 @ Feb 19 2005, 12:19)
Хотя я VHDL уже и позабыл, но не раз замечал разницу в потоке SVF файлов  и алгоритмов в BSDL.
...
Из которой я понял, что надо задвигать в SIR команду "ISC_PROGRAM", далее в SDR адрес и данные, задержка 160мкс, повторить вышеописанные действия, инкрементировать адрес и т.д.


Такое очень редко встречается, чтобы в BSDL файле прописывался алгоритм программирования. Обычно производители разделяют описание boundary-scan и реализацию алгоритмов по файлам BSDL и SVF. Поэтому в случае неоднозначности в описаниях я бы верил именно SVF.

Что касается алгоритма программирования, то он описывается стандартом IEEE 1532 и представляет собой ISC state-автомат в виде надстройки над стандартным TAP автоматом. Подробности можно найти в самом стандарте или в краткой форме в описаниях от производителей. У Xilinx, например, подробное описание алгоритма загрузки приводится в Platform User Guide отдельно по каждой платформе.
Go to the top of the page
 
+Quote Post
Andrey Filippov
сообщение Feb 19 2005, 20:33
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 55
Регистрация: 27-01-05
Из: 40.7019N 112.0811W
Пользователь №: 2 220



Цитата(acex2 @ Feb 19 2005, 14:14)
У Xilinx, например, подробное описание алгоритма загрузки приводится в Platform User Guide отдельно по каждой платформе.

http://www.xilinx.com/bvdocs/userguides/ug_spartan3.htm
"The Spartan-3 FPGA family is described in the data sheet and application notes and does not have a separate User Guide" :-(
А xapp-ы то я все просмотрел ...
Go to the top of the page
 
+Quote Post
acex2
сообщение Feb 19 2005, 23:55
Сообщение #5


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Andrey Filippov @ Feb 19 2005, 17:33)
Цитата(acex2 @ Feb 19 2005, 14:14)
У Xilinx, например, подробное описание алгоритма загрузки приводится в Platform User Guide отдельно по каждой платформе.

http://www.xilinx.com/bvdocs/userguides/ug_spartan3.htm
"The Spartan-3 FPGA family is described in the data sheet and application notes and does not have a separate User Guide" :-(
А xapp-ы то я все просмотрел ...
*



Отдельного User Guide нет потому что Spartan-3 - это по сути тот же Virtex-II в дешевом варианте. Вам сюда:
http://www.xilinx.com/xlnx/xweb/xil_public...tegory=-1209831
Полный документ тянет за 10 Мег. Поэтому если нужна только глава по конфигурированию (около 500 Кб), то искать надо по ключевому слову "ug002_ch3.pdf". Например, копия была здесь: http://techwww.in.tu-clausthal.de/Dokument...D/ug002_ch3.pdf
Go to the top of the page
 
+Quote Post
Andrey Filippov
сообщение Feb 20 2005, 00:50
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 55
Регистрация: 27-01-05
Из: 40.7019N 112.0811W
Пользователь №: 2 220



Цитата(acex2 @ Feb 19 2005, 17:55)
http://www.xilinx.com/xlnx/xweb/xil_public...tegory=-1209831
Полный документ тянет за 10 Мег...

Спасибо, там, действительно, 6-битный IR (в отличие от S2e) - как-то я это и прозевал.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 20 2005, 11:33
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



To Andrey Filippov


Я стараюсь не учить жить людей которые уже давно что то делают. Поэтому не утверждение, а вопрос: а не проще ли в slave serial mode?

Тепрь по делу. Я нашел бесплатный код для JTAG конфигурации Spartan3.
Использовал верхний слой для своей проги. Нижний слой мой собственный под мой USB JTAG.

Вот верхний слой. Работает на ура. Если надо могу прислать полный исходник.

------------------------------------------------------------------
const byte JPROGRAM=0x0b;
const byte CFG_IN=0x05;
const byte JSHUTDOWN=0x0d;
const byte JSTART=0x0c;
const byte BYPASS=0x3f;

extern int length;

int program()
{
shiftIR(&JPROGRAM);
shiftIR(&CFG_IN);


byte init[24];
longToByteArray(0xffffffff,&init[0]); // Sync
longToByteArray(0x66aa9955,&init[4]); // Sync
longToByteArray(0x8001000c,&init[8]); // CMD
longToByteArray(0xe0000000,&init[12]); // Clear CRC
longToByteArray(0x00000000,&init[16]); // Flush
longToByteArray(0x00000000,&init[20]); // Flush
shiftDR(init,0,192,32); // Align to 32 bits.
shiftIR(&JSHUTDOWN);
cycleTCK(12);
shiftIR(&CFG_IN);

byte hdr[12];
longToByteArray(0x8001000c,&hdr[0]); // CMD
longToByteArray(0x10000000,&hdr[4]); // Assert GHIGH
longToByteArray(0x00000000,&hdr[8]); // Flush
shiftDR(hdr,0,96,32,false); // Align to 32 bits and do not goto EXIT1-DR
shiftDR(file_data,0,length*8);
tapTestLogicReset();
setTapState(RUN_TEST_IDLE);
shiftIR(&JSTART);
cycleTCK(12);
shiftIR(&BYPASS); // Don't know why, but without this the FPGA will not reconfigure from Flash when PROG is asserted.
return 0;
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Andrey Filippov   Spartan-3 JTAG   Feb 19 2005, 03:21
- - acex2   Такие вещи нужно смотреть в соответствующих BSDL ф...   Feb 19 2005, 09:10
|- - Andrey Filippov   Цитата(acex2 @ Feb 19 2005, 03:10)Такие вещи ...   Feb 19 2005, 17:37
|- - Andrey Filippov   Цитата(3.14 @ Feb 19 2005, 09:19)А чем Вас ко...   Feb 19 2005, 17:47
||- - Andrey Filippov   Цитата(alexf @ Feb 20 2005, 05:33)To Andrey F...   Feb 20 2005, 15:58
|- - Kushtan   Что касается алгоритма программирования, то он опи...   Oct 11 2006, 07:57
- - 3.14   2 Andrey Filippov <А что значит " конфигур...   Feb 20 2005, 15:36
|- - Andrey Filippov   Цитата(3.14 @ Feb 20 2005, 09:36)2 Andrey Fil...   Feb 20 2005, 16:13
- - 3.14   Круто, это Вы так зарабатывеате - статьи в Xcell п...   Feb 20 2005, 16:31
|- - Andrey Filippov   Цитата(3.14 @ Feb 20 2005, 10:31)Круто, это В...   Feb 20 2005, 16:47
|- - acex2   Цитата(3.14 @ Feb 20 2005, 13:31)Еще, раз раз...   Feb 20 2005, 17:43
|- - Andrey Filippov   Цитата(acex2 @ Feb 20 2005, 11:43)Очень полез...   Feb 20 2005, 18:02
- - vicg   Еще один вопрос по JTAG. 1. Создаю проект для SPA...   Feb 23 2005, 07:25
- - alexf   Питание выключать - слишком радикально. А на кнопк...   Feb 23 2005, 07:37
- - bbg   Цитата(vicg @ Feb 23 2005, 10:25)Теперь вопро...   Feb 23 2005, 07:46


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 15:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016