2021.1.20 PLL-IP核(二)调用与仿真

一、程序编写
在工程里面找到实例化后的ip文件,打开之后修改参数即可直接使用
在这里插入图片描述在这里插入图片描述

程序如下

module  pll
(
    input   wire    sys_clk     ,   //系统时钟50Mhz

    output  wire    clk_mul_2   ,   //系统时钟经过2倍频后的时钟
    output  wire    clk_div_2   ,   //系统时钟经过2分频后的时钟
    output  wire    clk_phase_90,   //系统时钟经过相移90°后的时钟
    output  wire    clk_ducle_20,   //系统时钟变为占空比为20%的时钟
    output  wire    locked          //检测锁相环是否已经锁定,
                                    //只有该信号为高时输出的时钟才是稳定的
);


//------------------------ pll_inst ------------------------
pll_ip  pll_ip_inst
(
    .inclk0 (sys_clk        ),  //input     inclk0

    .c0     (clk_mul_2      ),  //output    c0
    .c1     (clk_div_2      ),  //output    c1
    .c2     (clk_phase_90   ),  //output    c2
    .c3     (clk_ducle_20   ),  //output    c3
    .locked (locked         )   //output    locked
);

endmodule

仿真程序

`timescale  1ns/1ns
module tb_pll();

//wire  define
wire    clk_mul_2   ;
wire    clk_div_2   ;
wire    clk_phase_90;
wire    clk_ducle_20;
wire    locked      ;

//reg   define
reg     sys_clk     ;


//初始化系统时钟
initial sys_clk = 1'b1;

//sys_clk:模拟系统时钟,每10ns电平翻转一次,周期为20ns,频率为50Mhz
always #10 sys_clk = ~sys_clk;


//------------------------pll_inst------------------------
pll pll_inst
(
    .sys_clk        (sys_clk        ),  //input     sys_clk

    .clk_mul_2      (clk_mul_2      ),  //output    clk_mul_2
    .clk_div_2      (clk_div_2      ),  //output    clk_div_2
    .clk_phase_90   (clk_phase_90   ),  //output    clk_phase_90
    .clk_ducle_20   (clk_ducle_20   ),  //output    clk_ducle_20
    .locked         (locked         )   //output    locked
);

endmodule

注意:
1、在编程完之后可以对ip核内部参数进行修改
方式一:
在这里插入图片描述

方式二:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、如果不小心把ip核删除了
在这里插入图片描述在这里插入图片描述

3、如何复制已经生成过的ip核
建立一个新的文件体系,建立一个新的工程
复制已经生成的ip核有两种方式
方式一:
在这里插入图片描述

然后按照上面删除ip重新添加的方法,添加上刚刚复制过来的ip核文件即可

方式二:
使用管理器直接选择第三项
在这里插入图片描述在这里插入图片描述在这里插入图片描述

下一步之后就是ip核的参数调整了,可以对一些参数进行设置

4、关于资源
在这里插入图片描述在这里插入图片描述

资源管理器,从这里面的颜色深浅可以看出其资源的使用率,当使用率越高颜色就越深
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

这是因为全局时钟线材质比较好,会有比较低的延时。再有经过全局时钟网络的时钟到达每个寄存器的延时都是相同的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IP(Intellectual Property)即知识产权。美国 Dataquest 咨询公司将半导体产业的 IP 定 义为“用于 ASIC 或 FPGA 中的预先设计好的电路功能模块”。简而言之,这里的 IP 即电 路功能模块。 IP 在数字电路中常用于比较复杂的功能模块(如 FIFO、 RAM、 FIR 滤波 器、 SDRAM 控制器、 PCIE 接口等)设计成参数可修改的模块,让其他用户可以直接调用 这些模块。随着设计规模增大,复杂度提高,使用 IP 可以提高开发效率,减少设计和调 试时间,加速开发进程,降低开发成本,是业界的发展趋势。利用 IP 设计电子系统,引 用方便,修改基本元件的功能容易。具有复杂功能和商业价值的 IP 一般具有知识产权, 尽管 IP 的市场活动还不规范,但是仍有许多集成电路设计公司从事 IP 的设计、开发 和营销工作。 IP 有三种不同的存在形式: HDL 语言形式,网表形式、版图形式。分别对应我们常 说的三类 IP 内:软、固和硬。这种分类主要依据产品交付的方式,而这三种 IP 内实现方法也各具特色。 PLL(Phase Locked Loop,即锁相环)是最常用的 IP 之一,其性能强大,可以对输 入到 FPGA 的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望 时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经 过 PLL 后的时钟在抖动(Jitter)方面的性能更好一些。 Altera 中的 PLL 是模拟锁相环,和 数字锁相环不同的是模拟锁相环的优点是输出的稳定度高、相位连续可调、延时连续可 调;缺点是当温度过高或者电磁辐射过强时会失锁(普通环境下不考虑该问题)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值