【testbench相关疑惑】关于C代码中的printf打印

2020-04-30 14:59:39
2
138

在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息:

 

 

CPU验证小白一枚,有个问题不是很理解:黄色框框内的字符看起来应该是C代码中的printf语句打印的,那么C代码中的printf打印是如何能被VCS这些仿真工具打印出来的?

 

我比较容易理解的方式是:

编译器将C代码中printf编译成某些写外设的指令,如UART,这样testbench在UART端口可以sample到输出信号,进而解析这些信号,以字符串形式再输出。

 

通过阅读testbench源码,并没有发现能支撑我这种理解的代码片段。

因此有些困惑,请专家解答下,谢谢~

用户评论 (2)
  • zixin

    2020-05-06 14:10:59 zixin 1#

    XQS0927

    你理解的很对。

    不过不在testbench里,在uart模块里呢。详情请见sirv_uarttx.v,通过调用$fwrite函数实现的。

    找到了,非常感谢;)

  • XQS0927

    2020-05-06 13:48:22 XQS0927 2#

    你理解的很对。

    不过不在testbench里,在uart模块里呢。详情请见sirv_uarttx.v,通过调用$fwrite函数实现的。

关注我们

微信扫码登录 点击刷新二维码