vhdl语法讨论
时间:10-02
整理:3721RD
点击:
vhdl中关于数位字符串这么定义
data1<=B"111011110";
data2<=O"15";
要求基数符也就是'B','O','X',必须有。
但是在平时我们的编程中却从不写这个基数符
例如:
signal rsr:std_logic_vector(2 downto 0);
rsr<="110";
不知道为何故?
还有关于unsigned类型的运算
signal Cnt: unsigned(3 downto 0);
在对Cnt加一运算的时候
Cnt<=Cnt+"01";
这么写的原因?,Cnt应该是4位的,求指教!
data1<=B"111011110";
data2<=O"15";
要求基数符也就是'B','O','X',必须有。
但是在平时我们的编程中却从不写这个基数符
例如:
signal rsr:std_logic_vector(2 downto 0);
rsr<="110";
不知道为何故?
还有关于unsigned类型的运算
signal Cnt: unsigned(3 downto 0);
在对Cnt加一运算的时候
Cnt<=Cnt+"01";
这么写的原因?,Cnt应该是4位的,求指教!
有些东西是默认的,就不用特别进行强调.
就像我说:借我15块钱. 我不会跟你强调我用的是十进制一样,因为我们都知道
所以:rsr<="110" 等价于rsr<=B"110"
平常习惯用的“110”是std_logic_vector类型的,而像B“110”表示的是bit_vector类型的,但从逻辑设计上来说它们没有本质上的区别。
实际上只用写cnt<=cnt+'1';就行了
有双引号“”的好像就是多位二进制的形式啊
