無線火災(zāi)監(jiān)測(cè)系統(tǒng)中微處理器芯片的物理設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
目前,在建筑物早期火災(zāi)監(jiān)測(cè)和報(bào)警上,還是一直沿用有線網(wǎng)絡(luò)的方式,其線路遍布在建筑內(nèi),初裝成本高,同時(shí)線路本身也是很大的火災(zāi)隱患。因而新型的無線火災(zāi)監(jiān)測(cè)系統(tǒng)應(yīng)運(yùn)而生,該系統(tǒng)安裝方便、快捷,且其成本更為低廉,有更大的應(yīng)用空間。微控制器是火災(zāi)監(jiān)測(cè)系統(tǒng)的核心部件之一,通用的微處理器和微控制器不能滿足無線火災(zāi)監(jiān)測(cè)系統(tǒng)中節(jié)點(diǎn)主控芯片低功耗、低成本的要求。
為了掌握無線火災(zāi)監(jiān)測(cè)系統(tǒng)的核心技術(shù),建立擁有自主知識(shí)產(chǎn)權(quán)的軟硬件平臺(tái),推動(dòng)我國(guó)無線火災(zāi)監(jiān)測(cè)系統(tǒng)的發(fā)展,有必要開發(fā)出針對(duì)無線火災(zāi)監(jiān)測(cè)系統(tǒng)的微處理器。本文完成了一款專用于火災(zāi)檢測(cè)系統(tǒng)的微控制器芯片的物理設(shè)計(jì)。
1 SW-A芯片的架構(gòu)
SW-A芯片是一款基于ARM Cortex-M0的專于無線火災(zāi)檢測(cè)系統(tǒng)的專用數(shù)模混合型控制器芯片,總線采用AMBA AHB、APB 雙總線架構(gòu),工作頻率最高可達(dá)50 MHz,支持多級(jí)內(nèi)部分頻,待機(jī)狀態(tài)下也可以極低的頻率運(yùn)行;內(nèi)置一個(gè)高采樣率的12位逐次逼近的8通道ADC,最多可依次對(duì)來自8個(gè)傳感器(如溫度傳感器、煙霧傳感器、光強(qiáng)傳感器等)的信號(hào)直接進(jìn)行采樣、轉(zhuǎn)換、保存,檢測(cè)主程序可任意讀取目標(biāo)傳感器對(duì)應(yīng)的采樣數(shù)據(jù)進(jìn)行處理、判斷是否發(fā)生火災(zāi)。
內(nèi)置18 KB SRAM,可靈活切換作為FLASH、RAM使用,滿足火災(zāi)監(jiān)測(cè)和簡(jiǎn)易處理程序的存儲(chǔ)。支持ISP(在系統(tǒng)編程)操作和IAP(在應(yīng)用編程)操作,既便于火災(zāi)監(jiān)測(cè)主程序的更新升級(jí),又便于軟件編寫優(yōu)化。接口包括工業(yè)標(biāo)準(zhǔn)的UART 接口、SSI 通信接口(支持SPI、Micro Wire 及SSI 協(xié)議),還有3 組(6 通道)PWM,豐富的接口和功能模塊使該款芯片在功能拓展方面有較大潛力。
2 SW-A芯片的物理設(shè)計(jì)
2.1 采用的物理設(shè)計(jì)流程
SW-A芯片的物理設(shè)計(jì)借助Synopsys公司的EDA工具IC Compiler 進(jìn)行,采用IC Compiler 典型的設(shè)計(jì)流程?;谂_(tái)積電(TSMC)180 nm CMOS工藝進(jìn)行。物理設(shè)計(jì)準(zhǔn)備就緒后(設(shè)計(jì)邏輯庫(kù)、設(shè)置物理庫(kù)、設(shè)置TLU-Plus相關(guān)文件以及設(shè)置讀入的門級(jí)網(wǎng)表與標(biāo)準(zhǔn)延時(shí)約束),即可開始物理設(shè)計(jì),依次完成設(shè)計(jì)規(guī)劃(Designplanning)、布局(Placement)、時(shí)鐘樹綜合(Clock tree Syn-thesis)、布線(Routing)直至設(shè)計(jì)完成(Chip Finish)。
2.2 設(shè)計(jì)規(guī)劃
設(shè)計(jì)規(guī)劃(Design Planning)是芯片物理設(shè)計(jì)中非常重要的一步;主要包括布圖規(guī)劃(Floorplan)電源規(guī)劃(Powerplant)。
通常情況下,在布局開始之前,設(shè)計(jì)者往往需要花費(fèi)大量的時(shí)間來進(jìn)行布圖規(guī)劃(Floorplan)和電源規(guī)劃(Powerplan),設(shè)計(jì)規(guī)劃的好壞直接決定芯片的功耗、標(biāo)準(zhǔn)單元的擁塞的、時(shí)序收斂、電源穩(wěn)定性等。所以設(shè)計(jì)規(guī)劃是整個(gè)物理設(shè)計(jì)過程中反復(fù)次數(shù)最多、手動(dòng)設(shè)計(jì)最多的一步。
布圖規(guī)劃(Floorplan)要完成IO 排布、PAD 擺放、Macro(包括模擬模塊、存儲(chǔ)單元等)的定位以及芯片的形狀、擁塞度(Congestion)和面積等的設(shè)定。作為一款面向用戶的控制芯片,IO 的排布必須綜合考慮用戶的需求與設(shè)計(jì)的要求,不同功能PAD 的縱橫向尺寸也不同。本文將縱橫兩向尺寸均較大的PAD置于芯片的南北兩邊,將單向尺寸較小的PAD 置于芯片的東西側(cè)且大尺寸邊朝向南北(見圖2(a)),相比較于將雙向尺寸均較大PAD 置芯片的四周(見圖2(b)),這樣的設(shè)計(jì)非常有效的減小了芯片的面積。
本芯片需要定位的Macro 有SRAM、ROM、ADC 以及ANALOG_TOP,本文綜合考慮它們與IO 的位置關(guān)系將它們定位于芯片的四周,這樣可以芯片中保留成片的空白區(qū)域來放置標(biāo)準(zhǔn)單元。為了保證Macro與PAD 及標(biāo)準(zhǔn)單元之間的互聯(lián)線,在每個(gè)Macro的四周這只一個(gè)空白區(qū),這個(gè)區(qū)域內(nèi)任何情況不允許擺放標(biāo)準(zhǔn)單元。具體命令如下:
本芯片在放置標(biāo)準(zhǔn)單元和Macro 的核心區(qū)與PAD之間設(shè)計(jì)40 μm 的預(yù)留區(qū),用于擺放電源環(huán)(PowerRing)及互聯(lián)走線。為防止標(biāo)準(zhǔn)單元重疊放置,用命令可保證標(biāo)準(zhǔn)單元只能置于高度大于10 μm 的通道內(nèi)。設(shè)置好芯片布圖規(guī)劃可使用命令creat_fp_placement進(jìn)行預(yù)布局。本芯片使用TSMC 180 nm 工藝設(shè)計(jì)生產(chǎn),要求工作電壓為1.8 V,可容忍最大電壓波動(dòng)為±10%,所以本文在進(jìn)行電源規(guī)劃時(shí),綜合考慮了芯片的供電需求、互聯(lián)線造成的電壓降(IR-Drop)及較小的電源網(wǎng)絡(luò)面積,設(shè)計(jì)了兩個(gè)電源環(huán)(Power ring)和縱橫各14條電源帶(Strap)。經(jīng)過分析電源網(wǎng)絡(luò)(Analyze Pow-er Network),本設(shè)計(jì)最大的IR-Drop 為29.7 mV.圖3(a)是芯片的設(shè)計(jì)規(guī)劃,圖3(b)是芯片的電壓降分布圖。
2.3 布局
布局(Placement)的好壞是決定芯片物理設(shè)計(jì)成敗的關(guān)鍵。布局的主要任務(wù)是完成設(shè)計(jì)中標(biāo)準(zhǔn)單元的擺放和修復(fù)建立時(shí)間(setup time)。布局正式開始之前需使用命令check_physical_design命令檢查布局準(zhǔn)備是否完成,必須保證:所有Hard Macro 和IO 等的位置以固定;設(shè)計(jì)中所有邏輯pin和物理pin一一對(duì)應(yīng);所有的邏輯單元都有與之對(duì)應(yīng)的物理單元;設(shè)計(jì)中所有單元的尺寸都已固定。為了方便互聯(lián)走線,在開始擺放標(biāo)準(zhǔn)單元之前,可以將芯片內(nèi)特定區(qū)域設(shè)置為布局限制區(qū)(Place-ment Blockage)。ICC工具多種形式的限制,如禁止粗略布局時(shí)擺放標(biāo)準(zhǔn)單元、只允許布局優(yōu)化時(shí)擺放標(biāo)準(zhǔn)單元、只允許布線等;本設(shè)計(jì)中設(shè)置了多處布局限制區(qū),以方便ADC、ANALOG_TOP 等與IO 之間的連線(見圖4(a))。
布局準(zhǔn)備就緒后可使用命令place_opt配合附加約束進(jìn)行布局,該命令執(zhí)行錯(cuò)略布局(coarse place)、高扇出網(wǎng)絡(luò)合成(high-fanout net synthesis)、物理優(yōu)化(physicaloptimization)直至合法化(legalization),由前三步確定單元的位置(見圖4(b)),通過合法化最終將標(biāo)準(zhǔn)單元正確的擺放在計(jì)算好的位置上(見圖4(c))。本文物理設(shè)計(jì)的具體命令如下:
要求工具對(duì)除關(guān)鍵時(shí)鐘路徑外的其他面積進(jìn)行修復(fù),努力程度高,通過選項(xiàng)“-congestion”控制工具盡可能的降低芯片的擁塞度以便利后續(xù)布線,通過選項(xiàng)“-pow-er”控制工具優(yōu)化泄漏功耗、動(dòng)態(tài)功耗并且進(jìn)行低功耗布局。
完成布局后芯片的面積利用率如表1所示,擁塞度的集中在0.625~0.875之間,擁塞度適中,既沒有因?yàn)樾酒寐蔬^低而浪費(fèi)芯片面積,也不會(huì)因?yàn)閾砣冗^大而導(dǎo)致后續(xù)設(shè)計(jì)困難甚至重新設(shè)計(jì)。[!--empirenews.page--]
2.4 時(shí)鐘樹綜合
時(shí)鐘樹綜合(Clock Tree Synthesis)的主要任務(wù)之一就是將時(shí)鐘偏差控制在可接受范圍內(nèi),保證芯片高效無誤的工作。本芯片的時(shí)鐘樹綜合策略如下:時(shí)鐘樹的邏輯綜合(clock-cts)、時(shí)鐘樹的物理綜合(clock-psyn)以及時(shí)鐘樹的布線(clock-route)。時(shí)鐘樹的邏輯綜合階段只完成兩項(xiàng)工作:通過計(jì)算各條時(shí)鐘路徑上的延遲,得到需要插入緩沖器(buffer、inverter)的位置及尺寸(由-only_cts命令選項(xiàng)控制);由于時(shí)鐘網(wǎng)絡(luò)的功耗占總功耗的比重非常大,所以在時(shí)鐘樹綜合時(shí)必須進(jìn)行功耗優(yōu)化(-power)此階段并不進(jìn)行布線。具體命令如下:
時(shí)鐘樹的物理綜合階段將插入的緩沖器擺放至準(zhǔn)確的位置,進(jìn)行RC提取,參照延遲約束文件(SDC)檢查時(shí)鐘網(wǎng)絡(luò)的的最大插入延遲、最小插入延遲、最大時(shí)鐘偏差以及最大轉(zhuǎn)換時(shí)間等并對(duì)設(shè)計(jì)中出現(xiàn)hold違反進(jìn)行修復(fù),為了便利非時(shí)鐘網(wǎng)絡(luò)布線,此時(shí)需要增加-ar-ea_recovery選項(xiàng),以減小連線面積,此階段依然對(duì)功耗進(jìn)行優(yōu)化。在完成時(shí)鐘樹布線時(shí),本文采用arnoldi模型來精確計(jì)算時(shí)鐘樹的延時(shí)并15次循環(huán)迭代法進(jìn)行時(shí)鐘布線。表2是時(shí)鐘綜合前本設(shè)計(jì)的時(shí)序情況,顯而易見有多條關(guān)鍵路徑并存在較多建立時(shí)間違反;完成時(shí)鐘樹綜合后再進(jìn)行時(shí)鐘檢查,未發(fā)現(xiàn)時(shí)鐘違反,表示時(shí)鐘樹綜合完成。
2.5 布線與芯片完成
本文將布線及其優(yōu)化分開來做,首先在初始布線階段完成全局布線(global routing)、詳細(xì)布線(detail rout-ing)和檢查與修正(search&repair),然后采用拓?fù)渌惴▽?duì)布線進(jìn)行優(yōu)化,同時(shí)對(duì)電流漏功耗進(jìn)行優(yōu)化。為了防止天線效應(yīng)的發(fā)生,在芯片完成階段對(duì)芯片進(jìn)行了天線效應(yīng)修復(fù)設(shè)計(jì),此時(shí)芯片中依然存在空白區(qū)域,需要填充filer 以滿足DRC 的要求。圖5 是該芯片的物理設(shè)計(jì)版圖,表3 是該芯片的面積與功耗,可見總面積為2 794 371.012 703 μm2,總功耗為11.635 4 mW.經(jīng)過仿真后證明芯片于50 MHz時(shí)鐘頻率下正常工作,滿足設(shè)計(jì)要求,證明本次設(shè)計(jì)是正確有效的。
3 結(jié)語
本文基于TSMC 180 nm 工藝完成了一款用于無線火災(zāi)監(jiān)測(cè)系統(tǒng)中的微處理器芯片的物理設(shè)計(jì),采用不同策略分別完成芯片的布圖規(guī)劃、布局、時(shí)鐘樹綜合及布線等設(shè)計(jì)步驟后得到了該芯片的版圖及面積、功耗等報(bào)表,物理設(shè)計(jì)后芯片的各項(xiàng)設(shè)計(jì)指標(biāo)均滿足設(shè)計(jì)要求,證明了該芯片物理設(shè)計(jì)的正確性。