首页 > 代码库 > 最简单易用的verilog学习练习工具silos初次使用。

最简单易用的verilog学习练习工具silos初次使用。

最近开始学verilog数字硬件语言编程,然而用什么解释器好呢?

有推荐modelsim+quartus的,太大了,10几个g,编写也麻烦。

尝试了好几回,决定用书上的silos,下载的话论坛有,但需要把一个dll替换(在xp的c:\windows\system32\下找到这个dll复制到silos文件夹下替换),运行于xp系统。

silos整个压缩包仅5m,解压也只是10多m,比起几个g,太方便了,且还是绿色版的。

换了dll的silos压缩包下载地址:http://eol.yzu.edu.cn/meol/common/ckeditor/openfile.jsp?id=DBCPDBDBDJDBDDDFDDCPHDGJGMGPHDDDCOHCGBHC

(本想传到csdn或百度盘,结果此刻都出问题了。)

练习verilog相当方便,与vc中练习c一样便捷。

首先打开silos文件夹下的sse.exe(我不太明白为什么不叫silos.exe),提示没找到工程文件,按确定不管他。


然后打开了,我们在project选新建一个project,为了方便,我在桌面建了个叫sil-test的文件夹,用来放这个项目的文件。


点保存之后,出现下面,要添加verilog文件了



于是,自己在文件夹下新建2个文本文件,在改名为v后缀名(一个作为verilog的module,另一个做test beach)。


刷新一下,双击添加,最后ok,然后silos状态栏会显示project的路径,虽然silos窗口里什么也没有(注意类型选择library而不是source)


然后随便找个编辑器往2个v文件塞代码,比如用ue,当然你也可以把v文件拖进silos里编辑。


我决定用vim编辑verilog代码,vim果然编辑器之神,识别出v后缀乃是verilog文件。


写写test beach



verilog的二输入与门代码

module and2 (x1, x2, z1);
input x1, x2;
output z1;
wire x1, x2;
wire z1;
assign z1 = x1&x2;
endmodule

testbeach

module and2_tb;
reg x1, x2;
wire z1;

initial
	$monitor ("x1=%b, x2=%b, z1=%b", x1, x2, z1);
initial
begin
	#0 x1 = 1'b0;
	x2 = 1'b0;
	#10 x1 = 1'b0;
	x2 = 1'b1;
	#10 x1 = 1'b1;
	x2 = 1'b0;
	#10 x1 = 1'b1;
	x2 = 1'b1;
	#10 $stop;
end

and2 inst1 (
.x1(x1),
.x2(x2),
.z1(z1)
);
endmodule


点击silos的go图标开始运行了,看到输出



go按钮往右第三个analyzer显示波形(需要自己添加要显示的端口)。

go按钮往右第四个,explorer,点击端口拖到analyzer,这个端口的波形显示出来了


可以重复添加端口,比如这样(看来代码有点问题,波形有点问题)


文件夹下,多了这么几个自动生成的文件。


好极了,改改那2个v文件就可以练习verilog了,silos果然不错。


最简单易用的verilog学习练习工具silos初次使用。