该verilog为何不能10分频呢?太怪了
硬件是EP2C8Q,做一个简单分频器,2,4,6,8,分频都可以,可10分频时,仿真或硬件都不对。程序如下,目的:temp计数4次后,clk时钟被10分频。(是否纠结,为何不能10分频,表现为2分频,仿真时,发现temp会计数到4‘b1111,之后就溢出,outclk0一直表现为2分频现象)module jishu(clk,rest,outclk0);
input clk;
input rest;
output reg outclk0;
reg temp;
always@(posedge clk or negedge rest)
begin
if(!rest)
begin
temp<=4'b0000;
outclk0<=1'b0;
end
else if(temp==2'd4)
begin
outclk0<=~outclk0;
temp<=4'b0000;
end
else
temp<=temp+1'b1;
//outclk0<=outclk0;
end
endmodule else if(temp==2'd4) 是个什么意思? 可以实现任意分配,小数分频都能做到,按**说法----回去再研究研究! 2'd4?3'd4或者4'd4按理说4'd4最好。 2个bit 最多到3 到不了4 楼主啊,你改成4'd4试试!肯定没问题 hell-prototypes 发表于 2014-5-16 17:27
else if(temp==2'd4) 是个什么意思?
语法错误了我,2位最多3 浮华一生 发表于 2014-5-16 17:47
2'd4?3'd4或者4'd4按理说4'd4最好。 2个bit 最多到3 到不了4
是的,语法弄错了,谢谢。 超群天晴 发表于 2014-5-16 20:04
楼主啊,你改成4'd4试试!肯定没问题
已经试过了,解决了,谢谢 超群天晴 发表于 2014-5-16 20:04
楼主啊,你改成4'd4试试!肯定没问题
已经改正,多谢 是个小问题,楼上解决了
页:
[1]