專利名稱:總線互聯(lián)模塊的集成方法、裝置以及驗(yàn)證方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明系統(tǒng)芯片設(shè)計(jì)領(lǐng)域,特別是指一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法、裝置以及驗(yàn)證方法和裝置。
背景技術(shù):
在系統(tǒng)芯片(System on a Chip)設(shè)計(jì)中,總線互聯(lián)模塊是非常關(guān)鍵的模塊,它負(fù)責(zé)整個(gè)系統(tǒng)中其他各個(gè)模塊之間的互相訪問??偩€互聯(lián)模塊通常有非常多的輸入輸出端口和參數(shù),因此總線互聯(lián)模塊的集成與例化工作非常繁瑣、極易出錯(cuò)。而且,由于總線互聯(lián)模塊端口多、功能多,它的驗(yàn)證接口模塊和測試點(diǎn)統(tǒng)計(jì)模塊的編寫的工作量也很大。芯片設(shè)計(jì)中的“模塊集成”是指“把各個(gè)模塊端口按照需求連接在一起”。由于總線互聯(lián)模塊要考慮項(xiàng)目間的重用,所以它的端口名通常和同項(xiàng)目中與它連接的模塊的端口命名不一致,導(dǎo)致無法使用自動(dòng)工具來進(jìn)行自動(dòng)集成。目前的做法是:工程師手工來進(jìn)行總線互聯(lián)模塊的集成和總線互聯(lián)模塊的驗(yàn)證接口、測試點(diǎn)統(tǒng)計(jì)模塊的設(shè)計(jì),這樣做會(huì)花費(fèi)大量的時(shí)間與精力,并且,由于工程師的遺漏和較頻繁的改動(dòng),也容易導(dǎo)致一些錯(cuò)誤。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法、裝置以及驗(yàn)證方法和裝置,能夠提供系統(tǒng)芯片中總線互聯(lián)模塊的集成和驗(yàn)證效率。為解決上述技術(shù)問題,本發(fā)明的實(shí)施例提供技術(shù)方案如下:一方面,提供一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,包括:獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。所述根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼的步驟包括:根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名;獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中;根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端口 ;根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。所述根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼的步驟包括:獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中;根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值;根據(jù)所述各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值;根據(jù)所述主設(shè)備對從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值;根據(jù)所述從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。另一方面,提供一種系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證方法,包括:獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成測試所述總線互聯(lián)模塊的代碼。所述根據(jù)所述設(shè)計(jì)屬性列表文件,生成測試所述總線互聯(lián)模塊的代碼的步驟包括:根據(jù)所述總線互聯(lián)模塊中模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼;或者包括:根據(jù)協(xié)所述總線互聯(lián)模塊中模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;或者包括:根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼;或者包括:根據(jù)所述主設(shè)備對所述從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。另一方面,提供一種系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,包括:獲取單元,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;集成單元,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。所述集成單元包括:命名模塊,根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名;第一存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中;刪除模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端口;第一賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。
所述集成單元包括:第二存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中;第二賦值模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值;第三賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值;第四賦值模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值;第五賦值模塊,根據(jù)所述從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。另一方面,提供一種系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證裝置,包括:獲取單元,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;生成單元,根據(jù)所述設(shè)計(jì)屬性列表文件,生成測試所述總線互聯(lián)模塊的代碼。所述生成單元包括:第一代碼生成模塊,根據(jù)所述總線互聯(lián)模塊的各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼;或者包括:第二代碼生成模塊,根據(jù)所述總線互聯(lián)模塊中各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;或者包括:第三代碼生成模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成所述總線互聯(lián)模塊的主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼;或者包括:第四代碼生成模塊,根據(jù)所述主設(shè)備對所述從設(shè)備的訪問可見映射關(guān)系和所述總從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。本發(fā)明的實(shí)施例具有以下有益效果:上述方案中,通過解析設(shè)計(jì)屬性列表文件,自動(dòng)進(jìn)行總線互聯(lián)模塊集成,以及自動(dòng)生成總線互聯(lián)模塊的驗(yàn)證代碼,從而大量地節(jié)省了工程師的時(shí)間,提高了自動(dòng)集成和驗(yàn)證的效率。
圖1為本發(fā)明的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法的流程示意圖;圖2為本發(fā)明的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法的步驟12的流程示意圖;圖3為本發(fā)明的圖2為本發(fā)明的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法的步驟12的流程示意圖;圖4為本發(fā)明的系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明的系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的實(shí)施例要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述??偩€互聯(lián)模塊負(fù)責(zé)著外部多個(gè)Master (主設(shè)備)和多個(gè)Slaver (從設(shè)備)的訪問互聯(lián)??偩€互聯(lián)的集成包括:總線互聯(lián)模塊輸入輸出端口和外部Master及Slaver模塊輸入輸出端口的連接,以及總線互聯(lián)模塊代碼參數(shù)的賦值。如圖1所示,一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,包括:步驟11,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;步驟12,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。如圖2所示,步驟12包括:步驟121,根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名;也就是說,維護(hù)一個(gè)設(shè)計(jì)屬性列表文件,在該文件中記錄總線互聯(lián)模塊中每一組模塊端口采用的協(xié)議類型。SoC芯片里的總線互聯(lián)通常是按照業(yè)界流行的標(biāo)準(zhǔn)協(xié)議,比如AXI (Advancedextensible Interface)是一種總線)、AHB、0CP (Oracle Certified Professional,數(shù)據(jù)庫認(rèn)證專家)等協(xié)議。標(biāo)準(zhǔn)協(xié)議里都明確說明了協(xié)議類型所需要的端口,因此,協(xié)議類型確定后,模塊的輸入輸出端口命名方式也可以相應(yīng)確定。在設(shè)計(jì)屬性里面說明協(xié)議類型,根據(jù)設(shè)計(jì)屬性列表中每一組模塊的協(xié)議類型來決定采用哪種協(xié)議要求的輸入輸出端口命名方式,自動(dòng)生成總線模塊的基本輸入輸出端口的命名。步驟122,獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中;具體為:將端口存放在一個(gè)端口數(shù)據(jù)結(jié)構(gòu)中,該數(shù)據(jù)結(jié)構(gòu)包含了協(xié)議支持的所有端口。步驟123,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性(例如是否支持某些特殊傳輸類型、是否支持Cache緩沖操作,例如模塊端口協(xié)議傳輸類型是AXI協(xié)議,是否支持LOCK類型傳輸、Protection類型傳輸?shù)?,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端口 ;例如:模塊端口的協(xié)議傳輸類型是AXI協(xié)議,不支持cache功能,那么就把端口數(shù)據(jù)結(jié)構(gòu)中的AWCACHE端口和ARCACHE端口去掉。步驟124,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。具體為:根據(jù)特殊信號(hào)位寬信息修改端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)端口的位寬信息,以及對參數(shù)數(shù)據(jù)結(jié)構(gòu)中對應(yīng)的參數(shù)(一般是信號(hào)寬度參數(shù))進(jìn)行賦值。所述步驟12還可以包括:步驟125,獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中;具體為:將總線互聯(lián)模塊的代碼參數(shù)存放在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中,該數(shù)據(jù)結(jié)構(gòu)包含了協(xié)議規(guī)定的所有代碼參數(shù)。 步驟126,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值;具體為:根據(jù)所述總線互聯(lián)模塊中模塊端口的協(xié)議傳輸類型和屬性來對代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的部分參數(shù)進(jìn)行賦值,部分參數(shù)是標(biāo)識(shí)是否支持某種傳輸?shù)膮?shù)。步驟127,根據(jù)各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值;具體來說,SoC芯片設(shè)計(jì)中的各個(gè)模塊的各個(gè)端口的位寬彼此不同,這些位寬會(huì)反映到總線互聯(lián)模塊代碼的代碼參數(shù)上,所以會(huì)影響總線互聯(lián)模塊的集成。步驟128,根據(jù)主設(shè)備對從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值。也就是說,總線互聯(lián)模塊連接著多個(gè)Master (主設(shè)備)和多個(gè)Slaver(從設(shè)備)。Master會(huì)發(fā)起對Slaver的讀寫操作,但是一個(gè)Master并不是可以訪問所有的Slaver。一個(gè)Master能否訪問一個(gè)Slaver就是“映射關(guān)系”。映射關(guān)系會(huì)反映到總線互聯(lián)模塊的代碼參數(shù)上,從而影響總線互聯(lián)模塊的集成。具體為:根據(jù)Master對Slaver的訪問可見映射關(guān)系來對參數(shù)數(shù)據(jù)結(jié)構(gòu)中對應(yīng)的參數(shù)(通常為標(biāo)識(shí)某個(gè)Master能否訪問某個(gè)Slaver)進(jìn)行賦值。步驟129,根據(jù)從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。具體來說,芯片內(nèi)地址范圍信息為總線互聯(lián)上的每個(gè)Slaver對應(yīng)著一段地址范圍,這個(gè)地址范圍會(huì)反映到總線互聯(lián)模塊的代碼參數(shù)上。所以會(huì)影響總線互聯(lián)模塊的集成。具體為:根據(jù)Slaver模塊的芯片內(nèi)地址范圍信息來對參數(shù)數(shù)據(jù)結(jié)構(gòu)中對應(yīng)的參數(shù)(一般是Slaver模塊的起始和結(jié)束地址)進(jìn)行賦值。驗(yàn)證總線互聯(lián)模塊的時(shí)候,需要編寫Master和Slaver的行為描述模型,而且需要對Master和Slaver的行為描述模型的訪問行為和內(nèi)部屬性編寫約束代碼和測試點(diǎn)統(tǒng)計(jì)代碼(測試點(diǎn)統(tǒng)計(jì)模塊)。如圖3所示,所述系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證方法,包括:步驟31,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;步驟32,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成測試所述總線互聯(lián)模塊的代碼。步驟32包括:根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼;或者包括:根據(jù)各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;或者包括:根據(jù)主設(shè)備對從設(shè)備的訪問可見映射關(guān)系和從設(shè)備的芯片內(nèi)地址范圍,生成對主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼;也就是說,如果一個(gè)Master不能訪問某個(gè)Slaver,那么該Master就不能發(fā)起對該Slaver地址空間的訪問請求。而驗(yàn)證總線互聯(lián)模塊的時(shí)候,會(huì)編寫一個(gè)Slaver的行為模型模塊,這個(gè)模塊也包含著Slaver的地址范圍信息,也會(huì)影響“對總線互聯(lián)模塊的驗(yàn)證”代碼。信號(hào)位寬也需要反映到驗(yàn)證代碼里的Master和Slaver模型上,所以會(huì)影響“總線互聯(lián)模塊的驗(yàn)證”等信息?;蛘甙?根據(jù)所述主設(shè)備對從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成對主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。也就是說,驗(yàn)證總線互聯(lián)模塊的時(shí)候,會(huì)編寫一個(gè)Master的行為模型模塊,這個(gè)模型包含著可見映射關(guān)系,所以會(huì)影響對總線互聯(lián)模塊的驗(yàn)證代碼。以下描述本發(fā)明的自動(dòng)生成為了驗(yàn)證總線互聯(lián)模塊的Master和Slaver行為描述模型的約束代碼和測試點(diǎn)統(tǒng)計(jì)代碼的應(yīng)用場景,具體過程如下:首先,根據(jù)協(xié)議傳輸類型定義和屬性定義信息來產(chǎn)生Master和Slaver行為描述模型中傳輸類型和屬性的約束代碼;并且,產(chǎn)生所支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;然后,根據(jù)Master對Slaver的訪問可見映射關(guān)系和Slaver模塊的芯片內(nèi)地址范圍信息來產(chǎn)生Master發(fā)起訪問操作的地址范圍約束代碼,并且,產(chǎn)生Master發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。如圖4所示,所述系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,包括:獲取單元41,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;集成單元42,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。所述集成單元包括: 命名模塊,根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名;第一存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中;刪除模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端口;第一賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。所述集成單元還可以包括:第二存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中;第二賦值模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值;第三賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值;第四賦值模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值;第五賦值模塊,根據(jù)所述從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。如圖5所示,所述系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證裝置,包括:獲取單元51,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;生成單元52,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成測試所述總線互聯(lián)模塊的代碼。所述生成單元52包括:第一代碼生成模塊,根據(jù)所述總線互聯(lián)模塊的各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼;或者包括:第二代碼生成模塊,根據(jù)所述總線互聯(lián)模塊中各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;或者包括:第三代碼生成模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成所述總線互聯(lián)模塊的主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼;或者包括:第四代碼生成模塊,根據(jù)所述主設(shè)備對所述從設(shè)備的訪問可見映射關(guān)系和所述總從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。本發(fā)明解析設(shè)計(jì)屬性列表文件,得到相應(yīng)的數(shù)據(jù)結(jié)構(gòu),再由相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來生成總線互聯(lián)模塊的集成和參數(shù)例化代碼,并且在此基礎(chǔ)上生成總線互聯(lián)模塊的驗(yàn)證接口模塊和測試點(diǎn)統(tǒng)計(jì)模塊的代碼。也就是說,通過維護(hù)一個(gè)設(shè)計(jì)屬性列表文件,然后解析設(shè)計(jì)屬性列表文件來自動(dòng)生成總線互聯(lián)模塊集成(信號(hào)連接)和參數(shù)例化代碼,以及自動(dòng)生成總線互聯(lián)模塊的驗(yàn)證接口代碼和測試點(diǎn)統(tǒng)計(jì)模塊的核心代碼,從而大量地節(jié)省了手工制作的時(shí)間與精力,并且避免了手工完成時(shí)容易犯的筆誤,以及頻繁改動(dòng)帶來的手工改動(dòng)工作。本發(fā)明具有以下有益效果:使用本方法可以節(jié)省集成總線互聯(lián)模塊的時(shí)間,并且把錯(cuò)誤出現(xiàn)的風(fēng)險(xiǎn)從文檔、設(shè)計(jì)和驗(yàn)證的三類錯(cuò)誤風(fēng)險(xiǎn)縮減到文檔錯(cuò)誤,從而減小了總線互聯(lián)模塊集成與參數(shù)例化、總線互聯(lián)模塊的驗(yàn)證接口模塊和測試點(diǎn)統(tǒng)計(jì)模塊編寫過程中出錯(cuò)的幾率,提高了設(shè)計(jì)的安全性,縮短了總線互聯(lián)模塊的設(shè)計(jì)與驗(yàn)證周期。上述的端口為輸入輸出端口。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括如上述方法實(shí)施例的步驟,所述的存儲(chǔ)介質(zhì),如:磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。在本發(fā)明各方法實(shí)施例中,所述各步驟的序號(hào)并不能用于限定各步驟的先后順序,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,對各步驟的先后變化也在本發(fā)明的保護(hù)范圍之內(nèi)。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,其特征在于,包括: 獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件; 根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。
2.根據(jù)權(quán)利要求1所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,其特征在于, 所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。
3.根據(jù)權(quán)利要求2所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,其特征在于,所述根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼的步驟包括: 根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名; 獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中; 根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端Π ; 根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。
4.根據(jù)權(quán)利要求2所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,其特征在于,所述根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼的步驟包括: 獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中; 根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值; 根據(jù)所述各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值; 根據(jù)所述主設(shè)備對從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值; 根據(jù)所述從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。
5.一種系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證方法,其特征在于,包括: 獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件; 根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成測試所述總線互聯(lián)模塊的代碼。
6.根據(jù)權(quán)利要求5所述的系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證方法,其特征在于,所述根據(jù)所述設(shè)計(jì)屬性列表文件,生成測試所述總線互聯(lián)模塊的代碼的步驟包括: 根據(jù)所述總線互聯(lián)模塊中模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼; 或者包括:根據(jù)協(xié)所述總線互聯(lián)模塊中模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼; 或者包括:根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍, 生成對所述主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼;或者包括:根據(jù)所述主設(shè)備對所述從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。
7.一種系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,其特征在于,包括: 獲取單元,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件; 集成單元,根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。
8.根據(jù)權(quán)利要求7所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,其特征在于, 所述設(shè)計(jì)屬性列表文件包括:所述總線互聯(lián)模塊中各模塊端口的協(xié)議類型、所述各模塊端口的協(xié)議傳輸類型和屬性、所述各模塊端口的信號(hào)的位寬、與所述總線互聯(lián)模塊連接的主設(shè)備對從設(shè)備的訪問可見映射關(guān)系和/或所述從設(shè)備對應(yīng)的芯片內(nèi)地址范圍。
9.根據(jù)權(quán)利要求8所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,其特征在于,所述集成單元包括: 命名模塊,根據(jù)所述各模塊端口的協(xié)議類型,對所述模塊端口進(jìn)行命名; 第一存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的端口,將所述端口存儲(chǔ)在端口數(shù)據(jù)結(jié)構(gòu)中; 刪除模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,去掉所述端口數(shù)據(jù)結(jié)構(gòu)中不需要的端口; 第一賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述端口數(shù)據(jù)結(jié)構(gòu)中各個(gè)模塊端口的位寬參數(shù)進(jìn)行賦值。
10.根據(jù)權(quán)利要求8所述的系統(tǒng)芯片中總線互聯(lián)模塊的集成裝置,其特征在于,所述集成單元包括: 第二存儲(chǔ)模塊,獲取所述各模塊端口的協(xié)議類型對應(yīng)的代碼參數(shù),將所述代碼參數(shù)存儲(chǔ)在代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中; 第二賦值模塊,根據(jù)所述各模塊端口的協(xié)議傳輸類型和屬性,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的協(xié)議參數(shù)進(jìn)行賦值; 第三賦值模塊,根據(jù)所述各模塊端口的信號(hào)的位寬,對所述代碼參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信號(hào)寬度參數(shù)進(jìn)行賦值; 第四賦值模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的映射參數(shù)進(jìn)行賦值; 第五賦值模塊,根據(jù)所述從設(shè)備的芯片內(nèi)地址范圍,對所述參數(shù)數(shù)據(jù)結(jié)構(gòu)中的地址參數(shù)進(jìn)行賦值。
11.一種系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證裝置,其特征在于,包括: 獲取單元,獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件; 生成單元,根據(jù)所述設(shè)計(jì)屬性列表文件,生成測試所述總線互聯(lián)模塊的代碼。
12.根據(jù)權(quán)利要求11所述的系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證裝置,其特征在于,所述生成單元包括: 第一代碼生成模塊,根據(jù)所述總線互聯(lián)模塊的各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊中主設(shè)備和從設(shè)備的行為描述模型中傳輸類型和屬性的約束代碼; 或者包括:第二代碼生成模塊,根據(jù)所述總線互聯(lián)模塊中各模塊端口的協(xié)議傳輸類型和屬性,生成所述總線互聯(lián)模塊支持的傳輸類型和屬性的測試點(diǎn)覆蓋代碼;或者包括:第三代碼生成模塊,根據(jù)與所述總線互聯(lián)模塊連接的主設(shè)備對與所述總線互聯(lián)模塊連接的從設(shè)備的訪問可見映射關(guān)系和所述從設(shè)備的芯片內(nèi)地址范圍,生成所述總線互聯(lián)模塊的主設(shè)備發(fā)起訪問操作的地址范圍的約束代碼; 或者包括:第四代碼生成模塊,根據(jù)所述主設(shè)備對所述從設(shè)備的訪問可見映射關(guān)系和所述總從設(shè)備的芯片內(nèi)地址范圍,生成對所述主設(shè)備發(fā)起訪問操作的地址的測試點(diǎn)覆蓋代碼。`
全文摘要
本發(fā)明提供一種系統(tǒng)芯片中總線互聯(lián)模塊的集成方法、裝置以及驗(yàn)證方法和裝置。所述系統(tǒng)芯片中總線互聯(lián)模塊的集成方法,包括獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成集成所述總線互聯(lián)模塊的代碼。所述系統(tǒng)芯片中總線互聯(lián)模塊的驗(yàn)證方法,包括獲取系統(tǒng)芯片中總線互聯(lián)模塊的設(shè)計(jì)屬性列表文件;根據(jù)所述設(shè)計(jì)屬性列表文件,自動(dòng)生成測試所述總線互聯(lián)模塊的代碼。本發(fā)明能夠提供系統(tǒng)芯片中總線互聯(lián)模塊的集成和驗(yàn)證效率。
文檔編號(hào)G06F13/38GK103150281SQ201310105360
公開日2013年6月12日 申請日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者李樹杰 申請人:青島中星微電子有限公司