国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

12-分頻器 -偶分頻

這篇具有很好參考價(jià)值的文章主要介紹了12-分頻器 -偶分頻。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.分頻器

計(jì)數(shù)器是對(duì)于時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù),板載晶振的時(shí)鐘頻率是固定的,有時(shí)候需要進(jìn)行分頻和倍頻才能滿足需要
開(kāi)發(fā)板上只有一種晶振,只有一種頻率的時(shí)鐘,想要通過(guò)對(duì)與固定時(shí)鐘進(jìn)行分頻或者是倍頻的方式得到各個(gè)模塊所需的時(shí)鐘頻率,得到比固定時(shí)鐘快的時(shí)鐘通過(guò)倍頻,得到比固定時(shí)鐘慢的時(shí)鐘通過(guò)分頻

  • 分頻和倍頻都有兩種方式:第一種是通過(guò)鎖相環(huán)(PLL),另外一種是編寫(xiě)verilog代碼
  • 分頻器是數(shù)字系統(tǒng)設(shè)計(jì)中最常見(jiàn)的基本電路之一,所謂分頻就是把輸入信號(hào)的頻率變成成倍數(shù)地低于輸入頻率的輸出信號(hào)
  • 分頻器原理是將輸入的信號(hào)做為計(jì)數(shù)脈沖,計(jì)數(shù)器的輸出端口的脈沖是按一定頻率輸出的,就可以看作是輸出端口的分頻
  • 分頻器分為偶數(shù)分頻器和奇數(shù)分頻器,分頻器和計(jì)數(shù)器非常類(lèi)似,有時(shí)可以認(rèn)為是同一種東西

2.FPGA實(shí)現(xiàn)

  • 實(shí)現(xiàn)對(duì)于固定時(shí)鐘6分頻的電路

2.1 模塊框圖和波形圖

12-分頻器 -偶分頻
12-分頻器 -偶分頻

2.2 RTL

module divider_six(
  input wire sys_clk,
  input wire sys_rst_n,
  
  output reg clk_out
);


  reg [1:0] cnt;
  
  // cnt變量
  always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
      cnt <= 2'd0;
    else if(cnt == 2'd2)
      cnt <= 2'd0;
    else
      cnt <= cnt + 2'd1;


  always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
      clk_out <= 1'b0;
    else if(cnt == 2'd2)
      clk_out <= ~clk_out;
    else 
      clk_out <= clk_out;

endmodule
  • 創(chuàng)建項(xiàng)目,編譯代碼
    12-分頻器 -偶分頻

2.3 Testbench

`timescale 1ns/1ns
module tb_divider_six();
  reg sys_clk;
  reg sys_rst_n;  

  wire [1:0] clk_out;

  // 初始化時(shí)鐘和復(fù)位信號(hào)
  initial begin
    sys_clk = 1'b0;
    sys_rst_n = 1'b0;
    #20;
    sys_rst_n = 1'b1;
  end
    
  // 模擬時(shí)鐘信號(hào)
  always #10 sys_clk = ~sys_clk;
  
  // 模塊的實(shí)例化
  divider_six divider_six_inst(
    .sys_clk (sys_clk),
    .sys_rst_n (sys_rst_n),
    .clk_out (clk_out)
  );
endmodule
  • 加載仿真代碼,進(jìn)行仿真設(shè)置之后進(jìn)行仿真
    12-分頻器 -偶分頻

2.4 上板驗(yàn)證

  • 將信號(hào)輸出到擴(kuò)展IO口,通過(guò)示波器進(jìn)行觀察波形
    12-分頻器 -偶分頻
  • 重新進(jìn)行編譯,連接板卡(下載器和電源)
  • 添加sof文件,進(jìn)行程序下載
  • 連接示波器
    12-分頻器 -偶分頻

2.5 優(yōu)化

  • 這種做法是不嚴(yán)謹(jǐn)?shù)?在低速系統(tǒng)中不易察覺(jué),在高速系統(tǒng)中就容易出現(xiàn)問(wèn)題,通過(guò)這種分頻的方式表面上是對(duì)系統(tǒng)時(shí)鐘進(jìn)行了分頻產(chǎn)生了新的低頻時(shí)鐘,上述得到的分頻時(shí)鐘,實(shí)際上與真正的分頻時(shí)鐘是有不同的;
  • 在FPGA當(dāng)中凡是時(shí)鐘信號(hào)都要連接到全局時(shí)鐘網(wǎng)絡(luò),全局時(shí)鐘網(wǎng)絡(luò)也叫做全局時(shí)鐘樹(shù),是FPGA廠商專(zhuān)門(mén)針對(duì)時(shí)鐘路徑進(jìn)行設(shè)計(jì)的,能夠使時(shí)鐘信號(hào)到達(dá)各個(gè)寄存器的時(shí)間盡可能相同,減少時(shí)序問(wèn)題的產(chǎn)生,上面產(chǎn)生的分頻信號(hào)沒(méi)有連接到全局時(shí)鐘網(wǎng)絡(luò)上,但是外部晶振產(chǎn)生的時(shí)鐘信號(hào),通過(guò)管腳連接到了專(zhuān)用時(shí)鐘引腳上,自然連接到了FPGA全局時(shí)鐘網(wǎng)絡(luò)中
  • 在系統(tǒng)時(shí)鐘工作下的信號(hào)比在上述分頻信號(hào)工作下的信號(hào)更能在高速工作下保持穩(wěn)定,如何對(duì)上述代碼進(jìn)行改進(jìn)?使用時(shí)鐘標(biāo)志信號(hào)cnt_flag
    12-分頻器 -偶分頻
module divider_six(
  input wire sys_clk,
  input wire sys_rst_n,
  
  // output reg clk_out
  output reg clk_flag;
);


  reg [2:0] cnt;
  
  // cnt變量
  always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
      cnt <= 2'd0;
    else if(cnt == 3'd5)
      cnt <= 3'd0;
    else
      cnt <= cnt + 3'd1;


  always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
      clk_flag <= 1'b0;
    else if(cnt == 3'd4)    // flag信號(hào)是在計(jì)數(shù)最大值減一的時(shí)候產(chǎn)生一個(gè)周期脈沖
      clk_flag <= 1'b1;
    else 
      clk_flag <= 1'b0;

  // 按照之前產(chǎn)生的分頻時(shí)鐘給變量a賦值
   reg a ;
  always @(posedge clk_out or negedge sys_rst_n) // 使用產(chǎn)生的分頻時(shí)鐘clk_out
    if(sys_rst_n == 1'b0)
      a <= 1'b0;  
    else 
      a <= a + 1'b1;

  // 時(shí)鐘標(biāo)志位產(chǎn)生的分頻時(shí)鐘對(duì)于變量進(jìn)行賦值
  always@(posedge sys_clk or sys_rst_n)     // 仍然使用系統(tǒng)時(shí)鐘,更加穩(wěn)定
    if(sys_rst_n == 1'b0) 
      a <= 1'b0;
    else if(cnt_flag == 1'b1)
      a <= 1'b1;
  

endmodule

12-分頻器 -偶分頻

`timescale 1ns/1ns
module tb_divider_six();
  reg sys_clk;
  reg sys_rst_n;  

  wire [2:0] clk_flag;

  // 初始化時(shí)鐘和復(fù)位信號(hào)
  initial begin
    sys_clk = 1'b0;
    sys_rst_n = 1'b0;
    #20;
    sys_rst_n = 1'b1;
  end
    
  // 模擬時(shí)鐘信號(hào)
  always #10 sys_clk = ~sys_clk;
  
  // 模塊的實(shí)例化
  divider_six divider_six_inst(
    .sys_clk (sys_clk),
    .sys_rst_n (sys_rst_n),
    .clk_flag (clk_flag)
  );
endmodule

產(chǎn)生一個(gè)用于標(biāo)記 6 分頻的 clk_flag 標(biāo)志信號(hào),這樣每?jī)?clk_flag 脈沖之間的頻率就是對(duì) sys_clk 時(shí)鐘信號(hào)的 6 分頻,但是計(jì)數(shù)器計(jì)數(shù)的個(gè)數(shù)我們需增加一些,如圖 18-4 所示需要從 0~5 共 6 個(gè)數(shù),否則不能實(shí)現(xiàn) 6 分頻的功能。和方法 1 對(duì)比可以發(fā)現(xiàn),相當(dāng)于把 clk_out 的上升沿信號(hào)變成了 clk_flag 的脈沖電平信號(hào)cnt_flag 是一樣的道理),為后級(jí)模塊實(shí)現(xiàn)相同的降頻效果。**雖然這樣會(huì)多使用一些寄存器資源,不過(guò)不用擔(dān)心我們的系統(tǒng)是完全可以承擔(dān)的起的,而得到的好處卻遠(yuǎn)遠(yuǎn)大于這點(diǎn)資源的使用,能讓系統(tǒng)更加穩(wěn)定。在后級(jí)模塊中需要使用低頻時(shí)鐘的情況,我們就可以不用 clk_out 這種信號(hào)作為時(shí)鐘了,而是繼續(xù)使用 sys_clk 系統(tǒng)時(shí)鐘來(lái)作為時(shí)鐘,但讓其執(zhí)行語(yǔ)句的條件以 clk_flag 信號(hào)為高電平的時(shí)候有效。
12-分頻器 -偶分頻
12-分頻器 -偶分頻
12-分頻器 -偶分頻

2.6 分頻數(shù)和占空比

若要實(shí)現(xiàn)N分頻(N為偶數(shù))占空比為50%,只需在計(jì)數(shù)器計(jì)數(shù)到N-1(重新從0開(kāi)始計(jì)數(shù)),在小于N/2-1時(shí)輸出低電平,輸出N/2-1時(shí)輸出高電平。而要改變占空比的,則調(diào)整比較器比較的值。(盡量不要在一個(gè)module內(nèi)用作后級(jí)時(shí)鐘輸入,但可以用于其他module的時(shí)鐘輸入)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-459081.html

到了這里,關(guān)于12-分頻器 -偶分頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FPGA_分頻(信號(hào)使能分頻與計(jì)數(shù)器分頻)(奇偶分頻)

    FPGA_分頻(信號(hào)使能分頻與計(jì)數(shù)器分頻)(奇偶分頻)

    時(shí)鐘對(duì)于 FPGA 是非常重要的,但板載晶振提供的時(shí)鐘信號(hào)頻率是固定的,不一定滿 足工程需求,所以分頻和倍頻還是很有必要的。 一、計(jì)數(shù)器分頻 這里通過(guò)計(jì)數(shù)的方式來(lái)實(shí)現(xiàn)分頻。 1.通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn)6分頻。兩種方式。第一種直接通過(guò)計(jì)數(shù)方式直接獲取獲取。輸入信號(hào)sy

    2024年02月03日
    瀏覽(14)
  • 任意進(jìn)制計(jì)數(shù)器12進(jìn)制計(jì)數(shù)數(shù)碼管顯示verilog代碼

    任意進(jìn)制計(jì)數(shù)器12進(jìn)制計(jì)數(shù)數(shù)碼管顯示verilog代碼

    名稱(chēng):任意進(jìn)制計(jì)數(shù)器12進(jìn)制計(jì)數(shù)數(shù)碼管顯示verilog代碼 軟件:VIVADO 語(yǔ)言:Verilog 代碼功能: 設(shè)計(jì)一個(gè)12進(jìn)制計(jì)數(shù)器,計(jì)數(shù)值00-11需要在數(shù)碼管上顯示, 時(shí)鐘脈沖通過(guò)按鍵開(kāi)關(guān)設(shè)計(jì)。 電路的輸入信號(hào)en進(jìn)行清零。 本代碼可以修改為任意進(jìn)制計(jì)數(shù)器,即修改計(jì)數(shù)控制模塊的紅框

    2024年02月04日
    瀏覽(31)
  • FPGA學(xué)習(xí)——實(shí)現(xiàn)任意倍分頻器(奇數(shù)/偶數(shù)倍分頻器均可實(shí)現(xiàn))

    FPGA學(xué)習(xí)——實(shí)現(xiàn)任意倍分頻器(奇數(shù)/偶數(shù)倍分頻器均可實(shí)現(xiàn))

    在FPGA(可編程邏輯門(mén)陣列)中,分頻器是一種用于將時(shí)鐘信號(hào)的頻率降低的電路或模塊。它可以根據(jù)輸入的時(shí)鐘信號(hào)生成一個(gè)較低頻率的輸出時(shí)鐘信號(hào)。 常見(jiàn)的分頻器可以按照固定比例來(lái)進(jìn)行分頻,例如將輸入時(shí)鐘頻率除以2、除以4等。因此,如果輸入時(shí)鐘信號(hào)的頻率為10

    2024年02月05日
    瀏覽(21)
  • 分頻器——(任意奇分頻(50%占空比、非50%占空比),任意偶分頻,任意小數(shù)分頻)

    分頻器——(任意奇分頻(50%占空比、非50%占空比),任意偶分頻,任意小數(shù)分頻)

    ????????在數(shù)字系統(tǒng)的設(shè)計(jì)中經(jīng)常會(huì)碰到 需要使用多個(gè)時(shí)鐘 的情況。時(shí)鐘信號(hào)的產(chǎn)生通常具有兩種方法,一種是使用PLL(Phase Locked Loop,鎖相環(huán)),可生成 倍頻、分頻信號(hào) ;另一種則是使用硬件描述語(yǔ)言構(gòu)建一個(gè)分頻電路。 ????????分頻器的設(shè)計(jì)通常分為以下 三類(lèi):

    2023年04月23日
    瀏覽(23)
  • VHDL實(shí)現(xiàn)分頻器

    VHDL實(shí)現(xiàn)分頻器

    目錄 設(shè)計(jì)要求: 實(shí)現(xiàn)代碼: 生成元件圖形: 模擬仿真結(jié)果:? 整體項(xiàng)目資源在:VHDL分頻器-占空比50%-將FPGA板上的50Mhz的信號(hào)分頻為1hz時(shí)鐘信號(hào)-嵌入式文檔類(lèi)資源-CSDN文庫(kù) 設(shè)計(jì)要求: ????????????????將系統(tǒng)時(shí)鐘50MHz 分頻為1Hz 的時(shí)鐘信號(hào) ????????????????占

    2024年02月12日
    瀏覽(17)
  • verilog---分頻器設(shè)計(jì)

    //設(shè)計(jì)分頻器 將50MHZ信號(hào)分頻產(chǎn)生1HZ的秒脈沖,輸出信號(hào)占空比為50%。 //設(shè)計(jì)思路:用計(jì)數(shù)器設(shè)計(jì),N分頻:當(dāng)計(jì)數(shù)到(N/2)-1個(gè)數(shù)時(shí),輸出時(shí)鐘翻轉(zhuǎn)一次 //50*10^6次分頻:計(jì)數(shù)到24 999 999(需要25bit)時(shí),輸出信號(hào)翻轉(zhuǎn)。 //無(wú)法用vmf仿真,因?yàn)閑ndtime最大為10us,實(shí)際最少需要1000000u

    2024年02月04日
    瀏覽(21)
  • FPGA——分頻器

    FPGA——分頻器

    野火學(xué)習(xí)備忘錄——FPAG分頻 時(shí)鐘對(duì)于 FPGA 是非常重要的,但板載晶振提供的時(shí)鐘信號(hào)頻率是固定的,不一定滿 足工程需求,所以分頻和倍頻還是很有必要的。這里通過(guò)計(jì)數(shù)的方式來(lái)實(shí)現(xiàn)分頻。 1.通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn)6分頻。兩種方式。第一種直接通過(guò)計(jì)數(shù)方式直接獲取獲取。輸

    2024年02月10日
    瀏覽(31)
  • 06 分頻器設(shè)計(jì)

    06 分頻器設(shè)計(jì)

    實(shí)現(xiàn)分頻一般有兩種方法,一種方法是直接使用 PLL 進(jìn)行分頻,比如在 FPGA 或者 ASIC 設(shè)計(jì)中,都可以直接使用 PLL 進(jìn)行分頻。但是這種分頻有時(shí)候受限于 PLL 本身的特性,無(wú)法得到頻率很低的時(shí)鐘信號(hào),比如輸入 100Mhz 時(shí)鐘,很多PLL 都無(wú)法得到 1Mhz 以下的時(shí)鐘信號(hào)。另外一種方

    2024年02月19日
    瀏覽(38)
  • 數(shù)字分頻器設(shè)計(jì)(偶數(shù)分頻、奇數(shù)分頻、小數(shù)分頻、半整數(shù)分頻、狀態(tài)機(jī)分頻|verilog代碼|Testbench|仿真結(jié)果)

    數(shù)字分頻器設(shè)計(jì)(偶數(shù)分頻、奇數(shù)分頻、小數(shù)分頻、半整數(shù)分頻、狀態(tài)機(jī)分頻|verilog代碼|Testbench|仿真結(jié)果)

    目錄 一、前言 二、偶數(shù)分頻 2.1 觸發(fā)器級(jí)聯(lián)法 2.2 計(jì)數(shù)器法 2.3 verilog代碼 2.4 Testbench 2.5 仿真結(jié)果 三、奇數(shù)分頻 3.1 占空比非50%奇數(shù)分頻 3.2 占空比50%奇數(shù)分頻 3.3 Verilog代碼 3.4 Testbench 3.5 仿真結(jié)果 四、小數(shù)分頻 4.1 雙模前置分頻法 4.2 Verilog代碼 4.3 Testbench 4.4 仿真結(jié)果 五、半整

    2024年02月04日
    瀏覽(32)
  • 數(shù)字分頻器設(shè)計(jì)(偶數(shù)分頻、奇數(shù)分頻、小數(shù)分頻、半整數(shù)分頻、狀態(tài)機(jī)分頻|verilog代碼|Testbench|仿真結(jié)果)

    數(shù)字分頻器設(shè)計(jì)(偶數(shù)分頻、奇數(shù)分頻、小數(shù)分頻、半整數(shù)分頻、狀態(tài)機(jī)分頻|verilog代碼|Testbench|仿真結(jié)果)

    數(shù)字IC經(jīng)典電路設(shè)計(jì) 經(jīng)典電路設(shè)計(jì)是數(shù)字IC設(shè)計(jì)里基礎(chǔ)中的基礎(chǔ),蓋大房子的第一部是打造結(jié)實(shí)可靠的地基,每一篇筆者都會(huì)分門(mén)別類(lèi)給出設(shè)計(jì)原理、設(shè)計(jì)方法、verilog代碼、Testbench、仿真波形。然而實(shí)際的數(shù)字IC設(shè)計(jì)過(guò)程中考慮的問(wèn)題遠(yuǎn)多于此,通過(guò)本系列希望大家對(duì)數(shù)字I

    2024年02月08日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包