Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

HELP in vhdl............. challenging one

Status
Not open for further replies.

honnaraj.t

Member level 2
Member level 2
Joined
Aug 3, 2007
Messages
48
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,288
Activity points
1,725
hi,
it will help me lot if any body suggest solution for this....thanks in advance.....

problem:= i have two PORT signal both are INOUT... from the different module....i wanted to connect this two signal through MUX.... (since multiple driver i am using MUX) ..... problem happening that .... i am able to tranffer only one way of data not other way.....mux is restricting to do INOUT.....how to achieve this...........

------- -------- -------
| I/O |<---------------------->| MUX |<-------------------------------> | I/O |
------- -------- -------

IN MUX WE CAN ASSIGN ONLY ONCE SIDE ....... HOW TO MAKE BIDIRECTIONAL
 

As a short answer, muxes for bidirectional signals don't exist. Also bidirectional signals don't physically exist internally in programmable logic. They exist as wires to external bidirectional I/O cells or they are only virtual.

If you want to switch real (I/O cell connected) or virtual (internal only) bidirectional signals, you have to break them in unidirectional signals. Obviously, a data direction information is necessary to do so.

The said problem of having multiple drivers would be continued without an unequivocal direction signal. But if you have this direction signal, or in other words, know at each time which side is intended to drive out, you don't need a multiplexer. You only have to control all drivers at the bidirectional node or "bus" accordingly.
 

honnaraj.t said:
hi,
it will help me lot if any body suggest solution for this....thanks in advance.....

problem:= i have two PORT signal both are INOUT... from the different module....i wanted to connect this two signal through MUX.... (since multiple driver i am using MUX) ..... problem happening that .... i am able to tranffer only one way of data not other way.....mux is restricting to do INOUT.....how to achieve this...........

------- -------- -------
| I/O |<---------------------->| MUX |<-------------------------------> | I/O |
------- -------- -------

IN MUX WE CAN ASSIGN ONLY ONCE SIDE ....... HOW TO MAKE BIDIRECTIONAL


One thing you can do.You can use a bi directional buffer in between 2 i/o pins.The enable pin of bidirectional buffer should be connected to output of mux.Intput of mux is input from two I/o ports..
enable pin come from two I/O ports..

------- -------- -------
| I/O |<---------------------->| Bi-Dir-Buffer |<---------------------> | I/O |
------- -------- -------


------------------------->|Mux|------>Bi-Dir_buff




You can take 4 input mux where 2 selections come from 2 i/o ports..
in 4 inputs 2 must be grounded and one input is from one i/o port and othere input from 2nd i/o port.


Please correct me if i am wrong..
 

basically that I/O is SRAM data bus...........
 

You may want to clarify, which ports in your problem are "real" hardware bidirectional pins and which are internal inout ports.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top