2013-05-29 4 views

ответ

3

Ваш вопрос довольно широк/неопределен. но здесь идет.

Симулятор вооружения, из контекста того, что вы просите, скорее всего, является симулятором набора инструкций. Программное обеспечение, подобно процессору, декодирует инструкции, отслеживает регистры и имитирует выполнение (если инструкция добавляет 1 к r1, тогда у вас есть переменная в программном обеспечении, которая представляет r1, и вы добавляете ее к ней).

Симулятор verilog, на самом деле не отличается от другого. verilog - это язык аппаратного дизайна, прежде чем вы сможете его имитировать, вам нужно его скомпилировать. Как и любой другой язык высокого уровня, его нужно скомпилировать до того, что связано с целью. симуляторы будут иметь свои целевые логические блоки. Верилог скомпилирован до этих блоков, тогда эта логика моделируется, в отличие от симулятора руки. Для каждого тактового цикла вы обновляете входы для каждого логического элемента на основе вывода подключенного блока из предыдущего цикла, затем оцениваете каждый логический элемент и определяете выходы. повторяйте навсегда. для каждого симулятора verilog у вас есть другая цель по своей сути, отчасти потому, что вы (можете) получать разные результаты от каждого симулятора для того же кода. Аналогично, когда вы компилируете фактическую цель, fpga, asic и т. Д., Она компилируется иначе, чем симулятор (или может быть, зависит от среды, симулятора и т. Д.).

В любом из этих симуляторов нет никакой магии, симулятор набора инструкций, как правило, легко писать, стоящая задача для всех, кто хочет получить хорошее знание набора инструкций или того, как работают компьютеры (начните с чего-то маленький, как lc-3, должен занимать менее получаса). FAST симулятор, это еще одна история, но FUNCTIONAL симулятор довольно легко писать. После компиляции в список соединений из простых логических компонентов симулятор verilog также очень прост и просто самая большая задача, хотя это объем сигналов и элементов для оценки и анализа кода для получения списка сигналов и логических функций, и кто связан с тем, что , Не так просто, как симулятор набора инструкций, но вполне понятный, как он работает и что задача будет ... Verilator довольно круто, поскольку он превращает его в строки кода C++, много линий, а проект с хорошим размером может занять много часов до дней, чтобы скомпилировать даже на кричащей машине. (подсказка выключит осциллограммы, чтобы сократить время компиляции). Но задача понятна, когда вы смотрите на то, что происходит.

+0

Я пробовал поиск по Google, все, что я нашел, было документирование того же, но есть ли какая-либо ссылка, в которой говорится об этом симуляторе ARM? – chitranna

+0

нет «одного» симулятора руки, их много. –

+0

Я имею в виду любой из них для детального прочтения – chitranna

Смежные вопросы