- reg类型数据的默认初始值为不定值x;
- 在always块内不复制的每一个信号都必须定义成reg型;
- memory型 一个存储器,存储器内包含多少个寄存器;
- 一个由n个1位寄存器构成的存储器数组是不同于一个n位的寄存器的,不同的原因是一个n位的寄存器可以在一条赋值语句里进行赋值,而一个完整的存储器则不行。
- 对memory存储单元进行读写操作,必须指定该单元在存储器中的地址。
- 进行驱魔运算时,结果值的符号位采用模运算式里第一个操作数的符号位。-10%3 = -1;11%-3 = 2;
- 整数除法运算式,结果值要略去小数部分;
- 两个长度不同的数据进行位运算时,系统会自动的将两者按有段对齐,位数少的操作数会在相应的高位用0填满。
- 在always模块内被复制的每一个信号都必须定义成reg型;
问题1
wire型和reg型变量的差别是什么
- 个人理解,首先wire是网络数据类型,是不能存储数据的,要受到门或者assign语句的驱动,而reg类型数据可以存储值
- wire在没有驱动器连接的时候是高阻值z的,而reg默认为不定值x
- reg型信号总是被用于always过程块中;assign赋值的变量不能是wire类型的
运算符
- 逻辑运算符中&&和||的优先级别低于关系运算符。!高于算术运算符;
- 关系运算符的优先级低于算术运算符的优先级别;
- 两种移位运算都用0来填补移出的空位;
- 缩减运算符是将操作数的第几位和第几位进行关系运算,达到缩减的目的;
- 非阻塞赋值是always块结束后,才进行赋值
块语句
- begin…end标识的块称为顺序块;
- fork…join语句标识的块成为并行块;
- forever语句常用于产生周期性的波形,作为仿真测试信号。必须写在initial块中。