嗨,
SRL&
std_logic包和numeric_std包都不支持Co.
它们只适用于布尔和位类型。
改为使用这个:
slv_reg0(byte_index * 8到byte_index * 8 + 7)'0'&
Bus2IP_Data(byte_index * 8到byte_index * 8 + 7-1);
- 最右边的值丢失,最左边的值替换为'0',所有其他值都移到右边。
有一个很好的综合
Eilert
在原帖中查看解决方案
以上来自于谷歌翻译
以下为原文
Hi,
SRL & Co. are neither supported by the std_logic packages nor by numeric_std packages. They only work on boolean and bit types.
instead use this:
slv_reg0(byte_index*8 to byte_index*8+7) <=
'0' & Bus2IP_Data(byte_index*8 to byte_index*8+7
-1); -- rightmost value is lost, leftmost value replaced by '0', all others shifted to the right.
Have a nice synthesis
Eilert
View solution in original post
嗨,
SRL&amp;
std_logic包和numeric_std包都不支持Co.
它们只适用于布尔和位类型。
改为使用这个:
slv_reg0(byte_index * 8到byte_index * 8 + 7)'0'&amp;
Bus2IP_Data(byte_index * 8到byte_index * 8 + 7-1);
- 最右边的值丢失,最左边的值替换为'0',所有其他值都移到右边。
有一个很好的综合
Eilert
在原帖中查看解决方案
以上来自于谷歌翻译
以下为原文
Hi,
SRL & Co. are neither supported by the std_logic packages nor by numeric_std packages. They only work on boolean and bit types.
instead use this:
slv_reg0(byte_index*8 to byte_index*8+7) <=
'0' & Bus2IP_Data(byte_index*8 to byte_index*8+7
-1); -- rightmost value is lost, leftmost value replaced by '0', all others shifted to the right.
Have a nice synthesis
Eilert
View solution in original post
举报