FPGA 延时
最近一段在做FPGA有关项目,但是对于在时序里的延时很不清楚,在C语言中是用for循环来延时的,在FPGA我用的是VHDL语言,我用loop循环来延时但是效果不是很明显,不知道那位高人能解答下,FPGA的延时要是有例程最好了谢谢 要用硬件的心态去做fpga,用c语言的心态做fpga有的受的,呵呵。延时嘛,时钟计数 aureole 发表于 2014-2-20 00:12
要用硬件的心态去做fpga,用c语言的心态做fpga有的受的,呵呵。
延时嘛,时钟计数 ...
因为刚刚开始接触,在时序时候做延时的时候有人告诉我用启动信号延时,用if来控制但是我的脑袋有点转不过来,这样的话在计时的时候process不是在一直重复前面那段程序吗 用计数器,状态机之类的 FPGA不要有延时的思想,要想到计时,计数,想想你延时的目的是什么。。 bulejeans 发表于 2014-2-20 09:34
FPGA不要有延时的思想,要想到计时,计数,想想你延时的目的是什么。。
昨天我想到了状态机,毕竟以前没有做过空芯片还没有办法完全转化过来 友情赞助一个跑马灯程序,硬件编程和软件编程思想不一样的,一定要转换这个思想
always@(posedge sys_clk or negedge sys_rstn)
begin
if(!sys_rstn)
delay_cnt<=25'd0;
else
begin
if(delay_cnt==25'd24999999)
delay_cnt<=25'd0;
else
delay_cnt<=delay_cnt+1'b1;
end
end
always@(posedge sys_clk or negedge sys_rstn)
begin
if(!sys_rstn)
led<=8'b11111110;
else
begin
if(delay_cnt==25'd24999999)
led<={led,led};
else
led<=led;
end
end
endmodule 状态机,比较好理解和接受 状态机,比较好理解和接受
页:
[1]