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

關于VHDL語言教學的思考

2008-04-29 00:00:00吳愛平付青青
中國教育技術裝備 2008年20期

摘要 結合多輪的課程教學實踐,主要介紹VHDL語言中變量和信號的區別以及IF語句使用時應注意的問題,提出的方法對VHDL語言教學以及VHDL設計都具有一定的指導意義。

關鍵詞 VHDL;信號;變量;IF

中圖分類號:G434 文獻標識碼:A 文章編號:1671-489X(2008)20-0039-03

1 引言

VHDL語言是一種用于電路設計的高級語言,它的英文全寫是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,即超高速集成電路硬件描述語言。VHDL語言最初是由美國國防部開發出來,供美軍用來提高設計的可靠性和縮減開發周期的一種使用范圍較小的設計語言,后來成為IEEE工業標準的硬件描述語言。它具有很強的行為描述能力,與原理圖輸入方式相比較,用語言的方式描述硬件電路更容易修改和保存。因此,目前VHDL在電路設計中得到廣泛應用。我國高等學校電子信息類專業把VHDL語言列為主干課程,作為電子專業學生必須掌握的專業知識。筆者在教學過程中常發現大部分學生無法分清變量與信號的區別以及IF語句常誤用等問題,通常雖然程序編譯可以通過,但結果卻和預期相差甚遠,且學生很難發現其中的錯誤[1]。本文主要介紹VHDL語言的信號與變量和IF語句應用的教學經驗。

2 變量與信號的區別

信號和變量是VHDL語言中的數據對象,是存放數據的容器[2]。兩者的區別:1)聲明的形式和位置不同。信號聲明為signal,常在結構體中聲明;變量聲明為variable,常在進程中聲明。2)賦值符號不同。信號賦值為“<=”;變量賦值為“∶=”。3)賦值生效的時間不同。信號賦值是進程結束時生效;變量賦值是立即生效。4)使用范圍不同。信號是一個全局量,使用范圍是實體、結構體和程序包;變量是一個局部量,常在進程語句、函數語句和過程結構中使用。下面以一個異或程序為例,說明信號和變量的區別以及對系統設計的影響。

程序一:

library ieee;

use ieee.std_logic_1164.all;

entity xor_sig is

port(a, b,c:in std_logic;

x,y:out std_logic);

end xor_sig;

architecture behav of xor_sig is

signal d:std_logic; ①

begin

process(a,b,c)

(*)

begin

d<=a;②

x<=c xor d; ③

d<=b;④

y<=c xor d; ⑤

end process;

end behav;

程序一中d定義為信號,使用MAX + PLUS II軟件對程序進行編譯和仿真,編譯可以通過,沒有語法錯誤,但出現兩個警告:1)Found multiple assignments to the same signal-only the last assignment will take effect;2)Ignored unnecessary input signal pin ‘a’。警告內容是程序對信號d多次賦值,但只有最近的一次會生效,忽略輸入信號a的賦值。仿真結果如圖1所示。圖1中輸入信號是b和c,輸出信號是x和y。b和c異或的結果給x和y,即x=y=/bc+/cb=b c,程序中②沒有起作用,信號d的值是b。

程序一中加黑表示的部分是程序里使用信號的地方,如果這部分用變量來代替,則替換為以下語句:①改為“variable d:std_logic;”,并且其位置放置與程序中的*處;②改為“d:=a;”;③改為“x<=c xor d;”;④改為“d:=b;”;⑤改為“y<=c xor d;”。

對修改過的程序一使用MAX+PLUS Ⅱ軟件編譯和仿真,編譯沒有錯誤和警告,仿真結果如圖2所示。

圖中輸入信號是c,b,a;輸出信號是x和y,x=/ac+/ca=a c,y=/bc+/cb=b c,即a和c異或的結果給x,b和c異或的結果給y。

通過程序里把信號修改為變量,學生可以直觀看出信號與變量聲明位置和賦值符號的不同;對比兩個程序x和y的運行結果,學生可以理解信號和變量的賦值生效時間不同。

3 慎用IF語句

IF語句作為一種條件判斷語句,在VHDL程序設計中有著廣泛的應用。IF語句有3種結構,一種是門閂控制,語句形式為:

IF 條件 THEN

順序執行語句

END IF;

另一種是選擇控制,語句有兩種形式。形式一:

IF 條件 THEN

順序執行語句

ELSE

順序執行語

END IF;

形式二:

IF 條件 THEN

順序執行語句

ELSIF 條件 THEN

順序執行語句

ELSE

順序執行語句

END IF;

在用IF語句設計程序時,要注意2個問題:1)在多個條件判斷選擇時用選擇控制中的形式二語句,條件的判斷有優先,寫在前面的優先判斷;2)在設計組合邏輯電路時,盡量不引入不必要的寄存器,則應選擇帶有ELSE結構的語句。

程序二:

library ieee;

use ieee.std_logic_1164.all;

entity and22 is

port(a, b:in std_logic;

q:out std_logic);

end and22;

architecture behav of and22 is

begin

process(a ,b)

begin

if(a='1' and b='1') then

q<='1';

else ①

q<='0'; ②

end if;

end process;

end behav;

程序二是用VHDL語言實現一個二輸入的與非門,使用MAX+PLUSⅡ軟件編譯和仿真,仿真結果如圖3所示。a,b是輸入信號,q是輸出信號,當a和b同時為1(高電平)時,q輸出1,即高電平;a和b為其他值時,q為0。

把程序二中的加黑部分刪除,即采用門閂控制形式,使用MAX+PLUSⅡ軟件編譯和仿真,編譯沒有錯誤和警告,仿真結果如圖4所示。a,b是輸入信號,q是輸出信號,當a和b同時為1(高電平)之前,q輸出不定值,在此之后,不論a和b為何值,q輸出一直為1,即高電平。出現此結果的原因是修改后的程序編譯綜合時形成Latch(鎖存器)的結構。Latch結構通常都由大量的觸發器組成,不僅使電路更復雜,工作速度降低,而且由于時序配合的原因而導致不可預料的結果[3]。

4 總結

通過對信號與變量以及IF語句的講解,配合實例的分析,使得學生對信號與變量以及IF語句有了更清楚的認識,減少了不必要的錯誤。通過多年VHDL的教學,筆者深深地體會到:

1)VHDL語言是一種硬件描述語言,不能簡單地認為是一種高級語言,進行程序設計時要與硬件對應,要考慮程序綜合后電路的形式。

2)教師不僅要精通理論知識,還要有豐富的程序設計經驗,能夠熟練地指導實驗。對學生提出的任何問題要能夠結合課堂知識和編程經驗加以解決。

3)任課教師要不斷學習,不斷實踐,不斷總結,將最新的技術成果引入教學實踐中,及時更新教學內容,使學生能夠掌握最新知識和技術。

參考文獻

[1]楊丹,張樹林.VHDL中信號與變量的教學體會[J].電氣電子教學學報,2006(6):30-33

[2]黃正謹,徐堅,等.CPLD系統設計入門與應用[M].北京:電子工業出版社,2002

[3]戴慧.VHDL設計技巧探討[J].正德學院學報,2006(4)

主站蜘蛛池模板: 2022国产91精品久久久久久| 强奷白丝美女在线观看| 免费看黄片一区二区三区| 制服无码网站| 国产欧美日韩一区二区视频在线| 在线观看国产精品第一区免费| 久久精品免费看一| 日韩色图在线观看| 国产女人水多毛片18| 国产国模一区二区三区四区| 午夜国产大片免费观看| 国产精品久久久久无码网站| 色综合a怡红院怡红院首页| 综合网久久| 久久青草免费91观看| 另类欧美日韩| 丁香婷婷久久| 色综合久久88色综合天天提莫| 国产精品思思热在线| 伊人久久综在合线亚洲91| 久久婷婷人人澡人人爱91| 在线观看无码av免费不卡网站| 国产第八页| 亚洲色欲色欲www网| 97国产在线播放| 国产剧情一区二区| 国产免费a级片| 国产精品一区在线麻豆| 在线国产你懂的| 亚洲高清无码久久久| 波多野结衣亚洲一区| 久久综合婷婷| 亚洲欧洲日韩久久狠狠爱| 这里只有精品在线| 无码在线激情片| 国产在线视频自拍| 欧美在线国产| 亚洲一区无码在线| 午夜日b视频| 少妇露出福利视频| 亚洲va视频| 中文字幕自拍偷拍| 国产网站免费| 538精品在线观看| 亚洲精品不卡午夜精品| 99视频在线精品免费观看6| 狠狠色综合久久狠狠色综合| 99精品视频播放| 国模粉嫩小泬视频在线观看| 欧美一级高清片久久99| 亚洲人成人伊人成综合网无码| 在线观看精品国产入口| 国产呦精品一区二区三区网站| 免费福利视频网站| 亚洲中文字幕无码爆乳| 国产成人精品高清不卡在线| 狠狠ⅴ日韩v欧美v天堂| 亚洲一区二区三区在线视频| 在线va视频| 精品国产成人国产在线| a色毛片免费视频| 国产丝袜无码精品| 色网站免费在线观看| 人人爽人人爽人人片| 国产精品入口麻豆| 丁香六月激情综合| 日韩A∨精品日韩精品无码| 日韩少妇激情一区二区| 国产网友愉拍精品| 亚洲日韩Av中文字幕无码| 午夜在线不卡| 国产三级精品三级在线观看| 午夜国产不卡在线观看视频| 国产视频一区二区在线观看| 久久亚洲精少妇毛片午夜无码 | 中文字幕永久视频| 99精品福利视频| 成人av手机在线观看| 欧美成人看片一区二区三区| 亚卅精品无码久久毛片乌克兰| 午夜影院a级片| 老司机精品一区在线视频|