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

Пользоваться Physical synthesis optimization и всеми остальными настройками, конечно, можно. Если эта настройка включена, компилятор на этапе разводки старается пересинтезировать логику так, чтобы длинные пути проходили через меньшее количество логических элементов.

 

Вот проект в приложении. Сходу, без настроек, без временных требований, тот же 9.1SP2 - почти 160МГц. Что я делаю не так?

 

P.S. Я начал было подозревать, что Вы MAXIIZ используете, но версии Z объемом 1270 не бывает, да и 6.0 версии Z почти наверняка еще нет. Так что ничего не понимаю. А в чем проблема поставить одну из последних версий Quartus? Версию 10 не посоветую, а 9.1SP2 - в самый раз.

lab3_maxII_copy.rar

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


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

Когда задал в Q9.1SP2 Fitter Effort - Standard Fit, для кода Sergey'F из сообщения №43 получилась частота 159.92 MHz.

(До этого у меня стояла - Auto Fit, и частота была 127.88 MHz. Вроде, по-умолчанию так стоит)

Когда задал Default required fmax - 150 MHz, частота выросла до 175.72 MHz.

и все-то Quartus нужно "подпихивать" :)

 

 

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


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

по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц.

ПЛИС такая же как и была EPM1270T144C5

 

 

У меня путь проектирования следующий:

 

FPGA Advantage -> Precision Syntesys -> Quartus.

 

Специально выделил цепь, на которую ругается Квартус и пошел по всему пути проектирования.

 

А цепочка следующая: 8-битный входной порт -> 2-тактный сумматор (по методу DmitryR) -> Выходной 16-битный порт.

 

Синтезирую в Precision Syntesys. Он мне пишет, что максимальная частота проекта = 152 МГц и пишет, что долгая цепь это суммирование в 2-тактном сумматоре.

 

Кидаю этот проект Квартусу и он поднимает частоту до 182 МГц.

 

 

Так как в "большом" проекте цепочка 8-битный входной порт -> 2-тактный сумматор (по методу DmitryR) -> Выходной 16-битный порт,

то добавляю еще одну.

 

Синтезирую в Precision Syntesys. Он также пишет, что максимальная частота проекта = 152 МГц и пишет, что долгая цепь это суммирование в 2-тактном сумматоре.

 

Но теперь Квартус выдает максимальную частоту = 166 МГц... - не вытянул :)

Если воспользуюсь Physical synthesis optimization, то может быть достигну нужной мне частоты...

 

 

 

 

 

 

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


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

Когда задал в Q9.1SP2 Fitter Effort - Standard Fit, для кода Sergey'F из сообщения №43 получилась частота 159.92 MHz.

(До этого у меня стояла - Auto Fit, и частота была 127.88 MHz. Вроде, по-умолчанию так стоит)

Когда задал Default required fmax - 150 MHz, частота выросла до 175.72 MHz.

и все-то Quartus нужно "подпихивать" :)

Auto Fit прекращает оптимизации для сокращения времени компиляции, как только выполнит временные требования. Так как временных требований сначала не было, то он и не старался.

 

по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц.

ПЛИС такая же как и была EPM1270T144C5

 

У меня путь проектирования следующий:

 

FPGA Advantage -> Precision Syntesys -> Quartus.

Получите, распишитесь. Без конвейеризации переноса на Вашем устройстве 174МГц. Может, выкинуть, простите, нахрен, Precision в данном случае из маршрута проектирования???

lab3_maxII_copy_2.rar

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


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

по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц.

ПЛИС такая же как и была EPM1270T144C5

 

А как Вы эти 170 на EPM1270T144C5 собрались подавать?

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


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

Что-то Вы сами запутались и меня путаете...

Давайте внесем ясность. Просто так с одной ступени на следующую перенос не передается. Ведь те переносы, что формируются внутри каждой ступени, имеют разную длительность. Их нужно объединять по И - все предыдущие, для формирования разрешения счета для следующей ступени. На этом объединении быстродействие счетчика и ограничивается. Если на одном LUT можно объединить 4 таких переноса, значит, максимально быстродействующий счетчик может быть 4*4 + 4 = 20 разрядов (каждая ступень - 4-разрядная, всего их 4 для формирования переноса и еще одна 4-разрядная ступень, использующая этот перенос). Дальше потребуется несколько логических элементов, чтобы выработать разрешение счета.

Можно и последовательно передавать перенос-разрешение из ступени в ступень, что, естественно, будет еще медленнее.

В-общем, 64-разрядный счетчик с быстродействием 2-разрядного регистра сдвига - не получится.

P.S. а так, как я описал в сообщении №28 (и как ошибочно предположил, было сделано у вас в сообщении №35)- можно сделать быстрый счетчик. Потому что там не нужно учитывать предыдущие переносы. Только считать будет "абы что".

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


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

module sum(
   input         clk,
   input         rstn,
   input  [ 7:0] din,
   input         dvin,
   output [23:0] dout
);

reg [ 8:0] lsb;
reg [15:0] msb;
reg [ 7:0] lsb_d;

always @(posedge clk or negedge rstn)
   if(!rstn)
      begin
         lsb<=0;
         lsb_d<=0;
         msb<=0;
      end
   else
      begin
         if(dvin)
            lsb<={1'b0,lsb[7:0]}+{1'b0,din};
         if(lsb[8])
            msb<=msb+1;
         lsb_d<=lsb[7:0];
      end

assign dout={msb,lsb_d};

endmodule

 

Это для беззнакового сложения. Если надо со знаком - додумайте.

 

 

посимулировал код DmitryR....

 

Мне кажется, там ошибка, если, снимать сигнал разрешения счета dvin,

т.к. lsb[8] останется равным 1 и это будет вызывать зацикливание старших разрядов всего сумматора.

 

Ну, например, подать 252, затем 9 при dvin = 1, а потом снять dvin...

 

 

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

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


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

немного офтоп

 

у кого-нить есть лицензия для квартус 9.0 чтобы семейство поддерживалось?

У меня пишет - not installed и прихидится в 8.0 компилить

 

Может квартус 9.1

 

Спасибо

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


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

у кого-нить есть лицензия для квартус 9.0 чтобы семейство поддерживалось?

У меня пишет - not installed и прихидится в 8.0 компилить

как то не вяжется not supported с not installed, не надо было при установке от полного пакета отказываться %)

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


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

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

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

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

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

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

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

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

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

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