Как стать автором
Обновить
6
0
Лесных Алексей @alex_dzen

Руководитель разработки

Отправить сообщение
Ага, полностью согласен.
Пока непонятно к чему вы ведете, вступление затянулось.

На самом деле повествование уже вовсю идет. Есть ли какие-то моменты, которые вы ожидаете или хотели бы услышать? Я бы мог в следующих статьях рассказать про это подробнее.

Правильно ли я понимаю, что Simics таки умеет в режиме lockstep гонять с каким-нибудь coho/keiko трассы?

Мне кажется создалось ложное впечатление, что статья про Simics. Это не так. Симикс хоть и является полноплатформенным симулятором, но за прогоном трасс равно как и за микроархитектурой это не совсем сюда. Хотя наворотить можно все.

Еще вопрос, правильно ли я понял, что у вас так и не появился многопоточный режим исполнения, так как вы не знаете как сохранить детерминизм в этом случае? (Ну и кажется я припоминаю, что виртуализацию вы умели использовать для разгона симуляции, а если есть виртуализация, то и нет точного детерминизма, тогда непонятно почему также не сделать и с многопоточкой?)

У меня в Ауриге были проекты с несколькими симуляторами и гипервизорами, в том числе и проприетарными. Так что здесь надо понять, какой именно продукт имеется ввиду. Если вы про Simics, то многопоточный режим имеется уже довольно давно, и в статье про это есть четкое упоминание (см. раздел про производительность).

И пока далеко не ушли — таки придумали правильный формат многопроцессорных трасс, или по-прежнему гоняем однопроцессорные LIT-ы?

Честно говоря, с мультипроцессорными трассами не сталкивался. Общее назначение понятно, но интересно – у вас была конкретная практическая задача в проектах где было бы здорово такие трассы заиспользовать, можете поделиться?
Строго говоря, RTL и высокоуровневая модель неидентичны по определению, поэтому такой проверки нет. Они могут использоваться последовательно — сначала проверка на высокоуровневой модели, потом RTL и-или гибриды. Однако, бывают случаи, когда выявляются железные ошибки, запускаясь на функциональных моделях. Например, можно выловить ошибки логики в спецификациях или ошибки в описаниях регистров (read-only вместе read-write) до того как они перекочуют в железо.
Пару лет назад мы как раз камеру подключали к софтварному симулятору платформы :) Можно собирать гибридные схемы соединяя между собой симулятор софтварный, FPGA, реальное железо. Кстати если симуляторы типа Verilator, мы как-то исследовали его, которые позволяют запускать RTL. Насчет же целей использования, вопрос заслуживает отдельной статьи, и она кстати в планах — вкратце, можно и софт и писать, отлаживать и профилировать, делать так называемый, architecture exploration, валидировать и т.д.
SystemC — один из известных фреймворков, считается индустриальным стандартом. Однако не могу сказать, что большинство моделей написано с использованием SystemC. В принципе, написать модель можно используя любой язык программирования. QEMU написан на C, в Simics используется DML (препроцессор C), если используется FPGA, то это будет HDL, Verilog.
Точно. Часто софт тестируют сначала на софтварных симуляторах, а потом вот на таких ПЛИС. В случае разработки не отдельного чипа, а целиком большой платформы, такие ПЛИС занимают целые шкафы.
Планирую через пару недель. Кстати, а про что еще было бы интересно узнать?

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность