當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]對(duì)接口實(shí)驗(yàn)流程進(jìn)行建模,利用純軟件技術(shù)完全軟件模擬實(shí)現(xiàn)硬件電路的設(shè)計(jì)與驅(qū)動(dòng),從而實(shí)現(xiàn)一個(gè)有較低成本.較好管理規(guī)范的基于網(wǎng)絡(luò)的微機(jī)接口虛擬硬件實(shí)驗(yàn)室。利用軟件模擬手段仿真一個(gè)程序設(shè)計(jì)、接口電路設(shè)計(jì)、連線檢測(cè)和試驗(yàn)效果的可視化二維接口試驗(yàn)環(huán)境。

1 引言
   
西部大開發(fā)為提高西部的教育水平帶來了契機(jī)。建立一個(gè)低成本,易維護(hù),仿真性好,具有靈活性,覆蓋面廣的系統(tǒng)化的虛擬接口、實(shí)驗(yàn)平臺(tái)來解決西部教育中的實(shí)驗(yàn)教學(xué)難題,成為目前遠(yuǎn)程教育實(shí)驗(yàn)教學(xué)的關(guān)鍵。
    基于網(wǎng)絡(luò)環(huán)境的虛擬接口實(shí)驗(yàn)平臺(tái)是一個(gè)可以在網(wǎng)絡(luò)環(huán)境下運(yùn)行的虛擬實(shí)驗(yàn)室。為用戶提供一個(gè)二維的可視化的環(huán)境,用戶通過匯編指令的調(diào)試、執(zhí)行和分析,最終將指令執(zhí)行結(jié)果反饋給以軟件形式展示的硬件系統(tǒng),驅(qū)動(dòng)虛擬硬件工作,產(chǎn)生正確的時(shí)序和波形圖。
    一個(gè)基于網(wǎng)絡(luò)的虛擬接口實(shí)驗(yàn)室必須具備以下功能:①程序的仿真解釋執(zhí)行(程序解釋器):模擬執(zhí)行完整的程序段,利用高級(jí)語言的面向?qū)ο蟮募夹g(shù)仿真解釋用戶提交的低級(jí)語言源程序;②虛擬芯片庫平臺(tái):提供可視化的模擬圖形芯片和一些常見的虛擬門電路,用戶選擇芯片,門電路連線,接受程序執(zhí)行的結(jié)果數(shù)據(jù),觸發(fā)芯片的工作,產(chǎn)生試驗(yàn)結(jié)果的模擬時(shí)序波形圖。

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
   
系統(tǒng)實(shí)現(xiàn)基于Web瀏覽器/業(yè)務(wù)邏輯層/數(shù)據(jù)存儲(chǔ)層(B/A/S)的三層網(wǎng)絡(luò)架構(gòu)計(jì)算模型,以Java為主要開發(fā)語言。瀏覽器端的展示層以JSP頁面為主,用戶登陸試驗(yàn)頁面,選擇以iava applet應(yīng)用實(shí)現(xiàn)的虛擬芯片進(jìn)行連線。用戶在網(wǎng)頁界面的提示處編寫試驗(yàn)程序,提交程序到服務(wù)器,服務(wù)器端的解釋器平臺(tái)調(diào)用解釋規(guī)則庫,解釋程序結(jié)果并可視化的返回給客戶端。用戶將結(jié)果數(shù)據(jù)提交給已連接好的虛擬接口電路,服務(wù)器端通過類庫設(shè)計(jì)定義各類芯片的工作方式、電氣特性、I/0特性和幾何特性等,確定信號(hào)時(shí)延。對(duì)芯片的各個(gè)管腳分別建立子類.定義各管腳的電氣特性、I/0特性和幾何特性等,達(dá)到真實(shí)地模擬硬件結(jié)構(gòu),使運(yùn)算結(jié)果與真實(shí)硬件相同,實(shí)現(xiàn)對(duì)各個(gè)接口技術(shù)實(shí)驗(yàn)環(huán)境進(jìn)行仿真。系統(tǒng)可根據(jù)用戶端的不同設(shè)計(jì)進(jìn)行重新配置執(zhí)行,使學(xué)習(xí)者感覺到其所應(yīng)用的實(shí)驗(yàn)平臺(tái)就是真實(shí)接口技術(shù)實(shí)驗(yàn)室。

3 接口實(shí)驗(yàn)流程建模
   
一個(gè)現(xiàn)實(shí)的接口實(shí)驗(yàn)流程如下:學(xué)生接到實(shí)驗(yàn)任務(wù),進(jìn)入實(shí)驗(yàn)室:①打開集成實(shí)驗(yàn)環(huán)境,在計(jì)算機(jī)上編寫匯編、C語言,通過詞法、語法檢查;②連接集成開發(fā)試驗(yàn)箱,連接跳線,燒錄程序;③觀察實(shí)驗(yàn)板上的現(xiàn)象,比對(duì)試驗(yàn)結(jié)果;④如果與預(yù)期結(jié)果現(xiàn)象一致,則試驗(yàn)程序正確,此試驗(yàn)結(jié)束,課后書寫實(shí)驗(yàn)報(bào)告,否則轉(zhuǎn)向;⑤修改程序,調(diào)試程序重復(fù)②~④。虛擬接口實(shí)驗(yàn)平臺(tái)的模式如圖l所示。

4 匯編程序的仿真解釋執(zhí)行
   
匯編程序是一個(gè)接口實(shí)驗(yàn)的基礎(chǔ),由程序的正確執(zhí)行結(jié)果驅(qū)動(dòng)相應(yīng)的芯片工作產(chǎn)生時(shí)序圖,模擬真實(shí)的接口實(shí)驗(yàn)環(huán)境,應(yīng)具備的功能模塊如下:
    (1)預(yù)處理模塊 除去注釋、偽指令,分析程序語句,分離出指令操作碼,第一、二操作數(shù),并存儲(chǔ)到指令數(shù)據(jù)表;
    (2)數(shù)據(jù)表模塊建立匯編指令所需的寄存器表、內(nèi)存表,端口表等,并提供通用的數(shù)據(jù)讀、寫接口;
    (3)解釋執(zhí)行模塊(規(guī)則庫)核心是建立各類指令的規(guī)則庫,跟蹤模擬程序指針PC的流程,實(shí)例化指令碼對(duì)應(yīng)的指令類,取出該條指令的操作數(shù)傳人類對(duì)象的成員函數(shù),進(jìn)行對(duì)應(yīng)的函數(shù)操作,返回計(jì)算結(jié)果,并寫入對(duì)應(yīng)的數(shù)據(jù)表;
    (4)通訊模塊 建立程序執(zhí)行與虛擬芯片工作的連接,程序執(zhí)行結(jié)果能透明的傳遞給虛擬芯片工作接口函數(shù),并接受虛擬芯片工作后的反饋數(shù)據(jù),透明的反饋給程序。
    仿真解釋執(zhí)行的算法嘲描述:①從用戶程序表中取出一條源程序語句,記錄此語句對(duì)應(yīng)的程序指針PC;②分離出語句中的操作碼、操作數(shù),在指令規(guī)則庫中查詢其對(duì)應(yīng)的指令類,若跳轉(zhuǎn)指令,轉(zhuǎn)至⑦否則轉(zhuǎn)至③;③查找數(shù)據(jù)字典中的尋址方式表,實(shí)例化出該指令對(duì)應(yīng)的尋址類對(duì)象,取出操作數(shù),調(diào)用指令類對(duì)象的函數(shù)成員,接受尋址類對(duì)象實(shí)例處理后的操作數(shù),進(jìn)行函數(shù)運(yùn)算,刷新其對(duì)應(yīng)的寄存器表或內(nèi)存表等;④取出各寄存器及內(nèi)存單元對(duì)應(yīng)的數(shù)據(jù),以圖表的形式展現(xiàn)在界面上,同時(shí)將其與虛擬芯片相關(guān)的數(shù)據(jù)透明的傳遞給通訊接口;⑤計(jì)算該指令的運(yùn)算時(shí)問,以靜態(tài)變量保存;⑥PC=PC+1取出下一條指令繼續(xù)執(zhí)行,轉(zhuǎn)至②;⑦若是無條件跳轉(zhuǎn)指令,計(jì)算該標(biāo)志對(duì)應(yīng)的PC值,轉(zhuǎn)至對(duì)應(yīng)的指令語句執(zhí)行,轉(zhuǎn)至②;若為有條件跳轉(zhuǎn)指令,取出狀態(tài)寄存器中該指令對(duì)應(yīng)的PSW值,判斷條件是否成立,如成立按無條件跳轉(zhuǎn)指令執(zhí)行,否則PC=PC+1,轉(zhuǎn)至②;若是子程序(中斷程序),則保存該條語句的PC值,便于程序的返回執(zhí)行,同時(shí)按無條件跳轉(zhuǎn)指令執(zhí)行;若為RET指令則程序結(jié)束。

5 虛擬芯片的設(shè)計(jì)
5.1 設(shè)計(jì)思想
   
接口電路設(shè)計(jì)所用器材包括CPU、TTL門電路、可編程邏輯芯片、負(fù)載等。傳輸信號(hào)主要分控制、地址、數(shù)據(jù)電源和地線。為實(shí)現(xiàn)實(shí)驗(yàn)電路邏輯性正確與否的檢測(cè),其設(shè)計(jì)方法是:針對(duì)每個(gè)芯片建立類,定義各種工作方式、電氣特性、I/O數(shù)據(jù)結(jié)構(gòu)。對(duì)其各管腳的功能定義(I/0特性、信號(hào)類型、電氣特性)建立子類,并構(gòu)造I/0方法,確定信號(hào)時(shí)延。幾何特性描述芯片的外部特征;工作特性描述芯片的數(shù)據(jù)處理方式(即工作方式);電氣特性描述芯片的工作周期;I/O數(shù)據(jù)結(jié)構(gòu)負(fù)責(zé)芯片工作前數(shù)據(jù)的接受與工作中、后的數(shù)據(jù)輸出。
    虛擬接口實(shí)驗(yàn)室要涉及的硬件比較多,而每個(gè)硬件的外部幾何特性都不盡相同,在非固定實(shí)驗(yàn)的情況下,用戶總是希望可以自由的選擇各類硬件,這樣就可以動(dòng)態(tài)地實(shí)現(xiàn)各類硬件的實(shí)例化操作。設(shè)計(jì)時(shí)采用硬件多態(tài)的思想,最大化的實(shí)現(xiàn)虛擬芯片類庫的復(fù)用,即設(shè)計(jì)抽象于所有硬件的一個(gè)主模塊,派生出具體的硬件類,可以實(shí)現(xiàn)用戶隨意選擇芯片,也方便硬件鏈表的統(tǒng)一處理。
5.2 設(shè)計(jì)實(shí)例
5.2.1 設(shè)計(jì)思想
   
芯片具體實(shí)現(xiàn)包括芯片的幾何特性、工作特性、和電氣特性。幾何特性描述了芯片的外部特征;工作特性描述的是芯片的數(shù)據(jù)處理方式(即工作方式);電氣特性描述的是芯片的工作周期。不失一般性,在此以8253來說明設(shè)計(jì)思想和類之間的具體關(guān)系。 
5.2.2 類圖關(guān)系
   
為實(shí)現(xiàn)硬件多態(tài),設(shè)計(jì)了硬件模板類、芯片引腳類、8253芯片類3個(gè)類,類圖及關(guān)系如圖2所示。

6 虛擬芯片操作
   
對(duì)設(shè)計(jì)好的虛擬芯片要進(jìn)行移動(dòng)、縮放、芯片間連線、連線變形和連線正確性檢測(cè)等操作。
6.1 芯片移動(dòng)位置重疊算法
   
當(dāng)鼠標(biāo)點(diǎn)擊位置在模型內(nèi)部或外設(shè)輸入操作時(shí)觸發(fā)函數(shù),首先跳入一個(gè)判斷函數(shù),判斷鼠標(biāo)移動(dòng)釋放后的位置或者輸入?yún)?shù)使新模型處于以前模型的什么位置,如是左上,則首先判斷變化特征點(diǎn)(左上點(diǎn))的X坐標(biāo)是否大于在定點(diǎn)(右下點(diǎn))的第2象限(即左上)區(qū)域障礙物特征點(diǎn)X坐標(biāo)。大于則返回值為ture,操作可行,按照繪制算法重新繪制硬件模型和連線;不大于,函數(shù)跳入判斷Y坐標(biāo)函數(shù),變化特征點(diǎn)的Y坐標(biāo)是否小于在定點(diǎn)(右下點(diǎn))的第2象限(即左上)區(qū)域障礙物特征點(diǎn)Y坐標(biāo)。小于則返回值為true,操作可行,按照繪制算法重新繪制硬件模型和連線,不小于,則再次判斷對(duì)角點(diǎn)(右下點(diǎn))的X坐標(biāo)是否小于在定點(diǎn)(右下點(diǎn))的第2象限(即左上)區(qū)域障礙物特征點(diǎn)X坐標(biāo)。小于則返回值為true,操作可行,按照繪制算法重新繪制硬件模型和連線;不小于,函數(shù)跳入判斷Y坐標(biāo)函數(shù),變化特征點(diǎn)的Y坐標(biāo)是否大于在定點(diǎn)(右下點(diǎn))的第2象限(即左上)區(qū)域障礙物特征點(diǎn)Y坐標(biāo)。大于則返回值為ture,操作可行,按照繪制算法重新繪制硬件模型和連線,不大于,返回值為false,操作失敗,返回初值。與縮放算法類似,因?yàn)榭赡艽嬖诳缭娇尚行?,要進(jìn)行兩個(gè)特征點(diǎn)的兩次判斷。當(dāng)移動(dòng)位置是右上、左下、右下時(shí),函數(shù)流程基本相似,只是判斷大小的函數(shù)載入順序不同。(以下以2個(gè)模塊為例.其中坐標(biāo)前一位是模塊號(hào),后一位1表示左上點(diǎn),2表示右下點(diǎn))由算法分析得出表1所示結(jié)果。由表1可知,只有當(dāng)X組位置坐標(biāo)大小關(guān)系和Y組位置坐標(biāo)大小關(guān)系都不相同時(shí)位置才重疊。

6.2 芯片間連線變形算法
   
完成對(duì)象起點(diǎn)和終點(diǎn)的連線。要求連線不重合,不穿越芯片,盡可能美觀,芯片位置參數(shù)變化時(shí)線條繪制更新等。
    連線變形算法的詳細(xì)描述如圖3所示。(DrawLine()表示連線方法,GerPointx()表示獲得x軸方向的方法,GetPointy()表示獲得Y軸方向的方法)。連線效果圖如圖4所示。

7 結(jié)語
   
虛擬接口試驗(yàn)平臺(tái)已實(shí)現(xiàn)對(duì)8086匯編語言和MCS一51指令系統(tǒng)的仿真模擬解釋,同時(shí)模擬出8053和8255接口芯片的部分功能,幾個(gè)重要算法的實(shí)現(xiàn)在測(cè)試過程中體現(xiàn)出良好的時(shí)間與空間性能。由于虛擬接口實(shí)驗(yàn)室平臺(tái)還處于實(shí)驗(yàn)性研究階段,對(duì)接口編程語言的解釋執(zhí)行功能比較完善,且可解釋的語言種類還比較單一,應(yīng)豐富可解釋語言的種類,同時(shí)虛擬芯片庫的內(nèi)容還需大量擴(kuò)充,達(dá)到種類齊全的所有接口芯片的模擬。

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

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

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

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

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(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)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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