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

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

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

分頻器簡(jiǎn)介

實(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)。另外一種方法是直接使用 Verilog 代碼來(lái)實(shí)現(xiàn)分頻。
注意:
使用 Verilog 代碼分頻得到的時(shí)鐘信號(hào)盡量不要當(dāng)做其他模塊的輸入時(shí)鐘信號(hào),因?yàn)橥ㄟ^ Verilog 代碼分頻得到的時(shí)鐘信號(hào)默認(rèn)不會(huì)連接到 FPGA 的時(shí)鐘網(wǎng)絡(luò)上,這樣會(huì)導(dǎo)致時(shí)鐘出現(xiàn)偏移和抖動(dòng),在高頻電路中會(huì)影響電路穩(wěn)定性,這種分頻方式一般用于產(chǎn)生外部低速總線的參考時(shí)鐘,如SPI、I2C的參考時(shí)鐘。

偶數(shù)分頻器和奇數(shù)分頻器

根據(jù)分頻器的分頻比例是偶數(shù)還是奇數(shù),可以將其分為偶數(shù)分頻器和奇數(shù)分頻器。

  • 偶數(shù)分頻:就是分頻前的頻率和分頻后的頻率比值是偶數(shù),比如一個(gè) 50Mhz 的晶振時(shí)鐘,進(jìn)行二分頻后,就是 50Mhz/2=25Mhz
  • 奇數(shù)分頻:就是分配前的頻率和分頻后的頻率比值是奇數(shù)。比如一個(gè) 50Mhz 的晶振時(shí)鐘,進(jìn)行三分頻后,就是 50Mhz/3=16.667Mhz

偶數(shù)分頻實(shí)現(xiàn)

假設(shè) N(N為偶數(shù))分頻,只需計(jì)數(shù)到 N/2-1,然后時(shí)鐘翻轉(zhuǎn)、計(jì)數(shù)器清零,如此循環(huán)就可以得到 N 分頻。舉個(gè)例子,比如晶振時(shí)鐘是 100Mhz 時(shí)鐘,想得到一個(gè) 25Mhz 的時(shí)鐘,那么這個(gè)是一個(gè) 100/25=4 的四分頻設(shè)計(jì),按照我們剛說的計(jì)數(shù)到 4/2-1=1,然后時(shí)鐘翻轉(zhuǎn)、計(jì)數(shù)器清零,就可以得到一個(gè) 25Mhz 的時(shí)鐘。
06 分頻器設(shè)計(jì),FPGA開發(fā)入門,fpga開發(fā)

偶數(shù)分頻 Verilog 代碼

`timescale 1ns / 1ps

module divider4(
	input sys_clk,
	input sys_rst_n,

	output reg out_clk
);

//分頻計(jì)數(shù)器
reg [2:0] count;

//分頻計(jì)數(shù)器,按分頻比/2-1進(jìn)行計(jì)數(shù)
always @(posedge sys_clk) begin
	if(!sys_rst_n)
		count <= 2'd0;
	else if(count < 2'd1)
		count <= count + 2'd1;
	else
		count <= 2'd0;
end

//翻轉(zhuǎn)輸出時(shí)鐘
always @(posedge sys_clk) begin
	if(!sys_rst_n)
		out_clk<= 1'b0;
	else if(count == 2'd1)
		out_clk <= ~out_clk;
end

endmodule

奇數(shù)分頻器實(shí)現(xiàn)

同樣假設(shè) N(N為奇數(shù))分頻,計(jì)數(shù)器需要計(jì)數(shù)到 N-1,當(dāng)計(jì)數(shù)器為0時(shí)輸出時(shí)鐘1在輸入時(shí)鐘的上升沿拉低,當(dāng)計(jì)數(shù)器計(jì)數(shù)到 N/2 取整時(shí)輸出時(shí)鐘1在輸入時(shí)鐘的上升沿進(jìn)行拉高,同時(shí)當(dāng)計(jì)數(shù)器為0時(shí)輸出時(shí)鐘2在輸入時(shí)鐘的下降沿拉低,當(dāng)計(jì)數(shù)器計(jì)數(shù)到 N/2 取整時(shí)輸出時(shí)鐘2在輸入時(shí)鐘的下降沿進(jìn)行拉高,將輸出時(shí)鐘1和輸出時(shí)鐘2相與即可得到真正的輸出時(shí)鐘。
06 分頻器設(shè)計(jì),FPGA開發(fā)入門,fpga開發(fā)

奇數(shù)分頻 Verilog 代碼

`timescale 1ns / 1ps

module divider5(
	input sys_clk,
	input sys_rst_n,

	output out_clk
);

//分頻計(jì)數(shù)器
reg [2:0] count;
//上升沿跳變的中間時(shí)鐘
reg out_clk1;
//下降沿跳變的中間時(shí)鐘
reg out_clk2;

//分頻計(jì)數(shù)器,按分頻比-1進(jìn)行計(jì)數(shù)
always @(posedge sys_clk) begin
	if(!sys_rst_n)
		count <= 3'd0;
	else if(count < 3'd4)
		count <= count + 3'd1;
	else
		count <= 3'd0;
end

//輸出時(shí)鐘1
always @(posedge sys_clk) begin
	if(!sys_rst_n)
		out_clk1 <= 1'b0;
	else if(count == 3'd0)
		out_clk1 <= 1'b0;
	else if(count == 3'd2)
		out_clk1 <= 1'b1;
end

//輸出時(shí)鐘2
always @(negedge sys_clk) begin
	if(!sys_rst_n)
		out_clk2 <= 1'b0;
	else if(count == 3'd0)
		out_clk2 <= 1'b0;
	else if(count == 3'd2)
		out_clk2 <= 1'b1;
end

//輸出分頻后的時(shí)鐘
assign out_clk = out_clk1 & out_clk2;

endmodule

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

在實(shí)現(xiàn)任意分頻器時(shí)可以利用條件生成語(yǔ)句,當(dāng)模塊例化時(shí)傳入的參數(shù)為偶數(shù)則生成偶數(shù)分頻的代碼,否則生成奇數(shù)分頻的代碼,有關(guān)生成語(yǔ)句相關(guān)的內(nèi)容參考03 Verilog HDL 語(yǔ)法。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-825175.html

任意分頻 Verilog 代碼

`timescale 1ns / 1ps

module divider #(
	//參數(shù)列表
	parameter COUNT_WIDTH = 3,				//內(nèi)部分頻計(jì)數(shù)器寬度
	parameter DIV = 5						//分頻系數(shù)
)
(
	input sys_clk,
	input sys_rst_n,

	output reg out_clk
);

//分頻計(jì)數(shù)器
reg [COUNT_WIDTH-1:0] count;

generate
	if((DIV % 2) == 0) begin
	//偶數(shù)分頻
		//按分頻比/2-1進(jìn)行計(jì)數(shù)
		always @(posedge sys_clk) begin
			if(!sys_rst_n)
				count <= 0;
			else if(count < (DIV / 2 -1))
				count <= count + 1;
			else
				count <= 0;
		end
		
		//翻轉(zhuǎn)輸出時(shí)鐘
		always @(posedge sys_clk) begin
			if(!sys_rst_n)
				out_clk <= 1'b0;
			else if(count == (DIV / 2 -1))
				out_clk <= ~out_clk;
		end
	end
	else begin
	//奇數(shù)分頻
		//上升沿跳變的中間時(shí)鐘
		reg out_clk1;
		//下降沿跳變的中間時(shí)鐘
		reg out_clk2;
		
		//按分頻比-1進(jìn)行計(jì)數(shù)
		always @(posedge sys_clk) begin
			if(!sys_rst_n)
				count <= 0;
			else if(count < (DIV -1))
				count <= count + 1;
			else
				count <= 0;
		end
		
		//輸出時(shí)鐘1
		always @(posedge sys_clk) begin
			if(!sys_rst_n)
				out_clk1 <= 1'b0;
			else if(count == 0)
				out_clk1 <= 1'b0;
			else if(count == (DIV / 2))
				out_clk1 <= 1'b1;
		end
		
		//輸出時(shí)鐘2
		always @(negedge sys_clk) begin
			if(!sys_rst_n)
				out_clk2 <= 1'b0;
			else if(count == 0)
				out_clk2 <= 1'b0;
			else if(count == (DIV / 2))
				out_clk2 <= 1'b1;
		end
		
		//輸出分頻后的時(shí)鐘
		always @(*) begin
			out_clk = out_clk1 & out_clk2;
		end
	end
endgenerate

endmodule

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

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(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【Verilog分頻器】

    FPGA【Verilog分頻器】

    ????????在數(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ì)通常分為以下三類:奇

    2024年02月20日
    瀏覽(30)
  • FPGA 多路分頻器實(shí)驗(yàn)

    FPGA 多路分頻器實(shí)驗(yàn)

    1 概述 ????????在 FPGA 中,時(shí)鐘分頻是經(jīng)常用到的。本節(jié)課講解 2 分頻、3 分頻、4 分頻和 8 分頻的 Verilog 實(shí)現(xiàn)并且學(xué)習(xí) generate 語(yǔ)法功能的應(yīng)。 2 程序設(shè)計(jì)思路 ????????1)整數(shù)倍分頻,為 2、4、8,這種 2^n 次方倍數(shù)倍數(shù)關(guān)系的分頻最容易實(shí)現(xiàn),所以我們可以把這 3 種分

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

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

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

    2024年02月05日
    瀏覽(21)
  • 【FPGA & Verilog】奇數(shù)分頻器 (50%)

    【FPGA & Verilog】奇數(shù)分頻器 (50%)

    2.1 設(shè)計(jì)輸? 1. 模塊名稱:FrequencyDivider 2. 輸?輸出:CLK、RSTn、CLK_15 2.2 引腳約束 1. 輸?端 ?定義 2. 輸出端 ?定義 2.3 設(shè)計(jì)要求 1. 輸出時(shí)鐘的周期是輸?時(shí)鐘的15倍(15分頻器) 2. 分別實(shí)現(xiàn)?7/15?占空?和 50% 占空?兩種分頻?式 3. 使?RTL View分析電路的區(qū)別 2.4 電路仿真1.

    2024年02月03日
    瀏覽(26)
  • FPGA學(xué)習(xí)日記——verilog實(shí)現(xiàn)分頻器

    FPGA學(xué)習(xí)日記——verilog實(shí)現(xiàn)分頻器

    主要思想是利用計(jì)數(shù)器實(shí)現(xiàn)分頻器功能,其中按原理不同可分為分頻和降頻 一、先說分頻。 1、第一種實(shí)現(xiàn)方式 輸入信號(hào)為系統(tǒng)時(shí)鐘50MHz,本例子先以偶數(shù)倍六分頻為例實(shí)現(xiàn)分頻的第一種方式:計(jì)數(shù)器對(duì)系統(tǒng)時(shí)鐘的上升沿進(jìn)行計(jì)數(shù),最大計(jì)數(shù)M=5,即count取值范圍為0~5,當(dāng)計(jì)數(shù)

    2024年02月04日
    瀏覽(21)
  • 實(shí)驗(yàn)二 基于FPGA的分頻器的設(shè)計(jì)(基本任務(wù):設(shè)計(jì)一個(gè)分頻器,輸入信號(hào)50MHz,輸出信號(hào)頻率分別為1KHz、500Hz及1Hz。拓展任務(wù)1:用按鍵或開關(guān)控制蜂鳴器的響與不響。拓展任務(wù)2:用按鍵或開)

    實(shí)驗(yàn)二 基于FPGA的分頻器的設(shè)計(jì)(基本任務(wù):設(shè)計(jì)一個(gè)分頻器,輸入信號(hào)50MHz,輸出信號(hào)頻率分別為1KHz、500Hz及1Hz。拓展任務(wù)1:用按鍵或開關(guān)控制蜂鳴器的響與不響。拓展任務(wù)2:用按鍵或開)

    1. 實(shí)驗(yàn)?zāi)康模?(1) 掌握QuartusⅡ軟件的層次型設(shè)計(jì)方法; (2) 掌握元件封裝及調(diào)用方法; (3) 熟悉FPGA實(shí)驗(yàn)平臺(tái),掌握引腳鎖定及下載。 2. 實(shí)驗(yàn)任務(wù): (1) 基本任務(wù):設(shè)計(jì)一個(gè)分頻器,輸入信號(hào)50MHz,輸出信號(hào)頻率分別為1KHz、500Hz及1Hz。 (2) 拓展任務(wù)1:用按鍵或開關(guān)

    2024年02月06日
    瀏覽(59)
  • 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)
  • 偶數(shù)分頻器電路設(shè)計(jì)

    偶數(shù)分頻器電路設(shè)計(jì)

    目錄 偶數(shù)分頻器電路設(shè)計(jì) 1、偶數(shù)分頻器電路簡(jiǎn)介 2、實(shí)驗(yàn)任務(wù) 3、程序設(shè)計(jì) 方法1: 3.1、8分頻電路代碼如下: 3.2、仿真驗(yàn)證 3.2.1、編寫 TB 文件 3.2.2、仿真驗(yàn)證 方法2: 4、計(jì)數(shù)器進(jìn)行分頻 4.1、仿真測(cè)試 ? ? ? ?分頻器在邏輯設(shè)計(jì)中一直都擔(dān)任著很重要的角色,分頻器一般包

    2024年02月09日
    瀏覽(29)
  • 任意分頻器電路設(shè)計(jì)

    任意分頻器電路設(shè)計(jì)

    目錄 任意分頻器電路設(shè)計(jì) 1、任意偶數(shù)分頻器電路設(shè)計(jì) 1.2、實(shí)驗(yàn)任務(wù) 1.3、程序設(shè)計(jì) 1.3.1、代碼如下: 1.3.2、編寫仿真 TB 文件 2、任意奇數(shù)分頻器電路設(shè)計(jì) 2.1、實(shí)驗(yàn)任務(wù) 2.2、程序設(shè)計(jì) 2.2.1、奇數(shù)分頻電路代碼 2.2.2、編寫仿真 TB 文件 2.2.3、仿真驗(yàn)證 ? ? ? ?偶數(shù)分頻實(shí)現(xiàn)比較

    2024年02月16日
    瀏覽(24)
  • 數(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)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包