《一种将FPGA硬件描述语言VHDL转化为普通PETRI网的方法.pdf》由会员分享,可在线阅读,更多相关《一种将FPGA硬件描述语言VHDL转化为普通PETRI网的方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103093046 A(43)申请公布日 2013.05.08CN103093046A*CN103093046A*(21)申请号 201310010846.9(22)申请日 2013.01.11G06F 17/50(2006.01)(71)申请人华侨大学地址 362000 福建省泉州市丰泽区城东华侨大学(72)发明人叶丹丹 罗继亮(74)专利代理机构泉州市文华专利代理有限公司 35205代理人车世伟(54) 发明名称一种将FPGA硬件描述语言VHDL转化为普通Petri网的方法(57) 摘要本发明一种将FPGA硬件描述语言VHDL转换为普通Petri网的方法,针对编译。
2、好的VHDL程序,得到输入输出之间的逻辑关系,将输入输出之间的逻辑关系式化简为V2P布尔表达式,将V2P布尔表达式变形,利用变形后的布尔表达式转换为普通Petri网;本发明提供了VHDL程序的建模方法,是FPGA硬件描述语言VHDL的仿真和验证的有力工具。(51)Int.Cl.权利要求书1页 说明书5页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书5页 附图3页(10)申请公布号 CN 103093046 ACN 103093046 A1/1页21.一种将FPGA硬件描述语言VHDL转为普通Petri网的方法,其特征在于包括如下步骤:步骤1:针对编译成。
3、功的VHDL程序,在实体中找到该程序的输入X,输出Y,其中Xm,XnX,Y,YkY,得到关于输入输出的逻辑表达式,称为V2P公式:其中I,J,M,NN+,Yk, Xm,XN代表布尔量或布尔量取反,且步骤2:令V2P公式中的Yk=Lk,Xm,n=Wm,n或Lm,n,其中Lk,Wm,n,Lm,n为布尔量或布尔量的逆,得到一个关于L和W的逻辑关系式(1),为V2P公式的变形:步骤3:将关于L和W的逻辑关系式(1)转化为普通Petri网模型,具体步骤如下:步骤3.1:用集合表示所有的传感器WP和执行机构LQ,传感器Wp|WpWP,p,PN+和执行机构Lq|LqLQ,q,QN+;步骤3.2:对于传感器,。
4、用一对库所来表示它的两种状态,假设初始状态为步骤3.3:首先令p=P;步骤3.4:在之间加上两个变迁,首先构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向步骤3.5:p=p-1;步骤3.6:当p0时,转步骤3.4,当p=0时,所有传感器的模型都建立起来了;步骤3.7:对于执行机构,用一对库所表示该执行机构的两种状态假设初始状态为步骤3.8:首先令q=Q;步骤3.9:在之间加入两个变迁,构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向步骤3.10:将V2P公式中j的表达式对应到逻辑关系式(1)中,即这部分。
5、中的与t1之间用双向弧连接,其中步骤3.11:将V2P公式中i的表达式对应到逻辑关系式(1)中,即这部分中的Wm,Lm与t2之间用双向弧连接,其中WmWP,LmLQ;步骤3.12:q=q-1,;步骤3.13:当q0时,转步骤3.9,当q=0时,所有的执行机构的模型都建立起来了;步骤3.14:将建立的传感器和执行机构的模型合并起来,得到完整的Petri网模型。权 利 要 求 书CN 103093046 A1/5页3一种将 FPGA 硬件描述语言 VHDL 转化为普通 Petri 网的方法技术领域0001 本发明涉及一种将FPGA硬件描述语言VHDL转为普通Petri网的方法。背景技术0002 F。
6、PGA(FieldProgrammable Gate Array)是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(VHDL)所完成的电路设计,可以经过简单的综合与布局,快速地烧录至FPGA上进行测试。FPGA(现场可编程逻辑器件)产品的主要应用领域有通信、消费电子、汽车电子、工业控制、测试测量等。随着技术要求的日渐提高,控制系统规模和结构复杂性增长日渐迅速。比如铁路交通控制系统,系统的状态个数随传感器和执行机构的数目呈现指数级的。
7、增长,若某一系统有n个传感器和执行机构,则这个系统状态有2n个,状态数非常庞大,所以FGPA面临着高计算复杂性的问题。0003 而高计算复杂性带来很多实际问题,比如:VHDL程序设计和程序调试工作量繁琐和巨大,芯片开发周期和成本不可调控;VHDL程序仿真无法验证每个状态(2n),无法保证程序的正确性和可靠性,而程序出错可能造成严重事故。为了避免上述一些问题的出现,我们需要开发FPGA硬件描述语言VHDL的软件验证方法,利用计算机来完成程序仿真和验证工作,降低程序开发成本,保证程序的正确性和可靠性。因此,需要将VHDL程序模拟为计算机数学模型,即将VHDL程序转换为一种计算机数学模型 -Petr。
8、i网,以Petri网为工具对VHDL程序进行仿真和验证。Petri网是1960年代德国科学家卡尔A佩特里发明的,适合于模拟异步的、并发的动态系统,既有严格的数学表述方式,又有直观的图表达方式。发明内容0004 本发明提供了一种将FPGA硬件描述语言VHDL转化为普通Petri网模型的方法。0005 一种将FPGA硬件描述语言VHDL转为普通Petri网的方法,包括如下步骤:0006 步骤1:针对编译成功的VHDL程序,在实体中找到该程序的输入X,输出Y,其中Xm,XnX,Y,YkY,得到关于输入输出的逻辑表达式,称为V2P公式:其中I,J,M,NN+,Yk, Xm,XN代表布尔量或布尔量取反,。
9、且0007 步骤2:令V2P公式中的Yk=Lk,Xm,n=Wm,n或Lm,n,其中Lk,Wm,n,Lm,n为布尔量或布尔量的逆,得到一个关于L和W的逻辑关系式(1),为V2P公式的变形:0008 步骤3:将关于L和W的逻辑关系式(1)转化为普通Petri网模型,具体步骤如下:说 明 书CN 103093046 A2/5页40009 步骤3.1:用集合表示所有的传感器WP和执行机构LQ,传感器Wp|WpWP,p,PN+和执行机构Lq|LqLQ,q,QN+;0010 步骤3.2:对于传感器,用一对库所来表示它的两种状态,假设初始状态为0011 步骤3.3:首先令p=P;0012 步骤3.4:在之间。
10、加上两个变迁,首先构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向0013 步骤3.5:p=p-1;0014 步骤3.6:当p0时,转步骤3.4,当p=0时,所有传感器的模型都建立起来了;0015 步骤3.7:对于执行机构,用一对库所表示该执行机构的两种状态假设初始状态为0016 步骤3.8:首先令q=Q;0017 步骤3.9:在之间加入两个变迁,构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向0018 步骤3.10:将V2P公式中j的表达式对应到逻辑关系式(1)中,即这部分中的与t1之间用双向弧连接,。
11、其中0019 步骤3.11:将V2P公式中i的表达式对应到逻辑关系式(1)中,即这部分中的Wm,Lm与t2之间用双向弧连接,其中WmWP,LmLQ;0020 步骤3.12:q=q-1,;0021 步骤3.13:当q0时,转步骤3.9,当q=0时,所有的执行机构的模型都建立起来了;0022 步骤3.14:将建立的传感器和执行机构的模型合并起来,得到完整的Petri网模型。0023 本发明实现了VHDL程序到普通Petri网模型的自动转换,由于普通Petri网激发条件简洁,逻辑思维方式简单,更直观易懂;而且所得Petri网模型能够完全模拟VHDL程序中状态的转换,便于对程序分析、纠错,使程序逻辑更。
12、为严谨。附图说明0024 图1为本发明的工作流程图;0025 图2为本发明实施例一站点的Petri网模型;0026 图3为发明实施例一小车进站出站系统的Petri网模型;0027 图4为本发明实施例二单容水箱示意图;0028 图5为本发明实施例二单容水箱的Petri网模型。0029 以下结合附图和具体实施例对本发明做进一步详述。说 明 书CN 103093046 A3/5页5具体实施方式0030 如图1所示,本发明一种将FPGA硬件描述语言VHDL转为普通Petri网的方法,具体包括如下步骤:0031 步骤1:针对编译成功的VHDL程序,在实体中找到该程序的输入X,输出Y,其中Xm,XnX,Y。
13、,YkY,得到关于输入输出的逻辑表达式,称为V2P公式:其中I,J,M,NN+,Yk, Xm,XN代表布尔量或布尔量取反,且0032 步骤2:令公式中的Yk=Lk,Xm,n=Wm,n或Lm,n,其中Lk,Wm,n,Lm,n为布尔量或布尔量的逆,得到一个关于L和W的逻辑关系式(1),为V2P公式变形:0033 步骤3:将关于L和W的逻辑关系式(1)转化为普通Petri网模型步骤如下:0034 步骤3.1:用集合表示所有的传感器WP和执行机构LQ,传感器Wp|WpWP,p,PN+和执行机构Lq|LqLQ,q,QN+;0035 步骤3.2:对于传感器,用一对库所来表示它的两种状态,假设初始状态为00。
14、36 步骤3.3:首先令p=P;0037 步骤3.4:在之间加上两个变迁,首先构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向0038 步骤3.5:p=p-1;0039 步骤3.6:当p0时,转步骤3.4,当p=0时,所有传感器的模型都建立起来了;0040 步骤3.7:对于执行机构,用一对库所表示该执行机构的两种状态假设初始状态为0041 步骤3.8:首先令q=Q;0042 步骤3.9:在之间加入两个变迁,构造四条有向弧arc1、arc2、arc3、arc4分别由指向t1,t1指向指向t2,t2指向0043 步骤3.10:将V2P公式中j的表达式对。
15、应到逻辑关系式(1)中,即这部分中的与t1之间用双向弧连接,其中0044 步骤3.11:将V2P公式中i的表达式对应到逻辑关系式(1)中,即这部分中的Wm,Lm与t2之间用双向弧连接,其中WmWP,LmLQ;0045 步骤3.12:q=q-1,;0046 步骤3.13:当q0时,转步骤3.9,当q=0时,所有的执行机构的模型都建立起来说 明 书CN 103093046 A4/5页6了;0047 步骤3.14:将建立的传感器和执行机构的模型合并起来,得到完整的Petri网模型。0048 以下结合实施例来加深对上述步骤的理解。0049 实施例1:一辆小车从A站点开往B站点,经过A站点时触发A站点传。
16、感器,当小车行驶在A,B站点中间段的时候,不允许其他小车进入A站点,当小车到达B站点,触发B站点传感器,此时允许其他小车进入A站点。0050 步骤1:在已有的VHDL程序里面找到输入输出:X,Y,即输入为a,b;输出为c;0051 步骤2:得到关于a,b,c的逻辑表达式:c=aor(not b)and c),其中a,b,c为布尔量,用+代替or,用*代替and,用-代替not,得到0052 步骤3:利用布尔量运算规则:化简为V2P公式:0053 步骤4:令L0=c,W1=a,W0=b,则V2P公式变形为:0054 步骤5:用W0表示站点A,W1表示站点B,用一对库所p1,p2,即表示站点A的两。
17、种状态,用一对库所p3,p4即表示站点B的两种状态,在上述的两对库所之间分别加上两个变迁,t0,t1,t2,t3,用八条有向弧arc1-arc8连接库所和变迁,如图2所示:0055 步骤6:用一对库所p5,p6即表示A,B站点之间的路段红绿灯情况,代表绿灯,可通车;代表红灯,不可通车;0056 步骤7:在库所之间加上一对变迁t4,t5,用四条有向弧连接,得到路段绿灯的状态必须变迁t5激发或变迁t4不激发,利用V2P公式变形的形式,对变迁t4,利用公式,在t5与之间用双向弧连接,对变迁t5,利用公式,在t4与之间用双向弧连接,如图3所示;0057 步骤8:得到图3的Petri网模型后,利用其性质。
18、进行验证:0058 步骤8.1:小车进入A站点,传感器有信号,t1激发,B站点无信号,t2激发,则p1中有标识,p4中有标识,变迁t4激发,路段处于红灯状态,不能允许下一辆小车进入A站点;0059 步骤8.2:小车离开A站点,传感器无信号,变迁t0激发,标识回到p2库所;0060 步骤8.3:小车在路段之间行驶时间内,路段始终处于红灯状态,即标识处于p6库所内,0061 步骤8.4:小车到达B站点时,B站点传感器有信号,变迁t3激发,标识从p4内转移到p3内,此时t5变迁激发,标识从p6中转移到p5中,路段处于绿灯状态,表示下一辆小车说 明 书CN 103093046 A5/5页7可以进入A站。
19、点,与实际要求相符合,完成验证。0062 实施例2:单容水箱,传感器S,进水阀A,出水阀B,当水位到达S时,进水阀A关闭,出水阀B打开,当水位未到达S时,进水阀A打开,出水阀B关闭,如图4所示。0063 步骤1:在已有的VHDL程序里面找到输入输出X,Y,这个系统里面有两个输出c1,c2,输入为a;0064 步骤2:得到关于c1,c2,a的逻辑表达式:c1=not a,c2=a,用-代表not,表达式变为:c2=a;0065 步骤3:利用布尔量运算规则:化简为V2P公式:0066 步骤4:令L1=c1,L2=c2,W=a,则V2P公式变形为:0067 步骤5:用W表示传感器S,用一对库所p1,。
20、p2,即(WW,IW)表示传感器的两种状态,有信号和无信号状态,在这对库所之间加上两个变迁t1,t2,用四条有向弧连接库所和变迁;0068 步骤6:用一对库所p3,p4表示进水阀A的两种状态,即表示进水阀打开,表示进水阀关闭;0069 步骤7:在之间加上变迁t3,t4,用四条有向弧连接库所和变迁,得到进水阀打开的状态,则变迁t3激发或变迁t4不能激发,利用V2P公式的变形公式在变迁t3与IW之间加上双向弧,在变迁t4与WW之间加上双向弧;0070 步骤8:用一对库所p5,p6表示出水阀B的两种状态,即表示出水阀打开,表示出水阀关闭;0071 步骤9:在之间加上变迁t5,t6,用四条有向弧连接库。
21、所和变迁,得到进水阀打开的状态,则变迁t5激发或t6不能激发,利用V2P公式的变形公式在变迁t5与WW之间加上双向弧,在变迁t6与IW之间加上双向弧,如图5所示;0072 步骤10:得到图5的Petri网模型后,利用其性质进行验证:0073 步骤10.1:当库所p1有标识,即传感器有信号,水位上升到S点时,t4,t5激发,进水阀A关闭,出水阀B打开;0074 步骤10.2:当变迁t2激发,水位为上升到S点时,p2有标识,则t3,t6激发,进水阀A打开,出水阀B关闭,与实际要求相吻合,验证完毕。0075 以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。说 明 书CN 103093046 A1/3页8图1图2说 明 书 附 图CN 103093046 A2/3页9图3图4说 明 书 附 图CN 103093046 A3/3页10图5说 明 书 附 图CN 103093046 A10。