祝元興++粘子雄++謝藝婷
摘要:為了適應(yīng)目前學院對計算機組成原理實驗平臺的要求,開發(fā)了一個基于FPGA的計算機運算器,用軟件的思想來模擬硬件的功能,利用FPGA芯片模擬8位字長運算器,可實現(xiàn)多種算術(shù)運算和邏輯運算并顯示。用手動開關(guān)給出控制信號來控制運算器的運行,通過觀察數(shù)據(jù)燈、地址燈、狀態(tài)燈來了解運算器運行情況。該文主要討論了系統(tǒng)的下位機硬件設(shè)計和上下位機的通訊設(shè)計。
關(guān)鍵詞:FPGA 運算器 實驗平臺 下位機
中圖分類號:TP301-4;TN791 文獻標識碼:A 文章編號:1007-9416(2014)08-0101-02
目前福建省內(nèi)還沒有高校自主研發(fā)的計算機專業(yè)體系實驗平臺,所有的相關(guān)實驗裝置都是從省外購買,購買成本高,難于維護,可移動性差。再加上我們學院的計算機組成原理實驗設(shè)備結(jié)構(gòu)比較老舊,硬件結(jié)構(gòu)和電路設(shè)計比較復(fù)雜,體積大,不夠靈活,難于擴展和維護等不足,所以研制一種體積小、成本低、實驗環(huán)境要求不高實驗裝置是迫切需求的。
基于FPGA的計算機運算器,可以滿足計算機組成原理實踐課程的部分教學需要,是組成原理實驗平臺的一部分。該運算器適用教師教學環(huán)節(jié),有是面向?qū)W生服務(wù)的平臺,本系統(tǒng)構(gòu)建可擴展、易維護、靈活性強,實驗成本低,適用面廣。可通過本項目的開發(fā),在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可為計算機工程系相關(guān)課程提供一個教學應(yīng)用平臺。并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
1 系統(tǒng)簡介
系統(tǒng)最大的特點就是運用了軟件的思想來模擬硬件的功能,完成運算器的算術(shù)或邏輯運算,系統(tǒng)設(shè)計以學生可以進行計算機組成原理實驗為主,讓學生從軟件和硬件都得到了很好的鍛煉。如圖1所示,本實驗平臺包括三部分:下位機、上位機、上下位機之間的通信。
本系統(tǒng)提供脫機、PC聯(lián)機兩種操作方式,靈活方便,通過RS-232通訊接口與計算機聯(lián)機使用。上位機是基于WIN2000、WINXP等操作系統(tǒng)的聯(lián)機軟件,界面友好,可完成對程序的編輯、下載、讀出和保存,并可實時監(jiān)控實驗系統(tǒng)的運行情況,檢測實驗連線的正確性。生動直觀的模擬數(shù)據(jù)流向及數(shù)據(jù)、控制線的各種信息,使學生更易理解計算機運算器的組成結(jié)構(gòu)和工作過程。下位機是基于FPGA的開發(fā)板和自己設(shè)計的輸入和輸出信號擴展PCB板板所組成,用來構(gòu)成實驗平臺的硬件部分。
2 下位機的設(shè)計
整個下位機是利用FPGA的開發(fā)板Altera DEO開發(fā)板架構(gòu)運算器的功能,利用擴展板來實現(xiàn)數(shù)據(jù)、控制信號的輸入和結(jié)果輸出。本系統(tǒng)機器字長為8位,即該運算器可以同時進行2個8位二進制數(shù)的運算,既數(shù)據(jù)總線為8位。整個下位機采用功能模塊化設(shè)計,通過對模塊進行功能仿真,可以模擬運算器的工作過程。各模塊的組合如圖2所示。
2.1 各模塊的功能設(shè)計
各模塊的實現(xiàn)是通過FPGA來模擬,把程序嵌入到FPGA中,用FPGA來模擬硬件功能,留出相應(yīng)的控制信號和輸入輸出信號接口,讓學生有動手的操作過程,同時又節(jié)省了ALU、鎖存器和寄存器的硬件電路,適合于應(yīng)用在教學實踐課中。
ALU是整個運算器的核心模塊,利用FPGA來模擬實現(xiàn)八位的算術(shù)邏輯運算單元ALU的功能。這里的ALU功能是模擬74L181的功能,它可以進行2個8位二進制數(shù)的算術(shù)邏輯運算,各種工作方式可通過設(shè)置其控制信號來實現(xiàn)(S0、 S1、 S2、S3、M、CN)。Altera DEO開發(fā)板的P0.16~P0.21接擴展板的開關(guān)電路,作為運算器的控制信號 S0、 S1、 S2、S3、M、CN。當實驗者正確設(shè)置了ALU的各個控制信號,就可以把兩個操作數(shù)進行相應(yīng)的運算并輸出。通過QuartusⅡ編譯生成ALU功能的實現(xiàn)電路如圖3所示。
數(shù)據(jù)輸入鎖存器DR1和DR2的功能是鎖存數(shù)據(jù),用來鎖存參與運算的兩個操作數(shù),使他們都穩(wěn)定地出現(xiàn)在ALU的輸入端,為ALU運算做準備。DR1和DR2什么時候鎖存呢,在設(shè)計的時候,用VHDL語言來編譯鎖存器功能,EDR1為低電平,并且D1CK有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器DR1。同樣使EDR2為低電平、D2CK有上升沿時把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器DR2。
在實驗中為了避免數(shù)據(jù)總線上的數(shù)據(jù)發(fā)生沖突,連接在總線上的數(shù)據(jù)只能分時傳送,數(shù)據(jù)緩沖器SDR對信息起暫存作用。ALU運算完后沒有立即把結(jié)果輸出至總線,是通過數(shù)據(jù)緩沖寄存器根據(jù)其具體的需求來運送到數(shù)據(jù)總線上,緩沖器是用FPGA模擬74L244的功能。輸出緩沖器SDR當控制信號ALU-O為低電平時,SDR導通,把ALU的運算結(jié)果輸出到數(shù)據(jù)總線,當ALU-O為高電平時,SDR的輸出為高阻。ALU-O為SDR的輸出控制信號。
2.2 各模塊的整合設(shè)計
具體的模塊整合的實現(xiàn)是把三個可以獨立運行的功能文件放置在同一個文件夾中,再利用QuartusⅡ新建模塊文件,導入涉及到的所有模塊最后進行模塊間的連線和定義來實現(xiàn),如圖4所示。
在新建的NEW1模塊中分別導入DR1和DR2、ALU和SDR的功能電路圖,以及若干的INPUT和OUTPUT插件。根據(jù)插件和定義兩端的參數(shù)信息進行連線,有需要注意的是在鎖存器的輸入中定義了相同的管腳來作為控制信號,內(nèi)部的連接不需要加單獨的插件,只需要定義下參數(shù)即可。
2.3 輸入輸出擴展板
系統(tǒng)設(shè)計的輸入和輸出擴展PCB板中有手動輸入單元、輸出單元。手動輸入單元主要由24個撥動開關(guān)組成,往上撥開關(guān)表示輸出高電平1,往下?lián)荛_發(fā)表示輸出低電平0,這24個開關(guān)可以為系統(tǒng)提供所需要的數(shù)據(jù)信息和控制信號信息。輸出單元主要是由LED燈組成的,作為數(shù)據(jù)線上的數(shù)據(jù)狀態(tài)的表示燈,燈亮表示數(shù)據(jù)為1,燈滅表示數(shù)據(jù)為0。
做實驗時,用杜邦線把FPGA的相應(yīng)的引腳連接到PCB板,,通過波動開關(guān)設(shè)置參與運算的數(shù)據(jù),相應(yīng)的控制信號狀態(tài),就可以通過數(shù)據(jù)總線的LED觀察運算器的運算結(jié)果。
3 上下位機的通訊協(xié)議設(shè)計
上位機可以監(jiān)視下位機運行的狀態(tài)等,這里采用的是串行通訊。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設(shè)備可以方便地連接起來進行通訊。RS-232-C接口(又稱 EIA RS-232-C)是目前比較常用的一種串行通訊接口。RS-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,RS-232適合本地設(shè)備之間的通信。所以我們的實驗平臺采用RS-232通訊。
上下位機通訊的實質(zhì)主要是雙方要規(guī)定好傳輸?shù)臄?shù)據(jù)格式,采用異步串行通訊格式,采用一個起始位、數(shù)據(jù)位、一位檢驗位、一位停止位。整個通訊過程我們要確保上下位機數(shù)據(jù)同步、操作同步。
4 結(jié)語
本系統(tǒng)與現(xiàn)有的計算機組成原理運算器模塊相比較,成本低、體積小、移動性強、維護方便,容易升級和擴展等優(yōu)勢。該系統(tǒng)不僅可以滿足計算機組成原理實踐課程的部分教學需要,可以適應(yīng)提高學生的創(chuàng)新能力和動手實踐能力的教學要求。在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可應(yīng)用在一般高校,并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
參考文獻
[1]胡科.基于FPGA的VHDL計算機組成實驗平臺的設(shè)計與實現(xiàn)[D].上海:華東師范大學電子信息系,2007.
[2]陳志勇.計算機組成系統(tǒng)實驗的改革與實踐[J].電氣電子教學學報,2007,29(5):74-78.
[3]徐晨,顧暉.應(yīng)用EDA技術(shù)改革計算機組成原理實驗教學[J].電氣電子教學學報,2004,26(5):66-69.
[4]周寧寧.基于FPGA技術(shù)的計算機組成原理實驗系統(tǒng)[J].現(xiàn)代電子技術(shù),2005,28(1):23-25.endprint
摘要:為了適應(yīng)目前學院對計算機組成原理實驗平臺的要求,開發(fā)了一個基于FPGA的計算機運算器,用軟件的思想來模擬硬件的功能,利用FPGA芯片模擬8位字長運算器,可實現(xiàn)多種算術(shù)運算和邏輯運算并顯示。用手動開關(guān)給出控制信號來控制運算器的運行,通過觀察數(shù)據(jù)燈、地址燈、狀態(tài)燈來了解運算器運行情況。該文主要討論了系統(tǒng)的下位機硬件設(shè)計和上下位機的通訊設(shè)計。
關(guān)鍵詞:FPGA 運算器 實驗平臺 下位機
中圖分類號:TP301-4;TN791 文獻標識碼:A 文章編號:1007-9416(2014)08-0101-02
目前福建省內(nèi)還沒有高校自主研發(fā)的計算機專業(yè)體系實驗平臺,所有的相關(guān)實驗裝置都是從省外購買,購買成本高,難于維護,可移動性差。再加上我們學院的計算機組成原理實驗設(shè)備結(jié)構(gòu)比較老舊,硬件結(jié)構(gòu)和電路設(shè)計比較復(fù)雜,體積大,不夠靈活,難于擴展和維護等不足,所以研制一種體積小、成本低、實驗環(huán)境要求不高實驗裝置是迫切需求的。
基于FPGA的計算機運算器,可以滿足計算機組成原理實踐課程的部分教學需要,是組成原理實驗平臺的一部分。該運算器適用教師教學環(huán)節(jié),有是面向?qū)W生服務(wù)的平臺,本系統(tǒng)構(gòu)建可擴展、易維護、靈活性強,實驗成本低,適用面廣??赏ㄟ^本項目的開發(fā),在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可為計算機工程系相關(guān)課程提供一個教學應(yīng)用平臺。并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
1 系統(tǒng)簡介
系統(tǒng)最大的特點就是運用了軟件的思想來模擬硬件的功能,完成運算器的算術(shù)或邏輯運算,系統(tǒng)設(shè)計以學生可以進行計算機組成原理實驗為主,讓學生從軟件和硬件都得到了很好的鍛煉。如圖1所示,本實驗平臺包括三部分:下位機、上位機、上下位機之間的通信。
本系統(tǒng)提供脫機、PC聯(lián)機兩種操作方式,靈活方便,通過RS-232通訊接口與計算機聯(lián)機使用。上位機是基于WIN2000、WINXP等操作系統(tǒng)的聯(lián)機軟件,界面友好,可完成對程序的編輯、下載、讀出和保存,并可實時監(jiān)控實驗系統(tǒng)的運行情況,檢測實驗連線的正確性。生動直觀的模擬數(shù)據(jù)流向及數(shù)據(jù)、控制線的各種信息,使學生更易理解計算機運算器的組成結(jié)構(gòu)和工作過程。下位機是基于FPGA的開發(fā)板和自己設(shè)計的輸入和輸出信號擴展PCB板板所組成,用來構(gòu)成實驗平臺的硬件部分。
2 下位機的設(shè)計
整個下位機是利用FPGA的開發(fā)板Altera DEO開發(fā)板架構(gòu)運算器的功能,利用擴展板來實現(xiàn)數(shù)據(jù)、控制信號的輸入和結(jié)果輸出。本系統(tǒng)機器字長為8位,即該運算器可以同時進行2個8位二進制數(shù)的運算,既數(shù)據(jù)總線為8位。整個下位機采用功能模塊化設(shè)計,通過對模塊進行功能仿真,可以模擬運算器的工作過程。各模塊的組合如圖2所示。
2.1 各模塊的功能設(shè)計
各模塊的實現(xiàn)是通過FPGA來模擬,把程序嵌入到FPGA中,用FPGA來模擬硬件功能,留出相應(yīng)的控制信號和輸入輸出信號接口,讓學生有動手的操作過程,同時又節(jié)省了ALU、鎖存器和寄存器的硬件電路,適合于應(yīng)用在教學實踐課中。
ALU是整個運算器的核心模塊,利用FPGA來模擬實現(xiàn)八位的算術(shù)邏輯運算單元ALU的功能。這里的ALU功能是模擬74L181的功能,它可以進行2個8位二進制數(shù)的算術(shù)邏輯運算,各種工作方式可通過設(shè)置其控制信號來實現(xiàn)(S0、 S1、 S2、S3、M、CN)。Altera DEO開發(fā)板的P0.16~P0.21接擴展板的開關(guān)電路,作為運算器的控制信號 S0、 S1、 S2、S3、M、CN。當實驗者正確設(shè)置了ALU的各個控制信號,就可以把兩個操作數(shù)進行相應(yīng)的運算并輸出。通過QuartusⅡ編譯生成ALU功能的實現(xiàn)電路如圖3所示。
數(shù)據(jù)輸入鎖存器DR1和DR2的功能是鎖存數(shù)據(jù),用來鎖存參與運算的兩個操作數(shù),使他們都穩(wěn)定地出現(xiàn)在ALU的輸入端,為ALU運算做準備。DR1和DR2什么時候鎖存呢,在設(shè)計的時候,用VHDL語言來編譯鎖存器功能,EDR1為低電平,并且D1CK有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器DR1。同樣使EDR2為低電平、D2CK有上升沿時把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器DR2。
在實驗中為了避免數(shù)據(jù)總線上的數(shù)據(jù)發(fā)生沖突,連接在總線上的數(shù)據(jù)只能分時傳送,數(shù)據(jù)緩沖器SDR對信息起暫存作用。ALU運算完后沒有立即把結(jié)果輸出至總線,是通過數(shù)據(jù)緩沖寄存器根據(jù)其具體的需求來運送到數(shù)據(jù)總線上,緩沖器是用FPGA模擬74L244的功能。輸出緩沖器SDR當控制信號ALU-O為低電平時,SDR導通,把ALU的運算結(jié)果輸出到數(shù)據(jù)總線,當ALU-O為高電平時,SDR的輸出為高阻。ALU-O為SDR的輸出控制信號。
2.2 各模塊的整合設(shè)計
具體的模塊整合的實現(xiàn)是把三個可以獨立運行的功能文件放置在同一個文件夾中,再利用QuartusⅡ新建模塊文件,導入涉及到的所有模塊最后進行模塊間的連線和定義來實現(xiàn),如圖4所示。
在新建的NEW1模塊中分別導入DR1和DR2、ALU和SDR的功能電路圖,以及若干的INPUT和OUTPUT插件。根據(jù)插件和定義兩端的參數(shù)信息進行連線,有需要注意的是在鎖存器的輸入中定義了相同的管腳來作為控制信號,內(nèi)部的連接不需要加單獨的插件,只需要定義下參數(shù)即可。
2.3 輸入輸出擴展板
系統(tǒng)設(shè)計的輸入和輸出擴展PCB板中有手動輸入單元、輸出單元。手動輸入單元主要由24個撥動開關(guān)組成,往上撥開關(guān)表示輸出高電平1,往下?lián)荛_發(fā)表示輸出低電平0,這24個開關(guān)可以為系統(tǒng)提供所需要的數(shù)據(jù)信息和控制信號信息。輸出單元主要是由LED燈組成的,作為數(shù)據(jù)線上的數(shù)據(jù)狀態(tài)的表示燈,燈亮表示數(shù)據(jù)為1,燈滅表示數(shù)據(jù)為0。
做實驗時,用杜邦線把FPGA的相應(yīng)的引腳連接到PCB板,,通過波動開關(guān)設(shè)置參與運算的數(shù)據(jù),相應(yīng)的控制信號狀態(tài),就可以通過數(shù)據(jù)總線的LED觀察運算器的運算結(jié)果。
3 上下位機的通訊協(xié)議設(shè)計
上位機可以監(jiān)視下位機運行的狀態(tài)等,這里采用的是串行通訊。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設(shè)備可以方便地連接起來進行通訊。RS-232-C接口(又稱 EIA RS-232-C)是目前比較常用的一種串行通訊接口。RS-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,RS-232適合本地設(shè)備之間的通信。所以我們的實驗平臺采用RS-232通訊。
上下位機通訊的實質(zhì)主要是雙方要規(guī)定好傳輸?shù)臄?shù)據(jù)格式,采用異步串行通訊格式,采用一個起始位、數(shù)據(jù)位、一位檢驗位、一位停止位。整個通訊過程我們要確保上下位機數(shù)據(jù)同步、操作同步。
4 結(jié)語
本系統(tǒng)與現(xiàn)有的計算機組成原理運算器模塊相比較,成本低、體積小、移動性強、維護方便,容易升級和擴展等優(yōu)勢。該系統(tǒng)不僅可以滿足計算機組成原理實踐課程的部分教學需要,可以適應(yīng)提高學生的創(chuàng)新能力和動手實踐能力的教學要求。在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可應(yīng)用在一般高校,并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
參考文獻
[1]胡科.基于FPGA的VHDL計算機組成實驗平臺的設(shè)計與實現(xiàn)[D].上海:華東師范大學電子信息系,2007.
[2]陳志勇.計算機組成系統(tǒng)實驗的改革與實踐[J].電氣電子教學學報,2007,29(5):74-78.
[3]徐晨,顧暉.應(yīng)用EDA技術(shù)改革計算機組成原理實驗教學[J].電氣電子教學學報,2004,26(5):66-69.
[4]周寧寧.基于FPGA技術(shù)的計算機組成原理實驗系統(tǒng)[J].現(xiàn)代電子技術(shù),2005,28(1):23-25.endprint
摘要:為了適應(yīng)目前學院對計算機組成原理實驗平臺的要求,開發(fā)了一個基于FPGA的計算機運算器,用軟件的思想來模擬硬件的功能,利用FPGA芯片模擬8位字長運算器,可實現(xiàn)多種算術(shù)運算和邏輯運算并顯示。用手動開關(guān)給出控制信號來控制運算器的運行,通過觀察數(shù)據(jù)燈、地址燈、狀態(tài)燈來了解運算器運行情況。該文主要討論了系統(tǒng)的下位機硬件設(shè)計和上下位機的通訊設(shè)計。
關(guān)鍵詞:FPGA 運算器 實驗平臺 下位機
中圖分類號:TP301-4;TN791 文獻標識碼:A 文章編號:1007-9416(2014)08-0101-02
目前福建省內(nèi)還沒有高校自主研發(fā)的計算機專業(yè)體系實驗平臺,所有的相關(guān)實驗裝置都是從省外購買,購買成本高,難于維護,可移動性差。再加上我們學院的計算機組成原理實驗設(shè)備結(jié)構(gòu)比較老舊,硬件結(jié)構(gòu)和電路設(shè)計比較復(fù)雜,體積大,不夠靈活,難于擴展和維護等不足,所以研制一種體積小、成本低、實驗環(huán)境要求不高實驗裝置是迫切需求的。
基于FPGA的計算機運算器,可以滿足計算機組成原理實踐課程的部分教學需要,是組成原理實驗平臺的一部分。該運算器適用教師教學環(huán)節(jié),有是面向?qū)W生服務(wù)的平臺,本系統(tǒng)構(gòu)建可擴展、易維護、靈活性強,實驗成本低,適用面廣??赏ㄟ^本項目的開發(fā),在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可為計算機工程系相關(guān)課程提供一個教學應(yīng)用平臺。并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
1 系統(tǒng)簡介
系統(tǒng)最大的特點就是運用了軟件的思想來模擬硬件的功能,完成運算器的算術(shù)或邏輯運算,系統(tǒng)設(shè)計以學生可以進行計算機組成原理實驗為主,讓學生從軟件和硬件都得到了很好的鍛煉。如圖1所示,本實驗平臺包括三部分:下位機、上位機、上下位機之間的通信。
本系統(tǒng)提供脫機、PC聯(lián)機兩種操作方式,靈活方便,通過RS-232通訊接口與計算機聯(lián)機使用。上位機是基于WIN2000、WINXP等操作系統(tǒng)的聯(lián)機軟件,界面友好,可完成對程序的編輯、下載、讀出和保存,并可實時監(jiān)控實驗系統(tǒng)的運行情況,檢測實驗連線的正確性。生動直觀的模擬數(shù)據(jù)流向及數(shù)據(jù)、控制線的各種信息,使學生更易理解計算機運算器的組成結(jié)構(gòu)和工作過程。下位機是基于FPGA的開發(fā)板和自己設(shè)計的輸入和輸出信號擴展PCB板板所組成,用來構(gòu)成實驗平臺的硬件部分。
2 下位機的設(shè)計
整個下位機是利用FPGA的開發(fā)板Altera DEO開發(fā)板架構(gòu)運算器的功能,利用擴展板來實現(xiàn)數(shù)據(jù)、控制信號的輸入和結(jié)果輸出。本系統(tǒng)機器字長為8位,即該運算器可以同時進行2個8位二進制數(shù)的運算,既數(shù)據(jù)總線為8位。整個下位機采用功能模塊化設(shè)計,通過對模塊進行功能仿真,可以模擬運算器的工作過程。各模塊的組合如圖2所示。
2.1 各模塊的功能設(shè)計
各模塊的實現(xiàn)是通過FPGA來模擬,把程序嵌入到FPGA中,用FPGA來模擬硬件功能,留出相應(yīng)的控制信號和輸入輸出信號接口,讓學生有動手的操作過程,同時又節(jié)省了ALU、鎖存器和寄存器的硬件電路,適合于應(yīng)用在教學實踐課中。
ALU是整個運算器的核心模塊,利用FPGA來模擬實現(xiàn)八位的算術(shù)邏輯運算單元ALU的功能。這里的ALU功能是模擬74L181的功能,它可以進行2個8位二進制數(shù)的算術(shù)邏輯運算,各種工作方式可通過設(shè)置其控制信號來實現(xiàn)(S0、 S1、 S2、S3、M、CN)。Altera DEO開發(fā)板的P0.16~P0.21接擴展板的開關(guān)電路,作為運算器的控制信號 S0、 S1、 S2、S3、M、CN。當實驗者正確設(shè)置了ALU的各個控制信號,就可以把兩個操作數(shù)進行相應(yīng)的運算并輸出。通過QuartusⅡ編譯生成ALU功能的實現(xiàn)電路如圖3所示。
數(shù)據(jù)輸入鎖存器DR1和DR2的功能是鎖存數(shù)據(jù),用來鎖存參與運算的兩個操作數(shù),使他們都穩(wěn)定地出現(xiàn)在ALU的輸入端,為ALU運算做準備。DR1和DR2什么時候鎖存呢,在設(shè)計的時候,用VHDL語言來編譯鎖存器功能,EDR1為低電平,并且D1CK有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器DR1。同樣使EDR2為低電平、D2CK有上升沿時把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器DR2。
在實驗中為了避免數(shù)據(jù)總線上的數(shù)據(jù)發(fā)生沖突,連接在總線上的數(shù)據(jù)只能分時傳送,數(shù)據(jù)緩沖器SDR對信息起暫存作用。ALU運算完后沒有立即把結(jié)果輸出至總線,是通過數(shù)據(jù)緩沖寄存器根據(jù)其具體的需求來運送到數(shù)據(jù)總線上,緩沖器是用FPGA模擬74L244的功能。輸出緩沖器SDR當控制信號ALU-O為低電平時,SDR導通,把ALU的運算結(jié)果輸出到數(shù)據(jù)總線,當ALU-O為高電平時,SDR的輸出為高阻。ALU-O為SDR的輸出控制信號。
2.2 各模塊的整合設(shè)計
具體的模塊整合的實現(xiàn)是把三個可以獨立運行的功能文件放置在同一個文件夾中,再利用QuartusⅡ新建模塊文件,導入涉及到的所有模塊最后進行模塊間的連線和定義來實現(xiàn),如圖4所示。
在新建的NEW1模塊中分別導入DR1和DR2、ALU和SDR的功能電路圖,以及若干的INPUT和OUTPUT插件。根據(jù)插件和定義兩端的參數(shù)信息進行連線,有需要注意的是在鎖存器的輸入中定義了相同的管腳來作為控制信號,內(nèi)部的連接不需要加單獨的插件,只需要定義下參數(shù)即可。
2.3 輸入輸出擴展板
系統(tǒng)設(shè)計的輸入和輸出擴展PCB板中有手動輸入單元、輸出單元。手動輸入單元主要由24個撥動開關(guān)組成,往上撥開關(guān)表示輸出高電平1,往下?lián)荛_發(fā)表示輸出低電平0,這24個開關(guān)可以為系統(tǒng)提供所需要的數(shù)據(jù)信息和控制信號信息。輸出單元主要是由LED燈組成的,作為數(shù)據(jù)線上的數(shù)據(jù)狀態(tài)的表示燈,燈亮表示數(shù)據(jù)為1,燈滅表示數(shù)據(jù)為0。
做實驗時,用杜邦線把FPGA的相應(yīng)的引腳連接到PCB板,,通過波動開關(guān)設(shè)置參與運算的數(shù)據(jù),相應(yīng)的控制信號狀態(tài),就可以通過數(shù)據(jù)總線的LED觀察運算器的運算結(jié)果。
3 上下位機的通訊協(xié)議設(shè)計
上位機可以監(jiān)視下位機運行的狀態(tài)等,這里采用的是串行通訊。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設(shè)備可以方便地連接起來進行通訊。RS-232-C接口(又稱 EIA RS-232-C)是目前比較常用的一種串行通訊接口。RS-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,RS-232適合本地設(shè)備之間的通信。所以我們的實驗平臺采用RS-232通訊。
上下位機通訊的實質(zhì)主要是雙方要規(guī)定好傳輸?shù)臄?shù)據(jù)格式,采用異步串行通訊格式,采用一個起始位、數(shù)據(jù)位、一位檢驗位、一位停止位。整個通訊過程我們要確保上下位機數(shù)據(jù)同步、操作同步。
4 結(jié)語
本系統(tǒng)與現(xiàn)有的計算機組成原理運算器模塊相比較,成本低、體積小、移動性強、維護方便,容易升級和擴展等優(yōu)勢。該系統(tǒng)不僅可以滿足計算機組成原理實踐課程的部分教學需要,可以適應(yīng)提高學生的創(chuàng)新能力和動手實踐能力的教學要求。在該實驗平臺的基礎(chǔ)上繼續(xù)開發(fā)增加其他計算機的組成模塊,滿足計算機組成原理實踐課程的教學需要,可應(yīng)用在一般高校,并有利我省高校在計算機專業(yè)的硬件課程體系實驗教學上的改革和提升。
參考文獻
[1]胡科.基于FPGA的VHDL計算機組成實驗平臺的設(shè)計與實現(xiàn)[D].上海:華東師范大學電子信息系,2007.
[2]陳志勇.計算機組成系統(tǒng)實驗的改革與實踐[J].電氣電子教學學報,2007,29(5):74-78.
[3]徐晨,顧暉.應(yīng)用EDA技術(shù)改革計算機組成原理實驗教學[J].電氣電子教學學報,2004,26(5):66-69.
[4]周寧寧.基于FPGA技術(shù)的計算機組成原理實驗系統(tǒng)[J].現(xiàn)代電子技術(shù),2005,28(1):23-25.endprint