CN108241322A - 一种fpga互联资源的优化配置生成方法 - Google Patents
一种fpga互联资源的优化配置生成方法 Download PDFInfo
- Publication number
- CN108241322A CN108241322A CN201810037830.XA CN201810037830A CN108241322A CN 108241322 A CN108241322 A CN 108241322A CN 201810037830 A CN201810037830 A CN 201810037830A CN 108241322 A CN108241322 A CN 108241322A
- Authority
- CN
- China
- Prior art keywords
- configuration
- interconnection resources
- global
- unit
- connection relation
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23005—Expert design system, uses modeling, simulation, to control design process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25124—Configure attributes of parameters
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明属于FPGA技术,致力于提出一种FPGA互联资源测试配置的生成方案,借助DQN算法构建模型,以提高配置效率。方案包括如下步骤:提取全局金属线,用于有重复连接特点的激励分组配置,并得到最小重复单元,以拥有相同激励信号;对该重复单元构建抽象连接关系,包括单元内的基础连接关系和单元间的扩展连接关系;利用DQN理论对重复单元建立局部配置模型,在线训练CNN网络得到优化参数,并生成配置。本发明利用增强学习的策略优化和CNN函数拟合功能,不仅实现了配置自动化,还提高了效率,能同时配置全局互联资源和局部互联资源,对芯片具体结构依赖性低,具备通用性和移植性,适用于多种系列FPGA的互联资源测试用配置的生成。
Description
技术领域
本发明属于FPGA技术。
背景技术
现场可编程逻辑门阵列(Field Programmable Gate Array,以下简称FPGA)作为数字集成电路的重要一员,以其丰富的逻辑资源、快速而灵活的可编程能力以及完善的自动化集成开发环境,被广泛应用于集成电路设计开发的多个环节中。然而,由于芯片结构越来越复杂,重复编程频率越来越高,其内部资源的故障发生率也在不断增高,高效的测试和配置方案的提出变得越来越重要。
根据FPGA内部包含的不同资源,相应的有不同的测试理论和方案提出,包括对可编程输入输出单元(Input Output Block,以下简称IOB)、可编程逻辑块(ConfigurableLogic Block,以下简称CLB)、块存储单元(Block RAM,以下简称BRAM)等逻辑资源的测试,以及对互联资源(Interconnect Resource,以下简称IR)的测试。相对于逻辑资源,互联资源在千万门以上的FPGA中所占比重已经超过了90%,因而其故障的产生也更加频繁,配置和测试难度也更大。
传统互联资源测试方法主要针对特定的芯片结构特征,进行手动的布线配置用于测试,其测试效率低,配置工作量大、覆盖率不高,且不具备通用性,测试时间过长,往往无法满足现今的超大规模芯片的测试要求。文献(A novel FPGA Local interconnect testscheme and automatic TC derivation/generation)和文献(一种基于贪心策略的FPGA局部互联测试方法[P]。发明专利,CN102116840A,2011-07-06)只测试了局部互联资源。文献(System-Level Built-In Self-Test of Global Routing Resources in Virtex-4FPGAs)和文献(A Shift-Register Based BIST Architecture for FPGAGlobalInterconnectTestingand Diagnosis)则主要针对全局互联资源进行配置测试。文献(A Routability Aware Algorithm for Both Global and Local InterconnectResource Test and Diagnosis of Xilinx SRAM-FPGAs)采用图论的方法,实现了局部互联资源和全局互联资源的统一测试,但存在配置理论和实现步骤复杂、局部互联资源的覆盖效果不佳、方案在不同芯片间的移植性不强等缺点。同时,这些方法都无法实现互联资源的高效率的自动化配置生成,这也是本发明主要解决的问题。
发明内容
针对上述不足和难点,本发明提出一种通用的FPGA互联资源测试配置生成方法,并结合深度增强学习中的DQN(Deep Q Network)算法构建模型,以达到自动配置生成和配置效率提高的目的。
为达到高效率的自动化配置的目的,本发明采用的技术方案为:
1)根据功能特性,将互联资源的测试用配置的生成分为给芯片提供激励信号的全局配置和从激励信号端出发的局部配置两个部分,并分别进行配置;
2)对激励部分的全局配置实现,首先对芯片中的金属线进行分类,提取可实现整个芯片内连接的全局金属线,进行分组操作,并以简单的重复连接实现从IOB到芯片内部的激励施加,得到全局连接后的最小重复单元,用于局部配置部分的优化和自动生成;
3)根据最小重复单元构建抽象连接关系,包含最小重复单元内的基础连接关系和最小重复单元间的扩展连接关系,基础连接关系主要包括开关矩阵(Switch Matrix,以下简称SM)内部相关的全局互联资源和局部互联资源,以及重复单元内的SM间的金属互联线,扩展连接关系则表征不同重复单元间的金属互连线信息;
4)定义局部配置模型中的智能体(Agent)实现DQN算法所需的元素,包括抽象连接关系构成的状态矩阵S,不同连线类型构成的动作A,立即回报R和动作值函数Q(S,A)以及拟合映射关系的卷积神经网络(Convolutional Neural Network,以下简称CNN)结构等;
5)定义局部配置模型中的环境规则,包括全局激励组选择机制、根据智能体提供的动作A给出有效连线、状态跳转、终态判断、防冲突记录、立即回报和新的状态等;
6)根据DQN算法在线训练模型的CNN网络参数,以提高自动配置的效率,该过程包括智能体根据状态S给出最优动作A,环境根据动作A的选择实现状态跳转并给出立即回报给智能体,同时根据这些配置案例训练更新CNN参数等;
7)根据训练好的CNN参数进行自动化配置生成,并将配置从最小重复单元扩展到整个芯片,添加所需全局激励和逻辑块配置信息,从而得到测试用配置。
本发明的优点主要包括:
1.本发明方法具备通用性和移植性,适用于不同系列的FPGA测试配置生成
2.本发明能实现全局互联资源和局部互联资源的统一配置测试
3.本发明采用深度增强学习中的DQN算法,提高了配置效率
4.本发明采用深度增强学习中的DQN算法,能实现自动化配置生成
附图说明
图1为本发明的技术方案实施流程图
图2为最小重复单元抽象连接关系示意图
图3为基于DQN算法的局部配置模型
图4为Agent内部拟合S->Q映射关系的CNN结构
具体实施方式
为体现本发明的可行性和优异性,结合附图说明具体实施步骤如下:
1)为提高配置方案的可行性,降低模型规模和求解难度,本发明将整个配置的生成操作分为给芯片提供激励信号的全局分组配置和从激励信号端出发的局部配置两部分,并分别进行配置的实现;
2)首先,分析具体芯片的IR资源,根据金属线种类进行分类,例如single/double、hex、long、others等类型,将可实现整个芯片连接的全局金属线提取出来进行分组,实现多组从IOB到整个芯片的全局激励,根据所有全局激励组的重复结构规模,提取出最小重复单元,用于局部配置部分的建模优化和自动配置生成操作;
3)根据步骤2)确定的最小重复单元规模,进行抽象连接关系的构建,包括最小重复单元内部的基础连接关系和不同最小重复单元间的等效扩展连接关系。其中,基础连接包含了SM内部的所有相关可编程互连线(Programmable interconnect Point,PIP)连接,以及同一重复单元内SM间的金属线;而扩展连接主要是不同重复单元间的金属线,对于这类连线,以如图2虚线连接所示的方式,根据重复特征,将实际的扩展连线等效成虚拟的内部连线;
4)构建局部配置模型如图3所示,定义其中的状态S,以最小重复单元的抽象连接关系构成的二维矩阵表示,首先对单元内所有SM的PIP端点进行统一编号(1,…,N),构建N*N的状态矩阵,对端点间存在PIP连接的赋值1,存在金属线连接(包括虚拟连接)的赋值-1,其余无连接关系的赋值0,由此得到初始状态S;
5)定义局部配置模型中的动作A,将选择金属线的动作单独定义为To_wire;而对选择PIP的动作,则根据PIP后续连接的金属线类型定义动作,例如To_single/To_double、To_hex、To_long、To_others等,特别的,当选择的连线到达CLB终点时,定义该动作为To_end。构建每个动作对应的连线集合,用于配置模型的实现;
6)定义局部配置模型中的立即回报R,当选择未配置过的PIP时,回报一个正值+x;当选择已配置过的PIP或选择金属线时,回报0;而当动作无效,即当前动作无有效连线可用时,回报一个负值-y;
7)定义局部配置模型中的动作值函数Q(S,A),即状态S下执行动作A时的累积回报值,在DQN模型中,以一个CNN网络拟合出函数关系,映射出任意状态S下分别执行不同动作时对应的动作值函数,用于最优动作选择,其结构如图4所示;
8)定义局部配置模型中的环境规则,包括:①根据当前状态S和智能体给出的动作A,选择可用的全局激励作为局部配置的起始点集;②从起始点集中搜寻动作A对应的有效连线集;③选择有效连线集中立即回报R最高的作为配置走线,得到新的状态S′;④判断新状态S′是否包含了所有到CLB终点的连线,若是,则配置完成并初始化状态S并开始新一次配置;否则更新状态S←S′;⑤标记已配置端点,进行防冲突的记录,避免同一端点有多个输入的错误;⑥最后,将回报R和新状态S反馈给智能体,以继续进行配置;
9)采用DQN算法对局部配置模型进行在线训练,以优化智能体的CNN网络参数,从而达到提高配置效率的目的。整个配置训练过程包括:[1]智能体根据环境提供的当前状态S给出最优动作A;[2]环境再根据动作A的选择和当前状态S,运行环境中的一系列规则,得到新的状态S′,并进行状态更新、给出立即回报R;[3]智能体将配置案例<S,A,R,S′>保存到训练库中替换旧的案例;[4]随机选择训练库中的案例,按DQN算法调整优化CNN网络的参数,直到平均误差降低到预期的范围内为止,否则跳回到步骤[1],开始新一次的配置和训练;
10)根据步骤9)训练好的网络参数,进行自动化配置生成操作,得到高覆盖率的配置结果,将这些配置从最小重复单元扩展到整个芯片,去除不必要的连接,并添加相应的全局激励和逻辑块的内部配置信息,即可得到测试用的配置。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (4)
1.一种FPGA互联资源的优化配置生成方法,其特征在于,包括如下步骤:
1)根据功能特性,将互联资源的测试用配置的生成分为给芯片提供激励信号的全局配置和从激励信号端出发的局部配置两个部分,并分别进行配置;
2)对激励部分的全局配置实现,首先对芯片中的金属线进行分类,提取可实现整个芯片内连接的全局金属线,进行分组操作,并以简单的重复连接实现从IOB到芯片内部的激励施加,得到全局连接后的最小重复单元,用于局部配置部分的优化和自动生成;
3)根据最小重复单元构建抽象连接关系,包含最小重复单元内的基础连接关系和最小重复单元间的扩展连接关系,基础连接关系主要包括开关矩阵(Switch Matrix,以下简称SM)内部相关的全局互联资源和局部互联资源,以及重复单元内的SM间的金属互联线,扩展连接关系则表征不同重复单元间的金属互连线信息;
4)定义局部配置模型中的智能体(Agent)实现DQN算法所需的元素,包括抽象连接关系构成的状态矩阵S,不同连线类型构成的动作A,立即回报R和动作值函数Q(S,A)以及拟合映射关系的CNN结构等;
5)定义局部配置模型中的环境规则,包括全局激励组选择机制、根据智能体提供的动作A给出有效连线、状态跳转、终态判断、防冲突记录、立即回报和新的状态等;
6)根据DQN算法在线训练模型的CNN网络参数,以提高自动配置的效率,该过程包括智能体根据状态S给出最优动作A,环境根据动作A的选择实现状态跳转并给出立即回报给智能体,同时根据这些配置案例训练更新CNN参数等;
7)根据训练好的CNN参数进行自动化配置生成,并将配置从最小重复单元扩展到整个芯片,添加所需全局激励和逻辑块配置信息,从而得到测试用配置。
2.按照权利要求1所述的一种FPGA互联资源的优化配置生成方法,其特征在于,对提供激励的全局配置部分,根据金属线种类进行分类,将可实现整个芯片连接的全局金属线提取出来进行分组,并以简单重复连接构成多个激励组,实现多组从IOB到整个芯片的全局激励。
3.按照权利要求1所述的一种FPGA互联资源的优化配置生成方法,其特征在于,最小重复单元的抽象连接关系表征了整个芯片的重复连接特点,不仅包含单元内部所有SM的PIP连接和金属线连接,还包含最小重复单元间金属线连接在单元内的等效连接关系,便于用该单元代替整个芯片的连接进行建模和配置求解。
4.按照权利要求1所述的一种FPGA互联资源的优化配置生成方法,其特征在于,引入深度增强学习中的DQN算法,建立局部配置模型,并进行CNN网络参数的在线学习和优化,以提高输出的累积回报Q,从而达到自动化配置生成和提高配置效率的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810037830.XA CN108241322B (zh) | 2018-01-16 | 2018-01-16 | 一种fpga互联资源的优化配置生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810037830.XA CN108241322B (zh) | 2018-01-16 | 2018-01-16 | 一种fpga互联资源的优化配置生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108241322A true CN108241322A (zh) | 2018-07-03 |
CN108241322B CN108241322B (zh) | 2020-08-04 |
Family
ID=62698522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810037830.XA Active CN108241322B (zh) | 2018-01-16 | 2018-01-16 | 一种fpga互联资源的优化配置生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108241322B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199921A (zh) * | 2020-12-07 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于解析布局算法的数据路径布局方法 |
CN112487504A (zh) * | 2020-12-15 | 2021-03-12 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化技术 |
CN114371970A (zh) * | 2022-01-10 | 2022-04-19 | 电子科技大学 | 一种基于图强化学习的fpga互联资源测试算法 |
CN115859885A (zh) * | 2023-02-14 | 2023-03-28 | 成都市硅海武林科技有限公司 | 一种fpga冗余容错方法及fpga芯片 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117636A1 (en) * | 2011-11-07 | 2013-05-09 | Su-a Kim | Semiconductor memory device and system having redundancy cells |
US20170032222A1 (en) * | 2015-07-30 | 2017-02-02 | Xerox Corporation | Cross-trained convolutional neural networks using multimodal images |
CN106546912A (zh) * | 2016-10-14 | 2017-03-29 | 电子科技大学 | 一种应用相关型fpga自动化测试配置方法 |
CN106909728A (zh) * | 2017-02-21 | 2017-06-30 | 电子科技大学 | 一种基于增强学习的fpga互联资源配置生成方法 |
CN107092254A (zh) * | 2017-04-27 | 2017-08-25 | 北京航空航天大学 | 一种基于深度增强学习的家用扫地机器人的设计方法 |
CN107247881A (zh) * | 2017-06-20 | 2017-10-13 | 北京大数医达科技有限公司 | 一种多模态智能分析方法及系统 |
CN109343341A (zh) * | 2018-11-21 | 2019-02-15 | 北京航天自动控制研究所 | 一种基于深度强化学习的运载火箭垂直回收智能控制方法 |
-
2018
- 2018-01-16 CN CN201810037830.XA patent/CN108241322B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117636A1 (en) * | 2011-11-07 | 2013-05-09 | Su-a Kim | Semiconductor memory device and system having redundancy cells |
US20170032222A1 (en) * | 2015-07-30 | 2017-02-02 | Xerox Corporation | Cross-trained convolutional neural networks using multimodal images |
CN106546912A (zh) * | 2016-10-14 | 2017-03-29 | 电子科技大学 | 一种应用相关型fpga自动化测试配置方法 |
CN106909728A (zh) * | 2017-02-21 | 2017-06-30 | 电子科技大学 | 一种基于增强学习的fpga互联资源配置生成方法 |
CN107092254A (zh) * | 2017-04-27 | 2017-08-25 | 北京航空航天大学 | 一种基于深度增强学习的家用扫地机器人的设计方法 |
CN107247881A (zh) * | 2017-06-20 | 2017-10-13 | 北京大数医达科技有限公司 | 一种多模态智能分析方法及系统 |
CN109343341A (zh) * | 2018-11-21 | 2019-02-15 | 北京航天自动控制研究所 | 一种基于深度强化学习的运载火箭垂直回收智能控制方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199921A (zh) * | 2020-12-07 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于解析布局算法的数据路径布局方法 |
CN112487504A (zh) * | 2020-12-15 | 2021-03-12 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化技术 |
CN112487504B (zh) * | 2020-12-15 | 2022-04-22 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化方法 |
CN114371970A (zh) * | 2022-01-10 | 2022-04-19 | 电子科技大学 | 一种基于图强化学习的fpga互联资源测试算法 |
CN115859885A (zh) * | 2023-02-14 | 2023-03-28 | 成都市硅海武林科技有限公司 | 一种fpga冗余容错方法及fpga芯片 |
CN115859885B (zh) * | 2023-02-14 | 2023-05-09 | 成都市硅海武林科技有限公司 | 一种fpga冗余容错方法及fpga芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN108241322B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241322A (zh) | 一种fpga互联资源的优化配置生成方法 | |
CN103324796B (zh) | 一种大规模集成电路设计中的绕障直角斯坦纳树构造方法 | |
CN112181867B (zh) | 基于多目标遗传算法的片上网络内存控制器布局方法 | |
US20090249276A1 (en) | Methods and systems for fpga rewiring and routing in eda designs | |
CN106909728A (zh) | 一种基于增强学习的fpga互联资源配置生成方法 | |
CN109684190A (zh) | 软件测试装置和方法 | |
CN109684731A (zh) | 一种高效的详细布线驱动轨道分配算法 | |
US7134112B1 (en) | Incremental routing in integrated circuit design | |
CN105677525B (zh) | 基于可重复配置单元的fpga局部互联资源自动化测试方法 | |
CN103149840B (zh) | 一种基于动态规划的语义服务组合方法 | |
CN116911227A (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
Allan et al. | Hierarchical critical area extraction with the EYE tool | |
CN113157562A (zh) | 一种基于扩展有限状态机模型的测试用例生成方法及平台 | |
CN104615679A (zh) | 一种基于人工免疫网络的多智能体数据挖掘方法 | |
CN104750610A (zh) | 基于占优度的消息传递并行程序变异体约简方法 | |
CN116681029A (zh) | 一种亿门级fpga互联资源智能测试方法 | |
CN106546912A (zh) | 一种应用相关型fpga自动化测试配置方法 | |
Groeneveld | Wire ordering for detailed routing | |
CN106776088A (zh) | 基于Malek模型的系统故障诊断方法 | |
Montenegro et al. | An iterative method for detecting and localizing islands within sparse matrixes using DSSim-RT | |
CN109685120A (zh) | 分类模型在有限数据下的快速训练方法和终端设备 | |
Van Eijk et al. | ESL design of customizable real-time neuron networks | |
Chen et al. | Don’t-care-based node minimization for threshold logic networks | |
CN105308997B (zh) | 一种确定待优化小区集合的装置及方法 | |
CN114548353A (zh) | 模型训练方法、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |