-
Постов
759 -
Зарегистрирован
-
Посещение
-
Если Zynq или другая SOC - проще всего собрать линукс с поддержкой USB - будет обычная флэшка как в компьютере. Пиши-читай-форматируй, чего хочешь. Если обычная FPGA - то же самое, но нужно самому изыскать контроллер USB, вкатать софт-процессор, потом на него ту же ОС.
-
Видимо стоит расшифровать фразу "Пока получилось только один пин привязать". А остальные - не получилось?
-
Инициализация вектора
alexadmin ответил jenya7 тема в Языки проектирования на ПЛИС (FPGA)
19 downto 0 => (others => '1'), others '0' -
10 минут из 600, 60 или 12?
-
Пользуюсь Vwmare 16: Win7/Win10 Host, Ubuntu 20 Guest. Vivado/SDK/Vitis с программатором работают.
-
Сейчас вам Zynq присоветуют. Благо там уже ARM есть и от Z80 можно будет избавиться 😆
-
Спасибо! Получилось. Версия 2019.1 в процессе синтеза выдает "Could not create 'LOC' constraint because the specified site '1'b0' could not be found in current part". А на версии 2020.2 собралось нормально. Так-то да, но в данном случае расстановка локов - и есть основная задача всего этого кода.
-
Я пока наколдовал конструкцию function [1:8*2] str_itoa(integer n); begin $sformat(str_itoa, "%d", n); end endfunction localparam s={"SLICE_X",str_itoa(X)}; // "SLICE_X"+str.itoa(X); (* LOC=s *) FDCE i ( ... но на нее выдается предупреждение Could not create 'LOC' constraint because the specified site '72'b01010011010011000100100101000011010001010101111101011000xxxxxxxxxxxxxxxx' could not be found in current part Похоже и вызов функции не отрабатывается и что-то идет не так при назначении подобной строки в аттрибут.
-
SV: динамическое вычисление аттрибутов
alexadmin опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Коллеги, имеется VHDL-код в котором значения аттрибутов синтеза вычисляются через входные параметры, примерно так: Generic ( X : natural; Y : natural) ... function FFBEL(n: natural) return string is ... attribute LOC of FFi:label is "SLICE_X" & integer'image(X)& "Y" & integer'image(Y); attribute BEL of FFi:label is FFBEL(2*i); ... FFi : FDCE ( ... Есть ли возможность написать эквивалентный код на (System)Verilog? Попытка написать что-то типа string s="SLICE_X13Y13"; //(* LOC="SLICE_X13Y13" *) FDCE FFi ( (* LOC=s *) FDCE FFi ( ... сразу дает ошибку "ERROR: [Synth 8-1002] s is not a constant", про попытки преобразования чисел в строку я уж и не говорю. Что в общем логично, если верить стандарту 1800, который определяет аттрибуты как константы: attribute_instance ::= (* attr_spec { , attr_spec } *) attr_spec ::= attr_name [ = constant_expression ] Может можно придумать какой-то обходной путь? Vivado, если что. Переписывать на tcl не предлагать. -
PCIe - начало...
alexadmin ответил dde29 тема в Работаем с ПЛИС, области применения, выбор
Линк запустился не на полной скорости (или это я с эзернетом путаю?) -
PCIe - начало...
alexadmin ответил dde29 тема в Работаем с ПЛИС, области применения, выбор
Если не хочется ломать голову - возьмите ядро AXI Bridge for PCI Express. В нем можно просто писать по адресам, а не вручную формировать очереди запросов. -
Я совсем не в теме, но говин были же китайцами вроде. И уже все?
-
Это артефакты какой-то древней архитектуры. Потом Xilinx переметнулся на правильную стороны, но осадочек остался. У них и биты в модуле PIO, что ли, были когда-то перевернуты ;)
-
Инкрементальная сборка не включена?
-
Спасибо, в общем я все правильно придумал. Просто ввело в некоторое недоумение что у зайлинкса в их примере про фифо ничего нет... PS Буфер непосредственно внутри ядра есть на приемной стороне, он и выравнивает скорости. Если буфер не использовать, то они предлагают тактировать интерфейс данных восстановленным клоком.