基于8051内核SoC的模拟验证与仿真
1 概 述
随着集成电路工艺技术的发展和EDA设计水平的迅速提高,基于知识产权IP(Intellectual Property)核进行系统芯片 SOC (System on Chip)设计的能力和技术得到了大大提高。利用该技术,可以将整个系统包括微处理器、ASIC、内存和外设等集成到一个芯片中。在进行SoC 芯片设计过程中,由于 8051 系列单片机的广泛使用和成熟的技术,许多SoC芯片的设计者在选用8位处理器做内核时常采用8051。SoC芯片的设计是十分复杂的,不仅要考虑芯片IP核的系统构成、软硬件协同设计、不同工艺的综合等问题,还要考虑在设计过程中,如何实现对芯片的模拟 验证 以及设计成功后针对该芯片 仿真 装置的实现,从而促进所设计系统芯片的迅速推广。
2 SoC芯片的设计技术
2.1 软硬件协同设计流程
SoC芯片是一种以可重用IP核为基础,以软硬件协同设计为主要设计方法的芯片设计技术。
系统芯片经软硬件划分后,设计基本分为两部分:芯片硬件设计和软件协同设计。芯片硬件设计包括硬件描述、时序设计、验证等;软件协同设计要考虑指令集、指令编译系统、开发集成环境、模拟仿真设备等。为达到尽快上市的目的,要求这两方面并行展开,甚至要求在芯片上市之前,相应的开发装置和仿真环境就应该建立起来。对于需要进行程序掩模的芯片,这种要求就更加迫切。
2.2 应用于固网短消息电话的SoC设计
该芯片是根据中国电信对于固网短消息话机的要求而设计的系统芯片,可以广泛应用于来电显示电话(CID:Calling Identify Delivery)和固网短消息电话等。 该系统芯片将CPU和多个模拟功能模块(CID部分)集成到一个芯片内,采用8051为CPU核,指令集与标准8051完全兼容;CID部分由FSK调制解调器、DTMF(双音多频)拨号、CAS(CPE Alerting Signal)信号检测、振铃检测等IP核组成。这是一个数模混合并具备完整电话功能的系统芯片。系统结构如图2所示。
设计中,8051核与各功能IP核通过寄存器和数据总线实现数据交换。 8051内部有256字节 RAM,其中后128字节为特殊功能寄存器。我们在该芯片设计中将CID部分电路所用寄存器(共12个)定义在该区间内。
该芯片工作流程如下:振铃检测模块在检测到振铃信号后,置位RING_F寄存器中相应位,产生中断或经CPU轮循检测;软件响应该信号后置位FSK_F中FSK使能寄存器,FSK解调器工作,FSK在接收到数据后,置位FSK_F中数据准备好寄存器,产生中断或CPU轮循检测,软件通过数据总线读出该数据;CAS模块根据CAS_F中CAS捕获时间寄存器检测,收到CAS信号后,置位CAS_F中相应寄存器,产生中断;DTMF信号产生模块根据DTMF_F寄存器内容发出DTMF信号。
3 系统芯片验证和仿真器设计方案
3.1 系统芯片的验证问题
系统芯片在硬件设计和软件设计结束后,按流程要求进行系统验证,这就需要构建一个验证平台。对于数字电路来说,采用FPGA基本可以实现对芯片设计的完全验证;而对于数模混合电路系统芯片来说,验证则十分复杂。在本设计中,由于各外围模拟IP核在市场上均有相应模块,因此,可以考虑将FPGA和这些模拟芯片有机地组合起来,实现对该系统芯片的验证。
3.2 仿真器的设计目标
一个8051仿真器系统包括仿真器、编译器、集成开发和调试仿真环境等。在进行基于8051核设计SoC芯片时,为达到加快研发速度、缩短上市时间、减少开发费用等目的,考虑采用市场上成熟的并为众多用户所使用的集成开发环境和开发装置,如KEIL等。
3.3 芯片验证和仿真器设计方案
在前面描述中可以看到,在该芯片设计中由于采用标准的8051核,其指令系统和体系结构基本没有改变,但其中一些特殊寄存器与外围模块之间建立了映射关系,中断源也得到了扩充。因此,验证和仿真器的设计关键在于能否正确反映这些寄存器的状态或通过寄存器控制这些外围模块的工作。
在系统芯片设计流程中, 仿真 器的设计与芯片设计同步甚至要提前,因此没有现成的CPU芯片作仿真器核心;而简单地将CPU与FSK、DTMF、CAS等功能芯片组合起来替代该CPU芯片,不能实现完全仿真和模拟,特别是无法获得外围模拟模块的状态。
在这里,我们采用FPGA和FSK、DTMF、CAS等功能芯片组合成模拟CPU来替代所设计的系统芯片,系统结构可参照图3。图3中, 8051 核及数字接口部分由FPGA实现;CID部分中,FSK、DTMF、CAS、振铃检测等模块则由相应硬件模块实现。
FSK、DTMF、CAS、振铃检测等模块通过接口与FPGA中8051相应寄存器对应,这样在这些外围模块动作的同时,在8051寄存器中都能正确映射;反之,FPGA中相应寄存器的改变,也会引起这些外围模块的动作。 图3是建立在通用8051仿真器上的短消息系统芯片仿真方案。模拟CPU模块集成了FPGA和CID部分芯片和电路,该模块采用与8051定义一致的引脚与仿真板相连。对于仿真板来说,该模块的命令和操作
◇完全兼容 现有集成开发和仿真环境;
◇简化了数模混合设计的 验证 问题;
◇经过改进,可以利用通用仿真器仿真和调试硬件、软件;
◇由于FPGA可以随着芯片的改进而重新编程,因此增大了设计和验证的灵活性;
◇缩短了开发时间,加快芯片上市时间。
4 结 论
利用该方案构成的系统芯片验证和仿真方案已经在我们的设计中得到了应用。事实上,利用该方案的思想不仅可以实现基于8051核系统芯片的验证和仿真,其它系统芯片的验证和仿真也是可以借鉴的。
|