本發(fā)明涉及集成電路芯片設計領域,尤其涉及一種集成電路的設計方法及裝置。
背景技術:
在芯片設計過程中,需要不斷地發(fā)現(xiàn)問題并根據問題調整設計,存在數字前端和后端的交互。在現(xiàn)有的交互過程中,通常是數字前端人員更新網表(netlist)或約束(sdc)之后,通知數字后端人員,然后由數字后端人員根據更新的網表或約束,重新開始運行設計流程。若相關人員缺失,會造成交互延滯而浪費時間,降低工作效率由于數字后端設計流程的運行時間較長,在流片之前的最后階段,若不及時啟動后端設計流程,查看設計結果,會影響整個項目的進度。而現(xiàn)有技術無法根據前端文件的更新情況及時啟動數字后端設計的流程。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種集成電路的設計方法及裝置,以根據前端文件的更新情況,及時啟動數字后端設計的流程,方便數字后端人員及時查看設計結果,推動整個項目的進度。
根據本發(fā)明的第一方面,提供一種集成電路的設計方法,包括:
定時檢測前端文件的更新情況;
在所述前端文件有更新的情況下,根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程,從而更新集成電路的設計。
進一步地,所述以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程包括:
在所述預定的執(zhí)行方式為第一方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后打開所述后端設計工具的圖形用戶界面;
在所述預定的執(zhí)行方式為第二方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后繼續(xù)定時檢測所述前端文件的更新情況。
進一步地,所述預定的數字后端設計流程包括以下順序的任一步驟及所述任一步驟之前的所有步驟:
初始設計;
標準單元布局和優(yōu)化;
時鐘樹綜合和優(yōu)化;
時鐘樹布線和優(yōu)化;
信號線布線;
信號線布線優(yōu)化;
完成芯片設計;
輸出結果。
進一步地,所述定時檢測前端文件的更新情況包括:
每間隔預定時間執(zhí)行更新指令,將所述前端文件更新至版本庫中對應的最新版本得到執(zhí)行結果信息,如果所述執(zhí)行結果信息中存在數據更新的標志,則判定所述前端文件有更新。
進一步地,所述后端設計工具包括集成電路編譯器IC Compiler。
進一步地,所述通過后端設計工具執(zhí)行預定的數字后端設計流程包括:
在工具命令語言TCL解釋器中,使用循環(huán)語句調用gmake命令執(zhí)行與所述預定的數字后端設計流程中各個步驟對應的工具命令語言TCL腳本文件以通過集成電路編譯器IC Compiler執(zhí)行預定的數字后端設計流程。
進一步地,在所述執(zhí)行方式為第一方式的情況下,不執(zhí)行與所述各個步驟中最后一個步驟對應的工具命令語言TCL腳本文件中的退出命令,僅執(zhí)行與其他步驟對應的工具命令語言TCL腳本文件中的退出命令;
在所述執(zhí)行方式為第二方式的情況下,執(zhí)行與所述各個步驟對應的工具命令語言TCL腳本文件中的退出命令,在接收到預定指令的情況下,終止所述循環(huán)語句的執(zhí)行。
進一步地,在所述使用循環(huán)語句調用gmake命令之前,刪除執(zhí)行gmake命令所產生的對應于所述各個步驟的文件。
根據本發(fā)明的第二方面,提供一種集成電路的設計裝置,包括:
檢測模塊,用于定時檢測前端文件的更新情況;
執(zhí)行模塊,用于在所述前端文件有更新的情況下,根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程,從而更新集成電路的設計。
進一步地,所述執(zhí)行模塊包括:
第一執(zhí)行單元,用于在所述預定的執(zhí)行方式為第一方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后打開所述后端設計工具的圖形用戶界面;
第二執(zhí)行單元,用于在所述預定的執(zhí)行方式為第二方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后繼續(xù)定時檢測所述前端文件的更新情況。
進一步地,所述執(zhí)行模塊根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行包括以下順序的任一步驟及所述任一步驟之前的所有步驟的預定的數字后端設計流程:
初始設計;
標準單元布局和優(yōu)化;
時鐘樹綜合和優(yōu)化;
時鐘樹布線和優(yōu)化;
信號線布線;
信號線布線優(yōu)化;
完成芯片設計;
輸出結果。
進一步地,所述檢測模塊用于每間隔預定時間執(zhí)行更新指令,將所述前端文件更新至版本庫中對應的最新版本得到執(zhí)行結果信息,如果所述執(zhí)行結果信息中存在數據更新的標志,則判定所述前端文件有更新。
根據本發(fā)明提供的方案,能夠根據前端文件的更新情況,及時啟動數字后端設計的流程,方便數字后端人員及時查看設計結果,推動整個項目的進度。
本發(fā)明的實施例中,在后端設計人員不在場的情況下,通過定時檢測前端文件是否更新,在前端文件有更新的情況下,自動啟動后端設計工具執(zhí)行數字后端設計流程,且提供兩種數字后端設計流程的執(zhí)行方式,可針對后臺人員不在場的時間長度選擇不同方式,將后端設計人員從不間斷的工作當中解脫出來??赏ㄟ^指定一個具體的數字后端設計流程中的步驟,讓工具自動將流程從第一個流程步驟逐步執(zhí)行到指定的流程步驟,有利于后端設計人員及時查看、了解某個流程步驟的后端設計結果,并對后端設計及時做出相應的適當調整。由于后端設計的執(zhí)行時間較長,如果不能及時執(zhí)行數字后端設計流程,容易耽誤項目的設計進度。項目的進度由團體協(xié)作配合決定,使后端緊跟前端的設計步伐,有助于盡早完成項目流片工作。
附圖說明
通過參照以下附圖對本發(fā)明實施例的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)點將更為清楚,在附圖中:
圖1示出根據本發(fā)明第一實施例的集成電路的設計方法的流程圖;
圖2示出根據本發(fā)明第二實施例的集成電路的設計方法的流程圖;
圖3示出根據本發(fā)明第三實施例的集成電路的設計裝置的示意性框圖;
圖4a示出根據本發(fā)明第四實施例的執(zhí)行模塊的示意性框圖;
圖4b示出根據本發(fā)明第五實施例的執(zhí)行模塊的示意性框圖;
圖4c示出根據本發(fā)明第六實施例的執(zhí)行模塊的示意性框圖。
具體實施方式
以下基于實施例對本發(fā)明進行描述,但是本發(fā)明并不僅僅限于這些實施例。在下文對本發(fā)明的細節(jié)描述中,詳盡描述了一些特定的細節(jié)部分。對本領域技術人員來說沒有這些細節(jié)部分的描述也可以完全理解本發(fā)明。為了避免混淆本發(fā)明的實質,公知的方法、過程、流程沒有詳細敘述。
圖1示出根據本發(fā)明第一實施例的集成電路的設計方法的流程圖,所述方法包括:
在步驟S101中,定時檢測前端文件的更新情況。
例如,可以每間隔預定時間執(zhí)行更新指令,將所述前端文件更新至版本庫中對應的最新版本得到執(zhí)行結果信息,如果檢測到所述執(zhí)行結果信息中存在數據更新的標志,則判定所述前端文件有更新。具體地,可以通過在執(zhí)行腳本中植入一個時鐘函數的功能模塊,每間隔一定時間就檢測一次前端文件的更新情況來實現(xiàn)。
作為一個示例,在存有前端文件工作副本的linux終端輸入svn up指令,該終端會顯示類似于以下的更新信息:
server1:/home/users/hyqin/project/design_name>svn up
U apr/from_logic/core_nom.sdc
U apr/from_logic/core_tid.gate.v
A apr/from_logic/core_nom.sdc
A apr/from_logic/core_tid.gate.v
D apr/from_logic/core.eco.v
在報告執(zhí)行結果的各行信息的行首,有大寫字母“U”、“A”和“D”三種標識符,并且這些字母后面有兩個空格?!癠”意為更新Update,“A”意為添加Add,“D”意為刪除Delete,一般會先執(zhí)行Add,然后執(zhí)行Update,Delete則是視情況執(zhí)行。大寫字母“U”是數據更新的標志,只要監(jiān)測到大寫字母“U”和其后的兩個空格,便可知道當版本庫中的前端文件已經更新。
在步驟S102中,判斷所述前端文件是否有更新。如果有更新則執(zhí)行步驟S103,否則執(zhí)行步驟S101。
要想對字母“U”和其后的兩個空格進行檢測,可以先將報告的執(zhí)行結果信息保存在文檔中,然后使用相應的腳本命令,對文檔里面的關鍵字“U”和其后的兩個空格進行檢索,確定是否存在數據更新情況。
在步驟S103中,根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程。
例如,所述后端設計工具可以包括集成電路編譯器IC Compiler。可以在工具命令語言TCL解釋器中,使用循環(huán)語句調用gmake命令執(zhí)行與所述預定的數字后端設計流程中各個步驟對應的工具命令語言TCL腳本文件以通過集成電路編譯器IC Compiler執(zhí)行預定的數字后端設計流程。如果將所述前端文件更新至版本庫中對應的最新版本,則在所述使用循環(huán)語句調用gmake命令前,刪除之前執(zhí)行gmake命令所生成的對應于預定的數字后端設計流程中各個步驟的文件,然后執(zhí)行預定的數字后端設計流程。
作為一個示例,數字后端設計的全部流程,可以是在集成電路編譯器IC Compiler工具里面,按照腳本內容依次完成每個步驟,整個后端設計流程從頭到尾,依次是:初始設計、標準單元布局和優(yōu)化、時鐘樹綜合和優(yōu)化、時鐘樹布線和優(yōu)化、信號線布線、信號線布線優(yōu)化、完成芯片設計和輸出結果。其中,初始設計涉及data setup(數據建庫),創(chuàng)建floorplan(布圖規(guī)劃)和power network(電源網絡),導出def(設計交換格式)文件;標準單元布局和優(yōu)化涉及執(zhí)行magnet_placement(吸附布局)操作、運行place_opt(布局優(yōu)化)命令,插入spare cells(冗余單元),分析congestion(擁塞)和timing(時序);時鐘樹綜合和優(yōu)化中,時鐘樹綜合涉及clock tree(時鐘樹)滿足DRC(設計規(guī)則檢查)要求,時鐘樹優(yōu)化涉及clock tree滿足目標要求;時鐘樹布線和優(yōu)化涉及clock tree的布線層數和布線規(guī)則進行布線和布線優(yōu)化;信號線布線涉及執(zhí)行Global routing(全局布線)、Track assignment(軌道分配)、Detail routing(詳細布線)的分部操作;信號線布線優(yōu)化涉及執(zhí)行route_opt(布線優(yōu)化)命令,使?jié)M足Timing,DRC的設計要求;完成芯片設計涉及修復antenna(天線)違例,插入filler cells(填充單元),timing和via(通孔)的增益優(yōu)化,插入metal fill(金屬填充);輸出結果即從完成的芯片設計里導出gds文件(圖形設計系統(tǒng)文件)和網表文件。上述步驟分別通過執(zhí)行以下對應的工具命令語言TCL腳本文件完成:init_design_icc、place_opt_icc、clock_opt_ccd_icc、clock_opt_route_icc、route_icc、route_opt_icc、chip_finish_icc和outputs_icc。整個后端設計流程中,依次需要檢查的是:檢查電源地連接和宏模塊的擺放、檢查單元擁塞和重疊、檢查時鐘樹長勢、檢查時鐘樹走線、檢查信號線走線、修復違例、檢查填充單元和輸出結果。
在每個流程步驟TCL腳本的末尾,都存在一個exit的退出命令??梢允褂胓make命令執(zhí)行流程步驟。使用gmake命令執(zhí)行流程步驟時,當一個步驟執(zhí)行完之后,必須執(zhí)行退出命令才能進入下一個流程步驟,因此在所述執(zhí)行方式為第一方式的情況下,不執(zhí)行與所述各個步驟中最后一個步驟對應的工具命令語言TCL腳本文件中的退出命令,要執(zhí)行與其他步驟對應的工具命令語言TCL腳本文件中的退出命令。需要將最后一個流程步驟之前的其他流程步驟TCL腳本里面的exit前面的#屏蔽去掉,使這些流程步驟能夠首尾銜接地貫穿起來。在實際項目的后端設計過程中,不同的流程步驟需要滿足不同的設計要求,前面流程步驟條件滿足,當前流程步驟存在問題時,若是前端文件有更新,通常需要重新由第一個流程步驟執(zhí)行到當前流程步驟,而不會一次性將全部流程步驟從頭執(zhí)行到尾。可以指定一個具體的流程步驟,由最初的流程步驟——初始設計開始依次逐步執(zhí)行到該指定的流程步驟,等該指定的流程步驟執(zhí)行完畢即可查看該指定的流程步驟的設計結果??梢酝ㄟ^設置參數名稱指定一個具體的流程步驟,通常使用gmake命令實現(xiàn)由第一個流程執(zhí)行到指定的流程步驟。例如,需要修復違例,可以在linux終端輸入gmake route_opt_icc,則會啟動集成電路編譯器IC Compiler工具從init_design_icc開始,經由place_opt_icc、clock_opt_ccd_icc、clock_opt_route_icc、route_icc,一直執(zhí)行到route_opt_icc。每執(zhí)行完一個流程步驟,則會產生一個文件名與執(zhí)行的TCL腳本文件名相同的日期文件,文件內容則是記錄時間信息。gmake可以識別所述日期文件的名稱,如果所述日期文件已經存在,gmake則會執(zhí)行這些日期文件對應的流程步驟之后的流程步驟。因為前端文件更新時,需要從第一個流程步驟開始數字后端設計流程,所以要將所有的所述日期文件全部刪除,gmake才能從最開始的流程步驟,執(zhí)行到指定的流程步驟。
在步驟S104中,打開所述后端設計工具的圖形用戶界面。
當指定的流程步驟執(zhí)行完成之后,自動打開工具的圖形用戶界面GUI,以供后端設計人員查看設計結果。當執(zhí)行到指定的流程步驟時,執(zhí)行完之后不需要退出icc_shell終端,以便于在icc_shell終端直接執(zhí)行start_gui,開啟圖形用戶界面,因此需在指定流程步驟對應的腳本中的exit前加個#進行屏蔽。
圖2示出根據本發(fā)明第二實施例的集成電路的設計方法的流程圖,所述方法包括:
在步驟S201中,定時檢測前端文件的更新情況。
例如,可以每間隔預定時間執(zhí)行更新指令,將所述前端文件更新至版本庫中對應的最新版本得到執(zhí)行結果信息,如果檢測到所述執(zhí)行結果信息中存在數據更新的標志,則判定所述前端文件有更新。具體地,可以通過在執(zhí)行腳本中植入一個時鐘函數的功能模塊,每間隔一定時間就檢測一次前端文件的更新情況來實現(xiàn),具體地可以通過svn up指令實現(xiàn)。如果存在數據更新,則刪除之前執(zhí)行gmake遺留的文件名與執(zhí)行的TCL腳本文件名相同的日期文件,然后啟動本次數字后端設計流程。
在步驟S202中,判斷所述前端文件是否有更新。如果有更新則執(zhí)行步驟S203,否則執(zhí)行步驟S201。
在步驟S203中,根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程。
所述后端設計工具可以包括集成電路編譯器IC Compiler??梢栽诠ぞ呙钫Z言TCL解釋器中,使用循環(huán)語句調用gmake命令執(zhí)行與所述預定的數字后端設計流程中各個步驟對應的工具命令語言TCL腳本文件以通過集成電路編譯器IC Compiler執(zhí)行預定的數字后端設計流程。由于gmake命令在循環(huán)語句中,無法在linux環(huán)境下直接執(zhí)行,需要在工具命令語言界面tclsh環(huán)境中才能執(zhí)行,可以根據預定的執(zhí)行方式以及需要指定的流程步驟設置參數,然后將腳本內容復制到tclsh終端,執(zhí)行所有命令語句。在tclsh環(huán)境終端由沒有數據更新到出現(xiàn)數據更新時,終端會顯示執(zhí)行結果的進程,未更新數據時,每間隔預定時間檢測一次,然后報告一下檢測的時間。存在更新數據時,則啟動集成電路編譯器IC Compiler工具,執(zhí)行數字后端設計流程步驟。在所述執(zhí)行方式為第二方式的情況下,執(zhí)行與所述各個步驟對應的工具命令語言TCL腳本文件中的退出命令,在接收到預定指令的情況下,終止所述循環(huán)語句的執(zhí)行。所述預定的執(zhí)行方式為第二方式時會將指定流程步驟腳本里面的#一起刪除,使預定的數字后端設計流程步驟執(zhí)行完畢之后,仍然可以在下一次數據更新時繼續(xù)執(zhí)行流程步驟。所述預定的執(zhí)行方式為第二方式時存在兩個循環(huán)檢測路徑,若執(zhí)行更新指令svn up之后,判定前端文件沒有更新,則繼續(xù)循環(huán)檢測前端文件的更新情況;若執(zhí)行更新指令svn up之后,產生的執(zhí)行結果信息中存在數據更新的標志,則將預定的數字后端設計流程執(zhí)行完之后,繼續(xù)循環(huán)檢測前端文件的更新情況。
在步驟S204中,判斷是否接收到預定指令,如果接收到預定指令則結束,否則執(zhí)行步驟S201。
所述預定的執(zhí)行方式為第二方式時,需要人為終止循環(huán)檢測的進程,打開集成電路編譯器IC Compiler工具查看數字后端設計流程的執(zhí)行結果,所以無需自動開啟圖形用戶界面??梢栽诮邮盏筋A定指令的情況下跳出整個循環(huán)。優(yōu)選地,不管何時接收到預定指令,可以在執(zhí)行完預定的數字后端設計流程后再跳出整個循環(huán)。
在一些實施例中,可以同時設計兩個執(zhí)行腳本,分別用于執(zhí)行方式為第一方式和第二方式的情況。首先應該了解數字后端設計流程的執(zhí)行方式,然后通過分析指令或者預設的參數,使用if語句在所述兩種方式中選擇一種用于執(zhí)行數字后端設計流程。第一方式中,執(zhí)行完流程之后,可以自動開啟圖形界面,適用于后端人員暫時不在場情況;第二方式中,只要前端有數據更新,便可以立即啟動后端設計流程,適用于后端人員長時不在場的情況,但需要人為中斷設計跳出循環(huán)。
圖3示出根據本發(fā)明第三實施例的集成電路的設計裝置的示意性框圖,如圖3所示,集成電路的設計裝置30包括檢測模塊301和執(zhí)行模塊302。
檢測模塊301用于定時檢測前端文件的更新情況。
例如,檢測模塊301可以每間隔預定時間將所述前端文件更新至版本庫中對應的最新版本,從而得到執(zhí)行結果信息,如果檢測到所述執(zhí)行結果信息中存在數據更新的標志,則判定所述前端文件有更新。具體地,檢測模塊301可以包括一個時鐘函數的功能模塊,每間隔一定時間就執(zhí)行一次更新指令進行更新。作為一個示例,檢測模塊301可以在存有前端文件工作副本的linux終端執(zhí)行更新指令svn up,該終端會顯示類似于以下的更新信息:
server1:/home/users/hyqin/project/design_name>svn up
U apr/from_logic/core_nom.sdc
U apr/from_logic/core_tid.gate.v
A apr/from_logic/core_nom.sdc
A apr/from_logic/core_tid.gate.v
D apr/from_logic/core.eco.v
在報告執(zhí)行結果的各行信息的行首,有大寫字母“U”、“A”和“D”三種標識符,并且這些字母后面有兩個空格?!癠”意為更新Update,“A”意為添加Add,“D”意為刪除Delete,一般會先執(zhí)行Add,然后執(zhí)行Update,Delete則是視情況執(zhí)行。大寫字母“U”是數據更新的標志,檢測模塊301只要監(jiān)測到大寫字母“U”和其后的兩個空格,便可知道當版本庫中的前端文件已經更新。檢測模塊301對字母“U”和其后的兩個空格進行檢測,可以先將報告的執(zhí)行結果信息保存在文檔中,然后通過相應的腳本命令,對文檔里面的關鍵字“U”和其后的兩個空格進行檢索,判定是否存在數據更新情況。
執(zhí)行模塊302用于在所述前端文件有更新的情況下,根據所述前端文件以預定的執(zhí)行方式通過后端設計工具執(zhí)行預定的數字后端設計流程,從而更新集成電路的設計。
例如,所述后端設計工具可以包括集成電路編譯器IC Compiler。執(zhí)行模塊302可以通過工具命令語言TCL解釋器,使用循環(huán)語句調用gmake命令執(zhí)行與所述預定的數字后端設計流程中各個步驟對應的工具命令語言TCL腳本文件以通過集成電路編譯器IC Compiler執(zhí)行預定的數字后端設計流程。如果檢測模塊301判定前端文件存在數據更新情況,則執(zhí)行模塊302在使用循環(huán)語句調用gmake命令前,刪除之前執(zhí)行gmake命令所生成的對應于預定的數字后端設計流程中各個步驟的文件,然后執(zhí)行預定的數字后端設計流程。作為一個示例,數字后端設計的全部流程,是在集成電路編譯器IC Compiler工具里面,按照腳本內容依次完成每個步驟,整個后端設計流程從頭到尾,依次是:初始設計、標準單元布局和優(yōu)化、時鐘樹綜合和優(yōu)化、時鐘樹布線和優(yōu)化、信號線布線、信號線布線優(yōu)化、完成芯片設計和輸出結果。其中,初始設計涉及data setup,創(chuàng)建floorplan和power network,導出def文件;標準單元布局和優(yōu)化涉及執(zhí)行magnet_placement操作、運行place_opt命令,插入spare cells,分析congestion和timing;時鐘樹綜合和優(yōu)化中,時鐘樹綜合涉及clock tree滿足DRC要求,時鐘樹優(yōu)化涉及clock tree滿足目標要求;時鐘樹布線和優(yōu)化涉及clock tree的布線層數和布線規(guī)則進行布線和布線優(yōu)化;信號線布線涉及執(zhí)行Global routing、Track assignment、Detail routing的分部操作;信號線布線優(yōu)化涉及執(zhí)行route_opt命令,使?jié)M足Timing,DRC的設計要求;完成芯片設計涉及修復antenna違例,插入filler cells,timing和via的增益優(yōu)化,插入metal fill;輸出結果即從完成的芯片設計里導出gds和網表文件。上述步驟分別通過執(zhí)行以下對應的工具命令語言TCL腳本文件完成:init_design_icc、place_opt_icc、clock_opt_ccd_icc、clock_opt_route_icc、route_icc、route_opt_icc、chip_finish_icc和outputs_icc。整個后端設計流程中,依次需要檢查的是:檢查電源地連接和宏模塊的擺放、檢查單元擁塞和重疊、檢查時鐘樹長勢、檢查時鐘樹走線、檢查信號線走線、修復違例、檢查填充單元和輸出結果。
在實際項目的后端設計過程中,不同的流程步驟需要滿足不同的設計要求,前面流程步驟條件滿足,當前流程步驟存在問題時,若是前端文件更新,通常需要重新由第一個流程步驟執(zhí)行到當前流程步驟,而不會一次性將全部流程步驟從頭執(zhí)行到尾。執(zhí)行模塊302可以指定一個具體的流程步驟,由最初的流程步驟——初始設計開始依次逐步執(zhí)行到該指定的流程步驟,等該指定的流程步驟執(zhí)行完畢即可查看該指定的流程步驟的設計結果。執(zhí)行模塊302可以通過設置參數名稱指定一個具體的流程步驟,可以使用gmake命令實現(xiàn)由第一個流程執(zhí)行到指定的流程步驟。例如,需要修復違例,執(zhí)行模塊302可以通過gmake route_opt_icc,啟動集成電路編譯器IC Compiler工具從init_design_icc開始,經由place_opt_icc、clock_opt_ccd_icc、clock_opt_route_icc、route_icc,一直執(zhí)行到route_opt_icc。每執(zhí)行完一個流程步驟,會產生一個文件名與執(zhí)行的TCL腳本文件名相同的日期文件,文件內容則是記錄時間信息。gmake可以識別所述日期文件的名稱,如果所述日期文件已經存在,gmake則會執(zhí)行這些日期文件對應的流程步驟之后的流程步驟。由于前端文件更新時,需要從第一個流程步驟開始數字后端設計流程,所以執(zhí)行模塊302要將所有的所述日期文件全部刪除,才能從最開始的流程步驟,執(zhí)行到指定的流程步驟。
圖4a示出根據本發(fā)明第四實施例的執(zhí)行模塊的示意性框圖,如圖4a所示,執(zhí)行模塊302包括第一執(zhí)行單元3021。
第一執(zhí)行單元3021用于在所述預定的執(zhí)行方式為第一方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后打開所述后端設計工具的圖形用戶界面。
在每個流程步驟TCL腳本的末尾,都存在一個exit的退出命令。使用gmake命令執(zhí)行流程步驟,當一個步驟執(zhí)行完之后,必須執(zhí)行退出命令才能進入下一個流程步驟。第一執(zhí)行單元3021可以使用gmake命令執(zhí)行流程步驟。第一執(zhí)行單元3021可以將最后一個流程步驟之前的其他流程步驟TCL腳本里面的exit前面的#屏蔽去掉,使這些流程步驟能夠首尾銜接地貫穿起來,不執(zhí)行與所述各個步驟中最后一個步驟對應的工具命令語言TCL腳本文件中的退出命令,而僅執(zhí)行與其他步驟對應的工具命令語言TCL腳本文件中的退出命令。當指定的流程步驟執(zhí)行完成之后,第一執(zhí)行單元3021打開工具的圖形用戶界面GUI,以供后端設計人員查看設計結果。
圖4b示出根據本發(fā)明第五實施例的執(zhí)行模塊的示意性框圖,如圖4b所示,執(zhí)行模塊302包括第二執(zhí)行單元3022。
第二執(zhí)行單元3022用于在所述預定的執(zhí)行方式為第二方式的情況下,通過所述后端設計工具執(zhí)行所述預定的數字后端設計流程后繼續(xù)定時檢測所述前端文件的更新情況。
第二執(zhí)行單元3022執(zhí)行與所述各個步驟對應的工具命令語言TCL腳本文件中的退出命令,在接收到預定指令的情況下,終止所述循環(huán)語句的執(zhí)行。優(yōu)選地,第二執(zhí)行單元3022需要在執(zhí)行完預定的數字后端設計流程后再跳出整個循環(huán)。第二執(zhí)行單元3022可以將指定流程步驟腳本里面的#一并刪除,使預定的數字后端設計流程步驟執(zhí)行完畢之后,仍然可以在下一次數據更新時繼續(xù)執(zhí)行數字后端設計流程步驟。第二執(zhí)行單元3022有兩個循環(huán)檢測路徑,若執(zhí)行svn up之后,判定前端文件沒有更新,則繼續(xù)循環(huán)檢測前端文件是否有更新;若執(zhí)行svn up之后,判定前端文件存在更新,則將預定的數字后端設計流程執(zhí)行完之后,繼續(xù)循環(huán)檢測前端文件的更新情況。
圖4c示出根據本發(fā)明第六實施例的執(zhí)行模塊的示意性框圖,如圖4c所示,執(zhí)行模塊302包括第一執(zhí)行單元3021和第二執(zhí)行單元3022。
第一執(zhí)行單元3021和第二執(zhí)行單元3022以上參考圖4a和圖4b已經進行了詳細的說明,在此不再贅述。
在一些實施例中,執(zhí)行模塊302包括第一執(zhí)行單元3021和第二執(zhí)行單元3022,可以同時設計兩個執(zhí)行腳本,分別用于執(zhí)行方式為第一方式和第二方式的情況。執(zhí)行模塊302可以通過分析指令或者預設的參數,使用if語句在所述兩種方式中選擇一種用于執(zhí)行數字后端設計流程。第一方式中,執(zhí)行完流程之后,可以自動開啟圖形界面,適用于后端人員暫時不在場情況;第二方式中,只要前端有數據更新,便可以立即啟動后端設計流程,適用于后端人員長時不在場的情況,但需要人為中斷設計跳出循環(huán)。
本發(fā)明的實施例能夠根據前端文件的更新情況,及時啟動數字后端設計的流程,方便數字后端人員及時查看設計結果,推動整個項目的進度。
本發(fā)明的實施例能夠實現(xiàn)在后端設計人員不在場的情況下,通過腳本自動循環(huán)檢測前端文件的更新情況,在前端文件有更新的情況下,自動啟動后端設計工具執(zhí)行數字后端設計流程,且提供兩種數字后端設計流程的執(zhí)行方式,可針對后臺人員不在場的時間長度選擇不同方式,將后端設計人員從不間斷的工作當中解脫出來。本發(fā)明的實施例還可以指定一個具體的數字后端設計流程中的步驟,讓工具自動將流程從第一個流程逐步執(zhí)行到指定的步驟,有利于后端設計人員及時查看、了解某個流程步驟的后端設計結果,并對后端設計及時做出相應的適當調整。由于后端設計的執(zhí)行時間較長,如果不能及時執(zhí)行數字后端設計流程,容易耽誤項目的設計進度。本發(fā)明的實施例可以在前端文件有更新的情況下,自動啟動后端設計工具執(zhí)行數字后端設計流程,從而使后端與前端設計緊密銜接,有助于盡早完成項目流片工作。
以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,對于本領域技術人員而言,本發(fā)明可以有各種改動和變化。凡在本發(fā)明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。