逆向設計是國內集成電路行業的主要設計手段,尤其是在模擬和數模混合集成電路設計中,逆向設計更是占有主導地位。所以規范完整的逆向設計流程是實現好的集成電路設計的基礎和必備條件。本文基于軟件ChipLogic和Candence,給出了完整的集成電路逆向設計流程。
逆向設計原則
逆向設計可以理解為一種設計的移植工作,目的是將一種未知工藝實現的成熟設計移植到已知工藝來實現。逆向設計大體上分為兩個階段,即分析階段和再設計階段,兩個階段有不同的工作原則。
·分析階段原則
分析階段要尊重原設計。原設計是成熟的,如果工藝基本兼容,只要電路提取正確,就可還原電路功能,且對性能也不會有太大影響。提取電路時不能遺漏任何器件和連線,不管是否能夠理解,都要將原版圖中的元素反映在電路圖中。分析階段應如實根據原設計記錄電路參數,即使局部仿真有問題也不要隨意修改。
·再設計階段原則
再設計階段要尊重仿真結果和DRC規則。新設計基于新工藝,如果提取的電路和版圖不符合新工藝的設計規則,必須修改。為滿足性能要求,可以修改電路參數,但應保持電路結構。對分析階段不能理解的部分,在不影響仿真結果的情況下,要盡量保留。最終仿真結果一定要符合原設計要求,版圖DRC也必須通過。
逆向設計流程
逆向設計流程主要分為四個階段:ChipLogic版圖提取、Cadence電路整理、整體功能仿真以及性能優化再設計,這四個階段是按順序執行的,只有當一個階段完成后才可以進行下一階段操作,整個分析進程的操作流程如圖1所示。
· ChipLogic版圖提取
ChipLogic版圖提取目的是把版圖照片中的器件和線網用ChipLogic工具標識出來,以利于Cadence電路整理工作,ChipLogic版圖提取的工作流程如圖2所示。
逆向分析時,根據標識的線網不同,在各自對應的工作區內進行金屬1、2線網的合并,并完成通孔識別工作,再將合并后的金屬1、2線網與多晶線網合并,形成最終整個芯片的走線網。器件識別小組要完成芯片工藝的判斷、pin標注、器件單元模板識別。當兩個小組工作完成之后,將兩個小組合并,同時完成各個塊之間的連線線網命名,之后各個小組分別在同一個工作區進行單元擺塊工作,在單元擺塊工作中只需要調用之前識別出的有限的器件單元模板即可。整理完成后的單元擺塊圖通過ERC規則檢查后,才可認為ChipLogic版圖提取工作完成。
·Cadence電路整理
在進行完版圖提取工作之后,將Chiplogic中識別出的電路圖逐一移植到Cadence下,之后進行Cadence下的電路整理。基于已有的集成電路知識和書籍上經典電路結構,根據芯片數據手冊上的說明,逐漸在整體電路上整理出數據手冊的芯片框圖中包含的主要功能模塊。
·功能仿真
功能仿真一般分兩步進行,單獨模塊仿真和總體電路仿真。在電路的設計中,只有保證單獨小模塊都能正常工作,才有可能讓整體芯片工作正常。對于數字模塊,在保證提圖正確的前提下,一般仿真都會順利通過。但對于模擬部分,簡單的完全移植功能不一定就會正確,因為像模擬設計中的運算放大器和帶隙基準等模塊要想正常工作,可能還需要對個別管子的尺寸和電阻的阻值進行調整才能滿足設計要求。在各個小模塊的功能都實現了后,參照數據手冊上的仿真電路,對整體芯片進行仿真。
·性能優化再設計
逆向設計中,在工藝選擇正確的前提下,完全的照搬照抄,簡單的改動個別器件的尺寸,一般都可以實現芯片的基本功能。但要想完全達到原芯片的性能要求,可能需要對電路的某些地方進行改動。新選用的設計工藝不一定和原設計工藝正好匹配,導致電路性能達不到原設計要求。所以要想實現一種好的芯片功能,對芯片進行優化再設計是必要的。
總結
綜上所述,集成電路的逆向設計流程按照ChipLogic版圖提取,Cadence電路整理,功能仿真和性能優化再設計四個步驟順序執行,每個步驟嚴格遵守分析設計的原則,可以順利完成芯片的逆向分析和再設計。
(作者單位:沈陽工業大學信息科學與工程學院)