• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      VHDL語言教學(xué)的幾個(gè)關(guān)鍵問題探討

      2012-08-17 06:32:16張文婷
      中國(guó)現(xiàn)代教育裝備 2012年23期
      關(guān)鍵詞:選擇器語句程序

      趙 航 張文婷

      1.三江學(xué)院電子信息工程學(xué)院 江蘇南京 210012

      2.南京磐能電力科技股份有限公司 江蘇南京 210061

      VHDL(Very high speed intergated circuit Hardware Description Language)是指超高速集成電路硬件描述語言。它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門級(jí)方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。因此很多高校的信息技術(shù)、計(jì)算機(jī)技術(shù)等專業(yè)都開出了VHDL設(shè)計(jì)課程[1]。筆者在教學(xué)過程中發(fā)現(xiàn)學(xué)生學(xué)習(xí)VHDL語言時(shí)會(huì)受到已經(jīng)學(xué)習(xí)過的其他軟件語言的影響,對(duì)VHDL語言作為硬件語言的一些特性和語法問題理解不夠,往往會(huì)影響到對(duì)VHDL語言的靈活合理運(yùn)用。本文結(jié)合多輪課程教學(xué)實(shí)踐,針對(duì)學(xué)生最難掌握的幾個(gè)問題做了深入探討。

      1 對(duì)VHDL作為硬件描述語言的特征的理解

      學(xué)好VHDL的關(guān)鍵是充分理解VHDL語句和硬件電路的關(guān)系。 編寫VHDL,就是在描述一個(gè)電路,我們寫完一段程序后,應(yīng)當(dāng)對(duì)生成的電路有一些大體上的了解, 而不能用純軟件的設(shè)計(jì)思路來編寫硬件描述語言[2]。

      下面以四選一數(shù)據(jù)選擇器的設(shè)計(jì)為例來加以說明。四選一數(shù)據(jù)選擇器是一種常用的組合邏輯電路,用VHDL語言設(shè)計(jì)比較簡(jiǎn)單,可以用when_else語句實(shí)現(xiàn),也可以用with_select語句實(shí)現(xiàn),兩者仿真結(jié)果相同,但綜合的結(jié)果不同。具體情況如下:

      【程序1】

      使用Quartus II軟件對(duì)程序1進(jìn)行編譯仿真,仿真結(jié)果如圖1所示。

      圖1 程序1仿真結(jié)果

      將程序1中的when_else語句實(shí)現(xiàn)改成with_select語句實(shí)現(xiàn),修改后的部分程序如下:

      【程序2】

      同樣使用Quartus II軟件對(duì)程序2進(jìn)行編譯仿真,仿真結(jié)果與圖1完全相同。說明程序1和程序2都能完成四選一數(shù)據(jù)選擇器的功能,仿真結(jié)果一致。

      但是如果對(duì)程序1和程序2進(jìn)行綜合,得出它們對(duì)應(yīng)的RTL電路,分別如圖2和圖3所示。從圖2和圖3的比較看,電路差別比較大。根據(jù)四選一數(shù)據(jù)選擇器的功能,應(yīng)該是圖3的電路更合適。

      圖2 程序1的RTL電路

      圖3 程序2的RTL電路

      綜合來看,雖然when_else語句和with_select_when語句都能實(shí)現(xiàn)四選一數(shù)據(jù)選擇器功能,但是實(shí)現(xiàn)的硬件電路完全不同,這就告訴我們?cè)谠O(shè)計(jì)某一功能的電路時(shí)要盡量使用合適的語句來表達(dá),這樣才能得到最優(yōu)的結(jié)果,而不能僅僅滿足于功能實(shí)現(xiàn)。因?yàn)檫@是硬件電路的設(shè)計(jì),要考慮最后實(shí)現(xiàn)的電路的合理性。

      2 組合電路和時(shí)序電路的區(qū)別

      組合電路和時(shí)序電路是數(shù)字電路系統(tǒng)的兩大種類,在設(shè)計(jì)中至少要用到它們中的一種或兩種都會(huì)用到,這就要求正確掌握它們各自的設(shè)計(jì)要領(lǐng)。在VHDL語言中,組合電路和時(shí)序電路是以完整條件語句和不完整條件語句來區(qū)別的,如果在組合電路設(shè)計(jì)中使用了不完整條件語句,會(huì)使設(shè)計(jì)結(jié)果出現(xiàn)意想不到的問題,影響設(shè)計(jì)的正確性,設(shè)計(jì)時(shí)要加以注意[3]。比如程序3是一個(gè)數(shù)值比較器的設(shè)計(jì),數(shù)值比較器屬于組合電路,應(yīng)該使用完整條件語句來描述,但是程序中if語句判斷了a>b和a<b兩種情況,漏掉了a=b的情況,因此構(gòu)成不完整條件語句,所以其綜合的結(jié)果比較復(fù)雜,如圖4所示,電路包含多級(jí)邏輯電路和一個(gè)寄存器,使原本簡(jiǎn)單的數(shù)值比較變得復(fù)雜了,不利于電路的實(shí)現(xiàn)。而程序4只是對(duì)程序3進(jìn)行了簡(jiǎn)單修改,使其成為完整條件語句,其綜合的結(jié)果如圖5所示。我們發(fā)現(xiàn),經(jīng)過這樣的改變,電路被大大簡(jiǎn)化了,而且能夠正確實(shí)現(xiàn)數(shù)值比較的功能??梢娬`用不完整條件語句會(huì)給電路設(shè)計(jì)帶來很大的影響。同理,在時(shí)序電路中誤用完整條件語句也是不合適的。

      【程序3】

      圖4 程序3的RTL電路

      【程序4】

      圖5 程序4的RTL電路

      3 信號(hào)和變量的區(qū)別

      在VHDL中,數(shù)據(jù)對(duì)象(Data objects)有3類:信號(hào)(signal)、變量(variable)和常量(constant)。變量和常量與軟件語言中的變量和常量的含義相似,而信號(hào)則具有更多的硬件特征,是硬件描述語言所特有的數(shù)據(jù)對(duì)象。由于信號(hào)和變量在使用上有很多相似的地方,但又存在本質(zhì)的區(qū)別,學(xué)生比較容易混淆,在設(shè)計(jì)中常常不注意區(qū)分它們的區(qū)別,造成錯(cuò)誤[4]。在變量和信號(hào)的使用過程中,有時(shí)可以互換,有時(shí)候又不能互換。兩者從形式上差別并不大,所以學(xué)生在沒弄清其本質(zhì)區(qū)別前往往按照例子生搬硬套,這樣做有時(shí)候系統(tǒng)也能正常運(yùn)轉(zhuǎn),但是在系統(tǒng)需要利用到變量和信號(hào)的根本特性時(shí),錯(cuò)誤地使用數(shù)據(jù)對(duì)象往往會(huì)導(dǎo)致系統(tǒng)的邏輯錯(cuò)誤,使設(shè)計(jì)結(jié)果與預(yù)期有很大差距,而學(xué)生很難發(fā)現(xiàn)其中的錯(cuò)誤。所以,如何使學(xué)生分清兩者,并正確的使用,成為影響VHDL語言教學(xué)的關(guān)鍵問題之一。

      為了更好地區(qū)分信號(hào)和變量,需要通過一定數(shù)量的實(shí)例分析,通過對(duì)比,使學(xué)生對(duì)兩者之間的物理含義、使用范圍及值代入的區(qū)別有較明確的認(rèn)識(shí)。下面給出用中間變量和信號(hào)表達(dá)四選一數(shù)據(jù)選擇器的VHDL源程序,從中可以看出信號(hào)、變量的定義和使用方法之間的不同以及它們對(duì)系統(tǒng)的影響。

      【程序5】

      程序5的仿真結(jié)果如圖6所示。從圖6中可以看出,輸出信號(hào)q并沒有得到預(yù)想的波形,而是未知數(shù)據(jù),這是因?yàn)閙uxval在程序中被定義為信號(hào),而信號(hào)的含義是電路的實(shí)際硬件連接,因此對(duì)信號(hào)賦值存在延時(shí)[5]。故此在case語句中根據(jù)muxval值去選擇不同的信號(hào)進(jìn)行輸出時(shí),muxval的值還沒有產(chǎn)生,因此結(jié)果不對(duì)。為了產(chǎn)生正確的結(jié)果,對(duì)本程序,只需要把muxval的定義改為變量,其他地方做適當(dāng)修改,則可得到如圖7所示的正確仿真結(jié)果。

      圖6 程序5的仿真結(jié)果圖

      圖7 仿真結(jié)果圖

      4 結(jié)束語

      在VHDL設(shè)計(jì)課程教學(xué)中,筆者特別注意上述幾個(gè)問題的講解和舉例說明,力求使學(xué)生對(duì)這些問題理解透徹,讓學(xué)生真正認(rèn)識(shí)到運(yùn)用VHDL語言進(jìn)行電路設(shè)計(jì),不僅要熟悉VHDL語言的基本語法和常用語句,還要對(duì)硬件描述語言的本質(zhì)有深刻的認(rèn)識(shí),對(duì)所設(shè)計(jì)的電路有深刻理解,在此基礎(chǔ)上才能更好地使用掌握這門硬件描述語言進(jìn)行電路設(shè)計(jì)。

      [1]朱奕丹.VHDL設(shè)計(jì)課程教學(xué)改革實(shí)踐[J].電氣電子教學(xué)學(xué)報(bào),2007,29(2):22-23

      [2]潘松,黃繼業(yè).EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2009

      [3]夏炎,師衛(wèi).硬件描述語言與數(shù)字電路設(shè)計(jì)[J].電力學(xué)報(bào),2009,24(2):156-158

      [4]楊丹,樹林.VHDL中信號(hào)與變量的教學(xué)體會(huì)[J].電氣電子教學(xué)學(xué)報(bào),2006,28(3):30-35

      [5]龔蘭芳.VHDL硬件描述語言教學(xué)探討[J].廣東水利電力職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(4):29-32.

      猜你喜歡
      選擇器語句程序
      靶通道選擇器研究與優(yōu)化設(shè)計(jì)
      重點(diǎn):語句銜接
      試論我國(guó)未決羈押程序的立法完善
      “程序猿”的生活什么樣
      精彩語句
      四選一數(shù)據(jù)選擇器74LS153級(jí)聯(lián)方法分析與研究
      電腦與電信(2017年6期)2017-08-08 02:04:22
      英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
      創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
      雙四選一數(shù)據(jù)選擇器74HC153的級(jí)聯(lián)分析及研究
      如何搞定語句銜接題
      台中县| 邢台市| 南和县| 德格县| 吉隆县| 乌拉特中旗| 吴旗县| 临西县| 慈利县| 射阳县| 凤庆县| 六盘水市| 洞口县| 绍兴市| 迭部县| 西乌珠穆沁旗| 黑龙江省| 岳普湖县| 桐梓县| 区。| 祥云县| 兴城市| 肃北| 江油市| 上杭县| 吉林市| 成安县| 夏邑县| 河西区| 蛟河市| 星子县| 北票市| 郸城县| 通许县| 田东县| 重庆市| 盘锦市| 策勒县| 南漳县| 青海省| 大姚县|