← TCL中文教程

推荐答案 测试一下

2 stringଁ਷

问答题 中等 笔试真题问答题

参考答案

该题考查 SystemVerilog 中 string 类型的基本用法与选项参数解析。string 是动态可变长度的数据对象,以双引号括起,支持赋值、比较(==、!=、<、>、>=、<=)、拼接({})和操作符如 tolower()、toupper() 等。特别注意:string 与 bit[7:0] 的定长数组不同,string 是引用类型(但赋值时复制内容),而 bit[7:0] 是数值向量,不能直接参与字符串函数。 对于题目中的“option arg”,可能指字符串函数的可选参数,例如 strlen()、substr(start, len)、atoi() 等,或者指函数 $sformatf 中的参数。SystemVerilog 2009 起支持字符串字面量作为参数传递,也可通过 $psprintf 格式化。 常见错误点:1) 认为 string 是定长或可以像 bit[7:0] 一样索引单个字符(实际用 getc(index));2) 混淆 string 与 wire 或 reg 类型的赋值;3) 忽略字符串比较是区分大小写的;4) 误以为字符串拼接会改变原字符串(实际返回新串);5) 将空字符串 "" 与 0 或 '0 等价。 处理此类试题应明确:string 是高级抽象类型,支持 OOP 风格方法,但综合时不可用;适用于测试平台或验证环境。若题目具体指某个函数(如 string_getc、string_toupper)的选项参数,应按 Verilog-2001 或 SV 标准回答:选项参数通常为整型常量,表示起始位置、长度等。

涉及知识点

  • string 类型是动态可变长度字符串
  • 字符串比较区分大小写
  • 字符串拼接与拷贝的区别
  • 字符串方法:strlen, substr, getc, putc
  • 字符串与定长位向量的转换
  • 选项参数在字符串函数中的使用
登录后反馈错题
下一题 →