Modelsim与Verilog入门

0.什么是Modelsim?

Modelsim是一个支持多语言的仿真环境,比如我知道的Verilog和VHDL语言都可以在里边使用,这俩都是硬件描述语言;

即就是个软件,你可以用Verilog语言来写代码,然后编译,仿真出波形.....

软件图标长这样:

1.什么专业学习它,以及它可以干什么?

我知道的:计算机科学与技术本科阶段是要学的,然后体系结构的硕士也可以学习,IC设计类专业那就更要学(另外如果是萌新要了解IC的话,可以看这个知乎链接);

B站上陈硕大佬讲了几节课,也可以看看,新手勿进,B站链接

2.你应该怎么学习?

西安交大的这个36页的讲义值得一看;

南京大学的这个实验指导书更是值得一看,比前者更全;

牛客有大量练习Verilog的题目,从入门到进阶都是不错,请点击链接

要想有更深入理解,看书是必要的,推荐一下**《**Verilog HDL高级数字设计》一书;

如果英语不错,请看ModelSim User's Manual

再往后,就请联系学校老师,看能不能进入实验室做些什么,一来可以精进技能打打比赛,二来为将来升学就业打下基础,切忌闭门造车;

3.Modelsim软件下载:

点击百度网盘链接下载;

下好后,移动到某个僻静的位置,解压,双击exe,一路next即可,如果弹出是否创建快捷方式,同意即可。具体可以看这个知乎链接,讲的不错。

如果"一切顺利"的话,你大概会遇到这么一个问题:

解决方法一:

那个知乎链接中说的开头复制粘粘破解文件那一步,那两个mg开头的文件先不要复制粘粘,等到变量名修改完之后再替换。在系统环境变量中把变量名MGLS_LICENSE_FILE改成LM_LICENSE_FILE

法一不行的话,请看法二:

链接,即:环境变量有问题,你看下你的环境变量的值是不是下图这样子,变量名以LM开头,它的值以LICENSE.TXT结尾。如果不是,请更改你的环境变量;

法二都不行,你就别折腾电脑了,去买个正版......

4.实现一个与门:

New-File-Project,依次点击;

再来一个:

然后close;

此时你得到了两个文件,都是问号,你双击编辑它,或者右键然后Edit也可以;

源代码在下边;
【注】:我是在vscode中编辑代码的,你可以直接在Modelsim中写代码;

源代码:

复制代码
module and_gate(

input in1,
input in2,
output print
);
assign print=in1&in2;
endmodule

`timescale 1ns / 1ns

module and_gate_test;

  reg in1, in2;
  wire print;

  and_gate and_inst (
    .in1(in1),
    .in2(in2),
    .print(print)
  );

  initial begin
    in1 = 0;
    in2 = 0;
    
    #10 in1 = 0; in2 = 0;
    #10 in1 = 0; in2 = 1;
    #10 in1 = 1; in2 = 0;
    #10 in1 = 1; in2 = 1;
    #10 $stop;
  end

endmodule

右键你写好的文件,然后像上图一样(Compile All),如果文件从问号变为了对号,说明编译成功了(你也可以看下边):

然后,点击底部的Library:

右键你的测试文件(有timescale的那个文件);

点击Simulate后会进入下图;

右键点击箭头所指文件:

【注】:如果出来弹窗问你是否要quit?点击否;

你应该可以看到波形了,与门是全为真结果为真,反之为假;

怎么退出仿真波形呢?

看到下面这个transcript了嘛?

输入quit -sim回车即可退出;

关闭仿真也可以点击菜单栏中的End Simulation而不去在命令行中输入quit -sim,如下:

另外一个补充的点就是你可以直接对于变量赋值(在你右键Add Wave之后):

赋值后再点击Run;

5.写在最后:

以上都基于我浅薄的理解,如有不对之处,请评论区指正,感谢。

6.参考链接:

链接1

链接2

相关推荐
坏孩子的诺亚方舟4 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐4 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐4 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH5 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡5 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安5 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐6 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯6 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客6 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA6 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发