What is bus contention and how do you eliminate it?

Showing Answers 1 - 4 of 4 Answers

Gautam Saboo

  • May 5th, 2007

Bus contention occurs when more than one memory module attempts to access the bus simulataneously.

I dont know how it can be removed completely. However it can be reduced by using hierarchical bus architecture.

  Was this answer useful?  Yes


  • Jul 24th, 2008

"Bus contention" is when two (or more) ASICs fight for control of the bus. Otherwise know as ASIC mortal combat. The loser emits the magic smoke.

 Another solution for bus contention  is in the hardware: Use a current limiting resistor on the output of each of the devices.  THis will not prevent scrambled data, but one or more of your devices will not perish if they try to fight each other. 

Calculating the value of this resistor is relatively easy.  Find the maximum constant current (Imax) that each ASIC allows at your Vdd.  The value of the resistor is Rbc=Vdd/(Imax)

A sketch of the new circuit for three ASICs on one bus is as follows:


The only detraction is that you may be limited to slower speeds depending on lay out considerations.

  Was this answer useful?  Yes


  • Nov 25th, 2011

we can avoid contention by using -
1 local memory
2 dual- port memory

  Was this answer useful?  Yes


  • Nov 6th, 2012

Bus contention is when more than one device tries to drive data line at the same time.
If one device is trying to drive it high and other tries to drive low then, we call it bus contention.
Methods to avoid it are:-
1. By having good abritation
2. The master device should always control who has access to the bus at any time
3. All slave devices need to be able to tri-state their output to bus

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.


Related Answered Questions


Related Open Questions