CN100395762C - 可编程核版图自动生成方法 - Google Patents

可编程核版图自动生成方法 Download PDF

Info

Publication number
CN100395762C
CN100395762C CNB2005101102624A CN200510110262A CN100395762C CN 100395762 C CN100395762 C CN 100395762C CN B2005101102624 A CNB2005101102624 A CN B2005101102624A CN 200510110262 A CN200510110262 A CN 200510110262A CN 100395762 C CN100395762 C CN 100395762C
Authority
CN
China
Prior art keywords
mux
programme
nuclear
repetitive
select
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.)
Expired - Fee Related
Application number
CNB2005101102624A
Other languages
English (en)
Other versions
CN1760879A (zh
Inventor
童家榕
王健
温宇杰
来金梅
吴芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CNB2005101102624A priority Critical patent/CN100395762C/zh
Publication of CN1760879A publication Critical patent/CN1760879A/zh
Application granted granted Critical
Publication of CN100395762C publication Critical patent/CN100395762C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明属于版图自动生成技术领域,具体为一种可编程核版图自动生成方法。该方法包括:由可编程核的结构描述和基本单元库,生成四输入LUT、输入连接盒、输出连接盒以及开关盒,得到电路网表并以Verilog文件形式输出。然后按照从下往上、从左到右的顺序,基于重复单元采用O-Tree算法进行布图。再把编程点连接到最近的SRAM。结果以DEF文件形式输出,并将该文件导入到布线工具中进行布线,进而得到可编程核的版图。本发明方法可缩短系统开发时间,降低系统开发成本。

Description

可编程核版图自动生成方法
技术领域
本发明属版图自动生成技术领域,具体涉及一种可缩短系统开发周期、降低系统开发成本的可编程核版图自动生成方法。
技术背景
面向特定应用领域的集成电路设计(ASIC),具有性能高、功耗低的优点,但所设计的电路不具有可重配置性。一旦用户要求发生变化,电路就要重新设计,因为用于生产集成电路的整套掩模板必须更换。因此,系统开发时间长,所投入的人力成本、系统测试成本高。
现场可编程门阵列(FPGA),与ASIC相比,性能低、功耗大,但电路具有可重配置性。当用户所要求的逻辑功能发生变化时,电路的硬件结构并不需要重新设计。用户只需要在FPGA的软件系统中重新设计电路,然后通过下载电缆把配置信息写入SRAM(StaticRamdon Access Memory),即可使电路具有不同的逻辑功能。生产FPGA电路所需要的整套掩模板并不会因为电路逻辑功能的变化而更换。因此使用FPGA开发系统能够缩短开发时间,降低系统测试成本。
把可重配置功能融入ASIC电路中,当要求电路功能发生变化,并且该变化在所设计的应用领域范围内时,可以通过对电路重新配置,从而使电路具有所要求的功能。可重配置ASIC电路的应用范围比ASIC电路广,性能和功耗均优于FPGA。由于是面向特定应用领域,可重配置ASIC电路中的可编程核必然有特定的要求。如果完全由人工生成可编程核版图,那么系统的开发周期必定很长。
发明内容
本发明的目的在于提出一种能够缩短系统开发周期、降低系统开发成本的可编辑核版图自动生成方法。
本发明提出的可编程核版图自动生成方法,是根据用户输入的可编程核结构描述、面积约束以及基本单元库,自动生成可编程核版图。(附图1)其基本步骤为:由可编程核的结构描述和基本单元库,生成四输入LUT、输入连接盒、输出连接盒以及开关盒,得到电路网表并以Verilog文件形式输出。然后按照从下往上、从左到右的顺序,基于重复单元采用O-Tree算法进行布图。在进行布图的时候,利用下载编程SRAM的等价性,不考虑SRAM与编程点之间的连接。在布图完成后,把编程点连接到最近的SRAM。布图结果以DEF文件形式输出,该文件可以导入到布线工具中进行布线,进而得到可编程核的版图。整个过程中,用户只需输入结构描述文件和面积约束文件,可编程核版图就可以通过计算机运行得到,因此可编程核的开发将比人工开发快得多。
附图说明
图1为本发明的流程框图。
图2为四输入LUT结构图。
图3为1选2多路选择器结构图。
图4为1选4多路选择器结构图。
图5为一个4×8的矩阵开关盒对应的两分图。
图6为4×8的矩阵开关盒图示。
图7为电路中各元件的连接关系图示。
图8为左下角重复单元布局图示。
图9为右下角重复单元布局图示。
图10为左上角重复单元布局图示。
图11为右上角重复单元布局图示。
图12为生成版图。
具体实施方式
本发明提出的可编程核版图自动生成方法,具体实施步骤如下:
步骤1:文件输入
a)可编程核结构描述:
1.重复单元阵列的行数和列数,
2.各行,各列的布线通道宽度,
3.用于编程下载的SRAM的地址线和数据线的宽度,
4.可编程核地址线和数据线输入端口的位置;,
b)基本单元库:
1.2选1多路选择器,
2.4选1多路选择器,
3.或非门,
4.非门,
5.三态门,
6.2×2的通用型开关盒,
7.4单元的SRAM存储器;
c)面积约束:
1.可编程核版图面积,
2.版图面积长宽比,
步骤2:单元内电路生成
a)四输入LUT
4个4选1多路选择器并排构成第一级,1个4选1多路选择器构成第二级,LUT的四个输入端平均分成两组,分别与第一级和第二级的选择控制端相连接;
(附图2)
b)输入连接盒
用2选1多路选择器和4选1多路选择器构成2L选1输入多路选择器(其中L是正整数),并把多路选择器的数据输入端连接到布线通道,选择控制端连接到下载编程的SRAM,输出端连接到LUT的输入端,从而实现布线通道到LUT输入的全连通;
其中,输入多路选择器构造可采用如下构造法则:
M4,4选1多路选择器,
M2,2选1多路选择器,
S,编程多路选择,来自SRAM,
S|i j,S中的第i个元素到第j个元素所构成的向量,
I,来自布线通道的输入,
I|i j,I中的第i个元素到第j个元素所构成的向量,
n,布线通道中的布线线段数,
c)输出连接盒
用1选2多路选择器(附图3)和1选4多路选择器(附图4)构成1选2L输出多路选择器(其中L是正整数),并把多路选择器的数据输入端连接到LUT输出端,选择控制端连接到下载编程的SRAM,输出端连接到布线通道,从而实现LUT输出到布线通道的全连通;
其中,输出多路选择器可采用如下构造法则:
Figure C20051011026200101
D4,1选4多路选择器,
D2,1选2多路选择器,
S,编程多路选择,来自SRAM,
S|i j,S中的第i个元素到第j个元素所构成的向量,
O,到布线通道的输出,
O|i j,O中的第i个元素到第j个元素所构成的向量,
n,布线通道中的布线线段数;
d)开关盒
用2×2的通用型开关盒构造所需要的开关盒。假设水平布线通道的宽度是2m,垂直布线通道宽度为2n。则在其交叉点上需要一个2m×2n的开关盒。首先引入一个两分图(H,V,E),其中顶点集H和V中的每一个顶点分别代表水平及垂直布线通道中的一对布线线段,所以有|H|=m及|V|=n。E是边的集合,如果对于两个顶点h∈H,和v∈V,存在(h,v)∈E,则说明h和v所代表的布线线段对可以通过一个2×2的开关盒进行选通。生成开关盒结构的问题可以表述为:给定H和V,确定E,使得对于 ∀ v ∈ H ∪ V , 都有d(v)>0,并且max(d(v)|v∈H∪V取值最小,其中d(v)为顶点v的度。采用如下的步骤确定两分图得到矩形SB的结构:
1.初始的两分图为(H,V,φ)
2.选择两个顶点h∈H及v∈V,满足
d(h)=min(d(h′))|h′∈H及d(v)=min(d(v′))|v.∈V
3.使E=E∪(h,v)
4.如果满足 ∀ v ∈ H ∪ V , d(v)>0则结束,否则重复步骤2
一个4×8的矩阵开关盒及其对应的两分图见附图5。在两分图中,上排的4个顶点及下排的2个顶点分别与垂直布线通道内的8根布线线段及水平布线通道内的4根布线线段对应。例如,顶点“v1&v2”代表垂直布线通道内编号为1及2的一对布线线段,而顶点“h1&h2”则代表水平布线通道内编号为1及2的一对布线线段。当这两个顶点之间有边连接的时候,则表示在两队布线线段的交叉点上有一个2×2开关盒进行选通(附图6)。
e)SRAM
调用库中的4单元SRAM存储器。
步骤3:生成网表
建立可编程核中各电路元件之间的连接关系,每一电路元件都来自于基本单元库。所述的电路连接包含两部分内容:
a)重复单元内的电路连接
每一重复单元都由基本单元库中的元件连接而成,描述重复单元内库元件之间的连接关系。
b)可编程核版图的电路连接
整个可编程核版图由基本单元库中的元件连接而成。以Verilog网表的形式描述整个可编程核版图的电路连接关系,并以文件形式输出。
步骤4:基于重复单元的布局
在可编程核中,重复单元内各元件连接关系紧密,而各重复单元之间的连接关系比较松散,因此基于重复单元的布局可以采用O-Tree算法[3]。规则如下:
a)根据面积约束,确定可编程核版图的高度和宽度
b)对可编程核版图面积进行水平划分
H 1 = Σ j = 1 m A ij A total H
n,重复单元阵列的行数,
m,重复单元阵列的列数,
i=1,2,...n,
j=1,2,...m,
Aij,第i行,第j列重复单元中所有库元件版图面积之和,
Atotal,可编程核中所有库元件版图面积之和,
H,可编程核版图的高度,
Hi,所划分的第i行水平区域高度,
c)按照从下往上、从左到右的顺序,一个接一个地对各重复单元采用O-Tree算法进行布局。在对当前重复单元进行布局时,下边界是前一行重复单元布局结果的上边界,左边界是前一重复单元布局结果的右边界。采用费用函数:
Cij=max(hij,Hi)wij
Cij,第i行,第j列重复单元布图时的费用,
hij,第i行,第j列重复单元版图的高度,
wij,第i行,第j列重复单元版图的宽度,
Hi,第i行水平区域的高度,
d)分配编程点
在重复单元布局完成后,各编程点和用于下载编程的SRAM都有了具体的物理位置。分配编程点就是把编程点的引脚和SRAM连接起来,并要求连线尽可能短。具体步骤为:
1.任意找一编程点,
2.把该编程点与最近的SRAM连起来,
3.若还有编程点没有连接SRAM则回到1,否则结束;
步骤5:DEF文件输出
DEF文件是描述集成电路后端版图设计的文本文件。布局结果以DEF文件形式输出,就可以导入到布线工具中,进而得到可编程核的版图。
步骤6:把生成的Verilog网表和DEF文件导入商用EDA工具,生成可编程核版图并进行版图验证。
在晶体管数目相当的前提下,采用本方法自动生成所得到的版图面积约为人工设计版图面积的3倍,而完全采用EDA工具综合所得到的版图面积约为人工版图面积的7倍。
 以规模为2×2的可编程核开发为例,来进一步说明本发明的整个过程。
 1)在结构描述文件中定义可编程核的规模为2×2,左侧垂直布线通道宽度为8,右侧布线通道宽度为4,上侧布线通道宽度为8,下侧布线通道宽度为4。
2)生成四输入LUT、输入连接盒、输出连接盒以及开关盒,各重复单元的网表,可编程核的网表。其中可编程核的网表以Verilog文件形式输出。这样,就以网表的形式建立了电路中各元件的连接关系。(附图7)
3)从下往上、从左到右,对每一个重复单元采用O-Tree算法进行布局。可编程核的规模为2×2,因此共有4个重复单元,需要对这4个重复单元按顺序进行布局。
a)左下角重复单元布局。
从库中调用元件,由O-Tree算法确定各元件的位置,从而得到左下角重复单元布局。(附图8)
b)右下角重复单元布局。
根据已经布局的结果,确定当前布局的边界(图中的灰框表示左边界)。然后,从库中调用元件,由O-Tree算法确定各元件的位置。(附图9)
c)左上角重复单元布局。
根据已经布局的结果,确定当前布局的边界(图中的灰框表示下边界)。然后,从库中调用元件,由O-Tree算法确定各元件位置。(附图10)
d)右上角重复单元布局。
根据已经布局的结果,确定当前布局的边界(图中的灰框表示左边界和下边界)。然后,从库中调用元件,由O-Tree算法确定各元件位置。(附图11)经过4次O-Tree布局后,就得到了可编程核的布局。
4)布局结果以DEF文件形式输出,导入到布线工具中进行布线,生成版图。(附图12)
5)把可编程核的Verilog网表和版图导入版图验证工具中,进行版图验证。
参考文献:
1)Xilinx,Inc.Xilinx 4000series product specification.1999
2)Actel Inc.proASIC-plus Flash Family FPGAs Data Sheets,2002
3)Guo P N,Cheng C K,Yoshimura T.an o-tree representation of non-slicing floorplan andits applications.Proceedings of the 36th design automation conference 1999 268-273

Claims (5)

1.一种可编程核版图自动生成方法,其特征在于基本步骤如下:由可编程核的结构描述和基本单元库,生成四输入LUT、输入连接盒、输出连接盒以及开关盒,得到电路网表并以Verilog文件形式输出;然后按照从下往上、从左到右的顺序,基于重复单元采用O-Tree算法进行布图;再把编程点连接到最近的SRAM,布图结果以DEF文件形式输出,将该文件导入到布线工具中进行布线,进而得到可编程核的版图;这里,所述DEF文件是描述集成电路后端版图设计的文本文件。
2.根据权利要求1所述可编程核版图自动生成方法,其特征在于具体步骤如下:
步骤1:文件输入
a)可编程核结构描述:
1.重复单元阵列的行数和列数,
2.各行,各列的布线通道宽度,
3.用于编程下载的SRAM的地址线和数据线的宽度,
4.可编程核地址线和数据线输入端口的位置;
b)基本单元库:
1.2选1多路选择器,
2.4选1多路选择器,
3.或非门,
4.非门,
5.三态门,
6.2×2的通用型开关盒,
7.4单元的SRAM存储器;
c)面积约束:
1.可编程核版图面积,
2.版图面积长宽比,
步骤2:单元内电路生成
a)四输入LUT
4个4选1多路选择器并排构成第一级,1个4选1多路选择器构成第二级,LUT的四个输入端平均分成两组,分别与第一级和第二级的选择控制端相连接;
b)输入连接盒
用2选1多路选择器和4选1多路选择器构成2L选1输入多路选择器,L是正整数,并把多路选择器的数据输入端连接到布线通道,选择控制端连接到下载编程的SRAM,输出端连接到LUT的输入端,从而实现布线通道到LUT输入的全连通;
c)输出连接盒
用1选2多路选择器和1选4多路选择器构成1选2L输出多路选择器,L是正整数,并把多路选择器的数据输入端连接到LUT输出端,选择控制端连接到下载编程的SRAM,输出端连接到布线通道,从而实现LUT输出到布线通道的全连通;
d)开关盒
用2×2的通用型开关盒构造所需要的开关盒,首先引入一个两分图(H,V,E),其中顶点集H和V中的每一个顶点分别代表水平及垂直布线通道中的一对布线线段,所以有|H|=m及|V|=n,E是边的集合;生成开关盒结构的问题表述为:给定H和V,确定E,使得对于 ∀ v ∈ H ∪ V ,都有d(v)>0,并且max(d(v))|v∈H∪V取值最小,其中d(v)为顶点v的度,采用如下的步骤确定两分图得到矩形SB的结构:
1.初始的两分图为(H,V,φ)
2.选择两个顶点h∈H及v∈V,满足
d(h)=min(d(h′))|h′∈H及d(v)=min(d(v′))|v′∈V
3.使E=E∪(h,v)
如果满足 ∀ v ∈ H ∪ V , d ( v ) > 0 则结束,否则重复步骤2;这里,“max”函数为求最大值函数,“min”函数为求最小值函数;
e)SRAM
调用库中的4单元SRAM存储器;
步骤3:生成网表
建立可编程核中各电路元件之间的连接关系,每一电路元件都来自于基本单元库;所述的电路连接包含两部分内容:
a)重复单元内的电路连接
每一重复单元都由基本单元库中的元件连接而成,描述重复单元内库元件之间的连接关系;
b)可编程核版图的电路连接
整个可编程核版图由基本单元库中的元件连接而成,以Verilog网表的形式描述整个可编程核版图的电路连接关系,并以文件形式输出;
步骤4:基于重复单元的布局
步骤5:DEF文件输出
布局结果以DEF文件形式输出,并导入到布线工具中,进而得到可编程核的版图;
步骤6:把生成的Verilog网表和DEF文件导入商用EDA工具,生成可编程核版图并进行版图验证。
3.根据权利要求2所述可编程核版图自动生成方法,其特征在于所述输入多路选择器构造法则为:
Figure C2005101102620004C1
M4,4选1多路选择器,
M2,2选1多路选择器,
S,编程多路选择,来自SRAM,
S|i j,S中的第i个元素到第j个元素所构成的向量,
I,来自布线通道的输入,
I|i j,I中的第i个元素到第j个元素所构成的向量,
n,布线通道中的布线线段数。
4.根据权利要求2所述可编程核版图自动生成方法,其特征在于所述输出多路选择器的构造法则为:
Figure C2005101102620005C1
D4,1选4多路选择器,
D2,1选2多路选择器,
S,编程多路选择,来自SRAM,
S|i j,S中的第i个元素到第j个元素所构成的向量,
O,到布线通道的输出,
O|i j,O中的第i个元素到第j个元素所构成的向量,
n,布线通道中的布线线段数。
5.根据权利要求2所述可编程核版图自动生成方法,其特征在于所述基于重复单元的布局的规则如下:
a)采用根据面积约束,确定可编程核版图的高度和宽度,
b)对可编程核版图面积进行水平划分,
H i = Σ j = 1 m A ij A total H
n,重复单元阵列的行数,
m,重复单元阵列的列数,
i=1,2,...n,
j=1,2,...m,
Aij,第i行,第j列重复单元中所有库元件版图面积之和,
Atotal,可编程核中所有库元件版图面积之和,
H,可编程核版图的高度,
Hi,所划分的第i行水平区域高度,
c)按照从下往上、从左到右的顺序,一个接一个地对各重复单元采用O-Tree算法进行布局;在对当前重复单元进行布局时,下边界是前一行重复单元布局结果的上边界,左边界是前一重复单元布局结果的右边界;采用费用函数:
Cij=max(hij,Hi)wij
Cij,第i行,第j列重复单元布图时的费用,
hij,第i行,第j列重复单元版图的高度,
wij,第i行,第j列重复单元版图的宽度,
Hi,第i行水平区域的高度,
c)分配编程点
具体步骤为:
(1)任意找一编程点,
(2)把该编程点与最近的SRAM连起来,
(3)若还有编程点没有连接SRAM则回到1,否则结束。
CNB2005101102624A 2005-11-10 2005-11-10 可编程核版图自动生成方法 Expired - Fee Related CN100395762C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101102624A CN100395762C (zh) 2005-11-10 2005-11-10 可编程核版图自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101102624A CN100395762C (zh) 2005-11-10 2005-11-10 可编程核版图自动生成方法

Publications (2)

Publication Number Publication Date
CN1760879A CN1760879A (zh) 2006-04-19
CN100395762C true CN100395762C (zh) 2008-06-18

Family

ID=36706948

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101102624A Expired - Fee Related CN100395762C (zh) 2005-11-10 2005-11-10 可编程核版图自动生成方法

Country Status (1)

Country Link
CN (1) CN100395762C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054081A (zh) 2009-10-30 2011-05-11 新思科技有限公司 应用于集成电路的物理设计验证的方法及其装置
CN102542083B (zh) * 2010-12-23 2015-12-02 深圳市同创国芯电子有限公司 基于连接关系树的层次化单元端口调整方法
CN103793565B (zh) * 2014-01-26 2017-04-26 深圳市兴森快捷电路科技股份有限公司 一种快速生成网表的方法
CN105740492A (zh) * 2014-12-12 2016-07-06 北京华大九天软件有限公司 一种用于Memory Compiler的netlist生成时进行连线的方法
CN106469227A (zh) * 2015-08-14 2017-03-01 北京华大九天软件有限公司 一种自动搭建级联电路的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513118A (en) * 1993-08-25 1996-04-30 Nec Usa, Inc. High level synthesis for partial scan testing
CN1206159A (zh) * 1997-07-23 1999-01-27 三洋电机株式会社 三维造型装置和方法
CN1208902A (zh) * 1997-07-28 1999-02-24 夏普公司 图形准备设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513118A (en) * 1993-08-25 1996-04-30 Nec Usa, Inc. High level synthesis for partial scan testing
CN1206159A (zh) * 1997-07-23 1999-01-27 三洋电机株式会社 三维造型装置和方法
CN1208902A (zh) * 1997-07-28 1999-02-24 夏普公司 图形准备设备

Also Published As

Publication number Publication date
CN1760879A (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
Lemieux et al. Design of interconnection networks for programmable logic
CN1713185B (zh) 数据流图处理方法、可重构电路及处理装置
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US6467074B1 (en) Integrated circuit architecture with standard blocks
US5802349A (en) Method for generating an optimized integrated circuit cell library
US8191035B1 (en) Tool with graphical interconnect matrix
CN100395762C (zh) 可编程核版图自动生成方法
CN107924428A (zh) 可编程逻辑ic的块存储器布局和体系架构及其操作方法
CN104182556B (zh) 芯片的布局方法
WO2005062212A1 (en) Template-based domain-specific reconfigurable logic
US20190131970A1 (en) Embedded FPGA with Multiple Configurable Flexible Logic Blocks Instantiated and Interconnected by Abutment
Behrens et al. Hierarchical partitioning
Mak et al. Board-level multiterminal net routing for FPGA-based logic emulation
Brzozowski et al. Universal Design Method of n-to-2n decoders
CN103828239A (zh) 集成电路
CN109902040A (zh) 一种集成fpga和人工智能模块的系统芯片
US7994818B2 (en) Programmable interconnect network for logic array
Banerjee et al. Fast FPGA placement using space-filling curve
TW202240455A (zh) 多位元胞元
Ramanidharan Enabling CAD Support for the Field Programmable Transistor Array
Banerjee et al. Faster placer for island-style FPGAs
US20230342418A1 (en) Efficient Triangular Systolic Array-Based Matrix Inversion
Wu et al. Silicon compilation from register-transfer schematics
US20230053664A1 (en) Full Die and Partial Die Tape Outs from Common Design
Takeya et al. A generator for high-density macrocells with hierarchical structure

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080618

Termination date: 20131110