微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TURBO51嵌入式微处理器功能验证

TURBO51嵌入式微处理器功能验证

时间:01-18 来源:互联网 点击:

相同就继续向前, 同时一条IO 输出一个方波,如不同则进入本条指令结果, 标记, 分支的死循环, 通过查这个死循环地址便可快速定位是错在哪条指令的什么地方, 同时另一IO输出另一种方波。此程序先在基准平台运行通过,不进死循环, 再把它转成数据文件导入仿真模型。寄存器文件读写也是依据8051手册, 区分不同寻址方式对应的寄存器文件。在测试结果中,最重要的一个观测点是指令提交地址寄存器, 它记录了真正的处理器运行走向, 只要它未出现异常, 这个测试项就认为无严重错误。RTL模拟在TURBO51中分为测试激励生成, 结果检测和覆盖率分析三个部分。TURBO51采用了手工编写临界条件和基础测试程序,通过后再运行实际应用程序和操作系统。此阶段完成的标准是对代码和功能覆盖率的检查。在模块级RTL的编写过程中一边对代码风格和仿真测试覆盖率进行检查,同时进行综合以测试关键路径对设计时序的满足。作为辅助验证, 自动指令生成指令库, 指令生成控制器生成的测试激励同时也在一个行为级8051指令集模拟器仿真模型中一起运行, 逐条进行结果比较, 当发现结果不一致时对指令进行记录,当发现分支不一致时仿真停止或仿真量到达一定规模时也停止仿真, 供查看代码覆盖率用。

4. 2 覆盖率和代码风格检查

基于模拟仿真的验证的困难是无论采用的测试激励是来自真实应用还是指令自动生成, 都无法证明整个处理器不出错。因此TURBO51仿真验证的完成标准是在错误收敛了的情况下增加更多的测试向量, 使EDA 工具提供的设计逻辑覆盖率达到块级100%和表达式级93% , 功能覆盖率达到100% 。

功能覆盖率的测试是设计规格书中定义的全部行为和验证计划的全部临界点。在进行覆盖率检查的过程中,可以得出目前的总覆盖率和对一个模块中某个状态未被测试向量覆盖的逻缉和输入值, 它指明了漏洞存在, 指导手工编写直接针对未覆盖逻缉的测试。另外代码覆盖在TURBO51的设计中也被用于排除冗余或重复的逻辑, 节省不必要的关键路径开销和逻辑资源。代码检查: 代码检查使用EDA 工具所提供的功能。使代码在综合中不会产生异常, 使模拟仿真的结果与FPGA 不一致。在这里用形式验证工具对修改后和修改前的代码进行等价性比较。表1是各大模块的RTL 仿真代码覆盖率, 表2是主要模块在不同测试激励下的代码块覆盖率和表达式覆盖率。均由Cadence Incisive 给出。

表1 主要模块代码测式覆概率。

表2 主要模块在不同的测试激励下的覆盖率

5 物理原型验证

物理原型验证是AS IC 设计中通常采用的另一种重要的验证手段。它是将RTL 描述通过针对FPGA目标器件的综合及优化, 布局布线及优化并同时进行了静态时序分析后形成ASIC 设计的另一种物理实现形式。它能比RTL 模拟仿真更接近真实的AS IC, 能在系统板上在功能上完全取代ASIC 进行工作, 但最高速度一般比ASIC 慢一半以上。在这些都完成并通过了设计描述文档和验证文档的审核后进行FPGA 硬件加速仿真,完全在系统应用环境下检验兼容性及正确性并做出初步性能*测。相对于仿真而言, 它能在提高系统运行速度上提高几个数量级。

TURBO51的FPGA 验证的前提是设计已经过了关键点的形式验证, 完成了块覆盖率为100% 的RTL仿真及代码检查且错误已收敛完毕, 故对FPGA验证的首要目的是通过运行和真实应用环境完全相同的完整目标应用系统验证两步的错误估计是否正确并配合其他SOC 模块作SOC 协同验证。因为对有的仿真做起来不方便的系统验证在FPGA 平台上很方便验证。在TURBO51的FPGA 验证中, 充分利用了FPGA 上的剩余资源, 用于实时定位与监测TURBO51的FPGA 实现版每个时钟的状态及其运行状态, 这其实已使原本认为FPGA 上难于定位错误的缺陷大为改观, 在真实环境下运行系统提供了非常接近RTL仿真的调试能力的观测窗口。这里依然首先选用了指令提交地址和指令取指地址,累加器, B 寄存器, 程序状态字PSW, 重定序缓冲状态, 例外处理标识, 写回总线,提交总线位为主要观察点, 显示每个时钟的状态, 将它们协同SOC 其它模块的输出, 示波器观测输出波形结果一起形成FPGA 验证结果。TURBO51在FPGA 验证时工作在60MH z, 除运行全部手工编写的用于模拟仿真的测试程序外, 还成功连续两百小时运行全部现有量产的基于RTOS商用系统及其极限条件, 没有发现严重错误。通过对寄存器值的实时监测发现十处以内的外设非致命错, 比如GPIO 与外设输入输出复用。

当然, 每改一次RTL或监视寄存器都需要重新进行FPGA 烧写文件的生成, TURBO51耗时近两小时, 故它仍然不

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top