CN108549751A - 寄存器矩阵的布局方法 - Google Patents
寄存器矩阵的布局方法 Download PDFInfo
- Publication number
- CN108549751A CN108549751A CN201810262652.0A CN201810262652A CN108549751A CN 108549751 A CN108549751 A CN 108549751A CN 201810262652 A CN201810262652 A CN 201810262652A CN 108549751 A CN108549751 A CN 108549751A
- Authority
- CN
- China
- Prior art keywords
- register
- matrix
- selector
- layout
- layout information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种寄存器矩阵的布局方法,包括:将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构,所述连接关系数据和所述多级选择器树形结构组成寄存器矩阵的布局信息;获取所述寄存器矩阵的布局信息,根据所述布局信息将寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件;根据所述数据通路文件摆放所述寄存器单元。本发明所提供的寄存器矩阵的布局方法可以明显解决布线拥塞问题,优化互连线延迟,提高工作频率。
Description
技术领域
本发明涉及集成电路物理设计技术领域,特别涉及一种寄存器矩阵的布局方法。
背景技术
随着大规模以及超大规模集成电路的普及与应用,竞争日益激烈,要想在竞争中占有一席之地,就必须尽可能缩小芯片面积,降低成本。随着工艺尺寸的不断缩小,成本呈指数增长,减少面积的优势越显突出。如今片上系统上存储单元占了70%至80%的面积,甚至更多,减少存储单元的面积能大幅度减少芯片的面积,降低成本。存储单元一般用于数据处理,通常时序路径为关键路径,访问速度往往决定了芯片的性能。寄存器矩阵存储相对于存储器存储具有速度快、面积小等特点,运用越来越广泛。目前对于寄存器矩阵的使用都采用嵌入式核的方式,这种方法缺点面积较大、成本较高、布局受限、时序较差。
发明内容
本发明提供了一种寄存器矩阵的布局方法,其目的是为了寄存器矩阵面积较大、成本较高、布局受限、时序较差的问题。
为了达到上述目的,本发明的实施例提供了一种寄存器矩阵的布局方法,包括:
将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构,所述连接关系数据和所述多级选择器树形结构组成寄存器矩阵的布局信息;
获取所述寄存器矩阵的布局信息,根据所述布局信息将所述寄存器矩阵中的寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件;
根据所述数据通路文件摆放所述寄存器单元。
其中,每个所述寄存器单元的时钟均由门控时钟控制,且每个所述门控时钟摆放在与其相关联的寄存器组的中心位置。
其中,所述将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构的步骤具体为:
假定寄存器矩阵的深度为2D(地址位宽为D),位宽为B,寄存器单元的个数有2D*B个;
相同位的每两个相邻寄存器单元的输出信号由一个二选一的选择器选择输出,选择信号为地址线最低位;
每相邻两个选择器的输出信号由地址线次低位选择输出,逐级将选择器的输出信号接入下一级选择器中,形成Mux-Tree结构,选择器的个数为(2D-1)*B个。
其中,所述获取所述寄存器矩阵的布局信息,根据所述布局信息将寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件的步骤具体为:
假定共有M个相同位的寄存器单元摆成一行,总共有2D/M列;
将与M个寄存器单元相连的(2M-1-1)个选择器摆放于寄存器相邻行,这样2D个寄存器与(2D-1)个选择器组成一个寄存器组;
将不相同位的寄存器组分成A1行A2列,其中A1、A2满足A1*A2=B;
最低位的寄存器组起始坐标为(x0,y0),每个寄存器单元的高度为h,宽度为1,则最低位k行n列寄存器单元的坐标为(x0+l*(n-1),y0+2h*(k-1));
相同位的寄存器组高度H,宽度L分别为:H=2D+1*h/M;L=M*l;
不相同位的a行b列寄存器组的起始点坐标为(x0+L*(b-1),y0+H*(a-1));
根据寄存器组的起始点坐标以及寄存器单元分组情况产生出数据通路文件。
其中,所述根据所述数据通路文件摆放所述寄存器单元的步骤还包括:
若所述寄存器单元的个数与所述寄存器矩阵的功能单元的个数不对应,则需要重新对所述寄存器单元进行分组。
本发明的上述方案有如下的有益效果:
本发明的上述实施例所述的寄存器矩阵的布局方法通过对寄存器矩阵的逻辑代码进行综合,将地址译码电路综合成多级选择器树形结构,同时每个寄存器的时钟由门控时钟控制;然后根据寄存器矩阵的布局信息将寄存器矩阵分组,产生相应的数据通路文件,将所述数据通路文件输入布局布线工具,摆放寄存器单元;本方法适用于高密度、寄存器矩阵的布局布线,可以明显解决布线拥塞问题,并优化互连线延迟,提高工作频率。
附图说明
图1为本发明的寄存器矩阵的布局方法的流程示意图;
图2为本发明的寄存器单元的电路结构图;
图3为本发明的相同位寄存器的Mux-Tree电路结构图;
图4为本发明的寄存器单元在布局布线工具中的局部示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的寄存器矩阵面积较大、成本较高、布局受限、时序较差的问题,提供了一种寄存器矩阵的布局方法。
如图1和图4所示,本发明的实施例提供了一种寄存器矩阵的布局方法,包括:
步骤1,将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,将地址译码电路转化为多级选择器树形结构,所述连接关系数据和所述多级选择器树形结构组成寄存器矩阵的布局信息;
步骤2,获取所述寄存器矩阵的布局信息,根据所述布局信息将所述寄存器矩阵中的寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件;
步骤3,根据所述数据通路文件摆放所述寄存器单元。
本发明的上述实施例所述的寄存器矩阵的布局方法通过对寄存器矩阵的逻辑代码进行综合,将地址译码电路综合成多级选择器树形结构,同时每个寄存器的时钟由门控时钟控制;然后根据寄存器矩阵的布局信息将寄存器矩阵分组,产生相应的数据通路文件,将所述数据通路文件输入布局布线工具,摆放寄存器单元;本方法适用于高密度、寄存器矩阵的布局布线,可以明显解决布线拥塞问题,并优化互连线延迟,提高工作频率。
其中,每个所述寄存器单元的时钟均由门控时钟控制,且每个所述门控时钟摆放在与其相关联的寄存器组的中心位置。
如图2和图3所示,所述将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构的步骤具体为:
步骤11,假定寄存器矩阵的深度为2D(地址位宽为D),位宽为B,寄存器单元的个数有2D*B个;
步骤12,相同位的每两个相邻寄存器单元的输出信号由一个二选一的选择器选择输出,选择信号为地址线最低位;
步骤13,每相邻两个选择器的输出信号由地址线次低位选择输出,逐级将选择器的输出信号接入下一级选择器中,形成Mux-Tree结构,选择器的个数为(2D-1、)*B个。
本发明的上述实施例所述的方法通过对寄存器矩阵的寄存器单元的个数进行计算,并通过所述二选一的选择器连接,形成Mux-Tree结构,避免
其中,所述获取所述寄存器矩阵的布局信息,根据所述布局信息将寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件的步骤具体为:
步骤21,假定共有M个相同位的寄存器单元摆成一行,总共有2D/M列;
步骤22,将与M个寄存器单元相连的(2M-1-1)个选择器摆放于寄存器相邻行,这样2D个寄存器与(2D-1)个选择器组成一个寄存器组;
步骤23,将不相同位的寄存器组分成A1行A2列,其中A1、A2满足A1*A2=B;
步骤24,最低位的寄存器组起始坐标为(x0,y0),每个寄存器单元的高度为h,宽度为1,则最低位k行n列寄存器单元的坐标为(x0+l*(n-1),y0+2h*(k-1));
步骤25,相同位的寄存器组高度H,宽度L分别为:H=2D+1*h/M;L=M*l;
步骤26,不相同位的a行b列寄存器组的起始点坐标为(x0+L*(b-1),y0+H*(a-1));
步骤27,根据寄存器组的起始点坐标以及寄存器单元分组情况产生出数据通路文件。
本发明的上述实施例所述的数据通路文件是数据的流向信息以及功能单元的物理相对位置信息,通过上述方法可以确认每一个寄存器单元的坐标,以及寄存器组的起始点坐标,输入到布局布线工具中进行布线。
其中,所述根据所述数据通路文件摆放所述寄存器单元的步骤还包括:
步骤4,若所述寄存器单元的个数与所述寄存器矩阵的功能单元的个数不对应,则需要重新对所述寄存器单元进行分组。
本发明的上述实施例所述的寄存器矩阵的布局方法还包括对寄存器单元摆放不符合布局要求时,修改寄存器分组参数,并重复步骤2的操作,直至满足寄存器矩阵的布局要求。
本发明的上述实施例所述的寄存器矩阵的布局方法通过对寄存器矩阵的逻辑代码进行综合,将地址译码电路综合成多级选择器树形结构,同时每个寄存器的时钟由门控时钟控制;然后根据寄存器矩阵的布局信息将寄存器矩阵分组,产生相应的数据通路文件,将所述数据通路文件输入布局布线工具,摆放寄存器单元;本方法适用于高密度、寄存器矩阵的布局布线,可以明显解决布线拥塞问题,并优化互连线延迟,提高工作频率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种寄存器矩阵的布局方法,其特征在于,包括:
将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构,所述连接关系数据和所述多级选择器树形结构组成寄存器矩阵的布局信息;
获取所述寄存器矩阵的布局信息,根据所述布局信息将所述寄存器矩阵中的寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件;
根据所述数据通路文件摆放所述寄存器单元。
2.根据权利要求1所述的寄存器矩阵的布局方法,其特征在于,每个所述寄存器单元的时钟均由门控时钟控制,且所述门控时钟摆放在与其相关联的寄存器组的中心位置。
3.根据权利要求1所述的寄存器矩阵的布局方法,其特征在于,所述将寄存器矩阵的逻辑代码转化为功能单元的连接关系数据,并将地址译码电路转化为多级选择器树形结构的步骤具体为:
假定寄存器矩阵的深度为(地址位宽为D),位宽为B,寄存器单元的个数有个;
相同位的每两个相邻寄存器单元的输出信号由一个二选一的选择器选择输出,选择信号为地址线最低位;
每相邻两个选择器的输出信号由地址线次低位选择输出,逐级将选择器的输出信号接入下一级选择器中,形成Mux-Tree结构,选择器的个数为个。
4.根据权利要求3所述的寄存器矩阵的布局方法,其特征在于,所述获取所述寄存器矩阵的布局信息,根据所述布局信息将寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件的步骤具体为:
假定共有M个相同位的寄存器单元摆成一行,总共有列;
将与M个寄存器单元相连的个选择器摆放于寄存器相邻行,这样个寄存器与个选择器组成一个寄存器组;
将不相同位的寄存器组分成A1行A2列,其中A1、A2满足;
最低位的寄存器组起始坐标为,每个寄存器单元的高度为h,宽度为l,则最低位k行n列寄存器单元的坐标为;
相同位的寄存器组高度H,宽度L分别为:;;
不相同位的a行b列寄存器组的起始点坐标为;
根据寄存器组的起始点坐标以及寄存器单元分组情况产生出数据通路文件。
5.根据权利要求4所述的寄存器矩阵的布局方法,其特征在于,所述根据所述数据通路文件摆放所述寄存器单元的步骤还包括:
若所述寄存器单元的个数与所述寄存器矩阵的功能单元的个数不对应,则重新获取所述寄存器矩阵的布局信息,根据所述布局信息将寄存器单元分组,形成多个寄存器组,并根据所述布局信息产生相应的数据通路文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810262652.0A CN108549751A (zh) | 2018-03-28 | 2018-03-28 | 寄存器矩阵的布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810262652.0A CN108549751A (zh) | 2018-03-28 | 2018-03-28 | 寄存器矩阵的布局方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108549751A true CN108549751A (zh) | 2018-09-18 |
Family
ID=63517060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810262652.0A Pending CN108549751A (zh) | 2018-03-28 | 2018-03-28 | 寄存器矩阵的布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108549751A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116895325A (zh) * | 2023-06-21 | 2023-10-17 | 合芯科技有限公司 | 数字阵列寄存器的icg分类方法、测试方法及分类装置 |
CN117272893A (zh) * | 2023-11-21 | 2023-12-22 | 芯来智融半导体科技(上海)有限公司 | 芯片信号接收电路及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125594A1 (en) * | 2003-06-12 | 2005-06-09 | Semiconductor Technology Academic Research Center | Memory with synchronous bank architecture |
US7568083B1 (en) * | 2003-05-07 | 2009-07-28 | Marvell International Ltd. | Memory mapped register file and method for accessing the same |
US20120011094A1 (en) * | 2009-03-19 | 2012-01-12 | Norio Yamagaki | Pattern matching appratus |
CN103258066A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 逻辑簇的布局方法 |
CN105404728A (zh) * | 2015-11-03 | 2016-03-16 | 京微雅格(北京)科技有限公司 | 一种基于fpga芯片多控制信号的布局方法 |
CN106874601A (zh) * | 2017-02-20 | 2017-06-20 | 中国人民解放军国防科学技术大学 | 一种扫描链重定序方法 |
-
2018
- 2018-03-28 CN CN201810262652.0A patent/CN108549751A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7568083B1 (en) * | 2003-05-07 | 2009-07-28 | Marvell International Ltd. | Memory mapped register file and method for accessing the same |
US20050125594A1 (en) * | 2003-06-12 | 2005-06-09 | Semiconductor Technology Academic Research Center | Memory with synchronous bank architecture |
US20120011094A1 (en) * | 2009-03-19 | 2012-01-12 | Norio Yamagaki | Pattern matching appratus |
CN103258066A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 逻辑簇的布局方法 |
CN105404728A (zh) * | 2015-11-03 | 2016-03-16 | 京微雅格(北京)科技有限公司 | 一种基于fpga芯片多控制信号的布局方法 |
CN106874601A (zh) * | 2017-02-20 | 2017-06-20 | 中国人民解放军国防科学技术大学 | 一种扫描链重定序方法 |
Non-Patent Citations (5)
Title |
---|
HOCK SOON LOW等: "Variation Tolerant AFPGA Architecture", 《2011 17TH IEEE INTERNATIONAL SYMPOSIUM ON ASYNCHRONOUS CIRCUITS AND SYSTEMS》 * |
唐骏: "高性能DSP后端设计的功耗优化方法研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
宋灿孔: "多级门控时钟网络设计优化", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
徐庆光: "600MHz_YHFT_DX算术逻辑部件的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
熊保玉: "高性能低功耗多端口寄存器文件研究与全定制实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116895325A (zh) * | 2023-06-21 | 2023-10-17 | 合芯科技有限公司 | 数字阵列寄存器的icg分类方法、测试方法及分类装置 |
CN116895325B (zh) * | 2023-06-21 | 2024-05-07 | 合芯科技有限公司 | 数字阵列寄存器的icg分类方法、测试方法及分类装置 |
CN117272893A (zh) * | 2023-11-21 | 2023-12-22 | 芯来智融半导体科技(上海)有限公司 | 芯片信号接收电路及方法 |
CN117272893B (zh) * | 2023-11-21 | 2024-03-15 | 芯来智融半导体科技(上海)有限公司 | 芯片信号接收电路及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101808032B (zh) | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 | |
US8138788B2 (en) | Reconfigurable device | |
Balkan et al. | A mesh-of-trees interconnection network for single-chip parallel processing | |
CN102780628B (zh) | 面向多核微处理器的片上互连网络路由方法 | |
CN108549751A (zh) | 寄存器矩阵的布局方法 | |
CN108736897A (zh) | 应用于高速接口物理层芯片的并串转换电路及装置 | |
US9374322B2 (en) | Optimization of multi-stage hierarchical networks for practical routing applications | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
CN114297097B (zh) | 一种众核可定义分布式共享存储结构 | |
CN110569596A (zh) | 片上系统的混合时钟树结构 | |
CN109726154A (zh) | 执行多个数据总线倒置的方法及执行该方法的存储器器件 | |
CN105262462B (zh) | 一种用于集成电路的数字延时实现方法及电路 | |
CN111224883B (zh) | 一种高阶路由器的瓦片结构及其构建的高阶路由器 | |
JP2022510442A (ja) | ソート方法、装置、電子デバイス及びコンピュータプログラム | |
CN106960087B (zh) | 一种时钟分布网络结构及其生成方法 | |
CN107885485A (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
CN112667557A (zh) | 一种适用于chiplet架构的数据传输方法 | |
CN110555269B (zh) | 片上系统的顶层时钟树结构 | |
CN102937915A (zh) | 用于多核处理器的硬件锁实现方法及装置 | |
Ebrahimi et al. | Partitioning methods for unicast/multicast traffic in 3D NoC architecture | |
JP2000163316A (ja) | 計算機システム | |
TWI797642B (zh) | 半導體記憶裝置及記憶體系統 | |
CN102147720B (zh) | 用查找表实现多输入逻辑项之间的运算的装置及方法 | |
Yang et al. | Network-on-chip for turbo decoders | |
CN102201817A (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180918 |
|
RJ01 | Rejection of invention patent application after publication |