这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
icore4tfpga_7 [2020/03/17 16:03] zgf 创建 |
icore4tfpga_7 [2024/04/10 11:01] (当前版本) zhaowenzhe [五、 实验步骤及实验结果] |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-02-20 | gingko | 初次建立 | | | V1.0 | 2020-02-20 | gingko | 初次建立 | | ||
- | ===== 实验:锁相环实验——锁相环IP核调用 ===== | + | ===== 实验七:锁相环实验——锁相环IP核调用 ===== |
==== 一、 实验目的与意义 ==== | ==== 一、 实验目的与意义 ==== | ||
行 14: | 行 13: | ||
==== 二、 实验设备及平台 ==== | ==== 二、 实验设备及平台 ==== | ||
- | - iCore4T 双核心板。[[https://item.taobao.com/item.htm?spm=a1z10.1-c.w137644-251734891.3.5923532fDrMDOe&id=610595120319|点击购买]] | + | - iCore4T 双核心板。 |
- | - Blaster(或相同功能)仿真器。[[https://item.taobao.com/item.htm?id=554869837940|点击购买]] | + | - iTool A(或相同功能)仿真器。 |
- | - Micro USB线缆。 | + | - USB Type C线缆。 |
- Keil MDK 开发平台。 | - Keil MDK 开发平台。 | ||
- Quartus开发平台。 | - Quartus开发平台。 | ||
行 26: | 行 25: | ||
==== 四、 锁相环IP核调用步骤 ==== | ==== 四、 锁相环IP核调用步骤 ==== | ||
- | 1、新建一个工程名为pll的工程,然后点击Tool ->Megawizard Plug-In Manager,如图11.1所示。 | + | 1、新建一个工程名为pll的工程,然后点击Tool ->Megawizard Plug-In Manager,如图7.1所示。 |
- | {{ :icore4t:icore4t_fpga_11_1.png?direct |图11.1}} | + | {{ :icore4t:icore4t_fpga_11_1.png?direct |图7.1}} |
- | 2、在该对话框选择新建IP核,如图11.2所示。 | + | 2、在该对话框选择新建IP核,如图7.2所示。 |
- | {{ :icore4t:icore4t_fpga_11_2.png?direct |图11.2}} | + | {{ :icore4t:icore4t_fpga_11_2.png?direct |图7.2}} |
- | 3、在此对话框选择新建IP核类型、生成的硬件描述语言、IP核文件的存储位置,如图11.3所示。 | + | 3、在此对话框选择新建IP核类型、生成的硬件描述语言、IP核文件的存储位置,如图7.3所示。 |
- | {{ :icore4t:icore4t_fpga_11_3.png?direct |图11.3}} | + | {{ :icore4t:icore4t_fpga_11_3.png?direct |图7.3}} |
- | 4、在此对话框中设置速度等级和输入时钟大小,设备芯片的速度等级是8,输入参考时钟是25MHz,如图11.4所示。 | + | 4、在此对话框中设置速度等级和输入时钟大小,设备芯片的速度等级是8,输入参考时钟是25MHz,如图7.4所示。 |
- | {{ :icore4t:icore4t_fpga_11_4.png?direct |图11.4}} | + | {{ :icore4t:icore4t_fpga_11_4.png?direct |图7.4}} |
- | 5、添加时钟复位信号和时钟锁,两个都是非必须信号,一般不需要添加,如图11.5所示。 | + | 5、添加时钟复位信号和时钟锁,两个都是非必须信号,一般不需要添加,如图7.5所示。 |
- | {{ :icore4t:icore4t_fpga_11_5.png?direct |图11.5}} | + | {{ :icore4t:icore4t_fpga_11_5.png?direct |图7.5}} |
- | 6、该对话框直接默认设置即可,如图11.6所示。 | + | 6、该对话框直接默认设置即可,如图7.6所示。 |
- | {{ :icore4t:icore4t_fpga_11_6.png?direct |图11.6}} | + | {{ :icore4t:icore4t_fpga_11_6.png?direct |图7.6}} |
- | 7、该对话框直接默认设置即可,如图11.7所示。 | + | 7、该对话框直接默认设置即可,如图7.7所示。 |
- | {{ :icore4t:icore4t_fpga_11_7.png?direct |图11.7}} | + | {{ :icore4t:icore4t_fpga_11_7.png?direct |图7.7}} |
- | 8、该对话框直接默认设置即可,如图11.8所示。 | + | 8、该对话框直接默认设置即可,如图7.8所示。 |
- | {{ :icore4t:icore4t_fpga_11_8.png?direct |图11.8}} | + | {{ :icore4t:icore4t_fpga_11_8.png?direct |图7.8}} |
- | 9、设置第一个输出时钟100MHz,由25MHz输入时钟进行4倍频得到的,输出时钟相位差为0,占空比为50%,设置参数如图11.9所示。 | + | 9、设置第一个输出时钟100MHz,由25MHz输入时钟进行4倍频得到的,输出时钟相位差为0,占空比为50%,设置参数如图7.9所示。 |
- | {{ :icore4t:icore4t_fpga_11_9.png?direct |图11.9}} | + | {{ :icore4t:icore4t_fpga_11_9.png?direct |图7.9}} |
- | 10、输出第二路时钟信号50MHz,设置参数如图11.10所示。 | + | 10、输出第二路时钟信号50MHz,设置参数如图7.10所示。 |
- | {{ :icore4t:icore4t_fpga_11_10.png?direct |图11.10}} | + | {{ :icore4t:icore4t_fpga_11_10.png?direct |图7.10}} |
- | 11、输出第三路时钟信号25MHz,设置参数如图11.11所示。 | + | 11、输出第三路时钟信号25MHz,设置参数如图7.11所示。 |
- | {{ :icore4t:icore4t_fpga_11_11.png?direct |图11.11}} | + | {{ :icore4t:icore4t_fpga_11_11.png?direct |图7.11}} |
- | 12、输出第四路时钟信号12.5MHz,设置参数如图11.12所示。 | + | 12、输出第四路时钟信号12.5MHz,设置参数如图7.12所示。 |
- | {{ :icore4t:icore4t_fpga_11_12.png?direct |图11.12}} | + | {{ :icore4t:icore4t_fpga_11_12.png?direct |图7.12}} |
- | 13、输出第五路时钟信号6.25MHz,设置参数如图11.13所示。 | + | 13、输出第五路时钟信号6.25MHz,设置参数如图7.13所示。 |
- | {{ :icore4t:icore4t_fpga_11_13.png?direct |图11.13}} | + | {{ :icore4t:icore4t_fpga_11_13.png?direct |图7.13}} |
- | 14、在该对话框一般默认设置即可,如图11.14所示。 | + | 14、在该对话框一般默认设置即可,如图7.14所示。 |
- | {{ :icore4t:icore4t_fpga_11_14.png?direct |图11.14}} | + | {{ :icore4t:icore4t_fpga_11_14.png?direct |图7.14}} |
- | 15、选择要生成的IP核文件信息,一般默认即可,如图11.15所示。 | + | 15、选择要生成的IP核文件信息,一般默认即可,如图7.15所示。 |
- | {{ :icore4t:icore4t_fpga_11_15.png?direct |图11.15}} | + | {{ :icore4t:icore4t_fpga_11_15.png?direct |图7.15}} |
- | 16、点击Finish后弹出该对话框,在此一定选择Yes,如图11.16所示。 | + | 16、点击Finish后弹出该对话框,在此一定选择Yes,如图7.16所示。 |
- | {{ :icore4t:icore4t_fpga_11_16.png?direct |图11.16}} | + | {{ :icore4t:icore4t_fpga_11_16.png?direct |图7.16}} |
- | 17、在工程中新建pll.v文件,并对锁相环IP核进行例化,如图11.17所示。 | + | 17、在工程中新建pll.v文件,并对锁相环IP核进行例化,如图7.17所示。 |
- | {{ :icore4t:icore4t_fpga_11_17.png?direct |图11.17}} | + | {{ :icore4t:icore4t_fpga_11_17.png?direct |图7.17}} |
18、程序编写完成后进行编译即可,此时锁相环调用完成。 | 18、程序编写完成后进行编译即可,此时锁相环调用完成。 | ||
- | 五、 实验步骤及实验结果 | + | ==== 五、 实验步骤及实验结果 ==== |
- | 1、将硬件正确连接,如图11.18所示。 | + | |
- | {{ :icore4t:icore4t_fpga_11_18.jpg?direct |图11.18}} | + | 1、将硬件正确连接,如图7.18所示。 |
+ | {{ :icore4t:icore4t_ide_1_37.jpg?600 |图7.18}} | ||
- | 2、将编写好的代码进行编译; | + | 2、将编写好的代码进行编译;\\ |
- | 3、以100MHz时钟作为采样时钟,对其他所有输出时钟信号进行采样; | + | 3、以100MHz时钟作为采样时钟,对其他所有输出时钟信号进行采样;\\ |
- | 4、观察其实验结果,如图11.19所示。 | + | 4、观察其实验结果,如图7.19所示。\\ |
- | {{ :icore4t:icore4t_fpga_11_19.png?direct |图11.19}} | + | {{ :icore4t:icore4t_fpga_11_19.png?direct |图7.19}} |
+ | |||
+ | ==== 六、 拓展实验 ==== | ||
- | 六、 拓展实验 | ||
- 思考为什么6.25MHz输出时钟的相位与其他相位不一样; | - 思考为什么6.25MHz输出时钟的相位与其他相位不一样; | ||
- 更改相位核占空比,观察Signaltap采样结果有何不同。 | - 更改相位核占空比,观察Signaltap采样结果有何不同。 | ||