реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Самый сложный Soft-CPU, которому не требуются блоки памяти
AVR
сообщение Feb 21 2018, 14:30
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Подскажите, какой самый сложный софт-процессор можно засунуть в ПЛИС, в которой вообще нет блоков памяти. Т.е. только регистры и логика. Даже PLL нет.
Просто логика и входы-выходы. Ориентировочно 2000-4000 логических элементов есть.

Влезет ли туда OpenRISC в самой базовой вариации? Или даже RISC-V? Или все такие процессоры требуют всё же такой встроенной блочной памяти?
Поэтому интересует наиболее сложный тест который только возможен для проверки такой простой ПЛИС, и хотелось бы именно на soft-CPU это опробовать.


--------------------
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 21 2018, 17:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Процу надо же откуда то программу брать. Так что что-то типа памяти вам все равно надо. Хотя бы собранная на регистрах, но память.
Проц надо брать ниос или блейз, они оптимизированы под ФПГА, и будут хорошо работать, лучше чем абстрактные процы, оптимизированные под асики.

Риск 5 - это не проц, а система команд. По ней можно реализовать все что хошь от процов класса АРМ кортекс-м0, до апликайшен оут оф ордер процов.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 21 2018, 17:38
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Golikov A. @ Feb 21 2018, 20:25) *
Процу надо же откуда то программу брать. Так что что-то типа памяти вам все равно надо. Хотя бы собранная на регистрах, но память

Что если будет внешняя SRAM, хоть мегабайт?
Про RISC-V я понял, про OpenRISC пишут "Low resource usage: basic implementation fits easily in Spartan-6 LX9" - действительно low, но для меня уже не подходит.

Есть еще варианты? Пока думаю какое-нибудь AVR засунуть или подобное.


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Feb 21 2018, 18:46
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(AVR @ Feb 21 2018, 20:38) *
Есть еще варианты?

Калькулятор с делением, число цифр подбирается под требуемые ресурсы.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 21 2018, 19:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(AVR @ Feb 21 2018, 20:38) *
Что если будет внешняя SRAM, хоть мегабайт?
Про RISC-V я понял, про OpenRISC пишут "Low resource usage: basic implementation fits easily in Spartan-6 LX9" - действительно low, но для меня уже не подходит.

Есть еще варианты? Пока думаю какое-нибудь AVR засунуть или подобное.


Процу все равно как реализована память. Главное сделать ему туда доступ по той шине по которой он любит, за столько тактов что он хочет. Микроблайз, например, может и с внешней памятью работать, в чем беда то?

То что какой-то проц влезает в ПЛИС это не говорит что он ей подходит. Чаще всего это просто как демонстрация верности реализации проца, он там работает на 8 МГц и это край. Если вам нужен проц в ФПГА, то вам нужен проц для нее, и лучше использовать процы от производителей, они тоже небольшие и весьма производительные. Все остальное по ресурсам будет хуже. Вид памяти не должен определять проц.

Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 21 2018, 19:08
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AVR @ Feb 21 2018, 17:30) *
Подскажите, какой самый сложный софт-процессор можно засунуть в ПЛИС, в которой вообще нет блоков памяти. Т.е. только регистры и логика. Даже PLL нет.
Просто логика и входы-выходы. Ориентировочно 2000-4000 логических элементов есть.

Тут вопрос не до конца раскрыт.
Если речь идет о Си, то для сишных процессоров нужны пересылки "регистр-регистр". А сделать много регистров на триггерах - это значит угробить все интерконнекты. Поэтому регистры делают в виде регистровых файлов и для них используют блоки памяти...
А вот если не надо Си, тогда есть варианты. Например можно сделать процессор "порт + память". Либо стековый процессор...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Leka
сообщение Feb 21 2018, 19:43
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(AVR @ Feb 21 2018, 17:30) *
Поэтому интересует наиболее сложный тест который только возможен для проверки такой простой ПЛИС, и хотелось бы именно на soft-CPU это опробовать.

На это никто не обратил внимание?

Мне не совсем понятно, почему именно софт-процессор, если не планируется использовать в рабочих проектах.
Лишние сложности с компилятором, прошивкой, вводом-выводом, и тп.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 21 2018, 20:15
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(iosifk @ Feb 21 2018, 22:08) *
...
Если речь идет о Си, то для сишных процессоров нужны пересылки "регистр-регистр". А сделать много регистров на триггерах - это значит
...

Совсем необязательно - смотрите хотя бы ZPU на opencores. 32 бит, стековая архитектура, проще некуда и при этом рабочий порт для GCC.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 21 2018, 20:27
Сообщение #9


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Leka @ Feb 21 2018, 22:43) *
На это никто не обратил внимание? Мне не совсем понятно, почему именно софт-процессор, если не планируется использовать в рабочих проектах. Лишние сложности с компилятором, прошивкой, вводом-выводом, и тп.

Не хотелось бы вызывать преждевременную критику, поэтому я не раскрываю что за ПЛИС я собираюсь тестировать. Она экспериментальная, пока что есть лишь прототипы кристаллов. Но библиотеки для моделирования уже в наличии и они подходят для запуска на симуляторе совместно с выхлопом САПР.

Поэтому мне показалось софт-процессор будет идеальной демонстрацией работы такой микросхемы.

Цитата(RobFPGA @ Feb 21 2018, 23:15) *
Совсем необязательно - смотрите хотя бы ZPU на opencores. 32 бит, стековая архитектура, проще некуда и при этом рабочий порт для GCC.

Про ZPU не слышал. Надо бы посмотреть, спасибо за подсказку, наличие GCC как раз гигантский плюс.
Именно проц с компилятором был бы хорошей демонстрацией и проверкой.


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Feb 21 2018, 21:46
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



ZPU - маленький по ресурсам стековый проц.


Почему предложил калькулятор с делением:
1) простой калькулятор (+ - * / ) с последовательным вводом и выводом потребует мало текста на HDL,
2) "q=a/b" Квартус синтезирует в ~1К ЛЕ для 32-разрядных операндов, и ~4К ЛЕ для 64-разрядных,
3) от блока деления (и тп) м/б больше пользы в реальных проектах, чем от непрактичного софт-процессора.

bb-offtopic.gif
Кстати, сравнение моего софт-процессора (~200 ЛЕ) с STM32F103C8 на Си-программе (N-ферзей):
http://forum.ixbt.com/topic.cgi?id=48:11468:1915#1915

Сообщение отредактировал Leka - Feb 21 2018, 21:47
Go to the top of the page
 
+Quote Post
Kapsik
сообщение Feb 22 2018, 09:57
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 28-08-13
Из: SPb
Пользователь №: 78 086



https://marsohod.org/projects/66-makeavr
Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 22 2018, 12:38
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(AVR @ Feb 21 2018, 21:38) *
Есть еще варианты? Пока думаю какое-нибудь AVR засунуть или подобное.


Если производительности не требуется, то можно реализацию 8051 затолкнуть - для латтиса в 1к вентилей присматривал, где-то в рекламах было (точно не помню), что проц 8051 занимает 150-300 LE. Но как там реализовывали регистры не смотрел. Не думаю что регистровый файл 8051 много съест.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 24 2018, 20:04
Сообщение #13


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Leka @ Feb 22 2018, 00:46) *
ZPU - маленький по ресурсам стековый проц.

Увы, экспериментальная ПЛИС настолько сурова, что не умеет в VHDL, а ZPU это VHDL.
Ваш процессор тоже посмотрю, тоже интересно.

2 Kapsik: makeavr гляну.

2: alexPec: ну и 8051, почему бы и нет.


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Feb 25 2018, 07:02
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(AVR @ Feb 24 2018, 23:04) *
Ваш процессор тоже посмотрю, тоже интересно.

Там используется 2х-портовая внутренняя блочная память.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 25 2018, 07:16
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Ну напишите память на регистрах, в чем беда то?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 25 2018, 07:32
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Golikov A. @ Feb 25 2018, 10:16) *
Ну напишите память на регистрах, в чем беда то?

Беда только в интерконнектах... Их потребуется очень много.
Правда если в этой ПЛИС есть что-то похожее на ксайлинсовский SRL - это когда часть битов конфигурации в ячейке можно использовать как память 16х1 или 32х1, то тогда будет все проще....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 26 2018, 08:43
Сообщение #17


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(alexPec @ Feb 22 2018, 15:38) *
Если производительности не требуется, то можно реализацию 8051 затолкнуть - для латтиса в 1к вентилей присматривал, где-то в рекламах было (точно не помню), что проц 8051 занимает 150-300 LE. Но как там реализовывали регистры не смотрел. Не думаю что регистровый файл 8051 много съест.

Кстати, Вы про какую реализацию? Нужно чтобы код от GCC пошел на нем.


--------------------
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 26 2018, 09:52
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



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

Цитата(alexPec @ Feb 22 2018, 15:38) *
Если производительности не требуется, то можно реализацию 8051 затолкнуть - для латтиса в 1к вентилей присматривал, где-то в рекламах было (точно не помню), что проц 8051 занимает 150-300 LE. Но как там реализовывали регистры не смотрел. Не думаю что регистровый файл 8051 много съест.

Если грубо прикидывать то реализация RAM 8051 (128 байт) на регистрах требует 1K регистров и ~1.5K логики (4-input lut) для организации декодера записи и мультиплексора для чтения. А с учетом того что вход регистра без логики обычно не подключишь то логики надо будет все ~2.5K. sad.gif

Удачи! Rob.


Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 27 2018, 09:39
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(RobFPGA @ Feb 26 2018, 13:52) *
Приветствую!


Если грубо прикидывать то реализация RAM 8051 (128 байт) на регистрах требует 1K регистров и ~1.5K логики (4-input lut) для организации декодера записи и мультиплексора для чтения. А с учетом того что вход регистра без логики обычно не подключишь то логики надо будет все ~2.5K. sad.gif

Удачи! Rob.


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

Кстати, а на 8051 думаю GCC-то есть. И симуляторов, и дизассемблеров полно. Архитектура стандартная и распространенная.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 27 2018, 09:49
Сообщение #20


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Речь про эту реализацию? https://opencores.org/project,8051
Есть еще https://opencores.org/project,light52 но оно на противном VHDL.


--------------------
Go to the top of the page
 
+Quote Post
Doka
сообщение Feb 27 2018, 10:22
Сообщение #21


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(Leka @ Feb 22 2018, 00:46) *
bb-offtopic.gif
Кстати, сравнение моего софт-процессора (~200 ЛЕ) с STM32F103C8 на Си-программе (N-ферзей):
http://forum.ixbt.com/topic.cgi?id=48:11468:1915#1915

bb-offtopic.gif
а можно ссылку непосредственно на ваш софт-процессор,
а то чувствую себя как-то не в теме laughing.gif

Цитата(alexPec @ Feb 27 2018, 12:39) *
Кстати, а на 8051 думаю GCC-то есть. И симуляторов, и дизассемблеров полно. Архитектура стандартная и распространенная.

что-то не слышал об gcc для 8051... есть SDCC


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Leka
сообщение Feb 27 2018, 11:01
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Doka @ Feb 27 2018, 13:22) *
а можно ссылку непосредственно на ваш софт-процессор

Последняя версия, которую выкладывал:
http://marsohod.org/forum/proekty-polzovat...a?start=80#5161
Это пробный проект, зачем его делал - описано на том форуме, и только недавно с небольшими изменениями/исправлениями использовал в реальном проекте.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 28 2018, 14:17
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Doka @ Feb 27 2018, 14:22) *
что-то не слышал об gcc для 8051... есть SDCC


Ну это не утверждение, а предположение sm.gif Сам давно занимался 8051, тогда досовые тулчейны были, не много. А через некоторое время их столько развелось, но мне уже не нужны стали. Вот я и подумал, что уж GCC-то всяко есть. А на самом деле, сходу только "no oficial GCC for 8051"...
Go to the top of the page
 
+Quote Post
Doka
сообщение Mar 1 2018, 13:14
Сообщение #24


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(Leka @ Feb 27 2018, 14:01) *
Последняя версия, которую выкладывал:
http://marsohod.org/forum/proekty-polzovat...a?start=80#5161
Это пробный проект, зачем его делал - описано на том форуме, и только недавно с небольшими изменениями/исправлениями использовал в реальном проекте.

спасибо, скачал архив.
а можно где-то почитать в html|doc описание того что это и под какой лицензией?


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Leka
сообщение Mar 1 2018, 16:30
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Doka @ Mar 1 2018, 16:14) *
а можно где-то почитать в html|doc описание того что это и под какой лицензией?

Отдельного описания у меня нет, есть только обсуждение на форуме марсохода.
По поводу лицензии - не разбираюсь в этом вопросе, поэтому выкладываю код без какого-либо лицензионного текста и тп.

Сообщение отредактировал Leka - Mar 1 2018, 16:32
Go to the top of the page
 
+Quote Post
Alexxxxey
сообщение Apr 2 2018, 19:44
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-09-13
Из: Санкт-Петербург
Пользователь №: 78 418



Вот интересный вариант - https://github.com/cliffordwolf/picorv32

Кэша у него нет, а память можно подключить внешнюю.
Go to the top of the page
 
+Quote Post
Leka
сообщение Apr 2 2018, 22:01
Сообщение #27


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Alexxxxey @ Apr 2 2018, 22:44) *
Вот интересный вариант

Код не смотрел, но в описании увидел табличку: "LUTs as Memory" - 48штук.
Похоже, используется "распределенная" память, это не во всех ПЛИСах есть.
Go to the top of the page
 
+Quote Post
AVR
сообщение Apr 3 2018, 07:09
Сообщение #28


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Leka @ Apr 3 2018, 01:01) *
Код не смотрел, но в описании увидел табличку: "LUTs as Memory" - 48штук.
Похоже, используется "распределенная" память, это не во всех ПЛИСах есть.

Это вообще шикарный вариант, только вот LUTs as memory смущает. Насколько оно прибито к Xilinx?
В общем, буду изучать. Вопрос без особой срочности.


--------------------
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01682 секунд с 7
ELECTRONIX ©2004-2016