專利名稱:Asic和可編程邏輯器件并行開發(fā)系統(tǒng)和開發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路的開發(fā)方法和存儲了集成電路的開發(fā)方法 的程序存儲媒體、以及ASIC可編程邏輯器件并行開發(fā)系統(tǒng)、開發(fā)程 序和開發(fā)方法。本發(fā)明涉及集成電路的開發(fā)方法、存儲了集成電路的開發(fā)方法的 程序存儲媒體和邏輯合成工具的控制裝置、以及用戶從連網(wǎng)計算機方 面利用的ASIC和可編程邏輯器件的并行開發(fā)系統(tǒng)、開發(fā)程序和開發(fā) 方法。更詳細地說,涉及集成電路開發(fā)的可編程邏輯器件構(gòu)成方法,涉 及這樣的集成電路的開發(fā)方法、以及能夠無縫隙地并行開發(fā)ASIC和 可編程邏輯器件,能夠使確保設(shè)計質(zhì)量和縮短開發(fā)時間兩者兼顧,同 時能夠減少開發(fā)中消耗的資源和成本的ASIC和可編程邏輯器件的并 行開發(fā)系統(tǒng),開發(fā)程序和開發(fā)方法,也就是說,僅利用作為電路結(jié)構(gòu) 研究結(jié)果作為邏輯設(shè)計文件的一部分的塊的端口規(guī)格的連接信息,生 成一種不依賴器件技術(shù)的、塊的端口和端口之間進行連結(jié)的網(wǎng)絡(luò)所構(gòu) 成的被稱為邏輯磁芯的網(wǎng)表,從邏輯磁芯中選擇對象塊,進行組合, 使用組合的邏輯磁芯數(shù)據(jù)來進行集成電路的開發(fā)。
背景技術(shù):
按照集成電路的程序,首先在決定規(guī)格時,要慎重地無遺漏地仔 細研究,然后根據(jù)該規(guī)格來進行設(shè)計。圖ll是表示集成電路設(shè)計程序的流程圖。首先,根據(jù)產(chǎn)品規(guī)格,取得ASIC (特定用途的所謂專用 IC)的設(shè)計書(gl)。然后研究電路結(jié)構(gòu)(g2)。再者,根據(jù)電路結(jié) 構(gòu)研究結(jié)果來進行電路設(shè)計(g3 )。該電路設(shè)計是邊進行邏輯驗證(g4 ) 邊進行設(shè)計。然后,在電路設(shè)計結(jié)束后進行電路的邏輯合成(g5)。邏輯合成 結(jié)束后,根據(jù)邏輯合成結(jié)果來進行規(guī)劃布局(g6)。在該階段完成電 路設(shè)計。電路設(shè)計完成后,制造該電路(g7),利用制成電路來進行 實機評價(g8)。在以上的過程內(nèi),涉及本發(fā)明的部分是涉及g5步的 邏輯合成的部分。在集成電路開發(fā)中,把規(guī)格作為輸入而加以實現(xiàn)的功能的研究、 為實現(xiàn)功能而進行的電路結(jié)構(gòu)的研究,按以下流程來實施。通常,集 成電路的開發(fā)是,根據(jù)產(chǎn)品規(guī)格,對實現(xiàn)產(chǎn)品的功能進行仔細地篩選, 對實現(xiàn)已選出功能的電路結(jié)構(gòu)進行研究,對IP (知識產(chǎn)權(quán))等進行宏 觀研究。在此,所謂宏觀是指對也包括IP在內(nèi)的RAM、 ROM等不 更改也能使用的。對研究結(jié)構(gòu)的電路和IP的實現(xiàn)規(guī)模進行初步估計,這時,若預(yù) 先已知,則按門數(shù)計算,在不知道門數(shù)的情況下,根據(jù)必要的信號數(shù) 和處理所需的時間來計算觸發(fā)電路數(shù),對實現(xiàn)規(guī)模進行估計。這里, 根據(jù)估計的規(guī)模和各功能的輸出入信號(以下稱為端口 )個數(shù),把多 個功能分成為一組,作為一個塊。該分組對全部功能來進行。在邏輯設(shè)計中,根據(jù)上述功能和估計規(guī)模,利用HDL(硬件描 述語言)等手段以可編程邏輯器件為對象進行電路設(shè)計,進行在板上 的功能評價。評價結(jié)束后,進行ASIC化時,進行再設(shè)計和再驗證。功能評價結(jié)束后,利用ASIC化來降低成本的情況下,不是從以 可編程邏輯器件(例如FPGA)為對象進行設(shè)計時起,就進行考慮到 ASIC的設(shè)計,而是由于輸入輸出緩沖區(qū)、器件用試驗電路、存儲器 等宏觀等可編程邏輯器件和ASIC之間的不同,所以,以ASIC為對
象根據(jù)可編程邏輯器件的設(shè)計數(shù)據(jù)產(chǎn)生再設(shè)計,由于再設(shè)計而出現(xiàn)的 設(shè)計數(shù)據(jù)的雙重管理、再設(shè)計和功能再驗證而使開發(fā)期限延長和開發(fā) 費用增加,使問題表面化。在此,ASIC具有的特征是開發(fā)周期長,但成本低,另一方面, 可編程邏輯器件(FPGA)具有的特征是開發(fā)周期短,但成本高。本發(fā)明是針對這些問題而提出的方案,其目的在于在大規(guī)模 ASIC的開發(fā)中的邏輯設(shè)計、邏輯合成、規(guī)劃布局的同時(并行)開 發(fā)中所適用的電路結(jié)構(gòu)研究中,提供集成電路的開發(fā)方法,其應(yīng)用的方法(如特開2000-90142號所 述)是,根據(jù)對芯片進行功能分割的塊的端口信息和芯片的端口信息, 生成塊間網(wǎng)表作為端口間的連接信息;以及開發(fā)裝置,用于控制邏輯合成工具,以便根據(jù)塊間網(wǎng)表而按照任 意的規(guī)模的個數(shù)來生成用上述集成電路的開發(fā)方法而開發(fā)的集成電路 的結(jié)構(gòu)塊與塊之間的網(wǎng)。提供一種能實現(xiàn)體系結(jié)構(gòu)共用化,能夠盡量避免再設(shè)計和再驗證 的集成電路的開發(fā)方法、以及存儲了集成電路的開發(fā)方法的程序存儲 媒體。并且,近幾年,由于半導(dǎo)體微細化,使10M門以上的ASIC也 能夠開發(fā)。但是隨著電子設(shè)備的高功能化和復(fù)雜化,進行規(guī)格設(shè)計、 邏輯設(shè)計和拼塊、邏輯合成、規(guī)劃布局設(shè)計、定時驗證的工具設(shè)計, 花費很長時間,同時很難保證設(shè)計質(zhì)量。尤其ASIC開發(fā)的返工,不 僅使電子設(shè)備開發(fā)時間延長,而且造成成本上升,失去投放市場的機 會。因此,大量需要開發(fā)周期(TAT)短、設(shè)計更改更容易的可編程 邏輯器件,但是可編程邏輯器件成本高,難于小難化,所以,大都是 首先用可編程邏輯器件實現(xiàn)功能,對樣機調(diào)試后,使ASIC進入大量 生產(chǎn)階段。但是,存在的問題是即使以ASIC化為前提,用可編程邏輯器 件制作樣機進行驗證,也很難使從可編程邏輯器件向ASIC的串行開發(fā)縮短總開發(fā)過程。尤其ASIC開發(fā)時的工具設(shè)計若出現(xiàn)不能按時完 成的問題,則可能造成返工,從可編程邏輯器件的再設(shè)計開始。在委 托小的半導(dǎo)體企業(yè)等外部協(xié)作的情況下,難于確保受托方的人力資源 并且其費用很高。再者,由于可編程邏輯器件和ASIC器件之間的結(jié)構(gòu)不同,需要 專門為ASIC重新設(shè)計時,不僅用可編程邏輯器件的調(diào)試失去意義, 而且,開發(fā)周期增長,成本也上升,也會失去投放市場的良機。而且,針對ASIC大規(guī)模化造成開發(fā)周期長而采取的對策,如特 開2000-90142號公^L所述,同時進行電路結(jié)構(gòu)研究、邏輯設(shè)計.驗證、 工具設(shè)計。但是,由于電子設(shè)備的功能復(fù)雜化和市場發(fā)展很快,所以, 規(guī)格設(shè)計、邏輯設(shè)計、驗證周期長,很難縮短開發(fā)過程。在同時進行 開發(fā)的情況下,需要具有ASIC開發(fā)知識的人力資源和開發(fā)工具,隨 著半導(dǎo)體技術(shù)的進步,也需要加強復(fù)雜化開發(fā)工具的培訓(xùn)工作。發(fā)明內(nèi)容所以,本發(fā)明的目的在于提供一種能夠無縫隙地并行開發(fā)ASIC 和可編程邏輯器件,能夠使確保設(shè)計質(zhì)量和縮短開發(fā)時間兩者兼顧, 同時能夠減少開發(fā)中消耗的人力資源和成本的ASIC和可編程邏輯器 件的并行開發(fā)系統(tǒng),開發(fā)程序和開發(fā)方法。圖l是表示本發(fā)明方法的原理的流程圖。 權(quán)利要求l所述的發(fā)明,其特征在于具有以下步驟 利用 一種從由塊的端口和端口的連接信息構(gòu)成的ASIC的邏輯磁 芯中,選擇有連接關(guān)系的任意塊進行組合的方法,生成一種由任意規(guī) 模、個數(shù)的塊的端口和端口的連接信息所構(gòu)成的、邏輯合成工具能夠 讀取的HDL格式的邏輯磁芯(1步);根據(jù)芯片的端子信息用邏輯合成工具來制作臨時的芯片設(shè)計圖 案,在該圖案上發(fā)生端子(2步);在制成的圖案內(nèi)部,發(fā)生與2步相同的圖案作為一個單元(3步)。 連接圖案和單元之間的同一名稱的端口 (4步)。
對已連接的端口之間的網(wǎng),插入依存于器件技術(shù)的輸入輸出緩沖區(qū)(5步)。對在1步制作的邏輯磁芯和單元進行替換,展開作為頂層的圖案 階層,生成網(wǎng)表(6步)。在權(quán)利要求l所述的發(fā)明中,根據(jù)端口名、范圍、輸出入定義, 制作出作為塊的端口規(guī)格的實體而輸出到文件內(nèi)(寫入文件內(nèi))。利 用對由輸出入進行輸出定義的端口編制輸出信號文件的這種方法,檢 查某塊的輸入端口內(nèi)指定的輸出處實例子的輸出端口名是否是錯誤, 在輸出處實例名中具有旨在連接器件的包封端子的I/O等關(guān)鍵字的情 況下,把輸出處實例的輸出端口名上具有的名稱作為器件的封裝端子 名,利用根據(jù)范圍的定義來判斷該端子是一個還是多個(向量)的裝 置,根據(jù)輸出入的定義來判斷該端子是輸入還是輸出的裝置、以及根 據(jù)種類的定義來判斷該端子是否是雙方向的裝置,編制作為邏輯磁芯 端口規(guī)格的實體,輸出到文件內(nèi)。在此,所謂實例是指電路單元。在塊的端口由輸出入定義進行輸入定義的情況下,檢查該端口的 輸出處實例名和輸出處實例的輸出端口名的組是否存在于上述輸出信 號文件內(nèi)的裝置,上述檢查結(jié)果,實例間的端口的連接被判斷為可能 的情況下,生成對實例間進行連接的信號,輸出到文件內(nèi)。包括全實 例的檢查,處理結(jié)束時,讀取上述邏輯磁芯的實體和實例間網(wǎng),生成 邏輯磁芯,輸入到文件內(nèi)。檢查結(jié)果若無問題,則是記錄了這樣一種程序的、計算機能夠讀 取的記錄媒體,也就是說由塊的輸出入規(guī)格和實例間的連接網(wǎng)、以及 實例和器件封裝端子、即外部端子間的連接網(wǎng)構(gòu)成,使計算機執(zhí)行的 方法是輸出完全沒有邏輯設(shè)計部分的HDL(硬件描迷語言)的文件(以 下稱為"邏輯磁芯")。所以,若釆用一種程序存儲媒體,其中存儲的程序能夠使計算機 來執(zhí)行生成權(quán)利要求1所述的邏輯磁芯的方法,則在集成電路開發(fā)中, 其效果是事前能夠確保作為RTL設(shè)計輸入的塊的端口的質(zhì)量,另外, 在功能塊很多,設(shè)計資源也很多的大規(guī)模集成電路的開發(fā)中,也能事 前確認塊間的連接,所以能夠確保芯片一定拼裝成功。權(quán)利要求2所述的發(fā)明,在ASIC和可編程邏輯器件同時進行開 發(fā)的情況下,其特征在于具有以下步驟.利用一種組合手段,即從塊的端口和端口的連接信息所構(gòu)成的 ASIC的所謂邏輯磁芯中,選擇出具有連接關(guān)系的任意塊進行組合, 這樣來生成任意規(guī)模、個數(shù)的塊的端口和端口的連接信息和所構(gòu)成的 邏輯磁芯(1步),根據(jù)芯片的端子信息利用邏輯合成工具來編制臨時的芯片的設(shè) 計圖案(2步)。在該設(shè)計圖案沖利用在上述芯片的端子信息中具有的名稱來發(fā) 生端子(3步)。在其內(nèi)部發(fā)生與上述相同的設(shè)計圖案作為單元(4步)。連接按2步制作的圖案和單元間的同一名稱的端口 (5步)。對該連接網(wǎng)根據(jù)芯片的端子信息而插入依存于器件技術(shù)的輸入 輸出緩沖區(qū)(S6步)。把在1步生成的邏輯磁芯替換成上述單元(7步)。對作為該邏輯磁芯的頂層的上述編制設(shè)計圖案的階層進行展開, 生成可編程邏輯器件的芯片的網(wǎng)表(8步)。權(quán)利要求2所述的發(fā)明是一種集成電路的開發(fā)方法,其特征在于 在ASIC和可編程邏輯器件的并行開發(fā)中,根據(jù)權(quán)利要求1的ASIC 邏輯磁芯,利用已安裝了程序存儲媒體的控制裝置來控制邏輯合成工 具的功能,其中存儲的程序能夠使計算機來執(zhí)行下述權(quán)利要求3和4 所述的網(wǎng)表生成方法,對具有連接關(guān)系的任意塊進衧組合,作為可編 程邏輯器件的邏輯磁芯取出,插入依存于可編程邏輯器件的輸入輸出 緩沖區(qū),生成可編程邏輯器件的芯片的網(wǎng)表。所以,若釆用權(quán)利要求2所述的集成電路的開發(fā)方法,則從ASIC 邏輯磁芯中,在保持塊間連接的原有狀態(tài)下切出可編程邏輯器件的邏 輯磁芯,所以,若用本邏輯磁芯來對可編程邏輯器件進行驗證,則在 ASIC中至少能避免用同一結(jié)構(gòu)的重復(fù)驗證。因此,能夠高效率地進
行ASIC和可編程邏輯器件的并行開發(fā)。并且,在插入輸入輸出緩沖區(qū)時,根據(jù)芯片的端子信息來生成臨 時的邏輯磁芯,利用替換成由塊生成的邏輯磁芯的手段,能夠交叉檢 查由塊定義的芯片的端口信息和芯片的端子信息,能夠確保塊的端口 規(guī)格和芯片端子規(guī)格兩者的質(zhì)量。權(quán)利要求3所述的發(fā)明,其特征在于利用一種組合手段,即從塊的端口和端口的連接信息所構(gòu)成的ASIC的所謂邏輯磁芯中,選擇出具有連接關(guān)系的任意塊進行組合,這樣來生成任意規(guī)模、個數(shù)的塊 的端口和端口的逸接信息所構(gòu)成的網(wǎng)表(1步)。若采用這種結(jié)構(gòu),則能夠生成由任意規(guī)模、個數(shù)的塊的端口和端 口的連接信息而構(gòu)成的網(wǎng)表。權(quán)利要求4所述的發(fā)明,其特征在于利用一種組合手段,即從塊的端口和端口的連接信息所構(gòu)成的ASIC的所謂邏輯磁芯中,選擇出具有連接關(guān)系的任意塊進行組合,這樣來生成任意規(guī)模、個數(shù)的塊 的端口和端口的連接信息所構(gòu)成的邏輯磁芯(l步),根據(jù)芯片的端子信息利用邏輯合成工具來生成的臨時的芯片設(shè)計圖案,在該設(shè)計圖案上利用上述芯片的端子信息中具有的名稱來發(fā)生端子(2步),在其內(nèi)部發(fā)生與上述相同的設(shè)計圖案作為單元(3步), 連接上述設(shè)計圖案和單元間的同一名稱的端口 (4步), 對該連接網(wǎng)根據(jù)芯片的端子信息來插入依存于器件技術(shù)的輸入輸出緩沖區(qū)(5步),把在1步生成的邏輯磁芯替換成上述單元(6步), 對作為該邏輯磁芯的頂層的在2步編制的設(shè)計圖案的階層進行展開,生成芯片網(wǎng)表(7步)。若采用這樣的結(jié)構(gòu),則能夠根據(jù)由任意規(guī)模、個數(shù)的塊的端口和端口的連接信息所構(gòu)成的網(wǎng)表來生成芯片網(wǎng)表。權(quán)利要求5所述的集成電路的開發(fā)方法,其特征在于在根據(jù)由任意規(guī)模、個數(shù)的塊的端口和端口的連接信息所構(gòu)成的網(wǎng)表來生成芯
片網(wǎng)表的情況下,為了使頂層的端口名與從網(wǎng)名連接處塊的端口名相 一致,對端口名進行修改,生成由塊的端口和端口的連接信息構(gòu)成的 網(wǎng)表。權(quán)利要求5所述的發(fā)明,在ASIC和可編程邏輯器件并行開發(fā)中, 根據(jù)由塊的端口和端口的連接信息構(gòu)成的ASIC邏輯磁芯,對具有連 接關(guān)系的任意塊進行組合,使用邏輯合成工具的功能,切出可編程邏 輯器件的邏輯磁芯的情況下,通常切出的邏輯磁芯的頂?shù)亩丝诿Q成 為與該端口相連接的網(wǎng)名。一種邏輯合成工具的控制方法,其特征在于對邏輯合成工具的 功能進行控制,使網(wǎng)從端口向邏輯磁芯內(nèi)部進行跟蹤,更改成最初發(fā) 現(xiàn)的塊的端口名稱。所以,若釆用權(quán)利要求5的使邏輯合成工具來執(zhí)行程序,生成可 編程邏輯器件的邏輯磁芯的程序存儲媒體,則能夠防止難于判斷端口 功能的網(wǎng)名為端口名稱的情況下的邏輯驗證等調(diào)試效率降低。如上所述,根據(jù)設(shè)計文件的數(shù)據(jù),生成邏輯磁芯,根據(jù)該邏輯磁 芯在保持階層結(jié)構(gòu)和連接信息的狀態(tài)下,為可編程邏輯器件使用而重 新生成邏輯磁芯,這樣能夠共用電路結(jié)構(gòu),與填入電路數(shù)據(jù),經(jīng)過功 能驗證的實例內(nèi)的不依存于器件技術(shù)的電路數(shù)據(jù)和實例間的網(wǎng),在 ASIC化的情況下,能夠避免再驗證,也能夠避免因ASIC和可編程邏 輯器件之間的差異而重新設(shè)計。并且,在本發(fā)明中,利用一種組合手段,即從塊的端口和端口之 間的連接信息所構(gòu)成的ASIC的邏輯磁芯中,選擇出構(gòu)成ASIC的任 意塊進行組合,這樣來生成由已選擇的塊構(gòu)成的塊的端口和端口之間 的連接信息所構(gòu)成的可編程邏輯器件的邏輯磁芯,在對這種生成進行 控制的邏輯合成工具的控制裝置中具有控制裝置,對于由邏輯合成工具生成的由設(shè)計者選擇的塊所構(gòu)成 的可編程邏輯器件的邏輯磁芯的端口,由邏輯合成工具付給端口名的 網(wǎng)名,探索與該端口相連接的網(wǎng),更改成為構(gòu)成已連接的可編程邏輯 器件的塊的端口名稱;生成裝置,用于根據(jù)芯片的端子信息利用邏輯合成工具來生成具有由芯片的端子信息指定的端口的臨時的芯片設(shè)計圖案;發(fā)生裝置,用于在該設(shè)計圖案內(nèi)部發(fā)生上述臨時的芯片設(shè)計圖案 作為單元;替換裝置,用于在上述臨時芯片的圖案和單元之間的同 一名稱的 端口之間進行連接,對該已連接的網(wǎng),根據(jù)芯片的端子信息而插入依 存于器件技術(shù)的輸入輸出緩沖區(qū),更改上述名稱的邏輯合成工具生成 的由設(shè)計者選擇的塊所構(gòu)成的可編程邏輯器件的邏輯磁芯和單元進行 替換;以及網(wǎng)表生成裝置,它通過對該邏輯磁芯的頂層進行展開而生成可編程邏輯器件的芯片網(wǎng)表。若采用這種結(jié)構(gòu),則能夠生成可編程邏輯器件的芯片網(wǎng)表, 并且,本發(fā)明是ASIC和可編程邏輯器件的并行開發(fā)方法,其中包括以下工序網(wǎng)表生成工序,它根據(jù)端口間連接信息來組合構(gòu)成ASIC的功能 塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的網(wǎng)表, 作為可編程邏輯器件的邏輯磁芯;邏輯合成工序,根據(jù)構(gòu)成上述ASIC的功能塊的電路數(shù)據(jù)來編制 ASIC用邏輯合成數(shù)據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);ROM數(shù)據(jù)生成工序,關(guān)于上述組合的功能塊的可編程邏輯器件 用邏輯合成數(shù)據(jù)填入到由上述網(wǎng)表生成工序所生成的網(wǎng)表內(nèi),生成已 記錄了可編程邏輯器件電路的實機評價用ROM數(shù)據(jù);布圖(layout )生成工序,利用由上述邏輯合成工序所編制的ASIC 用邏輯合成數(shù)據(jù),使ASIC的布圖生成和定時驗證和上述ROM數(shù)據(jù) 生成工序的實機評價用ROM數(shù)據(jù)的生成同時進行;以及差分反映工序,利用由上述ROM數(shù)據(jù)生成工序生成的ROM數(shù) 據(jù)根據(jù)實機評價結(jié)果進行的電路數(shù)據(jù)更改,反映在上述ASIC規(guī)劃布 局圖的制作和定時驗證中。并且,本發(fā)明是ASIC和可編程邏輯器件的并行開發(fā)程序,其沖
包括以下工序網(wǎng)表生成工序,它根據(jù)端口間連接信息來組合構(gòu)成ASIC的功能 塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的網(wǎng)表, 作為可編程邏輯器件的邏輯磁芯;邏輯合成工序,根據(jù)構(gòu)成上述ASIC的功能塊的電路數(shù)據(jù)來編制 ASIC用邏輯合成數(shù)據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);ROM數(shù)據(jù)生成工序,關(guān)于上述組合的功能塊的可編程邏輯器件 用邏輯合成數(shù)據(jù)填入到由上述網(wǎng)表生成工序生成的網(wǎng)表內(nèi),生成已記 錄了可編程邏輯器件電路的實機評價用ROM數(shù)據(jù);布圖生成工序,利用由上述邏輯合成工序所編制的ASIC用邏輯 合成數(shù)據(jù),使ASIC的布圖生成和定時驗證與上述ROM數(shù)據(jù)生成工 序的實機評價用ROlVt數(shù)據(jù)的生成同時進行;以及差分反映工序,利用由上述ROM數(shù)據(jù)生成工序生成的ROM數(shù) 據(jù)根據(jù)實機評價結(jié)果進行的電路數(shù)據(jù)更改,反映在上述ASIC規(guī)劃布 局圖的制作和定時驗證中。所以,能夠高效率地并行開發(fā)ASIC和可編程邏輯器件,能夠縮 短ASIC的開發(fā)周期。若采用本發(fā)明,則根據(jù)端口間連接信息來組合構(gòu)成ASIC的功能 塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的網(wǎng)表, 作為可編程邏輯器件的邏輯磁芯;根據(jù)構(gòu)成ASIC的功能塊的電路數(shù)據(jù)來編制ASIC用邏輯合成數(shù) 據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);關(guān)于上述組合的功能塊的可編程邏輯器件用邏輯合成數(shù)據(jù)填入 到生成的網(wǎng)表內(nèi),生成已記錄了可編程邏輯器件電路的實機評價用 ROM數(shù)據(jù);利用已編制的ASIC用邏輯合成數(shù)據(jù),使ASIC的規(guī)劃圖繪制和 定時驗證與實機評價用ROM數(shù)據(jù)的生成同時進行;利用已生成工序生成的ROM數(shù)據(jù)根據(jù)實機評價結(jié)果進行的電路 數(shù)據(jù)更改,反映在上述ASIC規(guī)劃圖的制作和定時驗證中。
并且,本發(fā)明是ASIC和可編程邏輯器件的并行開發(fā)程序,其中 包括以下工序網(wǎng)表生成工序,它根據(jù)端口間連接信息來組合構(gòu)成ASIC的功能 塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的網(wǎng)表, 作為可編程邏輯器件的邏輯磁芯;邏輯合成工序,根據(jù)構(gòu)成上述ASIC的功能塊的電路數(shù)據(jù)來編制 ASIC用邏輯合成數(shù)據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);ROM數(shù)據(jù)生成工序,關(guān)于上述組合的功能塊的可編程邏輯器件 用邏輯合成數(shù)據(jù)填入到由上述網(wǎng)表生成工序生成的網(wǎng)表內(nèi),生成已記 錄了可編程邏輯器件電路的實機評價用ROM數(shù)據(jù);以及布圖生成工序,利用由上述邏輯合成工序所編制的ASIC用邏輯 合成數(shù)據(jù),使ASIC的布圖生成和定時驗證與上述ROM數(shù)據(jù)生成工 序的實機評價用ROM數(shù)據(jù)的生成同時進行;所以,能夠高效率地并行開發(fā)ASIC和可編程邏輯器件,能夠縮 短ASIC的開發(fā)周期。若采用本發(fā)明,則根據(jù)端口間連接信息來組合構(gòu)成ASIC的功能 塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的網(wǎng)表, 作為可編程邏輯器件的邏輯磁芯;根據(jù)構(gòu)成ASIC的功能塊的電路數(shù)據(jù)來編制ASIC用邏輯合成數(shù) 據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);關(guān)于上述組合的功能塊的可編程邏輯器件用邏輯合成數(shù)據(jù)填入 到生成的網(wǎng)表內(nèi),生成已記錄了可編程邏輯器件電路的實機評價用 ROM數(shù)據(jù);以及利用已編制的ASIC用邏輯合成數(shù)據(jù),使ASIC的規(guī)劃圖繪制和 定時驗證與實機評價用ROM數(shù)據(jù)的生成同時進行;所以能夠高效率地并行開發(fā)ASIC和可編程邏輯器件,能夠縮短 ASIC的開發(fā)周期。并且,本發(fā)明是從聯(lián)網(wǎng)的計算機由用戶利用的ASIC和可編程邏 輯器件的并行開發(fā)系統(tǒng),其特征在于具有C邏輯合成裝置,用于根據(jù)上述用戶要求,執(zhí)行ASIC的邏 輯合成;ASIC邏輯合成結(jié)果判斷裝置,用于判斷由上述ASIC邏輯合成 裝置編制的ASIC邏輯合成結(jié)果是否滿足了上述用戶要求的速度性能;可編程邏輯器件邏輯合成裝置,用于根據(jù)上述ASIC邏輯合成結(jié) 果判斷裝置作出的判斷結(jié)果,對可編程邏輯器件進行邏輯合成;邏輯合成結(jié)果顯示裝置,用于在計算機上顯示出上述ASIC邏輯 合成裝置對ASIC邏輯合成的執(zhí)行結(jié)果、以及上述可編程邏輯器件邏 輯合成裝置對可編程邏輯器件邏輯合成的執(zhí)行結(jié)果;以及邏輯合成通知裝置,用于通過電子郵件向上述用戶發(fā)出以下內(nèi)容 的通知由上述ASIC邏輯合成裝置對ASIC邏輯合成的執(zhí)行開始和 執(zhí)行結(jié)果、以及由上述可編程邏輯器件邏輯合成裝置對可編程邏輯器 件邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果。并且,本發(fā)明是從聯(lián)網(wǎng)的計算機由用戶利用的ASIC和可編程邏 輯器件的并行開發(fā)方法,其特征在于具有ASIC邏輯合成工序,用于根據(jù)上述用戶要求,執(zhí)行ASIC的邏 輯合成;ASIC邏輯合成結(jié)果判斷裝置,用于判斷由上述ASIC邏輯合成 工序編制的ASIC邏輯合成結(jié)果是否滿足了上述用戶要求的速度性能;可編程邏輯器件邏輯合成工序,用于根據(jù)上述ASIC邏輯合成結(jié) 果判斷工序作出的判斷結(jié)果,對可編程邏輯器件進行邏輯合成;邏輯合成結(jié)果顯示工序,用于在計算機上顯示出上述ASIC邏輯 合成工序?qū)SIC邏輯合成的執(zhí)行結(jié)果、以及上述可編程邏輯器件邏 輯合成工序?qū)删幊踢壿嬈骷壿嫼铣傻膱?zhí)行結(jié)果;以及邏輯合成通知工序,用于通過電子郵件向上述用戶發(fā)出以下內(nèi)容 的通知由上述ASIC邏輯合成工序?qū)SIC邏輯合成的執(zhí)行開始和 執(zhí)行結(jié)果、以及由上述可編程邏輯器件邏輯合成工序?qū)删幊踢壿嬈?件邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果。若釆用本發(fā)明,則根據(jù)上述用戶要求,執(zhí)行ASIC的邏輯合成; 判斷出已編制的ASIC邏輯合成結(jié)果是否滿足了上述用戶要求的 速度性能;根據(jù)判斷結(jié)果,對可編程邏輯器件進行邏輯合成; 邏輯合成結(jié)果顯示裝置,用于在計算機上顯示出ASIC邏輯合成的執(zhí)行結(jié)果、以及可編程邏輯器件邏輯合成的執(zhí)行結(jié)果;通過電子郵件向上述用戶發(fā)出以下內(nèi)容的通知ASIC邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果、以及可編程邏輯器件邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果。所以,用戶不必設(shè)置邏輯合成的專職人員,即可在任何時候都能 進行邏輯合成,能夠像專職人員進行的那樣,能夠保持邏輯合成質(zhì)量 均勻 一致,同時能夠通過電子郵件來接收邏輯合成的開始和結(jié)果的通 知,不必用計算機來定期檢查邏輯合成的進行情況。并且,本發(fā)明,其特征在于還具有網(wǎng)表生成裝置,它根據(jù)按上述用戶要求來構(gòu)成上述ASIC的功能 塊,生成由上述用戶指定的多個功能塊的端口間連接信息的所構(gòu)成的 網(wǎng)表;ROM數(shù)據(jù)生成裝置,用于把邏輯合成完畢的對象功能塊的數(shù)據(jù) 填入到由上述網(wǎng)表生成裝置所生成的網(wǎng)表內(nèi),生成已記錄了可編程邏 輯器件電路的ROM數(shù)據(jù);ROM數(shù)據(jù)生成結(jié)果顯示裝置,用于在上述計算機上顯示出由上 述ROM數(shù)據(jù)生成裝置生成的ROM數(shù)據(jù)生成結(jié)果;以及ROM數(shù)據(jù)生成結(jié)果通知裝置,它利用電子郵件向用戶通知由上 述ROM數(shù)據(jù)生成裝置生成的ROM數(shù)據(jù)生成結(jié)果。若采用本發(fā)明,則根據(jù)按上述用戶要求來構(gòu)成上述ASIC的功能 塊,生成由上述用戶指定的多個功能塊的端口間連接信息所構(gòu)成的網(wǎng) 表;把邏輯合成完畢的對象功能塊的數(shù)據(jù)填入到已生成的網(wǎng)表內(nèi),生
成已記錄了可編程邏輯器件電路的ROM數(shù)據(jù);在上述計算機上顯示出已生成的ROM數(shù)據(jù)生成結(jié)果; 同時利用電子郵件向用戶通知。所以用戶不需要可編程邏輯器件專用的開發(fā)環(huán)境,能夠減少對記 錄可編程邏輯器件電路的ROM數(shù)據(jù)進行編寫所需的負荷、時間和費 用。并且,本發(fā)明,其特征在于還具有一種臨時網(wǎng)表生成裝置,該裝 置用于在構(gòu)成用戶指定的ASIC的功能塊設(shè)計尚未完成而沒有電路數(shù) 據(jù)的情況下,生成一種把使用臨時觸發(fā)電路等的電路插入到該功能塊 的輸入端子和輸出端子中的網(wǎng)表。若采用該發(fā)明,則構(gòu)成用戶指定的ASIC的功能塊設(shè)計尚未完成 而沒有電路數(shù)據(jù)的情況下,生成一種把使用臨時觸發(fā)電路等的電路插 入到該功能塊的輸入端子和輸出端子中的網(wǎng)表。所以,在可編程邏輯 器件的通過樣機的驗證中,即使不是驗證對象的功能塊的設(shè)計尚未完 成,也能夠用樣機進行驗證,能夠提高驗證效率。并且,本發(fā)明,其特征在于具有監(jiān)視裝置,用于對上述用戶具有的最新電路數(shù)據(jù)和工具設(shè)計者進 行工具設(shè)計的電路數(shù)據(jù)之間的更改規(guī)模進行監(jiān)視;更改定時通知裝置,用于在根據(jù)上述監(jiān)視裝置的監(jiān)視結(jié)果和規(guī)劃 設(shè)計所需的時間而計劃的日期時間已到達時,把上述更改反映在上述 ASIC的工具設(shè)計內(nèi)的定時,用電子郵件方式通知上述用戶和ASIC的 工具設(shè)計者;以及反映停止要求裝置,用于要求停止,以便用戶響應(yīng)上述更改定時 通知裝置,更改上述反映的日期。若采用本發(fā)明,則因為對上述用戶具有的最新電路數(shù)據(jù)和工具設(shè) 計者進行工具設(shè)計的電路數(shù)據(jù)之間的更改規(guī)模進行監(jiān)視;在根據(jù)上述監(jiān)視裝置的監(jiān)視結(jié)果和規(guī)劃設(shè)計所需的時間而計劃 內(nèi)的日期時間已到達時,把上述更改反映在上述ASIC的工具設(shè)計內(nèi) 的定時,用電子郵件方式通知上述用戶和ASIC的工具設(shè)計者;以及要求停止,以便用戶響應(yīng)上述通知,更改上述反映的日期。所以,能夠把發(fā)生的更改高效率地反映到ASIC規(guī)劃設(shè)計內(nèi),同 時通過設(shè)定反映更改的定時,能夠判斷出用戶何時能夠更改,能夠在 較早的階段修定日程計劃。并且,本發(fā)明,其特征在于 一方面,根據(jù)包括多個功能塊的全 部或一部分的功能塊在內(nèi)的FPGA的端子信息進行描述的第l設(shè)計圖 案、以及作為該第1設(shè)計圖案的下級層所描述的與該FPGA相同的端 子信息進行描述的第2設(shè)計圖案,生成該第l設(shè)計圖案、第2設(shè)計圖 案中的同一端子間進行連接,而且在該端子間插入了 FPGA對應(yīng)的緩 沖器的FPGA用設(shè)計圖案信息,另一方面,根據(jù)包括多個功能塊在內(nèi) 的ASIC的端子信息進行描述的第3設(shè)計圖案、以及作為該第3設(shè)計 圖案的下級層所描述的與該ASIC相同的端子信息進行描述的第4設(shè) 計圖案,生成該第3設(shè)計圖案、第4設(shè)計圖案之間的同一端子間進行 連接,而且在該端子間插入了 ASIC對應(yīng)的緩沖器的ASIC用設(shè)計圖 案信息。上述第2設(shè)計圖案、第4設(shè)計圖案分別置換成根據(jù)各設(shè)計圖案所 包括的功能塊的連接信息而生成的電路信息, 這樣一來,生成FPGA和ASIC的網(wǎng)表。若采用本發(fā)明,則因為一方面,根據(jù)包括多個功能塊的全部或一 部分的功能塊在內(nèi)的FPGA的端子信息進行描述的第l設(shè)計圖案、以 及作為該第1設(shè)計圖案的下級層所描述的與該FPGA相同的端子信息 進行描述的第2設(shè)計圖案,生成該第l設(shè)計圖案、第2設(shè)計圖案中的 同一端子間進行連接,而且在該端子間插入了 FPGA對應(yīng)的緩沖器的 FPGA用設(shè)計圖案信息,另一方面,根據(jù)包括多個功能塊在內(nèi)的ASIC 的端子信息進行描述的第3設(shè)計圖案、以及作為該第3設(shè)計圖案的下 級層所描述的與該ASIC相同的端子信息進行描述的第4設(shè)計圖案, 生成該第3設(shè)計圖案、第4設(shè)計圖案之間的同一端子間進行連接,而 且在該端子間插入了 ASIC對應(yīng)的緩沖器的ASIC用設(shè)計圖案信息。上迷第2設(shè)計圖案、第4設(shè)計圖案分別置換成根據(jù)各設(shè)計圖案所
包括的功能塊的連接信息而生成的電路信息,這樣一來,生成FPGA和ASIC的網(wǎng)表。所以,能夠高效率地并行開發(fā)ASIC和可編程邏輯器件,能夠縮 短ASIC的開發(fā)周期。
圖l是表示本發(fā)明方法的原理的流程圖。 圖2是本發(fā)明第1實施方式的動作說明圖。圖3是表示本發(fā)明的邏輯合成工具的控制裝置的實施方式一例的 方框圖。圖4是表示控制裝置一實施方式例的方框圖。圖5是表示邏輯磁芯生成程序的流程圖(1)圖6是表示邏輯磁芯生成程序的流程圖(2)圖7是表示本發(fā)明第1實施方式的詳細程序的流程圖。圖8是表示邏輯磁芯設(shè)計圖案檢查控制的流程圖。圖9是表示組合控制的流程圖。圖IO是表示輸入輸出緩沖區(qū)插入控制的流程圖和處理形象圖。 圖ll是表示集成電路設(shè)計程序的流程圖。圖12說明涉及本第2實施方式的ASIC和FPGA并行開發(fā)概念 用的說明圖。圖13說明涉及本第2實施方式的ASIC和FPGA并行開發(fā)系統(tǒng) 構(gòu)成的功能塊圖。圖14是表示在文件服務(wù)器內(nèi)存放數(shù)據(jù)用的目錄構(gòu)成一例的圖。圖15是表示邏輯CORE生成用表的一例的圖。圖16是表示第2實施方式的ASIC和FPGA并行開發(fā)系統(tǒng)的處 理程序的流程圖。圖17是表示錄入畫面一例的圖。圖18是表示程序畫面一例的圖。圖19是表示邏輯CORE生成接口程序的處理程序的流程圖。 圖20是表示邏輯CORE生成接口畫面一例的圖。 圖21是表示ASIC邏輯CORE生成程序的處理程序的流程圖(1) 圖22是表示ASIC邏輯CORE生成程序的處理程序的流程圖(2 ) 圖23是表示邏輯CORE檢查程序的處理程序的流程圖。 圖24是表示狀況顯示選擇畫面的一例的圖。 圖25是表示邏輯CORE生成狀況畫面的一例的圖。 圖26是表示ASIC邏輯CORE生成狀況顯示畫面中的處理程序 的流程圖。圖27是表示FPGA邏輯CORE生成接口畫面一例的圖。圖28是表示FPGA邏輯CORE生成程序的處理程序的流程圖(1)圖29是表示FPGA邏輯CORE生成程序的處理程序的流程圖(2)圖30是表示互換封裝表的一例的圖。圖31是表示邏輯合成接口程序的處理程序的流程圖。圖32是表示邏輯合成接口畫面的一例的圖。圖33是表示FPGA邏輯合成接口處理程序的流程圖。圖34是表示邏輯合成狀況顯示畫面的一例的圖。圖35是表示擬合數(shù)據(jù)的輸入和執(zhí)行畫面的一例的圖。圖36是表示ROM數(shù)據(jù)生成狀況畫面的一例的圖。圖37是表示預(yù)定和實際畫面的一例的圖。圖38是表示手工作業(yè)時間的一例的圖。
具體實施方式
以下參照附圖,詳細說明本發(fā)明的實施方式例。 <第1實施方式〉圖2是本發(fā)明第1實施方式的動作說明圖。該圖以電路結(jié)構(gòu)研究 結(jié)果為輸入,使設(shè)計數(shù)據(jù)通用化,共用電路結(jié)構(gòu),開發(fā)集成電路。在以HDL為手段來設(shè)計實現(xiàn)的功能的情況下,產(chǎn)品本身芯片由
具有某種功能的實例而構(gòu)成。該實例參照由HDL設(shè)計的多個功能所 構(gòu)成的塊,特定的塊如果對實現(xiàn)芯片功能是需要的話,那么可多次參 照該塊。以下根據(jù)圖2,說明本發(fā)明的流程,X、 Y、 Z是根據(jù)已定義格式 來對根據(jù)電路結(jié)構(gòu)研究結(jié)果而編制的塊的端口規(guī)格進行定義的表。這 些表X、 Y、 Z,在設(shè)計塊時是一定要編制的,它有以下部分塊名、 實例名、端口名、范圍、輸出入、種類、輸出處實例,輸出處實例的 輸出端口名等。這些數(shù)據(jù)是由用戶手工輸入的。這樣,預(yù)先編制各表 是本發(fā)明的要點。Sl步利用以上述全部實例的表數(shù)據(jù)為輸入,對實例間和實例與 定義為器件封裝端子的外部端子間是否連接正確無誤進行檢查的裝 置、以及對實例間的網(wǎng)進行定義的裝置,生成僅由塊的端口和塊間連 接信息而構(gòu)成的邏輯磁芯。在Sl步出現(xiàn)錯誤的情況下,把錯誤返回到 用戶處,由用戶重新輸入數(shù)據(jù)(圖中所示的園形的箭頭標記l表示反 復(fù))。S2步參照FPGA表2,把Sl步輸出的邏輯磁芯讀入到邏輯合成 工具內(nèi),通過控制邏輯合成工具的功能來選擇作為可編程邏輯器件的 實例的組,在保持階層信息的狀態(tài)下生成新的邏輯磁芯,輸出一種和 Sl步輸出相同的邏輯磁芯的網(wǎng)表,其中不包含依存于器件技術(shù)的輸入 輸出緩沖區(qū)等,在該圖中,X、 Y是由用戶指定的。S3步根據(jù)作為已定義格式的器件封裝的端子規(guī)格表數(shù)據(jù)的端子 名,生成臨時的邏輯磁芯,把由表數(shù)據(jù)指定的依存于器件技術(shù)的輸入 輸出緩沖區(qū),插入到臨時邏輯磁芯的端口內(nèi)后,替換成S2步輸出的網(wǎng) 表,這是本發(fā)明的關(guān)鍵。通過該處理,形成了作為對象的器件芯片的 網(wǎng)表,然后,控制邏輯合成工具的功能,從FPGA合成結(jié)果庫3中讀 取用對象器件技術(shù)完成了邏輯合成的電路數(shù)據(jù),填入到對應(yīng)的塊中, 完成所需的器件的網(wǎng)表。作為FPGA而生成的網(wǎng)表,用FPGA的規(guī)劃 布局工具來進行擬合,實現(xiàn)ROM數(shù)據(jù)化。并且,從S2步起,參照ASIC合成結(jié)果庫4進行ASIC化。
若釆用該第l實施方式,則在集成電路開發(fā)中,其效果是,事先能夠確保作為RTL設(shè)計輸入的塊的端口規(guī)格質(zhì)量,并且,在具有許多 功能塊,設(shè)計資源也很多的大規(guī)模集成電路的開發(fā)中,也能夠事先確 認塊間的連接,因此能夠確保一定能組裝好芯片。圖3是表示本發(fā)明的邏輯合成工具控制裝置的一實施方式的方框圖。圖中,22是對整體動作進行控制的控制裝置,24是顯示各種信 息的CRT, 21是向控制裝置22內(nèi)輸入各種指令等用的輸入裝置,23 是與控制裝置22相連接,用于存儲各種信息的存儲裝置。輸入裝置21用于輸入邏輯磁芯生成程序的起動命令、邏輯合成 工具的控制命令,在存儲裝置23中存儲了邏輯合成工具、邏輯磁芯生 成程序、邏輯合成控制程序。若從輸入裝置21中指定塊的表文件,輸入邏輯磁芯生成程序起 動命令,則邏輯磁芯生成程序讀取表文件,生成邏輯磁芯,向存儲裝 置23內(nèi)輸出文件,若在該處理中有錯誤,則把該錯誤信息顯示到顯示 裝置的CRT24上。設(shè)計者在有錯誤的情況下,對表文件修正后,再次執(zhí)行命令。在 邏輯合成工具的控制中,首先準備控制用的必要數(shù)據(jù)作為文件,和邏 輯磁芯生成程序中生成的邏輯磁芯文件一起存儲到存儲裝置23內(nèi)的 規(guī)定位置上。并且,若從輸入裝置21來輸入邏輯合成工具的控制命令, 則邏輯合成工具起動,處理結(jié)果顯示在CRT24上。在中途處理失敗 的情況下,失敗時的狀態(tài)顯示到CRT24上。圖4是表示圖3的控制裝置22的一實施方式例的方框圖。與圖3 相同的部分標注相同的符號,圖中,31是對整體動作進行控制的CPU, 32是存儲各種信息的存儲器,21是輸入各種命令等的鍵盤,24是作 為顯裝置的CRT。 23是存儲裝置,它由邏輯磁芯生成程序36、邏輯 合成工具的控制程序35,邏輯合成工具34和操作系統(tǒng)(OS) 33而構(gòu) 成。37是連接各構(gòu)成要素之間的總線。存儲裝置23,例如采用硬盤機。在這種構(gòu)成的系統(tǒng)中,CPU31,當輸入從鍵盤21來的命令時,檢索存儲裝置23,調(diào)用該程序,執(zhí)行該程序。圖5、圖6是表示邏輯磁芯生成程序的流程圖。其中,利用圖2 的X、 Y、 Z的表數(shù)據(jù)來進行說明。讀取表數(shù)據(jù)X、 Y、 Z (實例也是 X、 Y、 Z)的文件,對文件一個一個地進行處理。在F1讀取X的數(shù) 據(jù),在F2抽出端口 A的表的全部數(shù)據(jù),存儲到存儲器內(nèi),邊參照該 存儲器的數(shù)據(jù),邊進行以下處理。在F2'檢查端口是否是輸出。因為端口 A是輸入,所以用于把實例名和端口名輸出到文件A 內(nèi)的F3步跳越過去,進入F3'內(nèi)。在F3'檢查是否有與封裝端子的連 接關(guān)鍵字。然后,因為沒有封裝端子的連接關(guān)鍵字,所以,跳過用于 把封裝端子信息存儲到存儲器內(nèi)的F4,把下面的端口 B的全部數(shù)據(jù)存 儲到存儲器內(nèi)。因為端口 B是輸出,所以利用F3步把"XB"輸出到存儲裝置23 的文件A內(nèi)。在此,X是文件名,B是端口名。下面,因為沒有封裝 端子的連接關(guān)鍵字,所以,跳過F4,把下面的端口 Z的全部數(shù)據(jù)存儲 到存儲器內(nèi)。因為端口Z是輸出,所以利用F3步把"XZ[2: 0"輸出 到上述文件A內(nèi)。在此,2: O]表示2、 1、 0。以下,因為沒有封裝端子的連接關(guān)鍵字,所以,跳過F4,把下 面的端口 1的全部數(shù)據(jù)存儲到存儲器內(nèi)。因為端口l是輸入,所以, 跳過F3,以下因為有封裝端子的連接關(guān)鍵字"IO",所以把"INpuT, in, 2: O"作為邏輯磁芯的端口名存儲到存儲器內(nèi)。下面檢查是否全部 端口結(jié)束(F4')。在全部端口尚未結(jié)束的情況下,返回到F2步。這樣,若X的全部端口的處理結(jié)束,是VHDL,則把具有以下 信息的實體文件輸出到存儲裝置23內(nèi)。A: in std—logic;B: out std—logic;Z: out std—logic vector(2 downto 0); I: in std—logic;以上處理對Y、 Z的數(shù)據(jù)也都進行,當全部文件結(jié)束時(F5'), 利用F6步,若是VHDL,則把具有以下信息的邏輯磁芯的實體文件輸出到存儲裝置23內(nèi)。INPUT: in std—logic;OUT: out std一logic;并且,在文件A中記錄以下數(shù)據(jù)。XB、 XZ[2: 0、YC[l: 0,YO、 ZF以下用F7步來讀取上述文件A的數(shù)據(jù),用F8步來向存儲器內(nèi) 存儲,對文件一個一個地進行處理。用F8'步來檢查端口是否是輸入。 在此,以X的表數(shù)據(jù)為例進行說明。因為端口 A是輸入,所以,用 F9步來抽出輸出處的Y和端口名的C,利用F10步按照由F8存儲了 YC[1: 0的數(shù)據(jù)進行檢索。并且,用F10'步檢查是否一致。檢索的結(jié)果,因為存在,所以利用F12步把以下連接信息輸出到 文件B內(nèi)。在結(jié)果不一致的情況下,把端口的名稱或范圍不同等錯誤 信息輸出到存儲裝置23的記錄文件內(nèi),同時也顯示在CRT24上。A=> YC以下同樣地因為端口 B是輸出,所以,利用Fll步把以下的連 接信息輸出到文件B內(nèi)。 B= > XB以下,同樣地因為端口 Z是輸出,所以利用Fll步,把以下連 接信息輸出到文件B內(nèi)。z- > xz下面,端口 l是輸入,但利用F10步的檢索看不見"IOINPUT", 利用F13步,作為錯誤而輸出到記錄文件內(nèi),同時顯示在CRT24上。 但是,在與封裝端子相連接的端口的情況下,不是問題,相反根據(jù)輸 出到記錄上的錯誤信息,可以確認出是哪個實例的哪個端口與封裝的 哪個端子相連接。以下利用F12步驟把以下的連接信息輸出到文件B 內(nèi)。1= > IOINPUT在F12'步檢查全部表的全部端口是否已結(jié)束,在未結(jié)束的情況 下,返回到F8'步。 以上的處理,對Y、 Z的表數(shù)據(jù)也進行,當結(jié)束時利用F14步把 未能編制連接信息的端口輸出到記錄文件內(nèi),利用F15步來使由F6 步輸出的邏輯磁芯的實體和由Fll和F12步輸出的連接信息進行結(jié) 合,生成邏輯磁芯網(wǎng)表,輸出到存儲裝置23內(nèi),結(jié)束程序。以下利用附圖,詳細說明本發(fā)明第1實施方式的詳細程序。圖7 是表示本發(fā)明第1實施方式的詳細程序的流程圖。該流程圖詳細表示 在圖2說明的第1實施方式中以Sl輸出的邏輯磁芯為輸入的S2以后 的處理。圖中,實線表示處理的流程,虛線表示數(shù)據(jù)的流程。處理進 行前,操作輸入裝置,若需要由S2步輸出的邏輯磁芯,則利用復(fù)制等置內(nèi)的位置上。首先,檢查邏輯磁芯設(shè)計圖案(al)。然后檢查該邏輯磁芯設(shè)計 圖案是否良好(al')。在不是良好的情況下,檢查圖2說明的表數(shù)據(jù) 后再次執(zhí)行(a10)。在是良好的情況下,參照文件12、 13,進行組 合(a2),作為邏輯磁芯IO進行存儲。然后,參照由端子名和緩沖器 名構(gòu)成的表14,生成臨時邏輯磁芯(a3)。其結(jié)果,生成臨時邏輯磁 芯11。以下根據(jù)該臨時邏輯磁芯11和表14,插入輸入輸出緩沖區(qū)(a4 )。 然后,對邏輯磁芯IO和臨時邏輯磁芯ll進行比較檢查(a5)。并且, 檢查是否良好(a5')的比較結(jié)果,在是良好的情況下,進行終端處理 U6)。在不是良好的情況下,檢查器件封裝端子規(guī)格(a9),檢查 圖2說明的表數(shù)據(jù)之后,再次執(zhí)行(a10)。當a6步的終端處理結(jié)束時,參照合成結(jié)果文件15,填入電路數(shù) 據(jù)(a7 ),參照文件16,插入DFT電路(a8 )。以下進一步詳細說明在圖7中說明的各步驟。圖8是表示邏輯磁 芯設(shè)計圖案檢查控制的流程圖。首先檢查是否有邏輯磁芯的文件(all)。在有的情況下,用邏 輯合成工具來讀出(al2)。在沒有的情況下,不作任何動作。在al (參見圖7)步把在S2步輸出的邏輯磁芯作為輸入,對邏輯磁芯的 HDL描述方法、空輸入端口等進行檢查的步驟,若存在邏輯磁芯文件, 則在a12步把邏輯磁芯讀入到邏輯合成工具內(nèi)。邏輯合成工具具有在 讀入時檢查文法等的功能。結(jié)果若有錯誤,則用CRT確認內(nèi)容,如 a10步所示對描述塊的端口規(guī)格的表數(shù)據(jù)進行審查,再次檢查設(shè)計圖 案。圖9是表示組合控制的流程圖,它表示圖7的a步的詳細內(nèi)容。 首先檢查有無邏輯磁芯文件(al3),在有的情況下,檢查是否有組合 的實例文件(al4)。在有的情況下,即使al步的結(jié)果中沒有問題的 情況下,若有對可編程邏輯器件化的對象的塊名在一行內(nèi)一塊一塊記 載的文件13,則對其進行讀取(a21),在對象塊的階層信息進行保進行組合(a22 )。在使用組合功能的情況下,因為邏輯磁芯名成為對實例之間進行 連接的網(wǎng)名,所以,對邏輯磁芯的全部端口使網(wǎng)向邏輯磁芯內(nèi)部跟蹤, 利用最初發(fā)現(xiàn)的實例端口名在邏輯磁芯內(nèi)發(fā)生新的端口,變成網(wǎng)名稱 的邏輯磁芯的端口上所連接的網(wǎng)連接到發(fā)生的新的端口上,把成為網(wǎng) 名的端口刪除(a23)。這是為了制作新端口,消去老端口。以下檢查是否有監(jiān)視端口信息(a23')。在有的情況下,在邏輯 磁芯內(nèi)利用指定的實例的端口名來發(fā)生端口 ,與塊端子相連接(a24 )。 在沒有的情況下,把依存于器件技術(shù)的輸入輸出緩沖區(qū)不包括在內(nèi)的 網(wǎng)表輸出到存儲裝置10 (參見圖7)內(nèi)(a25),在此情況下,在顯示 裝置中,能夠利用邏輯合成工具的顯示功能來進行確認。在該a2步另外若有必要,則也可以發(fā)生組^^的塊端口作為邏輯 磁芯端口 (a24)。該功能使用于可編程邏輯器件的功能評價時具有欲 監(jiān)視的端口的情況下。指定方法是,如文件12所示,對于在每一行內(nèi) 記載一個端口的端口名的文件在組合和端口名稱更改后進行讀取。到此為止,因為設(shè)計者本身利用規(guī)定塊的端口規(guī)格的數(shù)據(jù)來生成 邏輯磁芯,所以,邏輯磁芯內(nèi)的塊之間的端口連接上應(yīng)當是沒有差錯。 然而,在直接使用Sl步(參見圖2)生成的邏輯磁芯的ASIC的情況 下,在邏輯磁芯內(nèi)塊的表數(shù)據(jù)中定義的器件封裝端子名稱, 一般參照 器件封裝端子規(guī)格,所以可能是單純的差錯或者印制電路板設(shè)計的更改等原因而出現(xiàn)了差錯。與此相反,由a2 (參見圖7)生成的邏輯磁 芯的端口成為器封裝端子的情況下,因為該端口成為規(guī)格,所以和上 述情況一樣可能有差異。該問題由a3步到a5步來解決。圖10是表示輸入輸出緩沖區(qū)插入控制的流程圖和處理的形象的 圖。該流程圖表示圖7的a4步的處理。在以下說明中,從a3到a5 作為單獨的,但處理是用一個命令連續(xù)處理。首先,檢查是否有外部端子信息和邏輯磁芯的文件(al5)。在 有時進行以下處理。a3與a2不同,如圖7的14所示在第1列中對端 子名稱進行定義,在第2列中對依存于所用器件技術(shù)的輸入輸出緩沖 區(qū)名進行義,這樣的器件封裝端子規(guī)格的表數(shù)據(jù)如果存在,那么,將 其讀取,編制出臨時的芯片設(shè)計圖案(對第l列的名稱的端子信息進 行描述的第l設(shè)計圖案)(a31),在其內(nèi)部發(fā)生上述臨時芯片設(shè)計圖 案作為單元(作為第l設(shè)計圖案的下級層,和進行描述的第l設(shè)計圖 案相同的端子信息進行描述的第2設(shè)計圖案),對上述設(shè)計圖案和上 述單元間的同一名稱的端口進行連接,向存儲裝置11內(nèi)輸出臨時邏輯 磁芯。在a4步,讀取存儲器11的臨時邏輯磁芯,對于器件封裝端子規(guī) 格表數(shù)據(jù)14的第2列內(nèi)有的輸入輸出緩沖區(qū),根據(jù)芯片端子信息向臨 時邏輯磁芯網(wǎng)插入依存于器件技術(shù)的輸入輸出緩沖區(qū)(a32)。在a5步,在上述臨時邏輯磁芯的端口中由于是不涉及與功能無 關(guān)的邏輯的器件特有,而消除測試用等的端口,作為內(nèi)部單元與存儲 裝置10的邏輯磁芯進行替換(a33),檢查出是否具有端子名不一致 (a33')。如果2個邏輯磁芯之間的端口名稱全部一致,那么填充成 功。這樣一來,能夠交叉檢查器件封裝端子規(guī)格表數(shù)據(jù)的端子名稱和 邏輯磁芯的端口名稱,能夠消除上述問題。在一致的情況下結(jié)束處理, 在不一致的情況下輸出網(wǎng)表。在失敗的情況下,如a9步所示,檢查器件封裝端子規(guī)格,從a3 者如alO步所示,檢查對塊端子規(guī)格進行定義的 表數(shù)據(jù),從S1步(參見圖2)起再次執(zhí)行。在成功的情況下,把邏輯 磁芯階層展開,形成芯片。在a6步,在上述芯片的全部塊的輸出入端口上,把觸發(fā)電路連 接到塊內(nèi)部,作為終端。該終端處理是為了,即使存在電路設(shè)計未完 成的塊,也能生成網(wǎng)表,沒有問題,能夠進行規(guī)劃布局作業(yè)。在a7步,邏輯合成完畢的電路數(shù)據(jù)從合成結(jié)果庫中讀出,填充 到對應(yīng)的塊內(nèi)。這時,如果不存在對芯片內(nèi)部的塊的合成結(jié)果,而且 塊的設(shè)計圖案名稱或單元名稱符合命名規(guī)則,那么,預(yù)先按規(guī)則在該 塊內(nèi)部對該塊的輸入端口和輸出端口進行連接處理。該處理,在可編程邏輯器件的情況下不存在;在使可編程邏輯器 件的DLL等特有的塊成為ASIC的情況下才進行。通過不消除該塊而 在塊內(nèi)部連接的處理,能夠保持整體結(jié)構(gòu)。并且,在塊內(nèi)部存在存儲 器等宏功能的情況下,替換成器件特有的存儲器電路數(shù)據(jù)。A8在ASIC的情況下的處理中,測試器件的SCAN測試電路自 動插入,或者輸入一種對塊的順序進行定義的文件16,以便連接SCAN 測試電路,按定義順序進行連接。如上所述,若采用本第1實施方式,則根據(jù)設(shè)計文件中的數(shù)據(jù)來 生成邏輯磁芯,在從該邏輯磁芯保持階層結(jié)構(gòu)和連接信息的狀態(tài)下, 為可編程邏輯器件用重新生成邏輯磁芯,這樣的效果是能夠共用電路 結(jié)構(gòu),對該邏輯磁芯填充電路數(shù)據(jù)功能進行驗證的實例內(nèi)的不依存于 器件技術(shù)的電路數(shù)據(jù)和實例間的網(wǎng),能夠在ASIC化的情況下避免重 新驗證。因此其效果是,也能夠?qū)SIC和可編程邏輯器件高效率地 并行開發(fā)?!吹?實施方式〉以下詳細說明涉及本發(fā)明的ASIC和FPGA的并行開發(fā)系統(tǒng)。而 且,邏輯的設(shè)計語言有C語言、UML等,在第2實施方式中用HDL 作為設(shè)計語言進行說明。首先,說明涉及第2實施方式的ASIC和FPGA的并行開發(fā)的概
念。圖12是說明涉及第2實施方式的ASIC和FPGA的并行開發(fā)概念 用的說明圖。如同圖所示,該ASIC和FPGA的并行開發(fā)的特征是 為了使利用FPGA的樣機驗證和ASIC工具設(shè)計同時進行,根據(jù)ASIC 工具設(shè)計來提供一種ROM數(shù)據(jù),其中記錄了樣機驗證所必須的FPGA 電路,能夠周密無縫地開發(fā)FPGA和ASIC。在該ASIC和FPGA的并行開發(fā)中,在電路結(jié)構(gòu)研究中考慮到用 FPGA來驗證樣機,利用適當?shù)念A(yù)計規(guī)模的實現(xiàn)電路來劃分實現(xiàn)功能, 涉及ASIC和FPGA之間的結(jié)構(gòu)不同時功能劃分階層等,對ASIC和 FPGA設(shè)計間的通用功能塊構(gòu)成的功能塊的端口制定規(guī)格。該功能塊 構(gòu)成和功能塊的端口規(guī)格數(shù)據(jù),成為ASIC的工具設(shè)計的布局、邏輯 合成、規(guī)劃設(shè)計的通用數(shù)據(jù)。在RTL設(shè)計驗證中,根據(jù)電路結(jié)構(gòu)研究結(jié)果的結(jié)構(gòu),進行ASIC 和FPGA通用的RTL設(shè)計,對每種功能以角盒為重點用邏輯檢測工 具進行軟件驗證。與該RTL設(shè)計驗證同時進行ASIC邏輯合成,若能 確保ASIC的特性,則下面進行FPGA邏輯合成,在樣機用基板上的 FPGA上逐個形成電路,能夠用FPGA的樣機來進行驗證。另一方面,在ASIC的規(guī)劃布局中,根據(jù)ASIC和FPGA設(shè)計間 的通用功能塊結(jié)構(gòu),隨時同時反映軟件驗證和樣機的驗證結(jié)果,這樣 來縮短從FPGA的樣機的驗證完畢起到ASIC開發(fā)完畢為止的周期。以下說明涉及第2實施方式的ASIC和FPGA的并行開發(fā)系統(tǒng)的 系統(tǒng)結(jié)構(gòu)。圖13是功能塊圖,它表示涉及第2實施方式的ASIC和 FPGA的并行開發(fā)系統(tǒng)的結(jié)構(gòu)。如同圖所示,該ASIC和FPGA的并 行開發(fā)系統(tǒng)200具有防火墻210、網(wǎng)服務(wù)器220、用戶認證服務(wù)器 230、用戶管理服務(wù)器240、邏輯合成服務(wù)器250、郵件服務(wù)器260、 文件服務(wù)器270、應(yīng)用服務(wù)器280和監(jiān)視服務(wù)器290。并且,該ASIC和FPGA的并行開發(fā)系統(tǒng)200,能夠通過互聯(lián)網(wǎng) 由網(wǎng)客戶機IOO來利用。防火墻210是一種對從互聯(lián)網(wǎng)來的訪問要求,只接受符合設(shè)定通 信程序的訪問要求的計算機,它能防止從外部向ASIC和FPGA的并
行開發(fā)系統(tǒng)200的不正當訪問。網(wǎng)服務(wù)器220是對通過互聯(lián)網(wǎng)而形成的網(wǎng)客戶機IOO發(fā)出的要求 進行信息發(fā)送的計算機,它具有以下各部分僅由構(gòu)成ASIC和FPGA 的功能塊的端口和功能塊的端口之間的連接信息來生成邏輯磁芯的邏 輯磁芯生成接口程序221、邏輯合成接口程序222、擬合接口程序223、 狀況顯示接口程序224、邏輯磁芯生成所必需的格式文件和邏輯合成 所必須的格式文件,該計算機根據(jù)網(wǎng)客戶機100的要求,執(zhí)行這些程 序,把結(jié)果發(fā)送到網(wǎng)客戶機IOO內(nèi)。用戶認證服務(wù)器230是進行用戶認證的計算機,它登記根據(jù)合同 使用的用戶名和通行字。用戶管理服務(wù)器240是進行用戶登記、撤消 的計算機,它登記根據(jù)合同而使用的用戶名和下述項目名及郵件地址。邏輯合成服務(wù)器250是具有ASIC邏輯磁芯生成程序251、FPGA 邏輯磁芯生成程序252、 ASIC邏輯合成程序253、 FPGA邏輯合成程 序254、作為FPGA的規(guī)劃布局的擬合程序255的計算機,該邏輯合 成服務(wù)器250中的邏輯合成和擬合的程序,由邏輯合成接口程序222 進行起動,讀取文件服務(wù)器270內(nèi)存儲的RTL源,執(zhí)行ASIC和FPGA 的邏輯合成和FPGA的擬合。郵件服務(wù)器260是具有郵件收發(fā)軟件的計算機,它把網(wǎng)服務(wù)器 220執(zhí)行的處理信息、從網(wǎng)客戶機100來的信息以郵件方式分配給用 戶和系統(tǒng)。文件服務(wù)器270是存儲邏輯合成對象RTL源、邏輯合成結(jié)果、 FPGA的ROM數(shù)據(jù)等的存儲媒體。圖14是表示在文件服務(wù)器內(nèi)存儲 數(shù)據(jù)用的目錄結(jié)構(gòu)一例的圖。同圖所示的項目(project)41是開發(fā) ASIC和FPGA的項目名或ASIC的外號的目錄,該名稱根據(jù)合同來 設(shè)定。1042是存儲為生成邏輯磁芯用的數(shù)據(jù)的目錄,在構(gòu)成ASIC的功 能塊單位內(nèi),具有目錄ASIC48,其存放邏輯磁芯生成用表的文件,其中敘述了圖 15所示的功能塊的端口規(guī)格;以及目錄FPGA49,其中由邏輯磁芯生成接口程序221根據(jù)用戶指定 來復(fù)印并存儲目錄ASIC48內(nèi)的邏輯磁芯生成用表的文件。并且,在目錄FPGA49的下面,具有由用戶指定的FPGA編號 的數(shù)的目錄,而且,邏輯磁芯生成用表和邏輯磁芯生成接口程序221 的詳細內(nèi)容待以后敘述。邏輯磁芯43是存放由邏輯磁芯生成程序生成的邏輯磁芯的目錄, 其具有根據(jù)構(gòu)成ASIC的功能塊端口規(guī)格對生成的ASIC邏輯磁芯 進行存放的目錄ASIC50、以及根據(jù)構(gòu)成FPGA的功能塊的端口規(guī)格 而存放FPGA邏輯磁芯的目錄FPGA51。RTL44是存放電路設(shè)計數(shù)據(jù)(以下稱為RTL)的目錄,其表現(xiàn) 采用HDL(硬件描述語言),由用戶從下述的邏輯合成接口進行上裝, 它具有構(gòu)成ASIC邏輯磁芯的功能塊單位內(nèi)存放的目錄ASIC52、以及 根據(jù)用戶指定而復(fù)印并存放ASIC目錄內(nèi)的RTL的目錄FPGA53。綜合45是用于存放由邏輯合成服務(wù)器250對RTL進行邏輯合成 的結(jié)果的目錄,其具有目錄ASIC54,其具有把ASIC的邏輯合成結(jié)果存放到構(gòu)成ASIC 邏輯磁芯的功能塊單位內(nèi)的目錄、以及目錄FPGA55,其具有用于存放各個FPGA的邏輯合成結(jié)果的目錄。ROM46是存放ROM數(shù)據(jù)的目錄,其中存儲的FPGA電路數(shù)據(jù), 根據(jù)FPGA邏輯合成結(jié)果在作為FPGA的規(guī)劃布局的擬合之后而生成 的,具有按每個FPGA進行存放的目錄。規(guī)劃布局47是由ASIC的規(guī)劃布局設(shè)計負責人進行ASIC規(guī)劃布 局設(shè)計的作業(yè)目錄。應(yīng)用服務(wù)器280是具有ASIC布局,規(guī)劃布局設(shè)計、定時驗證用 的程序的計算機。利用該計算機由工具設(shè)計者來進行ASIC的平面布 置、規(guī)劃設(shè)計、定時驗證。監(jiān)視服務(wù)器290取得在用戶管理服務(wù)器240內(nèi)登記的用戶名和項 目名,位于各項目名的目錄內(nèi)的數(shù)據(jù)中,由工具設(shè)計人負責管理的目錄規(guī)劃布局47內(nèi)的數(shù)據(jù)和其他目錄內(nèi)的數(shù)據(jù)的比較、邏輯合成、規(guī)劃 布局處理中需要工具的時間的收集,1天收集1次,分2次進行,第l 次把更改內(nèi)容通知到工具設(shè)計人員,第2次收集的時間作為基礎(chǔ),對 反映更改的日程進行更新。以下說明第2實施方式的ASIC和FPGA的并行開發(fā)系統(tǒng)200的 處理程序。圖16是表示第2實施方式的ASIC和FPGA的并行開發(fā)系 統(tǒng)200的處理程序的流程圖。如同圖所示,若用網(wǎng)客戶機100來訪問該ASIC和FPGA的并行 開發(fā)系統(tǒng)200,則網(wǎng)服務(wù)器220把圖17所示的錄入畫面的顯示控制數(shù) 據(jù)發(fā)送到網(wǎng)客戶機IOO內(nèi),網(wǎng)客戶機100根據(jù)已收到的數(shù)據(jù)來顯示畫 面。用戶在該錄入畫面上輸入根據(jù)合同進行登記的用戶名和通行字, 按壓Login鈕,則網(wǎng)客戶機100把用戶名和通行字發(fā)送到網(wǎng)服務(wù)器220 內(nèi)。網(wǎng)服務(wù)器220向用戶認證服務(wù)器230詢問已收到的用戶名和通行 字。用戶認證服務(wù)器230對是否登記了用戶名和通行字進行確認(S501 步),將其結(jié)果返回到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220在被用戶認證 服務(wù)器230拒絕的情況下,把錄入拒絕畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng) 客戶機100內(nèi),網(wǎng)客戶機100根據(jù)收到的數(shù)據(jù),在畫面上顯示出錄入 拒絕,結(jié)束(S502步)。網(wǎng)服務(wù)器220在從用戶認證服務(wù)器230接受錄入的情況下,把圖 18所示的程序畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機100內(nèi),網(wǎng)客戶機 IOO根據(jù)收到的數(shù)據(jù),顯示出程序畫面(S503步)。用戶根據(jù)圖18所示的程序畫面,選擇菜單,進行ASIC和FPGA 的并行開發(fā)。用戶若選擇"格式l"和"格式2", (S504步的肯定), 則位于網(wǎng)服務(wù)器220內(nèi)的對象的設(shè)計所需要的格式文件下載到網(wǎng)客戶 機100內(nèi)(S505步)。"格式l"是圖15所示的邏輯磁芯生成用表的格式數(shù)據(jù)。"格式2" 是在下述的ASIC的邏輯合成中使用的ASIC的封裝的端子名稱和端 子編號分配、以及ASIC和外部器件之間進行電氣連接用的輸入輸出
緩沖區(qū)進行定義的表格式數(shù)據(jù)。用戶若選擇邏輯磁芯生成(S506步的肯定),則網(wǎng)客戶機100 把選擇了邏輯磁芯生成一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220對 邏輯磁芯生成接口程序221進行起動(S507步)。若用戶選擇邏輯合成(S508步的肯定),則網(wǎng)客戶機把選擇了 邏輯合成一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220對邏輯合成接口 程序222進行起動(S509步)。用戶若選擇了擬合(S510步的肯定),則網(wǎng)客戶機100把已選 擇了擬合一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220對擬合接口程序 223進行起動(S511步)。用戶若選擇狀況顯示(S512步的肯定),則網(wǎng)客戶機100把選 擇了狀況顯示一事發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220對狀況顯示 接口程序224進行起動(S513步)。以下說明邏輯磁芯生成接口程序221的處理程序。圖19是表示 邏輯磁芯生成接口程序221的處理程序的流程圖。如同圖所示,該邏 輯磁芯生成接口程序221,把圖20所示的邏輯磁芯生成接口畫面的顯 示控制數(shù)據(jù)發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220把收到的邏輯磁芯 生成接口畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機100內(nèi),網(wǎng)客戶機100 根據(jù)已收到的邏輯磁芯生成接口畫面的顯示控制數(shù)據(jù),顯示出邏輯磁 芯生成接口畫面(S801步)。用戶輸入項目名,選擇執(zhí)行鈕,根據(jù)由網(wǎng)客戶機100顯示的文件 選擇畫面來指定圖15所示的邏輯磁芯生成用表的文件,以便對用于生 成ASIC邏輯磁芯的構(gòu)成ASIC的功能塊的IO規(guī)格進行定義。網(wǎng)客戶機100向網(wǎng)服務(wù)器220內(nèi)發(fā)送項目指定數(shù)據(jù)和IO邏輯磁 芯生成用表的文件,網(wǎng)服務(wù)器220在文件服務(wù)器270內(nèi)編制圖14所示 的1042、邏輯磁芯43、 RTL44、綜合45、 ROM46、規(guī)劃布局47等 (S802步),在1042下面的目錄ASIC48內(nèi)存放邏輯磁芯生成用表 的文件,指定項目名,執(zhí)行ASIC邏輯磁芯生成程序251,把執(zhí)行過 程ID存放到存儲器內(nèi)(S803步)。
在此,說明ASIC邏輯磁芯生成程序251的處理程序。圖21、圖 22是表示ASIC邏輯磁芯生成程序251的處理程序的流程圖。如圖21 所示,該ASIC邏輯磁芯生成程序251從圖14的目錄ASIC48中讀取 圖15所示的邏輯磁芯生成用表X、 Y、 Z, —個一個地進行文件處理。邏輯磁芯生成用表X、 Y、 Z是對根據(jù)電路結(jié)構(gòu)研究結(jié)果而編制 的功能塊的端口規(guī)格,按照已定義的"格式l"進行了定義的表。該表 是在設(shè)計功能塊時一定要編制的,它由以下部分構(gòu)成功能塊名、實 例名、端口名、范圍、輸出入、種類、輸出處實例名、輸出處實例的 輸出端口名等。所謂實例是指參照構(gòu)成ASIC的功能塊,在使用多個 同 一 功能的功能塊的情況下,改變實例名稱進行組裝。首先,讀取X的數(shù)據(jù)(SIOOI步),抽出端口 A的表的全部數(shù)據(jù), 存放到存儲器內(nèi)(S1002步),檢查端口 A是否為輸出(S1003步)。 其結(jié)果,端口A為輸入,所以,以下檢查封裝端子的連接關(guān)鍵字"IO" 的有無(S1005步)。其結(jié)果沒有連接關(guān)鍵字"IO,,,所以,把下面的 端口 B的全部數(shù)據(jù)存儲到存儲器內(nèi)。因為端口 B是輸出,所以,把"XB"以A的名稱在圖14的目錄 ASIC50上進行文件輸出(S1004步)。以下因為沒有封裝端子的連接 關(guān)鍵字"IO",所以,把以下的端口 Z的全部數(shù)據(jù)存儲到存儲器內(nèi)。因 為端口Z是輸出,所以把"XZ2: 0,,輸出到文件A上。以下因為沒有 封裝端子的連接關(guān)鍵字"IO",所以把以下的端口 I的全部數(shù)據(jù)存儲到 存儲器內(nèi)。端口I是輸入,以下因為有封裝端子的連接關(guān)鍵字"IO",所以, 把"INPUT, in, 2: 0"作為邏輯磁芯的端口名存儲到存儲器內(nèi)(S1006 步)。這樣結(jié)束X的全部端口的處理(S1007步的肯定),根據(jù)HDL 的文法對端口名、輸出入和范圍信息進行了定義的實體文件,用X的 名稱在圖14的目錄ASIC50上進行文件輸出(S1008步)。輸出的內(nèi) 容,若是VHDL,則為以下內(nèi)容A: in std—logic;B: out std—logic; Z: out std—logic—vector(2 downto 0); Ir in std—logic;并且,對Y、 Z數(shù)據(jù)也進行以上處理。并且,在該階段,在文件 A內(nèi)記錄以下數(shù)據(jù)。XB、 XZ2: 0、YC[l: 0,YO、 ZF以上若結(jié)束X、 Y、 Z的全部文件的處理(S1009步的肯定), 則讀取上述文件A (S1010步)數(shù)據(jù),存儲到存儲器內(nèi)(S1011步), 一個個地處理文件,在此,以X表的數(shù)據(jù)為例進行說明。首先檢查端 口 A是否是輸入(S1012步),其結(jié)果,因為端口A是輸入,所以, 抽出輸出處的Y和端口名的C (S1013步)。并且,用YC[1; O]來檢 索存儲器(S1014步),檢查有無一致的數(shù)據(jù)(S1016步)。其結(jié)果, 因為在存儲器內(nèi)有一致的數(shù)據(jù),所以,把以下連接信息用B的名稱在 圖14的目錄ASIC50上進行文件輸出(S1018步)。在結(jié)果不一致的 情況下,端口名稱或范圍不同等錯誤信息輸出到目錄ASIC50的記錄 文件內(nèi)(S1017步)。A= > YC同樣,因為端口 B是輸出,所以把以下的連接信息輸出到目錄 ASIC50的文件B內(nèi)(S1015步)。 B=>XB同樣,因為端口 Z是輸出,所以把以下的連接信息輸出到目錄 ASIC50的文件B內(nèi)。z= > xz同樣,端口 I是輸入,通過檢索不能發(fā)現(xiàn)"IOINPUT",所以,作 為錯誤而輸出到目錄ASIC50的記錄文件內(nèi)。但是,在與封裝端子相 連接的端口的情況下,不是問題,相反而是能夠根據(jù)向記錄輸出的錯誤信息,來確認是哪個實例的哪個端口與封裝的哪個端子相連接。以 下把下面的連接信息輸出到目錄ASIC50的文件B內(nèi)。 1= > IOINPUT若以上的處理也對Y、Z的表數(shù)據(jù)進行并結(jié)束(S1019步的肯定),
則不能編制連接信息的端口被輸出到記錄文件內(nèi)(S1020步),若是 VHDL,則把具有以下信息的ASIC邏輯磁芯的實體文件輸出到目錄 ASIC50內(nèi)(S1021步)。INPUT: instd一logicOUT: in std—logic并且,把邏輯磁芯的實體文件和連接信息結(jié)合起來,利用圖17 指示的項目名把ASIC邏輯磁芯在目錄ASIC50上進行文件輸出,結(jié) 束處理,返回到圖19所示的邏輯磁芯生成接口程序221內(nèi)(S1022步)。邏輯磁芯生成接口程序221檢索目錄ASIC50內(nèi)的記錄文件中有 無錯誤。若記錄了錯誤(S804步的肯定),則讀取錯誤(S805步), 把項目名、以項目名來詢問用戶管理服務(wù)器240而獲得的用戶郵件地 址、錯誤信息和工藝過程ID發(fā)送到郵件服務(wù)器260內(nèi),從郵件服務(wù) 器260向用戶發(fā)送郵件(S806步)。用戶通過該郵件來確認錯誤內(nèi)容, 反復(fù)進行邏輯磁芯生成處理直到錯誤消失為止。另一方面,若在記錄文件內(nèi)沒有記錄錯誤,(S804步的否定), 則把項目名、以項目名來詢問用戶管理服務(wù)器240而獲得的用戶郵件 地址、錯誤信息和工藝過程ID以及邏輯磁芯生成結(jié)束信息發(fā)送到郵 件服務(wù)器260內(nèi)(S807步),從郵件服務(wù)器260向用戶發(fā)送郵件。并且,在目錄ASIC50內(nèi)用"CORE+工藝過程ID+日時"的名稱來 編制目錄,把在目錄ASIC50內(nèi)用項目名生成的邏輯磁芯和記錄文件 移動到該目錄內(nèi),在該目錄內(nèi)用IO名稱編制貝錄,把在邏輯磁芯生 成中使用的目錄ASIC48內(nèi)所具有的表數(shù)據(jù)移動到該IO目錄中,在邏 輯合成服務(wù)器250內(nèi)的邏輯磁芯檢查程序中指定出利用項目名 "CORE+工藝過程ID+時日"的名稱編制的邏輯磁芯的目錄名稱,對邏 輯磁芯檢查程序進行起動(S808步)。該邏輯磁芯檢查程序?qū)壿嫼铣晒ぞ呙畹拿枋鋈缦逻M行 ASIC邏輯磁芯的文法檢查,構(gòu)成邏輯磁芯的各實例的輸出入端口的 未連接檢查,輸出報告。在此,說明邏輯磁芯檢查程序的處理程序。圖23是表示邏輯磁芯檢查程序的處理程序的流程圖。該邏輯磁芯檢查程序檢查位于收到的項目名的目錄下,在圖14的目錄ASIC50內(nèi)是否具有作為對象的 ASIC邏輯磁芯目錄進行檢查(S1201步),如果有,那么就把WORK 目錄編制到具有該邏輯磁芯目錄的ASIC目錄內(nèi)(S1202步),使邏 輯合成工具進行檢查(S1203步)。當執(zhí)行結(jié)束時,從WORD目錄內(nèi)的報告文件內(nèi)抽出錯誤信息, 利用項目名來詢問用戶管理服務(wù)器240而獲得的用戶郵件地址、以及 從邏輯磁芯目錄名中抽出的工藝過程ID—起被送入到郵件服務(wù)器260 內(nèi),從郵件服務(wù)器260發(fā)送給用戶(S1204步)。由用戶根據(jù)發(fā)來的 郵件內(nèi)容,確認錯誤信息是否是預(yù)期的。利用這一連串流程而生成的邏輯磁芯,能夠保證在用戶的邏輯設(shè) 計中只要構(gòu)成ASIC的實例之間的接線沒有差錯,就一定能組裝成 ASIC。該效果通過邏輯驗證即可看出。在構(gòu)成ASIC的多個實例的功 能驗證中出現(xiàn)與預(yù)期不同的動作的情況下,能保持實例間的連接,所 以,可以針對構(gòu)成實例的各個功能進行調(diào)試,排除故障。以下說明用戶在圖18的程序畫面中,選擇狀況顯示時的處理。 若用戶在圖18的程序畫面上選擇狀況顯示,則起動狀況顯示接口程序 224。該狀況顯示接口程序224把圖24所示的狀況顯示選擇畫面的顯 示控制數(shù)據(jù)發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220把收到的狀況顯示 選擇畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機100內(nèi),網(wǎng)客戶機100根據(jù) 收到的狀況顯示選擇畫面的顯示控制數(shù)據(jù)來顯示畫面。若在該畫面上由用戶來選擇邏輯磁芯制作,則這次狀況顯示接口 程序224生成一種沒有圖25所示的邏輯磁芯生成狀況畫面的邏輯磁芯 的名稱顯示的顯示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220 把收到的邏輯磁芯生成狀況畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)^1戶機100 內(nèi),網(wǎng)客戶機IOO根據(jù)收到的邏輯磁芯生成狀況畫面的顯示控制數(shù)據(jù) 來顯示畫面。若在該畫上由用戶輸入項目名,選擇顯示鈕,則由網(wǎng)客戶機IOO 把項目名發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù)器220收到了項目名的狀
況顯示接口程序224從指定的項目名的目錄中抽出圖14的目錄 ASIC50內(nèi)的邏輯磁芯的目錄名稱,更新邏輯磁芯生成狀況畫面的顯 示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220把收到的邏輯磁芯生成狀況畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機IOO內(nèi),網(wǎng)客戶機IOO 根據(jù)收到的邏輯磁芯生成狀況畫面的顯示控制數(shù)據(jù)而顯示畫面。在該 畫面上,顯示出先生成的ASIC邏輯磁芯目錄名稱。在此,說明ASIC邏輯磁芯生成狀況顯示畫面的處理程序。圖26 是表示ASIC邏輯磁芯生成狀況顯示畫面的處理程序的流程圖。如該 圖所示,若用戶選擇已顯示的邏輯磁芯中的某一個,選擇下載(S1501 步),則能夠把對象邏輯磁芯下載到網(wǎng)客戶機100內(nèi)(S1502步)。 該已下載的邏輯磁芯可以作為ASIC的芯片級的網(wǎng)表使用于邏輯驗 證,能夠如上所述針對構(gòu)成實例的功能進行調(diào)試。另一方面,若用戶指定邏輯磁芯名稱,選擇FPGA化鈕(S1503 步),則網(wǎng)客戶機100把已選擇了項目名、邏輯磁芯名稱和FPGA化 一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220把已收到的數(shù)據(jù)發(fā)送到狀 況顯示接口程序224內(nèi)。狀況顯示接口程序224抽出位于圖14的目錄 ASIC50內(nèi)的、位于作為對象的邏輯磁芯名稱的目錄下的IO目錄內(nèi)的 表數(shù)據(jù)的文件名稱,其結(jié)果,編制出圖27所示的FPGA邏輯磁芯生 成接口畫面的顯示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220把已收到的FPGA邏輯磁芯生成接口畫面的顯示控 制數(shù)據(jù)發(fā)送到網(wǎng)客戶機100內(nèi),網(wǎng)客戶機100根據(jù)已收到的FPGA邏 輯磁芯生成接口畫面的顯示控制數(shù)據(jù)來顯示畫面(S1504步)。在該 畫面上,已指定的項目名、邏輯磁芯名、構(gòu)成邏輯磁芯的實例名的表 列出在左側(cè)的列表框內(nèi)。并且,在該畫面上也能夠改變對象的邏輯磁 芯,若用戶指定項目名和邏輯磁芯名,則通過圖25所指定的同樣的處 理來更新畫面。再者,該畫面是根據(jù)構(gòu)成對象ASIC的邏輯磁芯的實例的表數(shù)據(jù) 而生成FPGA的邏輯磁芯的接口,用戶從左側(cè)的列表框中指定實例, 選擇追加鈕,在右側(cè)的列表框內(nèi)追加實例。在該右側(cè)的列表框內(nèi)列表的實例成為一個FPGA。如果用戶選擇實例,設(shè)定出作為FPGA名和 管理用的追加編號的一以上的一意的整數(shù)的FPGA編號,選擇執(zhí)行鈕, 那么,網(wǎng)客戶機100向網(wǎng)服務(wù)器220內(nèi)發(fā)送對象的項目名、ASIC的 邏輯磁芯名、FPGA名、作為FPGA的實例名的表(清單)和FPGA 的編號,由網(wǎng)服務(wù)器220向狀況顯示接口程序224內(nèi)發(fā)送已收到的數(shù) 據(jù)。并且,狀況顯示接口程序224根據(jù)已收到的實例名的表,按照圖 14的目錄FPGA49內(nèi)指定的FPGA編號,編成目錄,從位于圖14的 目錄ASIC50的、CORE名稱的目錄下的IO目錄中,把名稱一致的 表數(shù)據(jù)復(fù)制到上述編號的目錄中,把表數(shù)據(jù)名的表作為自變量,執(zhí)行 FPGA邏輯磁芯生成程序252。在此,說明FPGA邏輯磁芯生成程序252的處理程序程的流程圖。 圖28和圖29是表示FPGA邏輯磁芯生成程序252的處理程序的流程 圖。圖28與圖21所示的處理相同,并且,除S1717步和S1720步外, 圖29與圖22所示的處理相同,所以,僅說明這2個步驟。在圖22的S1017步,被定義為對象的實例的輸入的端口內(nèi)定義 的連接目的方的實例名及其輸出端口名不在存儲器內(nèi)所存儲的信息中 的情況下,作為錯誤而輸出到記錄文件內(nèi)。在圖29的S1717步原來作 為ASIC邏輯磁芯能夠保證實例的端口間連接,所以,在該S1717步 不是錯誤而是作為封裝的輸入端子信息而追加存儲在存儲器內(nèi)。并且,在圖22的S1020步,把最終剩余的未連接的端口信息輸 出到記錄文件內(nèi)。另一方面,在S1720步,利用圖14的目錄ASIC50 下的"CORE+過程ID+日期,,而編制的對象ASIC邏輯磁芯目錄中的記 錄文件和在S1702步輸出的文件進行比較,在S1020步輸出的記錄文 件中沒有的輸出端口作為封裝的輸出端子信息而追加存儲到存儲器 內(nèi)。然后和S1020步一樣,利用圖14的目錄FPGA51下的指定的編 號的目錄內(nèi)所指定的FPGA名稱對邏輯磁芯進行文件輸出。并且,狀況顯示接口程序224讀取FPGA邏輯磁芯文件,對作為
封裝的輸出入的端子數(shù)進行計數(shù),對圖30所示的互換封裝的表的第2 列內(nèi)的IO數(shù)內(nèi)所占的比例全部計算出來,抽出比例最大的封裝及其 互換封裝數(shù)據(jù),更新圖27所示的FPGA邏輯磁芯生成接口畫面的封 裝名、IO使用率的畫面顯示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服 務(wù)器220把已收到的FPGA邏輯磁芯生成接口畫面的顯示控制數(shù)據(jù)發(fā) 送到網(wǎng)客戶機100內(nèi),網(wǎng)客戶機IOO根據(jù)已收到的FPGA邏輯磁芯生 成接口畫面的顯示控制數(shù)據(jù),對輸入畫面進行更新。用戶若不能滿足該結(jié)果,則再次重新生成FPGA邏輯磁芯。若用 戶選擇決定,則網(wǎng)客戶機100把選擇決定,把FPGA編號、封裝名和 IO使用率的數(shù)據(jù)發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù)器220收到這些數(shù) 據(jù)的狀況顯示接口程序224編制出由圖14的目錄FPGA55所指定的 編號的目錄,例如用plist名稱對收到的數(shù)據(jù)進行文件輸出。以下說明邏輯合成接口程序222的處理程序。圖31是表示邏輯 合成接口程序222的處理程序的流程圖。如該圖所示,該邏輯合成接 口程序222把圖32所示的邏輯合成接口畫面的顯示控制數(shù)據(jù)發(fā)送還到 網(wǎng)服務(wù)器220內(nèi),網(wǎng)服務(wù)器220把已收到的邏輯合成接口畫面的顯示 控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機IOO內(nèi),網(wǎng)客戶機100根據(jù)已收到的邏輯合 成接口畫面的顯示控制數(shù)據(jù)來顯示畫面(S2001步)。用戶指定項目名、圖25所表示的對象的邏輯磁芯名、邏輯合成 的對象功能塊名和組裝的FPGA編號,而且指定出是面積優(yōu)先還是速 度優(yōu)先,是調(diào)試(不進行FPGA邏輯合成)還是Fix (進行FPGA邏 輯合成)(S2002步),若選擇執(zhí)行鈕(S2003步),網(wǎng)客戶機100 顯示出數(shù)據(jù)選擇畫面。若用戶根據(jù)該畫面而選擇出邏輯合成RTL源,則這些數(shù)據(jù)由網(wǎng) 客戶機100將其發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù)器220收到數(shù)據(jù)的 邏輯合成接口程序222對RTL源利用圖14的目錄ASIC52內(nèi)指定的 功能塊名來編制目錄,放入RTL ( S2004步)。并且,逐個文件地讀 取RTL源,把記栽RTL源內(nèi)的更改履歷、版數(shù)等的標題部分內(nèi)由用 戶定義的工作頻率數(shù)據(jù)抽出來,對已抽出的值增加20%后的頻率值和
用戶指定的速度優(yōu)先或面積優(yōu)先的邏輯合成條件作為邏輯合成的制約,指定邏輯合成對象的功能塊名,執(zhí)行ASIC邏輯合成工具的ASIC 邏輯合成程序253 ( S2005步)。若結(jié)束ASIC邏輯合成,則邏輯合成接口程序222把位于圖14 目錄ASIC54下的指定功能塊的目錄內(nèi)輸出了 ASIC邏輯合成程序253 的結(jié)果的端口文件、以及利用項目名來詢問用戶管理服務(wù)器240而獲 得的用戶的郵件地址和塊名發(fā)送到郵件服務(wù)器260內(nèi),從郵件服務(wù)器 260向用戶發(fā)送郵件(S2006步)。并且,邏輯合成接口程序222對圖14的目錄ASIC52下指定的 功能塊名所編制的目錄內(nèi)存在的全部RTL源進行該處理過程。若全部 RTL的邏輯合成結(jié)束(S2007步的肯定),則邏輯合成接口程序222 在指定為速度優(yōu)先的情況下(S2008步的肯定),檢索全部RTL的邏 輯合成結(jié)果報告,判斷出是否滿足由RTL源定義的工作頻率(S2009 步 S2010步)。在重視面積的情況下什么也不進行。然后,調(diào)查Fix指定(S2011步),若指定Fix,則邏輯合成接 口程序222利用指定的FPGA編號在圖14的目錄FPGA55下編制目 錄,其中,對位于圖14的目錄ASIC52下的指定的功能塊目錄內(nèi)的 RTL進行復(fù)制存儲,把指定的項目名和FPGA編號作為自變量,執(zhí)行 FPGA邏輯合成接口程序(S2012步)。并且,邏輯合成接口程序222起動邏輯合成工具,從位于圖14 的目錄ASIC50內(nèi)的指定的CORE目錄中,讀取ASIC邏輯磁芯,為 此向邏輯合成工具內(nèi)輸入命令,由用戶上裝,存在于圖14的目錄 ASIC54內(nèi)的ASIC封裝端子分配、與ASIC相連接的外部器件和電氣 接口的緩沖區(qū)被定義的文件被讀取,根據(jù)定義把命令輸入到邏輯合成 工具內(nèi),這樣一來,把ASIC的緩沖區(qū)和掃描等測試電路插入到ASIC 的邏輯磁芯的端子和與封裝端子相連接的芯片的襯墊之間進行連接, 然后,向邏輯合成工具內(nèi)輸入命令,把已完成了邏輯合成的圖14的目 錄ASIC52下的全部目錄中的功能塊數(shù)據(jù)進行讀取,填入到邏輯磁芯 內(nèi),為規(guī)劃布局設(shè)計用而生成ASIC網(wǎng)表,用項目名向圖14目錄ASIC54內(nèi)輸出文件(S2013步)。以下說明FPGA邏輯合成接口程序222的處理程序。圖33是表 示FPGA邏輯合成接口程序的處理程序的流程圖。如該圖所示,該 FPGA邏輯合成接口程序利用由ASIC邏輯合成接口程序指定的 FPGA編號在圖14的目錄FPGA55內(nèi)制作目錄,對圖14的目錄 FPGA53下的指定的編號的目錄內(nèi)的RTL源, 一個個地讀取文件,把 RT源內(nèi)的變更履歷、版數(shù)等進行記載的標題的一部分內(nèi)由用戶定義 的工作頻率數(shù)據(jù)抽取出來,對抽取的值增加20%后的頻率值作為邏輯 合成的制約,指定出邏輯合成對象的功能塊名,執(zhí)行FPGA的邏輯合 成工具的FPGA邏輯合成知254 ( S2201步)。若FPGA邏輯合成結(jié)束,則FPGA邏輯合成程序254用功能塊 名稱把邏輯合成結(jié)果輸出到位于圖14的目錄FPGA55內(nèi)的作為對象 的編號的目錄內(nèi)。這樣一來,用戶能夠利用下述的圖34的邏輯合成狀 況顯示一邊確認門使用率, 一邊進行設(shè)計作業(yè)。并且,F(xiàn)PGA邏輯合 成接口程序把邏輯合成結(jié)束信息、FPGA編號、塊名稱、以及用項目 名來詢問用戶管理服務(wù)器240而獲得的用戶郵件地址發(fā)送到郵件服務(wù) 器260內(nèi),從郵件服務(wù)器260把郵件發(fā)送到用戶(S2202步)。以下,F(xiàn)PGA邏輯合成接口程序確認構(gòu)成指定的編號的FPGA的 功能塊的邏輯合成是否已全部結(jié)束(S2203步)。該確認的方法是, 把圖14的目錄FPGA51的作為對象的編號的目錄內(nèi)的功能塊名稱抽 出來,與上述邏輯合成已結(jié)束的功能塊名進行比較。若沒有差分,則 以下FPGA邏輯合成接口程序把圖14的目錄FPGA51內(nèi)的對象編號 目錄內(nèi)的FPGA名的邏輯磁芯的文件名抽出來,利用該名稱來在圖14 的目錄FPGA55內(nèi)對作為FPGA規(guī)劃布局的、與擬合使用的FPGA 邏輯磁芯的端口名相同的封裝端子名和端子編號的對應(yīng)、工作頻率等 進行定義后的擬合控制文件,是否由用戶上裝而存在,進行檢查(S2206 步)。如果存在,則FPGA邏輯合成接口程序把構(gòu)成FPGA的全功能 塊和圖14的目錄FPGA51下的、位于對象編號目錄內(nèi)的FPGA邏輯 磁芯指定出來,執(zhí)行FPGA邏輯合成程序254。并且,若FPGA邏輯 合成結(jié)果,則FPGA邏輯合成接口程序,起動擬合程序255,進行規(guī) 劃布局,生成一種作為FPGA的規(guī)劃布局結(jié)果記錄了電路信息的ROM 數(shù)據(jù),用FPGA名輸出到圖14的目錄ROM46下的作為對象的編號 的目錄內(nèi)(S2207步)。并且,ROM數(shù)據(jù)生成的結(jié)束信息、FPGA編 號、項目名以及詢問用戶管理服務(wù)器240而獲得的用戶郵件地址,發(fā) 送到郵件服務(wù)器260內(nèi),發(fā)送郵件(S2208步)。若有差分,則在下述擬合數(shù)據(jù)的輸入和執(zhí)行畫面上,判斷是否未 選擇執(zhí)行鈕(S2204步),若未選擇,則結(jié)束;若已選擇,則對于未 邏輯合成的全部功能塊,在圖14的目錄FPGA51下的位于對象編號 目錄內(nèi)的、FPGA邏輯磁芯內(nèi)的各功能塊內(nèi)部,把觸發(fā)電路連接到全 部輸出入端口上,把輸入側(cè)的全部觸發(fā)電路輸出端口連接到適當?shù)拈T, 例如2輸入NAND的輸入端口上;把全部NAND門的輸出連接到新 的2輸入的NAND門的輸入端口上,如上所述,反復(fù)進行2輸入NAND 的多級連接,把最后級的2輸入NAND的輸出連接到輸出側(cè)的全部觸 發(fā)電路的輸入端口上,把這樣的HDL描述插入,形成能夠邏輯合成 的狀態(tài)(S2205步)。然后形成和沒有差分時相同的處理。雖然也取決于開發(fā)動手時的 驗證戰(zhàn)略,但通過電路結(jié)構(gòu)研究能夠從功能上大致劃分成向上和向下 的功能塊結(jié)構(gòu)的情況下,通過插入釆用了上述觸發(fā)電路等的臨時電路, 若向上功能設(shè)計完成,則即使向下功能設(shè)計未完成,也能驗證,非常 有助于驗證的高效率。以下說明圖34的邏輯合成狀況顯示畫面。該畫面,若用戶在網(wǎng) 客戶機100上選擇了位于圖24的狀況顯示畫面上的邏輯合成,則網(wǎng)客 戶機100把選擇了邏輯合成一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù)器 220收到數(shù)據(jù)的狀況顯示接口程序224 ,對于用錄入的用戶名稱來詢問 用戶管理服務(wù)器240而獲得的全部項目名,從圖14的目錄FPGA55 下的位于全編號的目錄內(nèi)的邏輯合成結(jié)果中抽出門規(guī)模。并且,從以上說明的FPGA邏輯磁芯生成中制作的同一目錄中的 Plist中抽出封裝信息,根據(jù)該封裝信息,選擇出在圖30的表內(nèi)門規(guī) 模比例為75%以下的封裝,生成圖34的邏輯合成狀況顯示畫面的顯 示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220把邏輯合成狀況 顯示畫面的顯示控制數(shù)據(jù)發(fā)送到網(wǎng)客戶機IOO內(nèi),網(wǎng)客戶機100根據(jù) 收到的邏輯合成狀況顯示畫面的顯示控制數(shù)據(jù)而顯示出畫面。在此,簡單說明門規(guī)模75%。通常,F(xiàn)PGA邏輯合成工具,根據(jù) 邏輯合成結(jié)果的門規(guī)模,從具有邏輯合成工具的數(shù)據(jù)庫中表示出適當 的封裝和門使用率。然而,在FPGA擬合中,在單元布置過程中,為 了提高布線效率,把用FPGA實現(xiàn)邏輯的單位塊使用于布線。所以, 根據(jù)邏輯合成結(jié)果考慮到門規(guī)模增大,把擬合后門使用率設(shè)定為 75%,不能超過100V。。在FPGA中也有不同的,因此,對每個功能 塊也能有效地進行以上說明的FPGA的邏輯合成。以下說明擬合數(shù)據(jù)的輸入和執(zhí)行畫面。圖35表示擬合數(shù)據(jù)的輸 入和執(zhí)行畫面的一例。若由用戶利用網(wǎng)客戶機100來選擇圖18所示的 程序畫面內(nèi)的擬合,則網(wǎng)客戶機IOO把選擇了擬合一事發(fā)送到網(wǎng)服務(wù) 器220內(nèi),從網(wǎng)服務(wù)器220收到了數(shù)據(jù)的擬合接口程序223,對于利 用已注冊的用戶名稱來詢問用戶管理服務(wù)器240而獲得的全部項目 名,抽出圖14的目錄FPGA55下的全部目錄編號名、作為各目錄內(nèi) 的邏輯合成結(jié)果的網(wǎng)表的文件名即FPGA名,生成圖35所示的擬合 數(shù)據(jù)輸入和執(zhí)行畫面的顯示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220把擬合數(shù)據(jù)的輸入和執(zhí)行畫面的顯示控制數(shù)據(jù)發(fā)送 到網(wǎng)客戶機IOO內(nèi),網(wǎng)客戶機IOO根據(jù)已收到的擬合數(shù)據(jù)的輸入和執(zhí) 行畫面的顯示控制數(shù)據(jù),顯示出畫面。若選擇該畫面的條件數(shù)據(jù)輸入, 則由網(wǎng)客戶機100來顯示數(shù)據(jù)選擇畫面。根據(jù)該畫面、若由用戶選擇上述擬合控制文件,則網(wǎng)客戶機IOO 把已選擇的FPGA編號和擬合控制文件發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng) 服務(wù)器220收到數(shù)據(jù)的擬合接口程序223把擬合控制文件存儲到圖14 的目錄FPGA55下的、對象編號的目錄內(nèi)。并且,若由用戶選擇執(zhí)行鈕,則網(wǎng)客戶機IOO把已選擇的FPGA編號、項目名以及選擇了執(zhí)行一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù) 器220收到了數(shù)據(jù)的擬合接口程序223把項目名,F(xiàn)PGA編號作為自 變量,執(zhí)行FPGA邏輯合成接口程序。FPGA邏輯合成接口程序的處 理如以上說明的那樣。以下說明ROM數(shù)據(jù)生成狀況畫面。圖36表示ROM數(shù)據(jù)生成 狀況畫面的一例。用戶若用網(wǎng)客戶機100來選擇圖24所示的狀況顯示 選擇畫面中的ROM數(shù)據(jù),則網(wǎng)客戶機100把選擇了 ROM數(shù)據(jù)一事 發(fā)送到網(wǎng)服務(wù)器220內(nèi)。從網(wǎng)服務(wù)器220內(nèi)收到了數(shù)據(jù)的狀況顯示接口程序224對于利用 已注冊的用戶名稱來詢問用戶管理服務(wù)器240而獲得的全部項目名, 抽出圖14目錄ROM46下的全部目錄編號名、以及位于各目錄內(nèi)的作 為擬合結(jié)果的ROM數(shù)據(jù)名即FPGA名,生成圖36所示的ROM數(shù)據(jù) 生成狀況畫面的顯示控制數(shù)據(jù),發(fā)送到網(wǎng)服務(wù)器220內(nèi)。網(wǎng)服務(wù)器220把ROM數(shù)據(jù)生成狀況畫面的顯示控制數(shù)據(jù)發(fā)送到 網(wǎng)客戶機100內(nèi),網(wǎng)客戶機100根據(jù)已收到的ROM數(shù)據(jù)生成狀況畫 面的顯示控制數(shù)據(jù)來顯示畫面。用戶若在該畫面上選擇作為對象的 FPGA的日期部分,則能夠下載ROM數(shù)據(jù)。以下說明監(jiān)視服務(wù)器2卯的處理。首先監(jiān)視服務(wù)器290監(jiān)視的內(nèi) 容是RTL有無變化、邏輯合成、擬合、規(guī)劃設(shè)計工具處理所需的時 間、以及根據(jù)設(shè)計者定義的功能塊的更改規(guī)模,使用于工具設(shè)計的工 具處理時間以外所需的、為更改反映所必須的手工作業(yè)的時間。在工具設(shè)計者管理的圖14的目錄規(guī)劃47中,每個項目具有項目 名的目錄,其中,促進作業(yè)。各項目名的目錄中具有存儲規(guī)劃設(shè)計數(shù) 據(jù)的LAY目錄、以及存儲RTL源的RTL目錄,RTL目錄以下是與 圖14的目錄ASIC52以下相同的目錄結(jié)構(gòu)。監(jiān)服務(wù)器290監(jiān)視LAY和RTL目錄內(nèi)。用于反映累計時間的結(jié) 果的日程,用Schedule名稱存儲到項目名的目錄中,在初始狀態(tài)下, 根據(jù)合同來設(shè)定lstRTL預(yù)定日和Sign Off的預(yù)定日。所謂IstRTL 是指能夠著手規(guī)劃設(shè)計、當時沒有估計到大的更改,功能驗證已完成
約80%的RTL。所謂Sign Off是指ASIC規(guī)劃設(shè)計完成后把ASIC制 造數(shù)據(jù)移交給器件制造商的日。圖37是表示預(yù)定和實績畫面日一例的圖。該圖把日程文件變換 成畫顯示控制數(shù)據(jù),由網(wǎng)客戶機100進行顯示。也就是說,若用戶在 圖24的狀況顯示畫面上選擇實繢和預(yù)定,則網(wǎng)客戶機100經(jīng)過網(wǎng)服務(wù) 器220把選擇了實績和預(yù)定一事發(fā)送到狀況顯示接口程序224內(nèi)。收 到了已選擇實績和預(yù)定一事的狀況顯示接口程序224,把日程文件變 換成畫面顯示控制數(shù)據(jù),經(jīng)過網(wǎng)服務(wù)器220而發(fā)送到網(wǎng)客戶機100內(nèi)。 收到了畫顯示控制數(shù)據(jù)的網(wǎng)客戶機100根據(jù)畫面顯示控制數(shù)據(jù)來顯示 畫面。并且,圖38是表示由規(guī)劃設(shè)計者設(shè)定的作業(yè)時間的設(shè)定文件的 一例的圖。該文件利用手動名稱存儲在和日程文件相同的目錄內(nèi)。監(jiān)視服務(wù)器290若達到監(jiān)視時間,則從用戶管理服務(wù)器240獲得 用戶名、用戶所屬的項目名和文件地址。然后,讀取日程文件,抽出 lstRTL的預(yù)定日。該預(yù)定日若是將來,是晚于監(jiān)視的執(zhí)行年月日,則 不作任何動作而結(jié)束,該預(yù)定日若是以前,早于監(jiān)視的執(zhí)行年月曰, 則進行以下處理。首先,若在工具設(shè)計者管理的規(guī)劃目錄下的、位于項目名的目錄 內(nèi)的RTL目錄內(nèi)沒有RTL源,則中斷處理。若有RTL源,則在圖 14的目錄ASIC52下的、位于各塊的目錄內(nèi)的RTL源之間進行比較。若有差分,則把有差分的塊名稱和項目名以及工具設(shè)計者的郵件 地址發(fā)送到郵件服務(wù)器260內(nèi),由郵件服務(wù)器260發(fā)送到工具設(shè)計者 處。工具設(shè)計者根據(jù)該郵件來進行更改反映所需時間的估算作業(yè)。估 算的結(jié)果,工具設(shè)計者在必要時更新或追加、刪除日程文件的時間數(shù) 據(jù)。其次,監(jiān)視服務(wù)器290從圖14的目錄ASIC50下的、編制時間 最新的ASIC邏輯磁芯中抽出構(gòu)成ASIC的塊名,存儲到存儲器內(nèi)。 然后,從圖14的目錄ASIC54下的、位于各塊目錄內(nèi)的邏輯合成結(jié)果 的報告文件中抽出邏輯合成處理時間。在對先存儲到存儲器內(nèi)的塊名
不存在報告文件,即尚未邏輯合成的情況下,適用從存在的報告文件 中抽出的時間的平均時間,把合計時間計算出來,存儲到存儲器內(nèi)。并且,這次,工具設(shè)計者管理的圖14的目錄規(guī)劃47下的、位于 項目名的目錄內(nèi)的規(guī)劃設(shè)計結(jié)果中,若存在規(guī)劃設(shè)計工程的最終工程 的定時驗證結(jié)果的文件,則從規(guī)劃設(shè)計的全行程中使用的工具所輸出 的處理結(jié)果文件中抽出處理時間,根據(jù)先存儲到存儲器內(nèi)的時間來計 算出合計時間。在不存在定時驗證結(jié)果的文件的情況下,適用在簽合 同時由規(guī)劃設(shè)計者臨時估計預(yù)先設(shè)定的在監(jiān)視服務(wù)器內(nèi)的時間。以下由監(jiān)視服務(wù)器290取得該合計時間和以上說明的設(shè)定在說明 書中的時間的合計,按照一日12小時來計算日數(shù),日程文件必要時進 行更新。也就是說,在最初的狀態(tài)下,在日程文件內(nèi)只設(shè)定lstRTL 的預(yù)定日,對該預(yù)定日加上合計時間,如圖37所示作為反映開始日追 加上對工具設(shè)計的進行更改的預(yù)定日。在以下的監(jiān)視中,若反映開始日是晚于監(jiān)視的執(zhí)行年月日的將 來,則對從反映開始日的前一個的lstRTL預(yù)定日起到設(shè)定為反映開 始日的預(yù)定日止的日數(shù)進行比較對照,若長于計算出的工具設(shè)計所需 的日數(shù),則不更新反映開始日。在反映開始日為監(jiān)視的執(zhí)行年月日以 前時,監(jiān)視服務(wù)器290把用戶和工具設(shè)計者的郵件地址和作為反映開 始機會的信息發(fā)送到郵件服務(wù)器260內(nèi),從郵件服務(wù)器260向用戶和 工具設(shè)計者發(fā)送郵件。這時監(jiān)視服務(wù)器290,在最新的反映開始日為 監(jiān)視執(zhí)行的年月日以前時,若在反應(yīng)開始日的實績?nèi)諆?nèi)沒有年月日, 則不更新日程文件。在對作為反映開始機會的信息的郵件,用戶和工具設(shè)計者雙方把 同意或拒絕的郵件送到監(jiān)視服務(wù)器290時,若是雙方均同意,則立即 把收到郵件的年月日設(shè)定為日程文件的反映開始日實績?nèi)?,在下次?監(jiān)視中,若最新的反映預(yù)定日是監(jiān)視實施的年月日以前,在反映預(yù)定 日的實績?nèi)諆?nèi)有年月日,則根據(jù)實績?nèi)諄碛嬎愎ぞ咴O(shè)計的日數(shù),新增 加反映開始日。若繼續(xù)進行該處理,則反映開始日接近Sign Off日。計算反映開始日的預(yù)定日,在超過了 Sign Off日的情況下,監(jiān)視
服務(wù)器290把已經(jīng)到了不能設(shè)定反映開始的預(yù)定日的年月日的信息以 及用戶和工具設(shè)計者的郵件地址發(fā)送到郵件服務(wù)器260內(nèi),從郵件服 務(wù)器260向雙方發(fā)送郵件。在作為反映開始機會的信息郵件被用戶拒絕的情況下,對用戶從 網(wǎng)客戶機100向郵件服務(wù)器260內(nèi)發(fā)送旨在設(shè)定預(yù)定日的信息以及用 戶和工具設(shè)計者的郵件地址,從郵件服務(wù)器260向雙方發(fā)送郵件。以下說明預(yù)定和實績畫面。圖37是表示預(yù)定和實績畫面的一例 的圖。該圖的邏輯Fix鈕和更改鈕布置在監(jiān)視服務(wù)器290的監(jiān)視執(zhí)行 年月日以前,最新的反映開始日的旁邊。若用戶在位于該鈕下的年月 日設(shè)定欄內(nèi)指定年月日,選擇更改鈕,則網(wǎng)客戶機IOO把選擇了設(shè)定 的年月日和更改一事發(fā)送到網(wǎng)服務(wù)器220內(nèi),從網(wǎng)服務(wù)器220中收到 了數(shù)據(jù)的狀況顯示接口程序224,把日程文件內(nèi)的最新反映開始日更 改為指定的年月日,把已更改的意思的信息以及用戶和工具設(shè)計者的 郵件地址發(fā)送到郵件服務(wù)器260內(nèi),從郵件服務(wù)器260向雙方發(fā)送郵 件。在圖37內(nèi)的邏輯Fix鈕和年月日的指定一起被選擇的情況下, 狀況顯示接口程序224在進行了和更改鈕被選擇時相同的處理之后, 進行使監(jiān)視服務(wù)器290的監(jiān)視停止的處理。這樣一來,能夠使用戶和 工具設(shè)計者雙方的短期間的目標明確,工具設(shè)計試行次數(shù)越多,更改 開始日的預(yù)定日的概率越高,對此,用戶和工具設(shè)計者雙方均能有機 會考慮進行方法,結(jié)果,大大有助于提高效率。如上所述,在第2實施方式中,根據(jù)從網(wǎng)客戶機100來的用戶要 求,由ASIC邏輯合成程序253進行ASIC邏輯合成;由FPGA邏輯 合成程序254進行FPGA邏輯合成,由邏輯合成接口程序222在網(wǎng)客 戶機100上顯示ASIC和FPGA的邏輯合成結(jié)果,郵件^^務(wù)器260用 電子郵件向用戶通知ASIC和FPGA的邏輯合成開始和結(jié)果,所以用 戶不必設(shè)置邏輯合成的專職人員,任何時候都能進行邏輯合成,能夠 像專職人員完成的那樣使邏輯合成質(zhì)量均勻,同時能夠通過電子郵件 接收邏輯合成的開始和結(jié)果的通知,不必定期地用計算機來確認邏輯頁合成情況。并且,在第2實施方式中,根據(jù)從網(wǎng)客戶機100來的用戶要求, 由ASIC邏輯磁芯生成程序251從構(gòu)成ASIC的功能塊來生成用戶指 定的僅由多個功能塊的端口之間的連接信息而構(gòu)成的網(wǎng)表,F(xiàn)PGA邏 輯磁芯生成程序252把已邏輯合成的對象塊能塊數(shù)據(jù)填寫到已生成的 網(wǎng)表中,生成一種記錄可編程邏輯器件電路的ROM數(shù)據(jù),邏輯磁芯 生成接口程序221把生成的ROM數(shù)據(jù)的生成結(jié)果顯示在計算機上, 同時由郵件服務(wù)器260用電子郵件來通知用戶,所以,用戶不需要可 編程邏輯器件專用的開發(fā)環(huán)境,能夠減少記錄可編程邏輯器件電路的 ROM數(shù)據(jù)進行編制所需的負荷、時間和成本。并且,在第2實施方式中在用戶指定的ASIC結(jié)構(gòu)功能塊設(shè)計未 完成,電路數(shù)據(jù)不存在的情況下,由FPGA邏輯磁芯生成程序252來 生成網(wǎng)表,該網(wǎng)表是把釆用臨時觸發(fā)電路等的電路插入到該功能塊的 輸入端子和輸出端子上,所以,在采用可編程邏輯器件的樣機的認證 中,即使不是檢驗對象的功能塊的設(shè)計尚未完成,也能夠用樣機來進 行驗證,能夠提高驗證效率。并且,在第2實施方式中,監(jiān)視服務(wù)器290對用戶具有的最新電 路數(shù)據(jù)和工具設(shè)計者進行工具設(shè)計的電路數(shù)據(jù)之間的更改規(guī)模進行監(jiān) 視,根據(jù)監(jiān)視結(jié)果和規(guī)劃設(shè)計所需的時間而劃畫的日期時間 一到時, 由郵件服務(wù)器260以電子郵件方式向用戶和ASIC的工具設(shè)計者發(fā)送 通知,說明把更改反映到ASIC工具設(shè)計中的時間已到,要求停止, 以便根據(jù)該通知,由用戶更改反映的日期。所以,能夠高效率地把發(fā) 生的更改反映到ASIC規(guī)劃設(shè)計中,同時,設(shè)定反映更改的時間,因 此能夠判斷出用戶什么時候能夠更改,能夠早期更改日程。如以上說明那樣,若釆用本發(fā)明,則能夠獲得以下效果。若采用權(quán)利要求1所述的發(fā)明,則效率是利用一種程序來使計算 機執(zhí)行權(quán)利要求1的發(fā)明的生成邏輯磁芯的方法,若采用存儲了該程 序的存儲媒體,即可在集成電路開發(fā)中事前確保作為RTL設(shè)計輸入的 塊端口規(guī)格的質(zhì)量,即使在功能塊多設(shè)計源也多的大規(guī)模集成電路的 開發(fā)中,也能事先確認塊間的連接,因而能夠保證一定裝配好芯片。若采用權(quán)利要求2所述的發(fā)明,則可編程邏輯器件的邏輯磁芯在 保持塊間連接的狀態(tài)下從ASIC邏輯磁芯中切出,所以,若進行采用 該邏輯磁芯的可編程邏輯器件的驗證,則能夠在ASIC中至少能夠避 免同一構(gòu)成的驗證的重復(fù)。因此,能夠高效率地并行開發(fā)ASIC和可 編程邏輯器件。并且,當插入輸入輸出緩沖區(qū)時,根據(jù)芯片的端子信息來生成臨 時的邏輯磁芯,利用從塊中生成的邏輯磁芯的替換裝置,能夠交叉檢 查由塊定義的芯片的端口信息和芯片的端子信息,能夠確保塊的端口 規(guī)格和芯片端子規(guī)格兩者的質(zhì)量。若采用權(quán)利要求3所述的發(fā)明,則能夠生成由任意規(guī)模、個數(shù)的塊的端口和端口的連接信息所構(gòu)成的網(wǎng)表。若采用權(quán)利要求4所述的發(fā)明,則能夠生成由任意規(guī)模、個數(shù)的 塊的端口和端口的連接信息所構(gòu)成的網(wǎng)表生成芯片網(wǎng)表。若采用權(quán)利要求5所述的發(fā)明,如果所用的存儲程序的存儲媒體, 其程序能使邏輯合成工具執(zhí)行生成可編程邏輯器件的邏輯磁芯的方 法,那么,能夠防止難于判斷端口功能的網(wǎng)名成為端口名稱時邏輯驗 證等調(diào)試效率降低。如上所述,根據(jù)設(shè)計文件數(shù)據(jù)生成邏輯磁芯,從該邏輯磁芯在保 持階層結(jié)構(gòu)和連接信息的狀態(tài)下為可編程邏輯器件用而重新生成邏輯 磁芯,于是能夠共用電路結(jié)構(gòu),填入電路數(shù)據(jù),進行了功能驗證的實 例內(nèi)的不依存于器件技術(shù)的電路數(shù)據(jù)和實例之間的網(wǎng),在ASIC化的 情況下能夠避免再驗證,也能夠避免由于ASIC和可編程邏輯器件之 間的不同而再次i殳計。這樣,若采用本發(fā)明,則能夠提供一種能夠?qū)崿F(xiàn)結(jié)構(gòu)共用,盡量 避免再設(shè)計和再驗證的集成電路的開發(fā)方法以及存儲了集成電路的開 發(fā)方法的可編程序存儲媒體。并且,若采用本發(fā)明,則根據(jù)端口間連接信息來組合構(gòu)成ASIC 的功能塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的
網(wǎng)表,作為可編程邏輯器件的邏輯磁芯;根據(jù)構(gòu)成上述ASIC的功能塊的電路數(shù)據(jù)來編制ASIC用邏輯合 成數(shù)據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);關(guān)于上述組合的功能塊的可編程邏輯器件用邏輯合成數(shù)據(jù)填入 到由上述網(wǎng)表生成工序生成的網(wǎng)表內(nèi),生成已記錄了可編程邏輯器件 電路的實機評價用ROM數(shù)據(jù);利用已編制的ASIC用邏輯合成數(shù)據(jù),使ASIC的規(guī)劃圖繪制和 定時驗證和實機評價用ROM數(shù)據(jù)的生成同時進行;利用由上逸ROM數(shù)據(jù)根據(jù)實機評價結(jié)果進行的電路數(shù)據(jù)來更 改,反映在上述ASIC規(guī)劃布局圖的制作和定時驗證中。所以,其效果是能夠高效率地并行開發(fā)ASIC和可編程邏輯器 件,能夠縮短ASIC的開發(fā)周期時間。并且,若采用本發(fā)明,則根據(jù)端口間連接信息來組合構(gòu)成ASIC 的功能塊,生成由該組合的功能塊的端口和端口間連接信息所構(gòu)成的 網(wǎng)表,作為可編程邏輯器件的邏輯磁芯;根據(jù)構(gòu)成上述ASIC的功能塊的電路數(shù)據(jù)來編制ASIC用邏輯合成數(shù)據(jù)和可編程邏輯器件用邏輯合成數(shù)據(jù);關(guān)于上述組合的功能塊的可編程邏輯器件用邏輯合成數(shù)據(jù)填入 到由上述網(wǎng)表生成工序生成的網(wǎng)表內(nèi),生成已記錄了可編程邏輯器件電路的實機評價用ROM數(shù)據(jù);利用已編制的ASIC用邏輯合成數(shù)據(jù),使ASIC的規(guī)劃圖繪制和 定時驗證和實機評價用ROM數(shù)據(jù)的生成同時進行;所以,其效果是能夠高效率地并行開發(fā)ASIC和可編程邏輯器 件,能夠縮短ASIC的開發(fā)周期時間。并且,若采用本發(fā)明,則根據(jù)用戶要求而進行ASIC的邏輯合成, 對進行的ASIC邏輯合成結(jié)果是否能滿足用戶要求的速度性能進行判 斷,根據(jù)判斷結(jié)果,進行可編程邏輯器件的邏輯合成,把ASIC邏輯 合成的進行結(jié)果和可編程邏輯器件的邏輯合成的進行結(jié)果顯示到計算 機上,ASIC邏輯合成的進行開始和進行結(jié)果、以及可編程邏輯器件 的邏輯合成的進行開始和進行結(jié)果,以電子郵件方式通知用戶。所以,其效果是用戶不必設(shè)置邏輯合成的專職人員,任何時候都能進行邏輯合 成,能夠像專職人員完成的那樣使邏輯合成質(zhì)量均勻,同時能夠通過 電子郵件接收邏輯合成的開始和結(jié)果的通知,不必定期地用計算機來 確認邏輯合成情況。并且,若釆用本發(fā)明,則因為根據(jù)用戶要求,由構(gòu)成ASIC的功 能塊來生成由用戶指定的多個功能塊的端口之間的連接信息而構(gòu)成的 網(wǎng)表,把已邏輯合成的對象塊能塊數(shù)據(jù)填寫到已生成的網(wǎng)表中,生成 一種記錄可編程邏輯器件電路的ROM數(shù)據(jù),把生成的ROM數(shù)據(jù)的 生成結(jié)果顯示在計算機上,同時用電子郵件來通知用戶,所以,用戶 不需要可編程邏輯器件專用的開發(fā)環(huán)境,能夠減少記錄可編程邏輯器件電路的ROM數(shù)據(jù)進行編制所需的負荷、時間和成本。并且,若采用本發(fā)明,則因為在用戶指定的ASIC結(jié)構(gòu)功能塊設(shè) 計未完成,電路數(shù)據(jù)不存在的情況下,生成網(wǎng)表,該網(wǎng)表是把采用臨 時觸發(fā)電路等的電路插入到該功能塊的輸入端子和輸出端子上,所以, 在采用可編程邏輯器件的樣機的認證中,即使不是檢驗對象的功能塊 的設(shè)計尚未完成,也能夠用樣機來進行驗證,能夠提高驗證效率。并且,若采用本發(fā)明,則因為對用戶具有的最新電路數(shù)據(jù)和工具 設(shè)計者進行工具設(shè)計的電路數(shù)據(jù)之間的更改規(guī)模進行監(jiān)視,根據(jù)監(jiān)視 結(jié)果和規(guī)劃設(shè)計所需的時間而劃畫的日期時間一到時,電子郵件方式 向用戶和ASIC的工具設(shè)計者發(fā)送通知,說明把更改反映到ASIC工 具設(shè)計中的時間已到,要求停止,以便根據(jù)該通知,由用戶更改反映 的日期。所以,能夠高效率地把發(fā)生的更改反映到ASIC規(guī)劃設(shè)計中, 同時,設(shè)定反映更改的時間,因此能夠判斷出用戶什么時候能夠更改, 能夠早期更改日程。若釆用本發(fā)明,則一方面,根據(jù)包括多個功能塊的全部或一部分 的功能塊在內(nèi)的FPGA的端子信息進行描述的第1設(shè)計圖案、以及作 為該第1設(shè)計圖案的下級層所描述的與該FPGA相同的端子信息進行
描述的第2設(shè)計圖案,生成該第l設(shè)計圖案、第2設(shè)計圖案中的同一 端子間進行連接,而且在該端子間插入了 FPGA對應(yīng)的緩沖區(qū)的 FPGA用設(shè)計圖案信息,另一方面,根據(jù)包括多個功能塊在內(nèi)的ASIC 的端子信息進行描述的第3設(shè)計圖案、以及作為該第3設(shè)計圖案的下 級層所描述的與該ASIC相同的端子信息進行描述的第4設(shè)計圖案, 生成該第3設(shè)計圖案、第4設(shè)計圖案之間的同一端子間進行連接,而 且在該端子間插入了 ASIC對應(yīng)的緩沖區(qū)的ASIC用設(shè)計圖案信息。 上述第2設(shè)計圖案、第4設(shè)計圖案分別置換成根據(jù)各設(shè)計圖案所包括 的功能塊的連接信息而生成的電路信息,這樣一來,生成FPGA和 ASIC的網(wǎng)表。所以,其效果是能夠高效率地并行開發(fā)ASIC和可編程邏輯器 件,能夠縮短ASIC的開發(fā)周期時間。如上所述,涉及本發(fā)明的集成電路的開發(fā)方法和存儲了集成電路 的開發(fā)方法的程序存儲媒體、以及ASIC和可編程邏輯器件的并行開 發(fā)系統(tǒng)、開發(fā)程序和開發(fā)方法,適用于集成電路的開發(fā),尤其適用于 ASIC和可編程邏輯器件的開發(fā)。
權(quán)利要求
1、一種供用戶從聯(lián)網(wǎng)的計算機方面利用的ASIC和可編程邏輯器件的并行開發(fā)系統(tǒng),其特征在于具有ASIC邏輯合成裝置,用于根據(jù)上述用戶要求,執(zhí)行ASIC的邏ASIC邏輯合成結(jié)果判斷裝置,用于判斷由上述ASIC邏輯合成裝置編制的ASIC邏輯合成結(jié)果是否滿足了上述用戶要求的速度性可編程邏輯器件邏輯合成裝置,用于根據(jù)上述ASIC邏輯合成結(jié)果判斷裝置作出的判斷結(jié)果,對可編程邏輯器件進行邏輯合成;邏輯合成結(jié)果顯示裝置,用于在計算機上顯示出上述ASIC邏輯合成裝置對ASIC邏輯合成的執(zhí)行結(jié)果、以及上述可編程邏輯器件邏輯合成裝置對可編程邏輯器件邏輯合成的執(zhí)行結(jié)果;以及邏輯合成通知裝置,用于通過電子郵件向上述用戶發(fā)出以下內(nèi)容的通知由上述ASIC邏輯合成裝置對ASIC邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果、以及由上述可編程邏輯器件邏輯合成裝置對可編程邏輯器件邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果。
2、 如權(quán)利要求1所述的ASIC和可編程邏輯器件的并行開發(fā)系統(tǒng), 其特征在于還包括網(wǎng)表生成裝置,它根據(jù)按上述用戶要求來構(gòu)成上述ASIC的功能 生成由上述用戶指定的多個功能塊的端口間連接信息所構(gòu)成的網(wǎng) ROM數(shù)據(jù)生成裝置,用于把邏輯合成完畢的對象功能塊的數(shù)據(jù)填入 到由上述網(wǎng)表生成裝置所生成的網(wǎng)表內(nèi),生成已記錄了可編程邏輯器 件電路的ROM數(shù)據(jù);ROM數(shù)據(jù)生成結(jié)果顯示裝置,用于在上述計算機上顯示出由上 述ROM數(shù)據(jù)生成裝置生成的ROM數(shù)據(jù)生成結(jié)果;以及ROM數(shù)據(jù)生成結(jié)果通知裝置,它利用電子郵件向用戶通知由上 述ROM數(shù)據(jù)生成裝置生成的ROM數(shù)據(jù)生成結(jié)果。
3、 如權(quán)利要求2所述的ASIC和可編程邏輯器件的并行開發(fā)系統(tǒng), 其特征在于還具有一種臨時網(wǎng)表生成裝置,該裝置用于在構(gòu)成用戶指定的ASIC的功能塊設(shè)計尚未完成而沒有電路數(shù)據(jù)的情況下,生成一 種把使用臨時電路插入到該功能決的輸入端子和輸出端子中的網(wǎng)表。
4、 如權(quán)利要求3所述的ASIC和可編程邏輯器件的并行開發(fā)系統(tǒng), 其特征在于具有監(jiān)視裝置,用于對上述用戶具有的最新電路數(shù)據(jù)和工具設(shè)計者進 行工具設(shè)計的電路數(shù)L 二間的更改規(guī)模進行監(jiān)視;更改定時通知裝置,用于在根據(jù)上述監(jiān)視裝置的監(jiān)視結(jié)果和規(guī)劃 設(shè)計所需的時間而計劃出的日期時間已到達時,把上述更改反映在上 述ASIC的工具i殳計內(nèi)的定時,用電子郵件方式通知上述用戶和ASIC 的工具設(shè)計者;以及反映停止要求裝置,用于要求停止,以便用戶響應(yīng)上述更改定時 通知裝置,更改上述反映的日期。
5、 一種供用戶通過聯(lián)網(wǎng)的計算機而使用的ASIC和可編程邏輯器 件的并行開發(fā)方法,其特征在于包括ASIC邏輯合成步驟,用于根據(jù)上述用戶要求,執(zhí)行ASIC的邏輯 合成;ASIC邏輯合成結(jié)果判斷步驟,用于判斷由上述ASIC邏輯合成步 驟編制的ASIC邏輯合成結(jié)果是否滿足了上述用戶要求的速度性能;可編程邏輯器件邏輯合成步驟,用于根據(jù)上述ASIC邏輯合成結(jié) 果判斷步驟作出的判斷結(jié)果,對可編程邏輯器件進行邏輯合成;邏輯合成結(jié)果顯示步驟,用于在計算機上顯示出上述ASIC邏輯 合成步驟對ASIC邏輯合成的執(zhí)行結(jié)果、以及上述可編程邏輯器件邏 輯合成步驟對可編程邏輯器件邏輯合成的執(zhí)行結(jié)果;以及邏輯合成通知步驟,用于通過電子郵件向上述用戶發(fā)出以下內(nèi)容 的通知由上述ASIC邏輯合成步驟對ASIC邏輯合成的執(zhí)行開始和 執(zhí)行結(jié)果、以及由上述可編程邏輯器件邏輯合成步驟對可編程邏輯器 件邏輯合成的執(zhí)行開始和執(zhí)行結(jié)果。
全文摘要
一種集成電路的開發(fā)方法,其僅利用作為電路結(jié)構(gòu)研究結(jié)果,作為邏輯設(shè)計文件的一部分的塊端口規(guī)格的連接信息,生成一種所謂邏輯磁芯的網(wǎng)表,構(gòu)成該邏輯磁芯的網(wǎng)用于連結(jié)不依存于器件技術(shù)的塊的端口和端口之間,從邏輯磁芯中選擇對象塊,進行組合,使用組合后的邏輯磁芯的數(shù)據(jù)。ASIC和FPGA的并行開發(fā)系統(tǒng),其構(gòu)成部分如下對于從互聯(lián)網(wǎng)來的訪問進行監(jiān)視的防火墻、與由用戶使用的網(wǎng)客戶機進行通信的網(wǎng)服務(wù)器、進行用戶認證的認證服務(wù)器,管理用戶的用戶管理服務(wù)器、執(zhí)行ASIC和FPGA的開發(fā)用程序的邏輯合成服務(wù)器、把郵件分配給項目的有關(guān)人員的郵件服務(wù)器、存放設(shè)計信息的文件服務(wù)器、執(zhí)行ASIC的工具設(shè)計用程序的應(yīng)用服務(wù)器、以及對ASIC和FPGA的開發(fā)狀況進行監(jiān)視的監(jiān)視服務(wù)器。
文檔編號G06F17/50GK101149764SQ200710161299
公開日2008年3月26日 申請日期2003年4月15日 優(yōu)先權(quán)日2002年4月17日
發(fā)明者中山彰二, 古賀智昭, 津田昌行 申請人:富士通株式會社