Home > Frequently Asked Questions > Microcode

Frequently Asked Questions (FAQ) - Microcode

1.  Introduction

1.1  What is PowerQUICC microcode?
1.2  How does a microcode program work?

1.3  Are the terms microcode "patch", "program" and "utility" interchangeable?

1.4  What is microcode customization?
1.5  What are microcode instructions?
1.6  Why is the functionality of the standard library limited?

1.7  Can everyone write microcode program?

2.  Benefits

2.1  What are the advantages of using a microcode program?
2.2  What performance gain can be achieved by using microcode?

2.3  How can microcode offer such significant performance gain?

3.  DoGav Systems' Microcode Customization Service

3.1  How easy is it to install a customized microcode?

3.2  How much does a customized microcode cost?

3.3  How long does it take you to develop a microcode package?

3.4  Will I be able to add more features/functionality to a microcode product in the future?

3.5  Can I have a microcode example to figure out how simple it is to use?
3.6  What level of support will I get when I buy a microcode from DoGav Systems?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.  Introduction

 

1.1  What is PowerQUICC microcode?
The PowerQUICC architecture integrates three main components: an embedded Power Architecture-based (PPC) Host Processor, a System Interface Unit (SIU), and a  Communication Interface module (CPM). This dual-processor architecture consumes much less power than traditional architectures because the CPM offloads peripheral tasks from the embedded PPC core. The CPM is made of FIFOs, some protocol specific H/W, and a dedicated RISC processor. This RISC processor implements the various protocols requirements by running efficient programs from either the NXP (formerly Freescale)-supplied on-chip ROM (the "standard library") or from an on-chip RAM. The CPM instructions are referred to as "microcode" instruction, and the programs are called microcode programs.

 

1.2  How does a microcode program work?

The CPM contains 4-8 trap registers. Any enabled trap register is constantly compared with the CPM program counter for a match. When a hit is encountered, the CPM RISC jumps to the associated microcode program and begins to execute it. When completed the RISC is returned to the ROM (either directly or indirectly) 

 

1.3  Are the terms microcode "patch", "program" and "utility" interchangeable?

Yes and no. A patch is a microcode with a small footprint, which typically fixes an existing ROM problem, which was discovered after the silicon chip was manufactured. A microcode utility or program is typically bigger and enhances the features and/or functionality available in ROM (e.g. protocol parser).

 

1.4  What is microcode customization?
Customization means programming the CPM to perform customer-specific requirements. DoGav Systems is NXP's (formerly Freescale) most active and experienced 3rd party microcode developer.
Since receiving its licence from Freescale in 2000 DoGav Systems has developed numerous customized microcode packages for both small and large NXP customers, packages that are successfully deployed in commercial products. In addition, DoGav Systems also offers more than 30 off-the-shelf generic microcode products for the PowerQUICC, PowerQUICC II, PowerQUICC III, and the PowerQUICC II PRO.

 

1.5  What are microcode instructions?
Microcode instructions are very basic low-level instructions, used to manipulate bit streams and byte ordering.

 

1.6  Why is the functionality of the standard library limited?

When the PowerQUICC architecture was introduced, the clock speed of the early devices was not fast enough to enable it to handle layers three and four functionality. For example, when the PowerQUICC II  was introduced in late 1998, the CPM speed was only 133MHz. Now the CPM can run at more than 300MHz. Furthermore, on the QUICC engine, there are two RISCs engines.

 

1.7  Can everyone write microcode program?
In theory yes, but in practice most probably no. Writing microcode requires a very deep understanding of the PowerQUICC, and in particular the CPM architecture, much deeper than is required in order to develop applications that are based on those devices. In addition, a license from NXP is also required.

 

2.  Benefits

 

2.1  What are the advantages of using a microcode program?
Shorter development time and cheaper than changes/additions to the hardware. Microcode enables the upgrade of a system, either by adding new or modifying existing functionality or by increasing its performance without having to make any changes to the existing hardware.

 

2.2  What performance gain can be achieved by using microcode?

In terms of throughput, anything between 10% and 1000%!

 

2.3  How can microcode offer such significant performance gain?

By operating On-The-Fly, hence eliminating the need for costly load/store operations. Every payload bit in the packet/frame/character is seen by the CPM on its way to/from a FIFO from/to am application memory. As such the CPM can handle much of what used to be an application task while the bit stream stored temporarily in the DPRAM. This saves considerable amount of cycle by eliminating the need for a load/store operation. In addition, the microcode program must be, by definition, extremely efficient, due to low-level programming, and the relatively limited on-chip ROM/RAM capacity.

 

3.  DoGav Systems' Microcode Customisation Service

 

3.1  How easy is it to install a customized microcode?
Very easy. Together with the microcode DoGav Systems also provides a c-language file which contains a function that carries out the installation process automatically. All the user has to do is call that function before enabling the specific serial controller. The installation process only lasts several milliseconds, depending on the size of the customized microcode.

 

3.2  How much does a customized microcode cost?

It depends... Once you submit your microcode request using the Microcode Request Form we will carry out an evaluation of your requirements (free of charge), and will provide you with a detailed price quotation. In general the price will depend on the complexity of the requested features.
 

3.3  How long does it take you to develop a microcode package?

Again, it depends... The deciding factors are the complexity of the requirements and our workload. A typical microcode takes from several weeks to several months to develop.

 

3.4  Will I be able to add more features/functionality to a microcode product in the future?

Yes. The RAM dedicated to microcode in the DPRAM (HIP 7) allows for very large microcode programs. In fact it is so large that it can hold the entire ROM standard library.

 

3.5  Can I have a microcode example to figure out how simple it is to use?
DoGav Systems offers an Ethernet Time-Stamp microcode utility free of charge. This microcode utility is used by many of our customers, and can be downloaded here.

 

3.6  What level of support will I get when I buy a microcode from DoGav Systems?

Every DoGav Systems' microcode package comes with up to 4 hours of integration support, a 12 months warranty, and an optional annual software maintenance contract, which includes free updates/upgrades and priority free technical support with guaranteed response time. Please contact us if you wish to see the full details.

 

3.7   In addition to the executable, can I also receive the source code for the microcode module?

In order to protect its intellectual property, NXP prohibits all members of its Open QUICC Engine Program from providing their customers with an un-encrypted version of microcode source code.

Some of our customers have express their concern in the past that their position could potentially be jeopardized should DoGav Systems dissolves or is unable to support them. (Note that we have been trading for over 25 years and have no intention of stopping just yet...).

To alleviate this concern we have reached an agreement with NXP that enables us to provide our customers with an encrypted archived copy of the source code. The key/password required to decrypt the archive will be retained by NXP.

In the event that DoGav Systems dissolves or provides a written statement explaining why it cannot continue to support the customer, then NXP may use the password on the customer's encrypted archive to retrieve the source, and redistribute it another OpenQE 3rd party.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright 2003-2016 by DoGav Systems Ltd., All Right Reserved - Terms and Conditions