摘 要:首先介绍了利用仿真工具进行电路功能仿真验证的过程与方法,以及仿真方案的确定,并以82C52为例详细阐述了仿真验证中激励文件的编写和对82C52进行功能验证的具体步骤。最后简单介绍了82C52的功能及其中各种寄存器的作用以及对寄存器的编程。
1 引 言
功能仿真主要验证被验证电路功能的正确性,主要分RTL级仿真与netliST的仿真。Netlist又分为DC输出和As 输出。由于neflist的仿真带sdf文件(延时信息),所以要比RTL的仿真准确,而且越到流程的后端,仿真的延时信息越真实,仿真结果越接近实际。
2 验证方案的确定
本次设计的验证方案是根据单片机对外部串口电路的控制来实现的,验证方案的基本框图如图1所示。
图1 82C52测试平台
3 仿真所要准备的文件
RTL(Pre sire):testbench(仿真激励),Design(被仿真的设计)DC_ netlist:testbench(仿真激励),Design(被仿真的设计),saf(延时信息,由DC写出),SimulatiONlibrary
Astro_ netlist(post sim):testbench(仿真激励),Design(被仿真的设计),Sdf(延时信息,由 写出),Simulation library
仿真的主要工具是VCS,主要命令是:>VC$testbeneh.v design.v—RI—M,同时还要进行代码覆盖率的分析。由于在最开始的时候写的testbench覆盖率一定不全,所以需要后来的不断完善来提高代码覆盖率以达到设计要求。用VCS做代码覆盖率分析的主要命令是:在编译时加入可选项一cmline+tsl+FSM+eond,这是四种覆盖率,可以根据需要只选其中的一个或几个;VCS—cm—PP gui察看覆盖率的结果。
4 testbench的编写
把82C52与8032以及一些外围接口电路连接在一起组成一个简单的系统,通过汇编程序来控制82C52以达到仿真的目的。所以testbeneh的编写也主要是完成这个简单系统的搭建,读取事先编好的单片机汇编指令就可以了。