sjt*_*eri 4 string verilog system-verilog
我需要在 Verilog 模拟中对字符串执行基本操作,例如连接、替换和比较。怎么可能?有内置支持吗?
提前致谢。
小智 5
Verilog 中没有字符串数据类型,但 verilog 支持字符串文字并将其用作字节向量。这是规范中的示例:
module string_test;
reg [8*14:1] stringvar;
initial begin
stringvar = "Hello world";
$display ("%s is stored as %h", stringvar,stringvar);
stringvar = {stringvar,"!!!"};
$display ("%s is stored as %h", stringvar,stringvar);
end
endmodule
Run Code Online (Sandbox Code Playgroud)
由于字符串使用 reg 数据类型,因此您可以使用普通运算符来操作它们,请记住每个字符使用 8 位。
5.2.3.1 字符串操作
Verilog HDL 运算符支持常见的字符串操作复制、连接和比较。通过简单的分配来提供副本。串联由串联运算符提供。比较由相等运算符提供。当操作向量寄存器中的字符串值时,寄存器应至少为 8*n 位(其中 n 是 ASCII 字符的数量),以便保留 8 位 ASCII 代码。
如果您需要搜索等操作,则必须编写一些任务或函数。
| 归档时间: |
|
| 查看次数: |
29553 次 |
| 最近记录: |