笔试的时候有一道题目要求设计三分频电路,晕,想了半天想不出来,回到宿舍里才动手写了出来,如下:
其实3分频电路有很多种方法,这里选用其中一种:先求出两个占空比为1/3的频率波形,注意分别为上升沿触发和下降沿触发,最后两个信号波形进行或运算,代码如下:
module san(
input clk,
input rst,
output clk_3
);
reg [1:0]cnt;
reg [1:0]cnt1;
reg clk1;
reg clk2;
always@(posedge clk or negedge rst)
if(!rst) begin cnt<=2'b00;end
else if(cnt==2'b10) cnt<=2'b00;
else cnt<=cnt+2'b01;
always@(negedge clk or negedge rst)
if(!rst) begin cnt1<=2'd0;end
else if(cnt1==2'b10) cnt1<=2'b00;
else cnt1<=cnt1+2'b01;