zoukankan      html  css  js  c++  java
  • 易懂的modelsim学习笔记

    1. 建一个总文件夹,如cnt
    2. 为源代码,测试台文件,仿真各建一文件夹。如src,tb,sim
    3. 编写源代码,testbench。如cnt.v,tb_cnt.v文件,同时文件名里的模块名与文件名相同,如module  cnt(  ), module  tb_cnt(  )。
    4. 再sim文件夹里加入tb.f文件:../tb/tb_cnt.v  
                                   ../src/cnt.v
                                   ../tb/tb_cnt-y
      ../src  +libext+.v(这里源代码中可有许多,下一次做的DPLL必须要用第二种)
    5. 下面开始仿真,仿真,顾名思义要在仿真文件夹sim中进行。pwd 出现当前目录cd ..当前目录向上一级 cd  e:/modelsim进入e盘中的modelsim目录
    6. vlib  work (建工作库),此时从库文件中含有modelsim自动生成的_into文件。
    7. vlog   –f   tb.f  (编译  .v文件),此时库文件加入了cnt.v 和 tb_cnt.v模块
    8. vsim  -voptargs=”+acc”  tb_cnt  (在testbench中测试源代码),此时sim文件夹里出现了vsim文件,work文件夹里有一些仿真文件。同时在modelsim中出现sim项。
    9. 右击sim项中的实例名称,点击 add to wave  all items in design 。本例中实例项是inst_cnt。(cnt  inst_cnt(端口连接)     其中cnt为实例引用的模块名称,inst_cnt为实例引用中的实例名称),在wave窗口中出现的信号为/tb_cnt/clk  
    /tb_cnt/rstn   
    /tb_cnt/cnt(它们为连到端口的信号)    
    /tb_cnt/inst_cnt/i_clk     
    /tb_cnt/inst_cnt/i_rstn
    /tb_cnt/inst_cnt/o_cnt (它们为模块cnt中定义的端口)。   
    10. 出现wave窗口,仿真即可。其中wave窗口中的按钮doom in ,doom out ,doom full。可调整波形大小。
    11. 批处理文件(do文件):quit  -sim
                             vlog  -f  tb.f
                             vsim  -voptargs=”+acc”  tb_cnt
                             add   wave  sim:/tb_cnt/inst_cnt/*
          保存为sim.do文本文件,它等同于7—9步。

    转载自:http://www.elecfans.com/bandaoti/eda/20100605218972.html

  • 相关阅读:
    MySQL实战45讲
    mysql查看binlog日志
    Nginx核心知识100讲
    RabbitMQ消息为什么变成数字了呢?
    Spring core中一些API
    [LeetCode] 719. Find K-th Smallest Pair Distance 找第K小的数对儿距离
    Github Upload Large File 上传超大文件
    [LeetCode] Special Binary String 特殊的二进制字符串
    [LeetCode] Range Module 范围模块
    [LeetCode] Find Anagram Mappings 寻找异构映射
  • 原文地址:https://www.cnblogs.com/chengqi521/p/6731723.html
Copyright © 2011-2022 走看看