專利名稱:一種計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),屬于計(jì)算機(jī)實(shí)驗(yàn)儀器領(lǐng)域。
背景技術(shù):
計(jì)算機(jī)組成原理課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科階段必修的專業(yè)基礎(chǔ)課,其實(shí)驗(yàn)課程的重要性不言而喻。國(guó)內(nèi)各高校都很重視組成原理實(shí)驗(yàn)課的教學(xué),但所采用的實(shí)驗(yàn)設(shè)備有很大的差異,主要包括基于模塊的傳統(tǒng)實(shí)驗(yàn)箱、基于FPGA(Field — ProgrammableGate Array,現(xiàn)場(chǎng)可編程門陣列)的實(shí)驗(yàn)箱和基于通用FPGA開發(fā)板的實(shí)驗(yàn)平臺(tái)三類。
基于模塊的傳統(tǒng)實(shí)驗(yàn)箱由生產(chǎn)廠家將CPU的各個(gè)功能部件全部做好,學(xué)生實(shí)驗(yàn)時(shí)只需通過連線和撥動(dòng)相應(yīng)開關(guān)就能完成實(shí)驗(yàn)。該方式只能完成一些簡(jiǎn)單驗(yàn)證式的單個(gè)功能的實(shí)驗(yàn),缺乏系統(tǒng)性和設(shè)計(jì)性,另外,實(shí)驗(yàn)?zāi)J胶蛯?shí)驗(yàn)內(nèi)容難以突破實(shí)驗(yàn)箱的限制,導(dǎo)致實(shí)驗(yàn)內(nèi)容和課堂教學(xué)內(nèi)容不能很好配合,造成實(shí)驗(yàn)效率低下,不能很好地起到鞏固課堂教學(xué)的目的?;贔PGA的實(shí)驗(yàn)箱由FPGA和實(shí)驗(yàn)控制電路組成,實(shí)驗(yàn)內(nèi)容由實(shí)驗(yàn)者設(shè)計(jì)并在FPGA內(nèi)實(shí)現(xiàn),提高了實(shí)驗(yàn)內(nèi)容的靈活性和設(shè)計(jì)性,但控制電路主要由單片機(jī)來實(shí)現(xiàn),一旦設(shè)計(jì)完成,結(jié)構(gòu)固定,難以完成系統(tǒng)的功能擴(kuò)充和升級(jí),成本較高。另外,利用該類實(shí)驗(yàn)箱做實(shí)驗(yàn)時(shí),主要通過開關(guān)或按鍵完成數(shù)據(jù)的輸入,通過指示燈或數(shù)碼管完成結(jié)果的顯示,實(shí)驗(yàn)現(xiàn)象不夠直觀。雖然有些實(shí)驗(yàn)箱配有專門的實(shí)驗(yàn)軟件來完成通信,但實(shí)驗(yàn)軟件只能按預(yù)先設(shè)計(jì)的方式完成實(shí)驗(yàn),功能單一。相比之下,基于通用FPGA開發(fā)板的實(shí)驗(yàn)平臺(tái)更加靈活,功能也易于擴(kuò)充,但也存在一些缺陷。首先,學(xué)生實(shí)驗(yàn)前要花更多的時(shí)間去了解開發(fā)板,其次,當(dāng)設(shè)計(jì)一個(gè)較大的系統(tǒng),實(shí)驗(yàn)的輸入輸出較多時(shí),可能會(huì)出現(xiàn)FPGA管腳不夠用的情況,另外,缺乏一個(gè)上位機(jī)實(shí)驗(yàn)軟件來完成實(shí)驗(yàn)數(shù)據(jù)的輸入輸出,設(shè)計(jì)完成后,除了通過仿真來檢查實(shí)驗(yàn)設(shè)計(jì)的正確性夕卜,只能通過開發(fā)板開關(guān)輸入信息、通過指示燈顯示結(jié)果的方式來驗(yàn)證和判斷設(shè)計(jì)的正確性。SOPC (System-on-a-Programmable-Chip,可編程片上系統(tǒng)):S0PC 是一種特殊的嵌入式系統(tǒng),首先它是片上系統(tǒng)(S0C),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程的功能。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種基于FPGA的計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),克服現(xiàn)有平臺(tái)的不足,降低實(shí)驗(yàn)成本、提高實(shí)驗(yàn)效率,充分體現(xiàn)實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)性、開放性。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提出了一種計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),包括實(shí)驗(yàn)?zāi)K、嵌入式實(shí)驗(yàn)控制器和PC機(jī)實(shí)驗(yàn)軟件;其中實(shí)驗(yàn)?zāi)K是FPGA內(nèi)的自由區(qū)域,實(shí)驗(yàn)內(nèi)容由實(shí)驗(yàn)者設(shè)計(jì)實(shí)現(xiàn);嵌入式實(shí)驗(yàn)控制器由通信電路、存儲(chǔ)電路、編程接口電路和基于FPGA的SOPC系統(tǒng)組成;PC機(jī)實(shí)驗(yàn)軟件為實(shí)驗(yàn)者提供圖形化操作界面;S0PC系統(tǒng)與實(shí)驗(yàn)?zāi)K集成在一塊FPGA芯片內(nèi)部;嵌入式實(shí)驗(yàn)控制器與實(shí)驗(yàn)?zāi)K通過通用內(nèi)部端口連接。實(shí)驗(yàn)?zāi)K中的實(shí)驗(yàn)內(nèi)容是與教材同步的部件實(shí)驗(yàn)和整機(jī)實(shí)驗(yàn),或根據(jù)需要自定義的實(shí)驗(yàn)。進(jìn)一步地,SOPC系統(tǒng)包括NIOS軟核處理器、實(shí)驗(yàn)?zāi)K控制器、通信控制器、存儲(chǔ)器控制器和JTAG控制器,它們之間通過Avalon總線連接;實(shí)驗(yàn)?zāi)K控制器用于實(shí)驗(yàn)?zāi)K與SOPC系統(tǒng)的連接與通信。進(jìn)一步地,PC機(jī)實(shí)驗(yàn)軟件通過任意添加并配置觀察信號(hào)為實(shí)驗(yàn)者提供對(duì)實(shí)驗(yàn)整體和任意局部進(jìn)行檢測(cè)和驗(yàn)證的手段;通過跟蹤實(shí)驗(yàn)過程,并根據(jù)實(shí)驗(yàn)過程自動(dòng)生成實(shí)驗(yàn)報(bào)告;通過動(dòng)態(tài)加載實(shí)驗(yàn)原理圖達(dá)到操作界面與實(shí)驗(yàn)內(nèi)容的一致性。進(jìn)一步地,實(shí)驗(yàn)?zāi)K控制器包含兩類接口信號(hào),一類是Avalon接口信號(hào),使其能集成到SOPC系統(tǒng)中;另一類是提供給實(shí)驗(yàn)者調(diào)用的通用內(nèi)部接口信號(hào),連接學(xué)生實(shí)驗(yàn)?zāi)?塊,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)?zāi)K的讀寫。本發(fā)明的有益效果是,利用該實(shí)驗(yàn)平臺(tái),除了可以完成與教學(xué)內(nèi)容同步的實(shí)驗(yàn),還可以通過自定義實(shí)驗(yàn)完成任意的實(shí)驗(yàn)內(nèi)容,充分體現(xiàn)實(shí)驗(yàn)內(nèi)容的開放性和設(shè)計(jì)性;通過實(shí)驗(yàn)軟件直觀的數(shù)據(jù)輸入輸出界面、屏蔽FPGA開發(fā)板細(xì)節(jié)和自動(dòng)生成實(shí)驗(yàn)報(bào)告等方法提高了學(xué)生實(shí)驗(yàn)效率;實(shí)驗(yàn)控制器在FPGA內(nèi)的編程實(shí)現(xiàn),通過對(duì)FPGA重新編程的方式很容易完成實(shí)驗(yàn)系統(tǒng)的功能擴(kuò)充和升級(jí),可以降低實(shí)驗(yàn)成本。
圖I為本發(fā)明實(shí)驗(yàn)平臺(tái)總體結(jié)構(gòu)。圖2為本發(fā)明一個(gè)實(shí)施例的嵌入式實(shí)驗(yàn)控制器邏輯結(jié)構(gòu)圖。圖3為本發(fā)明一個(gè)實(shí)施例的通信過程。圖4為本發(fā)明一個(gè)實(shí)施例的實(shí)驗(yàn)軟件流程圖。
具體實(shí)施例方式下面結(jié)合附圖和具體施實(shí)例對(duì)本發(fā)明做進(jìn)一步描述
如圖I所示,本發(fā)明采用三層次結(jié)構(gòu),由實(shí)驗(yàn)?zāi)K、嵌入式實(shí)驗(yàn)控制器和PC機(jī)實(shí)驗(yàn)軟件三部分組成;其中下層實(shí)驗(yàn)?zāi)K是FPGA內(nèi)的自由區(qū)域,實(shí)驗(yàn)內(nèi)容由實(shí)驗(yàn)者設(shè)計(jì)實(shí)現(xiàn),可以是教學(xué)計(jì)劃內(nèi)的內(nèi)容,也可以是自定義內(nèi)容;上層為計(jì)算機(jī)上運(yùn)行的多功能PC機(jī)實(shí)驗(yàn)軟件,以圖形化的界面完成實(shí)驗(yàn)過程的控制;PC機(jī)實(shí)驗(yàn)軟件可通過任意添加并配置觀察信號(hào)為實(shí)驗(yàn)者提供對(duì)實(shí)驗(yàn)整體和任意局部進(jìn)行檢測(cè)和驗(yàn)證的手段;通過跟蹤實(shí)驗(yàn)過程,并根據(jù)實(shí)驗(yàn)過程自動(dòng)生成實(shí)驗(yàn)報(bào)告;通過動(dòng)態(tài)加載實(shí)驗(yàn)原理圖達(dá)到操作界面與實(shí)驗(yàn)內(nèi)容的一致性;中間層嵌入式實(shí)驗(yàn)控制器由通信電路、存儲(chǔ)電路、編程接口電路和基于FPGA的SOPC系統(tǒng)組成,為上下層之間的數(shù)據(jù)通信提供服務(wù);S0PC系統(tǒng)與實(shí)驗(yàn)?zāi)K集成在一塊FPGA芯片內(nèi)部;嵌入式實(shí)驗(yàn)控制器與實(shí)驗(yàn)?zāi)K通過通用內(nèi)部端口連接。其中,SOPC系統(tǒng)包括NIOS軟核處理器、實(shí)驗(yàn)?zāi)K控制器、通信控制器、存儲(chǔ)器控制器和JTAG控制器,它們之間通過Avalon總線連接;實(shí)驗(yàn)?zāi)K控制器用于實(shí)驗(yàn)?zāi)K與SOPC系統(tǒng)的連接與通信。如圖2所示為本發(fā)明一個(gè)實(shí)施例的嵌入式實(shí)驗(yàn)控制器邏輯結(jié)構(gòu)圖,圖中嵌入式實(shí)驗(yàn)控制器由ALTERA DE2-70開發(fā)板上的USB控制芯片、靜態(tài)存儲(chǔ)芯片SSRAM、USB Blaster接口和基于FPGA的SOPC系統(tǒng)組成。SOPC硬件系統(tǒng)由NIOS II處理器、實(shí)驗(yàn)?zāi)K控制器、USB控制器、SRAM控制器和JTAG控制器等組成,它們之間通過Avalon總線相連。此外,嵌入式實(shí)驗(yàn)控制器還可以Xilinx系列開發(fā)板和ALTERA系列開發(fā)板。實(shí)驗(yàn)?zāi)K控制器是ー個(gè)自定義組件,實(shí)現(xiàn)學(xué)生實(shí)驗(yàn)?zāi)K與SOPC系統(tǒng)的連接。實(shí)驗(yàn)?zāi)K控制器包含兩類接ロ信號(hào),ー類是Avalon接ロ信號(hào),使其能集成到SOPC系統(tǒng)中 ’另一類是提供給實(shí)驗(yàn)者調(diào)用的通用接ロ信號(hào),連接學(xué)生實(shí)驗(yàn)?zāi)K,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)?zāi)K的讀寫。NIOS II軟核處理器執(zhí)行NIOS程序,一方面與PC機(jī)實(shí)驗(yàn)軟件通信,另ー方面直接訪問硬件,通過實(shí)驗(yàn)?zāi)K控制器完成對(duì)實(shí)驗(yàn)?zāi)K的讀寫,以實(shí)現(xiàn)PC機(jī)實(shí)驗(yàn)軟件與實(shí)驗(yàn)?zāi)K的數(shù)據(jù)通信。SRAM控制器將DE2-70開發(fā)板上的靜態(tài)存儲(chǔ)器SSRAM與SOPC系統(tǒng)相連,為NIOS II CPU執(zhí)行程序提供存儲(chǔ)空間。USB控制器,連接DE2-70開發(fā)板上的USB接ロ控制芯片ISP1362,以實(shí)現(xiàn)PC機(jī)實(shí)驗(yàn)軟件和NIOS系統(tǒng)間的數(shù)據(jù)交換。JTAG控制器由JTAG UART組成,連接DE2-70開發(fā)板上的UBS Blaster接ロ。實(shí)驗(yàn)者在PC機(jī)上用Quartus II完成硬件的設(shè)計(jì),通過此接ロ將設(shè)計(jì)下載到開發(fā)板的FPGA。如圖3所示為本發(fā)明一個(gè)實(shí)施例的通信過程,圖中PC機(jī)實(shí)驗(yàn)軟件與學(xué)生實(shí)驗(yàn)?zāi)K之間的通信是由嵌入式控制器的NIOS處理器執(zhí)行NIOS程序來完成的,NIOS程序主要是對(duì)USB設(shè)備控制器ISP1362固件編程,完成軟硬件的協(xié)同設(shè)計(jì),實(shí)現(xiàn)與PC機(jī)實(shí)驗(yàn)軟件交換信息并直接讀寫實(shí)驗(yàn)?zāi)K。其中,硬件抽象層是USB設(shè)備控制器固件的最底層,用于通過I/O端ロ直接訪問硬件;中斷服務(wù)程序用于處理ISP1362設(shè)備控制器產(chǎn)生的中斷,它從ISP1362設(shè)備控制器的內(nèi)部FIFO中檢索數(shù)據(jù),并設(shè)置適當(dāng)?shù)氖录?biāo)志,以通知主循環(huán)程序來處理;主循環(huán)函數(shù)NIOS程序的入口,用于完成中斷的初始化操作,注冊(cè)中斷服務(wù)程序,主循環(huán)檢查事件標(biāo)志,并傳遞到相應(yīng)的子程序進(jìn)行進(jìn)一歩的處理。如圖4所示為本發(fā)明一個(gè)實(shí)施例的實(shí)驗(yàn)軟件執(zhí)行流程,從圖中可以看出程序開始后,根據(jù)需要選擇實(shí)驗(yàn)內(nèi)容,可以是與理論教學(xué)同步的部件實(shí)驗(yàn)或整機(jī)實(shí)驗(yàn),也可以是自定義實(shí)驗(yàn)內(nèi)容;通過導(dǎo)入原理圖的方式保證操作界面與實(shí)驗(yàn)內(nèi)容的一致性;通過根據(jù)需要任意添加觀察信號(hào)并配置觀察信號(hào)與低層硬件設(shè)計(jì)映射關(guān)系的方法,完成對(duì)實(shí)驗(yàn)內(nèi)容整體或局部的驗(yàn)證和測(cè)試;通過數(shù)據(jù)流動(dòng)態(tài)顯示可以觀察實(shí)驗(yàn)每一歩的數(shù)據(jù)流動(dòng)過程,直觀的判斷實(shí)驗(yàn)結(jié)果是否正確;通過記錄實(shí)驗(yàn)過程實(shí)驗(yàn)結(jié)束后自動(dòng)生成實(shí)驗(yàn)報(bào)告。
權(quán)利要求
1.一種計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),其特征在于,包括實(shí)驗(yàn)?zāi)K、嵌入式實(shí)驗(yàn)控制器和PC機(jī)實(shí)驗(yàn)軟件; 所述實(shí)驗(yàn)?zāi)K是FPGA內(nèi)的自由區(qū)域,實(shí)驗(yàn)內(nèi)容由實(shí)驗(yàn)者設(shè)計(jì)實(shí)現(xiàn); 所述嵌入式實(shí)驗(yàn)控制器由通信電路、存儲(chǔ)電路、編程接口電路和基于FPGA的SOPC系統(tǒng)組成; 所述PC機(jī)實(shí)驗(yàn)軟件為實(shí)驗(yàn)者提供圖形化操作界面; 所述SOPC系統(tǒng)與實(shí)驗(yàn)?zāi)K集成在一塊FPGA芯片內(nèi)部;所述嵌入式實(shí)驗(yàn)控制器與實(shí)驗(yàn)?zāi)K通過通用內(nèi)部端口連接。
2.如權(quán)利要求I所述的計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),其特征在于, 所述SOPC系統(tǒng)包括NIOS軟核處理器、實(shí)驗(yàn)?zāi)K控制器、通信控制器、存儲(chǔ)器控制器和JTAG控制器,它們之間通過Avalon總線連接;所述實(shí)驗(yàn)?zāi)K控制器用于實(shí)驗(yàn)?zāi)K與SOPC系統(tǒng)的連接與通信。
3.如權(quán)利要求I所述的計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),其特征在于, 所述PC機(jī)實(shí)驗(yàn)軟件通過任意添加并配置觀察信號(hào)為實(shí)驗(yàn)者提供對(duì)實(shí)驗(yàn)整體和任意局部進(jìn)行檢測(cè)和驗(yàn)證的手段;通過跟蹤實(shí)驗(yàn)過程,并根據(jù)實(shí)驗(yàn)過程自動(dòng)生成實(shí)驗(yàn)報(bào)告;通過動(dòng)態(tài)加載實(shí)驗(yàn)原理圖達(dá)到操作界面與實(shí)驗(yàn)內(nèi)容的一致性。
4.如權(quán)利要求I所述的計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),其特征在于, 所述實(shí)驗(yàn)?zāi)K中的實(shí)驗(yàn)內(nèi)容是與教材同步的部件實(shí)驗(yàn)和整機(jī)實(shí)驗(yàn),或根據(jù)需要自定義的實(shí)驗(yàn)。
5.如權(quán)利要求2所述的計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),其特征在于, 所述實(shí)驗(yàn)?zāi)K控制器包含兩類接口信號(hào),一類是Avalon接口信號(hào),使其能集成到SOPC系統(tǒng)中;另一類是提供給實(shí)驗(yàn)者調(diào)用的通用內(nèi)部接口信號(hào),連接學(xué)生實(shí)驗(yàn)?zāi)K,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)?zāi)K的讀寫。
全文摘要
本發(fā)明涉及一種計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái),屬于計(jì)算機(jī)實(shí)驗(yàn)儀器領(lǐng)域。本發(fā)明包括實(shí)驗(yàn)?zāi)K、嵌入式實(shí)驗(yàn)控制器和PC機(jī)實(shí)驗(yàn)軟件;其中實(shí)驗(yàn)?zāi)K是FPGA內(nèi)的自由區(qū)域,實(shí)驗(yàn)內(nèi)容由實(shí)驗(yàn)者設(shè)計(jì)實(shí)現(xiàn);嵌入式實(shí)驗(yàn)控制器由通信電路、存儲(chǔ)電路、編程接口電路和基于FPGA的SOPC系統(tǒng)組成;PC機(jī)實(shí)驗(yàn)軟件為實(shí)驗(yàn)者提供圖形化操作界面。利用該實(shí)驗(yàn)平臺(tái),除了可以完成與教學(xué)內(nèi)容同步的實(shí)驗(yàn),還可以通過自定義實(shí)驗(yàn)完成任意的實(shí)驗(yàn)內(nèi)容,充分體現(xiàn)實(shí)驗(yàn)內(nèi)容的開放性和設(shè)計(jì)性。
文檔編號(hào)G09B23/18GK102789728SQ20121022475
公開日2012年11月21日 申請(qǐng)日期2012年7月2日 優(yōu)先權(quán)日2012年7月2日
發(fā)明者丁偉, 肖鐵軍 申請(qǐng)人:江蘇大學(xué)