LINUX.ORG.RU

Инициатива по созданию низкоуровневого HDL для FPGA/ASIC

 , , ,


0

3

На данный момент уже существует большое количество разнообразных программ, тулкитов и библиотек для разработки FPGA/ASIC, начиная с высокоуровневых языков описания схем, и заканчивая опенсурс симуляторами и генераторами нетлистов для конкретных чипов. Однако почти каждая из них пишет свой генератор/парсер для VHDL/Verilog (очень часто обоих сразу). Однако есть проект по созданию своего рода LLVM для мира HDL, который позволит избавиться от засилья VHDL/Verilog и упростить разработку сопутствующих фреймворков. За основу предлагается взять FIRRTL. В обсуждение уже вовлечены разработчики многих проектов для FPGA/ASIC.

Подробнее смотреть здесь https://github.com/SymbiFlow/ideas/issues/19

★★★★★

SystemVerilog идеален, и больше ничего для счастья ненужно. А вот куда движутся - так это создание высокоуровневых Си-подобных оберток поверх. А ты хочешь чесать против шерсти - низкоуровневое.

Нет чтоб этим ребятам помочь: http://forum.milandr.ru/viewtopic.php?f=48&t=3540

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Высокоуровневые и так уже есть - PyRTL, migen, HardCaml, Clash, etc. Но каждый из них компилируется в VHDL/Verilog, или какое-то свое представление. Моя идея в том, чтобы эти утилиты генерировали промежуточный код, и все утилиты, симуляторы, синтезаторы работали поверх него - это сильно упростит существующий код, взаимодействие между разными фреймворками и поддержку новых платформ (чипов).

XVilka ★★★★★ ()
Ответ на: комментарий от XVilka

Пойми, это не нужно. LLVM сделали, потому что там сложная оптимизация, там это оправдано. Какой оптимизационный выигрыш или удобство получишь в результате этого проекта? Никакого. Там нет оверхеда.

Кстати, поддержка новых чипов делается не так. И там языковые методы, особенно низкоуровневые - бесполезны, другое дело высокоуровневые абстракции. А код он и так по большей части «кроссплатформенный» для ПЛИС, уверяю что не испытываю проблем в поддержке двух-трех вендоров ПЛИС в своих поделках.

I-Love-Microsoft ★★★★★ ()

На всякий случай добавлю, что желаю тебе удачи в твоем проекте. Почему бы и нет. Сделаешь - разве плохо будет? Кому-то пригодится, может быть.

I-Love-Microsoft ★★★★★ ()

А есть ли смысл? Ведь verilog позволяет писать на самом низком уровне абстракции (совсем без абстракций, примитивами). На нем даже нетлисты генерятся, куда уж ниже.

Puzan ★★★★★ ()
Ответ на: комментарий от XVilka

Моя идея в том, чтобы...

Оригинальная?

Надеюсь, тебе удастся поднять заварушку. И выйдет что-то на Си (который потом можно будет вызывать на любимом языке), а не на Скале.

gag ★★★★★ ()
Ответ на: комментарий от Puzan

верилог не позволяет писать как именно ты хочешь разместить элементы. в случае разработки действительно быстродействующих схем приходится прямо layoutы рисовать.

i36_zubov ()
Ответ на: комментарий от i36_zubov

приходится прямо layoutы рисовать

В данном случае это и не предполагается, если я правильно понял. По крайней мере, FIRRTL этого не умеет.

Puzan ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Вполне себе нужно, инициативу поддержали многие, значит назрела необходимость. Высокоуровневые абстракции и так уже есть. Есть и куча сопутсвующих проектов, но каждый пишет своё сам. Идея - тот же Verilog/VHDL при желании можно будет компилировать в этот IR.

XVilka ★★★★★ ()
Ответ на: комментарий от i36_zubov

тогда на кой он нужен.

У меня тот же вопрос.

Puzan ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.