Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: есть ли для Альтеры пикониос (что-то типа пикоблейза) для MAX II?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yes
собственно - почему бы ему команды из юзер-флаша не исполнять бы

ну и если кто-то что-то подобное делал - интересно результаты

-------------

это я предварительно интересуюсь - если принципиально заблуждаюсь - проясните, плиз
SM
Цитата(yes @ Nov 5 2009, 19:44) *
собственно - почему бы ему команды из юзер-флаша не исполнять бы

А он вроде сериальный... Это какая же скорость будет? Пикониоса нету, а вот попробовать собрать лэтис-мико-8... Почему бы и нет smile.gif
Однако в макс-2 нет памяти... В смысле рамы. Регистры съедят все триггеры...
Artem_Petrik
На опенкоресах есть проц для 32 макроцелловой CPLD smile.gif . Если уж совсем невмоготу без процессора.
yes
смысел процессора - обеспечить некий автомат для всяческих вторичных, сервисных функций, типа, парсер комманд по уарту и управление
лично я все такое и на верилоге написать могу и, например, у Гейслера VHDL-ный "парсер" для уарта есть

но получив готовый автомат, можно не замарачиваться с синтезом и передать эту деятельность программисту
+ ин-систем апдейт, без всяких кабелей

--------------

да, флашка последовательная, как я понял можно читать с тактом 10МГц, ну соответственно 0.5-1МГц тактовую инструкций по "параллельной" шине
вроде бы вполне...

--------------

у меня руки чешутся попробовать Zylin CPU, но боюсь, что сильно тяжелый будет

а писать какой-то самодельный автомат и к нему всячиские тулы типа ассемблера - лень
SM
Цитата(yes @ Nov 6 2009, 12:26) *
да, флашка последовательная, как я понял можно читать с тактом 10МГц, ну соответственно 0.5-1МГц тактовую инструкций по "параллельной" шине
вроде бы вполне...

Это пока команды перехода не было... А как там с произвольной выборкой?
yes
Цитата(SM @ Nov 6 2009, 12:50) *
Это пока команды перехода не было... А как там с произвольной выборкой?


адрес последовательно загружается или инкрементируется за такт - как и всюду стоимость бранча большая smile.gif

---------------

а MCPU с опенкорес вполне может пригодится,
студенты наваляли, но выбор набора из четырех инструкций имхо правильный.
если прижмет - попробую
SM
Цитата(yes @ Nov 6 2009, 13:54) *
адрес последовательно загружается или инкрементируется за такт - как и всюду стоимость бранча большая smile.gif

В общем, что мне не нравится, так это стоимость регистрового файла при отсутствии какой либо памяти, кроме триггеров. В MachXO, кстати, память есть. И распределенная, и в старших EBR. Но там UFM-а нет. В общем нет в жизни счастья...
des00
дык пикоблейз для CPLD доступен в исходниках (сам проц и ассемблер), немного рихтануть и к максу2 прицепить?
Stewart Little
Цитата(yes @ Nov 5 2009, 19:44) *
собственно - почему бы ему команды из юзер-флаша не исполнять бы
ну и если кто-то что-то подобное делал - интересно результаты
-------------
это я предварительно интересуюсь - если принципиально заблуждаюсь - проясните, плиз

Есть, самописный. Код из юзеровской флэши как раз и выбирается. С ассемблером.
Минус - никак не документирован laughing.gif
Leka
Цитата(yes @ Nov 6 2009, 14:54) *
а MCPU с опенкорес вполне может пригодится,
студенты наваляли, но выбор набора из четырех инструкций имхо правильный.
если прижмет - попробую

С жиру бесятся - есть же OISC. У меня есть микропрограммный автомат на базе 1 инструкции - условного перехода. biggrin.gif
Leka
Только одна инструкция МПА - условный переход по состоянию входного сигнала(номер задается в команде), параллельно на 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
yes
Цитата(Stewart Little @ Nov 6 2009, 14:44) *
Есть, самописный. Код из юзеровской флэши как раз и выбирается. С ассемблером.
Минус - никак не документирован laughing.gif


а где есть? ссылку можете дать?
Stewart Little
Цитата(yes @ Nov 9 2009, 13:10) *
а где есть? ссылку можете дать?

В PM, плз...
Leka
Цитата(Stewart Little @ Nov 9 2009, 21:31) *
В PM, плз...

А краткие характеристики для всех, чтобы иметь представление?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.