基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計_第1頁
基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計_第2頁
基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計_第3頁
基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計_第4頁
基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計學(xué)生姓名:指導(dǎo)教師:摘要:本文要緊探討了應(yīng)用EDA靈活可重復(fù)編程和方便在系統(tǒng)重構(gòu)的特性,以VerilogHDL為設(shè)計語言,將硬件功能以軟件設(shè)計來描述,提高了產(chǎn)品的集成度,縮短開發(fā)周期。所設(shè)計的波形發(fā)生器可產(chǎn)生正弦波(sina_wave)、鋸齒波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四種信號,能夠?qū)崿F(xiàn)信號的轉(zhuǎn)換而且頻率可調(diào);設(shè)計的頻率計以1Hz為基準(zhǔn)信號,測量的范圍是lHz9999Hz,測量的結(jié)果以四位十進(jìn)制的形式輸出。能實(shí)現(xiàn)任意波形的輸出而且能夠測量外來信號的頻率,這也是本文的設(shè)計思路。關(guān)鍵詞:DDS

2、;;VerilogHDL;EDA;Max+PlusII;波形發(fā)生器Abstract:ThisarticleexplorestheapplicationofEDAtofacilitateflexibleandreprogrammableandreconstructioninthesystemfeaturestoVerilogHDLdesignlanguage,thehardwarefunctionstosoftwaredesigntodescribeandimproveproductintegration,shortenthedevelopmentcycle.Waveformgeneratord

3、esignedtoproducesinewave(sina_wave),ramp(swat_wave),rectangularwave(squr_wave),triangularwave(trig_wave)foursignals,toachievesignalconversionandfrequencyadjustable;designedto1HzfrequencycounterForthereferencesignal,measuredintherange1Hz-9999Hz,themeasurementresultsintheformoffourdecimaloutput.whichi

4、sthedesignideaofthisarticle.Keywords:DDS;VerilogHDL;EDA;Max+PlusI;arbitrarywaveformgenerator目錄TOC o 1-5 h z HYPERLINK l bookmark10 1引言1 HYPERLINK l bookmark12 2課題背景及相關(guān)技術(shù)1 HYPERLINK l bookmark14 3理論基礎(chǔ)2VerilogHDL語言概述2 HYPERLINK l bookmark16 Max+plusII簡介4 HYPERLINK l bookmark18 4EDA多功能波形發(fā)生器詳細(xì)設(shè)計6設(shè)計思路6任意

5、波形發(fā)生器的分塊設(shè)計6 HYPERLINK l bookmark24 5任意波形發(fā)生器的仿真與實(shí)現(xiàn)8指針操縱模塊的仿真與實(shí)現(xiàn)8數(shù)字頻率計的仿真與實(shí)現(xiàn)9系統(tǒng)設(shè)計有待提高和改良的地址12 HYPERLINK l bookmark32 6小結(jié)13參考文獻(xiàn)14附錄151引言隨著數(shù)字電子技術(shù)迅猛進(jìn)展,信號源作為經(jīng)常使用的電子產(chǎn)品設(shè)計工具,其應(yīng)知足精度高、速度快、分辨率高等要求。DDS是從20世紀(jì)70年代進(jìn)展起來繼直接頻率合成和間接頻率合成以后的第三代頻率合成技術(shù)。VerilogHDL是一種許諾設(shè)計者進(jìn)行各類級別的邏輯設(shè)計,進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時序分析、邏輯綜合的硬件描述語言。并采納MAX+Plu

6、sII軟件進(jìn)行畫圖,編譯,仿真。課程設(shè)計背景及相關(guān)技術(shù)隨著數(shù)字電子技術(shù)迅猛進(jìn)展,信號源作為經(jīng)常使用的電子產(chǎn)品設(shè)計工具,其應(yīng)知足精度高、速度快、分辨率高等要求。DDS是從20世紀(jì)70年代進(jìn)展起來繼直接頻率合成和間接頻率合成以后的第三代頻率合成技術(shù)。VerilogHDL是一種許諾設(shè)計者進(jìn)行各類級別的邏輯設(shè)計,進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時序分析、邏輯綜合的硬件描述語言。QuartusII6.0是Altera公司推出的CPLD/FPGA結(jié)構(gòu)化ASIC開發(fā)設(shè)計軟件。信號發(fā)生器(signalgenerator),又稱信號源或振蕩器,是一種能在模擬域或數(shù)字域中以必然頻率產(chǎn)生可復(fù)現(xiàn)的精準(zhǔn)校準(zhǔn)信號的電子測試儀

7、器。依照輸出信號波形的不同,信號發(fā)生器能夠分為:函數(shù)信號發(fā)生器(正弦信號發(fā)生器、矩形信號發(fā)生器、三角波信號發(fā)生器等)、脈沖信號發(fā)生器、隨機(jī)信號發(fā)生器及任意波形發(fā)生器等。任意波形發(fā)生器(ArbitraryWaveformGenerator,AWG,是信號發(fā)生器的一種,是能夠精準(zhǔn)產(chǎn)生用戶概念的任意波形的電子測試設(shè)備。不同于僅能產(chǎn)生有限簡單波形的函數(shù)發(fā)生器,用戶能夠?qū)θ我獠ㄐ伟l(fā)生器概念各類不同的復(fù)雜可變的波形信號。依照結(jié)構(gòu)形式,任意波形發(fā)生器要緊有兩種:獨(dú)立控制式任意波形發(fā)生器總線控制式任意波形發(fā)生器任意波形發(fā)生器的關(guān)鍵技術(shù)是頻率合成技術(shù),目前經(jīng)常使用任意波形發(fā)生器的頻率合成技術(shù)要緊有DDS技術(shù)和可

8、變時鐘技術(shù)。初期的任意波形發(fā)生器僅能輸出低頻信號,隨著數(shù)字技術(shù)的進(jìn)展,其輸出頻率已能達(dá)到射頻范圍。PLD(ProgrammableLogicDevice)是可編程邏輯器件的總稱,PLD大體上能夠完成任何數(shù)字器件的功能,從高性能CPI到簡單集成電路,均能夠用PLD實(shí)現(xiàn)。通過傳統(tǒng)的原理圖輸入,或是硬件語言的描述就能夠夠自由地設(shè)計具有某種功能的數(shù)字系統(tǒng):利用軟件仿真功能,能夠查驗(yàn)設(shè)計的正確性;利用PLD的在線修改能力,能夠在沒必要改動硬件電路的基礎(chǔ)上進(jìn)行修改設(shè)計。具有設(shè)計時刻短,PCB面積小,系統(tǒng)的靠得住性強(qiáng)等特點(diǎn)。目前,在通信、自動操縱、信息處置等諸多領(lǐng)域發(fā)揮著重要的作用。理論基礎(chǔ)VerilogH

9、L語言概述電子設(shè)計自動化(EDA)的關(guān)鍵技術(shù)之一是要求用形式化方式來描述數(shù)字系統(tǒng)的硬件電路。VerilogHDL硬件描述語言在電子設(shè)計自動化中扮演著重要的角色,他是EDA技術(shù)研究的重點(diǎn)之一。VerilogHDL是一種硬件描述語言(HDL:HardwareDiscriptionLanguage),是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言。VerilogHDL確實(shí)是在用途最普遍的C語言的基礎(chǔ)上進(jìn)展起來的一種件描述語言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末初創(chuàng)的,最初只設(shè)計了一個仿真與驗(yàn)證工具,以后又陸續(xù)開發(fā)了相關(guān)的故障模

10、擬與時序分析工具。1985年Moorby推出它的第三個商用仿真器Verilog-XL,取得了龐大的成功,從而使得VerilogHDL迅速取得推行應(yīng)用。1989年CADENCE公司收購了GDA公司,使得VerilogHDL成了該公司的獨(dú)家專利。1990年CADENCE公司公布發(fā)表了VerilogHDL,并成立LVI組織以增進(jìn)VerilogHDL成為IEEE標(biāo)準(zhǔn),即IEEEStandard1364-1995。用它能夠表示邏輯電路圖、邏輯表達(dá)式,還能夠表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。VerilogHDL的最大特點(diǎn)確實(shí)是易學(xué)易用,若是有C語言的編程體會,能夠在一個較短的時刻內(nèi)專門快的學(xué)習(xí)和把握,因此

11、能夠把VerilogHDL內(nèi)容安排在與ASIC設(shè)計等相關(guān)課程內(nèi)部進(jìn)行教學(xué),由于HDL語言本身是專門面向硬件與系統(tǒng)設(shè)計的,如此的安排能夠使學(xué)習(xí)者同時取得設(shè)計實(shí)際電路的體會。與之相較,VHDL的學(xué)習(xí)要困難一些。但VerilogHDL較自由的語法,也容易造成初學(xué)者犯一些錯誤,這一點(diǎn)要注意。下面列出的是Verilog硬件描述語言的要緊能力:(1)大體邏輯門,例如and、or和nand等都內(nèi)置在語言中。(2)用戶概念原語(UDP)創(chuàng)建的靈活性。用戶概念的原語既能夠是組合邏輯原語,也能夠是時序邏輯原語。(3)開關(guān)級大體結(jié)構(gòu)模型,例如pmos和nmos等也被內(nèi)置在語言中。(4)提供顯式語言結(jié)構(gòu)指定設(shè)計中的端

12、口到端口的時延及途徑時延和設(shè)計的時序檢查。(5)可采納三種不同方式或混合方式對設(shè)計建模。這些方式包括:行為描述方式利用進(jìn)程化結(jié)構(gòu)建模;數(shù)據(jù)流方式利用持續(xù)賦值語句方式建模;結(jié)構(gòu)化方式利用門和模塊實(shí)例語句描述建模。*VerilogHDL中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲元件。*能夠描述層次設(shè)計,可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。*設(shè)計的規(guī)??梢允侨我獾模徽Z言不對設(shè)計的規(guī)模(大?。┦┘尤魏蜗拗啤?VerilogHDL不再是某些公司的專有語言而是IEEE標(biāo)準(zhǔn)。*人和機(jī)器都可閱讀Verilog語言,因此它可作為EDA的工具和設(shè)計者之

13、間的交互語言。*VerilogHDL語言的描述能力能夠通過使用編程語言接口(PLI)機(jī)制進(jìn)一步擴(kuò)展。PLI是允許外部函數(shù)訪問Verilog模塊內(nèi)信息、允許設(shè)計者與模擬器交互的例程集合。*設(shè)計能夠在多個層次上加以描述,從開關(guān)級、門級、寄存器傳送級(RTL)到算法級,包括進(jìn)程和隊列級。*能夠利用內(nèi)置開關(guān)級原語在開關(guān)級對設(shè)計完整建模。*同一語言可用于生成模擬激勵和指定測試的驗(yàn)證約束條件,例如輸入值的指定。*VerilogHDL能夠監(jiān)控模擬驗(yàn)證的執(zhí)行,即模擬驗(yàn)證執(zhí)行過程中設(shè)計的值能夠被監(jiān)控和顯示。這些值也能夠用于與期望值比較,在不匹配的情況下,打印報告消息。*在行為級描述中,VerilogHDL不僅能

14、夠在RTL級上進(jìn)行設(shè)計描述,而且能夠在體系結(jié)構(gòu)級描述及其算法級行為上進(jìn)行設(shè)計描述。*能夠使用門和模塊實(shí)例化語句在結(jié)構(gòu)級進(jìn)行結(jié)構(gòu)描述。*VerilogHDL的混合方式建模能力,即在一個設(shè)計中每個模塊均可以在不同設(shè)計層次上建模。*VerilogHDL還具有內(nèi)置邏輯函數(shù),例如&(按位與)和|(按位或)。*對高級編程語言結(jié)構(gòu),例如條件語句、情形語句和循環(huán)語句,語言中都能夠利用。*可以顯式地對并發(fā)和定時進(jìn)行建模。*提供強(qiáng)有力的文件讀寫能力。*語言在特定情況下是非確定性的,即在不同的模擬器上模型可以產(chǎn)生不同的結(jié)果;例如,事件隊列上的事件順序在標(biāo)準(zhǔn)中沒有定義。Max+plusll簡介Max+plusII(或

15、寫成Maxplus2或MP2)是Altera公司推出的的第三代PLD開發(fā)系統(tǒng)(Altera第四代PLD開發(fā)系統(tǒng)被稱為:Quartus,要緊用于設(shè)計6萬TOO萬門的大規(guī)模CPLD/FPGA)。利用MaX+PLUSII的設(shè)計者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計者能夠用自己熟悉的設(shè)計工具(如原理圖輸入或硬件描述語言)成立設(shè)計,MaX+PLUSII把這些設(shè)計轉(zhuǎn)自動換成最終所需的格式。其設(shè)計速度超級快專門適合初學(xué)者利用。通??蓪axplus2設(shè)計流程歸納為以下7個步驟:(1)利用文本編輯器輸入設(shè)計源文件。在傳統(tǒng)設(shè)計中,設(shè)計人員是應(yīng)用傳統(tǒng)的原理圖輸入方式來開始設(shè)計的。自90年代初,Verilog、VHDL

16、、AHDL等硬件描述語言的輸入方式在大規(guī)模設(shè)計中取得了普遍應(yīng)用。(2)前仿真(功能仿真)。設(shè)計的電路必需在布局布線前驗(yàn)證電路功能是不是有效。(3)設(shè)計編譯。設(shè)計輸入以后就有一個從高層次系統(tǒng)行為設(shè)計向門級邏輯電路設(shè)轉(zhuǎn)化翻譯進(jìn)程,即把設(shè)計輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識別的某種數(shù)據(jù)格式(網(wǎng)表)。(4)優(yōu)化。關(guān)于上述綜合生成的網(wǎng)表,依照布爾方程功能等效的原那么,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。(5)布局布線。(6)后仿真(時序仿真)需要利用在布局布線中取得的精準(zhǔn)參數(shù)再次驗(yàn)證電路的時序。(7)生產(chǎn)。布線和后仿真完成以

17、后,就能夠夠開始ASCI或PLD芯片的投產(chǎn)。MaxPlusII的設(shè)計流程能夠用如以下圖給出。圖PlusII設(shè)計流程從圖可清楚了解到MaxPlusII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處置和器件編程。他包括設(shè)計輸入編輯、編譯網(wǎng)表提取、數(shù)據(jù)庫成立、邏輯綜合、邏輯分割、適配、延時網(wǎng)表提取、編輯文件匯編和編程下載9個步驟。EDA多功能波形發(fā)生器詳細(xì)設(shè)計設(shè)計思路設(shè)計的思路主若是以實(shí)驗(yàn)室中經(jīng)常使用的函數(shù)發(fā)生器為雛形,及既能輸出任意波形,而且頻率可調(diào),還能夠測量外部信號的頻率。實(shí)現(xiàn)這兩種功能設(shè)計的方式有很多種,那個地址采納EDA設(shè)計來實(shí)現(xiàn),驗(yàn)證設(shè)計的芯片采納Cyclone系列

18、,具體芯片可依如實(shí)驗(yàn)室的配置來確信。語言采納VerilogHDL,軟件以MAX+PlusII為主。其中任意波形發(fā)生器的實(shí)現(xiàn)采納模塊設(shè)計,如此專門好的利用了MAX+PlusII軟件中的LPM_R0M模塊,能夠達(dá)到最優(yōu)設(shè)計;頻率計的功能完全采納HDL語言描述,最后的頂層文件采納模塊設(shè)計來完成。最終的頂層文件如以下圖所示:llWiYIIIIIIIIIIIIJLjLLLJMLLU1111J11IJ,11IIIIIIIIII1111J11IJ,11IIIIIIIIIIFrE.measureNCLK40UTLS.flR&TIMRHININFUT.FFECTR_SEG3.flDECCDEOIITL.fl圖頂

19、層文件模塊圖0任意波形發(fā)生器的分塊設(shè)計Fre_measure模塊:frF1.a-svinoINCLK/CHCLKqokiT工占一.ayAST4R4YIJT_FH.KEHPUT.J0QOIT1S.UHArtlNSTR_*G3DECQOfDUT圖Fre_measure模塊圖Fre_measure模塊個引腳說明:INCLK:系統(tǒng)的時鐘信號。在計數(shù)測量部份,其被分頻為1Hz信號;在動態(tài)掃描部份,其被分頻為動態(tài)掃描脈沖。RST:系統(tǒng)的復(fù)位時鐘,高電平有效。INPUT_FREE:輸入的待測信號。Qout15:0:假設(shè)打算通過數(shù)碼管靜態(tài)顯示,那么Qout15:12為千位,Qout11:8為百位,Qout7:

20、4為十位,Qout3:0為個位,都是十進(jìn)制形式。WARNING:超過量程時輸出的警示信號。DEC0DE0UT6:0:動態(tài)掃描顯示時的譯碼輸出,在掃描脈沖的作用下,循環(huán)的輸出四位數(shù)據(jù)。CTR_SEG3:0:四個數(shù)碼管的未選信號,在掃描脈沖的作用下,與相應(yīng)位的譯碼信號對應(yīng)輸出。(2)Wave_gen模塊:INCI.KSELECTJ.OFREq3.OINC1_KRIDDREe_CJRDDRESSS圖Wave_gen模塊圖Wave_gen模塊各引腳說明:INCLK:輸入的待測信號。SELECT1.O:波形選擇輸入。FREQ3.O:操縱輸出波形的頻率。ADDRESS8.O:輸出地址指針。波形數(shù)據(jù)存儲RO

21、M模塊丄口m_romO.addie558.Oq7-Q-clack1圖波形數(shù)據(jù)存儲ROM模塊dre558.Oclack波形數(shù)據(jù)存儲ROM模塊個引腳說明:Clock:輸入時鐘信號。Address8.O:輸入地址指針。Q7.O:輸出信號。5任意波形發(fā)生器的仿真與實(shí)現(xiàn)要實(shí)現(xiàn)的功能:可產(chǎn)生正弦波(sina_wave)、鋸齒波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四種信號,能夠?qū)崿F(xiàn)信號的轉(zhuǎn)換(select)而且頻率可調(diào)。要緊由三部份組成:地址指針操縱模塊,四種波形數(shù)據(jù)存儲模塊,D/A轉(zhuǎn)換模塊。前面2個模塊在Max+plusII中實(shí)現(xiàn),該部份的實(shí)現(xiàn)框圖如下:圖實(shí)現(xiàn)

22、功能框圖指針操縱模塊的仿真與實(shí)現(xiàn)該模塊的功能采納VerilogHDL來描述,程序請見附件。程序?qū)崿F(xiàn)的要緊功能是:依照不同的波形選擇(selectl:O),來改變送入ROM中的地址指針address。四種波形一個周期的數(shù)據(jù)各占不同的16B,每次波形改變使address指向各段數(shù)據(jù)首地址。編譯正確后將其創(chuàng)建為模塊(見頂層文件中所示),然后采納圖形編輯方式,完成波形發(fā)生器這部份電路的設(shè)計。該部份功能驗(yàn)證的波形仿真結(jié)果如下:產(chǎn)生正弦波(sina_wave)時送到DAC0832的數(shù)據(jù):3iiuelk0stltu回fr啊pi40.0u0毗120.0u200.0制0.tIllLk17明晉nsJTUummmn

23、rLnnnrLrLrLrLrumarLrLrm:fLm圖產(chǎn)生正弦波的仿真圖產(chǎn)生鋸齒波(swat_wave)時送到DAC0832的數(shù)據(jù):40C84.0u120.0as啪山魁300,0摳;jrJnclkRTLrvuumrLrLruLruLrLrLTLnjuuui皆】DifljBfr*Lown伍yrmrfncjYT顧iiw阿時何圖產(chǎn)生鋸齒波的仿真圖產(chǎn)生矩形波(squr_wave)時送到DAC0832的數(shù)據(jù):JOOm3%.Ok670.0Jis990.0ns11.31w1t呻逍IffiLT.1T5m1抄aitfUtiwimnwimm聊ifflinmmniiMiiiMimfflBifflnmmiM刖imr

24、舒;t3flecl10國tx氓oooc3Qnl255hAu艾圖產(chǎn)生矩形波的仿真圖產(chǎn)生三角波(trig_wave)時送到DAC0832的數(shù)據(jù):Has啰0ndkQselect田freq.SQoiil虹舊叫a屜忡1郵ns殂皿勉烈期KTLJUOTUWEHjWUmrDWWinJW1J顫圖產(chǎn)生三角波的仿真圖由仿真結(jié)果可知,改變select1:0的值,能夠正確的將對應(yīng)的波形數(shù)據(jù)送到DAC0832,從而完成了整體設(shè)計的第一部份。數(shù)字頻率計的仿真與實(shí)現(xiàn)要實(shí)現(xiàn)的功能:設(shè)計一個四位數(shù)字顯示的頻率計,標(biāo)準(zhǔn)基準(zhǔn)時鐘采納1Hz(即1s),能夠測量1Hz9999Hz的信號頻率。完全采納文本設(shè)計,模擬的硬件功能有三部份組成:

25、操縱部份、計數(shù)測量部份、輸出顯示數(shù)據(jù)鎖存部份。頻率計的程序整體框圖及內(nèi)部部份,內(nèi)部的握手信號等信息的框圖表示如下:圖頻率的程序整體框圖一、信號的概念與說明如下:輸入部份input_fre:輸入的待測信號;inclk:系統(tǒng)的時鐘信號。在計數(shù)測量部份,其被分頻為1Hz信號;在動態(tài)掃描部份,其被分頻為動態(tài)掃描脈沖。在那個地址,inclk假設(shè)為實(shí)驗(yàn)室的4MHz;rst:系統(tǒng)的復(fù)位時鐘,高電平有效。:輸出部份Qout15:0:假設(shè)打算通過數(shù)碼管靜態(tài)顯示,那么Qout15:12為千位,Qout11:8為百位,Qout7:4為十位,Qout3:0為個位,都是十進(jìn)制形式;warning:超過量程時輸出的警示信

26、號;decodeout6:0:動態(tài)掃描顯示時的譯碼輸出,在掃描脈沖的作用下,循環(huán)的輸出四位數(shù)據(jù);ctr_seg3:0:四個數(shù)碼管的未選信號,在掃描脈沖的作用下,與相應(yīng)位的譯碼信號對應(yīng)輸出。:中間握手信號count_en:計數(shù)許諾信號;count_clr:在新的一次測量開始時,清除上一次的測量數(shù)據(jù),是數(shù)碼管上的顯示數(shù)據(jù)隨時取得更新;load:計數(shù)數(shù)據(jù)鎖存信號。二、操縱部份各信號的時序關(guān)系輸入的系統(tǒng)脈沖通過度頻后取得1Hz的計數(shù)基準(zhǔn)信號,在基準(zhǔn)信號每兩個時鐘周期經(jīng)行一次頻率測量。該部份產(chǎn)生3個操縱信號:count_en,count_clr,load。count_clr對計數(shù)模塊進(jìn)行復(fù)位,持續(xù)半個時

27、鐘周期;count_en上升沿時刻計數(shù)部份開始對輸入信號頻率進(jìn)行測量,測量時刻恰為一個基準(zhǔn)時鐘(1Hz),這段時刻對輸入信號的脈沖進(jìn)行計數(shù),結(jié)果即為信號色頻率。load即為產(chǎn)生鎖存信號。各操縱信號的時序關(guān)系如以下圖所示:通過操縱部份送來的操縱時序,計數(shù)部份能夠在一個基準(zhǔn)時鐘周期內(nèi)對輸入的信號進(jìn)行頻率測量,在計數(shù)的同時通進(jìn)程序操縱,使輸出都為BCD碼。4、鎖存部份設(shè)計在load信號的時序作用下,完成輸出數(shù)據(jù)鎖存。五、動態(tài)掃描部份的設(shè)計在掃描時序的作用下,送出每一名的譯碼數(shù)據(jù)(decodeout6:0)及對應(yīng)的字位選通操縱信號(ctr_seg3:0)。該模塊的功能采納VerilogHDL來描述,程

28、序請見附件。編譯正確后將其創(chuàng)建為模塊,然后采納圖形編輯方式,完成頻率計這部份電路的設(shè)計。該部份功能驗(yàn)證的波形仿真結(jié)果如下::當(dāng)input_fre設(shè)置為40Hz時,仿真的波形如下:躬6S6*1鄒軸.吐IMWOTH聞蓉LB0JS1rri%r.二nirrLTL.i二二:1訂_門_門J二mrLrLCmTLrmnrL二二TTrnnFwrtim(y5SSoul國g氓I2X*x_!_。X=X。XLKX$、X國|百皀右撫七力3fT&i維圖40Hz仿真波形圖如上圖所示,Qout顯示數(shù)據(jù)為:0040,即40Hz。同時將input_fre與clk_1Hz對照比較,亦可數(shù)出clk_1Hz一個周期內(nèi)input_fre為

29、40(圖中clk_1Hz半個周期內(nèi)input_fre為20)。同時譯碼輸出為3F、66,別離代表0、4的字型碼。:當(dāng)input_fre設(shè)置為200Hz時,仿真的波形如下:inlkrstFTtu88.61uer8B.05us0X圖200Hz仿真波形圖如上圖所示,Qout顯示數(shù)據(jù)為:0200,即40Hz。同時將input_fre與clk_1Hz對照比較,亦可數(shù)出clk_lHz個周期內(nèi)input_fre為200(圖中clk_1Hz半個周期內(nèi)input_fre為100)。同時譯碼輸出為3F、5B,別離代表0、2的字型碼?!菊f明】為了仿真時減輕CPU的運(yùn)算量,程序中的1Hz分頻數(shù)據(jù)改成199(原數(shù)據(jù)是1

30、999999),動態(tài)掃描時鐘分頻改成9(原數(shù)據(jù)是4999),不阻礙研究問題的實(shí)質(zhì)。由上面的仿真結(jié)果可知,頻率計能夠正確的測量出輸入信號的頻率,從而完成了整體設(shè)計的第二部份。系統(tǒng)設(shè)計有待提高和改良的地址頻率計的結(jié)果若是能夠可用字符LCD顯示,讓EDA送出相應(yīng)的LCD操縱信號;頻率計的測量范圍可通過選擇不同的基準(zhǔn)頻率(比如10Hz、100Hz、lKHz)來擴(kuò)展,即能夠?qū)崿F(xiàn)“可選量程”的數(shù)字頻率計;利用頻率計電路來顯示波形發(fā)生器的輸出波形的頻率及波形標(biāo)識,如此就實(shí)現(xiàn)了實(shí)驗(yàn)室中函數(shù)發(fā)生器的雛形:能實(shí)現(xiàn)任意波形的輸出及頻率顯示而且能夠測量外來信號的頻率,這也是本文最初的設(shè)計思路,那樣設(shè)計就加倍完美。6小

31、結(jié)本課題要求基于可編程邏輯器件,利用硬件描述語言VHDL編寫一個汽車尾燈操縱器芯片,并用MaxPlusII軟件進(jìn)行仿真。依照自己對汽車尾燈的明白得我設(shè)計了四大功能:一是檢查功能,二是剎車功能,三是左轉(zhuǎn)功能,四是右轉(zhuǎn)功能。由此必需設(shè)計出五個大的模塊:一是操縱模塊,此模塊是總的操縱系統(tǒng),將其它模塊的功能融合在一路,便于進(jìn)行集中的操縱和操作;二是檢查模塊,此模塊是一個分模塊,要緊功能是對在汽車尾燈整個工作的進(jìn)程中,在任一狀態(tài)的任一時刻,檢查汽車自身是不是處于正常狀態(tài),各電路系統(tǒng)和車身安滿是不是良好。三是剎車模塊,此模塊也是一分模塊,要緊功能是當(dāng)駕駛?cè)藛T遇險需要剎車踩下剎車鍵時,尾燈有規(guī)律閃爍,提示后

32、面駕駛?cè)藛T和車輛注意。四是左轉(zhuǎn)模塊,要緊功能是當(dāng)駕駛?cè)藛T需要轉(zhuǎn)彎按下左轉(zhuǎn)彎鍵時,尾燈有規(guī)律閃爍,提示后面駕駛?cè)藛T和車輛注意。五是右轉(zhuǎn)模塊,此模塊也是一分模塊,要緊功能是當(dāng)駕駛?cè)藛T需要轉(zhuǎn)彎按下右轉(zhuǎn)彎鍵時,尾燈有規(guī)律閃爍,提示后面駕駛?cè)藛T和車輛注意。在整個電路設(shè)計完畢并仿真成功后發(fā)覺,其實(shí)整個電路設(shè)計實(shí)現(xiàn)的功能仍是比較有效和易于操作的,而自己也為此付出了許多:從依照課題要求查找相關(guān)資料,學(xué)習(xí)硬件語言,到自己能夠獨(dú)立編寫小程序;從對MaxPlusII軟件的試探,一次次修改程序,到仿真取得較中意的結(jié)果;從對截圖工具的搜索下載,論文資料的搜集,到文字排版的學(xué)習(xí)。在設(shè)計進(jìn)程中碰到了很多困難,在指導(dǎo)教師的指

33、引和同窗的幫忙下,通過不斷探討學(xué)習(xí),使問題取得了必然的解決。終于使汽車尾燈操縱器的操縱,檢查,剎車,右轉(zhuǎn)等大體功能都實(shí)現(xiàn)了,美中不足的是汽車尾燈的各個仿真結(jié)果都有必然的延時。通過本學(xué)期課程設(shè)計的學(xué)習(xí),我從中學(xué)習(xí)到了很多東西,對可編程邏輯器件,VHDL語言,MaxPlusII軟件有了必然的了解,尤其是用VHDL語言編程和仿真。在本次設(shè)計中最大的收成是在不斷地發(fā)覺問題,分析問題,解決問題的進(jìn)程中培育了自己的科研能力,為爾后的學(xué)習(xí)工作做了一個良好的鋪墊。參考文獻(xiàn)王金明.VerilogHDL程序設(shè)計教程北京人民郵電出版社,20042Altera公司.QuartusII簡易用戶利用入門指南王金明數(shù)字系統(tǒng)

34、設(shè)計與VerilogHDL教程第二版,2005曾繁泰.EDA工程理論與實(shí)踐-一SOC系統(tǒng)芯片設(shè)計電子工業(yè)出版社,2004,6附錄:設(shè)計源程序清單/程序名稱:基于VerilogHDL語言的多功能波形發(fā)生器設(shè)計/程序作者:王楓/最后修改日期:2020-12-31程序如下:moduleWave_gen(address,inclk,select,freq);output8:0inputinput1:0input3:0reg7:0reg8:0reg7:0parameteraddress;/輸出操縱ROM的地址inclk;/系統(tǒng)始終,時刻應(yīng)該保證D/A能轉(zhuǎn)換完畢select;/波形選擇,具體值代表的波形見

35、下面概念freq;/操縱輸出波形的頻率Qout;address;k,m;sina_wave=2b00,swat_wave=2b01,squr_wave=2b10,trig_wave=2b11;always(posedgeinclk)begincase(select)sina_wave:beginif(select=1)address=128;if(select=2)address=256;if(select=3)address=127)address=0;elseaddress=address+1;endelsebegink=127/freq;m=m)address=0;elseaddress

36、=address+freq;endendaddress=0;address=256;address=384;swat_wave:beginif(select=0)if(select=2)if(select=3)if(address128)address=255)address=128;elseaddress=address+1;endelsebegink=127/freq;m=(m+128)address=128;elseaddress=address+freq;endendendaddress=0;address=128;address=384;squr_wave:beginif(selec

37、t=0)if(select=1)if(select=3)if(address256)address=383)address=256;elseaddress=address+1;endelsebegink=127/freq;m=(m+256)address=256;elseaddress=address+freq;endendendtrig_wave:beginaddress=128;address=256;address=384;address=384;if(select=1)if(select=2)if(select=3)if(address=511)address=384;elseaddr

38、ess=address+1;endelsebegink=127/freq;m=(m+384)address=384;elseaddress=address+freq;endendendendcaseendendmodule程序如下:modulefre_measure(Qout,warning,ctr_seg,decodeout,inclk,rst,input_fre);inputoutput15:0outputoutput3:0output6:0inclk,rst,input_fre;Qout;warning;ctr_seg;decodeout;reg3:0reg6:0reg15:0regct

39、r_seg,out_seg;decodeout;Qout,temp;reg1:0reg21:0reg16:0clk_1Hz,count_en,load,warning,temp1,clk_scan;state_scan;count;count2;always(posedgeinclk)beginif(count=1999999)/假設(shè)inclk為4M,分頻取得1Hz信號begincount=0;clk_1Hz=!clk_1Hz;endelsebegincount=count+1;clk_1Hz=clk_1Hz;endendalways(posedgeclk_1Hz)/操縱部份設(shè)計beginif(rst)begincount_en=0;load=1;endelsebegincount_en=count_en

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論