Jump to content
  • 0

Transform pins into Pmods


tester11

Question

18 answers to this question

Recommended Posts

3 minutes ago, jpeyron said:

Hi @tester11,

Could you take screen shots of what is happening with debugger? Also Are you matching pin 1 on the Pmod OLEDrgb to the IO 0 , pin2 to IO 1 and so on? Are you able to get the OLEDrgb to work on tha Pmod ports?

cheers,

Jon

-c70p4qpTqiNtonjhKLqDA.png

After clicking Resume

0zBh5DsnS6SFm9kqgBJhHw.png

 

I match the pins.I can't connect to any Pmod parts.If I select to connect to OLEDrgb and click ok it says that vivado is creating the connection but the interface doesn't mark connector JB as connected to anything and if I try to drag and drop connector JB I get 

 [BD 5-106] Arguments to the connect_bd_intf_net command cannot be empty.
 

Link to comment
Share on other sites

6 minutes ago, jpeyron said:

Hi @tester11,

Do you have the Arty-Z7-10 or Arty-Z7-20?. The shield connector has 49 pins connected to the Zynq PL for general purpose Digital I/O on the Arty Z7-20 and 26 on the Arty Z7-10 as discussed in the reference manual here.

thank you,

Jon

Arty Z7-10,so I can use IO0-IO-13 and A0-A11?

Can you take a look please for the connector JB bottom row output? I also set for the third gpio to have all outputs and width 4 

Link to comment
Share on other sites

On 3/28/2018 at 11:37 PM, jpeyron said:

Hi @tester11,

If you look at the end of the xdc line that constrains T14 and B20 it says Ck-1O0 and AD0_N which is CKIO0 and A6 on the header. You can see arduino headers pins in the reference manual in section 16 Arduino/chipKIT Shield Connector.

cheers,

Jon

the pins for the IO28-41 are not available in the xdc file .I tried to set the bottom row of the connector JB like this

set_property -dict ( PACKAGE_PIN V12 IOSTANDARD LVCMOS33} [get_ports {GPIO_tri_o[3]}]
set_property -dict ( PACKAGE_PIN V16 IOSTANDARD LVCMOS33} [get_ports {GPIO_tri_o_tri_o[2]}]
set_property -dict ( PACKAGE_PIN T11 IOSTANDARD LVCMOS33} [get_ports {GPIO_tri_o[1]}]
set_property -dict ( PACKAGE_PIN W14 IOSTANDARD LVCMOS33}PACKAGE_PIN V16 [get_ports {GPIO_tri_o[0]}]

And I got 

[Place 30-415] IO Placement failed due to overutilization. This design contains 108 I/O ports
 while the target  device: 7z010 package: clg400, contains only 70 available user I/O. The target device has 230 usable I/O pins of which 160 are already occupied by user-locked I/Os.
 To rectify this issue:
 1. Ensure you are targeting the correct device and package.  Select a larger device or different package if necessary.
 2. Check the top-level ports of the design to ensure the correct number of ports are specified.
 3. Consider design changes to reduce the number of I/Os necessary.
[Place 30-68] Instance GPIO_tri_o_OBUF[0]_inst (OBUF) is not placed
 

https://image.prntscr.com/image/SNP4l3BKSkuszo9vgmRuwA.png

the last gpio is made external

Link to comment
Share on other sites

27 minutes ago, jpeyron said:

Hi @tester11,

I got the pin names from the wrapper. I chose where to connect the pins on the header. In this case you are trying to connect both the pmod wifi and pmod oledrgb to the arduino header so i broke up one of the pmod connections because there are not enough sequential i/o pins to connect both. That is why i split up the pmod wifi pins.

thank you,

Jon

I still can't find anywhere where is set T14 or B20

Link to comment
Share on other sites

Hi @tester11,

I got the pin names from the wrapper. I chose where to connect the pins on the header. In this case you are trying to connect both the pmod wifi and pmod oledrgb to the arduino header so i broke up one of the pmod connections because there are not enough sequential i/o pins to connect both. That is why i split up the pmod wifi pins.

thank you,

Jon

Link to comment
Share on other sites

On 1/6/2018 at 12:25 AM, jpeyron said:

Hi @tester11,

I think it would be beneficial to take a step back and first get the  pmod OLEDrgb going by it self on a pmod port.  I would suggest to follow the Getting Started with Digilent Pmod IPs with just the pmod OLEDrgb connected to either JA or JB. Once we have done this i would move on to using the Arduino styled header. I think you are having issues with the debugger due to issues in the bsp(hardware setup).

Cheers,

Jon

Can you explain how to set up the pins a bit please? You made the project but I don't understand how you changed the pin names and set them.

https://image.prntscr.com/image/Y33lNj1rTQeIUPEAr5PG6A.png

In the right are your changes.I disconnedted the pmod output from Wifi pmod,made it external and then tried to see what pins I will use but  I couldn't figure out the rule to change from PACKAGE_PIN B20  to PACKAGE_PIN T14 

Link to comment
Share on other sites

Hi @tester11,

I think it would be beneficial to take a step back and first get the  pmod OLEDrgb going by it self on a pmod port.  I would suggest to follow the Getting Started with Digilent Pmod IPs with just the pmod OLEDrgb connected to either JA or JB. Once we have done this i would move on to using the Arduino styled header. I think you are having issues with the debugger due to issues in the bsp(hardware setup).

Cheers,

Jon

Link to comment
Share on other sites

@jpeyron Can be something wrong in SDK debugger? After using the debugger on hardware and click Resume it stops after a second even if it has to wait 5s that set in the code.

 

Nothing shows on the OLED .I put the first 4 pins above the last 4 under and took the gnd and power from the JB

Link to comment
Share on other sites

On 1/4/2018 at 10:18 PM, jpeyron said:

Hi @tester11,

Some of the Arduino styled header digital I/O pins are left disconnected do to the Arty-Z7-10 having less I/O pins. The reference manual here in section 16 Arduino/chipKIT Shield Connector along with section 16.1 Shield Digital I/O discuss this situation. This is why the other project would not work with changing the board to the Arty-Z7-10. Here is a completed project using Vivado 2017.4 with the Arty-Z7-10 with the Arduino styled header using the Pmod OLEDrgb and the Pmod WIFI.  This uses the Pmod OLEDrgb main.c as the other projects did as well. The connections for the Pmod OLEDrgb are the same as i shown in the pictures attached above.

cheers,

Jon

I used the code ,the debugger and still nothing on screen.I think I bind them right.Can you take a look please ? 

https://imgur.com/a/nFKgK

PS: the usb was connected when I tested but I used it to charge my phone to make the photos...

Link to comment
Share on other sites

Hi @tester11,

Some of the Arduino styled header digital I/O pins are left disconnected do to the Arty-Z7-10 having less I/O pins. The reference manual here in section 16 Arduino/chipKIT Shield Connector along with section 16.1 Shield Digital I/O discuss this situation. This is why the other project would not work with changing the board to the Arty-Z7-10. Here is a completed project using Vivado 2017.4 with the Arty-Z7-10 with the Arduino styled header using the Pmod OLEDrgb and the Pmod WIFI.  This uses the Pmod OLEDrgb main.c as the other projects did as well. The connections for the Pmod OLEDrgb are the same as i shown in the pictures attached above.

cheers,

Jon

Link to comment
Share on other sites

16 hours ago, jpeyron said:

Hi @tester11,

here is a completed project in Vivado 2017.4 using the Arty-Z7-20 that has the Pmod WIFI and the Pmod OLEDrgb use the digital I/O from the Adruino Header. I used the Pmod OLEDrgb main.c as well for this. I have included pictures of setup, a screen shot of the block design and the xdc file.

thank you,

Jon

tester11_pictures_(2).zip

Arty_Z7_20.xdc

tester11_block_design_2.jpg

Thanks,I changed the platform to Z7 10 and upgraded the design.I don't see in diagram in Vivado Wifi_out and OLEDrgb_out.

WIth the new bitstream generated I tried to run in the sdk but I can't use the debug http://prntscr.com/hvyn2n

6V1V9zRUT2_2aToEVD_QqA.png

Also if I try to add the OLED to the JB I get 

ITmmFJEGRBSMTCdZ4_7kBA.png

I got that error from copying to a new project but with yours if I run the debug I get that warning that there is somewhere the board still Z 20 and I don't see anything on the oled.I made exactly your circuit with first pins on top and the last 4 on bottom 

Link to comment
Share on other sites

Hi @tester11,

here is a completed project in Vivado 2017.4 using the Arty-Z7-20 that has the Pmod WIFI and the Pmod OLEDrgb use the digital I/O from the Adruino Header. I used the Pmod OLEDrgb main.c as well for this. I have included pictures of setup, a screen shot of the block design and the xdc file.

thank you,

Jon

tester11_pictures_(2).zip

Arty_Z7_20.xdc

tester11_block_design_2.jpg

Link to comment
Share on other sites

14 hours ago, jpeyron said:

Hi @tester11,

Are you trying to connect the pmod wifi and the pmod oledrgb to the arduino header from your other thread here. If so you need to right click on the pmod out and pmodoledrgb out and click make external. I would then delete your current wrapper and re-create the wrapper to ensure that the changes get updated. Then you need to constrain the pins that the wrapper creates for the different pmods using the xdc here(Arty-Z7_20). Since you are wanting to use the Digital I/O from the Arduino header and not the Pmod ports you will use chipkit digital pins in the xdc. I can give further assistance on what this should be if you attach the updated wrapper that includes the pmod out being made external. Also you can click into the concat block and reduce the width to one since you are only using the one interrupt. I would also use something like this to connect the pmod to the arduino header. 

cheers,

Jon

Maybe something like this .I set them as external ,deleted the old wrapper and made a new one and in the xdc file I only got 

create_clock -name processing_system7_0_FCLK_CLK0 -period 10 [get_pins processing_system7_0/FCLK_CLK0]
create_clock -name processing_system7_0_FCLK_CLK1 -period 20 [get_pins processing_system7_0/FCLK_CLK1]

 

I put the design on Mega .I still can't use the C code for the OLEDrgb even after those steps

https://mega.nz/#!B9UBybba!1akR3OMkW4r_K_-zSxMkjhjHtLy34MXyRHUmEPTZbbY

Link to comment
Share on other sites

Hi @tester11,

Are you trying to connect the pmod wifi and the pmod oledrgb to the arduino header from your other thread here. If so you need to right click on the pmod out and pmodoledrgb out and click make external. I would then delete your current wrapper and re-create the wrapper to ensure that the changes get updated. Then you need to constrain the pins that the wrapper creates for the different pmods using the xdc here(Arty-Z7_20). Since you are wanting to use the Digital I/O from the Arduino header and not the Pmod ports you will use chipkit digital pins in the xdc. I can give further assistance on what this should be if you attach the updated wrapper that includes the pmod out being made external. Also you can click into the concat block and reduce the width to one since you are only using the one interrupt. I would also use something like this to connect the pmod to the arduino header. 

cheers,

Jon

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...