




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于VerilogHDL語(yǔ)言的多功能波形發(fā)生器設(shè)計(jì)學(xué)生姓名:指導(dǎo)老師:摘要:本文主要探索了應(yīng)用EDA靈活可重復(fù)編程和方便在系統(tǒng)重構(gòu)的特性,以VerilogHDL為設(shè)計(jì)語(yǔ)言,將硬件功能以軟件設(shè)計(jì)來(lái)描述,提高了產(chǎn)品的集成度,縮短開(kāi)發(fā)周期。所設(shè)計(jì)的波形發(fā)生器可產(chǎn)生正弦波〔sina_wave〕、鋸齒波〔swat_wave〕、矩形波〔squr_wave〕、三角波〔trig_wave〕四種信號(hào),能夠?qū)崿F(xiàn)信號(hào)的轉(zhuǎn)換并且頻率可調(diào);設(shè)計(jì)的頻率計(jì)以1Hz為基準(zhǔn)信號(hào),測(cè)量的范圍是1Hz—9999Hz,測(cè)量的結(jié)果以四位十進(jìn)制的形式輸出。能實(shí)現(xiàn)任意波形的輸出并且能夠測(cè)量外來(lái)信號(hào)的頻率,這也是本文的設(shè)計(jì)思路。關(guān)鍵詞:DDS;;VerilogHDL;EDA;Max+PlusⅡ;波形發(fā)生器Abstract:ThisarticleexplorestheapplicationofEDAtofacilitateflexibleandreprogrammableandreconstructioninthesystemfeaturestoVerilogHDLdesignlanguage,thehardwarefunctionstosoftwaredesigntodescribeandimproveproductintegration,shortenthedevelopmentcycle.Waveformgeneratordesignedtoproducesinewave(sina_wave),ramp(swat_wave),rectangularwave(squr_wave),triangularwave(trig_wave)foursignals,toachievesignalconversionandfrequencyadjustable;designedto1HzfrequencycounterForthereferencesignal,measuredintherange1Hz-9999Hz,themeasurementresultsintheformoffourdecimaloutput.whichisthedesignideaofthisarticle.Keywords:DDS;VerilogHDL;EDA;Max+PlusⅡ;arbitrarywaveformgenerator目錄1引言………………………12課題背景及相關(guān)技術(shù)……………………13理論根底…………………23.1VerilogHDL語(yǔ)言概述…………23.2Max+plusII簡(jiǎn)介………………44EDA多功能波形發(fā)生器詳細(xì)設(shè)計(jì)………64.1設(shè)計(jì)思路…………64.2任意波形發(fā)生器的分塊設(shè)計(jì)……………………65任意波形發(fā)生器的仿真與實(shí)現(xiàn)…………85.1指針控制模塊的仿真與實(shí)現(xiàn)……………………85.2數(shù)字頻率計(jì)的仿真與實(shí)現(xiàn)………95.3系統(tǒng)設(shè)計(jì)有待提高和改良的地方………………126小結(jié)………………………13參考文獻(xiàn)……………………14附錄…………………………151引言隨著數(shù)字電子技術(shù)迅猛開(kāi)展,信號(hào)源作為常用的電子產(chǎn)品設(shè)計(jì)工具,其應(yīng)滿足精度高、速度快、分辨率高等要求。DDS是從20世紀(jì)70年代開(kāi)展起來(lái)繼直接頻率合成和間接頻率合成之后的第三代頻率合成技術(shù)。VerilogHDL是一種允許設(shè)計(jì)者進(jìn)行各種級(jí)別的邏輯設(shè)計(jì),進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時(shí)序分析、邏輯綜合的硬件描述語(yǔ)言。并采用MAX+PlusⅡ軟件進(jìn)行畫(huà)圖,編譯,仿真。2課程設(shè)計(jì)背景及相關(guān)技術(shù)隨著數(shù)字電子技術(shù)迅猛開(kāi)展,信號(hào)源作為常用的電子產(chǎn)品設(shè)計(jì)工具,其應(yīng)滿足精度高、速度快、分辨率高等要求。DDS是從20世紀(jì)70年代開(kāi)展起來(lái)繼直接頻率合成和間接頻率合成之后的第三代頻率合成技術(shù)。VerilogHDL是一種允許設(shè)計(jì)者進(jìn)行各種級(jí)別的邏輯設(shè)計(jì),進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時(shí)序分析、邏輯綜合的硬件描述語(yǔ)言。QuartusⅡ6.0是Altera公司推出的CPLD/FPGA結(jié)構(gòu)化ASIC開(kāi)發(fā)設(shè)計(jì)軟件。信號(hào)發(fā)生器(signalgenerator),又稱信號(hào)源或振蕩器,是一種能在模擬域或數(shù)字域中以一定頻率產(chǎn)生可復(fù)現(xiàn)的精確校準(zhǔn)信號(hào)的電子測(cè)試儀器。根據(jù)輸出信號(hào)波形的不同,信號(hào)發(fā)生器可以分為:函數(shù)信號(hào)發(fā)生器〔正弦信號(hào)發(fā)生器、矩形信號(hào)發(fā)生器、三角波信號(hào)發(fā)生器等〕、脈沖信號(hào)發(fā)生器、隨機(jī)信號(hào)發(fā)生器及任意波形發(fā)生器等。任意波形發(fā)生器〔ArbitraryWaveformGenerator,AWG〕,是信號(hào)發(fā)生器的一種,是能夠精確產(chǎn)生用戶定義的任意波形的電子測(cè)試設(shè)備。不同于僅能產(chǎn)生有限簡(jiǎn)單波形的函數(shù)發(fā)生器,用戶可以對(duì)任意波形發(fā)生器定義各種不同的復(fù)雜可變的波形信號(hào)。根據(jù)結(jié)構(gòu)形式,任意波形發(fā)生器主要有兩種:
*獨(dú)立控制式任意波形發(fā)生器
*總線控制式任意波形發(fā)生器任意波形發(fā)生器的關(guān)鍵技術(shù)是頻率合成技術(shù),目前常用任意波形發(fā)生器的頻率合成技術(shù)主要有DDS技術(shù)和可變時(shí)鐘技術(shù)。早期的任意波形發(fā)生器僅能輸出低頻信號(hào),隨著數(shù)字技術(shù)的開(kāi)展,其輸出頻率已能到達(dá)射頻范圍。PLD〔ProgrammableLogicDevice〕是可編程邏輯器件的總稱,PLD根本上可以完成任何數(shù)字器件的功能,從高性能CPI到簡(jiǎn)單集成電路,均可以用PLD實(shí)現(xiàn)。通過(guò)傳統(tǒng)的原理圖輸入,或是硬件語(yǔ)言的描述就可以自由地設(shè)計(jì)具備某種功能的數(shù)字系統(tǒng):利用軟件仿真功能,可以檢驗(yàn)設(shè)計(jì)的正確性;利用PLD的在線修改能力,可以在不必改動(dòng)硬件電路的根底上進(jìn)行修改設(shè)計(jì)。具備設(shè)計(jì)時(shí)間短,PCB面積小,系統(tǒng)的可靠性強(qiáng)等特點(diǎn)。目前,在通信、自動(dòng)控制、信息處理等諸多領(lǐng)域發(fā)揮著重要的作用。3理論根底3.1VerilogHDL語(yǔ)言概述電子設(shè)計(jì)自動(dòng)化〔EDA〕的關(guān)鍵技術(shù)之一是要求用形式化方法來(lái)描述數(shù)字系統(tǒng)的硬件電路。VerilogHDL硬件描述語(yǔ)言在電子設(shè)計(jì)自動(dòng)化中扮演著重要的角色,他是EDA技術(shù)研究的重點(diǎn)之一。VerilogHDL是一種硬件描述語(yǔ)言〔HDL:HardwareDiscriptionLanguage〕,是一種以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言。VerilogHDL就是在用途最廣泛的C語(yǔ)言的根底上開(kāi)展起來(lái)的一種件描述語(yǔ)言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開(kāi)發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1985年Moorby推出它的第三個(gè)商用仿真器Verilog-XL,獲得了巨大的成功,從而使得VerilogHDL迅速得到推廣應(yīng)用。1989年CADENCE公司收購(gòu)了GDA公司,使得VerilogHDL成為了該公司的獨(dú)家專利。1990年CADENCE公司公開(kāi)發(fā)表了VerilogHDL,并成立LVI組織以促進(jìn)VerilogHDL成為IEEE標(biāo)準(zhǔn),即IEEEStandard1364-1995。用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。VerilogHDL的最大特點(diǎn)就是易學(xué)易用,如果有C語(yǔ)言的編程經(jīng)驗(yàn),可以在一個(gè)較短的時(shí)間內(nèi)很快的學(xué)習(xí)和掌握,因而可以把VerilogHDL內(nèi)容安排在與ASIC設(shè)計(jì)等相關(guān)課程內(nèi)部進(jìn)行講授,由于HDL語(yǔ)言本身是專門面向硬件與系統(tǒng)設(shè)計(jì)的,這樣的安排可以使學(xué)習(xí)者同時(shí)獲得設(shè)計(jì)實(shí)際電路的經(jīng)驗(yàn)。與之相比,VHDL的學(xué)習(xí)要困難一些。但VerilogHDL較自由的語(yǔ)法,也容易造成初學(xué)者犯一些錯(cuò)誤,這一點(diǎn)要注意。下面列出的是Verilog硬件描述語(yǔ)言的主要能力:〔1〕根本邏輯門,例如and、or和nand等都內(nèi)置在語(yǔ)言中?!?〕用戶定義原語(yǔ)〔UDP〕創(chuàng)立的靈活性。用戶定義的原語(yǔ)既可以是組合邏輯原語(yǔ),也可以是時(shí)序邏輯原語(yǔ)。〔3〕開(kāi)關(guān)級(jí)根本結(jié)構(gòu)模型,例如pmos和nmos等也被內(nèi)置在語(yǔ)言中?!?〕提供顯式語(yǔ)言結(jié)構(gòu)指定設(shè)計(jì)中的端口到端口的時(shí)延及路徑時(shí)延和設(shè)計(jì)的時(shí)序檢查?!?〕可采用三種不同方式或混合方式對(duì)設(shè)計(jì)建模。這些方式包括:行為描述方式—使用過(guò)程化結(jié)構(gòu)建模;數(shù)據(jù)流方式—使用連續(xù)賦值語(yǔ)句方式建模;結(jié)構(gòu)化方式—使用門和模塊實(shí)例語(yǔ)句描述建模。
*VerilogHDL中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和存放器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而存放器類型表示抽象的數(shù)據(jù)存儲(chǔ)元件。
*能夠描述層次設(shè)計(jì),可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。
*設(shè)計(jì)的規(guī)??梢允侨我獾模徽Z(yǔ)言不對(duì)設(shè)計(jì)的規(guī)?!泊笮 呈┘尤魏蜗拗?。
*VerilogHDL不再是某些公司的專有語(yǔ)言而是IEEE標(biāo)準(zhǔn)。
*人和機(jī)器都可閱讀Verilog語(yǔ)言,因此它可作為EDA的工具和設(shè)計(jì)者之間的交互語(yǔ)言。
*VerilogHDL語(yǔ)言的描述能力能夠通過(guò)使用編程語(yǔ)言接口〔PLI〕機(jī)制進(jìn)一步擴(kuò)展。PLI是允許外部函數(shù)訪問(wèn)Verilog模塊內(nèi)信息、允許設(shè)計(jì)者與模擬器交互的例程集合。
*設(shè)計(jì)能夠在多個(gè)層次上加以描述,從開(kāi)關(guān)級(jí)、門級(jí)、存放器傳送級(jí)〔RTL〕到算法級(jí),包括進(jìn)程和隊(duì)列級(jí)。*能夠使用內(nèi)置開(kāi)關(guān)級(jí)原語(yǔ)在開(kāi)關(guān)級(jí)對(duì)設(shè)計(jì)完整建模。
*同一語(yǔ)言可用于生成模擬鼓勵(lì)和指定測(cè)試的驗(yàn)證約束條件,例如輸入值的指定。
*VerilogHDL能夠監(jiān)控模擬驗(yàn)證的執(zhí)行,即模擬驗(yàn)證執(zhí)行過(guò)程中設(shè)計(jì)的值能夠被監(jiān)控和顯示。這些值也能夠用于與期望值比擬,在不匹配的情況下,打印報(bào)告消息。
*在行為級(jí)描述中,VerilogHDL不僅能夠在RTL級(jí)上進(jìn)行設(shè)計(jì)描述,而且能夠在體系結(jié)構(gòu)級(jí)描述及其算法級(jí)行為上進(jìn)行設(shè)計(jì)描述。
*能夠使用門和模塊實(shí)例化語(yǔ)句在結(jié)構(gòu)級(jí)進(jìn)行結(jié)構(gòu)描述。
*VerilogHDL的混合方式建模能力,即在一個(gè)設(shè)計(jì)中每個(gè)模塊均可以在不同設(shè)計(jì)層次上建模。
*VerilogHDL還具有內(nèi)置邏輯函數(shù),例如&〔按位與〕和|〔按位或〕。*對(duì)高級(jí)編程語(yǔ)言結(jié)構(gòu),例如條件語(yǔ)句、情況語(yǔ)句和循環(huán)語(yǔ)句,語(yǔ)言中都可以使用。
*可以顯式地對(duì)并發(fā)和定時(shí)進(jìn)行建模。
*提供強(qiáng)有力的文件讀寫(xiě)能力。
*語(yǔ)言在特定情況下是非確定性的,即在不同的模擬器上模型可以產(chǎn)生不同的結(jié)果;例如,事件隊(duì)列上的事件順序在標(biāo)準(zhǔn)中沒(méi)有定義。3.2Max+plusII簡(jiǎn)介Max+plusII(或?qū)懗蒑axplus2或MP2)是Altera公司推出的的第三代PLD開(kāi)發(fā)系統(tǒng)(Altera第四代PLD開(kāi)發(fā)系統(tǒng)被稱為:Quartus,主要用于設(shè)計(jì)6萬(wàn)-100萬(wàn)門的大規(guī)模CPLD/FPGA)。使用MaX+PLUSII的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具〔如原理圖輸入或硬件描述語(yǔ)言〕建立設(shè)計(jì),MaX+PLUSII把這些設(shè)計(jì)轉(zhuǎn)自動(dòng)換成最終所需的格式。其設(shè)計(jì)速度非??焯貏e適合初學(xué)者使用。通??蓪axplus2設(shè)計(jì)流程歸納為以下7個(gè)步驟:〔1〕使用文本編輯器輸入設(shè)計(jì)源文件。在傳統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員是應(yīng)用傳統(tǒng)的原理圖輸入方法來(lái)開(kāi)始設(shè)計(jì)的。自90年代初,Verilog、VHDL、AHDL等硬件描述語(yǔ)言的輸入方法在大規(guī)模設(shè)計(jì)中得到了廣泛應(yīng)用?!?〕前仿真〔功能仿真〕。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效?!?〕設(shè)計(jì)編譯。設(shè)計(jì)輸入之后就有一個(gè)從高層次系統(tǒng)行為設(shè)計(jì)向門級(jí)邏輯電路設(shè)轉(zhuǎn)化翻譯過(guò)程,即把設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識(shí)別的某種數(shù)據(jù)格式(網(wǎng)表)?!?〕優(yōu)化。對(duì)于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原那么,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫(kù)映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。〔5〕布局布線。〔6〕后仿真〔時(shí)序仿真〕需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序?!?〕生產(chǎn)。布線和后仿真完成之后,就可以開(kāi)始ASCI或PLD芯片的投產(chǎn)。MaxPlusII的設(shè)計(jì)流程可以用如下列圖3.1給出。圖形成VHDL編輯器圖形成VHDL編輯器編譯網(wǎng)表提取數(shù)據(jù)庫(kù)建立邏輯綜合邏輯分割匹配延時(shí)網(wǎng)表提取編輯文件匯編編輯器圖3.1MaxPlusII設(shè)計(jì)流程從圖3.1可清晰了解到MaxPlusII提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。他包括設(shè)計(jì)輸入編輯、編譯網(wǎng)表提取、數(shù)據(jù)庫(kù)建立、邏輯綜合、邏輯分割、適配、延時(shí)網(wǎng)表提取、編輯文件匯編以及編程下載9個(gè)步驟。4EDA多功能波形發(fā)生器詳細(xì)設(shè)計(jì)4.1設(shè)計(jì)思路設(shè)計(jì)的思路主要是以實(shí)驗(yàn)室中常用的函數(shù)發(fā)生器為雛形,及既能輸出任意波形,并且頻率可調(diào),還可以測(cè)量外部信號(hào)的頻率。實(shí)現(xiàn)這兩種功能設(shè)計(jì)的方式有很多種,這里采用EDA設(shè)計(jì)來(lái)實(shí)現(xiàn),驗(yàn)證設(shè)計(jì)的芯片采用Cyclone系列,具體芯片可根據(jù)實(shí)驗(yàn)室的配置來(lái)確定。語(yǔ)言采用VerilogHDL,軟件以MAX+PlusⅡ?yàn)橹?。其中任意波形發(fā)生器的實(shí)現(xiàn)采用模塊設(shè)計(jì),這樣很好的利用了MAX+PlusⅡ軟件中的LPM_ROM模塊,能夠到達(dá)最優(yōu)設(shè)計(jì);頻率計(jì)的功能完全采用HDL語(yǔ)言描述,最后的頂層文件采用模塊設(shè)計(jì)來(lái)完成。最終的頂層文件如下列圖所示:圖4.1頂層文件模塊圖4.2任意波形發(fā)生器的分塊設(shè)計(jì)〔1〕Fre_measure模塊:圖4.2Fre_measure模塊圖Fre_measure模塊個(gè)引腳說(shuō)明:INCLK:系統(tǒng)的時(shí)鐘信號(hào)。在計(jì)數(shù)測(cè)量局部,其被分頻為1Hz信號(hào);在動(dòng)態(tài)掃描局部,其被分頻為動(dòng)態(tài)掃描脈沖。RST:系統(tǒng)的復(fù)位時(shí)鐘,高電平有效。INCLK:輸入的待測(cè)信號(hào)。Qout[15:0]:假設(shè)打算通過(guò)數(shù)碼管靜態(tài)顯示,那么Qout[15:12]為千位,Qout[11:8]為百位,Qout[7:4]為十位,Qout[3:0]為個(gè)位,都是十進(jìn)制形式。WARNING:超過(guò)量程時(shí)輸出的警示信號(hào)。DECODEOUT[6:0]:動(dòng)態(tài)掃描顯示時(shí)的譯碼輸出,在掃描脈沖的作用下,循環(huán)的輸出四位數(shù)據(jù)。CTR_SEG[3:0]:四個(gè)數(shù)碼管的未選信號(hào),在掃描脈沖的作用下,與相應(yīng)位的譯碼信號(hào)對(duì)應(yīng)輸出?!?〕Wave_gen模塊:圖4.3Wave_gen模塊圖Wave_gen模塊各引腳說(shuō)明:INCLK:輸入的待測(cè)信號(hào)。SELECT[1..0]:波形選擇輸入。FREQ[3..0]:控制輸出波形的頻率。ADDRESS[8..0]:輸出地址指針?!?〕波形數(shù)據(jù)存儲(chǔ)ROM模塊圖4.4波形數(shù)據(jù)存儲(chǔ)ROM模塊波形數(shù)據(jù)存儲(chǔ)ROM模塊個(gè)引腳說(shuō)明:Clock:輸入時(shí)鐘信號(hào)。Address[8..0]:輸入地址指針。Q[7..0]:輸出信號(hào)。5任意波形發(fā)生器的仿真與實(shí)現(xiàn)要實(shí)現(xiàn)的功能:可產(chǎn)生正弦波〔sina_wave〕、鋸齒波〔swat_wave〕、矩形波〔squr_wave〕、三角波〔trig_wave〕四種信號(hào),能夠?qū)崿F(xiàn)信號(hào)的轉(zhuǎn)換〔select〕并且頻率可調(diào)。主要由三局部組成:地址指針控制模塊,四種波形數(shù)據(jù)存儲(chǔ)模塊,D/A轉(zhuǎn)換模塊。前面2個(gè)模塊在Max+plusII中實(shí)現(xiàn),該局部的實(shí)現(xiàn)框圖如下:圖4.5實(shí)現(xiàn)功能框圖5.1指針控制模塊的仿真與實(shí)現(xiàn)該模塊的功能采用VerilogHDL來(lái)描述,程序Wave_gen.v請(qǐng)見(jiàn)附件。程序?qū)崿F(xiàn)的主要功能是:根據(jù)不同的波形選擇〔select[1:0]〕,來(lái)改變送入ROM中的地址指針address。四種波形一個(gè)周期的數(shù)據(jù)各占不同的16B,每次波形改變使address指向各段數(shù)據(jù)首地址。編譯正確后將其創(chuàng)立為Wave_gen.bsf模塊〔見(jiàn)頂層文件中所示〕,然后采用圖形編輯方式,完成波形發(fā)生器這局部電路的設(shè)計(jì)。。該局部功能驗(yàn)證的波形仿真結(jié)果如下:=1\*GB3①產(chǎn)生正弦波〔sina_wave〕時(shí)送到DAC0832的數(shù)據(jù):圖5.1產(chǎn)生正弦波的仿真圖=2\*GB3②產(chǎn)生鋸齒波〔swat_wave〕時(shí)送到DAC0832的數(shù)據(jù):圖5.2產(chǎn)生鋸齒波的仿真圖=3\*GB3③產(chǎn)生矩形波〔squr_wave〕時(shí)送到DAC0832的數(shù)據(jù):圖5.3產(chǎn)生矩形波的仿真圖=4\*GB3④產(chǎn)生三角波〔trig_wave〕時(shí)送到DAC0832的數(shù)據(jù):圖5.4產(chǎn)生三角波的仿真圖由仿真結(jié)果可知,改變select[1:0]的值,能夠正確的將對(duì)應(yīng)的波形數(shù)據(jù)送到DAC0832,從而完成了整體設(shè)計(jì)的第一局部。5.2數(shù)字頻率計(jì)的仿真與實(shí)現(xiàn)要實(shí)現(xiàn)的功能:設(shè)計(jì)一個(gè)四位數(shù)字顯示的頻率計(jì),標(biāo)準(zhǔn)基準(zhǔn)時(shí)鐘采用1Hz〔即1s〕,可以測(cè)量1Hz—9999Hz的信號(hào)頻率。完全采用文本設(shè)計(jì),模擬的硬件功能有三局部組成:控制局部、計(jì)數(shù)測(cè)量局部、輸出顯示數(shù)據(jù)鎖存局部。頻率計(jì)的程序總體框圖及內(nèi)部局部,內(nèi)部的握手信號(hào)等信息的框圖表示如下:Qout[15:0]input_fre顯示數(shù)據(jù)鎖存部分Qout[15:0]input_fre顯示數(shù)據(jù)鎖存部分計(jì)數(shù)測(cè)量局部計(jì)數(shù)測(cè)量局部warningcount_eninclk控制局部warningcount_eninclk控制局部decodeout[6:0]count_clrdecodeout[6:0]count_clr動(dòng)態(tài)掃描部分loadrst動(dòng)態(tài)掃描部分loadrstctr_seg[3:0]ctr_seg[3:0]圖5.6頻率的程序總體框圖1、信號(hào)的定義與說(shuō)明如下:=1\*GB3①:輸入局部input_fre:輸入的待測(cè)信號(hào);inclk:系統(tǒng)的時(shí)鐘信號(hào)。在計(jì)數(shù)測(cè)量局部,其被分頻為1Hz信號(hào);在動(dòng)態(tài)掃描局部,其被分頻為動(dòng)態(tài)掃描脈沖。在這里,inclk假設(shè)為實(shí)驗(yàn)室的4MHz;rst:系統(tǒng)的復(fù)位時(shí)鐘,高電平有效。=2\*GB3②:輸出局部Qout[15:0]:假設(shè)打算通過(guò)數(shù)碼管靜態(tài)顯示,那么Qout[15:12]為千位,Qout[11:8]為百位,Qout[7:4]為十位,Qout[3:0]為個(gè)位,都是十進(jìn)制形式;warning:超過(guò)量程時(shí)輸出的警示信號(hào);decodeout[6:0]:動(dòng)態(tài)掃描顯示時(shí)的譯碼輸出,在掃描脈沖的作用下,循環(huán)的輸出四位數(shù)據(jù);ctr_seg[3:0]:四個(gè)數(shù)碼管的未選信號(hào),在掃描脈沖的作用下,與相應(yīng)位的譯碼信號(hào)對(duì)應(yīng)輸出。=3\*GB3③:中間握手信號(hào)count_en:計(jì)數(shù)允許信號(hào);count_clr:在新的一次測(cè)量開(kāi)始時(shí),去除上一次的測(cè)量數(shù)據(jù),是數(shù)碼管上的顯示數(shù)據(jù)隨時(shí)得到更新;load:計(jì)數(shù)數(shù)據(jù)鎖存信號(hào)。2、控制局部各信號(hào)的時(shí)序關(guān)系輸入的系統(tǒng)脈沖經(jīng)過(guò)分頻后得到1Hz的計(jì)數(shù)基準(zhǔn)信號(hào),在基準(zhǔn)信號(hào)每?jī)蓚€(gè)時(shí)鐘周期經(jīng)行一次頻率測(cè)量。該局部產(chǎn)生3個(gè)控制信號(hào):count_en,count_clr,load。count_clr對(duì)計(jì)數(shù)模塊進(jìn)行復(fù)位,持續(xù)半個(gè)時(shí)鐘周期;count_en上升沿時(shí)刻計(jì)數(shù)局部開(kāi)始對(duì)輸入信號(hào)頻率進(jìn)行測(cè)量,測(cè)量時(shí)間恰為一個(gè)基準(zhǔn)時(shí)鐘〔1Hz〕,這段時(shí)間對(duì)輸入信號(hào)的脈沖進(jìn)行計(jì)數(shù),結(jié)果即為信號(hào)色頻率。load即為產(chǎn)生鎖存信號(hào)。各控制信號(hào)的時(shí)序關(guān)系如下列圖所示:圖5.7各控制信號(hào)的時(shí)序關(guān)系圖3、計(jì)數(shù)局部的設(shè)計(jì)通過(guò)控制局部送來(lái)的控制時(shí)序,計(jì)數(shù)局部可以在一個(gè)基準(zhǔn)時(shí)鐘周期內(nèi)對(duì)輸入的信號(hào)進(jìn)行頻率測(cè)量,在計(jì)數(shù)的同時(shí)通過(guò)程序控制,使輸出都為BCD碼。4、鎖存局部設(shè)計(jì)在load信號(hào)的時(shí)序作用下,完成輸出數(shù)據(jù)鎖存。5、動(dòng)態(tài)掃描局部的設(shè)計(jì)在掃描時(shí)序的作用下,送出每一位的譯碼數(shù)據(jù)〔decodeout[6:0]〕及對(duì)應(yīng)的字位選通控制信號(hào)(ctr_seg[3:0])。該模塊的功能采用VerilogHDL來(lái)描述,程序fre_measure.v請(qǐng)見(jiàn)附件。編譯正確后將其創(chuàng)立為fre_measure.bsf模塊,然后采用圖形編輯方式,完成頻率計(jì)這局部電路的設(shè)計(jì)。該局部功能驗(yàn)證的波形仿真結(jié)果如下:=1\*GB3①:當(dāng)input_fre設(shè)置為40Hz時(shí),仿真的波形如下:圖5.840Hz仿真波形圖如上圖所示,Qout顯示數(shù)據(jù)為:0040,即40Hz。同時(shí)將input_fre與clk_1Hz對(duì)照比擬,亦可數(shù)出clk_1Hz一個(gè)周期內(nèi)input_fre為40〔圖中clk_1Hz半個(gè)周期內(nèi)input_fre為20〕。同時(shí)譯碼輸出為3F、66,分別代表0、4的字型碼。=2\*GB3②:當(dāng)input_fre設(shè)置為200Hz時(shí),仿真的波形如下:圖5.8200Hz仿真波形圖如上圖所示,Qout顯示數(shù)據(jù)為:0200,即40Hz。同時(shí)將input_fre與clk_1Hz對(duì)照比擬,亦可數(shù)出clk_1Hz一個(gè)周期內(nèi)input_fre為200〔圖中clk_1Hz半個(gè)周期內(nèi)input_fre為100〕。同時(shí)譯碼輸出為3F、5B,分別代表0、2的字型碼?!菊f(shuō)明】:為了仿真時(shí)減輕CPU的運(yùn)算量,程序中的1Hz分頻數(shù)據(jù)改為199〔原數(shù)據(jù)是1999999〕,動(dòng)態(tài)掃描時(shí)鐘分頻改為9〔原數(shù)據(jù)是4999〕,不影響研究問(wèn)題的實(shí)質(zhì)。由上面的仿真結(jié)果可知,頻率計(jì)能夠正確的測(cè)量出輸入信號(hào)的頻率,從而完成了整體設(shè)計(jì)的第二局部。5.3系統(tǒng)設(shè)計(jì)有待提高和改良的地方頻率計(jì)的結(jié)果如果可以可用字符LCD顯示,讓EDA送出相應(yīng)的LCD控制信號(hào);頻率計(jì)的測(cè)量范圍可通過(guò)選擇不同的基準(zhǔn)頻率〔比方10Hz、100Hz、1KHz〕來(lái)擴(kuò)展,即可以實(shí)現(xiàn)“可選量程〞的數(shù)字頻率計(jì);利用頻率計(jì)電路來(lái)顯示波形發(fā)生器的輸出波形的頻率及波形標(biāo)識(shí),這樣就實(shí)現(xiàn)了實(shí)驗(yàn)室中函數(shù)發(fā)生器的雛形:能實(shí)現(xiàn)任意波形的輸出及頻率顯示并且能夠測(cè)量外來(lái)信號(hào)的頻率,這也是本文最初的設(shè)計(jì)思路,那樣設(shè)計(jì)就更加完美。6小結(jié)本課題要求基于可編程邏輯器件,使用硬件描述語(yǔ)言VHDL編寫(xiě)一個(gè)汽車尾燈控制器芯片,并用MaxPlusII軟件進(jìn)行仿真。根據(jù)自己對(duì)汽車尾燈的理解我設(shè)計(jì)了四大功能:一是檢查功能,二是剎車功能,三是左轉(zhuǎn)功能,四是右轉(zhuǎn)功能。由此必需設(shè)計(jì)出五個(gè)大的模塊:一是控制模塊,此模塊是總的控制系統(tǒng),將其它模塊的功能融合在一起,便于進(jìn)行集中的控制和操作;二是檢查模塊,此模塊是一個(gè)分模塊,主要功能是對(duì)在汽車尾燈整個(gè)工作的過(guò)程中,在任一狀態(tài)的任一時(shí)刻,檢查汽車自身是否處于正常狀態(tài),各電路系統(tǒng)和車身平安是否良好。三是剎車模塊,此模塊也是一分模塊,主要功能是當(dāng)駕駛?cè)藛T遇險(xiǎn)需要?jiǎng)x車踩下剎車鍵時(shí),尾燈有規(guī)律閃爍,提示后面駕駛?cè)藛T和車輛注意。四是左轉(zhuǎn)模塊,主要功能是當(dāng)駕駛?cè)藛T需要轉(zhuǎn)彎按下左轉(zhuǎn)彎鍵時(shí),尾燈有規(guī)律閃爍,提示后面駕駛?cè)藛T和車輛注意。五是右轉(zhuǎn)模塊,此模塊也是一分模塊,主要功能是當(dāng)駕駛?cè)藛T需要轉(zhuǎn)彎按下右轉(zhuǎn)彎鍵時(shí),尾燈有規(guī)律閃爍,提示后面駕駛?cè)藛T和車輛注意。在整個(gè)電路設(shè)計(jì)完畢并仿真成功后發(fā)現(xiàn),其實(shí)整個(gè)電路設(shè)計(jì)實(shí)現(xiàn)的功能還是比擬實(shí)用和易于操作的,而自己也為此付出了許多:從根據(jù)課題要求查找相關(guān)資料,學(xué)習(xí)硬件語(yǔ)言,到自己能夠獨(dú)立編寫(xiě)小程序;從對(duì)MaxPlusII軟件的摸索,一次次修改程序,到仿真得到較滿意的結(jié)果;從對(duì)截圖工具的搜索下載,論文資料的搜集,到文字排版的學(xué)習(xí)。在設(shè)計(jì)過(guò)程中遇到了很多困難,在指導(dǎo)老師的指引和同學(xué)的幫助下,通過(guò)不斷探索學(xué)習(xí),使問(wèn)題得到了一定的解決。終于使汽車尾燈控制器的控制,檢查,剎車,右轉(zhuǎn)等根本功能都實(shí)現(xiàn)了,美中缺乏的是汽車尾燈的各個(gè)仿真結(jié)果都有一定的延時(shí)。通過(guò)本學(xué)期課程設(shè)計(jì)的學(xué)習(xí),我從中學(xué)習(xí)到了很多東西,對(duì)可編程邏輯器件,VHDL語(yǔ)言,MaxPlusII軟件有了一定的了解,尤其是用VHDL語(yǔ)言編程和仿真。在本次設(shè)計(jì)中最大的收獲是在不斷地發(fā)現(xiàn)問(wèn)題,分析問(wèn)題,解決問(wèn)題的過(guò)程中培養(yǎng)了自己的科研能力,為今后的學(xué)習(xí)工作做了一個(gè)良好的鋪墊。參考文獻(xiàn)[1]王金明.VerilogHDL程序設(shè)計(jì)教程.北京.人民郵電出版社,2004[2]Altera公司.QuartusII7.2簡(jiǎn)易用戶使用入門指南[3]王金明.數(shù)字系統(tǒng)設(shè)計(jì)與VerilogHDL教程.第二版,2005[4]曾繁泰.EDA工程理論與實(shí)踐---SOC系統(tǒng)芯片設(shè)計(jì).電子工業(yè)出版社,2004,6附錄:設(shè)計(jì)源程序清單//程序名稱:基于VerilogHDL語(yǔ)言的多功能波形發(fā)生器設(shè)計(jì)//程序王楓//最后修改日期:2010-Wave_gen.v程序如下:moduleWave_gen(address,inclk,select,freq);output[8:0] address;//輸出控制ROM的地址input inclk;//系統(tǒng)始終,時(shí)間應(yīng)該保證D/A能轉(zhuǎn)換完畢input[1:0] select;//波形選擇,具體值代表的波形見(jiàn)下面定義input[3:0] freq;//控制輸出波形的頻率reg[7:0] Qout;reg[8:0] address;reg[7:0] k,m;parameter sina_wave=2'b00,swat_wave=2'b01, squr_wave=2'b10,trig_wave=2'b11;always@(posedgeinclk)begin case(select) sina_wave:begin if(select==1)address<=128; if(select==2)address<=256; if(select==3)address<=384; if(freq==0||freq==1) begin if(address>=127)address<=0; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=m) address<=0; else address<=address+freq; end end swat_wave:begin if(select==0)address<=0; if(select==2)address<=256; if(select==3)address<=384; if(address<128)address<=128; else begin if(freq==0||freq==1) begin if(address>=255)address<=128; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+128)) address<=128; else address<=address+freq; end end end squr_wave:begin if(select==0)address<=0; if(select==1)address<=128; if(select==3)address<=384; if(address<256)address<=256; else begin if(freq==0||freq==1) begin if(address>=383)address<=256; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+256)) address<=256; else address<=address+freq; end end end trig_wave:begin if(select==1)address<=128; if(select==2)address<=256; if(select==3)address<=384; if(address<384)address<=384; else begin if(freq==0||freq==1) begin if(address>=511)address<=384; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+384)) address<=384; else address<=address+freq; end end end endcaseendendmodulefre_measure.v程序如下:modulefre_measure(Qout,warning,ctr_seg,decodeout,inclk,rst,input_fre);input inclk,rst,input_fre;output[15:0] Qout;output warning;output[3:0] ctr_seg;output[6:0] decodeout;reg[3:0] ctr_seg,out_seg;reg[6:0] decodeout;reg[15:0] Qout,temp; reg clk_1Hz,count_en,load,warning,temp1,clk_scan;reg[1:0] state_scan; reg[21:0] count;reg[16:0] count2;always@(posedgeinclk)beginif(count==1999999)//假設(shè)inclk為4M,分頻得到1Hz信號(hào)begin count=0; clk_1Hz=!clk_1Hz; endelsebegin count=count+1; clk_1Hz=clk_1Hz;endendalways@(posedgeclk_1Hz)//控制局部設(shè)計(jì)begin if(rst) begincount_en=0;load=1;end else begin count_en=~count_en; load=~count_en; endendassigncount_clr=~clk_1Hz&load;always@(posedgeinput_freorposedgecount_clr)//計(jì)數(shù)局部設(shè)計(jì)begin if(count_clr==1) begin temp<=0;temp1<=0;end else begin if(count_en==1) begin if(temp==16'h9999) begintemp<=0;temp1<=1;end else begin if(temp[3:0]==9) begin temp[3:0]<=0; if(temp[7:4]==9) begin temp[
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北師中文考研真題及答案
- 香港英語(yǔ)中考試題及答案
- 2025年生態(tài)護(hù)膚考試試題及答案
- 化學(xué)與健康整合能力測(cè)評(píng)試題
- 化學(xué)生活能力應(yīng)用評(píng)價(jià)試題
- 骨外科護(hù)理考試題及答案
- 公墓管理崗考試題及答案
- 2025年高考物理“預(yù)測(cè)適應(yīng)”趨勢(shì)把握試題(一)
- 工程實(shí)訓(xùn)考試題及答案
- 高職往年考試題目及答案
- TOE框架下我國(guó)基層治理創(chuàng)新的路徑研究-基于49個(gè)案例的模糊集定性比較分析
- 采購(gòu)員考試題及答案
- 糖尿病酮癥酸中毒護(hù)理疑難病歷討論
- SF6設(shè)備帶壓封堵技術(shù)規(guī)范2023
- 大數(shù)據(jù)與人工智能在冶金產(chǎn)業(yè)的應(yīng)用-洞察闡釋
- 規(guī)范口腔種植管理制度
- 山場(chǎng)林木出售協(xié)議書(shū)
- 監(jiān)理工程師借調(diào)合同協(xié)議書(shū)范本三方版5篇
- 培養(yǎng)“最好的我”新時(shí)代品質(zhì)少年-學(xué)校課程規(guī)劃與實(shí)施方案
- 員工調(diào)薪申請(qǐng)表
- 2025年全球及中國(guó)晶須碳納米管行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論