0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于可进化硬件EHW实现IP核的改进设计

电子设计 来源:单片机与嵌入式系统应用 作者:宗平,周叶丹 2021-06-22 14:37 次阅读

提出一种可进化IP核的设计和实现方法。这种IP核采用进化硬件的设计思想,将遗传算法运用于硬件电路的设计中,使电路能根据当前的环境自动进行内部电路的时化,从而生成最有效的电路,并能在普通的FPGA器件上实现。可进化IP核以HDL源泉代码的形式表示,与普通IP核的复用方式相同,可被综合到不同的目标可重构器件中去,大大减少了复杂系统的设计时间,提高了设计的利用率,是可进化硬件一个颇具潜力的发展方向。

随着信息技术的飞速发展,计算机系统面临的问题越来越复杂,如何保证复杂系统的可靠性成为一个不容忽视的问题。可进化硬件给我们提供了一个很好的解决方案。可进化硬件EHW(Evolvable Hardware)是将进化算法和可编程逻辑元件融合在一起而产生的一种新的硬件研究流派。当所使用的环境发生变化时,或被放置于未知的环境中时,这种硬件会自动地改变内部结构,使之经常处于最适合状态,快速高效地完成规定的任务。

可编程门阵列(FPGA)以其独有的优点为国外多数研究人员用作硬件进化平台。EHW利用FPGA的在线可编程技术(ISP)及动态重构技术,将FPGA的配置信息作为染色体,通过遗传算法(GA)对其进行反复的适应度计算,交叉和变异,最终进化出符号环境要求的个体(即电路配置),从而使电路适合环境的变化。

与此同时,随着FPGA技术的发展,芯片的性能越来越强、规模越来越大、开发的周期越来越长,使得芯片设计业正面临一系列新的问题:设计质量难以控制,设计成本也越来越高。IP(Intelligence Property)技术解决了当今芯片设计业所面临的难题。IP是指可用来生成ASIC和PLD的逻辑功能块,又称IP核(IP Core)或虚拟器件(VC)。设计者可以重复使用已经设计并经过验证的IP核,从而专注于整个系统的设计,提高设计的效率和正确性,降低成本。目前数字IP已得到了充分的发展,可以很方便地购买到IP核并整合到SoC的设计中。

因此,可以考虑将进化硬件的思想应用于IP核的设计中,设计一种可进化的IP核,根据当前的环境进化出相应的电路,并能够在普通的可重构器件中实现。

基于可进化硬件EHW实现IP核的改进设计

1 什么是可进化IP核

从进化硬件的经验可知,系统通常只有一部分是适应性的(可进化的),另一部分可以通过传统的不可变的电路来实现。同样,使用IP核构造的系统也是有些IP核是可进化的,有些IP核是不可变的。可进化的那些IP核称为可进化组件或可进化IP核。

可进化IP核像普通的IP核一样被存储在组件库中,在被下载并放在一个可重构器件中后,它们将自动地进化它们的内部电路。当不再需要适应性行为时,可以从可重构器件中删除可进化IP核。可进化IP核和普通IP核的复用方式相同。

2 可进化IP核的一般体系结构

如图1所示,可进化IP核由可重构电路,基因单元和控制器构成(本文中可重构电路是指可进化IP核内的一个部分;可重构器件是指整个可重构平台,如FPGA)。这里要强调的是,基因单元不包含适应度计算,它只实现基因的操作、染色体存储和适应度存储。适应度的计算和环境由其它的核来提供。基因单元生成一些配置并上载到可重构电路中去,环境对这些配置进行评估,并将适应度值发送给IP核。可进化IP核实际上是一个由环境控制的电路生成器。

环境(由其它核提出)和可进化IP核之间的通信如下:首先IP核被初始化(生成初始化种群),然后进入如下无限循环——当环境发生变化后,环境计算当前电路配置的适应度,并判断电路是否适应环境。如果染色体存储器中的配置不可用,则向IP核发出控制信息,IP核开始进化。即基因单元把硬件配置信息作为染色体,根据适应度对其进行交叉、变异等遗传操作,生成一个新的种群。环境对新种群进行适应度计算,并判断是否有满足当前环境的个体(配置)。若没有,向IP核发控制信息,遗传单元继续对电路配置进行进化,直至有满足当前环境的配置为止;若有,则将适应度值发给IP核,IP核用这个新生成的最优配置来重配置可重构电路,并在染色体存储器中保存当前最优配置及其适应度值,等待来自环境的下一个请求。

环境总是要求下载当前最优的进化电路,因此,IP核必须保存目前为止最优的配置,并且在需要的时候提供出去。可进化IP核总是屏蔽重构过程,因此它对于外部环境来说是不可见的。

对于一些特殊的应用,必须为它们开发专用的可进化IP核,因为反映应用的要求基因单元和可重构电路的体系结构将使进化过程优于一个随机的搜索。由于适应度计算是在IP核外进行的,因此IP核原则上支持动态适应度函数和无限的进化。可进化IP核可以用软件实现。

3 可进化IP核的实现

3.1 实现中的问题

可复用的IP核通常有软核、固核和硬核三种。本文讨论的是软核。本文的目标是,设计和实现以HDL源代码(例如,VHDL)表示的可进化IP核。其优点是IP核的表示独立于平台,这样它们就可以在各种不同的目标结构中运行。要解决的主要问题是,可进化的IP核的内部可重构电路的自动重构(因为它们是可进化的)。

当一个可进化IP核从一个组件库中被下载到可重构器件的一个指定位置时,它的内部可重构电路必须进行重构。这就意味着这个可重构器件中的一些可编程块必须能配置这个可重构器件的其它内部可编程块。另外,这个可进化IP核(它的基因单元)能被放置于这个可编程阵列(即可重构器件)的任何位置,也就是说,这个可重构器件中必须支持内部重构。

FPGA以其动态可重构的优点,无疑是可进化IP核的最佳实现平台。然而,通常的FPGA并不支持内部重构,而只允许通过一个特殊的配置接口外部重构(如图2)。目前,只存在一种支持内部重构的平台,就是单元阵列,但这种芯片目前还相当少。因此,为了在普通FPGA器件实现可进化IP核,使之能在实际应用中发挥作用,必须采用其它的一些方法。硬件虚拟化是基于FPGA的系统常用的一种设计技术。从这个思想出发,本文采用了一个被称为虚拟可重构电路的技术来实现可进化硬件中的内部可重构电路。但文中对设计虚拟可重构电路的概念进行了扩展。

3.2 虚拟可重构电路

一些FPGA芯片支持部分重构,也就是允许可重构系统的一部分重构,而不影响其余部分的运行。部分重构的优点在于,其重构所花的时间比全部重构更少。本文以支持部分重构的Xilinx Virtex FPGA为例,来说明虚拟可重构电路的实现。IP核可以动态地下载到FPGA或从FPGA删除。所有的操作都通过Virtex重构端口和Jbits接口来完成。当一个可进化IP核被下载时,它的重构位串在指定位置构靠下列单元;虚拟可重构电路、基因单元和控制器。

图2表明,虚拟可重构电路实际上是一种在普通FPGA上实现的新的可重构电路。本例中由八个可编程元素构成,由Virtex单元(slice)实现。Virtex单元实现新的可编程元素阵列、新的布线电路和新的配置存储器。虚拟电路能内部重构,但如果有其它新的配置存储器与之连接,也可从FPGA的I/O引脚配置。

这种方法的优点在于:可根据具体的应用需要准确地设计可编程元素阵列、布线电路和配置存储器。虚拟可重构电路的重构方式和粒度能准确地反映具体应用的需要。通过虚拟可重构电路,很容易把领域知识插入到基因单元和可重构电路的体系结构中,从而获得电路软件模型的精确实现。

图3给出了一个虚拟可编程元素的例子。这个虚拟可重构电路由8个这样的元素构成,有4个输入和2个输出。这些虚拟可编程元素称为可重配置功能块CFB(Configurable Functional Blocks)。每个CFB对应一个配置位串(这里的位串为6位),其中两个配置位决定了CFB的功能,其它四位定义了输入的连接信息。布线电路由多路器组成,它们由配置存储器中的位串控制。配置存储器由Virtex单元构成,一个Virtex单元包含两个触发器,用于存储配置位串中的两位。配置存储器的所有位都连到多路器,多路器控制布线和CFB中功能的选择。

虚拟可重构电路中CFB的数量由具体的应用决定。虚拟可重构电路用结构级VHDL语言来描述,但是一些基本的电路(例如“MAX”电路)用行为级来描述。虚拟可重构能在不同的目标器件下综合,目标器件并不需要支持部分重构。

3.3 基因单元和控制器

基因单元和控制器的实现通常有两种选择:采用普通微处理器实现,或者设计一个专用的电路来实现。

专用的电路是指一种进化算法的硬件实现,目前在可进化硬件领域已经开发了很多这样的实现。这种算法的优点是电路的进化速度快,适合于复杂的应用。

采用微处理器实现时,可以购买或免费获得现成的微处理器软核,如Xilinx提供的MicroBlaze和PicoBlaze微控制器IP核,Altera生产Nios核,等等。此外,如果给出的目标可重构器件中有片上处理器,可以使用片上处理器,Xilinx Virtex II Pro XC2VP50芯片包含四个PowerPC处理器。处理器必须通过编程来执行程序,它们能和核周围的环境进行通信并完成对染色体的基因操作。此外,处理器还负责内部虚拟可重构电路的重构。

4 结论

文中定义了数字系统设计的一个新的抽象级别,并将一些组件的方法引入可进化硬件的设计。为了实现可进化IP核,使用一种虚拟可重构电路。这种方法在门的数量方面代价稍大,但却能大大加快进化硬件的速度。

可进化IP核的设计目的主要是以合理的代价实现适应性和高性能实时系统,最常见的如图像压缩。本文提出的核的结构和接口都只是最基本的,实际应用中还可进行扩充。例如,还可以给核扩充一个读配置的端口,这个对于某些应用来说是必需的。或者在可进化IP核中包含两个虚拟可重构电路RC1和RC2。RC1实现当前最优的进化电路。电路不断进化在RC2中完成。如果RC2中进化出更好的电路,就把它的配置送入RC1,然后RC1以一系列数字电路的形式表现出对变化的环境的最佳的响应。

与以往的方法相比,本文提出的方法具有更强的适应性和可移植性。可进化IP核以HDL源代码的形式表示,易于重用和修改。此外,进化的配置位串也可以作为一种变化的IP核在其它应用中被重用。可进化IP核缩短了电路设计的时间,提高了设计的利用率,促进可进化硬件向实用化的发展。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593194
  • PLD
    PLD
    +关注

    关注

    6

    文章

    220

    浏览量

    59017
  • IP核
    +关注

    关注

    4

    文章

    317

    浏览量

    49043
收藏 人收藏

    评论

    相关推荐

    基于演化硬件技术的内进化容错模型设计与可靠性研究分析

    进化硬件(Evolution Hardware,EHW)指的是仿照自然界中以碳为基的生物进化过程,在现有的FPGA芯片基础上实现可控的“硅基
    的头像 发表于 12-04 09:15 2715次阅读
    基于演化<b class='flag-5'>硬件</b>技术的内<b class='flag-5'>进化</b>容错模型设计与可靠性研究分析

    基于IP的Viterbi译码器实现

    Viterbi译码的基本过程,接着根据Viterbi译码器IP的特点,分别详细介绍了并行结构、混合结构和基于混合结构的增信删余3种Viterbi译码器IP的主要性能和使用方法,并通
    发表于 04-26 16:08

    ATM流量控制器IP的设计和实现

    控制机制对当前变长分组骨干网的流量控制还是具有重要的参考价值,所以有必要对ATM的流量控制及其实现方式进行深入的研究。  IP是一段具有特定电路功能的硬件描述语言代码,该程序与集成电
    发表于 09-27 11:54

    USB_OTG_IP中AMBA接口的设计与FPGA实现

    USB_OTG_IP中AMBA接口的设计与FPGA实现
    发表于 08-06 11:40

    基于FPGA的IP8051上实现TCPIP的设计

    基于FPGA的IP8051上实现TCPIP的设计
    发表于 08-06 12:18

    fpga关于IP

    求用sopc builder定制IP的步骤,是9.0的软件,假设硬件代码已有
    发表于 09-14 18:35

    基于IP的PCI总线接口设计与实现

    。随着IC产业的迅速发展,传统的、基于标准单元的数字IC设计方法已经发展到基于IP(知识产权)复用的SoC设计方法,根据实现硬件描述级的不同,IP
    发表于 12-04 10:35

    基于IP的SoC接口技术

    是基于的免费开放的接口协议,可以根据不同IP的通信要求进行配置和扩展,能够实现硬件集成真正的即插即用,允许系统集成根据应用需要选择最好的
    发表于 06-11 05:00

    基于FPGA的数据采集控制器IP的设计方案和实现方法研究

    此提供了新的解决方案。IP(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率[3]。本文研究了基于FPGA的数据采集控制器
    发表于 07-09 07:23

    采用EDA软件和FPGA实现IP保护技术

    (Intellectual Property)IP由相应领域的专业人员设计,并经反复验证。IP的拥有者可通过出售
    发表于 07-29 08:33

    Altera浮点矩阵相乘IP怎么提高运算速度?

    语言编写的浮点矩阵相乘处理单元[1],其关键技术是乘累加单元的设计,这样设计的硬件,其性能依赖于设计者的编程水平。此外,FPGA厂商也推出了一定规模的浮点矩阵运算IP[2],虽然此IP
    发表于 08-22 06:41

    请问FPGA的高速多通道数据采集控制器IP设计怎么实现

    本文介绍的在电能质量监测系统中信号采集模块控制器的 IP,是采用硬件描述语言来实现的。
    发表于 04-08 06:33

    求大佬分享一种可进化IP的设计和实现方法

    求大佬分享一种可进化IP的设计和实现方法。
    发表于 06-04 06:16

    一种可进化IP 核的设计和实现

    提出一种可进化IP 核的设计和实现方法。这种IP 核采用进化硬件的设计思想, 将遗传算法运用于
    发表于 05-16 14:33 14次下载

    基于EHW可进化传感器的研究

    为克服常规传感器对信号采集和处理的局限,探求了一种具有智能传感并自适应于外部环境的机理,将常规传感器和可进化硬件相结合,提出了一种可进化传感器的基本框架,介绍
    发表于 06-10 16:26 11次下载