VerilogVHDL曼徹斯特編碼器_第1頁(yè)
VerilogVHDL曼徹斯特編碼器_第2頁(yè)
VerilogVHDL曼徹斯特編碼器_第3頁(yè)
VerilogVHDL曼徹斯特編碼器_第4頁(yè)
VerilogVHDL曼徹斯特編碼器_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.5.什么叫“綜合”?一般“綜合”包含哪些過程? 答:在電子設(shè)計(jì)領(lǐng)域中“綜合”的概念可以表示為:將用行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實(shí)現(xiàn)的模塊組合裝配的過程。 綜合包含的過程:對(duì)VHDL或Verilog HDL進(jìn)行處理分析,并將其轉(zhuǎn)換成電路結(jié)構(gòu)或模塊,這時(shí)不考慮實(shí)際器件實(shí)現(xiàn),即完全與硬件無關(guān),這個(gè)過程是一個(gè)通用電路原理圖形成的過程:第2步,對(duì)實(shí)際實(shí)現(xiàn)目標(biāo)器件的結(jié)構(gòu)進(jìn)行優(yōu)化,并使之滿足各種約束條件,優(yōu)化關(guān)鍵路徑,等等。2.10 使用Quartus II的 Mega Wizard Plug-In Manager宏功能模塊中的PLL設(shè)計(jì)一個(gè)能實(shí)現(xiàn)圖題2.10波形的電路元件(包括一

2、個(gè)VHDL文件和一個(gè)*.bsf原理圖圖標(biāo))。其中:inclk0為電路的主頻輸入端,頻率為50MHz;areset為異步置位端,c2和主頻inclk0同頻率。c1為主頻inclk0的倍頻輸出信號(hào)。C0為c2的反相信號(hào)。Locked為相位控制信號(hào),也是輸出使能控制信號(hào)。( 2014am)3.20 試用VHDL 語(yǔ)言設(shè)計(jì)一個(gè)曼徹斯特編碼器。已知有時(shí)鐘信號(hào)clk_d、時(shí)鐘的倍頻信號(hào)clk及時(shí)鐘的反相信號(hào)clk_dn。串行數(shù)據(jù)輸入為data_s,編碼輸出為mcode_out,輸出使能信號(hào)為clk_lock_in,高電平有效(2012am) (2013am) (2014am)提示:曼徹斯特碼(Manche

3、ster Code)又稱為數(shù)字雙相碼或分相碼(Split-phase Code)。它的編 碼規(guī)則是:用分別持續(xù)半個(gè)碼元周期的正(高)、負(fù)(低)電平組合表示信碼“1”;用分別持續(xù)半個(gè)碼元周期的負(fù)(低) 、正(高)電平組合表示信碼“0” 。 圖題3.20 用倍頻時(shí)鐘設(shè)計(jì)Manchester Code圖題3.20 用雙時(shí)鐘設(shè)計(jì)Manchester Code 的仿真結(jié)果 hsu_manchester_code_vmodule hsu_manchester_code_v ( clk,clk_d,clk_dn,data_s, clk_lock_in,mcode_out);input clk,clk_d,c

4、lk_dn,data_s,clk_lock_in;output mcode_out;reg mcode_out;reg temp_mcode_out;reg temp_mcode_out_ddn;always ( posedge clk or posedge clk_lock_in )begin if (clk_lock_in=1'b1) if (data_s=1'b1) temp_mcode_out<=clk_d; else temp_mcode_out<=1'b0; else temp_mcode_out=1'b0; end always ( p

5、osedge clk or posedge clk_lock_in )begin if (clk_lock_in=1'b1) if (data_s=1'b0) temp_mcode_out_ddn<=clk_dn; else temp_mcode_out_ddn<=1'b0; else temp_mcode_out_ddn=1'b0; Endalways ( posedge clk or posedge clk_lock_in ) begin if (clk_lock_in=1'b1) mcode_out<=temp_mcode_out

6、; temp_mcode_out_ddn; else mcode_out<=1'b0; end endmodule 3.21 試用VHDL 語(yǔ)言設(shè)計(jì)一個(gè)求兩個(gè)數(shù)中最大值的程序,要求用函數(shù)調(diào)用的方法設(shè)計(jì)。其中:data為輸入信號(hào),位寬8bit,dataout為最大值輸出,位寬8bit。Clk為時(shí)鐘信號(hào)。設(shè)計(jì)一位控制信號(hào)set,當(dāng)set為低電平時(shí),輸出data和peak中的最大值。(2013am) 2014am) 。實(shí)體部分LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.ning_bpac.ALL;ENTITY ning_peakd

7、etect IS PORT(data:IN STD_LOGIC_VECTOR(7 DOWNTO 0); clk,set: IN STD_LOGIC; dataout: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END ning_peakdetect ; ARCHITECTURE peakdetect_behave OF ning_peakdetect IS SIGNAL peak: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN dataout<=peak; PROCESS(clk) BEGIN IF(clk'EVENT AND

8、clk='1') THEN IF (set='1' ) THEN peak<=data; ELSE peak<=max(data , peak); END IF; END IF; END PROCESS; END;函數(shù)部分LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE ning_bpac IS FUNCTION max(a: STD_LOGIC_VECTOR; b: STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR;END ning_bpac;PACKAGE BODY

9、 ning_bpac ISFUNCTION max(a: STD_LOGIC_VECTOR; b: STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR IS VARIABLE temp: STD_LOGIC_VECTOR(a'RANGE); BEGIN IF (a>b) THEN temp:=a; ELSE temp:=b; END IF; RETURN temp; END max;END ning_bpac;3.22 試用VHDL 語(yǔ)言設(shè)計(jì)一個(gè)8位二進(jìn)制加計(jì)數(shù)器。其中:qout 為8位二進(jìn)制輸出,cout 為進(jìn)位輸出,clr 為同步清零端,當(dāng)cl

10、r為高電平時(shí)清零、低電平時(shí)工作。Cipher為8位密碼控制輸入端,其控制功能如下表所示:(2014am) cipher功能 00001111加計(jì)數(shù) 11110000減計(jì)數(shù) 11001100停止計(jì)數(shù) 11111111停止計(jì)數(shù)并且輸出BCD碼要求:1.設(shè)計(jì)一個(gè)計(jì)數(shù)分頻器,輸入頻率 clk 為50Mhz ,輸出頻率 newclk 為1hz。 newclk 為計(jì)數(shù)器的計(jì)數(shù)頻率。2.編寫一個(gè)把二進(jìn)制轉(zhuǎn)換為整數(shù)的函數(shù)。3.當(dāng)停止計(jì)數(shù)時(shí),調(diào)用上述函數(shù)用整數(shù)除法把二進(jìn)制數(shù)轉(zhuǎn)換為BCD 碼。(2014am)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;EN

11、TITY Updowncnt8 ISPORT (clk,clr:IN STD_LOGIC;cipher:IN STD_LOGIC_VECTOR(7 DOWNTO 0);cout:OUT STD_LOGIC;q:BUFFER INTEGER RANGE 0 TO 15);END Updowncnt8;ARCHITECTURE one OF Updowncnt8 ISBEGINPROCESS(clk,clr)BEGINI

12、F clk'EVENT AND clk='1' THENIF clr ='0' THENCASE cipher ISWHEN "00001111"=>IF q=15 THEN q<=0;cout<='0'ELSIF q=14 THEN q<=q+1;cout<='1'ELSE q<=q+1;END&#

13、160;IF;WHEN "11110000"=>IF q=0 THEN q<=15;cout<='0'ELSIF q=1 THEN q<=q-1;cout<='1'ELSE q<=q-1;END IF;WHEN "11001100"=>NULL;WHEN "11111111"=> NULL;WHEN OTHERS =>NU

14、LL;END CASE;ELSIF clr ='1' THENq<=0;END IF;END IF;END PROCESS;END one;4.14 8線-3線優(yōu)先編碼器CD4532功能表如表4.1a所示,試用Verilog HDL語(yǔ)言實(shí)現(xiàn)該8線-3線優(yōu)先編碼器。 (2011am) (2011gam)(2012am) (2013am)(2014am)module coder_8(y,a);input7:0 a;output2:0y;reg2:0 y;always (a) begin if(a7

15、) y='b111; else if(a6) y='b110; else if(a5) y='b101; else if(a4) y='b100; else if(a3) y='b011; else if(a2) y='b010; else if(a1) y='b001; else y='b000; endendmodule 表4.1a 8線-3線優(yōu)先編碼器CD4532功能表(P109.例題4.6)4.15 把下列VHDL程序改寫成Verilog HDL語(yǔ)言,并且用Quartus 通過編譯。(2014am)LIBRARY IEEE

16、; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY hsu_count6_updown IS PORT(CLK,RST,ENA:IN STD_LOGIC; OUTY:OUT STD_LOGIC_VECTOR(3DOWNTO 0); COUT:OUT STD_LOGIC; cipher: IN STD_LOGIC_VECTOR(7 DOWNTO 0) );END hsu_count6_updown;ARCHITECTURE behave_cnt6 OF hsu_count6_updown ISSIGNAL

17、CQI: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"SIGNAL flag1_2: STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL cipher_temp: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN cipher_temp<=cipher; P_COUNT10_VT: PROCESS(CLK,RST,ENA) BEGIN IF RST='1' THEN CQI<="0000" ELSIF CLK 'EVENT AND CLK='

18、1' THEN IF ENA='1' THEN if (flag1_2="00") then IF CQI<5 THEN CQI<=CQI+ 1; ELSE CQI<="0000" END IF; elsif (flag1_2="01") then IF CQI>0 THEN CQI<=CQI- 1; ELSE CQI<="0101" END IF; end if; END IF; END IF; OUTY<=CQI; IF (flag1_2="00") THEN COUT<= NOT( CQI(2) AND CQI(0); ELSIF (flag1_2="

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論