代码拉取完成,页面将自动刷新
[toc]
安装vscode之后安装 Verilog插件
sudo apt-get install iverilog gtkwave
iverilog -v
# 结果
# Icarus Verilog version 10.1 (stable) ()
gtkwave -v
# 结果
# GTKWave Analyzer v3.3.86 (w)1999-2017 BSI
下载地址iverilog.exe,下载完之后自带iverilog和gtkwave,勾选添加到环境变量,安装完成后需重启。
//led_demo.v
module led_demo(
input sys_clk,
input sys_rst_n,
output reg led
);
reg [7:0] cnt;
always @ (posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
cnt <= 0;
else if(cnt >= 10)
cnt <= 0;
else
cnt <= cnt + 1;
end
always @ (posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
led <= 0;
else if(cnt == 10)
led <= !led;
end
endmodule
//led_demo_tb.v
`timescale 1ns/1ps
module led_demo_tb;
reg sys_clk;
reg sys_rst_n;
wire led;
/*iverilog */
initial
begin
$dumpfile("wave.vcd"); //生成的vcd文件名称
$dumpvars(0, led_demo_tb); //tb模块名称
end
/*iverilog */
initial
begin
sys_clk = 1'b0;
sys_rst_n = 1'b0;
#60
sys_rst_n = 1'b1;
#1000 //仿真执行1000ns
$stop; //必须要这个,iverilog停止仿真
end
always #10 sys_clk = ~sys_clk;
led_demo led_demo_ut0 (
// Inputs
.sys_clk(sys_clk),
.sys_rst_n(sys_rst_n),
// Outputs
.led( led)
);
endmodule
iverilog -o wave led_demo_tb.v led_demo.v
vvp -n wave -lxt2
gtkwave wave.vcd
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。