首页/文章/ 详情

FPGA入门2——Modelsim仿真

1年前浏览363

Modelsim是我们使用FPGA绕不开的一个东西,所以一定要加强练习知道如何使用。

今天用Modelsim仿真一下昨天例子里的东西。

具体的要求和说明我一般在代码的注释里给出,就不过多介绍。

计数器
















module   ex_cnt(  input wire  sclk,//模拟晶振产生时钟震荡  input wire  rst_n,//模拟复位信号  output wire [9:0] cnt);//计数器reg  [9:0]  cnt_r;//寄存器变量
always @(posedge sclk or negedge rst_n)  if(rst_n == 1'b0)    cnt_r<=10'd0;  else     cnt_r<=cnt_r+1'b1;//0-1023-0-1023不断循环assign cnt=cnt_r;//仿真工具endmodule


大家要自己写一个测试程序























`timescale 1ns/100ps//延时的精度100ps为最小精度,单位时标声明//#10.11--->10.10module tb_ex_cnt;//测试模块没有输入输出,不需要端口列表  reg tb_sclk,tb_rst_n;//激励信号声明    initial//initial块内只能对寄存器变量赋值,上电初始化过程一次上电仅此一次    begin//begin在tb是顺序执行的    tb_sclk<=0;    tb_rst_n<=0;    #200.1    tb_rst_n<=1;  endalways #10 tb_sclk<= ~tb_sclk;//周期性一直存在的连续的信号用always,时钟信号周期反转//例化的方法 //原始模块的名字 例化的名字(可以自定义)ex_cnt  ex_cnt_inst(  .sclk  (tb_sclk),//模拟晶振产生时钟震荡  .rst_n  (tb_rst_n),//模拟复位信号  .cnt  (tb_cnt)//例化模块的时候如果原始模块是输出信号,那么括号内必须是wire变量);//计数器
endmodul

这个测试可以理解为你为自己的计数器提供信号激励。

仿真结果如下:(具体的软件使用流程,大家可自行百度

Modelsim软件的破解和下载,大家可以通过以下链接(仅供学习)


见附件


来源:集成电路小刚

附件

免费FPGA入门2——Modelsim仿真.txt
通用理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-27
最近编辑:1年前
集成电路小刚
硕士 立志成为集成电路领域专家
获赞 3粉丝 42文章 69课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈