xiaoing.com©

开花即结果 提问即答案

用Verilog写一个三分频电路
原始问题:

用Verilog写一个三分频电路

module divider_3 (clk, clk_out); //定义模块名称和输入输出参数

input clk; //定义输入信号clk
output clk_out; //定义输出信号clk_out
reg [1:0] cnt; //定义寄存器cnt,2位,初始化为2'b00
reg clkedge; //定义寄存器clkedge,初始化为0

always @(posedge clk) begin //以上升沿触发,开始always语句的组合逻辑部分

 cnt <= cnt + 1'b1;       //cnt加1

 if (cnt == 3'd2) begin    //当cnt=2时,执行if语句内部的逻辑功能
    cnt <= 2'd0;    //重新将cnt置零
    clkedge <= ~clkedge;    //将clkedge的值进行取反操作
 end    //if语句结束

end //always语句结束

assign clk_out = (cnt==3'd0)? ~clkedge : 1'bz ; //最后是一个条件表达式(三目运算符)的形式。如果CNT=0时,就将CLKEDGE的值传递到CLK_OUT中。如果CNT不为零时就传递一个高阻态信号。

endmodule

用Verilog写一个三分频电路
https://www.xiaoing.com/zhidao/11428.html
AI / 模型Siliconflow
时间 / DATEApril 16, 2023, 4:36 PM
语言zh-CN
IP / 区域山西 太原