Pull to refresh

Comments 51

"В 1997 году в Scientific American появилась статья о реконфигурируемом компьютинге, согласно которой построенные на ПЛИС компьютеры открывали новую эру" - тут можно упомянуть и первый Российский компьютер на ПЛИС - Спринтер 1997

До, но и ПЛИС были не российские (Altera) и функциональность у них была вспомогательная, процессор был не ПЛИС, а вполне себе нативный Z84C15.

Можно надеяться, что аналоги такого сервиса сделают и в России на базе...

Из каких соображений? к 2070му году? Не вижу повода для таких надежд.

Готовы спорить со мной на деньги по поводу даты появления шаттл-сервиса для университетских чипов в России?

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

MPW-2023

Результаты первого запуска производства микросхем по системе MPW ожидаются
к концу 2023 года

Конец наступил, результаты есть?

мне говорили месяц назад что в декабре первая пластина по этому сервису

Судя по этой новости, микросхемы уже произведены и к концу года их передадут заказчикам.

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

может быть создана методология проектирования с использованием асинхронных элементов вместо традиционной

Вроде уже создана какая-то, с названием что-то типа "delay-insensitive". Строб передаётся во 2ом проводе рядом с битом данных, активно используются асинхронные хендшейки и C-элементы (https://en.wikipedia.org/wiki/C-element). Даже целый процессор сделали: https://en.wikipedia.org/wiki/AMULET_(processor). Но не взлетело, я предполагаю потому что во-1 тулы не готовы для такой асинхронщины, во-2 оно без клока, зато логики физически больше получается, а следовательно утечки возрастают по сравнению с эквивалентной клоковой логикой (где клок и отключить можно). Хотя может у меня устаревшие сведения.

Да, я работаю с одним из создателем Амулета. Эта тема поднималась много раз за 70 лет, примерно как ИИ. Может на какой-то итерации взлетит.

А где почитать что сулит переход к асинхронщине и, соответственно, чем плохи синхронные схемы?

В прошлом веке мне довелось делать сложный микропроцессор который работал без клока. Где-то внутри для передачи информации использовалась парафазность, т.е. два провода вместо одного. Вначале оба провода загоняются в 11, а потом по ним передается инфа. На конце детектируется разность. Некоторые модули (регистры , ALU) хорошо подходили под такой прием, но многое никак. В итоге приходилось делать то, о чем Вы писали. Чаще всего добавлялись банальные задержки, имитирующие наиболее критичный путь в логике. Особенно прикольно было с внешним интерфейсом. Предполагалось , что к внешнему контакту подключена какая-то емкость и вот по её разряду-заряду и бралось время :) Этот ужас так и не дошел до изготовления, хотя во всех симуляторах работал :)

Для чего хороши ПЛИС

Также ПЛИС хороши для применений, где спектр выполняемых задач не очень чётко сформулирован, не устоялся или быстро изменяется. Например, так FPGA-акселераторы заняли свою нишу в датацентрах. Там было много разнородных задач, которые требовалось ускорить, но непонятно в каких пропорциях (пропорции ещё и изменялись с течением времени, а также в зависимости от локации и т.д.). В некоторых случаях тиражи составляли миллионы таких акселераторов, а бюджет -- миллиарды долларов. Другим таким применением стали базовые станции 5G, где параметры обработки сигналов, алгоритмы предобработки и прочее меняются быстрее и чаще, чем есть возможность и экономическая целесообразность выпускать под это ASIC.

А вот еще из опыта. ПЛИС прочно и надолго, судя по наблюдению, засели в медицине, конкретно я наблюдаю их в УЗИ аппаратах на формировании уз картинки ( как на формирование луча, так и на обработке эхо сигнала) на выходе платы имеем vga либо hdmi на который накладывается интрфейсная картинка с обычного пк и все это на дисплей. И я подозреваю тут коммерческий интерес. Опция типа эластографии стоит 2000 - 3000$. А делается прошивкой... А прошивка аппарата - это несколько файлов для ПЛИС как раз. Ну тут еще и мелкосерийка. Они бы и рады asic, да дорого.

Для чего хороши ПЛИС

В ветке DIY это почти для того же самого, для чего применяют Arduino. Лет 10 назад замечательным примером был Marsohod, вероятно и сейчас остается.

1--Какой путь проходит verilog файл с момента написания до кристаллизации в микросхеме?

2--На фаб отправляют бинарный файл или текстовый?

3--Фаб сделает чип, если им просо verilog код послать?

1) порядка 20 шагов. Вот один из вариантов - Open Lane с открытыми тулами

2) Бинарный GDSII, но его можно представить и в текстовом виде - это типа язык описания полигонов, геометических фигур, соответсвующих разным слоям

3) Если с фабом связана сервисная компания которая предоставляет услуги по backend-design - можно сделать такой контракт. Скажем VeriSilicon

Посоветуйте компактную FPGA плату, где есть аудиокодек.

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

и вот такой микрофон

Например

Или скажем

или

https://www.aliexpress.us/item/3256804505446046.html

или

это только компактные, но вообще вариантов еще штук 50

Есть ли в ToolChain(е) FPGA разработчиков утилита на примере Graphviz, которая бы по коду строила схему?

Чтобы пишешь код, запускаешь утилиту и получаешь pdf/svg со схемой электрической цепи / схемы, которые уже скомпонованы как планарный граф.

В Yosys тулчейне широко используется именно Graphviz.

Graphviz так себе трассировщик.
Мало что можно настроить в Graphviz  .
Даже повернуть узлы на произвольный угол нельзя.

Согласен. Но, как говориться, за неимением другого имеют то, что есть. :)

Но ведь Altuim Designer как-то автоматически трассирует электронные платы?
Значит есть альтернатива.

Системы на кристалле ведь тоже разводят автоматически. Так?

Я не совсем понял причем тут Altium и трассировка плат. Синтез и плэйсмент для ASIC и FPGA производятся автоматически, в то время как печатные платы в подавляющем большинстве случаев трассируются вручную. Если говорить об open source тулчейне - это Yosys и NextPNR. Graphviz используется для визуализации синтезированного нетлиста (схемы). Т.е. иногда дизайнеру хочется посмотреть, во что же на самом деле выродилось его творчество описанное на Verilog-е, он натравливает на синтезированный нетлист утилитки netlistsvg или graphviz и с умным видом смотрит на весь этот бардак. :)

Синтез и плэйсмент для ASIC и FPGA производятся автоматически, в то время как печатные платы в подавляющем большинстве случаев трассируются вручную.

Это с каких пор проводники на кристалле стали разводить автоматически? Подозреваю что с 198x...

И почему тогда PCB всё еще разводят вручную?

PCBшки они же проще чем SoC.

PCBшки они же проще чем SoC.

По этому разводятся вручну.

Топология кристаллов на финальной стадии тоже дорабатываетcя вручную, AFAIK.

Визуализация графов на всех этапах синтеза, mapping-а и после place & route? Да, есть конечно, хотя ее редко используют. Причем на разных уровнять - абстрактном логическом графе, mapped на ячейки FPGA и после размещения:

Абстрактный граф:

После отбражения на конкретные ячейки FPGA:

После размещения (Altera Quartus Chip Planner)

В ToolChain(не) для синтеза BitStream(ов) для FPGA тоже используют CMake?

Все кишки современного Quartus, Vivado, Gowin IDE я не знаю, но раньше (во времена Synplify в 1990-х) не использовали. А почему это принципиально?

Внутри каждого современного телефона несколько микросхем ASIС.

Несколько микросхем ASIС что?

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

Наверное, на фабриках с технологиях производят не конечные устройства, а чипы для них?

У меня специально для таких вопросов есть вот такая картинка, что делают различные ASIC-и внутри телефона. Картинка осталась от презентаций MIPS / Imagination Technologies:

Да я про то, что у вас первое же предложение без сказуемого.

Чипы вроде как есть, а работают они там или есть просто по фану - ?

И что, до сих пор на Verilog пишут? Я лет 10 назад разговаривал с чуваком из Broadcom и он уже тогда утверждал что у них только System C, а Verilog слишком низкоуровневый.

Я вас скажу даже больше. Я еще в 1996 году встретил на выставке Design Automation Conference продажника из Synopsys, который говорил "через пять лет все будет телевидением все будут писать на C++". Даже я лично потратил несколько миллионов долларов инвесторов в своем стартапе, в котором написал тул для трансляции из C в Verilog, причем этот тул использовали еще 25 лет назад Hitachi и Fujitsu, а потом стартап купил Synopsys.

Так вот. Synopsys еще в 1998 году попытался надавить на RTL инженеров, чтобы те писали на SystemC. RTL инженеры матюкались, потому что они не хотели разбираться, когда вылезала какая-то непонятная ошибка в templated С++ классах для сигналов или bit-accurate types.

Далее выяснилось, что для типичного дизайнера проще написать код на верилоге для конвейера вручную, чем массажировать C++ код прагмами #pragma.

Также выяснилось что в части симуляции SystemC не быстрее, а медленнее, чем высокопроизводительные компилирующие симуляторы типа Synopsys VCS.

Тогда маркетологи Synopsys-а сделали ход конем и в начале 2000-х попробовали продавать SystemC европейским компаниям под соусом "а давайте делать на SystemC высокоуровневое транзакционное моделирование, так как C++ программистов больше, чем дизайнеров на Verilog, и кроме этого в C++ есть сложные структуры данных, а в Verilog их нет (не было в 2000 году)".

Ваш приятель в Broadcom возможно одна из жертв этих маркетеров. До сих пор есть куча компаний, в которых модели написаны на SystemC, хотя по части сложных структур данных начиная с 2002 года (покупки Synopsys-ом языка Superlog, который стал основой SystemVerilog) в SystemVerilog все стало хорошо.

Короче: SystemC так и остался нишевым средством высокоуровневого моделирования (но не языком для синтезируемых дизайнов) и более того, после 2010 года его компании стали постепенно из разных мест удалять.

Общемировой показатель VHDL 5 лет назад был более 50%. А вы говорите Verilog...

Это странный показатель. Если приплюсовать все студенческие проекты, которые профессора дают в качестве курсовиков в Западной Европе и Южной Америке (в этих местах профессора любят VHDL), то так наверное и получится.

Но в индустрии крупные компании в основном используют верилог / SystemVerilog за некоторыми исключениями. Например Imagination Technologies использовала VHDL для PowerVR GPU, который стоял в первых четырех Apple iPhone, и в переписанном Appl-ом виде там до сих пор.

Даже американские военные и космические люди, которые изначально стандартизовались на VHDL, последние лет 10 все больше используют верилог. Некий контрактор на конференции DVCon в Сан-Хосе в 2010(?) году говорил что использует VHDL для RTL и SystemVerilog для тестбенчей (ранее использовал комбинацию из VHDL RTL и Specman e для верификации).

В общем моя позиция: на VHDL писать можно, но в большинстве крупных электронных компаний нынешние студенты будут писать на верилоге, поэтому для вводных курсов стоит учить его. Плюс в SystemVerilog быстрее водятся технологии верификации и лучше поддержка их тулами.

Учить два языка сразу - это имхо не очень эффективно, так как из-за нехватки времени получится, что студенты будут писать примитивные вещи и на одном, и на другом языках (типа мультиплексоры, FSM), но у них не хватит времени или внимание на освоение микроархитектурных задачек на конвейеры и FIFO, которые спрашивают на интервью.

Вот, даже статью отыскал: https://habr.com/ru/articles/417953/

Вряд ли это странно, так как на VHDL очень много легаси тянется и всё же ещё много олдовых разрабов. Мне VHDL нравится за строгую типизацию, строгий контроль и стиль кода, хотя это уже вкусовщина, конечно. А молодежь, конечно, воротит нос от громоздких конструкций VHDL)

В VHDL типизация немного бардачная. Зачем в std_logic столько значений? Почему есть не вполне совместимые пакеты numeric_std и std_logic_arith?

При этом в numeric_std, чтобы написать a = b + c и при этом сохранить перенос, нужно писать:

a <= std_logic_vector (resize (unsigned (b), 4) + resize (unsigned (c), 4))

Даже спорить не буду в этом плане) Разрабы со стажем уже просто походили вдоволь по этим костыльным моментам и у выработали свои "шапочки" подключаемых библиотек "чтобы было всё нормально".

Именно легаси, и именно олдовые разрабы. Спорить бесполезно. Но аргументы в пользу vhdl есть: тот же record, который позволяет подключать тяжёлые шины в пару строчек, а на verilog надо писать целые простыни. У SystemVerilog в этом плане вообще все хорошо с его интерфейсами.

The previous release, VHDL 2008, is still not completely supported by simulators, and synthesis support is rare.

Хотя вивада и поддерживает синтез VHDL-2008 (но надо отдельно для каждого файла это свойство указывать), надежды на широкую поддержку 2019 как то мало.

То что написано в этом тексте - это по моему персональному восприятию в Долине перекошенная картина, с желанием перетянуть одеяло на VHDL каким-то не вполне честным способом. Я подозреваю (я написал развернутый коммент выше) что в графиках от Siemens они приплюсовали все студенческие проекты, которые профессора дают в качестве курсовиков в Западной Европе и Южной Америке (в этих местах профессора любят VHDL). А смотреть нужно по дизайн-командам в электронных компаниях, особенно проектирующих массовые продукты, а также по стартапам.

Там на графиках Verilog и SystemVerilog представлены раздельно, если просуммировать, то Verilog явно в окажется в фаворитах. При чем последний в сторону роста популярности, в то время как у VHDL - спад. Где-то там же прочитал, что VHDL остался сейчас по большей части в военке и в космосе и то по причине норм и требований 20-30 летней давности, молодежь осваивает его с неохотой.

Ах, вот оно что - а я с первого взгляда разделение не заметил

Sign up to leave a comment.