verilog 之语法学习

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、当端口和局部端口表达式的长度不同时,端口通过无符号数的右对齐或截断方式进行匹配。

时间: 2024-08-30 13:47:39

verilog 之语法学习的相关文章

正则表达式语法学习

正则表达式用到的地方很多很广,一般用于验证 此文讲解了正则表达式的语法,以下内容转自网友[丰衣足食]的帖子 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 后向引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配

【JavaScript】02.基础语法学习

[JavaScript]02.基础语法学习 引言: 老农认为(老农是我对自己的昵称),学习任何一门计算机程序语言都要先从它的语法知识开始.计算机程序语言由一堆预定义的字符和书写这些字符的规则组成.这些预定义的字符在语言里面叫做关键字或者保留字,书写这些字符的规则叫做语法. 计算机语言(Computer Lnguage),是指用于人与计算机之间通讯的语言.语言分为自然语言与人工语言两大类.自然语言是人类在自身发展的过程中形成的语言,是人与人之间传递信息的媒介.人工语言指的是人们为了某种目的而自行设

Java语法学习概述

Java语法学习概述: 1,数值型有:    整数类型分     byte:127到-128 8位(1个字节);只用后七位表示数字 第一位表            示正负号;特点最基本数据单元,占空间少 short:16位(2个字节)短整型 -32768到32767 int:32位(4个字节) 整型 正负21亿 写程序大部分用int写 long:64位(8个字节) 长整型 +-922后面16个零多           数字后面加字母L 或小写l 表示long型数据           用数字表示

转 python语法学习面向对象之继承

传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学习类的继承. 继承: 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法   class 派生类

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

Swift高级语法学习总结 1.函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如果有参数和返回值直接写在两个括号里就可以了 1.2 参数需要指明类型,而如果没有返回值可以不写->(),返回值只需要写返回类型,如果写了返回名称,可以在函数调用后的值用点语法访问 1.3 在参数名称前可以加上外部参数名,调用的时候就可以带上它了,如果外部参数名和内部参数名相同则可以直接在内部参数名前加#即可 1.4 如果跟参数设置一个默认值,则swift会

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

Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘

python 语法学习

同时给x,y,z赋值: x,y,z=1,2,3 x值与y的值交换 x,y=y,x python 语法学习

cmake语法学习

1.项目最外层cmake编写:----------用于kdevelop编译器 ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× eg: project(filtering) cmake_minimum_required(VERSION 2.8) ————必须有的 include_directories(${PROJECT_SOURCE_DIR}/src)  ————设置include头文件查找路径lin

Robot Framework语法学习(一)

Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edit区点Add Scalar或Add List来新增变量. 3.变量赋值: 1)Set赋值:通常这种方式主要使用Set Variable或类似的使用了Set的关键字对变量进行赋值 ${type}  Set Variable  2013 2) Get赋值:主要用于返回值上,包括系统关键字的返回值和用户关