丁濤杰 鄭利華 李鑫鵬 王進(jìn)祥 姚金藝
(1.中國(guó)電子科技集團(tuán)第五十八研究所 江蘇省無(wú)錫市 214072 2.哈爾濱工業(yè)大學(xué) 黑龍江省哈爾濱市 150001)
SiP(System in Package)是一種系統(tǒng)集成方式,通過(guò)封裝技術(shù)將多個(gè)具有不同功能的芯片及有電子器件互聯(lián)構(gòu)成一個(gè)實(shí)現(xiàn)某種功能的系統(tǒng)或子系統(tǒng),實(shí)現(xiàn)一個(gè)包含多種具備不同功能器件的組合體[1]。SiP 技術(shù)是目前實(shí)現(xiàn)高集成微系統(tǒng)的主要技術(shù)手段之一,具有良好發(fā)展前景,是提高電子系統(tǒng)集成化、小型化的關(guān)鍵技術(shù)和有效手段[2],相較于SoC(System on Chip)等其他電路集成方式,SiP技術(shù)具有輕、薄、小的特點(diǎn),芯片間連線更短,具有更低的功耗和更小的連線延遲[3],芯片組裝系統(tǒng)方式更靈活。SiP 還可以與引線鍵合技術(shù)、倒裝焊技術(shù)和其他技術(shù)[4]同時(shí)使用,并使用三維堆疊封裝,大大縮短產(chǎn)品投放市場(chǎng)的周期,也滿足現(xiàn)代電子系統(tǒng)對(duì)小型化、高可靠性和低成本的需求[5]。SiP 得到了廣泛的應(yīng)用,在常見(jiàn)的迷你移動(dòng)存儲(chǔ)卡、各種智能卡和手機(jī)芯片[6]的核心電路中,都可以看到系統(tǒng)級(jí)封裝器件的應(yīng)用[7],由于SiP 能滿足航天電子產(chǎn)品低功耗、小型化的突出特點(diǎn),在航天領(lǐng)域也得到了廣泛應(yīng)用[8]。
SiP 將多個(gè)芯片通過(guò)封裝技術(shù)連接成一個(gè)系統(tǒng),首先需要確保芯片連接關(guān)系的正確性,審查工具可以對(duì)各芯片連接關(guān)系進(jìn)行檢查,因此設(shè)計(jì)一種可靠的芯片接口仿真模型審查工具對(duì)完善SiP 開(kāi)發(fā)流程,具有重要意義。
2003年,西安電子科技大學(xué)和華為合作開(kāi)發(fā)原理圖自動(dòng)審查平臺(tái),使用工具命令語(yǔ)言(Tool Command Language,TCL)實(shí)現(xiàn),可以編寫規(guī)則腳本實(shí)現(xiàn)原理圖檢視,缺點(diǎn)是使用DxDesigner 的私有形式,通用性不強(qiáng)[9]。
本文提出了一種基于SiP 的接口仿真模型審查工具,使用高級(jí)語(yǔ)言Python 實(shí)現(xiàn),把ISCF(Intel Schematic Checking Format)格式作為芯片連接信息輸入,可以對(duì)建模庫(kù)中的芯片進(jìn)行連接性規(guī)則檢查。支持?jǐn)U展規(guī)則,將芯片專家的經(jīng)驗(yàn)和計(jì)算機(jī)高速檢查相結(jié)合,避免芯片連接錯(cuò)誤。
本文采用Python 作為審查工具實(shí)現(xiàn)語(yǔ)言。Python 具有豐富的庫(kù)支持,其中正則表達(dá)式支持re模塊在連接規(guī)則檢查中有重要作用;Python 可進(jìn)行面向?qū)ο缶幊?,并兼容多平臺(tái),具有較好的可讀性和可擴(kuò)展性。
圖1:系統(tǒng)整體框圖
審查工具執(zhí)行流程如圖 2所示,首先對(duì)輸入?yún)?shù)進(jìn)行檢查,并根據(jù)當(dāng)前操作模式配置報(bào)告輸出形式、級(jí)別,調(diào)用輸入分析文件分析ISCF 文件將連接關(guān)系存入設(shè)計(jì)數(shù)據(jù)模塊中的芯片連接關(guān)系數(shù)據(jù)庫(kù),由用戶配置檢查芯片種類、芯片電壓輸入?yún)?shù)等信息,最后執(zhí)行規(guī)則檢查并生成報(bào)告。
圖2:系統(tǒng)執(zhí)行流程圖
輸入分析模塊可分析ISCF 文件和擴(kuò)展規(guī)則文件。
本文采用ISCF 格式作為審查工具輸入文件,ISCF 格式通過(guò)元件、管腳、總線、網(wǎng)絡(luò)、電源等幾個(gè)部分來(lái)描述芯片及元件的連接關(guān)系。本文設(shè)計(jì)的審查工具目的是進(jìn)行芯片和元件間連接關(guān)系正確性檢查,ISCF 文件對(duì)連接關(guān)系的描述簡(jiǎn)約且足夠進(jìn)行規(guī)則檢查,因此使用ISCF 文件作為審查工具輸入文件。
擴(kuò)展規(guī)則文件支持用戶對(duì)現(xiàn)有規(guī)則進(jìn)行擴(kuò)展,用戶可按照規(guī)定的文本格式編寫擴(kuò)展規(guī)則,編寫規(guī)則需要包含規(guī)則編號(hào)、規(guī)則警告級(jí)別、規(guī)則檢查代碼、報(bào)錯(cuò)信息等,支持遞歸包含其他規(guī)則接口,實(shí)現(xiàn)層級(jí)調(diào)用。
輸入分析模塊基于Lark 實(shí)現(xiàn),使用Lark 分析ISCF 文件和擴(kuò)展規(guī)則文件。Lark 是一個(gè)文本解析器,能分析文本并生成存有文本信息的數(shù)據(jù)樹,Lark 具有Python 實(shí)現(xiàn)、能根據(jù)語(yǔ)法輸入自動(dòng)構(gòu)建數(shù)據(jù)樹等特點(diǎn)。使用Lark 分析規(guī)則/ISCF 文件,需要首先編寫規(guī)則/ISCF 語(yǔ)法文本,Lark 能根據(jù)規(guī)則/ISCF 語(yǔ)法文本讀取規(guī)則文件,并為規(guī)則/ISCF 文件中提取的數(shù)據(jù)元素創(chuàng)建樹結(jié)構(gòu),過(guò)程如圖 3所示。jinja2 是基于Python 的模板引擎,將規(guī)則信息和ISCF 文件獲取到的連接信息嵌入jinja2 提前定義好的模板,直接生成規(guī)則執(zhí)行代碼和連接關(guān)系存儲(chǔ)數(shù)據(jù)庫(kù)。再將規(guī)則執(zhí)行代碼放入規(guī)則執(zhí)行列表,提取出的ISCF 文件的連接關(guān)系存儲(chǔ)數(shù)據(jù)庫(kù)放入設(shè)計(jì)數(shù)據(jù)模塊。
設(shè)計(jì)數(shù)據(jù)模塊包括兩部分,存儲(chǔ)芯片接口信息的芯片接口建模庫(kù)和存儲(chǔ)連接關(guān)系的連接數(shù)據(jù)庫(kù)。
芯片接口建模庫(kù)采用Python 二級(jí)字典實(shí)現(xiàn),查找關(guān)系如圖 4所示,相較于列表等數(shù)據(jù)結(jié)構(gòu),鍵查詢速度很快,適用于在幾千個(gè)管腳中查找所需管腳信息。
劃痕實(shí)驗(yàn)及Transwell小室法結(jié)果顯示,與對(duì)照組比較,SCC-15細(xì)胞中過(guò)表達(dá)miR-219能降低SCC-15細(xì)胞的遷移及侵襲能力。然而,當(dāng)共轉(zhuǎn)染miR-219和PRKCI后,SCC-15細(xì)胞的遷移能力比單獨(dú)轉(zhuǎn)染miR-219的SCC-15細(xì)胞降低了50%以上(P<0.01),SCC-15細(xì)胞的侵襲能力比單獨(dú)轉(zhuǎn)染miR-219的SCC-15細(xì)胞降低了50%以上(P<0.05)。說(shuō)明由于PRKCI的過(guò)表達(dá),逆轉(zhuǎn)了miR-219抑制腫瘤遷移及侵襲能力的作用(圖2E,圖2F)。
圖4:芯片接口信息庫(kù)查詢方式圖
芯片管腳信息主要包括管腳的名稱、號(hào)碼、類型、極性、功能、電平等信息,以管腳名和管腳號(hào)作為輸入?yún)?shù)編寫管腳獲取信息功能函數(shù)以支持管腳信息獲取。
連接數(shù)據(jù)庫(kù)用于存儲(chǔ)ISCF 文件獲取到的連接信息,存儲(chǔ)結(jié)構(gòu)如圖5所示,包含如下幾個(gè)部分。
圖5:ISCF 連接關(guān)系數(shù)據(jù)庫(kù)信息圖
ISCF 連接關(guān)系數(shù)據(jù)庫(kù)提供了如下接口以方便規(guī)則檢查:
(1)連接關(guān)系獲取接口:可根據(jù)輸入的芯片名、例化名、管腳名信息在連線網(wǎng)絡(luò)信息中找到與其相連的引腳。
(2)芯片管腳獲取接口:可根據(jù)輸入的芯片名、例化名、管腳名信息輸入相應(yīng)管腳。管腳名支持通配符和正則表達(dá)式匹配方式。
(3)芯片搜索接口:可返回輸入的原理圖文件中包含的芯片與芯片建模庫(kù)的交集,即可檢查的芯片信息列表。
(4)獲取連線網(wǎng)絡(luò)信息:可根據(jù)輸入的芯片名、例化名、管腳名信息,返回管腳相連的網(wǎng)絡(luò)名稱。
規(guī)則執(zhí)行模塊運(yùn)行用戶實(shí)現(xiàn)的擴(kuò)展規(guī)則和芯片規(guī)則,從連接關(guān)系數(shù)據(jù)庫(kù)查詢接口獲取連接關(guān)系,從芯片建模數(shù)據(jù)庫(kù)查詢接口獲取管腳信息,應(yīng)用管腳信息對(duì)連接關(guān)系進(jìn)行檢查。芯片規(guī)則比較典型的有平標(biāo)準(zhǔn)檢查和電平匹配檢查。
電平標(biāo)準(zhǔn)檢查對(duì)芯片電源管腳輸入電壓進(jìn)行檢查,當(dāng)電壓輸入值與管腳電壓輸入范圍不一致時(shí)在報(bào)告中報(bào)錯(cuò),執(zhí)行流程如圖 6所示。
圖6:電平標(biāo)準(zhǔn)檢查流程圖
電平匹配檢查對(duì)相連管腳的電平標(biāo)準(zhǔn)進(jìn)行檢查,當(dāng)標(biāo)準(zhǔn)不一致時(shí)在報(bào)告中報(bào)錯(cuò),執(zhí)行流程如圖7所示。
圖7:電平匹配執(zhí)行流程圖
擴(kuò)展規(guī)則也放入規(guī)則執(zhí)行列表,由規(guī)則執(zhí)行模塊調(diào)度執(zhí)行。
本文實(shí)現(xiàn)的接口仿真模型審查工具,可進(jìn)行的規(guī)則檢查類型如表 1所示。同時(shí)支持用戶擴(kuò)展規(guī)則,可以對(duì)SiP 設(shè)計(jì)中芯片和元件的連接正確性進(jìn)行檢查。
表1:規(guī)則檢查表
使用Python pytest 測(cè)試框架對(duì)實(shí)現(xiàn)的規(guī)則檢查進(jìn)行測(cè)試,使用orCAD 軟件繪制原理圖,注入表 1 中各類型連接錯(cuò)誤,編寫測(cè)試用例對(duì)表 1 中實(shí)現(xiàn)的規(guī)則檢查進(jìn)行測(cè)試,測(cè)試結(jié)果如圖 8所示,所有測(cè)試用例均通過(guò),證明該工具可以對(duì)注入的芯片連接錯(cuò)誤進(jìn)行正確響應(yīng)。
圖8:測(cè)試用例執(zhí)行結(jié)果展示
本文對(duì)一種接口仿真模型審查工具進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),可以對(duì)芯片進(jìn)行連接正確性檢查,能夠正確報(bào)告出模型中的錯(cuò)誤連接。在SiP 開(kāi)發(fā)過(guò)程中,可以使用本工具對(duì)芯片連接關(guān)系進(jìn)行檢查,避免芯片連接失誤造成的損失??捎帽竟ぞ叩挠脩魯U(kuò)展規(guī)則方式將芯片專家的經(jīng)驗(yàn)以代碼方式固化,完善SiP 開(kāi)發(fā)流程。