首页 > 其他分享 >XPM_CDC_PULSE

XPM_CDC_PULSE

时间:2024-10-23 15:20:39浏览次数:3  
标签:src 脉冲 XPM clk dest CDC PULSE pulse rst

免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。

读者在使用本文信息时,应自行验证其准确性和适用性,并对其使用结果负责。本文内容不构成专业技术咨询或建议,具体的技术实现和应用应根据实际情况和需要进行详细分析和验证。

本文所涉及的任何商标、版权或其他知识产权均属于其各自的所有者。若本文中引用了第三方的资料或信息,引用仅为学术交流目的,不构成对第三方内容的认可或保证。

若有任何疑问或需进一步信息,请联系本文作者或相关专业人士。


前言

本期介绍第六个Xilinx FPGA跨时钟域原语XPM_CDC_PULSE


一、Introduction

  • 脉冲同步:这个宏用于将一个脉冲信号从源时钟域同步到目标时钟域。脉冲是一种短暂的信号,只有在源时钟域正确启动时,才能在目标时钟域生成一个周期的脉冲信号。

  • 脉冲大小:无论源时钟域中的脉冲大小如何(脉冲的持续时间),在目标时钟域中最终生成的脉冲总是目标时钟的一个周期。也就是说,这个宏将源时钟域中的脉冲 "压缩" 为目标时钟域中的一个单周期脉冲。

  • 采样要求:为了确保正确操作,输入脉冲信号必须被目标时钟域采样两次或更多次。这通常通过多级寄存器来实现,用于消除时钟域之间的不确定性,避免亚稳态现象。

  • 寄存器阶段:可以定义用于同步的寄存器级数,类似于标准的 CDC 同步机制。更多的寄存器级数可以提供更高的稳定性,但会带来额外的延迟。

  • 复位信号:该宏支持可选的源和目标复位信号,能够在必要时复位脉冲传输逻辑,确保整个传输链在启动或复位时处于已知状态。

  • 脉冲输入间隔:在源时钟域中,任何两个连续脉冲信号之间必须有一个最小的时间间隔。这个间隔的最小值为 2×max(src_clk period,dest_clk period)
  • 生成目标脉冲:确保在每个 src_pulse 的上升沿都能生成一个等于一个目标时钟周期(dest_clk period)的脉冲。这意味着脉冲的同步过程是可靠的,不会出现丢失或错误的脉冲。

  • 保证稳定性:这个最小间隔的要求有助于防止亚稳态现象的发生,并确保每个脉冲能够被目标时钟域正确采样和处理。

  • 同时复位:这两个复位信号必须同时被激活(asserted),以确保逻辑电路的同步复位。

  • 持续时间要求:复位信号需要保持激活状态的最小时间为:

    ((DEST_SYNC_FF+2)×dest_clk_period)+(2×src_clk_period)

二、使用方法

module xpm_test(
input         dest_clk    ,
input         dest_rst    ,
input         src_clk     ,
input         src_pulse   ,
input         src_rst     ,
output        dest_pulse   
    ); 
    
   xpm_cdc_pulse #(
      .DEST_SYNC_FF(2),   // DECIMAL; range: 2-10
      .INIT_SYNC_FF(1),   // DECIMAL; 0=disable simulation init values, 1=enable simulation init values
      .REG_OUTPUT  (0),     // DECIMAL; 0=disable registered output, 1=enable registered output
      .RST_USED    (1),       // DECIMAL; 0=no reset, 1=implement reset
      .SIM_ASSERT_CHK(0)  // DECIMAL; 0=disable simulation messages, 1=enable simulation messages
   )
   xpm_cdc_pulse_inst (
      .dest_pulse(dest_pulse), 
      .dest_clk  ( dest_clk ),     
      .dest_rst  ( dest_rst ),    
      .src_clk   ( src_clk  ),       
      .src_pulse ( src_pulse),   
      .src_rst   ( src_rst  )
   );

三、仿真

module TB();
    
reg    dest_clk   ;
reg    dest_rst   ;
reg    src_clk    ;
reg    src_pulse  ;
reg    src_rst    ;
wire  dest_puls   ; 


initial begin
dest_clk     = 0;
src_clk      = 0;
dest_rst     = 0;
src_rst      = 0;
src_pulse    = 0;

#100
dest_rst     = 1;
src_rst      = 1;
#100
dest_rst     = 0;
src_rst      = 0;

#100
src_pulse    = 1;
#100 
src_pulse    = 0;

#100
src_pulse    = 1;
#100 
src_pulse    = 0;


end

always #5   dest_clk = ~dest_clk;
always #2.5 src_clk  = ~src_clk;



xpm_test tp0(
.  dest_clk  ( dest_clk  ),
.  dest_rst  ( dest_rst  ),
.  src_clk   ( src_clk   ),
.  src_pulse ( src_pulse ),
.  src_rst   ( src_rst   ),
.  dest_pulse( dest_puls )
    ); 




endmodule


总结

再见

标签:src,脉冲,XPM,clk,dest,CDC,PULSE,pulse,rst
From: https://blog.csdn.net/qq_52538756/article/details/143180624

相关文章

  • SciTech-AV-Audio-Coding-PCM(Pulse Code Modulation)-脉码编码调制: 无压缩-无损编码
    SciTech-AV-Audio-DAP(DigitalAudioProcessing)-LoudnessNormalization(响度规范化):PerceivedLoudness+RMS(RootMeanSquare)PCM(PulseCodeModulation)也被称为脉码编码调制,PCM的声音数据没有被压缩,它是由模拟信号经过Sampling、Quantilization、Code转换成的标......
  • [数据集成/数据同步] 基于数据库增量日志的数据同步方案 : Flink CDC/Debezium/DataX/
    1概述简述:CDC/增量数据同步CDC的全称是ChangeDataCapture(增量数据捕获)在广义的概念上,只要能捕获数据变更的技术,我们都可以称为CDC。我们目前通常描述的CDC技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC的技术实现方案基于查询......
  • DCDC电源设计工具(软件)(一)—— WEBENCH(TI)
    目录一、简介二、在线链接三、设计界面介绍1、首界面2、芯片选择或芯片选型界面3、根据参数选择芯片及设计(1)参数输入界面(2)芯片选型界面(3)根据具体芯片型号选择设计   ①、芯片选择及参数输入界面        ②、TPS54331电源设计详情四、验证设计五、软......
  • 利用 Flink CDC 实现实时数据同步与分析
    1.概述1.1简要介绍什么是FlinkCDC(ChangeDataCapture)FlinkCDC(ChangeDataCapture)是一种用于实时捕获和处理数据库中数据变更的技术。它通过监控数据库的变更事件,将这些事件转化为流式数据,使得数据处理系统(如ApacheFlink)能够以流的方式实时处理和分析数据。FlinkC......
  • Flink CDC介绍:基于流的数据集成工具
    FlinkCDC是一个基于流的数据集成工具,旨在为用户提供一套功能更加全面的编程接口(API)。该工具使得用户能够以YAML配置文件的形式,优雅地定义其ETL(Extract,Transform,Load)流程,并协助用户自动化生成定制化的Flink算子并且提交Flink作业。FlinkCDC在任务提交过程中......
  • DCDC 150V耐压 LED恒流IC-H6912 2.6v3.7v5v9v升压12V24V36V48V60V72V 补光灯芯片方案
    H6912:高性能DCDC升压恒流芯片,LED照明方案在LED照明领域,一款驱动器是光源稳定性。今天,我们要为大家分享惠海推出的H6912-DCDC升压恒流芯片——一款LED照明设计的高性能驱动器。H6912以其高精度恒流效果著称,输出电流恒流精度≤±3%,有效LED光源的稳定性和一致性,避免了因电流波动导致......
  • paimon flink cdc 整库同步
    --单表同步bin/flinkrun/opt/module/flink/opt/paimon-flink-action-0.9.0.jarmysql-sync-table--warehousehdfs://xx:8020/paimon/hive--databasedefault--tableuser1_sink--primary-keysid--mysql-confhostname=xx--mysql-confusername=xx--mysql-conf......
  • 如何基于Flink CDC与OceanBase构建实时数仓,实现简化链路,高效排查
    本文作者:阿里云FlinkSQL负责人,伍翀,ApacheFlinkPMCMember&Committer众多数据领域的专业人士都很熟悉ApacheFlink,它作为流式计算引擎,流批一体,其核心在于其强大的分布式流数据处理能力,同时巧妙地融合了流计算与批计算的能力,因此成为了众多企业在进行流式计算业务时的首......
  • Flink-cdc丢失数据排查
    一、获取任务信息任务id:i01f51582-d8be-4262-aefa-000000任务名称:ods_test1234丢失的数据时间:2024-09-1609:28:47 二、数据同步查看日志1、筛选日志筛选2024-09-1609:28:47到5分钟后数据2、查找快照id,筛选内容Committedsnapshot7258609197164498019(BaseRowDelt......
  • 光伏储能直流系统MATLAB仿真(PV光伏阵列+Boost DCDC变换器+负载+双向DCDC变换器+锂离子
     ......