- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vhdl数字电路设计教程第4讲 运算操作符和属性
VHDL的运算操作符: 属性: 用户自定义属性 操作符扩展 通用属性语句 例子 ;4.1 运算操作符;例: signal x: std_logic; variable y: std_logic_vector(3 downto 0); signal w: std_logic_vector(0 TO 7); x=‘1’; ----通过=将‘1’赋给信号x; y:=“0000”; ----通过:=将值“0000”赋给变量y; w1=(0=’1’, OTHERS=’0’); --信号w1的赋值; w2=(OTHERS=’0’); --信号w2的赋值;;逻辑运算符 ;注意:书上的“可综合”是指EDA工具的工艺库(如IP库、基本器件库)中是否直接包含相应的功能模块或器件,如果包含,则称为可综合,否则就称为不可综合。对于某些运算功能,理论上是可以用电路实现的,但代价太大,不常使用,因此工艺库中一般就不包含这些功能器件,在这里就称为不可综合。 另外,可综合的电路必须是规格固定的。 ;加法、减法、乘法可以综合成逻辑电路;(见例6.8/12.1/12.2等) 除法:除数为2n时可通过移位操作实现(见例9.1),容易综合;其它类型除数时则比较复杂(见例9.4),是否能综合还取决于具体的除数; 指数运算:只有当底数和指数都是静态数值(常量或GENERIC参数)时才可综合; MOD和REM:只能用于整数类型。两者区别在于符号不同,如果有两个操作数a和b,表达式a REM b的符号与a相同;表达式a MOD b的符号与b相同。例如: 7 REM -2=1、-7 REM 2=-1、-7 MOD 2=1、7 MOD -2=-1。 “mod”、“rem” 操作的综合限制:若右操作数为2n ,则可用移位电路实现,即可综合的,其它情况则不可综合。 ABS: 不可综合。;关系操作符 ;移位操作符 语法结构: 左操作数移位操作符右操作数;并置运算符: ;;各种操作符的优先级问题;4.2 属性(ATTRIBUTE);数值类属性:获取数组、块或一般数据的相关信息。 VHDL预先定义的、可综合的数值类属性: left:索引的左边界值 right:索引的右边界值 high:索引的上限值 low:索引的上限值 length:索引的长度值 range:索引的位宽范围 reverse_range:索引的反向位宽范围 ;例: variable my_vector : bit_vector (5 downto -5); 各属性如下: my_vector’left 5 my_vector’right -5 my_vector’high 5 my_vector’low -5 my_vector’length 11 my_vector’range (5 downto -5) my_vector’reverse_range (-5 to 5);枚举类型数值的属性:通常是不可综合的 VAL(pos): 指定位置(pos)的值 POS(value):给定数值的位置序号 LEFTOF(value):给定数值的左侧值 VAL(row,column):位于行、列位置的值 ;信号类属性:VHDL预定义的,对于信号s: EVENT: 如果s值发生了变化,则返回值为true,否则为false XXX, 常用于时钟信号的判定。 STABLE:如果s值保持不变,则返回值为true,否则为false; ACTIVE:如果s值为‘1’,则返回值为true,否则为false; QUIETtime:如果在指定的time内s值保持不变,则返回值为true,否则为false; LAST_EVENT:返回从上一次事件发生的时间到当前时间的时间差; LAST_ACTIVE:最后一次s=‘1’到当前所经历的时间长度值; LAST_VALUE:最后一次变化前s的值;
有哪些信誉好的足球投注网站
文档评论(0)