今天想來聊一聊芯片設(shè)計(jì)中的一個(gè)非常基礎(chǔ)的概念——時(shí)鐘。對(duì)于外行來說聽到這個(gè)詞可能會(huì)感覺迷茫,猜一個(gè)大概意思吧可能也不太準(zhǔn)。
對(duì)于芯片工程師來說時(shí)鐘這個(gè)詞就像每天喝水吃飯一樣平常,以至于可能從來不會(huì)注意它的存在。我也趁此機(jī)會(huì),通過寫文章的方式,梳理一下我所理解的芯片時(shí)鐘是怎么一回事。
提起時(shí)鐘,就不得不先說芯片的兩種邏輯——時(shí)序邏輯(sequential)和組合邏輯(combinational)。
組合邏輯比較好理解,他就是我們常說的與或非這種邏輯門,輸出信號(hào)邏輯僅僅依賴于輸入信號(hào)的邏輯,或者按我的理解,組合邏輯的信號(hào)傳播是瞬間完成的(不考慮cell delay的話)。
不管是多么復(fù)雜的組合電路,就比如剛?cè)腴T電路時(shí)候大家都會(huì)學(xué)一些全加器、半加器、超前進(jìn)位加法器什么什么的,雖然電路圖猛一看特別復(fù)雜,可能一張圖還畫不完,但只要他全部是由邏輯門構(gòu)成,都可以認(rèn)為當(dāng)給定輸入信號(hào)的時(shí)候,輸出是不需要等待就可以直接看到的。當(dāng)然這只是我的理解啦,具體的組合邏輯定義肯定不是這樣吧?而時(shí)序邏輯,最重要的就是出現(xiàn)了由時(shí)鐘驅(qū)動(dòng)的信號(hào)。
什么意思呢?就是說電路中存在這樣一類器件:他有一個(gè)特殊的控制輸入信號(hào),當(dāng)這個(gè)信號(hào)跳變的時(shí)候,輸出信號(hào)才會(huì)根據(jù)其他一般的輸入信號(hào)變化。我們一般稱這種器件叫觸發(fā)器(flip-flop),而稱這種特殊的控制信號(hào)叫時(shí)鐘。
舉一個(gè)最簡單的D觸發(fā)器的例子,當(dāng)時(shí)鐘從0到1跳變的時(shí)候,輸出才等于輸入,其他時(shí)間,不管輸入如何變化,輸出保持不變。
由此可以看出時(shí)序邏輯器件一個(gè)重要的功能:寄存數(shù)據(jù),因此這些觸發(fā)器有時(shí)候也可以被稱為寄存器(register)。當(dāng)然還有另一種時(shí)序邏輯器件叫鎖存器(latch),它是指時(shí)鐘信號(hào)維持某個(gè)電平時(shí)信號(hào)才可以傳輸。
隨著flip-flop的出現(xiàn),時(shí)鐘的概念也就應(yīng)運(yùn)而生了。其實(shí)時(shí)鐘并沒有多么奇怪的,他只是一個(gè)特殊的控制信號(hào)罷了。但是請(qǐng)大家思考這樣一個(gè)問題:隨著電路漸漸復(fù)雜,不同電路分支輸出的信號(hào)我總要抓取的呀,而具體什么時(shí)間點(diǎn)抓取信號(hào)就成了問題。
如果這個(gè)時(shí)鐘信號(hào)一會(huì)快一會(huì)慢,那么信號(hào)的抓取就會(huì)很艱難。所以為了規(guī)范化、統(tǒng)一化整個(gè)電路,讓大家都按照同一個(gè)規(guī)則來走,那么設(shè)計(jì)就會(huì)變得簡單化,這也是時(shí)鐘信號(hào)(clock)的最初衷。
為什么要叫“時(shí)鐘”?就是希望這個(gè)信號(hào)能像鐘表一樣,穩(wěn)定的每隔一段時(shí)間跳變一次,很形象吧?一個(gè)穩(wěn)定的時(shí)鐘會(huì)控制這個(gè)時(shí)鐘域所有的時(shí)序器件,這些器件就會(huì)統(tǒng)一的隔一段時(shí)間跳變一次,或者說信號(hào)傳輸一次,這就使我們的邏輯設(shè)計(jì)成為可能。
那么,我們?nèi)绾蔚玫揭粋€(gè)穩(wěn)定的時(shí)鐘呢?現(xiàn)在的芯片一般是由晶振產(chǎn)生一個(gè)周期信號(hào),但這個(gè)信號(hào)并不太好,需要后面經(jīng)過一系列處理,關(guān)鍵的一步就是通過鎖相環(huán)(PLL),最終得到一個(gè)我們想要的時(shí)鐘。
但是這個(gè)時(shí)鐘也并不是數(shù)學(xué)意義上完美的,對(duì)我們后端來說,必須要考慮它的不確定性,就是說我們還是會(huì)認(rèn)為它的周期一會(huì)大一會(huì)小,從來不會(huì)有一個(gè)完美的時(shí)鐘在現(xiàn)實(shí)宇宙里,畢竟我們后端是要做具體芯片實(shí)現(xiàn)的,必須悲觀考慮。
時(shí)鐘從PLL出來,到每個(gè)flip-flop的delay也會(huì)不同,而我們又希望所有flip-flop都同時(shí)跳變,就需要一步CTS(時(shí)鐘樹綜合)。這些就比較深入了,PLL和CTS以后再用別的章節(jié)來講吧。
突然又想到一個(gè)貼近生活的例子,我們平常看電腦CPU多少多少赫茲,就是指CPU的時(shí)鐘頻率,時(shí)鐘頻率越高,CPU計(jì)算速度自然就越快了嘛。
而所謂超頻,就是強(qiáng)行增大CPU的時(shí)鐘頻率,可以使CPU速度提高。但是頻率越快,timing越難滿足,可能會(huì)出現(xiàn)setup violation哦,所以說超頻更容易死機(jī),而且power也會(huì)變大,對(duì)芯片也不太好喲。
-
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30588 -
鎖存器
+關(guān)注
關(guān)注
8文章
922瀏覽量
42094 -
D觸發(fā)器
+關(guān)注
關(guān)注
3文章
165瀏覽量
48498 -
PLL電路
+關(guān)注
關(guān)注
0文章
92瀏覽量
6710 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14368
發(fā)布評(píng)論請(qǐng)先 登錄
RTC時(shí)鐘芯片+電池的應(yīng)用案例(一)

想輸入694KHz的時(shí)鐘,輸出117.28MHz的時(shí)鐘,可以為我推薦一款時(shí)鐘芯片嗎?
把兩片PCM1792A芯片同步工作時(shí),會(huì)差出一個(gè)過采樣時(shí)鐘,為什么?
Laird Eccosorb吸波材料的應(yīng)用案例

實(shí)時(shí)時(shí)鐘芯片RTC
視頻時(shí)鐘合成芯片怎么用

國產(chǎn)時(shí)鐘芯片LMK04828概述
RTC時(shí)鐘芯片的特性及應(yīng)用場景

使用Tina ti仿真ths3201時(shí),發(fā)生源兩路輸入則輸出不對(duì)是怎么回事?
傳感器和變送器是一回事?變送器和傳感器有什么差異
愛普生時(shí)鐘芯片RX8025T UB和RX8025T UC的異同

評(píng)論