不用单片机仿真器(指硬件仿真板),也能开发复杂系统![原创]
单片机开发,我没用过仿真器(指硬件仿真板),我觉得仿真器和用户的设计有差距,设计的正确性,仿真器也难以提供验证手段。
比如,我最近开发的一个web卡,卡上SST8954、有网卡芯片、SMD存储卡、SRAM、串口芯片MAX232、DMA控制器。DMA控制器是自己用CPLD实现的,
CPU并没有和RAM直接相连,而是通过CPLD进行了时序转换,因为DMA控制器负责数据总线的控制。RAM和网卡之间、SMD存储卡和RAM之间,
大量的数据传递,不需要CPU干预,由DMA控制器来完成。
这样的设计,用仿真器能调试吗?
我使用了一个纯软件仿真器。CPU的外部模块,一般都是数字电路,数字器件的HDL模型还是比较容易得到的,可以使用HDL语言仿真器,比如modelsim,
对硬件模型进行仿真。在设计DMA控制器时,已经建立了Testbench,SRAM、网卡芯片模型、SMD存储卡模型、CPU BFM,在modelsim中是可以进行仿真的,
CPU外部硬件系统已经具备。
我们知道Keil是可以进行纯软件仿真的,如果将Keil和modelsim连接起来,整个系统不就可以进行仿真了吗!
我就是这样做的,不仅如此,我还使用了虚拟网卡,将仿真系统中的网卡模型与win2k操作系统连接了起来。
当仿真系统执行仿真时,我可以使用win2k的ping仿真系统,使用tftp上传和下载文件,使用IE浏览器浏览仿真系统中的网页。
采用纯软件仿真系统,我没有制作PCB,更没有焊接一个电阻,仅仅在一个CPU为速龙1G的pc机上,就完成了所有的软件和硬件设计,
并检验了设计,并且真真实实的看到了设计成果,只是还没有看到制作好的PCB板。
做上述系统的仿真,关键的技术有一个软件仿真引擎,该引擎负责软件仿真系统和硬件仿真系统(不是指仿真板)的联系。
有兴趣,可以到下载。
发表时间:2005年3月12日16:39:06