Перейти к содержанию
    

yes

Свой
  • Постов

    3 612
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

yes стал победителем дня 29 августа

yes имел наиболее популярный контент!

Репутация

7 Обычный

2 Подписчика

Информация о yes

  • Звание
    Гуру
    Гуру

Контакты

  • ICQ
    Array

Посетители профиля

17 931 просмотр профиля
  1. Спасибо. В общем сильно много добавилось со времен прошлого моего интереса к теме. Вроде бы эта табличка выше не упоминалась (извиняюсь, если все таки тут была ссылка) https://chipsalliance.github.io/sv-tests-results/ как стартовый список Удивительно, что даже какието формальные опенсорс тулзы появились. Я не проверял. ---------- что собрал, проверил и работает sv-parser (rust) verible slang ---------- проще всего приклеить к питону мне получилось (то есть из коробки заработало) sv-parser через svinst питоновский интерфейс Но наверно, кроме генерации кода, прикручу ещё lint из verible
  2. Спасибо. Вот ещё на rust https://github.com/dalance/sv-parser –--------–--------------–----------- Смотрю пока, прокомментировать и сказать, что подошло ещё не могу
  3. минимально нужно, чтобы разбирал иерархию, но если ещё умеет сигналы и их подключение к портам разбирать, то вообще замечательно. я посмотрел на PyHDI/Pyverilog - но как-то никакой из моих проектов он так сразу, без исправления кода, не отпарсил. Наверно, ограничено синтаксисом icarus verilog-а, по крайней мере, ему требуется что то от икарус-верилога. Посмотрел ещё парочку простых проектов, но там работает пофайлово, про иерархию вообще ничего нет... --- Пойдет и просто синтаксическое дерево для lex-yacc вроде бы в питон можно его засунуть. Не хотелось бы самому какой-то примитивный парсер ваять...
  4. А для std_logic_vector это работает? С любым векторным типом, для которого определен a xor b? Я не люблю vhdl и пишу на нем только тогда, когда это явно прописано в требованиях, это обычно в какихто сафети приложениях (не знаю, кто манагерам внушил, что вхдл более "надежный", но это отдельный вопрос) и там обычно стандарт 92го года разрешен, а 2008 запрещен... Не знал, что так можно.
  5. LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; -- assumed data type is STD_LOGIC (verilog reg/wire) USE ieee.std_logic_misc.ALL; -- required for XOR_REDUCE .... ^data_out_reg === xor_reduce(data_out_reg) .... a <= xor b; такого ни в верилоге, ни в вхдл нет.
  6. не смотрел параметры, но принцип работы таких устройств позволяет не особо напрягаться с долговременными ошибками инерциалки: там же ЖПС двухантенный, то есть RTK он считает раз 10 в секунду (меньше как-то стыдно в настоящее время), а инерциалка с МЕМСами чтобы между ЖПСных отсчетов как-то интерполировать
  7. UVM это ещё, и может даже больше чем библиотека, это методология, то есть набор правил. У меня впечатление, что все книжки и туториалы долбят - вот описывать только так драйвер, агент, окружение, тест, вот только такие колбэки/тлм ... это позволяет кучу взаимозаменяемых верификаторов быстро подготовить, чтобы заполнить множество верификаторских вакансий создать рынок VIP, то есть кусков кода (производные от базовых uvm классов), которые вкладываются на место этих "базовых кирпичиков" и позволяют симулировать стандартные протоколы. По-моему, когда есть эти либо купленные vip, либо самонаписанные, то тогда это похоже на софтверную библиотеку и позволяет решить какую-то задачу. А в самом/й uvm готового к использованию ничего нет и если пожертвовать возможностью применения third-party VIP и наймом дополнительных верификаторов, то проще жить без uvm. Я сам профессионально (то есть за деньги) uvm тестбенчи не писал, но очень много их читал 🙂 , ну и какие-то самодельные проекты для собственного любопытства. Поэтому не могу настаивать, что мое понимание 100% верное.
  8. Может я опоздал, но tcl это командный язык, что вобщемто отображено в его названии и исторически это был самый простой путь добавить интерфейс командной строки к своему инструменту. То есть "вкомпилированный" в тул тикль кроме самого языка - процедур, иф-элс, базовых типов поддерживает какието специфические команды, типа get_clocks, но это нестандартизировано и порой может быть достаточно странным - например, на мой взгляд, filter в синопсисовских и формальных тулах (наверно, похоже на map() или чтото такое, но синтаксис странный). В симуляторах на тикле можно делать то же, что и кнопками из гуи: старт, стоп, посмотреть значение, пофорсить сигнал и т.п. как правило, этот же тикль управляет и окошками. Конкретно в квесте возможности тикля, имхо, слабые по сравнению с нцсимом. Может не умею готовить, но в нцсиме почистить на тикле регистры от Х можно было, а в квесте не нашёл как. Также можно взять общечеловеческий tclsh и в нем писать командные скрипты как в bash, csh, python, Perl и т.д. Не считаю это удобным, но гуру тикля может быть удобнее, чем на баше (и я тиклевские скрипты встречал) По поводу UVM - тикль можно использовать для "регрессии" менять что-то в файлах запускать разные тесты с разными параметрами (uvm вобщемта имеет механизм взаимодействия с командной строкой и профи этим пользуются. Профи верификатору все эти вэйформы и отладка в симуляторе даром не нужны и только мешают). но, имхо, преимущества перед тем же башем в таком юзкейсе я вообще не вижу. Про какойто механизм типа DPI, VPI для тикля я не знаю, если такое есть, то нестандартное, несовместимое. Рантайм взаимодействие придется либо через файловую систему, либо через прокладку на С - DPI Резюмируя - так как тикль медленный и достаточно неудобный язык, не предоставляющий дополнительных возможностей для верификации, использование его както специально вместе с uvm кажется мне странным желанием и я не встречал такого использования
  9. Есть некий дурной вендор, который использует одно и то же имя для разных подмодулей. Verilog, не SV. Приходится компилить каждый модуль в отдельную библиотеку, то есть имеется некий verilog конфиг / файл мапирования. причем иерархия имеет VHDL прослойки, то есть в пути встречается разделитель иерархии :, а не все через . я не смог использовать "instance" в этом конфиге - либо ругается на синтаксис, либо не находит. config tb_me158_chip; design worklib.tb_me158_chip; default liblist worklib memlib mrxlib ambalib techcells me158lib baremem bus_safety canlib cmsdklib comsyslib cortexlib dmalib flinlib gcells gtm me158lib memlib memutils sentlib techcells coresightlib deblib flashlib; cell pfm_340gf34kx278_v1a3 liblist pfm_340gf34kx278; cell pfm_340gf16kx76_v1a4 liblist pfm_340gf16kx76; endconfig Смотрю xmls - все хорошо - в каждой библиотеке "правильный" субмодуль, лишнего нет. Но получаю ИНОГДА Resolved design unit 'main_sel' at 'tb_me158_chip.I_th@th_me158_chip<module>.I_me158_chip@me158_chip<module>.I_me158_dig_top@me158_dig_top<module>.I_sst_340gf_macros_wr@sst_340gf_macros_wr<module>.sst_340gf_macros_i@sst_340gf_macros(rtl):cflash_nvm_container_i1@nvm_container_me158_dataflash<module>.U_pfm_340gf16kx76_v1a4_0@pfm_340gf16kx76_v1a4<module>' to 'pfm_340gf34kx278.main_sel:v'. main_sel (main_sel,chpers,lck_cfg,nvr_cfg_en,nvr_en,arrdn_sel,cfgary_en); А иногда снапшот собирается и симуляция проходит. Этот main_sel - UDP. Что я делаю не так? Может есть какойто способ указать xrun как правильно линковать?
  10. Не могу сказать 100%, но близко к 90, что ограничений по возрасту в Европе нет, это же эйджизм. То есть за образование надо платить независимо от возраста, но сума несколько сотен в год и компенсируется работой на кафедре, которой всегда много. Например, ETH (это где Эйнштейн и половина нобелевских лауреатов учились) чтото типа 600 евро/год. Больше требуется на еду и оплату общаги или апартментов, но я спрашивал у студентов из РФ - говорят, что можно несколько работ на кафедре исполнять... ещё наверно, нужно на первый год предьявить какие-то сбережения, чтоб визу и ВНЖ дали - эта сумма от страны зависит. То есть европа, это не США, и образование там недорого, получать какую-то стипендию на обучение не надо, я не слышал про такие стипендии И ещё раз влезу, если уж наткнулся на тему - трудоустроиться верификатором гораздо проще, их на кубометр кремния раз в 10 больше надо. Если не смущает профессиональное призвание "сами не летаем, но и другим не даем", то есть поиск ошибок в чужом коде дизайне, а не написание своего...
  11. Не решал такую задачу, просто интересно, правильно ли понимаю Звук 340 м/с, отсчеты 44к (наверно можно и больше), то есть если 10см между микрофонами, то больше 10ти отсчетов разница, переотражений на такой длине нет, по крайней мере вначале выборки, то есть корреляционный пик должен быть виден четко. Можно потом хитро пересчитать, если свертка в соседних отсчетах или тупо интерполировать сэмплы и свернуть ещё раз для увеличения разрешения по задержке. Получим какие-то псевдодальности, на том микрофоне, который брали за референс 0, на остальных + или - сколько-то мм. Решаем геометрическую задачу (например, последовательными приближениями тем же рунге-кутом), скорость звука тоже можно взять переменной, если микрофонов хватает, тогда избегается проблема высоты над плоскостью и 2Д, но если не лень, то больше 3х микрофонов можно расставить не в одной плоскости и решать 3Д по взрослому. Ну и если координаты есть, то углы тоже... А для бимформинга никакие координаты не нужны - берем задержки с шага 1 (причем и интерполяция никакая не нужна) и складываем соответственно ???
  12. Сильно подозреваю, что совершенно без разницы, процессор делать или LDO - нет в РФ такого рынка (потребления) комплектухи, чтоб окупить разработку для розницы. А когда работа на "заказчика", то заказчику и тендеровыигрывателям проще освоить деньги "на аналоговнетный процессор", чем на разработку замены ldo. Да и с технической точки зрения - процессор сделать - есть инструменты/методологии и люди умеющие этим пользоваться, есть ворованое/опенсорсное/иногда самописное ИП - бери складывай как лего, а тот же лдо это уже арт оф дезигн, тем более если работающего прототипа нет и неизвестно, сколько кремния и времени понадобится, чтобы прототип хоть каким-то параметрам соответствовал.
  13. Если нет каких-то принципиальных сдерживающих факторов, то совет - подтяните разговорный английский чтобы сдать IELTS на 5.5 (имхо, не сложно) и поступите в европейский (германский например) вуз на бакалавра магистра. Средства на жизнь получите работая над всякими нир-ами в этом же вузе, а к концу обучения и в коммерческой фирме можно. Всяко пользы будет больше, чем от домашнего обучения или просиживания штанов в фгуп-е. Да, есть пока еще отечественные конторы, которые переняли и используют прогрессивные буржуйские практики, но я считаю, это все скоро о-фгуп-ится и средняя температура по больнице стабилизируется (извиняюсь за язык изопа)
  14. не уверен, что можно обсуждать тут, но хочу спросить: А кроме Valor-а, какая либо еще утилита с этим форматом работает?
×
×
  • Создать...