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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> DDR2+Cyclone3 - не пролазят констрейны, ищется способ побороть...
alexPec
сообщение Sep 26 2014, 19:18
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем доброго дня. Собрал в Q11 сопц, собственно процессор + DDR2 контроллер + ethernet. Чип EP3C25 память - MT47H64M16-25Е. В настройках контроллера все частоты выше 266МГЦ (стояло 400мгц) поставил 300 МГц. Частота памяти 150 МГц. В итоге имею слэки отрицательные. Смотрю в клоки - там откуда-то берется 198.05МГц. В настройках нет такого вообще. Мне столько и не надо, достаточно 150МГц. Слэк -1.2хх нс, если период был бы не 5нс, а 6,66 (для 150МГц), то вроде все должно сойтись. Подскажите пожалуйста куда копать и как ему объяснить, что не надо мне 200, хватает 150 МГц?
Отчет таймквеста при компиляции прилагаю.

Заранее благодарен.
Прикрепленные файлы
Прикрепленный файл  log.rar ( 21.73 килобайт ) Кол-во скачиваний: 15
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 27 2014, 01:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



выложите еще файлы констрейнов, а также картинку с настройками контроллера памяти. необходимость в photoCPU_altmemddr_0_example_top.sdc вызывает сомнения. если есть возможность выложить обрезанный проект (проц + память) - выкладывайте wink.gif
Go to the top of the page
 
+Quote Post
krux
сообщение Sep 27 2014, 07:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



сам nios у вас получается тоже на 150 должен работать?
у меня nios на C3 и C4 с DDR2 и TSE нормально собирался максимум на 125 МГц. Интересно, у кого-нибудь он собирался выше и если да то в каком обвесе?


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 27 2014, 08:48
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Не, сам ниос и tsE работает на 75МГц, с ДДР они через clock crossing bridge. Выкладываю проект, собственно не обрезанный, от проекта то только ниос, ДДР и ТСЕ. Спасибо за помощь!
Прикрепленные файлы
Прикрепленный файл  project.rar ( 4.28 мегабайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 30 2014, 04:52
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Потыкал проект, явного криминала в констрейнах не увидел (не значит, что его там нет). Частота памяти 150 МГц, но Fmax, которую выжал синтезатор - 122 МГц. Что насторожило:
Цитата
Critical Warning: No exact pin location assignment(s) for 16 pins of 65 total pins
. Поскольку там речь идет о сигналах ddr_dq, это может быть причиной. Все большие частоты, которые встречаются в отчете относятся к Fmax, т.е. по большинству клоков огромный запас, это нормально.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 30 2014, 13:29
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(vadimuzzz @ Sep 30 2014, 08:52) *
Потыкал проект, явного криминала в констрейнах не увидел (не значит, что его там нет). Частота памяти 150 МГц, но Fmax, которую выжал синтезатор - 122 МГц. Что насторожило: . Поскольку там речь идет о сигналах ddr_dq, это может быть причиной. Все большие частоты, которые встречаются в отчете относятся к Fmax, т.е. по большинству клоков огромный запас, это нормально.


Спасибо за ревизию проекта sm.gif
16 которые no exact location - это линии данных, потому как мне не принципиально, чтобы D0 контроллера DDR был подцеплен именно к D0 DDR чипа. Пусть цепляет как хочет, как запишет - так и прочитает ведь.
Напрягает что везде ставлю 150 мгц, а он почему то в констрейнах прописывает 198,05 МГц - откуда это?

Вердикт то какой - прошивать и пробовать, должно работать?
И еще вопрос: дополнительно в софте надо что-то инициализировать, настройки какие-нибудь для ДДР? Или просто заливаем кристалл, и видим что у нас есть много -много памяти с которой можем работать сразу, а всю инициализацию контроллер сам делает?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 1 2014, 09:44
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



я не вижу нигде 198, у меня там 10, 50, 75 и 150: http://pic4a.ru/ixff/
и на счет ног я не понял, он ведь (синтезатор) как попало начнет их раскидывать. практика показывает, что тот же ниос весьма к этому чувствителен.
дополнительных настроек в софте никаких не надо, загрузка (или облом с загрузкой) программы в память - хороший тест. забивать на констрейны, особенно в части i/o с памятью я бы не стал, отсюда растут проблемы типа "вчера все работало, сегодня изменил 1 бит и не работает" sm.gif
Go to the top of the page
 
+Quote Post
krux
сообщение Oct 1 2014, 10:16
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



DQ и DQS можно подключать только к строго определенным ногам.
http://www.altera.com/literature/dp/cyclone3/EP3C25.xls
определить их надо заранее, поскольку констрейны генерятся .tcl-скриптом.
в мануале на ALTMEMPHY про это написано.

надо подсоединить qsys к ногам, сделать анализ-синтез
потом запустить .tcl-скрипт который сообразит к каким ногам это всё подключено и допишет констрейны
после этого снова анализ-синтез-фиттер и тогда соберется нормально


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 1 2014, 21:01
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(vadimuzzz @ Oct 1 2014, 13:44) *
отсюда растут проблемы типа "вчера все работало, сегодня изменил 1 бит и не работает" sm.gif


дада, вот их то и боюсь.
С ногами - я dqs и dm назначил на специальные ноги, в одной dqs - группе 8 бит, эти 8 бит располагаются в одном банке. У меня 16 бит и занято ими 2 банка. Так вот для dq в пределах одной dqs группы я не ставил конкретные ноги, я назначал только банк, в банке 9 ног, к которым можно цеплять dq, 8 из них разведены на память. Т.е. у фиттера есть свобода действий - он может поменять местами линии данных в пределах одного банка (одной dqs-группы). Большого криминала тут не вижу...

Цитата
надо подсоединить qsys к ногам, сделать анализ-синтез
потом запустить .tcl-скрипт который сообразит к каким ногам это всё подключено и допишет констрейны
после этого снова анализ-синтез-фиттер и тогда соберется нормально


А можно тут поподробнее? Что за скрипт, где его берут, как его запустить? Никогда таким эээ... шаманством не занимался sm.gif

Кстати, по клокам - выкладываю то что у меня получается... до сих пор не понял откуда это. Настройки контроллера тоже на картинках. Не ужели квартус косячит?

Спасибо за помощь!
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
krux
сообщение Oct 2 2014, 04:13
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
If you are at the design exploration phase of your design cycle and do not have any PCB defined pin locations,
you must still manually define an initial set of pin constraints, which can become more specific during your
development process


Цитата
To add the pin and I/O standards to the design example, perform the following steps:
1) On the Tools menu, click Tcl scripts.
2) Under Libraries, select <variation_name>_pin_assignments.tcl
3) Click Run


http://www.altera.com/literature/hb/extern...emi_tut_ddr.pdf


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 2 2014, 14:23
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Спасибо, просто похоже надо ноги все-таки конкретные назначить - назначил, началось...

Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 7 when the VREF pin C11 (VREFGROUP_B7_N0) is used on device EP3C25F256I7 -- no more than 9 output/bidirectional pins within 12 consecutive pads are allowed when the voltage reference pins are driving in, but there are potentially 10 pins driving out

Кто чем лечит кроме переразводки платы?
Go to the top of the page
 
+Quote Post
krux
сообщение Oct 2 2014, 15:01
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



assignments -> device -> device and pin options -> pin options
ввести вручную сколько надо


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 2 2014, 21:07
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(krux @ Oct 2 2014, 19:01) *
assignments -> device -> device and pin options -> pin options
ввести вручную сколько надо


Чет не спасает:

Цитата
Info (176045): Design uses memory blocks. Violating setup or hold times of memory block address registers for either read or write operations could cause memory contents to be corrupted. Make sure that all memory block address registers meet the setup and hold time requirements.
Error (169015): Cannot place pin ddr_dq[8] to location B12
Error (169223): Can't place VREF pin C11 (VREFGROUP_B7_N0) for pin ddr_dq[8] of type bi-directional with SSTL-18 Class I I/O standard at location B12
Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 7 when the VREF pin C11 (VREFGROUP_B7_N0) is used on device EP3C25F256I7 -- no more than 9 output/bidirectional pins within 12 consecutive pads are allowed when the voltage reference pins are driving in, but there are potentially 10 pins driving out
Info (169220): Location D11 (pad PAD_177): Pin ddr_ba[2] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location D12 (pad PAD_178): Pin ddr_ba[1] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location A13 (pad PAD_179): Pin ddr_ba[0] of type output uses SSTL-18 Class I I/O standard
Info (169225): Following 5 pins have the same output enable group 1: 3 pins require VREF pin and 5 pins could be output
Info (169220): Location B13 (pad PAD_180): Pin ddr_dq[15] of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location E11 (pad PAD_183): Pin ddr_a[0] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location E10 (pad PAD_184): Pin ddr_a[2] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location A12 (pad PAD_186): Pin ddr_dq[14] of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location A11 (pad PAD_188): Pin ddr_dq[9] of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location A14 (pad PAD_181): Pin ddr_clk_n of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location B14 (pad PAD_182): Pin ddr_clk of type bi-directional uses SSTL-18 Class I I/O standard
Info (169222): Following 12 location(s) shared the same VCCIO and ground pair, and 10 pin(s) are placed
Info (169220): Location D11 (pad PAD_177): Pin ddr_ba[2] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location D12 (pad PAD_178): Pin ddr_ba[1] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location A13 (pad PAD_179): Pin ddr_ba[0] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location B13 (pad PAD_180): Pin ddr_dq[15] of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location A14 (pad PAD_181): Pin ddr_clk_n of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location B14 (pad PAD_182): Pin ddr_clk of type bi-directional uses SSTL-18 Class I I/O standard
Info (169220): Location E11 (pad PAD_183): Pin ddr_a[0] of type output uses SSTL-18 Class I I/O standard
Info (169220): Location E10 (pad PAD_184): Pin ddr_a[2] of type output uses SSTL-18 Class I I/O standard
Info (169221): Location (pad PAD_185): unused
Info (169220): Location A12 (pad PAD_186): Pin ddr_dq[14] of type bi-directional uses SSTL-18 Class I I/O standard
Info (169221): Location B12 (pad PAD_187): unused (but has pin assignment of ddr_dq[8])
Info (169220): Location A11 (pad PAD_188): Pin ddr_dq[9] of type bi-directional uses SSTL-18 Class I I/O standard
Info (171121): Fitter preparation operations ending: elapsed time is 00:00:02
Warning (171167): Found invalid Fitter assignments. See the Ignored Assignments panel in the Fitter Compilation Report for more information.
Error (171000): Can't fit design in device
Warning (169082): Design uses current of 400.0 mA for 15 consecutive horizontal output pads in an I/O bank -- Altera recommends a maximum current of 240.0 mA for any 14 consecutive output pads in an I/O bank
Warning (169082): Design uses current of 400.0 mA for 15 consecutive vertical output pads in an I/O bank -- Altera recommends a maximum current of 240.0 mA for any 12 consecutive output pads in an I/O bank
Warning (169180): Following 1 pins must use external clamping diodes.
Info (169178): Pin epcs_sdi uses I/O standard 2.5 V at H2
Warning (169064): Following 2 pins have no output enable or a GND or VCC output enable - later changes to this connectivity may change fitting results
Info (169065): Pin ddr_clk has a permanently enabled output enable
Info (169065): Pin ddr_clk_n has a permanently enabled output enable
Error: Quartus II 32-bit Fitter was unsuccessful. 4 errors, 21 warnings
Error: Peak virtual memory: 326 megabytes
Error: Processing ended: Fri Oct 03 01:00:40 2014
Error: Elapsed time: 00:00:25
Error: Total CPU time (on all processors): 00:00:23


Я уж и в output enable group затолкнул все ddr-сигналы. Что еще можно сделать?
UPD ничего не понимаю: вешаю сигнал с пина B11 на D14 и ошибка уходит. В том же банке, в той же Vref группе, но плату то в этом случае переделывать ...
Неужто тупик?
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Oct 3 2014, 07:01
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Там какая то замута есть, точно не помню.. Если вы проектируйте на х16 шину то все равно нужно смотреть столбец c x8/x9. Причем для первой группы 9й пин, который остался от предыдущей группы, в следующей использовать нельзя, а нужно пропустить его и перейти к следующей группе х8. wacko.gif Я перед тем как отправлять плату долго ковырялся в квартусе. то группы не совпадали, то еще чего. В общем гемор еще тот...
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 3 2014, 08:03
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(gosu-art @ Oct 3 2014, 11:01) *
Там какая то замута есть, точно не помню.. Если вы проектируйте на х16 шину то все равно нужно смотреть столбец c x8/x9. Причем для первой группы 9й пин, который остался от предыдущей группы, в следующей использовать нельзя, а нужно пропустить его и перейти к следующей группе х8. wacko.gif Я перед тем как отправлять плату долго ковырялся в квартусе. то группы не совпадали, то еще чего. В общем гемор еще тот...


Да, это то я уже понял что в DQS группе 9 бит DQ, и этот 9-й бит нельзя цеплять из другой dqs группы. В моем случае dqs группа это байт 16-битного слова. Так вот вопрос то в том, что я перекидиваю ногу с одного dq на другой в пределах одной dqs группы, и получается ошибка... Как то люди избавляются от этой беды добавлением в группу output enable, например тут . Но у меня таким методом почему то не лечится. У кого - то получалось?

Еще раз посмотрел в таблицу на EP3C25F256 - пины B11 и D14 - одна группа dqs - DQ5T. Перекидываю сигнал с одной ноги на другую квартус поворачивается ко мне попой...
Go to the top of the page
 
+Quote Post

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

 


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


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