0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于打拍优化时序你真的全面了解吗?

FPGA之家 来源:CSDN技术社区 作者:数字芯片实验室 2021-04-27 14:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果你参加过IC校招面试,自然会被问到“setup/hold的概念,以及setup/hold违例怎么办?”

这时候,你肯定会立马在脑海中从打拍或者插buffer两个答案中选一个。但是在实际项目中,往往没有这么简单。举一个实际的场景:

2d1e480e-a67f-11eb-aece-12bb97331649.png

AXI master和AXI slave这一簇信号出现setup时序违例怎么办?

1、从AXI master 到AXI slave 出现setup违例;

2、从AXI slave 到AXI master出现setup违例;

3、两者都出现setup时序违例。

所以AXI master和AXI slave之间的打拍会存在4中模式:

Forward Registered :对valid和payload路打拍

Backward Registered :对ready路打拍

Fully Registered :同时对valid/payload路和ready路打拍

Pass Through Mode:Bypass,均不打拍

这个问题没那么容易或者说不能够直接打拍,是因为这一簇信号遵循valid-ready协议,需要打拍的信号间存在时序的耦合

所以问题就简化成如何在遵循valid -ready协议的master和slave 之间完成“打拍”,或者说在打拍的同时处理valid-ready协议。

Forward Registered

2d2f1292-a67f-11eb-aece-12bb97331649.png

always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) valid_dst 《= 1’d0; else if (valid_src == 1‘d1) valid_dst 《= #`DLY 1’d1; else if (ready_dst == 1‘d1) valid_dst 《= #`DLY 1’d0;end always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) payload_dst 《= ’d0; else if (valid_src == 1‘d1 && ready_src == 1’d1) payload_dst 《= #`DLY payload_src;end ready_src = (~valid_dst) | ready_dst

2e3ed10e-a67f-11eb-aece-12bb97331649.png

现在来分析下上述Forward Registered 打拍代码的几个输出端口

valid_dst:在master发请求(拉高valid_src)时拉高valid_dst,直到当前master没有valid请求并且slave可以接收请求(拉高ready_dst)时拉低valid_dst,表示一次传输完成。

payload_dst:在master发请求(拉高valid_src),并且前面没有请求、请求已经被接收或者正在被接收时将payload_src打拍赋给payload_dst。

其实master本身也会遵循valid-ready协议,payload_src和valid_src做同样处理就行,即也可以在(valid_src == 1‘d1 && ready_src == 1’d0)时进行赋值,因为此时payload_src输入应该约束保持原始数据。

ready_src:register slice或者slave可以接收数据时拉高ready_src.

Backward Registered

2e49a4b2-a67f-11eb-aece-12bb97331649.png

always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) valid_tmp0 《= 1’d0; else if (valid_src == 1‘d1 && ready_dst == 1’d0 &&valid_tmp0 == 1‘d0) valid_tmp0 《= #`DLY 1’d1; else if (ready_dst == 1‘d1) valid_tmp0 《= #`DLY 1’d0;end always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) payload_tmp0 《= ’d0; else if (valid_src == 1‘d1 && ready_dst == 1’d0 &&valid_tmp0 == 1‘d0) payload_tmp0 《= #`DLY payload_src;end assign payload_dst = (valid_tmp0 == 1’d1) ?payload_tmp0 : payload_src; always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) ready_src 《= 1’d0; else ready_src 《= #`DLY ready_dst;end

Backward Registered 打拍相比较Forward Registered 会复杂点,因为存在slave没有ready时master发来请求,需要暂存payload的场景。

2e73e8d0-a67f-11eb-aece-12bb97331649.png

现在来分析下上述Backward Registered打拍代码的几个输出端口:

ready_src:对ready通路直接进行打拍。

valid_dst:当slave没有ready,master发来请求时拉高标志位valid_tmp0,表示下一次slave准备好之后应该从register slice内暂存的payload拿数据

payload_dst:当slave没有ready,master发来请求时暂存payload到payload_tmp。最终的payload_dst根据标志位valid_tmp0从payload_tmp和payload_src之间选择

Fully Registered

类似于,简单理解就是个乒乓BUFFER,使用非空信号做valid_dst;payload的非满信号做ready_src

Pass Through Mode

直接相连

通过上述分析,可以使用register slice mode参数化的库,在后端要求AXI BUS打拍时直接调用,而无需重复造轮子。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IC
    IC
    +关注

    关注

    36

    文章

    6267

    浏览量

    184316
  • 时序
    +关注

    关注

    5

    文章

    403

    浏览量

    38629
  • Setup
    +关注

    关注

    0

    文章

    30

    浏览量

    12386
  • MASTER
    +关注

    关注

    0

    文章

    111

    浏览量

    12112

原文标题:打拍优化时序不像听起来那么简单

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数字IC/FPGA设计中的时序优化方法

    在数字IC/FPGA设计的过程中,对PPA的优化是无处不在的,也是芯片设计工程师的使命所在。此节主要将介绍performance性能的优化,如何对时序路径进行优化,提高工作时钟频率。
    的头像 发表于 12-09 10:33 2564次阅读
    数字IC/FPGA设计中的<b class='flag-5'>时序</b><b class='flag-5'>优化</b>方法

    网络接口:数字世界的“门铃”,了解多少?

    ,还能为选择适合的网络解决方案奠定基础。在万物互联的时代,这些基础知识显得愈发重要。 希望这篇简单的介绍能帮助大家对网络接口有基本的了解。我始终相信,了解技术细节能让客户做出更明智的选择。如果有更多
    发表于 11-26 18:53

    vivado时序分析相关经验

    存在不满足时序要求的逻辑级数。逻辑级数过多一般可以通过插入寄存器打拍子,分割冗长的组合逻辑。 线延时较长时,一般是因为扇出较大。 ”report_high_fanout_nets
    发表于 10-30 06:58

    NVMe高速传输之摆脱XDMA设计16:TLP优化

    TLP的tag最大为3。图1TLP读处理优化时序样例图 在对应图1中第1、2行时序的低性能处理模式下,同一时间只能处理一个读事务,并且不带有outstanding能力,此时从接收到读请求到成功响应所经
    发表于 08-05 18:09

    科普|关于GPS和GNSS,了解多少?

    定位(Positioning)为万物互联提供了最基础信息;当今以GPS、GLONASS、Galileo和Beidou为代表的全球定位系统为人们带来了极大便利;而对于它们是不是真正的了解,回答完以下
    的头像 发表于 06-28 07:06 1973次阅读
    科普|<b class='flag-5'>关于</b>GPS和GNSS,<b class='flag-5'>你</b><b class='flag-5'>了解</b>多少?

    关于SFP连接器必须了解的那些知识

    关于SFP连接器必须了解的那些知识 一、SFP光笼子的作用及材料组成 1.光笼子的概念与作用 ① 光笼子是什么? SFP Cage(Small Form-factor Pluggable Cage
    的头像 发表于 06-17 09:42 796次阅读
    <b class='flag-5'>关于</b>SFP连接器<b class='flag-5'>你</b>必须<b class='flag-5'>了解</b>的那些知识

    鸿蒙5开发宝藏案例分享---性能优化案例解析

    发现问题 : // 页面初始化时同步执行耗时操作 aboutToAppear() { initData(); // 耗时2s的同步操作 } 优化方案 : // 拆分为异步任务
    发表于 06-12 16:36

    EMI电源滤波器:真的了解它吗?

    在我们生活的电子化时代,各种电子设备层出不穷,从日常的手机、电脑,到工业领域的自动化设备,都离不开稳定的电源供应。但知道吗,电源中隐藏着一个“隐形守护者”——EMI电源滤波器,它究竟是什么,又有
    的头像 发表于 05-28 18:50 410次阅读

    充电接口真的了解吗?

    USB(Universal Serial Bus,通用串行总线)自1994年诞生以来,已成为我们日常生活中不可或缺的接口标准。从键盘、鼠标到手机、充电宝,USB接口无处不在。但知道USB接口也有
    的头像 发表于 05-18 17:39 3405次阅读

    采购GUTOR UPS备品备件,隐藏的“雷区” 了解吗?

    在GUTOR UPS备品备件采购之路上,困难重重,选型、渠道甄别、成本把控、安装部署、售后保障,桩桩件件都是棘手难题。隐藏的“雷区” 了解吗?
    发表于 03-21 16:08

    AXI握手时序优化—pipeline缓冲器

    /prdy或者valid-ready或AXI)中Valid及data打拍技巧 ;只关心ready时序修复可以参考同作者这篇文章链接: (AXI)握手协议(pvld/prdy或者valid-ready)中
    的头像 发表于 03-08 17:10 1027次阅读
    AXI握手<b class='flag-5'>时序</b><b class='flag-5'>优化</b>—pipeline缓冲器

    线束EMC电磁兼容性测试整改:源头到末端全面优化

    深圳南柯电子|线束EMC电磁兼容性测试整改:源头到末端全面优化
    的头像 发表于 02-10 14:47 902次阅读
    线束EMC电磁兼容性测试整改:源头到末端<b class='flag-5'>全面</b><b class='flag-5'>优化</b>

    真的了解M12接头A和D吗?选型前必知的区别要点

    只有深入了解M12接头A和D在各方面的区别,才能在选型时做到精准无误,确保电气连接系统高效、稳定运行。如果在选型过程中还有其他具体问题,欢迎随时与我交流。
    的头像 发表于 01-22 16:00 1111次阅读
    <b class='flag-5'>你</b><b class='flag-5'>真的</b><b class='flag-5'>了解</b>M12接头A和D吗?选型前必知的区别要点

    关于SMT回流焊接,了解多少?

    设定焊接层数和厚度,以优化焊接质量。 2、设计考量 焊盘布局: 焊盘的形状、尺寸和镀层直接影响焊料流动,应基于元器件类型进行优化设计。 3、焊接环境 清洁标准: 确保PCB和元器件表面洁净,以便焊料能
    发表于 01-15 09:44

    关于远传双金属温度计真的了解吗?

    温度计
    jzyb
    发布于 :2024年12月13日 09:58:38