Как стать автором
Обновить

Симуляторы компьютерных систем – похожи ли на реальность

Время на прочтение6 мин
Количество просмотров7.2K
Всего голосов 7: ↑7 и ↓0+7
Комментарии10

Комментарии 10

А когда будет продолжение?

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

У Synopsis есть такие девайсы, как HAPS, где набиты ПЛИСы Xilinx. Они довольно часто испольются при разработке софта, когда чипы ещё не готовы

Точно. Часто софт тестируют сначала на софтварных симуляторах, а потом вот на таких ПЛИС. В случае разработки не отдельного чипа, а целиком большой платформы, такие ПЛИС занимают целые шкафы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий