數字后端——布線

????????布線是繼布局和時鐘樹綜合之后的重要物理實施任務,其內容是將分布在芯片核內的模塊、標準單元和輸入輸出接口單元( I /O pad)按邏輯關系進行互連,其要求是百分之百地完成它們之間的所有邏輯信號的互連,并為滿足各種約束條件進行優化。能否按照設計的需求將信號線布通是決定芯片是否能夠流片的首要前提。進行消除布線擁塞(congestion)、優化時序(timing)、減小耦合效應(coupling)、消除串擾(crosstalk)、降低功耗、保證信號完整性(signal integrity)、預防DFM問題和提高良品率等布線的優化工作則是衡量布線質量的重要指標。

????????超大規模集成電路多層布線采用自動布線方法,它是由雙層PCB(printed circuit board),布線和FPGA通道布線等方法發展而來的一種復雜的布線方法。在實施過程中,它被分為全局布線(global routing)和詳細布線(detail routing)以及布線修正(search and repair)三個步驟來分別完成。自動布線的質量依賴于布局的效果以及EDA工具中所采用的布線算法和優化的方法。

一、全局布線

????????全局布線是為詳細布線(或稱作最終布線,final routing)做好準備。它首先要制定全局布線的目標,然后根據設計的特征,做出具體的規劃。比如,需要布線的設計可以是芯片,也可以是定制設計的大模塊。芯片的形狀可以是正方形,也可以是長方形。對芯片的布局布線做規劃時,首先要了解它的特征。芯片通常是由標準單元和模塊(block)組成,根據這兩部分的比例,我們可以將芯片區分為3 種類型:

  • 全部由標準邏輯單元組成的設計(CBlC,cell-based IC )?
  • 標準邏輯單元(例如,占總面積的20%以上)和大模塊組成,常常用于ASIC設計
  • 基于模塊的設計(block-based design,BBD,例如,標準邏輯單元占總面積的10%以下)

1、全局布線目標

????????全局布線速度快、時間短,能加快收斂,它為用時很長的最終布線做好規劃。如果全局布線發現問題,人們可以及時解決調整,而不必再花費很長時間去做最終布線及其他后續工作。全局布線的主要目標有:

  1. 使總連接線最短。
  2. 布線分散均勻不致引起局部擁塞。
  3. 使關鍵路徑延時最小,遵守時序規則。
  4. 理解信號完整性的要求,避免串擾(cross talks)。
  5. 保持將BUS總線聚集相連等。

2、全局布線規劃

????????全局布線對整個芯片的走線做全局規劃,以便確定即使是很大的芯片設計它的最終布線計劃也能實現。全局規劃是一種“松散”的布線,它將芯片核區預先劃分成若干大方塊(也可以是長方塊),每個方塊縱橫方向可以走多條線(例如,10條線,線的數目根據設計特征也可以修改)。這樣布線時可以同時規劃多條走線方案,極大地加快速度并盡早報告結果,以便進行調整或修改

二、詳細布線

????????詳細(detail)布線也叫做最終(final)布線或者叫做Manhattan布線。相對于全局(global)布線,它事實上是一種局部(local)布線。全局布線做大局規劃,詳細布線是具體的實現。全局布線粗看松散,詳細布線細看密集。全局布線快速簡潔,詳細布線細致復雜

1、詳細布線目標

????????我們已經知道網表中每個邏輯單元和模塊間的相互關系是通過接點(pin)來實現的,每個接點可以有多個連接終端(terminal)。需要連接在一起的一條網線稱為net布線目標是將屬于同一個net的所有pin連接上不同net的終端不能連接;要遵守設計規則要求的距離間隔等。如果應該連接的沒有連接上就產生了開路(open);不應該連接而被錯誤地連接上就產生了短路(short);連接后距離間隔不符合設計規則就產生了違例(violation)。

????????詳細布線是物理實施的最后步驟,它所實現的結果將被用來作為參數提取和時序分析。詳細布線的方法是在多層金屬間進行連線的,它要遵循時序的要求,并能自動搜索連線錯誤并糾正錯誤,或稱為布線修正(search and repair)。也可以進行遞增式(incremental)的布線 ,即進行局部(area)詳細布線。對詳細布線的要求有:

  1. 必須理解所有設計規則
  2. 自動切換并綜合利用多層金屬作連線。
  3. 遵守時序規則,優先使關鍵路徑的延時滿足要求。
  4. 對總連線長度進行優化。

2、詳細布線與設計規則

????????做詳細布線時要遵循各種設計規則。除了遵守在版圖設計時的線寬和間距外,布線是依據“布線間距”(pitch)進行的。當深亞微米(DSM)芯片(小于0. 35um)開始使用多層金屬連線時,新工藝技術產生了新的規則要求。納米設計中,由于化學機械打平(CMP,chemical mechanical polishing)的作用所提出的密度要求及由于掩模光刻(lithograph)的限制而提出的光學鄰近校正(OPC,optical proximity correction)的要求,是設計布線規則的新特征。

1)設計規則

????????在做詳細布線時,理解并處理設計規則是最基本、最重要的要求。布線間距(Pitch)在水平方向和垂直方向是可以不一樣的標準邏輯單元在擺放時會將其邊界放于半個間距的位置?,在布線時要遵守最小間距規則。它包括“線到線”(習慣稱為L2L,下同),“線到孔”(L2V),“孔到孔’’(V2V)這三種規則。在版圖設計和布線設計中,L2V是最常見的折中處理方法。如果(通)孔的最大寬度與線寬一致,這時只用L2L規則就行。

2)通孔和最小面積要求

????????DSM芯片設計工藝開始用到通孔疊砌(via stacking)技術,為了保證接觸的可靠性,還需要遵守最小面積規則(MAR,minimum area rule),在空間允許的情況下,則可以采用雙通孔(double cut)技術。

3)密度要求

????????在深亞微米工藝中要用到化學機械打平(CMP)方法對每層金屬進行處理,并達到一定的密度要求。實現密度要求可以從兩個方面去實現,一是在空白區域采用金屬填充法,二是將較寬的連線切割分布。在化學機械打平中,它要求每一層互連線金屬在單位區域內達到一定的密度(一般為50%?80%),是保證均勻度的一種不可或缺的措施。在切割分布的方法中,尤其對于很寬的電源布線,開始采用的方法叫做“挖孔法”(slotting),由于其電流分布的不規則性,后來采用了均勻的“分割法"(splitting)。

詳見數字后端——電源規劃中電源環線的介紹

4)掩模光刻過程中的工藝天線效應? ? ? ? ?

????????在現代等離子體蝕刻工藝離子注入過程中產生的積累電荷,如果得不到及時釋放,就會對CMOS器件的柵極產生擊穿并造成永久性的損傷,這就是工藝天線效應(PAE,process antenna effect)。所謂天線,是指在兩次工藝之間連接到柵極多晶硅(poly)和金屬線處于懸空不接地的狀態而形成的天線結構。為了預防工藝天線效應,在最終布線過程中,是通過連接天線二極管(antenna diode)或跳轉到上一層金屬(layer hopping)以增強CMOS柵極的靜態電荷承受能力來實現的。

5)串擾在布線中的預防和修復

????????在0.18um設計中,信號完整性分析已經不可缺少。它要解決的首要問題是串擾,實現的方法是通過在布線中進行預防,如果在時序分析時發現問題,可以用布線器進行修復。用布線器進行預防和修復的方法包括:

  1. 增加走線間隔
  2. 將關鍵信號線屏蔽
  3. 縮短平行走線的長度
  4. 轉換到另一層連線
  5. 加入緩沖器

6)納米布線規則

????????近年來已經大量設計中提出了新的納米布線規則。由于在掩模光刻中OPC的限制,必須應用光罩(分辨率)增強技術(RET)的方法遵循特殊設計規則進行校正。納米設計規則包括平行重疊間隔規則(parallel overlap cut spacing)、線端規則 EOL(end of line spacing)、最小分級最大邊緣規則(minimum step maximum edge)、最大懸浮面積規則(maximum floating area)。這些納米設計規則是通過LEF的技術文檔進行定義和控制。

7)對角(45 °)布線規則

????????在65nm及以下的設計中,頂部幾層金屬連線可以用45°方向的規則來實現,這種連線也稱為“重新分布層"(RDU,redistribiition layer)。它們的連接所用層、寬度和間距可以由使用者進行定義。

3、布線修正

????????布線修正(search and repair)是最終布線的一個重要功能。它給用戶提供一個方便的選項,根據實際情況采用以下的一種方式,進行布線修正會大大節約時間。

1) 自動修正

????????在布線開始時如果選擇自動修正功能,當最終布線完成發現結果有錯誤時,布線工具會自動去搜尋并修正錯誤,這樣避免用戶從頭開始對整個芯片重新做布線規劃,節省了運行時間。一般對于布線很困難的設計在第一次布線時,通常不選擇自動修正,而是盡快獲取初步結果。當布線錯誤不多時,選擇自動修正功能會加快總的設計時間。反之,如果存在大最布線錯誤并需要運行很長時間時,選擇自動修正是很不經濟的方法,應當先找出問題后進行相應的調整再去重復布線工作。

2)漸進修正

????????當布線的錯誤發生在一條或多條網線(net),對它們進行修復時,就可以選擇漸進( incremental)布線的方法進行修正。

3 )局部修正

????????在很多應用中,布線的錯誤會發生在較小的區域,這時選擇局部范圍對其進行布線修正則是一個最佳的辦法。局部區域的選擇通常用布線路徑(track)來定義,例如,選擇寬和高為10X10的路徑。在一些特殊設計中,芯片或子模塊為長方形(例如,很寬很矮)時,布線錯誤又很多,合適地選擇局部區域大小進行局部修正就很重要。漸近修正和局部修正往往和漸近布局方法結合起來。

三、特殊布線

1、電源布線

詳見?數字后端——電源規劃

2、時鐘樹布線

詳見 數字后端——時鐘樹綜合

3、總線布線

????????在CPU芯片等設計中需要做若干總線(bus)布線,并往往要求布線長度同步一致,以減小同一組總線延時的差別。處理和控制布線長度的方法可以采用“手風琴式”和“長號式”。適合總線布線要求的有基于形狀(shape-based)的布線器,它可以充分利用空間,并調節總線的長度以達到要求。總線布線中處理和控制布線長度的方法在數模混合設計中得到較多應用。

?4、實驗布線

????????全局布線和詳細布線方法能夠實現符合產品質量最終的結果,但通常需要的時間也較長。在實際應用中,為了盡快盡早了解設計的初步結果,還可以用虛擬(virtual)布線或實驗(trial)布線。在布局以后,為了進行初步時序分析,可以調用虛擬布線產生快速布線結果,供時序分析使用。虛擬布線只是建立內部數據供分析用,它并不產生實際的連接線路。更加準確一點的結果則可以用實驗布線來產生,它根據布局的結果,建立實際的連接線路,但它不去仔細遵循物理設計規則。因此,如果假定根據虛擬布線去預估時序的誤差在20% 左右,根據實驗布線去預估時序的誤差會在10%左右。結果雖然不準確,但它們在早期設計應用中具有很好的工程指導意義。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253707.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253707.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253707.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態加載和靜態加載及其編譯步驟

在類unix操作系統中,驅動加載方式一般分為:動態加載和靜態加載,下面分別對其詳細論述。 一、動態加載 動態加載是將驅動模塊加載到內核中,而不能放入/lib/modules/下。 在2.4內核中,加載驅動命令為:ins…

streamsets 集成 minio s3測試

具體streamsets crate 集成可以參考 streamsets crate 以下文檔只關注minio 集成的配置 minio 服務 搭建 具體搭建參考: https://www.cnblogs.com/rongfengliang/p/9197315.html 創建bucket (crate 集成使用) 測試的csv 文件從https://www.s…

sqlite性能優化

1、數據庫性能上 1.1 批量事務插入,提升數據插入的性能 由于sqlite默認每次插入都是事務,需要對文件進行讀寫,那么減少事務次數就能簡書磁盤讀寫次數從而獲得性能提升。 1.2 單條sql優于多條sql 實測發現,對于幾十條sql插入當你替…

【codecombat】 試玩全攻略 第十四關 已知敵人

第十四關 已知敵人 在這一關里,我們的英雄獲得了一副可以看見敵人的眼鏡,所以他很強勢的學會了“發現敵人”的技能。 hero.findNearestEnemy()命令,單詞多了,首字母都要大寫了,不然分不出來。玩過wow的小伙伴用過 宏命…

數字后端——信號完整性分析

隨著光刻和集成電路制造工藝的不斷進步,以及芯片的特征尺寸從深亞微米到納米的迅速采用,人們一方面因為芯片的功能極大提高而受益,另一方面,當邏輯門的溝道長度減小時,門的開關時間會減小,這意味著輸出驅動…

新浪前端面試

1、什么是Html語義化? 語義化 div > section,div > nav(語言自己能解釋), input/(關閉符號) br/相對于樣式標記,如 i(樣式)/ em(語義);b(樣式&#xff…

poj3278 【BFS】

Catch That CowTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 97240 Accepted: 30519Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a num…

表單高級

● 表單高級 ○ 表單字段集<fieldset></fieldset> ■ 功能&#xff1a;相當于一個方框&#xff0c;在字段集中可以包含文本和其他元素。該元素用于對表單中的元素進行分組并在文檔中區別標出文本。fieldset元素可以嵌套&#xff0c;在其內部可以在設置多個fieldset…

CMOS圖像傳感器——TDI CIS

一、面陣與線陣圖像傳感器 人們在日常生活中見到的相機大多基于普通的面陣圖像傳感器,這種相機多用來拍攝靜止的物體。即使用它們來拍攝運動的物體,也僅僅是縮短了相鄰兩次拍攝的時間間隔,無需對所拍攝圖像進行額外操作,對物體的運動方向和速度也沒有限定條件。 除此之外,…

gpio_request 原形代碼

其原型為 int gpio_request(unsigned gpio, const char *label) 先說說其參數&#xff0c;gpio則為你要申請的哪一個管腳&#xff0c;label則是為其取一個名字。其具體實現如下&#xff1a; [cpp] view plaincopyprint?int gpio_request(unsigned gpio, const char *label) …

【noip模擬】德充符

時間限制&#xff1a;2s 內存限制&#xff1a;512MB 【題目描述】 申徒嘉和鄭子產都是伯昏無人的學生&#xff0c;子產因為申徒嘉是殘疾人&#xff0c;非常看不起他&#xff0c;于是想要刁難他。 子產給了申徒嘉 n個數 a1,a2...an。 現在他要求申徒嘉重新排列這些數&#xff0c…

做好數據挖掘模型的9條經驗總結

愛數據學習社 welcome數據挖掘是利用業務知識從數據中發現和解釋知識(或稱為模式)的過程&#xff0c;這種知識是以自然或者人工形式創造的新知識。當前的數據挖掘形式&#xff0c;是在20世紀90年代實踐領域誕生的&#xff0c;是在集成數據挖掘算法平臺發展的支撐下適合商業分析…

json及JavaBean轉json

先來看看JSON&#xff1a; 什么是JSON&#xff1a; JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 JSON是用字符串來表示Javascript對象&#xff0c;例如可以在Servlet中發送一個JSON格式的字符串給客戶端Javascript&#xff0c;Javascript可以執行這個字符串…

數字后端——低功耗設計物理實施

一、低功耗設計方案綜述 為了實現集成電路的低功耗設計目標&#xff0c;我們需要在系統設計階段就采用低功耗設計方案&#xff0c;因為隨著設計流程的逐步推進&#xff0c;到了芯片設計實現階段&#xff0c;降低芯片功耗的方法將越來越少&#xff0c;可節省功耗的百分比將不斷下…

Eclipse里修改SVN的用戶名和密碼

刪除Eclipse subclipse plugin中記住的SVN用戶名密碼&#xff1a; 1&#xff09; 查看你的Eclipse中使用的是什么SVN Interface windows > preference > Team > SVN #SVN Interface 2.&#xff09;如果是用的JavaHL, 找到以下目錄并刪除auth目錄. 刪除C:\Users\…

Omap3530 的GPIO中斷設置

Omap3530 的GPIO中斷設置&#xff1a; 1.配置成GPIO&#xff0c;申請GPIO中斷 omap_cfg_reg(OMAP3_KBD_GPIO);配置成gpio if (gpio_request(OMAP3_KBD_GPIO, "kbd7279 IRQ") < 0) printk(KERN_ERR "Failed to request GPIO%d for kbd IRQ/n");//申請GPI…

H5項目開發分享——用Canvas合成文字

以前曾用Canvas合成、裁剪、圖片等《用H5中的Canvas等技術制作海報》。這次用Canvas來畫文字。 下圖中“老王考到駕照后”這幾個字是畫在Canvas上的&#xff0c;與在PS中打入的字非常接近&#xff0c;毫無違和感。 前面一段時間也在研讀JavaScript設計模式相關的知識&#xff0…

SQLServer約束介紹

約束定義 對于數據庫來說&#xff0c;基本表的完整性約束分為列級約束條件和表級約束條件&#xff1a; 列級約束條件 列級約束條件是對某一個特定列的約束&#xff0c;包含在列定義中&#xff0c;可以直接跟在該列的其他定義之后&#xff0c;用空格分隔&#xff0c;不用指定列名…

CMOS圖像傳感器——SNR計算

圖像質量評價在計算機視覺,人工智能,高清視頻傳輸上面有很廣泛的應用。目前,圖像質量評價主要分為三個方向,有參考圖像的質量評價,半參考的圖像質量評價,以及無參考的圖像質量評價。許多時候,我們利用CIS采集的RAW DATA本身就是含噪信號,因為我們往往不知道感興趣的像素…

Java this 關鍵字的用法

this 關鍵字的用法 this 在類中就是代表當前對象&#xff0c;可以通過 this 關鍵字完成當前 對象的成員屬性、成員方法和構造方法的調用。 那么何時用 this? 當在定義類中的方法時&#xff0c;如果需要調用該類對象&#xff0c;就可以用 this 來表示這個對象。也就是說&#x…