element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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 & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design Vivado 2014.4 MicroZed incompatible board definition file
  • 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 Not Answered
  • Replies 12 replies
  • Subscribers 343 subscribers
  • Views 1897 views
  • Users 0 members are here
Related

Vivado 2014.4 MicroZed incompatible board definition file

nitron
nitron over 11 years ago

Hi all,

I was directed towards this forum in order to signal that board definition files (from Vivado 2014.2) are incompatible with the Vivado 2014.4.

     I encountered this incompatibility when working with a MicroZed 7020.

     The incompatibilities appear at least when instantiating the XADC. A warning appears also about the MIO pins.
     In order to help reproduce the problem a detailed description of the issue can be found at:
                               http://forums.xilinx.com/t5/Zynq-All-Programmable-SoC/Vivado-2014-4-error-Unable-to-place-all-the-instance-of-site/td-p/549590
     I have posted also a simplified project built from scratch in Vivado 2014.4 in order to allow reproducing the problem. The MicroZed definition files where imported from Vivado 2014.2.

Note:
     With the help of Xilinx (John McGrath) I managed to generate the bitstream by doing the following
     -I deleted VP/VN external connection
     -I declared Aux1-7 as ADC inputs with "Make External" command for each polarity P and N.
     -In I/O planning tab I declared the P and N polarities as IOSTANDARD LVCMOS18
     -For Vauxn0 ONLY I selected the site B20 (I/O planning tab). Then AUTOMATICALLY all the pins were positioned by VIVADO! 
     
      The bistream is generated succesfully but with a LOT of critical warnings of type:
     [Common 17-55] 'set_property' expects at least one object. ["C:/ZynqProjects/2014_4/MZ_CMD/MZ_CMD.srcs/constrs_1/new/MZ_CMD_BD_wrapper.xdc":19]
       This warning is generated for the most of the lines in the .xdc file (automatically generated by Vivado)
       When inspecting the .xdc file it appears that Vivado 2014.4 forces the IOSTANDARD of some pins to LVCMOS33 instead of LVCMOS18.
       I tried to put everywhere LVCMOS33 like in all the previous applications, blogs, tuto, etc.
In this case you can see in the .xdc file that Vauxn0 is forced by Vivado at LVCMOS18 ! I could not get rid of warnings... so I STARTED ONCE AGAIN FROM ABSOLUTE SCRATCH.
        I opened simultaneously Vivado 2014.2 and Vivado 2014.4 and created a new project selecting the Zynq component, manually transferring the memory data parameters (training + etc.) and the allocation of the pins. I followed Lab2 (Speedway).
        Finally I get rid of  most of the warnings.
However some warnings subsist in the .drc report:

-----------------
ADEF-911#1 Warning
SIM_DEVICE_arch_mismatch 
Cell MZ_HW_CMD_i/xadc_wiz_0/U0/AXI_XADC_CORE_I/XADC_INST has the SIM_DEVICE attribute set to ZYNQ, but the current architecture is ZYNQ. The SIM_DEVICE attribute must match the loaded architecture. To correct this issue set the SIM_DEVICE attribute for this cell to 7SERIES.
Related violations: <none>

CFGBVS-1#1 Warning
Missing CFGBVS and CONFIG_VOLTAGE Design Properties 
Neither the CFGBVS nor CONFIG_VOLTAGE voltage property is set in the current_design.  Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, in order to determine the I/O voltage support for the pins in bank 0.  It is suggested to specify these either using the 'Edit Device Properties' function in the GUI or directly in the XDC file using the following syntax:

set_property CFGBVS value1 [current_design]
#where value1 is either VCCO or GND

set_property CONFIG_VOLTAGE value2 [current_design]
#where value2 is the voltage provided to configuration bank 0

Refer to the device configuration user guide for more information.
Related violations: <none>

PLIO-7#1 Warning
Placement Constraints Check for IO constraints 
An IO Bus FIXED_IO_mio[53:0] with more than one IO standard is found. Components associated with this bus are:  FIXED_IO_mio[53] of IOStandard LVCMOS18; FIXED_IO_mio[52] of IOStandard LVCMOS18; FIXED_IO_mio[51] of IOStandard LVCMOS18; FIXED_IO_mio[50] of IOStandard LVCMOS18; FIXED_IO_mio[49] of IOStandard LVCMOS18; FIXED_IO_mio[48] of IOStandard LVCMOS18; FIXED_IO_mio[47] of IOStandard LVCMOS18; FIXED_IO_mio[46] of IOStandard LVCMOS18; FIXED_IO_mio[45] of IOStandard LVCMOS18; FIXED_IO_mio[44] of IOStandard LVCMOS18; FIXED_IO_mio[43] of IOStandard LVCMOS18; FIXED_IO_mio[42] of IOStandard LVCMOS18; FIXED_IO_mio[41] of IOStandard LVCMOS18; FIXED_IO_mio[40] of IOStandard LVCMOS18; FIXED_IO_mio[39] of IOStandard LVCMOS18; FIXED_IO_mio[38] of IOStandard LVCMOS18; FIXED_IO_mio[37] of IOStandard LVCMOS18; FIXED_IO_mio[36] of IOStandard LVCMOS18; FIXED_IO_mio[35] of IOStandard LVCMOS18; FIXED_IO_mio[34] of IOStandard LVCMOS18; FIXED_IO_mio[33] of IOStandard LVCMOS18; FIXED_IO_mio[32] of IOStandard LVCMOS18; FIXED_IO_mio[31] of IOStandard LVCMOS18; FIXED_IO_mio[30] of IOStandard LVCMOS18; FIXED_IO_mio[29] of IOStandard LVCMOS18; FIXED_IO_mio[28] of IOStandard LVCMOS18; FIXED_IO_mio[27] of IOStandard LVCMOS18; FIXED_IO_mio[26] of IOStandard LVCMOS18; FIXED_IO_mio[25] of IOStandard LVCMOS18; FIXED_IO_mio[24] of IOStandard LVCMOS18; FIXED_IO_mio[23] of IOStandard LVCMOS18; FIXED_IO_mio[22] of IOStandard LVCMOS18; FIXED_IO_mio[21] of IOStandard LVCMOS18; FIXED_IO_mio[20] of IOStandard LVCMOS18; FIXED_IO_mio[19] of IOStandard LVCMOS18; FIXED_IO_mio[18] of IOStandard LVCMOS18; FIXED_IO_mio[17] of IOStandard LVCMOS18; FIXED_IO_mio[16] of IOStandard LVCMOS18; FIXED_IO_mio[15] of IOStandard LVCMOS33; FIXED_IO_mio[14] of IOStandard LVCMOS33; FIXED_IO_mio[13] of IOStandard LVCMOS18; FIXED_IO_mio[12] of IOStandard LVCMOS18; FIXED_IO_mio[11] of IOStandard LVCMOS33; FIXED_IO_mio[10] of IOStandard LVCMOS33; FIXED_IO_mio[9] of IOStandard LVCMOS18; FIXED_IO_mio[8] of IOStandard LVCMOS18; FIXED_IO_mio[7] of IOStandard LVCMOS18; FIXED_IO_mio[6] of IOStandard LVCMOS18; FIXED_IO_mio[5] of IOStandard LVCMOS18; FIXED_IO_mio[4] of IOStandard LVCMOS18; FIXED_IO_mio[3] of IOStandard LVCMOS18; FIXED_IO_mio[2] of IOStandard LVCMOS18; FIXED_IO_mio[1] of IOStandard LVCMOS18; FIXED_IO_mio[0] of IOStandard LVCMOS18;
Related violations: <none>

I do not know how to get rid of these last warnings...
Is it possible to have some updated board definition files for Vivado 2014.4 ?

I find really dissapointing the incompatibilities between successive versions of Vivado. How can on maintain applications for years if the Tools are changing every 3-6 months ?

Regards,

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 11 years ago

    I was able to replicate your errors with the project file you posted on the Xilinx community forum with the MicroZed using Vivado 2014.4. However, when I target the Xilinx ZC702 board with a similar design I get the same errors, so it appears to be an issue with Vivado 2014.4 and not the MicroZed Board Definition files.

     

    We will check with Xilinx and see if there is some addition that needs to be made to the board definition files to accommodate Vivado 2014.4 but, since the Xilinx evaluation board fails in the same manner, that may not be the issue.

     

    -Gary

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

    Thank You Gary,

    I really appreciate your help. The information below might help (you or Xilinx) sort things out.

    I (re,re,re) started from a blank project, without using any board du00E9finitions file for the MicroZed.

    I declared the same Zynq part and memory part as found in Vivado 2014.2 Summary Report (Zynq processor block). I used the same parameters, etc.

    I did a minimalistic project (only the processor).

    First annomaly I see the UNUSED pins of the Bank0 as default(LVCMOS18). I declared the BANK0 as LVCMOS33. It is impossible to change this property to LVCMOS33.

    I tried to run a Hello World application (creating Platform, bsp, hello world application).
    It does not work.

    I can run step by step but I receive no "Hello World" message neither on Terra Term nor on the SDK console. I tried it multiple times.

    So the problem seems much more deep than the Microzed du00E9finitions.

    I will shortly post the archive in Xilinx community forums.

    Best Regards,
    Cristian

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • nitron
    0 nitron over 11 years ago in reply to nitron

    For those who might want to reproduce the problem  please find below the post that contained a simple project (MicroZed 7020).

    http://forums.xilinx.com/t5/Zynq-All-Programmable-SoC/Vivado-2014-4-Bug-when-starting-from-scratch/td-p/551083

    Regards,

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

    Well, I am un-certain to here this post that the bdf of microzed is not compatible with 2014.4.

    I just upgrade to 2014.4 webpack, I am watching this post before avnet/xilinx made any update to the bdf file.

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

    There is not a problem with the current (2014.2) MicroZed board definition files and Vivado 2014.4. We have confirmed with Xilinx that board definition files generated for Vivado 2014.2 should be compatible with Vivado 2014.4 as well.

     

    The problem Nitron had also manifested itself with a Xilinx ZC702 evaluation board in the same way. I believe it is related to the way Vivado 2014.4 handles some of the Zynq Bank 0 I/O. It looks like you must explicitly constraint some of the Bank 0 I/O (the Vp-Vn signals in Nitron's case) where you did not have to in Vivado 2014.2. If I add a constraints file with the following lines to the project Nitron posted on the Xilinx forums linked above it corrects the issue:

     

    # Set the bank voltage for bank 0.

    set_property IOSTANDARD LVCMOS33 [get_ports -filter { IOBANK == 0 } ]

    set_property PACKAGE_PIN K9 [get_ports {Vp_Vn_v_p}]

    set_property PACKAGE_PIN L10 [get_ports {Vp_Vn_v_n}]

     

    So, not an issue with the MicroZed board definition files. You should be able to use them with Vivado 2014.4

     

    Regards,

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • nitron
    0 nitron over 11 years ago

    Thank You so much for your support!

    I tried your suggestions in the following way:
       I created an additional constraints file (not the target one) in which I added the constraints you suggested.
       Basically I'm working with two file constraints, one (the target) is generated by Vivado and the other one by me.
        After setting the bank voltage for Bank 0 I got rid of the MIO warnings. YES!
        However when inspecting the I/O Planning I/O Ports tab I saw that all the MIO including the ones in bank 1 are forced an LVCMOS33. That's a little bit annoying since I defined these pins as LVCMOS18 in Vivado. Is this LVCMOS33 safe with Bank 1 and MicroZed?
        My additionnal constraints file looks like this:

    set_property CFGBVS VCCO [current_design]
    set_property CONFIG_VOLTAGE 3.3 [current_design]
    # Set the bank voltage for bank 0.
    set_property IOSTANDARD LVCMOS33 [get_ports -filter { IOBANK == 0 } ]

    The last two lines you sugested (VN/VP constraints) generate two critical warnings so I had to eliminate them. However I was able to make external Vp/Vn and Vivado generated the right pins allocation (generating automatically an Vcco=3.3V).

    The only warning that remains is :
    ADEF #1 Warning Cell MZ_HW_i/xadc_wiz_0/U0/AXI_XADC_CORE_I/XADC_INST has the SIM_DEVICE attribute set to ZYNQ, but the current architecture is ZYNQ. The SIM_DEVICE attribute must match the loaded architecture. To correct this issue set the SIM_DEVICE attribute for this cell to 7SERIES.

    I suppose it is safe to ignore this warning even if MicroZed isn't equipped with 7SERIES.

    Anyway it is very usefull to konw that you recommend using the Vivado 2014.2 definition for Vivado 2014.4

    Best Regards and Thank You,
    Cristian
     
      
    Best Regards,
    Cristian 

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

    Hello Cristian,

     

    LVCMOS33 is NOT safe with Bank 1 on the MicroZed. The Bank 1 I/O should not be set to 3.3V. I looked at the I/O report and I see the same thing you do, even though the MIO settings in the processing system in the block design clearly have them set to 1.8V. At this point I don't know if Vivado is setting it incorrectly or if the I/O report is wrong. Again I duplicated the behaviour with a ZC702 board desgin. I will submit a case to Xilinx to find out.

     

    The Zynq device is a 7SERIES device. I think these warnings are benign.

     

    I will post an update when I have a response.

     

    -Gary

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

    The Bank 1 (actually Bank 501) I/O error was caused by my incorrect constraint. As there is no Bank 0 (really bank 500) my incorrect constraint caused Vivado to set all of the I/O to LVCMOS33. If I correct my constraint file to be:

     

    set_property PACKAGE_PIN K9 [get_ports {Vp_Vn_v_p}]
    set_property PACKAGE_PIN L10 [get_ports {Vp_Vn_v_n}]

    set_property  IOSTANDARD LVCMOS33 [get_ports {Vp_Vn_v_p}]
    set_property IOSTANDARD LVCMOS33 [get_ports {Vp_Vn_v_n}]

     

    then I am able to generate a bitstream without errors and with the correct I/O standards. Sorry for the confusion.

     

    I am still working to find out why the original 'no constraints' version works in Vivado 2014.2 and fails in Vivado 2014.4

     

    -Gary

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

    Got an answer from Xilinx. The new errors in Vivado 2014.4 are caused by the tool inferring IO buffers on the Vp_Vn_v_n, Vp_Vn_v_p ports from the XADC. This will be resolved in a future release of Vivado by adding the pins to a list exempting them from iobuffer insertion.

     

    In the meantime the work around is to add I/O constraints, as discussed above, or possibly manually removing the inserted IO buffers.

     

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • nitron
    0 nitron over 11 years ago

    Gary,

    Thank you for the information.

    Concerning the constraints:

      set_property PACKAGE_PIN K9 [get_ports {Vp_Vn_v_p}]
    set_property PACKAGE_PIN L10 [get_ports {Vp_Vn_v_n}]
    set_property IOSTANDARD LVCMOS33 [get_ports {Vp_Vn_v_p}]
    set_property IOSTANDARD LVCMOS33 [get_ports {Vp_Vn_v_n}]

    Unfortunately I could not reproduce your results.

    At this stage I have to say that my application uses also 8 Aux XADC inputs in addition to Vp/Vn. Just using 8 XADC inputs for tempu00E9ratures measurement !
    Constraining these inputs is apparently not compatible with the constraints for Vp/Vn.
    I get 4 critical warnings saiyng:

    [Common 17-55] 'set_property' expects at least one object. [C:/ZynqProjects/2014_4/MZ_HW/MZ_HW.srcs/constrs_1/new/MZ_HW_App.xdc:3]
    Resolution: If [get_<value>] was used to populate the object, check to make sure this comm     and returns at least one valid object.

    The 4 critical warnings correspond to the 4 constraints lines above.

    So it's preferable to constraint the Vaux inputs (in I/O planning select Vauxn0 to B20) and to avoid constraining Vp/VN.

    Of course I couldn't get rid of the initial warning:

    #1 Warning An IO Bus FIXED_IO_mio[53:0] with more than one IO standard is found. Components associated with this bus are:  FIXED_IO_mio[53] of IOStandard LVCMOS18; .......

    I guess I'll have to live with this until a "future" version of Vivado.

    I am really sorry to see this since I acknowledge You made a lot of efforts to solve the issue.
      I'm just giving my input for you and other users that might have the same problem.

    Best Regards,
    Cristian

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
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