|
Кит DK-MAXII-1270N, Работа с PCI |
|
|
|
Jan 26 2012, 18:34
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Всем доброго времени суток.
Купил данный кит (DK-MAXII-1270N) чтобы поработать для удовольствия с ПЛИС, а именно попробовать создать простое устройство, которое можно "повесить" на PCI-шину. Сразу же залил в ПЛИС демонстрационный проект PCI. Вставил плату в соответствующе гнездо в компьютере, загрузил копьютер и успешно считал конфигурационное пространство. Далее я начал создавать свой собственный проект. Работаю в Quartus II 9.1, PCI compiler V9.1. Создал проект, в ем создал файл block diagramm/schematic file. Далее сгенерировал pci32t. Соединил выводы этой мегафункции с пинами ПЛИС, как было сказано в документации на кит, остальные выводы я оставил нетронутыми, т.е. никакой другой логики нету вообще, только эта мегафункция. Далее включил буферные преобразователи, посадив их выводы #EN на землю. Ну и последним шагом все неиспользуемые выводы ПЛИС перевел в высокоимп. состояние. Ставлю плату в компьютер, компьютер не загружается вообще, виснет сразу после включения на этапе идентификации устройств. В документации на pci_compiler нашел, что с транзакциями чтения конфигурац. пространства мегафункция справляется сама, без помощи внешней логики. Вопрос. Будет-ли устройство функционировать нормально, если в проекте будет присутствовать только мегафункция pci? Если да, то буду искать ошибку у себя в своем проекте ... P.S. Хотел сначала убедиться что устройство работает нормально с одной лишь этой мегафункцией, а потом "довешивать" остальную логику. P.S.2. Буду очень признателен, если поделитесь примерами.
|
|
|
|
|
Jan 26 2012, 19:07
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Прикрепляю архив со схемой кита.
|
|
|
|
|
Jan 26 2012, 19:38
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
спрошу еще раз. если судить по описанию борды на сайте производителяЦитата Reference designs and demos for MAX II CPLDs (partial list):
USB reference design (with software drivers) PCI 32-bit target reference design (with software drivers) LCD controller reference design Low power demo Real-time in-system programmability (ISP) demo идет с китом, также доступны для скачивания с фтп вы уверены что примеры не поставляются в сорцах ? почему бы там не посмотреть как правильно подключать корку ?
--------------------
|
|
|
|
|
Jan 27 2012, 04:15
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Цитата вы уверены что примеры не поставляются в сорцах ? почему бы там не посмотреть как правильно подключать корку ? Пример есть. Но я хочу еще  , чем больше тем лучше. Но мой вопрос немного другой: Цитата Будет-ли устройство функционировать нормально, если в проекте будет присутствовать только мегафункция pci? Поставляемый пример не проливает свет на мой вопрос. Сегодня рано поутру друг сбросил свой проект с использованием этой мегафункции. Но он его не тестировал на железе. Сегодня попробую вечерком ... Эх, уж больно наворочена эта шина.
|
|
|
|
|
Jan 27 2012, 04:49
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Не работал с PCI на Альтере, но всё равно чего-нибудь скажу. Цитата Будет-ли устройство функционировать нормально, если в проекте будет присутствовать только мегафункция pci? Должно, если его правильно подключить к этому самому проекту, в котором больше ничего нет. Цитата Далее включил буферные преобразователи, посадив их выводы #EN на землю? Интересно, как Вам это удалось. В моём понимании, буферами ног PCI должен управлять блок PCI. Цитата Ставлю плату в компьютер, компьютер не загружается вообще, виснет сразу после включения на этапе идентификации устройств. Юбыло бы странно, если бы было по-другому. Если у Вас всегда разрешены выходы, это означает, что Вы постоянно занимаете шину, и по ней даже начать обмен нельзя, даже с Вашим устройством. Вообще, лично я бы порекомендовал начать с изучения стандарта PCI.
|
|
|
|
|
Jan 27 2012, 05:34
|
Знающий
   
Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353

|
У меня тоже есть этот борд. Работает нормально, ничего не виснет. Заводская прошивка работает, а Ваша нет? Значит дело в Вашей прошивке  Вы tcl-скрипт для констрейнов использовали? И потом есть нормальные примеры для работы с платой, начните с их освоения. P.S.: Да, и самое главное, ядро-то рабочее?
--------------------
Правильно сформулированый вопрос содержит в себе половину ответа. P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
|
|
|
|
|
Jan 27 2012, 08:54
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Цитата Должно, если его правильно подключить к этому самому проекту, в котором больше ничего нет. Спасибо. Цитата В моём понимании, буферами ног PCI должен управлять блок PCI Цитата Там буфера стоят типа QS3VH245. Т.е. просто коммутационные ключи, направление которых задается самой лапой ПЛИСины. Если на ноге тристейт, то, соответственно, направление FPGA<-PCI, если 0 или 1 то FPGA->PCI, А если с двух сторон уровни будут, то... Хм ... в референс-дизайне этот вывод (#OE) действительно идет на вывод ПЛИС (в проекте он - pci_enablen). Собственно, я посадил его на gnd, как и в референс-дизайне. Посмотрю как работают эти буфера. Странно, в референс-дизайне действие с этим сигналом только одно - сажают его на gnd. Хотя, я уже засомневался, приду домой, поизучаю реф.-диз. еще разок, может что и упустил. Цитата Заводская прошивка работает, а Ваша нет? Значит дело в Вашей прошивке Это понятно, вопрос был немного в другом, а именно: должно ли работать то что я задумал. И мне ответили: Цитата Должно, если его правильно подключить к этому самому проекту, в котором больше ничего нет. Цитата Вы tcl-скрипт для констрейнов использовали? Не знаю что есть tcl-скрипт, вечером попробую разобраться. Цитата P.S.: Да, и самое главное, ядро-то рабочее? Что подразумевается под ядром? Цитата Если не секрет во сколько обошелся вам этот КИТ? Недорого, чуть более 8 тыс. руб. Сначала метил на кит с Cyclone II, но он оказался дороговат, более 45 тыс. руб. в России.
|
|
|
|
|
Jan 27 2012, 09:42
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
По поводу буфферов можно в AN330 почитать, но скорее всего дело не в этом... Цитата Недорого, чуть более 8 тыс. руб В ЭФО брали? тоже наверное куплю себе.
|
|
|
|
|
Jan 27 2012, 10:00
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(Wespe @ Jan 26 2012, 21:34)  Всем доброго времени суток.
Далее я начал создавать свой собственный проект. Работаю в Quartus II 9.1, PCI compiler V9.1. Создал проект, в ем создал файл block diagramm/schematic file. Далее сгенерировал pci32t. Соединил выводы этой мегафункции с пинами ПЛИС, как было сказано в документации на кит, остальные выводы я оставил нетронутыми, т.е. никакой другой логики нету вообще, только эта мегафункция. Далее включил буферные преобразователи, посадив их выводы #EN на землю. Ну и последним шагом все неиспользуемые выводы ПЛИС перевел в высокоимп. состояние. P.S. Хотел сначала убедиться что устройство работает нормально с одной лишь этой мегафункцией, а потом "довешивать" остальную логику. wire pci_enablen = 1'b0; ////// это из Вашего проекта. Порядок действий неправильный. Ибо у Вас на корке задействованы bar0 как память и bar1 как I/O. Из ничего и выйдет ничего. Синтезатор видимо выкинул ваш ipcore за ненадобностью. (Посмотрите используемые ресурсы в реальности) Если у Вас есть лицензия на корку, поменяйте в полном проекте версию PCI compiler на свою (пути переукажите и попробуйте получить *.pof файл), все должно также заработать. (не забудьте о количестве перепрожига ПЗУ ~100 раз по документации)
|
|
|
|
|
Jan 27 2012, 10:16
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Цитата В ЭФО брали? тоже наверное куплю себе. Заказывал в chipfind вместе с кучей других штуковин Цитата Если у Вас есть лицензия на корку К сожалению, нет. Я получал сообщение при прошивке о том, что работать будет только час  Цитата Порядок действий неправильный. Понятно, буду создавать проект целиком. gosu-art, единственный минус - кол-во перезаписи этого MAX II. Хотя мне кажется, что при отсутствии термоциклирования, чип будет выдерживать много более 100 циклов зап. Если мой сдохнет, переставлю в какой-нибудь конторе.
Сообщение отредактировал Wespe - Jan 27 2012, 10:19
|
|
|
|
|
Jan 28 2012, 18:23
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Заработало. lt_abortn, lt_rdyn, lt_discn, lirqn посадил на vcc. Теперь все грузится и могу считать конфигурационное пространство. Теперь буду пытаться сделать следующее. Буду отправлять на плату два числа, ПЛИС будет их складывать и отправлять результат.
|
|
|
|
|
Jan 28 2012, 18:38
|
Группа: Участник
Сообщений: 11
Регистрация: 2-06-11
Пользователь №: 65 433

|
Цитата бессмысленно Зато получу уовольствие, а там можно и что-нибудь по-серьезнее собрать. Хочу двигаться от простого к сложному. Заодно освежу в памяти verilog, на котором писал последний раз в ВУЗе.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|