Цитата(BSV @ Jan 19 2007, 17:37)

Проверьте:
1) PROG в '0' нужно держать не менее 0,3 us
2) После INIT = '1' нужно подождать не менее 0,5 us
3) Частота CCLK не более 20MHz, если битстрим - с компрессией
Да, все выполняется.
Цитата(BSV @ Jan 19 2007, 17:37)

Проверять INIT после каждого бита бессмысленно, судя по диаграмме в даташите он вообще только в конце программирования проверяется. Так что похоже, что пока Вы туда целиком битстрим не зальете INIT меняться и не будет.
Диаграмму эту я видел. Но в файле
http://www.plis.ru/pic/pict/File/spartan2_rus.pdf написано, что контрольная сумма проверяется в процессе конфигурации. Отсюда и проверка INIT_B.
Цитата(BSV @ Jan 19 2007, 17:37)

В порте 0x311 можно отдельные биты настраивать на вход и выход?
Да. Оттуда читаются DONE, INIT_B, BUSY
Цитата(BSV @ Jan 19 2007, 17:37)

Что значит - не работает? (зависает? проваливается до конца и не появляется DONE? другое...)
Если задаю параллельный режим то после загрузки файла прошивки и установки RDWR_B и CS_B в единицу, INIT_B стоит в единице, BUSY возвращается в единицу. А DONE в единице не встает. Т.е. CRC-ошибки вроде бы нет.
Если задаю последовательный режим, то на выходе DOUT(BUSY) всегда единица. Вне зависимости от входных данных.
Начал грешить на вход CLK. Переключил в режим мастер, на CCLK есть тактовая, значит ножка жива.
Цитата(BSV @ Jan 19 2007, 17:37)

while ((inportb(0x311)&0x04)==1) asm nop;
Если тестируемый вход не примет нужное значение - программа здесь зависнет, желательно предусмотреть выход из этого цикла по таймеру (счетчику).
Это еще отладка, а не боевой вариант программы

Может подскажете еще такой вопрос:
В режиме slave parallel в даташите на spartan3 изображено что в микросхему загружаются N+1 байт. Что это означает?
Еще у xilinx есть xapp502. К нему прилагаются исходники для cpld на vhdl, и код на СИ для микроконтроллера. Так в VHDL-коде ножка PROG_B имеет либо Z-состояние, либо в нуле. С чем это может быть связано? Вроде бы это обычная входная нога. Там правда написано, что это для virtex и spartan2.
ps. хотел прицепить рисунок, не получилось. говорят нет прав.