掌桥专利:专业的专利平台
掌桥专利
首页

一种专用集成电路的布局规划方法、装置及存储介质

文献发布时间:2024-04-18 19:58:21


一种专用集成电路的布局规划方法、装置及存储介质

技术领域

本发明涉及专用集成电路(ASIC)设计领域,尤指一种专用集成电路的布局规划方法、装置及存储介质。

背景技术

系统厂商往往不具备设计、验证ASIC的能力,并且考虑到产品需要在尽可能短的时间上市,在设计产品时往往使用开发周期短、设计更改更容易的可编程逻辑器件实现定制逻辑。

但是可编程逻辑器件成本高,难于小型化,同样逻辑的可编程逻辑器件用量达到一定规模后,有降低成本的需求。

此时,系统的规格已经稳定,定制化逻辑已经成熟,可以将FPGA转化成等效的成本更低的ASIC。

ASIC设计,首先是布局规划(Floorplan),然后进行布局(Place)和布线(Route)操作。布局规划(Floorplan)主要用于确定电路中主要功能模块的布局。

在根据已有的FPGA设计进行等效的ASIC设计的布局规划时,传统的方法是由人工根据FPGA设计特征构造ASIC布局规划。但人工周期长,容易出错。而FPGA设计作为一个工程,其IO(输入输出)信息、IP核信息已经存在,可以通过读取FPGA工程自动提取,因此本申请提出一种从FPGA设计到等效的ASIC设计的自动布局规划方法,以提高研发效率,降低研发风险。

发明内容

本发明的目的是提供一种专用集成电路的布局规划方法、装置及存储介质,用于解决现有技术中人工设计周期长、易出错的问题。

本发明提供的技术方案如下:

一种专用集成电路的布局规划方法,包括:根据FPGA工程文件和基于所述FPGA的系统,确定与所述FPGA等效的ASIC的IO管脚及所述ASIC的IO管脚的位置约束和电气约束;

根据所述FPGA工程文件和目标ASIC工艺确定所述ASIC的IP集合;

根据所述ASIC的IP集合和所述ASIC的IO管脚的位置约束,在所述ASIC的平面区域内布置所述ASIC的IO管脚和所述ASIC的硬IP。

在一些实施例中,所述根据FPGA工程文件和基于所述FPGA的系统,确定与所述FPGA等效的ASIC的IO管脚及所述ASIC的IO管脚的位置约束和电气约束包括:

基于所述FPGA的系统确定与所述FPGA等效的ASIC的每个IO管脚与其它IO管脚之间的相对位置关系,将其作为所述IO管脚的位置约束;

根据FPGA工程文件得到所述FPGA的IO电气约束;

根据所述FPGA的IO电气约束得到对应的所述ASIC的IO管脚的电气约束。

在一些实施例中,根据所述FPGA工程文件和目标ASIC工艺确定所述ASIC的IP集合包括:

根据目标ASIC工艺构建ASIC IP数据库;

根据所述FPGA工程文件得到所述FPGA的IP集合;

根据所述ASIC IP数据库得到与所述FPGA的IP集合对应的所述ASIC的IP集合。

在一些实施例中,根据所述ASIC的IP集合和所述ASIC的IO管脚的位置约束,在所述ASIC的平面区域内布置所述ASIC的IO管脚和所述ASIC的硬IP,包括:

对所述ASIC的IP集合进行分类,得到第一类硬IP集合和第二类硬IP集合;所述第一类硬IP为与ASIC的IO管脚有连接的硬IP,所述第二类硬IP为与ASIC的IO管脚无连接的硬IP;

对所述ASIC的IO管脚进行分类,得到与第一类硬IP有连接的第一类IO管脚和与硬IP无连接的第二类IO管脚;

建立第一类硬IP与第一类IO管脚之间的绑定关系;

根据所述第一类IO管脚的位置约束确定所述第一类IO管脚在所述ASIC上的物理位置,根据所述第一类IO管脚的物理位置对与其有绑定关系的第一类硬IP进行摆放;

根据所述第二类IO管脚的位置约束确定所述第二类IO管脚在所述ASIC上的物理位置;

在完成第一类硬IP的摆放后在所述ASIC的平面区域内对第二类硬IP进行摆放。

本发明还提供一种专用集成电路的布局规划装置,包括:

确定IO约束模块,用于根据FPGA工程文件和基于所述FPGA的系统,确定与所述FPGA等效的ASIC的IO管脚及所述ASIC的IO管脚的位置约束和电气约束;

确定IP模块,用于根据所述FPGA工程文件和目标ASIC工艺确定所述ASIC的IP集合;

布局规划模块,用于根据所述ASIC的IP集合和所述ASIC的IO管脚的位置约束,在所述ASIC的平面区域内布置所述ASIC的IO管脚和所述ASIC的硬IP。

在一些实施例中,所述确定IO约束模块,包括:

位置约束单元,用于基于所述FPGA的系统确定与所述FPGA等效的ASIC的每个IO管脚与其它IO管脚之间的相对位置关系,将其作为所述IO管脚的位置约束;

电气约束单元,用于根据FPGA工程文件得到所述FPGA的IO电气约束;根据所述FPGA的IO电气约束得到对应的所述ASIC的IO管脚的电气约束。

在一些实施例中,还包括:

数据库构建模块,用于根据目标ASIC工艺构建ASIC IP数据库;

所述确定IP模块,还用于根据所述FPGA工程文件得到所述FPGA的IP集合;根据所述ASIC IP数据库得到与所述FPGA的IP集合对应的所述ASIC的IP集合。

在一些实施例中,所述布局规划模块包括:

IP分类单元,用于对所述ASIC的IP集合进行分类,得到第一类硬IP集合和第二类硬IP集合;所述第一类硬IP为与ASIC的IO管脚有连接的硬IP,所述第二类硬IP为与ASIC的IO管脚无连接的硬IP;

管脚分类单元,用于对所述ASIC的IO管脚进行分类,得到与第一类硬IP有连接的第一类IO管脚和与硬IP无连接的第二类IO管脚;

建立绑定关系单元,用于建立第一类硬IP与第一类IO管脚之间的绑定关系;

布局单元,用于根据所述第一类IO管脚的位置约束确定所述第一类IO管脚在所述ASIC上的物理位置,根据所述第一类IO管脚的物理位置对与其有绑定关系的第一类硬IP进行摆放;根据所述第二类IO管脚的位置约束确定所述第二类IO管脚在所述ASIC上的物理位置;在完成第一类硬IP的摆放后在所述ASIC的平面区域内对第二类硬IP进行摆放。

本发明还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序时,实现前述任一项所述的专用集成电路的布局规划方法。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项所述的专用集成电路的布局规划方法。

与现有技术相比,本发明所提供的专用集成电路的布局规划方法、装置及存储介质,通过自动读取已有的FPGA工程相关信息,并以系统设计为约束,以最小化系统适配为目标,自动构造ASIC的布局规划,降低了系统研发风险,缩短了研发周期,提高了研发效率。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种专用集成电路的布局规划方法、装置及存储介质的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明的专用集成电路的布局规划方法的一个实施例的流程图;

图2是本发明的专用集成电路的布局规划装置的一个实施例的结构示意图;

图3是本发明的电子设备的一个实施例的结构示意图;

图4是本发明一个实施例中FPGA及其外围器件的结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在系统厂商将FPGA设计转化成ASIC设计时,基于FPGA的系统设计已经确定,具有如下特点:

1.搭载FPGA设计的PCB板设计已确定

2.FPGA的电源已确定

3.FPGA的外部输入时钟已确定

4.与FPGA连接的器件已确定

5.FPGA IO的使用方式已确定

6.FPGA的逻辑已确定

7.FPGA使用的IP已确定

为了最小化系统级改动,在将FPGA替换为功能等效的ASIC时,将以上系统设计特点作为ASIC的设计约束。

为此,本发明首先确定等效ASIC芯片的尺寸,从基于FPGA的系统设计(主要是搭载FPGA设计的PCB板)中获取ASIC设计的系统约束,根据系统约束(如FPGA与外围器件的连线)确定ASIC的IO管脚及这些管脚的物理位置约束;被系统使用的FPGA IO的电气约束作为对应的ASIC的IO管脚的电气约束;FPGA的逻辑等效转化为ASIC的逻辑;FPGA使用的IP等效转化为ASIC的IP。

在此基础上进行布局规划,即在ASIC芯片的平面区域内布置ASIC的IO管脚和ASICIP,使其满足系统规范,比如密度约束、时序约束和功耗约束等。下面进行详细阐述。

在本发明的一个实施例中,如图1所示,一种专用集成电路的布局规划方法,包括:

步骤S100根据FPGA工程文件和基于该FPGA的系统,确定与该FPGA等效的ASIC的IO管脚及这些IO管脚的位置约束和电气约束。

具体地,根据基于FPGA的系统确定系统约束,根据得到的系统约束确定ASIC的每个IO管脚与其它IO管脚之间的相对位置关系,将其作为该IO管脚的位置约束。比如,以矩形的ASIC芯片为例,ASIC芯片有4条边,根据系统约束可以确定哪些管脚适合放在哪条边,以及在同一条边的各个管脚的相邻关系。

系统约束主要由搭载FPGA芯片的PCB板上FPGA芯片与外围器件的信号连接关系决定。

ASIC管脚的位置约束主要由系统约束决定,并不是来自于FPGA芯片的IO管脚的物理位置约束。FPGA通常有很多IO管脚和很多资源,但最后使用的仅仅是部分IO管脚和部分资源,为了降低成本,使芯片小型化,需要去掉FPGA中无用的管脚和无用的资源,所以在转化成ASIC时,需要重新布置IO管脚的物理位置。

从FPGA工程文件或物理约束文件自动获取FPGAIO管脚的电气约束,将FPGA的IO电气约束作为对应的ASIC的IO电气约束。

电气约束包括:

1)标准约束,包括:电压,接口类型(如LVCMOS、LVDS、HSTL、SSTL、HSUL等),是否差分信号等。

2)驱动强度(Drive Strength)约束:用于描述IO的驱动能力,单位通常是mA。

3)摆率(Slew Rate)约束:用于描述IO的摆率。

4)上下拉(Pull Up/Pull Down)约束:用于描述IO是否有上下拉电阻,或在三态时保持输出不变。

5)开漏/开源(Open Drain/Open Source)约束:描述IO是否按照开漏或开源模式使用。

步骤S200根据FPGA工程文件和目标ASIC工艺确定ASIC的IP集合。

具体包括,根据目标ASIC工艺构建ASIC IP数据库;自动分析FPGA工程文件得到FPGA的IP集合;根据该ASIC IP数据库得到与FPGA的IP集合对应的ASIC的IP集合。

目标ASIC工艺是指纳米工艺技术,比如14纳米或28纳米工艺等。同样功能的FPGAIP,针对不同的纳米工艺,对应不同的ASIC IP。所以需要根据目标ASIC工艺构建对应的ASIC IP数据库,从ASIC IP数据库中获得与FPGA IP对应的ASIC IP。

步骤S300根据ASIC的IP集合和ASIC的IO管脚的位置约束在该ASIC的平面区域内布置ASIC的IO管脚和ASIC的硬IP。

布局规划阶段主要处理的是ASIC硬IP(即Hard IP)和ASIC IO管脚。

步骤S300进一步包括:

步骤S310:对ASIC的IP集合进行分类,得到第一类硬IP集合和第二类硬IP集合。

ASIC IP包括软IP(即Soft IP)和硬IP,Soft IP不影响布局规划,可在后端流程的布局(Placement)阶段处理;Hard IP需在本阶段进行布局。

Hard IP又分为:

1)带IO PAD的Hard IP:这类IP被IO管脚约束,需在布局规划阶段处理,属于IO约束的布局规划。

2)不带IO PAD的Hard IP,又分成两类:

自身不带IO PAD,但需要与IO PAD连接的Hard IP:这类IP被IO管脚约束,属于IO约束的布局规划。这类IP和与其连接的IO PAD作为一个整体进行布局规划。

自身不带IO PAD,也不需要与IO PAD连接的Hard IP:这类IP不被IO管脚约束,连接内部逻辑,可以使用EDA工具进行自动布局规划处理。

将与ASIC的IO管脚有连接的硬IP称为第一类硬IP,与ASIC的IO管脚无连接的硬IP称为第二类硬IP。

需要说明的是,本文提到的(即布局规划阶段涉及的)ASIC的IO管脚与IO PAD是同一概念,但与常规提到的IO pin是不同的。IO PAD是芯片内部看到的管脚,芯片封装后所看到的芯片外部的管脚是IO pin。IO PAD到IO pin之间有引线连接,在封装阶段完成。系统约束决定了IO pin的位置,对应的IO PAD在IO pin附近,所以IO pin的位置也就决定了IOPAD的位置。

步骤S320:对ASIC IO管脚进行分类,确定第一类IO管脚和第二类IO管脚。

根据IO约束对ASIC IO管脚进行分类,第一类IO管脚为与第一类硬IP有连接的管脚,第二类IO管脚为与硬IP无连接的管脚。第一类IO管脚包含两种情况,一种是该IO管脚同时是带IO PAD的硬IP的IO PAD;另一种是独立的IO PAD,不是硬IP的一部分,但是与某个硬IP有连接关系,在布局规划阶段,需要将这类IO管脚与其有连接关系的硬IP作为一个整体进行规划。

步骤S330:建立第一类硬IP与第一类IO管脚之间的绑定关系。

即将第一类IO管脚与其有连接关系的第一类硬IP之间进行关联,其中带IO PAD的硬IP与IO PAD之间已天然关联,主要是对不带IO PAD的硬IP与独立的IO PAD之间的连接关系进行主动关联。

步骤S340:根据第一类IO管脚的位置约束确定第一类IO管脚在ASIC芯片上的物理位置,根据第一类IO管脚的物理位置对与其有绑定关系的ASIC Hard IP进行摆放。

对于带IO PAD的Hard IP,IO PAD的位置也就决定了Hard IP的位置。对于不带IOPAD的Hard IP,其与IO PAD之间的连线越短越好,这类Hard IP一般直接放在IO PAD附近的芯片核心区域(core area)的边上。

步骤S350:根据第二类IO管脚的位置约束确定第二类IO管脚在ASIC芯片上的物理位置。

步骤S360:在完成第一类硬IP的摆放后在ASIC的平面区域内对第二类硬IP进行摆放。

其中步骤S340-360也可以改为:

根据IO管脚的位置约束确定所有IO管脚在ASIC芯片上的位置;

根据第一类IO管脚的位置确定与其有绑定关系的ASIC Hard IP的位置,之后,再确定第二类硬IP的位置。

本实施例,通过自动读取已有的FPGA工程相关信息,并以系统设计为约束,以最小化系统适配为目标,自动构造ASIC的布局规划,降低了系统研发风险,缩短了研发周期,提高了研发效率。

在本发明的一个实施例中,如图2所示,一种专用集成电路的布局规划装置,包括:

确定IO约束模块100,用于根据FPGA工程文件和基于所述FPGA的系统,确定与所述FPGA等效的ASIC的IO管脚及所述ASIC的IO管脚的位置约束和电气约束;

确定IP模块200,用于根据所述FPGA工程文件和目标ASIC工艺确定所述ASIC的IP集合

布局规划模块300,用于根据所述ASIC的IP集合和所述ASIC的IO管脚的位置约束,在所述ASIC的平面区域内布置所述ASIC的IO管脚和所述ASIC的硬IP。

在一个实施例中,确定IO约束模块包括:

位置约束单元,用于基于所述FPGA的系统确定与所述FPGA等效的ASIC的每个IO管脚与其它IO管脚之间的相对位置关系,将其作为所述IO管脚的位置约束;

电气约束单元,用于根据FPGA工程文件得到所述FPGA的IO电气约束;根据所述FPGA的IO电气约束得到对应的所述ASIC的IO管脚的电气约束。

在一个实施例中,还包括:

数据库构建模块400,用于根据目标ASIC工艺构建ASIC IP数据库;

确定IP模块200,还用于根据所述FPGA工程文件得到所述FPGA的IP集合;根据所述ASIC IP数据库得到与所述FPGA的IP集合对应的所述ASIC的IP集合。

在一个实施例中,布局规划模块包括:

IP分类单元,用于对所述ASIC的IP集合进行分类,得到第一类硬IP集合和第二类硬IP集合;所述第一类硬IP为与ASIC的IO管脚有连接的硬IP,所述第二类硬IP为与ASIC的IO管脚无连接的硬IP;

管脚分类单元,用于对所述ASIC的IO管脚进行分类,得到与第一类硬IP有连接的第一类IO管脚和与硬IP无连接的第二类IO管脚;

建立绑定关系单元,用于建立第一类硬IP与第一类IO管脚之间的绑定关系;

布局单元,用于根据所述第一类IO管脚的位置约束确定所述第一类IO管脚在所述ASIC上的物理位置,根据所述第一类IO管脚的物理位置对与其有绑定关系的第一类硬IP进行摆放;根据所述第二类IO管脚的位置约束确定所述第二类IO管脚在所述ASIC上的物理位置;在完成第一类硬IP的摆放后在所述ASIC的平面区域内对第二类硬IP进行摆放。

需要说明的是,本发明提供的专用集成电路的布局规划装置的实施例与前述提供的专用集成电路的布局规划方法的实施例均基于同一发明构思,能够取得相同的技术效果。因而,专用集成电路的布局规划装置的实施例的其它具体内容可以参照前述专用集成电路的布局规划方法的实施例内容的记载。

在本发明的一个实施例中,如图3所示,一种电子设备,包括存储器21、处理器22;

存储器21,用于存储计算机程序23;

处理器22,用于执行计算机程序23时实现如前述记载的专用集成电路的布局规划方法。

根据需要,本计算装置还可以包括输入输出设备、显示设备、网络接入设备及总线等。

在本发明的一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可实现如前述实施例记载的专用集成电路的布局规划方法。也即是,当前述本发明实施例对现有技术做出贡献的技术方案的部分或全部通过计算机软件产品的方式得以体现时,前述计算机软件产品存储在一个计算机可读存储介质中。计算机可读存储介质可以为任意可携带计算机程序代码实体装置或设备。譬如,计算机可读存储介质可以是U盘、移动磁盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器等。

本发明还提供一种具体应用,将前述的专用集成电路的布局规划方法应用于图4所示FPGA的等效ASIC设计。

具体如下:

1、根据ASIC目标工艺和对FPGA工程的分析可以得到

1)ASIC IP:ADC、DAC、DDR3、PLL、SRAM0、SRAM1

2)IO约束

系统约束:各个IO管脚在系统中的位置。

FPGA IO的电气约束:通过分析FPGA工程得到。

2、ASIC IP分类

自身不带IO PAD,也不需要与IO PAD连接的硬IP:SRAM0、SRAM1

自身不带IO PAD,但需要与IO PAD连接的硬IP:PLL

自身带IO PAD的硬IP:ADC、DAC、DDR3

3、绑定Hard IP和对应的IO PAD:PLL

4、摆放ADC、DAC、DDR3和“PLL+对应的IO PAD”,得到布局1。

5、基于布局1摆放独立IO PAD:TMS、TDI、TDO、TCK、GPIO、CSN1、MOSI1、MISO1、SCK1、RST_N、SDA、SCL、TX、RX、CSN0、MOSI0、MISO0、SCK0,得到布局2。

6、基于布局2使用EDA工具自动布局规划功能摆放连接内部逻辑的SRAM0、SRAM1,得到最终布局。

应当说明的是,上述实施例均可根据需要自由组合。以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种配送路径规划方法、装置及设备、存储介质
  • 一种路径规划方法、装置及计算机可读存储介质
  • 一种物流车辆路径规划方法及装置、设备、存储介质
  • 页面的布局方法及装置、存储介质、电子装置
  • 一种数据存储方法及装置、一种计算设备及存储介质
  • 一种城市公交充电站布局规划方法、装置及可读存储介质
  • 一种方舱布局规划方法、装置、电子设备以及存储介质
技术分类

06120116480782