by Tim Mace, AMBA/PrimeCell Product Manager, ARM
ARM PrimeCell peripherals were originally an add-on consultancy feature in the late 90s. Today PrimeCell offers range of reusable soft IP macrocells fully verified and compliant with the AMBA on-chip bus standard.
Before 1999, ARM was designing ASICs for customers and creating peripherals to go with them. These could be licensed individually, were driven by specific customer needs and were given the name PrimeCell peripherals. The model worked, so ARM continued evolving PrimeCell peripherals to more complex components, notably static and dynamic memory controllers to speed up the traditional bottleneck between CPU and system memory. The range is now a comprehensive PrimeCel peripheral library with products such as the PrimeCell PL300 AMBA AXI configurable interconnect peripheral.
Memory controllers are still very important, adding a lot to the design that the competition can’t provide. The vast majority of our customers are happy with one or two types of memory: for them what really counts is the system performance. We focus on the issues where we can make a difference; for example our knowledge of CPU requirements links processor and external memory. Another major factor in PrimeCell peripherals is the cost of ownership for a particular piece of IP. Creating a PrimeCell peripheral is more than just writing code; it has to be verified, synthesis and modelling need supporting and the design must be flexible so it can be moved between users. This means building configurability into the design, and the PrimeCell PL300 product is the first configurable piece of PrimeCell IP. Configurability can be extended to memory controllers. There are different types of memory, but most of the functions of a memory controller can be reused across them with only minor changes for a specific memory. This makes it easier to verify a product before it is handed over to the customer. Products such as the PrimeCell PL340 AXI SDRAM controller use this approach to be both flexible and generic.
Configurability reduces the need to modify designs for a specific customer, with unacceptably high licence charges. Instead, standard designs that can be tweaked for each customer’s requirements and there are economies of scale to be had by reusing parts across products. The differences between a memory controller for a multimedia card, an SD card and a Memory Stick are very small; the AMBA interface can be the same, for example. Since all three are basically the same, there is a huge scope for reusing IP, reducing development cost to ARM and providing more cost effective products to the customers.
Economies of scale
An individual customer may only be interested in one element and couldn’t expect the economies of scale to develop. Designing PrimeCell peripherals on a modular basis allows ARM to implement configurability across the range from simple to complex peripherals, reducing verification and maintenance costs.
Using the same modules on different memory controllers also makes debugging quicker: if a bug is found on one product, the debugging process can be adapted very quickly across the whole range. There is less work to upgrade the products, as an upgrade on one can be implemented with little or no modification on other products. Security is important, but can be difficult for customers to develop themselves. ARM, through the PrimeCell PL300, supports TrustZone technology and other software security layers that let security be implemented at a hardware level. ARM TrustZone technology helps protect the operating system, the protocol stack and the network against attack, as well as securing mobile data and downloadable applications, games and media content. PrimeCell peripherals are available with multiple or single use licences. Silicon manufacturers are typically more interested in multiple uses, seeing IP as a capital investment. Just two uses a year can make a multiple use licence cost effective. The PrimeCell Full Access Programme (stocking deal) means that customers do not need to commit to particular IP before they are sure it will work with their products. PrimeCell peripherals are supplied on an evaluation basis and are only paid for if they to be used. With the contract in place before evaluation there is no more paperwork; customers just pay and go when they decide to go ahead.. They also have full access to maintenance upgrades during the evaluation process.
PrimeCell peripherals are also provided as part of the ARM PrimeXsys Platform. This is a pre-integrated platform of PrimeCell peripherals and bus interconnect directly related to CPU performance. A verification framework builds upon the pre-verified PrimeCell IP. With more configurable IP, the value of a fixed PrimeXsys Platform could diminish so there is a route to use SPIRIT technologybased EDA tools to build or extend platforms. ARM is part of the SPIRIT organisation and supports its bid to standardise interfaces within EDA tools. Perhaps the future of the PrimeXsys Platform is to become more configurable within a SPIRIT environment: we don’t know the answer yet, but it will be driven by the customer. Another route being considered is to license the PrimeCell PL300 product and configurable AMBA interfaces so that third parties can provide the peripherals. ARM would still develop IP peripherals but ones for customer reuse in other environments could be integrated within SPIRIT. A recent development is the support for System C modelling for PrimeCell peripherals. System C is a standard non-proprietary language that is gaining wide industry support. It is a key tool for architectural exploration. The PrimeCell PL340 product is an example of a PrimeCell peripheral that starts with a System C model. PrimeCell peripherals provide a comprehensive IP peripheral library today and have a potentially bright future ahead as a standard and benchmark for others to develop their own peripherals.