Verilog问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:46:06
我想问:always@(posedge clk)
begin
end
1.当上升沿来一次时候,这个always执行一次,但是他的执行时间是多少,万一程序非常长,一个时钟的时间不够他执行的怎么办。
2.假如时间是绝对够的话那在不同的always的执行时间不一样除了效率不一样还会有什么样的不同?
3.always@(posedge clk)
begin
for(i==1,i++,i<=10)
end

是不是在1个时钟里面for对i的计数执行10次,每次的时间都是多少,我很少见到有人用这个方式写循环的,是不是for最好不要用啊,如果是,那你们用什么方式写循环语句啊?

分太少了点吧,简单答下
1、对,有执行时间,跟你用的不同器件有关,时间不够就系统出错
2、不考虑稳定性的话没有什么不同
3、for编译器并没有对i编译成具体的硬件电路,这其实也是不可能的。
当然最好不用,因为硬件电路本来就是在clk下不停的循环执行的。

看你是功能仿真还是时序仿真了,执行时间是很

短了 基本不用担心。1个时钟执行1次。循环也

可以用 if...else啊,其实功能仿真的话,算法

和C语言思想差不多,时序仿真再做修改,这个

得靠经验啦,做的多了自然就在编写时候注意了