2 Георгий 2.
Вот не хотел заниматься этой хренью - PicoBlaze+LCD2x16, но почитав документ s3esk_startup_rev2.pdf (где как всегда обещано счастье через 30 секунд), любопытство взяло вверх. Для начала я просто загузил в "кит" файл s3esk_startup.bit. И как ожидалось, оно произошло, в смысле чудо - действительно бежит строчка "SPARTAN-3E STARTER KIT ..." led-ы горят от slide переключателей, но самая интересная игрушка - гонять бегущую точку крутилкой около LCD (уж не знаю как правильно её обозвать (Rotary Knob что ли). Вдоволь наигравшись зрелищем бегающей точки тут же возникло желание что то сломать в программе (заменить SPARTAN на SMARTAN или на худой конец на SPARTAK). Презрев очевидную истину, что "лучшее враг хорошего" (забегая вперёд, скажу, что поплатился за это 4 часами сна, так как хотел харю заплющить ещё до полуночи) погрузился в поиски истины. Ответ на вопрос
Цитата
Может быть у кого-нибудь даже есть этот самый BSCAN_VIRTEX2?
нашёлся достаточно быстро в документе sim.pdf (http://www.xilinx.com/itp/xilinx7/books/docs/sim/sim.pdf) где басурманскими буквами по белому на стр. 81 написано дословно следующее:
You can access the built-in boundary scan logic between power-up and the start of
configuration.
In a configured Virtex™, Virtex-E™, Virtex- II™, Virtex-II Pro™, Virtex-II Pro X™,Virtex-
4™, Spartan-II™ and Spartan-3™ device, basic boundary scan operations are always
available. BSCAN_VIRTEX, BSCAN_VIRTEX2, BSCAN_VIRTEX4 and
BSCAN_SPARTAN2 are instantiated only if you want to create internal boundary scan
chains in a Virtex™, Virtex-E™, Virtex-II™, Virtex-II Pro™, Virtex-4™ or Spartan-II™
device.
Призвав на помощь всю интуицию (так как знаний 0) и остатки сил, после изучения структуры PicoBlaze, пришёл к выводу, что control.vhdl есть не что иное как ПЗУ с программой. Делается этот файл автоматически при помощи ассемблер-транслятора kcpsm3.exe из исходника control.psm. Но самое главное, что оказывается можно загрузить control в блочную память до конфигурации (что и должно быть, потому как сначала ПЗУ, а потом + процессор = работающая программа из ПЗУ). И этот самый BSCAN_VIRTEX2 есть не что иное, как JTAG Loader (изображённый на структурной схеме PicoBlaze в блоке control). Дальнейшие поиски привели меня в документ lib.pdf (http://www.xilinx.com/itp/xilinx7/books/docs/lib/lib.pdf), где на стр. 155 явно сказано, что BSCAN_VIRTEX2 ну никак не желает поддерживать архитектуру Spartan3. Но там же на стр. 151 явно сказано, что архитектуру Spartan3 поддерживает BSCAN_SPARTAN3! А далее, зная, что все открытия делаются случайно и по глупости я так же тупо и глупо в файле control.vhd заменил в 299 строке
v2_bscan: BSCAN_VIRTEX2 на
v2_bscan: BSCAN_SPARTAN3. После чего получил компилируемый проект

с кучей варнингов - 125

! Но также рабочий! А вот изменить программу *.psm не удалось. Точнее я всё сделал - изменил control.psm, получил файл control.vhd, но он какой то не доделанный получился

. Во первых там не оказалось выхода proc_reset, а во вторых нет вообще описания загрузчика BSCAN_SPARTAN3. Я попытался вставить его (кусок программы загрузчика) из старого control, но у меня естесственно не получилось. Всё, силы кончились, пойду харю поплющу. Совсем забыл - а на Ваш вопрос (Может быть у кого-нибудь даже есть этот самый BSCAN_VIRTEX2?) я так и не ответил прямо, но думаю, теперь это уже и не нужно