verilog
Привет, мир
Поиск…
Компиляция и выполнение примера
Предположим исходный файл hello_world.v
и модуль верхнего уровня hello_world
. Код может быть запущен с использованием различных тренажеров. Большинство симуляторов составляют скомпилированные симуляторы. Они требуют нескольких шагов для компиляции и выполнения. Как правило,
- Первый шаг - собрать конструкцию Verilog.
- Второй шаг - разработать и оптимизировать дизайн.
- Третий шаг - запустить симуляцию.
Детали шагов могут варьироваться в зависимости от симулятора, но общая идея остается неизменной.
Трехэтапный процесс с использованием симулятора Cadence
ncvlog hello_world.v
ncelab hello_world
ncsim hello_world
- Первым шагом ncvlog является компиляция файла hello_world.v
- Второй шаг ncelab - разработать код с модулем верхнего уровня hello_world.
- Третий шаг ncsim - запустить симуляцию с помощью модуля верхнего уровня hello_world.
- Симулятор генерирует весь скомпилированный и оптимизированный код в рабочую библиотеку. [INCA_libs - имя библиотеки по умолчанию]
один шаг с использованием Cadence Simulator.
Командная строка будет внутренне вызывать требуемые три шага. Это должно имитировать более старый интерпретируемый стиль исполнения симулятора (одиночная командная строка).
irun hello_world.v
or
ncverilog hello_world.v
Привет, мир
Программа выводит Hello World! к стандартному выходу.
module HELLO_WORLD(); // module doesn't have input or outputs
initial begin
$display("Hello World");
$finish; // stop the simulator
end
endmodule
Модуль является основным строительным блоком в Verilog. Он представляет собой набор элементов и заключен между ключевым словом модуля и конечным модулем. Здесь hello_world является самым большим (и единственным) модулем.
Начальный блок выполняется в начале моделирования. Начало и конец используются для отметки границы исходного блока. $display
выводит сообщение на стандартный вывод. Он вставляет и заканчивает строку «\ n» в сообщении.
Этот код не может быть синтезирован, т. Е. Его нельзя поместить в чип.