Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

2022 數位邏輯設計實驗

W8

時脈產生
實 驗 目 的
◼ 了解時脈的產生與產生特定的時脈

2
時脈
◼ 系統時脈
◼ 系統運作的最基本時間單位。
◼ 統一的時脈可以令數位電路同步運作。

Positive Edge

Negative Edge

3
時脈
◼ DE2提供的震盪器時脈
◼ 振盪器 27MHz & 50MHz。

4
時脈
◼ 3 Inputs (默認 1-bit)
◼ sw、key、clk
◼ 使用正緣觸發posedge
◼ 負緣觸發則為negedge

◼ 3 Outputs
每當sw正緣觸發
◼ x、y、z
時執行 (begin-
end)中程式
◼ 每次觸發都會將對應
的暫存器值 +1,之後
輸出到LED燈上,觀
察結果。

5
時脈
◼ 時脈的產生
◼ 石英振盪器的基本頻率。
◼ 基本頻率再經由晶片內部的鎖相迴路(PLL, Phase Locked Loop)調整
出的頻率(倍頻或除頻)!
◼ 兩者都可以是我們系統的主要時脈。
◼ 其他周邊可以參考此時脈又或者再經過除頻電路的到新的時脈。

6
除頻器
◼ 對輸入時脈做除頻。
◼ 如果clk = 50 MHz,目標輸出10 Hz。則每
計數2,500,000(2.5M)就將out反轉一次!
(50M / 10) / 2 = 2.5x106
◼ 除10,是目標頻率,得到總應計數數,除2,
是正、負緣各自需要的時間。
◼ 50MHz (頻率) = 2 x 10-8 (s) (週期)
◼ 10 Hz = 0.1 (s)
◼ 正緣 與 負緣 個佔一半時間,各需要0.05(s) ,
正緣: 2 x 10-8 (s) x 2.5 x 106 = 0.05 (s)做一
次轉換
◼ 負緣: 2 x 10-8 (s) x 2.5 x 106 = 0.05 (s)再做
一次轉換,以此類推!
◼ 就可以得到 10 Hz 的時脈了!

警告:DE10如果使用負緣觸發,發現結果
與預期不符,嘗試嘗試使用正緣觸發。

7
除頻器

◼ 增加點權重,否則無法做到明顯的除頻。

◼ 註:人的眼睛一般來說,只能捕捉到
1/17(second)的變化,再更快的
(frequency上升),會有視覺暫留現象,
就會被我們視為連續的影像!

8
語法
if (a == 1) //條件判斷
//只有一行程式碼
else
if (條件判斷)
//只有一行程式碼
begin
if (條件判斷) //多行程式碼
begin end
由上依序往下判
//多行程式碼 斷,如果有遇到 if (條件判斷) 都會做判斷,有
end 符合的就執行, begin 符合就執行!
else if (條件判斷) 有優先權存在! //多行程式碼
begin end
先符合哪個就做, if (條件判斷)
//多行程式碼
後面就不理會。
end begin
else //多行程式碼
begin end
//多行程式碼
end
9
練習題
◼ 請使用50MHz做出四個閃爍LED燈(同時顯示)
◼ ½ Hz
◼ 1 Hz
◼ 2 Hz
◼ 3 Hz

◼ 加分題
◼ 承練習題,將結果用七段顯示器表示,顯示LED燈閃爍次數
(以0~9或0~F為一個迴圈)

10
~補充教材~

11
DE2-FPGA內部PLL設定
◼ Step.1 選取 MegaWizard Plug-In Manager

12
DE2-FPGA內部PLL設定
◼ Step.2 選擇第一個,創造新的客製化 megafunction variation

13
DE2-FPGA內部PLL設定
◼ Step.3 在I/O(input/output)中,選取ALTPLL。選擇Verilog HDL。確認專
案目錄 以及 Cyclone II!名稱避免 空白&中文就可以了,記得要打上 .v
檔!

14
DE2-FPGA內部PLL設定
◼ Step.4 由於我們DE 2 的震盪器最大到50MHz,重新再把輸入時脈設定
過。

15
DE2-FPGA內部PLL設定
◼ Step.5 這兩個目前不會使用到,這邊先把它取消。再來點
選左上方的 Output Clocks

16
DE2-FPGA內部PLL設定
◼ Step.6 這邊設定我們想要的頻率,不過有可能會無法合成!
旁邊有實際輸出為參考!再來按上面的Summary

17
DE2-FPGA內部PLL設定
◼ Step.7 確認好之後,就可以按Finish了。

18
DE2-FPGA內部PLL設定
◼ 這邊要注意一下我們剛剛創建的pll_test參式所需要的參數,如同我們
打 module xxx (參數1,參數2,參數3,參數4)一樣,知道格式之後~ 請看下
頁…

19
DE2-FPGA內部PLL設定
◼ 就像是C語言中call副程式,需要把參數丟進函式(function)中,再輸出
結果

20

You might also like