2018年5月7日 星期一

Quartus II 16.1 - 使用PLL Library IP

(1). 新增一個Project。

(2). 選擇"Tools" > "IP Catalog"。

(3). 在搜尋欄位中輸入"PLL",搜尋到"ALTPLL",點選此IP元件。

(4). IP variation file type選擇"Verilog"語言,之後點選"..."鍵。

(5). 在"檔案名稱:"欄位中輸入存檔名稱,我這裡用"pll",輸入完成按"存檔"。

(6). 按"OK。"

(7). 顯示MegaWizard Plug設定頁面,因為目標板(DE0-Nano)的石英震盪器為50mHz,因此在What is the frequency of the inclk0 input?中輸入"50MHz",之後按"Next>"。

(8). 將Create an 'areset' input to asynchronously reset the PLL、Create 'locked' output,取消勾選,之後按"Next>"。在不需要設定的頁面都直接按"Next>"。

(9). 勾選"Enter output clock frequency:",因為輸出要100mHz因此Requested Settings與Actual Settings欄位不做變更,按"Next>"。如果要輸出 1mHz,Requested Settings與Actual Settings欄位都改成"1.0"。

(10). 取消pll_bb.v的勾選,按"Finish"。

(11). 按"Yes"。

(12). 點選"New",再點選"Verilog HDL File",按"OK"。

(13). 輸入數位電路程式,輸入完成後按"Start Compllation"開始編譯與合成。

module top(
input clkin,
output clkout

);

wire clk_wire;
assign clkout = clk_wire;

pll pll_i(
.inclk0(clkin),
.c0(clk_wire)

);

endmodule


(14). 按"Pin Planner"設定輸入與輸出IO。

(15). 在clkin的Location欄位中輸入"pin_R8",clkout的Location欄位中輸入"pin_B12"。

(16). 按"Programmer",開啟燒錄視窗。

(17). 按"Add Device",目標板(DE0-Nano)上面的FPGA型號為EP4CE22F17C6,因此選擇"EP4CE22F17",按"OK"。

(18). 按"Add File...",選擇output_files檔案路徑下的"xxx.sof"檔,後按"Open"。

(19). 燒錄前確認USB有接上PC,按"Start"開始燒錄。

(20). 因為使用Library IP,我寫Testbench驗證,無法模擬出波形,只好使用示波器驗證。將示波器探棒勾在GPIO_033腳位。

(21). 顯示結果的確是100mHZ。