Wireless applications: OS consideration for Zynq All Programmable SoCs: Page 2 of 5

April 15, 2015 //By Yuan Gu, Xilinx
With the explosive increase in wireless data throughput, there is tremendous pressure on improving digital signaling processing technology and radio equipment. Currently, the focus is on 4G LTE.
When architecting a wireless application based on Zynq APSoC devices, it is necessary to select the operating system that meets the needs of the application. In order to do so, there are several key factors associated with different wireless applications that need to be considered:

Carrier grade operations: System reliability (99.999%) is a common requirement for carrier grade systems. It defines the amount of uptime necessary for the unit. Operationally, it means the support for system features, such as cold/warm restart, fault monitoring, detection and handling, and redundancy.

Real time processing:
Real time means a predictable response time, not just “very fast”. A remote radio has different real time requirements compared to wireless backhaul processing. Radio equipment is signal processing heavy and the processor supporting signal processing must meet stringent timing budgets.

Diagnostics: To support in-field and post-mortem diagnostics, considerable performance measurements and logs need to be collected and stored. Hence some key indexes that are important for wireless application can be traced and managed such as performance measurements and statistics, CPU utilization and fault monitoring, OS task switching, and event history, etc.

Tools and protocol integration: A comprehensive integration of debug and diagnostic environment, and some specific network protocol stacks provided by some OS venders could facilitate the designer to develop and maintain an efficient system.

Zynq SoC integrates two ARM Cortex A9 cores. Software architects will need to make a selection between supported multi-processor architectures: SMP (Symmetric Multi-Processing) or AMP (Asymmetric Multi-Processing). As shown in Figure 2, SMP is a system architecture where two or more identical processors have shared resources with a single OS instance running. This architecture theoretically treats all processors equally under the same OS instance. On the contrary, AMP architecture treats processors separately – with or without the OS instance and unaware of each other. The core without an OS running may be executing a piece of micro code is regarded as “bare metal” instance.

Figure 2: SMP versus AMP. Click image to enlarge.

Design category: