数据类型

数据类型

内建数据类型

  • reg - 是变量类型
  • wire - 是线网类型
  • system verilog - 是verilog的新版本
  • system verilog文件都是.sv后缀的
  • DFF/latch - 对于verilog而言都是使用的reg类型
  • logic - 可以替代reg/wire
  • logic是四值逻辑,bit是二值逻辑
  • 验证环境中多为2值逻辑,设计环境中多为4值逻辑
  • int - 二值逻辑
  • integer - 四值逻辑
    例题1

  • B
    例题2
  • 有符号数赋值给为无符号数,位宽不够会扩展符号位
  • 有符号数转变为无符号数,位宽不够会高位补0
byte signed_vec = 8'b1000_0000;
bit [8:0] result_vec;
initial begin
  // 静态转换方式,目标类型+单引号
  // 在编译的时候就会完成检查
  result_vec = unsigned'(signed_vec);
end


例题

  • 四值逻辑的x或者z转到二值逻辑的时候变为0

定宽数组


  • 数组维度放在数组名右侧和左侧是有区别的
  • 数组维度写在数组名左边 - 合并型(pack),数组维度有写在数组名右边 - 非合并型(unpack)
  • 数组维度分别写在数组名两侧,右侧为高维度,左侧为低维度



  • logic是四值逻辑,在软件上要用两位进行存储,l_pack需要48bit进行存储,需要两个word
  • unpack形式 - 低维度连续存储,高维度分开,所以需要3个word

动态数组



队列

  • push_back() - 从后向前写数据
  • pop_front() - 从前面删除

关联数组

结构体

枚举类型


  • 枚举类型可以赋值给整型变量,整型不能直接赋值给枚举类型
  • 整型赋值给枚举类型需要进行类型转换

字符串


posted @ 2024-01-14 22:36  Icer_Newer  阅读(22)  评论(0编辑  收藏  举报