資源描述:
《數(shù)控分頻器的設(shè)計(jì)-四》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、數(shù)控分頻器的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.設(shè)計(jì)實(shí)現(xiàn)一個(gè)根據(jù)不同的輸入,將時(shí)鐘信號(hào)進(jìn)行分頻2.掌握分頻計(jì)數(shù)器類型模塊的Verilog描述方法;3.學(xué)習(xí)設(shè)計(jì)仿真工具的使用方法;4.學(xué)習(xí)層次化設(shè)計(jì)方法;二、實(shí)驗(yàn)內(nèi)容1.實(shí)現(xiàn)對(duì)時(shí)鐘的2分頻、4、8、和16分頻。2.實(shí)現(xiàn)偶數(shù)分頻器的設(shè)計(jì)。(8分頻)3.實(shí)現(xiàn)對(duì)吋鐘的16分頻設(shè)計(jì)。4.實(shí)現(xiàn)奇數(shù)分頻的設(shè)計(jì)。三.實(shí)驗(yàn)原理數(shù)字分頻器的功能就是在輸入端給定不同數(shù)據(jù)時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比,數(shù)字分頻器就是計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)完成,方法就是將計(jì)數(shù)溢出位與預(yù)置數(shù)加載輸入信號(hào)相接即可。!1!(1)啟動(dòng)QuartusII建立一個(gè)空白工程。(2)新建VHDL源
2、程序文件輸入程序代碼并保存,進(jìn)行綜合編譯,若在編譯過(guò)程中出現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直至成功為止。(3)建立波形仿真文件并進(jìn)行功能仿真驗(yàn)證。五、實(shí)驗(yàn)結(jié)果1?仿真結(jié)果實(shí)現(xiàn)對(duì)信號(hào)時(shí)鐘的2分頻、4、8、和16分頻(占空比50%)o結(jié)果如圖一:Vilut<90(Ipt20川糾m糾m80川MOm120.0mIttOu1(0Om180Ou2(0Om2200m24)Ou2600m2900mXOOmBiba阪頤(gsr;屁匝08BiBiBlBi圖一2.對(duì)時(shí)鐘的16分頻占空比為1/16,結(jié)果如圖二:NftntValuet27481^0elkB1
3、3ScountB0015??.iv!6B0圖二3.奇數(shù):3倍分
4、頻,仿真結(jié)果如圖3:01-2-56KatieVg?30.0xelkA0...div3A0cogtB00tenplA1A1=i-!rnmrnmkoo7oiXio:C}_XoiYioXooYoiXioXooyoixioXooyoiyio):00x01x10xoox01____—111-1r!1!1!I11609ns1000ns120JOns160,0ns180,0nsPS809ns20Qns40Qns30.0ns圖三4.5分頻仿真結(jié)果如圖四:MasterTime8a27.575m<
5、?
6、Poirter79.63m52C6ntStartV7、0x120.0ns180.0ns2000nz220.0x240.0ns27.575ns07-5-6-7elkbMcourdBOUt?nplB0tv6B0^■LrLr■Ln_ru_i_n_n_n_n_n_n_n_n_n_n_n_n_n_rLJ_LJ_Lri_n_r?C^rxsxiIiIrJ-!n.圖四六.心得和體會(huì)這次的實(shí)驗(yàn)為數(shù)字分頻器,基本原理老師已經(jīng)在上課的時(shí)候講的很清楚,這次剛開始綜合時(shí)有錯(cuò)誤,改完后波形仿真也進(jìn)行的很順利,這次試驗(yàn)乂熟悉了QUARTUS11軟件的使用,以后要多動(dòng)手,多理解,爭(zhēng)取對(duì)QUARTUS11熟練掌握。1、libraryieee;useiee
8、e.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityzl_549isport(clk:instdjogic;clk_div2,clk_div4,clk_div&clk_divl6:outstd_logic);endzl_549;architecturedivofzl_549issignalcount:std_logic_vector(3downto0);beginprocess(clk)beginif(clkeventandelk二T)thenif(count=M1111
9、H)thencount<=(others=>,0,);elsecount<=count+l;endif;endif;endprocess;clk_div2<=count(0);clk_div4<=count(1);clk_div8<=count(2);clk_div16<=count(3);enddiv;2^libraryieee;useieee.std_logic_1164.all;entityzl_549isport(clk:instd_logic;clk_div5:outstdjogic);endzl_549;architecturediv5ofzl_549issignalcount
10、:integerrange0to6;signaltempl5temp2:std_logic;beginprocess(clk)beginifrising_edge(clk)thenifcount=4thencount<=0;temp1<=nottemp1;elsecount<=count+1;endif;endif;iffalling_edge(clk)thenifcount=4thentemp2<=nottemp2;e