边沿检测电路及代码

//边沿检测
module cy4(
   input signal,
   input clk,
   input rst_n,
   output nege_dge,
   output pose_dge
   );
reg reg_0,reg_1,reg_2;
always @(posedge clk or negedge rst_n)
if(!rst_n)
  begin
    reg_0 <= 0;
    reg_1 <= 0;
    reg_2 <= 0;
  end
else
  begin
    reg_0 <= signal;
    reg_1 <= reg_0;
    reg_2 <= reg_1;
  end
assign nege_dge = ~reg_1 & reg_2;
assign pose_dge = ~reg_2 & reg_1;

endmodule这里写图片描述

测试脚本代码:

`timescale 1 ns/ 1 ps
module cy4_vlg_tst();

reg eachvec;
// test vector input registers
reg clk;
reg rst_n;
reg signal;
wire nege_dge;
wire pose_dge;
cy4 i1 (

.clk(clk),
.nege_dge(nege_dge),
.pose_dge(pose_dge),
.rst_n(rst_n),
.signal(signal)

);
initial
begin
clk = 0;
rst_n = 0;
signal = 0;

100;

rst_n = 1;

signal = 1;

100;

stop; s t o p ; display(“Running testbench”);
end
always #200 clk = ~clk;
endmodule

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值