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

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

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-блока. Нифига. Сделал снаружи на рассыпухе.

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

 

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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