Vivado 2016.2模拟器不支持System Verilog $ cast或$ sformatf

问题描述:

使用Vivado 2016.2模拟器我需要在System Verilog中将一个int值转换为字符串,但不支持$ cast和$ sformatf。还有什么其他函数或方法可用于我成功地将int型转换为字符串?

主要有以下几种其他方式

string s; 
int i; 

s.itoa(i); // converts int to decimal string 
$swrite(s,"%d",i); 
$sformat(s,"%d",i); 

如果没有适合你的工作,那么你就需要写一个二进制自己十进制转换例程。

+0

$ sformat完成这项工作,虽然它有点古怪,但我可以使它适合我的需求。谢谢! – Bdog