電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 39|回復(fù): 0
收起左側(cè)

【芯片設(shè)計(jì)】異步電路碎碎念(五) 異步邏輯的幾個(gè)注意事項(xiàng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
匿名  發(fā)表于 2024-9-2 12:02:00 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
UVM源碼計(jì)劃系列因?yàn)?X同學(xué)被分配了很繁重的工作,所以暫時(shí)先學(xué)到這,啥時(shí)候有閑暇時(shí)光了再繼續(xù)往下學(xué)。同時(shí)IC checklist的三篇也已經(jīng)推送完成,本來交付系列還有一些備份但是內(nèi)容還是沒打磨好,也日后再輸出吧?偨Y(jié)下來最近就先專心更從RTL到GDS、異步邏輯以及開源項(xiàng)目閱覽三個(gè)系列好了,在過程中再插入其他一些零散的文章,等到其他幾個(gè)備份中的專題大概完成了再增加推送的系列吧。
本篇跟前文的內(nèi)容有一定的重合,在行文中很多地方已經(jīng)體現(xiàn)過了。不過既然已經(jīng)寫到這里了就歸納一下吧。總的來說,異步邏輯處理中,注意事項(xiàng)大概有以下這些,總結(jié)并不全面歡迎大家補(bǔ)充。避免目的時(shí)鐘域再收斂即多比特信號(hào)進(jìn)行同步時(shí),如需要進(jìn)行邏輯運(yùn)算必須在源時(shí)鐘域完成組合邏輯并寄存處理,不能分別同步到目的時(shí)鐘域后再進(jìn)行邏輯處理。這個(gè)老生常談了,每個(gè)比特在同步過程中收斂的時(shí)刻不同,有的在第2拍采到正確值,有的在3拍采樣到正確值,在目的時(shí)鐘域?qū)Χ鄠(gè)同步信號(hào)進(jìn)行組合邏輯的話,產(chǎn)生的結(jié)果可能與預(yù)期不一致導(dǎo)致整個(gè)邏輯的混亂與進(jìn)一步傳播。同步器之間不能有任何組合邏輯同樣是老生常談的一個(gè)點(diǎn),同步就干干凈凈的處理就對(duì)了,千萬別有組合邏輯,一是觸發(fā)器路徑延遲不同,高低電平傳播時(shí)間不一致,組合邏輯會(huì)有錯(cuò)誤邏輯以及競爭冒險(xiǎn)與毛刺,同時(shí)也增加了采樣的不穩(wěn)定區(qū)間。同源信號(hào)扇出多個(gè)觸發(fā)器的情況,需要先同步再復(fù)制同步后的信號(hào)典型的場景就是A -> B,A -> C,BC都在目的時(shí)鐘域,此時(shí)不要講同步器復(fù)制對(duì)A分別跨異步,而是要先將A同步到目的時(shí)鐘域后再驅(qū)動(dòng)多個(gè)邏輯路徑。使用格雷碼跨異步,格雷碼必須是依次變化的比較典型的場景是計(jì)數(shù)器非整2的冪次計(jì)數(shù)翻轉(zhuǎn),這過程中會(huì)有格雷碼多比特跳變的場景,不能使用格雷碼同步器。此外使用格雷碼同步器時(shí),格雷碼必須打拍輸出,格雷碼多比特的走線延遲建議不要大于Tmin_cyc(min 源、目的時(shí)鐘周期),多比特之間的走線延遲差值盡可能的小。當(dāng)異步電路存在反饋機(jī)制時(shí),應(yīng)當(dāng)通過握手機(jī)制進(jìn)行同步尤其是反饋時(shí)間不定,異步握手同步器是合理的處理方式。對(duì)連續(xù)數(shù)據(jù)的傳輸速度有要求,或者實(shí)在不知道怎么同步了,就用異步FIFOemmm上學(xué)時(shí)老師跟我們說的,如果實(shí)在不會(huì)了就用異步fifo進(jìn)行同步吧,然后轉(zhuǎn)頭就花了一周來講異步fifo怎么設(shè)計(jì)。單比特信號(hào)跨異步時(shí)的維持時(shí)間要求這個(gè)我筆記上一直記的是:Tcapture + Tjitter + Tsetup + Thold + T損失含義分別是目的使用周期,目的時(shí)鐘最大抖動(dòng),目的時(shí)鐘建立時(shí)間,目的時(shí)鐘保持時(shí)間,傳輸損失。但是我一直有點(diǎn)不太理解,對(duì)于Tcapture + Tjitter + TThold這三個(gè)時(shí)間我覺得很清晰,要保證目的始終不漏采確實(shí)需要滿足,但是Tsetup為什么需要包含在其中呢,我自己感覺不加這個(gè)時(shí)間也不會(huì)導(dǎo)致漏采的吧,沒太想清楚。還有就是損失的這個(gè)時(shí)間應(yīng)該如何計(jì)算,我也不太明白。因此,通常的做法是源脈沖信號(hào)大于Tcapture + 2ns(目的時(shí)鐘為高頻時(shí)鐘)或大于2Tcapture(目的時(shí)鐘為低頻)。同步器采樣點(diǎn)禁止動(dòng)態(tài)門控異步傳輸中存在時(shí)序不確定性,因?yàn)椴煌盘?hào)的到達(dá)時(shí)間可能不同,或者在傳輸過程中可能發(fā)生抖動(dòng)。因此,在異步傳輸?shù)膱鼍跋,?dòng)態(tài)門控可能導(dǎo)致采樣點(diǎn)的不確定性,使得同步器采樣到的信號(hào)不準(zhǔn)確,從而可能導(dǎo)致錯(cuò)誤的數(shù)據(jù)處理。在芯片設(shè)計(jì)中,通常需要滿足一系列的時(shí)序約束,以確保數(shù)據(jù)在特定的時(shí)間窗口內(nèi)到達(dá)目的地。動(dòng)態(tài)門控可能導(dǎo)致時(shí)序約束無法滿足,因?yàn)樗鼤?huì)引入不確定的延遲,從而影響同步器的采樣時(shí)刻。為了保證時(shí)序約束的滿足,同步器的采樣點(diǎn)通常會(huì)禁止動(dòng)態(tài)門控,以確保在固定的時(shí)刻進(jìn)行采樣。

系列文章入口——
【芯片設(shè)計(jì)】SoC 101(一):緒論
【芯片設(shè)計(jì)】FIFO漫談(零)從無處不在的FIFO開始說起
【芯片設(shè)計(jì)】計(jì)算機(jī)體系結(jié)構(gòu)(一)虛擬內(nèi)存
【芯片設(shè)計(jì)】深入理解AMBA總線(零)緒論
【芯片設(shè)計(jì)】握手協(xié)議的介紹與時(shí)序說明
【芯片設(shè)計(jì)】復(fù)位那些小事 —— 復(fù)位消抖
【芯片設(shè)計(jì)】快速入門數(shù)字芯片設(shè)計(jì)(一)Introduction
【芯片驗(yàn)證】UVM源碼計(jì)劃(零)下定決心讀源碼前的自測環(huán)節(jié)
【芯片設(shè)計(jì)】異步電路碎碎念(一) 到底什么是異步電路
【芯片設(shè)計(jì)】從RTL到GDS(一):Introduction
其他文章鏈接——
【芯片驗(yàn)證】sva_assertion: 15道助力飛升的斷言練習(xí)
【芯片驗(yàn)證】可能是RTL定向驗(yàn)證的巔峰之作
【芯片驗(yàn)證】RTL仿真中X態(tài)行為的傳播 —— 從xprop說起
【芯片驗(yàn)證】年輕人的第一個(gè)systemVerilog驗(yàn)證環(huán)境全工程與解析
【芯片設(shè)計(jì)】verilog中有符號(hào)數(shù)和無符號(hào)數(shù)的本質(zhì)探究
【芯片設(shè)計(jì)】論RTL中always語法的消失術(shù)
【芯片設(shè)計(jì)】代碼即注釋,注釋即代碼
【芯片設(shè)計(jì)】700行代碼的risc處理器你確實(shí)不能要求太多了
入職芯片開發(fā)部門后,每天摸魚之外的時(shí)間我們要做些什么呢
如何計(jì)算系統(tǒng)的outstanding 和 burst length?
芯片搬磚日!け扑缽(qiáng)迫癥的關(guān)鍵詞不對(duì)齊事件
熟人社會(huì)里,一群沒有社會(huì)價(jià)值的局外人

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號(hào)?立即注冊(cè)

x
回復(fù)

使用道具

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表