当前位置: 首页 > 专利查询>孙凌宇专利>正文

XDL电路网表的前向电路图构建方法技术

技术编号:24708677 阅读:30 留言:0更新日期:2020-07-01 00:04
一种XDL电路网表的前向电路图构建方法,采用有向超图对XDL电路网表进行数学建模,将XDL电路线网转换到有向超图并保存为有向超图文件;进而,读取有向超图文件,采用改进的压缩存储格式存储有向超图,构建每个超图结点的前向电路图。采用本发明专利技术构建的每个超图结点的前向电路图,可以用于准确分析SRAM型FPGA中LUT结点的单粒子软错误敏感性,提升SRAM型FPGA器件的容错可靠性计算精确度,从而更好地反映出单粒子软错误在SRAM型FPGA器件中的传播特性。

【技术实现步骤摘要】
XDL电路网表的前向电路图构建方法
本专利技术涉及一种XDL电路网表的信号前向拓扑关系的数学建模方法,具体涉及一种XDL电路网表的前向电路图构建方法。
技术介绍
随着超大规模集成电路(VLSI)的制造工艺从深亚微米工艺时代进入纳米工艺时代,导致现场可编程门阵列(FPGA)的噪声容限日益减少,对高能粒子辐射和噪声干扰愈发敏感,软错误率(SER)呈指数增长。静态随机存取存储器(SRAM)型FPGA逻辑资源和布线资源的配置字约占SRAM单元的95%~99%,极易受到高能粒子辐射和电路内部噪声干扰,不仅FPGA逻辑资源配置字的软错误会改变其电路的逻辑功能,甚至FPGA布线资源配置字的软错误还会改变其电路的结构。2020年中国专利局公告的由冷明,孙凌宇和冷子阳申报,中国专利号为:202010133353.4号《基于布尔可满足性的SRAM型FPGA软错误容错方法》的专利技术专利,针对SRAM型FPGA逻辑资源无关配置字、闲置配置字和布线资源互连配置字的特征,利用FPGA电路中存在的隐式冗余,通过对原电路重新进行逻辑综合,确保电路的等价逻辑转换的同时,力图采用最小的面积、功耗和性能的开销,减缓FPGA配置字软错误,降低软错误对FPGA系统功能的影响,进而增强FPGA芯片的容错能力、降低容错成本、提高FPGA器件的可靠性。《基于布尔可满足性的SRAM型FPGA软错误容错方法》专利技术专利权利要求书的XDL电路网表部分:①“步骤10.2,读取XDL网表文件,进行词法分析、语法分析、语义分析、中间代码生成和抽取FPGA设计布局布线后电路实现的逻辑配置和配置互联信息”涉及了XDL网表文件的编译和解析。②“步骤10.4,基于FPGA设计布局布线后电路实现的逻辑配置和配置互联信息,以及FPGA芯片的逻辑资源可配置字和布线资源可配置字,结合FPGA布局布线后的仿真波形数据,计算每个LUT结点的软错误敏感度”涉及了XDL网表文件LUT结点的软错误敏感度的计算。进而,该专利技术专利提出了“解析XDL网表文件”和“构建XDL电路网表LUT结点的前向电路图”功能需求,以完成SRAM型FPGA器件单粒子软错误敏感性的计算。XDL(XilinxDesignLanguage)是Xilinx公司提供的一种描述FPGA设计内部结构信息的特征化物理设计语言,使用BNF巴科斯范式描述FPGA实现特定功能硬件设计的网表级电路,其中包含逻辑资源的配置信息和布线资源的互连信息。通过基于Xilinx公司ISE套装的综合工具xst、转译工具ngdbuild、映射工具map、布局工具par(-r)、布线工具par(-p)、配置流工具bitgen和网表转换工具xdl,可以实现硬件设计到FPGA配置流的开发全流程。在开发流程中,FPGA映射后、布局后和布线后的NCD网表文件是面向计算机的二进制格式网表文件,不便于人们理解和分析,需要借助网表转换工具xdl实现与XDL文本格式网表文件的相互转换。每个XDL网表级电路描述文件,对应一个FPGA设计的硬件实现,使用BNF范式详细地描述了整个FPGA设计的基本信息以及布局布线信息,包含design,module,instance和net等语句。2020年中国专利局公告的由冷明,孙凌宇和冷子阳申报,中国专利号为:202010246217.6号《XDL电路网表文件到有向超图的转换方法》的专利技术专利,其采用有向超图的数学模型构建XDL电路网表的信号间前向拓扑关系,各电路单元的有效管脚表示为有向超图中的超图结点,电路管脚间的外部连线、电路管脚内的电路逻辑功能,表示为超图中的有向超边。每条有向超边可以连接两个以上的结点,对应于电路单元间的连线可以连接两个以上的有效管脚,或电路逻辑功能可以连接多输入管脚。《XDL电路网表文件到有向超图的转换方法》专利技术专利,基于SRAM型FPGA器件的XDL电路网表,构建网表级电路的信号传播模型,分析面向XDL网表级电路的信号间前向拓扑关系并转换为有向超图,实现了XDL电路网表文件到有向超图的转换方法。该专利技术专利实现的“XDL电路网表文件到有向超图的转换”,仅仅是完成了《基于布尔可满足性的SRAM型FPGA软错误容错方法》专利技术专利所需的“解析XDL网表文件”和“转换得到信号传播模型有向超图”的功能。然而,《基于布尔可满足性的SRAM型FPGA软错误容错方法》专利技术专利中“计算每个LUT结点的软错误敏感度”,需要在有向超图的基础上计算出每个超图结点的前向电路图,以用于准确分析SRAM型FPGA中LUT结点的单粒子软错误敏感性。本专利技术在分析XDL电路网表信号之间的前向拓扑关系、转换得到信号传播模型有向超图的基础上,构建每个超图结点的前向电路图。因此,本专利技术构建的每个超图结点的前向电路图,可以用于准确分析SRAM型FPGA中LUT结点的单粒子软错误敏感性,提升SRAM型FPGA器件的容错可靠性计算精确度,从而更好地反映出单粒子软错误在SRAM型FPGA器件中的传播特性。
技术实现思路
本专利技术区别于在先技术[1]“刘俊峰.SRAM型FPGA软错误率计算方法研究[D].西安:西安电子科技大学,2017.”第三章“前向电路图自动生成算法”,本专利技术采用有向超图的数学模型来构建XDL电路网表信号之间的前向拓扑关系。本专利技术在建模过程中,各电路单元的有效管脚表示为有向超图中的超图结点,电路管脚间的外部连线、电路管脚内的电路逻辑功能,表示为超图中的有向超边,每条有向超边可以连接两个以上的结点,对应于电路单元间的连线可以连接两个以上的有效管脚,或电路逻辑功能可以连接多输入管脚。在每条有向超边中,唯一的输出管脚对应于有向超边的尾端结点,其余输入管脚对应于有向超边源端子集结点。进而,本专利技术在分析XDL电路网表信号之间的前向拓扑关系、转换得到信号传播模型有向超图的基础上,构建每个超图结点的前向电路图。本专利技术区别于在先技术[1]有三个重要的区别技术特征,进而取得了显著的技术进步和突出的实质性特点。①相比在先技术[1]采用有向图来建模电路网表,本专利技术采用有向超图为XDL电路网表提供了更为精确的模型:每条有向超边可以连接两个以上的结点,对应于电路管脚间的连线可以连接两个以上的电路管脚,取得了显著的技术进步和突出的实质性特点。②相比在先技术[1]将INST电路单元表示为结点(在先技术[1]的第40页:INST即为V,代表有向图中的节点),本专利技术将电路单元的各有效管脚表示为有向超图中的超图结点,为XDL电路网表提供了更为精确的模型。特别是,当管脚个数达到二十多个的SLICEL、SLICEM等INST电路单元包含多个LUT结点,在先技术[1]仅在INST电路单元宏观层面,计算出SLICEL、SLICEM等INST电路单元的前向电路图,导致无法分析INST电路单元内部LUT结点的前向电路图。相比在先技术[1],本专利技术在INST电路单元管脚微观层面,计算出每个超图结点(INST电路单元有效管脚)的前向电路图,精细刻画了XDL电路网表信号之间的前向拓扑关系,取得了显著的技术进步和突出的实质性特点。③相比在先技术[1]仅仅是外部连线表示为边(在先本文档来自技高网
...

【技术保护点】
1.一种XDL电路网表的前向电路图构建方法,其特征在于,具体步骤如下:/n步骤1,XDL电路网表文件的词法分析,从左到右一个个读入XDL电路网表文件,对构成源代码的字符流进行扫描和分解,从而识别出一个个单词;/n步骤2,XDL电路网表文件的语法分析,在词法分析的基础上将单词序列分解成各类语法短语,依据网表文件的语法规则,确定整个字符流是否构成一个语法上正确的结构描述文件;/n步骤3,XDL电路网表文件的语义分析,在语法分析的基础上审核源代码有无语义错误,为中间代码生成阶段收集类型信息;/n步骤4,XDL电路网表文件的中间代码生成,在语法分析和语义分析的基础上,将源代码生成中间代码,用内部中间格式表示;/n步骤5,XDL电路网表文件的Inst和Net模块信息抽取,基于内部中间格式生成XDL电路网表文件的Inst和Net模块信息;/n步骤6,有向超图文件生成,从Ins模块信息抽取XDL电路网表的逻辑配置信息,从Net模块信息抽取XDL电路网表的互联配置信息,进而基于逻辑配置信息和互联配置信息构造完整电路线网,将电路线网转换为有向超图并保存为有向超图文件;/n步骤7,读取有向超图文件,采用改进的压缩存储格式对有向超图进行存储;/n步骤8,遍历压缩存储格式的有向超图的每个超图结点,生成每个超图结点的直接前驱结点列表;/n步骤9,遍历压缩存储格式的有向超图的每个超图结点,生成每个超图结点的间接前驱结点列表;/n步骤10,遍历压缩存储格式的有向超图的每个超图结点,输出每个超图结点的信息、以及超图结点的直接前驱结点列表信息和间接前驱结点列表信息至前向电路图文件;/n上述的步骤6中,所述的有向超图文件生成的步骤如下;/n步骤6.1,遍历电路网表的Inst电路单元模块信息,依次处理每个Inst电路单元模块,抽取XDL电路网表的逻辑配置信息,生成超图结点和有向超边;/n步骤6.2,遍历电路网表的Net电路信号模块信息,依次处理每个Net电路信号模块,抽取XDL电路网表的互联配置信息,生成有向超边;/n步骤6.3 ,遍历有向超图的每个超图结点和有向超边,为每个超图结点单独编号,i为有向超图中超图结点的编号;为每条有向超边单独编号,j为有向超图中有向超边的编号;/n步骤6.4, 将编号的每个超图结点和有向超边保存为有向超图文件;/n上述的步骤6.1中,所述的处理每个Inst电路单元模块的步骤如下;/n步骤6.1.1,读取Inst电路单元模块的SITEDEF类型信息;/n步骤6.1.2,读取Inst电路单元模块的CFG配置信息,获取有效管脚信息列表;/n步骤6.1.3,为Inst电路单元模块的每个有效管脚生成一个超图结点;/n步骤6.1.4,根据Inst电路单元的不同SITEDEF类型,结合CFG配置信息获取的底层电路配置状态,解析每个输出管脚的逻辑功能表达式;/n步骤6.1.5,为每个输出管脚生成一条有向超边,该有向超边的尾端结点为该输出管脚对应的超图结点;进而依据该输出管脚的逻辑功能表达式,输入管脚对应的超图结点加入到该有向超边的源端子集中;/n上述的步骤6.2中,所述的处理每个Net电路信号模块的步骤如下;/n步骤6.2.1,为Net电路信号模块生成一条有向超边;/n步骤6.2.2,读取Net电路信号模块的INPUT端点信息,依据INPUT端点信息中给定的Inst电路单元和管脚信息找到相应的超图结点,作为该有向超边的尾端结点;/n步骤6.2.3,读取Net电路信号模块的每个OUTPUT端点信息,依据OUTPUT端点信息中给定的Inst电路单元和管脚信息找到相应的超图结点,加入到该有向超边的源端子集中;/n上述的步骤6.4中,所述的将转换得到的有向超图保存为有向超图文件的步骤如下;/n步骤6.4.1,输出有向超图文件第一行,第一个参数是有向超边的数目,第二个参数是超图结点的数目;/n步骤6.4.2,遍历有向超图的每条有向超边,每一条超边输出为有向超图文件的一行,先输出有向超边的尾端结点的编号,再输出有向超边的源端子集中超图结点的编号;/n上述的步骤7中,所述的有向超图的改进压缩存储格式如下;/n步骤7.1,使用xadj数组存储每个结点所有邻接有向超边列表的起始位置信息,即第i条结点的终止位置为第i+1条结点的起始位置减1,且xadj数组的大小为有向超图中的结点个数加1, xadj数组最后一个元素用于存放最后一条结点的终止位置;/n步骤7.2,使用adjncy数组存储每个结点所有邻接有向超边的列表信息,第i条结点的邻接有向超边列表存储在adjncy数组中,从adjncy[xadj[i]]到adjncy[xadj[i+1]-1];/n步骤7.3,使用eptr数组存储每条有向超边所包含的结点列表的起始位置信息,即第j条有向超边的终止位置为第j+1条有向超...

【技术特征摘要】
1.一种XDL电路网表的前向电路图构建方法,其特征在于,具体步骤如下:
步骤1,XDL电路网表文件的词法分析,从左到右一个个读入XDL电路网表文件,对构成源代码的字符流进行扫描和分解,从而识别出一个个单词;
步骤2,XDL电路网表文件的语法分析,在词法分析的基础上将单词序列分解成各类语法短语,依据网表文件的语法规则,确定整个字符流是否构成一个语法上正确的结构描述文件;
步骤3,XDL电路网表文件的语义分析,在语法分析的基础上审核源代码有无语义错误,为中间代码生成阶段收集类型信息;
步骤4,XDL电路网表文件的中间代码生成,在语法分析和语义分析的基础上,将源代码生成中间代码,用内部中间格式表示;
步骤5,XDL电路网表文件的Inst和Net模块信息抽取,基于内部中间格式生成XDL电路网表文件的Inst和Net模块信息;
步骤6,有向超图文件生成,从Ins模块信息抽取XDL电路网表的逻辑配置信息,从Net模块信息抽取XDL电路网表的互联配置信息,进而基于逻辑配置信息和互联配置信息构造完整电路线网,将电路线网转换为有向超图并保存为有向超图文件;
步骤7,读取有向超图文件,采用改进的压缩存储格式对有向超图进行存储;
步骤8,遍历压缩存储格式的有向超图的每个超图结点,生成每个超图结点的直接前驱结点列表;
步骤9,遍历压缩存储格式的有向超图的每个超图结点,生成每个超图结点的间接前驱结点列表;
步骤10,遍历压缩存储格式的有向超图的每个超图结点,输出每个超图结点的信息、以及超图结点的直接前驱结点列表信息和间接前驱结点列表信息至前向电路图文件;
上述的步骤6中,所述的有向超图文件生成的步骤如下;
步骤6.1,遍历电路网表的Inst电路单元模块信息,依次处理每个Inst电路单元模块,抽取XDL电路网表的逻辑配置信息,生成超图结点和有向超边;
步骤6.2,遍历电路网表的Net电路信号模块信息,依次处理每个Net电路信号模块,抽取XDL电路网表的互联配置信息,生成有向超边;
步骤6.3,遍历有向超图的每个超图结点和有向超边,为每个超图结点单独编号,i为有向超图中超图结点的编号;为每条有向超边单独编号,j为有向超图中有向超边的编号;
步骤6.4,将编号的每个超图结点和有向超边保存为有向超图文件;
上述的步骤6.1中,所述的处理每个Inst电路单元模块的步骤如下;
步骤6.1.1,读取Inst电路单元模块的SITEDEF类型信息;
步骤6.1.2,读取Inst电路单元模块的CFG配置信息,获取有效管脚信息列表;
步骤6.1.3,为Inst电路单元模块的每个有效管脚生成一个超图结点;
步骤6.1.4,根据Inst电路单元的不同SITEDEF类型,结合CFG配置信息获取的底层电路配置状态,解析每个输出管脚的逻辑功能表达式;
步骤6.1.5,为每个输出管脚生成一条有向超边,该有向超边的尾端结点为该输出管脚对应的超图结点;进而依据该输出管脚的逻辑功能表达式,输入管脚对应的超图结点加入到该有向超边的源端子集中;
上述的步骤6.2中,所述的处理每个Net电路信号模块的步骤如下;
步骤6.2.1,为Net电路信号模块生成一条有向超边;
步骤6.2.2,读取Net电路信号模块的INPUT端点信息,依据INPUT端点信息中给定的Inst电路单元和管脚信息找到相应的超图结点,作为该有向超边的尾端结点;
步骤6.2.3,读取Net电路信号模块的每个OUTPUT...

【专利技术属性】
技术研发人员:冷明孙凌宇冷子阳
申请(专利权)人:孙凌宇冷明
类型:发明
国别省市:江西;36

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

1