Vadim_nsk 0 24 августа, 2022 Опубликовано 24 августа, 2022 (изменено) · Жалоба Добавил файл с таким содержанием: library ieee; use ieee.std_logic_1164.all; library unisim; use unisim.vcomponents.all; library work; use work.mb_design_wrapper; entity MB_design_TB is end MB_design_TB; architecture TB_behav_arch of mb_design_wrapper is component mb_design_wrapper is port(clk_100MHz : in std_logic ); end component mb_design_wrapper; signal clk_100MHz : std_logic := '0'; begin mb_design_wrp_i : mb_design_wrapper port map(clk_100MHz => clk_100MHz); clk_100MHz <= not clk_100MHz after 5 ns; end TB_behav_arch; Пока файл был пустым, он был в списке. А сейчас исчез. При повторном добавлении пишет, что файл с таким именем уже есть. Добавлял как файл симуляции. Если добавляю новый пустой файл (test.vhd), он снова появляется в списке файлов. внизу сообщение, что файл уже есть, пропущено добавление... Кто как тестбенч создает в этой дружелюбной среде? Этот товарищ игнорировал мои старания по описанию генерирования клока и снова запустил свое нечто: Изменено 24 августа, 2022 пользователем Vadim_nsk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 25 августа, 2022 Опубликовано 25 августа, 2022 · Жалоба какая-то шаткая конструкция. Добавил GPIO, все сломалось. Удалил его, добавил AXI_timer, но ничего не починилось, хотя внешний сигнал снова один - входной клок, описанный так: set_property PACKAGE_PIN U14 [get_ports clk_100MHz] set_property DIRECTION IN [get_ports clk_100MHz] set_property IOSTANDARD LVCMOS18 [get_ports clk_100MHz] Ведь даже симуляция уже работала, хоть и криво. Очистил выход, снова все пересобрал, результат тот же, ошибка: "[DRC UCIO-1] Unconstrained Logical Port: 1 out of 1 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined. To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1]. NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk_100MHz." Но как же он не описан, когда выше его описание в файле pinout.xdc Может как и в ISE его надо описывать через параметр LOC? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 25 августа, 2022 Опубликовано 25 августа, 2022 · Жалоба Блиин. Не был прописан адрес добавленного таймера и был указан параметр: DIRECTION Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 25 августа, 2022 Опубликовано 25 августа, 2022 · Жалоба Симуляция также работает. Но, к сожалению, не из моего testbench, а фиг знает откуда. Вспомнился старый квартус и Макс плюс. Тут также, я вначале задаю правила генерирования клока вручную. Боюсь даже представить, что было бы, если наружу торчала бы AXI. И так при каждом запуске симуляции. Мой testbench он "видит", при смене библиотеки, он в нем даже правит ее название при подключении, но клок оттуда не генерирует :-( и в списке файлов его не показывает. А я еще недавно на GOWIN IDE бочку гнал, приводя VIVADO в пример, как человекоориентированную среду. А кто-нибудь знает сколько требуется времени Microblaze до вхождения в main() ? Ну, я понимаю, что это от частоты зависит. Сколько симулировать? Я для этого GPIO туда вставил, но что-то пошло не так... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 29 августа, 2022 Опубликовано 29 августа, 2022 (изменено) · Жалоба Живое общение творит чудеса. Во-первых, ELF у меня не попадал в симуляцию, т.к. я его просто добавлял в проект, а надо указать в: на фоне видна времянка работы AXI-шины, т.е. работает пример тестирования периферии. Ну и вишенка на торте. copy-past в действии, в приведенном ранее тестбенче глупейшая ошибка, не заменено имя компонента, для которого описывается архитектура тестбенча. И вот вроде бы куча примеров создания проекта, но то ли часть скринов отсутствует ввиду их очевидности, то ли так разнятся версии VIVADO, но делал все по этим примерам, а результат получал отличный от приводимого... Изменено 29 августа, 2022 пользователем Vadim_nsk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 30 августа, 2022 Опубликовано 30 августа, 2022 · Жалоба Снова проблема... Сгенерировал свой ip, все оставил по умолчанию, даже название "myip". Генерируется битстрим, делается экспорт платформы. Но Vitis IDE в упор не видит xparameters.h. Я полагаю, что именно из-за myip, т.к. когда я его удаляю из BD, то все собирается, генерируется на выходе ELF. При этом, он не ругается на содержимое заголовочного файла, а пишет, что не может его найти, хотя он находится в BSP (не знаю как это в новых терминах называется). Захожу в testperiph.c, жму на #include "xparameters.h" и среда в него заходит, т.е. он есть и она его "видит", но: Чтобы зря не тратить ваше время на гадания, сразу приложу архив проекта. Может глянете, у кого есть время? https://drive.google.com/file/d/1o4zL8GqBPubgvcgljmpcYFZbnmoiGITc/view?usp=sharing Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 31 августа, 2022 Опубликовано 31 августа, 2022 (изменено) · Жалоба Вот тут нашел ответ на свой вопрос, если кому интересно: https://support.xilinx.com/s/question/0D52E00006jpcvVSAQ/fatal-error-xparametersh-no-such-file-or-directoryxilinx-platform-definition-filexpfm-is-removed-after-building-the-project?language=en_US Зашел в Makefile сгенерированного компонента и внес указанные правки. Было так: COMPILER= ARCHIVER= CP=cp COMPILER_FLAGS= EXTRA_COMPILER_FLAGS= LIB=libxil.a RELEASEDIR=../../../lib INCLUDEDIR=../../../include INCLUDES=-I./. -I${INCLUDEDIR} INCLUDEFILES=*.h LIBSOURCES=*.c OUTS = *.o libs: echo "Compiling myip..." $(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES) $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OUTS} make clean include: ${CP} $(INCLUDEFILES) $(INCLUDEDIR) clean: rm -rf ${OUTS} Стало так: COMPILER= ARCHIVER= CP=cp COMPILER_FLAGS= EXTRA_COMPILER_FLAGS= LIB=libxil.a RELEASEDIR=../../../lib INCLUDEDIR=../../../include INCLUDES=-I./. -I${INCLUDEDIR} INCLUDEFILES=*.h LIBSOURCES=$(wildcard *.c) OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c))) ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S))) libs: echo "Compiling simple_adder..." $(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES) $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OBJECTS} ${ASSEMBLY_OBJECTS} make clean include: ${CP} $(INCLUDEFILES) $(INCLUDEDIR) clean: rm -rf ${OBJECTS} ${ASSEMBLY_OBJECTS} Файл лежит в: ...\ip_repo\myip_1.0\drivers\myip_v1_0\src\Makefile Изменено 31 августа, 2022 пользователем Vadim_nsk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 31 августа, 2022 Опубликовано 31 августа, 2022 · Жалоба Зачем makefile править, просто в опциях компилятора укажите нужные директории для .h файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться