[Xilinx]Modelsim独立仿真Vivado生成的PLL核

EDA Tools:

1、Vivado 2015.1(64-bit)

2、Modelsim SE-64 10.1c

Time:

2016.05.26

-----------------------------------------------------------------------------------

喜欢使用Modelsim工具独立进行代码的仿真。也不是Vivado自带的不好(至少目前的小代码没啥影响)

只是在一个vivado工程进行仿真时,添加文件的功能没用太明白,好烦!

--

大前提:和Altera一样,也是需要先将底层的模块编译为库。这个步骤其实是一劳永逸。编译一次,以后

仿真用到时,只需添加使用到的编译库的目录即可,节省时间成本。

当然,如若乐意,你也可自行添加底层模块的源码到Modelsim当前工程。

--

Vivado更为便捷的是直接提供GUI按钮来一键编译Modelsim仿真所需的库(当然,并非所有都编译)。

-----------------------------------------------------------------------------------

tb代码:

 1 `timescale 1ns/1ns
 2
 3 module tb;
 4
 5 reg clk_in1 = 0;
 6 reg reset = 1;
 7
 8 always #5 clk_in1 = !clk_in1;
 9
10 initial begin
11     #10;
12     repeat(50) @(posedge clk_in1);
13     reset <= 0;
14 end
15
16
17 //全局复位
18 glbl glbl();
19
20 pll_OSC_27M_system    pll_OSC_27M_system_inst
21 (
22    // Clock in ports
23     .clk_in1(clk_in1),      // input clk_in1
24     // Clock out ports
25     .clk_out1(clk_out1),     // output clk_out1
26     .clk_out2(clk_out2),     // output clk_out2
27     .clk_out3(clk_out3),     // output clk_out3
28     .clk_out4(clk_out4),     // output clk_out4
29     // Status and control signals
30     .reset(reset), // input reset
31     .locked(locked)// output locked
32 );
33
34
35 initial begin
36     #10;
37     repeat(200) @(posedge clk_in1);
38     $stop;
39 end
40
41
42 endmodule

试验过程:

1、最开始tb里面是没有第18行的

然后,源码添加tb.v、pll_name.v和pll_name_clk_wiz.v这三个模块。

这时,会提示pll_name_clk_wiz模块里面例化到的一些底层模块找不到。

具体是:

Instantiation of ‘PLLE2_ADV‘ failed.

Instantiation of ‘BUFG‘ failed.

2、根据经验,这就是需要添加搜索库的路径。

具体GUI操作就是:Simulate -->Start Simulation

默认是Design标签处于激活,先切换到Libraries标签,

在Search Libraries(-L)添加需要使用到的库(这里仅需要simprims_ver)的路径。

比如我的情况是:

接着,再切换到Design标签,展开work,选择tb(最顶层模块),然后选择ok。

3、但发现还是有问题!截图如下:

网络搜索下,了解这是xilinx全局复位的模块。

该模块在C:\Xilinx\Vivado\2015.1\data\verilog\src

路径其实在上面Error提示的一部分。

4、于是,自己copy一份glbl.v到当前工程,进行编译。

但还是弹出相同的错误提示。

只好打开PLLE2_ADV.v模块的代码,搜索glbl关键字。

发现代码有2处用到glbl,具体分别是:

第152行:

  tri0 GSR = glbl.GSR;

第1645行:

  assign (weak1, strong0) glbl.PLL_LOCKG = (glock == 0) ? 0 : p_up;

----

注意到上面都是层次调用。

换言之,我们需要tb例化glbl,且例化名只能取glbl。

这便有了前面pose的tb代码的第18行!

-----------------------------------------------------------------------------------

仿真波形:

这是全局视图。可见locked信号还是一样,高电平表示时钟锁住,呈稳定状态。

这是局部视图1。此时刚开始产生输出时钟波形,但locked尚未有效!

注意到PLL设置的同相对应的是各个输出时钟的上升沿。

这是局部视图2。此时locked正要拉高。

----------------------------------

OVER!

时间: 2024-12-25 22:03:44

[Xilinx]Modelsim独立仿真Vivado生成的PLL核的相关文章

搭建Modelsim SE仿真环境-适应do文件仿真

本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera实际是针对Altera 的OEM版本,它事先将Altera的一些IP核仿真库添加到了工具中,但功能上有一些缩减.而Modelsim-SE需要自己手动添加这些仿真库,但是功能更全,而且工作中,工程师更倾向用SE版本,因为今后的FPGA开发中我们会接触更多其他厂商的FPGA,比如Xilinx.Latti

ISE和Modelsim联合仿真(转)

ISE和Modelsim联合仿真(转) 地址:http://www.cnblogs.com/feitian629/archive/2013/07/13/3188192.html 相信很多人会遇到过这个问题,不知如何让ISE调用Modelsim进行仿真.我也迷糊了不少时间,查查找找,终于弄明白了,所以有了本文,和大家分享一下.我尽量讲得详细点儿,多多上图. 我的环境:Windows 7 64位,Xilinx ISE Design Suite 13.4(D:\Xilinx\13.4),Modelsi

【转】Quartus II调用modelsim无缝仿真

Quartus II调用modelsim无缝仿真 ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 assignmentèsettingèEDA tool settingèsimulation 选择你需要的工具.  2. 自动产生测试激励文件模板: 

modelsim仿真vivado自动化脚本

quit -sim set PATH1 C:/modeltech64_10.2c/xilinx144_lib set PATH2 C:/xilinx1/Vivado/2014.4/data/verilog/src vlib work #vmap work $PATH1/secureip #vmap work $PATH1/unisim #vmap work $PATH1/unimacro #vmap work $PATH1/unifast #vmap work $PATH1/unisims_ve

[原创]Modelsim后仿真

因调试需要,进行后仿真,ISE生成的sim文件和sdf文件 `timescale 1 ns/1 ps module lut_dly ( clkout, fpga_clk, config_in ); output clkout; input fpga_clk; input [5 : 0] config_in; wire clk_in; wire dly1; wire config_in_4_IBUF_49; wire config_in_5_IBUF_50; wire dly2_0; wire d

Vivado生成及使用edf文件

前言 EDF文件可以直接导入Vivado,而无需Verilog源文件. 好处: (1)    避免沙雕队友修改源代码,则可以直接提交EDF网表文件. (2)    避免用户剽窃劳动成果. (3)    对于无需更改的设计复用,直接用EDF网表会贼方便. 软件版本:Vivado2018.3 流程 生成EDF网表文件 (1)设置需提交的源代码的最顶层为TOP层.可以看到内部调用了2个IP块. (2)在设置选项的综合设置中选中打平整个设计,防止别人看到模块层次. 设置-mode out_of_cont

Xilinx FPGA开发环境vivado使用流程

1.启动vivado 2016.1 2.选择Create New Project 3.指定工程名字和工程存放目录 4.选择RTL Project 5.选择FPGA设备 6.工程创建完成后 7.开始编写verilog代码 第一步:点击Add Sources按钮 第二步:选择add or create design sources按钮,即添加设计文件 第三步:选择create file 文件新建完成后: 此时可以定义I/O端口,我们选择自己在程序中编写. 第三步:在编辑器中编写verilog程序 8

[原创][FPGA]Quartus中调用Modelsim波形仿真步骤说明

1     建立Quartus和Modelsim的连接 如果是首次使用,需建立连接.Tools->Options->EDA Tools Option,在Modelsim-Altera处选择应用软件路径.比如“D:\altera\13.0\modelsim_ae\win32aloem”这种. 2.     建立测试文件 Processing->Start->Start Test Bench Template Writer,建立好之后自行进行编写测试文件.13.0版本的vt测试文件在.

modelsim保存仿真波形

一.保存为.wlf文件 1.完成仿真波形: 2.切换到sim视窗: 3.点击保存图标保存: 4.打开:file菜单打开.wlf文件,选中窗口中的信号右击,add to wave...即可. 二.保存为.do文件 1.保存 file->save format->xxx.do,当然可以自定义路径及文件名: 2.加载 在sim视窗下,file->load: 3..do文件记录了仿真过程命令.