碧波液压网 欢迎你,游客。 登录 注册

基于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的编写也主要是完成这个简单系统的搭建,读取事先编好的单片机汇编指令就可以了。

  5 82C52功能描述

  (1)复位

  上电后,复位输人为高,82C52在两个Ix时钟周期内进行初始化并进入空闲模式直到程序写人。

  复位输人为高电平时,复位内部波特率发生电路的时钟计数器和位计数器。BRSR不受影响(第7位除外);清零USR(TC和TBRE除外);清零MCR;全部的离散信号、内存单元和各种逻辑寄存器位都被清零和关闭。接着清除复位状态(RST=0),82C52仍然保持空闲模式直到程序写人。

  仿真时,首先验证Reset的正确性:

  Hardware Reset:上电后,82C52的Reset输人端必须保证至少两个时钟周期的高电平来初始化82C52使它进人空闲模式。复位引起的操作有:

  ①复位内部波特率发生器的时钟计数和位计数,将Band Rate Select Register(BRSR)的第七位复位为0。@USR中除了TC和TBRE两位被置位其余位被清零,MCR被清零,其它相关的存储器、寄存器等也都被清零或设为无效,但要注意复位不影响UCR。复位后空闲模式会一直保持直到对82C52编程改变它的这种模式。此种复位不影响BRSR、UCR。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论