CN103530211B - 一种基于uvm平台的pcie回环自检测的方法 - Google Patents

一种基于uvm平台的pcie回环自检测的方法 Download PDF

Info

Publication number
CN103530211B
CN103530211B CN201310474618.7A CN201310474618A CN103530211B CN 103530211 B CN103530211 B CN 103530211B CN 201310474618 A CN201310474618 A CN 201310474618A CN 103530211 B CN103530211 B CN 103530211B
Authority
CN
China
Prior art keywords
module
sent
bag
signal
data
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.)
Active
Application number
CN201310474618.7A
Other languages
English (en)
Other versions
CN103530211A (zh
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.)
Ding Xiangen
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201310474618.7A priority Critical patent/CN103530211B/zh
Publication of CN103530211A publication Critical patent/CN103530211A/zh
Application granted granted Critical
Publication of CN103530211B publication Critical patent/CN103530211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于UVM平台的PCIE回环自检测技术,其特征在于:将总线接口桥的主模块和从模块通过信号匹配模块连接起来,信号匹配模块通过更改主模块和从模块的输出信号的时序来实现主模块和从模块的自检测,将主模块发送给应用层的读写请求包以及完成包作为应用层发送给从模块的读写请求包以及完成包。本发明大大减少了UVM平台中的组件,提高了UVM平台各组件的利用率,降低平台bug的产生。

Description

一种基于UVM平台的PCIE回环自检测的方法
技术领域
本发明涉及一种基于UVM平台的PCIE回环自检测的方法,具体涉及UVM验证平台以及PCIE桥的主从块的连接问题。
背景技术
现有PCIE的总线接口(AXI)桥没有涉及到其中主(master)模块和从(slave)模块相连接的问题。现有的PCIE也没有涉及到使用UVM验证平台来验证PCIE模块。
如图1,即为现有的一个基本组件搭建的UVM验证平台。
如图2,即为现有的一个基本验证PCIE的原理流程图。
图1中的UVM平台中的各个组件应用到了图2中,UVM平台的各个组件的大意如下:
组件定义包模块(transaction):用来组成数据包,包括数据包的各个部分。
组件激励产生器(sequence):将数据包按照一定的顺序及数量,发送给sequencer。
组件定序器(sequencer):管理sequence对数据包的发送。
组件驱动器(driver):它的功能主要就是向sequencer 索要sequence_item,即transaction,并且再把sequence_item里的信息驱动到待测试模块(DUT, Design UnderTest)的接口上,这相当于完成了从transaction 级别到DUT 能够接受的pin 级别的信息的转变。Driver和DUT是通过接口(interface)来连接的,而interface是唯一的将verilog和systemverilog两种语言连接起来的方式。
组件数据监测器(monitor):它的功能与driver的功能相反,driver 向DUT 的pin上发送数据,而monitor 则是从DUT 的pin 上接收数据,并且把接收到的数据转换成transaction 级别的sequence_item,并且把转换后的数据发送给比较器(scoreboard),供scoreboard 比较。
组件代理器(agent):它只是把driver 和monitor 封装在一起,根据参数值来决定实例化monitor,还是sequencer和driver。
组件功能模型(reference model):作用就是模仿DUT,完成与DUT 相同的功能。DUT 是用verilog 写成的时序电路,而reference model 则可以直接使用systemverilog高级语言的特性,同时还可以通过分布协议接口(DPI, Distributed ProtocolInterface),接口调用其它语言来完成与DUT 相同的功能。
组件scoreboard:它的功能就是比较reference model 和monitor 分别发送来的数据,根据比较结果判断DUT是否正确工作。
对于图2中,PCIE主动对应用层进行的操作,是通过AXI桥的master模块来完成的,而应用层对PCIE发送数据的时候是通过AXI桥的slave模块来完成的。
对于一个存储器写包,数据包通过将定义包模块(transaction)产生的数据包发送到定序器(generator)中,然后驱动器(driver)从generator中获得数据包发送给连接mac层接收端的interface,因为interface中信号是与mac层的接收信号相连,所以,就相当于完成了对mac层接收端的写存储器包的输入。该包会经过数据链路层的LCRC检测,事物层的ECRC检测,以及事物层的畸形包检测等。如果包的格式、内容等是正确的,则该包会顺利的通过PCIE的三层,进入到AXI桥的主(master)模块。AXI 桥中的master模块,将该包进行一定的处理,使得各个信号与AXI总线匹配,最后发送到应用层的存储器。由于没有现成的应用层模块,所以,在这里要加一个UVM平台中的数据监测器(monitor)组件,用于监测接收数据包的输出,然后按照写地址、写数据、写标志位等信号存放到自己定义的存储器中。写完成以后,返回一个写地址以及完成标志位等信号,然后驱动器1(driver1)将这些信号发送到AXI桥的接收端,然后PCIE会对这些信号进行组合,最后以一个完成包的形式通过PCIE的发送端发送出去。
此时,如果我们再定义一个存储器读TLP包,同样的,数据包通过将transaction产生的数据包发送到generator中,generator将数据包发送给driver,然后driver再施加给mac层的接收端,完成对mac层接收端的读存储器包的输入。假设该包正确,当该包经过PCIE各层的检测后,则该包会顺利的通过PCIE的三层,进入到AXI桥的master模块,然后发送出去,输出信号会被monitor检测到,然后monitor会将读地址等信号发送给存储器进行读取数据操作,读出的存储器的数据及地址会被收集(assemble)模块收集起来,然后发送到driver1中,driver1将收集到的数据及地址以及包的格式类型,发送到AXI桥的master的接收端,然后通过PCIE里面的XADM等模块进行组包,以一个完成包的形式通过PCIE的发送端发送出去。
应用层对PCIE发送数据的时候是通过AXI桥的slave模块来完成的。如图2中,使用驱动器2(driver2)来模拟应用层,发送存储器写请求相关的信号,例如写地址,写数据等等,发送到AXI桥的slave模块,然后slave模块再发送到PCIE中的XADM模块进行组包,通过PCIE的发送端发送出去。最后,在out_agent中的monitor对mac层的输出端口进行监测,当监测到从应用层发过来的存储器写请求包时,monitor组件通过对该包进行解析,解析出我们需要的数据位,地址位等等,然后通过这些信号,将写数据存放到monitor中的存储器中。同时,monitor会通知driver发送一个相关的完成报文到mac层的输入端。最后通过slave模块发送给应用层,通过监测器2(monitor2)来进行监测收集。
当应用层发送存储器读请求包的时候,同样的,driver2会模拟应用层,发送存储器读请求相关的信号,例如读地址,数据包类型,读标志等等信号,然后经过PCIE进行组包,再发送出去,当out_agent中的monitor监测接收到该包的时候,对其进行解析,发现该包是一个读请求包,那么,monitor会将解析出来的读信息(例如读地址等)发送到MEM中读取数据,并将读出来的数据通知给driver,然后driver组合一个带数据的完成包发送到mac层的输入端。最后通过slave模块发送给应用层,通过monitor2来进行监测收集。
现有的技术方案需要多个激励产生器,需要多个数据监测器,组件要求多,并且利用率较低,并不是发每种TLP包都会用到各个组件。相应的,在许多的testcase中,有的组件是不工作的。并且,对验证平台的要求极高,各个组件的联系比较多,很容易在平台中产生bug。
发明内容
本发明的目的在于克服上述不足,提供一种基于UVM平台的PCIE回环自检测的方法,减少了UVM平台中的组件,提高UVM平台各组件的利用率,降低平台bug的产生。
本发明的目的是这样实现的:一种基于UVM平台的PCIE回环自检测的方法,通过信号匹配模块将AXI桥的master和slave模块连接起来,来实现master和slave的自检测,将master发送给应用层的读写请求包以及完成包,作为应用层发送给slave模块的读写请求包以及完成包。
其进一步的技术方案具体步骤如下:
1)在对于一个存储器写TLP包,通过将transaction产生的数据包发送到sequencer中,然后driver从sequencer中获得数据包并发送给连接mac层接收端的interface,完成对mac层接收端的写存储器包的输入;
2)该包会经过数据链路层的LCRC检测,事物层的ECRC检测,以及事物层的畸形包检测等。如果包的格式、内容等是正确的,则该包会顺利的通过PCIE的三层,进入到AXI桥的master模块;
3)经过上述master模块以后,最后将地址信号、数据信号、标志信号几种信号发送给AXI桥的slave模块;
4)上述slave模块对信号进行组合以后,发送给PCIE中的发送器模块,信号在发送器模块中进行组合,组合成TLP包的格式发送给PCIE事物层的发送端并进行添加ECRC,然后在数据链路层添加LCRC,最后通过mac层发送出去;
5)在mac层的输出端,有一个out_agent组件,out_agent组件中的monitor组件用来监测收集mac层的输出端,并具有解析TLP包的功能。当解析到该TLP包为存储器写TLP包以后,它会将写地址与写数据解析出来,然后将写地址与写数据存放到本地的存储器中。
与现有技术相比,本实用新型的有益效果是:
本发明通过在AXI桥的master模块和slave模块之间添加一个信号匹配模块,将master模块和slave模块连接起来,省去了PCIE需应用层的连接来进行检测的问题;大大减少了UVM平台中的组件,仅需要一个monitor和两个driver就完成了数据的发送与监测,大大减少了工作量,和UVM平台各组件的利用率;减少了interface的定义,仅在PCIE的mac层的发送与输出端定义一个interface,而在PCIE于应用层连接的那一端则不需要重新定义interface。
附图说明
图1是现有的UVM验证平台。
图2是现有PCIE的验证流程。
图3是本发明中涉及的PCIE回环自检测模式。
图4是本发明中涉及的PCIE验证流程。
具体实施方式
如图3所示,本发明涉及一种基于UVM平台的PCIE回环自检测的方法,所述方法通过将总线接口(AXI)桥的主(master)和从(slave)模块连接起来,来实现master和slave的自检测,将master发送给应用层的读写请求包以及完成包,作为应用层发送给slave模块的读写请求包以及完成包。
如图4所示,图中主模块1(master1)和主模块2(master2)在设计中为同一个模块,从模块1(slave1)和从模块2(slave2)在设计中为同一个模块。在对于一个存储器写TLP包,数据包通过将定义包模块(transaction)产生的数据包发送到定序器(sequencer)中,然后驱动器(driver)从sequencer中获得数据包发送给连接mac层接收端的interface,因为interface中信号是与mac层的接收信号相连,所以,就相当于完成了对mac层接收端的写存储器包的输入。同样的,该包会经过数据链路层的LCRC检测,事物层的ECRC检测,以及事物层的畸形包检测等。如果包的格式、内容等是正确的,则该包会顺利的通过PCIE的三层,进入到AXI桥的master模块。AXI桥中的master1模块将这些相应的信号发送给信号匹配(signal_match_mstr)模块,该模块是本提案中的一个创新点,它解决了AXI桥中master1的输出信号与slave1的输入信号不匹配的问题。该信号匹配器的作用是将master1发送出来的信号延时发送,将其位宽改成需要的位宽,使这些信号以正确的时序发送,并且变成可以令AXI桥中slave1识别的信号。经过该模块以后,最后将数据等信号发送给AXI桥的slave模块。slave1模块对信号进行一定的处理以后,发送给PCIE中的XADM,信号在XADM中进行组合,组合成TLP包的格式发送给PCIE事物层的发送端进行添加ECRC,然后在数据链路层添加LCRC,最后通过mac层发送出去。在mac层的输出端,有一个out_agent组件,out_agent中的monitor组件用来监测收集mac层的输出端,并具有解析TLP包的功能。当解析到该TLP包为存储器写TLP包以后,它会将写地址与写数据解析出来,然后将数据存放到本地的存储器中。通过这种方法,我们可以完成两项任务的检测,首先是PCIE的接收端接收存储器TLP包的能力,以及TLP包在PCIE接收端流动的正确性,如果PCIE的接收端有错误,则该TLP包不会到达AXI桥的master模块。另外,通过将AXI桥的master1模块与slave1模块连接起来,本来是PCIE接收端的写存储器操作就可以应用到PCIE的发送端了,就可以检测写TLP包在PCIE发送端流动的正确性。同时,也不用再考虑应用层主动发送写存储器操作。这样,省去了一个应用层这个很大的模块。另外,out_agent中的monitor组件中还具有LCRC和ECRC检测功能,可以检测接收到的数据包的LCRC和ECRC是否正确。
当我们向PCIE的mac层接收端发送一个读存储器TLP包的时候,读地址应该与之前写tlp包的写地址一致,这样才可以进行读操作,否则,读出的数据可能是存储器中的初始值。同样的,该TLP包会经过PCIE的接收端,进行各种数据包格式以及内容的检测以后发送到接收处理模块(RADM),RADM模块经过判断数据包的类型再送入到AXI桥的master模块,然后master模块将这些信号发送到信号匹配模块signal_match_mstr,该模块对各个信号重新进行调整,调整为可以被AXI桥的slave模块接收的信号,然后将这些信号发送给AXI桥的slave模块。slave模块将信号发送给XADM模块,经过XADM模块的组包操作,进入到PCIE的发送端,经过发送端的ECRC和LCRC的添加,最终由mac层的输出端输出到interface中。同时out_agent中的monitor会对interface中的输出包进行监测收集,收集完一个整TLP包以后,会对该TLP包进行解析,可以解析出该包的类型,地址以及数据(如果带数据)。当发现该包是一个存储器读请求包,那么就会根据地址来读取本地的存储器的数据,然后将该地址和读出的数据组合成一个transaction发送到另一个单独的in_agent1中的driver中。其中,out_agent和in_agent1之间是通过UVM平台中定义的端口相连接的,而out_agent中的port是和其中的monitor的port直接相连,in_agent1中的port是和其中的driver的port直接相连,这样就达到的out_agent中的monitor和in_agent中的driver相连的目的。当in_agent1中的driver接收到out_agent中的monitor发送过来的带有地址和数据的数据包以后,会对该数据包把地址和数据解析出来,然后将地址和数据组合成完成包,包中的其他内容由自己定义,尤其是表示cpl包的类型的比特位。将cpl包组合完成以后,再通过in_agent1中的driver发送到PCIE的接收端的mac层,该完成包再经过PCIE的接收端的mac层、数据链路层(主要对LCRC进行检测)、事物层(主要ECRC检测以及畸形包检测)以后,发送到RADM,RADM检测到该包的数据类型为存储器读的完成包,则会发送到AXI桥的slave模块,该模块将包解析以后再把解析后的信号发送到信号匹配模块(signal_match_slv)。各个信号经过信号匹配以后,会被匹配模块发送到AXI桥的master模块。而此时,AXI桥的master模块会认为是应用层发送过来的模块,并不会报错。然后master模块将信号发送到PCIE发送端的XADM模块进行组包,最后又PCIE发送端mac层的输出端输出。而此时,连接mac层输出端的out_agent又回监测收集到该包,发现该包是一个存储器读的完成包,然后,将该包进行解析,解析出地址与数据以后,与本地的相应的地址所对应的数据进行对比,检查该完成包在PCIE中流动的过程中有没有出现错误。
另外,当in_agent中的driver向PCIE接收端发送配置寄存器的写请求TLP包时,会把数据送入到配置模块中。然后再发送一个配置寄存器读请求TLP包,该包会将配置模块中的相应寄存器的数据读出来,经过本地总线控制器(LBC, Local Bus Controller)送入到XADM中,最后传送到mac层的输出端,又传送到了out_agent的monitor中,该monitor又会对该数据包进行解析,将其中的地址位以及数据位解析出来与之前发送到写地址及写数据进行对比。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

Claims (1)

1.一种基于UVM平台的PCIE回环自检测的方法,将总线接口桥的主模块和从模块通过信号匹配模块连接起来,信号匹配模块通过更改主模块和从模块的输出信号的时序来实现主模块和从模块的自检测,将主模块发送给应用层的读写请求包以及完成包作为应用层发送给从模块的读写请求包以及完成包,其特征在于所述方法包括以下步骤:
1)在对于一个存储器写TLP包,定义包模块通过将产生的数据包发送到定序器中,然后驱动器从定序器中获得数据包发送给连接物理层接收端的接口,完成了对物理层接收端的写存储器包的输入;
2)该TLP包会经过数据链路层的循环冗余校验,事物层的循环冗余校验,以及事物层的畸形包检测;
3)经过主模块以后,再将地址数据信号发送到信号匹配模块,信号匹配模块会使地址信号先于数据信号一个周期发送给从模块,然后数据信号及数据标志信号发送给总线接口桥的从模块;
4)从模块对信号进行组合以后,发送给PCIE中的发送器,信号在发送器中进行组合,组合成TLP包的格式发送给PCIE事物层的发送端进行添加循环冗余校验,然后在数据链路层添加循环冗余校验,最后通过物理层发送出去;
5)在物理层的输出端有一个输出代理组件,输出代理组件中的数据监测器组件用来监测收集物理层的输出端,并具有解析TLP包的功能,当解析到该TLP包为存储器写TLP包以后,它会将写地址与写数据解析出来,然后将数据存放到本地的存储器中。
CN201310474618.7A 2013-10-12 2013-10-12 一种基于uvm平台的pcie回环自检测的方法 Active CN103530211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310474618.7A CN103530211B (zh) 2013-10-12 2013-10-12 一种基于uvm平台的pcie回环自检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310474618.7A CN103530211B (zh) 2013-10-12 2013-10-12 一种基于uvm平台的pcie回环自检测的方法

Publications (2)

Publication Number Publication Date
CN103530211A CN103530211A (zh) 2014-01-22
CN103530211B true CN103530211B (zh) 2017-10-03

Family

ID=49932243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310474618.7A Active CN103530211B (zh) 2013-10-12 2013-10-12 一种基于uvm平台的pcie回环自检测的方法

Country Status (1)

Country Link
CN (1) CN103530211B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320593B (zh) * 2014-07-29 2019-04-16 中兴通讯股份有限公司 多路帧随机数据验证处理方法及装置
CN105320583A (zh) * 2014-07-31 2016-02-10 上海华虹集成电路有限责任公司 基于uvm验证方法学的只写寄存器验证测试平台及验证方法
CN105373458A (zh) * 2014-09-01 2016-03-02 上海华虹集成电路有限责任公司 Uvm验证平台的内部信号检测方法及应用
CN105446844A (zh) * 2014-09-01 2016-03-30 上海华虹集成电路有限责任公司 基于uvm验证方法学的只读寄存器验证测试平台及验证方法
CN104462693B (zh) * 2014-12-09 2017-10-20 中国航空工业集团公司第六三一研究所 一种基于uvm构建1394链路层事务级模型
CN106649021B (zh) * 2016-11-25 2019-04-09 北京计算机技术及应用研究所 PCIe从设备测试装置
CN106713280B (zh) * 2016-11-30 2018-04-20 北京得瑞领新科技有限公司 一种激励信号处理方法、装置及模块验证系统
CN108733529B (zh) * 2017-04-19 2021-08-10 龙芯中科技术股份有限公司 Axi交叉开关的间插功能的验证方法与装置
CN111984477B (zh) * 2020-07-09 2022-05-17 瑞芯微电子股份有限公司 一种PCIe设备信号参数动态校正装置和方法
CN112527705B (zh) * 2020-11-05 2023-02-28 山东云海国创云计算装备产业创新中心有限公司 一种PCIe DMA数据通路的验证方法、装置及设备
CN112668263B (zh) * 2020-12-29 2022-08-16 中国电子科技集团公司第五十八研究所 基于PCIe总线的处理层设计方法、结构及应用
CN113807045A (zh) * 2021-09-18 2021-12-17 海光信息技术股份有限公司 一种接口注册方法、接口引用方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082896A (zh) * 2007-08-03 2007-12-05 杭州华三通信技术有限公司 一种主从模块间的控制方法和装置
CN101276318A (zh) * 2008-05-12 2008-10-01 北京航空航天大学 基于pci-e总线的直接存取数据传输控制装置
CN102253909A (zh) * 2011-06-30 2011-11-23 济南大学 Fpga环境下多用途pci接口及其数据传输方法
CN103106166A (zh) * 2012-12-22 2013-05-15 中国船舶重工集团公司第七0九研究所 一种协议无关、可支持目标读写操作的pcie ip核用户逻辑接口设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082896A (zh) * 2007-08-03 2007-12-05 杭州华三通信技术有限公司 一种主从模块间的控制方法和装置
CN101276318A (zh) * 2008-05-12 2008-10-01 北京航空航天大学 基于pci-e总线的直接存取数据传输控制装置
CN102253909A (zh) * 2011-06-30 2011-11-23 济南大学 Fpga环境下多用途pci接口及其数据传输方法
CN103106166A (zh) * 2012-12-22 2013-05-15 中国船舶重工集团公司第七0九研究所 一种协议无关、可支持目标读写操作的pcie ip核用户逻辑接口设计方法

Also Published As

Publication number Publication date
CN103530211A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103530211B (zh) 一种基于uvm平台的pcie回环自检测的方法
CN103530216B (zh) 一种基于uvm验证方法学的pcie验证系统
CN106612141B (zh) 一种光纤通道协议通用仿真测试卡及其数据交互方法
CN102393738B (zh) 汽车电子控制单元的诊断装置和测试方法
CN100573537C (zh) 一种soc芯片系统级验证系统及方法
CN106156424B (zh) 一种仿真系统
CN103490959B (zh) 一种双冗余can总线故障检测方法
CN101782778A (zh) 车载信息系统多功能测试平台及主控制器的控制结构
CN104168162B (zh) 一种软硬件协同实现用于交换机验证测试的流量生成器
CN102420719B (zh) 一种测试PCIe总线带宽的装置和方法
CN107135210A (zh) 一种汽车模拟通讯协议解析器及其解析方法
CN103516462B (zh) 一种非标准Canopen从节点的数据帧发送方法及装置
CN108287537B (zh) 一种can总线协议控制器测试方法
CN103970634B (zh) 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
CN109743301A (zh) 一种基于Modbus协议的数据收发系统及方法
CN104657555A (zh) 一种基于uvm验证方法学的toe的验证方法及平台
CN103310850A (zh) 片上网络资源节点存储器的内建自测试结构和自测试方法
CN101763299B (zh) 一种通用串行总线设备测试方法和装置
CN109634256B (zh) 一种通用can控制器芯片的板级验证系统
CN105528285A (zh) 一种pcie验证方法
CN105653409A (zh) 一种基于数据类型转换的硬件仿真器验证数据提取系统
CN102355378B (zh) 一种载波通道测试系统
CN104461813A (zh) 利用功能覆盖率负反馈加速uvm验证收敛的方法
CN104462693B (zh) 一种基于uvm构建1394链路层事务级模型
CN107294814A (zh) 一种片上网络的测试方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170803

Address after: 214400 Wuxi City, Jiangyin, Shoushan Road, No. 117 sunshine golden home, room 2, building 401, room

Applicant after: Ding Xiangen

Address before: 214433 Jiangyin, Wuxi, Chengjiang street, new road, No., No. 9

Applicant before: Jiangsu Huali Network Engineering Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant