19.02.2016 Моделирование verilog
Материал из SRNS
Boldenkov (обсуждение | вклад) (→Создаём новую библиотеку. Пусть для примера она называется "tb":) |
Boldenkov (обсуждение | вклад) (→Компилируем файл verilog.) |
||
Строка 33: | Строка 33: | ||
== Компилируем файл verilog. == | == Компилируем файл verilog. == | ||
− | [[File:20160219_questa_compile.png]] [[File:20160219_questa_compile_2.png]] [[File:20160219_questa_compile_3.png]] | + | [[File:20160219_questa_compile.png]] [[File:20160219_questa_compile_2.png]] |
+ | |||
+ | Попутно указываем путь к подключаемым чере "`include" файлам, нажав кнопку "Default options": | ||
+ | |||
+ | [[File:20160316_MentorIncludeDIr.png]] | ||
+ | |||
+ | [[File:20160219_questa_compile_3.png]] | ||
== Запускаем симуляцию - без оптимизации! (Simulate without optimization) == | == Запускаем симуляцию - без оптимизации! (Simulate without optimization) == |
Версия 13:45, 16 марта 2016
Итак, задача состоит в том, чтобы с помощью Modelsim провести моделирование кода Verilog.
Создаём файл, который будем моделировать
`timescale 1ns/1ns
module tb();
reg clk = 1'b0;
always #5 clk=!clk;
reg [4:0] cnt=5'b0;
always @(posedge clk) begin
cnt <= cnt+1;
end
endmodule
module tb();
reg clk = 1'b0;
always #5 clk=!clk;
reg [4:0] cnt=5'b0;
always @(posedge clk) begin
cnt <= cnt+1;
end
endmodule
Первая строка задаёт темп моделирования. Строка "always #5 clk=!clk;" задаёт тактовый сигнал - каждые 5 интервалов времени, указанных в timescale. Остальной код тривиален.
Создаём новую библиотеку. Пусть для примера она называется "tb":
Компилируем файл verilog.
Попутно указываем путь к подключаемым чере "`include" файлам, нажав кнопку "Default options":
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.