分频时钟与使能时钟
分頻時鐘與使能時鐘
對于資源比較豐富的FPGA,一般都有內嵌的多個PLL或者DLL專門用于時鐘管理,利用他們就可以很容易地達到多個時鐘的設計,輸出時鐘能夠配置成設計者期望的不同頻率和相位差(相對于輸入時鐘),這樣的時鐘分頻是穩定的。但是們對于某些無法使用PLL或則DLL資源的器件又該怎么辦呢?推薦使用“使能時鐘”進行設計,在“使能時鐘”設計中只使用原有的時鐘,讓分頻信號作為使能信號來用。
例如:設計需要得到一個50Mhz輸入時鐘的5分頻信號即10Mhz
input clk; input rst_n; reg [2:0] cnt; wire en;//5分頻 計數0~4 always@(posedge clk or negedge rst_n) beginif(!rst_n)cnt <= 3'd0;else if(cnt < 3'd4)cnt <= cnt + 1'b1;elescnt <= 3'd0; endassign en = (cnt == 3'd4);//每5個時鐘周期產生1個時鐘周期高脈沖//使用使能時鐘 always@(posedge clk or negedge rst_n) beignif(!rst_n) ......;else if(en).....; end
使能信號不直接作為時鐘使用,而是作為數據輸入端的選擇信號,這樣就避免了使用分頻時鐘。
歡迎關注我,關于FPGA的問題歡迎留言討論!
總結
- 上一篇: 微软 Win11 22H2 Build
- 下一篇: 基本的Testbench的搭建