在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1770|回复: 0

编写验证程序的时候,遇到了一些问题,请教大侠!!

[复制链接]
发表于 2005-6-3 00:26:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在编写验证程序的时候,遇到了一些问题,想向大家请教,问题如下:
1、就是 always @ ( sensitive list )
        begin
           if ( condition 1)
             begin
                if(condition2)
                  begin
                    Part A
                  end
                else
                  begin
                     Part B
                  end
             end
       end
在这样的过程块中,请问condition 1如果是沿触发如 if(a== 1&& a_d == 0),假设a的初始值为0,sensitive list是一个时钟信号的上升沿:posedge clk, 在程序的执行过程中,a有一个时钟周期值为1,然后隔很长的时间a又有一个时钟周期值为1,a_d为a延迟一个周期后的信号
备注: a信号不是由clk来同步的,而是由一个比clk频率低很多的时钟来赋值的
这样的话, 如果在一个时钟上升沿时满足第一个IF后的条件condition 1并且满足第二条件if(ondition 2), ondition 2只在第一个a信号的上升沿条件时是有效的,从a的第二个上升沿开始, if(condition 2) 都不成立拉, 那么紧接着的下一个时钟肯定不会满足的condition 1的,因为condition 1 的周期很长的
这时是不是在下一个时钟的上升沿就不执行if(condition 1)后面的程序了呢?  还是会继续执行if(condition 1)下面的if(condition 2)里面的程序,直到第二个a的上升沿的到来,然后跳出if(condition 2),执行else后面的程序呢?
  备注:part A是一个嵌套调用,就是说可以执行很长时间的

2、就是在写验证程序的时候,always @ ( posedge clk )
                          begin
                                 @(negedge flag_n)
                                    begin
                                        part A
                                     end
                           end 可以这样写么?可以在always @ ( posedge clk )里面再包括一个  @(negedge flag_n)么?备注:flag_n是一个周期性信号,相对clk来说周期很长的,非常长的。
补充:给flag_n赋值的时钟不是clk,而是一个比clk频率低很多时钟  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-18 09:30 , Processed in 0.020778 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表