自己开发QEMU硬件模拟器 - 概念篇

前言 - 独特的软件开发

  在正式写这篇博客前,我想给读者分享一篇新思科技SYNOPSYS的文章《虚拟原型设计: 加速SoC的关键嵌入式软件开发》中的一段,完整的内容读者可查看链接:虚拟原型设计: 加速SoC的关键嵌入式软件开发

在现代SoC设计中,整个设计过程中软件开发部分的时间和成本很容易超过硬件部分。除此之外,设计性能直接受到器件上运行的软件的影响,因此验证和优化嵌入式软件的性能和功耗至关重要。

但是,大型软件团队不可能孤立地工作数周或数月,然后再尝试集成和测试成品。提高生产率的一个关键是让软件开发人员在有任何物理硅片芯片或者硬件原型之前就能访问他们的目标硬件设计。一个成功的虚拟原型验证策略需要一个硬件设备的模型,在抽象层次上模拟其功能,允许高效的运行时间和交互式调试实际嵌入式软件的能力。虚拟原型可以提供整个系统的可视性和控制,包括内核、互连和外设。

就软件开发而言,虚拟原型是硬件系统的软件可执行和全功能模型,它是在高于用于硬件仿真的详细硬件描述(例如RTL)的抽象层次上编写的。事实上,虚拟原型并不依赖于寄存器传输层,可以在RTL提供之前的几个月交付。虚拟原型提供了高性能和深入的洞察力,以执行详细的软件调试和分析。

从软件程序员的角度来看,快速、准确的功能模型对于软件的早期开发至关重要,包括器件驱动程序和固件等底层功能,这对于新硬件平台的上线至关重要。这些模型也可用于移植或开发更高层次的软件栈,如中间件和操作系统。

这些模型确实需要很高的功能精度,功能等效性是软件开发环境的目标。但不一定要求周期精度,因为主要目标是实现软件开发而不是系统性能分析。对于软件性能分析来说,只有时钟周期数才是感兴趣的。模型越抽象,它的仿真速度就越快,因此在运行基准时,周转速度就越快。

软件质量可以提高,因为虚拟原型系统可以对软件进行更长

你可能感兴趣的:(硬件仿真模拟,arm开发,嵌入式硬件,c语言,开源软件)