SergeyF 0 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба Пользоваться Physical synthesis optimization и всеми остальными настройками, конечно, можно. Если эта настройка включена, компилятор на этапе разводки старается пересинтезировать логику так, чтобы длинные пути проходили через меньшее количество логических элементов. Вот проект в приложении. Сходу, без настроек, без временных требований, тот же 9.1SP2 - почти 160МГц. Что я делаю не так? P.S. Я начал было подозревать, что Вы MAXIIZ используете, но версии Z объемом 1270 не бывает, да и 6.0 версии Z почти наверняка еще нет. Так что ничего не понимаю. А в чем проблема поставить одну из последних версий Quartus? Версию 10 не посоветую, а 9.1SP2 - в самый раз. lab3_maxII_copy.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба Когда задал в 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 нужно "подпихивать" :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
essev 0 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба по ТЗ немного изменились требования к проекту - максимальная частота должна быть 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, то может быть достигну нужной мне частоты... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба Когда задал в 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба по ТЗ немного изменились требования к проекту - максимальная частота должна быть 170 МГц. ПЛИС такая же как и была EPM1270T144C5 А как Вы эти 170 на EPM1270T144C5 собрались подавать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
essev 0 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба снаружи Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 ноября, 2010 Опубликовано 13 ноября, 2010 · Жалоба Что-то Вы сами запутались и меня путаете... Давайте внесем ясность. Просто так с одной ступени на следующую перенос не передается. Ведь те переносы, что формируются внутри каждой ступени, имеют разную длительность. Их нужно объединять по И - все предыдущие, для формирования разрешения счета для следующей ступени. На этом объединении быстродействие счетчика и ограничивается. Если на одном LUT можно объединить 4 таких переноса, значит, максимально быстродействующий счетчик может быть 4*4 + 4 = 20 разрядов (каждая ступень - 4-разрядная, всего их 4 для формирования переноса и еще одна 4-разрядная ступень, использующая этот перенос). Дальше потребуется несколько логических элементов, чтобы выработать разрешение счета. Можно и последовательно передавать перенос-разрешение из ступени в ступень, что, естественно, будет еще медленнее. В-общем, 64-разрядный счетчик с быстродействием 2-разрядного регистра сдвига - не получится. P.S. а так, как я описал в сообщении №28 (и как ошибочно предположил, было сделано у вас в сообщении №35)- можно сделать быстрый счетчик. Потому что там не нужно учитывать предыдущие переносы. Только считать будет "абы что". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
essev 0 15 ноября, 2010 Опубликовано 15 ноября, 2010 (изменено) · Жалоба 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... Изменено 15 ноября, 2010 пользователем essev Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
essev 0 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба немного офтоп у кого-нить есть лицензия для квартус 9.0 чтобы семейство поддерживалось? У меня пишет - not installed и прихидится в 8.0 компилить Может квартус 9.1 Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба у кого-нить есть лицензия для квартус 9.0 чтобы семейство поддерживалось? У меня пишет - not installed и прихидится в 8.0 компилить как то не вяжется not supported с not installed, не надо было при установке от полного пакета отказываться %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
essev 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба надо поглядеть ))) а то я думал, что лицуха не полная )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться