Перейти к содержанию
    

Приветствую!

8 hours ago, Sidoroff said:

Если точнее сформулировать, хотелось бы чтобы он их удалял сразу по завершении компияции.

А тайминг анализ вы как будете делать?  А смотреть RTL/MAP/FIT/ChipScope диаграммы? Каждый раз по новой все компилировать будете?  :cray:  

 

21 hours ago, Sidoroff said:

...

На скорость сборки их наличие все равно никак не влияет, только место занимают.

Можно еще удалить все из корня C:, там дофига "ненужных" папок :wink2: :biggrin:  

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. С Альтерой у меня опыта нет, поэтому вопрос возможно простой. Плисина Ария 5. Не получается синтезатору запихать выходной регистр внутрь DSP-блока.

Вот так это описано:

	process(clk)
	begin
		if rising_edge(clk) then
			dta_c3_re_r <= coef3_reg_re_pp * deg2_mult_r_reg_pp;
		end if;
	end process;

Предполагается, что регистр dta_c3_re_r будет внутри DSP-блока. Но он снаружи. Я даже атрибут нашёл вот тут и приделал его к описанию регистра:

    signal dta_c3_re_r : signed(2*wide_data_g-pre_dsp_cut_c+16 downto 0) := (others => '0');
    attribute multstyle : string;
    attribute multstyle of dta_c3_re_r : signal is "dsp";

Но это не помогает.

Выглядит это вот так на technology map:

Скрытый текст

Screenshot_7.png.4f9a59c4e5461ccff7e4bbeb289c7b12.png

И вот так на resource property editor:

Скрытый текст

Screenshot_8.thumb.png.25bf5e3ae64e4f7bf0853d02da376551.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, Krys said:

. Я даже атрибут нашёл вот тут и приделал его к описанию регистра

у вас мануал от Quartus II, но насколько помню под пятерку можно уже и Prime, если вдруг вы его поставили, то по мануалу там чуть другой параметр.

https://www.intel.com/content/www/us/en/docs/programmable/683122/18-1/signal-level-attribute.html#mwh1409960001532__example_B8DC8B3F5A6F472AB2C34C90FC07D0C1

 

Если сайт не открывается, то прикладываю скрин

image.thumb.png.8c5ad9e1644586eeae6f31e550f9bf28.png

 

image.thumb.png.37a51f1a4860f5f8ca5553a079e8925b.png

 

от себя еще добавлю, что на Verilog я делал, нормально назначало. Даже сам назначал на какой dsp вести сигналы

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, new123 сказал:

у вас мануал от Quartus II, но насколько помню под пятерку можно уже и Prime, если вдруг вы его поставили, то по мануалу там чуть другой параметр.

Да, Прайм, спасибо за уточнение и помощь с параметром! Я думал всё одинаково с квартусом 2, это от недостатка опыта.

37 минут назад, new123 сказал:

Если сайт не открывается

И ведь точно, не открылось, написало про  санкции, спасибо, что предусмотрительно скинули скрины!

Меня смущает вот это:

Screenshot_20220524-223247_Opera.thumb.jpg.4f7ed437c1e67ee074e7ec6cb50a29ff.jpg

Т.е. применяется к цепям, но не к регистрам. А мне то надо заставить регистр упихаться в DSP блок.

Я тут подумал... Не может ли виной быть, что задействована межкаскажная шина? Хотя по идее должно и с ней регистр ставить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

завтра с утра еще раз мануал перекурю. У меня как то прям без проблем в dsp формула залезала. Вот только не помню, юзал ли я еще dsp ip core или нет. И есть ли она для пятерки или только для десятки.

Вы только имейте ввиду, что dsp расположены же в определенных местах, это надо цепи туда довести, потом от туда забрать. Это хорошо, если чип пустой и можно пихать логику куда хочешь, а если подзабит, то можно и по времянке не пролезть, возможнои  придется ручным размещением заниматься. Быть может это умножение и на logic сделать.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, new123 сказал:

На работе ваша ссылка открыталсь (до этого смотрел из дома, а на работе хитрый прокси есть для обхода). Я посмотрел оглавление документа и понял, что это всё про синплифай синопсис. Или для квартус прайм тоже годится?

Скрытый текст

Screenshot_9.thumb.png.8b62e668c3658dcc12f517baca9122c8.png

 

7 часов назад, new123 сказал:

Вы только имейте ввиду, что dsp расположены же в определенных местах, это надо цепи туда довести, потом от туда забрать. Это хорошо, если чип пустой и можно пихать логику куда хочешь, а если подзабит, то можно и по времянке не пролезть

У меня с чего всё началось: после компиляции прошивки моего чудо-девайса вылезли слаки. Я начал разбираться, понял, что регистр, который подразумевался внутри DSP-блока, был размещён снаружи по непонятной мне причине. Вот это и есть причина слака. Вот если регистр всё же заставить упихаться, тогда и посмотрим, "в определённых местах" или не в определённых местах. А пока до этого ещё не дошли, это так сказать величина второго порядка малости )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, Krys сказал:

Я тут подумал... Не может ли виной быть, что задействована межкаскажная шина?

И всё же меня смущает, зачем задействована межкаскадная шина. Вот она на resource property editor (есть и в первом посте, но ниже более подробно):

Скрытый текст

Screenshot_10.thumb.png.5dc47ce4d6e87910fa2b5d4e98c68354.pngScreenshot_11.png.d55d2c243f354aa7f2cd206d7820d04e.png

В первом посте есть картинка из Technology map viewer, привожу её ещё раз, чтобы туда не прокручивать:

Скрытый текст

Screenshot_7.png.4f9a59c4e5461ccff7e4bbeb289c7b12.png

И на этой картинке видно, что операнды 25 и 16 бит, а результат 22 бита (лишние биты не используются, отрезаны). Для таких разрядностей всё должно влезать в один DSP-блок, без каскадирования. И главное на этой же картинке не показано наличие этой межкаскадной шины. И я даже не понимаю, где и как глянуть, куда всё же она потом идёт с выхода DSP-блока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, Krys said:

Плисина Ария 5. Не получается синтезатору запихать выходной регистр внутрь DSP-блока.

Была похожая тема:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, blackfin сказал:

Была похожая тема:

Огромное спасибо, действительно, проблема один в один, сейчас буду читать, что там вышло в итоге. Понравились высказывания, ржал ))

Цитата

Оказалось  что корка LPM_MULT   в Qu это не корка а так  - чистый  надувательство

Цитата

а я то наивный, Xilinx разбалованный, думал что там уже если не нетлист то хотя-бы жестко на примитивах собрано)

Цитата

лепит умножитель на чистой комбинаторике из DSP, а сзади цепляет к нему регистры (и даже пытается оптимизировать их в shift-ram, ха-ха-ха)

Цитата

Ну думаю - может подкину ему еще  1-2 дополнительных pipeline и все будет ок.

Выше - это один в один мои мысли. Думаю чо мозг напрягать, подкину регистров, 5 на входе, 5 на выходе, "пусть долгоносик подавится" ))))

И вообще, продвинутые спецы умеют под альтеру в виваде сразу разводить:

Цитата

Ну и Quartus я уже давно заменил на Vivado и, как видно, не зря..

Ржал до слёз:

Цитата

Ведь не факт что похожее только с mult случается.  Например похожая по непонятности  ситуация  с  атрибутом синтеза maxfan.  На который как я вижу Qu кладет свой maxfuck.

Цитата

дало  увеличение времени сборки  на 40 мин и толику временных ошибок типа "поиздеваться над разработчиком", в цепях регистр - адрес памяти  ошибка тайминга  ~0.05 ns. :ireful2:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24.05.2022 в 21:55, new123 сказал:

от себя еще добавлю, что на Verilog я делал, нормально назначало.

Переделал всё на верилог. Умножение сделал через генерацию LPM_MULT в визарде. Прописал latency большую в надежде, что упихает в регистры внутри DSP-блока. Нифига. Сделал снаружи на рассыпухе.

Сейчас умножение напишу прямо на верилоге, может поможет.

 

Дополнение: но при этом слаков больше нет. Значит переделывать не буду, так и оставлю, не стоит оно идеализации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 ** Error (suppressible): (vsim-12130) WLF logging is not supported with QIS.

что за фигня? GUI не добавляет сигналы в waveform-ы

questa 2021.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, yes said:

 ** Error (suppressible): (vsim-12130) WLF logging is not supported with QIS.

что за фигня? GUI не добавляет сигналы в waveform-ы

questa 2021.1

QIS - маршут для visualizer, собирает qwave.db

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, one_eight_seven said:

QIS - маршут для visualizer, собирает qwave.db

Да, спасибо, пускал раньше под визуалайзер, наверно, не все вычистил из мейкфайла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ситуация такая.

Получаю ошибку

        Error (15094): Can't implement PLL because Post divider maximum count value exceeded. (Reduce division value or Fin frequency)

Quartus 13.1 c апдейтом 13.1.0.162.

Настройки PLL на картинке.

На абсолютно идентичном ПК с идентичной ОС (Win 10) в таком же Quartus этот же проект компилируется и собирается.

 

Подскажите пожалуйста, куда копать.

 

PLL.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чудес не бывает - что-то отличается: или проект, или Quartus. Ищите отличия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...