为FPGA软处理器选择操作系统
时间:10-11
来源:互联网
点击:
- 软件控制硬件
- 仅软件
- 软件功能,控制或数据流,通过硬件加速(SW/HW)
- 仅硬件,与CPU没有直接的互动,但是硬件可与任何功能进行交互。
- 3 另一方案:使用可编程逻辑
FPGA为系统设计者提供了一系列的权衡选择,这是现有的ASIC/ASSP解决方案无法提供的。正如图1所示 ,当一个处理器集成至FPGA时,设计者可以各种方式实现功能例如:
图1 FPGA中的多种选择
使用提供这些权衡的可编程逻辑解决方案,SoC设计者有控制结构的多种选择。相反,控制结构的选择涉及到如何实现所需的功能。
一个简单的便携式媒体播放器示范了操作系统如何控制硬件,以及如何使用一个FPGA提供一系列改善硬件/软件的权衡选择。图2从硬件的角度展示了播放器的功能。所需硬件的数量在很大程度上取决于所期望的系统响应。有了RTOS,许多硬件模块可以比在Linux应用中简单得多。总而言之,FPGA的可编程逻辑为任何操作系统提供硬件权衡选择。
图2 从硬件角度观察便携式媒体播放器
设计者在系统中用什么附加硬件,和如何用附加硬件有更多的灵活性,这可以从软件的角度来观察,如图3所示。
图3 从软件角度观察相同的便携式媒体播放器
一个键盘扫描器或许可以作为RTOS任务来执行,也作为硬件通过Linux任务来访问。事实上,用硬件实现的键盘扫描器在系统中是隐藏的,因为它被包装在一个任务中。其优点是大大减少了对操作系统的中断。轻松地权衡添加硬件或者使用软件为系统设计师带来了一种新的灵活性。
4 与FPGA相关的操作系统选择
基于FPGA的应用引入了一个将时间紧迫任务用硬件实现的重要方法,使选择操作系统在时间约束方面得到缓解,参见图4。这张图显示了本文中讨论过的各种选择的响应范围。
因为它是可编程逻辑,FPGA为设计者提供了精细的增量控制执行。因为它是硬件,它对实时事件的响应极快。如图所示,该响应可用于扩大服务范围,甚至更大的操作系统。
图4 响应范围
5 结论
用可编程逻辑的SoC平台的设计,如FPGA芯片里的LatticeMico32,给系统设计师提供了难得的机会,因为他们可以选择自己喜欢的硬件支持和轻载功能。这使得系统设计师通过转移软件到FPGA中执行数据路径,来满足时间上的限制。这一做法改变了对操作系统的标准选择判据,使得在实时操作系统和通用操作系统解决方案之间有更灵活的选择。虽然商业实时操作系统在确定中断响应方面仍然有其优势,但通过使用FPGA中实现的减负引擎后,通用操作系统的解决方案(如Linux )可能成为适合于较大的应用领域。“软实时”的解决方案,如RT Linux或Xenomai,这时就显得不那么理想了,因为使用减负引擎可以提供更好的响应而没有额外的工程费用。
无论选择了RTOS操作系统,还是基于Linux的解决方案用于基于FPGA的设计,开发者需要强有力的合作伙伴支持他们。莱迪思半导体公司的合作伙伴有Micrium ,该公司拥有μC/OS-II许可证和其他的嵌入式软件组件,还有Theobroma Systems,该公司在LatticeMico32平台上为μClinux(微控制器的Linux )提供咨询,培训和专业服务。
嵌入式 FPGA SoC 半导体 电子 DSP MIPS Linux 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- FPGA按键模式的研究与设计(03-24)
- 周立功:如何兼顾学习ARM与FPGA(05-23)