日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最為常見(jiàn)的分頻器分4種分析

FPGA之家 ? 來(lái)源:博客園 ? 作者:super_star123 ? 2021-06-13 17:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

分頻器是用的最廣的一種FPGA電路了,我最初使用的是crazybingo的一個(gè)任意分頻器,可以實(shí)現(xiàn)高精度任意分頻的一個(gè)通用模塊,他的思想在于首先指定計(jì)數(shù)器的位寬比如32位,那么這個(gè)計(jì)數(shù)器的最大值就是2^32=4294967296,

假設(shè)系統(tǒng)時(shí)鐘為50MHz,那么假如要想實(shí)現(xiàn)輸出頻率為fout,那么可以使用的頻率控制字為:

K滿足關(guān)系:

ad35649a-c5fc-11eb-9e57-12bb97331649.png,那么設(shè)計(jì)計(jì)數(shù)器在每個(gè)時(shí)鐘上升沿累加的值為K,當(dāng)計(jì)數(shù)值為2^31時(shí),clkout=1;否則clkout=0.最終即可以實(shí)現(xiàn)任意頻率的輸出,精度的計(jì)算方法為當(dāng)K=1時(shí),可以得到clkout=0.0116415321826934814453125Hz,也即是說(shuō)可以輸出的最小頻率為0.011Hz

此外我們最為常見(jiàn)的分頻器分為以下4種分析:

1.偶數(shù)分頻

最簡(jiǎn)單,要想得到分頻系數(shù)為N的頻率輸出,設(shè)定一個(gè)計(jì)數(shù)器,這個(gè)計(jì)數(shù)器從零開(kāi)始加1,當(dāng)加到N/2-1時(shí)計(jì)數(shù)器清零,或者clkout翻轉(zhuǎn),以此循環(huán),即可實(shí)現(xiàn)偶數(shù)倍分頻。

2.奇數(shù)分頻(分占空比不確定以及占空比50%)

方法一:分頻系數(shù)為N,占總比不確定:以三(N)分頻為例,上升沿觸發(fā)計(jì)數(shù),計(jì)數(shù)器計(jì)數(shù)到1(N-1)/2時(shí)輸出時(shí)鐘翻轉(zhuǎn),計(jì)數(shù)到2(N-1)時(shí)再次翻轉(zhuǎn)。代碼為產(chǎn)生1/11占空比為十一分頻時(shí)鐘:在計(jì)數(shù)值為9和10時(shí)均反轉(zhuǎn)時(shí)鐘,是產(chǎn)生抽樣脈沖的有效方法:

always @(posedge clk or posedge rst) begin

if(rst)begin //復(fù)位

cnt《=0;

clk_div11《=0;

end

elseif(cnt==9) begin

clk_div11《=~clk_div11; //時(shí)鐘翻轉(zhuǎn)

cnt《=cnt+1; //繼續(xù)計(jì)數(shù)

end

elseif(cnt==10) begin

clk_div11《=~clk_div11; //時(shí)鐘翻轉(zhuǎn)

cnt《=0; //計(jì)數(shù)清零

end

else

cnt《=cnt+1;

end

占空比50% ,則可以在上面的基礎(chǔ)上,加上一個(gè)下降沿觸發(fā)計(jì)數(shù),然后將上升沿和下降沿產(chǎn)生的時(shí)鐘進(jìn)行相或運(yùn)算,即可得到奇數(shù)分頻輸出。

reg clk1;

reg[1:0]cnt1;

always@(posedge clk or posedge rst) begin

if(rst)begin //復(fù)位

cnt1《=0;

clk1《=0;

end

elseif(cnt1==1) begin

clk1《=~clk1; //時(shí)鐘翻轉(zhuǎn)

cnt1《=cnt1+1; //繼續(xù)計(jì)數(shù)

end

elseif(cnt1==2) begin

clk1《=~clk1; //時(shí)鐘翻轉(zhuǎn)

cnt1《=0; //計(jì)數(shù)清零

end

else

cnt1《=cnt1+1;

end

reg clk2;

reg[1:0]cnt2;

always@(negedge clk or posedge rst) begin

if(rst)begin //復(fù)位

cnt2《=0;

clk2《=0;

end

elseif(cnt2==1) begin

clk2《=~clk2; //時(shí)鐘翻轉(zhuǎn)

cnt2《=cnt2+1; //繼續(xù)計(jì)數(shù)

end

elseif(cnt2==2) begin

clk2《=~clk2; //時(shí)鐘翻轉(zhuǎn)

cnt2《=0; //計(jì)數(shù)清零

end

else

cnt2《=cnt2+1;

end

assign clk_div3=clk1 | clk2; //或運(yùn)算

方法二:對(duì)進(jìn)行奇數(shù)倍n分頻時(shí)鐘,先進(jìn)行n/2分頻,然后在二分頻得到(這部分先講半整數(shù)分頻)

親測(cè)有效代碼:

module ModuloN_Cntr(input clk,rst,output clk_out);

reg [1:0]cnt1;

reg [1:0]cnt2;

reg temp1,temp2;

always@(posedge clk or negedge rst)

begin

if(~rst)

begin

cnt1《=0;

temp1《=0;

end

else

begin

if(cnt1==2)

begin

temp1《=1;

cnt1《=0;

end

else

begin

cnt1《=cnt1+1;

temp1《=0;

end

end

end

always@(negedge clk or negedge rst)

begin

if(~rst)

begin

cnt2《=0;

temp2《=0;

end

else

begin

if(cnt2==2)

begin

temp2《=1;

cnt2《=0;

end

else

begin

cnt2《=cnt2+1;

temp2《=0;

end

end

end

assign clk_out=temp1|temp2;

endmodule

仿真波形:

3.半整數(shù)分頻

半整數(shù)指的是N+0.5分頻器設(shè)計(jì):先進(jìn)行模N+1計(jì)數(shù),計(jì)數(shù)到N時(shí)輸出時(shí)鐘賦值為1,然后當(dāng)計(jì)數(shù)到0時(shí),輸出時(shí)鐘賦值為0,因此保持計(jì)數(shù)值為N的時(shí)間為半個(gè)時(shí)鐘周期即為設(shè)計(jì)的關(guān)鍵,從中可以發(fā)現(xiàn),計(jì)數(shù)器是在時(shí)鐘的上升沿計(jì)數(shù),那么我們可以讓時(shí)鐘在計(jì)數(shù)值為N時(shí),將計(jì)數(shù)觸發(fā)時(shí)鐘翻轉(zhuǎn),時(shí)鐘的下降沿變?yōu)樯仙兀虼擞?jì)數(shù)值為0,所以每產(chǎn)生一個(gè)N+0.5分頻時(shí)鐘周期,觸發(fā)時(shí)鐘都要翻轉(zhuǎn)一次,以2.5分頻為例程序如下:

//異或運(yùn)算

assignclk_in=clk^clk_div2;

//模3計(jì)數(shù)器

reg clk_out;

reg [1:0]cnt;

always@(posedge clk_in or posedge rst) begin

if(rst)begin //復(fù)位

cnt《=0;

clk_out《=0;

end

elseif(cnt==1) begin

clk_out《=~clk_out; //時(shí)鐘翻轉(zhuǎn)

cnt《=cnt+1; //繼續(xù)計(jì)數(shù)

end

elseif(cnt==2) begin

clk_out《=~clk_out; //時(shí)鐘翻轉(zhuǎn)

cnt《=0; //計(jì)數(shù)清零

end

else

cnt《=cnt+1;

end

//2分頻

reg clk_div2;

always@(posedge clk_out or posedge rst) begin

if(rst) clk_div2《=0; //復(fù)位

else clk_div2=~clk_div2;

end

那么5.5分頻呢:

代碼:通用的這里N=5;

module ModuloN_Cntr(clk,clk_div,temp1,temp2);//N+0.5

input clk;

output clk_div;

reg[31:0]cnt1=0;

reg[31:0]cnt2=0;

output reg temp1,temp2;

initial begin temp1=0;temp2=1;end //首先進(jìn)行初始化,temp1=0;temp2=1

parameter N=5; //設(shè)定分頻系數(shù)為N+0.5

always @(posedge clk) //temp1上升沿跳變

begin

if(cnt1==2*N) //2*N

begin cnt1[31:0]《=32‘d0;end

else begin cnt1[31:0]《=cnt1[31:0]+32’d1;end

if(cnt1==32‘d0) begin temp1《=1;end //高電平時(shí)間為N+1;

if(cnt1==N+1) begin temp1《=0;end //低電平時(shí)間為N;

end

always@(negedge clk) //temp2下降沿跳變

begin

if(cnt2==2*N) //2*N

begin cnt2[31:0]《=32’d0;end

else begin cnt2[31:0]《=cnt2[31:0]+32‘d1;end

if(cnt2==32’d0) begin temp2《=0;end //低電平時(shí)間為N;

if(cnt2==N) begin temp2《=1;end //高電平時(shí)間為N+1;

end

assign clk_div=temp1&&temp2; //邏輯與

endmodule

//如果要進(jìn)行N+0.5分頻

//思路:總的來(lái)說(shuō)要進(jìn)行N+1+N=2N+1次分頻

//在時(shí)鐘的上升沿和下降沿都進(jìn)行跳變

//上升沿進(jìn)行占空比為N+1比N的時(shí)鐘temp1;

//下降沿進(jìn)行占空比為N比N+1的時(shí)鐘temp2;

//最后div=temp1&&temp2 即可得到所需要的半整數(shù)分頻

仿真波形:

4.任意小數(shù)分頻

小數(shù)分頻器的實(shí)現(xiàn)方法有很多中,但其基本原理都一樣的,即在若干個(gè)分頻周期中采取某種方法使某幾個(gè)周期多計(jì)或少計(jì)一個(gè)數(shù),從而在整個(gè)計(jì)數(shù)周期的總體平均意義上獲得一個(gè)小數(shù)分頻比。一般而言,這種分頻由于分頻輸出的時(shí)鐘脈沖抖動(dòng)很大,故在設(shè)計(jì)中的使用已經(jīng)非常少。但是,這也是可以實(shí)現(xiàn)的。以8.7倍分頻為例,本文僅僅給出雙模前置小數(shù)分頻原理的verilog代碼及其仿真圖(如圖6),具體原理可以參考劉亞海的《基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)》以及毛為勇的《基于FPGA的任意小數(shù)分頻器的設(shè)計(jì)》。

//8分頻

reg clk_div8;

reg[2:0]cnt_div8;

always@(posedge clk or posedge rst) begin

if(rst)begin //復(fù)位

clk_div8《=0;

cnt_div8《=0;

end

elseif(cnt_div8==3‘d7) begin

clk_div8《=1; //置1

cnt_div8《=0;

end

elseif(cnt_div8==3’d0) begin

clk_div8《=0; //置0

cnt_div8《=cnt_div8+1;

end

else

cnt_div8《=cnt_div8+1;

end

//9分頻

reg clk_div9;

reg[3:0]cnt_div9;

always@(posedge clk or posedge rst) begin

if(rst)begin //復(fù)位

clk_div9《=0;

cnt_div9《=0;

end

elseif(cnt_div9==3‘d8) begin

clk_div9《=1; //置1

cnt_div9《=0;

end

elseif(cnt_div9==3’d0) begin

clk_div9《=0; //置0

cnt_div9《=cnt_div9+1;

end

else

cnt_div9《=cnt_div9+1;

end

//控制信號(hào)

parameterDiv8Num=3;

reg ctrl;

reg[3:0]AddValue;

always@(posedge clk or posedge rst) begin

if(rst)begin //復(fù)位

ctrl《=0;

AddValue《=10-7;

end

elseif(AddValue《10) begin

ctrl《=0;

AddValue《=AddValue+Div8Num;

end

else begin

ctrl《=1;

AddValue《=AddValue-10;

end

end

//選擇輸出

reg clk_out;

always @(ctrlor posedge clk or posedge rst) begin

if(rst) clk_out《=0; //復(fù)位

elseif(ctrl) clk_out《=clk_div8;

elseclk_out《=clk_div9;

end

4、總結(jié)分頻器是FPGA的基礎(chǔ),而且在FPGA邏輯電路設(shè)計(jì)的時(shí)候是經(jīng)常使用的,希望大家對(duì)以上的整數(shù)倍分頻和半整數(shù)倍分頻能熟練掌握

原文標(biāo)題:關(guān)于分頻器的FPGA實(shí)現(xiàn)整理思路

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22513

    瀏覽量

    639625
  • 分頻器
    +關(guān)注

    關(guān)注

    43

    文章

    537

    瀏覽量

    53802

原文標(biāo)題:關(guān)于分頻器的FPGA實(shí)現(xiàn)整理思路

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    高頻分頻器/PLL 合成器 ADF4007:技術(shù)剖析與應(yīng)用指南

    高頻分頻器/PLL 合成器 ADF4007:技術(shù)剖析與應(yīng)用指南 在電子工程領(lǐng)域,高頻分頻器和 PLL 合成器是構(gòu)建高性能通信系統(tǒng)的關(guān)鍵組件。今天,我們將深入探討 Analog Devices 公司
    的頭像 發(fā)表于 04-20 10:55 ?189次閱讀

    SN74LS292和SN74LS294可編程分頻器與數(shù)字定時(shí)的技術(shù)解析

    SN74LS292和SN74LS294可編程分頻器與數(shù)字定時(shí)的技術(shù)解析 在電子設(shè)計(jì)領(lǐng)域,可編程分頻器和數(shù)字定時(shí)是非常重要的組件,它們能夠?yàn)殡娐吩O(shè)計(jì)帶來(lái)極大的靈活性和精確性。今天,我
    的頭像 發(fā)表于 03-11 17:25 ?820次閱讀

    CDC5801A:低抖動(dòng)時(shí)鐘倍頻分頻器的卓越之選

    倍頻分頻器,具備可編程延遲和相位對(duì)齊功能,能滿足多種應(yīng)用場(chǎng)景的需求。 文件下載: cdc5801a.pdf 1. 關(guān)鍵特性概覽 1.1 倍頻與分頻功能 CDC5801A支持多種倍頻和分頻
    的頭像 發(fā)表于 02-10 11:10 ?309次閱讀

    LMX1214:高性能低噪聲時(shí)鐘緩沖及分頻器的技術(shù)剖析

    LMX1214:高性能低噪聲時(shí)鐘緩沖及分頻器的技術(shù)剖析 在電子設(shè)計(jì)領(lǐng)域,時(shí)鐘信號(hào)的處理至關(guān)重要,它直接影響著整個(gè)系統(tǒng)的性能和穩(wěn)定性。今天,我們就來(lái)深入探討一款高性能的時(shí)鐘緩沖及分頻器
    的頭像 發(fā)表于 02-06 15:40 ?253次閱讀

    LMX1204:低噪聲、高頻JESD緩沖/倍增/分頻器的卓越之選

    LMX1204:低噪聲、高頻JESD緩沖/倍增/分頻器的卓越之選 在電子設(shè)計(jì)領(lǐng)域,時(shí)鐘信號(hào)的精確性和穩(wěn)定性對(duì)于系統(tǒng)性能至關(guān)重要。今天,我們要深入探討一款高性能的時(shí)鐘處理器件——LMX1204
    的頭像 發(fā)表于 01-26 16:00 ?770次閱讀

    LMX1214:高性能低噪聲時(shí)鐘緩沖與分頻器的深度解析

    LMX1214:高性能低噪聲時(shí)鐘緩沖與分頻器的深度解析 在電子設(shè)計(jì)領(lǐng)域,時(shí)鐘信號(hào)的處理至關(guān)重要,它直接影響著系統(tǒng)的性能和穩(wěn)定性。TI推出的LMX1214低噪聲、高頻時(shí)鐘緩沖分頻器,憑借其出色
    的頭像 發(fā)表于 01-26 10:50 ?425次閱讀

    CW32A030微控制定時(shí)

    16bit 自動(dòng)重裝載計(jì)數(shù) 并由一個(gè)可編程預(yù)分頻器驅(qū)動(dòng)。GTIM 支持定時(shí)模式、計(jì)數(shù)模式、觸發(fā)啟動(dòng)模式和門(mén)控模式4
    發(fā)表于 12-04 06:47

    ?CDC5801A低抖動(dòng)時(shí)鐘倍頻/分頻器技術(shù)文檔總結(jié)

    CDC5801A器件提供從單端參考時(shí)鐘 (REFCLK) 到差輸出對(duì) (CLKOUT/CLKOUTB) 的時(shí)鐘乘法和分頻。乘法和分頻端子 (MULT/DIV0:1) 提供倍頻比和分頻
    的頭像 發(fā)表于 09-19 14:35 ?920次閱讀
    ?CDC5801A低抖動(dòng)時(shí)鐘倍頻/<b class='flag-5'>分頻器</b>技術(shù)文檔總結(jié)

    ?CDCE706 可編程3-PLL時(shí)鐘合成器/乘法器/分頻器技術(shù)文檔總結(jié)

    CDCE706是當(dāng)今最小、功能最強(qiáng)大的PLL合成器/乘法器/分頻器之一。盡管它的物理輪廓很小,但CDCE706非常靈活。它能夠從給定的輸入頻率產(chǎn)生幾乎獨(dú)立的輸出頻率。 輸入頻率可以來(lái)自LVCMOS、差輸入時(shí)鐘或單晶??梢酝ㄟ^(guò)SMBus數(shù)據(jù)接口控制
    的頭像 發(fā)表于 09-19 11:30 ?1115次閱讀
    ?CDCE706 可編程3-PLL時(shí)鐘合成器/乘法器/<b class='flag-5'>分頻器</b>技術(shù)文檔總結(jié)

    ?CDCLVD1213 1:4低附加抖動(dòng)LVDS緩沖分頻器 技術(shù)文檔摘要

    CDCLVD1213時(shí)鐘緩沖將輸入時(shí)鐘分配給4對(duì)差LVDS 時(shí)鐘輸出具有低附加抖動(dòng),用于時(shí)鐘分配。輸入可以是LVDS, LVPECL,或 CML。 該CDCLVD1213包含一個(gè)用于一個(gè)輸出 (QD) 的高性能
    的頭像 發(fā)表于 09-16 13:53 ?955次閱讀
    ?CDCLVD1213 1:<b class='flag-5'>4</b>低附加抖動(dòng)LVDS緩沖<b class='flag-5'>器</b>帶<b class='flag-5'>分頻器</b> 技術(shù)文檔摘要

    LMX1204高性能JESD緩沖/乘法器/分頻器技術(shù)解析與應(yīng)用指南

    Texas Instruments LMX1204 JESD緩沖/多路復(fù)用器/分頻器具有高頻能力和極低抖動(dòng)。這一特性可在不降低信噪比的情況下,很好地解決時(shí)鐘精度、高頻數(shù)據(jù)轉(zhuǎn)換問(wèn)題。四個(gè)高頻時(shí)鐘
    的頭像 發(fā)表于 09-11 14:47 ?1028次閱讀
    LMX1204高性能JESD緩沖<b class='flag-5'>器</b>/乘法器/<b class='flag-5'>分頻器</b>技術(shù)解析與應(yīng)用指南

    LMX1204低噪聲高頻JESD緩沖/倍頻/分頻器技術(shù)解析

    Texas Instruments LMX1204EVM評(píng)估模塊 (EVM) 設(shè)計(jì)用于評(píng)估LMX1204的性能,LMX1204是一款四路輸出、超低附加抖動(dòng)射頻 (RF) 緩沖、分頻器和乘法器。該
    的頭像 發(fā)表于 09-10 14:04 ?1213次閱讀
    LMX1204低噪聲高頻JESD緩沖<b class='flag-5'>器</b>/倍頻<b class='flag-5'>器</b>/<b class='flag-5'>分頻器</b>技術(shù)解析

    德州儀器LMX1214射頻緩沖分頻器技術(shù)解析

    Texas Instruments LMX1214射頻緩沖分頻器具有高輸出頻率、超低噪聲基底和極低偏斜時(shí)鐘分布。該設(shè)備有四個(gè)高頻輸出時(shí)鐘和一個(gè)低頻輔助時(shí)鐘輸出。Texas Instruments LMX1214支持高頻時(shí)鐘的緩沖和
    的頭像 發(fā)表于 09-06 09:37 ?1111次閱讀
    德州儀器LMX1214射頻緩沖<b class='flag-5'>器</b>與<b class='flag-5'>分頻器</b>技術(shù)解析

    Analog Devices Inc. ADF4382x小數(shù)N分頻鎖相環(huán) (PLL)數(shù)據(jù)手冊(cè)

    21GHz基倍頻程范圍內(nèi)的頻率,無(wú)需使用次諧波濾波。ADF4382x上的二分頻和四分頻輸出分頻器可分別生成5.75GHz至10.5GHz和2.875GHz至5.25GHz的頻率。
    的頭像 發(fā)表于 06-04 11:15 ?1421次閱讀
    Analog Devices Inc. ADF4382x小數(shù)N<b class='flag-5'>分頻</b>鎖相環(huán) (PLL)數(shù)據(jù)手冊(cè)

    MAX9377/MAX9378任意邏輯至LVPECL/LVDS轉(zhuǎn)換,引腳可設(shè)置四分頻電路技術(shù)手冊(cè)

    MAX9377/MAX9378是一全差、高速、低抖動(dòng)的任意電平到LVPECL/LVDS的轉(zhuǎn)換,具有有四分頻選擇引腳。其極低的傳輸延遲和高速等特性,尤其適合于多種高速網(wǎng)絡(luò)路由和背板
    的頭像 發(fā)表于 05-16 15:12 ?4881次閱讀
    MAX9377/MAX9378任意邏輯至LVPECL/LVDS轉(zhuǎn)換<b class='flag-5'>器</b>,引腳可設(shè)置四<b class='flag-5'>分頻</b>電路技術(shù)手冊(cè)
    涡阳县| 海安县| 中江县| 保康县| 庆阳市| 区。| 江门市| 水城县| 澄城县| 巴楚县| 石阡县| 敖汉旗| 苏尼特右旗| 龙南县| 鹰潭市| 张家界市| 中方县| 津市市| 长兴县| 若羌县| 荔波县| 巴林左旗| 同德县| 乌苏市| 景洪市| 清徐县| 福安市| 时尚| 乌鲁木齐县| 博白县| 吴旗县| 平南县| 嘉善县| 墨江| 武宣县| 诸城市| 陵川县| 克东县| 伽师县| 乐亭县| 钦州市|