TURBO51嵌入式微处理器功能验证
可能取代仿真。完成FPGA 验证后做准备流片的工厂提供的工艺标准单元库综合及静态时序分析, 交出网表做后端布局布线, 完成后再用带门延时的后端门级网表进行门级仿真,最后编写样片基台测试程序。
6 验证结果分析
由于最初在制定实现的方法和制定验证计划时是同步进行的, 致使整个设计阶段的错误累积。在TURBO51的设计和验证中, 首先用形式验证将最高风险的存贮访问, 高速缓存, 分支预测, 动态执行, 例外处理中的最高风险组合进行完备证明,使错误得以排除。在此后的验证中, 凡经形式验证正确的部分再未出现过异常, 如图1所示。
图1 错误时间累计统计。
这样使得全部的高风险错误在RTL仿真的中期已经全部排除并且大多数都由手工编写的测试激励完成。由于8051指令集指令死角空间相对较小,手工编写可行。其中大部分RTL 仿真发现的错是IO设备错误与处理器指令执行部分无关。如图2所示, 错误99. 7% 百分比在FPGA 验证前已收敛,故可认定前面工作扎实有效。假如一个设计如果在FPGA 验证阶段错误还未能收敛完, 还能发现大量新增错误尤其是严重错误的话, 这说明仿真及行为模型描述与验证计划都存在严重问题,应退回去重走一遍, 否则流片风险较大。
图2 不同验证阶段发现的错误分布统计。
7 总结和未来工作
TURBO51嵌入式微处理器使用了上述多种验证方法使得越严重的错误得到了越早的收敛, 加上高的RTL代码覆盖率及长时间在FPGA 上成功运行了全部目标应用程序及所有仿真测试程序, 表明设计正确且兼容性完备, 使TURBO51嵌入式微处理器顺利采用富士通微电子(日本) 90nmCMOS 工艺一次流片成功。但另一方面, 可配置约束的自动随机指令序列已在更复杂的处理器验证中越来越广泛地采用, TURBO51的验证中在这一方面目前还处于初级阶段, 这将是以后的主要改进方向。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)