用于SOC或塊級時鐘的可配置分頻器
時鐘是SOC或塊級設(shè)計最重要的組成部分之一,在設(shè)計概念構(gòu)思/規(guī)劃階段中,需要很好地定義和理解時鐘的架構(gòu)。單個SOC擁有各類模塊,如內(nèi)核、閃存、存儲器和外設(shè),這些模塊需要在不同頻率下運行。它們的最大運行速率可能受到所使用的實現(xiàn)技術(shù)、實施架構(gòu)、功率目標(biāo)、以及IP訪問時間等因素的限制。時鐘分頻器電路是必不可少的,它可以從主鎖相環(huán)(PLL)/振蕩器時鐘,或任何系統(tǒng)時鐘中產(chǎn)生分頻時鐘,并將不同的分頻時鐘饋送到不同的器件模塊。由于時鐘也可以被應(yīng)用驅(qū)動,時鐘分頻器必須是可配置的。需要可配置性的原因有很多,包括:
* 以較低的頻率運行系統(tǒng)時鐘,從而減少動態(tài)功耗。
* 以高于或低于處理器的頻率運行外設(shè)的狀態(tài)機。
* 設(shè)置發(fā)送/接收外設(shè)幀的波特率。
本文闡述了目前SOC中各種可配置時鐘分頻器邏輯的實施方案,強調(diào)了各自的問題、優(yōu)勢及局限性??膳渲梅诸l有各種實施方案,但是數(shù)字化設(shè)計行業(yè)中最簡單且最經(jīng)常使用的實施方案包括:
* 紋波分頻器
* 具有50%占空比的基于Div解碼的2N倍分頻器
* 不具有50%占空比的基于時鐘門控使能技術(shù)的整數(shù)分頻器
* 具有整數(shù)分頻和50%占空比的基于多路選擇器的分頻器。
紋波分頻器
圖1:可配置紋波分頻器的電路示意圖。
紋波分頻器是傳統(tǒng)的分頻器,由于它們在安裝和保持時間上有嚴格的要求,目前的SoC設(shè)計中通常避免使用這種分頻器。
優(yōu)勢:
* RTL復(fù)雜性最小
* 生成的分頻時鐘占空比為50%。
局限性:
* 時鐘時延隨著更高版本分頻時鐘的應(yīng)用而增加(時鐘上升沿的延遲大小排列為DIV16> DIV8> DIV4> DIV2> DIV1。)
如果啟動時鐘和捕獲時鐘從帶不同分頻因子的不同分頻器產(chǎn)生,這個缺陷可能導(dǎo)致更大的路徑不一致。
例如,設(shè)想一個帶兩個紋波分頻器的簡單時鐘架構(gòu)(見下圖),其中一個用于為內(nèi)核提供時鐘,另一個用于為閃存提供時鐘。兩個時鐘之間的比例必須是4:1。這會導(dǎo)致設(shè)計本身有意想不到的偏差。
圖2:可配置時鐘示例。
閃存時延–平臺時延= 2個觸發(fā)器的CK-Q延遲
* 即使有時鐘樹平衡,也要確保強大的時序簽收功能,這對于設(shè)計進入投產(chǎn)階段非常重要。STA工程師需要在四個不同觸發(fā)器的輸出上定義時鐘,因為每個觸發(fā)器都在生成具有不同時延的時鐘。這增加了人工工作,需要在設(shè)計中人工定義并檢查所有可能生成的時鐘。
基本RTL如下所示:
圖3:Div解碼分頻器實施。
在需要分頻的輸入時鐘的每個上升沿上都更新一次postscale_count寄存器的值。分頻時鐘可以從postscale_count寄存器的MSB中產(chǎn)生。下一個計數(shù)寄存器的值取決于分頻因子。
優(yōu)勢:
* 這類分頻器擁有最簡單的RTL。
* 它們產(chǎn)生的輸出時鐘占空比為50%,且不會像紋波分頻器一樣導(dǎo)致固有偏移,因為分頻時鐘總產(chǎn)生于一個點。
局限性:
* 這類分頻器僅限于2N倍分頻。
基于時鐘門控使能的整數(shù)分頻器或穿通分頻器
圖4顯示了一個簡單的穿通時鐘分頻器實施過程。
圖4:基于時鐘門控的分頻器。
圖5顯示了3分頻時鐘生成的波形圖。
M bit m=log2N(max): M bit m=log2N(max)
圖5:3分頻時鐘生成的波形圖。
評論