基于FPGA的時(shí)鐘設計
對于一個(gè)設計項目來(lái)說(shuō),全局時(shí)鐘是最簡(jiǎn)單和最可預測的時(shí)鐘。在PLD/FPGA設計中最好的時(shí)鐘方案是由專(zhuān)用的全局時(shí)鐘輸入引腳驅動(dòng)的單個(gè)主時(shí)鐘去鐘控設計項目中的每一個(gè)觸發(fā)器。只要可能就應盡量在設計項目中采用全局時(shí)鐘。PLD/FPGA都具有專(zhuān)門(mén)的全局時(shí)鐘引腳,它直接連到器件中的每一個(gè)寄存器。這種全局時(shí)鐘提供器件中最短的時(shí)鐘到輸出的延時(shí)。
本文引用地址:http://dyxdggzs.com/article/150174.htm1 全局時(shí)鐘
全局時(shí)鐘的實(shí)例如圖1所示。圖1中定時(shí)波形示出觸發(fā)器的數據輸入D[1..3]應遵守建立時(shí)間和保持時(shí)間的約束條件。建立和保持時(shí)間的數值在PLD數據手冊中給出,也可用軟件的定時(shí)分析器計算出來(lái)。如果在應用中不能滿(mǎn)足建立和保持時(shí)間的要求,則必須用時(shí)鐘同步輸入信號。
2 門(mén)控時(shí)鐘
在許多應用中,整個(gè)設計項目都采用外部的全局時(shí)鐘是不可能或不實(shí)際的。PLD具有乘積項邏輯陣列時(shí)鐘(即時(shí)鐘是由邏輯產(chǎn)生的),允許任意函數單獨地鐘控各個(gè)觸發(fā)器。然而,當你用陣列時(shí)鐘時(shí),應仔細地分析時(shí)鐘函數,以避免毛刺。
通常用陣列時(shí)鐘構成門(mén)控時(shí)鐘。門(mén)控時(shí)鐘常常同微處理器接口有關(guān),用地址線(xiàn)去控制寫(xiě)脈沖。然而,每當用組合函數鐘控觸發(fā)器時(shí),通常都存在著(zhù)門(mén)控時(shí)鐘。如果符合下述條件,門(mén)控時(shí)鐘可以象全局時(shí)鐘一樣可靠地工作,圖2所示是一個(gè)可靠的門(mén)控時(shí)鐘電路。
(1)驅動(dòng)時(shí)鐘的邏輯必須只包含一個(gè)“與”門(mén)或一個(gè)“或”門(mén)。如果采用任何附加邏輯在某些工作狀態(tài)下,會(huì )出現競爭產(chǎn)生的毛刺。
(2)邏輯門(mén)的一個(gè)輸入作為實(shí)際的時(shí)鐘,而該邏輯門(mén)的所有其他輸入必須當成地址或控制線(xiàn),它們遵守相對于時(shí)鐘的建立和保持時(shí)間的約束。
在設計中可以將門(mén)控時(shí)鐘轉換成全局時(shí)鐘以改善設計項目的可靠性。圖3示出如何用全局時(shí)鐘重新設計圖2所示的電路。地址線(xiàn)在控制D觸發(fā)器的使能輸入,許多PLD設計軟件,如Max+PlusⅡ軟件都提供這種帶使能端的D觸發(fā)器。當ENA為高電平時(shí),D輸入端的值被鐘控到觸發(fā)器中:當ENA為低電平時(shí),維持現在的狀態(tài)。
評論