《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 人工智能 > 業(yè)界動(dòng)態(tài) > 數(shù)字IC設(shè)計(jì)中的重要考慮因素

數(shù)字IC設(shè)計(jì)中的重要考慮因素

2022-01-04
來源:FPGA算法工程師
關(guān)鍵詞: IC 芯片 芯片封裝

趁著元旦假期,我們來捋一下芯片設(shè)計(jì)中的幾個(gè)基礎(chǔ)問題。

我們都知道,最近關(guān)于芯片設(shè)計(jì)與制造的話題,依然占據(jù)著人們的茶前飯后時(shí)間,敵人的圍追堵截,使我們丟棄幻想,奮起抗?fàn)帯T谖覀兊墓ぷ髦谢蛏钪?,不論處于半?dǎo)體行業(yè)的上游還是下游,對(duì)于芯片都無法避開,缺了它,我們寸步難行。

當(dāng)你在家開著空調(diào),從冰箱里拿出一瓶冰可樂,葛優(yōu)躺拿著手機(jī)刷視頻時(shí),你希望視頻流暢無卡頓。在這背后,是一群群芯片設(shè)計(jì)工程師、移動(dòng)通信工程師、網(wǎng)絡(luò)工程師、圖像處理工程師、芯片開發(fā)/驗(yàn)證工程師、芯片制造工程師、芯片封裝測(cè)試工程師......日以繼夜奮斗的結(jié)果。

任何一款芯片的設(shè)計(jì),都需要龐大的設(shè)計(jì)和驗(yàn)證團(tuán)隊(duì)進(jìn)行密切合作共同完成。在芯片設(shè)計(jì)中,我們需要考慮眾多因素。那么,我們的腦海里在想些什么呢?

芯片邏輯開發(fā)工程師的三重境界:心中有電路,腦中有時(shí)序,手中有代碼。

如果我們?cè)谠O(shè)計(jì)中使用同步設(shè)計(jì)或任何IP,或最終確定體系結(jié)構(gòu)和微體系結(jié)構(gòu),那么我們需要制定各種策略。以下列出了其中一部分:

設(shè)計(jì)的功能性和兼容性

并行性、并發(fā)性和流水線策略

外部IO和高速接口

設(shè)計(jì)的面積和初始門數(shù)估計(jì)

速度和最高頻率要求

功耗要求和使用低功耗設(shè)計(jì)

時(shí)鐘網(wǎng)絡(luò)和延遲

接口和IO延遲與建模策略

經(jīng)過以上考慮,由經(jīng)驗(yàn)豐富的技術(shù)人員組成的團(tuán)隊(duì)最終確定ASIC/ SOC 設(shè)計(jì)的架構(gòu)和微架構(gòu)。

為了便于理解架構(gòu)和項(xiàng)目研發(fā),我們需要考慮的一些設(shè)計(jì)因素,主要有以下幾個(gè)方面。

01

時(shí)序參數(shù)

上升沿敏感觸發(fā)器的重要時(shí)序參數(shù)如圖1所示,它們是:

建立時(shí)間 (tsu)

保持時(shí)間(th)

觸發(fā)傳播延時(shí)(tpd)

建立時(shí)間(tsu):在時(shí)鐘的有效邊沿到達(dá)之前,觸發(fā)器的數(shù)據(jù)輸入應(yīng)該保持穩(wěn)定值的最小時(shí)間被稱為建立時(shí)間。

有效邊沿表示上升沿(正邊沿)靈敏的D觸發(fā)器從低電平到高電平的跳變,下降沿(負(fù)邊沿)靈敏的D觸發(fā)器從高電平到低電平的跳變。

在建立時(shí)間窗口期間,如果數(shù)據(jù)輸入從1到0或反之,那么觸發(fā)器輸出將是亞穩(wěn)態(tài)的,這表明存在建立違例。

保持時(shí)間(th):觸發(fā)器的數(shù)據(jù)輸入在時(shí)鐘有效邊沿到達(dá)后保持穩(wěn)定的最小時(shí)間,稱為保持時(shí)間。

有效邊沿表示上升沿(正邊沿)靈敏的D觸發(fā)器從低到高的跳變,下降沿(負(fù)邊沿)靈敏的D觸發(fā)器從高到低的跳變。

在保持時(shí)間窗口期間,如果數(shù)據(jù)輸入從1到0或反之,那么觸發(fā)器輸出將是亞穩(wěn)態(tài)的,這表明存在保持違例。

觸發(fā)器的傳播時(shí)延(tpd=tcq):觸發(fā)器到達(dá)時(shí)鐘有效邊沿后產(chǎn)生有效輸出所需的時(shí)間,稱為觸發(fā)器的傳播時(shí)延。

傳播延遲也稱為時(shí)鐘到q端的延遲,也稱為tcq。

02

亞穩(wěn)態(tài)

如果將圖2所示設(shè)計(jì)的數(shù)據(jù)輸入連接到另一個(gè)模塊上,該模塊的時(shí)鐘由不同的時(shí)鐘源產(chǎn)生,則第一個(gè)觸發(fā)器輸出將處于亞穩(wěn)態(tài)。

meta_data表示觸發(fā)器數(shù)據(jù)是亞穩(wěn)態(tài)的,因此第一個(gè)觸發(fā)器存時(shí)序違例。亞穩(wěn)態(tài)表明數(shù)據(jù)輸出是無效的,為了得到有效的數(shù)據(jù)輸出,設(shè)計(jì)需要使用多電平同步器。

所述第一觸發(fā)器所采樣的數(shù)據(jù)與所述第二觸發(fā)器的輸出的時(shí)序如圖3所示。如圖所示,第一個(gè)觸發(fā)器的輸出處于亞穩(wěn)態(tài),輸出觸發(fā)器的data_out輸出處于合法有效狀態(tài)。

03

時(shí)鐘偏斜

如果ASIC設(shè)計(jì)中有多個(gè)時(shí)鐘,那么時(shí)鐘分布和時(shí)鐘樹綜合將對(duì)平衡各塊不同時(shí)鐘輸入之間的時(shí)鐘偏斜起到非常重要的作用。

如果設(shè)計(jì)中的兩個(gè)不同的時(shí)鐘到達(dá)不同的時(shí)間實(shí)例,則設(shè)計(jì)具有時(shí)鐘偏斜。時(shí)鐘偏移的原因是路由延遲,即單時(shí)鐘域設(shè)計(jì)的線延遲??紤]所示的圖,讓我們考慮在發(fā)射觸發(fā)器的clk邊緣在時(shí)間實(shí)例t0到達(dá),在時(shí)間實(shí)例t2捕獲觸發(fā)器。由于這個(gè)同步設(shè)計(jì)的時(shí)鐘到達(dá)時(shí)間不同,clk1和clk2之間存在相移,我們可以認(rèn)為這是時(shí)鐘偏移。另一個(gè)原因是振蕩器的老化;然后,振蕩器產(chǎn)生的時(shí)鐘周期頻率變化,因此到達(dá)時(shí)間的差異可以稱為抖動(dòng)。

時(shí)鐘偏斜是由于clk1引腳和clk2引腳之間的互連延遲引起。

在實(shí)際的專用集成電路設(shè)計(jì)中,我們經(jīng)歷了兩種不同類型的偏置,如圖5所示。

正時(shí)鐘偏移:表示先觸發(fā)發(fā)射時(shí)鐘clk1,再到達(dá)捕獲時(shí)鐘clk2。如圖中tskew,它是clk1和clk2到達(dá)時(shí)間的差值。換句話說,我們可以想象正時(shí)鐘偏斜是數(shù)據(jù)和時(shí)鐘在相同的方向上運(yùn)行,正時(shí)鐘偏斜有利于建立時(shí)間,但對(duì)保持時(shí)間不好,因?yàn)橛姓膍argin來管理。

負(fù)時(shí)鐘偏移:最后觸發(fā)發(fā)射時(shí)鐘clk1,第一個(gè)觸發(fā)捕獲時(shí)鐘clk2。如圖中tskew,它是clk1和clk2到達(dá)時(shí)間的差值。換句話說,我們可以想象負(fù)時(shí)鐘偏移是數(shù)據(jù)和時(shí)鐘在相反的方向上運(yùn)行,負(fù)時(shí)鐘偏移對(duì)保持時(shí)間更好,但對(duì)建立時(shí)間不好。

在ASIC設(shè)計(jì)中,我們總是會(huì)遇到由于抖動(dòng)或互連(即線延遲)而產(chǎn)生的時(shí)鐘偏斜,下面是我們應(yīng)該知道的要點(diǎn)。

正時(shí)鐘偏斜有利于建立時(shí)間,但不利于保持時(shí)間。

負(fù)時(shí)鐘偏斜有利于保持時(shí)間,但不利于建立時(shí)間。

正時(shí)鐘偏斜(positive clock skew)

如前面所討論的,正時(shí)鐘傾斜發(fā)射觸發(fā)器首先被觸發(fā),然后在捕獲觸發(fā)器被捕獲。在發(fā)射時(shí)鐘和捕獲時(shí)鐘之間有緩沖延遲的裕度,可以用來提高設(shè)計(jì)所需的頻率。

讓我們找出所需的數(shù)據(jù)時(shí)間和數(shù)據(jù)到達(dá)時(shí)間。

Data Arrival Time(AT)=tpff1+tcombo

Dara Required Time(RT)=Tclk+tbuffer-tsu

其中,Tclk是時(shí)鐘周期或時(shí)鐘到q端的延時(shí)。tbuffer是緩沖延時(shí),tsu是觸發(fā)器建立時(shí)間,tpff1是觸發(fā)器傳播延時(shí),tcombo是組合邏輯延時(shí)。

建立裕量(setup slack)是數(shù)據(jù)所需時(shí)間和數(shù)據(jù)到達(dá)時(shí)間之間的差值,應(yīng)該為正。正的建立時(shí)間裕量表明設(shè)計(jì)中不存在任何建立違例。為了避免設(shè)計(jì)中的建立違例 ,設(shè)計(jì)應(yīng)該具有快速數(shù)據(jù)、快速啟動(dòng)時(shí)鐘(clk1)和慢捕獲時(shí)鐘(clk2)。也就是說,與所需的數(shù)據(jù)時(shí)間相比,數(shù)據(jù)的實(shí)際到達(dá)應(yīng)該更快。(如圖7所示)

負(fù)時(shí)鐘偏斜(negative clock skew)

如前面所討論的,負(fù)時(shí)鐘偏斜,在發(fā)射觸發(fā)器最后觸發(fā)和捕獲觸發(fā)器首先被觸發(fā)。由于在觸發(fā)時(shí)鐘和捕獲時(shí)鐘之間有緩沖延遲的裕度,這降低了設(shè)計(jì)的最大頻率。

讓我們找出所需的數(shù)據(jù)時(shí)間和數(shù)據(jù)到達(dá)時(shí)間。

Data Arrival Time(AT)=tbuffer+tpff1+tcombo

Dara Required Time(RT)=Tclk-tsu

04

裕量(slack)

在ASIC設(shè)計(jì)中,有兩個(gè)術(shù)語用于描述裕量,即建立裕量(setup slack)和保持裕量(hold slack)。

建立裕量(setup slack)

建立裕量是數(shù)據(jù)所需時(shí)間和數(shù)據(jù)到達(dá)時(shí)間之間的差值,應(yīng)該為正。正的建立裕量表明設(shè)計(jì)中不存在任何建立違例。

Data Arrival Time(AT)=tbuffer+tpff1+tcombo

Dara Required Time(RT)=Tclk-tsu

Setup Slack=RT-AT

保持裕量(hold slack)

保持裕量是數(shù)據(jù)到達(dá)時(shí)間和數(shù)據(jù)需要時(shí)間之間的差值,應(yīng)該是正的。正保持裕量表明在設(shè)計(jì)中沒有任何保持違例。

05 時(shí)鐘延遲

時(shí)鐘由鎖相環(huán)產(chǎn)生,用于單時(shí)鐘域設(shè)計(jì),對(duì)于多個(gè)時(shí)鐘域,我們可能需要多個(gè)鎖相環(huán)。

時(shí)鐘網(wǎng)絡(luò)引入了延遲,它實(shí)際上是時(shí)鐘到達(dá)芯片所需的時(shí)間,時(shí)鐘延遲是由時(shí)鐘分布過程中的時(shí)鐘網(wǎng)絡(luò)延遲造成的。

06

設(shè)計(jì)的面積

ASIC的總面積是由標(biāo)準(zhǔn)單元、宏和IP核組成的。在集成電路的百萬或億門設(shè)計(jì)中,面積的限制和更好的布局規(guī)劃對(duì)獲得預(yù)期性能起著重要的作用。我們可以在不同的設(shè)計(jì)階段考慮面積優(yōu)化,例如:

在體系結(jié)構(gòu)設(shè)計(jì)過程中,通過不同功能塊交互描述,獲取更好的策略。

在RTL設(shè)計(jì)過程中,使用基于工具的指令和命令,并使用資源共享技術(shù)。

在版圖階段的物理設(shè)計(jì)中,通過策略來放置功能塊,最小化由于布線延遲和布線資源使用而造成的面積消耗。

07

速度要求

在ASIC設(shè)計(jì)中,速度是另一個(gè)重要的考慮因素。采用不同的速度改進(jìn)技術(shù)可以提高專用集成電路的性能。例如,考慮到處理器設(shè)計(jì)工作在500MHz的工作頻率,我們面臨著提高設(shè)計(jì)頻率的挑戰(zhàn)。在這種情況下,ASIC設(shè)計(jì)周期中可以使用各種策略,但可能很少使用:

在體系結(jié)構(gòu)和微體系結(jié)構(gòu)設(shè)計(jì)時(shí),具有較好的順序邊界劃分。

在初始版圖中,相互依賴的塊可以彼此靠近地放置,以最小化面積,從而減少布線延遲,并提高速度。

在RTL設(shè)計(jì)階段,使用平衡寄存器和寄存器復(fù)制、優(yōu)化命令來提高設(shè)計(jì)性能。但它們可能會(huì)影響邏輯面積。

在RTL設(shè)計(jì)過程中,使用寄存器的輸入和輸出,使設(shè)計(jì)具有更好的性能。

只要可行,就使用流水線的概念和體系結(jié)構(gòu)。

如果需要在設(shè)計(jì)中使用FSM設(shè)計(jì)和控制器,則嘗試在控制和數(shù)據(jù)路徑綜合方面進(jìn)行工作,以獲得干凈的時(shí)序和更好的性能。

盡量使用同步設(shè)計(jì),因?yàn)樗鼈儽犬惒皆O(shè)計(jì)更快。

盡量避免內(nèi)部時(shí)鐘發(fā)生器;相反,考慮時(shí)鐘樹并在CTS期間優(yōu)化時(shí)鐘樹。

在布線階段,嘗試使用基于工具的改進(jìn)技術(shù),因?yàn)閱⒂霉ぞ咧噶羁梢栽谄胶鈺r(shí)鐘偏斜方面發(fā)揮特別重要的作用。

08

功耗要求

對(duì)于任何類型的ASIC或SOC設(shè)計(jì),重要的考慮是功率,設(shè)計(jì)團(tuán)隊(duì)的目標(biāo)是減少泄漏和動(dòng)態(tài)功耗。在物理設(shè)計(jì)過程中考慮功率約束進(jìn)行功率規(guī)劃。在ASIC設(shè)計(jì)流程的不同階段,應(yīng)采用功率優(yōu)化技術(shù)。

具有低功耗感知的ASIC架構(gòu)。

在不同的設(shè)計(jì)級(jí)別使用UPF。

在RTL期間,為了最小化動(dòng)態(tài)功率,使用專用的時(shí)鐘門控單元。

通過避免不必要的數(shù)據(jù)值分配和切換,還可以在RTL階段優(yōu)化功率。

在物理設(shè)計(jì)過程中,對(duì)多個(gè)功率域有更好的功率規(guī)劃和功率排序。

在物理設(shè)計(jì)過程中有較好的斷電策略。

09

設(shè)計(jì)約束

設(shè)計(jì)約束基本上是設(shè)計(jì)規(guī)則約束和優(yōu)化約束。我們可以將這些約束考慮為模塊級(jí)約束、頂層約束和芯片級(jí)約束。

設(shè)計(jì)規(guī)則約束(DRC):我們可以將這些約束視為芯片制造商的規(guī)則,并應(yīng)予以滿足。在物理設(shè)計(jì)過程中,我們將進(jìn)行芯片制造商的所有DRC檢查規(guī)則是否滿足。Layout is clean表示沒有DRC違規(guī)。這些約束主要是:

Transition

Fanout

Capacitance

優(yōu)化約束:這些約束在設(shè)計(jì)和優(yōu)化階段使用。這些約束主要是

Area

Speed

Power

主要使用Synopsys DC,我們將利用面積和速度約束,并將在各個(gè)優(yōu)化階段嘗試優(yōu)化設(shè)計(jì)。

物理設(shè)計(jì)工具,如Synopsys IC Compiler,利用面積、速度、功率的約束來滿足最終的約束,實(shí)現(xiàn)干凈的芯片布局。

-----END----




最后文章空三行圖片.jpg


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。