版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
从处理单bit跨时钟域信号同步问题来入手在数字电路中,跨时钟域处理是个很庞大的问题,因此将会作为一个专题来陆续分享。今天先来从处理单bit跨时钟域信号同步问题来入手。01握手(handshake)是用来处理单bit信号的跨时钟域传递的一个有效的方法。在从快时钟向慢时钟传递时,由于输入信号变化较快,输出一侧可能跟不上输入的变化,从而导致“漏采“现象。图1“漏采”现象演示在图1中,由于两个时钟的速度差距,来自快时钟域的脉冲信号还未到达慢时钟的采样边沿便消失了,导致了“漏采”。在这种情况下,如何让脉冲信号准确无误地传递过去呢?一个方法是将脉冲信号展宽,待输出一侧检测到信号并将其解析为脉冲信号后,再向输入一侧发送应答信号,表明接收到信号并且传输完成。这个过程被称之为“握手”。02先来看一个最基本的握手协议,下边是它的电路图。图2“握手”电路演示在上图中src_clk和dst_clk分别为输入和输出侧的时钟,src_pulse为输入的脉冲信号,dst_pulse为同步到输出端的脉冲信号。可以看到,脉冲信号被同步到输出端后,输出端便立即向输入端发送了应答信号,表示收到信号。而当输出端的应答信号同步到输入端后,输入端才可以同步下一个信号。以下为这个电路的verilog描述。moduleSync_Pulse(inputwiresrc_clk,inputwiredst_clk,inputwirerst_n,inputwiresrc_pulse,outputwiredst_pulse);regreq_state_dly1,req_state_dly2,dst_req_state,src_sync_req;regack_state_dly1,src_sync_ack;wiredst_sync_ack;always@(posedgesrc_clkornegedgerst_n)beginif(rst_n==1'b0)src_sync_req<=1'b0;elseif(src_pulse)src_sync_req<=1'b1;elseif(src_sync_ack)src_sync_req<=1'b0;else;endalways@(posedgedst_clkornegedgerst_n)beginif(rst_n==1'b0)beginreq_state_dly1<=1'b0;req_state_dly2<=1'b0;dst_req_state<=1'b0;endelsebeginreq_state_dly1<=src_sync_req;req_state_dly2<=req_state_dly1;dst_req_state<=req_state_dly2;endendassigndst_sync_ack=req_state_dly2;always@(posedgesrc_clkornegedgerst_n)beginif(rst_n==1'b0)beginack_state_dly1<=1'b0;src_sync_ack<=1'b0;endelsebeginack_state_dly1<=dst_sync_ack;src_sync_ack<=ack_state_dly1;endendassigndst_pulse=dst_req_state&(~req_state_dly2);endmodule03上述电路虽然可以完整的同步信号,但是若在同步一个脉冲的过程中,输入端又接收到一个输入进来的脉冲,那么此时刚刚输入进来的脉冲将会同步失败。更糟糕的是该电路没有同步失败的反馈,导致使用者误以为正确同步了信号。鉴于此,将上述电路进行改进,当同步失败后将输出src_sync_fail信号来指示同步失败。以下为该电路的verilog描述(此代码来源于网络):modulehandshake_pulse_sync(src_clk,//sourceclocksrc_rst_n,//sourceclockreset(0:reset)src_pulse,//sourceclockpulseinsrc_sync_fail,//sourceclocksyncstate:1clockpulseifsyncfail.dst_clk,//destinationclockdst_rst_n,//destinationclockreset(0:reset)dst_pulse//destinationpulseout);//PARADECLARATION//INPUTDECLARATIONinputsrc_clk;//sourceclockinputsrc_rst_n;//sourceclockreset(0:reset)inputsrc_pulse;//sourceclockpulseininputdst_clk;//destinationclockinputdst_rst_n;//destinationclockreset(0:reset)//OUTPUTDECLARATIONoutputsrc_sync_fail;//sourceclocksyncstate:1clockpulseifsyncfail.outputdst_pulse;//destinationpulseout//INTERDECLARATIONwiredst_pulse;wiresrc_sync_idle;regsrc_sync_fail;regsrc_sync_req;regsrc_sync_ack;regack_state_dly1;regack_state_dly2;regreq_state_dly1;regreq_state_dly2;regdst_req_state;regdst_sync_ack;//--========================MODULESOURCECODE==========================--//--=========================================--//DSTClock://1.generatesrc_sync_fail;//2.generatesyncreq//3.syncdst_sync_ack//--=========================================--assignsrc_sync_idle=~(src_sync_req|src_sync_ack);//reportanerrorifsrc_pulsewhensyncbusy;always@(posedgesrc_clkornegedgesrc_rst_n)beginif(src_rst_n==1'b0)src_sync_fail<=1'b0;elseif(src_pulse&(~src_sync_idle))src_sync_fail<=1'b1;elsesrc_sync_fail<=1'b0;end//setsyncreqifsrc_pulsewhensyncidle;always@(posedgesrc_clkornegedgesrc_rst_n)beginif(src_rst_n==1'b0)src_sync_req<=1'b0;elseif(src_pulse&src_sync_idle)src_sync_req<=1'b1;elseif(src_sync_ack)src_sync_req<=1'b0;endalways@(posedgesrc_clkornegedgesrc_rst_n)beginif(src_rst_n==1'b0)beginack_state_dly1<=1'b0;ack_state_dly2<=1'b0;src_sync_ack<=1'b0;endelsebeginack_state_dly1<=dst_sync_ack;ack_state_dly2<=ack_state_dly1;src_sync_ack<=ack_state_dly2;endend//--=========================================--//DSTClock://1.syncsrcsyncreq//2.generatedstpulse//3.generatesyncack//--=========================================--always@(posedgedst_clkornegedgedst_rst_n)beginif(dst_rst_n==1'b0)beginreq_state_dly1<=1'b0;req_state_dly2<=1'b0;dst_req_state<=1'b0;endelsebeginreq_state_dly1<=src_sync_req;req_state_dly2<=req_state_dly1;dst_req_state
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急性胸主动脉夹层评估与管理指南
- 云南国防工业职业技术学院《国防科技概论》2024-2025 学年第一学期期末试卷(特色课程)
- 边境管理知识课件
- 2026年移动出行装备电商项目营销方案
- 2026年酒品真伪鉴定笔项目营销方案
- 2026年量子计算 药物分子模拟项目公司成立分析报告
- 黏土玫瑰课件
- 2026年保护生态环境的倡议书范文结合
- IT项目管理实操经验分享
- 幕墙安装人员培训
- BIM标准管线综合BIM指南
- 《MH-T7003-2017民用运输机场安全保卫设施》
- 阅读存折模板(一年级)
- 如何应对无信号灯控制的路口
- 眼科白内障“一病一品”
- FSSC22000V6.0体系文件清单
- 支座的铸造设计
- 竣工决算服务方案模版
- 集团下属单位收益管理办法
- 股骨粗隆间骨折(半髋关节置换)临床路径说明
- GB/T 7267-2015电力系统二次回路保护及自动化机柜(屏)基本尺寸系列
评论
0/150
提交评论