3分頻 50%占空比
方法:分別用clk的上公升沿和下降沿得到占空比為1/3的時鐘,然後相或
module 3_div(
input clk,
input rst,
input clk_div
);reg [2:0] cnt;
wire clk_p;
wire clk_n;
always@(posedge clk or negedge rst)
begin
if(!rst)
cnt<=0;
else if(cnt==2)
cnt<=0;
else
cnt<=cnt+1;
end//上公升沿取樣上述時鐘
always@(posedge clk or negedge rst)
begin
if(!rst)
clk_p<=0;
else if(cnt==1)
clk_p<=~clk_p;
else if(cnt==2)
clk_p<=~clk_p;
else
clk_p<=clk_p;
end//下降沿取樣上述時鐘
always@(negedge clk or negedge rst)
begin
if(!rst)
clk_n<=0;
else
clk_n<=clk_p;
end//產生分頻時鐘
assign clk_div<=clk_n | clk_p;
endmodule
****
module 3_div_tb;
reg clk;
reg rst;
wire clk_div;
initial begin
clk = 0;
rst = 0;
#100;
rst = 1;
#20000;
endalways #2 clk = ~clk;
3_div u0(
.clk(clk),
.rst(rst),
.clk_div(clk_div);
endmodule
FPGA三分頻,五分頻,奇數分頻
我們在做fpga設計時,有時會用到時鐘頻率奇數分頻的頻率,例如筆者fpga的晶振為50m,當我們需要10m的時鐘時,一種方式可以使用dcm或pll獲取,系統會內部分頻到10m,但其實verilog內部也完全能實現,所以我們還是來了解一下。有這樣乙個歡樂的時鐘了,我們要得到以下的分頻效果 奇數分頻的難...
FPGA三分頻,五分頻,奇數分頻
我們在做fpga設計時,有時會用到時鐘頻率奇數分頻的頻率,例如筆者fpga的晶振為50m,當我們需要10m的時鐘時,一種方式可以使用dcm或pll獲取,系統會內部分頻到10m,但其實verilog內部也完全能實現,所以我們還是來了解一下。有這樣乙個歡樂的時鐘了,我們要得到以下的分頻效果 奇數分頻的難...
FPGA任意奇偶數分頻占空比50
簡單的是計數取反,奇數略有不同,分為上公升沿和下降沿計數取反然後再邏輯與即可,相當於補了半個週期 module pulsediv input clk 100m,input n rst,output reg pulseout reg 7 0 divcnt reg clkp,clkn 任意偶數分頻占空比...