pulse_synchronizer(异步信号处理)程序理解

本地地址:E:/FPGA/NetFPGA/project_top/src_for_graduate/big_fpga/gemac_group/pulse_synchronizer.v
///
// $Id: pulse_synchronizer.v 1887 2007-06-19 21:33:32Z grg $
//
// Module: pulse_synchronizer.v
// Project: UNET-SWITCH4-64bit-wbs
// Description: transforms a pulse(脉冲) from one domain(
领域,范围,范畴 ) into a pulse in another domain
//              note that the arriving pulses should be separated by around 5 cycles
//              in each domain.
//
///
`timescale 1ns/1ps
  module pulse_synchronizer
    ( input pulse_in_clkA,                            //输入脉冲A
      input clkA,                                     //输入时钟A
      output pulse_out_clkB,                          //输出脉冲
      input clkB,                                     //输入时钟B
      input reset_clkA,                               //输入时钟A复位信号
      input reset_clkB                                //输入时钟B复位信号
      );

   reg      ackA;                                     //
   reg      ackB;                                     //

   reg      ackA_synch;
   reg      ackA_clkB;
   reg      ackB_synch;
   reg      ackB_clkA;

   reg      pulse_in_clkA_d1;
   reg      ackA_clkB_d1;
   reg      ackB_d1;

   /* detect rising edges in clkA domain, set the ackA signal
    * until the pulse is acked from the other domain */
   always @(posedge clkA) begin
      if(reset_clkA) begin
         ackA <&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值