完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在VHDL我想访问2D阵列,我能够这样做到现在为止。
但现在我想用它的相邻元素替换当前元素,但因为我声明了一个整数数组,所以如果我这样做 ARRAY1(X)(Y) 2.array1(X)(Y) 任何想法将不胜感激! 以上来自于谷歌翻译 以下为原文 IN VHDL i want to access 2D array which i am able to do so till now. But now i want to replace the current element with its adjacent element but since i declared an array of integers so if i do array1(x)(y) <= array1(x-1)(y) is not possible bcoz it throws an error "index range -1 is out of range" i want to do 2 things here 1.array1(x)(y) <= array1(x-1)(y) -- replacing current element with previous element. 2.array1(x)(y) <= array1(x+1)(y) -- replacing curent element with next element. Any ideas will be greatly appreciated! |
|
相关推荐
4个回答
|
|
嗨,
我认为只有当x = 0时你才会有问题所以当x = 1时你可能有一个if条件,就像这样 如果x = 0那么 ARRAY1(0)(y)的 其他 ARRAY1(X)(Y) 万一; 其中n是x方向上array1的最后一个元素。 检查它是否有效 问候, Vanitha。 -------------------------------------------------- -------------------------------------------请在发布前进行谷歌搜索, 您可能会找到相关信息。请留下帖子 - “接受为解决方案”,如果提供的信息有用且回复,请给予赞誉 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 Hi, I think you will have issue only when x = 0 so you may have one if condition when x = 1, something like if x= 0 then array1(0)(y) <= array1(n)(y) else array1(x)(y) <= array1(x-1)(y) end if; Where n is last element of array1 in the x direction. Check if it works Regards, Vanitha. --------------------------------------------------------------------------------------------- Please do google search before posting, you may find relavant information. Mark the post - "Accept as solution" and give kudos if information provided is helpful and reply oriented View solution in original post |
|
|
|
注意:对于上述条件,一旦完全填充数组,就会启动操作,以便我们可以用下一个元素替换它。
以上来自于谷歌翻译 以下为原文 Note :For the above condition the operation will be started once the array is filled completely so that we can replace it by next element. |
|
|
|
嗨,
我认为只有当x = 0时你才会有问题所以当x = 1时你可能有一个if条件,就像这样 如果x = 0那么 ARRAY1(0)(y)的 其他 ARRAY1(X)(Y) 万一; 其中n是x方向上array1的最后一个元素。 检查它是否有效 问候, Vanitha。 -------------------------------------------------- -------------------------------------------请在发布前进行谷歌搜索, 您可能会找到相关信息。请留下帖子 - “接受为解决方案”,如果提供的信息有用且回复,请给予赞誉 以上来自于谷歌翻译 以下为原文 Hi, I think you will have issue only when x = 0 so you may have one if condition when x = 1, something like if x= 0 then array1(0)(y) <= array1(n)(y) else array1(x)(y) <= array1(x-1)(y) end if; Where n is last element of array1 in the x direction. Check if it works Regards, Vanitha. --------------------------------------------------------------------------------------------- Please do google search before posting, you may find relavant information. Mark the post - "Accept as solution" and give kudos if information provided is helpful and reply oriented |
|
|
|
smahajan写道:
在VHDL我想访问2D阵列,我能够这样做到现在为止。 但现在我想用它的相邻元素替换当前元素,但因为我声明了一个整数数组,所以如果我这样做 ARRAY1(X)(Y) 好吧,想一想。 请考虑您已将数组声明为类型: type myarray_t是sometype的数组(0到10,0到10); signal array1:myarray_t; 指数范围很明显:0到10.你如何确保这两个指数都不超出范围? 因为当x = 0时x-1明显超出范围。 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 smahajan wrote:Well, think this through. Consider that you've declared the array as a type: type myarray_t is array(0 to 10, 0 to 10) of sometype; signal array1 : myarray_t; The range of indices is obvious: 0 to 10. How do you ensure that neither of the indices goes out of range? Because x-1 when x = 0 is obviously out of range. ----------------------------Yes, I do this for a living. |
|
|
|
只有小组成员才能发言,加入小组>>
2374 浏览 7 评论
2790 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2257 浏览 9 评论
3331 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2422 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
747浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
533浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
356浏览 1评论
750浏览 0评论
1951浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 11:30 , Processed in 1.411802 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号