找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 2383|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于FPGA Verilog語(yǔ)言的等精度測(cè)頻實(shí)現(xiàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:366331 發(fā)表于 2018-7-6 15:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
IORDIORD一:新建一個(gè)FPGA工程
1.
2.
3.
4.
5.
6. 核心FPGA芯片:選用256個(gè)管腳的FPGA芯片Cyclone IV EP4CE6F17C8
7.
8.
9.
10.
10.
11. 保存為test.v,注意要和module的名字一樣。為保證正常的現(xiàn)象,需要將沒(méi)有用到的芯片管腳設(shè)置為三態(tài)輸入,同時(shí)將復(fù)用的管腳設(shè)置為普通IO口。
module test
(
input clk,
input rst_n,
output reg [7:0] LED
);
parameter T_2S=25'd24000000;
reg [24:0] Cnt;
always @(posedge clk,negedge rst_n) begin
    if(!rst_n) begin
        LED<=8'b1111_1110;
        Cnt<=25'd0;
    end
    else if(Cnt==(T_2S-25'd1))  begin
        Cnt<=0;
        LED<={LED[6:0],LED[7]};
    end
    else begin
        Cnt<=Cnt+1'b1;
        LED<=LED;
    end
end
endmodule
12.查看新建的.v文件
13.
14.
15.
16.
17.預(yù)編譯
18. 編譯完成
19.分配引腳
20.
21.全編譯
22.燒寫(xiě).sof文件
23.
24.燒寫(xiě)成功
二:添加PLL時(shí)鐘信號(hào)
在Quartus Prime中要在IP核中找到pll核,才能進(jìn)行時(shí)鐘添加。
雙擊IP catalog,得到下圖界面,點(diǎn)擊ALTPLL
接下來(lái)配置時(shí)鐘發(fā)生器
以下是通用步驟。
step1 這里我新建一個(gè)名為PLL的工程如下所示,準(zhǔn)備調(diào)用一個(gè)PLL核
step2 點(diǎn)擊菜單欄上的TOOls下拉菜單中的魔法棒
step3 在彈出的對(duì)話框中點(diǎn)擊Next
step4 這里我們選擇輸出文件類型選擇為Verilog HDL,輸出IP核名稱為PLL_out,單擊I/0下拉選擇ALTPLL。
(注意:這里我的工程名為PLL所以起的PLL核的名稱不能和工程名一樣所以我的PLL核的名稱為PLL_out)
step5 填寫(xiě)PLL核的輸入時(shí)鐘,這里我的開(kāi)發(fā)板的輸入時(shí)鐘是50M,點(diǎn)擊Next
step6 在彈出的對(duì)話框中PLL核默認(rèn)勾選了復(fù)位和輸出使能,我這里不需要用到
將這兩個(gè)勾選都去掉(如果工程里面要用到也可以勾選),點(diǎn)擊Next
step7 點(diǎn)擊Next
step8 點(diǎn)擊Next
step9 點(diǎn)擊Next
step10 在彈出的對(duì)話框中選擇為1倍頻、50分頻、占空比為百分之50,我這里
輸入是50M所以50分頻輸出也就是1M,點(diǎn)擊Next
step11 一直點(diǎn)擊Next,直到summary(從上圖可以看出我們這個(gè)開(kāi)發(fā)板
有5個(gè)PLL核分別為clkc0,、clkc1、clkc2、clkc3、clkc4,但我們
只用到1個(gè)所以設(shè)置其它的4個(gè)PLL核都一直Next跳過(guò)沒(méi)有進(jìn)行設(shè)置,
如果你要多添加幾個(gè)PLL核設(shè)置方法和clkc0的設(shè)置方法是一樣的)。
step12 我們要調(diào)用這個(gè)PLL核勾選選擇輸出PLL_out_inst.v文件,然后點(diǎn)擊Finish
step 13 PLL核設(shè)置完成后點(diǎn)擊工具欄上的打開(kāi)或者File->open
step14 打開(kāi)我們建的PLL工程,找到我們?cè)O(shè)置PLL核所輸出的PLL_out_inst.v文件點(diǎn)擊打開(kāi)按鈕
step15 打開(kāi)的文件如下圖所示,將這個(gè)文件里的PLL_out核復(fù)制到我們工程PLL中
step16  PLL_out核復(fù)制到我們的PLL工程里如下圖所示
step17 這里我將PLL的例化名稱改為u1(也可以不更改使用默認(rèn)名稱),填寫(xiě)輸入
時(shí)鐘i_clk,以及輸出口,我這里直接將PLL核的輸出時(shí)鐘連接到了輸出口上
i_clk接FPGA上的晶振輸出,查FPGA手冊(cè)可以得到。
軟核的input 與output 與普通模型(module)接口寫(xiě)的方式不同嗎?
是相同的,最終還是需要晶振輸入時(shí)鐘信號(hào)。
step18 編譯工程分配引腳用邏輯分析儀看輸出時(shí)鐘是否是1M,從下圖可以看出輸出頻率和PLL分頻的頻率一致

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表