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

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

日志

【Cocotb系列】六、Cocotb验证平台时间推动及信号的采集

热度 1已有 2657 次阅读| 2021-2-21 22:51 |系统分类:芯片设计| Python, Cocotb, Cocotb

上一篇日志中有针对激励的构造做简单的介绍,对于在SV/UVM平台下,通常采用如下的示例方式:

for ( int i = 0; i < data_size; i++ ) begin

   @(posedge vif.clk);

   vif.valid <= 1'b1;    

   vif.data <= data_q[i]; 

end

通过关键词posedge等待clk上升沿,通过for循环在每个时钟上升沿去驱动interface的data和valid信号。

Cocotb平台也实现了相似的功能,如下图所示:

image.png

Edge是等待信号的双沿;RisingEdge是等待信号的上升沿;FallingEdge是等待信号的下降沿;ClockCycles是等待多次信号的上升沿。

以RisingEdge的使用为例:

image.png

line58通过RisingEdge采集clk的上升沿,line62 await到clk的上升沿后采集signal的数值,通过line63的.value属性来完成signal数值的采集。进而完成后续的处理及比对操作。

内容如有错误还请各位指正,欢迎各位读者交流经验。邮箱:xiaochuan7206043@163.com


点赞

发表评论 评论 (1 个评论)

回复 anpengfei 2021-12-2 16:31
怎么不更新了呢?

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 8

    粉丝
  • 2

    好友
  • 4

    获赞
  • 7

    评论
  • 392

    访问数
关闭

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


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

GMT+8, 2024-11-22 02:08 , Processed in 0.012160 second(s), 8 queries , Gzip On, Redis On.

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