資源描述:
《本科畢業(yè)論文-—同步復(fù)接器分接器的fpga設(shè)計與實現(xiàn).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、畢業(yè)論文同步復(fù)接器/分接器的FPGA設(shè)計與實現(xiàn)一.復(fù)接器的設(shè)計本設(shè)計采用了將復(fù)接器通過軟件來實現(xiàn),盡可能用軟件來實現(xiàn)更多的硬件電路[18~19]。在FPGA設(shè)計中采用了分層設(shè)計,頂層為整個系統(tǒng)的原理框圖(見圖1),框圖中包含了構(gòu)成同步數(shù)字復(fù)接器的主要模塊,然后按各模塊的功能分別進行設(shè)計[20]。輸出電路時鐘分頻器內(nèi)碼控制器內(nèi)碼產(chǎn)生器內(nèi)碼產(chǎn)生器內(nèi)碼產(chǎn)生器內(nèi)碼產(chǎn)生器時序發(fā)生器圖1四路同步復(fù)接器的VHDL建??驁D圖1的四路同步復(fù)接器框圖由分頻器、內(nèi)碼控制器、時序產(chǎn)生器、內(nèi)碼產(chǎn)生器、輸出電路等模塊組成[2
2、1~22]。分頻器模塊的作用是用來產(chǎn)生一個256KHZ的時鐘信號,內(nèi)碼控制器模塊的作用是通過三個地址控制端來控制內(nèi)碼發(fā)生器的碼字依次輸出,時序發(fā)生器模塊的作用是產(chǎn)生四路時序來控制四路信號的輸出,內(nèi)碼產(chǎn)生器模塊的作用是將八路并行輸入碼通過串行輸出,輸出電路模塊的作用是用一個三態(tài)門來控制四路信號分時輸出,從而實現(xiàn)復(fù)接功能。復(fù)接器的VHDL設(shè)計根據(jù)所劃分的幾大模塊分別用VHDL語言去描述,最后用元件調(diào)用語句和例化語句將它們連接起來。1.分頻器分頻器實際是一個計數(shù)器,在本設(shè)計中,其作用是將由晶體震蕩電路產(chǎn)
3、生的4096KHZ的方波信號進行分頻,其16分頻(即256KHZ時鐘)輸出端作為內(nèi)碼控制器的控制輸入端。其建模流程圖如圖2所示。時鐘CLK輸入開始計數(shù)=15計數(shù)器清零計數(shù)器計數(shù)圖216分頻計數(shù)器流程圖分頻器的VHDL描述程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount16isport(clk:instd_logic;d,c,b,a:outstd_logic);endcount
4、16;architecturertlofcount16issignalcount_4:std_logic_vector(3downto0);beginprocess(clk)beginif(clk'eventandclk='1')thenif(count_4="1111")thencount_4<="0000";elsecount_4<=count_4+1;endif;endif;endprocess;d<=count_4(0);c<=count_4(1);b<=count_4(2);a<=cou
5、nt_4(3);endrtl;上述程序在Max+plusII時序仿真波形如圖3所示。圖3分頻器的時序仿真波形圖3中,a表示16分頻輸出,b表示8分頻輸出,c表示4分頻輸出,d表示2分頻輸出。由圖中可以看出,實際仿真波形圖與理論預(yù)期一致。2.內(nèi)碼控制器內(nèi)碼控制器,實際也是一個分頻器,一個輸出端口輸出三位并行信號作為內(nèi)碼產(chǎn)生器的地址控制端,另一輸出端作為時序產(chǎn)生器的控制端。內(nèi)碼控制器對內(nèi)碼產(chǎn)生器的控制功能表如表3.1所示。表3.1內(nèi)碼控制器對內(nèi)碼產(chǎn)生器的控制功能表內(nèi)碼控制器的3路輸出信號(A2A1A0
6、)內(nèi)碼產(chǎn)生器輸出信號位(Y0-Y7中選1)A2A1A0Y000Y0001Y1010Y2011Y3100Y4101Y5110Y6111Y7表3.1中的A2、A1、A0分別表示內(nèi)碼控制器內(nèi)的二進制分頻器的8、4、2分頻信號。內(nèi)碼產(chǎn)生器應(yīng)循環(huán)并依次輸出從“000”、“001”、一直到“111”。這樣,內(nèi)碼發(fā)生器每個時鐘節(jié)拍,輸出一位碼,通過輸出電路送到合路信道上,最終形成一路串行碼流。3.時序產(chǎn)生器時序產(chǎn)生器可產(chǎn)生脈寬為8個時鐘周期的四路時序信號。具體實現(xiàn)是:將內(nèi)碼控制器的二分頻端通過一個32分頻器,其
7、16分頻和32分頻輸出端作為2/4譯碼器的控制端,2/4譯碼器的四個輸出端,在經(jīng)過反相器后,便得出本設(shè)計所要求的四路時序。譯碼器的建模流程圖如圖4所示。分頻器的兩位輸出F2&F1F2&F1=11F2&F1=10F2&F1=00F2&F1=01輸出=0111輸出=1011輸出=1110輸出=1101圖4譯碼器的VHDL建模流程圖譯碼器的VHDL描述程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;en
8、tityyimaqiisport(f2,f1:instd_logic;y3,y2,y1,y0:outstd_logic);end;architecturertlofyimaqiissignalindata:std_logic_vector(1downto0);signaly:std_logic_vector(3downto0);beginindata<=f2&f1;process(indata)begincaseindataiswhen"00"=>y<="1110";when"01