文档详情

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

发布:2022-06-25约6.96千字共13页下载文档
文本预览下载声明
PAGE 1 PAGE 1 TURBO51嵌入式微处理器功能验证 1 引 言 1. 1 背景 TURBO51的工程背景是TURBO51嵌入式微处理器结构设计上实行经时间考验过的32位机主流系统结构, 在严格保证对8051 指令集兼容的前提下, 通过重新定义其处理器核的系统结构来挖掘处理器结构上的并行性实现。在传统8051软件开发环境下实现本要由更高位宽的32位处理器来完成的工作并完全重用全部现有软件资源。在 8051指令级多种寻址方式混合且指令不定长的现实下实现了高性能的体系结构, 乱序放射, 分支猜测, 例外处理, 基于猜想的先行预取, 片上指令高速缓存。处理器系统结构的简单给验证提出了很高的要求。而且, 由于TURBO51 是作为SoC 的嵌入式处理器核, 是整个大规模SOC 的掌握和用户接口, 假如嵌入式处理器设计中验证不完善或性能达不到设计要求, 都会导致整个SoC 项目的开发致命失败, 因此对嵌入式处理器的验证在SoC 设计中是重要的部分之一。 一切对高性能体系结构的追求都必需首先建立在以设计的正确性为前题才是有意义的。TURBO51的验证面临三个主要挑战: ( 1)正确性, 所采纳的高性能体系结构也是简单和高风险的, 只有设计正确才会带给SoC 性能上的提升。 ( 2)兼容性: 相对于传统8051, 在程序的执行过程中, 中断和特别常会打断程序的执行, 动态流水线的处理器由于指令的动态乱序执行, 但又必需对外部程序来说是和完全挨次执行只存在速度的差别而非结果的差别, 所以它必需能地与挨次执行条件下的例外结果保持全都。 ( 3)指令和操作数空间巨大, 寻址方式简单: 8051指令集共有111条指令, 有多种寻址方式和不定的指令长度。另外, 8051指令集还将输入输出设备寄存器与体系结构寄存器作为同种寄存器访问。 这些都成为了结构设计和验证中的难点问题。 ( 4)验证充分性的衡量: 在验证过程中依据发觉错误的性质、缘由和数量分布, 评估正确性程度和调整下面的验证方案, 使验证更深化, 实现设计错误的快速收敛。 1. 2 微处理器验证现状 目前世界各处理器公司用于功能验证的方式主要是模拟验证, 形式验证, 硬件仿真加速。但总的看来, 由于指令集浩大, 比如, 它的完全无错的测试向量的数量是指令条数阶乘及每个操作数, 地址数阶乘。在有限的时间很难实现。除非指令和操作数的全部两两组合都已测试过, 否则, 即便经过了这些验证, 也只能证明在测试已掩盖地方正确而不能证明设计在任何状况下都正确。 形式验证是指通过数学方法证明设计的完备性, 即这种方法下的样本空间是测试对象全部可能的状态。A rithSMV, * PHDD。由于状态样本空间巨大, 它只用设计属性检查工具, 目前仅用于局部逻缉验证。 模拟验证: 包括RTL仿真和门级仿真。这一阶段验证的效果很大程度上由测试激励和判定模拟结果的方法打算。在微处理器验证中, 采纳汇编语言编写测试激励, 运行操作系统, 应用程序和随机生成测试向量。 硬件加速仿真: 为克服模拟仿真验证速度慢的缺点, 采纳FPGA 的物理原型验证可以在流片前运行操作系统和应用程序, 进一步在系统级验证正确性。 2 TURBO51的验证方法 TURBO51在设计中用到了形式验证、模拟仿真和硬件加速仿真。采纳自底向上的子模块级验证再自顶向下的宏模块及系统级验证的方法。在整个设计过程中, 验证与设计是一个整体, TURBO51在进行文档时序设计时就同时开头针对正在进行的设计编写验证方案, 设计和验证的工作在设计文档和验证方案中进行到每个时钟周期的行为描述和变量定义开头, 是整个设计和验证重要的部分。由于TURBO51的设计要保证对传统8051指令集的后向兼容, TURBO51采纳两台可进行单步调试的8051硬件仿真器, 两片传统8051, 两片采纳了简洁流水结构的改进版8051 作为正确标尺。测试激励在此先逐一运行, 并将其运行结果作为界定执行正确和兼容正确的标准。每个模块在每个时钟周期的每个寄存器读写和各个设计阶段的验证方法, 验证结果,问题分布, 验证策略在此规定, 并手工编写测试程序进行仿真。在验证文档中记录如何判定设计正确的与严峻设计漏洞及缘由, 并在设计文档中记录哪些临界态已考虑过了, 为以后怀疑某种状况下有没有可能是此出错供应重要依据。在TURBO51的设计中掩盖率指标在文档阶段已经引入, 每个设计了的规律肯定要用测试来证明有必要这样设计和功能正确。功能设计中每个条件推断总能在测试文档中找到测这个条件的方法及判对标准。许多时候在写测试
显示全部
相似文档