CN116187231A - 一种基于ddr验证的信号产生方法、装置、设备及介质 - Google Patents
一种基于ddr验证的信号产生方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116187231A CN116187231A CN202310279235.8A CN202310279235A CN116187231A CN 116187231 A CN116187231 A CN 116187231A CN 202310279235 A CN202310279235 A CN 202310279235A CN 116187231 A CN116187231 A CN 116187231A
- Authority
- CN
- China
- Prior art keywords
- signal
- reset
- clock
- verification
- cru
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及芯片验证技术领域,尤其涉及一种基于DDR验证的信号产生方法、装置、设备及介质。所述方法包括:获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;将所述CRU模型集成到UVM验证环境中;在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。本发明的方案具有较好的通用性,极大的减少了验证人员的工作量,应用于时钟切换复杂的模块测试中具有很大优势。
Description
技术领域
本发明涉及芯片验证技术领域,尤其涉及一种基于DDR验证的信号产生方法、装置、设备及介质。
背景技术
芯片验证是芯片开发过程中一个重要的环节,随着芯片规模越来越大,芯片验证的复杂度也越来越高,与此同时芯片的迭代周期却在不断地缩短,因此留给验证工程师的验证时间也就越来越短,这就需要验证工程师不断的提高验证效率,以满足项目各个节点的进度要求。因此,如何在更短的时间内高质量地完成芯片验证工作是验证工程师的难点,也是验证工程师一直在追逐的方向。
然而对于一些特殊的DUT模块,因场景需要其时钟和复位信号复杂多变,这对我们验证工作提出更高的要求,如DDR因支持不同的频率且频率间经常相互切换,这就需要验证环境为DUT提供多变的时钟信号源。因此验证工程师不仅需要准确分析出DUT的时钟场景和验证目标,还需要在验证平台中产生对应复杂的时钟控制逻辑,往往这些时钟控制逻辑的开发占用大量验证周期,这不是我们的期望。总得来说,验证平台中时钟和复位信号经常通过以下方式产生:情况一,DUT需要的时钟和复位为同步电路且时钟频率恒定,此时时钟和复位信号产生比较简单,通常验证工程师可在TB中编写一个简单的时钟发生器和复位控制电路来满足DUT的测试需要。情况二,若DUT的时钟信号为晶振输入,往往需要做时钟抖动测试和占空比测试。因此,相应验证环境中的时钟源控制逻辑需要产生不同占空比和带jitter的时钟信号,来模拟晶振产生的时钟源对DUT的影响。情况三,若DUT的时钟可改变或关闭,比如从100MHz切换至300MHz或者其他频率时,此时还需要对DUT做相应的变频测试和时钟gate测试,在验证平台中产生这个可变频率的时钟会比较复杂,所花费的工作量也相应大大提高。情况四,复位信号通常需要考虑起始复位信号的状态、复位有效时间控制、随机复位等场景,这些当然可以在验证环境中产生。同样复杂的复位信号场景带来的困扰依然是验证工程师的工作量,因此提升这部分工作效率就越来越重要。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种基于DDR验证的信号产生方法、装置、设备及介质。
根据本发明的第一方面,提供了一种基于DDR验证的信号产生方法,所述方法包括:
获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
将所述CRU模型集成到UVM验证环境中;
在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
在一些实施例中,获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中,包括:
获取DDR验证时待测设计所需的所有时钟信号的信号名称和复位信号的信号名称;
分别判断每个信号是否为时钟信号以得到与每个信号对应的判断结果;
以每个信号为单位获取如下参数信息:
响应于某一信号属于时钟信号,则获取某一信号的初始默认值、可选时钟数量、默认频率以及可选频率;
响应于某一信号属于复位信号,则获取某一信号的初始默认值、有效复位周期、以及复位释放编序;
以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中。
在一些实施例中,以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中,包括:
响应于某一信号属于时钟信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、可选时钟数量、默认频率、每个可选频率;
响应于某一信号属于复位信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、有效复位周期、复位释放编序。
在一些实施例中,利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,包括:
通过Python脚本程序读取excel表格的每一行/列中数据并进行如下分析:
响应于判断结果为是,则获取初始默认值、默认频率、可选时钟数量;
响应于可选时钟数量大于1,则分别获取每个可选频率;
响应于判断结果为否,则获取初始默认值、有效复位周期及复位释放编序。
在一些实施例中,所述CRU模型包括:具有AHB总线接口的RTL寄存器、若干时钟源发生器、与每个时钟源发生器对应的时钟选择器、时钟门控器、软件复位、硬件复位以及复位控制器;
所述RTL寄存器用于存储AHB配置的各个信号对应的域段信息
每个时钟源发生器对应一个时钟信号,每个时钟源发生器用于根据对应时钟信号的初始默认值、所有时钟频率及可选时钟数量生成时钟信号;
所述时钟选择器用于从RTL寄存器对应的域段信息中获取选通信号以从时钟源发生器生成的所有时钟频率中选择一种输出;
所述时钟门控器用于为所有时钟选择器的输出添加时钟门控;
所述软件复位用于从RTL寄存器对应的域段信息中获取复位信号初始默认值、有效复位周期、复位释放编序生成复第一位复信号;
所述硬件复位用于根据复位信号的初始默认值、有效复位周期、复位释放编序生成第二复位信号;
所述复位控制器用于拉取所述第一位复信号或所述第二复位信号中的一个作为最终复位信号。
在一些实施例中,将所述CRU模型集成到UVM验证环境中,包括:
在UVM验证环境中添加AHB VIP;
将所述AHB VIP通过AHB总线与所述CRU模型的RTL寄存器连接。
在一些实施例中,在测试用例中使用所述通信接口对所述CRU模型进行配置,包括:
利用所述AHB VIP对所述RTL寄存器中的数据进行修改以对所述CRU模型进行配置。
根据本发明的第二方面,提供了一种基于DDR验证的信号产生装置,所述装置包括:
记录模块,配置用于获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
解析模块,配置用于利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
集成模块,配置用于将所述CRU模型集成到UVM验证环境中;
配置模块,配置用于在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的基于DDR验证的信号产生方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的基于DDR验证的信号产生方法。
上述一种基于DDR验证的信号产生方法,根据待测时间的时钟和复位信号参数信息制定时钟和复位信号信息文件,再利用脚本读文件以产生DUT所需要的CRU寄存器模型,进而将该寄存器模型集成到验证环境中,最后在测试用例中控制该寄存器模型来驱动DUT的时钟和复位信号,具有较好的通用性,极大的减少了验证人员的工作量,应用于时钟切换复杂的模块测试中具有很大优势。
此外,本发明还提供了一种基于DDR验证的信号产生装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种基于DDR验证的信号产生方法的流程图;
图2为本发明另一个实施例提供的excel表格中记录时钟信号和复位信号参数示意图;
图3为本发明另一个实施例提供的解析excel表格生成CRU模型流程示意图;
图4为本发明另一个实施例提供的CRU模型内部结构示意图;
图5为本发明另一个实施例提供的复位信号时序要求示意图;
图6为本发明另一个实施例提供的UVM验证环境中的集成CRU模型示意框图;
图7为本发明另一个实施例提供的一种基于DDR验证的信号产生装置的结构示意图;
图8为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
为了便于理解,首先对本发明中使用的技术术语进行说明:
DDR,Double Data Rate(双倍速率SDRAM);
RTL,Register Transfer Level(寄存器传输级);
UVM,Universal Verification Methodology(通用验证方法学);
DUT,Design Under Test(待测设计);
TB,Test Bench(测试环境);
AHB,Advanced High Performance Bus(高级性能总线);
VIP,Verification IP(验证IP);
SCU,System Control Unit(系统控制单元);
CRU,Clock Reset Unit(时钟复位单元)。
在一个实施例中,请参照图1所示,本发明提供了一种基于DDR验证的信号产生方法100,具体来说,所述方法包括以下步骤:
步骤101,获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
步骤102,利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
步骤103,将所述CRU模型集成到UVM验证环境中;
步骤104,在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
上述一种基于DDR验证的信号产生方法,根据待测时间的时钟和复位信号参数信息制定时钟和复位信号信息文件,再利用脚本读文件以产生DUT所需要的CRU寄存器模型,进而将该寄存器模型集成到验证环境中,最后在测试用例中控制该寄存器模型来驱动DUT的时钟和复位信号,具有较好的通用性,极大的减少了验证人员的工作量,应用于时钟切换复杂的模块测试中具有很大优势。
在一些实施例中,前述步骤101,获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中,包括:
获取DDR验证时待测设计所需的所有时钟信号的信号名称和复位信号的信号名称;
分别判断每个信号是否为时钟信号以得到与每个信号对应的判断结果;
以每个信号为单位获取如下参数信息:
响应于某一信号属于时钟信号,则获取某一信号的初始默认值、可选时钟数量、默认频率以及可选频率;
响应于某一信号属于复位信号,则获取某一信号的初始默认值、有效复位周期、以及复位释放编序;
以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中。
在一些实施例中,以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中,包括:
响应于某一信号属于时钟信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、可选时钟数量、默认频率、每个可选频率;
响应于某一信号属于复位信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、有效复位周期、复位释放编序。
在一些实施例中,前述步骤102,利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,包括:
通过Python脚本程序读取excel表格的每一行/列中数据并进行如下分析:
响应于判断结果为是,则获取初始默认值、默认频率、可选时钟数量;
响应于可选时钟数量大于1,则分别获取每个可选频率;
响应于判断结果为否,则获取初始默认值、有效复位周期及复位释放编序。
在一些实施例中,所述CRU模型包括:具有AHB总线接口的RTL寄存器、若干时钟源发生器、与每个时钟源发生器对应的时钟选择器、时钟门控器、软件复位、硬件复位以及复位控制器;
所述RTL寄存器用于存储AHB配置的各个信号对应的域段信息
每个时钟源发生器对应一个时钟信号,每个时钟源发生器用于根据对应时钟信号的初始默认值、所有时钟频率及可选时钟数量生成时钟信号;
所述时钟选择器用于从RTL寄存器对应的域段信息中获取选通信号以从时钟源发生器生成的所有时钟频率中选择一种输出;
所述时钟门控器用于为所有时钟选择器的输出添加时钟门控;
所述软件复位用于从RTL寄存器对应的域段信息中获取复位信号初始默认值、有效复位周期、复位释放编序生成复第一位复信号;
所述硬件复位用于根据复位信号的初始默认值、有效复位周期、复位释放编序生成第二复位信号;
所述复位控制器用于拉取所述第一位复信号或所述第二复位信号中的一个作为最终复位信号;
在具体实施过程中,第一时钟复位信号和第二时钟复位信号只需有一个即可,二者可以进行“与”运算或者进行“或”运算,例如当为低电平有效果时可以软件复位和硬件复位产生的信号进行或运算以生成最终复位信号,又如当为高电平有效果时可以软件复位和硬件复位产生的信号进行与运算以生成最终复位信号。
在一些实施例中,前述步骤103,将所述CRU模型集成到UVM验证环境中,包括:
在UVM验证环境中添加AHB VIP;
将所述AHB VIP通过AHB总线与所述CRU模型的RTL寄存器连接。
在一些实施例中,前述步骤104中的在测试用例中使用所述通信接口对所述CRU模型进行配置,包括:
利用所述AHB VIP对所述RTL寄存器中的数据进行修改以对所述CRU模型进行配置。
在又一个实施例中,为了便于理解本发明的方案,下面以某DDR验证测试中DUT包含两个时钟信号和两个复位信号为例详细说明本发明的方案,本实施例提供了另一种基于DDR验证的信号产生方法,其实现原理为:首先根据DUT的时钟和复位信号数量,以及时钟频率应用场景需要,制定时钟和复位信号信息表格文件,再利用脚本读该表格文件来产生DUT所需要的CRU模型,然后将该CRU模型集成到验证环境中,最后在测试用例中控制该寄存器模型来驱动DUT的时钟和复位信号,当DUT需要多个时钟和复位控制时,或者DUT需要频繁切换某个时钟频率时,采用该CRU模型产生的时钟控制单元可以方便地控制DUT的时钟信号,同时满足DUT运行期间任意时刻对输入时钟控制的场景需要CRU模型会自动产生上电复位场景、仿真中间复位场景和复位时间长度可控等需求,用户使用将非常方便。具体实施过程参考如下:
第一步,提取DUT的时钟和复位参数信息时,通常关注时钟和复位信号的名称、初始值、是否为时钟信号,若非时钟信号则除信号名称和初始值两个参数外还需要最低有效复位时间,若为时钟信号则还需要判断该时钟频率是否可切换、时钟可选的频率数量和频率值和时钟信号的缺省频率值。
请参照图2中第B列的默认值是指该信号在仿真开始时所赋的初始值,第C列用于判断该信号是否为时钟信号,如果为时钟信号则第D列用于指出该时钟信号可能有多少种时钟频率。对时钟信号还需要的信息是第E列的默认时钟频率,以及可供选择的时钟频率参数,如ddr_ctrl_clk的默认时钟频率为800MHz、可在1GHz/800MHz/600MHz/400MHz这4个频率中随意切换。若为非时钟信号即复位信号,则第D列中参数为该复位信号的最短有效复位周期(只有大于等于该周期数的复位信号才会被认定为一次有效的复位触发),第E列为所有复位信号的复位顺序编号(该复位顺序根据项目需要,比如图1中ddr_ctrl_rst_n比ddr_phy_rst_n先复位)。
第二步,在得到图2中的信息文件后,通过脚本来读取该文件,并对文件内的信息解析。请参照图3所示,脚本通过判断第C列参数为“Y”或“N”,“Y”表示该信号为时钟信号,“N”表示该信号为复位信号。当为非时钟信号时,则只需要得到该信号的默认输出值即可,脚本会自动为对应输出信号产生一个该默认值输出,如ddr_ctrl_rst_n的默认值为1则会产生一个输出信号ddr_ctrl_rst_n_o,并给其赋初值为1。如果信号为时钟信号,则通过判断第D列参数时钟可选数量来判断时钟是否需要切换。若该数量等于1,则表示该时钟为固定时钟,无需切换,如ddr_phy_clk为固定时钟,仅有1GHz的频率可选。若该数量大于1,则表示对应时钟可配置,可先的时钟数量即为第D列的参数值,如ddr_ctrl_clk有4个频率可选择(分别是1000MHz,800MHz,600MHz,400MHz)。
为使CRU模型能很好的适合验证环境使用和集成,在时钟、复位等信号控制电路生成的同时也集成了AHB接口,方便验证环境配置CRU模型来输出期望的时钟、复位信号。为了使CRU模型能正常工作,TB需要给CRU模型提供一个简单的时钟和复位信号(clock,reset),这样CRU模型就可以正常运转。与此同时,CRU模型中还集成了为输出选择的几个时钟源,如ddr_ctrl_clk的四个时钟源,通过ddr_ctrl_clk_sel来选择输出哪一路时钟源。
CRU模型内部结构如图4所示,RTL寄存器用于存储AHB配置的各个信号对应的域段信息。当是时钟信号时,采用最高bit表示该时钟的门控状态,低bit依次为时钟信号的默认初始值、待选时钟频率值,以及当前选择输出的时钟sel值。时钟源发生器是根据图2中第F~I列的时钟频率参数,在内部生成几个时钟源,再配合上时钟选择器来选择输出,而时钟门控器则是为时钟门控所用。当是复位信号时,我们用最高bit表示复位信号的初始默认值,用低bit表示该复位信号的有效最低复位周期和复位时序编号,如图2中分别对ddr_ctrl_rst_n和ddr_phy_rst_n两个复位信号有要求:(1)两个复位信号的最短有效复位周期数分别是5和10个周期;(2)ddr_ctrl_rst_n复位释放比ddr_phy_rst_n释放的更早,如图5所示。此外,CRU模型还集成了AHB接口,方便对CRU模型用标准寄存器总线访问,以实现时钟选择和复位的软件控制。其中复位信号还同时支持软件复位和软件复位,硬件复位是对两个复位信号产生固定的5个周期和10个周期的复位,而软件复位则受AHB接口配置影响,最终的复位信号则是由硬件复位和软件复位或出来,只要有一种复位方式生效则最终的信号产生。
第三步,将CRU模型在UVM验证环境中集成。请参照图6所示,在具体实施时需要在验证环境中多集成一个AHB VIP,并为CRU模型提供一个最简单的时钟和复位源,并将CRU输出的时钟和复位信号连接至DUT上。CRU模型集成到验证环境的实现伪代码参考如下:
第四步,各场景下通过AHB VIP配置CRU模型以在测试环境中使用CUR模型产生的时钟信号和复位信号。本发明所述的方法能很快产生时钟和复位模型,并快速集成到UVM验证环境中。同时,该CRU模型在测试用例中使用时也非常简洁,与常规的AHB VIP使用一致,在很大程度上降低了使用难度,也提高的验证工作效率,具体操作代码如下所示,
其中ahb_single_read_sequence和ahb_single_write_sequence是均是从AHBVIP的基本sequence svt_ahb_master_transaction_base_sequence派生而来,在sequence在TB中被封装成两个task,分别是ahb_single_read和ahb_single_write,其使用方法如下代码所示:
//AHB VIP读写寄存器使用
tmp_addr=line*4;//line=0
tmp_wdata=32’h0000_0001;
ahb_single_write(tmp_addr,tmp_wdata);
tmp_addr=line*4;//line=2
tmp_rdata=ahb_single_read(tmp_addr);
上述代码分别是设置寄存器ddr_ctrl_clk打开且选择800MHz输出,以及查询ddr_ctrl_rst_n信号当前配置的状态。通常我们可以将初始时钟的设置放在UVM环境的configure_phase来给DUT一个初始的时钟,并在reset_phase中通过该方法对DUT完成复位控制。当测试场景中有关于时钟频率切换的任务时,可在测试用例中调用ahb_single_write来实现时钟切换。
此外,同样任意时刻的复位也可以通过该方法来配置CRU模型的寄存器来实现。在复位信号产生上,本方案还可增加复位场景配置选项,如初始上电复位、中间异常复位、短期无效复位和临界有效复位等场景测试,用户需要给出不同的配置来产生这些场景,非常方便高效。
本实施例的一种基于DDR验证的信号产生方法具备以下有益技术效果:
第一,对DDR仿真时速率可变的应用场景可轻松解决,且时钟、复位单元集成简单。因DDR4的工作模式有3200MT/s、2400MT/s、1600MT/s等,其中controller的主频也需要配合这三种工作模式分别在800MHz、600MHz、400MHz,DUT需要频率随时可切换,本发明方法采用脚本直接提取所需要的时钟频率,并产生相应的时钟源来驱动DDR电路。
第二,CRU模型产生的时钟和复位信号灵活多变,可根据项目需要随时更新。本发明方法不仅操作简单,且与验证环境耦合性较低,不会随UVM TB层次的变化而影响使用方法,有利于经常变化的测试需求,同时时钟支持软件可配置,复位同时支持硬件复位和软件复位两种场合,且其组合可实现多种时钟和复位场景需要。
第三,实现的测试用例还可直接在SoC级验证中直接使用。由于定制的时钟信号和复位信号参数表格对各个时钟和复位的地址及域段完全按照SoC中SCU单元定义的设置时,产生的时钟和复位信号的控制方法就和SoC级验证时一样,这样就可直接利用模块或子系统级的用例,以减少工作量。
在一些实施例中,请参照图7所示,本发明还提供了一种基于DDR验证的信号产生装置200,所述装置包括:
记录模块201,配置用于获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
解析模块202,配置用于利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
集成模块203,配置用于将所述CRU模型集成到UVM验证环境中;
配置模块204,配置用于在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
上述一种基于DDR验证的信号产生装置,根据待测时间的时钟和复位信号参数信息制定时钟和复位信号信息文件,再利用脚本读文件以产生DUT所需要的CRU寄存器模型,进而将该寄存器模型集成到验证环境中,最后在测试用例中控制该寄存器模型来驱动DUT的时钟和复位信号,具有较好的通用性,极大的减少了验证人员的工作量,应用于时钟切换复杂的模块测试中具有很大优势。
需要说明的是,关于基于DDR验证的信号产生装置的具体限定可以参见上文中对基于DDR验证的信号产生方法的限定,在此不再赘述。上述基于DDR验证的信号产生装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的基于DDR验证的信号产生方法,具体来说,所述方法包括以下步骤:
获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
将所述CRU模型集成到UVM验证环境中;
在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的基于DDR验证的信号产生方法,具体来说,包括执行以下步骤:
获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
将所述CRU模型集成到UVM验证环境中;
在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于DDR验证的信号产生方法,其特征在于,所述方法包括:
获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
将所述CRU模型集成到UVM验证环境中;
在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
2.根据权利要求1所述的基于DDR验证的信号产生方法,其特征在于,获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中,包括:
获取DDR验证时待测设计所需的所有时钟信号的信号名称和复位信号的信号名称;
分别判断每个信号是否为时钟信号以得到与每个信号对应的判断结果;
以每个信号为单位获取如下参数信息:
响应于某一信号属于时钟信号,则获取某一信号的初始默认值、可选时钟数量、默认频率以及可选频率;
响应于某一信号属于复位信号,则获取某一信号的初始默认值、有效复位周期、以及复位释放编序;
以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中。
3.根据权利要求2所述的基于DDR验证的信号产生方法,其特征在于,以每个信号为单位将信号的信号名称、信号对应的判断结果及参数信息记录到excel表格的同一行/列的不同列/行中,包括:
响应于某一信号属于时钟信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、可选时钟数量、默认频率、每个可选频率;
响应于某一信号属于复位信号,则按照如下顺序记录:信号名称、初始默认值、对应的判断结果、有效复位周期、复位释放编序。
4.根据权利要求3所述的基于DDR验证的信号产生方法,其特征在于,利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,包括:
通过Python脚本程序读取excel表格的每一行/列中数据并进行如下分析:
响应于判断结果为是,则获取初始默认值、默认频率、可选时钟数量;
响应于可选时钟数量大于1,则分别获取每个可选频率;
响应于判断结果为否,则获取初始默认值、有效复位周期及复位释放编序。
5.根据权利要求4所述的基于DDR验证的信号产生方法,其特征在于,所述CRU模型包括:具有AHB总线接口的RTL寄存器、若干时钟源发生器、与每个时钟源发生器对应的时钟选择器、时钟门控器、软件复位、硬件复位以及复位控制器;
所述RTL寄存器用于存储AHB配置的各个信号对应的域段信息;
每个时钟源发生器对应一个时钟信号,每个时钟源发生器用于根据对应时钟信号的初始默认值、所有时钟频率及可选时钟数量生成时钟信号;
所述时钟选择器用于从RTL寄存器对应的域段信息中获取选通信号以从时钟源发生器生成的所有时钟频率中选择一种输出;
所述时钟门控器用于为所有时钟选择器的输出添加时钟门控;
所述软件复位用于从RTL寄存器对应的域段信息中获取复位信号初始默认值、有效复位周期、复位释放编序生成复第一位复信号;
所述硬件复位用于根据复位信号的初始默认值、有效复位周期、复位释放编序生成第二复位信号;
所述复位控制器用于拉取所述第一位复信号或所述第二复位信号中的一个作为最终复位信号。
6.根据权利要求5所述的基于DDR验证的信号产生方法,其特征在于,将所述CRU模型集成到UVM验证环境中,包括:
在UVM验证环境中添加AHB VIP;
将所述AHB VIP通过AHB总线与所述CRU模型的RTL寄存器连接。
7.根据权利要求6所述的基于DDR验证的信号产生方法,其特征在于,在测试用例中使用所述通信接口对所述CRU模型进行配置,包括:
利用所述AHB VIP对所述RTL寄存器中的数据进行修改以对所述CRU模型进行配置。
8.一种基于DDR验证的信号产生装置,其特征在于,所述装置包括:
记录模块,配置用于获取DDR验证时待测设计所需时钟信号和复位信号及每个信号对应的参数信息并记录到文件中;
解析模块,配置用于利用脚本程序对所述文件进行解析以提取每个信号对应的参数信息,并基于所提取的参数信息构建预留通信接口的CRU模型;
集成模块,配置用于将所述CRU模型集成到UVM验证环境中;
配置模块,配置用于在测试用例中使用所述通信接口对所述CRU模型进行配置,以使所述CRU模型产生待测设计所需时钟信号和复位信号。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310279235.8A CN116187231A (zh) | 2023-03-17 | 2023-03-17 | 一种基于ddr验证的信号产生方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310279235.8A CN116187231A (zh) | 2023-03-17 | 2023-03-17 | 一种基于ddr验证的信号产生方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116187231A true CN116187231A (zh) | 2023-05-30 |
Family
ID=86444414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310279235.8A Pending CN116187231A (zh) | 2023-03-17 | 2023-03-17 | 一种基于ddr验证的信号产生方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187231A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112452A (zh) * | 2023-08-24 | 2023-11-24 | 上海合芯数字科技有限公司 | 寄存器模拟配置方法、装置、计算机设备和存储介质 |
-
2023
- 2023-03-17 CN CN202310279235.8A patent/CN116187231A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112452A (zh) * | 2023-08-24 | 2023-11-24 | 上海合芯数字科技有限公司 | 寄存器模拟配置方法、装置、计算机设备和存储介质 |
CN117112452B (zh) * | 2023-08-24 | 2024-04-02 | 上海合芯数字科技有限公司 | 寄存器模拟配置方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102222420B1 (ko) | 메모리 물리 계층 인터페이스를 훈련하기 위한 통합 제어기 | |
US7424660B2 (en) | Synchronization point across different memory BIST controllers | |
TWI352211B (en) | Method and system for simulating a modular test sy | |
US7725744B2 (en) | Method and apparatus to generate circuit energy models with multiple clock gating inputs | |
CN113835945B (zh) | 芯片的测试方法、装置、设备及系统 | |
US7502267B2 (en) | Clock frequency doubler method and apparatus for serial flash testing | |
KR100736679B1 (ko) | 반도체 테스트를 위한 패턴 생성 장치 및 패턴 생성 방법 | |
CN112287569B (zh) | 用于仿真逻辑系统设计的方法、电子设备及存储介质 | |
CN116187231A (zh) | 一种基于ddr验证的信号产生方法、装置、设备及介质 | |
CN112257358B (zh) | 一种动态功耗精确分析方法及装置 | |
JPH08320808A (ja) | エミュレーション方式 | |
US20040216018A1 (en) | Direct memory access controller and method | |
US6320818B1 (en) | Semiconductor storage device, and method for generating timing of signal for activating internal circuit thereof | |
US6668331B1 (en) | Apparatus and method for successively generating an event to establish a total delay time that is greater than can be expressed by specified data bits in an event memory | |
US6671843B1 (en) | Method for providing user definable algorithms in memory BIST | |
CN109376049B (zh) | 一种fpga嵌入式块存储器的性能测试方法 | |
US11430496B2 (en) | Phase-aware DDR command dynamic scheduling | |
US6983437B2 (en) | Timing verification, automated multicycle generation and verification | |
CN101197562B (zh) | 真/补电路与处理器 | |
Patrigeon et al. | FlexNode: a reconfigurable Internet of Things node for design evaluation | |
CN115827568B (zh) | 获取逻辑系统设计的数据的方法、电子设备和存储介质 | |
CN117031256B (zh) | 一种芯片测试系统和测试方法 | |
Kang et al. | A deep research on the chip verification platform based on network | |
Zhang et al. | A Precise Design for Testing High-Speed Embedded Memory using a BIST Circuit | |
Bonatto et al. | DDR SDRAM Memory Controller Validation for FPGA Synthesis |
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 |