vadimuzzz 0 19 июля, 2006 Опубликовано 19 июля, 2006 · Жалоба "Warning: Resynthesizing Cyclone or Stratix WYSIWYG primitives into Cyclone II WYSIWYG primitives; however, resynthesized WYSIWYG primitives may not produce optimal compilation results." в хелпе говорится,что мол синтезируйте для циклон-2 прямо из вхдл и все будет. но у меня проект и так на вхдл,в квартусе назначил циклон-2,а warning не исчезает. причем появился он не сразу,а когда я начал с одним регистром мутить. Что на самом деле этот warning означает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба "Warning: Resynthesizing Cyclone or Stratix WYSIWYG primitives into Cyclone II WYSIWYG primitives; however, resynthesized WYSIWYG primitives may not produce optimal compilation results." в хелпе говорится,что мол синтезируйте для циклон-2 прямо из вхдл и все будет. но у меня проект и так на вхдл,в квартусе назначил циклон-2,а warning не исчезает. причем появился он не сразу,а когда я начал с одним регистром мутить. Что на самом деле этот warning означает? Уже давно привел бы код регистра, с которым "начал мутить" - тогда были исходные данные для ответа. А лучше, если возможно, приводить код на который ссылается "Ворнинг" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 21 июля, 2006 Опубликовано 21 июля, 2006 · Жалоба "Warning: Resynthesizing Cyclone or Stratix WYSIWYG primitives into Cyclone II WYSIWYG primitives; however, resynthesized WYSIWYG primitives may not produce optimal compilation results."... ...Что на самом деле этот warning означает? WYSIWYG (What You See Is What You Get) primitives - примитивы, жестко завязанные на конкретный чип. Смысл предупреждения заключается в том, что в проекте были использованы подобные примитивы семейств Cyclone или Stratix, а затем DEVICE был заменен на Cyclone II. Ясен красен, что синтезатор в этом случае не гарантирует оптимального использования ресурсов. в квартусе назначил циклон-2IMHO, логичней было бы поставить именно Cyclone или Stratix и проверить наличие Warning'а. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 22 июля, 2006 Опубликовано 22 июля, 2006 · Жалоба про WYSIWYG - это я понял,я не понял где он у меня в проекте ЭТО нашел.Вот код WORK:process(RESET , CLK_IN) begin if RESET = '0' then for i in 0 to 64 loop Accum(i) <= CONV_SIGNED(0 , 24); end loop; DATA_OUT <= "000000000000000000000000"; elsif CLK_IN = '1' and CLK_IN'event then for i in 0 to 21 loop Accum(i) <= signed(DATA_IN)*h(i); end loop; for i in 0 to 20 loop Accum(i + 23) <= Accum(i + 1) + Accum(i + 22); Accum(64 - i) <= Accum(i + 1) + Accum(63 - i); end loop; Accum(22) <= Accum(0); DATA_OUT <= Accum(0) + Accum(64); end if; end process WORK; Warning исчезает,если закомментировать любое из сложений в loop'е.Например for i in 0 to 20 loop Accum(i + 23) <= Accum(i + 1) ;--+ Accum(i + 22); Accum(64 - i) <= Accum(i + 1) + Accum(63 - i); end loop; или for i in 0 to 20 loop Accum(i + 23) <= Accum(i + 1) + Accum(i + 22); Accum(64 - i) <= Accum(i + 1) ;--+ Accum(63 - i); end loop; причем если потыкать в Warning,то он не перекинет на то место в коде,где косяк,как обычно бывает. А появился он когда я начал с индексацией мудрить.Пробовал назначить стратикс-пропадает. Поясните,где тут этот примитив? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 24 июля, 2006 Опубликовано 24 июля, 2006 · Жалоба причем если потыкать в Warning,то он не перекинет на то место в коде,где косяк,как обычно бывает. А появился он когда я начал с индексацией мудрить.Пробовал назначить стратикс-пропадает. Поясните,где тут этот примитив? По всей видимости "косяк" кроется в операции умножения. Дело в том, что в FPGA Cyclone II реализованы hard-core умножители. Предупреждение как раз и связано с тем, что fitter реализовал умножение вашего алгоритма на этих блоках, а не на логических ячейках (как это он делает, например, в Cyclone или Stratix). С индикацией warning никак не связан, и НЕ пропадает при комментировании, указанных Вами участков кода. А вот при смене семейства на Cyclone или Stratix по вполне понятным причинам пропадает. P.S.: В дальнейшем просьба в сообщении писать код только в соответствующих тэгах. Так он становится более наглядным. И по возможности приводите функционально законченный код. Это реально сэкономило бы время правки (определение типов данных для Accum и h, попытка вспомнить в какой библиотеке функция умножения кроется и т.д.). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 24 июля, 2006 Опубликовано 24 июля, 2006 · Жалоба P.S.: В дальнейшем просьба в сообщении писать код только в соответствующих тэгах. Так он становится более наглядным. И по возможности приводите функционально законченный код. Это реально сэкономило бы время правки (определение типов данных для Accum и h, попытка вспомнить в какой библиотеке функция умножения кроется и т.д.). да теги были,но почему-то пропали когда я их сюда скопировал..насчет умножителей-сильно сомневаюсь,квартус честно говорит,что засунул их в аппаратные умножители.у меня warning пропадает как раз при комментировании указанных выше участков кода.и если уж на то пошло,то ГДЕ тут примитив?куда синтезатор засунет умножители(в ячейки или еще куда)-это его частное дело. тут ведь нигде не сказано "используй аппаратные".если б я мегафункцию явно вызывал-другое дело. насчет типов: type CoeffArray is array (0 to 21) of signed(11 downto 0); type AccumArray is array (0 to 64) of signed(23 downto 0); signal h : CoeffArray; signal Accum : AccumArray; файл с текстом прилагается.использую Q6.0 без SP. FIR_FILTER_WPC.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться