当前位置: 首页 > news >正文

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。

面试题目

class A中一个长度为60的随机数组rand int arr[60],如何写约束使得:

1.每个元素的值都在(0,100]之间,且互不相等;

2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点;

请以解约束最快的角度,完成class A的简单代码示意。

解题思路

原始代码其实就是这样嘛:

class A;

  rand int arr[60];
  constraint arr_cons{};

endclass: A

那现在面临两个约束要求,看上去都是比较复杂的(第一个是不是有类似的随机函数可以做?太久不做验证了记不住了)。所以楞写约束肯定是不行的,或者像耿直的朋友这样做必然也不好:

我当时回答

先随, 然后post randomize的时候判断,没有就fatal

他说不行,要确保随机成功…

</

相关文章:

  • DeepSeek-R1学习
  • AD绘图基本操作
  • 面试系列|蚂蚁金服技术面【3】
  • Hessian 矩阵是什么
  • C++ STL 之常用拷贝和替换算法①copy();②replace();③replace_if();④swap();
  • 【操作系统】Ch5 存储管理
  • 行为模式---访问者模式
  • 实战:自适应均衡的设计与实现
  • SOC与电压的关系
  • 谈谈你对前端工程化的理解,它包含哪些方面
  • Linux目录理解
  • MySQL-基础篇
  • docker 安装mysql
  • 网络安全 --- 基于网络安全的 Linux 最敏感目录及文件利用指南
  • 有趣的算法实践:整数反转与回文检测(Java实现)
  • 数据挖掘导论——第七章:聚类
  • 如何通过用户分群优化应用用户体验
  • OceanBase 用户问题精选答疑:OceanBase 版本升级解析
  • 如何在手机上绘制CAD虚线?
  • 【Halcon】灰度不均解决方案
  • 中科飞测将投资超10亿元,在上海张江成立第二总部
  • 紫光集团原董事长赵伟国一审被判死缓
  • 七旬男子驾“老头乐”酒驾被查,曾有两次酒驾两次肇事记录
  • 广东省原省长卢瑞华逝世,享年88岁
  • 极限拉扯上任巴西,安切洛蒂开启夏窗主帅大挪移?
  • 西王食品连亏三年:主业齐“崩”,研发人员多为专科生