DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1527|回复: 0
打印 上一主题 下一主题

[待整理] FPGA系统设计的仿真验证之: 功能仿真和时序仿真的区别和实现方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 16:40:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        7.4  功能仿真和时序仿真的区别和实现方法

          这里我们使用一个波形发生器作为例子,来说明如何使用Modelsim对Quartus II生成的IP Core和相应的HDL文件进行功能仿真和时序仿真。这个例子里面使用到了由Quartus II生成的一个片上ROM存储单元。这种存储单元和RAM一样,都是基本的FPGA片上存储单元,在以后的设计里面会经常使用到。
           
        7.4.1  功能仿真

          (1)在Quartus II中设置第三方仿真工具,选择“Assignments-Settings-EDA Tool Settings-Simulation”,选择“ModelSim-Verilog”。如图7.17所示。
       

        图7.17  EDA工具设置

           
          (2)编译工程。编译带有IP Core的工程文件。
           
          (3)编译完成后会在工程目录下生成“simulation-modelsim”的目录,如图7.18所示。其中包含了3个文件:“.vo”是仿真网表文件,可以用来代替设计文件;“.xrf”是Quartus编译生成的信息文件;“.sdo”是工程延时信息。
       

        图7.18  编译生成文件

           
          (4)加入仿真库文件。
          仿真库的路径为“C:\altera\quartus50\eda\sim_lib”,包含了如下3个仿真库文件。
          ·  220model.v:带有用户原语类型的Quartus自带的IP核的库文件。
          ·  altera_mf.v:Quartus自带的IP核的库文件。
          ·  cyclone_atoms.v:相应系列的器件库。
          在本例中需要添加altera_mf.v,cyclone_atoms.v两个库文件。
           
          (5)编写测试文件(详见7.5节)。
           
          (6)将测试文件粘贴到刚才生成的目录中,如图7.19所示。
       

        图7.19  添加测试文件

           
          (7)打开modelsim。
           
          (8)创建工程并添加源文件,如图7.20所示。
       

        图7.20  为工程添加源文件

          (9)编译工程。结合库文件一起进行编译、如图7.21和7.22所示。
       

        图7.21  全部编译前

       

        图7.22  全部编译后

         
          (10)修改wave.vo文件。将文件中的延时信息注释掉,即:
          //initial $sdf_annotate("WAVE_v.sdo");
           
          (11)重新编译wave.vo文件。
           
          (12)打开开始仿真对话框,如图7.23所示对话框。
          选择顶层模块wave_top,开始进行仿真,如图7.24所示。
              

            图7.23  选择开始仿真的文件   图7.24  选择顶层模块文件

         

          (13)添加信号。右键选择添加信号到波形图。并在命令行中敲入“run 1ms”,按“回车”键,开始仿真。结果波形如图7.25和图7.26所示,分别是二进制显示、十进制显示。
       

        图7.25  二进制显示

       

        图7.26  十进制显示

          放大查看细节的波形时序,可以发现,功能仿真的结果是没有延迟的,如图7.27所示。
       

        图7.27  功能仿真结果无延迟

         

        7.4.2  时序仿真

          (1)将功能仿真第(10)步中对wave.vo文件做的注释改回来,重新进行编译。
          (2)重新打开开始仿真对话框,选择顶层模块,如图7.28所示。
          (3)选择“SDF”选项卡,如图7.29所示。
              

        图7.28  选择顶层模块仿真           图7.29  “SDF”选项卡

         

          (4)加入“.sdo”文件,将两个SDF Options都选中,如图7.30所示。
       

        图7.30  添加“.sdo”文件

         

          (5)和功能仿真一样,为波形窗口添加信号,开始进行仿真。
           
          (6)通过波形图,查看时序仿真的延时,如图7.31所示。
       

        图7.31  查看时序仿真延迟
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-2-23 07:37 , 耗时 0.092276 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表