首页 > 解决方案 > 带有数学运算符(+、-、< 等)的赋值会合成什么?

问题描述

显然,这将取决于编译器和目标——但有事实上的标准吗?它们是否合成为整个 ALU?或者最小加法器或比较器看起来像什么?

提出这个问题的另一种方式:如果我在 verilog 中有一堆数学逻辑,它最终会比坚持一个简单的 cpu 并通过它强制计算要大得多吗?

标签: verilogsynthesis

解决方案


但有事实上的标准吗?它们是否合成为整个 ALU?或者最小加法器或比较器看起来像什么?

它们将综合成最小的逻辑块,仍然可以在所需的时间内完全填充操作。

我为你打开了我的一个数学块:双线性插值器。这是进入综合工具之前的结构。那时它已经是一套专门的操作。然后综合工具将通过例如减少逻辑和/或合并功能的数量来优化这些。 在此处输入图像描述

如果我在 Verilog 中有一堆数学逻辑,它最终会比坚持一个简单的 cpu 并通过它强制计算要大得多吗?

当然不。你可以这样想:

  • CPU 是由 Verilog 代码构建的。
  • 该 CPU 具有加法器、乘法器等。
  • 如果您使用 CPU 而不是其中的每一个,您将获得递归。

推荐阅读