亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
發一個任意數分頻的程序
[打印本頁]
作者:
Mystery0724
時間:
2019-3-28 09:35
標題:
發一個任意數分頻的程序
本帖最后由 Mystery0724 于 2019-3-28 09:39 編輯
module divide(
clk,
rst_n,
clkout);
input clk,rst_n;
output clkout;
parameter WIDTH = 3;
parameter N = 5;
reg [WIDTH-1:0] cnt_p,cnt_n; //cnt_p為上升沿觸發時的計數器,cnt_n為下降沿觸發時的計數器
reg clk_p,clk_n; //clk_p為上升沿觸發時分頻時鐘,clk_n為下降沿觸發時分頻時鐘
//上升沿觸發時計數器的控制
always @ (posedge clk or negedge rst_n )
begin
if(!rst_n)
cnt_p<=0;
else if (cnt_p==(N-1))
cnt_p<=0;
else cnt_p<=cnt_p+1;
end
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
clk_p<=0;
else if (cnt_p<(N>>1)) //N>>1表示右移一位,相當于除以2去掉余數
clk_p<=0;
else
clk_p<=1; //得到的分頻時鐘正周期比負周期多一個clk時鐘
end
//下降沿觸發時計數器的控制
always @ (negedge clk or negedge rst_n)
begin
if(!rst_n)
cnt_n<=0;
else if (cnt_n==(N-1))
cnt_n<=0;
else cnt_n<=cnt_n+1;
end
//下降沿觸發的分頻時鐘輸出,和clk_p相差半個時鐘
always @ (negedge clk)
begin
if(!rst_n)
clk_n<=0;
else if (cnt_n<(N>>1))
clk_n<=0;
else
clk_n<=1; //得到的分頻時鐘正周期比負周期多一個clk時鐘
end
assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p; //條件判斷表達式
//當N=1時,直接輸出clk
//當N為偶數也就是N的最低位為0,N(0)=0,輸出clk_p
//當N為奇數也就是N最低位為1,N(0)=1,輸出clk_p&clk_n。正周期多所以是相與
endmodule
復制代碼
作者:
shuijingfeng
時間:
2019-7-25 15:06
記號一下
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1