CN106886505A - 多波形运行的局部动态可重构系统 - Google Patents

多波形运行的局部动态可重构系统 Download PDF

Info

Publication number
CN106886505A
CN106886505A CN201710048536.4A CN201710048536A CN106886505A CN 106886505 A CN106886505 A CN 106886505A CN 201710048536 A CN201710048536 A CN 201710048536A CN 106886505 A CN106886505 A CN 106886505A
Authority
CN
China
Prior art keywords
bus
fpga
waveform components
waveform
module
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.)
Pending
Application number
CN201710048536.4A
Other languages
English (en)
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.)
Southwest Electronic Technology Institute No 10 Institute of Cetc
Original Assignee
Southwest Electronic Technology Institute No 10 Institute of Cetc
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 Southwest Electronic Technology Institute No 10 Institute of Cetc filed Critical Southwest Electronic Technology Institute No 10 Institute of Cetc
Priority to CN201710048536.4A priority Critical patent/CN106886505A/zh
Publication of CN106886505A publication Critical patent/CN106886505A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种多波形运行的局部动态可重构系统,旨在提供一种能够降低综合化通信系统功耗、复杂度和体积的局部动态可重构系统,本发明通过下述技术方案予以实现:在FPGA中,设置通过FPGA内部总线互联的总线桥接模块和总线译码模块,波形组件加载控制处理器通过总线桥接模块、总线译码模块将需要加载的波形组件容器数据写入挂接在FPGA内部总线挂载接口上的局部重构配置模块;总线译码模块通过挂载接口连接产生不同工作时钟的时钟管理单元CMT和包含有波形组件的各个波形组件容器的网表文件,运用Xilinx公司提供的综合软件将所有网表文件进行综合生成码流文件,并将码流文件转换为二进制数据而获得用于动态加载的波形组件数据。

Description

多波形运行的局部动态可重构系统
技术领域
本发明属于数字信号处理领域,是关于一种用于综合化通信系统领域,能够实现多种通信波形之间动态切换运行的结构和方法,即通信多波形运行结构和方法,特别涉及一种基于FPGA局部重构来增强系统波形能力的多种通信波形动态切换运行结构。
背景技术
早期的通信系统,无论是机载通信终端、舰载通信终端还是携带移动电台,大多表现为一个独立端机,且仅能够实现一般的话音通信或简单数据传输等单一业务功能,满足最基本通信需求的独立端机。由于通信系统集成发展的要求,现在的通信系统需要嵌入到整机系统中,并且需要整合更多的业务功能,如图像传输等,从而成为综合化通信系统。随着现代通信系统的发展,单一的独立端机通信信号处理方法已经不能满足复杂环境下的通信需求。如用于航海的船舶自动识别系统AIS(Automatic Identification System)、用于着陆引导的仪表着落系统ILS(Instrument Landing System)、用于识别询问应答/二次监视IFF(Identification Friend or Foe)/SSR(Secondary Surveillance)、用于空中导航的空中导航系统TACAN(Tactical Air Navigation)以及各种频段、环境和功能要求下所使用的不同通信方法,这通信系统功能和方法都需要收发信机进行联络或数据交互,因此均需要进行远距离通信,且采用了不同的通信信号处理方法,因此这些系统功能或方法中所具有的通信信号处理部分均可综合到综合化通信系统中,以扩展综合化通信系统的能力,满足各种需求,从而逐渐成为现代通信系统设计和发展的一种思路。由于不同的通信处理方法所得到的射频波形不同,因此在通信领域,通信波形也代指了特定的通信处理方法。随着综合化通信系统所集成的通信波形的增多,导致综合化通信系统逐渐变得越来越复杂,越来越庞大,这使得现代的通信设备难以做到小型化、低功耗。由于不同通信波形的应用场景和时机不同,因此现场可编程门阵列FPGA局部重构为多波形综合提供了一个很好的解决方案。
随着FPGA芯片技术的逐步成熟和发展,FPGA在各个领域中的应用逐渐扩大,芯片内部的资源规模也成倍增加。但是,随着FPGA容量的扩大,FPGA的设计和实现也渐渐出现了下面的瓶颈问题:
1)FPGA芯片内部布线随着设计复杂度的增加,布线的难度成平方增加,布线的时间也成倍增加。
2)对于大容量的FPGA,为了保证设计时约定的性能,为了满足时序约束条件,最终实现版本的实际资源利用率反而下降。
3)大容量的FPGA一旦设计完成后,对其进行部分模块的调整和优化经常需要很长时间。
在此上述这些原因的基础上,FPGA的重配置技术应需而生。FPGA重配置技术分为完全重配置技术和部分动态可重构技术两种。其中FPGA完全重配置技术就是通过FPGA外部的配置处理单元,通过对FPGA配置管脚的编程,来实现整个FPGA内容的切换,这种方式在目前已经得到了较为广泛的应用。而FPGA部分动态可重构技术是通过FPGA内部或外部的配置处理单元,对FPGA内部部分资源的时分复用,来实现FPGA内部部分模块的切换。作为一种新型的数字电路设计概念,可重构计算兼容了硬件计算速度快和软件设计的灵活性等特点。局部动态可重构指的是当可重构系统在运行时,其中某个功能模块按照预定义的方式进行重配置,且不影响系统整体的正常运行。局部动态可重构通过实现模块的配置与运行的并行处理,一定程度上弥补了可重构计算因配置而在时间上的开销。随着FPGA制造工艺的高速发展,局部动态可重构技术逐渐成为当代嵌入式计算的研究和发展的重要方向。局部动态可重构是指在系统运行时允许可重构器件的一部分进行重新加载配置数据,重配置过程中非改动部分不受影响继续工作。局部动态可重构拥有时域上的连续性、配置数据的规模大大减小等特点,一定程度上可以节省配置时间,缩减系统设计尺寸,提高效益。局部动态可重构系统既具有硬件的高速处理能力又具有软件的灵活性,因此在可重构计算,高速数字滤波器,基因组分析,软件无线电,小波变换,图像处理等方面具有较高的应用价值。由于FPGA具有可编程性,可重构计算在应用时非常灵活,开发人员可以根据需要设计可重构计算逻辑单元,从而使得可重构计算在应用中达到真正的并行。进行系统重构时,局部动态可重构技术只对局部资源进行重新配置,而且对现有的执行任务来说重构是不可见的,所以在理论上可以无限的减少系统重配置时间,提高系统稳定性。当系统出现问题时,局部动态可重构技术可以将硬件分区进行隔离,通过对剩下的逻辑资源进行重配置,使用部分资源完成整体任务,从而提高系统的稳定性。FPGA当属目前综合性能较高的器件之一,弥补了集成电路器件灵活性的欠缺和可编程器件门电路较少等缺点。
对这两种配置技术进行比较,可以看到FPGA部分动态可重构技术的优势在于以下这些方面:
1)提高了配置速度。完全重配置需要配置整个FPGA的比特流文件,而部分动态可重构技术只需要配置相应模块的逻辑内容,文什大小相差悬殊,在相同的配置时钟频率下,部分动态可重构技术的配置速度是完全配置的几分之一或者几十分之一。
2)省略了完全配置后的复位、下达参数的流程。完全重配置在配置完成后,整个FPGA处于初始状态,需要重新对接口进行初始化,并配置运行参数。而部分动态可重构技术不用进行全局复位,下达参数也只需要针对重构的模块。
3)保存了FPGA运行的中间结果和数据。完全重配置很难保存FPGA运行的中间结果,如果外接DDR SDRAM等存储单元,也会因为接口的重新复位而导致数据混乱,而部分动态可重构技术完全不用担心这些问题。
部分动态可重构技术具有上述相对与完全重配置技术的优势外,也和完全重配置技术一样,具有低功耗和灵动性高的优点,并且具备远程加载功能,可以通过有线网络或者无线网络来实现超距环境下的FPGA功能变更。部分动态可重构技术和完全重配置技术相比,对FPGA设计人员的开发能力和规划能力要求更高。可重构技术是一种通过改变硬件结构来实现不同系统功能的技术,是借助可重构硬件,通过改变系统结构来完成各种不同的功能。可重构技术的本质是FPGA芯片的全部或部分逻辑资源在一定控制逻辑的驱动下,通过时分复用的方式,在同一逻辑资源上实现不同的功能。为了实现动态重构:目标任务要被划分为多个配置文件,每次在可重构逻辑器件上加载的配置文件与目标任务中的一个子任务相对应,因此在整个任务的执行过程中需要对可重构逻辑器件进行多次重构。根据重构过程中占用逻辑资源的不同,又将动态可重构技术分为动态整体重构和动态局部重构。动态整体重构,是在每次重构时都需要重新配置可重构逻辑器件上的全部计算资源。动态整体重构首先需要将目标任务在时间维度上划分为多个阶段,然后把每个阶段都设计实现为一个需要占用全部可重构逻辑资源的全器件配置文件;在执行过程中通过将每个阶段对应的全器件配置文件依照时间顺序先后配置到可重构逻辑器件上,最终完成目标任务,属于传统意义的动态重构。为了保证目标任务在执行上具有连续性,动态重构技术需要尽量缩短重构过程所耗费的时间,而静态重构技术则没有这方面的需求。相比静态重构技术,动态重构技术是一种更加灵活高效的可重构技术是当前可重构技术的研究重点。
发明内容
本发明的目的针对现有技术存在的不足之处,提供一种能够降低综合化通信系统功耗、复杂度和体积,并能提高综合化通信系统系统稳定性,易于扩展的多波形运行的局部动态可重构系统,以解决综合化通信系统大体积、高功耗的问题。
本发明的上述目的可以通过以下措施来达到,一种多波形运行的局部动态可重构系统,包括:波形组件加载控制处理器、现场可编程门阵列FPGA,其特征在于:在FPGA中,设有通过FPGA内部总线互联的总线桥接模块和总线译码模块,总线译码模块生成FPGA内部总线挂载接口,FPGA内部总线挂载接口挂接动态时钟配置模块、局部重构配置模块、其它自定义模块和N个波形组件容器;波形组件加载控制处理器通过外部扩展总线连接FPGA对外总线接口,通过总线桥接模块、总线译码模块将波形组件数据传输到FPGA内部总线挂载接口,将需要加载的波形组件容器数据写入挂接在FPGA内部总线挂载接口上的局部重构配置模块,对挂接在FPGA内部总线挂载接口上的波形组件容器进行动态加载、耦合操作和复位操作,构成多波形运行的通信数据交互通路;总线译码模块通过挂载接口连接产生不同工作时钟的时钟管理单元CMT和包含有波形组件的各个波形组件容器的网表文件,运用Xilinx公司提供的综合软件将所有网表文件进行综合生成码流文件,并将码流文件转换为二进制数据而获得用于动态加载的波形组件数据。
本发明相比于现有技术具有如下有益效果。
1)减小了综合化通信系统复杂性。本发明利用FPGA的局部重构技术,通过FPGA内部总线互联的总线桥接模块、总线译码模块、动态时钟配置模块和局部重构配置模块,通过外部扩展总线将波形组件数据传输到FPGA中的局部重构配置模块,构成多波形运行的通信数据交互通路的局部重构的方式,可以使得多种通信波形部署在同一个模块当中,达到硬件资源分时复用的效果,极大的简化了综合化通信系统的体积和复杂度。
2)减小了通信系统体积,降低了功耗。本发明基于FPGA重构,采用波形组件加载控制处理器通过FPGA对外总线接口,将需要加载的波形组件容器数据写入FPGA中挂接在由总线译码模块生成的FPGA内部总线挂载接口上的局部重构配置模块,并将挂接在FPGA内部总线挂载接口上的波形组件容器进行动态加载、耦合操作和复位操作,通过配置挂接在由总线译码模块生成的FPGA内部总线挂载接口上,产生工作时钟的时钟管理单元CMT获得不同工作时钟,通过生成包含有波形组件的各个波形组件容器的网表文件,将所有网表文件进行综合生成码流文件,并将码流文件转换为二进制数据从而获得用于动态加载的波形组件数据,单模块实现多种波形使得系统体积大大减小,更有利于实现小型化、低功耗设备。
3)提高了系统的稳定性。本发明通过FPGA内部总线互联的总线桥接模块、总线译码模块、动态时钟配置模块、局部重构配置模块、波形组件加载控制处理器实现局部重构,可以将多种波形组件预先存储在外部存储器中,通过分时复用的方式使得单个模块能够加载并运行各种预定的波形,减少了模块数量,降低了系统复杂性,也就意味着提高了系统的稳定性。FPGA局部重构技术在很大程度上提高了FPGA的利用率。
4)提高了通信系统部署的灵活性。本发明采用一致的硬件模块,通过局部重构的方式使模块实现不同功能,可以使得系统在不同的应用场景下实现不同的功能,提高了系统部署的灵活性。由于多种通信波形均存储在外部存储器中,可以随时升级或添加通信波形,因此增强了综合化通信系统能力,使得通信系统具有极强的可扩展性和部署的灵活性。同时对于已经存在的系统,可以通过开发新的波形组件,很方便的扩展或升级系统的功能。
5)采用FPGA局部重构技术实现对通信波形的任意切换。本发明利用FPGA的局部重构技术实现对多种通信波形的无缝动态切换,采用动态时钟配置满足多波形运行的需求。FPGA的局部重构能够在不影响FPGA中其它部分的功能同时,置换其中某一部分功能,实现了系统功能的无缝切换,能够大大增强通信系统的多波形综合能力。而且FPGA的局部重构只对FPGA中的部分电路进行重配置,且配置过程中不会使得FPGA管脚处于三态,配置后也不会复位整个FPGA,因此整个局部重构过程不会影响FPGA的其他部分功能,使得FPGA能够实现真正意义上的功能无缝切换。
6)易于扩展。本发明通过设计FPGA内部总线互联,使得所有模块均可以通过总线挂接的方式进行模块间的数据交互。采用FPGA局部重构的方式重新实现了多波形多通道综合化通信系统,避免了为每个波形单独设计硬件系统,而是采用同一个硬件模块,即可分时复用完成多个通信波形功能。通过外部存储波形组件数据和动态加载的方式,能够轻松的扩展通信系统的通信波形,也可以使得同一个通信系统方便的部署在不同的应用环境中,标准的FPGA内部总线互联使得通信多波形运行结构清晰,易于移植和扩展。使得综合化通信系统易于扩展和部署,易于移植和扩展。
本发明充分利用CMT的动态重配置功能,提出在波形组件加载过程中动态修改时钟的方式,解决了多波形工作时钟不一致的问题。
附图说明
图1是多波形运行的局部动态可重构系统原理示意图。
图2是图1波形组件容器结构示意图。
图3是外部总线接口示意图。
图4是动态时钟配置模块结构示意图。
图5是局部重构配置模块结构示意图。
具体实施方式
在以下描述的实施例中,一种多波形运行的局部动态可重构系统,包括:波形组件加载控制处理器、现场可编程门阵列FPGA,由于运行多通道多波形,需要消耗较多的FPGA资源,因此采用其资源足够支持多个通信波形同时运行的Xilinx公司的FPGA作为运行载体,可以选用XC7KLX325T作为运行结构的物理载体。采用ISE design suite 14.7进行开发设计,除波形组件加载控制处理器外,其它部分均运行于FPGA中。依据综合化通信系统实际需求,可以采用任何一种具备外部扩展总线的处理器作为波形组件加载控制处理器,并通过外部扩展总线与FPGA连接。因此,在FPGA中,设置通过FPGA内部总线互联的总线桥接模块、总线译码模块,总线译码模块生成进行模块间的数据交互的FPGA内部总线挂载接口,并通过FPGA内部总线挂载接口挂接动态时钟配置模块、局部重构配置模块、其它自定义模块和N个波形组件容器;波形组件加载控制处理器通过外部扩展总线连接FPGA对外总线接口,通过总线桥接模块、总线译码模块将波形组件数据传输到FPGA内部总线挂载接口,将需要加载的波形组件容器数据写入挂接在FPGA内部总线挂载接口上的局部重构配置模块,对挂接在FPGA内部总线挂载接口上的波形组件容器进行动态加载、耦合操作和复位操作,构成多波形运行的通信数据交互通路的局部重构的方式;总线译码模块通过挂载接口连接产生不同工作时钟的时钟管理单元CMT和包含有波形组件的各个波形组件容器的网表文件,运用Xilinx公司提供的综合软件将所有网表文件进行综合生成码流文件,并将码流文件转换为二进制数据而获得用于动态加载的波形组件数据。
波形组件加载控制处理器通过外部扩展总线将波形组件数据传输到FPGA中的局部重构配置模块,实现通信波形加载。波形组件加载控制处理器可以将多种波形组件预先存储在外部存储器中,通过分时复用的方式使得单个模块能够加载并运行各种预定的波形,实现局部重构。所述的外部扩展总线至少包括片选信号、读使能信号、写使能信号、数据线和地址线,其中,片选信号用于选择总线设备,是总线设备的使能信号,读使能信号用于表示总线读操作,写使能信号用于表示总线写操作,数据线用于传输总线数据,地址线用于表示总线访问的地址。
依据综合化通信系统中所选用的波形组件加载控制处理器,根据其外部扩展总线接口的信号定义,设计能够与其外部扩展总线接口进行连接的外部总线接口。对外总线接口和FPGA内部总线互联负责构成通信多波形运行结构的数据交互通路。为了实现不同总线类型之间的转换和局部重构配置模块、动态时钟配置模块等模块的互联,总线译码模块和总线桥接模块通过FPGA内部总线互联。总线译码模块将总线的地址线所能表达的地址空间划分为N个地址空间,对总线的地址线进行译码,生成N个一一对应地址空间的总线接口,将N个总线接口作为供局部重构配置模块、动态时钟配置模块等模块连接的FPGA内部总线挂载接口。
根据总线类型的需要,总线桥接模块通过对总线信号线进行逻辑处理,从而实现外部总线接口与FPGA内部总线之间,以及内部不同位宽或不同类型的总线之间的转换,使得运行于FPGA内的通信多波形运行结构无需改动局部重构配置模块、动态时钟配置模块等模块的接口,就能够方便的与不同的波形组件加载控制处理器进行连接。
需要设计编写如下几个FPGA模块的代码实现:采用硬件描述语言HDL编写对外总线接口、总线译码模块、总线桥接模块、动态时钟配置模块和局部重构配置模块各个模块的FPGA代码,按图1方式对各个模块进行连接,构成通信多波形运行结构的静态部分,即图1中FPGA中除波形组件容器之外的部分。动态时钟配置模块挂接在由总线译码模块生成的挂载接口上,以便由波形组件加载控制处理器进行访问控制。动态时钟配置模块采用FPGA内的时钟管理单元CMT产生时钟,通过时钟管理单元CMT的动态重配置端口DRP,按照Xilinx公司提供的FPGA芯片时序对时钟频率进行动态配置。时钟管理单元CMT内包含锁相环PLL和多模时钟管理单元MMCM两种时钟产生单元。不同的时钟产生单元的频率设置算法不同,波形组件加载控制处理器需要依据所采用的时钟产生单元采取相应的频率设置算法对其进行配置。波形组件加载控制处理器利用Xilinx公司提供的专有的频率设置算法获得配置数据,通过时钟管理单元CMT的动态重配置端口DRP按照FPGA芯片所要求的时序对时钟管理单元CMT进行动态配置,从而产生各个波形运行所需要的不同时钟。
局部重构配置模块采用FPGA内的内部配置访问口ICAP对FPGA进行配置数据的加载,挂接在由总线译码模块生成的内部设备挂载接口上。波形组件加载控制处理器向局部重构配置模块写入实现对FPGA配置数据加载的波形组件数据。波形组件加载控制处理器也可以通过访问该局部重构配置模块实现对波形组件的复位和耦合/解耦合操作。解耦合是将波形组件与其他部分的连接断开,避免在波形组件数据加载过程中,外部信号的变化对波形组件的初始状态产生不利影响。耦合是解耦合的反操作,是将波形组件与其他部分进行连接,使得波形组件能够正常工作。
波形组件由通信波形的设计开发人员,即波形提供方提供,由于需要对波形组件进行编译处理,因此波形组件可以为FPGA代码文件或网表文件。波形组件通过与波形组件容器内的接口相连,可以获取处理数据或将处理结果通过波形组件容器的数据接口送出,也可以通过总线接口被波形组件加载控制处理器访问。由于不同通信波形的设计开发人员所提供的波形组件接口可能略有不同,为了使得所有波形组件都能够正确加载到通信多波形运行结构中,为不同的通信波形的设计开发人员所提供的波形组件设计不同的波形组件容器的FPGA代码实现,如图2所示。其中,波形信息模块中包含相应波形的波形信息,本实施例中,波形信息为预先定义的波形编号,通过此波形编号,波形组件加载控制处理器可以方便的确定每个通道当前所加载的波形。
波形组件容器被设计为包括:波形内总线译码模块、挂接在波形容器内总线上的波形信息模块和波形组件。波形内总线译码模块将波形组件容器内总线进行译码,得到4个设备挂载接口,两个用于挂接波形组件和波形信息模块,另外两个用于扩展保留。波形组件容器采用所设计的通用通信波形接口作为对外接口,并挂接在总线译码模块生成的挂载接口上。所述的通用通信波形接口包括:时钟信号接口、复位信号接口、总线接口、数据接口、离散自定义接口和调试接口,所述的调试接口为内嵌逻辑分析仪核ILA与控制核ICON之间的接口,所述的总线接口能够与内部总线挂载接口连接,使得波形容器内总线能够通过通用通信波形接口的总线接口与FPGA内部总线进行连接,所述的数据接口和离散自定义接口用于波形组件容器与外部的数据交换,如模数转换器采样数据等。加载控制处理器通过访问挂接在波形容器内总线上的波形信息模块,获得当前被加载并运行的通信波形信息。
在FPGA内进行波形组件区域划分,以便放置不同的波形组件容器。在FPGA中,划分为包含的FPGA资源能够满足一个通信波形需求的波形组件区域,即采用物理区域约束AREA_GROUP约束,创建多个大小基本一致的物理约束块Physical block,每个物理约束块Physical block映射到唯一的波形组件容器。
编写综合脚本,对FPGA代码进行综合,得到FPGA下载码流文件,并由下载码流文件得到波形组件数据。对FPGA代码进行综合具体为:使用工具命令语言TCL编写综合脚本,依次包含对FPGA代码的综合、翻译、映射、布局布线、设计规则检查DRC、时序分析、码流生成、一致性校验和波形组件数据生成等步骤。使用该综合脚本首先调用由Xilinx公司所提供的综合器对前面所述的静态部分进行综合,生成静态部分的网表文件,然后调用由Xilinx公司所提供的综合器对波形组件容器进行综合生成包含有波形组件的各个波形组件容器的网表文件。选取消耗FPGA资源最多的波形组件容器,将其网表文件与静态部分网表文件进行综合并进行布局布线生成基础的网络配置数据NCD文件。使用综合脚本调用由Xilinx公司所提供的综合器将其他波形组件容器的网表文件依次与前面所生成的静态部分网表文件进行综合,并导入基础的网络配置数据NCD文件中的静态部分,生成各个波形组件的网络配置数据NCD文件。导入基础的网络配置数据NCD文件中的静态部分的操作由Xilinx公司提供的布局布线软件自动完成。使用综合脚本调用由Xilinx公司所提供的码流生成器将所有的网络配置数据NCD文件生成码流文件,并将码流文件转换为二进制波形组件数据用于对FPGA进行加载。
在对FPGA进行波形组件数据加载前,首先需要对FPGA进行固化。FPGA固化所采用的固化码流文件可以采用没有包含任何波形组件的码流文件,使得FPGA启动后所运行的通信多波形运行结构不进行任何波形处理,而是通过后续波形组件数据的加载实现所需的波形功能。
波形组件加载控制处理器通过访问局部重构配置模块和动态时钟配置模,加载波形组件数据,对FPGA进行加载。具体过程为:波形组件加载控制处理器通过访问动态加载配置模块,将波形组件容器区域进行解耦合,使得波形组件容器与静态部分断开连接;然后通过访问动态加载配置模块,将需要加载的波形组件数据写入FPGA,完成写入后通过访问动态时钟配置模块进行配置,得到波形所需的工作时钟;最后通过访问动态加载配置模块,将波形组件容器区域进行耦合,使得波形组件容器与静态部分连接,并对波形组件进行复位,此后波形组件即可开始正常工作。
下面结合具体实例做进一步的详细说明。
实施实例中选用TMS320C6678作为波形组件加载控制处理器,波形组件包括调频通信FM、最小频移键控通信MSK、船舶自动识别系统AIS、仪表着落系统ILS、询问应答/二次监视IFF/SSR、空中导航TACAN等功能,设计为四通道通信波形并行运行。实例的具体实施步骤如下所示。
1)编写各个模块的FPGA代码实现,构成通信多波形运行结构的静态部分。使用硬件描述语言HDL编写代码实现:对外总线接口、总线译码模块、总线桥接模块、动态时钟配置模块和局部重构配置模块。
对外总线接口、总线译码模块和总线桥接模块。采用TMS320C6678作为波形组件加载控制处理器,设计能够与TMS320C6678的外部存储器接口EMIF进行连接的外部总线接口,如图3所示,并使其外部总线接口的片选信号与TMS320C6678的外部存储器接口EMIF的片选信号CE0相连。由于外部存储器接口EMIF总线配置为16比特位宽时,其地址线EMIFA需要特别处理,本实施例在FPGA内,将总线桥接模块设计为负责将外部存储器接口EMIF转换为32位宽总线,用于FPGA内的局部重构配置模块、动态时钟配置模块等模块连接;将总线译码模块设计为至少有9个挂载接口,每个挂载接口的地址空间大小为0xFF的模块。
如图4所示,挂接在FPGA内部总线挂载接口上的动态时钟配置模块,采用FPGA内的时钟管理单元CMT产生时钟,并通过时钟管理单元CMT的动态重配置端口DRP,按照FPGA芯片所要求的时序对时钟管理单元CMT时钟频率进行动态配置。动态时钟配置模块内的总线接口单元负责实现动态时钟配置模块与FPGA内部总线挂载接口的连接,以及对时钟管理单元CMT的控制。本实施例中动态时钟配置模块采用具有3个时钟输出供通信波形组件使用的多模时钟管理单元MMCM作为时钟产生单元,并由波形组件加载控制处理器通过时钟管理单元CMT专有的频率设置算法获得配置数据,进而对该模块进行动态配置。时钟管理单元CMT专有的频率设置算法由Xilinx官方文档提供。由于本实施例中设计采用4个通道多波形并行运行,因此需要挂接4个动态时钟配置模块。
如图5所示,挂接在FPGA内部总线挂载接口上的局部重构配置模块,采用FPGA内的内部配置访问口ICAP对FPGA进行配置数据的加载,并由波形组件加载控制处理器向局部重构配置模块写入波形组件数据,进而实现对FPGA配置数据的加载。局部重构配置模块内的总线接口单元负责实现局部重构配置模块与FPGA内部总线挂载接口的连接,以及对内部配置访问口ICAP的控制。内部配置访问口ICAP的数据总线宽度可以选择为8位、16位或32位,操作时钟最高可达100MHz,为了达到最快的加载速度,本实施例中采用32位配置,并使用100MHz操作时钟。波形组件加载控制处理器也可以通过访问该局部重构配置模块实现对波形组件的复位和耦合/解耦合操作。由于局部重构配置模块可以对FPGA内的任意位置数据进行加载,因此只需要挂接1个动态时钟配置模块。
2)编写综合脚本,对FPGA代码进行综合,得到FPGA下载码流文件,并由下载码流文件得到波形组件数据。选取资源消耗最大的波形组件容器,此处选择包含MSK波形的波形组件容器,通过Xilinx公司所提供的planahead软件中的指令将其网表文件指定到静态部分网表文件中的波形组件容器例化实例,进行综合并生成基础网表文件,通过翻译、映射和布局布线,得到布局布线后的网络配置数据NCD文件,该文件将在后续综合过程中被导入。
以同样的方式,通过Xilinx公司所提供的planahead软件中的指令将其他波形组件容器的网表文件指定到静态部分网表文件中的波形组件容器例化实例,并导入基础网表文件的静态部分,生成各个波形组件的网表文件,通过翻译、映射和布局布线,得到NCD文件。将所有网表文件进行综合生成码流文件。每个波形的每个通道均会生成一个与其对应的码流文件。将所有码流文件转换为二进制波形组件数据,供后续动态加载使用。
4)对FPGA进行固化,然后通过波形组件加载控制处理器访问局部重构配置模块和动态时钟配置模实现块对波形组件数据进行加载。通过将不包含任何波形组件的bit文件固化到FPGA中,使得FPGA启动后处于无波形功能状态。波形组件加载控制处理器通过访问动态加载配置模块,将波形组件容器区域进行解耦合,使得波形组件容器与静态部分断开连接。然后通过访问动态加载配置模块,将需要加载的波形组件数据写入FPGA,完成写入后通过访问动态时钟配置模块进行配置,得到波形所需的工作时钟。最后通过访问动态加载配置模块,将波形组件容器区域进行耦合,使得波形组件容器与静态部分连接,并对波形组件进行复位,使得波形组件能够正常工作。

Claims (10)

1.一种多波形运行的局部动态可重构系统,包括:波形组件加载控制处理器、现场可编程门阵列FPGA,其特征在于:在FPGA中,设有通过FPGA内部总线互联的总线桥接模块和总线译码模块,总线译码模块生成FPGA内部总线挂载接口,FPGA内部总线挂载接口挂接动态时钟配置模块、局部重构配置模块、其它自定义模块和N个波形组件容器;波形组件加载控制处理器通过外部扩展总线连接FPGA对外总线接口,通过总线桥接模块、总线译码模块将波形组件数据传输到FPGA内部总线挂载接口,将需要加载的波形组件容器数据写入挂接在FPGA内部总线挂载接口上的局部重构配置模块,对挂接在FPGA内部总线挂载接口上的波形组件容器进行动态加载、耦合操作和复位操作,构成多波形运行的通信数据交互通路;总线译码模块通过挂载接口连接产生不同工作时钟的时钟管理单元CMT和包含有波形组件的各个波形组件容器的网表文件,运用Xilinx公司提供的综合软件将所有网表文件进行综合生成码流文件,并将码流文件转换为二进制数据而获得用于动态加载的波形组件数据。
2.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:波形组件加载控制处理器通过外部扩展总线将波形组件数据传输到FPGA中的局部重构配置模块,实现通信波形加载。
3.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:波形组件加载控制处理器将多种波形组件预先存储在外部存储器中,通过分时复用的方式使得单个模块能够加载并运行各种预定的波形,实现局部重构。
4.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:所述的外部扩展总线至少包含片选信号、读使能信号、写使能信号、数据线和地址线,其中,片选信号用于选择总线设备,是总线设备的使能信号,读使能信号用于表示总线读操作,写使能信号用于表示总线写操作,数据线用于传输总线数据,地址线用于表示总线访问的地址。
5.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:总线译码模块将总线的地址线所能表达的地址空间划分为N个地址空间,对总线的地址线进行译码,生成N个一一对应地址空间的总线接口,将N个总线接口作为供局部重构配置模块、动态时钟配置模块模块连接的FPGA内部总线挂载接口。
6.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:总线桥接模块通过对外部总线接口的总线信号线进行逻辑处理,通过调整位宽、数据大小端转换逻辑操作实现外部总线接口与FPGA内部总线之间,以及FPGA内部不同位宽或不同类型的总线之间的转换,使得运行于FPGA内的通信多波形运行结构无需改动局部重构配置模块、动态时钟配置模块的接口,与不同的波形组件加载控制处理器进行连接。
7.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:波形组件加载控制处理器利用Xilinx公司提供的专有的频率设置算法获得配置数据,通过时钟管理单元CMT的动态重配置端口DRP,按照FPGA芯片所要求的时序对时钟管理单元CMT进行动态配置,产生各个波形运行所需要的不同时钟。
8.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:波形组件加载控制处理器通过基于FPGA的时钟管理单元CMT专有的频率设置算法获得配置数据,进而对时钟管理单元CMT进行动态配置,产生各个波形运行所需要的不同时钟。
9.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:波形组件加载控制处理器访问动态加载配置模块,对波形组件容器区域进行解耦合,使得波形组件容器与静态部分断开连接;然后通过访问动态加载配置模块,将需要加载的波形组件数据写入FPGA,完成写入后通过访问动态时钟配置模块进行配置,得到波形所需的工作时钟;最后通过访问动态加载配置模块,将波形组件容器区域进行耦合,使得波形组件容器与静态部分连接,并对波形组件进行复位。
10.如权利要求1所述的多波形运行的局部动态可重构系统,其特征在于:动态时钟配置模块采用FPGA内的时钟管理单元CMT产生时钟,通过时钟管理单元CMT的动态重配置端口DRP,按照Xilinx公司提供的FPGA芯片时序对时钟频率进行动态配置。
CN201710048536.4A 2017-01-20 2017-01-20 多波形运行的局部动态可重构系统 Pending CN106886505A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710048536.4A CN106886505A (zh) 2017-01-20 2017-01-20 多波形运行的局部动态可重构系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710048536.4A CN106886505A (zh) 2017-01-20 2017-01-20 多波形运行的局部动态可重构系统

Publications (1)

Publication Number Publication Date
CN106886505A true CN106886505A (zh) 2017-06-23

Family

ID=59176688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710048536.4A Pending CN106886505A (zh) 2017-01-20 2017-01-20 多波形运行的局部动态可重构系统

Country Status (1)

Country Link
CN (1) CN106886505A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107976701A (zh) * 2017-11-20 2018-05-01 中国电子科技集团公司第四十研究所 基于总线架构的多模导航模拟器动态可重构系统及方法
CN108776602A (zh) * 2018-06-08 2018-11-09 中国人民解放军国防科技大学 基于sca的波形动态切换方法
CN109710566A (zh) * 2018-12-28 2019-05-03 中科院计算技术研究所南京移动通信与计算创新研究院 基于fpga的动态局部可重构数字上变频方法及装置
CN110704364A (zh) * 2019-06-18 2020-01-17 中国科学院电子学研究所 基于现场可编程门阵列的自动化动态重构方法及系统
CN110989417A (zh) * 2019-10-29 2020-04-10 西南电子技术研究所(中国电子科技集团公司第十研究所) 适应fpga局部重构的周期检测系统
CN111400983A (zh) * 2020-03-04 2020-07-10 上海介方信息技术有限公司 一种基于fpga动态重配置的波形组件加载实现方法
CN111416631A (zh) * 2020-03-04 2020-07-14 上海介方信息技术有限公司 一种基于波形多级嵌套的波形部署实现方法
CN112347035A (zh) * 2021-01-11 2021-02-09 北京中超伟业信息安全技术股份有限公司 面向远程fpga设备的动态部分可重构配置装置及方法
CN112437925A (zh) * 2018-07-20 2021-03-02 赛灵思公司 可编程集成电路的分层局部重构
CN113064737A (zh) * 2021-03-26 2021-07-02 中国航空无线电电子研究所 使软件通信体系结构的组件在多核处理器并行运行的方法
CN113626376A (zh) * 2021-04-30 2021-11-09 中国电子科技集团公司第十四研究所 基于fpga的软件化实时动态可重构控制方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193358A1 (en) * 2002-12-13 2005-09-01 Xilinx, Inc. Reconfiguration of a programmable logic device using internal control
CN102298344B (zh) * 2011-05-05 2013-03-27 杭州电子科技大学 一种基于fpga动态部分可重构技术的局部热点缓和系统
CN103677916A (zh) * 2013-12-10 2014-03-26 中国航空工业集团公司第六三一研究所 一种基于fpga的在线重配置系统及方法
CN105807263A (zh) * 2016-03-28 2016-07-27 北京航空航天大学 一种fpga部分重构在雷达信号处理中的结构及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193358A1 (en) * 2002-12-13 2005-09-01 Xilinx, Inc. Reconfiguration of a programmable logic device using internal control
CN102298344B (zh) * 2011-05-05 2013-03-27 杭州电子科技大学 一种基于fpga动态部分可重构技术的局部热点缓和系统
CN103677916A (zh) * 2013-12-10 2014-03-26 中国航空工业集团公司第六三一研究所 一种基于fpga的在线重配置系统及方法
CN105807263A (zh) * 2016-03-28 2016-07-27 北京航空航天大学 一种fpga部分重构在雷达信号处理中的结构及其实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XILINX: "Virtex-6 Family Overview", 《HTTPS://WWW.XILINX.COM/SUPPORT/DOCUMENTATION/DATA_SHEETS/DS150.PDF》 *
许晓洁: "局部动态可重构系统的设计与研究", 《中国优秀硕士学位论文全文数据库信息科技辑2015年》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107976701A (zh) * 2017-11-20 2018-05-01 中国电子科技集团公司第四十研究所 基于总线架构的多模导航模拟器动态可重构系统及方法
CN108776602A (zh) * 2018-06-08 2018-11-09 中国人民解放军国防科技大学 基于sca的波形动态切换方法
CN108776602B (zh) * 2018-06-08 2021-03-02 中国人民解放军国防科技大学 基于sca的波形动态切换方法
CN112437925A (zh) * 2018-07-20 2021-03-02 赛灵思公司 可编程集成电路的分层局部重构
CN109710566A (zh) * 2018-12-28 2019-05-03 中科院计算技术研究所南京移动通信与计算创新研究院 基于fpga的动态局部可重构数字上变频方法及装置
CN110704364A (zh) * 2019-06-18 2020-01-17 中国科学院电子学研究所 基于现场可编程门阵列的自动化动态重构方法及系统
CN110989417A (zh) * 2019-10-29 2020-04-10 西南电子技术研究所(中国电子科技集团公司第十研究所) 适应fpga局部重构的周期检测系统
CN110989417B (zh) * 2019-10-29 2023-02-03 西南电子技术研究所(中国电子科技集团公司第十研究所) 适应fpga局部重构的周期检测系统
CN111416631A (zh) * 2020-03-04 2020-07-14 上海介方信息技术有限公司 一种基于波形多级嵌套的波形部署实现方法
CN111400983A (zh) * 2020-03-04 2020-07-10 上海介方信息技术有限公司 一种基于fpga动态重配置的波形组件加载实现方法
CN112347035A (zh) * 2021-01-11 2021-02-09 北京中超伟业信息安全技术股份有限公司 面向远程fpga设备的动态部分可重构配置装置及方法
CN113064737A (zh) * 2021-03-26 2021-07-02 中国航空无线电电子研究所 使软件通信体系结构的组件在多核处理器并行运行的方法
CN113064737B (zh) * 2021-03-26 2023-03-31 中国航空无线电电子研究所 使软件通信体系结构的组件在多核处理器并行运行的方法
CN113626376A (zh) * 2021-04-30 2021-11-09 中国电子科技集团公司第十四研究所 基于fpga的软件化实时动态可重构控制方法和系统
CN113626376B (zh) * 2021-04-30 2023-08-18 中国电子科技集团公司第十四研究所 基于fpga的软件化实时动态可重构控制方法和系统

Similar Documents

Publication Publication Date Title
CN106886505A (zh) 多波形运行的局部动态可重构系统
US20230359548A1 (en) Real Time Analysis and Control for a Multiprocessor System
JP4014080B2 (ja) デジタル回路の設計装置および設計方法、並びに、プログラムおよび格納媒体
US20100161306A1 (en) Method and system for emulating a design under test associated with a test environment
CN112199320B (zh) 多通道可重构信号处理装置
CN110989417B (zh) 适应fpga局部重构的周期检测系统
Jara-Berrocal et al. VAPRES: A virtual architecture for partially reconfigurable embedded systems
CN108011878A (zh) 面向多用户软硬件设计项目的远程测试仿真系统和方法
US7496869B1 (en) Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
CN111400983A (zh) 一种基于fpga动态重配置的波形组件加载实现方法
He et al. Fecaffe: Fpga-enabled caffe with opencl for deep learning training and inference on intel stratix 10
CN111176926A (zh) 一种基于双口sram的ip核仿真系统及仿真方法
Sander et al. Modelling adaptive systems in ForSyDe
Robino et al. The HeartBeat model: a platform abstraction enabling fast prototyping of real-time applications on NoC-based MPSoC on FPGA
Cattaneo et al. Runtime adaptation on dataflow HPC platforms
CN114722001A (zh) 一种软件定义模数混合SoC芯片架构
Li et al. Low power design methodology for signal processing systems using lightweight dataflow techniques
Neema et al. Signal processing platform: a tool chain for designing high performance signal processing applications
Sklyarov et al. Synthesis of reconfigurable control devices based on object-oriented specifications
Kuusilinna et al. Real-time system-on-a-chip emulation: emulation driven system design with direct mapped virtual components
Bapty et al. Uniform execution environment for dynamic reconfiguration
Uchevler et al. Modelling and assertion-based verification of run-time reconfigurable designs using functional programming abstractions
de la Fuente et al. Synthesis of simulation and implementation code for OpenMAX multimedia heterogeneous systems from UML/MARTE models
CN115809620B (zh) 仿真逻辑系统设计的方法、电子设备和存储介质
CN107665281A (zh) 一种基于fpga的处理器模拟方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170623

WD01 Invention patent application deemed withdrawn after publication