Цитата(Skorp @ Jan 29 2007, 21:00)

1. На сколько я понял в исходниках к xapp502 для заданного режима биты передаются начиная с LSB,
тогда как выше говорилось, что требуется "Задвигать данные со старшего бита байта" - как все таки правильно?
Для Spartan-II в режиме SerialSlave биты действительно надо задвигать начиная со старшего бита байта. Со Spartan-3 еще не успел поиметь дел, поэтому ничего точно сказать не могу.
Цитата(Skorp @ Jan 29 2007, 21:00)

3. Судя по рисунку 6 из даташита(ds099.pdf) после INT_B -> 1 данные должны начинать поступать со второго фронта сигнала CCLK - я правильно понимаю?
Возможно имелся ввиду "Figure 4: Waveforms for Master and Slave Serial Configuration" (под официальным номером DS099-3_05_041103 - лучше указывать этот номер, в нем все сказанно: что, откуда и какой версии).
У Xilinx был принят мелкий стандартик: начинать прошивку (файл *.bin) с кода 0xFFFFFFFF - это команда простоя для ПЛИС. Очень выжно, чтобы до окончания стирания ОЗУ в ПЛИС (пока еще INIT = 0), на DIN появилась устойчивая единица, тогда даже при наличии лишних CCLK в ПЛИС будут записывать комманда простоя, непосредственно загрузка ПЛИС начинается с того момента, как в последовательном потоке будет обнаружена подходящая комманда (отличная от 0xFFFFFFFF). В Spartan-II не требовалось никаких лишних CCLK, т.е. с первого же положительного фронта фиксировался бит данных. В пасивном состоянии CCLK необходимо было держать в '1'. Я думаю, что и в Spartan-3 Xilinx не отошел от прошлых нароботок, ибо это никак не отражено в документации.
И еще, почему-то для Spartan-3 Xilinx советует держать ноги CS_B и WRITE_B в '1' - может в этом дело в вашем случае?
От подтяжки Done можно и отказаться, но надо тогда поставить флажок Drive_Done_HIGH, так и стабильней, и резистор не нужен.