Перейти к содержанию
    

Маленький процессор для Xilinx

Только что, dimka76 сказал:

Keil

Да, есть трофейный. Но поскольку выигрыша не ресурсам и частоте не видно, но вроде бы и в Keil'e нет большого смысла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ZPU 

https://opencores.org/projects/zpu

стэковые процы вообще по ресурсам лучшие (теоретически) MISC - минимал инструкшин, однако.

но их до ума никто не может довести, а этот у тов. Zylin-а более-менее.

я нигде не применял, просто посмотрел, оптимизатор GCC там ну о-о-очень тупой, хитрое наверно дело для стэк компутера регистровую гцц-шную модель смапировать, но фронт-энд гцц-шный - можно фигачить прямо как для х86 сорсы

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, makc said:

Да, есть трофейный. Но поскольку выигрыша не ресурсам и частоте не видно, но вроде бы и в Keil'e нет большого смысла.

да и IAR, и даже наверное не трофейных ограниченных по размеру кода версий хватит. только вот с отладкой поди печаль.

наверное пора уже эту стюардессу закапывать потихоньку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, des00 said:

да он там и не нужен сложный, на 1024 строки кода) но мне всегда асма хватало

В современной версии picoblaze уже 4к инструкций. Вроде даже дебагер есть и возможность проливать программу в память проца по jtag, хотя может что то путаю.

Вот что у picoblaze реально ценно на мой взгляд, так это 100% предсказуемые задержки. Всегда 2 такта на 1 операцию. Можно ногодрыг не хуже конечного автомата сделать.

Изменено пользователем Strob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

01.10.2021 в 14:11, MegaVolt сказал:

День добрый :)
Подскажите есть ли какой нибудь мелкий процессор для Xilinx меньше Microblaze?

Задача - замена сложных автоматов на некий сопроцессор.

Требований к производительности нет особых. Хотелось бы наличие живой инфраструктуры - компилятор, отладчик и желательно с нормальным интерфейсом а не в командной строке.

На вот эту зверюшку не смотрели? Мелкий последовательный процессор, с RISC-V архитектурой. Утверждают, что уложились в 436 LUT (плюс 375 FF) на Artix-7.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Canis Dirus said:

На вот эту зверюшку не смотрели? Мелкий последовательный процессор, с RISC-V архитектурой. Утверждают, что уложились в 436 LUT (плюс 375 FF) на Artix-7.

только вчера про него вспоминали https://t.me/embedoka/348 :declare:

Еще оказывается под него есть Zephyr RTOS (для кого-то омжет быть актуально)

PS: И кажется, что данные по утилизации ресурсов слегка устарели - он еще более ужался, насколько знаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой товарищ делал (и сделал) RISC-V (RV32I), Single-Cycle, 700 LUT (Artix-7), 80 МГц. Программируется штатно на С/C++, GCC. 436 LUT что-то совсем невероятно. Там один barrel shifter жрёт примерно столько, насколько помню.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, dxp сказал:

Мой товарищ делал (и сделал) RISC-V (RV32I), Single-Cycle, 700 LUT (Artix-7), 80 МГц.

Частота низковата, а так очень похоже на PICORV32.

3 минуты назад, dxp сказал:

436 LUT что-то совсем невероятно. Там один barrel shifter жрёт примерно столько, насколько помню.

Бесплатно ничего не бывает, здесь платой наверняка является крайне низкий IPC (instructions per cycle). Например, здесь есть табличка с числом тактов, требуемых на выполнение базовых команд и оно не радует, если требуется скорость: [3 or 5]*(N+1) тактов на сдвиг, где N - разрядность операндов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

1 hour ago, dxp said:

436 LUT что-то совсем невероятно.

Ну так сериал реализация ALU много и не требует.  За счет этого в основном ужатие и идет. Плюс очень интересная идея выноса общих регистров в память позволяет экономить на mux-ах источников операндов.  Удобно, если стоит задача сделать маленькое ядро, а не быстрое ядро.  

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, makc сказал:

Частота низковата, а так очень похоже на PICORV32.

У него был Single Cycle. А по ссылке, насколько помню, multicycle. Тактовая высокая, а количество инструкций как бы даже не ниже. У этого 80 млн. инструкций в секунду честно.

 

1 час назад, makc сказал:

Бесплатно ничего не бывает, здесь платой наверняка является крайне низкий IPC (instructions per cycle). Например, здесь есть табличка с числом тактов, требуемых на выполнение базовых команд и оно не радует, если требуется скорость: [3 or 5]*(N+1) тактов на сдвиг, где N - разрядность операндов.

У товарища IPC 1.

1 час назад, RobFPGA сказал:

Ну так сериал реализация ALU много и не требует.  За счет этого в основном ужатие и идет. Плюс очень интересная идея выноса общих регистров в память позволяет экономить на mux-ах источников операндов.  Удобно, если стоит задача сделать маленькое ядро, а не быстрое ядро.  

Да, у того было полноценное, реализация ISA в полном объёме, компилировалось штатным GCC без ограничений. Регистровый файл, насколько помню, там был в LUTRAM вынесен, но это не точно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/1/2021 at 10:43 PM, Strob said:

В современной версии picoblaze уже 4к инструкций. Вроде даже дебагер есть и возможность проливать программу в память проца по jtag, хотя может что то путаю.

я его на втором виртексе и спартан 3 использовал, там память 1024х36, но да, там все от возможностей плис зависит. У последних 4096х36 память. По житаг сразу лить можно было. Кен Чапмен знает как делать вещи) я его реверсил, умно написано

16 hours ago, dxp said:

Мой товарищ делал (и сделал) RISC-V (RV32I), Single-Cycle, 700 LUT (Artix-7), 80 МГц. Программируется штатно на С/C++, GCC. 436 LUT что-то совсем невероятно. Там один barrel shifter жрёт примерно столько, насколько помню.

не он https://syntacore.com/page/products/processor-ip ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, des00 сказал:

Не. :) Этот человек в этой же лавке работал, где я счас. Год назад уволился, но дело его живёт - он успел обучить толкового студента, который под его руководством к этому ядру приделал гипертрединг (ядро стоит в ускорителе, раздаёт задания на аппаратную крипту, хэши, аппаратное переключение контекстов тут очень в тему).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, dxp said:

к этому ядру приделал гипертрединг (ядро стоит в ускорителе, раздаёт задания на аппаратную крипту, хэши, аппаратное переключение контекстов тут очень в тему).

прикольно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/1/2021 at 11:11 AM, MegaVolt said:

Задача - замена сложных автоматов на некий сопроцессор.

Автоматы можно запилить и промоделировать в Stateflow, а затем сгенерить HDL code.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...