前言
時鐘信號在很大程度上決定了整個設計的性能和可靠性,盡量避免使用FPGA內部邏輯產生的時鐘,因為它很容易導致功能或時序出現問題。內部邏輯(組合邏輯)產生的時鐘容易出現毛刺,影響設計的功能實現;組合邏輯固有的延時也容易導致時序問題。
一、內部邏輯產生的時鐘
若使用組合邏輯的輸出作為時鐘信號或異步復位信號,設計者必須對有可能出現的問題采取必要的預防措施。我們知道,在正常的同步設計中,一個時鐘一個節拍的數據流控制能夠保證系統持續穩定的工作。但是,組合邏輯產生的時鐘不可避免地會有毛刺出現,如果此時輸入端口的數據正處于變化過程,那么它將違反建立和保持時間要求,從而影響后續電路的輸出狀態,甚至導致整個系統運行失敗。
對于必須采用內部邏輯作時鐘或者復位信號的應用,也還是有解決辦法的。思路并不復雜,和異步復位、同步釋放的原理是一樣的。在輸出時鐘或者復位信號之前,再用系統專用時鐘信號(通常指外部晶振輸入時鐘或者PLL處理后的時鐘信號)打一拍,從而避免組合邏輯直接輸出,達到同步處理的效果。對于輸出的時鐘信號或復位信號,最好讓它走全局時鐘網絡,從而減小時鐘網絡延時,提升系統時序性能。
內部邏輯產生的時鐘處理如下:
二、分頻時鐘與使能時鐘
設計中往往需要用到主時鐘的若干分頻信號作為時鐘,即分頻時鐘。可別小看這個所謂的分頻時鐘,簡簡單單不加處理的亂用時鐘那就叫時鐘滿天飛,是很不好的設計風格。言歸正傳,如果設計中確實需要用到系統主時鐘的分頻信號來降低頻率時,該如何處理呢?
對于資源較豐富的FPGA,一般都有內嵌的多個PLL或者DLL專門用于時鐘管理,利用它們就可以很容易地達到多個時鐘的設計,輸出時鐘能夠配置成設計者期望的不同頻率和相位差(相對于輸入時鐘),這樣的時鐘分頻是最穩定的。但是對于某些無法使用PLL或者DLL資源的器件又該怎么辦呢?推薦使用“使能時鐘”進行設計,在“使能時鐘”設計中只使用原有的時鐘,讓分頻信號作為使能信號來用。
下面舉一個實例來說明如何進行使能時鐘的設計,該設計需要得到一個50MHz鐘的5分頻信號即10MHz。
input clk; //50MHz時鐘信號 input rst n; reg[2:0]ent; wire en; //使能信號,高電平有效 //5分頻計數0~4 always@( posedge clk or negedge rst _n)begin if(!rst _n) ent<=3'd0; else if(ent<3'd4) ent<=ent+1b1; else ent<=3'd0; end assign en=(cnt==3'd4);//每5個時鐘周期產生1個時鐘周期高脈沖 //使用使能時鐘 always@( posedge clk or negedge rst _n)begin if(!rst _n)…; else if(en)…; ... end
如下圖所示,使能信號不直接作為時鐘使用,而是作為數據輸入端的選擇信號,這避免了使用分頻時鐘。
三、門控時鐘
組合邏輯中多用門控時鐘,一般驅動門控時鐘的邏輯都是只包含一個與門(或門).如其他的附加邏輯,容易因競爭產生不希望的毛刺。如圖a所示,門控時鐘通過一個使號控制時鐘的開或者關。當系統不工作時可以關閉時鐘,整個系統就處于非激活狀態,這種夠在某種程度上降低系統功耗。
圖a:門控時鐘
然而,使用門控時鐘并不符合同步設計的思想,它可能會影響系統設計的實現和驗證。單純從功能實現來看,使用使能時鐘替代門控時鐘是一個不錯的選擇;但是使能時鐘在使能信號關閉時,時鐘信號仍然在工作,它無法像門控時鐘那樣降低系統功耗。
是否有一種設計方法既可以降低系統功耗,又能夠穩定可靠的替代門控時鐘呢?Altera就提出了一種解決方案,且待我慢慢道來。如圖b所示,對于上升沿有效的系統時鐘cì k,它的下降沿先把門控信號(gating signal)打一拍,然后再用這個使能信號(enable)和系統時鐘(clk)相與后作為后續電路的門控時鐘。
圖b:推薦的門控時鐘
這樣的門控時鐘電路很好地解決了組合邏輯常見的一些問題。它避免了毛刺的出現,同時也有效抑制了亞穩態可能帶來的危害。但是從另一個方面來說,如果這個設計的系統時鐘(clk)占空比不是很穩定,或者輸出的使能信號(enable)與時鐘信號(clk)的邏輯過于復雜(不止這個例子中一個與門那么簡單),那么它也會帶來一些功能或時序上的問題。總的來說,只要設計者控制好這個設計中時鐘的占空比和門控邏輯復雜度,它還是比圖a給出的門控時鐘方案更可行。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1626文章
21665瀏覽量
601809 -
pll
+關注
關注
6文章
774瀏覽量
135046 -
時鐘信號
+關注
關注
4文章
445瀏覽量
28506
原文標題:【FPGA技巧篇】時鐘設計技巧
文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論