當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀]提出了一種以ATL(活動(dòng)模板庫(kù))技術(shù)為平臺(tái)的原理圖文件解析器的系統(tǒng)架構(gòu)及設(shè)計(jì)方法。在該系統(tǒng)中,使用ATL技術(shù)封裝了原理圖文件解析的全過(guò)程,并將原理圖數(shù)據(jù)資源按照COM(組件對(duì)象模型)接口的要求進(jìn)行了組織,使得解析器以一個(gè)COM組件的形式向客戶(hù)程序提供服務(wù)。

原理圖設(shè)計(jì)過(guò)程中,有時(shí)候需要在不打開(kāi)EDA工具的情況下訪問(wèn)原理圖文件,詳細(xì)了解原理圖中的資源。如果設(shè)計(jì)人員通過(guò)第三方軟件而不是啟動(dòng)一個(gè)龐大的EDA軟件就可以實(shí)現(xiàn)對(duì)原理圖內(nèi)部資源訪問(wèn)的話,會(huì)很大程度上減輕了對(duì)國(guó)外EDA軟件的依賴(lài)并提高效率。尤其對(duì)于不是直接進(jìn)行原理圖設(shè)計(jì)的技術(shù)人員,如物料統(tǒng)計(jì)配送人員和原理圖審查人員更是如此。
    實(shí)現(xiàn)的原理圖解析器使用ATL技術(shù),將解析器包裝成一個(gè)標(biāo)準(zhǔn)的COM組件。該解析器主要針對(duì)Mentor公司的ViewDraw原理圖設(shè)計(jì)工具,可對(duì)ViewDraw設(shè)計(jì)生成的原理圖文件在不依賴(lài)ViewDraw的條件下進(jìn)行分析,并將其底層數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換和整理歸納,然后以接口形式提供給客戶(hù)程序使用。

1 原理圖通用數(shù)據(jù)結(jié)構(gòu)
    在原理圖設(shè)計(jì)中,現(xiàn)在國(guó)外有很多種EDA工具,每種設(shè)計(jì)工具都有自己的底層數(shù)據(jù)組織結(jié)構(gòu)。原理圖解析器采用了一種通用數(shù)據(jù)結(jié)構(gòu)來(lái)兼容ViewDraw、EDIF200和Concept這3種原理圖設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)。文中在解析器前端采用的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換模塊只針對(duì)ViewDraw的底層原理圖,解析器在工作時(shí)通過(guò)數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換模塊把ViewDraw的底層原理圖數(shù)據(jù)轉(zhuǎn)換為通用數(shù)據(jù)結(jié)構(gòu)保存在內(nèi)存中供解析器使用。

2 COM組件技術(shù)與ATL技術(shù)簡(jiǎn)介
    COM即組件對(duì)象模型,是由Microsoft提出的組件標(biāo)準(zhǔn),是一種以組件為發(fā)布單元的對(duì)象模型,它不僅提供了組件之間進(jìn)行交互的規(guī)范,也提供了實(shí)現(xiàn)交互的環(huán)境。組件之間的接口是組件軟件的核心,因?yàn)榻涌谑墙M件之間進(jìn)行通信的基礎(chǔ)。因此,軟件組件應(yīng)該遵循統(tǒng)一的標(biāo)準(zhǔn),在同一軟件中的組件必須使用同樣的接口標(biāo)準(zhǔn)才能保證組件之間可以進(jìn)行通信。COM就是這樣一個(gè)為大家一致推崇的組件標(biāo)準(zhǔn)。組件對(duì)象之間進(jìn)行交互的環(huán)境不依賴(lài)于任何特定的語(yǔ)言,所以COM也可以是不同語(yǔ)言協(xié)作開(kāi)發(fā)的一種標(biāo)準(zhǔn)。
    ATL(Active Template Library)活動(dòng)模板庫(kù),是Visual c++提供的一套基于模板的C++類(lèi)庫(kù),利用這些模板庫(kù),可以建立小巧、快捷的COM組件程序。ATL使用了C++中的模板、多繼承等高級(jí)技術(shù),甚至還用到了STL。在Visual C++的編譯環(huán)境中,對(duì)ATL的支持非常強(qiáng)大,所以采用ATL技術(shù)可以方便地實(shí)現(xiàn)COM組件的開(kāi)發(fā),但又不用過(guò)多的去考慮COM的底層技術(shù),這樣極大地提高了COM組件的開(kāi)發(fā)效率。

3 系統(tǒng)構(gòu)成
    原理圖解析器,主要以數(shù)據(jù)格式轉(zhuǎn)換模塊和原理圖通用數(shù)據(jù)結(jié)構(gòu)模塊,為系統(tǒng)構(gòu)成的基礎(chǔ),按通用數(shù)據(jù)結(jié)構(gòu)格式存儲(chǔ)的原理圖數(shù)據(jù)為數(shù)據(jù)資源,并在ATL技術(shù)平臺(tái)下對(duì)這些數(shù)據(jù)資源進(jìn)行規(guī)劃和組織。解析器最終以COM組件的形式向外部客戶(hù)程序提供服務(wù)。解析器提供了21個(gè)接口,81個(gè)方法,這些接口與原理圖的主要構(gòu)成對(duì)象一一對(duì)應(yīng)。整個(gè)系統(tǒng)以下方式進(jìn)行組織和運(yùn)行的:
    (1)數(shù)據(jù)格式轉(zhuǎn)換模塊將原理圖進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換并以通用數(shù)據(jù)結(jié)構(gòu)的格式存儲(chǔ)于內(nèi)存中,這個(gè)功能主要由工程接口IFvdProj實(shí)現(xiàn);
    (2)按照接口的功能需求對(duì)原理圖的數(shù)據(jù)資源進(jìn)行歸納和整理,這里主要處理了器件、模塊、管腳、網(wǎng)絡(luò)(普通網(wǎng)絡(luò)和總線網(wǎng)絡(luò))、網(wǎng)絡(luò)段、連接等,還有這些物理實(shí)體的位置、標(biāo)識(shí)及屬性等;
    (3)對(duì)各種異常情況在組件內(nèi)部進(jìn)行了處理,并將相應(yīng)的錯(cuò)誤代碼以函數(shù)值的形式返回,客戶(hù)端可以用捕獲COM異常的方法來(lái)獲取這些錯(cuò)誤代碼。系統(tǒng)結(jié)構(gòu),如圖l所示。

4 原理圖解析器接口組織調(diào)用關(guān)系描述
   
原理圖通用數(shù)據(jù)結(jié)構(gòu)本身有著龐大復(fù)雜的組織結(jié)構(gòu),如果直接把通用數(shù)據(jù)結(jié)構(gòu)以COM接口的形式提供給客戶(hù)端,會(huì)使原理圖解析器接口規(guī)模過(guò)大,信息零散且組織規(guī)律性較差。因此,必須對(duì)數(shù)據(jù)資源的提供方式進(jìn)行規(guī)劃。原理圖解析器提供了,如圖2所示的數(shù)據(jù)資源組織方式。

    該圖列出了原理圖解析器的21個(gè)接口和主要的調(diào)用關(guān)系,其中實(shí)線箭頭表示從原理圖組織結(jié)構(gòu)上講由上層對(duì)象調(diào)用下層對(duì)象,虛線箭頭表示由下層對(duì)象調(diào)用上層對(duì)象。以器件和網(wǎng)絡(luò)為核心介紹接口對(duì)數(shù)據(jù)資源的組織關(guān)系。
    (1)原理圖——網(wǎng)絡(luò):由工程接口進(jìn)入,生成目標(biāo)原理圖的通用數(shù)據(jù)結(jié)構(gòu),再調(diào)用單頁(yè)原理圖接口,由單頁(yè)原理圖接口中的GetNets()方法或GetAllNets()方法可以獲取網(wǎng)絡(luò)(包括普通網(wǎng)絡(luò)和總線網(wǎng)絡(luò))集接口IFvdNets,通過(guò)該接口的Item()方法可以獲取單個(gè)網(wǎng)絡(luò)對(duì)應(yīng)的接口。
    (2)原理圖——器件:由工程接口進(jìn)入,生成目標(biāo)原理圖的通用數(shù)據(jù)結(jié)構(gòu),再調(diào)用單頁(yè)原理圖接口,由單頁(yè)原理圖接口中的GetComps()方法或GetAllComps()方法可以獲取器件(包括普通器件和模塊)集合接口IFvdComps,通過(guò)該接口的Item()方法可以獲取單個(gè)器件對(duì)應(yīng)的器件接口IFvdComp。
    (3)由下層對(duì)象向上層對(duì)象的訪問(wèn):例如可以通過(guò)一個(gè)器件管腳的接口IFvdCmpPin來(lái)獲得該管腳所在的器件接口IFvdComp,而通過(guò)接口IFvd—Comp又可獲取該器件所在的原理圖頁(yè)的接口IFvdSheet,通過(guò)接口IFvdSheet又可訪問(wèn)該原理圖頁(yè)的所有資源。在此需要說(shuō)明,對(duì)于某一頁(yè)確定的原理圖,不管通過(guò)哪種途徑來(lái)獲取其對(duì)應(yīng)的接口,這個(gè)接口可以提供的原理圖資源總是相同的,這也是符合客觀實(shí)際的。
    由以上分析可以看出,原理圖解析器的這種接口組織調(diào)用關(guān)系支持了各種形式的對(duì)原理圖資源的訪問(wèn),同時(shí)也保持了信息的準(zhǔn)確性和完整性。
    另外,為了方便用戶(hù)使用,在原理圖接口IF—vdSchs和單頁(yè)原理圖接口IFvdSheet的方法中還提供了器件和網(wǎng)絡(luò)的查找功能:對(duì)于器件支持Refdes(器件的引用屬J陛定義)和全路徑uID(器件在原理理圖中的唯一的標(biāo)識(shí))查找;對(duì)于網(wǎng)絡(luò)支持Label值查找和全路徑UID的查找。
    各接口說(shuō)明如下:
    (1)IFvdAur:屬性接口,獲取屬性名、屬性值和屬性的可見(jiàn)性;
    (2)IFvdAttrs:提供一個(gè)訪問(wèn)屬性集合對(duì)象的接口,該屬性集合對(duì)象內(nèi)部包含一組屬性對(duì)象的接口指針;
    (3)IFvdBox:外圍框接口;
    (4)IFvdCmpPin:器件管腳接口,獲取管腳所在器件、管腳屬性集、管腳連接和管腳相連的symbol的管腳;
    (5)IFvdCmpPins:器件管腳集合接口,提供一個(gè)訪問(wèn)器件管腳集合對(duì)象的接口;
    (6)IFvdComp:器件接口,可獲取各類(lèi)子對(duì)象和內(nèi)部屬性;
    (7)IFvdComps:器件集合接口,提供一個(gè)訪問(wèn)器件集合對(duì)象的接口;
    (8)IFvdConnection:連接接口,可獲取連接中的器件管腳、網(wǎng)絡(luò)和網(wǎng)絡(luò)段;
    (9)IFvdConnections:連接集合接口,提供一個(gè)訪問(wèn)連接集合對(duì)象的接口;
    (10)IFvdLabel:Label接口,獲取Label的名字和可見(jiàn)性;
    (11)IFvdNet:網(wǎng)絡(luò)接口,可獲得各類(lèi)子對(duì)象及內(nèi)部屬性;
    (12)IFvdNets:網(wǎng)絡(luò)集合接口,提供一個(gè)訪問(wèn)網(wǎng)絡(luò)集合對(duì)象的接口;
    (13)IFvdSymPin:Symbol管腳接口,可獲得Symbol管腳的內(nèi)部屬性;
    (14)IFvdSymPins:Symbol管腳集合接口,提供一個(gè)訪問(wèn)Symbol管腳集合對(duì)象的接口;
    (15)IFvdPoint:位置坐標(biāo)接口,獲取位置的坐標(biāo)值;
    (16)IFvdProj:解析原理圖工程接口;
    (17)IFvdSheet:?jiǎn)雾?yè)原理圖接口,可獲取單頁(yè)原理圖中各種對(duì)象及搜索器件和網(wǎng)絡(luò);
    (18)IFvdSch:原理圖接口,可獲得原理圖中單頁(yè)原理圖的頁(yè)數(shù)和原理圖對(duì)象集合;
    (19)IFvdSegment:網(wǎng)絡(luò)集合接口,可獲取網(wǎng)絡(luò)段屬性集合和網(wǎng)絡(luò)段所屬的網(wǎng)絡(luò);
    (20)IFvdSegments:網(wǎng)絡(luò)段集合接口,提供一個(gè)訪問(wèn)網(wǎng)絡(luò)段集的接口;
    (21)IFvdSymbol:符號(hào)接口,獲取內(nèi)部管腳集和屬性集。

5 調(diào)用方法說(shuō)明
    原理圖解析器是基于ATL技術(shù)而開(kāi)發(fā)的,是一個(gè)符合COM標(biāo)準(zhǔn)的組件,因此在使用時(shí)要按照COM組件的使用規(guī)范。原理圖解析器共有21個(gè)接口,其內(nèi)部分別對(duì)應(yīng)21個(gè)COM類(lèi)。在這21個(gè)COM類(lèi)中,只有原理圖工程接口IFvdProj對(duì)應(yīng)的類(lèi)為可創(chuàng)建類(lèi),其余20個(gè)接口對(duì)應(yīng)的類(lèi)均為不可創(chuàng)建類(lèi)??蛻?hù)端程序都要以工程接口IFvdProj為入口點(diǎn),通過(guò)創(chuàng)建解析器的組件實(shí)例來(lái)獲取接口IFvdProj的地址指針,其它接口的獲取都要從IFvdProj開(kāi)始,通過(guò)接口提供的各種方法來(lái)獲取??蛻?hù)端建立組件,通過(guò)組件接口訪問(wèn)原理圖資源的流程如下:
    (1)在系統(tǒng)上注冊(cè)…原理圖解析器組件PST.DLL;
    (2)在客戶(hù)程序中使用“import”預(yù)處理指令導(dǎo)入PST.DLL:
    (3)創(chuàng)建解析器組件,并獲取入口點(diǎn)接口IF

    
    (4)通過(guò)接口IFvdProj的方法ParseProj()生成目標(biāo)原理圖的通用數(shù)據(jù)結(jié)構(gòu),并用原理圖接口IF—vdSchs接收其返回值如下:


6 使用結(jié)果示例
   
下面這段程序統(tǒng)計(jì)了一頁(yè)原理圖中當(dāng)前層的網(wǎng)絡(luò)數(shù)和包括所有底層后的網(wǎng)絡(luò)數(shù),并且使用了對(duì)網(wǎng)絡(luò)的查找功能:

    程序的執(zhí)行結(jié)果,如圖3所示。

7 結(jié)束語(yǔ)
    文中描述了自行開(kāi)發(fā)的基于ATL技術(shù)的原理圖解析器,介紹了系統(tǒng)的基本構(gòu)成和接口的組織關(guān)系。另外,還對(duì)解析器的使用作了詳細(xì)說(shuō)明,并在文中最后給出了一個(gè)實(shí)際使用的示例。原理圖解析器的開(kāi)發(fā)得以在不使用國(guó)外EDA工具的情況下,方便地訪問(wèn)原理圖資源,從而節(jié)約了大量的資金,并為國(guó)產(chǎn)EDA軟件的開(kāi)發(fā)和市場(chǎng)化進(jìn)行了有益的嘗試。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉