Modelsim中的Verilog语言使用
一、建立工程
1.在建立工程(project)前,先建立一个工作库(library),一般将这个 library 命名为 work。尤其是第一次运行 modelsim 时,是没有这个“work”的。但我们的 project 一般都是在这个work下面工作的,所以有必要先建立work。

2.点击 library 后会弹出一个对话框,问是否要创建 work,点击 OK。就能看见 work。

3. 如果在 library 中有 work,就不必执行上一步骤了,直接新建工程。

4.点击后会出现

5.在 Project Name 中写入工程的名字,这里我们写一个楼道灯,所以命名lightone,然后点击 OK。会出现

6.由于我是要仿一个自己写的程序,所以这里我们选择 Create New File。

7.在 File Name 中写入文件名(这里的 file name 和刚刚建立的 project name 可以一致也可以不一致)。注意 Add file as type 要选择成 Verilog(默认的是 VHDL),然后 OK。

8.发现屏幕中间的那个对话框没有自己消失,我们需要手动关闭它,点close。 并且在project 中出现了一个lightonetest.v的文件,这个就是我们刚刚新建的那个file。这样工程就建立完毕了。
二、书写代码
写主程序:双击lightonetest.v 文件会出现程序编辑区,在这个区间里写好自己的程序.
1.这时候记得保存文件,这时,只需要点击保存,就会发现“保存”的图标变成了阴影,这样编译才有效。


2.写测试程序,每一个主程序(实现我们需要的某种功能的程序),都要配套的编写一个测试程序,为了我们方便检测主程序的功能。

3.再次创建文件

4.书写测试代码


三、编译代码

编译成功后,文件后面的?变成了对勾,并且在最下方的 Transcript栏中出现了 successful字样,说明编译成功,否则会报错,就要回到程序中修改,只有编译成功后,才能往后面进行。

四、软件仿真
点击屏幕上方的simulate,再点击start simulate,再点击 work 前的“+”号,将其展开,会看到两个文件,文件名就是我们自己写的。



这样,看波形的窗口就会出现,将红色圈圈中的仿真时间步改成 1000ms,然后按旁边的运
行按键,波形就出现了。按住 ctrl 滚动鼠标滑轮可以缩放波形。

当 modelsim 在仿真中的时候需要停止仿真可以这样手动关闭,以便进行其他操作。

Modelsim中的Verilog语言使用的更多相关文章
- Verilog语言中的系统任务和系统函数
Verilog语言中预先定义了一些任务和函数,用于完成一些特殊的功能,它们被称为系统任务和系统函数,这些函数大多数都是只能在Testbench仿真中使用的,使我们更方便的进行验证. `timescal ...
- 基于MATLAB2016b图形化设计自动生成Verilog语言的积分模块及其应用
在电力电子变流器设备中,常常需要计算发电量,由于电力电子变流器设备一般是高频变流设备,所以发电量的计算几乎时实时功率的积分,此时就会用到一个积分模块.发电量计算的公式如下:Q=∫P. FPGA由于其并 ...
- Verilog语言实现并行(循环冗余码)CRC校验
1 前言 (1) 什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能, ...
- 87.在ModelSim中添加Xilinx ISE仿真库
在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...
- 在ModelSim中添加Xilinx仿真库
在ModelSim中添加Xilinx仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\Mode ...
- Verilog语言:还真的是人格分裂的语言
人气腹语术师天愿在现场披露了被人偶搭档夺取灵魂的腹语术师将妻子杀害的表演节目.天愿真的陷入了多重人格,命令自己杀害妻子和子的人偶的人格出现了.为了不(让自己)杀害和弟子登川有外遇的妻子,天愿提出委托想 ...
- Verilog 语言 001 --- 入门级 --- 编写一个半加器电路模块
Verilog 语言编写一个 半加器 电路模块 半加器 的电路结构: S = A 异或 B C = A 与 B 1. 程序代码 module h_adder (A, B, SO, CO); input ...
- FPGA基础(verilog语言)——语法篇
verilog语言简介 verilog语言是一种语法类似于c的语言,但是与c语言也有不同之处,比如: 1.verilog语言是并行的,每个always块都是同时执行,而c语言是顺序执行的 2.veri ...
- 从RTL视图到Verilog语言-转可乐豆原创
从RTL视图到Verilog语言 曾经听过某位大牛都说:“当你的学习FPGA到一个境界的时候,你看到的硬件描述语言,将不再是单纯的语言,而是由一个个逻辑门组成的电路图,一旦达到这个境界,方能把代码写到 ...
- quartus和modelsim中使用mif和hex文件
.mif和.hex文件都是Quartus支持的数据文件格式,常被用作内存初始化文件.可是,M odelSim却不支持.mif文件,只支持.hex文件格式,这意味着如果你的设计采用了.mif文件 ,你的 ...
随机推荐
- qgis中的时间格式化函数
为方便自己查询,尤其是年月日等在不同编程语言直接的差异,就从官方doc中截图放这
- C语言中的转义字符\b的含义
\b的含义是,将光标从当前位置向前(左)移动一个字符(遇到\n或\r则停止移动),并从此位置开始输出后面的字符(空字符\0和换行符\n除外) 参考: https://blog.csdn.net/har ...
- recastnavigation计算三角形离给定点最近位置方法简单注释
三角形 在recastnavigation中,三角形是最基础的元素,很多逻辑都是基于三角形进行的,其中比较常见的一个操作就是计算指定点到某三角形上的最近距离.由于三角形通常代表行走面,而给定点P可能是 ...
- FastReport 单元行自动换行 Table Object AutoSize
FastReport 官方实例138.fr3 有关于单元行自动换行的描述.The table object can grow depends on cells content. Notes:- set ...
- Finance财务软件(辅助核算专题)
支持辅助核算和数量核算
- MogDB 学习笔记之 -- PITR恢复
# 概念描述## 背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,MogDB的即时恢复功能(Point-In-Time Recovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间 ...
- C# 实现窗体底部滚动字幕
使用的控件 panel和label及其定时器. 实现原理 通过定时器定时将label的位置在panel上进行移动,实现滚动的视觉效果,此处将label放在panel上的好处是可以单独设置滚动字母的背景 ...
- 02、kafka介绍
001.kafka简介 kafka消息队列有两种消费模式,分别是点对点模式和订阅/发布模式.具体比较可以参考Kafka基础–消息队列与消费模式. 下图是一个点对点的Kafka结构示意图 produce ...
- Ubuntu tmux使用教程
sudo apt-get install tmux 安装tmux tmux new -s session_name 新开一个会话 tmux a -t session_name 查看指定会话 tmux ...
- vim ctrl+s 不能再操作
vim下编写代码不自觉按到Ctrl+S,此时vim就不能再操作了.发现vim下Ctrl+S是阻止之后的输入,可通过Ctrl+Q来解除.