摘要:將ROBEI設(shè)計(jì)軟件引入到“EDA電子設(shè)計(jì)自動(dòng)化”課程教學(xué)改革中,并利用實(shí)例表明該教學(xué)方法可以使學(xué)生更加直觀、深刻地理解EDA設(shè)計(jì)技術(shù)與方法學(xué)。通過使學(xué)生掌握該設(shè)計(jì)軟件的使用方法,培養(yǎng)提高學(xué)生的設(shè)計(jì)、調(diào)試與實(shí)踐創(chuàng)新能力,進(jìn)一步明確專業(yè)發(fā)展方向,使學(xué)生更加符合就業(yè)與用人單位的實(shí)際需求。
關(guān)鍵詞:ROBEI;數(shù)字電路設(shè)計(jì);ALU;Verilog
作者簡介:張雷鳴(1980-),男,河南洛陽人,河南科技大學(xué)電氣工程學(xué)院,講師;劉博(1982-),男,河北樂亭人,河南科技大學(xué)電氣工程學(xué)院,副教授。(河南#8194;洛陽#8194;471000)
基金項(xiàng)目:本文系河南省教育廳科學(xué)技術(shù)重點(diǎn)研究項(xiàng)目(項(xiàng)目編號:14B510004)、河南科技大學(xué)實(shí)驗(yàn)技術(shù)開發(fā)基金項(xiàng)目(項(xiàng)目編號:SY1314018)的研究成果。
中圖分類號:G642.0#8195;#8195;#8195;#8195;#8195;文獻(xiàn)標(biāo)識碼:A#8195;#8195;#8195;#8195;#8195;文章編號:1007-0079(2014)14-0131-02
“EDA電子設(shè)計(jì)自動(dòng)化”是面向電子信息與科學(xué)技術(shù)方向本科生所開設(shè)的一門重要的專業(yè)基礎(chǔ)課。該門課程具有邏輯性強(qiáng)、概念多、與工程實(shí)際聯(lián)系緊密的特點(diǎn),而設(shè)計(jì)實(shí)踐環(huán)節(jié)是本課程極為重要的組成部分。通過在實(shí)踐環(huán)節(jié)中有針對性地使用ROBEI設(shè)計(jì)軟件可以使學(xué)生全面理解面向市場需求和工程應(yīng)用的電子系統(tǒng)設(shè)計(jì)的概念和方法,鞏固和加深學(xué)生理解所學(xué)的理論知識,并通過實(shí)踐環(huán)節(jié)的訓(xùn)練,使學(xué)生樹立正確的設(shè)計(jì)觀點(diǎn)、嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)、理論聯(lián)系實(shí)際的能力與動(dòng)手操作的能力,達(dá)到提高學(xué)生綜合素質(zhì)的目的。ROBEI作為功能強(qiáng)大的數(shù)字電子系統(tǒng)虛擬仿真平臺,已經(jīng)成為“EDA電子設(shè)計(jì)自動(dòng)化”課程教學(xué)改革的重要工具。在課程的各教學(xué)環(huán)節(jié)中,如何使用ROBEI培養(yǎng)學(xué)生的實(shí)踐創(chuàng)新能力,是目前EDA課程深入改革需要重點(diǎn)研究與解決的問題。[1]
一、ROBEI軟件簡介
ROBEI軟件是由美國若貝科技公司開發(fā)并推出的一款可視化跨平臺EDA設(shè)計(jì)工具,提供了超級簡化的設(shè)計(jì)流程、可視化的分層設(shè)計(jì)理念、透明的模型庫與友好的用戶界面。該軟件將先進(jìn)的圖形化與代碼設(shè)計(jì)相融合,將框圖與代碼設(shè)計(jì)的優(yōu)勢進(jìn)行互補(bǔ)。ROBEI軟件是目前世界上最小的芯片設(shè)計(jì)仿真工具,也是唯一能在移動(dòng)平臺上應(yīng)用的EDA工具。該軟件不需要任何芯片,在仿真后可以自動(dòng)生成Verilog代碼,并與其他EDA工具無縫銜接,完成虛擬仿真設(shè)計(jì)的各個(gè)流程,如圖1所示。ROBEI軟件通過對Verilog代碼設(shè)計(jì)基礎(chǔ)的進(jìn)一步抽象,讓框圖設(shè)計(jì)與代碼設(shè)計(jì)實(shí)現(xiàn)完美融合。傳統(tǒng)的EDA設(shè)計(jì)軟件使用原理圖設(shè)計(jì),其靈活性差,且用戶需要利用現(xiàn)成的模塊來拼湊設(shè)計(jì),而代碼設(shè)計(jì)相當(dāng)靈活但不直觀。ROBEI集成了先進(jìn)的圖形化與代碼設(shè)計(jì)的優(yōu)勢,同時(shí)具備Verilog編譯仿真和波形分析,可以實(shí)現(xiàn)各種系統(tǒng)的快速設(shè)計(jì)、仿真和測試。
傳統(tǒng)的EDA設(shè)計(jì)需要工程師在腦海中將電路結(jié)構(gòu)與接口構(gòu)思好,然后根據(jù)結(jié)構(gòu)完成代碼設(shè)計(jì),這樣做容易導(dǎo)致設(shè)計(jì)出錯(cuò)。[2]通過使用ROBEI軟件,工程師可以一邊構(gòu)思系統(tǒng)結(jié)構(gòu),一邊設(shè)計(jì)接口。當(dāng)結(jié)構(gòu)與接口完成后,工程師可以專注于完成核心算法,并利用軟件自動(dòng)生成結(jié)構(gòu)層的代碼與工程師輸入的算法代碼相結(jié)合進(jìn)行仿真。該軟件將模型設(shè)計(jì),測試文件和引腳分配集成在一個(gè)超級簡化的設(shè)計(jì)流程中,可以進(jìn)行快速設(shè)計(jì)仿真。
正是基于以上特點(diǎn),在“EDA電子設(shè)計(jì)自動(dòng)化”課程的實(shí)踐教學(xué)中使用ROBEI軟件作為學(xué)生的輔助學(xué)習(xí)工具,可以大大提高學(xué)生的學(xué)習(xí)興趣與學(xué)習(xí)效率。本文主要結(jié)合在教學(xué)與實(shí)踐過程中遇到的典型例子,安排課堂演示幫助學(xué)生更形象掌握數(shù)字電路的設(shè)計(jì)方法,并使大家了解仿真軟件的強(qiáng)大功能及其在教學(xué)和實(shí)踐中的重要作用。
二、ROBEI使用方法介紹
ROBEI軟件啟動(dòng)后,界面如圖2所示。軟件界面分為菜單、工具條、工具箱、屬性欄、工作空間和輸出窗口幾個(gè)部分,菜單和工具條在軟件的頂部,工具條上分布著一些常用的按鈕。左側(cè)的工具箱里包含設(shè)計(jì)可用的module模型,是可以重復(fù)利用的。中間的工作空間是主要設(shè)計(jì)區(qū)域,當(dāng)前設(shè)計(jì)模塊默認(rèn)名是“module”。用戶可以在界面右側(cè)屬性欄里修改當(dāng)前設(shè)計(jì)模塊的屬性,底部為輸出窗口,用來顯示錯(cuò)誤以及警告信息。工作空間是一個(gè)圖形化設(shè)計(jì)區(qū)域,在這個(gè)空間用戶可以利用模塊、模型、引腳和連接線來設(shè)計(jì)復(fù)雜的數(shù)字電路。工作空間由兩個(gè)部分組成,一個(gè)是圖形化設(shè)計(jì)視窗,一個(gè)是代碼設(shè)計(jì)視窗,可以通過底端的“Graph”和“Code”選項(xiàng)卡進(jìn)行切換。
三、基于Robei的ALU設(shè)計(jì)實(shí)踐
1.設(shè)計(jì)要求
ALU(算數(shù)邏輯單元)是CPU的基本組成部分,也是學(xué)習(xí)EDA過程中比較常見的一種典型實(shí)際電路結(jié)構(gòu)。[3,4]要求設(shè)計(jì)一個(gè)8位ALU,并能實(shí)現(xiàn)數(shù)據(jù)與、或、非、異或、不帶進(jìn)位加法、帶進(jìn)位加法、不帶借位減法和帶借位減法運(yùn)算。運(yùn)算符采用3bit表示,A、B、R均為8bit數(shù)據(jù)。用測試文件測試ALU功能,并用級聯(lián)方式將4個(gè)8bit的ALU實(shí)現(xiàn)32bit的ALU,使學(xué)生通過實(shí)踐設(shè)計(jì)環(huán)節(jié)掌握算術(shù)邏輯運(yùn)算加、減操作原理,驗(yàn)證運(yùn)算器的組合功能。
(1)加法運(yùn)算包含2種類型:一種是不帶進(jìn)位的加法器,另外一種是帶進(jìn)位的加法器。
不帶進(jìn)位的加法器公式: (1)
帶進(jìn)位的可以進(jìn)行加法器級聯(lián),實(shí)現(xiàn)更高位數(shù)的串行加法運(yùn)算。帶進(jìn)位的加法器公式: (2)
(2)減法運(yùn)算也包含 2 種類型。
不帶借位的減法運(yùn)算: (3)
帶借位的減法運(yùn)算: (4)
2.設(shè)計(jì)內(nèi)容
新建一個(gè)模型命名為ALU,類型為 module,同時(shí)具備 4 輸入 2 輸出。點(diǎn)擊模型下方的 Code添加代碼。在代碼設(shè)計(jì)區(qū)內(nèi)輸入以下 Verilog 代碼:
always @ (A or B or op or F)
case ( op )
3'b000: {D,R}=AB;//實(shí)現(xiàn)與運(yùn)算
3'b001: {D,R}=A|B; //實(shí)現(xiàn)或運(yùn)算
3'b010: {D,R}=~A;//實(shí)現(xiàn)非運(yùn)算
3'b011: {D,R}=A^B;//實(shí)現(xiàn)異或運(yùn)算
3'b100: {D,R}=A+B;//實(shí)現(xiàn)不帶進(jìn)位的加運(yùn)算
3'b101: {D,R}=A+B+F; //實(shí)現(xiàn)帶進(jìn)位的加運(yùn)算
3'b110: {D,R}=A-B;//實(shí)現(xiàn)不帶借位的減運(yùn)算
3'b111: {D,R}=A-B-F;//實(shí)現(xiàn)帶借位的減運(yùn)算
default: {D,R}=AB;//默認(rèn)為與運(yùn)算
endcase
保存模型到一個(gè)文件夾中,運(yùn)行并檢查有無錯(cuò)誤輸出。如果沒有錯(cuò)誤輸出,則新建一個(gè)4輸入2輸出的測試文件,并將Module Type設(shè)置為“testbench”。將測試文件保存到ALU模型所在的文件夾下。此時(shí),Toolbox工具箱的Current欄里會(huì)出現(xiàn)一個(gè)ALU模型,單擊該模型在alutest上添加并連接引腳。
接著點(diǎn)擊測試模塊下方的“Code”,輸入激勵(lì)算法。然后執(zhí)行仿真并查看輸出信息,檢查沒有錯(cuò)誤之后查看波形。點(diǎn)擊右側(cè) Workspace中的信號,進(jìn)行添加并查看分析仿真結(jié)果。對照真值表,查看設(shè)計(jì)波形輸入輸出是否一致。
創(chuàng)建一個(gè)新的具有10個(gè)輸入引腳和5個(gè)輸出引腳的電路模型,并保存到ALU模型所在的文件夾下;添加4個(gè)ALU連接引腳,并將4個(gè)8位的ALU進(jìn)行級聯(lián);然后從 Toolbox里面的Current 欄找到alu32bit模型,并添加到測試模塊上,將對應(yīng)引腳相連;最后測試激勵(lì)代碼設(shè)計(jì)好后進(jìn)行仿真,并查看結(jié)果,仿真圖形如圖3所示。
四、教學(xué)效果分析
從學(xué)生提交的設(shè)計(jì)報(bào)告中可以看出通過利用ROBEI軟件仿真上述的ALU算數(shù)邏輯單元,使學(xué)生能夠通過本系統(tǒng)很好地掌握數(shù)字電路的設(shè)計(jì)過程。同時(shí)由于采用ROBEI仿真軟件進(jìn)行虛擬實(shí)驗(yàn),無需涉及和消耗電子元件即可設(shè)計(jì)好電路圖,并可詳盡了解該電路的各個(gè)設(shè)計(jì)參數(shù)及電路的性能,從而使實(shí)踐環(huán)節(jié)的設(shè)計(jì)內(nèi)容具有更加全面、硬件投入更少、更加省時(shí)省力的優(yōu)點(diǎn)。另外,通過使用該軟件可以使學(xué)生結(jié)合自己在相關(guān)專業(yè)課程當(dāng)中所學(xué)過的知識,進(jìn)行數(shù)字電子系統(tǒng)的功能設(shè)計(jì)和驗(yàn)證,建立系統(tǒng)級設(shè)計(jì)的概念,掌握實(shí)際工程中數(shù)字電子系統(tǒng)設(shè)計(jì)的方法,激發(fā)學(xué)生學(xué)習(xí)EDA電子設(shè)計(jì)的興趣,提高其理論聯(lián)系實(shí)際的能力。
目前在我國,部分高校已經(jīng)開始在“EDA電子設(shè)計(jì)自動(dòng)化”的課程教學(xué)中將ROBEI軟件應(yīng)用在課程的各個(gè)教學(xué)環(huán)節(jié)中。該軟件的應(yīng)用使得傳統(tǒng)的“EDA電子設(shè)計(jì)自動(dòng)化”課程教學(xué)模式發(fā)生了根本的改變,也使得數(shù)字電子系統(tǒng)的調(diào)試方法與設(shè)計(jì)理念發(fā)生了根本的變革,克服了傳統(tǒng)的教學(xué)模式存在的許多不足和弊病,對提高學(xué)生的設(shè)計(jì)與調(diào)試能力以及實(shí)踐能力有了一個(gè)質(zhì)的飛躍??傊?,學(xué)生在學(xué)習(xí)過程中發(fā)揮了主體作用,提高了綜合分析能力和創(chuàng)新能力。
參考文獻(xiàn):
[1]趙恒平,龍婷.研究型大學(xué)本科教學(xué)定位與質(zhì)量提升的路徑選擇[J].華北電力大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008,(2).
[2]趙永熹,黃云峰.基于項(xiàng)目驅(qū)動(dòng)法的單片機(jī)課程體系建設(shè)[J].中國電力教育,2013,(4).
[3]王軍.現(xiàn)代電子技術(shù)綜合實(shí)驗(yàn)[M].成都:電子科技大學(xué)出版社,
2003.
[4]朱定華.電子電路實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:清華大學(xué)出版社,
2009.
(責(zé)任編輯:王意琴)