Content deleted Content added
Jiten.meena (talk | contribs) |
→References: +link |
||
(26 intermediate revisions by 11 users not shown) | |||
Line 1:
'''Bus
In the context of this article, a system can refer to anything where data is transferred from one element to another over bus (viz. [[
== Motivation ==
Power consumption in electronic systems is a matter of concern today for the below reasons:
#
#
#
The dynamic power dissipated by an electronic circuit is directly proportional to the activity factor and the load capacitance as seen by the output of the logic gate. In case of a bus, the load capacitance is usually high since bus needs to be connected to multiple modules and routed longer and the activity factor is also high. Due to higher value of load capacitance and activity factor, in a typical system, bus power consumption can contribute
Hence bus encoding is important for any electronic system design.{{Citation needed|reason=most electronic systems use only microcontrollers or no processor at all, and my understanding is that they don't implement any bus encoding, therefore "any electronic system" is overstating its importance.|date=July 2019}}
== Examples of bus encoding to achieve low power==
Following are some of the implementations to use
#
#
#
# ''
# ''
#
== Other examples of bus encoding ==
Many other types of bus encoding have been developed for a variety of reasons:
* improved EMC: [[differential signaling]] used in many buses, and the more general [[constant-weight code]] used in the MIPI C-PHY [[Camera Serial Interface]]<ref>
[https://www.design-reuse.com/articles/43954/demystifying-mipi-c-phy-dphy-subsystem.html "Demystifying MIPI C-PHY / DPHY Subsystem - Tradeoffs, Challenges, and Adoption"]
([https://www.chipestimate.com/Demystifying-MIPI-C-PHY--DPHY-Subsystem-Tradeoffs-Challenges-and-Adoption-/Mixel/Technical-Article/2018/04/24 mirror])
</ref> are both more immune to outside interference, and emit less interference to other devices.
* bus multiplexing: Many early microprocessors and many early DRAM chips reduced costs by using bus multiplexing, rather than dedicate a pin to every address bit and data bit of the [[system bus]]. One approach re-uses the address bus pins at different times for data bus pins,<ref>
Don Lancaster.
[https://www.tinaja.com/ebooks/tvtcb.pdf "TV Typewriter Cookbook"]. ([[TV Typewriter]]).
Section "Bus Organization".
p. 82.
</ref> an approach used by [[conventional PCI]]. Another approach re-uses the same pins at different times for the upper half and for the lower half of the address bus, an approach used by many [[dynamic random-access memory]] chips, adding 2 pins to the control bus -- a row-address strobe ({{overline|RAS}}) and the column-address strobe ({{overline|CAS}}).
== Implementation method ==
In case of SoC designs, bus encoding schemes can be best implemented in RTL by instantiating dedicated encoders and decoders over the bus. Another way it could be implemented is by passing hint to the synthesis tool either as a trace of the simulation<ref
On board, a small low power IC can be deployed in between the master and slave modules on the bus to implement the encoding and decoding functions.
== Properties of the encoding function ==
The bus encoding/decoding function must be a [[
# Every data to be launched on the bus must have a unique encoded value and every encoded value must uniquely decode to the same original value.
# It must be possible to encode and decode all the values which can be generated by the source.
== Trade-off /
* While adding of bus encoding reduces the activity factor over the bus and leads to reduction in dynamic power, addition of encoders and decoders around the bus causes additional circuitry to be added to the design, which also consume certain amount of dynamic power. We must factor this while computing the power savings.
* The additional circuitry will also increase the leakage power of the design/circuit/system/SoC. If the base activity factor of the system bus is not very high, bus encoding may not be a very viable option since it will degrade overall energy consumption due to higher leakage power.
Line 36 ⟶ 51:
== See also ==
* [[Gray code addressing]]
* [[
* [[Low power electronics]]
* [[Glitch removal]]
* [[Green computing
==References==
{{Reflist|refs=
<ref name="RTL">{{citation |url=http://sportlab.usc.edu/~massoud/Papers/low-power-RTL-review-journal.pdf |author-first1=Massoud |author-last1=Pedram |author-first2=A. |author-last2=Abdollahi |title=Low Power RT-Level Synthesis Techniques: A Tutorial}}</ref>
<ref name="devdasmalik">{{citation |author-last1=Devadas |author-last2=Malik |title=A Survey of Optimization Techniques targeting Low Power VLSI Circuits |journal=DAC 32 |date=1995 |pages=242–247}}</ref>
<ref name="massoud">{{citation |url=http://sportlab.usc.edu/~massoud/Papers/isqed-tut.pdf |author-first1=Wei-Chung |author-last1=Cheng |author-first2=Massoud |author-last2=Pedram |title=Memory Bus Encoding for Low Power: A Tutorial}}</ref>
<ref name="Shifted_Gray">{{cite journal |author-first1=Hui |author-last1=Guo |author-first2=Sri |author-last2=Parameswaran |doi=10.1016/j.sysarc.2010.03.003 |volume=56 |issue=4–6 |date=April–June 2010 |title=Shifted Gray encoding to reduce instruction memory address bus switching for low-power embedded systems |journal=Journal of Systems Architecture |pages=180–190}}</ref>
<ref name="Zero-Transition_1997">{{cite journal |author-first1=Luca |author-last1=Benini |author-first2=Giovanni |author-last2=De Micheli |author-first3=Enrico |author-last3=Macii |author-first4=D. |author-last4=Sciuto |author4-link=Donatella Sciuto|author-first5=C. |author-last5=Silvano|author5-link=Cristina Silvano |title=Asymptotic Zero-Transition Activity Encoding for Address Buses in Low-Power Microprocessor-Based Systems |journal=Proceedings Seventh Great Lakes Symposium on VLSI |pages=77–82 |date=March 1997}}</ref>
<ref name="Stan_1995">{{cite journal |author-first1=Mircea R. |author-last1=Stan |author-first2=Wayne P. |author-last2=Burleson |title=Bus-Invert Coding for Low-Power I/O |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |volume=3 |number=1 |pages=49–58 |date=March 1995 |id=1063-8210/95$04.00 |citeseerx=10.1.1.89.2154 |doi=10.1109/92.365453 }}</ref>
<ref name="Inversion">{{cite web |url=http://www.eng.auburn.edu/~agrawvd/COURSE/E6270_Fall07/PROJECT/JIANG/Low%20power%2032-bit%20bus%20with%20inversion%20encoding.ppt}}</ref>
<ref name="Yang">{{cite journal |author-first1=J. |author-last1=Yang |display-authors=et al |title=FV encoding for low power data I/O |journal=Islped 2001 |date=August 2001 |pages=84–87}}</ref>
<ref name="Basu">{{cite journal |author-last1=Basu |display-authors=et al |title=Power protocol: reducing power dissipation on off-chip data buses |journal=Micro |date=2002}}</ref>
<ref name="Lin">{{cite journal |author-first1=C.-H. |author-last1=Lin |display-authors=et al |title=Hierarchical Value Cache Encoding for Off-Chip Data Bus |journal=ISLPED |date=2006}}</ref>
<ref name="Sector">{{cite web |url=http://sportlab.usc.edu/~massoud/Papers/sector-based-encoding-journal.pdf |title=Transition Reduction in Memory Buses Using Sector-based Encoding Techniques |author-first1=Yazdan |author-last1=Aghaghiri |author-first2=Farzan |author-last2=Fallah |author-first3=Massoud |author-last3=Pedram}}</ref>
<ref name="Deogun">{{cite journal |author-first1=H. |author-last1=Deogun |author-first2=R. |author-last2=Rao |author-first3=D. |author-last3=Sylvester |author-first4=D. |author-last4=Blaauw |author-link4=D. Blaauw |title=Leakage- and crosstalk-aware bus encoding for total power reduction |journal=Proceedings of the 41st Design Automation Conference |pages=779–782 |date=June 2004}}</ref>
<ref name="Khan">{{cite journal |author-first1=Z. |author-last1=Khan |author-first2=T. |author-last2=Arslan |author-first3=A. |author-last3=Erdogan |title=A novel bus encoding scheme from energy and crosstalk efficiency perspective for AMBA based generic SoC systems |journal=Proceedings of the 18th International Conference on VLSI Design |pages=751–756 |date=January 2005}}</ref>
<ref name="VLSI">{{cite journal |url=http://si2.epfl.ch/~demichel/publications/archive/1998/VLSISvol4iss4Dec98pg554.pdf |title=Power Optimization of Core-Based Systems by Address Bus Encoding |author-first1=Luca |author-last1=Benini |author-first2=Giovanni |author-last2=De Micheli |author-first3=Enrico |author-last3=Macii |author-first4=Massimo |author-last4=Poncino |author-first5=Stefano |author-last5=Quer |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |volume=6 |number=4 |date=December 1998}}</ref>
}}
==Further reading==
* {{cite report |author-first1=Ching-Long |author-last1=Su |author-first2=Chi-Ying |author-last2=Tsui |author-first3=Alvin M. |author-last3=Despain |url=http://www.scarpaz.com/2100-papers/Power%20Estimation/su94-low%20power%20architecture%20and%20compilation.pdf |title=Low Power Architecture Design and Compilation Techniques for High-Performance Processors |date=1994 |publisher=Advanced Computer Architecture Laboratory |id=ACAL-TR-94-01}}
[[Category:Digital electronics]]
|