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

 
 
> помогите со схемой, прыгает частота
essev
сообщение Nov 11 2010, 20:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



Всем привет.

Нарисовал схему для альтера epm1270.
Развожу в квартусе....

у меня 8-битная входная шина данных (data_in). с этой 8-битной шины данные идут на 24-битный сумматор, работающий за 1 такт.
сумматор суммируется сам с собой (аля sum = sum + data_in).

логикой работы сумматора управляет "синхронная логика" - т.е. глубоких комбинационных схем нет

частота нужна 150 МГц.



Если ставлю регистр по входу (data_in), то частота начинает занижаться на 20 МГц - квартус дает 130 МГц, убираю 150 МГц.



При занижении ругается на критичный путь от входного регистра до выхода сумматора...


сделал сумматор 2-х тактным, а также убрал логику разрешения работы сумматора (всегда разрешен) - ситуация вообще не улучшилась




Подскажите, в чем беда? может буз входного регистра можно обойтись?


спасибо

Сообщение отредактировал essev - Nov 11 2010, 21:38
Go to the top of the page
 
+Quote Post
4 страниц V  « < 2 3 4  
Start new topic
Ответов (45 - 55)
Sergey'F
сообщение Nov 13 2010, 07:53
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



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

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

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

Прикрепленные файлы
Прикрепленный файл  lab3_maxII_copy.rar ( 212.53 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 13 2010, 08:34
Сообщение #47


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Когда задал в 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 нужно "подпихивать" smile.gif

Go to the top of the page
 
+Quote Post
essev
сообщение Nov 13 2010, 08:38
Сообщение #48


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



по ТЗ немного изменились требования к проекту - максимальная частота должна быть 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 МГц... - не вытянул smile.gif
Если воспользуюсь Physical synthesis optimization, то может быть достигну нужной мне частоты...





Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Nov 13 2010, 09:11
Сообщение #49


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(ViKo @ Nov 13 2010, 11:34) *
Когда задал в 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 нужно "подпихивать" smile.gif

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

Цитата(essev @ Nov 13 2010, 11:38) *
по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц.
ПЛИС такая же как и была EPM1270T144C5

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

FPGA Advantage -> Precision Syntesys -> Quartus.

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

Прикрепленные файлы
Прикрепленный файл  lab3_maxII_copy_2.rar ( 262.27 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post
sazh
сообщение Nov 13 2010, 10:55
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(essev @ Nov 13 2010, 11:38) *
по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц.
ПЛИС такая же как и была EPM1270T144C5


А как Вы эти 170 на EPM1270T144C5 собрались подавать?
Go to the top of the page
 
+Quote Post
essev
сообщение Nov 13 2010, 11:24
Сообщение #51


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



снаружи
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 13 2010, 20:30
Сообщение #52


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Victor® @ Nov 12 2010, 20:00) *
Что-то Вы сами запутались и меня путаете...

Давайте внесем ясность. Просто так с одной ступени на следующую перенос не передается. Ведь те переносы, что формируются внутри каждой ступени, имеют разную длительность. Их нужно объединять по И - все предыдущие, для формирования разрешения счета для следующей ступени. На этом объединении быстродействие счетчика и ограничивается. Если на одном LUT можно объединить 4 таких переноса, значит, максимально быстродействующий счетчик может быть 4*4 + 4 = 20 разрядов (каждая ступень - 4-разрядная, всего их 4 для формирования переноса и еще одна 4-разрядная ступень, использующая этот перенос). Дальше потребуется несколько логических элементов, чтобы выработать разрешение счета.
Можно и последовательно передавать перенос-разрешение из ступени в ступень, что, естественно, будет еще медленнее.
В-общем, 64-разрядный счетчик с быстродействием 2-разрядного регистра сдвига - не получится.
P.S. а так, как я описал в сообщении №28 (и как ошибочно предположил, было сделано у вас в сообщении №35)- можно сделать быстрый счетчик. Потому что там не нужно учитывать предыдущие переносы. Только считать будет "абы что".
Go to the top of the page
 
+Quote Post
essev
сообщение Nov 15 2010, 10:50
Сообщение #53


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



Цитата(DmitryR @ Nov 12 2010, 10:05) *
Код
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 - Nov 15 2010, 11:29
Go to the top of the page
 
+Quote Post
essev
сообщение Nov 15 2010, 16:39
Сообщение #54


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



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

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

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

Спасибо
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 15 2010, 18:04
Сообщение #55


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(essev @ Nov 15 2010, 10:39) *
у кого-нить есть лицензия для квартус 9.0 чтобы семейство поддерживалось?
У меня пишет - not installed и прихидится в 8.0 компилить

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


--------------------
Go to the top of the page
 
+Quote Post
essev
сообщение Nov 16 2010, 05:04
Сообщение #56


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757



надо поглядеть ))) а то я думал, что лицуха не полная ))
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:10
Рейтинг@Mail.ru


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