Page 1 of 1

USERIO Not Visible? [Solved]

Posted: Mon Dec 21, 2020 7:50 am
by S0urceror
All,

I am developing a core that uses USERIO.

Somehow, and I checked with a Logic Analyser, I cannot get the signals to appear on P7 pins 0,1,4,5,6,7 and 9.
I tried to understand what sys_top.v does. I understand that when I leave all slide switches in the OFF state the USERIO should appear.
In my case all driven signals stay 0. I connected a simple clock counter to the bits, driven by the system clock, and expected to see nice pulses.

If I put it in input by writing 1 to USER_OUT[x] then the signal stays high which is expected high impedance.

What am I missing? Do I have to enable something?

Regards,

Mario

Re: USERIO Not Visible?

Posted: Mon Dec 21, 2020 1:06 pm
by dshadoff
These are open-drain ports; putting 1 in USER_OUT[x] places it in high-impedance mode, which is pulled high by a pullup resistor (for example, on the SNAC board).

So the only two states are '0' and 'high impedance', so this is how you would send the values '0' and '1'.
In high-impedance state (which you are calling 'input mode' here), the peripheral can also send a '0' without damaging the port (or leave it in high-impedance state, which is a de-facto '1' due to the pullup).

In this way, both sides of the connection can be configured to be inputs or outputs without damaging each other by driving opposing values.

However, data transfer speeds suffer because the pullup resistor has a slow transition time.

Re: USERIO Not Visible?

Posted: Mon Dec 21, 2020 5:38 pm
by S0urceror
I guess you’re right! This explains the behavior I’m seeing. I’ll insert pull-ups and try again.

Update:
No, doesn't change anything. I also saw that the pins are already configured to have weak pull-ups. Btw. if I move slide-switch [1] in the ON position I do see HDMI_LRCLK on USERIO[5]. Only my own signals never appear when I put the slide-switch[1] back in the OFF position.

Re: USERIO Not Visible?

Posted: Thu Dec 24, 2020 1:40 pm
by S0urceror
Okay, got it working. There was a problem with my design. USER_OUT/IN work as expected. Visible on Logic Analyser both direct and via 5v level shifter.

Re: USERIO Not Visible? [Solved]

Posted: Thu Dec 24, 2020 1:43 pm
by dshadoff
Glad to hear you got it working !