FPGAExpress:VuniStdLogLogic向量仅将整数转换为符号值(HDL—1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

FPGAExpress:VuniStdLogLogic向量仅将整数转换为符号值(HDL—1)

描述

关键词:FPGAExpress,SyopoSyS,VujyStdLogLogic矢量,HDL—1,溢出

紧迫性:标准

一般描述:
当将整数作为参数传递到STDYLogiCyrAthTH包中找到的VuuthStdLogLogic向量函数时,Express假定所得到的STDYLogLogic向量将始终是带符号的数字。在下面的示例中,数字20将被转换为010100,而不仅仅是10100,并且由于五位有符号向量具有从15到16的范围,当函数的第二输入为5时,Express不允许20作为输入。

前& GT;
信号同步延迟:StdLogLogic向量(4下降到0);
常数延迟:整数:=20;

SycClult& Lt= = VuuiStdLogLogic向量(延迟,5);
&;

下列错误将导致:

错误:常数值20溢出“siZedItIt:范围16至15”
在常规SythInGeulth-To-签名中
从DelayLoNo.20行37调用文件’Vald’VHD’(HDL—1)

解决方案

使用一个比最终向量大一点的临时向量。将转换赋值给这个向量,然后将所有的MSB分配给最终向量。

信号同步延迟:StdLogLogic向量(4下降到0);
信号温度:StdLogLogic向量(5下降到0);
常数延迟:整数:=20;

Tunp & lt;= VuuiStdLogLogic向量(延迟,6);-不要忘记将大小增加1
SimcLead & lt;= TEMP(4下降到0);

请登录后发表评论

    没有回复内容