程桂花 羅永龍 齊學(xué)梅 左開中
摘要:文中分析現(xiàn)代電子產(chǎn)品設(shè)計(jì)技術(shù),VerilogHDL描述電路系統(tǒng)的方法與特點(diǎn),依據(jù)近年來教學(xué)實(shí)踐,結(jié)合計(jì)算機(jī)專業(yè)的特點(diǎn),總結(jié)了VerilogHDL融入“數(shù)字邏輯”和“計(jì)算機(jī)組成原理”課程教學(xué)中的方法、經(jīng)驗(yàn)與體會。
關(guān)鍵詞:VerilogHDL;數(shù)字邏輯;計(jì)算機(jī)組成原理;計(jì)算機(jī)硬件
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)07-1682-02
Analysis on Fusion in VerilogHDL and Computer Hardeware Subject
CHENG Gui-hua,QI Xue-mei,LUO Yong-long, ZUO Kai-zhong
(College of Mathematics and Computer Science,Anhui Normal University, Wuhu 241000, China; Engineering Technology Research Center of Network and Information Security, Anhui Normal University,Wuhu 241000, China)
Abstract: In this paper,it is analyzed with modern electronic product design technology and Describing methods and characteristics of circuit system in VerilogHDL, according recent years teaching practice, combining the characteristics of computer speciality, experience and understanding are summarized with verilogHDL into "digital logic" and "principles of computer organization" teaching methods.
Key words: VerilogHDL;digital logic; Computer Organization Principle;computer hardware
1概述
隨著計(jì)算機(jī)技術(shù)和電子技術(shù)的飛速發(fā)展,EDA技術(shù)的興起與應(yīng)用使計(jì)算機(jī)硬件設(shè)計(jì)的理念與方法發(fā)生了巨大變化。計(jì)算機(jī)硬件課程的教學(xué)應(yīng)緊隨技術(shù)前沿,將EDA[1]關(guān)鍵技術(shù)和核心內(nèi)容引入硬件課程教學(xué),有利于學(xué)生掌握計(jì)算機(jī)硬件設(shè)計(jì)、制造、調(diào)試和運(yùn)行維護(hù)等多方面的技能;培養(yǎng)和訓(xùn)練學(xué)生的動(dòng)手能力、創(chuàng)新能力;提高計(jì)算機(jī)專業(yè)畢業(yè)生的“硬”功夫。
EDA的關(guān)鍵技術(shù)之一是采用硬件描述語言(HDL)描述電路系統(tǒng),通過開發(fā)工具進(jìn)行功能仿真、綜合、優(yōu)化、布線后可轉(zhuǎn)換為FPGA碼流文件[2],通過FPGA實(shí)現(xiàn)電路功能。對于FPGA來說,常用的HDL有VHDL和Verilog HDL[3],因VerilogHDL在門級描述的底層具有更強(qiáng)的功能,且具有類似于C語言的表達(dá)風(fēng)格而被廣泛選用。
“數(shù)字邏輯”是計(jì)算機(jī)專業(yè)的硬件基礎(chǔ)課程,“計(jì)算機(jī)組成原理”是計(jì)算機(jī)專業(yè)的硬件主干課程,起承上啟下的作用[4],將VerilogHDL納入“數(shù)字邏輯”和“計(jì)算機(jī)組成原理”教學(xué)計(jì)劃,并貫穿于整個(gè)教學(xué)過程,是目前計(jì)算機(jī)硬件課程教學(xué)的主流方向,更有利于提高學(xué)生創(chuàng)新能力與綜合素質(zhì)。
2 VerilogHDL與“數(shù)字邏輯”課程融合
2.1重構(gòu)數(shù)字邏輯教學(xué)內(nèi)容
隨著技術(shù)的進(jìn)步,絕大部分電子產(chǎn)品采用了數(shù)字技術(shù),電子產(chǎn)品的設(shè)計(jì)利用VerilogHDL完成。因此,數(shù)字邏輯課程應(yīng)弱化中小規(guī)模集成電路芯片內(nèi)部電路、觸發(fā)器內(nèi)部工作原理、狀態(tài)化簡、異步時(shí)序內(nèi)容的教學(xué),精簡布爾代數(shù)和卡若圖傳統(tǒng)化簡方法的教學(xué);應(yīng)結(jié)合VerilogHDL描述電路系統(tǒng)的方法與特點(diǎn),重新組織數(shù)字邏輯課程教學(xué)內(nèi)容。
VerilogHDL采用系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)思想、自頂向下的設(shè)計(jì)方法設(shè)計(jì)電路,可逐個(gè)模塊分別描述、仿真與優(yōu)化,簡化整個(gè)電子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。因此,“數(shù)字邏輯”課程的教學(xué)應(yīng)突出功能模塊設(shè)計(jì)的特點(diǎn),強(qiáng)化芯片外部邏輯功能和時(shí)序特性的分析,F(xiàn)PGA原理的講解與應(yīng)用。在教學(xué)中以邏輯代數(shù)與VerilogHDL為基礎(chǔ),綜合應(yīng)用“自頂向下”,和“自底向上”的方法設(shè)計(jì)和實(shí)現(xiàn)教學(xué)案例。教學(xué)案例可選用計(jì)算機(jī)中的基本邏輯部件[5],如譯碼器、編碼器、數(shù)據(jù)選擇器、比較器、加法器組合邏輯與多功能移位寄存器、計(jì)數(shù)器、存儲器時(shí)序邏輯等基礎(chǔ)知識。通過課程的學(xué)習(xí),初步建立計(jì)算機(jī)基本邏輯部件設(shè)計(jì)的概念,為后續(xù)硬件課程的學(xué)習(xí)奠定基礎(chǔ)。
為鞏固理論知識,可適當(dāng)安排中小規(guī)模集成電路芯片設(shè)計(jì)應(yīng)用性實(shí)驗(yàn),如用138譯碼器設(shè)計(jì)端口尋址電路,用三態(tài)門和寄存器設(shè)計(jì)數(shù)據(jù)端口。然后,可安排基于VerilogHDL的功能模塊的設(shè)計(jì),通過FPGA完成超前進(jìn)位加法器、串并轉(zhuǎn)換、數(shù)碼顯示控制、優(yōu)先級管理等計(jì)算機(jī)計(jì)基本模塊的功能。實(shí)驗(yàn)教學(xué)采用開放模式[6],實(shí)驗(yàn)時(shí)間開放、實(shí)驗(yàn)環(huán)境開放、實(shí)驗(yàn)方案開放,教師重在實(shí)驗(yàn)方案上給予個(gè)性化的指導(dǎo)、激發(fā)學(xué)生的學(xué)習(xí)興趣、注重學(xué)習(xí)動(dòng)機(jī)的引導(dǎo)與思維方式的培養(yǎng);加大實(shí)驗(yàn)考核的力度,考核實(shí)驗(yàn)方案的靈活性、學(xué)員對實(shí)驗(yàn)原理理解的深度及實(shí)驗(yàn)的可擴(kuò)展性。
2.2適時(shí)引入VerilogHDL
在計(jì)算機(jī)專業(yè)領(lǐng)域,基于FPGA設(shè)計(jì)實(shí)現(xiàn)運(yùn)算器、控制器、存儲器、I/O接口、甚至整個(gè)計(jì)算機(jī)已很常見,因此在“數(shù)字邏輯”教學(xué)過程適時(shí)引入VerilogHDL,使兩者融為一體至關(guān)重要。
首先,合理安排講課順序。將VerilogHDL的講解安排在時(shí)序邏輯之后,結(jié)合基本邏輯電路圖的分析與設(shè)計(jì)講解VerilogHDL的相關(guān)知識,以便學(xué)生首先建立邏輯電路的概念,然后再將VerilogHDL與邏輯電路建立關(guān)聯(lián),深入了解VerilogHDL描述電路的必要性與優(yōu)越性。
其次,重點(diǎn)講解VerilogHDL與C語言的區(qū)別與聯(lián)系。計(jì)算機(jī)專業(yè)的學(xué)生在一年級開始學(xué)習(xí)C語言,經(jīng)過訓(xùn)練已具備良好的C語言編程經(jīng)驗(yàn)與能力,而VerilogHDL具有C語言的表達(dá)風(fēng)格,對于VerilogHDL的語法知識,學(xué)生容易掌握和理解,同時(shí)也容易混淆。
VerilogHDL與C語言的本質(zhì)區(qū)別:一是VerilogHDL的描述必須與邏輯電路緊密聯(lián)系,要求學(xué)生對所要描述的電路的功能、輸入、輸出、時(shí)序、狀態(tài)轉(zhuǎn)換等信息要有全面透徹的了解,通過分析與VerilogHDL程序?qū)?yīng)的電路圖講解輸入變量的賦值方法、解讀輸出變量、時(shí)序及狀態(tài)轉(zhuǎn)移等信息;二是語句執(zhí)行機(jī)制不同,C語言完全是順序執(zhí)行機(jī)制,VerilogHDL的語句有順序和并行機(jī)制之分,并行機(jī)制中語句描述的電路功能模塊同時(shí)運(yùn)行、與語句的先后順序無關(guān)。
VerilogHDL與C語言的關(guān)聯(lián)性:VerilogHDL主要針對硬件電路進(jìn)行描述,算法表達(dá)不方便,而C語言因使用廣泛,相應(yīng)C語言的開發(fā)環(huán)境也就更加完善。因此,C語言與VerilogHDL可以互相配合使用,即利用VerilogHDL對硬件描述的精準(zhǔn)性,借助C語言開發(fā)環(huán)境的完整性,快速高效設(shè)計(jì)電路系統(tǒng)。利用C語言的靈活性、查錯(cuò)功能強(qiáng)的特點(diǎn)設(shè)計(jì)功能正確的模塊,然后將程序改為并行結(jié)構(gòu)的程序段,調(diào)試正確后,再用VerilogHDL關(guān)鍵字替換C語言關(guān)鍵字,進(jìn)入VerilogHDL環(huán)境,進(jìn)行編譯、仿真,并比較兩種模塊的輸出結(jié)果,以便及時(shí)發(fā)現(xiàn)錯(cuò)誤,重復(fù)上述過程直到正確為止。
最后,精心設(shè)計(jì)教學(xué)案例。教學(xué)案例的選擇應(yīng)綜合考慮學(xué)生的興起和課程的延續(xù)性。為激發(fā)學(xué)生的學(xué)習(xí)興趣,可用VerilogHDL設(shè)計(jì)控制器使布置在圓周上的若干個(gè)發(fā)光二極管逆時(shí)針、順時(shí)針或閃爍點(diǎn)亮且其時(shí)間間隔是可調(diào)的;為保持課程的延續(xù)性,可用VerilogHDL設(shè)計(jì)ALU、寄存器堆、多功能移位寄存器、單脈沖發(fā)生器等計(jì)算機(jī)計(jì)本邏輯功能部件,為“計(jì)算機(jī)組成原理”課程的學(xué)習(xí)奠定基礎(chǔ)。
3 VerilogHDL與“計(jì)算機(jī)組成原理”課程融合
計(jì)算機(jī)組成原理是計(jì)算機(jī)專業(yè)硬件主干課程,在整個(gè)課程體系中起著承上啟下的作用,課程中涉及的知識面廣,有些理論抽象難懂,將課程中難點(diǎn)與重點(diǎn)整合為教學(xué)案例,利用VerilogHDL進(jìn)行描述,通過設(shè)計(jì)、調(diào)試、仿真與模塊功能的實(shí)現(xiàn)可使學(xué)生深入理解課程中的重點(diǎn)難點(diǎn),為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。
在計(jì)算機(jī)組成原理課程中融入VerilogHDL,重點(diǎn)是教學(xué)案例的設(shè)計(jì),難易適中兼具漸進(jìn)性和系統(tǒng)性。首先,利用VerilogHDL描述運(yùn)算器,綜合ALU、寄存器堆、多功能移位寄存器功能模塊,再增加少量的狀態(tài)寄存器即可完成,難度適中,同時(shí)充分利用數(shù)字邏輯課程中已實(shí)現(xiàn)的案例,通過調(diào)試、仿真使學(xué)生更好地理解運(yùn)算器的工作原理;其次,利用VerilogHDL描述存儲器;最后,利用VerilogHDL描述微程序控制器,微程序控制器是計(jì)算機(jī)組成原理課程的一個(gè)難點(diǎn),由于微程序控制單元看不見、摸不著,涉及許多概念,如:微程序入口地址、微指令格式、下址等概念難以理解,通過設(shè)計(jì)、調(diào)試、下載和驗(yàn)證過程,可以深刻理解微程序控制計(jì)算機(jī)的本質(zhì),了解軟硬件協(xié)同工作的原理,建立整機(jī)的概念。
4結(jié)束語
近年來,計(jì)算機(jī)硬件設(shè)計(jì)的理念與方法變化巨大,對計(jì)算機(jī)硬件課程的教學(xué)提出了更高的要求。實(shí)踐證明,將VerilogHDL融入計(jì)“數(shù)字邏輯”和“計(jì)算機(jī)組成原理”課程教學(xué)過程,可以培養(yǎng)了學(xué)生理論聯(lián)系實(shí)際的的能力,通過訓(xùn)練使學(xué)生掌握計(jì)算機(jī)硬件設(shè)計(jì)、制造、調(diào)試和運(yùn)行維護(hù)方面的技能,提高學(xué)社實(shí)踐與創(chuàng)新的能力。
隨著計(jì)算機(jī)和電子技術(shù)的進(jìn)步,計(jì)算機(jī)硬件課程的教學(xué)仍然還有很多工作值得我們?nèi)パ芯亢蛯?shí)踐,只有不斷探索與總結(jié)才能有效地提高實(shí)驗(yàn)教學(xué)質(zhì)量,使計(jì)算機(jī)硬件課程教學(xué)緊跟技術(shù)前沿。
參考文獻(xiàn):
[1]魯鵬程,易小琳,方娟,等.在計(jì)算機(jī)組成原理課程中培養(yǎng)學(xué)生動(dòng)手實(shí)踐能力[J].計(jì)算機(jī)教育,2011(12):52-54.
[2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].2版.北京:北京航空航天大學(xué)出版社,2008.
[3]彭保,范婷婷,馬建國.基于Verilog語言的FPGA設(shè)計(jì)[J].微計(jì)算機(jī)信息2004,20(10):80-82.
[4]唐朔飛.計(jì)算機(jī)組成原理[M].2版.北京:高等教育出版社,2006.
[5]向琳,張展,羅丹彥,左德承,唐朔飛.“計(jì)算機(jī)組成原理”實(shí)踐教學(xué)探討[J].計(jì)算機(jī)教育,2008(20):82-83.
[6]呂海燕,呂紅,王麗娜,等.《計(jì)算機(jī)硬件基礎(chǔ)實(shí)驗(yàn)》教學(xué)模式研究與實(shí)踐[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(5):238-241.