fa
Feedback
positive slack

positive slack

رفتن به کانال در Telegram

Just yelling at pieces of silicon until they do what I want. ASIC/FPGA, HDL, UVM, embedded, memes, thoughts, etc. Feedback: @esynr3z Longreads: esynr3z.github.io

نمایش بیشتر
519
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز

در حال بارگیری داده...

کانال‌های مشابه
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسب‌ها
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '24
سپتامبر '24
+141
در 0 کانال‌ها
اوت '240
در 0 کانال‌ها
Get PRO
ژوئیه '240
در 0 کانال‌ها
Get PRO
ژوئن '240
در 0 کانال‌ها
Get PRO
مه '240
در 1 کانال‌ها
Get PRO
آوریل '240
در 0 کانال‌ها
Get PRO
مارس '240
در 0 کانال‌ها
Get PRO
فوریه '240
در 0 کانال‌ها
Get PRO
ژانویه '240
در 0 کانال‌ها
Get PRO
دسامبر '230
در 0 کانال‌ها
Get PRO
نوامبر '230
در 0 کانال‌ها
Get PRO
اکتبر '23
+5
در 0 کانال‌ها
Get PRO
سپتامبر '230
در 0 کانال‌ها
Get PRO
اوت '23
+6
در 0 کانال‌ها
Get PRO
ژوئیه '23
+8
در 0 کانال‌ها
Get PRO
ژوئن '23
+7
در 0 کانال‌ها
Get PRO
مه '23
+63
در 0 کانال‌ها
Get PRO
آوریل '23
+3
در 0 کانال‌ها
Get PRO
مارس '23
+8
در 0 کانال‌ها
Get PRO
فوریه '23
+17
در 0 کانال‌ها
Get PRO
ژانویه '23
+66
در 0 کانال‌ها
Get PRO
دسامبر '22
+9
در 0 کانال‌ها
Get PRO
نوامبر '22
+6
در 0 کانال‌ها
Get PRO
اکتبر '22
+25
در 0 کانال‌ها
Get PRO
سپتامبر '22
+8
در 0 کانال‌ها
Get PRO
اوت '22
+2
در 0 کانال‌ها
Get PRO
ژوئیه '220
در 0 کانال‌ها
Get PRO
ژوئن '220
در 0 کانال‌ها
Get PRO
مه '220
در 0 کانال‌ها
Get PRO
آوریل '220
در 0 کانال‌ها
Get PRO
مارس '220
در 0 کانال‌ها
Get PRO
فوریه '22
+2
در 0 کانال‌ها
Get PRO
ژانویه '22
+2
در 0 کانال‌ها
Get PRO
دسامبر '21
+6
در 0 کانال‌ها
Get PRO
نوامبر '21
+32
در 0 کانال‌ها
Get PRO
اکتبر '21
+3
در 0 کانال‌ها
Get PRO
سپتامبر '21
+7
در 0 کانال‌ها
Get PRO
اوت '21
+1
در 0 کانال‌ها
Get PRO
ژوئیه '21
+5
در 0 کانال‌ها
Get PRO
ژوئن '21
+5
در 0 کانال‌ها
Get PRO
مه '21
+2
در 0 کانال‌ها
Get PRO
آوریل '21
+13
در 0 کانال‌ها
Get PRO
مارس '21
+301
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
25 سپتامبر+2
24 سپتامبر0
23 سپتامبر0
22 سپتامبر+1
21 سپتامبر+2
20 سپتامبر0
19 سپتامبر+1
18 سپتامبر0
پست‌های کانال
Verilator + SVUnit [1] Теперь не просто домыслы, а твердое и четкое в release notes v3.37 неделю назад: Add support for Verilator #verilator #svunit @positiveslack

2
Verilator и UVM [4] Очередная серия. Недавно прошла конференция ORConf на которой был доклад про текущий статус верилятора и... он не показал особо ничего нового. Всё примерно дублирует информацию из предыдущего доклада, но добавились некоторые цифры и факты. Например, год назад верилятор в принципе не мог скомпилировать UVM, а сейчас только 40 строчек (!) из примерно 36к (кодовая база UVM) мешают осуществить полноценную поддержку. Ну и плюс, вскользь упомянутые, некоторые проблемы уже в рантайме. Прогресс мощный. Штош, подождем ещё. P.S. видео выложено на канале FOSSi Foundation, там есть видео и про иные опенсорс проекты в области чип-дизайна, возможно будет интересно. #verilator #uvm #verification @positiveslack
0
3
The Untapped Power of UVM Resources and Why Engineers Should Use the uvm_resource_db API Свежая статья от Клифа Каммингса для DVCon2023. TL;DR ◽️ UVM внутри имеет одну базу ресурсов, а uvm_config_db и uvm_resource_db это просто разные API для доступа ◽️ 90% инженеров используют uvm_config_db, потому что так издавна советуют кукбуки ◽️ API uvm_config_db было создано специально для удобства перехода от API set_config_*/get_config_* в OVM, и никогда не задумывалось как основное API ◽️ Именно uvm_resource_db задумывалось как основное API ◽️ API uvm_config_db имеет дополнительные ограничения относительно uvm_resource_db и фактически является его подмножеством ▫️ Скоуп привязан к компонентам ▫️ Нельзя брать ресурс по типу и скоупу (без имени) ▫️Нельзя использовать полноценные регулярки в скоупе, только glob ◽️ API uvm_resource_db не имеет ограничений выше, из чего следует что ▫️Можно создавать свои псевдо-скоупы, не привязанные к иерархии UVM компонентов ▫️Можно получать доступ к ресурсам из UVM объектов, и не нужно иметь поблизости ссылку на компонент для этого (например, сиквенсор для сиквенса) или знать его полный путь ▫️Получение ресурса менее ресурсоёмкая задача - не нужно внутри проверять что скоуп, это валидный путь среди компонентов ◽️ Многие отмечают неочевидность комбинации cntxt+inst_name в uvm_config_db для задания скоупа ◽️В uvm_resource_db скоуп задается просто строкой, что проще, однако предполагает что должны быть выработаны общие правила составления этой строки в проекте Общие советы: ◽️ Всегда проверять результат, возвращаемый геттерами БД вне зависимости от API - предсказуемость выше и легче отлаживать ▫️ Всегда делать это через if, а не assert, т.к. последний можно отключить намеренно или нет ◽️ Ограничить обращение к БД ресурсов в рантайме, т.к. положить и взять что-то из базы ресурсоёмкие задачи, и могут снижать производительность симуляции #uvm #verification @positiveslack
0
4
Why do you cry, Willy? [1] Интересные грабли. В VCS сигналы logic в портах модуля реализованы не по стандарту. По стандарту (раздел 23.2.2.3) вот эти записи должны быть эквивалентны: input logic [2:0] a input wire logic [2:0] a input wire [2:0] a input [2:0] a Но нет. В VCS input logic это по умолчанию var logic, а не wire logic. А это сильно бьет по всяким техникам из тестбенчей типа uvm harness (port coercion работает только с проводами) и разным хитрым драйверам. Про эту проблему можно найти посты на форумах (input port cannot be driven, bind port type logic). Интересно, что один юзер написал >SYNOPSYS has a switch for it. Ask their AE. Так вот, действительно есть ключ, с короторым можно получить поведение по стандарту. И, ожидаемо, он ни в какой документации не фигурирует 🙈 Этот ключ -sv_net_ports. #system_verilog #vcs #synopsys @positiveslack
0
5
Особый верификаторский юмор #meme @positiveslack
Особый верификаторский юмор #meme @positiveslack
0
6
SystemVerilog 2023 Teaser Великий Дейв поделился небольшим инсайдом о том, что мы увидим в новом стандарте SystemVerilog 2023. Из нововведений: ▫️ возможность изменения coverpoint при наследовании класса ▫️ функция map() для работы с массивами (как в питончике) ▫️ ifdef с логическими выражениями (A && B) ▫️ многострочные string ▫️ и другое #systemverilog @positiveslack
0
7
Установка Modelsim в Ubuntu https://gist.github.com/esynr3z/cd70859b4e20775c3b6a38c91ac81588 Кто хоть раз ставил раньше модельсим знают, как надо было мучительно доставлять пакеты, даунгрейдить пакеты, править скрипты. Однако, многие проблемы были пофикшены в недавних версиях и теперь молельсим можно поставить в пяток команд. В гисте выше используется бесплатная интеловская версия. Приятно, что, зная прямую ссылку, можно скачивать без всяких регистраций/логинов на сайте. У меня этот скрипт даже какое-то время в CI гитхаба крутился. А что, интернет канал там жирный, полная установка с нуля занимала ~5 минут. P.S. скрипт как есть, на последних версиях модельсима и убунты не проверял. #eda @positiveslack
0
8
Verilator + SVUnit Хм, тут в линкеде пишут что Verilator, начиная с версии 5.010, поддерживает уже достаточно фич несинтезируемого подмножества, чтобы полноценно запускать SVUnit. Повод поэксперементировать. P.s. напоминаю, что ребята из CHIPS Alliance обещали работающий в вериляторе UVM тестбенч к концу 2023. Держим кулачки. #verilator #svunit @positiveslack
0
9
Простой бенчмарк для HDL-симуляторов https://github.com/punzik/simbench N PicoRV32 ядeр молотят MD5 от блоков размером M. В readme даже есть некоторые результаты похожие на правду. P.S. По каким-то причинам в открытом доступе нет ни готовых бенчмарков, ни результатов сравнения производительности основных симуляторов на типичных задачах. Картельный сговор? Лицензионные ограничения? NDA? Технические сложности? #eda #performance @positiveslack
0
10
chrome-tracing как фронтенд для ваших логов Есть такая утилита в браузере для профилирования производительности: chrome://tracing (просто вбить в строке адреса). И для меня стало открытием то, насколько она универсальна, и что часто ей пользуются совсем не веб-разработчики. А всё потому, что всё что она делает это принимает json со списком событий (самих типов событий десяток) и отрисовывает их на временной шкале. А также даёт сносный UI для манипуляций и инспекции. Попробуйте или погуглите как это выглядит. Это всё значит, что можно сконвертировать любой лог трассировки в определенный json формат и изучать полученные диаграммы глазами. Просто, бесплатно, и не выходя из браузера. Ну почти, конвертер в json написать придётся только. Звучит как отличное подспорье для любых железячных инженеров - логи трассировки есть везде, и в эмбеддед, и в моделях (RTL и иных). Бывает полезно протокол какой-нибудь потрассировать, да и измерение производительности в программно-аппаратных системах никто не отменял. ▫️ The Trace Event Profiling Tool ▫️ Описание json ▫️ Статья про кастомное использование этой утилиты ▫️ Другая статья про кастомное использование #tracing #profiling #tool @positiveslack
0
11
Celebrating 10 years of making verification fun again Тут оказывается на днях был юбилей у cocotb. По сравнению с "консервативными" инструментами конечно пшик, но тем не менее какая-то зрелость была достигнута. Сейчас вижу что больше и больше команд начинают его использовать и тянуть в прод. Вплоть до того, что новые проекты, где нет випов или наработок больших, сразу начинают на нём. И те, кто вкусили его однажды, больше не особо горят желанием возвращаться на SV почему-то. Из статьи выше узнал, что оказывается Aldec и Siemens даже предоставили лицензии на симуляторы и поддержку разработчикам. Лайк таким вендорам (*synopsys и cadence, смотрю на вас с укором*). Есть конечно куча шероховатостей, да и общей методологии нет, и кто во что горазд пилит. Но и это должно устаканиться со временем. #cocotb #verification @positiveslack
0
12
Verification of Chisel Hardware Designs with ChiselVerify Интересная и относительно свежая (февраль 2023) штука из мира Chise
Verification of Chisel Hardware Designs with ChiselVerify Интересная и относительно свежая (февраль 2023) штука из мира Chisel. Академики выкатили библиотеку ChiselVerify. С ней, верификация на Scala уже становится как-будто похожа на традиционную в SV: Our work supports functional coverage, constrained random verification, bus functional models, and transaction-level modeling in a verification library named ChiselVerify, while the formal methods are directly integrated into Chisel3. До этого был доступен лишь ChiselTest, который умел лишь "peek (read value from circuit), poke (write value to circuit), and step (advance time) operations". Чем бы инженер не тешился, лишь бы на верилоге не писать =) #chisel #verification @positiveslack
0
13
Мутационное тестирование В сегодня лет я узнал что существует такой подход как мутационное тестирование. Идея супер проста. Вот есть у нас тесты с автопроверками, но мы уверены что они действительно работают? Можно писать тесты для тестов, но так можно и ценарий для Нолановского фильма написать ненароком. А так, берём "мутируем" нашу программу/дизайн - вносим ошибки по определенным правилам во всякие логические выражения и не только. И дальше ждём что тест(-ы) упадут. Если тесты не упали, то возможны разные варианты в том числе то, что тест криво написан. Такой брутфорс для оценки качества тестов. Более того, такой инструмент есть во многими любимым Yosys для HDL. А у big3 есть такое? Или кто-то юзал подробный подход на практике? #verification #testing #mutation @positiveslack
0
14
Формальная верификация с SymbiYosys https://fpga-systems.ru/formal-verification-with-symbiyosys Респект @punzik за статью! #formal #verification @positiveslack
0
15
Any programmable logic: *exists* Olof Kindgren: Hey, do you think we can run SERV on that thing? Ref: linkedin, @neerps #meme+1
Any programmable logic: *exists* Olof Kindgren: Hey, do you think we can run SERV on that thing? Ref: linkedin, @neerps #meme @positiveslack
0
16
Integrating the Language Server Protocol in Verible Возможно я один такой слоупок, но оказывается в verible активно пилят language server и даже статью вон вчера выпустили на эту тему. Что это даёт. Можно в файлах релиза найти verible.vsix - это расширение VSCode, которого нет в маркете и которое надо ставить руками. Оно должно сделать разработку на SV такой, какой она должна быть вместе с: ▫️Linting - проверка стиля на соответсвие правилам ▫️Formatting - думаю понятно ▫️Outline - дерево модулей, классов, функций и прочих блоков ▫️Go-To-Definition - прыжки на определение выделенной переменной/символа Всё это так или иначе есть и в других SV плагинах в VSCode, но там оно работает чаще всего плохо. Есть надежда что развивающийся verible когда-нибудь должен побить всё остальное. Пока что сходу расширение у меня не завелось полностью - только форматирование нормально работает похоже. Может редактор надо обновить или ещё что. Если у кого вдруг работает хорошо - пишите рецепт в коментах. P.S. сам verible необходимо предварительно установить для работы расширения. #verible #tool @positiveslack
0
17
#memes @positiveslack
#memes @positiveslack
0
18
RISC-V ISA online string decoder Забавно. С расширениями RISC-V уже так далеко зашли, что стали нужны декодеры названия архитектуры процессора, чтобы не запутаться😅 https://rv.drom.io https://github.com/drom/rv #riscv @positiveslack
0
19
Давид против Голиафа Крайне занимательная история о том, как Ядро, Хуавей и немного других игроков боролись за 700 сотрудников ушедшего Интела. Повествование от лица Хуавея. Читать отсюда и 8 постов вниз. #industry #intel #huawei #yadro @positiveslack
0
20
Make Verification Fun Again with Python and cocotb Philipp Wagner https://youtu.be/EK7yvowRngQ Довольно неплохой и свежайший обзор cocotb. Презентация в коментах. #verification #cocotb #python @positiveslack
0