-
- В двух словах - производители FPGA спят и видят как умотивировать
нас-разработчиков использовать синтезированные в FPGA процессорные
ядра вместо связки FPGA+микроконтроллер. Много раз прикидывал,
нужно ли мне такое (для моих задач, ессно), и ни разу не
получалось, что нужно. Всегда получалось сильно дороже и
микропроцессор медленнее. Точно так же как не нашлось применения
Альтеровским МАКСам (большим, от 10000 вентилей). - Cидopгeк(10.08.2020 14:18)
- У нас стоимость изделий позволяет так извращаться и, по опыту, встречается еще одна проблема - на NiosII в разы больше странных проблем и глюков, чем на классических микроконтроллерах. Виноват в этом сам Nios или средства разработки ПО для него не до конца понятно. - AlexG(10.08.2020 22:41)
- Ви таки будете смеяться, но уже есть ПЛИС с аппаратным процессором
Cortex-M3 на борту, с ценой ~шесть долларов в розницу (это уже в
России, с налогами). Stewart Little(340 знак., 10.08.2020 15:15)
- Присматриваемся. Но нужны мин. 10-15 тыс. вентилей, а лучше 25-40. - Cидopгeк(10.08.2020 15:32)
- Первое - давайте договоримся о терминологии - что Вы понимаете под
"вентилем"? Все производители со временем пришли к некоему общему
знаменателю в подсчете логической емкости - эквивалентному
логическому элементу, состоящему из 4-х входовой LUT и триггера
(даже для ПЛИС с более продвинутой архитектурой - например, c ALM c
8-входовой LUT и двумя триггерами, логическая емкость все равно
пересчитывается на эквивалентные логические элементы). Stewart Little(320 знак., 10.08.2020 16:19)
- Вдогонку - все IP-ядра у Gowin бесплатные (в т.ч. и кортексы, и RISC-V). - Stewart Little(10.08.2020 16:31)
- ещё бы оценить задержки на логике и трассировке. а то может
оказаться, что там где всё вмещалось в один такт придётся
разваливать на многостадийный конвейер. - Mahagam(10.08.2020 16:29)
- Если что-то где-то и придется "разваливать", то только на
экстендерах AHB или APB (т.е. на подключении кастомной периферии).
А по самому ядру могу сказать, что у меня синтезируемый Cortex-M1 в
Arore сходу завелся на 50 МГц (больше для задачи не требовалось, а
на более высоких частотах я не проверял, увы). В потроха
процессорного ядра нет возможности залезть. Stewart Little(56 знак., 10.08.2020 16:44)
- я сейчас даже не про софткоры. я про свою логику, вот у меня есть
интерполятор работающий на частоте 220 MHz. из 4-х точек получаю
одну и пихаю её в BRAM. заведётся ли оно в говине? будут ли
работать счётчики в 20 разрядов на этой частоте - и тому подобные
вопросы. - Mahagam(10.08.2020 16:53)
- Ну так STA c sdc Вам в помощь :) - Stewart Little(10.08.2020 16:56)
- изящно так послал ))))) - Mahagam(10.08.2020 16:58)
- Ну хотите - присылайте исходники с констрейнтами, компа не жалко :) Stewart Little(86 знак., 10.08.2020 17:08)
- изящно так послал ))))) - Mahagam(10.08.2020 16:58)
- Ну так STA c sdc Вам в помощь :) - Stewart Little(10.08.2020 16:56)
- я сейчас даже не про софткоры. я про свою логику, вот у меня есть
интерполятор работающий на частоте 220 MHz. из 4-х точек получаю
одну и пихаю её в BRAM. заведётся ли оно в говине? будут ли
работать счётчики в 20 разрядов на этой частоте - и тому подобные
вопросы. - Mahagam(10.08.2020 16:53)
- Если что-то где-то и придется "разваливать", то только на
экстендерах AHB или APB (т.е. на подключении кастомной периферии).
А по самому ядру могу сказать, что у меня синтезируемый Cortex-M1 в
Arore сходу завелся на 50 МГц (больше для задачи не требовалось, а
на более высоких частотах я не проверял, увы). В потроха
процессорного ядра нет возможности залезть. Stewart Little(56 знак., 10.08.2020 16:44)
- Первое - давайте договоримся о терминологии - что Вы понимаете под
"вентилем"? Все производители со временем пришли к некоему общему
знаменателю в подсчете логической емкости - эквивалентному
логическому элементу, состоящему из 4-х входовой LUT и триггера
(даже для ПЛИС с более продвинутой архитектурой - например, c ALM c
8-входовой LUT и двумя триггерами, логическая емкость все равно
пересчитывается на эквивалентные логические элементы). Stewart Little(320 знак., 10.08.2020 16:19)
- Gowin ? если бы там был проц с FPU, я бы сел за изучение этого
счастья. - Mahagam(10.08.2020 15:18)
- Он самый. Что касается FPU, то он есть в аппаратном процессорном ядре ARC EM4, которое живет в семействе GW1NRF (которое BluetoothFPGA): The ARC also included a FPU compliant with the IEEE754-2008. Stewart Little(187 знак., 10.08.2020 15:35)
- отзыв и первый опыт этого gowin случайно попался. klown1(70 знак., 10.08.2020 15:34, ссылка)
- Вот еще отзыв до кучи: Stewart Little(210 знак., 10.08.2020 16:07, ссылка)
- Ща ТСМЦ прикрутят яицы, она всё китайцкое забанит. Хуевей не даст
соврать. Они хоть по какой норме делают? Мобуть ихняя СМИК потянет? - mse homjak(10.08.2020 16:51)
- Проектная норма у Gowin 55 nm (Embedded Flash для LittleBee и SRAM для Arora). Stewart Little(358 знак., 10.08.2020 17:03)
- Ща ТСМЦ прикрутят яицы, она всё китайцкое забанит. Хуевей не даст
соврать. Они хоть по какой норме делают? Мобуть ихняя СМИК потянет? - mse homjak(10.08.2020 16:51)
- Вот еще отзыв до кучи: Stewart Little(210 знак., 10.08.2020 16:07, ссылка)
- Присматриваемся. Но нужны мин. 10-15 тыс. вентилей, а лучше 25-40. - Cидopгeк(10.08.2020 15:32)
- у меня аналогичный опыт. экономика (да и
технологически/эксплуатационные свойства) не дают шансов для
применения fpga и проца в одном корпусе. (Возможно не было такой
масштабной задачи) - klown1(10.08.2020 14:28)
- Ну, если подключали SDRAM к FPGA, то значит, уже использовали "fpga
и проц в одном корпусе". Xaoc(174 знак., 10.08.2020 14:48, )
- Кто Вам такое сказал? Цинк (равно как и Альтеровский 5й Циклон с
АРМом на борту) разглядывал, но отказался, бо дорого. Те же 5-е
Циклоны бывают с контроллером DDR но без процессора. Использую
"самодельные" контроллеры SDRAM и DDR1, и процессоров
синтезированных в них никаких нет. - Cидopгeк(10.08.2020 14:58)
- Сам Xilinx и сказал. См., PG150, page 35: Xaoc(227 знак., 10.08.2020 15:00, )
- ааа. индусятина и сюда забралась. конечно, когда в ультраскаликах ресурсов хоть жопой жуй, так какой-то идиот вместо простого конечного автомата вкрючил целый проц. в принципе, почти все родные корки построены так, что они жрут ресурсов как не в себя. - Mahagam(10.08.2020 15:07)
- Ещё одна "хотелка" изготовителей FPGA - развести нас на
использование более "объёмных" и быстрых чипов. Вот и пхают
"микропроцессоры" куда ни попадя, чтоб больше места занимало.
Контроллер SDRAM на самом деле - не шибко сложный
тупоконечный автомат. Особенно, если контроллер оптимизирован под конкретную задачу. - Cидopгeк(10.08.2020 15:06)- развод на больший чип просматривается в каждой корке. - Mahagam(10.08.2020 15:09)
- Угу! - Cидopгeк(10.08.2020 15:10)
- развод на больший чип просматривается в каждой корке. - Mahagam(10.08.2020 15:09)
- Сам Xilinx и сказал. См., PG150, page 35: Xaoc(227 знак., 10.08.2020 15:00, )
- не, SDRAM не приходилось... klown1(132 знак., 10.08.2020 14:56)
- бред не пишите. - Mahagam(10.08.2020 14:54)
- Altera: Xaoc(272 знак., 10.08.2020 15:10, , ссылка)
- ещё раз - если ты сам индус, то впиливай хоть на каждый свой uart
по ниосу и микроблейзу. и альтера и хилые только визжать от
восторга будут, глядя как ты покупаешь их старшие чипы. - Mahagam(10.08.2020 15:17)
- Я не индус, но писать свой контроллер SDRAM DDR3 (или DDR4) при
наличии готового и халявного контроллера от вендора это, КМК,
перебор. Ты сам то, кстати, уже написал свой контроллер SDRAM DDR3
(или DDR4) для FPGA без ниосу и микроблейзу ? :) - Xaoc(10.08.2020 15:32, )
- Писать свой контроллер страшно ровно до тех пор, пока не
определишься, чего ты от него хочешь. Как определишься, от
контроллера остаётся автомат, умеющий инициализацию в один режим
работы, один-два вида записи, один-два чтения и регенерацию (не
обязательно). - Cидopгeк(10.08.2020 15:38)
- Это все бла-бла-бла про космические корабли, которые бороздят.. А
когда контроллер нужен уже вчера, то возникают сомнения.. - Xaoc(10.08.2020 15:39, )
- Раз так, используйте готовые. - Cидopгeк(10.08.2020 15:41)
- Уже использую. Но весь спор разгорелся из-за того, что я указал на
используемые вендорами CPU в составе своих IP-cores для SDRAM. Но
местные "эксперты" тут же усомнились в моих словах и начали яростно
спорить.. :) - Xaoc(10.08.2020 15:45, )
- Вот не надо с ног на голову переворачивать! Вы утверждали, что раз
SDRAM, то где-то там рядом синтезированный процессор угнездился. Мы
же возразили, что вместо процессора здоровенного можно обойтись
несложным конечным автоматом. - Cидopгeк(10.08.2020 15:51)
- Каюсь! Про динозавров использующих до сих пор DDR1 я как-то не
подумал. :) В моем понимании SDRAM это DDR3 как минимум. Причем,
уже лет пять. - Xaoc(10.08.2020 16:06, )
- а если FPGA - то как минимум ultrascale, ага. - Mahagam(10.08.2020 16:18)
- И даже с плюсом!!! :) Xaoc(87 знак., 10.08.2020 18:27, )
- а если FPGA - то как минимум ultrascale, ага. - Mahagam(10.08.2020 16:18)
- Каюсь! Про динозавров использующих до сих пор DDR1 я как-то не
подумал. :) В моем понимании SDRAM это DDR3 как минимум. Причем,
уже лет пять. - Xaoc(10.08.2020 16:06, )
- в изделиях для военки или медицины оно может и нормально, там себестоимость комплектухи на конечную цену влияет слабо. а хреначить такую индусятину в коммерческий продукт - малореально. - Mahagam(10.08.2020 15:50)
- Вот не надо с ног на голову переворачивать! Вы утверждали, что раз
SDRAM, то где-то там рядом синтезированный процессор угнездился. Мы
же возразили, что вместо процессора здоровенного можно обойтись
несложным конечным автоматом. - Cидopгeк(10.08.2020 15:51)
- Уже использую. Но весь спор разгорелся из-за того, что я указал на
используемые вендорами CPU в составе своих IP-cores для SDRAM. Но
местные "эксперты" тут же усомнились в моих словах и начали яростно
спорить.. :) - Xaoc(10.08.2020 15:45, )
- Раз так, используйте готовые. - Cидopгeк(10.08.2020 15:41)
- Это все бла-бла-бла про космические корабли, которые бороздят.. А
когда контроллер нужен уже вчера, то возникают сомнения.. - Xaoc(10.08.2020 15:39, )
- Писать свой контроллер страшно ровно до тех пор, пока не
определишься, чего ты от него хочешь. Как определишься, от
контроллера остаётся автомат, умеющий инициализацию в один режим
работы, один-два вида записи, один-два чтения и регенерацию (не
обязательно). - Cидopгeк(10.08.2020 15:38)
- Я не индус, но писать свой контроллер SDRAM DDR3 (или DDR4) при
наличии готового и халявного контроллера от вендора это, КМК,
перебор. Ты сам то, кстати, уже написал свой контроллер SDRAM DDR3
(или DDR4) для FPGA без ниосу и микроблейзу ? :) - Xaoc(10.08.2020 15:32, )
- И как я жил до сих пор? Лет 15 с Альтерами имею дело, SDRAM-ина на
каждой второй плате, а Ниос ни разу не применял. Наверное, что-то
делаю неправильно ... - Cидopгeк(10.08.2020 15:15)
- Так он снаружи не виден.. Он только для окучивания SDRAM. - Xaoc(10.08.2020 15:15, )
- Да? Пойду гляну в свои исходники. Мож. у меня склероз начался, или
маразм старческий наступил? - Cидopгeк(10.08.2020 15:17)
- Я про IP-core SDRAM от Альтеры. У вас же, как я полагаю, не DDR3? - Xaoc(10.08.2020 15:19, )
- SDRAM и первый DDR. 3-й не использовали, бо под него плата дорогая
нужна, и аппаратная поддержка на лапках FPGA (5й Циклон с
контроллером DDR денег стОит). И, да, кто-то заставляет
использовать Альтеровскую "корку"? Она - "на все случаи жизни" и,
потому, переусложнённая. Я в неё как глянул, так сразу сел писАть
свою - Cидopгeк(10.08.2020 15:29)
- Напишите свою под DDR3. Тогда и поспорим у кого "толще".. :) - Xaoc(10.08.2020 15:36, )
- Нет необходимости. Писал выше - для наших изделий дороговата плата и сам "камень". - Cидopгeк(10.08.2020 15:39)
- Напишите свою под DDR3. Тогда и поспорим у кого "толще".. :) - Xaoc(10.08.2020 15:36, )
- SDRAM и первый DDR. 3-й не использовали, бо под него плата дорогая
нужна, и аппаратная поддержка на лапках FPGA (5й Циклон с
контроллером DDR денег стОит). И, да, кто-то заставляет
использовать Альтеровскую "корку"? Она - "на все случаи жизни" и,
потому, переусложнённая. Я в неё как глянул, так сразу сел писАть
свою - Cидopгeк(10.08.2020 15:29)
- Я про IP-core SDRAM от Альтеры. У вас же, как я полагаю, не DDR3? - Xaoc(10.08.2020 15:19, )
- Да? Пойду гляну в свои исходники. Мож. у меня склероз начался, или
маразм старческий наступил? - Cидopгeк(10.08.2020 15:17)
- Так он снаружи не виден.. Он только для окучивания SDRAM. - Xaoc(10.08.2020 15:15, )
- ещё раз - если ты сам индус, то впиливай хоть на каждый свой uart
по ниосу и микроблейзу. и альтера и хилые только визжать от
восторга будут, глядя как ты покупаешь их старшие чипы. - Mahagam(10.08.2020 15:17)
- Altera: Xaoc(272 знак., 10.08.2020 15:10, , ссылка)
- Кто Вам такое сказал? Цинк (равно как и Альтеровский 5й Циклон с
АРМом на борту) разглядывал, но отказался, бо дорого. Те же 5-е
Циклоны бывают с контроллером DDR но без процессора. Использую
"самодельные" контроллеры SDRAM и DDR1, и процессоров
синтезированных в них никаких нет. - Cидopгeк(10.08.2020 14:58)
- Ну, если подключали SDRAM к FPGA, то значит, уже использовали "fpga
и проц в одном корпусе". Xaoc(174 знак., 10.08.2020 14:48, )
- В двух словах - производители FPGA спят и видят как умотивировать
нас-разработчиков использовать синтезированные в FPGA процессорные
ядра вместо связки FPGA+микроконтроллер. Много раз прикидывал,
нужно ли мне такое (для моих задач, ессно), и ни разу не
получалось, что нужно. Всегда получалось сильно дороже и
микропроцессор медленнее. Точно так же как не нашлось применения
Альтеровским МАКСам (большим, от 10000 вентилей). - Cидopгeк(10.08.2020 14:18)