zoukankan      html  css  js  c++  java
  • ModelSim入门

    verilog设计进阶

    时间:201455日星期一

    主要收获:

    1. 安装了ModelSim ALTERA 6.4a;

    2. 熟悉基本流程,仿真成功;

    3. 了解testbench语法基本。

    为什么要学ModelSim……

    1. Modelsim是专业的HDL语言仿真器, Quartus自带的仿真器功能强大的多.

    2. Quartus simulator不支持Testbench ,只支持波形文件.vwfvwf文件全称是矢量波形文件(Vector Waveform File),是Quartus II中仿真输入、计算、输出数据的载体。一般设计者建立波形文件时,需要自行建立复位、时钟信号以及控制和输入数据、输出数据信号等。其中工作量最大的就是输入数据的波形录入。比如要仿真仅1KB的串行输入数据量,则手工输入信号的波形要画8000个周期,不仅费时费力而且容易出错。

    安装遇到的问题……

    由于笔记本是win8系统,安装的是ModelSim ALTERA 6.4a,破解之后仍然打不开。解决的方法是……以管理员的身份打开。

    可综合的比较器:

    module compare(a, b, equal);

    input a;

    input b;

    output equal;

    assign equal = (a==b)?1:0;

    endmodule

    测试模块:

    `timescale 1ns/1ns

    module compare_test;

    reg a,b;

    wire equal;

    initial begin

    a=0;b=0;

    #100 a=0;b=1;

    #100 a=1;b=0;

    #100 a=1;b=1;

    #100 $stop;

    end

    compare u1(a, b, equal);

    endmodule

    仿真波形:

    练习:

    设计一个字节(8位)比较器。

    要求:比较两个字节的大小,如a[7:0]大于b[7:0]输出高电平,否则输出低电平,改写测试模型,使其能进行比较全面的测试

    思考:

    第一次接触testbench文件,所以有很多问题。比较困难的就是"全面的测试",需要对ab进行所有情况的测试。分析ab的数值都是在0~255之间,则可以对b1ns进行一次自增,对a256ns进行一次自增,即可实现对ab所有情况的比较。

    测试文件:

    `timescale 1ns/1ns

    module compare_test;

    reg[7:0] a,b;

    wire equal;

    initial begin

    a[7:0]=0;b[7:0]=0;

    #100 a[7:0]=8'b0000_0001; b[7:0]=8'b0000_0010;

    #100 a[7:0]=8'b0000_0010; b[7:0]=8'b0000_0010;

    #100 a[7:0]=8'b1000_0001; b[7:0]=8'b0000_0010;

    #100 a[7:0]=8'b1000_0001; b[7:0]=8'b1000_0001;

    #100 a[7:0]=8'b1111_0001; b[7:0]=8'b1111_0001;

    end

    always #1 b[7:0]<=b[7:0]+1;

    always #256 a[7:0]<=a[7:0]+1;

    compare u1(a[7:0], b[7:0], equal);

    endmodule

    仿真波形图:

  • 相关阅读:
    LuoguP2765 魔术球问题
    LuoguP1402 酒店之王
    luoguP4313 文理分科
    玲珑杯 1138
    codeforces 822 D. My pretty girl Noora(dp+素数筛)
    codeforces 822 C. Hacker, pack your bags!(思维+dp)
    51nod 1376 最长递增子序列的数量(不是dp哦,线段树 +  思维)
    hdu4565 So Easy!(矩阵快速幂)
    atcode E
    atcoder D
  • 原文地址:https://www.cnblogs.com/510602159-Yano/p/3725982.html
Copyright © 2011-2022 走看看