專(zhuān)利名稱(chēng):電路設(shè)計(jì)支持裝置、方法、計(jì)算機(jī)產(chǎn)品及印刷電路板制造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)設(shè)計(jì)將可編程邏輯器件(PLD)用作部件的電路 進(jìn)行支持(支援)的技術(shù)。
背景技術(shù):
傳統(tǒng)電路設(shè)計(jì)CAD裝置通過(guò)參照部件庫(kù)對(duì)由電路設(shè)計(jì)者設(shè)計(jì)的電 路圖進(jìn)行設(shè)計(jì)規(guī)則檢查。在這種情況下,作為設(shè)計(jì)規(guī)則檢查,例如描述 了以下檢査輸入/輸出屬性檢查,其通過(guò)使用各管腳相對(duì)于各個(gè)線(xiàn)網(wǎng) (net)的輸入/輸出屬性來(lái)檢查輸出管腳的數(shù)量是否為1;差動(dòng)信號(hào)檢查, 其用于檢查包括在一個(gè)線(xiàn)網(wǎng)中的所有管腳是否具有相同的差動(dòng)屬性;以 及電源電壓檢查,其用于檢査電源管腳的電壓值是否與線(xiàn)網(wǎng)的電源電壓 相同。
此外,日本專(zhuān)利申請(qǐng)?zhí)亻_(kāi)平4-246778公開(kāi)了這樣一種技術(shù),當(dāng)要布 置半導(dǎo)體集成電路的輸入/輸出管腳時(shí),在使用邏輯連接信息、封裝信息 以及庫(kù)信息進(jìn)行了物理檢查和電氣檢查之后,布置這些輸入/輸出管腳。
然而,當(dāng)電路設(shè)計(jì)支持裝置對(duì)將諸如FPGA (場(chǎng)可編程門(mén)陣列)的 PLD用作部件的電路圖進(jìn)行設(shè)計(jì)規(guī)則檢查時(shí),關(guān)于PLD的準(zhǔn)確信息沒(méi)有 登記在供電路設(shè)計(jì)支持裝置參照的部件庫(kù)中。因此,無(wú)法準(zhǔn)確地執(zhí)行設(shè) 計(jì)規(guī)則檢查。
艮P,在部件庫(kù)中,PLD的管腳屬性(輸入/輸出屬性、差動(dòng)屬性、電 源電壓等)不是在寫(xiě)入程序之后獲得的屬性。因此,無(wú)法執(zhí)行輸入/輸出 屬性檢査、差動(dòng)信號(hào)檢查以及電源電壓檢查。
發(fā)明內(nèi)容
本發(fā)明的目的是至少部分地解決傳統(tǒng)技術(shù)中的問(wèn)題。
根據(jù)本發(fā)明的一方面,提供了一種電路設(shè)計(jì)支持裝置,該電路設(shè)計(jì) 支持裝置支持設(shè)計(jì)將PLD用作部件的電路,該電路設(shè)計(jì)支持裝置包括
PLD信息接收單元,其接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使 用PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;和DRC單元,其通過(guò)使用所述PLD 信息執(zhí)行設(shè)計(jì)規(guī)則檢查。
根據(jù)本發(fā)明的另一方面,提供了一種支持設(shè)計(jì)將PLD用作部件的電 路的方法,該方法包括以下步驟接收PLD信息,該P(yáng)LD信息是通過(guò)針 對(duì)PLD使用PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;以及通過(guò)使用所述PLD 信息執(zhí)行設(shè)計(jì)規(guī)則檢查。
根據(jù)本發(fā)明的又一方面,提供了一種印刷電路板的制造方法,該方 法被支持設(shè)計(jì)將PLD用作部件的電路的電路設(shè)計(jì)支持裝置所采用,所述 方法包括以下步驟接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使用 PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;以及通過(guò)使用所述PLD信息執(zhí)行設(shè) 計(jì)規(guī)則檢查。
根據(jù)本發(fā)明的再一方面,提供了一種計(jì)算機(jī)可讀記錄介質(zhì),該計(jì)算 機(jī)可讀記錄介質(zhì)在其中存儲(chǔ)有使計(jì)算機(jī)執(zhí)行以上方法的計(jì)算機(jī)程序。
通過(guò)結(jié)合附圖閱讀對(duì)本發(fā)明當(dāng)前優(yōu)選的實(shí)施方式的以下詳細(xì)描述, 將會(huì)更好地理解本發(fā)明的以上和其他目的、特征、優(yōu)點(diǎn)以及技術(shù)和工業(yè) 重要性。
圖1是用于解釋根據(jù)本發(fā)明第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念 的說(shuō)明圖2是根據(jù)第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的功能框圖3是用于解釋電路設(shè)計(jì)的說(shuō)明圖4A和圖4B是用于解釋FPGA的符號(hào)庫(kù)的說(shuō)明圖5是存儲(chǔ)在FPGA信息存儲(chǔ)單元中的FPGA信息的示例的圖6是存儲(chǔ)在符號(hào)庫(kù)存儲(chǔ)單元中的符號(hào)庫(kù)的示例的圖7是管腳交換的示例的圖8是如何將管腳交換反映在電路圖中的示例的圖9是存儲(chǔ)在約束條件存儲(chǔ)單元中的約束條件的示例的圖IO是存儲(chǔ)在改變歷史存儲(chǔ)單元中的改變歷史的示例的圖11是由歷史輸出單元輸出到FPGA設(shè)計(jì)CAD裝置的通知信息的 示例的圖12是通知信息的輸出格式的圖13是由電路設(shè)計(jì)CAD裝置執(zhí)行的用于創(chuàng)建符號(hào)庫(kù)的處理和用于 布置符號(hào)的處理的流程圖14是由DRC單元執(zhí)行的用于檢查輸入/輸出屬性的處理的流程
圖15是由DRC單元執(zhí)行的用于檢查差動(dòng)信號(hào)的處理的流程圖16是由DRC單元執(zhí)行的用于檢查電源電壓的處理的流程圖17是由管腳交換處理單元執(zhí)行的管腳交換處理的流程圖18是由歷史輸出單元執(zhí)行的用于輸出改變歷史的處理的流程圖19是用于解釋根據(jù)本發(fā)明第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念 的說(shuō)明圖20是根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的功能框21是由線(xiàn)網(wǎng)列表獲取單元獲取的線(xiàn)網(wǎng)列表的示例的圖22是由線(xiàn)網(wǎng)列表轉(zhuǎn)換單元輸出的線(xiàn)網(wǎng)列表的示例的圖23是由臨時(shí)庫(kù)創(chuàng)建單元?jiǎng)?chuàng)建的臨時(shí)庫(kù)的示例的圖24是由臨時(shí)庫(kù)創(chuàng)建裝置執(zhí)行的輸出用于封裝設(shè)計(jì)CAD的信息的 處理的流程圖25是由臨時(shí)庫(kù)創(chuàng)建裝置執(zhí)行的用于反映封裝的考慮結(jié)果的處理 的流程圖;以及
圖26是執(zhí)行根據(jù)第一實(shí)施方式的電路設(shè)計(jì)CAD程序的計(jì)算機(jī)的功 能框圖。
具體實(shí)施例方式
下面參照附圖詳細(xì)解釋根據(jù)本發(fā)明的示例性實(shí)施方式。另外,在這
些實(shí)施方式中主要解釋將本發(fā)明應(yīng)用于FPGA的情況。
首先,對(duì)根據(jù)本發(fā)明的第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念進(jìn)行 解釋。圖1是用于解釋根據(jù)第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念的說(shuō) 明圖。如該圖所示,在根據(jù)第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)中,用于支 持FPGA設(shè)計(jì)的FPGA設(shè)計(jì)CAD裝置10、用于支持印刷電路板的封裝 設(shè)計(jì)的封裝設(shè)計(jì)CAD裝置20、以及作為支持電路設(shè)計(jì)的電路設(shè)計(jì)支持裝 置的電路設(shè)計(jì)CAD裝置100彼此協(xié)作以支持設(shè)計(jì)者。
具體地講,電路設(shè)計(jì)CAD裝置100接收由FPGA設(shè)計(jì)CAD裝置10 創(chuàng)建的諸如管腳布局的FPGA信息,并且創(chuàng)建符號(hào)庫(kù)。當(dāng)創(chuàng)建FPGA的 符號(hào)庫(kù)時(shí),如果要?jiǎng)?chuàng)建符號(hào)庫(kù)的FPGA被布置在電路圖中,即,如果由 于FPGA的改變而新創(chuàng)建了符號(hào)庫(kù),則電路設(shè)計(jì)CAD裝置100盡可能地 利用諸如部分分配和符號(hào)管腳的布局的關(guān)于現(xiàn)有符號(hào)的信息來(lái)創(chuàng)建符號(hào) 庫(kù)。
如上所述,電路設(shè)計(jì)CAD裝置100通過(guò)使用FPGA信息創(chuàng)建FPGA 的符號(hào)庫(kù),從而電路設(shè)計(jì)者不需要?jiǎng)?chuàng)建FPGA的符號(hào)庫(kù)。因此,能夠減 小電路設(shè)計(jì)者的工作量。另外,當(dāng)由于FPGA的改變而新創(chuàng)建符號(hào)庫(kù)時(shí), 電路設(shè)計(jì)CAD裝置100盡可能地利用關(guān)于現(xiàn)有符號(hào)的信息來(lái)創(chuàng)建符號(hào) 庫(kù)。因此,可以減少對(duì)電路圖的改動(dòng),并且由此可以提高電路設(shè)計(jì)的效 率。
此外,當(dāng)執(zhí)行DRC (設(shè)計(jì)規(guī)則檢査)時(shí),電路設(shè)計(jì)CAD裝置100 通過(guò)參照由FPGA設(shè)計(jì)CAD裝置10創(chuàng)建的諸如管腳輸入/輸出屬性的 FPGA信息來(lái)執(zhí)行DRC。例如,電路設(shè)計(jì)CAD裝置100通過(guò)參照FPGA 針對(duì)各線(xiàn)網(wǎng)的管腳輸入/輸出屬性來(lái)檢查輸出管腳的數(shù)量。這樣,電路設(shè) 計(jì)CAD裝置100通過(guò)參照諸如管腳輸入/輸出屬性的FPGA信息來(lái)執(zhí)行 DRC,并且由此能夠更準(zhǔn)確地執(zhí)行DRC。
此外,當(dāng)在封裝設(shè)計(jì)中發(fā)生管腳交換時(shí),電路設(shè)計(jì)CAD裝置100 從封裝設(shè)計(jì)CAD裝置20獲取管腳交換信息,并且將管腳交換反映在符 號(hào)庫(kù)、電路圖等中。此外,電路設(shè)計(jì)CAD裝置100將封裝設(shè)計(jì)中的管腳 交換反映在諸如管腳之間的線(xiàn)長(zhǎng)度的約束條件中。這樣,電路設(shè)計(jì)CAD
裝置100還將封裝設(shè)計(jì)中的管腳交換反映在約束條件中,并且由此,可 以消除電路設(shè)計(jì)信息和封裝設(shè)計(jì)信息的不一致。
此外,電路設(shè)計(jì)CAD裝置100記錄封裝設(shè)計(jì)中的管腳交換的歷史, 并且將管腳交換的歷史信息提供到FPGA設(shè)計(jì)CAD裝置10。這樣,電 路設(shè)計(jì)CAD裝置100記錄封裝設(shè)計(jì)中的管腳交換的歷史,并且將管腳交 換的歷史信息提供到FPGA設(shè)計(jì)CAD裝置10,并且由此可以確保FPGA 設(shè)計(jì)、電路設(shè)計(jì)和封裝設(shè)計(jì)之間的一致性。
接下來(lái),對(duì)根據(jù)第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)進(jìn)行解 釋。圖2是根據(jù)第一實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的功能框圖。如該 圖所示,該FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)包括FPGA設(shè)計(jì)CAD裝置10、封裝設(shè) 計(jì)CAD裝置20以及電路設(shè)計(jì)CAD裝置100。
電路設(shè)計(jì)CAD裝置100與FPGA設(shè)計(jì)CAD裝置10和封裝設(shè)計(jì)CAD 裝置20協(xié)作地支持將FPGA用作部件的電路設(shè)計(jì)。圖3是用于解釋電路 設(shè)計(jì)的說(shuō)明圖。如該圖所示,電路設(shè)計(jì)者將被登記為與部件相關(guān)聯(lián)的符 號(hào)庫(kù)的符號(hào)布置在電路圖中,并且將符號(hào)管腳彼此連接,從而設(shè)計(jì)電路。
然而,在EPGA的情況下,如果在將程序?qū)懭隖PGA上之前符號(hào)被 登記為符號(hào)庫(kù),則由于管腳可用于輸入或者輸出,所以管腳被定義為輸 入/輸出管腳。因此,當(dāng)使用登記的符號(hào)庫(kù)時(shí),用于輸入的管腳位于右側(cè), 相反,用于輸出的管腳位于左側(cè),或者如圖4A所示沒(méi)有順序地布置總線(xiàn), 并且由此電路圖變復(fù)雜。
因此,每當(dāng)寫(xiě)入程序時(shí)需要?jiǎng)?chuàng)建符號(hào)庫(kù)。結(jié)果,在這種情況下,每 當(dāng)寫(xiě)入程序時(shí),電路設(shè)計(jì)CAD裝置100創(chuàng)建FPGA的符號(hào)庫(kù)。如圖4B 所示,通過(guò)每當(dāng)寫(xiě)入程序時(shí)創(chuàng)建FPGA的符號(hào)庫(kù),可將用于輸入的管腳 布置在左側(cè),并且還能夠順序地布置總線(xiàn)。
返回對(duì)圖2的說(shuō)明,電路設(shè)計(jì)CAD裝置100包括FPGA信息管理 單元110、 FPGA信息存儲(chǔ)單元115、庫(kù)創(chuàng)建單元120、符號(hào)庫(kù)存儲(chǔ)單元 125、電路圖反映單元130、電路圖存儲(chǔ)單元135、 DRC單元140、管腳 交換處理單元150、約束條件存儲(chǔ)單元155、歷史輸出單元160、以及改 變歷史存儲(chǔ)單元165。
FPGA信息管理單元110是用于管理FPGA信息的處理單元。FPGA 信息管理單元110從由FPGA設(shè)計(jì)CAD裝置10輸出的文件中獲取FPGA 信息(諸如物理管腳和邏輯管腳之間的對(duì)應(yīng)關(guān)系、管腳輸入/輸出屬性、 電壓值、以及架(bank)編號(hào)),并且將獲取的FPGA信息存儲(chǔ)在FPGA 信息存儲(chǔ)單元115中。
在這種情況下,在FPGA信息管理單元110首先將FPGA信息存儲(chǔ) 在FPGA信息存儲(chǔ)單元115中之后,當(dāng)FPGA信息管理單元110獲取FPGA 信息并且將獲取的FPGA信息重新存儲(chǔ)在FPGA信息存儲(chǔ)單元115中時(shí), FPGA信息管理單元llO還將指示FPGA信息的改變的改變歷史存儲(chǔ)在改 變歷史存儲(chǔ)單元165中。
FPGA信息存儲(chǔ)單元115是在FPGA信息管理單元110的控制下將 FPGA信息存儲(chǔ)在其中的存儲(chǔ)單元。圖5是存儲(chǔ)在FPGA信息存儲(chǔ)單元 115中的FPGA信息的示例的圖。如該圖所示,F(xiàn)PGA信息存儲(chǔ)單元115 在其中存儲(chǔ)關(guān)于每個(gè)管腳的物理管腳名稱(chēng)、邏輯管腳名稱(chēng)、輸入/輸出屬 性、架編號(hào)、交換組編號(hào)、差動(dòng)屬性、以及電源電壓。
庫(kù)創(chuàng)建單元120是利用存儲(chǔ)在FPGA信息存儲(chǔ)單元115中的FPGA 信息來(lái)創(chuàng)建FPGA的符號(hào)庫(kù)的處理單元,并且將所創(chuàng)建的符號(hào)庫(kù)存儲(chǔ)在 符號(hào)庫(kù)存儲(chǔ)單元125中。庫(kù)創(chuàng)建單元120包括部分劃分單元121和符號(hào) 創(chuàng)建單元122。部分劃分單元121將電路圖劃分成多個(gè)部分。符號(hào)創(chuàng)建單 元122創(chuàng)建由部分劃分單元121劃分出的各個(gè)部分的符號(hào)。
部分劃分單元121基于用戶(hù)通過(guò)GUI指定的部分劃分規(guī)則將電路圖 劃分成多個(gè)部分。作為該部分劃分,按照每個(gè)架編號(hào)、每個(gè)架組、每個(gè) 邏輯管腳名稱(chēng)等,將電路圖劃分成多個(gè)部分。此外,部分劃分單元121 基于輸入/輸出屬性確定符號(hào)上的最右側(cè)管腳和最左側(cè)管腳的位置,并且 通過(guò)按管腳屬性進(jìn)行排序來(lái)確定管腳的順序。此外,部分劃分單元121 經(jīng)由GUI從用戶(hù)接收用于在多個(gè)部分之間置換管腳的規(guī)定,并且置換管 腳。
此外,當(dāng)創(chuàng)建符號(hào)庫(kù)時(shí),庫(kù)創(chuàng)建單元120檢査要?jiǎng)?chuàng)建符號(hào)的FPGA 的符號(hào)是否布置在電路圖中。如果該符號(hào)布置在電路圖中,則庫(kù)創(chuàng)建單元120通過(guò)參照關(guān)于布置的符號(hào)的信息來(lái)創(chuàng)建符號(hào)庫(kù)。
具體地講,庫(kù)創(chuàng)建單元120通過(guò)將邏輯管腳名稱(chēng)作為鍵來(lái)參考現(xiàn)有 符號(hào)庫(kù),來(lái)執(zhí)行部分分配。此外,庫(kù)創(chuàng)建單元120創(chuàng)建這樣的符號(hào)庫(kù), 在該符號(hào)庫(kù)中將符號(hào)管腳布置在與先前管腳在現(xiàn)有符號(hào)庫(kù)中所處的位置 相同的位置。即,庫(kù)創(chuàng)建單元120將具有包括在現(xiàn)有符號(hào)中的邏輯管腳 名稱(chēng)的管腳分配到與先前管腳在現(xiàn)有部分中所處的位置相同的部分的相 同位置上,并且將具有沒(méi)有包括在現(xiàn)有符號(hào)中的邏輯管腳名稱(chēng)的管腳分 配到與具有相同物理管腳名稱(chēng)的先前管腳所處的部分相同的部分。此外, 庫(kù)創(chuàng)建單元120將具有與在現(xiàn)有符號(hào)中使用的邏輯管腳名稱(chēng)不同的邏輯 管腳名稱(chēng)的管腳布置在符號(hào)庫(kù)上的未占用位置。如果在符號(hào)庫(kù)上不存在 未占用位置,則庫(kù)創(chuàng)建單元120沿向下的方向擴(kuò)展符號(hào)庫(kù)的大小,并且 在擴(kuò)展的位置布置管腳。
當(dāng)要?jiǎng)?chuàng)建符號(hào)的FPGA的符號(hào)布置在電路圖中時(shí),庫(kù)創(chuàng)建單元120 通過(guò)參照關(guān)于布置的符號(hào)的信息來(lái)創(chuàng)建符號(hào)庫(kù),并且由此可以使由于 FPGA設(shè)計(jì)的改變所導(dǎo)致的電路圖改動(dòng)最小化。
符號(hào)庫(kù)存儲(chǔ)單元125是在其中存儲(chǔ)FPGA的符號(hào)庫(kù)的存儲(chǔ)單元。圖 6是存儲(chǔ)在符號(hào)庫(kù)存儲(chǔ)單元125中的符號(hào)庫(kù)的示例的圖。如該圖所示,符 號(hào)庫(kù)存儲(chǔ)單元125在其中存儲(chǔ)有關(guān)于庫(kù)名稱(chēng)、創(chuàng)建日期/時(shí)間、版本、 占用區(qū)域、圖形表數(shù)量以及符號(hào)管腳數(shù)量的信息、關(guān)于形成符號(hào)的各圖 形的信息、以及關(guān)于各管腳的信息。
電路圖反映單元130是一處理單元,如果其中由庫(kù)創(chuàng)建單元120創(chuàng) 建符號(hào)庫(kù)的FPGA的符號(hào)被布置在電路圖中,則該處理單元用新創(chuàng)建的 符號(hào)來(lái)替換布置的符號(hào)。如果一線(xiàn)被連接到具有與在替換之前使用的先 前邏輯管腳名稱(chēng)不同的邏輯管腳名稱(chēng)的管腳,則電路圖反映單元130切 斷該線(xiàn)。
如果一線(xiàn)被連接到具有與替換之前使用的先前邏輯管腳名稱(chēng)不同的 邏輯管腳名稱(chēng)的管腳,則電路圖反映單元130切斷該線(xiàn),并且由此可以 減小遺漏由于FPGA設(shè)計(jì)的改變所導(dǎo)致的電路圖改動(dòng)。
電路圖存儲(chǔ)單元135是一存儲(chǔ)單元,用于存儲(chǔ)關(guān)于在其中布置部件
的電路圖的信息。如果其中由庫(kù)創(chuàng)建單元120創(chuàng)建符號(hào)庫(kù)的FPGA的符 號(hào)被布置在電路圖中,則電路圖存儲(chǔ)單元135由電路圖反映單元130進(jìn) 行更新。
DRC單元140是用于執(zhí)行DRC的處理單元。除了存儲(chǔ)在部件庫(kù)30 中的信息之外,DRC單元140還通過(guò)參照由FPGA信息管理單元110管 理的FPGA信息來(lái)執(zhí)行DRC。具體地講,DRC單元140檢查輸入/輸出 屬性、差動(dòng)信號(hào)、電源電壓等。DRC單元140通過(guò)參照FPGA信息來(lái)執(zhí) 行DRC,并且由此能夠準(zhǔn)確地執(zhí)行與FPGA相關(guān)聯(lián)的DRC。
管腳交換處理單元150是一處理單元,該處理單元接收由封裝設(shè)計(jì) CAD裝置20輸出的管腳交換信息,并且將在封裝設(shè)計(jì)中執(zhí)行的管腳交換 反映在FPGA信息、符號(hào)庫(kù)以及電路圖中。在FPGA中,可以通過(guò)寫(xiě)入 程序來(lái)改變部件內(nèi)部的操作,從而在封裝設(shè)計(jì)階段執(zhí)行FPGA部件的管 腳替換(管腳交換)以使管腳分配容易。因此,管腳交換處理單元150 執(zhí)行將封裝設(shè)計(jì)中的管腳交換反映在電路設(shè)計(jì)中的處理。
圖7是管腳交換的示例的圖。如該圖所示,當(dāng)在FPGA和其他部件 之間進(jìn)行連接的線(xiàn)交叉時(shí),能夠通過(guò)FPGA的管腳交換來(lái)消除這些線(xiàn)的 交叉。圖8是如何將管腳交換反映在電路圖中的示例的圖。如該圖所示, 在該電路圖中,在分別具有物理管腳名稱(chēng)"D1"、 "E1"、 "F1"以及"G1"的 符號(hào)中改變了管腳布局。
管腳交換處理單元150還在諸如管腳之間的線(xiàn)距離長(zhǎng)度的約束條件 中反映封裝設(shè)計(jì)中的管腳交換。管腳交換處理單元150還將封裝設(shè)計(jì)中 的管腳交換反映在約束條件下中,并且由此可以確保設(shè)計(jì)信息在電路設(shè) 計(jì)和封裝設(shè)計(jì)之間的一致性。
此外,管腳交換處理單元150指示FPGA信息管理單元110存儲(chǔ)由 于管腳交換而導(dǎo)致的FPGA信息的改變歷史。然后,F(xiàn)PGA信息管理單元 110將該改變歷史存儲(chǔ)在改變歷史存儲(chǔ)單元165中。
約束條件存儲(chǔ)單元155是在其中存儲(chǔ)諸如管腳之間的線(xiàn)的長(zhǎng)度的關(guān) 于電路設(shè)計(jì)的約束條件的存儲(chǔ)單元。圖9是存儲(chǔ)在約束條件存儲(chǔ)單元155 中的約束條件的示例的圖。如該圖所示,約束條件存儲(chǔ)單元155在其中
存儲(chǔ)關(guān)于管腳之間的線(xiàn)距離長(zhǎng)度的約束條件。例如,存儲(chǔ)為約束條件的 為部件"IC1"的物理管腳名稱(chēng)為"G1"的管腳與部件"I12"的物理管腳名稱(chēng)
為"2"的管腳之間的線(xiàn)的長(zhǎng)度為50mm或以下。
歷史輸出單元160是一處理單元,該處理單元將在反映由管腳交換 處理單元150執(zhí)行的管腳交換的處理中改變的FPGA信息的改變歷史作 為通知信息輸出到能夠輸入到FPGA設(shè)計(jì)CAD裝置10的形式的文件。
改變歷史存儲(chǔ)單元165是在其中存儲(chǔ)由FPGA信息管理單元110管 理的FPGA信息的改變歷史的存儲(chǔ)單元。圖IO是存儲(chǔ)在改變歷史存儲(chǔ)單 元165中的改變歷史的示例的圖。如該圖所示,每當(dāng)執(zhí)行管腳交換處理 時(shí),改變歷史存儲(chǔ)單元165在其中存儲(chǔ)關(guān)于處理日期/時(shí)間和交換的管腳 的信息。此外,每當(dāng)歷史輸出單元160輸出改變歷史以及每當(dāng)FPGA信 息管理單元110從FPGA設(shè)計(jì)CAD裝置10獲取FPGA信息時(shí),改變歷 史存儲(chǔ)單元165在其中存儲(chǔ)處理的日期/時(shí)間。
圖11是由歷史輸出單元160輸出到FPGA設(shè)計(jì)CAD裝置10的通知 信息的示例的圖。如該圖所示,針對(duì)各個(gè)交換的管腳,歷史輸出單元160 輸出物理管腳名稱(chēng)和管腳交換之后的改變的邏輯管腳名稱(chēng)作為通知信 息。圖12是該通知信息的輸出格式的圖。
這樣,改變歷史存儲(chǔ)單元165在其中存儲(chǔ)FPGA信息的改變歷史, 并且歷史輸出單元160將該改變歷史作為通知信息輸出到能夠輸入到 FPGA設(shè)計(jì)CAD裝置10的形式的文件。因此,可以確保設(shè)計(jì)信息在封 裝設(shè)計(jì)、電路設(shè)計(jì)和FPGA設(shè)計(jì)之間的一致性。
然后,對(duì)由電路設(shè)計(jì)CAD裝置100執(zhí)行的創(chuàng)建符號(hào)庫(kù)的處理過(guò)程以 及布置符號(hào)的處理進(jìn)行解釋。圖13是由電路設(shè)計(jì)CAD裝置100執(zhí)行的 創(chuàng)建符號(hào)庫(kù)的處理過(guò)程以及布置符號(hào)的處理的流程圖。
如該圖所示,在電路設(shè)計(jì)CAD裝置100中,F(xiàn)PGA信息管理單元110 從由FPGA設(shè)計(jì)CAD裝置10輸出的文件中獲取諸如管腳分配信息和屬 性信息的FPGA信息,并且將獲取的FPGA信息存儲(chǔ)在FPGA信息存儲(chǔ) 單元115中(步驟SIOI)。
然后,庫(kù)創(chuàng)建單元120確定與由FPGA信息管理單元110獲取的FPGA信息相對(duì)應(yīng)的符號(hào)是否被布置在電路圖中(步驟S102)。如果該符 號(hào)沒(méi)有布置在電路圖中,則庫(kù)創(chuàng)建單元120通過(guò)使用由用戶(hù)指定的部分 劃分規(guī)則將電路圖劃分成多個(gè)部分(步驟S103),并且根據(jù)例如通過(guò)基于 輸入/輸出屬性將管腳分配到右側(cè)或左側(cè)來(lái)創(chuàng)建符號(hào)的預(yù)定規(guī)則,來(lái)確定 符號(hào)管腳的位置(步驟S104)。
如果該符號(hào)被布置在電路圖中,則庫(kù)創(chuàng)建單元120通過(guò)參照先前執(zhí) 行的部分分配將與先前管腳具有相同的邏輯管腳名稱(chēng)的管腳分配到與該 先前管腳所處的部分相同的部分(步驟S105)。如果管腳具有未被先前管 腳使用的邏輯管腳名稱(chēng),則庫(kù)創(chuàng)建單元120將該管腳分配到與具有相同 物理管腳名稱(chēng)的先前管腳所處的部分相同的部分(步驟S106)。然后,將 與先前管腳具有相同的邏輯管腳名稱(chēng)的管腳布置在與該先前管腳所處的 位置相同的位置(步驟S107),并且將具有未被先前管腳使用的邏輯管腳 名稱(chēng)的管腳布置在符號(hào)上的未占用位置(步驟S108)。
庫(kù)創(chuàng)建單元120經(jīng)由GUI從用戶(hù)接收用于改變部分分配或管腳位置 的規(guī)定。如果指定了這些改變,則庫(kù)創(chuàng)建單元120通過(guò)改變部分分配或 管腳位置來(lái)創(chuàng)建符號(hào)庫(kù)(步驟S109),并且將創(chuàng)建的符號(hào)庫(kù)存儲(chǔ)在符號(hào)庫(kù) 存儲(chǔ)單元125中(步驟SllO)。
然后,電路圖反映單元130確定其中由庫(kù)創(chuàng)建單元120創(chuàng)建了符號(hào) 庫(kù)的FPGA的先前符號(hào)是否被布置在電路圖中(步驟Slll)。如果該先前 符號(hào)被布置在電路圖中,則電路圖反映單元130用新創(chuàng)建的符號(hào)替換布 置的符號(hào)(步驟S112)。如果一線(xiàn)被連接到具有與之前使用的先前邏輯管 腳名稱(chēng)不同的邏輯管腳名稱(chēng)的要布置的管腳,則電路圖反映單元130切 斷該線(xiàn)(步驟S113)。
然后,通過(guò)由用戶(hù)指定的部件輸入功能將創(chuàng)建的符號(hào)布置在電路圖 中(步驟S114)。
這樣,如果與由FPGA信息管理單元110獲取的FPGA信息相對(duì)應(yīng) 的符號(hào)被布置在電路圖中,則庫(kù)創(chuàng)建單元120通過(guò)參照先前創(chuàng)建的符號(hào) 庫(kù)來(lái)創(chuàng)建符號(hào)庫(kù),并且電路圖反映單元130用其中新創(chuàng)建了符號(hào)庫(kù)的符 號(hào)來(lái)替換布置的符號(hào)。因此,可以使由于FPGA設(shè)計(jì)的改變而導(dǎo)致的電
路圖改動(dòng)最小化。
另外,在這種情況下,如果要?jiǎng)?chuàng)建符號(hào)庫(kù)的FPGA被布置在電路圖 中,則庫(kù)創(chuàng)建單元120參照先前創(chuàng)建的符號(hào)庫(kù)。另選的是,如果要?jiǎng)?chuàng)建 符號(hào)庫(kù)的FPGA的符號(hào)庫(kù)存儲(chǔ)在符號(hào)庫(kù)存儲(chǔ)單元125中,則庫(kù)創(chuàng)建單元 120可以參照先前創(chuàng)建的符號(hào)庫(kù)。
然后,對(duì)由DRC單元140執(zhí)行的用于檢查輸入/輸出屬性的處理進(jìn) 行解釋。圖14是由DRC單元140執(zhí)行的用于檢查輸入/輸出屬性的處理 的處理過(guò)程的流程圖。
如該圖所示,DRC單元140關(guān)注一個(gè)連接組中的任一線(xiàn)網(wǎng),并且獲 得與包括在所關(guān)注線(xiàn)網(wǎng)中的所有管腳有關(guān)的信息(S201)。然后,DRC 單元140關(guān)注獲得了其信息的任一管腳(步驟S202),并且確定所關(guān)注管 腳是否用于FPGA部件(步驟S203)。
結(jié)果,如果所關(guān)注管腳用于FPGA部件,則通過(guò)參照存儲(chǔ)在FPGA 信息存儲(chǔ)單元115中的FPGA信息來(lái)檢査該管腳的輸入/輸出屬性(步驟 S204)。如果所關(guān)注管腳不是用于FPGA部件,則通過(guò)參照部件庫(kù)30來(lái) 檢查該管腳的輸入/輸出屬性(步驟S205)。然后,確定是否檢查了所有 管腳的輸入/輸出屬性(步驟S206)。如果存在未檢查的任何管腳,則系 統(tǒng)控制返回到步驟S202,并且關(guān)注未檢查的管腳以檢查其輸入/輸出屬 性。
如果檢査了所有管腳的輸入/輸出屬性,則確定所關(guān)注線(xiàn)網(wǎng)是否包括 兩個(gè)或更多個(gè)輸出管腳(步驟S207)。如果包括兩個(gè)或更多個(gè)輸出管腳, 則向用戶(hù)通知指示該線(xiàn)網(wǎng)連接在輸出管腳之間的錯(cuò)誤(步驟S208)。另外, 確定所關(guān)注線(xiàn)網(wǎng)是否包括任何輸出管腳(步驟S209)。如果不包括任何輸 出管腳,則向用戶(hù)通知指示在所關(guān)注線(xiàn)網(wǎng)中不存在輸出管腳的錯(cuò)誤(步 驟S210)。如果僅有一個(gè)管腳是輸出管腳,則向用戶(hù)通知所關(guān)注線(xiàn)網(wǎng)處于 正常狀態(tài)下(步驟S211)。
然后,針對(duì)所有線(xiàn)網(wǎng)確定是否檢查了輸出管腳的數(shù)量(步驟S212)。 如果存在未檢查輸出管腳數(shù)量的任何線(xiàn)網(wǎng),則系統(tǒng)控制返回到步驟S201, 并且關(guān)注未檢査輸出管腳數(shù)量的線(xiàn)網(wǎng)以檢査輸出管腳的數(shù)量。如果針對(duì)
所有線(xiàn)網(wǎng)都確定檢査了輸出管腳的數(shù)量,則檢查輸入/輸出屬性的處理終 止。
這樣,關(guān)于FPGA部件,DRC單元140通過(guò)參照FPGA信息來(lái)檢查 管腳的輸入/輸出屬性,并且由此可以準(zhǔn)確地檢查包括FPGA的電路的輸 入/輸出屬性。
然后,對(duì)由DRC單元140執(zhí)行的用于檢查差動(dòng)信號(hào)的處理進(jìn)行解釋。 圖15是由DRC單元140執(zhí)行的檢查差動(dòng)信號(hào)的處理的處理過(guò)程的流程 圖。
如該圖所示,DRC單元140關(guān)注任一線(xiàn)網(wǎng),并且獲得與包括在所關(guān) 注線(xiàn)網(wǎng)中的所有管腳有關(guān)的信息(步驟S301)。將表示差動(dòng)屬性為正的管 腳的數(shù)量的正管腳數(shù)量以及表示差動(dòng)屬性為負(fù)的管腳的數(shù)量的負(fù)管腳數(shù) 量清零(步驟S302)。然后,關(guān)注獲得了其信息的任一管腳(步驟S303), 并且確定所關(guān)注管腳是否用于FPGA部件(步驟S304)。
結(jié)果,如果所關(guān)注管腳用于FPGA部件,則通過(guò)參照存儲(chǔ)在FPGA 信息存儲(chǔ)單元115中的FPGA信息來(lái)檢查該管腳的差動(dòng)屬性(步驟S305)。 如果所關(guān)注管腳不是用于FPGA部件,則通過(guò)參照部件庫(kù)30來(lái)檢查該管 腳的差動(dòng)屬性(步驟S306)。然后,如果差動(dòng)屬性為正,則將正管腳數(shù)量 增加"1",或者如果差動(dòng)屬性為負(fù),則將負(fù)管腳數(shù)量增加"1"(步驟S307)。
確定是否檢查了所有管腳的差動(dòng)屬性(步驟S308)。如果存在未檢 査差動(dòng)屬性的任何管腳,則系統(tǒng)控制返回到步驟S303,并且關(guān)注未檢查 差動(dòng)屬性的管腳以檢查其差動(dòng)屬性。
如果檢查了所有管腳的差動(dòng)屬性,則確定正管腳數(shù)量是否是正量并 且負(fù)管腳數(shù)量是否也是正量,即,具有正屬性的管腳和具有負(fù)屬性的管 腳是否都存在于所關(guān)注線(xiàn)網(wǎng)中(步驟S309)。如果正管腳數(shù)量是正量并且 負(fù)管腳數(shù)量也是正量,則向用戶(hù)通知指示具有正屬性的管腳連接到具有 負(fù)屬性的管腳的錯(cuò)誤(步驟S310)。如果正管腳數(shù)量或負(fù)管腳數(shù)量中的任 一個(gè)是正量,則向用戶(hù)通知所關(guān)注線(xiàn)網(wǎng)處于正常狀態(tài)(步驟S311)。
然后,針對(duì)所有線(xiàn)網(wǎng)確定是否檢查了差動(dòng)信號(hào)(步驟S312)。如果 存在未檢查差動(dòng)信號(hào)的任何線(xiàn)網(wǎng),則系統(tǒng)控制返回到步驟S301,并且關(guān)注未檢查差動(dòng)信號(hào)的線(xiàn)網(wǎng)以檢査其差動(dòng)信號(hào)。如果針對(duì)所有線(xiàn)網(wǎng)都確定 檢查了差動(dòng)信號(hào),則檢查差動(dòng)信號(hào)的處理終止。
這樣,關(guān)于FPGA部件,DRC單元140通過(guò)參照FPGA信息來(lái)檢査 管腳的差動(dòng)屬性,并且由此可以準(zhǔn)確地檢查包括FPGA的電路中的差動(dòng) 信號(hào)。
然后,對(duì)由DRC單元140執(zhí)行的用于檢查電源電壓的處理進(jìn)行解釋。 圖16是由DRC單元140執(zhí)行的檢査電源電壓的處理的處理過(guò)程的流程 圖。
如該圖所示,DRC單元140關(guān)注任一部件(步驟S401),并且還關(guān) 注包括在所關(guān)注部件中的任一管腳(步驟S402)。然后,確定所關(guān)注管腳 是否是電源管腳(步驟S403)。如果所關(guān)注管腳不是電源管腳,則系統(tǒng)控 制進(jìn)行到步驟S410。
如果所關(guān)注管腳是電源管腳,則確定所關(guān)注管腳是否用于FPGA部 件(步驟S404)。如果所關(guān)注管腳用于FPGA部件,則通過(guò)參照存儲(chǔ)在 FPGA信息存儲(chǔ)單元115中的FPGA信息來(lái)檢查該管腳的電源電壓(步驟 S405)。如果所關(guān)注管腳不是用于FPGA部件,則通過(guò)參照部件庫(kù)30來(lái) 檢査該管腳的電源電壓(步驟S406)。然后,對(duì)所關(guān)注管腳連接至其的線(xiàn) 網(wǎng)的電壓值進(jìn)行檢査(步驟S407),并且確定該電壓值是否與該管腳的電 源電壓相同(步驟S408)。如果該電壓值與該管腳的電源電壓不相同,則 向用戶(hù)通知所述電源電壓與該電壓值不同(步驟S409)。
然后,確定是否檢查了所有管腳(步驟S410)。如果存在未檢查的 任何管腳,則系統(tǒng)控制返回到步驟S402,并且關(guān)注未檢查的管腳以檢查 電源管腳的電壓值。
如果檢查了所有管腳,則針對(duì)所有部件確定是否檢查了電源電壓(步 驟S411)。如果存在未檢査電源電壓的任何部件,則系統(tǒng)控制返回到步驟 S401,并且關(guān)注未檢查電源電壓的部件以檢查電源電壓。如果針對(duì)所有 部件都確定檢查了電源電壓,則檢査電源電壓的處理終止。
這樣,關(guān)于FPGA部件,DRC單元140通過(guò)參照FPGA信息來(lái)檢査 電源管腳的電壓值,并且由此可以準(zhǔn)確地檢查包括FPGA的電路中的電源電壓。
然后,對(duì)由管腳交換處理單元150執(zhí)行的管腳交換處理進(jìn)行解釋。
圖17是由管腳交換處理單元150執(zhí)行的管腳交換處理的處理過(guò)程的流程圖。
如該圖所示,管腳交換處理單元150獲取由封裝設(shè)計(jì)CAD裝置20 創(chuàng)建的管腳交換信息(步驟S501),并且替換在其中執(zhí)行管腳交換的FPGA 的符號(hào)庫(kù)的物理管腳名稱(chēng)(步驟S502)。
然后,將在其中執(zhí)行了管腳交換的FPGA的FPGA信息中包括的邏 輯管腳名稱(chēng)以及邏輯相關(guān)屬性進(jìn)行替換(步驟S503),并且將電路圖中的 符號(hào)更新為其中替換了邏輯管腳名稱(chēng)和邏輯相關(guān)屬性的符號(hào)(步驟 S504)。關(guān)于具有約束條件的管腳,每當(dāng)執(zhí)行管腳交換時(shí)替換約束條件(步 驟S505)。
這樣,關(guān)于具有約束條件的管腳,每當(dāng)執(zhí)行管腳交換時(shí),管腳交換 處理單元150替換約束條件,并且由此能夠?qū)⒎庋b設(shè)計(jì)CAD中的管腳交 換準(zhǔn)確地反映在關(guān)于電路設(shè)計(jì)的信息中。
然后,對(duì)由歷史輸出單元160執(zhí)行的用于輸出改變歷史的處理進(jìn)行 解釋。圖18是由歷史輸出單元160執(zhí)行的輸出改變歷史的處理的處理過(guò) 程的流程圖。如該圖所示,在從存儲(chǔ)在改變歷史存儲(chǔ)單元165中的改變 歷史中獲取最新的FPGA信息之后,歷史輸出單元160對(duì)輸出要通知 FPGA設(shè)計(jì)CAD裝置10的通知信息的最后處理進(jìn)行搜索(步驟S601)。
然后,對(duì)要在從輸出通知信息的最后處理直到現(xiàn)在為止的期間內(nèi)執(zhí) 行管腳交換的管腳進(jìn)行標(biāo)記(步驟S602)。輸出被標(biāo)記管腳的最新屬性作 為要通知給FPGA設(shè)計(jì)CAD裝置10的通知信息(步驟S603)。
即,在FPGA信息管理單元110從FPGA設(shè)計(jì)CAD裝置10獲取FPGA 信息并且更新了存儲(chǔ)在FPGA信息存儲(chǔ)單元115中的FPGA信息之后, 歷史輸出單元160輸出要執(zhí)行管腳交換的管腳的尚未通知的最新屬性, 作為通知信息。
這樣,歷史輸出單元160通過(guò)使用存儲(chǔ)在改變歷史存儲(chǔ)單元165中 的改變歷史,將要執(zhí)行管腳交換的管腳的最新屬性作為通知信息輸出到
FPGA設(shè)計(jì)CAD裝置10,并且由此可將封裝設(shè)計(jì)中的管腳交換反映在 FPGA設(shè)計(jì)信息中。
此外,在FPGA信息管理單元110從FPGA設(shè)計(jì)CAD裝置10獲取 FPGA信息并且更新了存儲(chǔ)在FPGA信息存儲(chǔ)單元115中的FPGA信息 之后,僅將要執(zhí)行管腳交換的管腳的尚未通知的最新屬性作為通知信息 輸出。結(jié)果,可以避免輸出浪費(fèi)的通知信息或使通知信息重疊,并且由 此可將封裝設(shè)計(jì)中的管腳交換有效地反映在FPGA設(shè)計(jì)信息中。
如上所述,在第一實(shí)施方式中,包括在電路設(shè)計(jì)CAD裝置100中的 FPGA信息管理單元110獲取由FPGA設(shè)計(jì)CAD裝置10創(chuàng)建的諸如管 腳分配信息和屬性信息的FPGA信息,并且?guī)靹?chuàng)建單元120通過(guò)使用該 FPGA信息來(lái)創(chuàng)建符號(hào)庫(kù)。因此,電路設(shè)計(jì)者不需要?jiǎng)?chuàng)建FPGA的符號(hào)庫(kù), 從而可以減小電路設(shè)計(jì)者的工作量。
此外,在創(chuàng)建符號(hào)庫(kù)時(shí),如果要?jiǎng)?chuàng)建符號(hào)庫(kù)的FPGA被布置在電路 圖中,則庫(kù)創(chuàng)建單元120設(shè)法盡可能不改變布置在電路圖中的現(xiàn)有符號(hào) 庫(kù)的部分分配和管腳布局。另外,當(dāng)電路圖反映單元130將新創(chuàng)建了符 號(hào)庫(kù)的FPGA的符號(hào)布置在電路圖中時(shí),不改變現(xiàn)有布局地布置該符號(hào)。 因此,可以使由于FPGA設(shè)計(jì)的改變而導(dǎo)致的電路圖的改動(dòng)最小化。
此外,在第一實(shí)施方式中,當(dāng)包括在電路設(shè)計(jì)CAD裝置100中的 DRC單元140執(zhí)行DRC時(shí),關(guān)于FPGA,通過(guò)參照由FPGA信息管理單 元110從FPGA設(shè)計(jì)CAD裝置10獲取并存儲(chǔ)在FPGA信息存儲(chǔ)單元115 中的FPGA信息來(lái)檢查管腳的屬性等。因此,可以準(zhǔn)確地執(zhí)行DRC。
此外,在第一實(shí)施方式中,包括在電路設(shè)計(jì)CAD裝置IOO中的管腳 交換處理單元150從封裝設(shè)計(jì)CAD裝置20獲取管腳交換信息,并且除 了符號(hào)庫(kù)、FPGA信息以及電路圖之外,還將該管腳交換反映在約束條件 中。因此,可以消除設(shè)計(jì)信息在電路設(shè)計(jì)和封裝設(shè)計(jì)之間的不一致性。
此外,在第一實(shí)施方式中,包括在電路設(shè)計(jì)CAD裝置100中的改變 歷史存儲(chǔ)單元165在其中存儲(chǔ)FPGA信息的改變歷史,并且歷史輸出單 元160基于存儲(chǔ)在改變歷史存儲(chǔ)單元165中的改變歷史將用于通知管腳 交換的信息輸出到FPGA設(shè)計(jì)CAD裝置10。因此,可以確保設(shè)計(jì)信息
在封裝設(shè)計(jì)、電路設(shè)計(jì)和FPGA設(shè)計(jì)之間的一致性。
在第一實(shí)施方式中,考慮了這樣的情況,在該情況下,基于通過(guò)使
用FPGA部件來(lái)設(shè)計(jì)電路的結(jié)果,進(jìn)行印刷電路板的封裝設(shè)計(jì)。FPGA設(shè) 計(jì)者和封裝設(shè)計(jì)者都預(yù)先考慮期望的管腳分配會(huì)大大有助于縮短設(shè)計(jì)周 期。因此,在本發(fā)明的第二實(shí)施方式中,解釋了一種支持在FPGA設(shè)計(jì) 者和封裝設(shè)計(jì)者之間進(jìn)行的協(xié)調(diào)設(shè)計(jì)的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)。
首先,對(duì)根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念進(jìn)行解釋。圖 19是用于解釋根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)的概念的說(shuō)明圖。如 該圖所示,在根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)中,作為協(xié)調(diào)設(shè)計(jì)支 持裝置的臨時(shí)庫(kù)創(chuàng)建裝置200接收由FPGA設(shè)計(jì)CAD裝置10創(chuàng)建的諸 如管腳分配信息的FPGA管腳信息,并且創(chuàng)建FPGA的臨時(shí)庫(kù)。在這種 情況下,臨時(shí)庫(kù)表示當(dāng)封裝設(shè)計(jì)CAD裝置20執(zhí)行管腳分配時(shí)所需的部 件形狀類(lèi)型庫(kù),并且是針對(duì)FPGA的臨時(shí)創(chuàng)建庫(kù)。
臨時(shí)庫(kù)創(chuàng)建裝置200從封裝設(shè)計(jì)CAD裝置20獲取管腳交換信息, 并且將獲取的管腳交換信息反映在由其自身管理的FPGA信息中,并且 還將該管腳交換信息通知給FPGA設(shè)計(jì)CAD裝置10。
這樣,在第二實(shí)施方式中,臨時(shí)庫(kù)創(chuàng)建裝置200接收由FPGA設(shè)計(jì) CAD裝置10創(chuàng)建的FPGA管腳信息,并且創(chuàng)建針對(duì)FPGA的臨時(shí)部件 形狀類(lèi)型庫(kù)。因此,可以通過(guò)使用封裝設(shè)計(jì)CAD裝置20來(lái)考慮管腳分 配。
然后,對(duì)根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)進(jìn)行解釋。 圖20是根據(jù)第二實(shí)施方式的FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)的功能框圖。如 該圖所示,該FPGA協(xié)調(diào)設(shè)計(jì)系統(tǒng)包括FPGA設(shè)計(jì)CAD裝置10、封裝 設(shè)計(jì)CAD裝置20以及臨時(shí)庫(kù)創(chuàng)建裝置200。臨時(shí)庫(kù)創(chuàng)建裝置200包括線(xiàn) 網(wǎng)列表獲取單元210、線(xiàn)網(wǎng)列表管理單元220、線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230、 FPGA設(shè)計(jì)CAD接口單元240、 FPGA管腳信息管理單元250、臨時(shí)庫(kù)創(chuàng) 建單元260、以及管腳交換處理單元270。
線(xiàn)網(wǎng)列表獲取單元210是獲取由用戶(hù)創(chuàng)建的線(xiàn)網(wǎng)列表并將該線(xiàn)網(wǎng)列 表傳送到線(xiàn)網(wǎng)列表管理單元220的處理單元。圖21是由線(xiàn)網(wǎng)列表獲取單
元210獲取的線(xiàn)網(wǎng)列表的示例的圖。
如該圖所示,線(xiàn)網(wǎng)列表包括對(duì)部件進(jìn)行定義的部件定義單元,以 及對(duì)線(xiàn)網(wǎng)進(jìn)行定義的線(xiàn)網(wǎng)定義單元。在部件定義單元中,針對(duì)用于考慮 的部件,描述部件名稱(chēng)和部件庫(kù)名稱(chēng)。然而,關(guān)于FPGA部件,不存在
部件庫(kù),從而將模塊名稱(chēng)(用于區(qū)分FPGA的名稱(chēng))描述為跟在"FPGA/" 之后。
在線(xiàn)網(wǎng)定義單元中,針對(duì)各個(gè)線(xiàn)網(wǎng),描述線(xiàn)網(wǎng)名稱(chēng)和連接到該線(xiàn)網(wǎng) 的部件管腳。在這種情況下,以"(部件名稱(chēng)).(部件管腳名稱(chēng))"的形式來(lái)描 述部件管腳。另外,關(guān)于FPGA部件,將邏輯管腳名稱(chēng)或物理管腳名稱(chēng) 描述為管腳名稱(chēng)(物理管腳名稱(chēng)用"%"標(biāo)記)。
線(xiàn)網(wǎng)列表管理單元220是在其中存儲(chǔ)并管理由線(xiàn)網(wǎng)列表獲取單元 210獲取的線(xiàn)網(wǎng)列表的管理單元。當(dāng)接收到用戶(hù)經(jīng)由GUI輸入的線(xiàn)網(wǎng)列 表的改變時(shí),線(xiàn)網(wǎng)列表管理單元220改變線(xiàn)網(wǎng)列表。
線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230是用于將由線(xiàn)網(wǎng)列表管理單元220管理的線(xiàn) 網(wǎng)列表轉(zhuǎn)換成能夠輸入到封裝設(shè)計(jì)CAD裝置20的格式。當(dāng)轉(zhuǎn)換線(xiàn)網(wǎng)列 表時(shí),線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230參照由FPGA管腳信息管理單元250管理 的FPGA信息。
圖22是由線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230輸出的線(xiàn)網(wǎng)列表的示例的圖。如該 圖所示,線(xiàn)網(wǎng)列表包括針對(duì)各管腳的部件名稱(chēng)、庫(kù)名稱(chēng)、部件端子編號(hào)、 管腳名稱(chēng)、線(xiàn)網(wǎng)名稱(chēng)、交換組編號(hào)以及差動(dòng)類(lèi)型。在這種情況下,部件 端子編號(hào)是分配給各管腳的連續(xù)編號(hào)。
FPGA設(shè)計(jì)CAD接口單元240是針對(duì)FPGA設(shè)計(jì)CAD裝置10的接 口。具體地講,F(xiàn)PGA設(shè)計(jì)CAD接口單元240從FPGA設(shè)計(jì)CAD裝置 10獲取FPGA管腳信息,并且將管腳交換信息提供給FPGA設(shè)計(jì)CAD 裝置10。
FPGA管腳信息管理單元250是在其中存儲(chǔ)并管理由FPGA設(shè)計(jì) CAD接口單元240獲取的FPGA管腳信息的管理單元。此外,當(dāng)經(jīng)由 GUI從用戶(hù)接收到用于改變管腳間隔或FPGA管腳信息的指令時(shí),F(xiàn)PGA 管腳信息管理單元250改變FPGA信息。
臨時(shí)庫(kù)創(chuàng)建單元260是針對(duì)FPGA部件使用由FPGA管腳信息管理 單元250管理的FPGA管腳信息來(lái)創(chuàng)建臨時(shí)庫(kù)(即,臨時(shí)部件形狀類(lèi)型 庫(kù))的處理單元。
圖23是由臨時(shí)庫(kù)創(chuàng)建單元260創(chuàng)建的臨時(shí)庫(kù)的示例的圖。如該圖所 示,在臨時(shí)庫(kù)中,描述了關(guān)于各個(gè)管腳的平臺(tái)(land)形狀類(lèi)型庫(kù)名稱(chēng)、 X坐標(biāo)、Y坐標(biāo)、角度以及管腳名稱(chēng)。另外,關(guān)于平臺(tái)形狀類(lèi)型庫(kù)名稱(chēng), 使用當(dāng)從用戶(hù)接收到指令時(shí)存儲(chǔ)在FPGA管腳信息管理單元250中的信 息。
此外,在臨時(shí)庫(kù)中,還描述了表示部件大小的區(qū)域。在設(shè)計(jì)封裝設(shè) 計(jì)時(shí),使用關(guān)于該區(qū)域的信息來(lái)計(jì)算部件之間的距離。另外,由臨時(shí)庫(kù) 創(chuàng)建單元260基于管腳間隔來(lái)計(jì)算部件的大小。
臨時(shí)庫(kù)創(chuàng)建單元260基于FPGA管腳信息來(lái)創(chuàng)建臨時(shí)庫(kù),并且由此 可以考慮封裝設(shè)計(jì)CAD中的管腳分配。
管腳交換處理單元270是用于從封裝設(shè)計(jì)CAD裝置20獲取管腳交 換信息并指示FPGA管腳信息管理單元250改變FPGA管腳信息的處理 單元。FPGA管腳信息管理單元250改變FPGA管腳信息,并且還指示 FPGA設(shè)計(jì)CAD接口單元240將管腳交換信息通知給FPGA設(shè)計(jì)CAD 裝置IO。此外,管腳交換處理單元270基于管腳交換信息指示線(xiàn)網(wǎng)列表 管理單元220改變線(xiàn)網(wǎng)列表。
然后,對(duì)由臨時(shí)庫(kù)創(chuàng)建裝置200執(zhí)行的輸出用于封裝設(shè)計(jì)CAD的信 息的處理進(jìn)行解釋。圖24是由臨時(shí)庫(kù)創(chuàng)建裝置200執(zhí)行的輸出用于封裝 設(shè)計(jì)CAD的信息的處理的處理過(guò)程的流程圖。
如該圖所示,在臨時(shí)庫(kù)創(chuàng)建裝置200中,F(xiàn)PGA設(shè)計(jì)CAD接口單元 240獲取由FPGA設(shè)計(jì)CAD裝置10創(chuàng)建的管腳分配信息,并且將該管 腳分配信息傳送到FPGA管腳信息管理單元250,然后FPGA管腳信息管 理單元250創(chuàng)建FPGA管腳信息(步驟S701)。
此外,線(xiàn)網(wǎng)列表獲取單元210獲取線(xiàn)網(wǎng)列表(步驟S702),并且將 該線(xiàn)網(wǎng)列表傳送到線(xiàn)網(wǎng)列表管理單元220。當(dāng)從用戶(hù)接收到用于改變線(xiàn)網(wǎng) 列表等的指令時(shí),線(xiàn)網(wǎng)列表管理單元220改變由其自身管理的線(xiàn)網(wǎng)列表。當(dāng)從用戶(hù)接收到管腳間隔等的規(guī)定時(shí)(步驟S703), FPGA管腳信息管理 單元250改變由其自身管理的FPGA管腳信息。
然后,臨時(shí)庫(kù)創(chuàng)建單元260從FPGA管腳信息中獲取管腳的坐標(biāo)并 且創(chuàng)建臨時(shí)部件形狀類(lèi)型庫(kù)(步驟S704),并且線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230 對(duì)線(xiàn)網(wǎng)列表進(jìn)行轉(zhuǎn)換(步驟S705)。然后,線(xiàn)網(wǎng)列表轉(zhuǎn)換單元230將經(jīng)轉(zhuǎn) 換的線(xiàn)網(wǎng)列表輸出到一文件,并且臨時(shí)庫(kù)創(chuàng)建單元260將創(chuàng)建的臨時(shí)庫(kù) 輸出到該文件(步驟S706)。
這樣,臨時(shí)庫(kù)創(chuàng)建裝置200創(chuàng)建了臨時(shí)庫(kù),并且由此可以通過(guò)使用 封裝設(shè)計(jì)CAD裝置20來(lái)考慮管腳分配。此外,當(dāng)從用戶(hù)接收到管腳間 隔等的規(guī)定時(shí),F(xiàn)PGA管腳信息管理單元250改變由其自身管理的FPGA 管腳信息。因此,用戶(hù)能夠考慮多種管腳間隔的管腳分配。
然后,對(duì)由臨時(shí)庫(kù)創(chuàng)建裝置200執(zhí)行的用于反映封裝的考慮結(jié)果的 處理進(jìn)行解釋。圖25是由臨時(shí)庫(kù)創(chuàng)建裝置200執(zhí)行的反映封裝的考慮結(jié) 果的處理的處理過(guò)程的流程圖。
如該圖所示,在臨時(shí)庫(kù)創(chuàng)建裝置200中,管腳交換處理單元270獲 取封裝設(shè)計(jì)CAD中的管腳交換信息(步驟S801),并且替換線(xiàn)網(wǎng)列表中 的包括要進(jìn)行管腳交換的管腳的線(xiàn)網(wǎng)(步驟S802)。
然后,管腳交換處理單元270替換包括在FPGA信息中的邏輯管腳 名稱(chēng)和邏輯屬性(步驟S803),并且FPGA設(shè)計(jì)CAD接口單元240將關(guān) 于被替換管腳的信息輸出到一文件(步驟S804)。
這樣,管腳交換處理單元270獲取封裝設(shè)計(jì)CAD中的管腳交換信息, 并且將該管腳交換反映在線(xiàn)網(wǎng)列表和FPGA管腳信息中。然后,F(xiàn)PGA設(shè) 計(jì)CAD接口單元240將關(guān)于管腳交換的信息輸出到所述文件。因此,可 以將封裝設(shè)計(jì)中的管腳交換反映在FPGA設(shè)計(jì)信息中。
如上所述,在第二實(shí)施方式中,F(xiàn)PGA設(shè)計(jì)CAD接口單元240獲取 由FPGA設(shè)計(jì)CAD裝置10創(chuàng)建的管腳分配信息,并且FPGA管腳信息 管理單元250管理由FPGA設(shè)計(jì)CAD接口單元240獲取的管腳分配信息 作為FPGA管腳信息,并且臨時(shí)庫(kù)創(chuàng)建單元260通過(guò)使用由FPGA管腳 信息管理單元250管理的FPGA管腳信息來(lái)創(chuàng)建臨時(shí)部件形狀類(lèi)型庫(kù),并且將能夠被封裝設(shè)計(jì)CAD裝置20所讀取的形式的臨時(shí)部件形狀類(lèi)型 庫(kù)輸出到所述文件。因此,可以通過(guò)使用封裝設(shè)計(jì)CAD裝置20來(lái)考慮 早先的管腳分配,并且還可以縮短設(shè)計(jì)印刷電路板的周期。
分別在第一和第二實(shí)施方式中解釋了電路設(shè)計(jì)CAD裝置和臨時(shí)庫(kù) 創(chuàng)建裝置。另選的是,還可以通過(guò)采用軟件來(lái)實(shí)現(xiàn)電路設(shè)計(jì)CAD裝置和 臨時(shí)庫(kù)創(chuàng)建裝置的結(jié)構(gòu),從而實(shí)現(xiàn)分別與電路設(shè)計(jì)CAD裝置和臨時(shí)庫(kù)創(chuàng) 建裝置具有相同的功能的電路設(shè)計(jì)CAD程序和臨時(shí)庫(kù)創(chuàng)建程序。因此, 下面解釋執(zhí)行該電路設(shè)計(jì)CAD程序的計(jì)算機(jī)。另外,也可以由相似的計(jì) 算機(jī)來(lái)執(zhí)行臨時(shí)庫(kù)創(chuàng)建程序。
圖26是執(zhí)行根據(jù)第一實(shí)施方式的電路設(shè)計(jì)CAD程序的計(jì)算機(jī)300 的功能框圖。如該圖所示,計(jì)算機(jī)300包括RAM 310、CPU 320、HDD 330、 LAN接口 340、輸入/輸出接口 350、以及DVD驅(qū)動(dòng)器360。
RAM310是在其中存儲(chǔ)計(jì)算機(jī)程序、執(zhí)行該計(jì)算機(jī)程序的中間結(jié)果 等的存儲(chǔ)器。CPU 320是用于從RAM310讀取程序并且執(zhí)行該程序的中 央處理單元。HDD 330是在其中存儲(chǔ)程序和數(shù)據(jù)的盤(pán)裝置。LAN接口 340 是用于經(jīng)由LAN將計(jì)算機(jī)300連接到其他計(jì)算機(jī)的接口 。輸入/輸出接口 350是用于將計(jì)算機(jī)300連接到諸如鼠標(biāo)或鍵盤(pán)的輸入裝置以及顯示裝置 的接口。 DVD驅(qū)動(dòng)器360是對(duì)DVD進(jìn)行讀取/寫(xiě)入的裝置。
要由計(jì)算機(jī)300執(zhí)行的電路設(shè)計(jì)CAD程序311被存儲(chǔ)在DVD中, 并且由DVD驅(qū)動(dòng)器360從DVD讀出,然后被安裝在計(jì)算機(jī)300上。另 選的是,電路設(shè)計(jì)CAD程序311例如被存儲(chǔ)在經(jīng)由LAN接口 340連接 到計(jì)算機(jī)300的其他計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)庫(kù)中,并且被從該數(shù)據(jù)庫(kù)讀出, 然后被安裝在計(jì)算機(jī)300上。然后,安裝的電路設(shè)計(jì)CAD程序311被存 儲(chǔ)在HDD330中,被RAM310讀出,然后被CPU320執(zhí)行。
在本實(shí)施方式中,解釋了將FPGA用作部件的情況。然而,本發(fā)明 不限于以上情況。本發(fā)明還可以應(yīng)用于將PLD通常用作部件的情況。
根據(jù)本發(fā)明的一個(gè)方面,關(guān)于在PLD的情況,通過(guò)使用在寫(xiě)入程序 之后獲得的管腳屬性來(lái)執(zhí)行設(shè)計(jì)規(guī)則檢查,并且因此能夠準(zhǔn)確地執(zhí)行設(shè) 計(jì)規(guī)則檢査。
根據(jù)本發(fā)明的另一個(gè)方面,關(guān)于PLD的情況,通過(guò)使用在寫(xiě)入程序 之后獲得的輸入/輸出屬性來(lái)執(zhí)行輸入/輸出屬性檢查,并且由此能夠準(zhǔn)確 地執(zhí)行輸入/輸出屬性檢查。
根據(jù)本發(fā)明的又一個(gè)方面,關(guān)于PLD的情況,通過(guò)使用在寫(xiě)入程序 之后獲得的差動(dòng)屬性來(lái)執(zhí)行差動(dòng)信號(hào)檢査,并且由此能夠準(zhǔn)確地執(zhí)行差 動(dòng)信號(hào)檢査。
根據(jù)本發(fā)明的又一個(gè)方面,關(guān)于PLD的情況,通過(guò)使用在寫(xiě)入程序
之后獲得的電源電壓來(lái)執(zhí)行電源電壓檢查,并且由此能夠準(zhǔn)確地執(zhí)行電 源電壓檢查。
盡管為了使公開(kāi)完整和清楚己針對(duì)特定實(shí)施方式描述了本發(fā)明,但 是所附權(quán)利要求并不因此受到限制,而是可以被解釋為包括本領(lǐng)域技術(shù) 人員可以想到的清楚地落入于此闡述的基本教導(dǎo)內(nèi)的所有修改和另選結(jié) 構(gòu)。
權(quán)利要求
1、一種電路設(shè)計(jì)支持裝置,該電路設(shè)計(jì)支持裝置支持設(shè)計(jì)將PLD用作部件的電路,該電路設(shè)計(jì)支持裝置包括PLD信息接收單元,其接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使用PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;和DRC單元,其通過(guò)使用所述PLD信息執(zhí)行設(shè)計(jì)規(guī)則檢查。
2、 如權(quán)利要求l所述的電路設(shè)計(jì)支持裝置,其中, 所述PLD信息包括管腳的輸入/輸出屬性,并且所述DRC單元通過(guò)使用所述管腳的輸入/輸出屬性來(lái)執(zhí)行作為所述 設(shè)計(jì)規(guī)則檢查的輸入/輸出屬性檢查。
3、 如權(quán)利要求l所述的電路設(shè)計(jì)支持裝置,其中, 所述PLD信息包括管腳的差動(dòng)屬性,并且所述DRC單元通過(guò)使用所述管腳的差動(dòng)屬性來(lái)執(zhí)行作為所述設(shè)計(jì) 規(guī)則檢査的差動(dòng)信號(hào)檢查。
4、 如權(quán)利要求l所述的電路設(shè)計(jì)支持裝置,其中, 所述PLD信息包括管腳的電源電壓,并且所述DRC單元通過(guò)使用所述管腳的電源電壓來(lái)執(zhí)行作為所述設(shè)計(jì) 規(guī)則檢査的電源電壓檢查。
5、 一種支持設(shè)計(jì)將PLD用作部件的電路的方法,該方法包括以下步驟: 接收步驟,接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使用PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;以及執(zhí)行步驟,通過(guò)使用所述PLD信息執(zhí)行設(shè)計(jì)規(guī)則檢查。
6、 如權(quán)利要求5所述的方法,其中, 所述PLD信息包括管腳的輸入/輸出屬性,并且 所述執(zhí)行步驟包括通過(guò)使用所述管腳的輸入/輸出屬性來(lái)執(zhí)行作為所述設(shè)計(jì)規(guī)則檢查的輸入/輸出屬性檢查。
7、 如權(quán)利要求5所述的方法,其中, 所述PLD信息包括管腳的差動(dòng)屬性,并且所述執(zhí)行步驟包括通過(guò)使用所述管腳的差動(dòng)屬性來(lái)執(zhí)行作為所述設(shè) 計(jì)規(guī)則檢查的差動(dòng)信號(hào)檢查。
8、 如權(quán)利要求5所述的方法,其中, 所述PLD信息包括管腳的電源電壓,并且所述執(zhí)行步驟包括通過(guò)使用所述管腳的電源電壓來(lái)執(zhí)行作為所述設(shè) 計(jì)規(guī)則檢查的電源電壓檢查。
9、 一種計(jì)算機(jī)可讀記錄介質(zhì),該計(jì)算機(jī)可讀記錄介質(zhì)在其中存儲(chǔ)有 計(jì)算機(jī)程序,所述計(jì)算機(jī)程序使計(jì)算機(jī)實(shí)現(xiàn)支持設(shè)計(jì)將PLD用作部件的 電路的方法,所述計(jì)算機(jī)程序使計(jì)算機(jī)執(zhí)行以下處理接收處理,接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使用PLD 設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;以及執(zhí)行處理,通過(guò)使用所述PLD信息執(zhí)行設(shè)計(jì)規(guī)則檢査。
10、 如權(quán)利要求9所述的計(jì)算機(jī)可讀記錄介質(zhì),其中, 所述PLD信息包括管腳的輸入/輸出屬性,并且 所述執(zhí)行處理包括通過(guò)使用所述管腳的輸入/輸出屬性來(lái)執(zhí)行作為所述設(shè)計(jì)規(guī)則檢查的輸入/輸出屬性檢査。
11、 如權(quán)利要求9所述的計(jì)算機(jī)可讀記錄介質(zhì),其中, 所述PLD信息包括管腳的差動(dòng)屬性,并且所述執(zhí)行處理包括通過(guò)使用所述管腳的差動(dòng)屬性來(lái)執(zhí)行作為所述設(shè) 計(jì)規(guī)則檢査的差動(dòng)信號(hào)檢査。
12、 如權(quán)利要求9所述的計(jì)算機(jī)可讀記錄介質(zhì),其中, 所述PLD信息包括管腳的電源電壓,并且所述執(zhí)行處理包括通過(guò)使用所述管腳的電源電壓來(lái)執(zhí)行作為所述設(shè) 計(jì)規(guī)則檢查的電源電壓檢査。
13、 一種印刷電路板的制造方法,該方法被支持設(shè)計(jì)將PLD用作部件的電路的電路設(shè)計(jì)支持裝置采用,所述方法包括以下步驟接收PLD信息,該P(yáng)LD信息是通過(guò)針對(duì)PLD使用PLD設(shè)計(jì)CAD而創(chuàng)建的設(shè)計(jì)信息;以及通過(guò)使用所述PLD信息執(zhí)行設(shè)計(jì)規(guī)則檢查。
全文摘要
本發(fā)明提供了電路設(shè)計(jì)支持裝置、方法、計(jì)算機(jī)產(chǎn)品及印刷電路板制造方法。包括在電路設(shè)計(jì)CAD裝置中的FPGA信息管理單元獲取由FPGA設(shè)計(jì)CAD裝置創(chuàng)建的諸如管腳分配信息和屬性信息的FPGA信息。關(guān)于FPGA的情況,當(dāng)執(zhí)行DRC時(shí),DRC單元通過(guò)參照由FPGA信息管理單元從FPGA設(shè)計(jì)CAD裝置獲取并且存儲(chǔ)在FPGA信息存儲(chǔ)單元中的FPGA信息,來(lái)檢查管腳的屬性等。
文檔編號(hào)G06F17/50GK101196951SQ20071016684
公開(kāi)日2008年6月11日 申請(qǐng)日期2007年10月22日 優(yōu)先權(quán)日2006年12月4日
發(fā)明者佐藤滿(mǎn), 加藤嘉之, 青山久志 申請(qǐng)人:富士通株式會(huì)社