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