最近开始学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
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果然不错。
原文地址:http://blog.csdn.net/u010211892/article/details/40488669