<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

vhdl語言范文

2023-09-23

vhdl語言范文第1篇

關鍵詞:VHDL,數字電路,設計

1 引言

近年來,隨著數字集成電路技術的發展,用以前傳統的方法進行芯片或系統設計已不能滿足要求,迫切需要提高設計效率。能大大降低設計難度的VHDL設計方法正在被越來越廣泛的采用。VHDL即超高速集成電路硬件描述語言,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂。從更高的抽象層次和系統描述能力上擴展VHDL的內容。公布了新版本的VHDL,即IEEE標準的1076-1993版本?,F在,VHDL作為IEEE的工業標準硬件描述語言,已成為通用硬件描述語言。

以下詳細介紹了利用VHDL語言設計數字系統的方法,并給出了設計實例。

2 VHDL的特點及其設計方法

VHDL語言主要用于描述數字系統的結構、行為、功能和接口,與其他硬件描述語言相比,VHDL語言有如下優越之處:

(1)VHDL語言支持自上而下(Top Down)和基于庫(Library-Base)的設計方法,還支持同步電路、異步電路、FPGA以及其他隨機電路的設計;

(2)VHDL語言具有多層次描述系統硬件功能的能力,可以從系統的數學模型直到門級電路,其高層次的行為描述可以與低層次的RTL描述和結構描述混合使用,還可以自定義數據類型,給編程人員帶來較大的自由和方便;

(3)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必關心最終設計實現的目標器件是什么;

(4)VHDL具有電路仿真與驗證功能,可以保證設計的正確性,用戶甚至不必編寫如何測試相量便可以進行源代碼級的調試,而且設計者可以非常方便地比較各種方案之間的可行性及其優劣,不需做任何實際的電路實驗;

(5)VHDI語言可以與工藝無關編程;

(6)VHDL語言標準、規范,易于共享和復用。

VHDL語言的設計方法是一種高層次的設計方法,也稱為系統級的設計方法,其設計步驟如下:

2.1 按照“自頂向下”的設計方法進行系統劃分。

2.2 輸入VHDL語言代碼。

2.3 將以上的設計輸入編譯成標準的VHDL文件。

2.4 用綜合器對VHDL源代碼進行綜合優化處理,生成門級描述的網表文件。

2.5 利用適配器將綜合后的網表文件針對某一具體的目標器件進行邏輯映射操作。

2.6 將適配器產生的器件編成文件通過編程器或下載電纜到目標芯片FPGA或CPLD中。

3 設計實例分析

下面我們就用數字電路中的常見的4選1數據選擇器作為設計目標。4選l數據選擇器:輸入信號4路,控制信號2路,輸出信號l路,4選l數據選擇器的VHDL程序設計如下:

可見程序是相當簡單而且邏輯清晰的,這種自頂向下的設計方法使一個大型的系統設計分解為若干個可操做的模塊,易于分工合作,并且可以對這些模塊分別進行模擬仿真。由于設計的主要模擬仿真是在高層上實現的.所以能及早地發現系統中的錯誤并改正,提高設計的效率。

我們再用VHDL語言設計空調機控制器??照{機控制器原理如圖1所示,它的兩個輸入來自溫度傳感器,用于監測室內溫度。如果室內溫度正常,則temp_high和temp_low均為'0';如果室內溫度過高,則temp_high為'1',圖1空調機控制器原理圖temp_low為'0';如果室內溫度過低,則temp_high為'0',temp_low為'1'。根據temp_high和temp_low的值來決定當前的工作狀態,并給出相應的制冷(coo1)和制熱(heat)輸出信號。

利用Max+plusⅡ軟件工具對所編程序進行編譯、仿真。仿真結果如圖2所示,當temp_low為“1”,即溫度過低,則heat為“1”(制熱);當temp_high為“1”,即溫度過高,則cool為“1”(制冷)。經綜合后的仿真分析表明,該方案是合理可行的。通過仿真后,即可編程下載。

通過對空調器控制器電路的VHDL的仿真實現,表明VHDL在數字電子電路的設計中具有硬件描述能力強、設計方法靈活、易于修改等特點。

結論

隨著信息技術、計算機技術、大規模集成電路的發展和硬件描述語言的出現,數字系統的硬件設計作用于軟件設計完全可以實現。VHDL語言具有與具體硬件無關和與設計平臺無關的特性,并具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和可靠性。作為一種重要的高層次設計技術,VHDL已成為當代電子設計師設計數字硬件時必須掌握的一種方法。

參考文獻

[1]康華光.電子技術基礎[M].北京:高等教育出版社,1998.

[2]江冰.電子技術基礎及應用[M].北京:機械工業出版社,2001.

[3]陳耀和.VHDL語言設計技術[M].北京:電子工業出版社.

vhdl語言范文第2篇

關鍵詞:VHDL語言,電子設計,自動化,應用

0 引言

近些年,隨著電子技術及計算機技術的不斷發展,使用原來的方法進行系統及芯片的設計已經不能滿足要求了,需要具有更高效率的設計方法,運用VHDL語言進行電子設計就是在這種情況下開發的,而且被越來越廣泛地應用到電子設計自動化中,顯著地提高了開發效率及產品的可靠性。

1 電子設計自動化和VHDL語言概述

1.1 電子設計自動化概述

電子設計自動化又稱為EDA技術,它是在上世紀70年代的集成電路技術茂盛發展下誕生的,與集成電路的復雜度是緊密相關的。在第一代電子設計自動化EDA中,其主要功能是進行圖形編輯交互及設計規則檢查,所要解決的問題是進行PCB布局布線或者晶體管級版圖的設計;第二代電子自動化設計EDA系統,主要包括邏輯圖的設計輸入、邏輯綜合、芯片布圖、模擬驗證及印刷電路的版布圖等,隨著集成電路尺寸越來越小、規模越來越大、速度及頻率越來越高、設計越來越復雜,HDL的設計方案應運而生,隨后具有描述語言的VHDL被提出來了。

1.2 VHDL語言概述

VHDL語言是指超高速集成電路的硬件描述語言,它是一種很快的電路設計工具,其功能主要包括電路合成、電路描述及電路仿真等電路設計工作。VHDL語言是由抽象及具體硬件級別進行描述的工業標準語言,它已經成為了一種通用硬件設計的交換媒介,很多工程軟件供應商已經把VHDL語言當做了EDA或CAD軟件的輸入/輸出標準,很多EDA廠商還提供了VHDL語言編譯器,同時在方針工工具、布圖工具及綜合工具中對VHDL語言提供了支持。

2 VHDL語言的特點及開發流程

2.1 VHDL語言主要有幾方面的特點。

一是VHDL語言具有較強的描述功能,能夠對支持系統的行為級、門級及寄存器傳輸級這三個層次進行設計,和其它硬件描述語言相比,VHDL語言的行為描述能力更強,這種較強的行為描述力能夠有效地避開具體器件結構,對大規模的電子系統的邏輯行為進行描述與設計,VHDL語言已經成為高層次設計中的核心,也是它成為了電子設計系統領域最好的硬件語言描述。

二是VHDL語言具有較為豐富的模擬庫函數及仿真語句,這使它能夠在任何設計系統中,很早地就能對設計系統功能中的可行性進行查驗,并隨時可以對設計進行模擬仿真,將設計中的邏輯錯誤消除在組裝前,由于大規模集成電路及應用多層的印刷技術器件組裝完畢之后,很難進行修改,這就使得邏輯模擬變得不可缺少,運用邏輯模擬還能夠減少成本縮短調試及設計周期。對于中小規模的集成電路,僅運用模擬就能夠獲得成功數字系統設計;而大規模集成電路,則需要運用邏輯模擬進行邏輯網絡設計的檢查與分析,邏輯模擬系統對于集成電路來說,是不可缺少的重要手段。

三是VHDL語言能夠支持大規模的設計分解,及已有設計再利用,大規模的設計不可能有一個人獨立地完成,需要多個項目共同的組成,VHDL語言中的設計實體概念、設計庫概念、程序包概念為設計的分解及再利用提供了有力的支持。

四是VHDL語言的可讀性好,能夠被計算機接受也能夠被人類輕易的理解,VHDL語言所書寫的源文件,既可以當做文檔又能是程序,這種用源代碼的描述進行復雜的控制邏輯設計,不僅靈活方便,還能夠對設計結果進行保存、交流及重用。

五是VHDL語言本身生命周期就較長,在VHDL語言設計中,并不包含和工藝相關的信息,其設計和最終工藝實現是無關的,能夠使設計通過門級仿真之后,在用合適的工具映射到不同的工藝當中,當工藝進行更新時,就不需要進行原設計的修改了,僅改變映射工具就可以了,對于已經完成的設計,尤其是和工藝技術相關的參數可以運用VHDL語言所提供的類屬進行描述,或者進行子程序功能的調用,可以在源程序不改變的情況下,僅修改類屬的函數及參量就可以了,這樣就可以改變電子設計的規模及結構了。當然在VHDL語言也有些不足之處,像沒有WAIT語句、不能處理動態結構、不能等待時序等,但它整體還是有很多優點的,并為硬件設計帶來了很大地方便,被很多用戶所接受,也得到了很多廠商的有力支持。

2.2 VHDL語言的開發流程

VHDL語言的開發流程主要為文本編輯、功能仿真、邏輯綜合、布局布線、時序仿真及編程下載。其中文本編輯器能夠進行VHDL語言環境的編輯,其文件保存為.vhd的文件;功能仿真是指將文件調入VHDL的仿真軟件中,并進行功能的仿真,對其邏輯功能進行檢查以驗證是否正確,也稱為前仿真,對于那些相對簡單的電子設計可以忽略這一步,在布線完成之后直接進行時序仿真;邏輯綜合是指將文件進行邏輯綜合并在設定的約束條件下進行綜合,就是把語言綜合成布爾表達式及信號連接關系,綜合之后會生成.edf的電子設計自動化的工業標準文件;布局布線則是將.edf文件調到PLD廠家所提供的軟件之中進行布局布線,這樣就可以把已設計好的邏輯安放到PLD內了;時序仿真是指利用布局布線時所獲得的精確參數進行后仿真的驗證;編程下載所指當確認方針沒有錯誤后,就將文件儲存到目標芯片中。

3 VHDL語言在電子設計自動化中的應用

3.1 VHDL語言在電子設計自動化中的應用實例

以簡單的數字鐘說明VHDL語言在電子設計自動化中的應用,數字鐘中主要包括秒s、分min、時h三個主要模塊,這里所指的秒分是60進制的計數源代碼,library ieee;

在電子設計自動化應用實例當中,我們用到了分、秒計數器,并將底層的模塊連接成為頂層的文件,從實現簡單的自動數字時鐘,當然還可以對鬧時模塊、報時模塊及校正模塊等進行設計,并與頂層的數字鐘模塊進行連接,運用VHDL語言,能夠使其模塊化,并由頂部向下的設計,所需要的時間并不長,這個自動化數字鐘的應用是比較簡單的,但它們的系統理念是相通的。

3.2 VHDL語言在電子設計自動化應用中所要注意的問題

在電子自動化應用中,VHDL語言已經成為了主要的硬件描述通用語言,很多電子設計自動化公司都在應用這種語言,從語法的角度來看,與以前所應用的C語言或者Pascal是相互聯系的,但是它們之間又是相互區別的,VHDL語言能夠并行執行,與硬件之間有著對應的關系,其描述力是很強的。在一般的結構設計中,主要有支持行為、結構及數據流的描述方法,在運用VHDL語言的編程中,所要注意的是:

一是文件名和實體名要相同,其后綴均為.vhd,程序的存儲路徑不能有漢字出現,變量要放在結構體之中,變量并不是全局量,僅能在進程語句及子程序中進行使用。

二是在編程的時候,幾乎都要運用到std_logic_1164的程序包,僅運用到這個程序包是不夠的,還應該依據運算符的支持數據類型進行其他數據包的選擇。

三是關于順序語句和并行語句問題,要把并行語句直接放入結構體里就可以了,而順序語句就要放在process里了,雖然process自身是并行語句,但它的內部確是順序語句。

四是在條件語句中,條件的覆蓋是不完整的,綜合器會把多余的鎖存器引入進來,一定要對條件所覆蓋的范圍進行考慮,通常的處理方法是加上else語句進行條件補全,頂層的文件在進行存盤時,其文件名是不能和底層的文件名相同的。

4 VHDL語言在電子設計自動化應用中的作用

VHDL語言在電子設計自動化中的應用,能夠有效地打破傳統硬件電路的設計界限,借助硬件的描述語言設計出與相關要求相符合的硬件系統,運用VHDL語言對電子設計自動化的應用,與C語言的語法類型是相似的,具有很好的可讀性,掌握起來也較為簡單,運用VHDL語言進行硬件電路的設計打破了原有地先畫出電路的原理圖,再進行元器件及實際電路定式的搭建,可以靈活地御用VHDL語言描述的硬件電路功能進行信號的連接和定時關系,在總體行為的設計一直到最終邏輯形成網絡表的文件,對于每一步都要進行仿真的檢查,在仿真結果分析中,能夠發現電子自動化系統的設計中所存存在的問題,這樣更有利于電子設計自動化應用的完整,并且其設計效率更高,時間周期更短,VHDL語言已經被廣泛地應用在電子設計自動化中了。

5 總結

隨著電子技術和計算機技術的不斷發展,電子產品也在迅速發展著,電子設計自動化技術改變了傳統的數字系統設計方法及實現手段,而VHDL國際標準語言與電子設計自動化技術工具的結合,能夠有效地降低設計的風險,縮短設計的時間周期,提高設計效率,隨著VHDL語言在電子設計自動化的應用越來越廣泛,并將會給硬件的設計領域帶來很大的變革。

參考文獻

[1]萬軍華,劉瑞通.基于VHDL的多功能數字鬧鐘設計[J].湖南理工學院學報(自然科學版),2011(01).

[2]楊帆.淺談電子設計自動化技術[J].科技廣場,2009(03).

[3]吳德林.數字邏輯電路在EDA實驗開發系統中的仿真設計[J].科技信息,2010(21).

[4]劉文君.VHDL在數字電路設計中的應用[J].中小企業管理與科技(下旬刊),2009(01).

vhdl語言范文第3篇

關鍵詞:交互,多媒體,微機組裝,腳本

演示型的課件在一定程度上能吸引學生的注意力,激發學生學習的興趣,但時間長了,由于學生只能被動地接受演示內容,而不能主動參與人機交互,往往多媒體課件會失去它應有的魅力。我們需要提供強大交互功能,能使制作出的課件功能充分體現人機交互的優勢,讓學生有選擇地進行主動學習的課件。

1 開發工具的選擇

Author Ware、Powerpoint、Flash都是目前常用的多媒體課件開發軟件。其中Powerpoint難度較小,易制作,復雜交互難于實現。圖片屬于內部素材,聲音和視頻屬于外部素材,一般不能脫離原軟件運行,一般用來制作比較簡單的教學課件。FLASH制作難度較大,可以實現復雜的交互,圖片、動畫、聲音、視頻可以作為內部素材打包,打包后可以獨立運行,但對于很多特效和交互的實現不如authorware方便,而且需要一定美術動畫制作功底。而authorware是課件制作工具中應用比較廣泛的平臺,具有基于圖標和流程線的開發模式,、程序模塊化設計思想、豐富的文字與圖片處理能力、多樣的動畫設計方案、各種多媒體素材的完美集成、功能強大的交互式設計、靈活多變的變量與函數、極強的外部資源調用和多媒體網絡傳輸能力,使我們輕松實現各種隨心所欲的交互效果。

采用Author Ware作為開發工具,在系統的具體實現過程中,以導航組以及群組為各模塊、子模塊的入口,具體操作采用明晰的導航命令按鈕來實現。因系統是多媒體授課應用系統,在制作過程中輔借了各種媒體制作軟件如:Photoshop、Flash MX、Animitor、Rido Edictor等軟件,使我們的窗口界面更加美觀、新穎、生動、逼真。內容更加豐富、詳實。

2 各模塊主要功能及實現

2.1 微機組裝方法

該模塊制作了視頻安裝演示過程和組裝中的重點和難點。教師通過視頻采集錄取微機安裝的全部內容,并利用多媒體課件中的數字電影圖標插入媒體剪輯并用群組進行分類,Authorware提供的強大的交互功能使學生更加直觀、有選擇地進行主動學習。不同板卡的組裝方法學生可以反復觀看。對于視頻不能直觀演示的重點和要點則以文字和圖片和熱點的方式展現給學生。詳細、直觀、生動的安裝說明使學生避免了很多錯誤,并高效、快速地掌握了安裝原理和技能。

完成該功能主要采用的技術參數:Photoshop圖形處理、群組圖標、框架圖標和交互圖標的使用、熱區交互的設計、數字電影圖標等。

熱區交互是用戶通過單擊、雙擊或移動到展示窗口中任意一個矩形區域而產生交互響應的交互類型。同建立按鈕交互響應一樣,只要在建立交互時從彈出的[交互類型]對話框中單擊[熱區域]單選按鈕即可建立熱區域交互。

群組圖標是一種非常實用的工具,它能夠將流程線上的圖標變成可管理的幾個模塊,使得程序的流程更加清晰,這與高級程序語言中子程序或過程的作用非常相似。在具體的使用過程中,通常將邏輯關聯的一組圖標放在一個群組圖標內。在此功能中將各種不同的配件如:聲卡、顯示卡、軟驅、硬盤等不同的部件的安裝步驟放到了不同的群組里逐一介紹。這樣使課件簡潔明了,易于維護和管理。

2.2 CMOS設置模塊

CMOS設置中主要講解了以下內容:什么是BIOS、BIOS與CMOS的區別、如何進入BIOS設置界面、常見BIOS選項設置等內容。

BIOS設置方法通圖課件圖例詳細、直觀的告訴學生如何進入到BIOS。

在BIOS的講解過程中為了達到逼真的效果,我們用Authorware計算圖標及決策圖標技術來模擬真實BIOS進入流程及參數設置、保存過程。

1)計算圖標的應用:計算圖標也稱運算圖標在流程中作為主要的代碼模塊來使用,計算圖標的最大功能就是能夠調用函數、變量和添加程序注釋,使用If…then…else…end if等之類的程序語句構造復雜的課件流程。除了獨立地顯示計算圖標之外,還可以將它附加在其它圖標上,以實現和計算圖標同樣的功能,他可以用于執行程序中的代碼語句,以滿足某方面的控制需要或完成作品中變量的賦值和計算任務。

為模擬開機內存自檢畫面,我們利用J1計算圖標定義一個變量{X},之后賦初值為0。也就是內存初始變量為0。在J2計算圖標里將X變量的值每次遞進400,起到循環等待作用,這個值不能太大也不能太小,不然顯示時間就不合適了。在J3計算圖標里再加一個判斷語句,如果不在條件范圍內就終止循環。這里的130047KB就是要顯示的內存容量。

2)決策圖標的應用:策圖標的主要作用是在Authorware中實現循環的操作,還可以實現選擇其中的某個單元進行執行。這樣可以實現類似分支的功能,利用了決策圖標的限時執行特點實現了其交互功能,開機內存自檢完成后系統會判斷是繼續向下運行還是相應其它按鍵,在這里我們模擬系統自檢等待,為了判斷在3秒中內是否有DELETE鍵進入BIOS設置指令,我們加了一個群組圖標J4,如果有DELETE鍵按下通過計算圖標將跳轉到CMOS設置部分,沒有其它任務則順序分支路徑繼續執行任務。BISO菜單設置部分主要利用Authorware交互式功能實現。

2.3 安裝操作系統模塊

安裝雖然簡單,但在安裝過程中可能會遇到一些問題、難點、或者以前沒有聽過的名詞等等、為了更加直觀的說明這一系列問題,采用在虛擬計算機環境中開發的Win2000和Win XP兩套模擬安裝系統,在演示的過程中加以調用并講解。

在Author Ware中調用外部文件的方法很簡單,只需要利用它提供給的函數Jump Out Return就可以輕松實現調用。

3 課件修改,調試運行

后期我們要對課件其進行環境調試、生成、組合、打包。還要考慮到學生顯示器的尺寸,使課件能夠自適應不同顯示器的分辨率,計算機市場更新速度很快,我們應該保留源文件,并隨時對其內容進行修改、調節、更新,以使學生學到最新的內容。

微機安裝多媒體教學課件通過圖文、聲像并茂的動態信息,增強了教學的感染力。通過學習,使學生在感性認識的基礎上加深對所學知識理解,充分地調動了學生的學習積極性,發揮了學生的主體作用,達到了培養學生創新思維的能力,提高了學習效率。

參考文獻

[1]陳春法.用Authorware制作多媒體作品[M].北京:高等教育出版社,2003.

vhdl語言范文第4篇

《數字信號處理》和《VHDL語言及FPGA設計》是高等學校電氣信息類專業的主干課程。學生通過數字信號處理實驗,能形象地理解離散時間信號及系統,會用FFT作譜分析,掌握IIR及FIR數字濾波器設計方法等。我國大部分高校開設的數字信號處理實驗都是基于Matlab仿真平臺[1],這有助于理解數字信號處理的基本理論[2]。但如何在實際工程中靈活運用數字信號處理是實驗教學的關鍵,筆者將FPGA引入到數字信號處理實驗教學中,為學生提供了又一實踐平臺。

1實驗教師隊伍建設

要求授課主講教師 具有高級 職稱,有較好的 表達能力,善于引導學生 進行學習,能夠指導 學生完成 實驗項目[3]。主講教師不僅要掌握數字信號處理的相關理論知識,還要掌握FPGA相關知識,主講教師、任 課教師和 實驗教師一方面可以自學FPGA相關知識,另一方面 可以深入課堂學習FPGA相關知識,兩門課教 師可以相 互交流,促進課程的交叉學習。主講教師對任課教師和實驗教師進行指導,理論課教 師和實驗 課教師一 起指導學 生實驗,使理論教學和實驗教學融會貫通。

2實驗項目設置

根據《數字信號處理》課程的內容特點,將實驗教學在形式上分為驗證實驗和綜合設計實驗。

2.1驗證實驗

驗證實驗可幫助學生分析和理解數字信號處理的理論算法,使學生熟悉軟硬件平臺以及數字信號處理系統的開發流程。開設的實驗項目有:1離散時間信號、系統的時域和頻域分析;2應用FFT對信號進行頻譜分析;3脈沖響應不變法或雙線性變換法設計IIR濾波器;4用窗函數設計FIR濾波器。驗證實驗可以為綜合設計實驗打下堅實的基礎。

2.2綜合設計實驗

綜合實驗是教學中必不可少的重要環節,它能鞏固、深化和擴展學生的理論知識和專業技能,培養學生運用所學知識的能力,提高解決問題能力。

綜合實驗可由教師布置題目,也可由學生自己設計題目,要求學生查閱大量的參考文獻,通過相互討論、團隊合作的方式完成設計,從而培養分析、解決問題的能力。例如含噪語音信號的處理,要求學生自己錄音,分析語音的頻譜,然后加入噪聲,對加噪語音進行頻譜分析,根據頻譜特性,設計合適的濾波器濾除噪聲。通過此實驗,掌握信號產生方法、頻譜分析方法以及濾波器設計方法,理解和掌握數字信號處理知識。

3實驗教學設計

教學中將學生分為兩組,一組學生用Matlab編程設計,另一組用FPGA設計。例如設計一個16階的FIR低通濾波器,該濾波器指標為:采樣頻率fs=10MHz,截止頻率fc=1.5MHz。采用Matlab編程設計得到的濾波器幅度和頻率響應見圖1和圖2。采用FPGA方法見參考文獻[4],圖3是對應輸入為50時的濾波器脈沖響應y的仿真波形圖。設計完成后兩部分同學進行交流,對兩種方法進行比較分析。學生反映Matlab編程的方法比較簡單,但純粹是軟件方法,不能用于硬件實現;FPGA可以用于硬件實現,但要掌握硬件描述語言及FPGA相關知識,比Matlab的方法更難。分組時要考 慮學生的 特點,才能達到比較好的效果。要安排答辯環節,演示和詳細講解實驗方法和步驟。

4結語

《數字信號處理》是一門理論與實踐緊密結合的課程,如何正確引導學生,將理論與工程實踐結合起來是實驗教學的重要內容。 教學中將 學生分為 兩部分,分別運用Matlab和FPGA進行仿真設計,設計完成后進行交流,對兩種仿真方法進行比較分析。教學實踐表明:學生在交流互動、比較分析中能很快掌握兩種仿真工具,并能運用兩種方法完成一些創新 設計方案,達到事半 功倍的教 學效果。

參考文獻

[1]楊莉,施國勇.基于FPGA的《數字信號處理》課程設計教學實踐[J].電氣電子教學學報,2010,32(4):77-78.

[2]蔣小燕.MATLAB在《數字信號處理》課程教學中的應用[J].常州工學院學報,2009,22(4):13-15.

[3]朱金秀,張卓,朱昌平.《數字信號處理》課程實驗教學研究與實踐[J].實驗室研究與探索,2008,27(5):96-97.

vhdl語言范文第5篇

關鍵詞:VHDL,數字,秒表,設計

1 系統總設計

本設計包括開始、停止和清零, 主要用于程序的啟動、停止和清零。Clk的輸入信號為250 Hz, 通過預置數端為計數器提供不同的頻率, 實現不同的計數。預置數端實質上是計數器, 通過設置不同的初值, 來實現不同的頻率。通過二分頻器為掃描電路提供脈沖信號, 以實現數據的掃描, 并送往顯示電路顯示。

2 系統模塊的實現

2.1 帶預置數的半分頻器

帶預置數的半分頻器的編程如下:

該分頻器使用分頻系數為N-0.5的分頻器, 計數器由一個模N減法計數器、一個半分頻器和一個異或門組成。通過設定Pre值, 可以實現N-0.5的計數, 這樣就實現了半分頻。輸入端的頻率為250 Hz, 通過預置數端設置不同的初值, 即可實現不同的分頻, 進而輸出不同的最小秒數, 輸出的頻率去驅動計數器。例如, 預置數為"0011", 即實現2.5分頻;用100 Hz的頻率去驅動計數器, 這時計數器的最小時間便是0.01 s。

2.2 六進制計數器

六進制計算器的編程為:

在該設計中共有:4個十進制計數器, 分別對百秒、十秒、一秒和一分計數, 當到9時實現進位;2個六進制計數器, 用于計數十秒和十分, 當到5時實現進位。st控制開始, cl進行清零, 通過clk進行計數, 每有1個上升沿便會自動加1, 直到為6后變成0;然后輸出進位標志co;再次開始計數時, 自動清零。

十進制計數器同理, 只需將程序的{IF (y="0101") THEN y<="0000";co<='1';}改為{IF (y="1001") THEN y<="0000";co<='1';}, 即可實現十進制的計數, 這也體現了VHDL良好的移植性和隨時修改程序的靈活性。

2.3 數據選擇器

數據選擇器的編程為:

設計中的數據選擇器實質上為六進制加法計數器, 通過clk信號進行計數, 每提供1個上升沿計數器加1, 來實現要選擇的數, 將其送往相應的位進行顯示。其中, "***"代表"000"-"100", 用來選擇datax, x為a-f, 用來選擇不同的計數器。

3 結束語

通過本次設計, 讀者對VHDL有了更深層次的了解。在設計中, 采用預置分頻器, 實現了不同頻率的輸入, 使秒表可以實現多種計數??梢詫⒃撁氡淼脑O計應用到生活中的各個領域, 比如體育比賽計時等。

參考文獻

vhdl語言范文第6篇

視頻播放器的主要功能是匯集現場監控主機傳回的所有數據,實現視頻數據的解碼、顯示和處理功能。它是數字視頻監控系統中一個十分重要的組成部分。

在當前數字視頻監控系統的開發中,特別是視頻播放器的開發中,由于多種原因(如受限于特定的設備),許多方案只是一個針對具體實際應用的解決方案,而沒有一個通用的、可復用、可擴展解決方案。

本文在對視頻播放器進行領域分析的基礎上,運用自動機理論和設計模式設計了一個可復用的視頻播放器框架。該框架統一了播放器的播放方式,將以前按播放方式需要分別實現的幾個獨立播放器接口整合為一個統一的播放器接口,既節約了資源又提高了監控效率,簡化了操作。該框架解除了播放器和具體的解碼器之間的耦合,抽象出統一的解碼器接口,當增加新的碼流格式時,只需要實現相應的解碼器接口即可,而不再需要修改以前的代碼結構,具有較好的復用性和可擴展性。

1 播放器邏輯結構模型

播放器框架的邏輯模型借用了框架設計中的MVC模型思想,將播放器框架的邏輯模型進行了層次化的分類。模型中的各個組成部分在系統中扮演不同的角色,完成不同的任務,它們組合在一起共同完成整個框架的架構。

按照視頻播放器的功能進行層次化劃分,可以分為用戶界面層、業務邏輯層和媒體數據層,同時對每一層次的功能進行模塊化分解,又可以在這3層之中劃分出各自獨立的模塊。

播放器邏輯模型如圖1所示,各層具體說明如下:

第一層:用戶界面層,主要用于視(音)頻的顯示以及人機交互等。功能上類似于普通的視頻播放器,主要包括一組用于播放顯示和播放操作的界面以及播放界面管理器等。

第二層:業務邏輯層,主要用來保存、維護播放器的播放狀態,并實現播放器狀態的正確切換,同時根據播放器的當前狀態完成與視(音)頻流處理的相關操作。該層主要包括一組播放器狀態模塊,以及狀態的管理、維護模塊,此外還包括完成播放器一系列操作的處理模塊。有以下3種用戶操作形式:

(1)實時預覽:對前端視頻設備實時傳送的視(音)頻流數據進行解碼播放,并可以調節圖像的參數,進行錄像。

(2)遠程文件回放:搜索遠程視頻設備上的錄像文件,將文件以流方式輸入到播放器進行解碼播放及其他相關操作。

(3)本地文件回放:搜索存放在本地視頻數據服務器的本地的錄像文件,將文件以流方式輸入到播放器進行解碼播放及其他相關操作。

第三層:媒體數據層,位于框架邏輯模型的最底層,主要用于處理具體的視(音)頻流,通過調用解碼器的接口,完成視(音)頻流的解碼播放。因此解碼器是該層的重要模塊。解碼器通常提供的接口有初始化、開始播放、停止播放、快進、后退,以及單幀播放等。由于壓縮算法的多種多樣,以及各個板卡廠家都有自己特有的視(音)頻流文件格式,因此對于每一種碼流格式需要與之對應的特定解碼器進行解碼。此外在媒體數據層還留有媒體數據采集的接口,用于接收送入播放器的媒體數據。

2 播放器系統需求分析

由以上播放器的邏輯結構模型可知,播放器的開發冗余主要有兩個方面:

(1)由于播放器有多種播放方式,不同播放方式之間的邏輯復雜,狀態多且難以維護,難以統一到一個播放器之中,因此當前的視頻監控系統通常按照播放方式來分別實現播放器,這樣每開發一個系統,就需要根據不同的播放方式實現一個播放器。

(2)對于不同的視(音)頻流格式,需要不同的解碼器進行解碼,但由于沒有一個較好的可擴充結構,解碼器和播放器之間的耦合過于緊密,造成每新增加一種碼流格式,就要對播放器進行重新開發,加大了開發成本。此外這種方式還造成了播放器不能根據碼流類型進行動態解碼,只能固定的對單一碼流解碼,這對于存在多種碼流格式的監控聯網系統是完全不適應的。

通過以上分析得知,以往監控系統的開發中我們缺乏一個通用的、可復用的解決方案,導致軟件開發過程中可能的大量冗余,不能有效復用以前的開發成本,加大了軟件開發的成本,同時又給以后的維護增加了相當的負擔。

因此在設計框架時采取了一系列的措施來減少這兩個方面造成的冗余,使開發人員在開發播放器時不再為每一種播放方式實現一個單獨的播放器。當需要添加新的碼流格式時,開發人員只需實現相應的解碼器接口即可,而不需要修改前面的代碼。

3 播放器框架設計

通過播放器系統的需求分析后,我們設計了以下的系統結構,框架如圖2所示:

Tplayer是框架向外提供的接口(如圖2所示),播放器類Tplayer實現了這個接口。該接口向外提供了播放器的配置、管理、操作等功能,同時又封裝了這些功能的內部實現,開發人員只需要根據接口進行簡單、必要的配置,即可使用該播放器,而不需要關注其內部的實現細節。各層的具體設計說明如下:

3.1 用戶界面層

根據用戶界面層的功能,該層主要由播放窗口類TvideoForm和窗口管理類Tmanager類組成(如圖2所示),TvideoForm用于單個播放器的播放顯示,以及響應各種消息和用戶操作,并將其傳入其他層進行處理。TvideoForm聚合在Tmanager之中,受Tmanager的統一管理,其生命周期和Tmanager保持一致。Tmanager用于負責播放窗口的創建、管理等,它在內部維護一個TvideoForm的對象數組,能夠根據配置生成用戶所需要的播放窗口個數。

3.2 業務邏輯層

業務邏輯層的實時預覽、遠程回放、本地回放這3種播放方式有很多的共同點:首先,它們都采用流方式來播放,且數據流的格式也是相同的,因此可以采用相同的解碼器等[4];其次,許多操作也一致,如開始播放、停止播放等。但也有不一致的地方:首先,操作的流程不一樣。預覽方式下,直接選擇通道之后就可以進行播放了;而回放方式下,則要先搜索文件,然后選擇文件才能播放。其次,具體的操作實現不一樣。如遠程回放要查詢的是遠程視頻設備,而本地回放則只要查詢本地數據服務器上的數據庫即可。同樣的一種操作,對于不同的播放方式所發送的消息碼都是不一樣的。因此可以將每種播放方式抽象出來作為播放器的一個狀態,具體的業務邏輯則封裝于各個播放狀態之中,與播放器相關的各種操作則作為觸發播放器狀態發生轉移的事件,來構建播放器的狀態機模型。由于播放器的狀態有限,并且每次都只有一種轉換,所以是一個確定的有限狀態自動機(狀態機如圖3所示)。

由前面的分析可知,播放器除了3種播放狀態之外,還有一個初始狀態,此外由于搜索遠程(本地)文件之后,并不一定直接轉入相應的播放狀態,因此搜索遠程(本地)文件也應當作為狀態機中的一個狀態。所以播放器一共有6種狀態,如圖3所示。

3.3 媒體數據層

媒體數據層使用參數化工廠方法(Factory method)設計模式來解除播放器和具體的解碼器之間的耦合。參數化工廠方法定義一個用于創建對象的接口,采用一個參數來標識要被創建的對象種類,從而決定實例化哪個類,創建多種產品,不再將特定應用有關的類綁定到代碼之中。

播放器框架使用抽象類定義和維護對象之間的關系,并負責這些對象的創建和銷毀。首先定義一個解碼器抽象類Tcoder,所有具體的解碼器都繼承該類,并實現該類所定義的接口。在播放器類Tplayer中保存一個Tcoder的引用數組(根據配置可能有多個解碼器),Tplayer只和抽象類Tcoder的接口交互,在運行過程中Tcoder的引用根據需要指向動態創建的解碼器對象,將Tcoder的接口動作延遲到具體創建的解碼器子類對象中。在Tplayer中設置一個GetPlayer的函數,GetPlayer根據傳入的解碼器類型參數,創建相應的解碼器,賦值給對應的Tcoder引用,GetPlayer也可以定義一個工廠方法的缺省實現,它返回一個缺省的Tcoder對象。類圖如圖3所示。

運用工廠方法解決了媒體層的冗余問題,當需要增加新的加碼器時,只需要在原有播放器框架的基礎上繼承抽象類Tcoder,然后實現其規定的接口即可。當播放器運行時,則可以根據碼流的不同,動態創建相應的解碼器,完成相應的動作,實現動態解碼。

4 結束語

本文針對視頻播放器做了深入的領域分析,借用網絡的層次參考模型,設計出視頻播放器三層邏輯模型,該模型層次分明,模塊清晰,既充分體現了視頻播放器的結構和功能,又具有較好的擴展性。

在邏輯模型的基礎上,詳細分析了導致視頻播放器重復開發的兩個方面原因,并針對這兩個問題運用自動機原理和設計模式設計出可復用性和可擴展的視頻播放器框架。開發人員可以對該框架進行“白盒復用”,通過框架提供的接口,輸入參數進行配置,即可使用該播放器。如果框架不能完全滿足應用的需求,開發人員可以擴展框架,通過繼承框架中的父類,實現自己的組件,從而進行“黑盒復用”。該播放器已經應用到某大型數字聯網監控系統之中,分別在系統中的主控工作站、大屏控制器以及前端DVR設備上進行了運用,實踐表明該框架的通用性、健壯性、擴展性較好。運用該框架后,軟件結構一致性增強,重用代碼大大增加,軟件生產效率和質量也得到提高,同時軟件需要維護的部分降低了,系統的性能和可靠性顯著提高。

參考文獻

[1]包龍翔, 曹抗震.設計面向對象的軟件框架[J].計算機應用研究[J], 2003 (3) .

[2]肖文鵬.為Linux應用構造有限狀態機[EB/OL].http://www-900.ibm.com/developerworks/cn/linux/l-fsmachine/index.shtml, 2004-10-25.

[3]Gamma Erich, Helm Richard, Johnson Ralph, 等.設計模式可復用面向對象軟件的基礎[M].李英軍, 馬曉星, 蔡敏, 等譯.北京:機械工業出版, 2000.

[4]Jbehrouz Foruzan Cathe.數據通信與網絡[M].吳時林, 譯.北京:機械工業出版社, 2001.

[5]鐘玉琢, 冼偉銓, 沈洪.多媒體技術基礎及應用[M].北京:清華大學出版社, 2000.

上一篇:文化傳播范文下一篇:國有企業經濟范文

精品范文

全站熱搜

    91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火