zoukankan      html  css  js  c++  java
  • 用Modelsim SE进行前仿真和后仿真——之一

    文章来源:

    http://bbs.ednchina.com/BLOG_ARTICLE_271038.HTM

    一、前仿真

           也就是纯粹的功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟。

    二、后仿真

           也就是综合后的功能仿真和布局布线后的时序仿真。是指电路已经映射到特定的工艺环境下,综合考虑电路的路径延迟与门延迟的影响,验证电路是否在一定时序条件下满足设计构想的过程,是否存在时序违规。(必做)

    三、实例

    实现在QII中利用原理图输入法设计一个移位寄存器,命名为lpm_shift,并以lpm_shift.v为顶层文件输出,再写一个名为top_tb.v的testbench文件。

    (一)纯粹的功能仿真

               进行功能仿真必须的输入文件有:HDL文件;Testbench文件;仿真原型文件(此时添加)或者预编译库文件(仿真后制定)。

    1、modelsim se--file--project,输入工程么为func_test,指定工程保存路径为...\func。在文件夹下又建立了source的文件夹专门用来存放输入文件。

    2、将lpm_shift.v 和testbench.v拷贝到...\func\source里。

    3、add existing file添加source下的文件及仿真原型文件220model.v。

    4、在workspace里面选一个文件右键compile-->compile all。

    5、启动仿真器,指定顶层设计单元。simulate-->start simulation... 。展开work库,指定testbench确定。

    6、查看波形 view-->debug window-->wave,将要观察的信号拖入窗口(或者右击信号add-->add to wave)。

    7、在transcript中运行:run 1 ms。查看结果,放大后发现完全没有延时。

    (二)综合后功能仿真

                进行综合后功能仿真必须的输入文件有:在QII中生成的网表文件;Testbench文件;仿真原型文件(此时添加)或者预编译库文件(仿真后制定)。

      1、新建一个工程,将路径保存到...\simulation\psyth,命名为psyth_test。

      2、添加所需输入文件到工程(同上)。

    在QII中生成网表的方法:device-->eda tools settings-->simulation对话框,toolname:modelsim;output directery:...\psyth\source。

    more settings-->generate netlist for functional simulation only--->on,点OK保存,进行全编译。检查...\psyth\source,发现生成一个*.vo文件(网表文件)。(VHDL的输出网表文件时*.vho后缀)

      3、Testbench文件继续用top_tb.v。库文件在start simulation对话框下的libraries添加cycloneii_ver

      4、查看波形

    (三)布局布线后时序仿真

                进行布局布线后时序仿真必须的输入文件有:在QII中生成的布局布线后网表文件;延时文件*_v.sdo(verilog)或*_vhd.sdo(vhdl);Testbench文件;仿真原型文件(此时添加)或者预编译库文件(仿真后制定)。

    在QII中生成布局布线后网表的方法:重新把generate netlist for functional simulation only改回off。全编译后除了生成网表文件以为还会生成标准延时文件SDF文件。

    与综合后功能仿真的不同时需要制定延时文件start simulation\sdf添加*_v.sdo。再选中*_v.sdo点modify....指定apply to region里面,还要写testbench里的例化顶层文件

  • 相关阅读:
    进程 线程 协程
    TCP的滑动窗口和网络拥塞控制
    Golang中函数结构体,将函数转换为接口
    go的调度 与 go 的GC
    未来程序员这个工种会如何进化与“35岁之殇”的思考
    golang 实现 LRU
    golang 单例模式实现
    内存泄露及内存溢出,解决方案
    Jvm调优参数
    HttpUtil
  • 原文地址:https://www.cnblogs.com/woshitianma/p/2865184.html
Copyright © 2011-2022 走看看