- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* . * 1、逻辑运算符 注意: (1)只可以对std_logic,std_logic_vector,bit,bit_vector ,boolean型数据进行逻辑运算。 (2)运算符的左右及代入的信号数据类型必须相同。 (3)在一个语句中,若有两个以上的逻辑表达式时,有时需在相应的表达式中加括号。 例如:X=(a and b) or (not c and d); (4)如果一个逻辑表达式中只有AND , OR , XOR运算符,括号可省略。其他不行。例如: A=((b nand c) nand d) nand e; 1011 A=b nand (c nand (d nand e)); 因为除NOT优先级最高外,其余优先级相同。同一个表达式中,具有多个优先级相同的逻辑运算符时,先完成括号内运算,否则它们的先后顺序是随机的。 * . * 2、算术运算符 REM,MOD,/, * , - (取负),+(取正), - , +,**,ABS -,+(负、正): 一元运算操作符,操作数可以是任何数值类型 在实际使用中,取负操作数需加括号。如:Z:=X*(-Y); -,+(加、减): 操作数可以是任何数值类型,操作数的类型原则上必须一致。 *,/: 数据类型是整数和实数。对物理类型的数据对象也可以运算操作 (1)乘法和除法运算是可综合的,但从优化综合、节省芯片资源的角度出发,最好不要轻易使用乘除操作符。 注意: (2)只有分母操作数为2乘方的常数时,才可以综合。 只有在左边为实数时,其右边才可以为负数。一般地,VHDL综合器要求乘方操作符作用的操作数的底数必须是2 **: 左边可以是整数或实数,但右边必须为整数。 ABS: 无限制 MOD,REM: 操作数数据类型只能是整数,运算操作结果也是整数 只有分母操作数为2乘方的常数时,才可以综合。 * . * 3、关系运算符 关系运算符:=,=,,,/=,= 不同的关系运算符对两边的操作数的数据类型有不同的要求,但结果都是BOOLEAN型。 =,=,,:整数、实数、std_logic、bit及,bit_vector, std_logic_vector 注意: (1)操作数的数据类型必须一致 (2)位长可以不同。但可能出错。 (3)位矢量数据比较从左到右按位比较,当比较其中一位不等,则给 出结果,不再继续下一位的比较。 例如:Signal a:std_logic_vector(3 downto 0); Signal b:std_logic_vector(2 downto 0); 若要进行位长不同的位矢量的关系运算必须加入语句 Library ieee; use ieee.std_logic_unsigned.all 例如: a=”1010”; b=”111”; If(ab) then * . * 4、并置(连接)运算符 并置运算符完成一维数组的连接; 其操作过程是将右操作数连接在左操作数的后边,形成一个新的一维数组;常用于位或位矢量类型对象的连接。 图2-3所示: y(0)=b(0) and en y(1)=b(1) and en y(2)=b(2) and en y(3)=b(3) and en y(4)=a(0) y(5)=a(1) y(6)=a(2) y(7)=a(3) 从左边可以看出a,b是四位长度的矢量,而y的位长是8位,上述情况可以表示成: tmp_b=b AND (enenenen); y= a tmp_b; 注意: (1)位连接也可以用集合体的方法,将并置符“”换成“,”即可 (2) 集合体的方法,不适应于有位矢量的连接。 * . * 并置(连接)运算符举例 例如:tmp_b=b AND (en,en,en,en); y=( a,tmp_b); 对吗? 集合体可以用指定位的脚标表示: signal tmp_c:std_logic_vector(3 downto 0); tmp_c= (3=en,2=en,1=en,0=en); 或 tmp_c= (2=’0’ ,others=en);如果用此方法, others项必放最后。 或 tmp_c= (others=en); 或 tmp_c= (3 downto 0=en); * . * 5、省略赋值操作符(聚合赋值符) 格式: others=’X’ 例如: Signal d1:STD_LOGIC_VECTOR(7 DOWNTO 0); d1=(others=’0’); 一般用于较多位的位矢量赋值中有多位值相同时,做省略化
您可能关注的文档
最近下载
- 铁路预应力混凝土桥梁智能张拉与压浆施工技术规范.pdf VIP
- Gema金马OptiStar CG06 用户手册.pdf
- 2025年建筑起重信号司索工考试题库(含答案).docx VIP
- (2025年)建筑起重信号司索工考试题库(含答案).docx VIP
- 2024年昆明医科大学海源学院马克思主义基本原理概论期末考试题推荐.docx VIP
- 2024年昆明医科大学海源学院马克思主义基本原理概论期末考试题汇编.docx VIP
- 信息安全等级保护二级建设方案.docx VIP
- 2024年昆明医科大学海源学院马克思主义基本原理概论期末考试题带答案.docx VIP
- Gema金马OptiSelect手动静电粉末喷枪用户手册.pdf
- 东元伺服简易型JSDEP使用.pdf
原创力文档


文档评论(0)