这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
icore4tx_fpga_7 [2020/05/14 17:37] fmj |
icore4tx_fpga_7 [2022/04/01 11:37] (当前版本) sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-04-28 | gingko | 初次建立 | | | V1.0 | 2020-04-28 | gingko | 初次建立 | | ||
行 58: | 行 57: | ||
{{ :icore4tx:icore4tx_fpga_7_15.png?direct |图7.15}} | {{ :icore4tx:icore4tx_fpga_7_15.png?direct |图7.15}} | ||
16、 给工程分配引脚,引脚绑定信息如下。 | 16、 给工程分配引脚,引脚绑定信息如下。 | ||
- | <code c> | + | <code verilog> |
# PlanAhead Generated physical constraints | # PlanAhead Generated physical constraints | ||
NET "clk_25M" LOC = P8; | NET "clk_25M" LOC = P8; | ||
行 64: | 行 63: | ||
NET "clk_2" LOC = G11; //普通IO引脚 | NET "clk_2" LOC = G11; //普通IO引脚 | ||
NET "clk_3" LOC = F14; //普通IO引脚 | NET "clk_3" LOC = F14; //普通IO引脚 | ||
- | < / code > | + | |
+ | </code> | ||
17、 Spartan6 FPGA中PLL产生的时钟是不能直接连接到FPGA的普通IO的,不过可以通过在PLL输出时钟信号和普通IO之间增加ODDR2模块缓冲的方式解决。 | 17、 Spartan6 FPGA中PLL产生的时钟是不能直接连接到FPGA的普通IO的,不过可以通过在PLL输出时钟信号和普通IO之间增加ODDR2模块缓冲的方式解决。 | ||
* 在顶层文件中添加如下内容,并修改引脚信息即可: | * 在顶层文件中添加如下内容,并修改引脚信息即可: | ||
- | <code c> | + | |
+ | <code verilog> | ||
ODDR2 #( | ODDR2 #( | ||
.DDR_ALIGNMENT("NONE"), // Sets output alignment to "NONE", "C0" or "C1" | .DDR_ALIGNMENT("NONE"), // Sets output alignment to "NONE", "C0" or "C1" | ||
行 82: | 行 83: | ||
.S(1'b0) // 1-bit set input | .S(1'b0) // 1-bit set input | ||
); | ); | ||
- | < / code > | + | |
+ | </code> | ||
18、 将PLL IP核例化到顶层文件中,并修改信号名称;由于PLL的输出时钟信号有三个,所以这里要调用三个ODDR2模块,每个输出信号引脚都需要一个ODDR2模块缓冲。编辑后点击保存并编译,完成后如下图所示: | 18、 将PLL IP核例化到顶层文件中,并修改信号名称;由于PLL的输出时钟信号有三个,所以这里要调用三个ODDR2模块,每个输出信号引脚都需要一个ODDR2模块缓冲。编辑后点击保存并编译,完成后如下图所示: | ||
{{ :icore4tx:icore4tx_fpga_7_16.png?direct |图7.16}} | {{ :icore4tx:icore4tx_fpga_7_16.png?direct |图7.16}} | ||
==== 五、实验步骤及实验结果 ==== | ==== 五、实验步骤及实验结果 ==== | ||
- | + | {{ :icore4tx:icore4tx_fpga_7_17.png?direct&400 |图7.17}} | |
- | 1、将硬件正确连接,如图7.17所示。 | + | 1、将硬件正确连接,如图7.17所示。\\ |
- | {{ :icore4tx:icore4tx_fpga_7_17.png?direct&500 |图7.17}} | + | 2、将编写好的代码进行编译和下载;\\ |
- | + | 3、以100MHz时钟作为采样时钟,对其他所有输出时钟信号进行采样;\\ | |
- | 2、将编写好的代码进行编译和下载; | + | 4、观察其实验结果,如图7.18所示。\\ |
- | + | ||
- | 3、以100MHz时钟作为采样时钟,对其他所有输出时钟信号进行采样; | + | |
- | + | ||
- | 4、观察其实验结果,如图7.18所示。 | + | |
{{ :icore4tx:icore4tx_fpga_7_18.png?direct |图7.18}} | {{ :icore4tx:icore4tx_fpga_7_18.png?direct |图7.18}} | ||