專利名稱:數(shù)字ic設(shè)計流程中實現(xiàn)自動化eco網(wǎng)表的方法
數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字IC設(shè)計領(lǐng)域,具體是指一種數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO 網(wǎng)表的方法。
背景技術(shù):
數(shù)字IC設(shè)計流程如下(全流程,突出與ECO相關(guān)的部分)數(shù)字IC設(shè)計流程是從高抽象級別逐步到具體層次的過程,從系統(tǒng)描述、算法描述 逐步具體到功能描述、電路描述及生產(chǎn)工藝層次的過程。在系統(tǒng)描述及算法描述層次,通常使用高級語言如C語言,進(jìn)行系統(tǒng)架構(gòu)和算法 功能的驗證;當(dāng)系統(tǒng)算法驗證完成后,需要通過工具或者手工將算法通過硬件描述語言轉(zhuǎn) 化為等效的RTL描述(寄存器傳輸級描述,是硬件電路描述的一個層次,適用于描述功能部 件級的數(shù)字系統(tǒng)),并且驗證其功能等價性。在使用硬件描述語言完成特定IC電路的描述后,下一步就是將硬件描述語言轉(zhuǎn) 換成由標(biāo)準(zhǔn)數(shù)字單元工藝庫中單元組成的門級網(wǎng)表,這個門級網(wǎng)表實際上就是將特定功能 映射成電路中具體邏輯門(標(biāo)準(zhǔn)單元工藝庫中的與門、或門、觸發(fā)器等都稱之為邏輯門)的 連接和集合。這個過程稱之為邏輯綜合,通常由工具自動完成。得到門級網(wǎng)表后,就需要通過工具完成布局布線的工作,即包括各種邏輯門的布 局,以及邏輯門與邏輯門之間連線的布線。這些工作既需要滿足電路與門級描述功能的一 致性,也需要滿足時序要求。最終,生成最后的版圖給芯片生產(chǎn)工廠選行生產(chǎn)。ECO是指在流程中某個階段發(fā)現(xiàn)錯誤,在不需要重復(fù)全流程的情況下,通過對當(dāng)前 流程階段的設(shè)計直接進(jìn)行變更,以減小全流程重復(fù)帶來的項目時間的延長。由于門級網(wǎng)表輸出到最后的版圖輸出期間仍可能發(fā)現(xiàn)設(shè)計錯誤,因此通常需要通 過對門級網(wǎng)表直接進(jìn)行設(shè)計變更。如圖1所示,現(xiàn)有技術(shù)中該流程如下1、分析待變更設(shè)計代碼和邏輯網(wǎng)表;2、分析邏輯網(wǎng)表確定修改方案;3、手工使用標(biāo)準(zhǔn)數(shù)字單元邏輯組合實現(xiàn)功能并手動書寫ECO修改腳本;4、通過形式驗證(一種保證RTL與門級網(wǎng)表或門級網(wǎng)表之間功能一致性的靜態(tài)驗 證方法)確認(rèn)RTL與門級網(wǎng)表的一致性;5、如果形式驗證失敗,將分析產(chǎn)生RTL與門級網(wǎng)表不一致的原因,并跳回第一步 重新進(jìn)行網(wǎng)表EC0?,F(xiàn)有的網(wǎng)表ECO的方法通常是直接分析已有的門級網(wǎng)表,通過直接在網(wǎng)表上進(jìn)行 改動,使用標(biāo)準(zhǔn)單元庫中的邏輯門繪制修改的邏輯,并將所有修改動作手動書寫成網(wǎng)表修 改工具能識別的ECO修改腳本。由于需要手工將RTL描述的數(shù)字電路轉(zhuǎn)換成門級網(wǎng)表,且需要手工將所有修改動 作轉(zhuǎn)換成ECO修改腳本,因此傳統(tǒng)的網(wǎng)表ECO方法只能針對邏輯修改較少的EC0,否則純手 工將RTL描述轉(zhuǎn)換成門級電路,不僅容易出錯,且工作量較大。且將網(wǎng)表修改的動作轉(zhuǎn)換成ECO修改腳本也很容易出錯。另外,由于傳統(tǒng)的ECO流程是通過純手工將標(biāo)準(zhǔn)單元進(jìn)行組合,因此,此過程對于 ECO部分電路有較大時序約束,通常無法進(jìn)行。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題在于提供一種提高流程效率和減少人工出錯率的實 現(xiàn)自動化ECO網(wǎng)表的方法。本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問題數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,包括如下步驟步驟100 在原有電路中提取待ECO數(shù)字電路,使用RTL描述ECO數(shù)字電路;步驟200 通過EDA工具輸出用來生成ECO修改腳本的報告;步驟300 使用綜合工具輸出報告生成ECO修改腳本。進(jìn)一步地,所述步驟100包括步驟101 首先在原始電路描述中找出待ECO邏輯的所有輸入寄存器;步驟102 然后再在原始電路描述中找出待ECO邏輯的所有輸出寄存器;步驟103 使用RTL描述模塊,并將所有輸入寄存器作為模塊的輸入,將所有輸出 寄存器作為模塊的輸出,并對其命名進(jìn)行規(guī)定,使其命名和寄存器名完全相同;步驟104 在RTL描述的模塊中,將代碼修改成ECO后的邏輯描述。進(jìn)一步地,所述步驟200包括步驟201 首先使用EDA工具讀入ECO后的RTL代碼;步驟202 在EDA工具中指定使用的標(biāo)準(zhǔn)單元庫;步驟203 指定需要滿足的時序約束;步驟204 指定綜合時NET/CELL的命名規(guī)則;步驟205 使用EDA工具進(jìn)行綜合,將RTL邏輯描述轉(zhuǎn)換為使用標(biāo)準(zhǔn)單元庫中的門 描述的門級網(wǎng)表;步驟206 使用EDA工具中的報告輸出命令,輸出以下幾個報告所有NET信息,所 有CELL信息,所有CONNECTION信息。進(jìn)一步地,所述步驟300包括步驟301 首先將刪除原網(wǎng)表中的net和connection命令寫入ECO修改腳本;步驟302 通過程序提取綜合輸出報告的NET/CELL/CONNECTION,并將相關(guān)命令寫 入ECO修改腳本;步驟303 通過ECO模塊的輸入輸出命名識別其在網(wǎng)表中的前后級寄存器,其在綜 合ECO模塊內(nèi)的NET名,建立NET與前后級寄存器的連接,并將其動作通過命令行寫入到 ECO修改腳本。本發(fā)明的優(yōu)點在于由于整個過程中只需要修改RTL描述,極少或者根本不需要 手動書寫ECO修改腳本,因此其有以下幾個優(yōu)點1、流程效率高;2、實現(xiàn)自動化自動化生 成ECO修改腳本,對于復(fù)雜的邏輯修改完全不增加工作量;3、不易出錯流程中只修改RTL 描述,避免了手工操作引入的錯誤;4、EC0過程可以施加時序約束由于引入了 EDA(電子輔 助設(shè)計工具)進(jìn)行綜合,因此可以在綜合的過程中施加時序約束,使ECO后的電路能滿足時序要求。
下面參照附圖結(jié)合實施例對本發(fā)明作進(jìn)一步的描述。圖1是現(xiàn)有技術(shù)的ECO過程示意圖。圖2是本發(fā)明的自動化網(wǎng)表ECO流程示意圖。圖3是本發(fā)明中NRT/CELL/C0NNECTI0N/PIN原理示意圖。圖4是本發(fā)明的自動化網(wǎng)表ECO過程示意圖。
具體實施方式圖2所示是本發(fā)明一種數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法流程示意 圖,圖4是本發(fā)明的自動化網(wǎng)表ECO過程示意圖。包括如下步驟步驟100 在原有電路中提取待ECO數(shù)字電路,使用RTL描述ECO數(shù)字電路;參見 圖4中“手動完成RTL代碼修改”部分。步驟200 通過EDA工具輸出用來生成ECO修改腳本的報告;參見圖4中“自動生 成ECO修改腳本”部分。步驟300 使用綜合工具輸出報告生成ECO修改腳本。參見圖4中“自動完成綜合 及報告輸出”部分。下面詳細(xì)描述上面各步驟步驟100包括步驟101 首先在原始電路描述中找出待ECO邏輯的所有輸入寄存器。步驟102 然后再在原始電路描述中找出待ECO邏輯的所有輸出寄存器。步驟103 使用RTL描述模塊,并將所有輸入寄存器作為模塊的輸入,將所有輸出 寄存器作為模塊的輸出,并對其命名進(jìn)行規(guī)定,使其命名和寄存器名完全相同,這樣主要是 為了 ECO后的新邏輯通過命名規(guī)則匹配與輸入輸出寄存器連接。步驟104 在RTL描述的模塊中,將代碼修改成ECO后的邏輯描述。步驟200包括步驟201 首先使用EDA工具讀入ECO后的RTL代碼;步驟202 在EDA工具中指定使用的標(biāo)準(zhǔn)單元庫;由于ECO后的邏輯仍然要使用與原設(shè)計相同的標(biāo)準(zhǔn)邏輯單元,因此需要指定綜合 時使用的標(biāo)準(zhǔn)單元庫。步驟203 指定需要滿足的時序約束;由于某些ECO邏輯在電路中有一定的時序約束,比如最大路徑延遲、最小路徑延 遲等,因此此處可以使用EDA工具接受的格式指定待綜合電路的時序約束。步驟204 指定綜合時NET/CELL的命名規(guī)則;為了避免綜合后產(chǎn)生的NET或者CELL和模塊已有的NET、CELL重名,因此在綜合 前就需要指定允許的NET、CELL命名規(guī)則。如CELL命名格式為EC0_CELL_{日期}_{CELL 編號},NET命名格式為EC0_CELL_{日期}_{NET編號}。這樣,不僅將新生成的NET、CELL 與已有的NET、CELL區(qū)分開,即使對同一模塊進(jìn)行多次EC0,也不會出現(xiàn)CELL或NET名重復(fù)的情況。步驟205 使用EDA工具進(jìn)行綜合,將RTL邏輯描述轉(zhuǎn)換為使用標(biāo)準(zhǔn)單元庫中的門 描述的門級網(wǎng)表;步驟206 使用EDA工具中的報告輸出命令,輸出以下幾個報告所有NET信息,所 有CELL信息,所有CONNECTION信息。上文提到的NET/CELL/CONNECTION 是指在如圖3所示的兩個邏輯門的連接中,圖中的與門(AND2)和或門(0R2)稱之為一 個CELL,與門與或門之間的連線NET,與門的輸出管腳及或門的輸入管腳即為一個PIN,與 門的輸出PIN通過NET連接到或門的輸入PIN的連接關(guān)系稱之為CONNECTION。步驟300包括為了描述方便,假設(shè)設(shè)計修改工具的命令為neW_Cell (新建一個cell),new_ net (新建一個 net) new_connection (新建一個 connection), del_connection (刪除已有 的 connection)。下面的流程都是通過程序處理綜合工具輸出報告自動完成的。步驟301 首先將刪除原網(wǎng)表中的net和connection命令寫入ECO修改腳本。需如下刪除del_connction nl register_0/Q(表示刪除 register OQ 端和 NET nl 之間的連 接)del_connction n2 register_l/Q (表示刪除 register IQ 端和 NET n2 之間的連 接)del_connction n3 register_2/Q (表示刪除 register 2Q 端和 NET n3 之間的連 接)del_connction n4 register_3/D (表示刪除 register 3D 端和 NET n4 之間的連 接)del_net nl ;del_net n2 ;del_net n3 ;del_net n4。步驟302 通過程序提取綜合輸出報告的NET/CELL/CONNECTION,并將相關(guān)命令寫 入ECO修改腳本。綜合報告中提取到的NET為EC0_NET_n1、EC0_NET_n2、EC0_NET_n3、EC0_NET_n4。提取到的CELL為EC0_CELL_U1。提取到的CONNECT ION 為EC0_NET_nl 與 EC0_CELL_U1 的 AlPin 的連接,EC0_NET_n2 與 EC0_CELL_U1 的 A2Pin 的連接,EC0_NET_n3 與 EC0_CELL_U1 的 A3Pin 的連接,EC0_NET_n4 與 EC0_CELL_U1 的 Z Pin 的連接。通過new_net/new_cell/new_connection命令描述以上行為并寫數(shù)ECO修改腳本。步驟303 通過ECO模塊的輸入輸出命名識別其在網(wǎng)表中的前后級寄存器,其在綜合ECO模塊內(nèi)的NET名,建立NET與前后級寄存器的連接,并將其動作通過命令行寫入到 ECO修改腳本。例如ECO模塊的輸入名為register_0,其模塊內(nèi)的NET名為EC0_NET_nl,則通過修改工 具命令建立EC0_NET_nl與register_0的Q Pin的連接;ECO模塊的輸出名為register_3,其模塊內(nèi)的NET名為EC0_NET_n4,則通過修改工 具命令建立EC0_NET_n4與register_0的D Pin的連接;以此類推。本發(fā)明將原來手動查找CELL,手動繪制ECO電路,手動編寫ECO腳本的流程,變?yōu)?本發(fā)明提出的編寫ECO RTL,自動生成ECO腳本的新流程;通過將待ECO RTL提取成模塊的 方法編寫ECO使用的RTL模塊;通過使用綜合工具輸出ECO所需要的所有NET信息,所有 CELL信息以及所有CONNECTION信息;將綜合得到的信息通過文中描述的方式變?yōu)镋CO自 動修改腳本。本發(fā)明具有以下有益效果1、自動化,時間快,不需要手工繪制邏輯電路;2、 效率高,自動修改;3、出錯少,只要RTL代碼沒有錯誤,修改一次通過;4、適用范圍廣,對于 有時序約束或較復(fù)雜電路的網(wǎng)表ECO不增加任何難度。
權(quán)利要求
1.數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,其特征在于包括如下步驟 步驟100 在原有電路中提取待ECO數(shù)字電路,使用RTL描述ECO數(shù)字電路; 步驟200 通過EDA工具輸出用來生成ECO修改腳本的報告;步驟300 使用綜合工具輸出報告生成ECO修改腳本。
2.如權(quán)利要求1所述的數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,其特征在于 所述步驟100包括步驟101 首先在原始電路描述中找出待ECO邏輯的所有輸入寄存器; 步驟102 然后再在原始電路描述中找出待ECO邏輯的所有輸出寄存器; 步驟103 使用RTL描述模塊,并將所有輸入寄存器作為模塊的輸入,將所有輸出寄存 器作為模塊的輸出,并對其命名進(jìn)行規(guī)定,使其命名和寄存器名完全相同; 步驟104 在RTL描述的模塊中,將代碼修改成ECO后的邏輯描述。
3.如權(quán)利要求1所述的數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,其特征在于 所述步驟200包括步驟201 首先使用EDA工具讀入ECO后的RTL代碼; 步驟202 在EDA工具中指定使用的標(biāo)準(zhǔn)單元庫; 步驟203 指定需要滿足的時序約束; 步驟204 指定綜合時NET/CELL的命名規(guī)則;步驟205 使用EDA工具進(jìn)行綜合,將RTL邏輯描述轉(zhuǎn)換為使用標(biāo)準(zhǔn)單元庫中的門描述 的門級網(wǎng)表;步驟206 使用EDA工具中的報告輸出命令,輸出以下幾個報告所有NET信息,所有 CELL信息,所有CONNECTION信息。
4.如權(quán)利要求1所述的數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,其特征在于 所述步驟300包括步驟301 首先將刪除原網(wǎng)表中的net和connection命令寫入ECO修改腳本; 步驟302 通過程序提取綜合輸出報告的NET/CELL/CONNECTION,并將相關(guān)命令寫入 ECO修改腳本;步驟303 通過ECO模塊的輸入輸出命名識別其在網(wǎng)表中的前后級寄存器,其在綜合 ECO模塊內(nèi)的NET名,建立NET與前后級寄存器的連接,并將其動作通過命令行寫入到ECO 修改腳本。
全文摘要
數(shù)字IC設(shè)計流程中實現(xiàn)自動化ECO網(wǎng)表的方法,包括在原有電路中提取待ECO數(shù)字電路,使用RTL描述ECO數(shù)字電路;通過EDA工具輸出用來生成ECO修改腳本的報告;使用綜合工具輸出報告生成ECO修改腳本。本發(fā)明由于整個過程中只需要修改RTL描述,極少或者根本不需要手動書寫ECO修改腳本,因此流程效率、實現(xiàn)自動、不易出錯、ECO過程可以施加時序約束。
文檔編號G06F17/50GK102129493SQ20111004994
公開日2011年7月20日 申請日期2011年3月2日 優(yōu)先權(quán)日2011年3月2日
發(fā)明者劉欣 申請人:福州瑞芯微電子有限公司