一个5分频电路的困惑【谢谢高手帮忙】
先说明我是新手,所以问的问题可能比较弱智想问的问题是仿真时为什么“0”的时候是5个周期,“1”的时候却有6个周期...
下面是程序(不写注释了):
module fp(clk,rst_n,fp);
input clk;
input rst_n;
output fp;
reg cnt;
always @ (posedge clk or negedge rst_n)
if(!rst_n) cnt <= 4'd0;
else if (cnt <= 4'd9)cnt <= cnt + 1'b1;
else cnt <= 4'd0;
assign fp = (cnt <= 4'd4) ? 1'b0:1'b1;
endmodule
仿真图如下:
谢谢高手帮忙 首先你这个电路实现的不是5分频,按你的想法实现的是10分频;
改为else if (cnt <4'd9)cnt <= cnt + 1'b1;试试,如果按照你的应该是0,1,2,3,4时为低电平;5,6
7,8,9,10为高电平 你这个是11分频,0-4为低,共5个周期,5-10为高,共6个周期。因为你的计数器是模11的(注意是cnt<=9,这会出现cnt=10) 楼主确实很马虎啊 就是,呵呵 我想问一下,这个5分频计数器中为什么reg的宽度是4,要是20分频计数器的reg的宽度又是多少呢?它们之间有什么运算关系啊?
请各位高手帮帮忙,谢谢了 支持2楼和3楼的,确实如此。 回复六楼:
他这个设置的reg设置成就可以,计数到4就行,如果20分频,宽度设置成5吧
页:
[1]
