vhdl語言范文

時間(jian):2023-04-05 09:52:02

導語(yu):如何才能寫好一篇vhdl語(yu)言,這就需要搜集整理(li)更多的資料和(he)文(wen)獻,歡迎閱(yue)讀由公務(wu)員之家整理(li)的十篇范文(wen),供你借鑒。

vhdl語言

篇1

關鍵詞:狀態機;Mealy型狀態機;vhdl語言

中圖分類號:TP391 文(wen)獻標識碼:A 文(wen)章(zhang)編號:1007-9599 (2012) 13-0000-02

數字電(dian)路(lu)(lu)(lu)(lu)分(fen)為組(zu)合(he)邏(luo)輯(ji)電(dian)路(lu)(lu)(lu)(lu)和時(shi)序(xu)邏(luo)輯(ji)電(dian)路(lu)(lu)(lu)(lu)。組(zu)合(he)邏(luo)輯(ji)電(dian)路(lu)(lu)(lu)(lu)的輸(shu)出只與(yu)當(dang)(dang)前輸(shu)入(ru)有(you)關(guan),時(shi)序(xu)邏(luo)輯(ji)電(dian)路(lu)(lu)(lu)(lu)的輸(shu)出不僅與(yu)當(dang)(dang)前輸(shu)入(ru)有(you)關(guan),還(huan)(huan)與(yu)過去的輸(shu)入(ru)有(you)關(guan)。狀(zhuang)態機是一(yi)種廣義的時(shi)序(xu)電(dian)路(lu)(lu)(lu)(lu),它的輸(shu)出不僅與(yu)當(dang)(dang)前輸(shu)入(ru)信(xin)號有(you)關(guan),還(huan)(huan)與(yu)當(dang)(dang)前的狀(zhuang)態有(you)關(guan)。

一(yi)、狀(zhuang)(zhuang)態機有三個基本要素(su):狀(zhuang)(zhuang)態、輸入(ru)、輸出

狀態(tai)是(shi)(shi)狀態(tai)機(ji)中最根本的(de)(de)要素。狀態(tai)機(ji)的(de)(de)最基本特點就是(shi)(shi)寄存器中存儲(chu)的(de)(de)狀態(tai)按照一定(ding)(ding)的(de)(de)條件或(huo)規律進行轉移(yi),并輸出(chu)特定(ding)(ding)信(xin)號。

輸(shu)入信號(hao)作為狀態(tai)機狀態(tai)轉(zhuan)(zhuan)移(yi)(yi)的條件,即狀態(tai)機根(gen)據輸(shu)入信號(hao)和當前狀態(tai)決定下一個轉(zhuan)(zhuan)移(yi)(yi)的狀態(tai)。

輸(shu)出信號一般(ban)由(you)(you)當(dang)前(qian)(qian)狀(zhuang)態和(he)當(dang)前(qian)(qian)輸(shu)入信號決定,也可只由(you)(you)當(dang)前(qian)(qian)狀(zhuang)態決定。

二、狀態機的特點

(1)狀態(tai)機的結構模式相(xiang)對簡單,設計方案相(xiang)對固(gu)定。

(2)狀態機的VHDL設計層次分明,結構清晰,易讀易懂。

(3)就運行速度而言,狀(zhuang)態(tai)機(ji)的(de)每一個狀(zhuang)態(tai)中可以(yi)完成許多并行的(de)運算和控制操作。

(4)就可靠性而(er)言,狀(zhuang)態機也(ye)具有明顯的優勢。

三、狀態機的分類

狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)可分為(wei)有限(xian)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)和(he)(he)無(wu)限(xian)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji),在這里只(zhi)討論(lun)有限(xian)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)。按(an)照輸出(chu)信號是(shi)否與輸入(ru)信號有關(guan),可將有限(xian)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)分為(wei)Moore型(xing)和(he)(he)Mealy型(xing)。Moore型(xing)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)的(de)輸出(chu)只(zhi)與當前狀(zhuang)(zhuang)態(tai)(tai)(tai)有關(guan),Mealy型(xing)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)的(de)輸出(chu)不(bu)僅與當前狀(zhuang)(zhuang)態(tai)(tai)(tai)有關(guan),還與當前輸入(ru)有關(guan)。Moore型(xing)和(he)(he)Mealy型(xing)狀(zhuang)(zhuang)態(tai)(tai)(tai)機(ji)(ji)(ji)示意圖(tu)(tu)分別如圖(tu)(tu)一和(he)(he)圖(tu)(tu)二所示。

從(cong)輸(shu)出(chu)的(de)(de)(de)時(shi)序上看,Mealy型狀態(tai)(tai)機(ji)(ji)(ji)的(de)(de)(de)輸(shu)出(chu)是當(dang)前(qian)狀態(tai)(tai)和所(suo)有(you)輸(shu)入信號的(de)(de)(de)函數(shu),它(ta)的(de)(de)(de)輸(shu)出(chu)是在(zai)輸(shu)入變(bian)化(hua)之后(hou)立即發生(sheng)的(de)(de)(de),不依賴時(shi)鐘的(de)(de)(de)同(tong)步。Moore型狀態(tai)(tai)機(ji)(ji)(ji)的(de)(de)(de)輸(shu)出(chu)僅為當(dang)前(qian)狀態(tai)(tai)的(de)(de)(de)函數(shu),狀態(tai)(tai)機(ji)(ji)(ji)的(de)(de)(de)輸(shu)入發生(sheng)變(bian)化(hua)還必須(xu)與狀態(tai)(tai)機(ji)(ji)(ji)的(de)(de)(de)時(shi)鐘同(tong)步。由于(yu)Mealy型狀態(tai)(tai)機(ji)(ji)(ji)的(de)(de)(de)輸(shu)出(chu)與時(shi)鐘不同(tong)步,因此很容易在(zai)輸(shu)出(chu)端產生(sheng)毛刺,造(zao)成不可(ke)預(yu)料的(de)(de)(de)結果。因此從(cong)穩定性的(de)(de)(de)角度講,Moore型狀態(tai)(tai)機(ji)(ji)(ji)比較(jiao)好;但是從(cong)相(xiang)應(ying)時(shi)間(jian)角度講,Mealy型狀態(tai)(tai)機(ji)(ji)(ji)對(dui)輸(shu)入的(de)(de)(de)響應(ying)最多(duo)可(ke)比Moore型狀態(tai)(tai)機(ji)(ji)(ji)早一個(ge)時(shi)鐘周(zhou)期(qi).在(zai)工程實踐中,具體電(dian)路有(you)具體的(de)(de)(de)設計(ji)要求,根據實際情(qing)況(kuang)選擇相(xiang)應(ying)的(de)(de)(de)狀態(tai)(tai)機(ji)(ji)(ji)。

四、基于狀態機(ji)的8路彩燈設計

在我(wo)們(men)(men)的(de)(de)生(sheng)活中(zhong),電(dian)(dian)(dian)(dian)子(zi)彩(cai)燈(deng)(deng)已成為我(wo)們(men)(men)裝(zhuang)點生(sheng)活常(chang)用(yong)的(de)(de)電(dian)(dian)(dian)(dian)器,電(dian)(dian)(dian)(dian)子(zi)彩(cai)燈(deng)(deng)控(kong)制電(dian)(dian)(dian)(dian)路的(de)(de)設計(ji)要(yao)求也(ye)越來越高。要(yao)求我(wo)們(men)(men)設計(ji)的(de)(de)彩(cai)燈(deng)(deng)花燈(deng)(deng)品(pin)種更(geng)多(duo),控(kong)制更(geng)加方便,靈(ling)活性(xing)高,可靠性(xing)高。采用(yong)傳統(tong)數字電(dian)(dian)(dian)(dian)路設計(ji)的(de)(de)彩(cai)燈(deng)(deng)控(kong)制器電(dian)(dian)(dian)(dian)路復(fu)雜(za),設計(ji)周(zhou)期(qi)長,精度(du)不(bu)高。基于(yu)FPGA的(de)(de)電(dian)(dian)(dian)(dian)子(zi)彩(cai)燈(deng)(deng)設計(ji)設計(ji)靈(ling)活,功能(neng)完(wan)善。

8路彩燈控(kong)(kong)制(zhi)系(xi)統分為分頻模塊和(he)花型循(xun)環控(kong)(kong)制(zhi)模塊。

(1)分(fen)(fen)頻(pin)模塊:我(wo)(wo)們在這里選擇的(de)時(shi)(shi)鐘(zhong)脈沖信號是(shi)50MHz,由(you)于時(shi)(shi)鐘(zhong)脈沖的(de)頻(pin)率太高,所以我(wo)(wo)們未分(fen)(fen)頻(pin)時(shi)(shi)看(kan)到的(de)是(shi)8個LED燈全亮,而看(kan)不到LED燈閃爍(shuo)的(de)狀(zhuang)態。我(wo)(wo)們這時(shi)(shi)將50MHz分(fen)(fen)頻(pin),達到人視(shi)覺能感覺的(de)頻(pin)率,即可看(kan)到LED閃爍(shuo)的(de)效果。

分頻程序如下:

(2)花(hua)型循(xun)環控(kong)制(zhi)模(mo)(mo)塊(kuai)(kuai):花(hua)型循(xun)環控(kong)制(zhi)模(mo)(mo)塊(kuai)(kuai)是系(xi)統(tong)的核心部(bu)分,它主控(kong)著8路彩燈的花(hua)型。循(xun)環彩燈控(kong)制(zhi)模(mo)(mo)塊(kuai)(kuai)主要由狀態機設(she)計(ji),用狀態機設(she)計(ji)靈活性強。

按設計(ji)的(de)要求實現8種花型:00001111、10000000、01100011、01001111、11000000、11101111、11111111和10010011。用S0,S1,S2,S3,S4,S5,S6,S7來表示(shi)8種不同的(de)狀態。狀態圖如下所示(shi)。

用狀(zhuang)態機設計語(yu)句type states來實(shi)現,8路彩(cai)燈控(kong)制(zhi)模塊程序如下:

五、設計拓展

8路(lu)彩燈(deng)設計系統在(zai)實際應用中(zhong)還可(ke)以靈活地(di)修改。如(ru)(ru)果(guo)要(yao)改變循環(huan)(huan)燈(deng)的(de)(de)控制(zhi)花型(xing),可(ke)改變s0,s1,s2,s3,s4,s5,s6,s7中(zhong)所設的(de)(de)數(shu)值;如(ru)(ru)果(guo)要(yao)改變循環(huan)(huan)燈(deng)的(de)(de)花型(xing)數(shu)量,可(ke)改變狀態機中(zhong)s的(de)(de)數(shu)量,如(ru)(ru)12種(zhong)花型(xing),可(ke)改為s0—s11;還可(ke)以修改頻率(lv)來控制(zhi)花型(xing)閃爍的(de)(de)速度。

六、小結

使用VHDL語言(yan)進行8路(lu)(lu)(lu)(lu)彩(cai)(cai)燈電(dian)(dian)路(lu)(lu)(lu)(lu)設(she)計(ji),思路(lu)(lu)(lu)(lu)簡(jian)單(dan),功(gong)能明了,靈活性強。在(zai)控(kong)(kong)制電(dian)(dian)路(lu)(lu)(lu)(lu)中(zhong)采用狀(zhuang)態機(ji)設(she)計(ji),電(dian)(dian)路(lu)(lu)(lu)(lu)控(kong)(kong)制靈活,功(gong)能便于(yu)實現,思路(lu)(lu)(lu)(lu)簡(jian)潔便于(yu)修(xiu)改。比起用常(chang)規的(de)(de)(de)單(dan)片機(ji)設(she)計(ji)8路(lu)(lu)(lu)(lu)彩(cai)(cai)燈電(dian)(dian)路(lu)(lu)(lu)(lu)更簡(jian)單(dan)實用。此系統可在(zai)分頻前在(zai)ISE軟件下的(de)(de)(de)ISE simulator上進行仿真和(he)驗證,并可加(jia)上適(shi)當的(de)(de)(de)約束條件后,在(zai)Spatan3E的(de)(de)(de)開發板驗證試驗結果。

參考文獻:

[1]Kleitz.W.VHDL數字電子學[M].北(bei)京:北(bei)京希望電子出版(ban)社,2008

篇2

關鍵(jian)詞:VHDL;教(jiao)學改(gai)革;項(xiang)目化(hua)教(jiao)學

作者簡介:周殿鳳(1978-),女,江(jiang)蘇寶應(ying)人,鹽(yan)(yan)城(cheng)師(shi)范學院(yuan)物理科學與(yu)電子技術學院(yuan),講師(shi);康素成(1966-),男,江(jiang)蘇濱海人,鹽(yan)(yan)城(cheng)師(shi)范學院(yuan)物理科學與(yu)電子技術學院(yuan),副教(jiao)授。(江(jiang)蘇 鹽(yan)(yan)城(cheng) 224002)

基金(jin)項(xiang)目:本文系(xi)鹽城師范學(xue)院高校發(fa)展研(yan)究項(xiang)目(項(xiang)目編號:13YCFZ006)的研(yan)究成果。

中圖分類號(hao):G642 文獻標(biao)識(shi)碼:A 文章編號(hao):1007-0079(2014)09-0111-02

VHDL語(yu)(yu)(yu)(yu)言及(ji)(ji)應用(yong)(yong)是(shi)電子信息工程(cheng)(cheng)專業的(de)(de)(de)一門(men)重要(yao)的(de)(de)(de)技術類應用(yong)(yong)型(xing)課(ke)程(cheng)(cheng),主要(yao)講解(jie)(jie)VHDL語(yu)(yu)(yu)(yu)言以及(ji)(ji)它的(de)(de)(de)應用(yong)(yong)。但(dan)在多(duo)年的(de)(de)(de)教學(xue)實(shi)踐中(zhong),筆者(zhe)發現要(yao)想讓學(xue)生在短時間(jian)內(nei)接受大(da)量(liang)的(de)(de)(de)語(yu)(yu)(yu)(yu)法知識(shi),學(xue)生很難(nan)充(chong)分理(li)解(jie)(jie)與掌握,這樣在隨后的(de)(de)(de)編程(cheng)(cheng)過程(cheng)(cheng)中(zhong)非常容易犯錯,并(bing)感覺(jue)難(nan)以入手(shou),更不用(yong)(yong)說(shuo)形成良好(hao)的(de)(de)(de)編程(cheng)(cheng)習慣和(he)程(cheng)(cheng)序風格。[1]大(da)多(duo)數大(da)學(xue)生畢業后或許精通C語(yu)(yu)(yu)(yu)言,可是(shi)由于各方(fang)面(mian)的(de)(de)(de)原(yuan)因,精通VHDL語(yu)(yu)(yu)(yu)言的(de)(de)(de)少之又(you)少,但(dan)是(shi)企業單位對此(ci)方(fang)面(mian)的(de)(de)(de)人才的(de)(de)(de)需求卻(que)越來越多(duo),筆者(zhe)出于對VHDL語(yu)(yu)(yu)(yu)言的(de)(de)(de)摯愛及(ji)(ji)多(duo)年教學(xue)經驗,探索了該(gai)課(ke)程(cheng)(cheng)項(xiang)目化教學(xue)的(de)(de)(de)具體(ti)實(shi)施方(fang)法。

一、改變傳統教學(xue)方法

VHDL語(yu)(yu)(yu)言及應(ying)用這門(men)(men)課(ke)程的(de)(de)終極(ji)目標(biao)是使學(xue)(xue)(xue)生掌握VHDL語(yu)(yu)(yu)言并能(neng)(neng)用之(zhi)進行相關的(de)(de)電(dian)子設(she)計。如果教師(shi)將大量的(de)(de)時間用于講解枯澀的(de)(de)語(yu)(yu)(yu)法(fa)、語(yu)(yu)(yu)句(ju)、復(fu)雜(za)的(de)(de)算法(fa),學(xue)(xue)(xue)生在學(xue)(xue)(xue)習時也不知它們有(you)何(he)用途,學(xue)(xue)(xue)、用脫節,只(zhi)是為學(xue)(xue)(xue)而學(xue)(xue)(xue),不能(neng)(neng)激發學(xue)(xue)(xue)生學(xue)(xue)(xue)習和應(ying)用知識的(de)(de)興(xing)趣(qu)和積極(ji)性,效(xiao)果很差,[2]因(yin)此教師(shi)不能(neng)(neng)按部(bu)就班(ban)地講解知識。教師(shi)可(ke)以通(tong)過多個實(shi)例講解語(yu)(yu)(yu)法(fa),效(xiao)果會好(hao)得多。這就要(yao)求老師(shi)上課(ke)全(quan)部(bu)現場編(bian)寫程序,并且故意(yi)(yi)犯(fan)一些學(xue)(xue)(xue)生經常犯(fan)的(de)(de)錯誤(wu),編(bian)程中的(de)(de)錯誤(wu)基本上都是語(yu)(yu)(yu)法(fa)和語(yu)(yu)(yu)句(ju)使用不當引起的(de)(de),教師(shi)恰(qia)好(hao)可(ke)以利用這些錯誤(wu)來講解語(yu)(yu)(yu)法(fa)、語(yu)(yu)(yu)句(ju)。這門(men)(men)課(ke)程的(de)(de)硬(ying)件基礎(chu)是FPGA和CPLD芯片(pian),CPLD/FPGA內部(bu)沒有(you)CPU,只(zhi)需(xu)要(yao)用1課(ke)時簡(jian)單講解即可(ke),并不需(xu)要(yao)詳細分析(xi)。因(yin)為對于設(she)計者而言只(zhi)要(yao)會用這些芯片(pian)即可(ke),而且CPLD/FPGA芯片(pian)本身就像一張(zhang)白(bai)紙,只(zhi)要(yao)學(xue)(xue)(xue)生的(de)(de)單片(pian)機和硬(ying)件描述語(yu)(yu)(yu)言足夠好(hao),學(xue)(xue)(xue)生就可(ke)以任意(yi)(yi)發揮,所以本課(ke)程的(de)(de)關鍵還是掌握VHDL語(yu)(yu)(yu)言本身。

二、理論教學(xue)環節的項目化實(shi)施

1.通過最簡(jian)單(dan)的例子引導學(xue)生入門(men)

以(yi)二(er)極管閃爍(shuo)為例(li),分成幾個層次,一步一步引導學生入門。

先問學(xue)生(sheng):如何讓一個二(er)極(ji)管亮?學(xue)生(sheng)學(xue)過數(shu)字電路,知(zhi)道當二(er)極(ji)管的陽極(ji)為高電平(ping)(ping)且陰極(ji)為低電平(ping)(ping)時二(er)極(ji)管亮。然后講解在VHDL語言里是如何實現(xian)的,接著現(xian)場編寫程序,最后下載(zai)到開發板上并且演示。

接(jie)著(zhu)問:如(ru)何(he)讓二極管閃爍(shuo)(shuo)呢?當陰極接(jie)地且陽極的(de)高、低電平等間隔(ge)出現(xian)(xian)時二極管閃爍(shuo)(shuo),在VHDL里(li)如(ru)何(he)實現(xian)(xian)呢?在剛才程序(xu)里(li)稍作修(xiu)改即(ji)可(ke),同樣(yang)要演示(shi)給學生看,并(bing)可(ke)順勢講一(yi)點這個程序(xu)里(li)出現(xian)(xian)的(de)語法(fa)和(he)學習VHDL語言的(de)一(yi)些(xie)注意事項,如(ru)工程名(ming)(ming)、頂層文(wen)件名(ming)(ming)和(he)實體名(ming)(ming)要一(yi)致,命(ming)名(ming)(ming)時字(zi)母的(de)大小寫(xie)沒有(you)區(qu)別等。做到在不知不覺(jue)中自(zi)然(ran)而然(ran)地講解語法(fa)知識,學生記得也牢固。[2]

為了(le)讓(rang)學生語(yu)(yu)法(fa)(fa)(fa)學得(de)更扎實,所有程序教師都隨堂編(bian)(bian)寫,一(yi)(yi)邊編(bian)(bian)程序一(yi)(yi)邊講(jiang)解語(yu)(yu)法(fa)(fa)(fa)語(yu)(yu)句,還可以(yi)插入算法(fa)(fa)(fa)的講(jiang)解。經過(guo)實踐,筆者發現現場編(bian)(bian)程的講(jiang)解方(fang)法(fa)(fa)(fa)可以(yi)讓(rang)學生較好地(di)記(ji)住(zhu)一(yi)(yi)些難以(yi)理(li)解的語(yu)(yu)法(fa)(fa)(fa)、詞法(fa)(fa)(fa)和算法(fa)(fa)(fa)。

2.設計(ji)巧妙的項目引導(dao)學(xue)生深入學(xue)習

在開展項(xiang)目(mu)化(hua)教(jiao)(jiao)學時(shi)(shi),項(xiang)目(mu)的(de)設計非(fei)常關鍵,設計的(de)好(hao)壞直接(jie)影(ying)響教(jiao)(jiao)學效(xiao)果。項(xiang)目(mu)設計應(ying)遵循(xun)如(ru)下原(yuan)則(ze):一是(shi)圍繞課(ke)程(cheng)的(de)重點展開,項(xiang)目(mu)內容應(ying)覆蓋基本的(de)教(jiao)(jiao)學知識點。二是(shi)為(wei)了調動學生的(de)積極性,應(ying)盡量(liang)選(xuan)擇學生感興(xing)趣(qu)的(de)項(xiang)目(mu)。三是(shi)難(nan)(nan)度適中,項(xiang)目(mu)過于(yu)簡單,學生會很快完成(cheng),達(da)不(bu)(bu)到(dao)思考的(de)效(xiao)果;太難(nan)(nan),支撐的(de)理(li)論(lun)(lun)知識就會過多,教(jiao)(jiao)學組織比較困難(nan)(nan),不(bu)(bu)能達(da)到(dao)預期的(de)教(jiao)(jiao)學效(xiao)果。VHDL語(yu)言(yan)(yan)及應(ying)用(yong)共48課(ke)時(shi)(shi),其中12節為(wei)實(shi)驗(yan)課(ke),理(li)論(lun)(lun)學時(shi)(shi)只有(you)36課(ke)時(shi)(shi),需要用(yong)4課(ke)時(shi)(shi)按(an)照(zhao)傳統的(de)教(jiao)(jiao)學方式講解一些(xie)在項(xiang)目(mu)中不(bu)(bu)好(hao)講解的(de)知識,如(ru)CPLD/FPGA的(de)硬件知識、VHDL語(yu)言(yan)(yan)的(de)部分(fen)語(yu)法等,故選(xuan)擇9個小項(xiang)目(mu)講解各種知識。

在9個(ge)項目(mu)講解的過程中,還要(yao)教會(hui)學生(sheng)如何閱(yue)讀英文datasheets。在進行(xing)真正的項目(mu)設計(ji)時,必(bi)定要(yao)用到不少(shao)陌生(sheng)的芯片,要(yao)想(xiang)會(hui)用這些芯片,必(bi)須看它(ta)們的datasheets。datasheets總是(shi)長達幾十頁,學生(sheng)不容(rong)易(yi)看懂,需(xu)要(yao)教師引導(dao)他們如何抓住其中的重點,快速準確閱(yue)讀。

在項目的(de)講解和設計后期,教師作為領(ling)隊將學(xue)(xue)生(sheng)分成(cheng)小組(zu)學(xue)(xue)習,分組(zu)合作的(de)學(xue)(xue)習方(fang)法激(ji)發了學(xue)(xue)生(sheng)學(xue)(xue)習的(de)動力(li),增強了各成(cheng)員的(de)責任感(gan)。互(hu)相之間積(ji)極配合、互(hu)動,培養(yang)學(xue)(xue)生(sheng)多(duo)角(jiao)度、多(duo)渠道獲得信(xin)息,有利于促(cu)進學(xue)(xue)生(sheng)發展,完善自我,也將學(xue)(xue)生(sheng)評(ping)價變成(cheng)了主動參與、自我反思、自我教育的(de)過程。[3]

三、實踐(jian)教學環(huan)節的項目化改革

1.布置型教(jiao)學(xue)改為開放式教(jiao)學(xue)

傳統的(de)(de)實驗(yan)(yan)(yan)(yan)(yan)(yan)教(jiao)(jiao)(jiao)學(xue)(xue)(xue)(xue)(xue)是教(jiao)(jiao)(jiao)師講解實驗(yan)(yan)(yan)(yan)(yan)(yan)原理,然后(hou)演示一下實驗(yan)(yan)(yan)(yan)(yan)(yan),學(xue)(xue)(xue)(xue)(xue)生只需按實驗(yan)(yan)(yan)(yan)(yan)(yan)講義中的(de)(de)步驟進(jin)行,“依葫蘆畫瓢”,通(tong)過反復訓練讓學(xue)(xue)(xue)(xue)(xue)生形成一定(ding)的(de)(de)基本技能(neng)。這種實驗(yan)(yan)(yan)(yan)(yan)(yan)教(jiao)(jiao)(jiao)學(xue)(xue)(xue)(xue)(xue)模式,學(xue)(xue)(xue)(xue)(xue)生動(dong)手機會少,不能(neng)自主(zhu)學(xue)(xue)(xue)(xue)(xue)習(xi),不利于個性(xing)(xing)發展,阻(zu)礙了學(xue)(xue)(xue)(xue)(xue)生的(de)(de)學(xue)(xue)(xue)(xue)(xue)習(xi)積(ji)極性(xing)(xing)、主(zhu)動(dong)性(xing)(xing)、創(chuang)(chuang)造性(xing)(xing)以(yi)及現代科學(xue)(xue)(xue)(xue)(xue)思維(wei)方式的(de)(de)形成。[4]學(xue)(xue)(xue)(xue)(xue)生進(jin)入實驗(yan)(yan)(yan)(yan)(yan)(yan)室后(hou),教(jiao)(jiao)(jiao)師可以(yi)提供大量實驗(yan)(yan)(yan)(yan)(yan)(yan),讓學(xue)(xue)(xue)(xue)(xue)生根(gen)據(ju)各自興(xing)趣選擇想做的(de)(de)實驗(yan)(yan)(yan)(yan)(yan)(yan)。也可以(yi)由學(xue)(xue)(xue)(xue)(xue)生根(gen)據(ju)教(jiao)(jiao)(jiao)學(xue)(xue)(xue)(xue)(xue)要(yao)求自己擬定(ding)實驗(yan)(yan)(yan)(yan)(yan)(yan)內(nei)容,教(jiao)(jiao)(jiao)師加(jia)以(yi)適當指導,減少實驗(yan)(yan)(yan)(yan)(yan)(yan)的(de)(de)盲目(mu)性(xing)(xing),使(shi)學(xue)(xue)(xue)(xue)(xue)生真(zhen)正參(can)與到實驗(yan)(yan)(yan)(yan)(yan)(yan)中來,提高實驗(yan)(yan)(yan)(yan)(yan)(yan)教(jiao)(jiao)(jiao)學(xue)(xue)(xue)(xue)(xue)效果,培養(yang)學(xue)(xue)(xue)(xue)(xue)生的(de)(de)動(dong)手能(neng)力(li)和創(chuang)(chuang)新思維(wei)能(neng)力(li)。

學(xue)生(sheng)的實驗(yan)成績采取過程(cheng)記(ji)(ji)錄(lu)法,教(jiao)師為每一(yi)(yi)位學(xue)生(sheng)準備(bei)一(yi)(yi)張記(ji)(ji)錄(lu)卡,實時(shi)記(ji)(ji)錄(lu)學(xue)生(sheng)的實驗(yan)情況。

2.統(tong)一實(shi)驗變為層(ceng)次化實(shi)驗

另外傳統的(de)實(shi)驗(yan)(yan)(yan)教(jiao)(jiao)學(xue)中,所(suo)有(you)學(xue)生(sheng)(sheng)做(zuo)(zuo)的(de)實(shi)驗(yan)(yan)(yan)是一(yi)(yi)樣的(de)。實(shi)際(ji)上學(xue)生(sheng)(sheng)到了大三(san),基(ji)礎(chu)(chu)已各不相同(tong),可(ke)以(yi)根(gen)(gen)據學(xue)生(sheng)(sheng)的(de)基(ji)礎(chu)(chu)采取層次(ci)化實(shi)驗(yan)(yan)(yan)教(jiao)(jiao)學(xue)。教(jiao)(jiao)師(shi)可(ke)以(yi)根(gen)(gen)據學(xue)生(sheng)(sheng)的(de)具(ju)體情況將一(yi)(yi)個班(ban)(ban)分為(wei)(wei)4組(zu)(zu)(zu),假設1組(zu)(zu)(zu)的(de)學(xue)生(sheng)(sheng)基(ji)礎(chu)(chu)最好,2組(zu)(zu)(zu)次(ci)之,4組(zu)(zu)(zu)最差;每組(zu)(zu)(zu)的(de)學(xue)生(sheng)(sheng)人數可(ke)以(yi)不一(yi)(yi)樣多,該課程(cheng)成績想得(de)優秀的(de)學(xue)生(sheng)(sheng)必須選(xuan)擇1組(zu)(zu)(zu)或2組(zu)(zu)(zu)。針對4組(zu)(zu)(zu)學(xue)生(sheng)(sheng)要求教(jiao)(jiao)師(shi)準備4套實(shi)驗(yan)(yan)(yan)內容供學(xue)生(sheng)(sheng)選(xuan)擇,每組(zu)(zu)(zu)的(de)要求不一(yi)(yi)樣,具(ju)體安排如表2所(suo)示。因為(wei)(wei)鹽城師(shi)范學(xue)院要求一(yi)(yi)次(ci)實(shi)驗(yan)(yan)(yan)為(wei)(wei)25人左右(半(ban)個班(ban)(ban)級),所(suo)以(yi)教(jiao)(jiao)師(shi)需要同(tong)時(shi)指導(dao)(dao)2組(zu)(zu)(zu)學(xue)生(sheng)(sheng),實(shi)際(ji)操作(zuo)時(shi)可(ke)以(yi)1組(zu)(zu)(zu)和(he)4組(zu)(zu)(zu)一(yi)(yi)起(qi)做(zuo)(zuo)實(shi)驗(yan)(yan)(yan),2組(zu)(zu)(zu)和(he)3組(zu)(zu)(zu)一(yi)(yi)起(qi)做(zuo)(zuo)實(shi)驗(yan)(yan)(yan)。如果教(jiao)(jiao)師(shi)愿意加班(ban)(ban),第(di)一(yi)(yi)次(ci)實(shi)驗(yan)(yan)(yan)可(ke)以(yi)只輔(fu)導(dao)(dao)一(yi)(yi)組(zu)(zu)(zu)學(xue)生(sheng)(sheng),第(di)二次(ci)及以(yi)后就可(ke)以(yi)2個組(zu)(zu)(zu)同(tong)時(shi)做(zuo)(zuo)實(shi)驗(yan)(yan)(yan),交叉輔(fu)導(dao)(dao)了。

對于(yu)基(ji)礎(chu)較差的(de)(de)第4組同(tong)學(xue),實(shi)驗難(nan)(nan)度不(bu)宜太大,要(yao)留給(gei)學(xue)生一(yi)定(ding)的(de)(de)思考空間。同(tong)樣是(shi)設(she)計性實(shi)驗,不(bu)同(tong)組別的(de)(de)具體內容(rong)也可以不(bu)同(tong),1組難(nan)(nan)度加大,而4組則(ze)簡單一(yi)些(xie)。如(ru)此訓練下來,學(xue)生各有所得,不(bu)管(guan)基(ji)礎(chu)好壞,總能(neng)學(xue)到一(yi)定(ding)的(de)(de)知識,甚至有助于(yu)基(ji)礎(chu)差的(de)(de)學(xue)生學(xue)到更多的(de)(de)知識。

四、考核方式改革

項目(mu)化教(jiao)(jiao)學需要改(gai)變傳統(tong)教(jiao)(jiao)學中一張試卷定(ding)成績(ji)的考核辦法,[5]學生成績(ji)主要由項目(mu)的設(she)計決定(ding),要注意(yi)到學生的設(she)計思路。理論知識學完后(hou)教(jiao)(jiao)師(shi)可以選(xuan)擇(ze)幾個(ge)(ge)綜合性項目(mu),學生從中任選(xuan)一個(ge)(ge)進行設(she)計,這(zhe)樣可以培養(yang)學生發現(xian)問題(ti)(ti)和解決問題(ti)(ti)的能(neng)力(li)(li),也(ye)可提(ti)高其設(she)計能(neng)力(li)(li)。

五、小結

本(ben)文(wen)根(gen)據VHDL語(yu)言及應用(yong)(yong)的(de)(de)(de)特點,探索(suo)了適于它的(de)(de)(de)項目(mu)(mu)化(hua)教(jiao)學(xue)(xue)。通過項目(mu)(mu)化(hua)教(jiao)學(xue)(xue),廢除注入式教(jiao)學(xue)(xue)方(fang)法(fa),建立以學(xue)(xue)生為本(ben),教(jiao)師啟發引(yin)導的(de)(de)(de)教(jiao)學(xue)(xue)方(fang)法(fa)。通過一個個項目(mu)(mu)和層次化(hua)實驗(yan),學(xue)(xue)生不(bu)僅可以熟(shu)悉VHDL語(yu)言的(de)(de)(de)基本(ben)語(yu)法(fa)和常用(yong)(yong)語(yu)句,還(huan)對硬件描述(shu)語(yu)言的(de)(de)(de)本(ben)質有(you)了深(shen)(shen)刻的(de)(de)(de)認識,對所(suo)設計的(de)(de)(de)電路有(you)深(shen)(shen)刻理解,在此基礎上才能(neng)更好地使用(yong)(yong)VHDL語(yu)言進行電路設計。通過多(duo)個項目(mu)(mu)的(de)(de)(de)訓(xun)練,學(xue)(xue)生的(de)(de)(de)設計能(neng)力(li)、創造能(neng)力(li)和團隊合作能(neng)力(li)都可以得到很大提高,因此說項目(mu)(mu)化(hua)教(jiao)學(xue)(xue)是(shi)應用(yong)(yong)性(xing)強的(de)(de)(de)課程的(de)(de)(de)首選教(jiao)學(xue)(xue)方(fang)法(fa)。

參考文獻:

[1]胡小玲,翟秀艷(yan),袁穎.VHDL的模塊化(hua)教(jiao)學(xue)方法反思與總結[J].中(zhong)國電力教(jiao)育,2013,29(2):112-113.

[2]周殿鳳.片(pian)上(shang)可編(bian)程系統項目化教學探討[J].輕工(gong)科技,2013,

15(5):190-191.

[3]姚培.教師在(zai)理實一體化教學(xue)學(xue)生評價中的角(jiao)色研究[J].中國(guo)電力教育,2013,29(25):180-181.

篇3

關鍵(jian)詞:VHDL; Max+Plus Ⅱ; 計數器(qi); EDA技術

中(zhong)圖分類號:TP311文(wen)獻標識碼:B

文章編號:1004-373X(2010)08-0070-03

Medical Application of EDA Technology Taking VHDL Language as Core

TAN Xiao-ling, DUAN Xin-wen

(Qinghai Normal University, Xining 810008, China)

Abstract: As a new hardware description language, VHDL is mainly used for the description, simulation and automatic design of digital circuits and systems. It is the core technology of current clectronic design automation (EDA) and can be more widely used in the medical speciality and other relative fields along with the development of information technology. In this study, the counter designed with VHDL was applied to human pulse measurement. Compared to the artificial method, the results measured by such counter is more accurate and can be displayed intuitively by the digital tubes. It shows the close contact between the digital system designed with VHDL and medicine, as well as its great prospects on the medical practice. It had proved that the combination of EDA and medicine not only promotes the further application of EDA technology, but also boosts the development of medicine greatly.

Keywords:VHDL; Max+Plus Ⅱ; counter; EDA technology

0 引 言

VHDL超(chao)高(gao)速集(ji)成電(dian)(dian)路(lu)(lu)硬(ying)件(jian)描(miao)(miao)述(shu)語言(yan)是(shi)隨(sui)著集(ji)成電(dian)(dian)路(lu)(lu)系(xi)統(tong)(tong)化和高(gao)度(du)集(ji)成化逐步發(fa)展起來的(de)(de)(de),是(shi)一種用于(yu)數字系(xi)統(tong)(tong)設(she)計(ji)(ji)(ji)、測(ce)試,面向(xiang)多(duo)領(ling)域(yu)、多(duo)層(ceng)次的(de)(de)(de)IEEE標準硬(ying)件(jian)描(miao)(miao)述(shu)語言(yan)。它從20世紀70年代作為電(dian)(dian)路(lu)(lu)設(she)計(ji)(ji)(ji)工(gong)(gong)具(ju)誕生于(yu)美國國防部至(zhi)今,已經成為十(shi)分流行的(de)(de)(de)硬(ying)件(jian)描(miao)(miao)述(shu)工(gong)(gong)具(ju),并且(qie)為大(da)多(duo)數EDA工(gong)(gong)具(ju)所支(zhi)持(chi)\。隨(sui)著電(dian)(dian)子技術的(de)(de)(de)不(bu)斷進步,數字系(xi)統(tong)(tong)的(de)(de)(de)設(she)計(ji)(ji)(ji)正朝著高(gao)速度(du)、大(da)容量(liang)、小體積的(de)(de)(de)方向(xiang)發(fa)展。 傳統(tong)(tong)的(de)(de)(de)自底而上的(de)(de)(de)模式已不(bu)能(neng)滿(man)足芯(xin)片和系(xi)統(tong)(tong)的(de)(de)(de)設(she)計(ji)(ji)(ji)要求(qiu)。為了(le)提(ti)高(gao)設(she)計(ji)(ji)(ji)效率,能(neng)夠簡化設(she)計(ji)(ji)(ji)流程,大(da)幅降低設(she)計(ji)(ji)(ji)難度(du)的(de)(de)(de)VHDL設(she)計(ji)(ji)(ji)方法受到廣泛關注。VHDL與其他(ta)傳統(tong)(tong)集(ji)成電(dian)(dian)路(lu)(lu)描(miao)(miao)述(shu)語言(yan)相比(bi),具(ju)有明顯優勢\:

(1) 功能強(qiang)大,描述力強(qiang)。可用(yong)于門(men)級(ji)、電路級(ji)甚至系統級(ji)的描述、仿真和設計(ji)。

(2) 可移植性(xing)好。對于設計和仿真工具及不同(tong)的平臺均可采用相同(tong)的描述(shu)。

(3) 研制(zhi)周期短, 成本低。

(4) 可(ke)以延(yan)長設計的生命周期。

(5) 具有電(dian)路(lu)仿(fang)真與(yu)驗證功能(neng),用戶甚至不必編寫(xie)相(xiang)量(liang)測試即(ji)可(ke)進行源(yuan)代碼級調(diao)試。設計者能(neng)夠跳(tiao)過電(dian)路(lu)實驗,直(zhi)接對各種方(fang)案進行比(bi)較和(he)選擇,使(shi)設計效率得(de)以提高(gao)。

(6) 對設計(ji)的描(miao)述具有(you)相對獨立性。

(7) 語言標準(zhun)、規范,易于(yu)共享和復用。

目(mu)(mu)前,VHDL滲透了電子技術及其(qi)(qi)相關(guan)的各個工業領域(yu),在工業設計中發(fa)揮著日益重要(yao)的作用(yong)(yong)。在世(shi)界(jie)范圍(wei)內,關(guan)于VHDL在多(duo)個領域(yu)尤(you)其(qi)(qi)在芯片,系(xi)統設計方面的應(ying)用(yong)(yong)研究已(yi)經(jing)取得眾多(duo)矚目(mu)(mu)成果。

而將VHDL與醫(yi)學相(xiang)結(jie)合,勢必成為(wei)電子自(zi)動化設(she)計(EDA)一個(ge)全新(xin)的研究(jiu)方向,本文主要研究(jiu)將EDA通(tong)過VHDL應用(yong)于(yu)醫(yi)學,以(yi)對脈搏的測(ce)量(liang)為(wei)例,以(yi)實(shi)現數(shu)字系統對人體多種(zhong)生(sheng)理(li)活動及生(sheng)理(li)反應的直觀精(jing)確測(ce)量(liang)。

1 實驗設計

1.1 EDA技術在醫學教(jiao)學中脈搏測量中的(de)應用探討

在(zai)(zai)臨(lin)床診斷,護(hu)理學等中介紹脈(mo)(mo)(mo)(mo)搏(bo)的(de)(de)(de)測量(liang)時認為脈(mo)(mo)(mo)(mo)搏(bo)很容易(yi)在(zai)(zai)手腕掌面外側跳(tiao)動(dong)(dong)(dong)(dong)的(de)(de)(de)橈動(dong)(dong)(dong)(dong)脈(mo)(mo)(mo)(mo)上摸到,也可(ke)測量(liang)頸部(bu)的(de)(de)(de)頸動(dong)(dong)(dong)(dong)脈(mo)(mo)(mo)(mo)或腹股溝的(de)(de)(de)股動(dong)(dong)(dong)(dong)脈(mo)(mo)(mo)(mo)。其測量(liang)方法(fa)(fa)是(shi)(shi)(shi)病員(yuan)(yuan)手臂放于(yu)舒適(shi)位置,用(yong)食指(zhi),中指(zhi),無(wu)名指(zhi)的(de)(de)(de)指(zhi)腹端按(an)壓(ya)在(zai)(zai)橈動(dong)(dong)(dong)(dong)脈(mo)(mo)(mo)(mo)表面,一(yi)般病員(yuan)(yuan)默數(shu)(shu)半分鐘,將(jiang)所測的(de)(de)(de)脈(mo)(mo)(mo)(mo)率乘以2便是(shi)(shi)(shi)一(yi)分鐘的(de)(de)(de)脈(mo)(mo)(mo)(mo)數(shu)(shu),異常病人(ren)測一(yi)分鐘。成年人(ren)的(de)(de)(de)脈(mo)(mo)(mo)(mo)搏(bo)在(zai)(zai)安靜(jing)狀態下每(mei)分鐘是(shi)(shi)(shi)60~80次。如少(shao)于(yu)60次是(shi)(shi)(shi)心(xin)動(dong)(dong)(dong)(dong)過(guo)緩。但(dan)訓練有素的(de)(de)(de)運動(dong)(dong)(dong)(dong)員(yuan)(yuan),脈(mo)(mo)(mo)(mo)搏(bo)有時也在(zai)(zai)60次以下,這(zhe)正是(shi)(shi)(shi)心(xin)臟健康有力(li)的(de)(de)(de)表現。如超過(guo)100次是(shi)(shi)(shi)心(xin)動(dong)(dong)(dong)(dong)過(guo)速。體(ti)力(li)活動(dong)(dong)(dong)(dong)或情緒激動(dong)(dong)(dong)(dong)時,脈(mo)(mo)(mo)(mo)搏(bo)可(ke)暫(zan)時增(zeng)(zeng)快,發(fa)燒時脈(mo)(mo)(mo)(mo)搏(bo)也增(zeng)(zeng)快。一(yi)般是(shi)(shi)(shi)體(ti)溫每(mei)升高1 ℃,脈(mo)(mo)(mo)(mo)搏(bo)就(jiu)增(zeng)(zeng)加10~20次。此法(fa)(fa)只能粗略(lve)計(ji)(ji)算脈(mo)(mo)(mo)(mo)搏(bo)跳(tiao)動(dong)(dong)(dong)(dong),如將(jiang)VHDL語言應用(yong)其中,便可(ke)以通過(guo)EDA實驗(yan)箱中的(de)(de)(de)七段數(shu)(shu)碼(ma)管直觀準(zhun)確地看到一(yi)分鐘的(de)(de)(de)計(ji)(ji)數(shu)(shu)結果(guo),并與之(zhi)前(qian)通過(guo)醫(yi)學教材講授方法(fa)(fa)測出結果(guo)相比對,從而判(pan)定(ding)測量(liang)的(de)(de)(de)正確與否。

1.2 設計思路

將脈(mo)搏信(xin)(xin)(xin)號(hao)通過(guo)脈(mo)搏傳感器(qi)(qi)采集(ji)進入計(ji)算(suan)機,而(er)后(hou)作為輸入信(xin)(xin)(xin)號(hao),而(er)此信(xin)(xin)(xin)號(hao)作為脈(mo)沖信(xin)(xin)(xin)號(hao),即如(ru)時鐘(zhong)信(xin)(xin)(xin)號(hao)一(yi)般,當輸入時計(ji)數(shu)(shu)(shu)器(qi)(qi)開始計(ji)數(shu)(shu)(shu),如(ru)下面設(she)計(ji)一(yi)個十進制計(ji)數(shu)(shu)(shu)器(qi)(qi)的VHDL描述(shu)便(bian)可用來對所采集(ji)的脈(mo)搏信(xin)(xin)(xin)號(hao)計(ji)數(shu)(shu)(shu)\。

1.3 VHDL設(she)計流(liu)程(cheng)

VHDL流程(cheng)設計\如圖1所示。

圖1 VHDL流(liu)程設計圖

現在,計算機輔助(zhu)工(gong)程(cheng)軟(ruan)件的(de)(de)供應(ying)商已把日益(yi)通用的(de)(de)硬件描述語言(yan)VHDL作(zuo)為其(qi)CAD 或EDA 軟(ruan)件輸(shu)入與(yu)輸(shu)出的(de)(de)標準, 其(qi)中ALTEKA公司提供的(de)(de)綜合(he)工(gong)具Max+Plus Ⅱ,具有全(quan)面的(de)(de)邏輯設計能力, 從編(bian)輯、綜合(he)、布線到仿真、下載都(dou)十分方便。

2 設計方案與結果分(fen)析

VHDL 語言(yan)設計(ji)十進制(zhi)計(ji)數器的源程序\:

library ieee;

use ieee.stdlogic1164.all;

use ieee.stdlogicunsigned.all;

entity jsq is

port(cp,rst:in stdlogic;

cp1:out stdlogic;

q:out stdlogicvector(3 downto 0));

end jsq;

architecture behave of jsq is

begin

process(cp,rst)

variable q1:stdlogicvector(3 downto 0);

begin

if rst=′1′ then q1:=(others=>′0′);

elsif cp′event and cp=′1′then

if q1

else q1:=(others=>′0′);

end if;

q

end if;

if q1="1001" then cp1

else cp1

end if;

end process;

end behave;

在(zai)程序輸入完成后, 經Max+Plus Ⅱ中的Compiler編譯通(tong)過后,可用Stimulator進(jin)行(xing)仿真,查看仿真結果,如(ru)圖(tu)2所示。

圖2 經Max+Plus Ⅱ編譯,通過Stimulator得到(dao)的仿真(zhen)結果

也可以加(jia)入七段顯示譯碼(ma)(ma)器的(de)VHDL設計(ji)來通過實驗箱的(de)七段數碼(ma)(ma)管掃描顯示計(ji)數結果\仿真(zhen)結果如圖3所示。

圖(tu)3 譯碼器的(de)仿真(zhen)結果

代碼如下:

library IEEE;

use ieee.stdlogic1164.all;

use ieee.stdlogicunsigned.all;

entity huay is

port( q1:in stdlogicvector(3 downto 0);

light:OUT stdlogicvector(6 downto 0));

end huay;

architecture behave of huay is

begin

process(q1)

begin

case q1 is

when"0000"=>light

when"0001"=>light

when"0010"=>light

when"0011"=>light

when"0100"=>light

when"0101"=>light

when"0111"=>light

when"1000"=>light

when"1001"=>light

when others=>light

end case;

end process;

end behave;

最終實(shi)現的頂層文(wen)件原理圖如圖4所示。

圖4 頂層文件原(yuan)理(li)圖

頂層文件(jian)設計如圖4所示,通過(guo)該文件(jian)可以實(shi)現譯(yi)碼,下載到(dao)EDA實(shi)驗(yan)箱時,便可于(yu)實(shi)驗(yan)箱的數碼管上讀出相(xiang)應(ying)的脈搏數,如圖5所示。

圖(tu)5 通過數碼(ma)管(guan)得到的最終仿真圖(tu)

VHDL語(yu)言與醫(yi)學內(nei)容的(de)結合,除(chu)了(le)應(ying)用(yong)(yong)于(yu)脈搏的(de)測量,還可(ke)應(ying)用(yong)(yong)于(yu)心跳及呼吸等(deng)的(de)測量,以及受人體(ti)對聲、光刺激后的(de)生理(li)反應(ying)時(shi)間的(de)測定\等(deng)。電(dian)子(zi)自(zi)動(dong)化設計(ji)(EDA)及其相關技術,在醫(yi)學領域具有(you)巨大的(de)應(ying)用(yong)(yong)前景,有(you)待進一步的(de)研究和發掘。

3 結 語

VHDL是一種(zhong)隨著(zhu)電(dian)子技術的(de)(de)(de)不(bu)斷(duan)發(fa)展(zhan),為滿足電(dian)路系統(tong)化(hua)和高度集成(cheng)化(hua)要(yao)求而發(fa)展(zhan)起來(lai)的(de)(de)(de)一種(zhong)新型硬件描述(shu)語言。VHDL具有(you)廣泛的(de)(de)(de)應(ying)用(yong)范圍,在(zai)芯片及(ji)電(dian)路系統(tong)設計等方面發(fa)揮著(zhu)日益重要(yao)的(de)(de)(de)作(zuo)用(yong)\。以(yi)VHDL為核心的(de)(de)(de)EDA技術應(ying)用(yong)于醫(yi)學(xue)(xue),能直觀(guan)準確(que)的(de)(de)(de)測量人體的(de)(de)(de)脈搏心跳,呼(hu)吸等生理活動(dong),以(yi)及(ji)受到外(wai)界刺激的(de)(de)(de)生理反(fan)應(ying)等,在(zai)醫(yi)學(xue)(xue)領域存在(zai)廣闊的(de)(de)(de)發(fa)展(zhan)空間,隨著(zhu)進一步的(de)(de)(de)探索和實踐,必將(jiang)對醫(yi)學(xue)(xue)的(de)(de)(de)發(fa)展(zhan)起到極大的(de)(de)(de)推動(dong)作(zuo)用(yong)。

參考文獻

[1]陳耀和. VHDL語言設計技術(shu)[M]. 北京: 電(dian)子(zi)工(gong)業(ye)出(chu)版社, 2004.

[2]汪國強(qiang). EDA技術及應用[M]. 北京: 電子工業出(chu)版社, 2006.

[3]潘澤強(qiang). VHDL語(yu)言在(zai)數(shu)字(zi)電路(lu)教學中的應用(yong)[J]. 科技資訊(xun), 2008(35): 15.

[4]張順興. 數字電路與系(xi)統設計[M]. 南京: 東(dong)南大學出(chu)版(ban)社, 2004.

[5]余孟嘗(chang). 數(shu)字電子技術簡明教程(cheng)[M]. 3版. 北京: 高等教育出版社, 2006.

[6]朱正(zheng)偉. EDA技(ji)術(shu)及(ji)應(ying)用[M]. 北京: 清華(hua)大學出版社, 2005.

[7]周政新. 電(dian)子設(she)計自動化實踐與訓練[M]. 北京(jing): 中國民航(hang)出版(ban)社, 1998.

[8]江曉安. 數字(zi)電子技(ji)術[M]. 西安: 西安電子科技(ji)大學出版社, 2002.

篇4

【關鍵詞(ci)】Silverlight WCF CAD 分布線

在水電(dian)、建筑(zhu)、土木施(shi)工、環(huan)境藝術設(she)計(ji)、工業(ye)設(she)計(ji)、服(fu)裝設(she)計(ji)等各行各業(ye)從設(she)計(ji)、實施(shi)、維護(hu)整個(ge)過程(cheng)中會(hui)(hui)產生大量的(de)CAD圖形文件,依(yi)靠傳統的(de)文件存(cun)儲,會(hui)(hui)產生如下問題(ti):

(1)CAD圖形文件存(cun)儲(chu)到一定級別(bie)的數量,查詢特別(bie)困(kun)難。

(2)CAD圖形文件無法直接在Web進行查詢和(he)無失真的展(zhan)示、放大、縮小(xiao)。

(3)工程用戶無法在(zai)CAD圖形文件上(shang)直(zhi)接結合實時數據,進行動態展示和交(jiao)互。

為了解決工程上的實際問題,通過對Silverlight(銀光)技術深入(ru)研究,結合CAD、Expression Design等軟(ruan)件能(neng)較好的實現CAD圖形文件在Web端(duan)進行無失真(zhen)的展示和交(jiao)互,同時跨(kua)平臺、跨(kua)瀏(liu)覽器,完(wan)全(quan)滿足用(yong)戶(hu)需(xu)求(qiu)。

1 系統開發環境

本文(wen)是Silverlight富客戶(hu)端(duan)技術與(yu)(yu)WCF服(fu)務技術結合應用(yong)于CAD圖形(xing)文(wen)件(jian)展示與(yu)(yu)交互的嘗試(shi),使用(yong)C#語言結合XAML描(miao)述模(mo)式開(kai)發(fa)。系統采用(yong)Expression Blend 4.0 作為Web 前端(duan)開(kai)發(fa)工(gong)(gong)具,通(tong)過CAD2010和Expression Design 4.0處(chu)理CAD圖形(xing)原文(wen)件(jian),Visual Studio 2010 作為后臺開(kai)發(fa)工(gong)(gong)具。

Visual Studio 是微軟推行(xing)的一套完(wan)整的開發工具,用于(yu)完(wan)成(cheng)桌面應(ying)用程序(xu)或Web 應(ying)用程序(xu)等的設計、開發和部署,能夠進行(xing)工具共享,創(chuang)建基(ji)于(yu)混合語言(yan)的解決方(fang)案。

Expression Blend 是在 Silverlight 和 .NET 平臺上(shang)進(jin)行互動設計的(de)工具。它(ta)使得(de)用戶(hu)體驗(yan)概(gai)念可能在從最初的(de)原型到最終的(de)實現中(zhong)都得(de)到忠(zhong)實的(de)w現。

Expression Design 是一(yi)個專業的(de)設計工具。它(ta)可以創建圖形資源(yuan),并(bing)在 Expression Studio:Expression Blend 和(he) Expression Web 中創建的(de)應用(yong)程序中使用(yong)。

2 CAD圖(tu)形的展示與實(shi)現

2.1 圖形的(de)處(chu)理

通過CAD2010打開CAD圖形原(yuan)始文(wen)件(*.dwg),點擊(ji)文(wen)件-》輸(shu)出(chu),保存為(wei)圖元(yuan)文(wen)件(*.wmf)。該文(wen)件為(wei)矢量(liang)文(wen)件,放(fang)大和縮(suo)小(xiao)不(bu)變形、不(bu)失(shi)真。

打(da)開Expression Design 4.0軟(ruan)件(jian),點擊文(wen)件(jian)-》打(da)開,查找上一步(bu)處(chu)理(li)過(guo)的圖元文(wen)件(jian)(*.wmf),選中打(da)開。處(chu)理(li)過(guo)的CAD圖形文(wen)件(jian)就顯示(shi)在Expression Design畫(hua)布上。點擊文(wen)件(jian)-》導出,為XAML文(wen)件(jian),即可(ke)在Silverlight和WPF平臺上展示(shi),如圖1。

可以(yi)將處理過的CAD圖形文(wen)件以(yi)及CAD圖形文(wen)件的一些(xie)索引(yin)信(xin)息(xi)放入(ru)數據庫,方便CAD圖形的管(guan)理和索引(yin)工(gong)作,能快速(su)實(shi)現CAD圖形的查詢和其(qi)它(ta)信(xin)息(xi)系(xi)統的使用(yong)。

2.2 后臺服務

Silverlight所有(you)后(hou)臺(tai)(tai)(tai)服(fu)務通過WCF服(fu)務完成,Silverlight前臺(tai)(tai)(tai)獲取(qu)用(yong)戶請求,傳(chuan)遞給(gei)WCF服(fu)務,WCF服(fu)務通過后(hou)臺(tai)(tai)(tai)處理(li)后(hou),異(yi)步返回(hui)給(gei)Silverlight前臺(tai)(tai)(tai)用(yong)戶。

WCF服務包括(kuo)CAD圖形(xing)文(wen)(wen)件(jian)信(xin)(xin)息管理(li)和下載(zai)、用戶通過(guo)關鍵字查詢CAD圖形(xing)文(wen)(wen)件(jian)、查詢到(dao)的CAD圖形(xing)文(wen)(wen)件(jian)下載(zai)到(dao)Silverlight前臺。同時WCF服務還提供CAD文(wen)(wen)件(jian)熱點(dian)坐標信(xin)(xin)息、以及用戶與(yu)CAD圖形(xing)文(wen)(wen)件(jian)交互信(xin)(xin)息、熱點(dian)實測數據(ju)、熱點(dian)歷(li)史數據(ju)等等。

2.3 Silverlight前端處理(li)

Silverlight通過(guo)后臺服(fu)務下載到所需CAD圖(tu)形XAML文件,放入畫布上。通過(guo)Silverlight提供的放大、縮小、平移等功能,方便用戶對CAD圖(tu)形進(jin)行各(ge)種操作。

Silverlight具有豐富的繪圖(tu)功能,可(ke)以(yi)以(yi)CAD圖(tu)形文件(jian)為地圖(tu),根據各種業務需求(qiu),在CAD圖(tu)形文件(jian)上(shang)(shang)繪制各種圖(tu)形,同時結(jie)合后(hou)臺服務,查詢(xun)各種信(xin)息(xi),在CAD圖(tu)形文件(jian)上(shang)(shang)進行展示。

Silverlight還(huan)具有(you)豐富的動畫(hua)功能(neng),可(ke)以結合后(hou)臺服務,查詢CAD圖形(xing)文(wen)件上熱點(dian)實(shi)測(ce)、歷史數據,在CAD圖形(xing)上繪(hui)制各(ge)種生(sheng)動、形(xing)象(xiang)、直(zhi)觀(guan)的動畫(hua)。

3 應用

在大壩設計、施工、維護(hu)中(zhong)(zhong)會產生(sheng)了大量(liang)的CAD圖形(xing)文件,并且在這些CAD圖形(xing)文件中(zhong)(zhong)會標注(zhu)大量(liang)的監(jian)測(ce)儀(yi)器(qi)。通過(guo)Silverlight技術結合WCF服務,實現(xian)了CAD圖形(xing)文件在Web端快速查詢、展示和日常操作,以及基于CAD圖形(xing)文件為(wei)底(di)圖的分布線繪制(zhi)。

3.1 監測布置圖

監測布置圖(tu)實現了大量(liang)CAD圖(tu)形文件查詢、展示(shi)、放大、縮小(xiao)、移動等功能(neng),提高了工程用戶的工作效率(lv),節省了大量(liang)時間,如圖(tu)2。

3.2 分布線

大壩日常維護人員(yuan)迫(po)切希望能(neng)(neng)在(zai)(zai)CAD圖形文件直接看到監測(ce)儀器實測(ce)數據(ju)(ju),同時(shi)可以查詢一段時(shi)間(jian)各個測(ce)點(dian)(dian)測(ce)值,并且通過動畫動態(tai)展示每個測(ce)點(dian)(dian)測(ce)值變(bian)化趨勢,從而(er)判斷每個測(ce)點(dian)(dian)變(bian)化情(qing)況,為后期采取相應措施提供依據(ju)(ju)。Silverlight提供了(le)豐富的動畫功能(neng)(neng),能(neng)(neng)快速實現用戶(hu)(hu)需求,通過WCF服務(wu)查詢各測(ce)點(dian)(dian)測(ce)值,供Silverlight前(qian)端(duan)調用,為用戶(hu)(hu)在(zai)(zai)前(qian)端(duan)提供豐富的交互體驗,如圖3。

4 結語

本文研究了(le)基(ji)于(yu)Silverlight技術下(xia)的CAD圖(tu)形文件(jian)(jian)應用開(kai)發(fa),并在此基(ji)礎上實現(xian)了(le)CAD圖(tu)形文件(jian)(jian)在Web端的查(cha)詢、放大、縮小、移動等操(cao)作(zuo),同時基(ji)于(yu)CAD文件(jian)(jian)為底圖(tu)開(kai)發(fa)了(le)分布線動畫(hua)功能,實現(xian)了(le)用戶(hu)與CAD圖(tu)形間交互,滿(man)足了(le)用戶(hu)對CAD圖(tu)形的各(ge)種需求,極大的提高了(le)用戶(hu)工作(zuo)效率和使用體驗。

同時(shi)基于(yu)矢量圖形在(zai)Silverlight的展示和(he)動(dong)畫功(gong)能技術研究,可以結合各(ge)行(xing)(xing)(xing)各(ge)業、各(ge)種需求開(kai)發出豐(feng)富多(duo)彩的富客戶端插件(jian),在(zai)各(ge)行(xing)(xing)(xing)各(ge)業、各(ge)個平臺(tai)進行(xing)(xing)(xing)應用。

參考文獻

[1]魏永超. Silverlight 3.0開發詳解與(yu)最佳(jia)實踐[M].北京(jing):清華大學出版社,2003

[2](美)西爾伯沙茨等(deng)著(zhu),楊冬青等(deng)譯.數據庫系(xi)統概念[M].北京(jing):機(ji)械工業出版社,2005.

篇5

利用(yong)(yong)(yong)硬件描述語言VHDL,數(shu)字(zi)電路系(xi)(xi)統可從系(xi)(xi)統行(xing)為(wei)級、寄存器傳輸級和(he)(he)門(men)級三個不(bu)同層(ceng)(ceng)次(ci)進(jin)(jin)行(xing)設(she)計,即上層(ceng)(ceng)到下層(ceng)(ceng)(從抽象到具體)逐層(ceng)(ceng)描述自己的(de)(de)設(she)計思想(xiang),用(yong)(yong)(yong)一系(xi)(xi)列分層(ceng)(ceng)次(ci)的(de)(de)模(mo)塊(kuai)來表(biao)示極其(qi)復(fu)雜的(de)(de)數(shu)字(zi)系(xi)(xi)統。然后,利用(yong)(yong)(yong)EDA工具,逐層(ceng)(ceng)進(jin)(jin)行(xing)仿真驗(yan)證,再把(ba)其(qi)中需(xu)要變為(wei)實(shi)際電路的(de)(de)模(mo)塊(kuai)組合,經過自動綜合工具轉(zhuan)換到門(men)級電路網(wang)表(biao)。接(jie)著,再用(yong)(yong)(yong)專用(yong)(yong)(yong)集(ji)成電路(ASIC)或現場(chang)可編(bian)程門(men)陣列(FPGA)自動布局布線工具,把(ba)網(wang)表(biao)轉(zhuan)換為(wei)要實(shi)現的(de)(de)具體電路布線結構。目前,這種高層(ceng)(ceng)次(ci)設(she)計的(de)(de)方法已被(bei)廣泛采用(yong)(yong)(yong)。據統計,目前在美國硅谷約(yue)有90%以上的(de)(de)ASIC和(he)(he)FPGA采用(yong)(yong)(yong)硬件描述語言進(jin)(jin)行(xing)設(she)計。VHDL的(de)(de)應用(yong)(yong)(yong)已成為(wei)當今以及(ji)未來EDA解決方案的(de)(de)核心,而且是復(fu)雜數(shu)字(zi)系(xi)(xi)統設(she)計的(de)(de)核心。

一、VHDL的特點

VHDL是一(yi)種全方位的(de)硬件(jian)描述(shu)(shu)語言,具有極強的(de)描述(shu)(shu)能力(li),能支持系統行(xing)為級(ji)、寄存器傳輸級(ji)和邏(luo)輯門(men)級(ji)三個(ge)不同層次的(de)設計,支持結構(gou)、數據(ju)流、行(xing)為三種描述(shu)(shu)形式的(de)混合描述(shu)(shu),覆蓋面廣(guang),抽象能力(li)強,因此在(zai)實際應用中越(yue)來越(yue)廣(guang)泛。VHDL的(de)主要特(te)點有:

1.功能(neng)強大。與其(qi)他的硬件(jian)描(miao)(miao)述(shu)語言(yan)相比,VHDL具有更強的描(miao)(miao)述(shu)能(neng)力和(he)語言(yan)結構,可以用(yong)簡潔的源代碼描(miao)(miao)述(shu)復雜的邏輯控制。它(ta)具有多(duo)層(ceng)次的設計描(miao)(miao)述(shu)功能(neng),層(ceng)層(ceng)細(xi)化,最后直(zhi)接(jie)生成(cheng)電(dian)路級描(miao)(miao)述(shu)。

2.系(xi)統(tong)硬件描述能(neng)力強。VHDL具有豐富的(de)(de)數據類(lei)型,豐富的(de)(de)仿(fang)真(zhen)(zhen)語句和庫函數,在任何大系(xi)統(tong)的(de)(de)設計(ji)早期就(jiu)能(neng)查(cha)驗設計(ji)系(xi)統(tong)功(gong)能(neng)的(de)(de)可行性,隨時可對設計(ji)進行仿(fang)真(zhen)(zhen)模擬。

3.設(she)計與工藝無(wu)關(guan)。用VHDL進行(xing)硬(ying)件(jian)(jian)電路設(she)計時,并不(bu)需要首先考慮選(xuan)擇完成設(she)計的(de)器(qi)件(jian)(jian)。VHDL的(de)硬(ying)件(jian)(jian)描述與具(ju)體的(de)工藝和硬(ying)件(jian)(jian)結(jie)構無(wu)關(guan),因此VHDL設(she)計程序(xu)的(de)硬(ying)件(jian)(jian)實(shi)現目標器(qi)件(jian)(jian)有廣闊的(de)選(xuan)擇范(fan)圍。

4.設(she)計方法(fa)靈活,易于修改(gai)。VHDL語言(yan)標準、規范,大多數(shu)EDA工具都支持VHDL。在硬(ying)件設(she)計過程(cheng)中,用VHDL語言(yan)編寫的源程(cheng)序便(bian)于管理,VHDL易讀(du)、結構模塊化,方便(bian)修改(gai)、交流(liu)和保存。

5.支持廣泛,移植能力強。VHDL是一個標準語言(yan),在電子設計領域,為(wei)眾多的EDA工(gong)具支持,因此移植能力好。

二、VHDL的結構和設計方(fang)法

1.VHDL的基本(ben)結構

VHDL的結構模型包括五個部分(fen):實體、結構體、配置、程序包、庫(ku)(ku)。前四(si)種可分(fen)別(bie)編(bian)譯,編(bian)譯后放入庫(ku)(ku)中,以備上層(ceng)模塊(kuai)調用。

(1)實(shi)體定義了器件的輸(shu)入輸(shu)出端(duan)口,設計實(shi)體是VHDL的基本單(dan)元(yuan),可以表示整個(ge)系統、一(yi)塊電路板、一(yi)個(ge)芯片或一(yi)個(ge)門電路。

(2)結(jie)構體定義實體的(de)實現,即描述系(xi)統(tong)內部的(de)結(jie)構和行(xing)為(wei)。

(3)配置用于從庫中選取所需單元(yuan)來組成系統設計的(de)不(bu)同版本,為(wei)實體選定某個特定的(de)結構體。

(4)程序包存(cun)放各(ge)設計(ji)模(mo)塊都能共享的數據類(lei)型、常數和子(zi)程序等(deng)。

(5)庫用來(lai)存放編譯結果(guo),包(bao)括實體(ti)、結構體(ti)、配置、程序(xu)包(bao)。

2.VHDL的設(she)計方法

VHDL將(jiang)(jiang)層次化(hua)的(de)(de)(de)(de)設(she)(she)(she)計(ji)(ji)(ji)(ji)方(fang)(fang)(fang)法引入到硬(ying)件(jian)描述中(zhong),自上向下(xia)的(de)(de)(de)(de)設(she)(she)(she)計(ji)(ji)(ji)(ji)是(shi)從(cong)系統(tong)級(ji)開始(shi),將(jiang)(jiang)整個(ge)系統(tong)劃分為(wei)子(zi)模(mo)塊(kuai),然后(hou)對這(zhe)些子(zi)模(mo)塊(kuai)再進行進一步(bu)的(de)(de)(de)(de)劃分,直到可(ke)以直接(jie)用庫中(zhong)的(de)(de)(de)(de)元件(jian)來(lai)實(shi)現為(wei)止。在設(she)(she)(she)計(ji)(ji)(ji)(ji)方(fang)(fang)(fang)法上,將(jiang)(jiang)傳統(tong)的(de)(de)(de)(de)“電(dian)(dian)(dian)路(lu)(lu)設(she)(she)(she)計(ji)(ji)(ji)(ji)硬(ying)件(jian)搭試(shi)調試(shi)焊(han)接(jie)”模(mo)式轉變為(wei)“功能設(she)(she)(she)計(ji)(ji)(ji)(ji)軟件(jian)模(mo)擬仿(fang)真下(xia)載”方(fang)(fang)(fang)式。數字系統(tong)的(de)(de)(de)(de)設(she)(she)(she)計(ji)(ji)(ji)(ji)采用自頂(ding)(ding)向下(xia)的(de)(de)(de)(de)方(fang)(fang)(fang)法,最(zui)頂(ding)(ding)層電(dian)(dian)(dian)路(lu)(lu)設(she)(she)(she)計(ji)(ji)(ji)(ji)是(shi)指系統(tong)的(de)(de)(de)(de)整體(ti)要求,最(zui)下(xia)層是(shi)指具(ju)體(ti)邏輯電(dian)(dian)(dian)路(lu)(lu)的(de)(de)(de)(de)實(shi)現。一般的(de)(de)(de)(de)電(dian)(dian)(dian)子(zi)系統(tong)設(she)(she)(she)計(ji)(ji)(ji)(ji)可(ke)分為(wei)兩個(ge)階段,第一階段是(shi)系統(tong)的(de)(de)(de)(de)邏輯設(she)(she)(she)計(ji)(ji)(ji)(ji)和仿(fang)真,得出的(de)(de)(de)(de)是(shi)門(men)級(ji)電(dian)(dian)(dian)路(lu)(lu)的(de)(de)(de)(de)原理(li)圖(tu)或網表;第二階段設(she)(she)(she)計(ji)(ji)(ji)(ji)如(ru)印刷電(dian)(dian)(dian)路(lu)(lu)板的(de)(de)(de)(de)布局布線,集成電(dian)(dian)(dian)路(lu)(lu)的(de)(de)(de)(de)版(ban)圖(tu)設(she)(she)(she)計(ji)(ji)(ji)(ji)等,得出的(de)(de)(de)(de)是(shi)最(zui)終的(de)(de)(de)(de)物理(li)設(she)(she)(she)計(ji)(ji)(ji)(ji)。

三、VHDL的(de)應用實例

筆者以Max+plusⅡ軟件作為平臺(tai)的一個空調機(ji)控制器(qi)的設(she)(she)計為例,談談VHDL在(zai)數字(zi)電(dian)路設(she)(she)計中的具(ju)體應用。

實現一個控制器,常用(yong)有(you)限狀態(tai)機方法(fa)實現。傳統的設(she)計方法(fa)主(zhu)要(yao)包括(kuo)5個過程(cheng):確定(ding)原(yuan)始狀態(tai)圖,狀態(tai)簡化,狀態(tai)編碼,觸發器類(lei)型的選擇及控制邏輯方程(cheng)和輸出(chu)方程(cheng)的確定(ding),畫出(chu)電路原(yuan)理圖。采用(yong)這種方法(fa)設(she)計復雜狀態(tai)機將會十分繁雜。

利用VHDL來設計(ji)(ji)有限(xian)狀(zhuang)態機(ji),可(ke)以(yi)充分(fen)發(fa)揮硬(ying)件描(miao)述(shu)語(yu)言的(de)(de)(de)抽(chou)象能(neng)(neng)力,進(jin)行(xing)功能(neng)(neng)描(miao)述(shu),而具體的(de)(de)(de)邏輯化簡和(he)電(dian)路設計(ji)(ji)可(ke)由計(ji)(ji)算(suan)機(ji)自(zi)動(dong)完成,從而提(ti)高了設計(ji)(ji)的(de)(de)(de)工作效(xiao)率,并且條理清晰,修改起來也更方便,所(suo)以(yi)很適合(he)復雜時序電(dian)路的(de)(de)(de)設計(ji)(ji)。應(ying)用VHDL設計(ji)(ji)狀(zhuang)態機(ji)的(de)(de)(de)步驟如下:第(di)一,根據系統要求確定狀(zhuang)態數量、狀(zhuang)態轉移(yi)(yi)的(de)(de)(de)條件和(he)各狀(zhuang)態輸(shu)出信(xin)號的(de)(de)(de)賦(fu)值,并畫(hua)出狀(zhuang)態轉移(yi)(yi)圖;第(di)二(er),按照(zhao)狀(zhuang)態轉移(yi)(yi)圖編(bian)寫有限(xian)狀(zhuang)態機(ji)的(de)(de)(de)VHDL程序;第(di)三,利用EDA工具進(jin)行(xing)功能(neng)(neng)仿真驗證;第(di)四,編(bian)程下載。

空(kong)調機(ji)控(kong)制器的(de)(de)設計。它的(de)(de)兩個輸入(ru)來(lai)自溫度傳感器,用于監測室(shi)內溫度。如果(guo)室(shi)內溫度正(zheng)常(chang),則temp-high和temp-low均為(wei)‘0’;如果(guo)室(shi)內溫度過高,則temp-high為(wei)‘1’,temp-low為(wei)‘0’;如果(guo)室(shi)內溫度過低,則temp-high為(wei)‘0’,temp-low為(wei)‘1’。根據temp-high和temp-low的(de)(de)值來(lai)決定當(dang)前的(de)(de)工作狀態,并給出相應的(de)(de)制冷和制熱(re)輸出信(xin)號。

按(an)照(zhao)繪制好的(de)狀(zhuang)態(tai)轉移圖編寫VHDL程(cheng)序,編程(cheng)中(zhong)采用(yong)case語句來描述狀(zhuang)態(tai)的(de)改變,它具有直觀(guan)、條理(li)清晰及(ji)易(yi)于修改等特點。也可以(yi)采用(yong)不同進程(cheng)來實現(xian)狀(zhuang)態(tai)的(de)改變,所以(yi)編程(cheng)方法(fa)多種。

功能仿(fang)真。利(li)用Max+plusⅡ軟(ruan)件工(gong)具(ju)對所編(bian)(bian)程序(xu)進行編(bian)(bian)譯、仿(fang)真。當(dang)temp-low為(wei)“1”,即溫度(du)過(guo)低,則(ze)heat為(wei)“1”(制(zhi)熱);當(dang)temp-high為(wei)“1”,即溫度(du)過(guo)高,則(ze)cool為(wei)“1”(制(zhi)冷)。經綜合后(hou)的仿(fang)真分析表明,該(gai)方案(an)是合理(li)可行的。通過(guo)仿(fang)真后(hou),即可編(bian)(bian)程下載。

四、使(shi)用VHDL應(ying)注意的一些(xie)問題

由于(yu)VHDL語言是描述硬(ying)(ying)件行(xing)為(wei)的(de)(de),相對其它開發(fa)軟件的(de)(de)高級(ji)語言而(er)言,在編(bian)程過程中有一些(xie)特殊性,所以經(jing)常會(hui)出現語法(fa)(fa)正確但(dan)無(wu)法(fa)(fa)綜合的(de)(de)問題(ti)。其原因多半因為(wei)編(bian)程者對硬(ying)(ying)件內部(bu)的(de)(de)工作原理了解(jie)不夠,寫出的(de)(de)代碼硬(ying)(ying)件無(wu)法(fa)(fa)實現。在此總結出一些(xie)應注(zhu)意(yi)的(de)(de)問題(ti):

篇6

1.1設計背景

隨著出(chu)租(zu)車行(xing)業(ye)(ye)的(de)(de)(de)發(fa)展(zhan)(zhan),對出(chu)租(zu)車計(ji)費器的(de)(de)(de)要求也(ye)(ye)越(yue)來越(yue)高(gao)。二十世紀后半期,隨著集成(cheng)(cheng)電路(lu)和(he)計(ji)算機技(ji)術(shu)(shu)的(de)(de)(de)飛(fei)速發(fa)展(zhan)(zhan),數字系統(tong)也(ye)(ye)得到了(le)飛(fei)速發(fa)展(zhan)(zhan),其(qi)實(shi)現方法經歷了(le)由分立(li)元(yuan)件、SSI、MSI到LSI、VLSI以(yi)及UVLSI的(de)(de)(de)過(guo)程。同時為了(le)提高(gao)系統(tong)的(de)(de)(de)可(ke)(ke)靠性(xing)與通用(yong)性(xing),微處理(li)器和(he)專業(ye)(ye)集成(cheng)(cheng)電路(lu)(ASIC)逐漸取代了(le)通用(yong)全(quan)硬件LSI電路(lu),而ASIC以(yi)其(qi)體積小、重量(liang)輕、功(gong)耗低、速度快、成(cheng)(cheng)本(ben)低、保密性(xing)好而脫(tuo)穎而出(chu)。目前,業(ye)(ye)界大(da)量(liang)可(ke)(ke)編程邏輯器件(PLD),尤其(qi)是現場可(ke)(ke)編程邏輯器件(FPLD)被大(da)量(liang)地應用(yong)在ASIC的(de)(de)(de)制作(zuo)當(dang)中。在可(ke)(ke)編程集成(cheng)(cheng)電路(lu)的(de)(de)(de)開發(fa)過(guo)程中,以(yi)計(ji)算機為工作(zuo)平臺(tai),融合(he)了(le)應用(yong)電子(zi)技(ji)術(shu)(shu)、計(ji)算機技(ji)術(shu)(shu)、智能(neng)化(hua)技(ji)術(shu)(shu)最新成(cheng)(cheng)果的(de)(de)(de)電子(zi)設(she)(she)(she)計(ji)自動化(hua)(EDA)技(ji)術(shu)(shu)主(zhu)要能(neng)輔助進(jin)行(xing)三方面的(de)(de)(de)設(she)(she)(she)計(ji)工作(zuo):IC設(she)(she)(she)計(ji),電子(zi)電路(lu)設(she)(she)(she)計(ji)以(yi)及PCB設(she)(she)(she)計(ji)

理想的(de)(de)(de)可編(bian)程邏輯開發系(xi)(xi)統能(neng)(neng)符(fu)合大量的(de)(de)(de)設計(ji)(ji)要求(qiu):它(ta)能(neng)(neng)夠支持不同結構的(de)(de)(de)器(qi)件,在(zai)多種(zhong)平臺運(yun)行,提供易于使用(yong)的(de)(de)(de)界(jie)面,并且(qie)有(you)廣泛的(de)(de)(de)特征。此外,一個設計(ji)(ji)系(xi)(xi)統應該能(neng)(neng)給設計(ji)(ji)師提供充分自由的(de)(de)(de)設計(ji)(ji)輸入(ru)方法和(he)設計(ji)(ji)工(gong)具選擇。Altered公司(si)開發的(de)(de)(de)MAX+PLUSⅡ開發系(xi)(xi)統能(neng)(neng)充分滿足(zu)可編(bian)程邏輯設計(ji)(ji)所有(you)要求(qiu)。

MAX+PLUSⅡ設計環境所提供的靈活(huo)性(xing)和高效性(xing)是無可比擬(ni)的。其(qi)豐富的圖形界面,輔之(zhi)以完整的、可及(ji)時訪(fang)問(wen)的在線文檔,使設計人員能(neng)夠輕松、愉快地(di)掌(zhang)握和使用MAX+PLUSⅡ軟(ruan)件。

編(bian)程器(qi)是一(yi)種專門用于對可(ke)編(bian)程器(qi)(如EPROM,EEPROM,GAL,CPLD,PAL等)進行編(bian)程的專業設備

PLD器(qi)(qi)件(jian)(jian)(jian)(jian)的(de)(de)(de)(de)邏(luo)(luo)輯(ji)功(gong)能(neng)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)一(yi)般分為原理圖(tu)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)和硬(ying)(ying)件(jian)(jian)(jian)(jian)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)語(yu)(yu)言描(miao)(miao)(miao)(miao)(miao)述(shu)(shu),原理圖(tu)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)是(shi)一(yi)種(zhong)(zhong)直觀簡(jian)便(bian)的(de)(de)(de)(de)方法,它(ta)可以將(jiang)現(xian)有的(de)(de)(de)(de)小規模集成電(dian)路(lu)(lu)實現(xian)的(de)(de)(de)(de)功(gong)能(neng)直接用(yong)PLD器(qi)(qi)件(jian)(jian)(jian)(jian)來(lai)實現(xian),而不必去將(jiang)現(xian)有的(de)(de)(de)(de)電(dian)路(lu)(lu)用(yong)語(yu)(yu)言來(lai)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu),但電(dian)路(lu)(lu)圖(tu)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)方法無法做到簡(jian)練;硬(ying)(ying)件(jian)(jian)(jian)(jian)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)語(yu)(yu)言描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)是(shi)可編程(cheng)器(qi)(qi)件(jian)(jian)(jian)(jian)設(she)計(ji)(ji)(ji)的(de)(de)(de)(de)另一(yi)種(zhong)(zhong)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)方法,語(yu)(yu)言描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)可能(neng)精確(que)和簡(jian)練地(di)表示電(dian)路(lu)(lu)的(de)(de)(de)(de)邏(luo)(luo)輯(ji)功(gong)能(neng),現(xian)在PLD的(de)(de)(de)(de)設(she)計(ji)(ji)(ji)過程(cheng)中廣(guang)泛(fan)使用(yong)。常用(yong)的(de)(de)(de)(de)硬(ying)(ying)件(jian)(jian)(jian)(jian)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)語(yu)(yu)言有ABEL,VHDL語(yu)(yu)言等,其中ABEL是(shi)一(yi)種(zhong)(zhong)簡(jian)單的(de)(de)(de)(de)硬(ying)(ying)件(jian)(jian)(jian)(jian)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)語(yu)(yu)言,其支持布爾(er)方程(cheng)、真值(zhi)表、狀態機(ji)(ji)等邏(luo)(luo)輯(ji)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu),適用(yong)于計(ji)(ji)(ji)數器(qi)(qi)、譯(yi)碼器(qi)(qi)、運(yun)算(suan)電(dian)路(lu)(lu)、比較器(qi)(qi)等邏(luo)(luo)輯(ji)功(gong)能(neng)的(de)(de)(de)(de)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu);VHDL語(yu)(yu)言是(shi)一(yi)種(zhong)(zhong)行為描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)語(yu)(yu)言,其編程(cheng)結構類似于計(ji)(ji)(ji)算(suan)機(ji)(ji)中的(de)(de)(de)(de)C語(yu)(yu)言,在描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)復雜邏(luo)(luo)輯(ji)設(she)計(ji)(ji)(ji)時,非(fei)常簡(jian)潔,具有很(hen)強的(de)(de)(de)(de)邏(luo)(luo)輯(ji)描(miao)(miao)(miao)(miao)(miao)述(shu)(shu)和仿(fang)真能(neng)力(li),是(shi)未來(lai)硬(ying)(ying)件(jian)(jian)(jian)(jian)設(she)計(ji)(ji)(ji)語(yu)(yu)言的(de)(de)(de)(de)主流。

VHDL就是(shi)超(chao)高速集成電路硬件(jian)描(miao)述語言(yan)(yan)。覆蓋面廣,描(miao)述能(neng)力強,是(shi)一個(ge)多層(ceng)次(ci)的(de)(de)(de)(de)硬件(jian)描(miao)述語言(yan)(yan)。在VHDL語言(yan)(yan)中,設(she)(she)計(ji)(ji)(ji)的(de)(de)(de)(de)原始(shi)描(miao)述可以非常簡練(lian),經過層(ceng)層(ceng)加(jia)強后,最終可成為(wei)直(zhi)接付諸生產的(de)(de)(de)(de)電路或版圖參數描(miao)述。具(ju)有良好的(de)(de)(de)(de)可讀(du)性(xing),即(ji)(ji)容(rong)(rong)易(yi)(yi)被計(ji)(ji)(ji)算機接受,也(ye)容(rong)(rong)易(yi)(yi)被讀(du)者理解(jie)。使用(yong)期長,不會因(yin)工(gong)(gong)(gong)藝變化而使描(miao)述過時。因(yin)為(wei)VHDL的(de)(de)(de)(de)硬件(jian)描(miao)述與(yu)工(gong)(gong)(gong)藝無關,當工(gong)(gong)(gong)藝改(gai)變時,只需修改(gai)相應程序中的(de)(de)(de)(de)屬性(xing)參數即(ji)(ji)可。支持(chi)大規模(mo)設(she)(she)計(ji)(ji)(ji)的(de)(de)(de)(de)分解(jie)和已有設(she)(she)計(ji)(ji)(ji)的(de)(de)(de)(de)再(zai)利(li)(li)用(yong)。一個(ge)大規模(mo)的(de)(de)(de)(de)設(she)(she)計(ji)(ji)(ji)不可能(neng)由(you)一個(ge)人獨立完成,必須(xu)由(you)多人共同承擔(dan),VHDL為(wei)設(she)(she)計(ji)(ji)(ji)的(de)(de)(de)(de)分解(jie)和設(she)(she)計(ji)(ji)(ji)的(de)(de)(de)(de)再(zai)利(li)(li)用(yong)提(ti)供(gong)了(le)有力的(de)(de)(de)(de)支持(chi)。

1.2EDA發展概況

電(dian)(dian)子(zi)設(she)計(ji)(ji)(ji)(ji)(ji)技術(shu)(shu)(shu)的核心就是EDA技術(shu)(shu)(shu),EDA是指以計(ji)(ji)(ji)(ji)(ji)算機(ji)(ji)為(wei)(wei)(wei)工(gong)(gong)(gong)作臺(tai),融(rong)合應用(yong)電(dian)(dian)子(zi)技術(shu)(shu)(shu)、計(ji)(ji)(ji)(ji)(ji)算機(ji)(ji)技術(shu)(shu)(shu)、智能(neng)化技術(shu)(shu)(shu)最(zui)新成果而研制成的電(dian)(dian)子(zi)CAD通用(yong)軟件(jian)包(bao),主(zhu)要能(neng)輔(fu)(fu)助(zhu)進行三方面的設(she)計(ji)(ji)(ji)(ji)(ji)工(gong)(gong)(gong)作,即IC設(she)計(ji)(ji)(ji)(ji)(ji)、電(dian)(dian)子(zi)電(dian)(dian)路設(she)計(ji)(ji)(ji)(ji)(ji)和(he)PCB設(she)計(ji)(ji)(ji)(ji)(ji)。EDA技術(shu)(shu)(shu)已(yi)有(you)30年(nian)的發展(zhan)歷(li)程,大致可分(fen)為(wei)(wei)(wei)三個階(jie)段(duan)。70年(nian)代(dai)(dai)為(wei)(wei)(wei)計(ji)(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)(fu)助(zhu)設(she)計(ji)(ji)(ji)(ji)(ji)(CAD)階(jie)段(duan),人們開始用(yong)計(ji)(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)(fu)助(zhu)進行IC版圖(tu)(tu)編(bian)輯、PCB布局布線(xian),取代(dai)(dai)了手工(gong)(gong)(gong)操作。80年(nian)代(dai)(dai)為(wei)(wei)(wei)計(ji)(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)(fu)助(zhu)工(gong)(gong)(gong)程(CAE)階(jie)段(duan)。與(yu)CAD相比,CAE除了有(you)純(chun)粹(cui)的圖(tu)(tu)形繪制功(gong)能(neng)外(wai),又增加了電(dian)(dian)路功(gong)能(neng)設(she)計(ji)(ji)(ji)(ji)(ji)和(he)結(jie)(jie)構設(she)計(ji)(ji)(ji)(ji)(ji),并且通過電(dian)(dian)氣(qi)連接網絡表將(jiang)兩(liang)者結(jie)(jie)合在一起,實現(xian)了工(gong)(gong)(gong)程設(she)計(ji)(ji)(ji)(ji)(ji)。CAE的主(zhu)要功(gong)能(neng)是:原理(li)圖(tu)(tu)輸(shu)入,邏輯仿真,電(dian)(dian)路分(fen)析,自(zi)(zi)動布局布線(xian),PCB后分(fen)析。90年(nian)代(dai)(dai)為(wei)(wei)(wei)電(dian)(dian)子(zi)系統設(she)計(ji)(ji)(ji)(ji)(ji)自(zi)(zi)動化(EDA)階(jie)段(duan)。

中國(guo)EDA市(shi)場已漸趨成熟,不過大部分設(she)計(ji)(ji)(ji)工(gong)程師面向的是PC主板和(he)小型(xing)ASIC領(ling)域,僅有小部分(約11%)的設(she)計(ji)(ji)(ji)人員開發復雜(za)的片上系統器件。為了(le)與臺灣和(he)美(mei)國(guo)的設(she)計(ji)(ji)(ji)工(gong)程師形成更有力的競(jing)爭,中國(guo)的設(she)計(ji)(ji)(ji)隊伍有必(bi)要(yao)購入一(yi)些最新的EDA技術。

在(zai)信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)通(tong)信(xin)(xin)(xin)(xin)領域,要(yao)優先發(fa)展(zhan)高速寬帶信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)網、深亞微米集(ji)成電路、新(xin)型元(yuan)器件(jian)、計(ji)(ji)(ji)(ji)算機(ji)(ji)及(ji)軟件(jian)技(ji)術(shu)(shu)(shu)、第三代移(yi)動通(tong)信(xin)(xin)(xin)(xin)技(ji)術(shu)(shu)(shu)、信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)管(guan)(guan)理、信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)安全技(ji)術(shu)(shu)(shu),積極開(kai)(kai)拓以數(shu)字技(ji)術(shu)(shu)(shu)、網絡技(ji)術(shu)(shu)(shu)為基礎的(de)(de)(de)(de)(de)新(xin)一代信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)產品(pin),發(fa)展(zhan)新(xin)興產業,培育(yu)新(xin)的(de)(de)(de)(de)(de)經濟增長點。要(yao)大(da)力推進制(zhi)(zhi)造(zao)業信(xin)(xin)(xin)(xin)息(xi)(xi)(xi)(xi)化(hua),積極開(kai)(kai)展(zhan)計(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)助設(she)計(ji)(ji)(ji)(ji)(CAD)、計(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)助工(gong)程(cheng)(CAE)、計(ji)(ji)(ji)(ji)算機(ji)(ji)輔(fu)助工(gong)藝(CAPP)、計(ji)(ji)(ji)(ji)算機(ji)(ji)機(ji)(ji)輔(fu)助制(zhi)(zhi)造(zao)(CAM)、產品(pin)數(shu)據管(guan)(guan)理(PDM)、制(zhi)(zhi)造(zao)資(zi)(zi)源計(ji)(ji)(ji)(ji)劃(MRPII)及(ji)企業資(zi)(zi)源管(guan)(guan)理(ERP)等。有(you)(you)條(tiao)件(jian)的(de)(de)(de)(de)(de)企業可開(kai)(kai)展(zhan)“網絡制(zhi)(zhi)造(zao)”,便(bian)于(yu)合作設(she)計(ji)(ji)(ji)(ji)、合作制(zhi)(zhi)造(zao),參與(yu)國內和(he)國際競爭(zheng)。開(kai)(kai)展(zhan)“數(shu)控(kong)化(hua)”工(gong)程(cheng)和(he)“數(shu)字化(hua)”工(gong)程(cheng)。自(zi)動化(hua)儀表的(de)(de)(de)(de)(de)技(ji)術(shu)(shu)(shu)發(fa)展(zhan)趨勢的(de)(de)(de)(de)(de)測(ce)試技(ji)術(shu)(shu)(shu)、控(kong)制(zhi)(zhi)技(ji)術(shu)(shu)(shu)與(yu)計(ji)(ji)(ji)(ji)算機(ji)(ji)技(ji)術(shu)(shu)(shu)、通(tong)信(xin)(xin)(xin)(xin)技(ji)術(shu)(shu)(shu)進一步(bu)融合,形成測(ce)量、控(kong)制(zhi)(zhi)、通(tong)信(xin)(xin)(xin)(xin)與(yu)計(ji)(ji)(ji)(ji)算機(ji)(ji)(M3C)結構(gou)。在(zai)ASIC和(he)PLD設(she)計(ji)(ji)(ji)(ji)方面,向超(chao)高速、高密度、低功耗、低電壓方向發(fa)展(zhan)。外設(she)技(ji)術(shu)(shu)(shu)與(yu)EDA工(gong)程(cheng)相結合的(de)(de)(de)(de)(de)市場前景看好,如組合超(chao)大(da)屏幕的(de)(de)(de)(de)(de)相關(guan)連(lian)接,多屏幕技(ji)術(shu)(shu)(shu)也有(you)(you)所發(fa)展(zhan)。

中國自1995年以來(lai)加(jia)速開發半導體產(chan)業,先后建立了幾(ji)所設(she)(she)計(ji)(ji)中心,推動系列設(she)(she)計(ji)(ji)活動以應對亞太地(di)區其它EDA市場的競爭(zheng)。

在(zai)EDA軟(ruan)(ruan)件開(kai)發方(fang)面,目(mu)前主要(yao)集中(zhong)在(zai)美國(guo)(guo)(guo)。但各(ge)國(guo)(guo)(guo)也(ye)正在(zai)努力開(kai)發相應(ying)的(de)工具。日本、韓國(guo)(guo)(guo)都有(you)ASIC設計工具,但不(bu)對外開(kai)放。中(zhong)國(guo)(guo)(guo)華大集成(cheng)電路設計中(zhong)心,也(ye)提供(gong)IC設計軟(ruan)(ruan)件,但性能不(bu)是(shi)很強。相信在(zai)不(bu)久的(de)將來會有(you)更(geng)多更(geng)好的(de)設計工具有(you)各(ge)地(di)開(kai)花并(bing)結果。據最(zui)新統計顯示,中(zhong)國(guo)(guo)(guo)和印度(du)正在(zai)成(cheng)為電子設計自動化領域發展最(zui)快(kuai)的(de)兩(liang)個市場,年復合(he)增(zeng)長率分(fen)別達到(dao)了50%和30%。

EDA技術(shu)(shu)發展迅猛,完全可以用(yong)日新月異(yi)來描述。EDA技術(shu)(shu)的(de)應用(yong)廣泛,現在已涉及(ji)到各行(xing)各業。EDA水(shui)平不斷提高(gao),設計工具趨(qu)于完美的(de)地步。EDA市場日趨(qu)成熟,但我(wo)國(guo)的(de)研發水(shui)平還很有限,需迎頭趕上。

可(ke)編(bian)程邏輯器件(jian)自(zi)70年代以來,經歷了(le)PAL、GALGPLD、FPGA幾個發(fa)展階段,其中CPLD/FPGA高密度可(ke)編(bian)程邏輯器件(jian),目前集成(cheng)度已高達200萬(wan)門/片,它將各模(mo)塊(kuai)ASC集成(cheng)度高的(de)優點和可(ke)編(bian)程邏輯器件(jian)設計生產(chan)方(fang)便的(de)特點結(jie)合(he)在(zai)一(yi)起,特別適合(he)于(yu)樣品研制或小(xiao)批(pi)量產(chan)品開發(fa),使產(chan)品能以最快的(de)速度上市(shi),而當市(shi)場擴(kuo)大時,它可(ke)以很容(rong)易地(di)轉換掩模(mo)ASIC實現,因此開發(fa)風(feng)險也大為降(jiang)低。

硬(ying)(ying)(ying)件(jian)(jian)描(miao)(miao)述(shu)語(yu)(yu)言(yan)(HDL)是一種用于設計硬(ying)(ying)(ying)件(jian)(jian)電(dian)子系統的(de)(de)(de)計算機語(yu)(yu)言(yan),它用軟(ruan)件(jian)(jian)編程的(de)(de)(de)方(fang)式(shi)(shi)來描(miao)(miao)述(shu)電(dian)子系統的(de)(de)(de)邏輯功能、電(dian)路結構和連接形式(shi)(shi),與傳統的(de)(de)(de)門級(ji)描(miao)(miao)述(shu)方(fang)式(shi)(shi)相比,它更適合(he)大規(gui)模系統的(de)(de)(de)設計。例如一個(ge)32位的(de)(de)(de)加法器,利用圖形輸入軟(ruan)件(jian)(jian)需要(yao)(yao)輸人500至1000個(ge)門,而(er)利用VHDL語(yu)(yu)言(yan)只需要(yao)(yao)書寫(xie)一行“A=B+C”即(ji)可。而(er)且(qie)VHDL語(yu)(yu)言(yan)可讀(du)性強(qiang),易于修(xiu)改和發現錯誤。早(zao)期的(de)(de)(de)硬(ying)(ying)(ying)件(jian)(jian)描(miao)(miao)述(shu)語(yu)(yu)言(yan),如ABEL、HDL、AHDL,由不(bu)同的(de)(de)(de)EDA廠商開發,互不(bu)兼容(rong),而(er)且(qie)不(bu)支持多層次設計,層次間翻譯工(gong)作要(yao)(yao)由人工(gong)完成。為了克服以(yi)上不(bu)足(zu),1985年(nian)美國國防部正(zheng)式(shi)(shi)推(tui)出(chu)了高速集(ji)成電(dian)路硬(ying)(ying)(ying)件(jian)(jian)描(miao)(miao)述(shu)語(yu)(yu)言(yan)VHDL,1987年(nian)IEEE采納(na)VHDL為硬(ying)(ying)(ying)件(jian)(jian)描(miao)(miao)述(shu)語(yu)(yu)言(yan)標準(zhun)(IEEESTD-1076)。

VHDL是(shi)一種全方位的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)硬(ying)(ying)件描(miao)(miao)(miao)述語(yu)(yu)(yu)言(yan)(yan)(yan),包(bao)括系(xi)(xi)(xi)統(tong)(tong)(tong)行(xing)(xing)(xing)為(wei)(wei)級。寄存器(qi)傳輸級和(he)邏(luo)輯(ji)門(men)多(duo)個(ge)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)層次,支持結構、數據(ju)(ju)流和(he)行(xing)(xing)(xing)為(wei)(wei)三種描(miao)(miao)(miao)述形(xing)式(shi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)混合(he)(he)描(miao)(miao)(miao)述,因(yin)此(ci)VHDL幾乎(hu)覆蓋了(le)以(yi)(yi)往各種硬(ying)(ying)件俄語(yu)(yu)(yu)言(yan)(yan)(yan)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)功能(neng)(neng)(neng),整個(ge)自(zi)頂向(xiang)下(xia)或(huo)由下(xia)向(xiang)上(shang)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)電(dian)(dian)(dian)路設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)過(guo)程都可以(yi)(yi)用(yong)(yong)VHDL來(lai)(lai)完成(cheng)。VHDL還具(ju)有(you)(you)以(yi)(yi)下(xia)優點:(1)VHDL的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)寬范(fan)圍(wei)描(miao)(miao)(miao)述能(neng)(neng)(neng)力(li)(li)使它成(cheng)為(wei)(wei)高(gao)層進設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)核心,將設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)人員的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)工作(zuo)(zuo)重(zhong)心提高(gao)到了(le)系(xi)(xi)(xi)統(tong)(tong)(tong)功能(neng)(neng)(neng)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)實現(xian)與調(diao)試(shi),而(er)(er)花(hua)較少(shao)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)精力(li)(li)于(yu)物理實現(xian)。VHDL可以(yi)(yi)用(yong)(yong)簡潔明(ming)確的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)代碼描(miao)(miao)(miao)述來(lai)(lai)進行(xing)(xing)(xing)復(fu)雜(za)控制邏(luo)輯(ji)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji),靈活且方便(bian),而(er)(er)且也便(bian)于(yu)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)結果的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)交(jiao)流、保(bao)存和(he)重(zhong)用(yong)(yong)。(3)VHDL的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)不(bu)依(yi)賴(lai)于(yu)特(te)定的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)器(qi)件,方便(bian)了(le)工藝(yi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)轉(zhuan)換(huan)。(4)VHDL是(shi)一個(ge)標準語(yu)(yu)(yu)言(yan)(yan)(yan),為(wei)(wei)眾多(duo)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)EDA廠商支持,因(yin)此(ci)移植性(xing)好。傳統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)硬(ying)(ying)件電(dian)(dian)(dian)路設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)方法是(shi)采用(yong)(yong)自(zi)下(xia)而(er)(er)上(shang)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)方法,即根據(ju)(ju)系(xi)(xi)(xi)統(tong)(tong)(tong)對(dui)硬(ying)(ying)件的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)要求,詳細(xi)編制技(ji)術(shu)規(gui)格(ge)書,并畫(hua)出系(xi)(xi)(xi)統(tong)(tong)(tong)控制流圖;然后(hou)(hou)根據(ju)(ju)技(ji)術(shu)規(gui)格(ge)書和(he)系(xi)(xi)(xi)統(tong)(tong)(tong)控制流圖,對(dui)系(xi)(xi)(xi)統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)功能(neng)(neng)(neng)進行(xing)(xing)(xing)細(xi)化(hua)(hua),合(he)(he)理地劃分功能(neng)(neng)(neng)模(mo)(mo)塊(kuai),并畫(hua)出系(xi)(xi)(xi)統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)功能(neng)(neng)(neng)框圖;接著就進行(xing)(xing)(xing)各功能(neng)(neng)(neng)模(mo)(mo)塊(kuai)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)細(xi)化(hua)(hua)和(he)電(dian)(dian)(dian)路設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji);各功能(neng)(neng)(neng)模(mo)(mo)塊(kuai)電(dian)(dian)(dian)路設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)、調(diao)試(shi)完成(cheng)后(hou)(hou),將各功能(neng)(neng)(neng)模(mo)(mo)塊(kuai)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)硬(ying)(ying)件電(dian)(dian)(dian)路連(lian)接起(qi)來(lai)(lai)再進行(xing)(xing)(xing)系(xi)(xi)(xi)統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)調(diao)試(shi),最后(hou)(hou)完成(cheng)整個(ge)系(xi)(xi)(xi)統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)硬(ying)(ying)件設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)。采用(yong)(yong)傳統(tong)(tong)(tong)方法設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)數字系(xi)(xi)(xi)統(tong)(tong)(tong),特(te)別是(shi)當電(dian)(dian)(dian)路系(xi)(xi)(xi)統(tong)(tong)(tong)非(fei)常龐(pang)大(da)(da)時,設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)者(zhe)(zhe)必(bi)須具(ju)備較好的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)經驗,而(er)(er)且繁雜(za)多(duo)樣的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)原理圖的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)閱(yue)讀和(he)修改也給(gei)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)者(zhe)(zhe)帶來(lai)(lai)諸多(duo)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)不(bu)便(bian)。為(wei)(wei)了(le)提高(gao)開(kai)發的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)效(xiao)率,增加已(yi)有(you)(you)開(kai)發成(cheng)果的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)可繼承性(xing)以(yi)(yi)及(ji)縮短開(kai)發周期(qi),各ASIC研制和(he)生(sheng)產(chan)廠家(jia)相(xiang)繼開(kai)發了(le)具(ju)有(you)(you)自(zi)己特(te)色的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)電(dian)(dian)(dian)路硬(ying)(ying)件描(miao)(miao)(miao)述語(yu)(yu)(yu)言(yan)(yan)(yan)(HardwareDescriptionLanguage,簡稱HDL)。但這(zhe)些(xie)硬(ying)(ying)件描(miao)(miao)(miao)述語(yu)(yu)(yu)言(yan)(yan)(yan)差異很大(da)(da),各自(zi)只能(neng)(neng)(neng)在自(zi)己的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)特(te)定設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)環境中使用(yong)(yong),這(zhe)給(gei)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)者(zhe)(zhe)之間(jian)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)相(xiang)互交(jiao)流帶來(lai)(lai)了(le)極大(da)(da)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)困難。因(yin)此(ci),開(kai)發一種強大(da)(da)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)、標準化(hua)(hua)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)硬(ying)(ying)件描(miao)(miao)(miao)述語(yu)(yu)(yu)言(yan)(yan)(yan)作(zuo)(zuo)為(wei)(wei)可相(xiang)互交(jiao)流的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)環境已(yi)勢(shi)在必(bi)行(xing)(xing)(xing)。于(yu)是(shi),美(mei)國于(yu)1981年(nian)提出了(le)一種新(xin)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)、標準化(hua)(hua)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)HDL,稱之為(wei)(wei)VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,簡稱VHDL。這(zhe)是(shi)一種用(yong)(yong)形(xing)式(shi)化(hua)(hua)方法來(lai)(lai)描(miao)(miao)(miao)述數字電(dian)(dian)(dian)路和(he)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)數字邏(luo)輯(ji)系(xi)(xi)(xi)統(tong)(tong)(tong)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)語(yu)(yu)(yu)言(yan)(yan)(yan)。設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)者(zhe)(zhe)可以(yi)(yi)利用(yong)(yong)這(zhe)種語(yu)(yu)(yu)言(yan)(yan)(yan)來(lai)(lai)描(miao)(miao)(miao)述自(zi)己的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)思想,然后(hou)(hou)利用(yong)(yong)電(dian)(dian)(dian)子設(she)(she)(she)(she)(she)計(ji)(ji)(ji)(ji)(ji)(ji)自(zi)動化(hua)(hua)工具(ju)進行(xing)(xing)(xing)仿(fang)真,再自(zi)動綜合(he)(he)到門(men)電(dian)(dian)(dian)路,最后(hou)(hou)用(yong)(yong)PLD實現(xian)其功能(neng)(neng)(neng)。

覆蓋面廣(guang),描(miao)(miao)(miao)述(shu)(shu)能力強,是一個多(duo)層次(ci)的硬件(jian)描(miao)(miao)(miao)述(shu)(shu)語言(yan)。在(zai)VHDL語言(yan)中,設計的原始描(miao)(miao)(miao)述(shu)(shu)可(ke)(ke)以非常(chang)簡練,經過層層加強后,最終可(ke)(ke)成為(wei)直(zhi)接(jie)付諸(zhu)生產的電路或版圖參數描(miao)(miao)(miao)述(shu)(shu)。

具有良好的可讀性(xing),即(ji)容易被計算機接受,也(ye)容易被讀者(zhe)理解。

使用期(qi)長,不會因工藝(yi)變(bian)化而使描(miao)述過時。因為VHDL的硬件描(miao)述與工藝(yi)無關,當(dang)工藝(yi)改變(bian)時,只需修改相應程(cheng)序中的屬性參數即可。

支持大規模(mo)設(she)計的(de)分解和已(yi)有(you)設(she)計的(de)再利(li)用(yong)。一(yi)個大規模(mo)的(de)設(she)計不(bu)可能由(you)一(yi)個人獨立完成(cheng),必須由(you)多人共(gong)同承擔,VHDL為設(she)計的(de)分解和設(she)計的(de)再利(li)用(yong)提供了有(you)力的(de)支持。

當電路系統采用(yong)VHDL語言(yan)設(she)計其硬件(jian)時,與傳統的電路設(she)計方法(fa)相(xiang)比較,具有如下的特點:

即(ji)從(cong)系(xi)統總(zong)體要求出發,自上而(er)下地逐(zhu)步將設(she)計(ji)的(de)(de)內容細化,最后完成系(xi)統硬件的(de)(de)整體設(she)計(ji)。在設(she)計(ji)的(de)(de)過程中,對(dui)系(xi)統自上而(er)下分(fen)成三個(ge)層次進行設(she)計(ji):

第一層次(ci)是(shi)(shi)行(xing)(xing)(xing)為(wei)描述(shu)(shu)。所謂行(xing)(xing)(xing)為(wei)描述(shu)(shu),實(shi)質上就是(shi)(shi)對(dui)(dui)整個(ge)系統(tong)(tong)的(de)數學模型的(de)描述(shu)(shu)。一般來說,對(dui)(dui)系統(tong)(tong)進行(xing)(xing)(xing)行(xing)(xing)(xing)為(wei)描述(shu)(shu)的(de)目的(de)是(shi)(shi)試圖在系統(tong)(tong)設(she)計的(de)初(chu)始階(jie)段,通過對(dui)(dui)系統(tong)(tong)行(xing)(xing)(xing)為(wei)描述(shu)(shu)的(de)仿真(zhen)(zhen)來發現設(she)計中存在的(de)問題(ti)。在行(xing)(xing)(xing)為(wei)描述(shu)(shu)階(jie)段,并不(bu)真(zhen)(zhen)正(zheng)考慮(lv)其實(shi)際的(de)操作和算法用(yong)何種方法來實(shi)現,而是(shi)(shi)考慮(lv)系統(tong)(tong)的(de)結構及其工作的(de)過程是(shi)(shi)否能到達系統(tong)(tong)設(she)計的(de)要求(qiu)。

第二層次是(shi)RTL方(fang)(fang)式描(miao)(miao)述(shu)(shu)。這一層次稱為(wei)寄(ji)存器傳輸描(miao)(miao)述(shu)(shu)(又稱數據流描(miao)(miao)述(shu)(shu))。如前所述(shu)(shu),用行(xing)為(wei)方(fang)(fang)式描(miao)(miao)述(shu)(shu)的(de)系(xi)統(tong)結(jie)構的(de)程序(xu),其(qi)抽象程度高,是(shi)很難直接映射(she)到具(ju)體邏輯(ji)(ji)元件(jian)結(jie)構的(de)。要(yao)想得到硬件(jian)的(de)具(ju)體實(shi)現,必須將(jiang)行(xing)為(wei)方(fang)(fang)式描(miao)(miao)述(shu)(shu)的(de)VHDL語言程序(xu)改寫為(wei)RTL方(fang)(fang)式描(miao)(miao)述(shu)(shu)的(de)VHDL語言程序(xu)。也就(jiu)是(shi)說,系(xi)統(tong)采用RTL方(fang)(fang)式描(miao)(miao)述(shu)(shu),才(cai)(cai)能導出系(xi)統(tong)的(de)邏輯(ji)(ji)表達式,才(cai)(cai)能進行(xing)邏輯(ji)(ji)綜合。

第三層次是邏(luo)輯(ji)(ji)(ji)綜(zong)合(he)。即利用邏(luo)輯(ji)(ji)(ji)綜(zong)合(he)工具(ju),將RTL方式描述(shu)的程序轉換(huan)成用基本邏(luo)輯(ji)(ji)(ji)元件(jian)表示的文件(jian)(門級(ji)網絡(luo)表)。此時,如果需要(yao),可將邏(luo)輯(ji)(ji)(ji)綜(zong)合(he)的結果以邏(luo)輯(ji)(ji)(ji)原理圖的方式輸出。此后可對(dui)綜(zong)合(he)的結果在(zai)門電路級(ji)上進行仿(fang)真,并檢查其時序關系。

應用邏輯綜合(he)工具產生的(de)(de)門網絡表,將其(qi)轉換成(cheng)PLD的(de)(de)編程碼,即可(ke)利(li)用PLD實現硬件電路(lu)的(de)(de)設計(ji)。

由自上而下(xia)的(de)(de)設計(ji)過(guo)程可知,從(cong)總(zong)體行為設計(ji)開始到最終(zhong)的(de)(de)邏(luo)輯綜合,每一步(bu)都要進行仿真(zhen)檢查,這(zhe)樣(yang)有利于(yu)盡早發現設計(ji)中存在的(de)(de)問題,從(cong)而可以(yi)大大縮短系(xi)統的(de)(de)設計(ji)周(zhou)期。

系統可大量采用PLD芯片。

由于目(mu)前眾(zhong)多(duo)制造PLD芯片的(de)(de)廠家,其工具軟件均支持VHDL語言的(de)(de)編程。所(suo)以利用(yong)(yong)VHDL語言設(she)計數字系統(tong)時,可以根據硬(ying)件電路的(de)(de)設(she)計需要(yao),自行利用(yong)(yong)PLD設(she)計自用(yong)(yong)的(de)(de)ASIC芯片,而無須(xu)受通(tong)用(yong)(yong)元器件的(de)(de)限制。

EDA系統(tong)框(kuang)架結構(gou)EDA系統(tong)框(kuang)架結構(gou)(FRAMEWORK)是(shi)一套配置(zhi)和(he)使用EDA軟件(jian)包(bao)的規范。目前主要的EDA系統(tong)都建立了框(kuang)架結構(gou),如CADENCE公(gong)(gong)司的DesignFramework,Mentor公(gong)(gong)司的FalconFramework,而且這些框(kuang)架結構(gou)都遵守國際CFI組(zu)織制定的統(tong)一技(ji)術標準。框(kuang)架結構(gou)能將來(lai)自不同EDA廠(chang)商(shang)的工具軟件(jian)進行優(you)化組(zu)合,集成(cheng)在一個(ge)易于管理(li)的統(tong)一的環境之下,而且還支持任務之間(jian)、設計師(shi)之間(jian)以及(ji)整個(ge)產品開發過(guo)程中(zhong)的信息傳輸(shu)與(yu)共享,是(shi)并行工程和(he)自頂向下設計施的實現(xian)基礎。

EDA技術的(de)每(mei)一(yi)(yi)(yi)次(ci)進步,都引起了(le)設(she)計(ji)(ji)層(ceng)次(ci)上(shang)的(de)一(yi)(yi)(yi)次(ci)飛(fei)躍,從設(she)計(ji)(ji)層(ceng)次(ci)上(shang)分,70年(nian)代為物(wu)理級設(she)計(ji)(ji)(CAD),80年(nian)代為電路(lu)(lu)級設(she)計(ji)(ji)(CAE),90年(nian)代進入到(dao)系統級設(she)計(ji)(ji)(EDA)。物(wu)理級設(she)計(ji)(ji)主(zhu)要指IC版圖設(she)計(ji)(ji),一(yi)(yi)(yi)般(ban)由半導體廠家完成,對電子(zi)工程師沒有(you)太大(da)的(de)意義,因此本文重點介紹電路(lu)(lu)級設(she)計(ji)(ji)和(he)系統級設(she)計(ji)(ji)。

仿(fang)真通過(guo)后,根(gen)據(ju)原(yuan)理圖產(chan)生的電(dian)(dian)氣連接網絡表進行PCB板的自動布(bu)局布(bu)線。在制(zhi)作PCB板之前還可以進行PCB后分析,其中包括熱(re)分析、噪聲及竄擾分析、電(dian)(dian)磁兼容(rong)分析、可靠(kao)性(xing)分析等(deng),并(bing)可將(jiang)分析后的結(jie)果(guo)參數反(fan)標回電(dian)(dian)路圖,進行第二次(ci)仿(fang)真,也稱為后仿(fang)真。后仿(fang)真主要是檢驗(yan)PCB板在實際工作環境(jing)中的可行性(xing)。

由此可(ke)(ke)見,電路級(ji)的(de)EDA技術(shu)使電子(zi)工(gong)程(cheng)師(shi)在實(shi)際(ji)的(de)電子(zi)系統(tong)產生(sheng)前,就可(ke)(ke)以全面地了(le)解系統(tong)的(de)功(gong)能(neng)特性和物理特性,從而將開發(fa)(fa)風(feng)險(xian)消滅(mie)在設計階段,縮短了(le)開發(fa)(fa)時(shi)間,降(jiang)低(di)了(le)開發(fa)(fa)成本。

篇7

【關鍵詞】現代(dai)EDA技術教(jiao)學內容改革

【中圖分類號】G【文獻標(biao)識碼】A

【文章編號(hao)】0450-9889(2012)05C-Otqt3--OA

現(xian)(xian)(xian)代EDA技(ji)(ji)術(shu)(shu)(shu)是(shi)一門相對(dui)(dui)前(qian)沿(yan)和(he)(he)復雜的(de)(de)(de)(de)課(ke)(ke)程(cheng),該課(ke)(ke)程(cheng)要求(qiu)學(xue)(xue)生(sheng)(sheng)具(ju)備一定的(de)(de)(de)(de)嵌入(ru)式技(ji)(ji)術(shu)(shu)(shu)知(zhi)(zhi)識,而且(qie)課(ke)(ke)程(cheng)的(de)(de)(de)(de)內(nei)容(rong)(rong)對(dui)(dui)學(xue)(xue)生(sheng)(sheng)的(de)(de)(de)(de)理(li)解(jie)能力和(he)(he)知(zhi)(zhi)識的(de)(de)(de)(de)綜合(he)應用能力提出了(le)較高的(de)(de)(de)(de)要求(qiu)。在(zai)(zai)傳統的(de)(de)(de)(de)現(xian)(xian)(xian)代EDA技(ji)(ji)術(shu)(shu)(shu)課(ke)(ke)程(cheng)授(shou)課(ke)(ke)過(guo)程(cheng)中,由于(yu)對(dui)(dui)課(ke)(ke)程(cheng)的(de)(de)(de)(de)教(jiao)學(xue)(xue)任務和(he)(he)目(mu)標不是(shi)很明確,因此在(zai)(zai)授(shou)課(ke)(ke)過(guo)程(cheng)中往(wang)往(wang)是(shi)強調該課(ke)(ke)程(cheng)的(de)(de)(de)(de)一些(xie)基(ji)本(ben)概(gai)念和(he)(he)基(ji)本(ben)原理(li)的(de)(de)(de)(de)介紹。然而,從以往(wang)的(de)(de)(de)(de)教(jiao)學(xue)(xue)經驗(yan)進行(xing)統計(ji)分析(xi)發現(xian)(xian)(xian),僅僅對(dui)(dui)學(xue)(xue)生(sheng)(sheng)進行(xing)一些(xie)相關概(gai)念和(he)(he)原理(li)的(de)(de)(de)(de)介紹,遠(yuan)不能滿(man)足當前(qian)社會(hui)企(qi)業對(dui)(dui)EDA技(ji)(ji)術(shu)(shu)(shu)應用的(de)(de)(de)(de)需(xu)求(qiu)。這就對(dui)(dui)現(xian)(xian)(xian)代EDA技(ji)(ji)術(shu)(shu)(shu)的(de)(de)(de)(de)教(jiao)學(xue)(xue)內(nei)容(rong)(rong)及教(jiao)學(xue)(xue)組(zu)織(zhi)形(xing)式提出了(le)新的(de)(de)(de)(de)要求(qiu)。為此,本(ben)文將在(zai)(zai)現(xian)(xian)(xian)有的(de)(de)(de)(de)現(xian)(xian)(xian)代EDA技(ji)(ji)術(shu)(shu)(shu)課(ke)(ke)程(cheng)教(jiao)學(xue)(xue)內(nei)容(rong)(rong)及教(jiao)學(xue)(xue)實施(shi)方案(an)的(de)(de)(de)(de)基(ji)礎上,對(dui)(dui)當前(qian)教(jiao)學(xue)(xue)過(guo)程(cheng)中存在(zai)(zai)的(de)(de)(de)(de)問(wen)題和(he)(he)不足進行(xing)深入(ru)分析(xi),結(jie)合(he)當前(qian)現(xian)(xian)(xian)代電子(zi)設計(ji)企(qi)業對(dui)(dui)EDA技(ji)(ji)術(shu)(shu)(shu)應用的(de)(de)(de)(de)需(xu)求(qiu),制定符合(he)高職嵌入(ru)式專業學(xue)(xue)生(sheng)(sheng)基(ji)礎條件(jian)的(de)(de)(de)(de)教(jiao)學(xue)(xue)內(nei)容(rong)(rong)及組(zu)織(zhi)形(xing)式,以提高高職院(yuan)校學(xue)(xue)生(sheng)(sheng)掌握和(he)(he)應用現(xian)(xian)(xian)代EDA技(ji)(ji)術(shu)(shu)(shu)設計(ji)關鍵技(ji)(ji)術(shu)(shu)(shu)的(de)(de)(de)(de)能力。

一、傳統(tong)的教(jiao)學內容分析(xi)

現(xian)代EDA技術(shu)(shu)課程(cheng)經(jing)過近(jin)年來(lai)的實踐,已經(jing)形成了一(yi)套相(xiang)對(dui)完整的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容及教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)方法,是(shi)在(zai)傳(chuan)(chuan)統的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)過程(cheng)中現(xian)代EDA技術(shu)(shu)課程(cheng)的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容及課時安排(pai)。在(zai)該表中同(tong)時也給出了對(dui)不同(tong)教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)要求(qiu)。通過對(dui)傳(chuan)(chuan)統的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容進行分析(xi)可(ke)以發現(xian),在(zai)傳(chuan)(chuan)統的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容中,占整個(ge)教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)學(xue)(xue)時最多的一(yi)部(bu)(bu)分是(shi)VHDL程(cheng)序開發部(bu)(bu)分。在(zai)實際的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)過程(cheng)中,VHDL語言的教(jiao)(jiao)(jiao)(jiao)(jiao)(jiao)學(xue)(xue)內容分兩(liang)個(ge)部(bu)(bu)分來(lai)開展,前半部(bu)(bu)分是(shi)VHDL語言的基礎部(bu)(bu)分,主要介紹VHDL的常用(yong)語句、形式。在(zai)

在(zai)課程(cheng)(cheng)(cheng)(cheng)的(de)(de)教(jiao)學(xue)內(nei)(nei)容中還包(bao)括FPGA開發(fa)簡(jian)介、ISE開發(fa)環境介紹,以及(ji)電路(lu)仿真配置下(xia)載。從整個教(jiao)學(xue)內(nei)(nei)容來看,傳統(tong)的(de)(de)現代EDA技術(shu)課程(cheng)(cheng)(cheng)(cheng)中介紹的(de)(de)內(nei)(nei)容非常多,涉及(ji)的(de)(de)面也(ye)很廣,在(zai)實(shi)際的(de)(de)教(jiao)學(xue)過程(cheng)(cheng)(cheng)(cheng)中,學(xue)生也(ye)普遍反映該課程(cheng)(cheng)(cheng)(cheng)的(de)(de)信息量非常大,但是,現代EDA技術(shu)課程(cheng)(cheng)(cheng)(cheng)在(zai)實(shi)際教(jiao)學(xue)后一階段(duan)是VHDL程(cheng)(cheng)(cheng)(cheng)序開發(fa)的(de)(de)高級(ji)階段(duan),主要給學(xue)生介紹VHDL環境下(xia)的(de)(de)建(jian)模(mo)方(fang)(fang)法,以比較(jiao)典型常用(yong)的(de)(de)門級(ji)建(jian)模(mo)、行為(wei)級(ji)建(jian)模(mo)、結構建(jian)模(mo)等三(san)種方(fang)(fang)式分別闡述(shu)VHDL程(cheng)(cheng)(cheng)(cheng)序的(de)(de)開發(fa)方(fang)(fang)法和(he)開發(fa)過程(cheng)(cheng)(cheng)(cheng),這兩部分的(de)(de)內(nei)(nei)容都(dou)開設了(le)一定的(de)(de)實(shi)驗教(jiao)學(xue)時(shi)間(jian)。

過(guo)(guo)程(cheng)中(zhong)所取(qu)得的(de)(de)(de)(de)(de)(de)教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)效果卻(que)并不(bu)是很(hen)理想(xiang)。分(fen)析其原因,在(zai)(zai)于教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)的(de)(de)(de)(de)(de)(de)課程(cheng)設(she)(she)置上存(cun)在(zai)(zai)比較大的(de)(de)(de)(de)(de)(de)問題(ti)。雖(sui)然表l所給出的(de)(de)(de)(de)(de)(de)教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)及課時(shi)安排,單純從每一個章(zhang)(zhang)節來看似乎(hu)都是很(hen)有(you)必(bi)要(yao)的(de)(de)(de)(de)(de)(de),而且課時(shi)安排也很(hen)合(he)(he)理,但是縱觀整個教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)就可以(yi)發(fa)現(xian)(xian)(xian),傳統的(de)(de)(de)(de)(de)(de)教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)過(guo)(guo)程(cheng)中(zhong)對(dui)教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)更(geng)多的(de)(de)(de)(de)(de)(de)偏重(zhong)于現(xian)(xian)(xian)代EDA技(ji)術(shu)中(zhong)的(de)(de)(de)(de)(de)(de)相(xiang)關(guan)核心(xin)知(zhi)識(shi)的(de)(de)(de)(de)(de)(de)介紹,主要(yao)是給學(xue)(xue)(xue)(xue)(xue)(xue)生(sheng)灌輸EDA設(she)(she)計(ji)的(de)(de)(de)(de)(de)(de)一些(xie)基本(ben)概念(nian)和基本(ben)方法(fa),在(zai)(zai)各個章(zhang)(zhang)節的(de)(de)(de)(de)(de)(de)知(zhi)識(shi)內容(rong)(rong)(rong)中(zhong)并沒有(you)形成一個有(you)機的(de)(de)(de)(de)(de)(de)整體(ti)(ti),更(geng)沒有(you)將(jiang)所學(xue)(xue)(xue)(xue)(xue)(xue)習(xi)(xi)的(de)(de)(de)(de)(de)(de)這(zhe)些(xie)知(zhi)識(shi)與具體(ti)(ti)的(de)(de)(de)(de)(de)(de)實踐(jian)應(ying)用(yong)結合(he)(he)起(qi)來,因此學(xue)(xue)(xue)(xue)(xue)(xue)生(sheng)在(zai)(zai)學(xue)(xue)(xue)(xue)(xue)(xue)習(xi)(xi)過(guo)(guo)程(cheng)中(zhong),越到課程(cheng)后期越會(hui)發(fa)現(xian)(xian)(xian)學(xue)(xue)(xue)(xue)(xue)(xue)習(xi)(xi)非常枯燥,而且直到整個課程(cheng)完成之后,也不(bu)能(neng)(neng)夠體(ti)(ti)會(hui)EDA技(ji)術(shu)的(de)(de)(de)(de)(de)(de)設(she)(she)計(ji)理念(nian),更(geng)不(bu)能(neng)(neng)夠將(jiang)所學(xue)(xue)(xue)(xue)(xue)(xue)習(xi)(xi)的(de)(de)(de)(de)(de)(de)知(zhi)識(shi)與EDA的(de)(de)(de)(de)(de)(de)工(gong)程(cheng)應(ying)相(xiang)結合(he)(he)起(qi)來,造成了學(xue)(xue)(xue)(xue)(xue)(xue)生(sheng)的(de)(de)(de)(de)(de)(de)學(xue)(xue)(xue)(xue)(xue)(xue)習(xi)(xi)效果與行(xing)業應(ying)用(yong)需(xu)求想(xiang)脫(tuo)離的(de)(de)(de)(de)(de)(de)現(xian)(xian)(xian)狀。因此,對(dui)該課程(cheng)的(de)(de)(de)(de)(de)(de)教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)進行(xing)研究和分(fen)析之后需(xu)要(yao)針對(dui)所存(cun)在(zai)(zai)的(de)(de)(de)(de)(de)(de)問題(ti),結合(he)(he)當前電子設(she)(she)計(ji)及嵌入式行(xing)業對(dui)EDA技(ji)術(shu)的(de)(de)(de)(de)(de)(de)實際應(ying)用(yong)需(xu)求情況(kuang),合(he)(he)理地對(dui)該課程(cheng)的(de)(de)(de)(de)(de)(de)內容(rong)(rong)(rong)進行(xing)調整和優化,將(jiang)整個教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)的(de)(de)(de)(de)(de)(de)內容(rong)(rong)(rong)組織成一個整體(ti)(ti),并把教(jiao)學(xue)(xue)(xue)(xue)(xue)(xue)內容(rong)(rong)(rong)與提升學(xue)(xue)(xue)(xue)(xue)(xue)生(sheng)實踐(jian)應(ying)用(yong)能(neng)(neng)力緊(jin)密結合(he)(he)起(qi)來。

二、改革(ge)后(hou)的教學內容組成

針(zhen)對(dui)目前(qian)在開展現(xian)代EDA技術課程教學(xue)(xue)過(guo)(guo)程中所(suo)存在的(de)(de)教學(xue)(xue)內容與提(ti)升學(xue)(xue)生能力不一致(zhi)的(de)(de)現(xian)狀,本文經過(guo)(guo)深入的(de)(de)調研(yan)分析(xi),結合高職(zhi)院(yuan)校學(xue)(xue)生的(de)(de)基礎條件以(yi)及今后(hou)就業(ye)過(guo)(guo)程中的(de)(de)崗(gang)位需求,對(dui)現(xian)代EDA技術課程的(de)(de)教學(xue)(xue)內容進行了徹(che)底的(de)(de)改(gai)革(ge)與優化(hua)。整個(ge)改(gai)革(ge)過(guo)(guo)程中,所(suo)遵循的(de)(de)原則有:

第一,緊貼(tie)任職(zhi)崗(gang)位需求,優化課(ke)程(cheng)教(jiao)學(xue)內(nei)容(rong),提高內(nei)容(rong)的(de)(de)(de)針對(dui)性(xing)。在(zai)傳統的(de)(de)(de)教(jiao)學(xue)過程(cheng)中(zhong),有相當一部分的(de)(de)(de)教(jiao)學(xue)時間是在(zai)給學(xue)生灌(guan)輸EDA技術的(de)(de)(de)相關概(gai)念和(he)常(chang)識(shi),而這(zhe)些概(gai)念和(he)常(chang)識(shi)在(zai)學(xue)生今后的(de)(de)(de)任職(zhi)崗(gang)位應用中(zhong),未(wei)必都會用得到(dao)。而對(dui)于那些不(bu)常(chang)用的(de)(de)(de)概(gai)念和(he)知識(shi)是完全沒有必要在(zai)課(ke)堂上為學(xue)生反復(fu)介紹的(de)(de)(de)。而學(xue)生在(zai)今后任職(zhi)崗(gang)位中(zhong)可能會用到(dao)的(de)(de)(de)一些常(chang)用方法和(he)技巧(qiao),以及一些工具軟件的(de)(de)(de)使用方法則應該在(zai)課(ke)程(cheng)的(de)(de)(de)教(jiao)學(xue)內(nei)容(rong)中(zhong)予以體現。

第二(er),增加實驗教(jiao)(jiao)學(xue)(xue)的(de)(de)(de)比重,提(ti)升(sheng)學(xue)(xue)生動(dong)(dong)手實踐(jian)的(de)(de)(de)能(neng)力。在(zai)傳統的(de)(de)(de)現(xian)代EDA技術教(jiao)(jiao)學(xue)(xue)內容過程(cheng)中(zhong),教(jiao)(jiao)學(xue)(xue)時間是50學(xue)(xue)時,其(qi)中(zhong)實驗占(zhan)14學(xue)(xue)時,實驗所(suo)占(zhan)的(de)(de)(de)學(xue)(xue)時比重偏(pian)少不足(zu)以提(ti)升(sheng)學(xue)(xue)生的(de)(de)(de)實踐(jian)動(dong)(dong)手能(neng)力。因此,在(zai)對教(jiao)(jiao)學(xue)(xue)內容改革過程(cheng)中(zhong),應該加大實驗教(jiao)(jiao)學(xue)(xue)內容的(de)(de)(de)比重。

第三,引入(ru)EDA設(she)計的(de)典(dian)型案例,加(jia)強理論知(zhi)識(shi)與(yu)實際工程(cheng)之間的(de)結合程(cheng)度,既讓學(xue)生(sheng)充分認識(shi)到所學(xue)習的(de)知(zhi)識(shi)在(zai)今后任職崗位中的(de)具體應用(yong)情況,同時(shi)也提高了學(xue)生(sheng)所學(xue)習知(zhi)識(shi)與(yu)任職需(xu)求結合的(de)緊(jin)密程(cheng)度。在(zai)傳統教學(xue)過(guo)程(cheng)中,所介紹(shao)的(de)內容(rong)都是教科書式的(de)獨立知(zhi)識(shi)點介紹(shao),沒(mei)有(you)將這(zhe)些知(zhi)識(shi)點與(yu)一個完整(zheng)的(de)EDA設(she)計案例相結合起(qi)來。因此在(zai)對教學(xue)內容(rong)改革(ge)過(guo)程(cheng)中,需(xu)要(yao)引入(ru)一系列的(de)經典(dian)教學(xue)案。

首先,在開展EDA教(jiao)(jiao)學(xue)的(de)(de)(de)(de)(de)(de)基礎部分(fen),花(hua)了10個(ge)(ge)學(xue)時給學(xue)生(sheng)(sheng)介(jie)紹EDA技術(shu)的(de)(de)(de)(de)(de)(de)發(fa)展概論、VHDL語言(yan)(yan)(yan)的(de)(de)(de)(de)(de)(de)基礎知(zhi)識(shi),以及(ji)ISE實驗(yan)開發(fa)環(huan)境。相對傳統的(de)(de)(de)(de)(de)(de)教(jiao)(jiao)學(xue)過程(cheng),變化最為突出的(de)(de)(de)(de)(de)(de)是VHDL語言(yan)(yan)(yan)基礎部分(fen)的(de)(de)(de)(de)(de)(de)課時量(liang)大(da)幅(fu)度減少(shao),而(er)且在VHDL語言(yan)(yan)(yan)設(she)計(ji)部分(fen)沒有安(an)排專門的(de)(de)(de)(de)(de)(de)實驗(yan)教(jiao)(jiao)學(xue)。這樣(yang)設(she)計(ji)的(de)(de)(de)(de)(de)(de)目的(de)(de)(de)(de)(de)(de)是盡可能減少(shao)學(xue)生(sheng)(sheng)對于基礎知(zhi)識(shi)的(de)(de)(de)(de)(de)(de)學(xue)習(xi)時間,也許學(xue)生(sheng)(sheng)通(tong)過4個(ge)(ge)學(xue)時的(de)(de)(de)(de)(de)(de)VHDL語言(yan)(yan)(yan)基礎的(de)(de)(de)(de)(de)(de)學(xue)習(xi)不能夠完全掌(zhang)握(wo)VHDL語言(yan)(yan)(yan)的(de)(de)(de)(de)(de)(de)開發(fa)方法,但是后面還將會給學(xue)生(sheng)(sheng)介(jie)紹一系列EDA的(de)(de)(de)(de)(de)(de)開發(fa)例,讓學(xue)生(sheng)(sheng)通(tong)過各(ge)種實際的(de)(de)(de)(de)(de)(de)教(jiao)(jiao)學(xue)案(an)例,去體會EDA技術(shu)的(de)(de)(de)(de)(de)(de)應(ying)用方法和應(ying)用價值(zhi),提(ti)高學(xue)生(sheng)(sheng)學(xue)習(xi)EDA技術(shu)的(de)(de)(de)(de)(de)(de)興趣和動(dong)力。

篇8

【關鍵詞】MATLAB;傅里葉變(bian)換;頻(pin)域分(fen)析(xi);VHDL

頻譜分析(xi)在生產實踐和科學研究中有著(zhu)廣泛(fan)的(de)應用。其(qi)中,快速(su)傅(fu)里(li)葉變(bian)換(Fast Fourier Transform,FFT)是數(shu)字信(xin)號處(chu)理(li)的(de)最基本(ben)技術之一。近(jin)年(nian)來,隨(sui)著(zhu)現場可編程門(men)陣(zhen)列FPGA(Field Programmable Gate Array)技術的(de)迅猛發展,利用高(gao)并行(xing)度、高(gao)速(su)度的(de)FPGA芯片來實現FFT已成為(wei)必然趨勢。

本文將以MATLAB為工具,對信號與系統在(zai)聯系時間系統的頻域進行分析。

一、Matlab編程實(shi)現FFT實(shi)踐頻譜分析

步驟如下:

1.用Matlab產生(sheng)正(zheng)弦波,矩形波,以及(ji)白噪聲(sheng)信號(hao),并顯示各自時域波形圖。

2.進行FFT變換(huan),顯示各(ge)自(zi)頻(pin)譜圖,其中采樣率,頻(pin)率、數據長度自(zi)選。

3.做出上述三種信號的均方根圖譜(pu),功率圖譜(pu),以及(ji)對數(shu)均方根圖譜(pu)。

4.用IFFT傅(fu)立葉(xie)反變換(huan)恢復信(xin)號,并顯示恢復的正(zheng)弦信(xin)號時域(yu)波形圖。

正弦波(bo)、矩形波(bo)以及(ji)白(bai)噪聲三(san)種信號的FFT變換(huan)(傅里(li)葉變換(huan))及(ji)IFFT變換(huan)(傅里(li)葉反變換(huan)恢復信號)。

圖1-1 正弦波

圖1-2 矩形波

圖1-3 白(bai)噪(zao)聲信(xin)號

二、FFT算法(fa)在(zai)基于VHDL的(de)FPGA下(xia)實(shi)現(xian)

1.基于VHDL的FPGA設計流程(cheng)

本小節(jie)以Xilinx公司的(de)FPGA系統開發為(wei)實例,FPGA的(de)設(she)計流程一(yi)般包括(kuo)系統功能(neng)設(she)計定義、設(she)計輸入、功能(neng)仿真(zhen)、邏(luo)輯綜合、前(qian)仿真(zhen)、設(she)計實現(包括(kuo)翻譯、映(ying)射、布局(ju)布線)、時序(xu)仿真(zhen)與(yu)驗證、下(xia)載配置與(yu)器件編程、測(ce)試驗證等(deng)幾個步驟。

本設計運用(yong)ISE和ModelSim與Matlab聯合仿真的設計方法。

ISE的(de)簡稱為集(ji)成綜合的(de)環(huan)境(jing),是Xilinx公司的(de)配套設計軟件,這種工具可完成上(shang)述FPGA/CPLD的(de)整個開發(fa)過程

2.FPGA的基本原理和結構

FPGA即現場可編程(cheng)(cheng)門陣列,相對其(qi)他可編程(cheng)(cheng)器件具有更高(gao)的集成度、更強(qiang)的邏(luo)輯實現能力(li)和更好的設計靈活性。

FPGA的(de)基本(ben)結構如圖2-1所示(shi)。CLB陣列(lie)(lie)實(shi)(shi)現用戶指定的(de)邏輯功能(neng)(neng),它們(men)以陣列(lie)(lie)的(de)形式分(fen)布在FPGA中(zhong);IOB為(wei)內部邏輯與器件(jian)封(feng)裝引腳(jiao)之(zhi)(zhi)間(jian)(jian)提供了可編(bian)程接(jie)口,它通常排(pai)列(lie)(lie)在芯片(pian)四(si)周;可編(bian)程互連資(zi)源分(fen)布在CLB的(de)空隙,互連資(zi)源可以編(bian)程配置(zhi)在模塊之(zhi)(zhi)間(jian)(jian)傳遞的(de)信(xin)號網絡,用于實(shi)(shi)現各個CLB之(zhi)(zhi)間(jian)(jian)、CLB與IOB之(zhi)(zhi)間(jian)(jian)以及全(quan)局信(xin)號與CLB和IOB之(zhi)(zhi)間(jian)(jian)的(de)連接(jie)。FPGA利用可編(bian)程查(cha)找表實(shi)(shi)現邏輯塊;程序控(kong)制多路復用器實(shi)(shi)現其功能(neng)(neng)選擇。

圖(tu)2-1 FPGA的基本結構(gou)

3.FFT 處(chu)理器的設計

本(ben)設計(ji)用于(yu)基于(yu)IEEE 802.11a協議(yi)的OFDM系統的OFDM調制,根據IEEE802.11a協議(yi)規定,OFDM調制采(cai)用64點(dian)FFT變(bian)換,采(cai)樣(yang)(yang)速(su)率20M/s,即采(cai)樣(yang)(yang)周(zhou)期(qi)為(wei)50ns,即64點(dian)FFT數據輸入的時間為(wei)64*50ns=3200ns。

本(ben)系(xi)統采(cai)用(yong)的時(shi)(shi)域抽取算(suan)(suan)法中(zhong)要對(dui)輸入(ru)的所(suo)有數據(ju)進行倒序以(yi)后才開始蝶(die)形(xing)運算(suan)(suan),FFT可以(yi)分為數據(ju)輸入(ru)、蝶(die)形(xing)運算(suan)(suan)兩個階段(duan),蝶(die)形(xing)運算(suan)(suan)結束后,將最(zui)終結果存(cun)(cun)儲(chu)到另(ling)一(yi)個單獨的結果存(cun)(cun)儲(chu)器另(ling)行讀取,而為了能對(dui)輸入(ru)數據(ju)實(shi)現(xian)連續(xu)的FFT變換,就需要蝶(die)形(xing)運算(suan)(suan)的總時(shi)(shi)間小于3200ns,這樣就可以(yi)用(yong)兩個FFT模(mo)塊(kuai)去輪換做FFT,實(shi)現(xian)連續(xu)的FFT處理。如圖2-2所(suo)示(shi)。

64點的基(ji)2的時(shi)域抽取(qu)FFT算(suan)(suan)法總(zong)共有6級蝶(die)(die)形運(yun)算(suan)(suan),每(mei)級32次蝶(die)(die)形運(yun)算(suan)(suan),總(zong)共需要32*6=192個蝶(die)(die)形運(yun)算(suan)(suan),如果采用單蝶(die)(die)形設計,需要192次蝶(die)(die)形運(yun)算(suan)(suan),蝶(die)(die)形運(yun)算(suan)(suan)的極限時(shi)鐘周期為3200ns/192=16.67ns,在本設計的蝶(die)(die)形運(yun)算(suan)(suan)時(shi)鐘周期采用16ns。

開發(fa)環境:Quartus II 6.0

選(xuan)擇FPGA芯片:Altera公司(si)Stratix系列(lie)中的EP1S10484C5

語言:VHDL

圖2-2 兩個FFT模塊(kuai)

三、MATLAB到(dao)VHDL轉換工具(ju)Simulink

Simulink程序包是MathWorks公司(si)提供的一個非(fei)常有吸引力(li)的高水平(ping)設(she)計、仿真工具。

1.高效地從Simulink到VHDL的(de)轉換工具

目前為止(zhi),設計(ji)(ji)者(zhe)經常遇到的(de)(de)最大問(wen)題是怎(zen)樣完成(cheng)(cheng)從算法設計(ji)(ji)到物理實現的(de)(de)轉換。在這個問(wen)題的(de)(de)研(yan)究發展過(guo)程(cheng)中(zhong)(zhong),設計(ji)(ji)者(zhe)首先(xian)使用(yong)的(de)(de)是一種高層次的(de)(de)設計(ji)(ji)仿(fang)(fang)真工(gong)(gong)具(ju),最通(tong)常的(de)(de)就(jiu)是Matlab的(de)(de)Simulink。首先(xian)利用(yong)Mathworks的(de)(de)Matlab/Simulink完成(cheng)(cheng)頂層系(xi)統(tong)設計(ji)(ji),然(ran)后(hou)(hou)通(tong)過(guo)轉換工(gong)(gong)具(ju)配(pei)置(zhi)Simulink中(zhong)(zhong)的(de)(de)IP核,即(ji)將靜態(tai)參(can)數傳遞給基于VHDL的(de)(de)IP,將Simulink模型文(wen)件(.md1)轉換成(cheng)(cheng)VHDL的(de)(de)RTL表述(shu)和(he)工(gong)(gong)具(ju)命令語(yu)言(Tcl)腳本,同時還可進行RTL級的(de)(de)功能仿(fang)(fang)真;然(ran)后(hou)(hou)通(tong)過(guo)SOPC設計(ji)(ji)工(gong)(gong)具(ju)進行綜合(he)、適配(pei)與時序仿(fang)(fang)真;最后(hou)(hou)形成(cheng)(cheng)對指定(ding)FPGA進行編程(cheng)配(pei)置(zhi)的(de)(de)POF和(he)SOF文(wen)件,實現硬(ying)件系(xi)統(tong)的(de)(de)仿(fang)(fang)真測試。轉換的(de)(de)工(gong)(gong)作可以(yi)描述(shu)成(cheng)(cheng)以(yi)下(xia)幾步:

(1)分析(xi)并確定Simulink模(mo)型(xing)。

(2)產生VHDL環境。

(3)生成對應(ying)網表文(wen)件或示意圖進行布局、布線和硬件的下載測試。

2.從Simulink到VHDL的自動轉換

 為了簡(jian)單化轉換程(cheng)序,在(zai)最(zui)初的Simulink模塊中(zhong)設定(ding)一些約(yue)束(shu)條件(如圖3-1所(suo)示):

(1)運行高字節的(de)信號或變量(liang);

(2)整個設計只(zhi)有一種取樣(yang)率;

(3)系統只由入口、常數、端口及總線組成。

這些能(neng)夠使相關的VHDL結構(gou)描述比(bi)較容易地(di)產(chan)生(sheng)。工具箱(xiang)的下一部分就可以允許不同的變量類型和生(sheng)成可應(ying)用的結構(gou)和行為的VHDL。

圖3-1 從(cong)Simulink到VHDL轉換流(liu)程

從MDL(主要(yao)數據(ju)程序)模型到VHDL的(de)轉換的(de)初步翻譯由(you)定制的(de)Matlab程序完成(cheng)。由(you)于對Simulink描述(shu)的(de)分析比較困(kun)難,生成(cheng)的(de)VHDL代碼(ma)需要(yao)額外(wai)的(de)編(bian)輯。例如(ru),一(yi)些基本(ben)模塊(kuai)如(ru)標(biao)準(zhun)邏輯門和雙(shuang)相(xiang)位時鐘等的(de)行為描述(shu)被(bei)手(shou)動設計成(cheng)標(biao)準(zhun)模塊(kuai)庫中的(de)一(yi)部分。

四、Matlab/Simulink到VHDL代(dai)碼的轉換研究

1.Xilinx System Generator

Matlab中(zhong)的Simulink是一種(zhong)對動態系統進(jin)行(xing)建模、仿真及分析的交互式工(gong)(gong)具。Xilinx公司新推出的System Generator是一種(zhong)高性能的設計(ji)工(gong)(gong)具,他可以嵌入作為Simulink的一部分運行(xing)。在Simulink中(zhong)System Generator打(da)包為Xilinx Blockset,從Simulink的庫中(zhong)可以瀏覽。System Generator設計(ji)流程圖(tu)如(ru)圖(tu)4-1所(suo)示。

轉換的(de)(de)(de)操作也很簡(jian)單,在(zai)System Generator的(de)(de)(de)模型參數設(she)置對話(hua)框,選(xuan)擇一個(ge)輸(shu)出路(lu)徑(jing)并(bing)選(xuan)擇“Create Test bench”,單擊“Generate”就可以生(sheng)成(cheng)VHDL代(dai)碼和設(she)計的(de)(de)(de)testbench變量(liang)(liang)。當選(xuan)擇生(sheng)成(cheng)testbench變量(liang)(liang)后(hou),Simulink將(jiang)(jiang)重新運行剛才的(de)(de)(de)仿真。這次由于將(jiang)(jiang)經歷(li)代(dai)碼生(sheng)成(cheng)過(guo)程,他(ta)將(jiang)(jiang)在(zai)testbench變量(liang)(liang)中(zhong)保存所有輸(shu)入和輸(shu)出信息供(gong)VHDL和post-PAR仿真調用。

圖4-1 System generator設(she)計流程圖

2.基于System Generator的(de)FFT算法的(de)實現

System Generator for DSP是Xilinx公司開發的(de)(de)基(ji)于Simulink圖形環境的(de)(de)DSP開發工具。利用System Generator工具,即(ji)使是沒有(you)多少FPGA設(she)計經驗的(de)(de)設(she)計人員也能夠快速開發出高(gao)性(xing)能的(de)(de)FPGA來(lai)實現DSP算法。

FFT算法實現流程(cheng):

根(gen)據FFT算法的(de)原理以及System Generator工具的(de)特點(dian),可(ke)以在(zai)System Generator中完(wan)成(cheng)FFT算法的(de)設(she)計,然(ran)后(hou)自動生(sheng)成(cheng)HDL代碼,通過ISE軟件(jian)(jian)生(sheng)成(cheng)位流文件(jian)(jian)下載到FPGA中,從而完(wan)成(cheng)整個設(she)計。

實驗環境(jing):matlab 2010b、ISE 12.3、System Generator for DSP 12.3

(1)系統模型設(she)計(ji)

在Simulink環境中建立一個mdl模(mo)型文(wen)件,用圖(tu)(tu)(tu)形(xing)(xing)方(fang)式(shi)調用System Generator和其它的Simulink原(yuan)圖(tu)(tu)(tu)形(xing)(xing)模(mo)塊,構成系統(tong)級或算法(fa)級設計(ji)框圖(tu)(tu)(tu)如(ru)圖(tu)(tu)(tu)4-2所示。

圖4-2 設計框圖

Gateway in和(he)Gateway out模塊:用于雙浮點精度數(shu)據(ju)(ju)和(he)定點數(shu)據(ju)(ju)之間(jian)的(de)轉換(huan)。

System Generator模塊:提供Matlab和硬件設計環(huan)境ISE的(de)接口,可在(zai)指定(ding)目(mu)錄中產生可在(zai)ISE軟件下實(shi)現(xian)的(de)硬件描述(shu)語言。

Delay模塊:構成一(yi)個時延環節,可以配置(zhi)其延遲時鐘周(zhou)期的整數倍。

FIFO模塊:用于(yu)實(shi)現一組FIFO列(lie)。

FFT v3_2模塊:為(wei)離散傅立(li)葉變(bian)換(DFT)提供了一(yi)種有效算法。該模塊根據不同的結(jie)構和(he)實現(xian)方(fang)式有三種模式可供選擇:1)流水線,Streaming I/O結(jie)構;2)基4,BurstI/O結(jie)構;3)基2,Burst I/O結(jie)構。

(2)驗證與仿真

為了證(zheng)明(ming)模(mo)型(xing)設計的(de)正確性,需要對模(mo)型(xing)進(jin)行測(ce)試試驗,將(jiang)FFT模(mo)型(xing)的(de)仿真結果(guo)與MATLAB的(de)理論計算結果(guo)進(jin)行比較,完成對所(suo)建立模(mo)型(xing)的(de)測(ce)試工作。

1)信(xin)號在MATLAB中(zhong)的(de)處理

 系(xi)統的(de)輸入函數為,點數N=512,采樣(yang)周期為1s,在MATLAB中實現FFT處理的(de)程序描述如下:

n=512;

n=0:511;

t=1*n;

k=n;

x=sin(2*pi/25*t);

y=fft(x,N);

r=real(y);

i=imag(y);

subplot(1,1,1);

plot(k,r);

subplot(1,1,1);

plot(k,i);

通過以上程序得到正(zheng)弦信號通過512點FFT處理后的MATLAB理論計算結果如圖(tu)4-3所示(shi)。

a)實部結(jie)果 b)虛部結(jie)果

圖4-3 MATLAB理論計算結果(guo)

2)信(xin)號在(zai)FFT模型中(zhong)的處理

在(zai)仿真前先對Gateway in模塊(kuai)和FFT v3_2模塊(kuai)進行一下參數配置(zhi):

Gateway in模(mo)塊

Output type:Signed

Number of bits:16

Binary point:15

Quantization:Round

Overflow:Saturate

Sample period:1

FFT v3_2模(mo)塊:

Impliment:Pipelined Streaming I/O

Number of sample points:512

Output ordering:Natural order

Scaling:Unscaled

Rounding mode:Truncation

Phase factor bit width:8

將參數配置好后(hou)在Simulink的FFT模型的輸入端(duan)輸入正弦信號,然后(hou)選擇simulink/start,待仿(fang)真結(jie)束后(hou)查看scope模塊所顯示的仿(fang)真結(jie)果如圖(tu)4-4所示。

a)實(shi)部(bu)結(jie)果(guo)(guo) b)虛部(bu)結(jie)果(guo)(guo)

圖4-4 FFT模型仿真(zhen)結果(guo)

比較圖5-3和圖5-4的(de)(de)(de)波形(xing),可以看出FFT模型處理后(hou)的(de)(de)(de)結果(guo)和Matlab的(de)(de)(de)理論計算結果(guo)的(de)(de)(de)波形(xing)基本一致,得(de)到的(de)(de)(de)都是頻率單一的(de)(de)(de)實部和虛部。

需要(yao)說(shuo)明的(de)(de)(de)(de)(de)是(shi)(shi):在圖5-5中實(shi)部和虛部的(de)(de)(de)(de)(de)輸出都(dou)是(shi)(shi)從(cong)橫(heng)坐(zuo)標的(de)(de)(de)(de)(de)1118點開(kai)始的(de)(de)(de)(de)(de),這(zhe)(zhe)是(shi)(shi)因為FFT模(mo)型中的(de)(de)(de)(de)(de)FFT v3_2模(mo)塊參數(shu)選擇的(de)(de)(de)(de)(de)是(shi)(shi)Pipelined Streaming I/O模(mo)式(shi),在該(gai)模(mo)式(shi)下(xia)輸出需要(yao)延遲一段處理時(shi)間然后才能連(lian)續(xu)輸出,這(zhe)(zhe)里橫(heng)坐(zuo)標的(de)(de)(de)(de)(de)1118點實(shi)際(ji)上就是(shi)(shi)輸出的(de)(de)(de)(de)(de)起始點,也就是(shi)(shi)輸出的(de)(de)(de)(de)(de)的(de)(de)(de)(de)(de)k=0的(de)(de)(de)(de)(de)位置。

3.自動代碼生成

通過上面的(de)(de)(de)測試(shi)實驗,證(zheng)明(ming)所(suo)建立(li)的(de)(de)(de)FFT模型是滿(man)足要求的(de)(de)(de),下面就需(xu)要將FFT模型轉(zhuan)換成HDL代碼。雙擊打開(kai)System Generator模塊的(de)(de)(de)系統(tong)設定(ding)對話框,在該對話框中(zhong)(zhong)設定(ding)好(hao)目(mu)標器(qi)件的(de)(de)(de)型號(Virtex6 xc6vsx315t-3ff1156)、綜合工具(XST)、產(chan)生語(yu)言種類(VHDL)等(deng)參數(shu)(如圖4-5所(suo)示),并(bing)且選(xuan)中(zhong)(zhong)“Createtest bench”選(xuan)項,之后啟(qi)動System Generator模塊,將在指定(ding)目(mu)錄(lu)中(zhong)(zhong)產(chan)生可(ke)在ISE軟件下實現的(de)(de)(de)硬(ying)件描述語(yu)言,并(bing)且自(zi)動生成設計的(de)(de)(de)測試(shi)代碼。

圖4-5 System generator的參數設置

Gateway in模(mo)塊的參數設置如圖(tu)4-6所示:

圖4-6 Gateway in模塊的參數設置

五、總結

本文的研究工作(zuo)主要(yao)是(shi)以(yi)下幾個部分:

1.介紹了傅(fu)里葉變換及其(qi)在(zai)頻譜分析中的應用;

2.研究了利(li)用MATLAB實(shi)現(xian)譜分(fen)析(xi)的(de)傅里葉(xie)變(bian)換,其中包括基(ji)于MATLAB的(de)連續信(xin)號(hao)與離散信(xin)號(hao)的(de)頻(pin)域分(fen)析(xi);另外,本文(wen)實(shi)現(xian)了基(ji)于MATLAB的(de)快速傅里葉(xie)變(bian)換(FFT)以及信(xin)號(hao)的(de)采(cai)樣(yang)——重構操(cao)作;

3.探(tan)討FPGA的結構,其(qi)中主要涉及(ji)基于VHDL的FPGA設計流程;

4.討(tao)論(lun)了由Matlab生(sheng)成(cheng)VHDL代(dai)碼(ma)的原理,并介紹了利用System Generator及(ji)DSP Builder將Simulink模型(xing)轉換(huan)為(wei)VHDL代(dai)碼(ma)的方法(fa)。

下一步的(de)研究(jiu)工作(zuo)在于對轉(zhuan)換(huan)研究(jiu)進行(xing)細(xi)(xi)化(hua)和拓展,其中(zhong)細(xi)(xi)化(hua)部分集中(zhong)于調試優化(hua),而拓展部分在于各種功能器件的(de)轉(zhuan)換(huan)實現。

參考文獻:

[1]石海,毛哲.基于DSP實現(xian)RFID實時信號頻譜分(fen)析[J].武漢工業學院學報,2008,9(3):69-72.

[2]Agilent Technologies Inc,Agilent N9340A Handheld Spectrum Analyzer TechnicalOverview.

[3]劉樹堂(tang).2006.數字信號處理——使用MATLAB.西安(an):西安(an)交通大學(xue)出版社,252-255.

[4]胡廣(guang)書著.數字信號處理——理論、算法與實現[M].北京:清華大學出版社(she),2003,2:93-210.

[5]Joyce Van de Vegte著.侯正信(xin),王(wang)國安等譯.數(shu)字信(xin)號處理基礎[M].北京:電子(zi)工業出版社,2004.249-255,328-361.

篇9

關(guan)鍵(jian)詞:DDS;直接(jie)數字(zi)頻率合(he)成(cheng);調頻;掃頻;VHDL

中圖分(fen)類號:TN99 文獻標識碼:B 文章編號:1004373X(2008)1503002

Generation of Linear Frequency Modulation Signal Based on DDS

ZHANG Xianzhi

(Unit 63891 PLA,Luoyang,471003,China)

Abstract:DDS is a new technology which advanced theory and method of digital processing into frequency synthesis.VHDL is a kind of hardware description language,it is used to describe the function of circuit hardware,the connection relationship of signal and the timing relationship.So,it is applied broadly in the field of electron engineering.The fundamental and modulation characteristics of DDS are introduced.Besides,DDS is implemented by programming in VHDL language.A sort of linear FM signal based on DDS technology is implemented.Then,simulation result of the main part of them is given,and its correctness is verificated.

Keywords:DDS;direct digital frequency synthesis;FM;sweep frequency;VHDL

1 DDS(直接數字式頻率合成器)的基(ji)本原理

直接(jie)數(shu)字(zi)頻率(lv)(lv)合(he)成(cheng)是從相(xiang)位概念(nian)出發直接(jie)合(he)成(cheng)所(suo)需(xu)波形(xing)的(de)一種頻率(lv)(lv)合(he)成(cheng)技術。DDS把一系列(lie)數(shu)字(zi)量形(xing)式的(de)信號通過數(shu)模轉(zhuan)換器(DAC)轉(zhuan)換成(cheng)模擬(ni)量形(xing)式的(de)信號,其基(ji)本結構如圖(tu)1所(suo)示(shi)。

圖(tu)1 DDS結構示意圖(tu)DDS由(you)相位(wei)(wei)累加(jia)(jia)(jia)器(qi)(qi)(qi)(qi)(qi)、加(jia)(jia)(jia)法(fa)器(qi)(qi)(qi)(qi)(qi)、波(bo)形(xing)(xing)存儲器(qi)(qi)(qi)(qi)(qi)(ROM)、數字乘法(fa)器(qi)(qi)(qi)(qi)(qi)、D/A轉換器(qi)(qi)(qi)(qi)(qi)和(he)低(di)通濾(lv)波(bo)器(qi)(qi)(qi)(qi)(qi)(LPF)組(zu)成(cheng)(cheng)。DDS的(de)(de)(de)(de)核心是相位(wei)(wei)累加(jia)(jia)(jia)器(qi)(qi)(qi)(qi)(qi),由(you)一(yi)個(ge)加(jia)(jia)(jia)法(fa)器(qi)(qi)(qi)(qi)(qi)和(he)一(yi)個(ge)相位(wei)(wei)寄存器(qi)(qi)(qi)(qi)(qi)(REG)級聯構成(cheng)(cheng)。在參(can)考時鐘fc的(de)(de)(de)(de)控(kong)制下(xia),相位(wei)(wei)累加(jia)(jia)(jia)器(qi)(qi)(qi)(qi)(qi)對頻(pin)率(lv)控(kong)制字K進行(xing)(xing)線性累加(jia)(jia)(jia),輸出的(de)(de)(de)(de)和(he)再與相位(wei)(wei)控(kong)制字P相加(jia)(jia)(jia)后(hou)(hou)作(zuo)為地(di)址(zhi)(zhi),對ROM進行(xing)(xing)尋址(zhi)(zhi)。ROM中(zhong)存放的(de)(de)(de)(de)是經過采樣、量化處理(li)后(hou)(hou)的(de)(de)(de)(de)某種周(zhou)(zhou)(zhou)期性連續信號(hao)一(yi)個(ge)周(zhou)(zhou)(zhou)期波(bo)形(xing)(xing)的(de)(de)(de)(de)幅(fu)(fu)(fu)(fu)度值(zhi)(zhi)(zhi),也就(jiu)是與一(yi)個(ge)周(zhou)(zhou)(zhou)期的(de)(de)(de)(de)相位(wei)(wei)采樣相對應的(de)(de)(de)(de)函(han)數波(bo)形(xing)(xing)查找表,不同的(de)(de)(de)(de)相位(wei)(wei)地(di)址(zhi)(zhi)對應這(zhe)種周(zhou)(zhou)(zhou)期信號(hao)的(de)(de)(de)(de)不同幅(fu)(fu)(fu)(fu)度值(zhi)(zhi)(zhi)編(bian)碼。ROM輸出的(de)(de)(de)(de)幅(fu)(fu)(fu)(fu)度值(zhi)(zhi)(zhi)編(bian)碼通過數字乘法(fa)器(qi)(qi)(qi)(qi)(qi)被幅(fu)(fu)(fu)(fu)度控(kong)制字A加(jia)(jia)(jia)權,加(jia)(jia)(jia)權后(hou)(hou)的(de)(de)(de)(de)幅(fu)(fu)(fu)(fu)度值(zhi)(zhi)(zhi)編(bian)碼經D/A轉換器(qi)(qi)(qi)(qi)(qi)變(bian)成(cheng)(cheng)相應的(de)(de)(de)(de)階梯波(bo),再經低(di)通濾(lv)波(bo)器(qi)(qi)(qi)(qi)(qi)平滑后(hou)(hou)就(jiu)可以得(de)到(dao)所(suo)合(he)成(cheng)(cheng)信號(hao)的(de)(de)(de)(de)模擬波(bo)形(xing)(xing)。合(he)成(cheng)(cheng)的(de)(de)(de)(de)信號(hao)波(bo)形(xing)(xing)取(qu)決于(yu)ROM中(zhong)存放的(de)(de)(de)(de)幅(fu)(fu)(fu)(fu)度值(zhi)(zhi)(zhi)數據,因此用DDS可以產生(sheng)任意波(bo)形(xing)(xing)。

設(she)相(xiang)位(wei)累加器的字長為N,則DDS的輸出(chu)頻(pin)(pin)率fo和頻(pin)(pin)率分辨率(即最小輸出(chu)頻(pin)(pin)率)Δfmin分別為:fo=K?fc2N

Δfmin=fc2N 只要(yao)N足夠大,DDS可以得到很小(xiao)的頻(pin)率(lv)(lv)分(fen)辨率(lv)(lv)。要(yao)改變DDS的輸出頻(pin)率(lv)(lv),只要(yao)改變頻(pin)率(lv)(lv)控(kong)制字K即可。

值得注意的是,根據(ju)Nyquist采(cai)樣定理,在(zai)對連續信(xin)(xin)號進行采(cai)樣的一(yi)個(ge)周(zhou)(zhou)期內(nei),采(cai)樣頻率不能(neng)改變,故(gu)利(li)用(yong)DDS進行信(xin)(xin)號合成時(shi),在(zai)信(xin)(xin)號合成的一(yi)個(ge)周(zhou)(zhou)期內(nei),頻率控制字(zi)K不能(neng)發生變化,也就(jiu)是K在(zai)每次(ci)改變之(zhi)前至少應該持續2N/K個(ge)DDS時(shi)鐘周(zhou)(zhou)期,即(ji)2N/K/fc。

通過改(gai)變相(xiang)位(wei)(wei)控制(zhi)字P可以控制(zhi)輸(shu)出(chu)信號的(de)(de)相(xiang)位(wei)(wei)參數(shu),設相(xiang)位(wei)(wei)加(jia)法器的(de)(de)字長為M,當相(xiang)位(wei)(wei)控制(zhi)字由0變到P(P≠0)時,ROM的(de)(de)輸(shu)入為相(xiang)位(wei)(wei)累(lei)加(jia)器的(de)(de)輸(shu)出(chu)與相(xiang)位(wei)(wei)控制(zhi)字P之(zhi)和,因(yin)此其輸(shu)出(chu)的(de)(de)幅度值相(xiang)位(wei)(wei)會(hui)增加(jia)2πP/2M,從(cong)而使最后輸(shu)出(chu)的(de)(de)模擬信號產生相(xiang)移。

DDS輸(shu)(shu)出信(xin)號的幅(fu)度(du)可以通過在(zai)ROM之后加入一個數字乘法器來實(shi)現(xian),幅(fu)度(du)控制字A起到對ROM所輸(shu)(shu)出的幅(fu)度(du)值(zhi)編碼(ma)進行加權的作用(yong)。

由此可見(jian),當DDS的相位(wei)(wei)累加(jia)器(qi)字(zi)長(chang)和相位(wei)(wei)加(jia)法器(qi)字(zi)長(chang)確定后(hou),通過(guo)改變K,P,A就可以有效(xiao)地控制DDS輸出的模擬(ni)信(xin)號(hao)的頻(pin)率、相位(wei)(wei)和幅度,這就是DDS技(ji)術的調(diao)制特性。

2 VHDL語言實現的DDS

為簡單(dan)起見,下(xia)面所描述的DDS僅設置(zhi)了頻率控(kong)制字K,相位控(kong)制字P和(he)幅度控(kong)制字A都未(wei)予以考慮,其(qi)處(chu)理可以類推。DDS的輸出為正弦(xian)波信(xin)號。

由(you)于正(zheng)弦(xian)波關于π奇對(dui)稱,關于π/2與3π/2偶對(dui)稱,因此波形存(cun)儲(chu)器(qi)(ROM)中只需(xu)存(cun)儲(chu)其1/4個周期(qi)(qi)的幅度值(zhi)編碼。具體地,ROM中存(cun)儲(chu)正(zheng)弦(xian)波0~π/2相(xiang)位(wei)(wei)(wei)范圍(wei)內的256個采樣(yang)點的幅度值(zhi),采用(yong)8位(wei)(wei)(wei)編碼。而DDS的輸出為(wei)(wei)(wei)9位(wei)(wei)(wei),最高位(wei)(wei)(wei)作為(wei)(wei)(wei)符號(hao)位(wei)(wei)(wei),用(yong)以(yi)區(qu)分幅度值(zhi)的正(zheng)負(fu),“0”表示(shi)正(zheng),“1”表示(shi)負(fu)。ROM為(wei)(wei)(wei)8位(wei)(wei)(wei)地址(zhi)(zhi)(zhi)尋址(zhi)(zhi)(zhi),而相(xiang)位(wei)(wei)(wei)累加器(qi)的字(zi)長采用(yong)10位(wei)(wei)(wei)。最高位(wei)(wei)(wei)用(yong)以(yi)區(qu)分正(zheng)弦(xian)波的前、后(hou)半(ban)(ban)周期(qi)(qi),“0”為(wei)(wei)(wei)前半(ban)(ban)周期(qi)(qi),幅度值(zhi)為(wei)(wei)(wei)正(zheng),“1”為(wei)(wei)(wei)后(hou)半(ban)(ban)周期(qi)(qi),幅度值(zhi)為(wei)(wei)(wei)負(fu)。次高位(wei)(wei)(wei)用(yong)以(yi)區(qu)分正(zheng)弦(xian)波前、后(hou)半(ban)(ban)周期(qi)(qi)的前、后(hou)1/4周期(qi)(qi),“0”為(wei)(wei)(wei)前1/4周期(qi)(qi),尋址(zhi)(zhi)(zhi)地址(zhi)(zhi)(zhi)為(wei)(wei)(wei)相(xiang)位(wei)(wei)(wei)累加器(qi)的低8位(wei)(wei)(wei),“1”為(wei)(wei)(wei)后(hou)1/4周期(qi)(qi),尋址(zhi)(zhi)(zhi)地址(zhi)(zhi)(zhi)為(wei)(wei)(wei)相(xiang)位(wei)(wei)(wei)累加器(qi)低8位(wei)(wei)(wei)的取(qu)反。

用VHDL實現(xian)DDS的源程序的核心部分(fen)如下:

process (clk)

begin

if clk′event and clk = ′1′ then

if addr (8) = ′1′ then

taddr

else

taddr

end if;

if taddr = x"00" then

dsin (8)

else

dsin (8)

end if;

case taddr is

when x"00" => dsin (7 downto 0)

when x"01" => dsin (7 downto 0)

when x"02" => dsin (7 downto 0)

…… ……

when x"FE" => dsin (7 downto 0)

when x"FF" => dsin (7 downto 0)

when others => dsin (7 downto 0)

end case;

addr

end if;

end process;

在(zai)Xilinx ISE 8.2i開發環境中對其進行(xing)仿真的結果(guo),如圖(tu)2所示。

圖2 DDS仿真結果3 掃頻(pin)信(xin)號(hao)的產(chan)生

利用DDS技術的(de)(de)調(diao)制(zhi)特性可以方便地產生掃頻(pin)信(xin)號,僅需控制(zhi)DDS的(de)(de)頻(pin)率控制(zhi)字K,讓其隨預期設計的(de)(de)規律變(bian)化(hua)即可。

為了采用DDS實現(xian)掃(sao)(sao)(sao)(sao)頻(pin)(pin)信(xin)號(hao)掃(sao)(sao)(sao)(sao)頻(pin)(pin)帶寬(kuan)范(fan)(fan)圍(wei)內的(de)(de)(de)各個(ge)(ge)(ge)(ge)頻(pin)(pin)點fi,需要(yao)為其(qi)(qi)確(que)定相(xiang)應的(de)(de)(de)頻(pin)(pin)率控制字Ki,從而(er)很容易地計(ji)(ji)算(suan)出所(suo)需的(de)(de)(de)一(yi)系(xi)列Ki值。與DDS的(de)(de)(de)基本(ben)原理類似,將符(fu)合設計(ji)(ji)要(yao)求的(de)(de)(de)一(yi)系(xi)列Ki值存儲在一(yi)張查(cha)(cha)找(zhao)(zhao)表中(zhong)(zhong)。再利(li)用一(yi)個(ge)(ge)(ge)(ge)計(ji)(ji)數(shu)器(qi)(qi)循(xun)(xun)環計(ji)(ji)數(shu),將其(qi)(qi)輸出作為查(cha)(cha)找(zhao)(zhao)表的(de)(de)(de)尋址地址,以此不斷地循(xun)(xun)環讀(du)取查(cha)(cha)找(zhao)(zhao)表中(zhong)(zhong)的(de)(de)(de)各個(ge)(ge)(ge)(ge)Ki。這(zhe)樣(yang)就可以使受Ki控制的(de)(de)(de)DDS的(de)(de)(de)輸出始終(zhong)在所(suo)預期(qi)設計(ji)(ji)的(de)(de)(de)各個(ge)(ge)(ge)(ge)頻(pin)(pin)點fi上變化(hua),達到掃(sao)(sao)(sao)(sao)頻(pin)(pin)的(de)(de)(de)目的(de)(de)(de)。其(qi)(qi)中(zhong)(zhong),計(ji)(ji)數(shu)器(qi)(qi)循(xun)(xun)環一(yi)次(ci)的(de)(de)(de)時間就是所(suo)要(yao)實現(xian)的(de)(de)(de)掃(sao)(sao)(sao)(sao)頻(pin)(pin)信(xin)號(hao)的(de)(de)(de)掃(sao)(sao)(sao)(sao)頻(pin)(pin)周期(qi),而(er)計(ji)(ji)數(shu)器(qi)(qi)的(de)(de)(de)計(ji)(ji)數(shu)范(fan)(fan)圍(wei)則與掃(sao)(sao)(sao)(sao)頻(pin)(pin)信(xin)號(hao)掃(sao)(sao)(sao)(sao)頻(pin)(pin)帶寬(kuan)范(fan)(fan)圍(wei)內的(de)(de)(de)頻(pin)(pin)點個(ge)(ge)(ge)(ge)數(shu)相(xiang)對應。

以上就是利用DDS實現掃頻信號的(de)(de)基本思路,以下是實現此思路的(de)(de)VHDL源(yuan)程序的(de)(de)主(zhu)要部分(fen):

process (clk)

begin

if clk′event and clk = ′1′ then

case t is

when o"0" => dcs

when o"1" => dcs

when o"2" => dcs

when o"3" => dcs

when o"4" => dcs

when o"5" => dcs

when o"6" => dcs

when o"7" => dcs

when others => dcs

end case;

t

end if;

end process;

在(zai)Xilinx ISE 8.2i開發環境中對其進行仿真的結果如(ru)圖(tu)3所(suo)示。

圖3 產生頻(pin)率(lv)控制(zhi)字的仿真結(jie)果4 結(jie) 語

VHDL是IEEE的(de)工業(ye)標準硬件描述語言,可(ke)以描述硬件電(dian)路的(de)功能、信號連接關系及定時關系,在電(dian)子(zi)工程領域用來(lai)描述、驗證(zheng)和(he)設(she)計電(dian)子(zi)線路得到了廣泛(fan)的(de)接受和(he)應用。利用DDS技術(shu)的(de)調制特性產生各(ge)種調制信號簡(jian)單方便,容(rong)易實現(xian)。從(cong)文中不難看出,將(jiang)VHDL語言與(yu)DDS技術(shu)結合(he)起(qi)來(lai)設(she)計生成調頻(pin)信號,直觀快(kuai)捷,可(ke)操作性很強,必將(jiang)得到更(geng)加廣泛(fan)的(de)應用。

參 考 文 獻

[1]張(zhang)順(shun)興(xing).數字(zi)電路與系統設(she)計[M].南京:東南大(da)學出版社,2004.

[2]黃智(zhi)偉(wei).射頻電(dian)路設計(ji)[M].北京:電(dian)子工業(ye)出版社,2006.

[3]姜宇柏,游思(si)晴.軟件無線電原理與工程應用[M].北京(jing):機械(xie)工業出版社,2006.

[4]譚會(hui)生,瞿(ju)遂春.EDA技(ji)術(shu)綜合應(ying)用實(shi)例(li)與分析[M].西安(an):西安(an)電子(zi)科技(ji)大學出版(ban)社(she),2004.

[5]潘松(song),黃繼業,王國棟.現代DSP技術(shu)[M].西安(an):西安(an)電子科技大學(xue)出版社,2003.

[6]鄧延安(an).直接數字頻率合成單象限存儲結構的(de)VHDL語(yu)言實現[J].安(an)徽工程科技學院學報,2006,21(1):37-39.

 [7]李逢玲,鄭飛.基(ji)于EDA技術的調頻(pin)信號(hao)發(fa)生器的設計[J].現代電子技術,2006,29(8):10-12.

[8]DDS原理簡介[EB/OL]..cn.

篇10

【關鍵詞】項目化教學;FPGA開發與(yu)應(ying)用;VHDL

1 基(ji)于(yu)FPGA的(de)數(shu)字系統(tong)設(she)計簡介

FPGA是(shi)Field Programmable Gate Array的(de)(de)縮寫,即(ji)現場可(ke)編程門陣列,它(ta)完(wan)全由用戶(hu)通(tong)過(guo)軟(ruan)件進行(xing)編程和配置(zhi),從(cong)而完(wan)成(cheng)(cheng)(cheng)某種(zhong)(zhong)特定的(de)(de)功(gong)能,且可(ke)以反復擦寫的(de)(de)新型器(qi)件。傳統的(de)(de)數(shu)字(zi)系(xi)統設(she)計(ji)(ji)方(fang)(fang)法是(shi)自底(di)向上的(de)(de)設(she)計(ji)(ji)方(fang)(fang)法,它(ta)是(shi)以各(ge)種(zhong)(zhong)不同的(de)(de)中(zhong)小規(gui)模集成(cheng)(cheng)(cheng)電(dian)路芯(xin)片(pian)(pian)(pian)為(wei)基(ji)礎,按照功(gong)能要求在印(yin)刷(shua)電(dian)路板上將不同的(de)(de)芯(xin)片(pian)(pian)(pian)連接起來,構成(cheng)(cheng)(cheng)實現某種(zhong)(zhong)功(gong)能的(de)(de)電(dian)子系(xi)統。基(ji)于FPGA[1]的(de)(de)數(shu)字(zi)系(xi)統設(she)計(ji)(ji)方(fang)(fang)法采用自頂向下的(de)(de)設(she)計(ji)(ji)方(fang)(fang)法,把(ba)系(xi)統分(fen)成(cheng)(cheng)(cheng)若干個基(ji)本單(dan)元,然后再(zai)把(ba)每(mei)個基(ji)本單(dan)元劃分(fen)為(wei)下一層次(ci)的(de)(de)基(ji)本單(dan)元。它(ta)以FPGA芯(xin)片(pian)(pian)(pian)為(wei)核(he)心,通(tong)過(guo)編程的(de)(de)方(fang)(fang)式完(wan)成(cheng)(cheng)(cheng)系(xi)統功(gong)能的(de)(de)設(she)計(ji)(ji)并將設(she)計(ji)(ji)寫入FPGA芯(xin)片(pian)(pian)(pian)內(nei),使(shi)芯(xin)片(pian)(pian)(pian)具有設(she)計(ji)(ji)的(de)(de)功(gong)能。設(she)計(ji)(ji)過(guo)程中(zhong)通(tong)過(guo)不同階(jie)段的(de)(de)仿真可(ke)以及時檢查設(she)計(ji)(ji)的(de)(de)正確性,電(dian)路的(de)(de)修(xiu)改只(zhi)需(xu)要通(tong)過(guo)修(xiu)改程序并重(zhong)新下載到FPGA中(zhong)即(ji)可(ke)。因此基(ji)于FPGA的(de)(de)數(shu)字(zi)系(xi)統設(she)計(ji)(ji)易于測試和修(xiu)改,設(she)計(ji)(ji)周期短,便于移植。

2 項目化教學(xue)實(shi)施過程

“FPGA開發與應用(yong)(yong)”這門課(ke)是針對(dui)大三計算機網(wang)絡工程(cheng)(cheng)專業學(xue)生開設的一門專業課(ke),學(xue)生在前期已學(xue)過《電(dian)(dian)路》、《數(shu)字電(dian)(dian)路》、《模擬電(dian)(dian)路》、《C語(yu)言(yan)程(cheng)(cheng)序設計》等課(ke)程(cheng)(cheng)。通過該(gai)門課(ke),使學(xue)生掌握VHDL語(yu)言(yan)(超高(gao)速集成電(dian)(dian)路硬件描述語(yu)言(yan))的編程(cheng)(cheng)方法,能熟練應用(yong)(yong)ISE平臺進行數(shu)字系統設計,理(li)解自(zi)頂向下的系統設計方法,積累數(shu)字系統設計經驗。

傳統的(de)教(jiao)學(xue)方法(fa)重在(zai)(zai)介紹VHDL語(yu)(yu)言的(de)語(yu)(yu)法(fa)規則和(he)語(yu)(yu)句,知(zhi)識點(dian)較零散,學(xue)起來(lai)較枯燥,而且不知(zhi)如(ru)何應用這(zhe)些語(yu)(yu)句。而項(xiang)(xiang)目(mu)化教(jiao)學(xue)重在(zai)(zai)將(jiang)知(zhi)識點(dian)融在(zai)(zai)項(xiang)(xiang)目(mu)中(zhong)理解,學(xue)生通過做一(yi)個小項(xiang)(xiang)目(mu)可以掌握(wo)相(xiang)應的(de)知(zhi)識點(dian),并通過3-4人一(yi)組協作完成(cheng),培養其團隊合作能(neng)力、溝通能(neng)力和(he)語(yu)(yu)言表達能(neng)力等。項(xiang)(xiang)目(mu)化教(jiao)學(xue)真正實現(xian)了三個轉變:以教(jiao)師為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin)轉變為(wei)(wei)(wei)(wei)以學(xue)生為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin);以課(ke)本(ben)為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin)轉變為(wei)(wei)(wei)(wei)以項(xiang)(xiang)目(mu)為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin);以課(ke)堂為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin)轉變為(wei)(wei)(wei)(wei)以實際經(jing)驗為(wei)(wei)(wei)(wei)中(zhong)心(xin)(xin)[2]。

下面(mian)將通過“點亮兩(liang)位(wei)數字”項目分析(xi)如(ru)何(he)實(shi)施(shi)項目化教學[3][4]。“點亮兩(liang)位(wei)數字”項目即利用Xilinx公司的ISE軟件平臺(tai)進(jin)行系統設計(ji),通過VHDL語言編程實(shi)現顯示兩(liang)位(wei)數字的功能,并最(zui)終(zhong)生成(cheng)二進(jin)制文(wen)件,下載到Basys2開發板上驗(yan)證。

2.1 項目立項階(jie)段

教師先向(xiang)學(xue)生展示(shi)最(zui)終要完成(cheng)的效果,講明(ming)項目任務,再對學(xue)生進行分組,盡(jin)量采取自愿(yuan)原則,教師可對小組成(cheng)員(yuan)適當調整,保證(zheng)每組中至少有一(yi)人學(xue)習情況(kuang)較(jiao)好(hao),并任命一(yi)人為組長。

2.2 需求分析階(jie)段

根(gen)據項目要求(qiu),分析最終要呈現的效(xiao)果,確定程序的功能模塊(kuai)和性能需求(qiu)。比如要用兩個(ge)數碼(ma)管(guan)顯示(shi)、動態掃描(miao)問題(ti)、譯(yi)碼(ma)問題(ti)等。

2.3 系(xi)統設(she)計(ji)階段

首先每個(ge)(ge)(ge)小組(zu)(zu)要(yao)確(que)定總體方案(an)設(she)(she)計(ji),例如分哪幾個(ge)(ge)(ge)模(mo)塊、每個(ge)(ge)(ge)模(mo)塊要(yao)實現什(shen)么功能,再(zai)進(jin)行(xing)詳(xiang)細(xi)設(she)(she)計(ji),包括用Visio軟件繪制系統(tong)(tong)功能結構圖(tu)(如圖(tu)1所(suo)示)、每個(ge)(ge)(ge)模(mo)塊如何用VHDL語言實現等。在詳(xiang)細(xi)設(she)(she)計(ji)中(zhong),涉及每個(ge)(ge)(ge)模(mo)塊具體的(de)功能,寫出詳(xiang)細(xi)的(de)系統(tong)(tong)設(she)(she)計(ji)報告,以此進(jin)行(xing)編(bian)碼和測試,從而保證系統(tong)(tong)設(she)(she)計(ji)的(de)可靠性(xing)。可以由組(zu)(zu)長分配任務,讓(rang)每個(ge)(ge)(ge)組(zu)(zu)員完成一個(ge)(ge)(ge)模(mo)塊的(de)編(bian)寫工作。

2.4 編碼、測試階段(duan)

教師(shi)檢(jian)查每組的系(xi)統功(gong)能結構圖(tu),若無(wu)問題,則(ze)可以開(kai)始編程(cheng)。在(zai)用VHDL語(yu)(yu)言編程(cheng)階段,學生(sheng)可根(gen)據(ju)系(xi)統功(gong)能結構圖(tu)分(fen)模塊(kuai)進(jin)行調試,先將底層(ceng)三個模塊(kuai)(分(fen)頻(pin)器、控制(zhi)模塊(kuai)、譯(yi)碼器)都(dou)編好后(hou),通過(guo)ISE軟(ruan)件(jian)編譯(yi)檢(jian)查語(yu)(yu)法錯誤(wu)、并進(jin)行仿真,若無(wu)問題,再進(jin)行頂(ding)層(ceng)文件(jian)編寫;若有問題,則(ze)需(xu)修改源代碼,直至無(wu)錯誤(wu)為止。頂(ding)層(ceng)文件(jian)主要是通過(guo)元件(jian)例化語(yu)(yu)句將底層(ceng)三個模塊(kuai)進(jin)行連接(jie),編好后(hou),也需(xu)要經過(guo)ISE軟(ruan)件(jian)編譯(yi)檢(jian)查語(yu)(yu)法錯誤(wu)。

2.5 下(xia)載、驗證(zheng)階段

最后將生成(cheng)的(de)二進制文件(jian)下載到(dao)(dao)basys2開發板上(shang)驗(yan)證(zheng),若能正確(que)顯示(shi)兩位數(shu)字,即成(cheng)功。若不能正常(chang)顯示(shi),則需返(fan)回(hui)到(dao)(dao)ISE軟(ruan)件(jian)中,修改底層文件(jian)或(huo)頂層文件(jian),直至驗(yan)證(zheng)成(cheng)功為止(zhi)。

2.6 驗收階段

在編寫代碼(ma)的(de)(de)(de)過程中,教師可適(shi)當(dang)給予指導(dao)(dao),給學(xue)生提(ti)(ti)供一些參(can)考資料或(huo)相似的(de)(de)(de)例子,幫助學(xue)生完(wan)成(cheng)(cheng)(cheng)項(xiang)目(mu)。教師要檢查各(ge)(ge)組(zu)最終能否(fou)實現“顯(xian)示兩位(wei)(wei)數(shu)字”,協助并(bing)指導(dao)(dao)各(ge)(ge)組(zu),完(wan)成(cheng)(cheng)(cheng)編寫“顯(xian)示兩位(wei)(wei)數(shu)字”項(xiang)目(mu)文檔,并(bing)對各(ge)(ge)組(zu)進(jin)行成(cheng)(cheng)(cheng)績(ji)評(ping)(ping)定(ding)。各(ge)(ge)組(zu)組(zu)長(chang)向全班匯報(bao)、展示本組(zu)的(de)(de)(de)作品(pin),并(bing)列舉項(xiang)目(mu)開(kai)發中遇到(dao)的(de)(de)(de)各(ge)(ge)種問題,其他組(zu)的(de)(de)(de)學(xue)生可以提(ti)(ti)問,最后教師對各(ge)(ge)組(zu)進(jin)行點評(ping)(ping)。各(ge)(ge)組(zu)組(zu)長(chang)根據(ju)小組(zu)成(cheng)(cheng)(cheng)員的(de)(de)(de)貢獻(xian)對小組(zu)成(cheng)(cheng)(cheng)員進(jin)行打分,教師根據(ju)小組(zu)成(cheng)(cheng)(cheng)績(ji)和組(zu)長(chang)對各(ge)(ge)成(cheng)(cheng)(cheng)員的(de)(de)(de)打分,確定(ding)每位(wei)(wei)學(xue)生的(de)(de)(de)成(cheng)(cheng)(cheng)績(ji)。

3 總結

由于傳統(tong)的(de)教學(xue)(xue)(xue)方(fang)(fang)法重在介(jie)紹VHDL語(yu)(yu)言(yan)的(de)語(yu)(yu)法和(he)語(yu)(yu)句,學(xue)(xue)(xue)生學(xue)(xue)(xue)起來(lai)較枯燥(zao),因此(ci)結(jie)合《FPGA開發(fa)與應用》課(ke)程(cheng)(cheng)的(de)特(te)點,通(tong)過(guo)“顯示兩位(wei)數字(zi)”項目,展示如何(he)在《FPGA開發(fa)與應用》課(ke)程(cheng)(cheng)中(zhong)實施(shi)項目化教學(xue)(xue)(xue)。通(tong)過(guo)項目化教學(xue)(xue)(xue),不但(dan)能使學(xue)(xue)(xue)生掌握VHDL語(yu)(yu)言(yan)的(de)編(bian)程(cheng)(cheng)方(fang)(fang)法和(he)自(zi)(zi)頂向下的(de)系統(tong)設(she)計方(fang)(fang)法,熟悉真實項目的(de)實施(shi)過(guo)程(cheng)(cheng),而(er)且通(tong)過(guo)分(fen)組協作(zuo)完成(cheng)一個項目,可以鍛煉學(xue)(xue)(xue)生的(de)團隊協作(zuo)能力、溝通(tong)能力、語(yu)(yu)言(yan)表(biao)達能力等,從而(er)激(ji)發(fa)學(xue)(xue)(xue)生的(de)學(xue)(xue)(xue)習(xi)(xi)興趣,提高(gao)學(xue)(xue)(xue)生的(de)自(zi)(zi)主學(xue)(xue)(xue)習(xi)(xi)能力。

【參考文獻】

[1]陳(chen)學英,李穎.FPGA應(ying)用實驗(yan)教(jiao)程[M].國防工業出版社,2013,05.

[2]張(zhang)學琳(lin),陳齊超,段珊,胡波.項目教學法在“C語言課程(cheng)設計”中的研究與應用[J].實驗技術(shu)與管理,2011,28(02):164-167.