2014-02-25 71 views
1

描述: 我想写一个vhdl while循环,它会在20个整数的数组[A]中找到最大的整数。vhdl代码(while循环)

问题:
我的算法应该是什么样子,输入顺序语句的位置?

我的VHDL代码:

highnum: WHILE i LOOP 
if 
(arr[i]>arr[HighestSoFar]){HighestSoFar=i;}20 
i<= i + 1; 
end if; 
exit; 
END LOOP highnum; 

这并不需要是综合的,但我不知道如何形成这种for循环,其实我不是肯定的语法是什么样子。一个详细的例子解释如何将被赞赏。

+0

+1“可能”重复:D –

+0

我不知道如何开始其他然后我上面提供的代码。并且不需要合成 – user2444074

回答

0

您正在请求示例。维基教科书有plenty of examples

for循环结构:

[label:] [WHILE <condition> | FOR <condition>] LOOP 
    [statements] 
    [exit;] 
    [next;] 
END LOOP [label]; 
3

TLDR:不要。

While循环对循环的迭代次数没有固定的限制。任何试图综合它们的尝试都必须生成一个运行时变量的硬件:希望你能看到这是荒谬的,直到我们学习制造动态增长的FPGA。

,因为它不必须是综合的,你可以使用一个While循环,也将努力几乎你所期望的,如果你已经使用其他编程语言,但它在For没有优势此任务循环。

因此改为使用For循环。

+0

“直到我们学会制造动态增长的FPGA” - 我会等待。 ;) –