vhdl里面如何reset一个数组?

[复制链接]
3743|16
 楼主| AutoESL 发表于 2011-6-23 17:31 | 显示全部楼层 |阅读模式
这样的一个数组:
type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
signal SRL_SIG : SRL_ARRAY;

这样达到移位的目的:
SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);

问题是reset的时候要想reset成0, 除了用for循环来做之外,还有什么方式吗?
比如:(others => ‘0’)类似的方式,不用循环来做?
jennyzheng 发表于 2011-6-29 14:29 | 显示全部楼层
明空 发表于 2011-6-29 15:15 | 显示全部楼层
用for吧
 楼主| AutoESL 发表于 2011-7-13 16:25 | 显示全部楼层
今天看到一个这样的reset/initialization
mem_array := (others=>(others=>'0')  );
SuperX-man 发表于 2011-7-13 16:31 | 显示全部楼层
再定义个全是0的数组,然后"与" 一下就搞定了
 楼主| AutoESL 发表于 2011-7-13 17:22 | 显示全部楼层
嗯,这也是个好方法
GoldSunMonkey 发表于 2011-7-13 17:31 | 显示全部楼层
千万不能用for,还有你可以直接写等于0,有什么困难么??设个条件即可
lopopo 发表于 2011-7-13 17:40 | 显示全部楼层
过来学习的
lopopo 发表于 2011-7-13 17:40 | 显示全部楼层
GoldSunMonkey 发表于 2011-7-14 15:03 | 显示全部楼层
:o讨厌混贴的人
 楼主| AutoESL 发表于 2011-7-14 20:44 | 显示全部楼层
7# GoldSunMonkey
其实我就是想直接写0,当时不知道怎么写可以把一个数组赋0。不熟悉vhdl语法
GoldSunMonkey 发表于 2011-7-14 21:42 | 显示全部楼层
mem_array := (others=>(others=>'0')  );

感觉可以:)
 楼主| AutoESL 发表于 2011-7-15 15:27 | 显示全部楼层
mem_array := (others=>(others=>'0')  );

感觉可以:)
GoldSunMonkey 发表于 2011-7-14 21:42


这个是一定可以的,验证过的.
GoldSunMonkey 发表于 2011-7-15 21:36 | 显示全部楼层
;P我的底气来了。。
figi 发表于 2011-7-16 13:11 | 显示全部楼层
啥叫混贴的人
 楼主| AutoESL 发表于 2011-7-17 12:40 | 显示全部楼层
GoldSunMonkey 发表于 2011-7-17 13:10 | 显示全部楼层
15# figi 某个人大量连续每篇**两次回帖,却都是学习了等之类的回帖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:天使宝贝 博客IT人生 From C/C++/SystemC to Xilinx FPGA

0

主题

2517

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部