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)

主站蜘蛛池模板: 精品伊人久久久香线蕉| 无码人中文字幕| 午夜精品一区二区蜜桃| 国产二级毛片| 日本免费a视频| 2021无码专区人妻系列日韩| 欧美在线国产| 丰满人妻一区二区三区视频| 2021天堂在线亚洲精品专区| 女人18毛片水真多国产| 亚洲一区无码在线| 欧美日韩中文字幕二区三区| 精品国产91爱| 欧美精品不卡| 国产亚洲精品在天天在线麻豆| 国产屁屁影院| 欧美中文字幕第一页线路一| 777国产精品永久免费观看| 伊在人亞洲香蕉精品區| 99久久精品免费看国产电影| 亚洲欧美人成电影在线观看| 中国毛片网| 日本在线视频免费| 亚洲国内精品自在自线官| 亚洲成A人V欧美综合天堂| 精品久久久无码专区中文字幕| 91九色视频网| 熟妇人妻无乱码中文字幕真矢织江 | 青青国产在线| 高清不卡毛片| 波多野结衣久久高清免费| 在线视频精品一区| 在线观看亚洲成人| 2019国产在线| 亚洲国语自产一区第二页| 久久精品一卡日本电影| 欧美乱妇高清无乱码免费| аv天堂最新中文在线| 国产综合色在线视频播放线视| 久久精品视频一| 色成人亚洲| 亚洲天堂日本| 老汉色老汉首页a亚洲| 5555国产在线观看| 天天躁夜夜躁狠狠躁图片| 成人午夜视频免费看欧美| 欧美亚洲国产一区| 久久黄色一级片| 色综合成人| 无码AV动漫| 国产性精品| 99热这里只有精品在线观看| 亚洲欧美一区二区三区麻豆| 996免费视频国产在线播放| 国产一级妓女av网站| 精品视频免费在线| 欧美区在线播放| 亚洲日本中文综合在线| 激情影院内射美女| 亚洲国产系列| 免费无码AV片在线观看国产| 欧美日韩一区二区在线免费观看 | 久久亚洲高清国产| 国产成人久久综合777777麻豆 | 这里只有精品免费视频| 欧美区一区| 在线无码av一区二区三区| 日本成人不卡视频| 亚洲成人精品在线| 看看一级毛片| 亚洲天堂视频网站| 天天色综合4| 成人夜夜嗨| 国产精品偷伦在线观看| 中文字幕精品一区二区三区视频| 99久久精品国产综合婷婷| 亚洲综合久久成人AV| 东京热一区二区三区无码视频| 国产精品丝袜视频| 欧美一级在线| 欧美人人干| 亚洲国产黄色|