目录
一、问题背景
今天VCS编译下面这段代码时报错了:
报错如下:
上述代码中实际上参数d是一个固定值8,但是编译工具不认。经过分析,编译工具将取值范围有可能出现隐患时将会报错。
例如上面定义int d=8,但是d的值可以由其余电路算出来实时变化,导致无法综合,因此VCS保险起见不允许上述用法。
我平时用的比较多的取值范围是变量的场景,大概还有另外两种
二、以往类似的正确用法1
以循环变量来取值,每次循环电路只取1bit,因此不存在变范围取值:
目录
今天VCS编译下面这段代码时报错了:
报错如下:
上述代码中实际上参数d是一个固定值8,但是编译工具不认。经过分析,编译工具将取值范围有可能出现隐患时将会报错。
例如上面定义int d=8,但是d的值可以由其余电路算出来实时变化,导致无法综合,因此VCS保险起见不允许上述用法。
我平时用的比较多的取值范围是变量的场景,大概还有另外两种
以循环变量来取值,每次循环电路只取1bit,因此不存在变范围取值: