1、使用非基数表示的十进制视为有符号数。使用基数表示的十进制被视为无符号数。

2、线网中的值被解释为无符号数,整型寄存器中的值被解释为有符号的二进制补码数,。

3、如果选择表达式的值为 x、z,或越界,则位选择的值为 x。例如S t a t e [x]值为x。

4、不允许对存储器变量值部分选择或位选择。如 mem[63][4 : 3],这是不允许的。

5、如果算术操作符中的任意操作数是 X或Z,那么整个结果为 X。

6、算术表达式结果的长度由最长的操作数决定。

7、无符号数存储在: 线网,一般寄存器,基数格式表示形式的整数。有符号数存储在: 整数寄存器,十进制形式的整数。

8、如果操作数长度不同,长度较短的操作数在最重要的位方向(左方)添 0补齐。例
如:'b1000 > = 'b01110  等价于:  'b01000 > = 'b01110

9、逻辑操作符有: && (逻辑与)   || (逻辑或)  !(逻辑非)。

10、按位操作符有: ~(一元非) &(二元与) |(二元或) ^(二元异或) ~^, ^~(二元异或非)这些操作符在输入操作数的对应位上按位操作,并产生向量结果。

11、归约操作符在单一操作数的所有位上操作,并产生 1位结果。归约操作符有 :
• & ( 归约与) 如果存在位值为0, 那么结果为0;若如果存在位值为 x或z,结果为x;否则结果为1。
• ~& ( 归约与非) 与归约操作符&相反。
• | ( 归约或) 如果存在位值为1,那么结果为1;如果存在位 x或z,结果为x;否则结果为0。
• ~| ( 归约或非) 与归约操作符|相反。
• ^ ( 归约异或) 如果存在位值为 x或z,那么结果为 x;否则如果操作数中有偶数个 1, 结果为0;否则结果为1。
• ~^ (归约异或非 ) 与归约操作符^正好相反。

12、移位操作符有: << (左移) >> (右移)移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添 0补位。如果右侧操作数的值为 x或z, 移位操作的结果为 x。

13、连接和复制操作:连接操作是将小表达式合并形成大表达式的操作。

14、信号的负沿是下述转换的一种: 1->x;  1->z; 1->0;  x->0;  z->0
正沿是下述转换的一种:                    0->x;  0->z; 0 ->1; x ->1; z -> 1

15、当端口和局部端口表达式的长度不同时,端口通过无符号数的右对齐或截断方式进行匹配。

verilog 之语法学习的更多相关文章

  1. verilog入门语法学习-第1篇

    1. 如何观察被测模块的响应: 在initial 块中,用系统任务$time 和 $monitor $time 返回当前的仿真时刻 $monitor 只要在其变量列表中有某一个或某几个变 量值发生变化 ...

  2. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  3. Swift高级语法学习总结(转)

    Swift高级语法学习总结 1.函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如果有参数和返回值直接写在两个括号里就可以了 1.2 参 ...

  4. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  5. Swift高级语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如 ...

  6. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

  7. Robot Framework语法学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  8. MarkDown语法 学习笔记 效果源码对照

    MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...

  9. 毕业设计 之 五 PHP语法学习笔记

    毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...

随机推荐

  1. phpexcel: 数据导出

    // 设置列名最多40个 $cols = array( "A", "B", "C", "D", "E" ...

  2. web项目在iis配置好后不能正确访问问题集锦,以及IIS常规设置

    6.IIS配置好,项目无法访问,注意项目对应的应用程序池的net版本是否正确,是否集成(一般都是集成,很少是经典) 本项目用的4.0,可IIS默认程序池为2.0,将2.0改为4.0就行.   7.HT ...

  3. python面向对象编程学习

    python面向对象编程 基本概念理解 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作 ...

  4. angular-messages.js信息验证的使用

    ngMessages(1.3+) 众所周知,表单和验证是Angular中复杂的组件之一.上面的例子不是特别好,不简洁.在Angular 1.3发布前,表单验证必须以这种方式编写.然而在发布的Angul ...

  5. mysql数据库(二):查询(SELECT)

    一. 数据库查询—查询(SELECT) 单表查询 多表联合查询 二. 查询—单表查询 查询特定字段: select <字段1,字段2,...> from <表名>; 示例:查询 ...

  6. 【Python】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3

    问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 sys ...

  7. 【sparkSQL】创建DataFrame及保存

    首先我们要创建SparkSession val spark = SparkSession.builder() .appName("test") .master("loca ...

  8. poj1469

    题解: 二分图匹配 然后判断最大匹配是否是m 代码: #include<cstdio> #include<cmath> #include<algorithm> #i ...

  9. ubuntu 交叉编译arm linux 内核小例子

    下载arm-linux-gcc 4.2.3http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3 ...

  10. Electron中git, npm,webpack使用

    开始学习Electron的时候用到git, 记录学习一下, 学习地址是: https://zhuanlan.zhihu.com/p/20225295?columnSlug=FrontendMagazi ...