element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
ZedBoard Hardware Design EMIO pins
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 4 replies
  • Subscribers 325 subscribers
  • Views 4006 views
  • Users 0 members are here
Related

EMIO pins

Former Member
Former Member over 12 years ago

Is there a way to know which EMIO pins are assigned?
Can I get an overview from somewhere?

For example I decide to connect some buttons to GPIO through EMIO.
I want to know the pin number to be able to access from a bare-metal app.

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 12 years ago in reply to Former Member +1 verified
    The Xilinx discrete read convenience function makes the whole thing a little misleading. You shouldn't think in terms of individual pins when it comes to software, you should think in terms of 32-bit registers…
Parents
  • Former Member
    0 Former Member over 12 years ago

    Hi zynqgeek,

    Thx for your reply and info on the blog.
    A bit more specific:

    I know that if the MIO pins are not enough you can use EMIO pins which are routed through the PL.
    The number of the EMIO pins is limited to 64 pins.
    Is there a way to get info from the tool which pins are used? I could not found anything on how EMIO pins are mapped and where peripherals are connected.
    (I would like a general answer and not only for the zedboard)

    Example 1:
    If I route the ENET1 using EMIO, how many pins are left for me to use.
    Example 2:
    Trying to run the example on chapter of "ZedBoard: Zynq-7000 EPP Concepts, Tools, andTechniques" guide it says to use GPIO through EMIO.
    In the C source code it reads from pin number 54, is there an indications of some descriptions that the pin routed through EMIO is pin number 54?


    Thx again

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago in reply to Former Member

    The Xilinx discrete read convenience function makes the whole thing a little misleading.  You shouldn't think in terms of individual pins when it comes to software, you should think in terms of 32-bit registers and specifically the two that comprise the EMIO signals which are available in the PL.

    The MIO and EMIO pins are both part of the GPIO peripheral.  Have a look at UG585, Zynq 700 Technical Reference Manual, section 14.  There you will see that there are 4 banks of GPIO.  Banks 0 and 1 deal with the MIO signals (note that bank 1 is cut short, there are 22 signals in bank 1 instead of 32 because there are only 54 MIO pins).  Bank 2 and bank 3 deal with the 64 EMIO signals.

    When you fiddle with the EMIO width setting in XPS, that's where you determine how many of the 64 EMIO signals you'll be dealing with.  If you choose anything less than 33 for a width, then all of the signals will be in bank 2.  If you choose 33 through 64 for a width, then the signals will span both bank 2 and bank 3.  The bank 2 signals represent EMIO pin numbers 54 through 85, and the bank 3 signals represent pin numbers 86 through 117.  But "pin number" is an artificial construct used by the Xilinx library functions.  Have a look at the source code for those functions and you'll see what's going on under the covers is that given a pin number, the bank is calculated, and then the bit within that bank is calculated, the data register for that bank is read in, shifted, and masked to return the single bit represented by the pin number (at least for the discrete read function).

    A better way to think about the EMIO signals is how they really are, two separate 32-bit registers.  After browsing section 14 in UG585, have a look at section B.19 for the details on the various registers involved with the GPIO peripheral (that is to say the MIO and EMIO pins).  I found it easier to manipulate the registers of interest directly instead of deciphering the Xilinx convenience functions.  But that's just my personal pereference.

    A summary answer would be the EMIO pin numbers in question will always start at #54 and go up through however wide you decide to make the EMIO port, up to 64 bits.  If you go beyond 1 bit wide incidentally, you'll need to specify the GPIO signal name with (0), (1) and so on at the end in the UCF file to LOC each signal to the desired external pin on the Zynq.

    I hope that helps clear things up a bit for you.

    Cheers,
    -Doug

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • dsula
    0 dsula over 6 years ago in reply to Former Member

    Thank you for the explanation. That saved my day.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • dsula
    0 dsula over 6 years ago in reply to Former Member

    Thank you for the explanation. That saved my day.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube