LINUX.ORG.RU

ПО для разработки микросхем/программируемой логики (сердце OpenHardware)

 , , , ,


3

3

Что вы знаете о существующих проектах открытого ПО для дизайна микросхем, HDL синтезаторов/симуляторов, редакторов топологии чипов? Что думаете о возможности его развития до стадии, когда возможно будет использование в профессиональной деятельности?

OpenSource инструменты разработки ПО заняли свое почетное место, но передовые области hardware дизайна далеко позади. Яркий пример - отсутствие даже вменяемого открытого VHDL симулятора. Не говоря уже о каких-то синтезаторах.

Или у OpenSoftware идеологии нет шансов на этом серьезном и высокотехнологичном поле? Сообщество похоже не сделало никаких серьезных шагов в этом направлении. Как и в направлении технологичного и применимого OpenSoftware в целом...

Навеяно недавними статьями:
--Will Open-Source Ever Work for Programmable Tools?--
http://www.programmableplanet.com/author.asp?section_id=2447&doc_id=25791...

--Occupy FPGA. EDA Tools for the 99%--
http://www.eejournal.com/archives/articles/20130122-occupy/



Последнее исправление: elrprt (всего исправлений: 1)

Ответ на: комментарий от elrprt

Это называется «художественное преувеличение», потому что конструкция на VHDL реально нечеловеческая для такого элементарного действия.

Чел выпускник физтеха и ведущий разработчик в mips.

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

Пока этого нет в силиконе, все эти ОпенЧОХОШ онанизм, а технология.

Из силикона (silicone) делают сиськи, а процессоры делают из кремния (silicon)

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

Из силикона (silicone) делают сиськи, а процессоры делают из кремния (silicon)

Я знаю, но силикон прикольней звучит (.)(.)

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

or1200 и leon неоднократно делали на asic. Да и fpga применяются далеко не только для прототипирования.

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

VHDL - академический отстой, навроде говнолиспика. Вся индустрия (ARM, MIPS, Intel, AMD, IBM, TI, Qualcomm) используют Verilog.

А если хочется более высокого уровня, то лучше уж тогда Bluespec.

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

Ты веселый - приводишь Haskel Bluespec, а lisp называешь «академическим отстоем».

Вся индустрия (ARM, MIPS, Intel, AMD, IBM, TI, Qualcomm) используют Verilog.

-- «вся индустрия» - инженеро-схемотехники, которым впихнули С, и в другую сторону они посмотреть боятся. Вот и идет цепочка к SystemVerilog'u - «С++ от RTL дизайна».

Ну и по ПО индустрии можно оценить какие ЯП выбирает большинство ;) жуткая инертность без малейшего вкуса.

Тот же leon - VHDL.

elrprt
() автор топика
Ответ на: комментарий от anonymous

о, вот за это tnx. не натыкался раньше

elrprt
() автор топика
Ответ на: комментарий от prischeyadro

нечеловеческая для такого элементарного действия.

она обусловлена, мне не всем нравится VHDL, но Verilog - еще худший выход

elrprt
() автор топика
Ответ на: комментарий от prischeyadro

Чел выпускник физтеха и ведущий разработчик в mips.

-- не поверишь, но это ничего не говорит конкретно о его вкусах и понимании вещей :)

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

Энене, Blender как раз на равных со всякими 3дсмаксами по фичастости.

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

Ты веселый - приводишь Haskel Bluespec

Bluespec был изначально основан на Haskell, но потом стал расширением SystemVerilog. Догадываешься, почему? Потому что индустрии на хер не нужны академические поделки.

«вся индустрия» - инженеро-схемотехники, которым впихнули С, и в другую сторону они посмотреть боятся.

Во первых, там не голый Verilog, а куча всяких препроцессоров. Во вторых, только практика - критерий истины.

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

Bluespec целиком ушел на SystemVerilog? Не знал :)

куча всяких препроцессоров

Вот это я понимаю С-приверженность - забить на строгую типизацию и обвешивать препроцессорами непонятно что только за его синтаксис привычный... Вот потом исходники OpenSparc и нереально ковырять без пачки веществ ;) выхлоп чего-то высокоуровневого или плод толпы китайцев

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

Bluespec целиком ушел на SystemVerilog?

Он даже называется теперь «Bluespec System Verilog», или BSV.

Вот это я понимаю С-приверженность - забить на строгую типизацию и обвешивать препроцессорами непонятно что только за его синтаксис привычный...

Синтаксис не при чем. Важна гибкость и возможность применения всяких не всегда чистых хаков.

выхлоп чего-то высокоуровневого

Вообще-то да, именно так.

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

возможность применения всяких не всегда чистых хаков

А Verilog-то здесь причем? Это относится к «системе пищеварения» отдельного синтезатора, нет? Не припомню в стандарте «не всегда чистые хаки». Или я ошибаюсь?

elrprt
() автор топика
Ответ на: комментарий от anonymous

Вообще-то да, именно так.

Жаль они нормальной инфраструктуры для OpenSparc не выложили. Для работы с rtl. В отличии от того же Leon

elrprt
() автор топика
Ответ на: комментарий от anonymous

А можно попросить пример «не слишком чистого хака», основанного на слабой типизации и несущего явный профит? Хотя бы на словах.

Сомневаюсь, что где-то его польза превысит зависимость от настроения/типа синтезатора и шанса склероза у разработчика, хоть пару строк кода и сэкономит ;)

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

Например, явное использование логических операторов над векторами, или обрезание ширины шины при неявном преобразовании. Удобно, хоть и опасно.

И, главное, Verilog намного менее многословный чем VHDL. Это важно для индустрии.

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

Во вторых, только практика - критерий истины.

Т.е. что бы индустрия не использовала - она права? :) А у меня как-то сложилось впечатление, что не беспочвенно в этом слове «индус» присутствует...

elrprt
() автор топика
Ответ на: комментарий от anonymous

Удобно, хоть и опасно.

-- Пестец, если честно. Всем не хватило переполнения кучи и проч. прелестей в ПО и они хотят еще и в железо вытащить такой же подход к делу надежности? Имхо, в школе по рукам за такое линейкой бить пора уже.

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

в этом слове «индус» присутствует...

Просто он подменяет понятие «правильности» или «истинности» - понятием «правости», «правом сильного».
А насчёт индусов - да, например в коммьюнити Firefox их немало. Пишу сейчас аддон для браузера, постоянно сталкиваюсь с их подходом к разработке программного обеспечения.

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

И, главное, Verilog намного менее многословный чем VHDL. Это важно для индустрии.

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

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

Т.е. что бы индустрия не использовала - она права? :)

Да. Именно так.

У тебя конкретные претензии к современному железу? Много знаешь ошибок в ядрах ARM или Intel?

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

оптимизировать индустрию со стороны количества строчек вопреки надежности

Количество строк => читабельность => надежность и скорость разработки и поддержки

А типизация к надежности не ведет, что бы там сказочники не вякали.

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

Всем не хватило переполнения кучи и проч. прелестей в ПО и они хотят еще и в железо вытащить такой же подход к делу надежности?

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

Жесткая типизация, в свою очередь, только запутывает код и ничего практически полезного не дает.

Вот ты, адвокат VHDL, работал на хотя бы одну из вышеперечисленных компаний? Имеешь представление об их методах работы?

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

Да. Именно так.

О :) Ну при такой аксиоматике говорить бессмысленно. Все что стало популярно использоваться не важно по каким причинам - все правильно.

У тебя конкретные претензии к современному железу?

Огромное число. Вот только языковые проблемы сложно выделить на фоне общего дерьма проектирования.

Много знаешь ошибок в ядрах ARM или Intel?

Нет, и всецело полагаюсь на их килогода и гигабюджеты верификации ;) Могут и на brainfuck'e лабать. Но говорит ли это что-то о самом процессе работы с конкретным HDL, качестве препроцессоров и DSL?

Кстати, как там у core i7 с читаемостью? :)

elrprt
() автор топика
Ответ на: комментарий от anonymous

Количество строк => читабельность

Как бы не совсем так... и даже временами совсем _не_ так.

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

Огромное число. Вот только языковые проблемы сложно выделить на фоне общего дерьма проектирования.

Назови хотя бы три.

Нет, и всецело полагаюсь на их килогода и гигабюджеты верификации

Откуда у маленького ARM «гигабюджеты»?

Но говорит ли это что-то о самом процессе работы с конкретным HDL, качестве препроцессоров и DSL?

Говорит. Они выбирают наиболее практичный HDL.

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

Я не адвокат VHDL.

Имеешь представление об их методах работы?

Представление - да. Другой вопрос из какой информации оно составлено - не всегда прямой. А как это связанно с тем, что мне кажется смешным твой пример «не слишком чистого небезопастного хака», который экономит пару строчек кода?

elrprt
() автор топика
Ответ на: комментарий от anonymous

Количество строк => читабельность

Отнюдь. Попробуй увеличить число строчек в какой-нибудь сложной реализации математического алгоритма.
Там, наоборот, большое количество символов - вред.

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

Отнюдь. Попробуй увеличить число строчек в какой-нибудь сложной реализации математического алгоритма.

Там, наоборот, большое количество символов - вред.

Читать умеешь? Я как раз про это и говорю. Компактный код проще понимать. Раздутый код понять невозможно. Код на VHDL всегда непростительно раздутый.

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

Представление - да. Другой вопрос из какой информации оно составлено - не всегда прямой.

Ну а у меня непосредственный, личный опыт.

который экономит пару строчек кода?

И таких «пар строчек» - по 30 штук на страницу кода.

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

Откуда у маленького ARM «гигабюджеты»?

Ну хватает же как-то 1500 (2008) ртов. Да и финансовые отчеты мне маленькими не казались (искать сейчас не готов).

Назови хотя бы три.

насчет ошибок - http://www.itsec.ru/newstext.php?news_id=48178 свои сейчас пропишу

elrprt
() автор топика
Ответ на: комментарий от anonymous

Ну а у меня непосредственный, личный опыт.

какой в общих чертах, если не секрет? т.е. твоя позиция - я работах над крупными передовыми проектами на Verilog и он более лаконичен и удобочитаем чем VHDL? Или есть еще что-то? Особое удобство для препроцессинга и т.п. Свой пример для Verilog ты сам охарактеризовал как не безопасный, но тем не менее задвигаешь между строк, что это правильный подход, раз так работает индустрия :) конкретно это я считаю не серьезно

elrprt
() автор топика
Ответ на: комментарий от anonymous

Назови хотя бы три.

Итак, три мои претензии к современному железу:
1. маркетинговое болото - пример AMD Bulldozer -
Не нравится насколько ожидания (в том числе и самой компании, судя по ранним презентациям) и обещания не сростаются с реальностью. Туда же можно отнести и моду на преукрашивание характеристик девайсов - каждый вендор считает площадь ПЛИС в своих попугаях, а обещанные новые возможности IDE оказываются на поверку сырыми и проч.

2. Закрытость средств проектирования (в отличие от ПО). Что бы там не использовалось в процессе (какой HDL и маршрут препроцессоров,. верификации) - оно все расценивается на много денех и полностью огорожено десятком вендоров.

3. Отсутствие новых революционных архитектурных решений (возможно, мне не заметно). Все крупные игроки максимально держатся за свои прежние наработки и мееедленно прогрессируют. Это субъективное мнение. Из-за чего такая ситуация сложно сказать однозначно - но от индустрии точно не исходит ощущения легкости и гибкости - возможно, причина в чрезмерной низкоуровневости HDL и в вопросе человеко-часов и малом количестве квалифицированных кадров, возможно в том, что «рынок и так удовлетворен» - х.з.

elrprt
() автор топика
Ответ на: комментарий от anonymous

Еще есть Odin II ( https://code.google.com/p/vtr-verilog-to-routing/ )

Ты на практике его использовал? На какой оно стадии готовности?
сейчас читаю доки, если еще знаешь подобные проекты - буду рад ссылкам

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

каждый вендор считает площадь ПЛИС в своих попугаях

Ничего, что у них структура логических блоков разная? Как такое вообще можно в единых попугаях выразить?

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

Я как раз про это и говорю. Компактный код проще понимать. Раздутый код понять невозможно.

А, да. Сорри. В этом я с тобой солидарен.
Мне приходилось выполнять тупые требования ТЗ при написании кода на Си++ ... заказчик их взял из своей C#-практики. Это было незабываемо.

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

Нет. Эквивалентная ёмкость будет меняться в зависимости от оптимизируемости каждого конкретного дизайна под конкретную структуру ЛБ. В итоге получим, что на двух плис с одникавым количеством попугаев, измеренных по какой-то базовой функции, один и тот же дизайн будет занимать разную площадь. Это не нужно никому. Нам, инженерам, в том числе.

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

какой в общих чертах, если не секрет?

Работал (и работаю) в одной из ранее перечисленных компаний.

Свой пример для Verilog ты сам охарактеризовал как не безопасный

Если у тебя есть только Verilog, то это небезопасно. А вместе со всеми сопутствующими технологиями это намного удобнее и надежнее, чем полагаться на анальную огороженность VHDL.

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

Ты на практике его использовал?

Нет. Только игрался с ним для собственных проектов. Получалось синтезировать полученный netlist для Spartan-ов (но place and route использовал все равно из ISE).

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

Вроде бы больше ничего нет.

anonymous
()

Toped, KLayout, Glade. Были ссылки в LOR-Wiki.

Что касается симуляции и синтеза - обе без привязки к таргет ПЛИСине не имеют смысла. Пользуйтесь продуктами Xilinx, Altera, etc, благо версии под Linux есть.

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

обе без привязки к таргет ПЛИСине не имеют смысла

Имеют. Cycle accurate симуляция от технологии не зависит вообще, всякие там block ram-ы можно в виде абстрактных моделей симулировать (см. Icarus). Информации о структуре ячеек ПЛИС вполне достаточно для синтеза, а без этого можно синтезировать опять же в абстрактный netlist для целей верификации и анализа.

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

Работал (и работаю) в одной из ранее перечисленных компаний.

Базовая рабочая ОС Windows или Linux?

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

Базовая рабочая ОС Windows или Linux?

Linux основная, но еще есть Windows XP в vmware player для всякой фигни вроде Outlook.

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

Прикольно, в Украине все конторы, где был за Windows усаживать пытаются. Но на самом деле тут по FPGA фактически все мертво или копеечно (по ASIC - тем более), приходится только с МСК работать и на себя.

elrprt
() автор топика

Если кому-то нужно будет — все будет хорошо, не бойся. Просто, похоже, эта отрасль нафиг никому не втарахтелась.

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