You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you implement a design for a Zynq device in Vivado (link_design, synth, place, etc.) and then immediately call tincr::write_rscp, an invalid rscp is created.
Specifically, an invalid placement.xdc is created because tincr::parts::is_series7 returns 0 when it should return 1. This happens because get_design returns multiple designs instead of 1 and so then get_parts returns the same part multiple times. Then, the family variable actually becomes a list with multiple "zynq" entries. This unexpected output causes tincr::parts::is_series7 to return 0 instead of 1. The placement.xdc relies on knowing whether or not the design is for a Series 7 device or not.
This problem doesn't occur if you first save a DCP, open it, and then call tincr::write_rscp (only one design is returned by get_design if you use the saved DCP).
This can easily be fixed, probably by just checking if any of the detected families are zynq. But I have also noticed some other strange behaviors that occur if you do not first save and open a DCP. For example, trying to write a bitstream will result in Vivado telling you that the design hasn't been implemented yet. But once you save and open a DCP, it works fine.
If I recall correctly, these issues might not exist in newer versions of Vivado (newer than 2016.2).
The text was updated successfully, but these errors were encountered:
If you implement a design for a Zynq device in Vivado (link_design, synth, place, etc.) and then immediately call
tincr::write_rscp
, an invalid rscp is created.Specifically, an invalid placement.xdc is created because
tincr::parts::is_series7
returns 0 when it should return 1. This happens because get_design returns multiple designs instead of 1 and so then get_parts returns the same part multiple times. Then, the family variable actually becomes a list with multiple "zynq" entries. This unexpected output causestincr::parts::is_series7
to return 0 instead of 1. The placement.xdc relies on knowing whether or not the design is for a Series 7 device or not.This problem doesn't occur if you first save a DCP, open it, and then call
tincr::write_rscp
(only one design is returned by get_design if you use the saved DCP).This can easily be fixed, probably by just checking if any of the detected families are zynq. But I have also noticed some other strange behaviors that occur if you do not first save and open a DCP. For example, trying to write a bitstream will result in Vivado telling you that the design hasn't been implemented yet. But once you save and open a DCP, it works fine.
If I recall correctly, these issues might not exist in newer versions of Vivado (newer than 2016.2).
The text was updated successfully, but these errors were encountered: