Мур 1 16 февраля Опубликовано 16 февраля · Жалоба 9 hours ago, Alex77 said: 1) мне не интересно. Хорошо, что это читают другие! Но все равно вам спасибо, вы натолкнули на место выбора рассматриваемой псевдо-проблемы, которую вы не просекли... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 17 февраля Опубликовано 17 февраля · Жалоба Есть важный вопрос об общем ФЛОУ.. Это касается поэтапной сборки всего дизайна, когда есть отлаженные заготовки, но их надо вплести в архитектуру PS. Конкретно, в варианте многих BRAM и GPIO, куда надо подключить логику, взаимодействующую через регистры и ячейки памяти. Речь о промежуточном случае, когда я разрываю шины адреса, данных,стробов управления от BRAM(а их много!) и вешаю пины, которые не подключены вовне. Получается я перейти к Витис уже не могу ввиду отсутствия файла битстрима\конфигурации! И пока я не подключу ВСЕ оборванные сигналы я не могу иметь промежуточную отладку в Витис! Что вы посоветуете стратегически? Какой пример можно глянуть, чтобы соотнести свои задачи с принятыми стратегиями подобного построения? Вообще тема много-уровневой иерархии мне весьма интересна. Даже в диаграммном отображении! Как сделать красиво и без костылей? И на что обращать внимание для полноценного обновления исходников при добавлении или модификации HDL или Diagrams? (Я понял, что там живет какое-то залочивание, которое не так просто снять). В общем обидно тормозит рост. Благодарен буду любой информации на эту тему! Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 17 февраля Опубликовано 17 февраля · Жалоба ОФФТОП: Если вы разломали движок под капотом у ламборджине и вам хочется ехать - то есть два варианта: - починить тачку - оседлать ишака. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 18 февраля Опубликовано 18 февраля · Жалоба Открыт доступ к https://docs.xilinx.com/r/en-US/ug893-vivado-ide/References Понравилось https://mpsu.github.io/APS/Vivado%20Basics/How%20to%20use%20Source%20Window.html Нюансы стоит учитывать сразу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 9 марта Опубликовано 9 марта · Жалоба Подборка от Гарсия Хавьера https://ohwr.org/project/soc-course/wikis/home Многим будет кстати! ..важный сейчас для меня вопрос, связанный с пуском дизайна PS+PL, где мне необходимо глянуть через ILA сигналы обращения к одному регистру моего IP , чтобы убедится, что примитивная логика работает. Как оказалось, вижу косвенно, что PL работает, а вот от PS тишина (хотя программно я через паузу делаю только запись по этому фиксированному адресу регистра)! Мне не понятно, как убедиться в факте выполнения этой программы на А9? Можно ли записать эту программу через JTAG как на PL ? FSBL я понял, через uCD грузится... Но мне важно видеть временную от ILA, а это на ВИВАДе! Что я тут намудрил ? Дважды грузить (чтобы видеть анализатор) наверное не верно... Спасибо за вектор верного движения и намек на мой косяк!.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 13 марта Опубликовано 13 марта · Жалоба Мои находки при освоении VIVADO Серьёзные проблемы заключительного этапа сборки и отладки.docx Пришла интересная мысль,- уж коль мне привычнее работать в логике,- сделать проект под МикроБлейз и заливать один раз PL без этих финтов и полноценным просмотром на ILA... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 13 марта Опубликовано 13 марта · Жалоба "Не верьте ему... нет волков тут..." 1) не полное (не понятное объяснение проблемных ситуаций) 2) видна борьба с последствиями а не с причиной... 3) неверные выводы о клёвости альтеры в отличие от ксайлинкса Другими словами: если делать "своим способом" а не тем что рекомендуется производителем - будут проблемы. ПС: из всего этого "реально было" то что комплект исходников на СИ (аля драйвер пользовательской корки) не полноценно формировался. но и это обходится (лечится) один раз и навсегда для конкретной корки. года три назад развлекался - подробности подзабыты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 15 марта Опубликовано 15 марта · Жалоба On 3/13/2024 at 1:30 PM, Alex77 said: "Не верьте ему... нет волков тут..." Обращает внимание на нелепость подхода в системе VIVADO , которую я уже на автомате обходил применением дополнительного редактора, чтобы править VHDL код, который прячут пометкой Read-only ,а править необходимо, глядя на итоговые тексты, где теряются мои целые шины и сигналы за порождаемыми оболочками. Уже не обращал внимание на эту особенность! Стоп, думаю, а ведь это фигня! Спасти дизайн руками - последний ход дизайнера! Уже сколько раз так спасался... ...Помнится лет 20 назад возмущались, что теперь ограничивают доступ к привычному редактированию в самом низу сборок. ...И в пределе получили вот такое уродство -уже на уровне исходных кодов запрет... Идиотизм! Верно говорил мой приятель, что 21 век - век ХАЛТУРЫ! ЗЫ. Навигация по тексту с маркерами отсутствует. Только поиск с маркировкой без возможности запомнить важные места ущербно! Вертикальные редакции с ALT сразу по нескольким строкам сразу раздражает... Вот почему спасаюсь в других редакторах! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 15 марта Опубликовано 15 марта · Жалоба за 15 лет ни разу не потребовалось "чтобы править VHDL код, который прячут пометкой Read-only ". ЧЯДНТ ? Может в консерватории проблема ? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 15 марта Опубликовано 15 марта · Жалоба 1 minute ago, Alex77 said: за 15 лет ни разу не потребовалось "чтобы править VHDL код, который прячут пометкой Read-only ". ЧЯДНТ ? Может в консерватории проблема ? Я не идеал... Это мой первый опыт общения с подобными SOC системами, если не считать мое 3-х летнее творчество в ISE. Там дружественная среда и дискомфорта не испытывал! Может немного атрибутами более насыщено... Не исключаю и надеюсь, что качественный скачок впереди. И я по достоинству оценю сей инструментарий! Но пока что напрягает... Кстати, в серьезных НИИ времен СССР искали подобных зануд, которые умудрялись находить изъяны в уже отработанном, казалось, материале для рядового состава в войсках! В итоге выявлялись тупиковые сценарии поведения операторов и документация качественно обогащалась. Благодарность шла от обычных работников войны и спасла не одну жизнь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 18 апреля Опубликовано 18 апреля · Жалоба Ух, достала же не возможность быстрого поиска в VIVADO нужных сигналов как в симуляторе, так и в схеме!... Чисто глазами и никак иначе! Другое дело для КВА. Нажимаешь первую букву имени и система поочереди подсвечивает все имена с первой выбранной нами буквой. Уверен, что не пропустишь! Экономит время и силы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 21 апреля Опубликовано 21 апреля · Жалоба Возник вопрос из-за сложностей с атрибутами иерархии keep_hierarchical для примитивов. ..Когда они единичны все норм. А вот параметрическая генерация экземпляров показывет синтаксическую ошибку в индексах. Как это сделать правильно, кто подскажет? Прицепил сам первоначальный исходник для оценки... (там ошибка в очередности имен ADC_RAMs[]. ADC_RAMN[]. ) ......в разделе деклараций пытаюсь описать имена, как рекомендовано в UG625 attribute keep_hierarchy of architecture_name : architecture is {TRUE|FALSE|SOFT}; Пытался по-всякому component RAM64X1D_1 -- примитив generic ( INIT : bit_vector(63 downto 0) := X"0000000000000000"; IS_WCLK_INVERTED : bit := '0' ); port ( DPO : out std_ulogic; SPO : out std_ulogic; A0 : in std_ulogic; A1 : in std_ulogic; A2 : in std_ulogic; A3 : in std_ulogic; A4 : in std_ulogic; A5 : in std_ulogic; D : in std_ulogic; DPRA0 : in std_ulogic; DPRA1 : in std_ulogic; DPRA2 : in std_ulogic; DPRA3 : in std_ulogic; DPRA4 : in std_ulogic; DPRA5 : in std_ulogic; WCLK : in std_ulogic; WE : in std_ulogic ); end component; attribute BOX_TYPE of RAM64X1D_1 : component is "PRIMITIVE"; attribute keep_hierarchy : string; attribute keep_hierarchy of ADC_RAMs[0].ADC_RAMN[ 0].Dual_RAMr: architecture is "TRUE"; attribute keep_hierarchy of ADC_RAMs[0].ADC_RAMN[ 1].Dual_RAMr: architecture is "TRUE"; attribute keep_hierarchy of ADC_RAMs[0].ADC_RAMN[ 2].Dual_RAMr: architecture is "TRUE"; и т.д. .................................... attribute keep_hierarchy of ADC_RAMs[0].ADC_RAMN[31].Dual_RAMr: architecture is "TRUE"; и т.д....................... attribute keep_hierarchy of ADC_RAMs[1].ADC_RAMN[ 0].Dual_RAMr: architecture is "TRUE"; и т.д.................. .....в разделе коммуникаций порождались экземпляры вот таким макаром.. begin ----- ADC_RAMs : for k in 3 downto 0 generate --ADC ADC_RAMN : for n in 31 downto 0 generate Dual_RAMr : RAM64X1D_1 --Здесь хранятся результаты АЦП преобразования port map ( DPO => DRAMs_ADC_B(k)(n), -- Read-only 1-bit data output SPO => open, -- R/W 1-bit data output A0 => addr_radc(0), -- R/W address[0] input bit A1 => addr_radc(1), -- R/W address[1] input bit A2 => addr_radc(2), -- R/W address[2] input bit A3 => addr_radc(3), -- R/W address[3] input bit A4 => addr_radc(4), -- R/W address[4] input bit A5 => addr_radc(5), -- R/W address[5] input bit D => DRAM_ADC_B(k)(n), -- Write 1-bit data input DPRA0 => ADCdatRAM(0), -- Read-only address[0] input bit DPRA1 => ADCdatRAM(1), -- Read-only address[1] input bit DPRA2 => ADCdatRAM(2), -- Read-only address[2] input bit DPRA3 => ADCdatRAM(3), -- Read-only address[3] input bit DPRA4 => ADCdatRAM(4), -- Read-only address[4] input bit DPRA5 => ADCdatRAM(5), -- Read-only address[5] input bit WCLK => sys_clk200MHz, -- Write clock input WE => wr_mem_s -- Write enable input ); end generate ADC_RAMN; end generate ADC_RAMs; Это мне важно для мягкой отладки. Спасибо! Вопрос.vhd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kskssk 1 21 апреля Опубликовано 21 апреля · Жалоба 3 hours ago, Мур said: Возник вопрос из-за сложностей с атрибутами иерархии keep_hierarchical для примитивов. .. Этот атрибут запрещает синтезатору проводить оптимизацию на границах между компонентами. Насколько я понял, вы его хотите применить к набору примитивов. Но их потроха не могут быть оптимизированы, т.к. они - примитивы. В итоге не ясно чего вы хотите добиться использованием атрибута. Поясните. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 22 апреля Опубликовано 22 апреля · Жалоба 7 hours ago, kskssk said: Этот атрибут запрещает синтезатору проводить оптимизацию на границах между компонентами. Насколько я понял, вы его хотите применить к набору примитивов. Но их потроха не могут быть оптимизированы, т.к. они - примитивы. В итоге не ясно чего вы хотите добиться использованием атрибута. Поясните. Тут все просто. Мне надо оставить память (в симуляции она работает), чтобы в отладке иметь доступ к выходу памяти при помощи ILA . К тому же сам автомат, который читает был из-за этого удален. Я его сумел оставить, но его шина адреса к памяти не доходит (ее нет после имплементации).. Меня задевает другое. Имена памяти как указать? Не нашел такой сложный случай в интернете... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 32 22 апреля Опубликовано 22 апреля · Жалоба On 4/22/2024 at 6:29 AM, Мур said: Мне надо оставить память (в симуляции она работает), чтобы в отладке иметь доступ к выходу памяти при помощи ILA . MARK_DEBUG: UG901, page 58. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться