Как изменить сгенерированный tcl-скрипт Vivado 2018.3 для контроля версий

Я пытаюсь изменить сценарий tcl, созданный Vivado 2018.3, для управления версиями. Как только я попытаюсь поместить все файлы VHDL в один каталог (и соответствующим образом изменить сценарий), сценарий не сможет найти все файлы при вызове source build.tcl

Я пытался следовать инструкциям по управлению версиями для старых версий Vivadoversion, подобных этой: https://github.com/tobiasrj20/Vivado-Version-Control-Example.

К сожалению, я не смог найти инструкции для Vivado 2018.3, поскольку сценарий примера выглядит иначе, чем то, что я получил от Vivado.

Структура папки Vivado Project.srcs выглядит следующим образом.

  • constr_1
    • imports
      • project_1 <—Here is the constraints file
  • sim_1

    • sources_1
      • bd
        • contains some stuff I don’t use
      • imports
        • Downloads <— contains a part of vhd files
        • new <— contains another part of vhd files
      • new <— contains other vhd files

Моя цель — переместить все файлы vhd в одну папку, например, под названием «src». И соответствующим образом изменить сценарий tcl.

Я изменил части в скрипте в соответствии с руководством, приведенным выше. И заменил все абсолютные пути на относительные пути. Например так:

Оригинальный сценарий

set files [list [file normalize «${origin_dir}/fpga_top_v2.srcs/sources_1/new/clk_gen_25M.vhd» ]

Изменено:

set files [list [file normalize «$ $origin_dir/src/clk_gen_25M.vhd» ]

Затем есть эта часть, где я не уверен, нужно ли мне ее менять.

# Set ‘sources_1’ fileset file properties for local files set file «new/clk_gen_25M.vhd» set file_obj [get_files -of_objects [get_filesets sources_1] [list «*$file»]] set_property -name «file_type» -value «VHDL» -objects $file_obj

Поскольку консоль tcl говорит следующее во время исходного процесса:

# set file «new/clk_gen_25M.vhd» WARNING: [Vivado 12-818] No files matched ‘*new/clk_gen_25M.vhd’ # set file_obj [get_files -of_objects [get_filesets sources_1] [list «*$file»]] # set_property -name «file_type» -value «VHDL» -objects $file_obj ERROR: [Common 17-55] ‘set_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.

Приносим извинения, если этот вопрос задавался раньше, но я не смог найти ответов на этот вопрос, особенно для версии Vivado 2018.3.

Источник: ledsshop.ru

Стиль жизни - Здоровье!