一種asic芯片中功能代碼的設計方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及ASIC技術領域,特別涉及一種ASIC設計方法及裝置。
【背景技術】
[0002] 隨著計算機技術的不斷發(fā)展,專用集成電路(ASIC, Australian Securities and Investment Commission)芯片的設計規(guī)模也在不斷增長。
[0003]目前,ASIC芯片中可以包括多項設定功能,用戶可以利用匯編語言、C語言等一些 計算機語言,在ASIC芯片中對每一項設定功能進行編碼。由于在對ASIC芯片的各項設定功 能進行編碼時,每一項設定功能可能就需要編寫數十頁的功能代碼,因此,目前對ASIC芯 片的功能代碼進行設計時,效率低,且錯誤率高。
【發(fā)明內容】
[0004] 本發(fā)明提供一種ASIC芯片中功能代碼的設計方法及裝置,以解決目前對ASIC芯 片的功能代碼進行設計時,效率低,且錯誤率高的問題。
[0005] 本發(fā)明提供了一種ASIC芯片中功能代碼的設計方法,設置模塊庫,其中,設置的 所述模塊庫中包括一個以上的功能模塊,包括:
[0006] 確定ASIC芯片中的設定功能;
[0007] 根據確定的設定功能,從所述模塊庫中獲取完成設定功能所需的一個以上的功能 模塊;
[0008] 對獲取的每一個功能模塊進行參數賦值,生成所述設定功能的功能代碼。
[0009] 優(yōu)選地,所述設定功能中包括所述模塊庫中的功能模塊無法實現的功能;
[0010] 在所述生成所述設定功能的功能代碼之前,進一步包括:對所述無法實現的功能 進行編碼;
[0011] 所述生成所述設定功能的功能代碼,包括:利用參數賦值后的功能模塊以及所完 成的編碼,生成所述設定功能的功能代碼。
[0012] 優(yōu)選地,在所述對所述無法實現的功能進行編碼之后,進一步包括:
[0013] 將所完成的編碼集成為功能模塊,并將集成的功能模塊保存至所述模塊庫中。
[0014] 本發(fā)明還提供了一種ASIC芯片中功能代碼的驗證方法,包括:上述任一所述的 ASIC芯片中功能代碼的設計方法、以及對生成的所述設定功能的功能代碼進行驗證;
[0015] 所述設定功能包括:同步先入先出模塊;
[0016] 所述對生成的所述設定功能的功能代碼進行驗證,包括:對所述同步先入先出模 塊的功能代碼中的數據寬度和地址寬度進行重新賦值,以使重新賦值后的所述同步先入先 出模塊的狀態(tài)單元數小于所述生成所述設定功能的功能代碼中參數賦值后的狀態(tài)單元數; 運行重新賦值后的所述同步先入先出模塊的功能代碼,該運行過程包括:逐個讀取所述同 步先入先出模塊中寫入的每一個數據,其中,將所述同步先入先出模塊寫滿數據后,寫入數 據的個數為重新賦值后的狀態(tài)單元數,狀態(tài)單元數=數據寬度值若在運行過程 中,讀取所述同步先入先出模塊中最后一個地址的對應數據之后,繼續(xù)向該最后一個地址 的下一個地址進行讀取,則驗證ASIC芯片中所述同步先入先出模塊的功能代碼錯誤,否 貝U,驗證ASIC芯片中所述同步先入先出模塊的功能代碼正確。
[0017] 本發(fā)明還提供了一種ASIC芯片中功能代碼的設計裝置,包括:
[0018] 存儲單元,用于保存模塊庫,其中,保存的所述模塊庫中包括一個以上的功能模 塊;
[0019] 確定單元,用于確定ASIC芯片中的設定功能;
[0020] 獲取單元,用于根據確定的設定功能,從所述模塊庫中獲取完成設定功能所需的 一個以上的功能模塊;
[0021] 賦值生成單元,用于對獲取的每一個功能模塊進行參數賦值生成所述設定功能的 功能代碼。
[0022] 優(yōu)選地,其特征在于,所述設定功能中包括所述模塊庫中的功能模塊無法實現的 功能;進一步包括:
[0023] 編碼單元,用于對所述無法實現的功能進行編碼;
[0024] 所述賦值生成單元,用于利用參數賦值后的功能模塊以及所完成的編碼,生成所 述設定功能的功能代碼。
[0025] 優(yōu)選地,所述存儲單元,用于將所完成的編碼集成為功能模塊,并將集成的功能模 塊保存至所述模塊庫中。
[0026] 本發(fā)明還提供了一種ASIC芯片中功能代碼的驗證裝置,包括:上述任一所述的 ASIC芯片中功能代碼的設計裝置,以及驗證單元;
[0027] 所述驗證單元,用于對生成的所述設定功能的功能代碼進行驗證;
[0028] 所述設定功能包括同步先入先出模塊時,所述驗證單元,用于對所述同步先入先 出模塊的功能代碼中的數據寬度和地址寬度進行重新賦值,以使重新賦值后的所述同步先 入先出模塊的狀態(tài)單元數小于所述生成所述設定功能的功能代碼中參數賦值后的狀態(tài)單 元數;運行重新賦值后的所述同步先入先出模塊的功能代碼,該運行過程包括:逐個讀取 所述同步先入先出模塊中寫入的每一個數據,其中,將所述同步先入先出模塊寫滿數據后, 寫入數據的個數為重新賦值后的狀態(tài)單元數,狀態(tài)單元數=數據寬度值、若在運行 過程中,讀取所述同步先入先出模塊中最后一個地址的對應數據之后,繼續(xù)向該最后一個 地址的下一個地址進行讀取,則驗證ASIC芯片中所述同步先入先出模塊的功能代碼錯誤, 否則,驗證ASIC芯片中所述同步先入先出模塊的功能代碼正確。
[0029] 本發(fā)明實施例提供了一種ASIC芯片中功能代碼的設計方法及裝置,由于不同的 ASIC芯片中設定功能可以相同,可能對于設定功能的功能代碼中參數的賦值不同,因此預 先將完成設定功能的功能代碼,集成為功能模塊存儲至模塊庫中,當需要對ASIC芯片的設 定功能進行設計時,可以從模塊庫中獲取完成該設定功能所需的功能模塊,并根據自身需 要設計的ASIC芯片,對獲取的功能模塊的功能代碼中的參數進行賦值,相對于現有技術, 提高了手動編碼的效率,且獲取的功能模塊在實現過程中錯誤率較低。
[0030] 進一步的,本發(fā)明實施例還提供了一種ASIC芯片中功能代碼的驗證方法及裝置, 通過對設定功能的功能代碼中的參數進行重新賦值,以使重新賦值后的參數小于生成設定 功能的功能代碼中參數賦值后的參數值,即當本實施例中的設定功能包括同步先入先出模 塊,通過對同步先入先出模塊的功能代碼中的數據寬度和地址寬度進行重新賦值,以使重 新賦值后的同步先入先出模塊的狀態(tài)單元數小于生成設定功能的功能代碼中參數賦值后 的狀態(tài)單元數,從而使得驗證過程中,不但對設定功能的驗證沒有影響,而且需要讀取的數 據個數減小為重新賦值后的狀態(tài)單元數個數,從而提高了驗證效率。
【附圖說明】
[0031] 圖1是本發(fā)明實施例提供的方法流程圖;
[0032] 圖2是本發(fā)明另一實施例提供的方法流程圖;
[0033] 圖3是本發(fā)明實施例提供裝置所在設備的硬件架構圖;
[0034] 圖4是本發(fā)明實施例提供的裝置結構示意圖;
[0035] 圖5是本發(fā)明另一實施例提供的裝置結構示意圖;
[0036] 圖6是本發(fā)明又一實施例提供的裝置所在設備的硬件架構圖;
[0037] 圖7是本發(fā)明再一實施例提供的裝置結構示意圖。
【具體實施方式】
[0038] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述。顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本 發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實 施例,都屬于本發(fā)明保護的范圍。
[0039] 如圖1所示,本發(fā)明實施例提供了一種ASIC芯片中功能代碼的設計方法,設置模 塊庫,其中,設置的所述模塊庫中包括一個以上的功能模塊,該方法可以包括以下步驟:
[0040] 步驟101 :確定ASIC芯片中的設定功能。
[0041] 步驟102 :根據確定的設定功能,從所述模塊庫中獲取完成設定功能所需的一個 以上的功能模塊。
[0042] 步驟103 :對獲取的每一個功能模塊進行參數賦值,生成所述設定功能的功能代 碼。
[0043] 根據上述方案,由于不同的ASIC芯片中設定功能可以相同,可能對于設定功能的 功能代碼中參數的賦值不同,因此預先將完成設定功能的功能代碼,集成為功能模塊存儲 至模塊庫中,當需要對ASIC芯片的設定功能進行設計時,可以從模塊庫中獲取完成該設定 功能所需的功能模塊,并根據自身需要設計的ASIC芯片,對獲取的功能模塊的功能代碼中 的參數進行賦值,相對于現有技術,提高了手動編碼的效率,且獲取的功能模塊在實現過程 中錯誤率較低。
[0044] 為了保證上述實施例中設計的ASIC芯片中功能代碼的準確性,本發(fā)明實施例提 供了一種ASIC芯片中功能代碼的驗證方法,該方法可以包括上述實施例的ASIC芯片中功 能代碼的設計方法,以及對生成的所述設定功能的功能代碼進行驗證;
[0045] 在所述設定功能包括:同步先入先出模塊時,所述對生成的所述設定功能的功能 代碼進行驗證,包括:對所述同步先入先出模塊的功能代碼中的數據寬度和地址寬度進行 重新賦值,以使重新賦值后的所述同步先入先出模塊的狀態(tài)單元數小于所述生成所述設定 功能的功能代碼中參數賦值后的狀態(tài)單元數;運行重新賦值后的所述同步先入先出模塊的