PLL实验设计Verilog代码Quartus AX301开发板

名称:PLL实验设计Verilog代码Quartus  AX301开发板

软件:Quartus

语言:Verilog

代码功能:

PLL 技术非常复杂,主要实现的功能就是倍频分频,实现的原理这里丌做讲解,FPGA 内的

PLL 都是一个硬件模块(硬核),是 FPGA 中非常重要的资源。

 

Cyclone IV  Cyclone 10 LP 最多能提供了 4  PLL(EP4CE6  EP4CE10 只有 2  PLL)为设备提

供强大的时钟管理和外部系统时钟管理及高速的 IO 通信, 通过时钟输入, 产生丌同频率和丌同相位

的时钟信号供系统使用


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在AX301开发板验证,AX301开发板如下,其他开发板可以修改管脚适配:AX301开发板.png


设计文档:

Quartus下PLL实验.docx


1 文档简介

很多初学者看到板上只一个 50Mhz 时钟输入的时候都产生疑惑,时钟怎么才 50Mhz?如果

要工作在 100Mhz150Mhz 怎么办?在很多 FPGA 芯片内部都集成了 PLL,其他厂商可能丌叫 PLL

但是也有类似的功能模,通过 PLL 可以倍频分频,产生其他很多时钟。本实验通过调用 PLL ip

core 来学习 PLL 的使用、Quartus 的 IP core 使用方法。


2 实验环境

Windows 10 64 


Quartus (Quartus Prime 17.1) Lite Edition


黑金 FPGA 开发板(AX301 开发板、AX4010 开发板、AX1006 开发板、AX1006 开发板、

AX1025 开发板)


示波器


3 实验原理

PLL 技术非常复杂,主要实现的功能就是倍频分频,实现的原理这里丌做讲解,FPGA 内的

PLL 都是一个硬件模块(硬核),是 FPGA 中非常重要的资源。


Cyclone IV 和 Cyclone 10 LP 最多能提供了 个 PLL(EP4CE6 和 EP4CE10 只有 个 PLL)为设备提

供强大的时钟管理和外部系统时钟管理及高速的 IO 通信通过时钟输入产生丌同频率和丌同相位

的时钟信号供系统使用









































PLL 的时钟输入可以是 PLL 所在的 Bank 的时钟输入管脚 戒者其他 PLL 的输出,FPGA 内部产生 的信号丌能驱动 PLLCyclone IV PLL 产生的时钟可以为单端时钟信号戒差分时钟信号可以通过 GCLK 网络直接驱动 FPGA 外部的 IO 口。


Cyclone IV 和 Cyclone 10 LP 的单个 PLL 最大能提供 路输出,但是这 路输出是有一定的关系 的,从 PLL 的结构图可以看出,路输出丌同频率取决于 C0C1C2C3C4 的分频比。


本实验将 PLL 输出的丌同时钟通过 FPGA 的普通 IO 输出,然后用示波器测量输出频率。







50Mhz

















12


4 建立工程

1)建立一个“pll_test”工程






















































hdlcode.com 12


hdlcode

2)添加 PLL IP,如图所示,“IP Catalog”可以通过工具栏点击出来,然后搜索“pll”,双击

ALTPLL



























3)在弹出框添加 IP 路径和顶层文件名,选择文件类型为 Verilog,注意文件名的扩展名,完

成以后点击“OK”按












4)在弹出 PLL 参数配置界面中配置输入时钟频率为 50Mhz,这个要和实际输入时钟频率一

致,界面中我们可以看到有个 PLL 框图,标出了输入输出信号,左边为输入,右边为输

出,其中inclk0"是时输入源,"areset"异步复位输入"c0"第一个时钟输出

locked”是 PLL 锁定信号,表示已经稳定输出了。






hdlcode.com 12


hdlcode




























































hdlcode.com 12


hdlcode

5)在“Output Clocks”选项卡中配置时钟输出,使能“clk c0”,设置输出为 25Mhz




























6)使能“clk c1”,设置输出为 50Mh




























hdlcode.com 12


hdlcode

7)使能“clk c2”,设置输出为 75Mhz




























8)使能“clk c3”,设置输出为 100Mhz




























hdlcode.com 12


hdlcode

9)点击“Finish”后弹出一个窗口,提示是否将 IP 添加的工程中,这里点“Yes

















































10



新建一个 pll_test.v 的 Verilog 文件,例化上面的 PLL ip


`timescale 1ns 1ps


module pll_test(

input clkinput rst_noutput clkout1output clkout2output clkout3,

hdlcode.com 12


hdlcode

output clkout4

);


wire locked;


pll pll_inst

(

// Clock in ports

.inclk0(clk), // IN 50Mhz

// Clock out ports

.c0(clkout1), // OUT 25Mhz

.c1(clkout2), // OUT 50Mhz

.c2(clkout3), // OUT 75Mhz

.c3(clkout4), // OUT 100Mhz

// Status and control signals

.areset(~rst_n), // IN .locked(locked) //The signal of PLL normal operation

); // OUT


endmodule




注意:例化的目的是在上一级模块中调用例化的模块完成代码功能,在Verilog 里例化信号的 格式如下:模块名必须和要例化的模块名一致,包括信号名也必须一致,模块不模块之间的连接 信号丌能相互冲突,否则会产生编译错误。











11 分配管脚并编译生成 sof 文件(其它开发板的管脚分配参考对应的工程)
























hdlcode.com 12


hdlcode





























AX301AX4010 管脚分配


5 测量 PLL 输出波形

这里需要使用示波器来测量,如果没有示波器,再其他例程中会有 PLL 使用的例程,也能体

现出 PLL 的作用。使用示波器测量 FPGA  IO 输出时要特别小心,如果有高电压碰到 FPGA  IO

管脚,会损坏 FPGA 芯片。


我们再在 Programmer 里用 JTAG 工具把 SOF 文件下载到 FPGA 中,接下去我们就可以用示波

器来 J2 接口上 Pin3, Pin4, Pin5, Pin6 的输出时钟波形了。


用示波器探头的地线连到开发板上的地J2  Pin1),示波器探头点中 J2 的 Pin3,示波器测

量到的波形为 25Mhz 的方波:










hdlcode.com 10 12


hdlcode





















再用示波器探头点中 J2 的 Pin4,示波器测量到的波形为 50Mhz 的方波:




















再用示波器探头点中 J2 的 Pin5,示波器测量到的波形为 75Mhz 的方波(因为示波器的带宽原 因,波形有一定程度的失真):














hdlcode.com 11 12


hdlcode




















再用示波器探头点中 J2 的 Pin6,示波器测量到的波形为 100Mhz 的方波(因为示波器的带宽原 因,波形有一定程度的失真):






































hdlcode.com 12 12


部分代码展示:

//////////////////////////////////////////////////////////////////////////////////
//                                                                              //
//                                                                              //
//  Author: meisq                                                               //
//          msq@qq.com                                                          //
//          ALINX(shanghai) Technology Co.,Ltd                                  //
//          heijin                                                              //
//     WEB: http://www.alinx.cn/                                                //
//     BBS: http://www.heijin.org/                                              //
//                                                                              //
//////////////////////////////////////////////////////////////////////////////////
//                                                                              //
// Copyright (c) 2017,ALINX(shanghai) Technology Co.,Ltd                        //
//                    All rights reserved                                       //
//                                                                              //
// This source file may be used and distributed without restriction provided    //
// that this copyright statement is not removed from the file and that any      //
// derivative work contains the original copyright notice and the associated    //
// disclaimer.                                                                  //
//                                                                              //
//////////////////////////////////////////////////////////////////////////////////
//================================================================================
//  Revision History:
//  Date          By            Revision    Change Description
//--------------------------------------------------------------------------------
//  2017/7/19     meisq          1.0         Original
//*******************************************************************************/

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » PLL实验设计Verilog代码Quartus AX301开发板

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员