реклама на сайте
подробности

 
 
> Цифровая линия задержки
_Anatoliy
сообщение Jul 21 2016, 07:33
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Вот возникла необходимость реализовать цифровую линию задержки данных АЦП с высоким разрешением. Тактовая частота 300МГц, максимальная задержка 200мкс, данные представляют собой четыре фазы потока от АЦП, чип Arria V. На каждую фазу ставлю двухпортовку на M10K,адреса wr/rd по 16 бит.
Код
DelayLine: process (iclk,iReset)
begin
    if (iReset = '1') then
                address_rd <= (others => '0');
        wren <= '0';
    elsif (RISING_EDGE(iclk)) then
        wren <= '1';
        address_rd <= address_rd+1;
        address_wr <= address_rd + idata_delay;
        data_wr1 <= idata_sdr_a(11 downto 0);
        data_wr2 <= idata_sdr_a(23 downto 12);
        data_wr3 <= idata_sdr_b(11 downto 0);
        data_wr4 <= idata_sdr_b(23 downto 12);
        odata_sdr_a(11 downto 0) <= data_rd1;
        odata_sdr_a(23 downto 12) <= data_rd2;
        odata_sdr_b(11 downto 0) <= data_rd3;
        odata_sdr_b(23 downto 12) <= data_rd4;
    end if;
end process;

Проблема в том что не удаётся убрать минусовые слэки между регистрами address_rd,address_wr и входными регистрами адреса памяти. Колдовство с настройками фиттера ощутимого результата не дало. Может подскажете чего,коллеги? Не хватает всего 200ps...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Timmy
сообщение Jul 21 2016, 08:05
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(_Anatoliy @ Jul 21 2016, 10:33) *
Проблема в том что не удаётся убрать минусовые слэки между регистрами address_rd,address_wr и входными регистрами адреса памяти. Колдовство с настройками фиттера ощутимого результата не дало. Может подскажете чего,коллеги? Не хватает всего 200ps...

Очевидно, памяти используется много, отсюда большое ветвление шины адреса. Можно добавить ещё один конвейерный регистр в шину адреса, если Квартус сумеет его правильно размножить, или вручную размножить. Ещё можно тактировать память дополнительным клоком, смещённым по фазе на +200ps или побольше, при этом может не хватить запаса по выходам, тогда на выходы добавить ещё регистр.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 21 2016, 08:16
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Timmy @ Jul 21 2016, 11:05) *
Очевидно, памяти используется много, отсюда большое ветвление шины адреса. Можно добавить ещё один конвейерный регистр в шину адреса, если Квартус сумеет его правильно размножить, или вручную размножить. Ещё можно тактировать память дополнительным клоком, смещённым по фазе на +200ps или побольше, при этом может не хватить запаса по выходам, тогда на выходы добавить ещё регистр.

Ага,спасибо! Да,памяти много - 3Mbit. Насчёт дополнительного клока уже пробую.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016