需要出一个时钟,随手写了一个:
reg CLK_160k;
reg [19:0] CLK_160k_cnt;
always @(posedge CLK)
if(RESET_GENED==1)
begin
CLK_160k_cnt <=0;
CLK_160k <=0;
end
else
begin
if (CLK_160k_cnt < 313) //1250-40k 6250-16k 625-160k
begin
CLK_160k_cnt <= CLK_160k_cnt +1;
CLK_160k <=0;
end
else if ((CLK_160k_cnt < 626) && (CLK_160k_cnt >= 313))
begin
CLK_160k_cnt <= CLK_160k_cnt +1;
CLK_160k <=1;
end
else
CLK_160k_cnt <= 0;
end
嗯..自认为十分符合c语言逻辑..
但是用signaltap看到的结果,让我十分惊奇:
很多位发生了莫名其妙的异常,求指点一下是什么原因导致的,还有如果很习惯c语言类型的编程习惯,应该怎么在verilog中注意,多谢多谢~
本帖最后由 astwyg 于 2014-6-4 10:23 编辑