FPGA基礎之時(shí)序設計
FPGA設計一個(gè)很重要的設計是時(shí)序設計,而時(shí)序設計的實(shí)質(zhì)就是滿(mǎn)足每一個(gè)觸發(fā)器的建立(Setup)/保持(Hold)時(shí)間的要求。
本文引用地址:http://dyxdggzs.com/article/190779.htm建立時(shí)間(Setup Time):是指在觸發(fā)器的時(shí)鐘信號上升沿到來(lái)以前,數據穩定不變的時(shí)間,如果建立時(shí)間不夠,數據將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器;
保持時(shí)間(Hold Time):是指在觸發(fā)器的時(shí)鐘信號上升沿到來(lái)以后,數據穩定不變的時(shí)間, 如果保持時(shí)間不夠,數據同樣不能被打入觸發(fā)器。
FPGA設計分為同步電路設計和同步電路設計,然而很多異步電路設計都可以轉化為同步電路設計,在設計時(shí)盡量采用同步電路進(jìn)行設計。對于同步電路可以轉化的邏輯必須轉化,不能轉化的邏輯,應將異步的部分減到最小,而其前后級仍然應該采用同步設計。
為了讓同步電路可靠地運行,就要對時(shí)鐘偏差進(jìn)行控制,以使時(shí)鐘偏差減小到可用的范圍。影響時(shí)鐘偏差的主要有以下幾個(gè)因素:
用于連接時(shí)鐘樹(shù)的連線(xiàn)
鐘樹(shù)的拓撲結構
時(shí)鐘的驅動(dòng)
時(shí)鐘線(xiàn)的負載
時(shí)鐘的上升及下降時(shí)間
在通常的FPGA設計中對時(shí)鐘偏差的控制主要有以下幾種方法:
控制時(shí)鐘信號盡量走可編程器件的的全局時(shí)鐘網(wǎng)絡(luò )。在可編程器件中一般都有專(zhuān)門(mén)的時(shí)鐘驅動(dòng)器及全局時(shí)鐘網(wǎng)絡(luò ),不同種類(lèi)、型號的可編程器件,它們中的全局時(shí)鐘網(wǎng)絡(luò )數量不同,因此要根據不同的設計需要選擇含有合適數量全局時(shí)鐘網(wǎng)絡(luò )的可編程器件。一般來(lái)說(shuō),走全局時(shí)鐘網(wǎng)絡(luò )的時(shí)鐘信號到各使用端的延時(shí)小,時(shí)鐘偏差很小,基本可以忽略不計。
若設計中時(shí)鐘信號數量很多,無(wú)法讓所有的信號都走全局時(shí)鐘網(wǎng)絡(luò ),那么可以通過(guò)在設計中加約束的方法,控制不能走全局時(shí)鐘網(wǎng)絡(luò )的時(shí)鐘信號的時(shí)鐘偏差。
異步接口時(shí)序裕度要足夠大。局部同步電路之間接口都可以看成是異步接口,比較典型的是設計中的高低頻電路接口、I/O接口,那么接口電路中后一級觸發(fā)器的建立-保持時(shí)間要滿(mǎn)足要求,時(shí)序裕度要足夠大。
在系統時(shí)鐘大于30MHz時(shí),設計難度有所加大,建議采用流水線(xiàn)等設計方法。采用流水線(xiàn)處理方式可以達到提高時(shí)序電路的速度,但使用的器件資源也成倍增加。
要保證電路設計的理論最高工作頻率大于電路的實(shí)際工作頻率。
評論