首页/文章/ 详情

FPGA入门2——Modelsim仿真

1年前浏览229

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粉丝 34文章 69课程 0
      点赞
      收藏
      未登录
      还没有评论
      课程
      培训
      服务
      行家
      VIP会员 学习 福利任务 兑换礼品
      下载APP
      联系我们
      帮助与反馈