一种fpga的物理实现方法及装置的制造方法-k8凯发

文档序号:8299263阅读:316来源:国知局
一种fpga的物理实现方法及装置的制造方法
【技术领域】
[0001]本发明涉及电子技术领域,特别涉及一种fpga的物理实现方法及装置。
【背景技术】
[0002]fpga(field programmable gate array,现场可编程门阵列)是一种通用型用户可编程器件。fpga既具有门阵列器件的高集成度和通用性,又有可编程逻辑器件用户可编程的灵活性。fpga采用了 lca(logic cell array,逻辑单元阵列),内部包括clb (configurable logic block,可配置逻辑模块)、1b (input output block,输出输入模块)和内部连线三个部分。fpga的基本特点主要有:采用fpga设计asic (applicat1nspecific integrated circuit,特定用途集成电路)电路,用户不需要投片生产,就能得到合用的芯片。fpga可做其它全定制或半定制asic电路的中试样片。fpga内部有丰富的触发器和1/0引脚。fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
[0003]为了使fpga在较高的速度稳定运行,可以对fpga进行自顶向下层次化实现。这样完成的设计,可以使各模块的可复用性,模块性能以及整体性能都得到大幅提升。
[0004]现有技术中,fpga的自顶向下层次化物理实现过程中的每一步都需要通过人工操作来完成。当fpga物理实现完成后,如果要进行修改,又需要从头开始操作,工作量大,总之,现有技术中的fpga的物理实现方法操作复杂。

【发明内容】

[0005]有鉴于此,本发明提供了一种fpga的物理实现方法及装置,能够降低fpga的物理实现的复杂度。
[0006]一方面,本发明提供了一种fpga的物理实现方法,包括:设置待实现的工程的配置文件和约束文件,设置物理实现脚本,还包括:执行所述物理实现脚本;
[0007]按照所述物理实现脚本的命令获取所述配置文件和约束文件;
[0008]按照所述物理实现脚本的命令根据所述配置文件对所述工程的顶层进行综合,生成顶层网表;
[0009]按照所述物理实现脚本的命令根据所述配置文件对所述工程中的每个模块进行综合,生成每个模块的模块网表;
[0010]根据所述约束文件对模块进行约束;
[0011]按照所述物理实现脚本的命令根据每个模块的模块网表对每个模块进行物理布局布线;
[0012]按照所述物理实现脚本的命令根据所述顶层网表对模块之间进行物理布局布线。
[0013]进一步地,所述根据所述约束文件对模块进行约束,包括:
[0014]根据所述物理约束文件对每个模块的放置位置以及每个模块的管脚位置进行布局。
[0015]进一步地,在所述按照所述物理实现脚本的命令根据每个模块的模块网表对每个模块进行物理布局布线之后,还包括:对每个模块的物理布局布线进行固化。
[0016]进一步地,在所述按照所述物理实现脚本的命令根据所述顶层网表对模块之间进行物理布局布线之后,还包括:按照所述物理实现脚本的命令生成携带fpga的资源占用信息的报告文件。
[0017]进一步地,所述物理实现脚本为工具命令语言tcl脚本。
[0018]另一方面,本发明提供了一种fpga的物理实现装置,其特征在于,包括:
[0019]第一设置单元,用于设置待实现的工程的配置文件和约束文件;
[0020]第二设置单元,用于设置物理实现脚本;
[0021]执行单元,用于执行所述物理实现脚本;
[0022]获取单元,用于按照所述物理实现脚本的命令获取所述配置文件和约束文件;
[0023]顶层综合单元,用于按照所述物理实现脚本的命令根据所述配置文件对所述工程的顶层进行综合,生成顶层网表;
[0024]模块综合单元,用于按照所述物理实现脚本的命令根据所述配置文件对所述工程中的每个模块进行综合,生成每个模块的模块网表;
[0025]约束单元,用于根据所述约束文件对模块进行约束;
[0026]模块布局单元,用于按照所述物理实现脚本的命令根据每个模块的模块网表对每个模块进行物理布局布线;
[0027]顶层布局单元,用于按照所述物理实现脚本的命令根据所述顶层网表对模块之间进行物理布局布线。
[0028]进一步地,所述约束单元,用于根据所述物理约束文件对每个模块的放置位置以及每个模块的管脚位置进行布局。
[0029]进一步地,还包括:固化单元,用于对每个模块的物理布局布线进行固化。
[0030]进一步地,还包括:报告生成单元,用于按照所述物理实现脚本的命令生成携带fpga的资源占用信息的报告文件。
[0031]进一步地,所述物理实现脚本为工具命令语言tcl脚本。
[0032]本发明提供的一种fpga的物理实现方法及装置,预先设置物理实现脚本,按照物理实现脚本的命令进行自动操作,节省了大量人工操作,降低了 fpga的物理实现的复杂度。
【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本发明一实施例提供的一种fpga的物理实现方法流程图;
[0035]图2是本发明一实施例提供的另一种fpga的物理实现方法流程图;
[0036]图3是本发明一实施例提供的一种fpga的物理实现装置示意图;
[0037]图4是本发明一实施例提供的另一种fpga的物理实现装置示意图。
【具体实施方式】
[0038]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]如图1所示,本发明实施例提供了一种fpga的物理实现方法,该方法可以包括以下步骤:
[0040]步骤101:设置待实现的工程的配置文件和约束文件;
[0041]步骤102:设置物理实现脚本;
[0042]步骤103:执行所述物理实现脚本;
[0043]步骤104:按照所述物理实现脚本的命令获取所述配置文件和约束文件;
[0044]步骤105:按照所述物理实现脚本的命令根据所述配置文件对所述工程的顶层进行综合,生成顶层网表;
[0045]步骤106:按照所述物理实现脚本的命令根据所述配置文件对所述工程中的每个模块进行综合,生成每个模块的模块网表;
[0046]步骤107:根据所述约束文件对模块进行约束;
[0047]步骤108:按照所述物理实现脚本的命令根据每个模块的模块网表对每个模块进行物理布局布线;
[0048]步骤109:按照所述物理实现脚本的命令根据所述顶层网表对模块之间进行物理布局布线。
[0049]通过本发明实施例提供的一种fpga的物理实现方法,预先设置物理实现脚本,按照物理实现脚本的命令进行自动操作,节省了大量人工操作,降低了 fpga的物理实现的复杂度。
[0050]在对工程进行物理布局布线之前,需要确定每个模块的放置位置和管脚位置。步骤107,包括:
[0051]根据所述物理约束文件对每个模块的放置位置以及每个模块的管脚位置进行布局。
[0052]另外,可以需要对任一模块的工作频率、工作时序进行约束,可以在物理约束文件中添加该约束,并在步骤107中实现。
[0053]在一种可能的实现方式中,在步骤108之后,还包括:对每个模块的物理布局布线进行固化。
[0054]为了能够让用户获知fpga的资源占用信息,能够根据fpga的资源占用信息对工程的物理实现进行及时调整,所述步骤109之后,还包括:按照所述物理实现脚本的命令生成携带fpga的资源占用信息的报告文件。
[0055]在一种可能的实现方式中,步骤102,包括:按照命令行模式执行所述物理实现脚本。
[0056]在一种可能的实现方式中,所述物理实现脚本为tcl脚本。
[0057]为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
[0058]如图2所示,本发明实施例提供了一种fpga的物理实现方法,该方法可以包括以下步骤:
[0059]步骤201:设置待实现的工程的配置文件和约束文件。
[0060]在配置文件中,包括工程中的各个模块、各个模块之间连接关系、各个模块内部的连接关系等。在约束文件中,包括对模块的放置位置的约束、对模块大小的约束、对模块的管脚位置的约束、对模块的工作频率及工作时序的约束等。
[0061]步骤202:设置物理实现脚本。
[0062]通过该脚本可以自动实现fpga的物理实现,无需复杂的人工操作。该脚本可以在fpga的物理实现软件中执行,通过调用该软件的功能来实现fpga的物理实现。
[0063]步骤203:执行所述物理实现脚本。
[0064]步骤204:按照所述物理实现脚本的命令获取所述配置文件和约束文件。
[0065]步骤205:
当前第1页1  
相关技术
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图