|
|
  |
есть ли для Альтеры пикониос (что-то типа пикоблейза) для MAX II?, не обязательно от "Альтеры", можно от "третьей стороны" |
|
|
|
Nov 6 2009, 09:26
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
смысел процессора - обеспечить некий автомат для всяческих вторичных, сервисных функций, типа, парсер комманд по уарту и управление лично я все такое и на верилоге написать могу и, например, у Гейслера VHDL-ный "парсер" для уарта есть
но получив готовый автомат, можно не замарачиваться с синтезом и передать эту деятельность программисту + ин-систем апдейт, без всяких кабелей
--------------
да, флашка последовательная, как я понял можно читать с тактом 10МГц, ну соответственно 0.5-1МГц тактовую инструкций по "параллельной" шине вроде бы вполне...
--------------
у меня руки чешутся попробовать Zylin CPU, но боюсь, что сильно тяжелый будет
а писать какой-то самодельный автомат и к нему всячиские тулы типа ассемблера - лень
|
|
|
|
|
Nov 6 2009, 10:54
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(SM @ Nov 6 2009, 12:50)  Это пока команды перехода не было... А как там с произвольной выборкой? адрес последовательно загружается или инкрементируется за такт - как и всюду стоимость бранча большая  --------------- а MCPU с опенкорес вполне может пригодится, студенты наваляли, но выбор набора из четырех инструкций имхо правильный. если прижмет - попробую
|
|
|
|
|
Nov 6 2009, 22:38
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Только одна инструкция МПА - условный переход по состоянию входного сигнала(номер задается в команде), параллельно на 1 такт выставляются выходные сигналы(соответствующе поля в команде). Назначения входных и выходных сигналов в самом МПА не предопределены - определяются логикой управляемого устройства. Мнемоника ассемблерных команд: метка_перехода входной_сигнал //переход, если сигнал == 1 метка_перехода ~входной_сигнал //переход, если сигнал == 0 метка_перехода* //безусловный переход выходной_сигнал //сигнал = 1 (на 1 такт) В одной команде можно задать один входной и/или несколько выходных сигналов: метка_перехода [~]входной_сигнал_N; выходной_сигнал_NN; выходной_сигнал_NNN; ... Пример ассемблерной программы инициализации PS/2 мыши(14 команд) для МПА(~25 LUT), рабочая или нет - не помню(сеичас нормальный софт-процессор инициализирует): Код output //выходные сигналы - по порядку номеров clra //сброс адреса rom-памяти кодов инициализации clk0 clk1 //сброс/установка шины ps2_clock clrc //сброс таймера (счетчика тактов) ld //загрузить сдвиговый регистр sr //сдвиг, выход на шину ps2_data input //входные сигналы - по порядку номеров eof //cтоп-бит c8 c11 c17 //соотв. разряды таймера clkin //шина ps2_clock micro //указание на код МПА { // { } формируют область видимости меток clra //addr=0 word: clk0; clrc //ps2_clock = 0; counter = 0; {w: w clkin} //while(ps2_clock == 1); {w: w ~c11} //while(counter[11] == 0); ld; clrc //shiftreg=rom[addr++]; counter = 0; {w: w ~c11} clk1 //ps2_clock = 1; {w: w ~clkin} {w: w clkin} bit: nextw c17 bit ~c8 bit*; sr nextw: word ~eof loop: loop* //while(1); //останов } end
Сообщение отредактировал Leka - Nov 6 2009, 22:49
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|