日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > FPGA算法工程師


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


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


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

  • 并行性、并發(fā)性和流水線(xiàn)策略

  • 外部IO和高速接口

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

  • 速度和最高頻率要求

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

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

  • 接口和IO延遲與建模策略


經(jīng)過(guò)以上考慮,由經(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


圖1 D觸發(fā)器時(shí)序參數(shù)


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


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


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


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


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


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


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


傳播延遲也稱(chēng)為時(shí)鐘到q端的延遲,也稱(chēng)為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ù)輸出是無(wú)效的,為了得到有效的數(shù)據(jù)輸出,設(shè)計(jì)需要使用多電平同步器。


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


圖2 電平同步

3 亞穩(wěn)態(tài)電平同步時(shí)序


03

時(shí)鐘偏斜

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


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


圖4 同步設(shè)計(jì)


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


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


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


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


圖5 設(shè)計(jì)中的偏移


ASIC設(shè)計(jì)中,我們總是會(huì)遇到由于抖動(dòng)或互連(即線(xiàn)延遲)而產(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í)鐘之間有緩沖延遲的裕度,可以用來(lái)提高設(shè)計(jì)所需的頻率。


6顯示了時(shí)鐘正向斜向的同步設(shè)計(jì),clk1clk2之間的偏斜是tbuffer。


圖6 正時(shí)鐘偏斜


讓我們找出所需的數(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)。也就是說(shuō),與所需的數(shù)據(jù)時(shí)間相比,數(shù)據(jù)的實(shí)際到達(dá)應(yīng)該更快。(如圖7所示)

7 觸發(fā)和捕獲時(shí)鐘之間的關(guān)系為正時(shí)鐘偏斜


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

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


8顯示了負(fù)時(shí)鐘偏移的同步設(shè)計(jì),clk1clk2之間的偏移是tbuffer


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


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

Dara Required Time(RT)=Tclk-tsu


圖8 負(fù)時(shí)鐘偏斜


圖9 觸發(fā)和捕獲時(shí)鐘之間的關(guān)系為負(fù)時(shí)鐘偏斜


04

裕量(slack

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


圖10 同步設(shè)計(jì)中的寄存器到寄存器路徑


建立裕量(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ì)中沒(méi)有任何保持違例。


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í)鐘分布過(guò)程中的時(shí)鐘網(wǎng)絡(luò)延遲造成的。


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


06

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

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


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

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

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


07

速度要求

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


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

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

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

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

  • 只要可行,就使用流水線(xiàn)的概念和體系結(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í)鐘樹(shù)并在CTS期間優(yōu)化時(shí)鐘樹(shù)。

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


08

功耗要求

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


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

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

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

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

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

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


09

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

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


設(shè)計(jì)規(guī)則約束(DRC):我們可以將這些約束視為芯片制造商的規(guī)則,并應(yīng)予以滿(mǎn)足。在物理設(shè)計(jì)過(guò)程中,我們將進(jìn)行芯片制造商的所有DRC檢查規(guī)則是否滿(mǎn)足。Layout is clean表示沒(méi)有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,利用面積、速度、功率的約束來(lái)滿(mǎn)足最終的約束,實(shí)現(xiàn)干凈的芯片布局。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉