IEEE standard for verilog (4)

  • 4.Expressions
    • 4.1 operators
      • 4.1.8 Equality operators
      • 4.1.10 bit-wise(按位) operators
      • 4.1.11 Reduction operators
      • 4.1.12 shift operators
      • 4.1.13 Conditional operators
      • 4.1.14 concatenations
    • 4.2 Operands
      • 4.2.1 Vector bit-select and part-select addressing
      • 4.2.2 Array and memory addressing
      • 4.2.3 Strings
    • 4.3 Minimum, typical,and maximum delay expressions
    • 4.4 Expression bit lengths
      • 4.4.1 Rules for expression bit lengths
      • 4.4.2 An example of an expression bit-length problem
      • 4.4.3 Example of self-determined expressions
    • 4.5 Signed expressions
      • 4.5.1 Rules for expression types
      • 4.5.2 steps for evaluating an expression
      • 4.5.3 Steps for evaluating an assignment
      • 4.5.4 Handling X and Z in signed expressions

4.Expressions

ieee verilog 2001的阅读笔记

4.1 operators

4.1.8 Equality operators


项目 Value
a===b a与b相等包括x与z的状态
a!==b a与b不相等包括x与z的状态

4.1.10 bit-wise(按位) operators

x与z的操作结果与x的操作结果相同

4.1.11 Reduction operators


项目 Value
^ xor 异或 odd number 1 set
~^ xnor 同或 even(偶数) number 1 set

4.1.12 shift operators

有逻辑移位操作 “<<”,“>>” 算术移位操作 “>>>”,“<<<”
算术移位操作右移时根据最高位的值进行填充

4.1.13 Conditional operators

条件运算符也叫(ternary)三目运算符.如果表达式1的结果是模糊值(ambiguous value)x,z那么结果是表达式2和表达式3的组合值。组合值按位组合相同则输出相同值(除开z),不同则输出未知x。如果位数不相等则更短的数高位进行0扩展。

4.1.14 concatenations

concatenations连接运算符,以commas逗号分隔。表达式的第一项应该非0,非未知x,非高阻z。未知大小的数字不允许出现在连接运算符中。{a,b}

4.2 Operands

4.2.1 Vector bit-select and part-select addressing

bit-select中如果位选择的地址范围超过大小或者地址是X或者Z那么返回的值是x。part-selects中选择几个contiguous相邻的位。

vect[msb_expr:lsb_expr]

向量的part-select

reg [15:0]big_vect;
reg [0:15]little_vect;big_vect[lsb_base_expr +:width_expr]
little_vect[msb_base_expr +:width_expr]big_vect[msb_base_expr -:width_expr]
little_vect[lsb_base_expr -:width_expr]

位宽表达式必须为常量width_expr,base_expr位基表达式可以运行时变化

4.2.2 Array and memory addressing

申明一个位宽为8长度为1024的数组

reg [7:0] mem_name[0:1023]

多维数组

wire threed_arry[0:255] [0:255] [0:7]

4.2.3 Strings

操作符会把字符串当做数值进行操作。字符串对应一个8位的ASCII码。
1.string opeerations:有复制、拼接、比较三种操作对应赋值、拼接、等号操作符。
2.String value padding and potential problems:字符串进行赋值操作会进行0填充最高位会影响拼接与比较的结果。
3.NUll string handing:空字符串(" ")的值等于ASCII NULL(“\0”)其值为0.

4.3 Minimum, typical,and maximum delay expressions

延迟表达式可以定义为3种表达式通过colons(冒号)分隔包围在parentheses(括号中)

(a:b:c)  min:typ:max

4.4 Expression bit lengths

处理在运算时结果的位数是未知的情况。

4.4.1 Rules for expression bit lengths

self-determined expression:表达式的位长仅仅由表达式自身决定
context-determined expression:由表达式的位长以及另一个表达式的结果。

4.4.2 An example of an expression bit-length problem

在对一个表达式进行评估时,interim(临时)的结果采用最大操作数的结果。

4.4.3 Example of self-determined expressions

4.5 Signed expressions

返回的值与表达式相同位宽相同类型由函数确定

$signed()   regS= $signed(4'b1100) regS = -4
$unsigned() regA = $unsigned(-4) regA=4'b1100

4.5.1 Rules for expression types

实数通过类型强制(coercion)转换到整数是有符号的。

4.5.2 steps for evaluating an expression

只有操作数是有符号类型的才进行有符号拓展

4.5.3 Steps for evaluating an assignment

只有表达式右值是有符号类型才进行有符号的拓展

4.5.4 Handling X and Z in signed expressions

有符号操作数被拓展成更大的有符号数时有符号位为X

IEEE standard for verilog (Expressions)相关推荐

  1. 【ZYNQ】从入门到秃头05 LED闪烁实验 按键控制LED实验Verilog(PL)

    文章目录 LED闪烁实验Verilog(PL) 硬件设计 程序设计 创建Verilog HDL文件 编写Verilog 添加管脚约束 添加时序约束 生成BIT文件 Vivado仿真 下载 按键控制LE ...

  2. IEEE TRANSACTIONS ON MULTIMEDIA(TMM) 投稿经验

    期刊名:IEEE TRANSACTIONS ON MULTIMEDIA(TMM) 影响因子:6.05.: 中科院一区Top期刊. 一审时间:两个月 大修:四个审稿人,六周修改时间.回复信写了20页单栏 ...

  3. 第三章 硬件描述语言verilog(一)

    文章目录 第三章 硬件描述语言verilog 第1节 Verilog语言的历史 第2节 综合和仿真 2.1 综合 2.2 仿真 2.3 可综合设计 第3节 模块结构 3.1 模块介绍 3.2 模块名和 ...

  4. ASIC-WORLD Verilog(2)FPGA的设计流程

    写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的这套verilog教程即是其一.这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的 ...

  5. 【汇编语言与计算机系统结构笔记03】浮点数的计算机表示,IEEE 754,舍入(rounding),C语言中的浮点数

    本次笔记内容: 04.浮点数的计算机表示 文章目录 IEEE的浮点数标准 IEEE的754标准 浮点数示例 计算机中浮点数二进制表示 浮点数的类型 规格化浮点数(Normalized) 规格化浮点数示 ...

  6. IEEE期刊论文格式(一)

    说明:主要是根据IEEE期刊模板而来. 如果是word文档,可以在IEEE的word模版上就行填入即可.不需要修改文章字体字号.如果是latex进行论文写作,也不能在latex中修改字体及字号等.如果 ...

  7. 关于IEEE 754双精度浮点数(double)

    关于IEEE 754标准下的浮点数 (全文以64位为例,规定64位中包括1位符号位,11位阶码和52位尾数) 1.符号位 没什么可说的,一位,分正负罢了. 2.阶码 阶码由于偏移量的存在,其值会被加上 ...

  8. ASIC-WORLD Verilog(1)一日Verilog

    写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的这套verilog教程即是其一.这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的 ...

  9. system verilog(降龙十八掌)

    第一式:开启多个线程 SV--线程及线程间的通信(一) · 大专栏 (dazhuanlan.com)https://www.dazhuanlan.com/idadai/topics/1523517 i ...

  10. FPGA基础设计(10)Verilog行为级建模(过程赋值)

    目录 1.过程赋值 1.1 特性1 1.2 特性2 2.过程连续赋值 3.case语句 3.1 do-not-cares 3.2 常数case 4.循环语句 5. 过程块 5.1 零延迟无限循环 5. ...

最新文章

  1. 用Hadoop进行分布式并行编程
  2. 1. 列维过程的混沌及可料表示(1)
  3. 数学--数论-多重集排列组合与母函数
  4. python二维游戏编程 最强大脑游戏_看完《最强大脑》,我决定用Python做这个游戏...
  5. mschart走势图 vc_在VC++中使用MSChart表格控件(小结)
  6. emu8086:汇编语言复制数组案例
  7. Android 关于定位中的那点事(GPS,GPGGA,NMEA-0183,RTCM)
  8. 苹果电脑安装计算机一级,苹果电脑安装Win10系统的详细步骤
  9. 小牛各个版本的限速破解方式-适用N1/M1/N1s----附加转向灯提示音修改
  10. linux环境下hadoop版本的升级、更换
  11. I Sold Out for the Cash - 2022/8/10
  12. python如何登录并爬取获得百度指数统计图数据
  13. python arp协议分析_通过python对本局域网进行ARP扫描获取MAC
  14. 【博学谷学习记录】超强总结,用心分享 | 狂野大数据 | 环境 | hive搭建
  15. php 数组 时间戳排序,php – 按时间戳排序Summed Collection
  16. python超市管理系统实训报告_超市管理系统实验报告范文
  17. 高一职上册计算机技能考试,职高数学高一基础模块上册
  18. 【网络进阶】网络问题排查实例集锦(实战经验分享)
  19. ArcGIS API for javascript开发笔记 —— 地图打印
  20. 微记账软件-站立会议07

热门文章

  1. 使用虚拟机安装操作系统可能出现的问题
  2. 魔兽顶级装备如何打造各个职业最强装备包括宝石和全身附魔
  3. JSON日期时间的处理
  4. P2906 [USACO08OPEN]牛的街区Cow Neighborhoods
  5. 组合优化问题的典型事例
  6. 连续优化、离散优化、组合优化、整数优化和凸优化
  7. 阿里云mysql勒索病毒处理_勒索病毒数据库恢复
  8. 长方形内正方形Square
  9. 大数据的十大应用领域
  10. 计算机中我的云文档在哪儿里,wps云文档可以删除吗在哪里删除