当前位置: 首页 > news >正文

PLL说明,quartus和vivado两款软件的pll IP核使用说明

下面详细说明PLL的原理以及在Quartus和Vivado中的使用方法。

PLL 基本概念与原理

PLL 的作用

verilog

// PLL 主要功能:
1. 时钟倍频:生成比输入时钟频率更高的时钟
2. 时钟分频:生成比输入时钟频率更低的时钟  
3. 时钟去抖:减少时钟抖动,提高时钟质量
4. 相位调整:生成不同相位的时钟
5. 时钟切换:在不同时钟源之间切换

PLL 基本结构

text

输入时钟 → 相位检测器 → 环路滤波器 → VCO → 分频器 → 输出时钟↑                               ↓└────────── 反馈分频器 ──────────┘

Quartus 中 PLL 使用详解

1. 打开 IP Catalog

tcl

# 方法1:通过菜单
Tools -> IP Catalog# 方法2:通过Qsys(现在叫Platform Designer)
Tools -> Platform Designer

2. 搜索并创建 PLL IP

tcl

# 在IP Catalog中搜索:
"ALTPLL"  # 对于传统器件
"PLL"     # 对于新系列器件

3. 配置 PLL 参数

基本配置页面:

verilog

// 参数说明:
- 输入时钟频率 (inclk0):如 50MHz
- 操作模式:正常模式/源同步模式
- 带宽设置:高速/低带宽
输出时钟配置:

verilog

// 输出时钟c0配置示例:
- 时钟倍频因子:1-512
- 时钟分频因子:1-512  
- 相位偏移:-360° 到 +360°
- 占空比:50% (通常保持默认)// 实际计算:
输出频率 = (输入频率 × 倍频因子) / 分频因子

4. 锁定检测配置

verilog

// 重要信号:
output locked;  // PLL锁定指示信号// 使用建议:
always @(posedge clk_out) beginif (!locked) // 复位逻辑或等待锁定else// 正常操作
end

5. 生成实例化代码

verilog

// 生成的PLL实例化模板
pll_ip u0 (.areset (1'b0),      // 异步复位,高有效.inclk0 (clk_50m),   // 输入时钟 (50 MHz).c0     (clk_100m),  // 输出时钟0 (100 MHz).c1     (clk_25m),   // 输出时钟1 (25 MHz) .c2     (clk_50m_90),// 输出时钟2 (50 MHz, 90°相位偏移).locked (pll_locked) // PLL锁定信号
);

Vivado 中 PLL 使用详解

1. 创建 Clocking Wizard IP

tcl

# 方法1:IP Catalog
IP Catalog -> FPGA Features and Design -> Clocking -> Clocking Wizard# 方法2:Tcl命令
create_ip -name clk_wiz -vendor xilinx.com -library ip -version 6.0

2. 配置 Clocking Wizard

第一页:基本配置

tcl

# 主要参数:
- Component Name: clk_wiz_0
- Primitive: PLL  # 或者 MMCM
- Input Clock Frequency: 50 MHz
第二页:输出时钟配置

tcl

# 配置多个输出时钟示例:
Output Clocks Tab:
- clk_out1: 100.000 MHz, Phase: 0.0, Duty Cycle: 50%
- clk_out2: 25.000 MHz,  Phase: 0.0, Duty Cycle: 50%  
- clk_out3: 50.000 MHz,  Phase: 90.0, Duty Cycle: 50%
- clk_out4: 200.000 MHz, Phase: 0.0, Duty Cycle: 50%
第三页:端口配置

tcl

# 可选端口:
☑ reset         # 复位信号
☑ locked        # 锁定指示信号
☑ clk_in1       # 主输入时钟
☑ clk_in2       # 备用输入时钟(用于时钟切换)

3. 生成并实例化

verilog

// Vivado生成的PLL实例化代码
clk_wiz_0 clk_wiz_inst (.clk_out1(clk_100m),   // 输出 100MHz.clk_out2(clk_25m),    // 输出 25MHz  .clk_out3(clk_50m_90), // 输出 50MHz, 90°相位偏移.clk_out4(clk_200m),   // 输出 200MHz.reset(pll_reset),     // 复位信号,高有效.locked(pll_locked),   // 锁定指示.clk_in1(clk_50m)      // 输入 50MHz
);

总结

PLL是FPGA设计中不可或缺的时钟管理工具,掌握其在Quartus和Vivado中的使用方法对于设计高性能数字系统至关重要。关键要点:

  1. 正确配置:根据需求合理设置倍频、分频和相位参数

  2. 妥善处理锁定信号:确保系统在时钟稳定后开始工作

  3. 添加适当约束:帮助时序分析工具正确分析时序

  4. 考虑可靠性:添加时钟监控和错误处理机制

通过合理使用PLL,可以显著提高系统的性能和稳定性。

http://www.dtcms.com/a/519361.html

相关文章:

  • Redis全解析:性能、类型与淘汰策略
  • 行业的年龄焦虑本质是“价值重构危机“
  • 自己建的网站无法打开晋城网站制作公司
  • InstructBLIP:迈向通用视觉-语言模型的新里程碑
  • list的底层实现
  • MySQL一键升级脚本(5.7-8.0)
  • 销售网站建设工资多少绿色主色调网站
  • 应用层网络协议深度解析:设计、实战与安全
  • C++:类和对象_bite
  • SQL之键与约束
  • 【vTESTstudio开发教程】--- 如何添加测试用例List
  • SpringBoot-Web开发之内容协商
  • 实现一个JSON工具类自动处理JSON转String
  • 域名注册网站那个好企业服务官网
  • SpringBoot-数据访问之MyBatis与Redis
  • iOS 26 App 运行状况全面解析 多工具协同监控与调试实战指南
  • uts ios插件开发tips
  • 单页营销型网站全国城建中心官方网站
  • 了解sip和rtp是什么
  • MySQL-3-函数应用及多表查询
  • 自然语言处理分享系列-词语和短语的分布式表示及其组合性(二)
  • 网站建设珠海 新盈科技泉州建站模板
  • ISO 8601日期时间标准及其在JavaScript、SQLite与MySQL中的应用解析
  • 利用博客做网站排名南京外贸网站建设案例
  • 使用 VS Code 的 Dev Containers 插件,通过跳板机间接连接docker
  • 衡水城乡建设局网站首页北京网站建设华大
  • 湛江网站建设哪家优惠多常见的网站结构有哪些
  • php网站源码架构seo标题生成器
  • ui设计师与网站编辑有什么关系重庆森林为什么不能看
  • 站长工具成品源码广西贵港建设集团有限公司网站