一种FPGA硬件构件的生成方法及装置制造方法及图纸

技术编号:3749579 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种FPGA硬件构件的生成方法,该方法包括:获取对应FPGA硬件构件的元构件;对所述元构件进行预处理,生成针对所述元构件的逻辑块网表;利用所述逻辑块网表进行硬件构件布局,生成硬件构件网表;根据所述硬件构件网表进行布线;生成可下载到FPGA的硬件构件配置信息文件。本发明专利技术还公开了一种FPGA硬件构件的生成装置。通过本发明专利技术,能够加快整个FPGA硬件构件的开发进程。

【技术实现步骤摘要】

本专利技术涉及计算机网络
,更具体地说,涉及一种FPGA硬件构件的生成方 法及装置。
技术介绍
随着IP (Internet Protocol,网络之间互连的协议)网络的蓬勃发展、新的应用不 断涌现,用户对网络带宽的要求也越来越高。运营商采用0C-192(10Gbps)接口的光纤传输 大大提高了光传输网络的容量,而路由器作为网络的主要节点设备,其处理速度就成为网 络通信的主要瓶颈之一。 在核心路由器设计中,转发引擎往往成为限制路由器性能提高的瓶颈,这不仅 是因为其功能的复杂性,更重要的是因为数据包的可用时间单元(ATU, available time unit)不断地减少。例如网络接口速率为lOGbp时,对40字节IP包而言,IP包的ATU仅 为32ns,而当速率为40Gbps时,ATU仅为8ns。 ATU指的是路由器处理单个任务的最大允许 时间,在进行各种任务的处理时,要求每一任务必须在ATU时间内完成,否则将导致数据包 阻塞和丢弃。要在这么短的时间里完成复杂的IP报文处理,必须采用流水线设计。考虑到 FPGA (Field Programmable Gate Array,现场可编程阵列)不仅有可编程能力,而且具有较 高的灵活性,便于实现多业务支持。同时,由于其可编程性是通过硬件实现的,因此可以提 供较高的处理速度,所以核心路由器一般选择了FPGA作为转发引擎的核心器件。 传统的FPGA电路设计需要经过如图1所示的处理流程。其中,逻辑综合把描述 FPGA功能的硬件描述语言翻译成最基本的与或非门的连接关系(网表),并根据要求(约 束条件)优化生成门级网表。 映射的主要作用是将门级网表映射到具体型号FPGA内部的器件上(例如查找表 (LUT)、触发器(FF)等),生成基本元件级网表。 装箱的目标就是把LUT和FF等电路功能元件进行组合,尽可能地放到具体型号FPGA内部的逻辑块中(逻辑块由若干LUT、 FF组成),生成逻辑块网表。 布局布线根据用户约束和物理约束,对逻辑块进行实际的布局,并根据设计连接,对布局后的模块进行布线。最后生成可直接下载到FPGA中的配置信息文件。 传统对FPGA上的硬件构件开发时,将用户编写的针对整个硬件构件的硬件描述语言统一进行逻辑综合、映射、装箱和布局布线处理。用户开发每个构件时都要将针对每个构件的硬件描述语言统一进行FPGA电路设计流程处理。 由于专业领域的差异,目前市场上各设备制造商针对不同的网络环境(如电信 网、互联网或广电网)设计不同的网络设备。而基于技术垄断和商业利益的考虑,即使对于 同一网络环境的设备制造商来说,其设备的内部接口一般也是不公开的。各厂家生产的网 络设备对于用户和其他厂商来说是封闭的,没有开放的操作接口。除了生产厂家外,用户和 其他厂家均无法了解该网络设备的底层构成如硬件构件的具体情况。用户无法对设备进行 修改、扩展或升级,这种工作只能由原厂家才能完成。4 上述现象使得用户无法根据设备工作的具体网络环境和功能需求对设备底层的 硬件构件进行修改,从而导致在不同的网络环境下需要配备不同的设备。对于设备中的可 重构硬件体来说,其无法通过下载不同的硬件构件来适应不同的网络环境或同一网络环境 下的不同业务应用,带来资源的浪费,限制了硬件体的可重构应用范围。 为了避免上述情形的出现,现有技术中提出一种基于硬件元构件的硬件构件开发装置,通过该装置用户可以有效开发出适应不同网络环境、不同业务应用的硬件构件,充分 利用网络设备底层可重构硬件体资源,降低网络设备的成本,增强其灵活性和扩展性。该装置分为三层,分别为统一操作层、个体操作层和硬件抽象函数适配层,如图2所示。 统一操作层包含所有用户都可调用的开放的统一操作接口 ,该接口提供统一的控制信息协议标准、数据交换承载等标准。用户开发构件的符合上述标准的指令通过开放的统一操作接口到达硬件抽象函数适配层。该标准指令携带目的构件的位置信息、网络环境信息和功能信息。 个体操作层包含驱动函数存储单元和硬件元构件库。驱动函数存储单元用于存储 对应于各种可重构硬件体类型的驱动函数。硬件元构件库包含用户可以调用的与网络环境 相对应的硬件元构件。 硬件抽象函数适配层包含抽象适配函数存储单元、第一执行单元和第二执行单 元,向下屏蔽设备底层不同可重构硬件体操作接口的差异,向上连接开放的统一操作接口。 第一执行单元根据标准指令中的位置信息确定抽象适配函数存储单元中相应的抽象适配 函数,利用该抽象适配函数调用个体操作层中对应的驱动函数;根据标准指令中的网络环 境信息在个体操作层中对应的硬件元构件库中确定和标准指令中的功能信息相应的硬件 元构件,利用驱动函数调用这些硬件元构件,生成可下载到可重构硬件体的硬件构件。第二 执行单元当个体操作层中硬件元构件库中没有与标准指令中功能信息相应的硬件元构件 时,接收用户根据功能信息并利用驱动函数编写的硬件编程程序,生成硬件元构件并存储 于所述硬件元构件库中,已备后续使用。 该硬件构件生成装置向外提供规范开放的统一操作接口,屏蔽了设备底层不同可 重构硬件体操作接口的差异性。用户通过该装置开发构件时,不必考虑设备底层可重构硬 件体的不同操作接口 ,只需向该装置开放的统一操作接口发送标准指令,从而大幅度减轻 了开发硬件构件的难度。 然而,描述硬件构件的硬件描述语言映射到硬件电路要经过逻辑综合、映射、装箱 和布局布线阶段的处理,传统方案不考虑元构件的组成而将整个硬件构件设计进行统一处 理。而可重构设备要经常以元构件为基本单位进行硬件构件开发,不考虑元构件的组成而 将整个硬件构件设计进行统一处理效率低下。
技术实现思路
有鉴于此,本专利技术实施例提供一种FPGA硬件构件的生成方法及装置,以便加快整 个FPGA硬件构件的开发进程。 本专利技术实施例提供一种FPGA硬件构件的生成方法,所述方法包括 获取对应FPGA硬件构件的元构件; 对所述元构件进行预处理,生成针对所述元构件的逻辑块网表;5 利用所述逻辑块网表进行硬件构件布局,生成硬件构件网表; 根据所述硬件构件网表进行布线; 生成可下载到FPGA的硬件构件配置信息文件。 优选的,所述对所述元构件进行预处理包括 生成针对所述元构件的硬件描述语言; 对所述元构件对应的硬件描述语言进行逻辑综合处理,生成对应所述元构件的门 级网表; 对所述门级网表进行映射处理,生成对应所述元构件的基本元件级网表; 对所述基本元件级网表进行装箱处理,生成对应所述元构件的逻辑块网表。 优选的,所述利用所述逻辑块网表进行硬件构件布局包括 根据所述元构件的流水线处理模式,将对应所述元构件的逻辑块布局到相应元构 件的初始位置; 采用模拟退火算法对布局到相应元构件的初始位置的逻辑块进行二次布局。 优选的,所述方法还包括 建立元构件库,以存储对应所述元构件的逻辑块网表。 优选的,当所述硬件构件分别对应不同型号的FPGA时,所述建立元构件库具体 为建立针对所述不同型号的FPGA的元构件分库,以存储相应FPGA的元构件的逻辑块网表。 相应地,本专利技术还提供了一种FPGA硬件构件的生成装置,所述装置包括 元构件获取模块,用于获取对应FPGA硬件构件的元构件; 逻辑块网表模块,用于对所述元构件进本文档来自技高网
...

【技术保护点】
一种现场可编程阵列FPGA硬件构件的生成方法,其特征在于,所述方法包括:获取对应FPGA硬件构件的元构件;对所述元构件进行预处理,生成针对所述元构件的逻辑块网表;利用所述逻辑块网表进行硬件构件布局,生成硬件构件网表;根据所述硬件构件网表进行布线;生成可下载到FPGA的硬件构件配置信息文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:兰巨龙李鹏汪斌强黄万伟王婷邬钧霆王保进于婧李印海曲剑
申请(专利权)人:中国人民解放军信息工程大学
类型:发明
国别省市:41[中国|河南]

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

1