|
|
 |
Ответов
|
Aug 22 2010, 06:33
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 10-01-06
Пользователь №: 13 025

|
Сам MIG после генерации формирует две папки. Одна из них Example design. В нем проект, который содержит саму корку, DCM и типа тестбенча, который пишет по разным адресам и потом читает и сравнивает. На выходе три сигнала: init_done, error, valid. Проект синтезируется и разводится. (Или я ошибаюсь и он только для симуляции?) Ничего сам из кода не добавлял, только через UPDATE UCF подгрузил нужный UCF и настроил выходные ножки.
И почему первоначально сгенерированный UCF при проверке ему же не нравится? Для Virtex все хорошо, а для любого Спартана- нет! Стандарты везде проверил. SSTL1_18 на данные и адреса/контроль Тактовая дифф. LVDS_25.
Прежде чем писать/читать должен установиться Init_done. А он генерит. На выходе контроллера адреса бегут.
Сообщение отредактировал Dmitrij68 - Aug 22 2010, 07:38
|
|
|
|
|
Aug 23 2010, 06:12
|
Частый гость
 
Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406

|
Цитата(Dmitrij68 @ Aug 22 2010, 10:33)  Стандарты везде проверил. SSTL1_18 на данные и адреса/контроль Тактовая дифф. LVDS_25. Извините, а почему тактовая дифф. LVDS_25? Что это за тактовая? Если она идет на м/с памяти разве не DIFF_SSTL_18 должно быть? Кстати - проверьте, возможно для адреса/данных требуется SSTL_18 Class II а не Class I? Что за плата? Что подключено к плису?
|
|
|
|
|
Aug 23 2010, 09:27
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 10-01-06
Пользователь №: 13 025

|
Цитата(Gothard @ Aug 23 2010, 10:12)  Извините, а почему тактовая дифф. LVDS_25? Что это за тактовая? Если она идет на м/с памяти разве не DIFF_SSTL_18 должно быть? Кстати - проверьте, возможно для адреса/данных требуется SSTL_18 Class II а не Class I? Что за плата? Что подключено к плису? NET "cntrl0_ddr2_dq[*]" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_a[*]" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_ba[*]" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_cke" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_cs_n" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_ras_n" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_cas_n" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_we_n" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_odt" IOSTANDARD = SSTL18_II; NET "cntrl0_ddr2_dm[*]" IOSTANDARD = SSTL18_II; NET "cntrl0_rst_dqs_div_in" IOSTANDARD = SSTL18_II; NET "cntrl0_rst_dqs_div_out" IOSTANDARD = SSTL18_II; NET "sys_clkb" IOSTANDARD = LVDS_25; NET "sys_clk" IOSTANDARD = LVDS_25; NET "cntrl0_led_error_output1" IOSTANDARD = LVCMOS33; NET "cntrl0_data_valid_out" IOSTANDARD = LVCMOS33; NET "cntrl0_init_done" IOSTANDARD = LVCMOS33; NET "reset_in_n" IOSTANDARD = LVCMOS33; NET "cntrl0_ddr2_dqs[*]" IOSTANDARD = DIFF_SSTL18_II; NET "cntrl0_ddr2_dqs_n[*]" IOSTANDARD = DIFF_SSTL18_II; NET "cntrl0_ddr2_ck[*]" IOSTANDARD = DIFF_SSTL18_II; NET "cntrl0_ddr2_ck_n[*]" IOSTANDARD = DIFF_SSTL18_II; Плата от Gennum. Подключен мостик PCIExpress и 2 микросхемы MT47H32M16, которые я в общем и пытаюсь запустить.
|
|
|
|
|
Aug 23 2010, 09:56
|
Частый гость
 
Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406

|
Со стандартами сигналов видимо все ок. Во всяком случае нужные клоки не LVDS25 а DIFF_SSTL18. А насчет того, класс I нужно или класс II - это надо к документации на плату... А LVDS кстати задан для опорных синхросигналов, идущих с генератора на плис. Убедитесь, что там LVDS  , а то кто его знает. А вы промоделировать это чудо пробовали? Может на модели оно тоже пульсирует? Т.е. корка работает верно, но почему-то вы ее пересбрасываете? Работал с MIGами на Virtex-4 и Virtex-5, так там init_done либо не подымается (когда при сборке платы накосячили - бывает  ), либо встает один раз и уже не падает. Что осциллограф показывает? Что на шине данных происходит?
|
|
|
|
|
Aug 23 2010, 14:10
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 10-01-06
Пользователь №: 13 025

|
Цитата(Gothard @ Aug 23 2010, 13:56)  Со стандартами сигналов видимо все ок. Во всяком случае нужные клоки не LVDS25 а DIFF_SSTL18. А насчет того, класс I нужно или класс II - это надо к документации на плату... А LVDS кстати задан для опорных синхросигналов, идущих с генератора на плис. Убедитесь, что там LVDS  , а то кто его знает. А вы промоделировать это чудо пробовали? Может на модели оно тоже пульсирует? Т.е. корка работает верно, но почему-то вы ее пересбрасываете? Работал с MIGами на Virtex-4 и Virtex-5, так там init_done либо не подымается (когда при сборке платы накосячили - бывает  ), либо встает один раз и уже не падает. Что осциллограф показывает? Что на шине данных происходит? Моделировать не пробовал, надеялся что корка должна работать сразу. Раньше (с другими корками все было ОК, правда корки попроще), но похоже прийдется. Кстати, если init в Virtex не работает, как определить что память проинициализирована? И еще у меня две памяти в параллель (разумеется кроме данных, масок и dqs. Тактовые тоже разные), разрядность данных при генерации указал 32 (2 памяти по 16). На шине адреса в младших разрядах бегут сигнальчики, а на данные не смотрел. Посмотрю сегодня..... Цитата(Avsetaki @ Aug 23 2010, 14:24)  У меня была осцилляция Init_done на плате со Spartan-3ADSP, правда с DDR, и под EDK, а не MIG. Проблема решилась когда dqs_div_in и dqs_div_out были отцеплены от соответствующих пинов, и закорочены напрямую внутри ПЛИС. Проверю и это. Цитата(Avsetaki @ Aug 23 2010, 14:24)  Может косяк того конкретного борда, не знаю. Вдруг поможет. К великому сожалению я не уверен что на плате все хорошо. Проверить нечем, нет тестового проекта.....
Сообщение отредактировал Dmitrij68 - Aug 23 2010, 14:22
|
|
|
|
|
Aug 24 2010, 06:09
|
Частый гость
 
Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406

|
Цитата(Dmitrij68 @ Aug 23 2010, 18:10)  Кстати, если init в Virtex не работает, как определить что память проинициализирована? Если честно - не понял что вы имеете в виду  init - это init_done? что вы подразумеваете под память проинициализированна? выполнена последовательнсть, описываемая в даташите на память как Initialization?
|
|
|
|
|
Aug 24 2010, 06:18
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 10-01-06
Пользователь №: 13 025

|
Цитата(Gothard @ Aug 24 2010, 10:09)  Если честно - не понял что вы имеете в виду  init - это init_done? что вы подразумеваете под память проинициализированна? выполнена последовательнсть, описываемая в даташите на память как Initialization? cntrl0_init_done - выполнена последовательность, описываемая в даташите на память как Initialization
|
|
|
|
|
Aug 24 2010, 06:33
|
Частый гость
 
Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406

|
Цитата(Dmitrij68 @ Aug 24 2010, 10:18)  cntrl0_init_done - выполнена последовательность, описываемая в даташите на память как Initialization Не возьмусь утверждать что для Spartan именно так (Xilinx всякую свинью способны подложить  ), но для Vitex init_done - означает, что КОНТРОЛЛЕР выполнил инициализацию. А это включает в себя кроме инициализации памяти еще и калибровку DQS и данных. Т.е. после появления этого сигнала вы уже можете сразу писать/читать память. Извините, за некоторую расплывчатость, но конкретно для спартана эту корку не смотрел. Говорю исходя из того, что поведение корок одинаковое на всех семействах Xilinx.
Сообщение отредактировал Gothard - Aug 24 2010, 06:34
|
|
|
|
Сообщений в этой теме
Dmitrij68 MIG и Spartan 3A Aug 21 2010, 17:41 Putnik Простите, что и тестбенчи развелись?
пишите, пожал... Aug 21 2010, 19:33 fars Цитата(Dmitrij68 @ Aug 21 2010, 20:41) До... Aug 21 2010, 21:53        Dmitrij68 Цитата(Gothard @ Aug 24 2010, 10:33) Не в... Aug 24 2010, 07:51 Shtirlits Думаю, что проект уже поменялся после того, как в... Aug 22 2010, 07:45 Dmitrij68 Цитата(Shtirlits @ Aug 22 2010, 11:45) Ду... Aug 22 2010, 09:36 Avsetaki У меня была осцилляция Init_done на плате со Spart... Aug 23 2010, 10:24 rv3dll(lex) мужики бутьте так добры на почту мне киньтепапку и... Aug 24 2010, 08:12 Shtirlits Если взять MiG версии 3.4 или 3.5 из CoreGen 12.2,... Aug 31 2010, 16:19 Shtirlits С версией 3.0 тоже проблемы возникли.
Надежда на в... Sep 1 2010, 22:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|