2 Георгий 2
Что то давненько Вас, батенька, не было видно

! Изучали проц

!? Постараюсь кратко. Что бы сделать из control.psm -> control.vhd надо следующее:
1. Наличие в рабочей директории файла KCPSM3.EXE - собственно транслятор ассемблера
2. Наличие в рабочей директории файла control.psm - собственно сам исходник программы на ассемблере
3. Наличие в рабочей директории файла ROM_form.coe - какой то заголовок для формирования файла памяти
4. Наличие в рабочей директории файла ROM_form.v
5. Наличие в рабочей директории файла ROM_form.vhd
Последние оба файла вроде бы описывают одно и то же - собственно память, но зачем их надо обоих мне не ясно.
А дальше банально просто - запускаете из командной строки: kcpsm3 control.psm
В результате работы получаете control.vhd
Дальше в ИСИ собираете:
s3esk_startup.vhd - топ-левел
s3esk_startup.ucf - констрейны для "кита" (там описаны все кнопочки, леды, индикатор, клоки и т.д.)
kcpsm3.vhd - собственно сам процессор
control.vhd - описание ПЗУ процессора, расположенного в БРАМ
Всё это у меня получилось, только не собралось. РАньше я об этом уже писал.
Далее. Что бы писать на ассемблере, не нужно ни чего, кроме текстового редактора, системы команд и понимания работы проца, на уровне структурной схемы, или архитектуры проца, ну и конечно понимания самого главного - что ВЫ хотите получить от программы, в результате её работы. Ну, по поводу редактора - это дело вкусов, я пользую бесплатный редактор Notepad++ v5.5.1. Есть аналогичный Programmer's Notepad. Первый мне более удобен. Много всяких "вкусностей", в том числе подсветка всяких синтаксисов (С, АSМ, V, VHDL и т.д.). В ИСИ я встроенным редактором не пользуюсь, правлю текст (а я уже докатился до написания своего проекта на V

) в открытом параллельно редакторе. Всё что нужно для ассемблера есть в документе ug129.pdf и (можно ещё посмотреть, но первый документ полнее) KCPSM3_Manual.pdf. Если проц собирается в ИСИ, то можно забыть про ВХДЛ, ФПГА, а просто юзать проц. Но Вам доступно только 1к слов программы, один источник прерываний, стек с глубиной 16, те же 16 байтовых регистров общего назначения, простенькое АЛУ (+ и -), порт вход-выход и порт ID (я так понял для раширения постранства ввода - вывода). Не так уж и жирно, что бы решать какие то задачи, хотя, вывод на ЖКИ обеспечит (готовой текстовой строчки, как её сформировать, это уже другой вопрос). Позволю дать Вам один совет. Если босс очень сильно хочет в кратчайшие сроки увидеть на индикаторе нечто, отличающееся от XILINX Spartan3... , а у Вас полный пендос и непонимание происходящего.... Короче, найдите в файле control.vhd последовательность байт, описывающих текстовые строки сообщения. Они записаны в ASCII кодах, трудно будет их идентифицировать, потомоу как РОМ 18 разрядов, а коды 8 разрядные. Если получится, то можете вручную вписать туда новое сообщение. Может сможете сделать симуляцию и тогда явно увидите, откуда извлекаются эти коды. Конечно, изврат, но как вариант. Возможно это будет легче, но долго так жить нельзя! Потом надо будет получить результат. Так что изучение ВХДЛ для Вас остаётся актуальным вопросом. А что такое counter.vhd? Вы хотите из проца счётчик сделать что ли? Я много скачал возможных применений - тут и генараторы-формирователи, и работа с АЦП-ЦАП, частотомер, ШИМ, RTC, работа с памятью разной, UART и т.д. Там много примеров на ассемблере, возможно (я глубоко не копал) можно найти и исходники (всмысле сборка проца вместе с этим асс). Удачи.
Сообщение отредактировал at89c51ed2 - Feb 8 2010, 22:45