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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: dlbasin

如何检测信号的上升沿?

[复制链接]
发表于 2009-6-5 03:55:53 | 显示全部楼层

上升沿检测

//上升沿检测模块,要求信号保持时间在一个clock周期以上
module rising_edge_check(clock, signal, rising_flag);
    input clock;
    input signal;//input signal
    output rising_flag;//rising edge flag
reg [2:0] temp=3'b000;
always @(posedge clock)
  temp<={temp[1:0],signal};
assign rising_flag=(temp[1:0]==2'b01)?1'b1:1'b0;
endmodule
//testbench
module test_rising_edge_check_v;
// Inputs
reg clock;
reg signal;
// Outputs
wire rising_flag;
// Instantiate the Unit Under Test (UUT)
rising_edge_check uut (
  .clock(clock),
  .signal(signal),
  .rising_flag(rising_flag)
);
initial begin
  // Initialize Inputs
  clock = 0;
  signal = 0;
  // Wait 100 ns for global reset to finish
  #100;
        
  // Add stimulus here
  signal=1;
  #500;
  signal=0;
  #500;
  signal=1;
  #200;
  signal=0;
  #100;
  signal=1;
  #300;
  signal=0;
end
   always #100 clock=~clock   ;
endmodule
发表于 2009-6-6 15:46:51 | 显示全部楼层
temp<={temp[1:0],signal};
请问这条语句是什么意思
发表于 2009-6-7 11:17:36 | 显示全部楼层

还是有收获的

还是有收获的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 10:48 , Processed in 0.015510 second(s), 6 queries , Gzip On, Redis On.

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