本发明涉及芯片存储器验证技术领域,具体涉及一种针对逻辑和CPU均可读写存储器的测试方法。
背景技术:
针对逻辑和CPU均可读写的存储器,两者的读写仲裁需要充分测试,一旦仲裁逻辑出现问题,将会导致CPU或者逻辑操作失败。传统的测试方法只能将CPU操作和逻辑操作放在不同的测试例分开来测试,这样无法充分验证CPU和逻辑对存储器同时进行操作的情况。由于CPU读写存储器的结果和时序紧密相关,而验证模型主要用来验证逻辑电路行为的正确性,因此验证模型中通常没有CPU操作的存储器接口。在仿真测试时,如果CPU和逻辑同时读写存储器,且被测对象中存储器的某个条目被CPU改写,这样验证模型从存储器读到的值和被测电路读到的值就不一样,导致被测电路和验证模型结果检查不能通过,最后导致仿真测试失败,无法验证CPU和逻辑读写操作的正确性。
技术实现要素:
针对现有技术的不足,本发明的主要目的在于:提出一种针对逻辑和CPU均可读写存储器的测试方法,以测试逻辑和CPU对存储器同时进行操作的正确性,使得逻辑设计得到充分的测试和验证。
为实现前述目的,本发明公开了一种针对逻辑和CPU均可读写存储器的测试方法,具体包括:
分配逻辑和CPU对存储器操作的地址,分配的地址不超过所述存储器的地址边界,且逻辑操作的地址与CPU操作的地址互不相同;
发送一定数量的激励,进行模拟仿真测试,并在测试期间监测对所述存储器操作的正确性。
优选地,所述激励包括逻辑和CPU对所述存储器的读写操作。
优选地,所述在测试期间监测对所述存储器操作的正确性包括:
在仿真测试期间监测CPU动态写所述存储器操作、CPU动态读所述存储器操作以及逻辑读写所述存储器操作的正确性。
优选地,所述方法还包括在仿真测试前,打开验证模型自动检查开关,将验证模型与逻辑操作结果进行比较,用于检查逻辑设计的正确性。
优选地,随机分配逻辑和CPU对存储器操作的地址。
与现有技术相比,本发明的优点在于:本发明公开的一种针对逻辑和CPU均可读写存储器的测试方法,通过为逻辑操作和CPU操作划分不同的访问地址,不仅可以测试逻辑和CPU同时读写存储器的正确性,还能验证仲裁逻辑的正确性,采用本发明的测试方法可降低芯片二次投片的风险,从而节省了经济费用。
附图说明
图1是本发明一实施例提出的逻辑和CPU同时读写存储器示意图。
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
本发明实施例提出一种将CPU操作和逻辑操作放在同一测试例测试的方法,该方法为CPU操作和逻辑操作分配不同的访问地址,分配的地址不超过存储器的地址边界,且逻辑操作的地址与CPU操作的地址互不相同,同时记录所述分配的操作地址。
将验证模型中输出结果比较功能打开,发送一定数量的激励,进行模拟仿真测试,并在测试期间监测对所述存储器操作的正确性,从而可以使用验证模型实时检查设计的正确性,同时逻辑设计又达到了充分的测试和验证。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
针对逻辑和CPU均可读写存储器的测试方法如下:
任意分配逻辑和CPU对存储器Memory操作的地址,如图1所示:存储器中白色部分的存储空间为逻辑操作的地址所对应的存储空间,带阴影部分的存储空间为CPU操作的地址所对应的存储空间。分配的地址不可超出存储器的地址边界,且逻辑操作和CPU操作的任意一个存储空间未发生重合。通过任意分配地址,可提高CPU和逻辑读写操作验证的随机性。
打开验证模型的自动检查开关,发送一定数量的激励,进行模拟仿真测试,其中激励包含逻辑和CPU对存储器的读写操作。在仿真测试期间监测以下三个操作:
CPU动态写存储器的操作;
CPU动态读存储器的操作;
逻辑读写存储器的操作。
上述设置已实现将逻辑操作和CPU操作放置在同一测试激励中,且逻辑操作和CPU操作的地址不相同,若监测到上述三个操作均无误,则说明逻辑和CPU同时读写存储器未发生错误,同时验证了逻辑和CPU之间仲裁的正确性。
其中,判断CPU读写存储器的正确性的方法为:上述激励发送CPU指令,CPU先向存储器的某个地址写入数据,再读出该地址对应的数据,将读出来的数据与之前写入的数据进行比较,若结果一致,说明CPU读写操作无误。
判断逻辑读写存储器的正确性的方法为:上述激励发送逻辑报文至被测逻辑电路和验证模型,被测逻辑电路和验证模型根据报文信息对存储器进行读写操作,通过验证模型自动检查,将验证模型与逻辑操作的结果进行比较,若结果一致,说明该逻辑设计准确无误。通过多次激励测试,使逻辑设计得到了充分的测试和验证。
采用本发明提供的一种针对逻辑和CPU均可读写存储器的测试方法,不仅可以测试逻辑和CPU同时读写存储器的正确性,还可验证仲裁逻辑的正确性,通过该方法可避免由于CPU和逻辑同时操作存储器出现错误而影响芯片的数据读写功能,甚至整个芯片的功能的情况,降低了芯片二次投片的风险,节省了经济费用。
本发明技术方案具有通用性,对任意逻辑和CPU均可读写的存储器都可使用本发明的方法进行测试,只需给逻辑的读写和CPU的读写分配不同的地址就可以实现,同时还可以将验证模型打开进行逻辑操作结果的比较,既可测试逻辑和CPU读写的正确性,又验证了逻辑和CPU之间仲裁的正确性,同时逻辑设计达到充分的测试和验证。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。