999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于開源EDA軟件的CPU設計實驗

2018-08-22 10:27:12彭蔓蔓李建江
計算機教育 2018年8期
關鍵詞:實驗課程設計

吳 強,彭蔓蔓,李建江

(1.湖南大學 信息科學與工程學院,湖南 長沙 410082;2. 北京科技大學 計算機與通信工程學院,北京 100083)

0 引 言

隨著“做中學”理念在計算機教學中的深入[1],硬件設計實驗已成為計算機硬件基礎課程,如數字邏輯、計算機組成原理、計算機系統結構等課程的重要組成部分[2-4]。CPU設計實驗在計算機系統結構教學中有著重要的作用,是學生深入了解計算機體系結構核心知識的重要手段。通常,這些實驗采用商業EDA(電子設計自動化)軟件作為設計工具,例如Altera公司(現已被Intel公司收購)的Quartus或者Xilinx公司的ISE等[5-6]。

采用商業EDA軟件作為硬件設計工具常常出現的一個問題是:商業EDA軟件功能比較龐雜,對學生來說,學習和掌握商業EDA軟件需要花費較多的時間。在實際教學中,往往發現由于學生對商業EDA軟件不熟悉,導致在硬件設計實驗初期常常受挫于一些簡單問題而產生畏難情緒,打擊了其對硬件設計的興趣,不利于實現實驗教學目標。

開源軟件由于其開放的特點,近年來在計算機實踐教學中得到了青睞和廣泛應用[7]。計算機組成原理、計算機系統結構等課程也廣泛使用了開源軟件模擬器輔助課程知識的講解,甚至安排了相關的實驗[4-8]。不過,在硬件設計實驗中采用開源軟件替代商業EDA軟件還比較少見,一方面與開源EDA軟件比較少有關,另一方面是因為FPGA實驗平臺限制了設計軟件的選擇。

計算機系統結構課程中CPU設計實驗目標主要是功能性驗證,并不強調一定要用硬件實現,因此不是必須采用支持完整硬件實現,尤其是FPGA實現流程的商業EDA軟件。根據這一特點,筆者提出采用開源EDA軟件的計算機系統結構課程CPU設計實驗方案。

1 實驗方案

1.1 課程簡介

計算機系統結構課程是面向非計算機科學與技術專業學生的選修課,被安排在大三上學期,開設給智能科學與技術、物聯網工程、信息安全等學科及專業的學生。這些專業的學生都已先修了計算機組成原理或類似課程,對計算機系統硬件設計有一定了解。但是,因為專業培養目標更偏向于計算機應用,因此在硬件設計上的實踐訓練要求不像計算機科學與技術專業那樣深入,主要目標是讓學生了解現代計算機系統體系結構方面的技術和特征,從而更好地利用計算機系統實現所需功能。

在課程實踐訓練安排上,本課程的實驗也不像面向計算機科學與技術專業那樣安排單獨的實驗課程,而是跟隨課堂教學過程,由教師自主安排課程實驗。這意味著本課程的實驗不會有FPGA實驗板等硬件資源支持。實際上,以往本課程的實驗通常利用各種軟件模擬器向學生演示計算機體系結構中硬件的設計方法和特性。

基于軟件模擬器的演示性實驗雖然在幫助學生了解計算機體系結構知識方面比較直觀,但是通過硬件設計掌握相關知識能產生更加深刻的理解和記憶。因此,在本課程中,筆者安排了以CPU設計為核心的實驗項目,希望貫徹“做中學”的教學理念,加深學生對相關知識的了解。由于課程實驗并不安排在FPGA實驗板上完成,因此筆者選擇了開源EDA軟件作為設計工具,以便降低軟硬件方面的學習開銷,提高學習效率。

1.2 實驗安排

按照學校的要求,計算機系統結構課程采用“課堂講授+課程實驗”的方式組織教學。課程共64學時,其中課堂教學48學時,課程實驗16學時,在16周內完成。

課程實驗的16個學時共安排了32節課,每次4節課,共計8次實驗課。通常這8次實驗課會根據實驗室資源利用情況安排在學期中第3周到第10周完成。如果實驗室資源緊張,可能會有所推遲,但最晚不超過第15周。

筆者給這8次實驗課安排了3個實驗項目,要求完成后演示并提交實驗報告。具體的實驗項目安排見表1。

這3個實驗項目以流水線CPU設計為核心,最終完成一個支持數據轉送(Data forwarding)和單個分支延遲的5級流水線CPU。需要說明的是,其中指令和數據存儲器設計是簡化的,假定它們能與CPU同頻率運作。

2 設計工具

2.1 開源EDA軟件

筆者根據所承擔計算機系統結構課程實驗的需要,選擇VHDL作為硬件設計描述語言,因此選擇了GHDL[9]開源軟件作為VHDL設計描述的模擬工具。為了查看電路輸出波形,筆者選擇了GTKWave[10]開源軟件作為波形查看工具。表2給出了開源EDA軟件與商業軟件Quartus Prime Lite[5]的簡單比較。

由表2可知,GHDL和GTKWave軟件功能簡單明確,文件大小適合快速下載安裝,而Quartus軟件因為功能龐雜,文件很大,下載和安裝比較耗時。除此之外,在實際使用中,GHDL軟件模擬速度比較快,而Quartus軟件模擬速度相對較慢。這主要是因為GHDL對VHDL代碼采取轉換為C++程序后編譯運行的方式,因此模擬速度相對于采用解釋方式的Quartus軟件要快。

表1 實驗項目

表2 設計工具比較

2.2 設計流程

采用開源EDA軟件的設計流程與使用商業軟件設計流程基本一致,都包括硬件設計描述輸入、硬件設計描述編譯(綜合)、硬件設計模擬、模擬結果查看和驗證。在本計算機系統結構課程CPU設計實驗中,具體設計流程如下:

(1)采用gedit編寫VHDL代碼,包括測試例程(testbench);

(2)使用GHDL編譯VHDL代碼,產生可執行文件;

(3)運行第(2)步產生的可執行文件,得到模擬結果;

(4)利用GTKWave查看模擬結果的波形,檢查和驗證結果是否正確。

上述設計流程要求學生在Linux操作系統下進行。這樣做的好處是可以直接使用Linux系統附帶的各種開源軟件,例如C++編譯器;同時,可利用Linux下的MAKE工具,為上述設計流程編寫腳本,從而省去每個步驟都需要在命令行輸入相應命令的重復操作。

2.3 可視化界面

考慮到目前大多數學生習慣了可視化界面操作,對命令行操作方式不熟悉,為減少學生因命令行操作方式而耽誤的時間,我們閉合編寫了一個簡單的程序,把設計流程中需要用到的命令封裝在可視化界面下,以便學生能迅速使用gedit、GHDL、GTKWave等開源軟件完成CPU設計實驗。

該程序列出了文件目錄樹以及當前目錄下所有文件和子目錄,學生可以通過菜單選擇文件進行編輯、編譯或運行以及查看波形文件。程序界面見圖1。

圖中菜單選項實際都是執行相應的命令行命令。由于GHDL先將VHDL代碼轉換成C++程序,然后進行編譯和運行,因此菜單中的“分析文件(Analyze File)”是對VHDL代碼進行轉換,“編譯測試例程(Build Testbench)”是對轉換后的C++程序進行編譯,“運行測試例程(Run Testbench)”則是運行編譯后的可執行程序,產生模擬結果的波形文件,然后就可以使用菜單選項“查看波形(View Waveform)”進行檢查了。

圖1 可視化界面

3 教學經驗

3.1 總體情況

筆者在2016—2017年的計算機系統結構課程中采用了上述基于開源EDA軟件的CPU設計實驗方案,學生表示他們可以接受這一實驗方案。課程實驗的討論和交流中,學生反映開源EDA軟件的編譯和模擬速度很快,能讓他們“立刻測試(對設計做的)修改”,提高了設計效率。

3.2 學習開銷

如筆者預料的一樣,學生在開始學習命令行操作時提出了很多問題,主要是對命令行操作方式不熟悉導致。筆者專門抽出1節課的時間向學生解釋了命令行操作的知識,大部分學生可以參考筆者給出的命令說明開始實驗。相對于以往使用商業EDA軟件的情況,雖然講解課時都是1節課,但明顯使用開源EDA軟件時學生的掌握程度較好。這是因為開源EDA軟件功能簡單明確,按照命令說明操作即可得到預期的結果。然而,商業EDA軟件功能龐雜,學生在實際操作中總是受挫于一些選項設置、流程步驟,甚至是菜單選項位置等方面的問題而停頓不前。總的來看,采用開源EDA軟件的學習開銷較使用商業EDA軟件要少。

3.3 設計效率

學生在使用開源EDA軟件進行設計時,最常見的一個積極評價就是模擬速度比使用商業EDA軟件快。筆者在實驗指導時也可以看到,學生采用MAKE腳本編譯和運行測試例程的時間基本是秒級的,而不是商業EDA軟件那種分鐘級別的等待。這使學生能在修改設計后,迅速完成測試,檢查修改效果,從而不斷推進設計過程,最后得到正確結果。因此,在筆者看來,本計算機系統結構課程采用開源EDA軟件,設計效率是更高的。

3.4 探 討

在計算機系統結構課程的CPU設計實驗中采用開源EDA軟件,對降低學習開銷、提高設計效率有積極作用。不過筆者也認識到,這主要是因為本課程的CPU設計實驗基本是功能性設計和驗證,省去了硬件實現環節帶來的好處。因此,不能就此認為開源EDA軟件可以完全替代商業EDA軟件,而應該根據實際情況選擇符合要求的EDA軟件。

學生對命令行式操作的學習速度之快是筆者在實驗指導中比較意外的發現。由于以往學生總是接觸可視化操作軟件,筆者一度以為學生學習命令行操作會比較費時,因此還編寫了簡單的可視化界面程序。但在實驗中,學生只在初期使用了幾次可視化界面程序,一旦學會命令行操作,尤其使用MAKE腳本后,更傾向于使用自動化程度高的MAKE腳本,而不再使用可視化界面程序。這可能意味著在未來教學中可以嘗試更多命令行操作方式的開源軟件。

4 結 語

由于計算機系統結構課程CPU設計實驗不必進行FPGA實現,筆者嘗試采用開源EDA軟件作為硬件設計工具,而不是FPGA廠商的商業化EDA軟件,并規劃了相應的實驗方案和硬件設計流程。實驗教學效果表明這一實驗方案有利于降低學生的學習開銷、提高設計效率,鼓勵了筆者在未來教學中嘗試更多的開源軟件。

猜你喜歡
實驗課程設計
記一次有趣的實驗
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
做個怪怪長實驗
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 在线国产毛片手机小视频| 精品国产电影久久九九| 国产69精品久久久久孕妇大杂乱| 国产日韩丝袜一二三区| 亚洲成综合人影院在院播放| 欧美精品影院| 亚洲欧美成人在线视频| 2020国产在线视精品在| 日韩最新中文字幕| 无码人中文字幕| 久久无码免费束人妻| 免费无码又爽又黄又刺激网站| 久久综合九九亚洲一区| 97精品伊人久久大香线蕉| 扒开粉嫩的小缝隙喷白浆视频| 激情亚洲天堂| 国产成人一区在线播放| 国产成人麻豆精品| 亚洲一区二区三区香蕉| 亚洲日韩在线满18点击进入| 3344在线观看无码| 精品少妇人妻av无码久久| 欧亚日韩Av| 91蝌蚪视频在线观看| 十八禁美女裸体网站| 成人噜噜噜视频在线观看| 精品少妇人妻av无码久久| 亚洲乱伦视频| 国产无码精品在线播放| 国产精品爽爽va在线无码观看 | 人妻21p大胆| 九色在线观看视频| 成人小视频在线观看免费| 91精品免费高清在线| 美女国内精品自产拍在线播放| 日韩人妻精品一区| 日本欧美一二三区色视频| 国产精品无码作爱| 五月婷婷综合网| 一本大道无码日韩精品影视| 国产夜色视频| 免费一级毛片在线播放傲雪网| 97在线免费| 天天色天天综合| 中文字幕色站| 色偷偷一区二区三区| 毛片基地美国正在播放亚洲| 在线亚洲小视频| 久996视频精品免费观看| 亚洲第一视频网| 四虎国产在线观看| 欧美综合区自拍亚洲综合绿色 | 国产精品亚欧美一区二区三区| 国产精品护士| 在线欧美日韩国产| 欧美日韩国产系列在线观看| 亚洲欧美成人影院| 免费视频在线2021入口| 午夜无码一区二区三区| 欧美黄网在线| 欧美黄网站免费观看| 国产视频一区二区在线观看 | 黄色在线不卡| 在线精品视频成人网| 2022国产91精品久久久久久| 激情国产精品一区| 超碰免费91| 91成人在线免费视频| 狠狠色狠狠色综合久久第一次| 91成人免费观看| 最新亚洲人成网站在线观看| 国产激情在线视频| 亚洲v日韩v欧美在线观看| a色毛片免费视频| 久久久久久久97| 亚洲床戏一区| 热99re99首页精品亚洲五月天| 午夜爽爽视频| 五月婷婷综合在线视频| 国产精品99久久久| 一区二区理伦视频| www.亚洲一区二区三区|