Тестирование интерфейса PCI на FPGA

Мой босс дал код для тестирования PCI Express на плате Altera. Код состоит из нескольких файлов кода c, содержащих такие инструкции, как чтение Bios, установка некоторых регистров, запись в буферы и т. д. Моя работа в настоящее время состоит в том, чтобы увидеть функциональность кода, запустив его. Я новичок в FPGA и не могу понять, какие инструменты, компиляторы и т. д. я буду использовать для его компиляции для FPGA.

Поскольку это код C, я уверен, что не могу использовать ту же среду, что и Verilog/VHDL. Могу ли я получить некоторые подсказки относительно того, какие компиляторы доступны для компиляции кода C для тестирования различных интерфейсов FPGA?

Спасибо и привет

H


person gpuguy    schedule 09.04.2012    source источник
comment
Я не уверен, что вы сможете получить хороший ответ на этот вопрос, но посетив эта ссылка может повысить ваши шансы.   -  person Sergey Kalinichenko    schedule 09.04.2012


Ответы (2)


Если плата FPGA просто подключена через стандартный интерфейс PCIexpress, не так сложно создать драйвер Linux для простого доступа к паре регистров. Это может быть даже проще, чем заставить работать некоторые старые драйверы для DOS.

Несколько лет назад я поработал над этим в предварительном проекте своей магистерской диссертации. Если вам интересно, он доступен здесь: http://loejer.dk/files/FORK,%20pdf.zip

person sonicwave    schedule 10.04.2012
comment
Спасибо за информацию. Можете ли вы прислать мне некоторую информацию о создании драйвера Linux для доступа к регистрам? - person gpuguy; 11.04.2012
comment
Это в ссылке, которую я разместил. Посмотрите журнал3 в формате pdf. - person sonicwave; 11.04.2012
comment
Большое Вам спасибо. Я понял. Вы проделали большую работу в своей диссертации :-). - person gpuguy; 12.04.2012

Похоже, что цель состоит в том, чтобы вы подключали карту PCI-E к обычному компьютеру со слотом PCI-E, затем запускали тестовое программное обеспечение на главном компьютере, чтобы оно взаимодействовало с платой через PCI-E и выполняло проверку. плата с хоста, сбор данных на хосте и так далее.

Такой код почти наверняка будет непереносимым. Вам, вероятно, придется спросить, для какой системы он предназначен (или изучить код, чтобы найти подсказки — например, если он начинается с #include <windows.h>, это вполне справедливое указание на то, что он для Windows).

ОС, для которой он написан, даст по крайней мере 80% (или около того) подсказки о том, какой компилятор использовать - если это для Windows, весьма вероятно, что он предназначен для компилятора Microsoft. Если это для Linux, то еще больше шансов, что это для gcc/g++. Если это для MacOS, это, вероятно, для g++, но если это действительно новое, может быть нацелено на Clang.

person Jerry Coffin    schedule 09.04.2012
comment
Спасибо, Джерри. На самом деле FPGA имеет сигнализацию SATA, но интерфейс для sata — PCI. так что я предполагаю, что после вашего поста, спасибо за то же самое, код тестирует sata (запись-чтение на жесткий диск SATA) через pci, подключенный к хост-системе. Я вижу некоторые файлы, начинающиеся с sata, а также следующие файлы hedare › #include ‹time.h› #include pcifunc.h #include memfunc.h #include iofunc.h #include irqfunc.h - person gpuguy; 10.04.2012
comment
Судя по заголовкам, похоже, что тестовая программа вероятно предназначена для работы под MS-DOS. Наиболее распространенными компиляторами для MS-DOS были Borland и Microsoft. Был порт старой версии gcc на расширитель DOS (djgcc), но я не помню, чтобы у него был <dos.h> (хотя, возможно, это мои плохие воспоминания). - person Jerry Coffin; 10.04.2012
comment
Я не вижу конкретных оконных функций в коде, поэтому я думаю, что это для Linux. - person gpuguy; 10.04.2012
comment
@gpuguy: Учитывая, что он включает <dos.h>, я был бы весьма удивлен, если бы он был для Linux. - person Jerry Coffin; 10.04.2012
comment
вы правы, dos.h не для linux, поэтому я попробую для среды dos, используя турбо. - person gpuguy; 10.04.2012
comment
Теперь вот еще одна проблема. Я хочу сначала провести все испытания в симуляции, прежде чем переходить к плате. Каковы ваши предложения в этом случае? - person gpuguy; 20.04.2012