赞
踩
IP核,全称知识产权核(Intellectual Property core),是在集成电路(IC)设计中可重用的功能模块,其存在形式通常为逻辑单元或芯片设计的可重用模块。这些模块经过预先设计、验证并具备特定的功能,可以被授权给不同的设计者使用,以加速芯片设计过程,提高设计效率,并降低开发成本。
IP核是半导体产业中用于ASIC(专用集成电路)或FPGA(现场可编程门阵列)中的预先设计好的电路功能模块。它们可以被视为构建复杂芯片设计的“积木”。
根据产品交付方式和实现方法的不同,IP核主要分为三类:软核(Soft IP)、固核(Firm IP)和硬核(Hard IP)。
以fifo举例
** ip核之PLL实验**
在Xilinx FPGA中,特别是7系列FPGA,CMT(Clock Management Tile,时钟管理块)是一个关键组成部分,它对于实现高性能、低抖动的时钟网络至关重要。每个CMT都包含一个混合模式时钟管理器(MMCM)和一个锁相环(PLL)。这些模块共同提供时钟频率合成、抖动滤波以及时钟去斜等功能,以满足FPGA设计中复杂的时钟需求。
MMCM在PLL的基础上加入了DCM的一部分以进行精细的位移,加上了相位动态调整功能
PLL(phase locked loop锁相环)是一种时钟反馈控制电路,特点是利用外部输入的参考信号控制环路内部振荡信号的频率和相位
本次的实验任务是使用开发板输出4路不同频率或相位的时钟,时钟分别为100MHZ,100MHZ(相位偏移180度),50MHZ和25MHZ。将四路时钟分别输出至拓展口的端口,并通过示波器来测量输出结果是否正确
先在ip核库里找到clocking wizard
进行ip核第一项配置
第二项配置
后续都保持默认即可
需要注意的是,使用ip核即只需编写顶层模块即可。
module ip_clk_wiz ( input sys_clk, input sys_rst_n, output clk_100m, output clk_100m_180deg, output clk_50m, output clk_25m ); wire locked; wire rst_n; assign rst_n = sys_rst_n & locked; clk_wiz_0 u_clk_wiz_0 ( .clk_out1 (clk_100m), .clk_out2 (clk_100m_180deg), .clk_out3 (clk_50m), .clk_out4 (clk_25m), .reset (~sys_rst_n), .locked (locked), .clk_in1 (sys_clk) ); endmodule
`timescale 1ns/1ns module tb_ip_clk_wiz(); parameter CLK_PERIOD = 20; reg sys_clk; reg sys_rst_n; wire clk_100m; wire clk_100m_180deg; wire clk_50m; wire clk_25m; initial begin sys_clk <= 1'b0; sys_rst_n <=1'b0; #200 sys_rst_n <= 1'b1; end always #(CLK_PERIOD/2) sys_clk = ~sys_clk; ip_clk_wiz u_ip_clk_wiz ( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .clk_100m_180deg (clk_100m_180deg), .clk_50m (clk_50m), .clk_25m (clk_25m), .clk_100m (clk_100m) ); endmodule
将设计文件和仿真文件导入vivado上后,即可直接开始仿真
需要注意的是,要将仿真时间设置的稍微长一些,笔者设置的是20us
点击开始仿真,即可观察到波形
观察波形后发现,和预设条件相符合
首先生成vivado库
点击编译即可,过程需要等待半个小时左右
编译好之后即可打开工程
设置好之后,点击仿真,会自动跳转到modelsim进行仿真
符合预期!验证成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。