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

  • 相关阅读:
    SuperSocket框架中BinaryRequestInfo协议的使用
    UIImageView学习笔记
    UITextField学习小结
    Java数据结构相关类的实现原理
    Android 中把尺寸转换方法
    Win8 & WP8.1 轻型数据库
    隐私策略
    Windows 10(UWP)开发技巧
    【UWP】FFmpeg库的编译
    【UWP】拖拽列表项的排序功能实现
  • 原文地址:https://www.cnblogs.com/cornhill/p/4018589.html
Copyright © 2011-2022 走看看