【发布时间】:2017-08-15 06:26:17
【问题描述】:
c=∑(a[i]*b[i]) 考虑两个数组 a 和 b。两个数组 a 和 b 的 MAC 运算结果 c 应该小于 1024。使用 SystemVerilog 约束来实现上述条件。两个数组的大小可以从 1 到 n,每个数组元素存储 1 个字节。我们必须随机化两个数组。
【问题讨论】:
-
这是作业题还是面试题?
-
这是一道面试题。
-
那我给你个提示。在约束中使用
sum() with()方法。 -
感谢戴夫的提示。我最初的猜测是使用相同的方法。但是我无法编写一种方法来随机化具有给定约束的数组的每个元素。我应该声明一个函数来实现求和方程并在约束块内调用该函数吗?
-
您可以使用一种 sum() 方法进行约束。任何更多的提示都会给出解决方案。
标签: system-verilog