色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊一聊無(wú)毛刺時(shí)鐘切換的問(wèn)題

冬至子 ? 來(lái)源:IC加油站 ? 作者:硅谷老李 ? 2023-06-27 17:00 ? 次閱讀

先說(shuō)為什么要做clock switching,在現(xiàn)代的SoC設(shè)計(jì)中,很多時(shí)候我們?cè)O(shè)計(jì)的模塊并不是要跑在一個(gè)固定的頻率下,而是根據(jù)性能和功耗的要求要跑在不同的時(shí)鐘頻率下,當(dāng)需要降低功耗以及不需要很高性能的時(shí)候,我們可以降低時(shí)鐘頻率,將驅(qū)動(dòng)這個(gè)模塊的時(shí)鐘換成一個(gè)慢速時(shí)鐘。通常時(shí)鐘控制模塊會(huì)產(chǎn)生不同頻率的時(shí)鐘,可能來(lái)自不同的PLL,也可能是來(lái)自不同的時(shí)鐘分頻器,然后有選擇邏輯來(lái)選擇讓哪一個(gè)時(shí)鐘驅(qū)動(dòng)電路

那么針對(duì)這個(gè),面試官可能直接問(wèn)你如何做時(shí)鐘切換。如果你對(duì)于時(shí)鐘切換完全沒(méi)有概念,你腦子里可能想到的是一個(gè)MUX結(jié)構(gòu),如下圖所示

圖片

看起來(lái)解決了問(wèn)題,當(dāng)SEL為0的時(shí)候,CLK0被上面的AND門(mén)給block住,當(dāng)SEL為1的時(shí)候,CLK1被下面的AND門(mén)給block住。但是問(wèn)題會(huì)出在SEL變化的時(shí)候,AND的門(mén)變化是立刻的,當(dāng)SEL恰好在CLK0為高的時(shí)候從1變?yōu)?,或者恰好在CLK1為高的時(shí)候從0變?yōu)?,那么輸出的CLK_OUT就會(huì)產(chǎn)生一個(gè)毛刺glitch。

圖片

(電路中產(chǎn)生了glitch為什么有害?)

那么接下來(lái)我們就要思考如何避免毛刺的產(chǎn)生。一個(gè)思路就是,我們要先把當(dāng)前正選中的時(shí)鐘完全停下來(lái),然后再切換成我們想要的目標(biāo)時(shí)鐘。

然后問(wèn)題就變成了,我們?cè)谑裁磿r(shí)候可以把當(dāng)前時(shí)鐘停下來(lái)且無(wú)毛刺,以及我們?cè)谑裁磿r(shí)候可以讓目標(biāo)時(shí)鐘通過(guò)且無(wú)毛刺。

關(guān)于什么時(shí)候讓時(shí)鐘停下來(lái)且無(wú)毛刺,我們回想一下我們?cè)谠O(shè)計(jì)clock gating里也遇到過(guò)類(lèi)似的問(wèn)題,解決的辦法是利用一個(gè)負(fù)沿觸發(fā)的latch,使得真正的gating發(fā)生在clock為低的時(shí)候。這里我們也要利用這個(gè)想法,即在clock為低的時(shí)候停住clock。相應(yīng)的,對(duì)于目標(biāo)clock,我們也在它為低的時(shí)候打開(kāi),這樣下一個(gè)正沿就可以完整的輸出。

利用clock gating的設(shè)計(jì),這樣我們就可以得到下面一個(gè)電路:

圖片

上面的兩個(gè)flop注意都是負(fù)沿觸發(fā)的,也就是說(shuō)它們的Q會(huì)在CLK1和CLK2的下降沿到來(lái)之后才發(fā)生變化,這樣就可以保證CLK1/2為高的半個(gè)周期完整的輸出,同時(shí),切換為另外一路的時(shí)候由于Flop之前的AND門(mén),也保證了即使SELECT立刻變化,AND門(mén)的輸出也是在另外一路停下來(lái)之后才能發(fā)生變化,這樣就保證了先停一路,再切另外一路。

看起來(lái)問(wèn)題解決了,但是上面的電路有什么問(wèn)題呢?如果你看過(guò)老李之前的跨時(shí)鐘域系列文章,應(yīng)該很迅速地發(fā)現(xiàn),這里面有個(gè)CDC的問(wèn)題。請(qǐng)問(wèn),SELECT信號(hào)到底是同步于CLK1還是CLK2呢?甚至有沒(méi)有可能SELECT信號(hào)是異步于CLK1和CLK2呢?我們說(shuō),如果CLK1和CLK2為兩個(gè)異步的CLK,那么SELECT至多和其中之一同步,和另外一路必然異步。既然是一個(gè)異步信號(hào),那么直接去寄存器的D端就會(huì)產(chǎn)生CDC的問(wèn)題,flop可能會(huì)產(chǎn)生亞穩(wěn)態(tài)!當(dāng)flop出現(xiàn)亞穩(wěn)態(tài)的時(shí)候,輸出CLK_OUT當(dāng)然也不是干凈穩(wěn)定的,造成的惡果不亞于毛刺!

好,那么要怎么解決問(wèn)題亞穩(wěn)態(tài)的問(wèn)題?很簡(jiǎn)單加synchronizer,也就是要在flop前面再加一級(jí)flop,來(lái)達(dá)到利用2flop synchronizer來(lái)synchronize SELECT的目的。電路變成下面

圖片

這樣我們就解決了metastable的問(wèn)題。一般來(lái)說(shuō),面試的時(shí)候你能把上面這個(gè)電路圖畫(huà)出來(lái),并且解釋清楚里面每一個(gè)門(mén)的作用,以及這樣設(shè)計(jì)的思路,基本就達(dá)到了面試官的考察要求。

當(dāng)然老李給大家分析面試題通常都不會(huì)止步于此,上面的這個(gè)電路結(jié)構(gòu)大家在任何地方一搜索就可以得到。老李下面帶來(lái)時(shí)鐘切換中更加進(jìn)階的干貨內(nèi)容。

我們?cè)賮?lái)仔細(xì)思考上面的電路,有幾個(gè)點(diǎn)需要注意

  1. 因?yàn)閟ynchronizer的引入,當(dāng)SEL變化到en0發(fā)生變化需要2個(gè)CLK0周期,之后才能把CLK0停下來(lái)。也就是說(shuō),當(dāng)前CLK不是立刻停下來(lái)的,這一點(diǎn)大家在設(shè)計(jì)模塊的時(shí)候要留心一下,不能想當(dāng)然認(rèn)為SEL一變化CLK立刻就會(huì)停。
  2. 而由于另外一路的synchronizer的延時(shí),當(dāng)之前的CLK停下之后,目標(biāo)clock也不是立刻開(kāi)始反轉(zhuǎn),所以?xún)蓚€(gè)clock切換中間會(huì)有一段時(shí)間CLK_OUT沒(méi)有clock,這個(gè)gap對(duì)你的系統(tǒng)是否有影響要仔細(xì)考慮。
  3. 我們說(shuō)是利用1個(gè)clock周期去使得metastable來(lái)穩(wěn)定下來(lái)。但就上面這個(gè)設(shè)計(jì)而言,我們?cè)谪?fù)沿觸發(fā)的flop之前只加了一級(jí)正沿觸發(fā)的flop,這樣留給flop輸出穩(wěn)定下來(lái)的時(shí)間只有 半個(gè)周期 。可能會(huì)使得MTBF達(dá)不到我們需要的值,所以這其實(shí)是一個(gè)trade off,你可以在前面再加一級(jí)正沿觸發(fā)的flop,這樣變成真正的2flop synchronizer。但是代價(jià)就是需要更多一個(gè)周期來(lái)停下clock,以及中間沒(méi)有clock的gap時(shí)間更長(zhǎng)。
  4. 在綜合以及PNR的時(shí)候,對(duì)于后面的兩個(gè)AND門(mén)和OR門(mén)要設(shè)為dont touch,避免綜合工具給替換成別的cell。

下面老李可能會(huì)問(wèn),如果我不希望你用負(fù)沿觸發(fā)的flop,因?yàn)槲业墓に噹?kù)里面沒(méi)有,那么你要怎么設(shè)計(jì)?

思路就是用一個(gè)clock gating cell來(lái)替換掉上面的negedge flop和AND 門(mén),clock gating我們說(shuō)過(guò)打開(kāi)時(shí)鐘和關(guān)閉時(shí)鐘都是無(wú)毛刺的。所以你可能會(huì)想到下面的電路

圖片

但是很不幸,上面的電路看起來(lái)完美無(wú)缺,但是其實(shí)并不能達(dá)到無(wú)毛刺的時(shí)鐘切換。往下看老李的提示之前,請(qǐng)你自己思考一下為什么?和上面的negedge flop + AND有什么區(qū)別呢?

其實(shí)原因就是en0變?yōu)?的時(shí)候CLK_OUT并不是立刻停住的!這是clock gating cell的特征。那么當(dāng)你把en0b傳給下一路,下面CLK1可能會(huì)在CLK0沒(méi)有完全停下的時(shí)候就打開(kāi)了,還是會(huì)產(chǎn)生glitch。你可能會(huì)說(shuō),en0b到en1不還得經(jīng)過(guò)一段時(shí)間嗎?en1變?yōu)?到ICG打開(kāi)不也得要時(shí)間嗎?你期望CLK0利用這段時(shí)間完全關(guān)斷。但是這并不一定,因?yàn)槟悴⒉恢繡LK0和CLK1的頻率關(guān)系,如果CLK1比CLK0快很多,下面的synchronizer delay可能并不夠。我們要設(shè)計(jì)的是一個(gè)能夠在clk0和clk1在任意頻率下都可以工作的電路。

所以改進(jìn)的設(shè)計(jì)是要在en0之后再加一級(jí)flop,將延一拍之后的en0b_dly反饋給另外一路,這樣才能保證在當(dāng)前路完全關(guān)斷的情況下切換。

圖片

再擴(kuò)展問(wèn)一個(gè)問(wèn)題,上面我們?cè)O(shè)計(jì)的都是兩路clock之間進(jìn)行切換,如果要求你設(shè)計(jì)一個(gè)多路時(shí)鐘切換的電路,甚至要求時(shí)鐘的路數(shù)是參數(shù)化的,你要怎么設(shè)計(jì)呢?

關(guān)于多路時(shí)鐘切換,第一個(gè)要考慮的問(wèn)題是,如何設(shè)計(jì)SEL?是用binary來(lái)編碼SEL還是別的方式?這里推薦用獨(dú)熱碼onehot來(lái)編碼SEL,因?yàn)槿我鈺r(shí)刻只會(huì)選中其中一路,天然就和onehot的編碼性質(zhì)相同,也就是N路clock,那么SEL就是N位,每一位對(duì)應(yīng)一路。利用onehot encoding的還有一個(gè)好處是參數(shù)化方便,如果利用binary,那么可能會(huì)遇到不合法的輸入,比如只有3路clock,但是SEL=2‘b11。

另外一個(gè)要考慮的問(wèn)題是最后的那個(gè)OR門(mén)的實(shí)現(xiàn),當(dāng)我們只有2路,3路clock需要切換的時(shí)候,庫(kù)里面有2輸入的普通OR門(mén),但是并不推薦大家直接用。原因在于,由于最終我們輸出的是一個(gè)時(shí)鐘信號(hào),那么我們通常要求時(shí)鐘信號(hào)的transition是非常干凈的,而且上升沿和下降沿是平衡的,即tr(rising delay)和tf(falling delay)是幾乎差不多的,而普通的2輸入OR門(mén)并不保證它們tr和tf相等,而且是與2輸入中連哪一個(gè)輸入pin有關(guān)。為了解決這個(gè)問(wèn)題,工藝庫(kù)廠家一般會(huì)提供一些特殊的CELL,進(jìn)行了專(zhuān)門(mén)的設(shè)計(jì),可以使得tr和tf幾乎相等,并且兩個(gè)輸入pin的延時(shí)也是一樣的,并不區(qū)分,所以我們要例化那些特殊的專(zhuān)門(mén)給clock path上用的cell。但是當(dāng)輸入變成了多路clock,比如4路,5路,甚至更多路比如8路,16路的時(shí)候,廠家也不會(huì)提供balanced 多輸入clock OR cell。這個(gè)時(shí)候我們就要專(zhuān)門(mén)利用NAND tree來(lái)實(shí)現(xiàn)最后的OR邏輯,并且要保證每一路所需要的NAND cell delay是一樣的(思考題:為什么要balance每一路?)舉個(gè)例子一個(gè)利用NAND tree來(lái)達(dá)到2input OR的結(jié)構(gòu)如下

圖片

最后再提一個(gè)很多人都會(huì)忽視的問(wèn)題,請(qǐng)問(wèn)大家,在上面設(shè)計(jì)的無(wú)毛刺時(shí)鐘切換電路,對(duì)于其中synchronizer flop,以及clock gating cell,你有沒(méi)有考慮reset信號(hào)的影響? 如果你的reset信號(hào)是異步reset,那么當(dāng)你reset active的時(shí)候,clock會(huì)立刻被切斷,那么是不是也會(huì)產(chǎn)生glitch?

這個(gè)問(wèn)題的解決思路有兩個(gè),一是假設(shè)你在reset狀態(tài)下選中的是clock0,那么需要你在assert reset之前要先切換到clock0;如果不是,比如reset assert的時(shí)候是clock3,那么你需要保證所有被clock3驅(qū)動(dòng)的下游邏輯也都會(huì)被這個(gè)reset信號(hào)給復(fù)位。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 分頻器
    +關(guān)注

    關(guān)注

    43

    文章

    447

    瀏覽量

    50014
  • SoC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    1

    文章

    148

    瀏覽量

    18796
  • CDC技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6884
  • PLL電路
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    6436
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    從焊接角度,設(shè)計(jì)PCB的5個(gè)建議

    完成個(gè)電路板,需要PCB工程師、焊接工藝、焊接工人等諸多環(huán)節(jié)的把控。今天通過(guò)定位孔、MARK點(diǎn)、留邊、焊盤(pán)過(guò)孔、輔助工具這五個(gè)方面從畫(huà)板的角度跟大家PCB設(shè)計(jì)。
    的頭像 發(fā)表于 02-06 10:31 ?2025次閱讀
    從焊接角度<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>,設(shè)計(jì)PCB的5個(gè)建議

    如何僅使用邏輯門(mén)和寄存器產(chǎn)生無(wú)毛刺輸出的時(shí)鐘切換

    大部分開(kāi)發(fā)者使用 BUFGCTRL 或 BUFGMUX進(jìn)行時(shí)鐘切換,它們?cè)?b class='flag-5'>時(shí)鐘切換上可以提供無(wú)毛刺
    的頭像 發(fā)表于 08-16 09:05 ?1279次閱讀
    如何僅使用邏輯門(mén)和寄存器產(chǎn)生<b class='flag-5'>無(wú)</b><b class='flag-5'>毛刺</b>輸出的<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>切換</b>?

    消息隊(duì)列技術(shù)選型的7種消息場(chǎng)景

    我們?cè)谧鱿㈥?duì)列的技術(shù)選型時(shí),往往會(huì)結(jié)合業(yè)務(wù)場(chǎng)景進(jìn)行考慮。今天來(lái)消息隊(duì)列可能會(huì)用到的 7 種消息場(chǎng)景。
    的頭像 發(fā)表于 12-09 17:50 ?1416次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>消息隊(duì)列技術(shù)選型的7種消息場(chǎng)景

    【皮特派硬件設(shè)計(jì)_1】時(shí)鐘無(wú)毛刺切換

    行業(yè)芯事智慧辦公經(jīng)驗(yàn)分享
    皮特派
    發(fā)布于 :2022年03月21日 14:09:28

    來(lái)Altium中Fill,Polygon Pour,Plane的區(qū)別和用法

    Fill會(huì)造成短路,為什么還用它呢?來(lái)Altium中Fill,Polygon Pour,Plane的區(qū)別和用法
    發(fā)表于 04-25 06:29

    stm32的低功耗調(diào)試

    前言:物聯(lián)網(wǎng)的大部分設(shè)備都是電池供電的,設(shè)備本身低功耗對(duì)延長(zhǎng)設(shè)備使用至關(guān)重要,今天就實(shí)際調(diào)試總結(jié)stm32的低功耗調(diào)試。1、stm32在運(yùn)行狀態(tài)下的功耗上圖截圖自stm32l15x手冊(cè)
    發(fā)表于 08-11 08:18

    平衡小車(chē)代碼的實(shí)現(xiàn)

    前言今天代碼,只有直立功能的代碼。代碼總體思路給定個(gè)目標(biāo)值,單片機(jī)通過(guò)IIC和mpu6050通信,得知數(shù)據(jù)后,根據(jù)角度環(huán)計(jì)算出個(gè)P
    發(fā)表于 01-14 08:29

    FPGA的片內(nèi)資源相關(guān)知識(shí)

    大家好,到了每日學(xué)習(xí)的時(shí)間了。今天我們來(lái)FPGA的片內(nèi)資源相關(guān)知識(shí)。 主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、DCM和DSP)的硬核
    的頭像 發(fā)表于 05-25 14:11 ?8968次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>FPGA的片內(nèi)資源相關(guān)知識(shí)

    IIC總線設(shè)計(jì)

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天咱們來(lái) IIC 總線設(shè)計(jì)。 、概述: IIC 是Inter-Integrated Circuit的縮寫(xiě),發(fā)音為eye-squared cee
    的頭像 發(fā)表于 06-22 10:32 ?9332次閱讀

    小米米2月19日停止服務(wù) 米宣布關(guān)閉服務(wù)器

    v8.8.70 及以上版本支持批量導(dǎo)出。 2010年12月10日,反應(yīng)迅速的小米僅僅用了不到2個(gè)月的時(shí)間,發(fā)布了中國(guó)第款模仿kik的產(chǎn)品——米。Kik是款基于手機(jī)通信錄的社交軟件,用戶(hù)可以免費(fèi)短信聊天。 2012年5月,
    的頭像 發(fā)表于 01-20 05:43 ?6686次閱讀

    FPGA中的彩色轉(zhuǎn)灰度的算法

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來(lái)FPGA學(xué)習(xí)中可以遇到的些算法,今天就
    的頭像 發(fā)表于 04-15 15:47 ?1983次閱讀

    時(shí)鐘毛刺注入攻擊的研究分析綜述

    時(shí)鐘毛刺注入是現(xiàn)實(shí)環(huán)境中有效且常用的故障注入方法。時(shí)鐘毛刺注入是通過(guò)在正常時(shí)鐘周期中引入
    發(fā)表于 04-26 14:20 ?9次下載
    <b class='flag-5'>時(shí)鐘</b><b class='flag-5'>毛刺</b>注入攻擊的研究分析綜述

    【職場(chǎng)雜談】與嵌入式物聯(lián)網(wǎng)架構(gòu)師幾個(gè)話(huà)題

    【職場(chǎng)雜談】與嵌入式物聯(lián)網(wǎng)架構(gòu)師幾個(gè)話(huà)題
    的頭像 發(fā)表于 08-23 09:19 ?1375次閱讀
    【職場(chǎng)雜談】與嵌入式物聯(lián)網(wǎng)架構(gòu)師<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>幾個(gè)話(huà)題

    簡(jiǎn)單DPT技術(shù)-double pattern technology

    今天想來(lái)簡(jiǎn)單DPT技術(shù)-double pattern technology,也就是雙層掩模版技術(shù),在目前先進(jìn)工藝下,這項(xiàng)技術(shù)已經(jīng)應(yīng)用的很普遍了。
    的頭像 發(fā)表于 12-05 14:26 ?2111次閱讀

    芯片設(shè)計(jì)的NDR是什么?

    今天突然想route相關(guān)的問(wèn)題,講講NDR是什么,我也梳理總結(jié)下我對(duì)NDR的認(rèn)識(shí)。
    的頭像 發(fā)表于 12-06 15:14 ?2261次閱讀
    主站蜘蛛池模板: 国产亚洲欧洲日韩在线观看 | 蜜臀亚洲AV永久无码精品老司机| 久久在精品线影院| 蜜臀AV精品一区二区三区| 欧美午夜精品一区二区蜜桃| 日韩黄色免费| 午夜影视免费| 亚洲一区自拍高清亚洲精品| 5g天天影院天天看天天爽| 被同桌摸出水来了好爽的视频| 福利一区福利二区| 好男人在线高清WWW免费观看| 麻豆国产精品久久人妻| 日本激情网址| 亚洲成人免费在线| 中文字幕天堂久久精品| 99视频精品全部 国产| 公开超碰在线视频| 韩国成人理伦片免费播放| 美女露100%全身无遮挡| 色欲色香天天天综合| 亚洲性无码av在线| 99精品视频一区在线视频免费观看| 国产AV无码一二三区视频| 激情欧美日韩一区二区| 欧美xxxxxbb| 亚洲AVAV天堂AV在线网爱情| 最新快播网站| 国产激情一级毛片久久久| 久久久久国产| 入禽太深免费观看| 最近更新2019中文字幕国语| 国产69精品久久久久乱码韩国 | 67194con免费福和视频| 国产AV麻豆出品在线播放| 久久精品无码一区二区日韩av | 国产性色AV内射白浆肛交后入| 免费人妻AV无码专区五月| 午夜福利免费院| 99九九免费热在线精品| 国产在线精品视亚洲不卡|