jacklog的个人空间 https://blog.eetop.cn/1048477 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

【sv】两种文件句柄以及输入交互

热度 1已有 58 次阅读| 2024-12-23 10:52 |系统分类:芯片设计

svn中有mcd(multi_channel_descriptor)和fd两种文件句柄,都是32bit的值。

二者通过MSB(bit 31)彼此 区分,mcd的31bit为0,fd的最高bit为1

如果打开文件时使用$fopen("filename","type")的形式则返回的是fd。如果沈略type既$fopen("filename")则系统返回的是mcd,且文件是写模式。

mcd的每一个bit对应一个打开的文件,而fd是每一值对应一个打开的文件。这造成可以通过mcd同时向多个文件写入,而fd则只能同时对一个文件进行读写。

   如:

      mcd1 = $fopen("file1");

     mcd2 = $fopen("file2");

    则$fwrite(mcda|mcd2, "abc");可以向file1 file2 同时写入“abc”

此外mcd有一个保留值‘h00000001 表示STDOUT(屏幕输出)

fd有三个保留值‘h80000000 (STDIN) ‘h80000001 (STIOUT) ‘h80000002 (STDERR)


其中可以通过‘h80000000这个保留fd实现sv的输入交互。

比如通过$fsacnf('h80000000,"%s",str);就可以在仿真时获取键盘输入。

虽然验证环境在仿真时几乎不需要键盘交互,但在一些平台调试过程中该功能却能提供一些便利

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 2

    周排名
  • 0

    月排名
  • 0

    总排名
  • 2

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 1

    评论
  • 64

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 21:25 , Processed in 0.022213 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部