|
時鐘 本文節選自特權同學的圖書《FPGA設計實戰演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 下面我們再來對時序分析的一些最基本概念及其相互關系進行探討,即時鐘和建立時間、保持時間的關系。(特權同學,版權所有) 時鐘這個并不陌生的詞匯,無需大做文章,就先舉個最典型的時鐘模型獻給大家。如圖8.7所示,理想的時鐘模型是一個占空比為50%且周期固定的方波。Tclk為一個時鐘周期,T1為高脈沖寬度,T2為低脈沖寬度,Tclk=T1+T2。占空比定義為高脈沖寬度與周期之比,即T1/Tclk。(特權同學,版權所有)
圖8.7 時鐘基本模型 所謂建立時間(Tsu),是指在時鐘上升沿到來之前數據必須保持穩定的時間;所謂保持時間(Th),是指在時鐘上升沿到來以后數據必須保持穩定的時間。一個數據需要在時鐘的上升沿被鎖存,那么這個數據就必須在這個時鐘上升沿的建立時間和保持時間內保持穩定。換句話說,就是在這段時間內傳輸的數據不能發生任何的變化。時鐘沿與建立時間和保持時間之間的關系如圖8.8所示。(特權同學,版權所有)
圖8.8 時鐘沿與建立時間和保持時間之間的關系 這里,我們舉一個二輸入與功能的時序設計模型,如圖8.9所示。輸入數據data1和data2會在時鐘的上升沿被分別鎖存到reg2和reg1的輸出端,然后這兩個信號分別經過各自的路徑到達與門and的輸入端,他們相與運算后信號傳送到下一級寄存器reg3的輸入端,對應他們上一次被鎖存后的下一個時鐘上升沿,reg3的輸入端數據被鎖存到了輸出端。這個過程是一個典型的寄存器到寄存器的數據傳輸。下面我們就要以此為基礎來探討他們需要滿足的建立時間和保持時間的關系。(特權同學,版權所有)
圖8.9 二輸入與功能的寄存器模型 如圖8.10的波形所示,clk表示時鐘源發出的時鐘波形,它要分別達到上面例子中的源寄存器reg1和reg2,以及達到目的寄存器reg3,所經過的時間是不一樣的,因此我們看到波形中給出的時鐘到達reg3的波形clk_r3相對于基準時鐘clk的波形會略有一些偏差(稍微延時一些,這是真實情況的模擬)。reg1out和reg2out分別是數據data1和data2被鎖存到各自寄存器的輸出端的波形,reg3in則是reg1out和reg2out的波形經過路徑延時和門延時后到達reg3in的波形,而reg3out則是在clk_r3的上升沿來到并鎖存好有效的數據后,其寄存器輸出端的波形。(特權同學,版權所有) |