代码之家  ›  专栏  ›  技术社区  ›  CCRCCR

函数中的for循环在Verilog中合成吗?[副本]

  •  0
  • CCRCCR  · 技术社区  · 3 年前

    不包含任何延迟分配的函数是可合成的,因此所有合成的函数本质上都是组合的。如果我们使用递归调用,函数还会保持可合成性吗?

    以阶乘函数(自动)为例。 此功能存在于状态机中。每次激活状态时,函数都会将值返回到寄存器。

    这个函数会合成吗?

    0 回复  |  直到 4 年前
        1
  •  2
  •   dave_59    4 年前

    是的,递归函数是可以合成的,但前提是递归的深度可以在编译时确定。这通常意味着函数的每个顶级调用的参数都是常量。像任何其他循环一样,合成工具需要有固定数量的迭代,才能确切地知道需要分配多少硬件逻辑。

    推荐文章