The power consumption in CMOS circuits comes from two parts: one part is static power consumption, which is generated by leakage and other static currents; the other part is dynamic power consumption, which is generated by short-circuit current and load capacitor charging and discharging. There are three main consumptions in these two parts: switching loss, short-circuit loss, and leakage loss. The power consumption caused by short-circuit loss accounts for 10-15% of the total power consumption, while the power consumption caused by switching loss accounts for 70% to 80% of the total power consumption. The switching power consumption expression of the N-bit address bus is:
Among them, N represents the address bus width, Cload represents the average load of each address line, VDD is the power supply voltage, α represents the average number of capacitor charges and discharges in one cycle, f is the operating frequency, and α×f represents the flip rate.
The address bus inside the smart card chip has to connect RAM, ROM and other modules, so the load is relatively heavy, and the address bus generally has a long routing, which will undoubtedly increase the load capacitance of the address bus. At the same time, the CPU frequently accesses the memory, which also increases the flip frequency of the address bus. Therefore, the power consumed on the address bus is relatively large.
Low-power address encoding method
The low-power design of the address bus is mainly to encode it with low power consumption. The methods include BI (Bus-Invert) and T0 (Zero-Transition), Gray code, WZE encoding, etc. It compares the N-bit address bus sent by the CPU at time t and time t-1. If the number of bits changed on the bus is greater than N/2, the bus is inverted and sent out, otherwise it is sent directly. Whether the address receiving end inverts the address after receiving it is determined by the INV signal line. For example, if the address bus is 4 bits, the address is 0000 at time t-1 and 1111 at time t, then 1111 is inverted and sent out.
The BI encoding formula is as follows:
Where b(t) refers to the actual address at time t, B(t) is the encoded address, and H(t) is the number of bits that differ between b(t) and b(t.1).
The BI decoding formula is as follows:
Where J(t) is the decoded address bus.
The T0 code notifies the address receiver of whether the address on the bus is continuous by adding a redundant line INC. If INC is high, it indicates that the address on the bus is continuous. At this time, all address buses remain unchanged, and the address receiver automatically adds 1 to the previous address as the current address; if INC is low, it indicates that the two addresses are not continuous. At this time, the bus will transmit the address code normally.
Define b(t) as the bus data at time t calculated by the CPU (i.e., data before encoding), B(t) as the data already placed on the bus at time t (i.e., encoded data), and Jt as the data decoded by the decoder. Then the encoding formula for T0 encoding is:
The decoding formula corresponding to T0 encoding is:
Combining the BI and T0 methods, the BI-T0 method is formed. Generally speaking, addresses are relatively continuous, while data buses are relatively random. BI encoding is mainly used for data buses, and when used for address buses, it is generally accompanied by a cache. T0 encoding has the characteristics of low latency and small area, and can effectively reduce the number of address flips when addresses are continuous. When addresses are continuous, T0 encoding is used; when addresses are discontinuous, the BI method is used, which forms BI-T0 encoding.
Gray encoding is also more effective for address buses that are mainly continuously changing. For example, from 7 to 0, using binary encoding is from 111 to 000, which will cause three jumps, while using Gray code is from 100 to 000, which only changes once. For continuous data transformation, Gray code is simpler and more effective.
WZE (Working-Zone-Encoding) encoding assumes that each instant the program only accesses a certain working zone (Working-Zone) of the total address space. The address bus transmits the working zone flag and the address offset based on the working zone base address, and the offset is encoded using one-hot encoding. WZE is mainly used for external address bus, on which PBE encoding and extended WZE encoding are formed.
Implementation and application of T0 encoding
The schematic diagram of T0 address bus encoding is shown in Figure 1, and the structure of the codec is shown in Figure 2. b is the address sent by the CPU core, B is the address output by the encoder, J is the address sent by the decoder to the memory, and INC is used to indicate whether the address is continuous. The circuit scale of the encoder and decoder is very small, and the additional hardware area and power consumption are also small.
Figure 1: Schematic diagram of address bus encoding.
Figure 2: Block diagram of zero flip encoder/decoder circuit.
We selected a test stimulus, and the actual running waveform is shown in Figure 3.
Figure 3: Address zero flip waveform.
From the figure, we can see that when the address bus sent by the CPU is continuous, the address bus between the encoder and the decoder can be kept unchanged, and the memory can obtain the correct address through the INC signal. During FPGA simulation, the VCD file of the above stimulus can be input into XPOWER to analyze the power consumption. When using T0 encoding, the total power consumption is 0.467mW, and when not using T0 encoding, the total power consumption is 0.999mW.
Summary of this article
Combined with the actual situation of an 8-bit smart card chip, a simple and effective T0 encoding is used for the address bus, which effectively reduces the number of address bus flips, thereby helping to reduce the power consumption of the entire smart card chip.
Previous article:Sliding Mode Variable Structure Control of Boost Circuit with Dynamic Error Correction
Next article:Hot-swap design for telecommunications systems: Avoid patchwork and support efficient design
- MathWorks and NXP Collaborate to Launch Model-Based Design Toolbox for Battery Management Systems
- STMicroelectronics' advanced galvanically isolated gate driver STGAP3S provides flexible protection for IGBTs and SiC MOSFETs
- New diaphragm-free solid-state lithium battery technology is launched: the distance between the positive and negative electrodes is less than 0.000001 meters
- [“Source” Observe the Autumn Series] Application and testing of the next generation of semiconductor gallium oxide device photodetectors
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- Will GaN replace SiC? PI's disruptive 1700V InnoMux2 is here to demonstrate
- From Isolation to the Third and a Half Generation: Understanding Naxinwei's Gate Driver IC in One Article
- The appeal of 48 V technology: importance, benefits and key factors in system-level applications
- Important breakthrough in recycling of used lithium-ion batteries
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Problems with STM32F767 driving Bluetooth module
- Infineon Position2Go Development Kit Review @4. Development
- HFSS Wave Ports and Lumped Ports
- Using the MS-formula library of st 3.1, the scan results do not contain the device name
- What does it mean when the port latch is set to 1? How should I understand this sentence? It would be better if there is a picture to illustrate it.
- Understand these! The subtle differences between RS-232, RS-422, and RS-485
- Teach you step by step to achieve the spotlight effect
- [2022 Digi-Key Innovation Design Competition] + Smart Cup Holder-01 Unboxing Photos
- MSP430F5529LP's P1.4 port outputs a single PWM wave
- 【MM32 eMiniBoard Review】+ Serial Communication Control of MP3 Player