vhdl语言里的cnt1:=(others=>'1')是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/04 00:43:23
请说具体点!谢谢!!

CNT1可能是一个多位宽的数据,将其所有位都赋为1

定义了一个多位宽数据:
singal cnt1: std_logic_vector(3 downto 0)
下面对他赋值:

cnt1 <= (others => '0');

表示的意思是
cnt1(3) <= '0';
cnt1(2) <= '0';
cnt1(1) <= '0';
cnt1(0) <= '0';

也可以写成
cnt1 <= "0000";

用OTHERS写法的好处是,不需要介意位宽,如果使用下面的方法,这样如果修改位宽为5位后,“0000”要改成“00000”,

而开始的写法则不用改。

人家都举例子了, 还怎么具体. 就是给前面的数据赋值的意思. 不管 vector是多少位 singal cnt1: std_logic_vector(n downto 0) 0 到n 全部为0