Перейти к содержанию
    

TestBench для PCI

Доброго всем времени суток. Я студент, занимаюсь сейчас написанием ядра для PCI, в целях так сказать тренировки. Написал я простое ядро Slave с поддержкой конфигурационных регистров. То что я написал, работает в симуляторе нормально. Я скачал с opencores готовое ядро и симулировал его своим тестбенчем(написанным для моего ядра), однако оно работает некорректно, наверное я не совсем разобрался с PCI. Огромная просьба, скинуть у кого имеется ссылка на тестбенчи для ядер PCI.

 

Вот фрагмент кода моего тестбенча, для конфигурационного чтения(регистра с номером вендора и девайса):

 

clock: process is

begin

clk33 <= not clk33;

wait for 20 ns;

end process;

 

rst <= '1', '0' after 60 ns;

irdy <= '1', '0' after 100 ns;

par <= '0', '1' after 100 ns, '0' after 140 ns;

idsel <= '0', '1' after 60 ns, '0' after 100 ns;

frame <= '1', '0' after 60 ns, '1' after 100 ns;

ad <= (others => '0'), X"04000000" after 60 ns, (others => '0') after 100 ns;

cbe <= "0000", "1010" after 60 ns, "0000" after 100 ns;

 

Если я чего неправильно написал - подскажите плз. Заранее всем огромное спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я давал в конференции ссылку на designware pci-x от синопсиса - это библиотека верификации pci до 64бита/133Мгц под windows. Еще пробегали ссылки на полную designware verificatin ip под linux.

Тестбенч написан неправильно, т.к.

-- pci - синхронная шина и все сигналы д.б. привязаны к фронту clk.

-- период клока 30нс, а у Вас 40нс.

-- шина ad у Вас чисто выход, прочитать ничего с нее не сможете.

-- rst активен 0, у Вас постоянный сброс на шине.

Достаточно? Выводы: читайте доки по pci

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получается, что ядро скачаное мною с opencores, написано с ошибками. Потому как весь сброс там по 1. Я сам вначале удивился, но потом подумал, что так и надо. Что касается периода клока, то тут я с Вами согласен, однако это не существенно, пока я просто модулирую ядро в МоделСиме. Вообще пример предоставленный мной не совсем удачный, я согласен. Но скажите пожалуйста - как вы опредилили, что ad у меня чисто выход, елси не видели объявление этого порта? :-) За умеренню критику и ссылки огромное Вам спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На шине ad у Вас всегда присутствует сигнал 0 или 1. Если pci устройство выдаст на нее сигнал - произойдет конфликт и сигналы будут "х". Обычно двунаправленной шине присваивают "z", когда устройство не выдает данные, а читает их; если в этот момент другое устройсво будет выдавать данные, то они и будут прочитаны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получается, что ядро скачаное мною с opencores, написано с ошибками.
Не совсем так, просто он своеобразно написано. К тому же, просто так взять его и просимулить своим тесбенчем непросто - слишком много вещей нужно увязать до кучи, что бы оно работало корректно.

Если отлаживаете только target, можете воспользоваться тестбенчем, прилагаемым Xilinx к своему PCI ядру - там всё гораздо проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно взять тестбенч от PCI кора PLDA - я пользовался от версии

4.52 (или 5.02?) - хорошо работает, удобное управление шиной PCI

через скрипты. Можно найти в сети.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тестбенч от PCI кора PLDA... Можно найти в сети.
Не поделитесь ссылкой? Через GPRS по сети заниматься поисками накладно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было в будках и нагано, но они мертвы.

Mог бы закинуть на фтп, но нет доступа.

Если только это надо кому-то еще.

Удивительно, как это у инженера-электронщика есть только GPRS !?

Изменено пользователем maior

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можете закинуть на какой-нибудь файлообменник, например http://zalil.ru/, а потом привести ссылку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот тестбенч еще кому-то надо? Просто вот сейчас он мне попался на глаза.

 

Поделись со мной если не трудно.. [email protected]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В виде демо проекта для алдека:

http://rapidshare.de/files/22985239/ipc_set.rar.html

Пароль: for_electronix

Изменено пользователем maior

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...