News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0729 Removing Pin from design crashes device tree creation

Started by chris_est, September 12, 2016, 09:40:11 AM

Previous topic - Next topic

chris_est

Hello,

adding an external pin in the Vivado Design based on the TE0729 Trenz Reference Project (Vivado 2016-02) and removing it in the next synthesis, then exporting it to hdf and trying to rebuild petalinux (with petalinux-config), it crashes when trying to create the device tree with the following error:


petalinux-config --get-hw-description=hw-description/
INFO: Checking component...                                                                                                                                                                                                   
INFO: Getting hardware description...                                                                                                                                                                                         
INFO: Rename zsys_wrapper.hdf to system.hdf                                                                                                                                                                                   
                                                                                                                                                                                                                             
****** hsi v2016.2 (64-bit)                                                                                                                                                                                                   
  **** SW Build 1577090 on Thu Jun  2 16:32:35 MDT 2016                                                                                                                                                                       
    ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved.                                                                                                                                                                 
                                                                                                                                                                                                                             
source /home/vm/workspace/kernel-module-cdma-test/build/linux/hw-description/hw-description.tcl -notrace                                                                                                                     
INFO: [Common 17-206] Exiting hsi at Fri Sep  9 11:51:02 2016...                                                                                                                                                             
INFO: Config linux
[INFO ] config linux
configuration written to /home/vm/workspace/kernel-module-cdma-test/subsystems/linux/config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO ] generate DTS to /home/vm/workspace/kernel-module-cdma-test/subsystems/linux/configs/device-tree
INFO: [Hsi 55-1698] elapsed time for repository loading 7 seconds
INFO: [Common 17-206] Exiting hsi at Fri Sep  9 11:51:26 2016...
ERROR: Failed to post config linux
ERROR: Failed to config subsystem linux.
ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.
ERROR: [Hsi 55-1545] Problem running tcl command ::sw_device_tree::generate : ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.

    while executing
"get_property IP_NAME $connected_intc"
    ("foreach" body line 6)
    invoked from within
"foreach pin ${intr_port_name} {
                set connected_intc [get_intr_cntrl_name $drv_handle $pin]
                if {[llength $connected_intc] == 0 } {
                        continue
                }
        ..."
    (procedure "gen_interrupt_property" line 18)
    invoked from within
"gen_interrupt_property $drv_handle"
    ("foreach" body line 7)
    invoked from within
"foreach drv_handle [get_drivers] {
        # generate the default properties
        gen_peripheral_nodes $drv_handle "create_node_only"
        gen_r..."
    (procedure "::sw_device_tree::generate" line 3)
    invoked from within
"::sw_device_tree::generate device_tree"
ERROR: [Hsi 55-1442] Error(s) while running TCL procedure generate()
make[1]: *** [autogen-dts] Error 1
make: *** [post-config-auto-dts] Error 255


The constraints file (.xdc) still holds a record of the removed pin, but the synthesis and bitstream creation succeeds.
Also removing the dead entry does not fix the device tree creation error mentioned above.

Is there a special way to remove previously used pins in a block design ?

Antti Lukats

i do not think it is related to top level pin, the error is something with interrup binding, make sure you have all inputs to the concat at interrupt input connected and the concat size is correct.

in any case the issue is not related to TE0729 or any our products, this is some "internal" Vivado thing :(
we are also struggling with small nasty things, like if you add more ports to ILA, then change their width and then reduce the port count, then Vivado will crash or not create bit file, your problem seems to be similar, but we do not know one single solution.

in generic, ALL works if you do all from scratch, when changings the stuff, then sometimes small issues happen.

The way Vviado makes DRC checks is different of what the HSI TCL does when generating the DT