求高手用VerilogHDL 帮我写个级联分频器

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:39:24
求高手用VerilogHDL 帮我写个级联分频器
要求:用两个10分频级联成一个100分频器,并有复位端RESET
采纳的话追加50

//方法1
module NCLK(clk,rest,clk_);
input clk,rest;
output clk_;

reg [3:0]cnt,cnt_;

wire clk_10=cnt[3];//主时钟的10分频
wire clk_=cnt_[3];//主时钟的100分频

always@(posedge clk or rest)
begin
if(rest) cnt=1'b0;
else if(cnt<4'd10) cnt=cnt+1'b1;
else cnt=1'b0;
end

always@(posedge clk_10 or rest)
begin
if(rest) cnt_=1'b0;
else if(cnt_<4'd10) cnt_=cnt_+1'b1;
else cnt_=1'b0;
end
endmodule

//方法二 先建立一个工程,输入源代码后生成一个bsf模块文件,然后利用模块串联的方式,将第一级输入作为输入,第一级的输出接第二级输入,第二级输出作输出,复位端连在一起作复位端。
module NCLK(clk,rest,clk_);
input clk,rest;
output clk_;

reg [3:0]cnt;

wire clk_=cnt[3];//主时钟的10分频

always@(posedge clk or rest)
begin
if(rest) cnt=1'b0;
else if(cnt<4&