已知数组位宽,求将vhdl中的integer数组转换为std_logic_vector数组
时间: 2023-05-24 17:05:40 浏览: 208
标准逻辑型Std_Logic;-VHDL与数字电路设计
假设数组的位宽为n,对应的std_logic_vector数组的长度为m,则有:
m = n/8 (若n可以被8整除)
m = n/8 + 1 (若n不能被8整除)
其中8表示一个字节的位宽。假设原数组名为a,新的std_logic_vector数组名为b,则可以使用如下的转换方式:
b <= std_logic_vector(to_unsigned(a(i), n)),其中i为数组下标。
这里使用了to_unsigned函数将integer类型的元素转换为unsigned类型,再使用std_logic_vector函数将unsigned类型的数据转换为std_logic_vector类型的数据。
阅读全文