cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
aster_gio
Visitor
Visitor
2,173 Views
Registered: ‎06-05-2017

MUX EMIO driven

Jump to solution

Hello people,
My system is composed of 4 IP blocks, eachone has a 32 bit output port. These are multiplexed and the output of multiplexer is connected to the EMIO of the zynq7000. I connected the driving signal of the Multiplexer at EMIO (output) port ( as In figure).
Based on what I read this doesn't work, it creates conflict because the 2 bit assigned for S(mux's driving signal) are also part of 32 bit in input. Is there anyway to assign the pins to use or to avoid the conflict?
muxproblem.JPG
P.S I can't  use AXI, I must use GPIO(EMIO) or others connection

0 Kudos
1 Solution

Accepted Solutions
aster_gio
Visitor
Visitor
3,558 Views
Registered: ‎06-05-2017

I solved my problem. I made a customizable block that simply take n+j bit in input (n=number of bit to read ; j= number of bit of the mux selector) and in output has j bit to drive the mux, these bit are last  j bit of the word n+j . In this way, I drive only the two last bit (as output pin) of the EMIO and I don't create conflict between Input and output. See the figure for an example.muxproblem_solved.JPG

View solution in original post

0 Kudos
5 Replies
hbucher
Scholar
Scholar
2,152 Views
Registered: ‎03-22-2016

 

Why exactly can't you put your MUX input on GPIO2 (instead of led_4_bits) and your input at GPIO1 (instead of dip_switches_4bits)?

 

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
gpio.PNG
0 Kudos
aster_gio
Visitor
Visitor
2,111 Views
Registered: ‎06-05-2017

Thank you for the answer. Can I do that directly?
As I said I must not use the AXI port for this MUX.

0 Kudos
aster_gio
Visitor
Visitor
3,559 Views
Registered: ‎06-05-2017

I solved my problem. I made a customizable block that simply take n+j bit in input (n=number of bit to read ; j= number of bit of the mux selector) and in output has j bit to drive the mux, these bit are last  j bit of the word n+j . In this way, I drive only the two last bit (as output pin) of the EMIO and I don't create conflict between Input and output. See the figure for an example.muxproblem_solved.JPG

View solution in original post

0 Kudos
hbucher
Scholar
Scholar
2,072 Views
Registered: ‎03-22-2016

@aster_gio

You can use the standard "Slice" for bit ripping

https://www.xilinx.com/products/intellectual-property/xlslice.html

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
aster_gio
Visitor
Visitor
2,064 Views
Registered: ‎06-05-2017

Thank you @hbucher, I don't why I didn't find that IP before, however it has the same function of my block, so I will use also  it.
Thank you for the tip!

0 Kudos