Menu Close

Verilog 字符串操作-$swrite,$sformat

在verilog 仿真中,有时我们得到的是字符串,而且想把字符串转换为16进制数据。同理,有时,我们需要包16进制数据转换为字符串格式。比如我们读取一个文本文件,得到的数据为字符数据。而仿真中,却需要使用的是16进制数据,当然如果能得到16进制数据,相应的10进制,2进制数据也是同样可以得到的。这时,我们就会需要使用verilog的系统函数$swrite, $sformat 来进行转换了,这一点好像c语言中的itoa, atoi 等函数的操作了。

$swrite 使用

$swrite(<reg>, <format_str>, <arg>);

没有返回值
file_desc:为打开的文件句柄
operation_number:定位文件指针的位置。 0,文件的起始位置;1,文件的当前位置; 2 文件结束的位置。

按顺序将字符串写入到reg中。

fsafas

 

 

 

$sformat 使用

<len> = $sformat(<reg>, <format_str>, <arg>);

integer:定义整型变量,用于$fseek的返回值。如果$fseek成功执行,返回0; $fseek执行失败,返回-1。
file_desc:为打开的文件句柄 
file_desc:为打开的文件句柄 
operation_number:定位文件指针的位置。 0,文件的起始位置;1,文件的当前位置; 2 文件结束的位置。

从文件中定位读写指针的位置,根据文件的参

 

fasfda

 

 

Posted in FPGA, FPGA 教材教案, Verilog, Verilog, 教材与教案, 文章

发表回复

相关链接