I recently moved my HDMI project from S7 to A7, and I am getting implementation warnings leading to bitstream errors.
On the S7, I had to following setup
// HDMI notes: we're using pmod JA.// for the S7:// top row is N14, M14, L18, L17// bot row is N18, M18, M17, M16// so TMDS1 is {L18, L17} = {hdmi_out_n[1], hdmi_out_p[1]} = green// so TMDS0 is {N14, M14} = {hdmi_out_n[0], hdmi_out_p[0]} = blue// so TMDS2 is {M17, M16} = {hdmi_out_n[2], hdmi_out_p[2]} = red// so CLOCK is {N18, M18} = {hdmi_out_n[3], hdmi_out_p[3]}
This works great on S7. The problem comes in when trying to use my HDMI PMOD with my new Arty A7 board. I looked up the PMOD pins, and got
// for the A7:// top row is D12, A11, B11, G13// bot row is K16, A18, B18, D13// so TMDS1 is {B11, G13} = {hdmi_out_n[1], hdmi_out_p[1]} = green// so TMDS0 is {D12, A11} = {hdmi_out_n[0], hdmi_out_p[0]} = blue// so TMDS2 is {B18, D13} = {hdmi_out_n[2], hdmi_out_p[2]} = red// so CLOCK is {K16, A18} = {hdmi_out_n[3], hdmi_out_p[3]}
So as far as I can tell, I made sure that the same JA pins map to what the HDMI PMOD expects. All the RTL code is the same. But now I get these errors
Quote
[Vivado 12-1411] Cannot set LOC property of ports, Site IOB_X0Y149 is not part of a diff pair
[Vivado 12-1411] Cannot set LOC property of ports, the negative port (N-side) 'hdmi_out_n[1]' of a differential pair cannot be placed on a positive package pin 'B11' (IOBM)
[Vivado 12-1411] Cannot set LOC property of ports, the positive port (P-side) 'hdmi_out_p[0]' of a differential pair cannot be placed on a negative package pin 'A11' (IOBS)
[Vivado 12-1411] Cannot set LOC property of ports, the negative port (N-side) 'hdmi_out_n[0]' of a differential pair cannot be placed on a positive package pin 'D12' (IOBM)
[Vivado 12-1411] Cannot set LOC property of ports, the positive port (P-side) 'hdmi_out_p[2]' of a differential pair cannot be placed on a negative package pin 'D13' (IOBS)
[Vivado 12-1411] Cannot set LOC property of ports, the negative port (N-side) 'hdmi_out_n[2]' of a differential pair cannot be placed on a positive package pin 'B18' (IOBM)
[Vivado 12-1411] Cannot set LOC property of ports, the positive port (P-side) 'hdmi_out_p[3]' of a differential pair cannot be placed on a negative package pin 'A18' (IOBS)
[Vivado 12-1411] Cannot set LOC property of ports, Site IOB_X0Y100 is not part of a diff pair
Not sure if this is one error causing another, or two different errors. First of all, it seems like the PMOD negative and positive pins are somehow swapped. Or at least that's how I am interpreting ”the positive port (P-side) of a differential pair cannot be placed on a negative package pin”. The other mystery is site IOB_X0Y149 not being part of a differential pair. Any help is appreciated, since this is my first foray into worrying about pin polarity
Question
okonomiyonda
I recently moved my HDMI project from S7 to A7, and I am getting implementation warnings leading to bitstream errors.
On the S7, I had to following setup
where my constraints file has
This works great on S7. The problem comes in when trying to use my HDMI PMOD with my new Arty A7 board. I looked up the PMOD pins, and got
and my constraints look like this
So as far as I can tell, I made sure that the same JA pins map to what the HDMI PMOD expects. All the RTL code is the same. But now I get these errors
Not sure if this is one error causing another, or two different errors. First of all, it seems like the PMOD negative and positive pins are somehow swapped. Or at least that's how I am interpreting ”the positive port (P-side) of a differential pair cannot be placed on a negative package pin”. The other mystery is site IOB_X0Y149 not being part of a differential pair. Any help is appreciated, since this is my first foray into worrying about pin polarity
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.