微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > vhdl语法讨论

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位的,求指教!

有些东西是默认的,就不用特别进行强调.
就像我说:借我15块钱.   我不会跟你强调我用的是十进制一样,因为我们都知道
所以:rsr<="110"   等价于rsr<=B"110"

平常习惯用的“110”是std_logic_vector类型的,而像B“110”表示的是bit_vector类型的,但从逻辑设计上来说它们没有本质上的区别。

实际上只用写cnt<=cnt+'1';就行了

有双引号“”的好像就是多位二进制的形式啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top