VHDL中 定义信号数组 VD(50 DOWNTO 0),可以使用VD(i)<=VD(j)么

lilicaocao 2013-06-27 08:16:48
工程中信号声明了
type defineVD_TYPE is array(50 downto 0) of std_logic_vector(7 downto 0);
signal VD:VD_TYPE;
signal i,j: INTEGER RANGE 255 DOWNTO 0:=0;
结构体中有状态机,其中片段如下:
when (STATE=3) =>
i<=1+conv_integer( VD(3) );
j<=1+conv_integer( VD(5) );
...............
when (STATE=4) =>
VD(i)<=VD(j);
..........
将工程下载到FPGA开发板上,在线调试的时候发现 i 和 j 都是正常运算变化的,但是“VD(i)<=VD(j) ”语句没有执行( 比如计算出 i=5 , j=10时,VD(10)的值并没有赋给VD(5))。
有没有人知道原因?紧急求助!
...全文
236 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenyytan 2013-07-17
  • 打赏
  • 举报
回复
一般信号定义成std_logic_vector较多
falloutmx 2013-06-28
  • 打赏
  • 举报
回复
仿真没问题?你这写法带有太浓的软件思维了。 VD(i)<=VD(j); 这句你觉得硬件应该怎么综合?建议不要用INTEGER

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧