c =Σ(a [i] * b [i])考虑两个数组a和b。两个数组a和b的MAC操作的结果c应小于1024.使用SystemVerilog约束来实现以上条件。两个数组的大小可以从1到n,每个数组元素存储1个字节。我们必须随机化这两个数组。如何在SystemVerilog约束中实现求和方程?
回答
现在,我已经看到了聊天解决方案,我给你我在想什么
constraint c_sum { c == a.sum() with (a[item.index] * b[item.index]); c < 1024;}
我使用上述约束获得以下结果: c = 53 a = 225 b = 188 c = 53 a = 4 b = 217 c = 53 a = 210 b = 94 c = 53 a = 110 b = 181 c = 53 a = 99 b = 9 c = 53 a = 254 b = 36 c = 53 a = 252 b = 177 c = 53 a = 222 b = 33 c = 53 a = 37 b = 103 c = 53 a = 114 b = 15 c = 53 a = 239 b = 166 – Rottenengg
代码:rand logic [7:0] a []; rand逻辑[7:0] b []; rand逻辑[20:0] c; 约束CONST1 {a.size <30;} 约束CONST2 {a.size == b.size;} 约束c_sum { Ç== a.sum()具有:(a [item.index] * b [item.index]); c <1024;} – Rottenengg
你会溢出。 (int [(a [item.index])* int'(b [item.index])) –
- 1. SystemVerilog约束中的溢出
- 2. 如何在约束布局中以编程方式实现layout_constraintEnd_toEndOf?
- 3. 约束在接口实现在java中
- 4. 尝试以编程方式实现约束时忽略约束条件
- 5. SSRS - 实现参数约束
- 6. 如何用Gurobi在Python中实现这个约束?
- 7. 如何在ormlite中实现多列唯一约束(SQLite)
- 8. 如何在JAVA中实现OCL(对象约束语言)
- 9. 在Python中求解带约束的线性方程
- 10. 类约束必须出现在任何其他约束
- 11. uniquess的方法和约束
- 12. 如何在Orange中的先验约束中引入synstactic约束
- 13. 在java中约束编程
- 14. “约束的显式接口实现......”
- 15. 实现复杂的检查约束
- 16. 以编程方式在Swift中追踪和引导约束(NSLayoutConstraints)
- 17. 如何在张量流中实现MLP中的最大范数约束?
- 18. 如何实现跨数据库外键约束?
- 19. 带日期约束的求和/分组?
- 20. Grails实体约束
- 21. 如何对Prolog事实施加约束?
- 22. 如何向ADO.NET实体添加约束?
- 23. 如何同时具有宽度约束和等宽约束
- 24. 如何在neo4j ogm中实现复合约束或等价的“is node key”?
- 25. 如何在Python中使用“for循环”来实现迭代约束Pyomo
- 26. 有没有在Haskell的类型类中实现约束的方法?
- 27. 在Sobel运算符中实现角度约束
- 28. 在ADF BC中实现唯一的密钥约束条件
- 29. SystemVerilog的约束,固定值每n次迭代
- 30. 在GAE中实施唯一约束
这是一个家庭作业问题或一个面试问题? –
这是一个面试问题。 – Rottenengg
然后我会给你一个提示。在约束中使用'sum()with()'方法。 –