基于流水寄存器的物理层逻辑模块的信号中继方法技术

技术编号:28295354 阅读:21 留言:0更新日期:2021-04-30 16:19
本发明专利技术实施例涉及一种基于流水寄存器的物理层逻辑模块的信号中继方法,包括:在同一时钟域下,确定具有信号传递的第一逻辑单元和第二逻辑单元信号同步所需的流水寄存器的插入级数;根据信号在一个时钟周期的最大传输位移确定每一级寄存器的最大偏移量;前一级的信号输出端为中心点、最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;在没有阻挡障碍物模块阻挡的多个预置位置中,根据预置位置到最优路径的距离和预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定当前一级寄存器的摆放位置,直至完成级数对应的每一级流水寄存器的插入;对各级寄存器串联布线,形成信号中继的流水寄存器。

【技术实现步骤摘要】
基于流水寄存器的物理层逻辑模块的信号中继方法
本专利技术涉及微电子
,尤其涉及基于流水寄存器的物理层逻辑模块的信号中继方法。
技术介绍
现场可编程门阵列(FieldProgrammableGateArray,FPGA)设计中,对于芯片内的一个模块,从输入到输出,或者从输入到模块内部的一个寄存器之间,往往存在时序逻辑的要求,在时序不满足时,往往插入寄存器来实现前后二者间的时钟同步。但是,在现有设计工具中,寄存器的放置往往存在被阻挡而无法自动放置的情况,这种情况下还需要设计人员手动进行寄存器的摆放,费时费力。因此迫切需要对设计工具在模块内的信号中继方法进行优化,以实现各种复杂的实际情况下的物理层逻辑模块的信号中继。
技术实现思路
本专利技术的目的是提供一种基于流水寄存器的物理层逻辑模块的信号中继方法,能够自动识别判断两个物理层逻辑模块之间的流水寄存器的最优插入位置,通过在最优插入位置上的自动插入,实现两个物理层逻辑模块之间的信号中继。为此,本专利技术实施例提供了一种基于流水寄存器的物理层逻辑模块的信号中继方法,所述信号中继方法包括:在同一时钟域下,确定具有信号传递的第一逻辑单元和第二逻辑单元;其中,所述第一逻辑单元与所述第二逻辑单元为待时钟同步的两个逻辑单元;所述第一逻辑单元的输出端至所述第二逻辑单元的第一输入端之间的直线路径为最优路径;确定满足所述第一逻辑单元和第二逻辑单元信号同步所需的流水寄存器的插入级数;其中,流水寄存器的每一级包括一个或一组寄存器,各级之间串联连接,每级流水寄存器具有确定的模块边界;根据信号在一个时钟周期的最大传输位移确定每一级寄存器的最大偏移量;以第一逻辑单元的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;所述阻挡障碍物模块的类型包括宏单元或预留空位;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定第一级寄存器的摆放位置;再以前一级寄存器的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定当前一级寄存器的摆放位置,直至确定插入级数对应的每一级流水寄存器的摆放位置;根据确定的各个摆放位置进行各级寄存器的插入和串联布线,形成所述第一逻辑单元和第二逻辑单元之间的流水寄存器,通过所述流水寄存器将所述第一逻辑单元的输出端输出的第一信号中继至所述第二逻辑单元的第一输入端。优选的,所述根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径具体为:剩余路径=[(预置位置到第二逻辑单元的第一输入端之间的距离)2-(预置位置到最优路径的距离)2]1/2。优选的,所述根据剩余路径最短的预置位置确定第一级寄存器的摆放位置具体为:将根据剩余路径最短的预置位置作为所述第一极寄存器的信号输入端的位置,进行所述第一极寄存器的摆放。优选的,所述根据剩余路径最短的预置位置确定当前一级寄存器的摆放位置具体为:将根据剩余路径最短的预置位置作为所述当前一极寄存器的信号输入端的位置,进行所述当前一极寄存器的摆放。优选的,所述预留空位包括穿通结构。优选的,所述方法还包括:确定最后一级寄存器的信号输出端与所述第二逻辑单元的第一输入端之间的连线上的信号传输时延是否满足小于等于一个时钟周期;如果不满足,则输出插入流水寄存器错误的提示信息本专利技术实施例提供的基于流水寄存器的物理层逻辑模块的信号中继方法,能够自动识别判断两个物理层逻辑模块之间的流水寄存器的最优插入位置,通过在最优插入位置上的自动插入,实现两个物理层逻辑模块之间的信号中继。附图说明图1为基于流水寄存器的物理层逻辑模块的信号中继方法流程图;图2为一级寄存器的摆放位置的确定过程示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术实施例提供了一种基于流水寄存器的物理层逻辑模块的信号中继方法,其方法流程主要步骤如图1所示,包括:步骤110,在同一时钟域下,确定具有信号传递的第一逻辑单元和第二逻辑单元;其中,第一逻辑单元与所述第二逻辑单元为待时钟同步的两个逻辑单元;它们之间存在时序逻辑的要求。步骤120,确定满足第一逻辑单元和第二逻辑单元信号同步所需的流水寄存器的插入级数;具体的,根据时序逻辑的要求,要对从第一逻辑单元输出的信号进行打拍再传递到第二逻辑单元的信号输入。将信号打拍,通过寄存器实现。将信号打一拍的方法是将信号通过一次寄存器,即信号传输延迟一个时钟周期。如果需要打多拍,就采用多级相连的寄存器,即流水寄存器来实现。流水寄存器的每一级包括一个或一组寄存器,各级之间串联连接,每级流水寄存器具有确定的模块边界。也就是说,插入一级寄存器所需要最小占用的芯片面积是确定的。步骤130,根据信号在一个时钟周期的最大传输位移确定每一级寄存器的最大偏移量;具体的,每个时钟周期,信号可以传输的最大位移,即信号传输的最远距离是可以确定的。由此可以计算每一级寄存器与前一级信号输出位置的最大偏移量。这个最大偏移量就是信号在一个时钟周期的最大传输位移。如果超出最大偏移量,信号在一个时钟周期内就不能传输到这个寄存器。步骤140,以第一逻辑单元的信号输出端为中心点、最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;在没有阻挡障碍物模块阻挡的多个预置位置中,根据预置位置到最优路径的距离和预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定第一级寄存器的摆放位置;具体的,阻挡障碍物模块的类型包括宏单元或预留空位;预留空位包括穿通结构(feedthrough),当然还包括物理层逻辑模块的边界等其他设计规则规定不能用于摆放插入寄存器的空位。规定第一逻辑单元的输出端至第二逻辑单元的第一输入端之间的直线路径为最优路径。在优选的方案中,剩余路径=[(预置位置到第二逻辑单元的第一输入端之间的距离)2-(预置位置到最优路径的距离)2]1/2。将根据剩余路径最短的预置位置作为第一极寄存器的信号输入端的位置,进行第一极寄存器的摆放。图2为一级寄存器的摆放位置的确定过程示意图。如图所示,以可以用于摆放该级寄存器的空位有A、B、C这三处预置位置为例子,这三处到第二逻辑单元的第一输入端之间的距离分别为x1、x2、x3,预置位置到最优路径(图2中连接第一逻辑单元的输出端至第二逻辑单元的输入端的虚线所示)的距离分别为y1、y2、y3。最大偏移量如图2中圆周所示,图中阴影部分均为阻挡障碍物模块。分别利本文档来自技高网...

【技术保护点】
1.一种基于流水寄存器的物理层逻辑模块的信号中继方法,其特征在于,所述信号中继方法包括:/n在同一时钟域下,确定具有信号传递的第一逻辑单元和第二逻辑单元;其中,所述第一逻辑单元与所述第二逻辑单元为待时钟同步的两个逻辑单元;所述第一逻辑单元的输出端至所述第二逻辑单元的第一输入端之间的直线路径为最优路径;/n确定满足所述第一逻辑单元和第二逻辑单元信号同步所需的流水寄存器的插入级数;其中,流水寄存器的每一级包括一个或一组寄存器,各级之间串联连接,每级流水寄存器具有确定的模块边界;/n根据信号在一个时钟周期的最大传输位移确定每一级寄存器的最大偏移量;/n以第一逻辑单元的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;所述阻挡障碍物模块的类型包括宏单元或预留空位;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定第一级寄存器的摆放位置;/n再以前一级寄存器的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定当前一级寄存器的摆放位置,直至确定插入级数对应的每一级流水寄存器的摆放位置;/n根据确定的各个摆放位置进行各级寄存器的插入和串联布线,形成所述第一逻辑单元和第二逻辑单元之间的流水寄存器,通过所述流水寄存器将所述第一逻辑单元的输出端输出的第一信号中继至所述第二逻辑单元的第一输入端。/n...

【技术特征摘要】
1.一种基于流水寄存器的物理层逻辑模块的信号中继方法,其特征在于,所述信号中继方法包括:
在同一时钟域下,确定具有信号传递的第一逻辑单元和第二逻辑单元;其中,所述第一逻辑单元与所述第二逻辑单元为待时钟同步的两个逻辑单元;所述第一逻辑单元的输出端至所述第二逻辑单元的第一输入端之间的直线路径为最优路径;
确定满足所述第一逻辑单元和第二逻辑单元信号同步所需的流水寄存器的插入级数;其中,流水寄存器的每一级包括一个或一组寄存器,各级之间串联连接,每级流水寄存器具有确定的模块边界;
根据信号在一个时钟周期的最大传输位移确定每一级寄存器的最大偏移量;
以第一逻辑单元的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;所述阻挡障碍物模块的类型包括宏单元或预留空位;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定第一级寄存器的摆放位置;
再以前一级寄存器的信号输出端为中心点、所述最大偏移量为半径的范围内,按照模块边界确定阻挡障碍物模块;在没有阻挡障碍物模块阻挡的多个预置位置中,根据所述预置位置到最优路径的距离和所述预置位置到第二逻辑单元的第一输入端之间的距离计算剩余路径,根据剩余路径最短的预置位置确定当前一级寄存器的摆放位置,直至确定插入级数对应的每一级流水寄存器的摆放位置;
根据确定的各个摆放位置进行各级寄存器的插...

【专利技术属性】
技术研发人员:赵少峰
申请(专利权)人:安徽省东科半导体有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1