CN102004811B - 一种芯片电路的模拟测试方法和装置 - Google Patents
一种芯片电路的模拟测试方法和装置 Download PDFInfo
- Publication number
- CN102004811B CN102004811B CN2010102821565A CN201010282156A CN102004811B CN 102004811 B CN102004811 B CN 102004811B CN 2010102821565 A CN2010102821565 A CN 2010102821565A CN 201010282156 A CN201010282156 A CN 201010282156A CN 102004811 B CN102004811 B CN 102004811B
- Authority
- CN
- China
- Prior art keywords
- function
- delay
- result
- combinational logic
- chip
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例提供一种模拟测试方法,包括:根据芯片电路结构的组合逻辑,设定进程架构。所述进程架构中包括多个进程。根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置功能函数,并且根据芯片的电路结构中的组合逻辑的处理时延,为进程设置延时函数,通过延时函数对功能函数的处理结果进行延时,以使得进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致;通过缓存将功能函数的处理结果发送给下一个进程。在本发明实施例所提供的模拟测试方法所构造的建模模型中,每个进程通过一个功能函数来记录进程所对应的组合逻辑中的所有处理时延,降低了系统资源的分散程度,提高了系统资源的利用率。
Description
技术领域
本发明涉及一种占用系统资源少的芯片电路的模拟测试方法和装置。
背景技术
随着数字芯片技术的发展,芯片中所包括系统电路越来越趋于复杂,从而在芯片设计阶段,就需要通过建模技术来构造建模电路,以模拟实际芯片电路工作情景,对芯片电路的运行状况进行测试,确认设计的电路是否符合芯片的工作要求。请参照图1,传统的数字芯片电路的模拟过程中往往会生成多个组合逻辑2,以及设于所述多个组合逻辑2之间的时序电路4。其中,所述组合逻辑是用于实现一定的功能,其一般包括与或非门、MUX等基本的电路单元。所述时序电路则一般是各种存储单元,比如缓存(buffer),甚至是先入先出存储队列单元(FIFO)等队列缓存器,用于为各组合逻辑的运算结果提供延时,以满足芯片工作中的时序和频率需求。而建模则是通过模拟技术来模拟上述数字品片中的组合逻辑和时序电路的工作样式,并输出虚拟结果,以使得研发人员可以根据所述输出的虚拟结果来判断当前的数字芯片的设计方案是否合理。
在对数字芯片进行建模的过程中,也会按照数字芯片的电路架构来构建模型,在模型中包括与数字芯片中的组合逻辑相对应的功能函数模块,以及与时序电路相对应的进程模块。在所述功能函数模块中,为了对应于实际的组合逻辑进行数据处理时产生的延时,还需要增加额外的进程管理子模块来帮助模拟延迟。所述进程模块和进程管理子模块的延迟可以通过计算机语言来实现,比如(C++)等。
由于在功能函数中的进程管理子模块,以及进程模块中会包括各种各样的延迟计算,因此对于管理数字模型的系统来说,需要分出大量的额外资源来分别管理这各种各样的延迟,使得系统的稳定性降低。
发明内容
本发明实施例提供一种用于芯片电路测试的芯片电路的模拟测试方法,其特征在于,包括:根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应;根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的所述组合逻辑的处理时延,为所述进程设置延时函数,通过所述延时函数对功能函数的处理结果进行延时,以使得所述进程的功能函数的处理结果的产生时间与所述进程所对应的组合逻辑的数据处理时间相一致;通过缓存将所述功能函数的处理结果发送给下一个进程;输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
本发明实施例还提供一种模拟测试装置。所述模拟测试装置包括进程架构模块、函数设置模块、缓存管理模块、以及结果比对模块,其中,所述进程架构模块用于根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应;所述函数设置模块用于分别为所述多个进程设置函数,其中,所述函数设置模块包括功能函数单元以及延时函数单元,所述功能函数单元用于根据芯片的电路结构中的组合逻辑的功能为所述多个进程设置一个或多个功能函数,所述延时函数单元用于根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数,以使得每个进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致;所述缓存管理模块用于通过缓存将功能函数和延时函数的处理结果发送给下一个进程;所述结果比对模块用于输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
在本发明实施例所提供的模拟测试方法和装置所构造的建模模型中,每个进程通过一个功能函数来记录进程所对应的组合逻辑中的所有处理时延,而不需要再为每个功能函数制造时延,降低了系统资源的分散程度,提高了系统资源的利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的模拟测试方法的示意图。
图2为本发明实施例提供的延时函数的示意图。
图3为本发明实施例提供的模拟测试方法的进一步的示意图。
图4为本发明实施例提供的模拟测试装置的示意图。
图5为本发明实施例提供的函数设置模块的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1所示为本发明实施例提供的模拟测试方法。本发明实施例提供的模拟测试方法用于电路模拟测试过程中,其包括:
步骤101:根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应;
步骤102:根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数,以使得每个进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致;
步骤103:通过缓存将功能函数和延时函数的处理结果发送给下一个进程;
步骤104:输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
在本发明实施例所提供的模拟测试方法所构造的建模模型中,每个进程通过一个功能函数来记录进程所对应的组合逻辑中的所有处理时延,而不需要再为每个功能函数制造时延,降低了系统资源的分散程度,提高了系统资源的利用率,从而提高了电路模拟测试的效率。
进一步的,作为本发明实施例的优选方案,本发明实施例所提供的模拟测试方法种所述的步骤102可以为:
步骤102a:根据每个组合逻辑的处理时延,以及每个组合逻辑对应的时序电路,为每一个进程设置延时函数,以使得进程的功能函数的处理处理时间与发送所述处理结果到下一个进程所需的时间的总和,与进程所对应的组合逻辑的数据处理所需要的时间与将所述数据处理结果发送到下一个组合逻辑的所需要的时间的总和相一致。
在本发明实施例中,所述延时函数可以为由计算机语言生成的虚拟延时队列,也可以为如图2中所示,包括PEQ(Payload Event Queue,负载事件队列)函数42以及CB(Call Back,事件触发回调)函数44。其中,在实际的应用过程中,通过PEQ函数42接收功能函数的处理结果以及进程所对应的延时值,PEQ函数42根据进行所对应的延时值执行延时,并在延时结束后产生相应的事件触发回调函数CB44,通过事件触发回调函数CB44把经过延时的功能函数的处理结果写入下一个进程,或者通过事件触发回调函数CB把经过延时的功能函数的处理结果写入缓存中,并通过缓存将处理结果发送给下一个进程。这种方案的优点是不需要大量的延时队列,进程不需要将函数的处理结果写入下一级缓存,而是由CB函数完成。由于CB函数是基于事件触发的回调函数,因此模型的效率很高。
此外需要注意的是,在本发明实施例中所涉及到的缓存均为通过软件生成的虚拟缓存。
请参照图3,在又一实施例中,步骤102可以包括:
步骤102b:将芯片的电路结构中的每个组合逻辑按照功能划分成多个子组合逻辑,根据每个组合逻辑的子组合逻辑为相应的进程设置多个子功能函数集;
步骤102c:根据每个子组合逻辑的处理时延,为每个子功能函数设置延时函数;
步骤102d:将每个子功能函数的处理结果发送至相应的延时函数。
进一步的,在步骤102c种所述子功能函数更可以包括:PEQ函数和CB函数,通过PEQ函数接收功能函数的处理结果以及进程所对应的延时值,PEQ函数根据进行所对应的延时值执行延时,并在延时结束后产生相应的事件触发回调函数CB,通过事件触发回调函数CB把经过延时的功能函数的处理结果向下一个子功能函数或下一个进程发送。
在本发明实施例中,由于将功能函数进一步的划分成了多个子功能函数,可以对子功能函数来分别计算时延,这样做的优势是,在需要模拟反压场景的时候,只需要针对于特定功能子函数即可,而不会影响其他子功能函数的工作,从而可以更好的模拟数据在反压的情况下的积压状况。
请参照图4,本发明实施例还提供了与本发明实施例所提供的模拟测试方法相对应的模拟测试装置,其包括进程架构模块201、函数设置模块202、缓存管理模块203、以及结果比对模块204。
所述进程架构模块201用于根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应。
所述函数设置模块202分别为所述多个进程设置函数,其中,请参照图5,所述函数设置模块202包括功能函数单元2022以及延时函数单元2024。所述功能函数单元用于根据芯片的电路结构中的组合逻辑的功能为所述多个进程设置一个或多个功能函数,所述延时函数单元用于根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数,以使得每个进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致;
其中,所述根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数可以包括:延时函数单元根据所述组合逻辑的处理时延,以及所述组合逻辑对应的时序电路,为每一个进程设置延时函数,以使得所述进程的功能函数的处理处理时间与发送所述处理结果到下一个进程所需的时间的总和,与所述进程所对应的组合逻辑的数据处理所需要的时间与将所述数据处理结果发送到下一个组合逻辑的所需要的时间的总和相一致。
所述功能函数更可以包括:PEQ函数和CB函数,通过PEQ函数接收功能函数的处理结果以及进程所对应的延时值,PEQ函数根据进行所对应的延时值执行延时,并在延时结束后产生相应的事件触发回调函数CB,通过事件触发回调函数CB把经过延时的功能函数的处理结果向下一个子功能函数发送。
在可选择的实施例中,所述进程架构模块201更可以将芯片的电路结构中的组合逻辑按照功能划分成多个子组合逻辑,所述功能函数单元根据所述组合逻辑的子组合逻辑为相应的进程设置多个子功能函数集;所述延时函数单元根据所述子组合逻辑的处理时延,为所述子功能函数设置延时函数,以通过延时函数对所述子组合逻辑的处理结果进行延时。相应的,所述延时函数包括PEQ函数和CB函数。其中,所述PEQ函数用于接收功能函数的处理结果以及进程所对应的延时值,根据所述进行所对应的延时值对处理结果进行延时,并在延时完成后将处理结果发送给CB函数;所述CB函数用于接收经过延时的功能函数的处理结果,并把所述处理结果写入所述缓存中。
所述缓存管理模块203用于通过缓存将功能函数和延时函数的处理结果发送给下一个进程。所述结果比对模块204用于输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明实施例所提供的多级交换网和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种用于芯片电路的模拟测试方法,其特征在于,包括:
根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应;
根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的所述组合逻辑的处理时延,为所述进程设置延时函数,通过所述延时函数对功能函数的处理结果进行延时,以使得所述进程的功能函数的处理结果的产生时间与所述进程所对应的组合逻辑的数据处理时间相一致;
通过缓存将所述功能函数和延时函数的处理结果发送给下一个进程;
输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
2.如权利要求1中所述的模拟测试方法,其特征在于,所述根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数包括:
根据所述组合逻辑的处理时延,以及所述组合逻辑对应的时序电路,为每一个进程设置延时函数,以使得所述进程的功能函数的处理时间与发送所述处理结果到下一个进程所需的时间的总和,与所述进程所对应的组合逻辑的数据处理所需要的时间与将所述数据处理结果发送到下一个组合逻辑的所需要的时间的总和相一致。
3.如权利要求1中所述的模拟测试方法,其特征在于,所述延时函数为由虚拟计算机语言生成的延时队列。
4.如权利要求1中所述的模拟测试方法,其特征在于,所述延时函数包括PEQ(Payload Event Queue,负载事件队列)函数和CB(Call Back,事件触发回调)函数,其中,
所述PEQ函数用于接收功能函数的处理结果以及进程所对应的延时值,根据所述进程所对应的延时值对处理结果进行延时,并在延时完成后将处理结果发送给CB函数;
所述CB函数用于接收经过延时的功能函数的处理结果,并把所述处理结果写入所述缓存中。
5.如权利要求1中所述的模拟测试方法,其特征在于,所述步骤根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数,以使得每个进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致,包括:
将芯片的电路结构中的组合逻辑按照功能划分成多个子组合逻辑,根据所述组合逻辑的子组合逻辑为相应的进程设置多个子功能函数集;
根据所述子组合逻辑的处理时延,为所述子功能函数设置延时函数;
通过延时函数对所述子组合逻辑的处理结果进行延时。
6.如权利要求5中所述的模拟测试方法,其特征在于,所述功能函数更可以包括:PEQ(Payload Event Queue,负载事件队列)函数和CB(Call Back,事件触发回调)函数,通过PEQ函数接收功能函数的处理结果以及进程所对应的延时值,PEQ函数根据进行所对应的延时值执行延时,并在延时结束后产生相应的事件触发回调函数CB,通过事件触发回调函数CB把经过延时的功能函数的处理结果向下一个子功能函数发送。
7.一种芯片电路的模拟测试装置,其特征在于,所述模拟测试装置包括进程架构模块、函数设置模块、缓存管理模块、以及结果比对模块,其中,
所述进程架构模块用于根据芯片的电路结构中的多个组合逻辑,设定建模模型的进程架构,所述进程架构中包括多个进程,所述多个进程与所述芯片的多个组合逻辑一一对应;
所述函数设置模块用于分别为所述多个进程设置函数,其中,所述函数设置模块包括功能函数单元以及延时函数单元,所述功能函数单元用于根据芯片的电路结构中的组合逻辑的功能为所述多个进程设置一个或多个功能函数,所述延时函数单元用于根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数,以使得每个进程的功能函数的处理结果的产生时间与进程所对应的组合逻辑的数据处理时间相一致;
所述缓存管理模块用于通过缓存将功能函数和延时函数的处理结果发送给下一个进程;
所述结果比对模块用于输出经过所有进程处理的最终处理结果,根据所述最终处理结果与预设的结果进行比对,以判断芯片电路的有效性。
8.如权利要求7中所述的模拟测试装置,其特征在于,所述根据芯片的电路结构中的组合逻辑的功能,分别为所述多个进程设置一个或多个功能函数,并且根据芯片的电路结构中的每个组合逻辑的处理时延,为每个进程设置延时函数包括:
根据所述组合逻辑的处理时延,以及所述组合逻辑对应的时序电路,为每一个进程设置延时函数,以使得所述进程的功能函数的处理时间与发送所述处理结果到下一个进程所需的时间的总和,与所述进程所对应的组合逻辑的数据处理所需要的时间与将所述数据处理结果发送到下一个组合逻辑的所需要的时间的总和相一致。
9.如权利要求7中所述的模拟测试装置,其特征在于,所述延时函数包括PEQ(Payload Event Queue,负载事件队列)函数和CB(Call Back,事件触发回调)函数,其中,
所述PEQ函数用于接收功能函数的处理结果以及进程所对应的延时值,根据所述进行所对应的延时值对处理结果进行延时,并在延时完成后将处理结果发送给CB函数;
所述CB函数用于接收经过延时的功能函数的处理结果,并把所述处理结果写入所述缓存中。
10.如权利要求7中所述的模拟测试装置,其特征在于,所述功能函数单元还根据所述组合逻辑的子组合逻辑为相应的进程设置多个子功能函数集;所述延时函数单元根据所述子组合逻辑的处理时延,为所述子功能函数设置延时函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102821565A CN102004811B (zh) | 2010-09-15 | 2010-09-15 | 一种芯片电路的模拟测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102821565A CN102004811B (zh) | 2010-09-15 | 2010-09-15 | 一种芯片电路的模拟测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102004811A CN102004811A (zh) | 2011-04-06 |
CN102004811B true CN102004811B (zh) | 2012-11-07 |
Family
ID=43812171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102821565A Expired - Fee Related CN102004811B (zh) | 2010-09-15 | 2010-09-15 | 一种芯片电路的模拟测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004811B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140165022A1 (en) * | 2012-07-18 | 2014-06-12 | Kenneth S. Stevens | Relative timing architecture |
CN105740053B (zh) * | 2016-01-29 | 2018-12-28 | 烽火通信科技股份有限公司 | 一种芯片验证c模型的驱动系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363509B1 (en) * | 1996-01-16 | 2002-03-26 | Apple Computer, Inc. | Method and apparatus for transforming system simulation tests to test patterns for IC testers |
CN101719170A (zh) * | 2009-11-27 | 2010-06-02 | 深圳国微技术有限公司 | 集成电路的仿真测试方法 |
-
2010
- 2010-09-15 CN CN2010102821565A patent/CN102004811B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363509B1 (en) * | 1996-01-16 | 2002-03-26 | Apple Computer, Inc. | Method and apparatus for transforming system simulation tests to test patterns for IC testers |
CN101719170A (zh) * | 2009-11-27 | 2010-06-02 | 深圳国微技术有限公司 | 集成电路的仿真测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102004811A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8959135B2 (en) | Data structure for tiling and packetizing a sparse matrix | |
US12001317B2 (en) | Waveform based reconstruction for emulation | |
CN102812433B (zh) | 支持四进制加法器的查找表结构 | |
EP3149577B1 (en) | Extracting system architecture in high level synthesis | |
CN104699723A (zh) | 数据交换适配器、异构系统之间数据同步系统和方法 | |
CN113886162B (zh) | 一种计算设备性能测试方法、计算设备及存储介质 | |
CN103699442A (zh) | MapReduce计算框架下的可迭代式数据处理方法 | |
CN103617004A (zh) | 一种对分布式文件系统进行读写基准测试的工具及方法 | |
CN102014137A (zh) | 一种基于hla的通用分布式数据记录装置和方法 | |
CN102004811B (zh) | 一种芯片电路的模拟测试方法和装置 | |
CN105631013A (zh) | 生成哈希值的装置和方法 | |
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
He et al. | Fecaffe: Fpga-enabled caffe with opencl for deep learning training and inference on intel stratix 10 | |
US8074192B2 (en) | Verification support apparatus, verification support method, and computer product | |
Punzi et al. | SISSA: Real-time reconstruction of pixel vertex detectors with FPGAs | |
CN107742042A (zh) | 一种cae仿真前处理系统及方法 | |
US20200311330A1 (en) | Method for simulating a dynamic system | |
CN209803659U (zh) | 一种gpu服务器中的时钟控制系统 | |
CN103793574B (zh) | 一种在单板上铺设铜箔的方法及装置 | |
Manavar et al. | Experience with PCIe streaming on FPGA for high throughput ML inferencing | |
CN201368860Y (zh) | 一种探伤系统 | |
CN117034824B (zh) | 复用测试用例和验证环境的仿真验证系统、方法、终端及介质 | |
CN103729216A (zh) | 一种arinc429板卡数据输入输出方法 | |
US20230421468A1 (en) | Method for generating traffic demand data of data center network | |
CN105843629A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121107 Termination date: 20180915 |