<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > FPGA/CPLD中常見(jiàn)模塊設(shè)計(jì)精華集錦(一)

          FPGA/CPLD中常見(jiàn)模塊設(shè)計(jì)精華集錦(一)

          作者: 時(shí)間:2012-06-14 來(lái)源:網(wǎng)絡(luò) 收藏

            4 軟件實(shí)現(xiàn)

            在設(shè)計(jì)的總體構(gòu)思和器件選擇完成后,必須進(jìn)行的工作是建立設(shè)計(jì)輸入文件,該文件主要用于描述所設(shè)計(jì)電路的邏輯功能。這里使用的是XILINX公司提供的開(kāi)發(fā)工具FOUNDATION 4.1。本設(shè)計(jì)采用硬件描述語(yǔ)言VHDL來(lái)設(shè)計(jì),其部分程序如下:

           ?。澹睿簦椋簦?lvds is

            port (

           ?。穑悖欤耄?in STD LOGIC;

            pclk_62: out std_logic_vector(31 downto 0);?

           ?。穑悖欤隷4: out std_logic_vector(31 downto 0));

           ?。澹睿?lvds;

            architecture lvds_arch of lvds is

           ?。悖铮恚穑铮睿澹睿?clkdll

            port( clkin: in std_logic;

           ?。悖欤耄妫?: in std_logic;

            rst: in std_logic;

           ?。悖欤耄埃?out std_logic;

           ?。悖欤耄梗?: out std_logic;

            clk180: out std_logic;

           ?。悖欤耄玻罚埃?out std_logic;

           ?。悖欤耄玻?: out std_logic;

           ?。悖欤耄洌觯?out std_logic;

            locked: out std_logic);

           ?。澹睿?component;

            begin

           ?。颍澹螅澹?n<=‘0' ;

           ?。酰椋猓酰?: ibufg port map (

            i => pclk,

            o => clk);

           ?。酰洌欤欤?clkdll port map( clkin => clk,

           ?。颍螅?=> reset_n,

           ?。悖欤耄妫?=> clkfb,

           ?。悖欤耄?=> clk0,

           ?。悖欤耄梗?=> open,

           ?。悖欤耄保福?=> open,

           ?。悖欤耄玻罚?=> open,

            clk2x => clk2x,

            clkdv => clkdv,

            locked => locked

           ?。?

            bufg_clk0: bufg port map ( i => clk0,

            o=>clk_int2;

            );

           ?。悖欤耄妫猓迹剑悖欤隷int2;

            process(clk2x);

           ?。猓澹纾椋?p>  if clk2x′event and clk2x=′1′ then

           ?。悖欤隷int <=clk int2;

           ?。悖欤隷int3<= clkdv;

           ?。穑悖欤隷62(0)<=clk_int;

           ?。穑悖欤隷62(1)<=clk_int;

            …

            …

           ?。穑悖欤隷62(31)<=clk_int;

           ?。穑悖欤隷4(0)<=clk_int3;

           ?。穑悖欤隷4(1)<=clk_int3;

            …

            …

           ?。穑悖欤隷4(31)<=clk_int3;

           ?。澹睿?if;

           ?。澹睿?process;

           ?。澹睿?lvds_arch;
          四、基于的多種形式分頻的設(shè)計(jì)與實(shí)現(xiàn)

            分頻器是數(shù)字系統(tǒng)設(shè)計(jì)中的基本電路,根據(jù)不同設(shè)計(jì)的需要,我們會(huì)遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有時(shí)要求等占空比,有時(shí)要求非等占空比。在同一個(gè)設(shè)計(jì)中有時(shí)要求多種形式的分頻。通常由計(jì)數(shù)器或計(jì)數(shù)器的級(jí)聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,實(shí)現(xiàn)較為簡(jiǎn)單。但對(duì)半整數(shù)分頻及等占空比的奇數(shù)分頻實(shí)現(xiàn)較為困難。本文利用VHDL硬件描述語(yǔ)言,通過(guò)QuartusⅡ3.0開(kāi)發(fā)平臺(tái),使用Altera公司的,設(shè)計(jì)了一種能夠滿足上述各種要求的較為通用的分頻器。

            一、電路設(shè)計(jì)

            采用實(shí)現(xiàn)半整數(shù)分頻器,可以采用以下方法:設(shè)計(jì)一個(gè)模N的計(jì)數(shù)器,再設(shè)計(jì)一個(gè)脈沖扣除電路,每來(lái)兩個(gè)脈沖扣除一個(gè)脈沖,即可實(shí)現(xiàn)分頻系數(shù)為N-0.5的分頻器。脈沖扣除電路由異或門和一個(gè)2分頻器構(gòu)成。本設(shè)計(jì)在半整數(shù)分頻器原理的基礎(chǔ)上,對(duì)異或門加一個(gè)使能控制信號(hào),通過(guò)對(duì)異或門和計(jì)數(shù)器計(jì)數(shù)狀態(tài)值的控制,實(shí)現(xiàn)同一個(gè)電路完成多種形式分頻,如圖1所示。

            

            二、VHDL語(yǔ)言的實(shí)現(xiàn)

            現(xiàn)通過(guò)設(shè)計(jì)一個(gè)可以實(shí)現(xiàn)8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為1∶8和4∶5的9分頻等多種形式分頻的分頻器,介紹該通用分頻器的FPGA實(shí)現(xiàn)。

            由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計(jì)數(shù)器和一個(gè)2分頻器組成,本設(shè)計(jì)用D觸發(fā)器來(lái)完成2分頻的功能,實(shí)現(xiàn)方法是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計(jì)數(shù)器的一個(gè)計(jì)數(shù)輸出端作為D觸發(fā)器的時(shí)鐘輸入端。各功能模塊的VHDL語(yǔ)言實(shí)現(xiàn)如下。

            1.模N計(jì)數(shù)器的實(shí)現(xiàn)

            一般設(shè)計(jì)中用到計(jì)數(shù)器時(shí),我們可以調(diào)用lpm庫(kù)中的計(jì)數(shù)器模塊,也可以采用VHDL語(yǔ)言自己設(shè)計(jì)一個(gè)模N計(jì)數(shù)器。本設(shè)計(jì)采用VHDL語(yǔ)言設(shè)計(jì)一個(gè)最大模值為16的計(jì)數(shù)器。輸入端口為:使能信號(hào)en,復(fù)位信號(hào)clr和時(shí)鐘信號(hào)clk;輸出端口為:qa、qb、qc、qd。其VHDL語(yǔ)言描述略。

            2.帶使能控制的異或門的實(shí)現(xiàn)

            輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當(dāng)xor_en為高電平時(shí),c輸出a和b的異或值。當(dāng)xor_en為低電平時(shí),c輸出信號(hào)b。其VHDL語(yǔ)言略。

            3.2分頻(觸發(fā)器)的實(shí)現(xiàn)

            輸入端為:時(shí)鐘信號(hào)clk,輸入信號(hào)d;輸出端為:q:輸出信號(hào)a,q1:輸出信號(hào)a反。其VHDL語(yǔ)言略。

            4.分頻器的實(shí)現(xiàn)

            本設(shè)計(jì)采用層次化的設(shè)計(jì)方法,首先設(shè)計(jì)實(shí)現(xiàn)分頻器電路中各組成電路元件,然后通過(guò)元件例化的方法,調(diào)用各元件,實(shí)現(xiàn)整個(gè)分頻器。其VHDL語(yǔ)言略。

            三、仿真結(jié)果及硬件電路的測(cè)試

            本設(shè)計(jì)的目的是通用性和簡(jiǎn)易性,只要對(duì)上述程序稍加改動(dòng)即可實(shí)現(xiàn)多種形式的分頻。

            1.實(shí)現(xiàn)8.5分頻和等占空比的17分頻

            只要將上述程序中,調(diào)用計(jì)數(shù)器模塊時(shí)端口qa、qb、qc匹配為open狀態(tài),同時(shí)置xor_en為高電平即可。從編譯報(bào)告看出總共占用8個(gè)邏輯單元(logic elements),其仿真波形如圖2~4所示。

            

            圖二

            

            圖三

            

            圖四

            由圖中qxiao和clk的波形可以看出,每隔8.5個(gè)時(shí)鐘周期,qxiao信號(hào)產(chǎn)生一個(gè)上升沿,從而實(shí)現(xiàn)分頻系數(shù)是8.5的分頻,同時(shí)在qzheng端得到等占空比的17分頻。設(shè)clk為170MHz,則qxiao輸出為20MHz,qzheng輸出為10MHz。

            2.實(shí)現(xiàn)占空比為1∶8和4∶5的9分頻

            只要上述程序的xor_en置低電平即可在qxiao輸出占空比為1∶8的9分頻信號(hào);在qzheng2輸出占空比為4∶5的9分頻信號(hào)。同樣僅占8個(gè)邏輯單元(logic elements)。仿真波形如下。

            3.實(shí)現(xiàn)等占空比的2、4、8、16和32分頻

            只要將上述程序中的xor_en置為低電平,同時(shí)將計(jì)數(shù)器模塊的計(jì)數(shù)最大值設(shè)為16即可。仿真波形如下。

            由此可見(jiàn),只要稍微改變計(jì)數(shù)器的計(jì)數(shù)狀態(tài)值,對(duì)異或門進(jìn)行選通控制,即可實(shí)現(xiàn)上述多種形式的分頻。本設(shè)計(jì)在Altera公司的EP1K50QC208-3構(gòu)成的測(cè)試平臺(tái)上測(cè)試通過(guò),性能良好。

            結(jié)束語(yǔ)

            我們?cè)谠O(shè)計(jì)模擬雷達(dá)脈沖信號(hào)和用FPGA開(kāi)發(fā)擴(kuò)頻芯片時(shí)就用到了上述多種形式得分頻。本文旨在介紹一種進(jìn)行FPGA開(kāi)發(fā)時(shí),所需多種分頻的實(shí)現(xiàn)方法,如果設(shè)計(jì)中所需分頻形式較多,可以直接利用本設(shè)計(jì),通過(guò)對(duì)程序的稍微改動(dòng)以滿足自己設(shè)計(jì)的要求。如果設(shè)計(jì)中需要分頻形式較少,可以利用本設(shè)計(jì)部分程序,以節(jié)省資源。

          fpga相關(guān)文章:fpga是什么


          塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
          鑒相器相關(guān)文章:鑒相器原理
          脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
          雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
          三相異步電動(dòng)機(jī)相關(guān)文章:三相異步電動(dòng)機(jī)原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
          三維掃描儀相關(guān)文章:三維掃描儀原理

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();