当前位置:   article > 正文

quartus Ⅱ 12.1 使用教程(2) modelsim 仿真_quarters2输入modelsim

quarters2输入modelsim

鉴于每次modelsim时间长了不用就忘记怎么使用,所以这里就直接写一篇,以后忘记了直接来看这个使用教程

所要仿真的工程只是一个简单的频率输出工程,将输入的50M时钟计数100次翻转一次,然后输出这个时钟

原工程程序

  1. module clk_out_test(
  2. i_clk,
  3. i_rst_n,
  4. clk_out
  5. );
  6. input i_clk;
  7. input i_rst_n;
  8. output clk_out;
  9. reg [6:0] count;
  10. reg clk_out_reg;
  11. always@(posedge i_clk or negedge i_rst_n)begin
  12. if(i_rst_n == 1'b0)
  13. count <= 7'd0;
  14. else if(count == 7'd99)
  15. count <= 7'd0;
  16. else
  17. count <= count + 1'b1;
  18. end
  19. always@(posedge i_clk or negedge i_rst_n)begin
  20. if(i_rst_n == 1'b0)
  21. clk_out_reg <= 1'd0;
  22. else if(count == 7'd99)
  23. clk_out_reg <= ~clk_out_reg;
  24. else
  25. clk_out_reg <= clk_out_reg;
  26. end
  27. assign clk_out = clk_out_reg;
  28. endmodule

仿真激励文件

  1. // Copyright (C) 1991-2012 Altera Corporation
  2. // Your use of Altera Corporation's design tools, logic functions
  3. // and other software and tools, and its AMPP partner logic
  4. // functions, and any output files from any of the foregoing
  5. // (including device programming or simulation files), and any
  6. // associated documentation or information are expressly subject
  7. // to the terms and conditions of the Altera Program License
  8. // Subscription Agreement, Altera MegaCore Function License
  9. // Agreement, or other applicable license agreement, including,
  10. // without limitation, that your use is for the sole purpose of
  11. // programming logic devices manufactured by Altera and sold by
  12. // Altera or its authorized distributors. Please refer to the
  13. // applicable agreement for further details.
  14. // *****************************************************************************
  15. // This file contains a Verilog test bench template that is freely editable to
  16. // suit user's needs .Comments are provided in each section to help the user
  17. // fill out necessary details.
  18. // *****************************************************************************
  19. // Generated on "08/04/2019 18:04:20"
  20. // Verilog Test Bench template for design : clk_out_test
  21. //
  22. // Simulation tool : ModelSim (Verilog)
  23. //
  24. `timescale 1 ps/ 1 ps
  25. module clk_out_test_vlg_tst();
  26. // constants
  27. // general purpose registers
  28. // test vector input registers
  29. reg i_clk;
  30. reg i_rst_n;
  31. // wires
  32. wire clk_out;
  33. // assign statements (if any)
  34. clk_out_test i1 (
  35. // port map - connection between master ports and signals/registers
  36. .clk_out(clk_out),
  37. .i_clk(i_clk),
  38. .i_rst_n(i_rst_n)
  39. );
  40. initial
  41. begin
  42. i_clk = 0;
  43. i_rst_n = 0;
  44. #100
  45. i_rst_n = 1'b1;
  46. end
  47. always #10 i_clk = ~i_clk;
  48. endmodule

打开modelsim

New-->Project

填写工程名,以及modelsim存储路径,其它都可以选择默认的,点击OK

点击这个添加我们上面提供的.v文件和激励文件.vt文件

选择.v文件,点击打开

点击OK

再次点击Add Existing File添加.vt激励文件

点击打开

点击OK

.v文件和.vt文件都添加进来了,点击Close,关闭Add  items  to  the  project对话框(如果.v和.vt文件

在一个地方可以一次将两个文件都添加进来)

可以从上图看到.v和vt文件都是打问号的,所以需要重新编译一次

点击Compile-->Compile All(进行全编译)

编译成功,.v和.vt文件都没有报错

切换到Library 选项卡

打开work库,这个是我们新建的库,可以看到我们添加进去的.v和.vt文件

右击这个激励文件.vt文件选择Simulate

右击这个.vt文件选择Add to -->Wave-> All items in region

我这里设置仿真时间100us,设置时间太长有时容易卡,这个仿真比较简单所以设置得比较小

选择Simulate-->Run-->Run All 

点击箭头处进行全屏显示

全屏的仿真结果和程序的效果是一样的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/805137
推荐阅读
相关标签
  

闽ICP备14008679号