modelsim教程

modelsim教程TheTutorialof Modelsim小狼@http://blog.csdn.net/xiaolangyangyang一、建立库vlibwork(库名)二、映射库到物理目录vmapwork(映射的逻辑名称)work(存放的物理地址)三、编译源代码vlog../src/MUX_4_8.vvlog../src/MU


The Tutorial of Modelsim

小狼@http://blog.csdn.net/xiaolangyangyang





一、建立库

vlib work(库名)

二、映射库到物理目录

vmap work(映射的逻辑名称) work(存放的物理地址)

三、编译源代码

vlog ../src/MUX_4_8.v

vlog ../src/MUX_4_8_tb.v

四、启动仿真器

vsim -novopt(参数) work(库名).MUX_4_8_tb(顶层文件)

五、添加波形

add wave -hex /*(添加所有波形)

六、执行仿真

run 200

七、使用dataflow查看

view dataflow



注意事项:

1.仿真库是存储已经由modelsim编译过的设计单元的目录,一个项目中包括工作库和资源库;

2.更改当前目录的方法是File->Change Directory;

3.在modelsim中直接编辑波形的方法是:

右键单击信号->Create Wave,然后安流程走完;

4.dataflow的使用方法是:

使用命令view dataflow(或View->New Window->Dataflow)打开dataflow窗口,在dataflow窗口Add->View All Nets,选中某个模块View->ShowWave查看单个模块的波形;

5.在modelsim中自动生成testbench的方法:

首先File->open打开需要仿真的模块的.v文件,Source->Show LanguageTemplates,在显示的Langusge Templates栏中选择“Create Testbench”,软件自动弹出“Create Testbench Wizzard”窗口中,在“work”下选择待仿真的模块,按照提示走完,即可自动生成;

6.编译xilinx的modelsim库的方法:

将modelsim的modelsim.ini文件的只读属性去掉,运行Xilinx/13.4/ISE_DS/ISE/bin/nt下的compxlib,选择modelsim的安装目录、选择芯片、选择编译目录,执行下一步…即可。打开modelsim,即已加入xilinx的仿真库;

xilinx仿真库的源代码在ISE安装目录的verilo/src或vhdl/src目录中,编译后的仿真库一般放在modelsim/xilinx_lib下。

7.modelsim添加xilinx仿真库的方法:

在modelsim的library窗口右键->New->Library,选择a map to an existing library手动添加(映射)

unisims是xilinx所有标准元件库

simprims是用来做xilinx的时序仿真或门级仿真的

xilinxcorelib是xilinx的各IP核


在testbench里使用`timescale的问题

`timescale是编译器指令,用来定义时延经度和时延单位。

命令格式为`timescale time_unit/time_precision

time_unit       为时延单位

time_precision  为时延精度

timescale 1ns/100ps

表示时延单位为1ns,时延精度为100ps。如果后面有语句:

#5.22 a=1;

此时时延值为5.22ns应该对应5.2ns,因为精度为0.1ns。

如果设计中多个模块带有自身的`timescale,编译时模拟器总是定义在所有模块的最小时延精度上,并且所有模块中的时延都自动换算为最小精度。




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201138.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • linux修改密码报错_linux修改其他用户密码

    linux修改密码报错_linux修改其他用户密码第一种:/usr/bin/passwd的权限中没有添加s即SUID特殊权限即:-rwxr-xr-x.1rootroot270008月222010/usr/bin/passwd解决方案:chmodu+s/usr/bin/passwdSUID的功能简单的说就是让组用户或其他用户在执行该文件是拥有文件所有者(own)权限,这里就是需要获取w(写)权限,这样才能将新密码写到/etc…

    2022年9月5日
  • POJ 2208 已知边四面体六个长度,计算体积

    POJ 2208 已知边四面体六个长度,计算体积

    2022年1月6日
  • t检验和u检验_均匀性检验界值表

    t检验和u检验_均匀性检验界值表常用显著性检验适用于计量资料、正态分布、方差具有齐性的两组间小样本比较。包括配对资料间、样本与均数间、两样本均数间比较三种,三者的计算公式不能混淆。应用条件与t检验大致相同,但t′检验用于两组间方差不齐时,t′检验的计算公式实际上是方差不齐时t检验的校正公式。应用条件与t检验基本一致,只是当大样本时用U检验,而小样本时则用t检验,t检验可以代替U检验。用于正态分布、方差齐性的多组间计量比较。常见的…

    2022年10月31日
  • PHP feof() 函数

    PHP feof() 函数

    2021年11月10日
  • pandas apply() 函数用法

    pandas apply() 函数用法理解pandas的函数,要对函数式编程有一定的概念和理解。函数式编程,包括函数式编程思维,当然是一个很复杂的话题,但对今天介绍的apply()函数,只需要理解:函数作为一个对象,能作为参数传递给其它函数,并且能作为函数的返回值。函数作为对象能带来代码风格巨大的改变。举一个例子,有一个包含1到10的list,从其中找出能被3整除的数字。用传统的方法:defcan_divi…

    2022年6月22日
  • c#的传输组件dotnetty

    c#的传输组件dotnetty牛皮不多了,继续吹起。。。。最近一直看大家写的东西,了解的内容不少,我的牛皮也差不多吹完了。。。。最后在说说最近测试的dotnetty.去年弄下来试了,不行,最近又弄下来了看看,可以了。哇哈哈哈哈哈哈。我用过java的netty,就不多说它的使用和原理了,网上有书,有无数的博文,随便找。当然dotnetty比较少,毕竟才出来不久,而且还是.netcore的。这个是翻译的使用原理可以看…

    2022年10月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号