modelsim ip核仿真仿真问题,怎么设置时钟

modesim仿真使用教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
modesim仿真使用教程
上传于|0|0|文档简介
&&modesim仿真使用教程,详细的记载了每一步的操作
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢用PLL生成1MHZ的时钟信号并用modelsim仿真
--利用PLL锁相环生成一定频率的时钟信号,在quartus中调用,并用modelsim仿真。
数字系统中常用到不同频率和相位的时钟。在quartus对于一个时钟输入,可以通过对其技术等操作来实现整数分频,得到相应的慢速时钟。这种设计的缺点在于:
1、输出时钟的延时无法控制,因而难以得到精确相位的时钟,只能控制频率和占空比两个参量
& 2、这种设计只能输出慢时钟,无法对输入时钟信号进行倍频。
参数化宏单元模块(altpll)可以实现时钟的分频,倍频,以及相位占空比等操作。提升了建立、保持时间的同时,减少了延时和时钟的歪斜。
这里以cyclone器件为例,利用PLL生成16.67MHZ的频率,再在quartus中进行十六分频,生成1MHZ的频率,在modelsim中完成仿真。
注1:PLL只能生成不低于15MHZ的频率。
注2:在建立工程时,要将顶层文件建立成最终要实现的VHDL文件,被调用的altpll只能在次顶层。
1、先新建VHDL文件,代码可以稍后在写。
2、建立PLL锁相环
& (1)设置mega wizard plug-in manager初始化对话框
& (2)配置PLL。参考时钟频率、控制信号以及输出信号。
&(3)输出频率选择(不能低于15MHZ)
&--可以对生成的锁相环进行测试,即把它加入到新建的工程中,查看仿真波形。
3、在顶层VHDL中对生成的模块进行调用,例化,并分频。主时钟为50MHZ。
代码如下:
use ieee.std_logic_1164.
use ieee.std_logic_arith.
use ieee.std_logic_unsigned.
entity altpll1 is
& port(clk& :in std_
div& :out std_logic);
end altpll1;
architecture rtl of altpll1 is
& component testpll is
port(inclk0&: in std_logic:= '0';
c0&&: out std_logic
& signal temp :std_
& signal count:std_logic_vector(3 downto
0):="0000";
&&& u1:testpll
port map(inclk0=&clk,c0=&temp);
--端口映射
process(temp)
if temp'event and temp='1' then
--对temp信号进行分频处理,由16.67MHZ生成1MHZ&
if(count&"0111") then
count&=count+1;
if(count&"1110") then
&&&&&&&&&&&
&&&&&&&&&&&
count&=count+1;
&&&&&&&&&&&
&&&&&&&&&&&&&
if(count&"1111") then
&&&&&&&&&&&&&&&
count&="0000";
&&&&&&&&&&&&&
&&&&&&&&&&
4、编译通过后,新建.wvf文件,输入时钟信号并保存后,导出testbench文件.vht
5、再打开modelsim,新建工程,将上面生成的.vhd&
.vht等文件添加到工程中(操作步骤参阅前面的文章)
6、仿真将波形图缩小,即可观察到波形&&&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2016第三届物联网大会
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
移入鼠标可放大二维码
Modelsim的功能仿真和时序仿真
来源:本站整理
作者:灰色天空日 15:35
[导读] 用ModelSim 进行功能仿真,进行功能仿真首先要检查设计的语法是否正确;其次检查代码是否达到设计的功能要求。下文主要介绍仿真步骤和测试激励的加载。
  FPGA设计流程包括设计输入,仿真,综合,生成,板级验证等很多阶段。在整个设计流程中,完成设计输入并成功进行编译仅能说明设计符合一定的语法规范,并不能说明设计功能的正确性,这时就需要通过仿真对设计进行验证。在FPGA 设计中,仿真一般分为功能仿真(前仿真)和时序仿真(后仿真)。功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布线后进行,它与特定的器件有关,又包含了器件和布线的延时信息,主要验证程序在目标器件中的时序关系。在有些开发环境中,如 Xilinx ISE 中,除了上述的两种基本仿真外,还包括综合后仿真,转换(post-translate)仿真,映射后(post-map)仿真等,这样做完每一步都可进行仿真验证,从而保证设计的正确性。
  ModelSim 是Mentor Graphics 子公司MentorTechnology 的产品,是当今最通用的FPGA 仿真器之一。ModelSim 功能强大,它支持FPGA 设计的各个阶段的仿真,不仅支持VHDL 仿真,Verilog仿真,而且支持VHDL 和Verilog 混合仿真。它不仅能做仿真,还能够对程序进行调试,测试代码覆盖率,对波形进行比较等。ModelSim 有很多版本,像ModelSim/SE 是首要版本, 除此之外还有ModelSim/XE 和ModelSim/AE,分别是为Xilinx公司和Altera 公司提供的OEM 版,其中已包含各公司的库文件,故用特定公司OEM 版进行仿真时就不需编译该公司的库了。
  用ModelSim 进行功能仿真
  进行功能仿真首先要检查设计的语法是否正确;其次检查代码是否达到设计的功能要求。下文主要介绍仿真步骤和测试激励的加载。
  仿真步骤
  (1)建立库并映射库到物理目录
  因为用ModelSim 进行仿真是建立在仿真库的基础上的(此处进行的是功能仿真,因而不用编译特定厂商的库),所以首先要建立库并把库映射到实际的物理路径。通常用户编译的文件都放在work库中,所以必须先建立work 库。有两种方法建立并映射库,第一种方法是通过图形界面,在菜单Design&Create a New Library 弹出对话框,如图1 所示。在Library Name 中输入work,如果建立其它库,可以输入其它名字。Library Map to 是映射的物理路径。第二种方法是用命令行的形式,建立库用ModelSim&vlib&库名&,映射库用ModelSim& vmap , 如建立并映射库work,就可以在ModelSim 主窗口命令提示符下输入
  vlib work
  vmap work work
  (2)编译源代码
  该步骤主要检查源文件的语法错误。实现方法有两种,一是通过菜单Design&Compile,出现选择源文件对话框,选择要编译的源文件,编译即可;二是通过命令行方式,这一步对于VHDL 和Verilog 所使用的命令是不一样的,对于VHDL 代码用vcom-work.vhd.vhd , 对于Verilog 代码用vlog-work.v.v,文件按出现的先后顺序编译,且支持增量编译。编译后的文件会放在缺省当前work 库中。
  (3)启动仿真器
  该步骤主要是把所有仿真的文件加载到当前的仿真环境中。实现的方法两种,一是通过菜单Design&Load Design,出现加载对话框,选择要仿真的程序即可;二是通过命令行的形式vsim-lib , 这条命令对于VHDL 和Verilog 都一样。
  (4)执行仿真
  该步骤是正式执行仿真了,在仿真前最重要的一个步骤就是加载激励,如要对下面的加法器进行仿真,加法器实体说明如下:
  entityAdd is
  port(D1: in std_logic_vector(7 downto 0);--输入
  D2: in std_logic_vector(7 downto 0);--输入
  D0: out std_logic_vector(7 downto 0);--输出
  CE: in std_-使能,低有效
  Clk: in std_logic);--时钟
  测试激励的加载
  激励的加载有四种方法:
  (1)命令行方式
  这种方法是通过在命令行下直接输入命令给信号加载激励,然后进行仿真。如要对上面的加法器进行仿真,则输入如下命令:
  Vsim &t ps work.add
  //加载work 库中的实体add,时间分辨率为ps
  Add wave &hex D1
  Add wave &hex D2
  Add wave &hex D0
  Add wave ce
  Add wave clk
  //把信号加载到波形窗口,hex 表示以16进制显示
  Force ce 0 //对ce 加激励为0
  Force clk 0 0,1 25 &r 50 //对clk 加载激励
  Force D1 16#2 //对D1 加载16 进制数2
  Force D2 16#1 //对D2 加载16 进制数1
  Run 100 //运行100 个时间单位
  如果要仿真其它数据,在命令行中改变激励
  就可以了,仿真的结果如图2 所示。
  (2)宏文件法
  这种方法相当于DOS 的批处理。它把所有的命令保存为以do 为后缀名的文件中,称为宏文件。执行仿真时只要选择菜单Marco & ExecuteMarco,然后选择相应的宏文件执行即可,或者在命令行中输入do&宏文件名&。执行仿真的结果如图2 所示。
时序仿真相关文章
时序仿真相关下载
功能仿真相关文章
功能仿真相关下载
Modelsim相关文章
Modelsim相关下载
技术交流、积极发言! 发表评请遵守相关规定。
众说周知,互联网给我们这一代人的生活带来了巨大的变化,而近几年被炒得热火朝天的人工智能,则让全世界再一次看到一个全新的智能化时代即将来临...
自1985年成立以来,高通一直聚焦在无线领域,并投入了累计440亿美元的巨大的研发资金,帮助高通成长为全球知名的无线技术和产品公司。但正如娱乐界流...
创新实用技术专题
xml和VR技术在GIS中数据互操作设计与实现简述
版权所有 & 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-}

我要回帖

更多关于 modelsim仿真学习笔记 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信