loops - 在 VHDL 中使用带有变量的 FOR 循环

标签 loops for-loop while-loop vhdl synthesize

是否有任何可能的方法以以下形式创建 for 循环:

for i in 0 to some_var loop
    // blah,blah
end loop;

如果没有,是否有其他方法可以创建相同的循环?由于 While 循环允许使用变量作为限制,但它们在我的项目中不可合成。

提前致谢,

博扬·马托夫斯基

最佳答案

该变量适用于测试平台应用程序。

对于综合,您可以通过使用静态范围和退出条件获得相同的效果。将范围设置为您需要的最大值。

for i in 0 to MAX_VALUE loop
  exit when i = some_var ;
  // blah,blah
end loop;

如果您的综合工具对此感到窒息,请提交错误报告。 1076.6-1999 和 1076.6-2004(VHDL RTL 综合标准)都表示支持具有静态范围的“for”循环的退出条件。您可能会发现有关使用循环标签 (1076.6-1999) 的支持问题,表明它不受支持。

如果您发现错误(或缺乏支持)并且不报告它,您的供应商会认为这是您不关心的功能,因此不会投资更改他们的工具。

关于loops - 在 VHDL 中使用带有变量的 FOR 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18491507/

相关文章:

java - (初学者) JAVA do...while 循环逻辑坏了?

c - 打印字符串直到出现特定字符

C# 烦恼 - 访问 sting 之外的数据

c# - For 循环和 If 语句

C- while 循环无法解释的行为

java - 在 while 循环中保存值

python - python线程中的无限循环

c# - 如何提高foreach循环的性能

java - 在java中循环语句以获得不同的结果

javascript - 在 for 循环中使用 map api 进行反向地理编码期间城市名称乱序