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

hendehoh

Участник
  • Постов

    11
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о hendehoh

  • День рождения 13.03.1990

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. RX Data в юзер интерфейсе и TX Data там же - это 32-разрядные КОДИРОВАННЫЕ данные (т.е. фреймы), А RXP/TXP - в GT интерфейсе - это 1-а битная линия данных НЕКОДИРОВАННЫХ? Так ли я рассудил. Ведь по интерфейсам - все должно быть явно наоборот, но из тестбенча выходит это. Если кто работал с авророй опишите пож. данную ситуацию
  2. Добрый день всем! Не могу разобраться с Авророй. Есть IP core [3-и линии, 6.144 Гбит/с, передача фреймами, с использованием AXI/да можно и без него.]. Работаю в ActiveHDL симуляторе. Есть сгенерированный пример и тестбенч. При симуляции тестбенча - не могу понять какие сигналы - данные. Логично предположить RXP (RX_positive) и TXP. В тестбенче сигналы замкнуты на себя (кольцом). Вот описание портов тестбенча: port ( RESET : in std_logic; --Error Detection Interface HARD_ERR : out std_logic; SOFT_ERR : out std_logic; DATA_ERR_COUNT : out std_logic_vector(0 to 7); -- Status LANE_UP : out std_logic_vector(0 to 2); CHANNEL_UP : out std_logic; --System Interface INIT_CLK : in std_logic; PMA_INIT : in std_logic; -- GTX Reference Clock Interface GTXQ0_P : in std_logic; GTXQ0_N : in std_logic; GTXQ2_P : in std_logic; GTXQ2_N : in std_logic; --GTX Serial I/O RXP : in std_logic_vector(0 to 2); RXN : in std_logic_vector(0 to 2); TXP : out std_logic_vector(0 to 2); TXN : out std_logic_vector(0 to 2)); последние четыре порта. Но как я понял из описания в даташите на аврору - это GTX входы и выходы, т.е. с трансиверов. Т.е. как я понимаю на RXP подается уже упакованный/кодированный фрейм? Или нет? Почему такая разрядность? 0-2: это 3-и битных линии? В каком тогда формате передаются данные? В итоге хочу найти сигнал/линию на которую могу ручками подать поток данных (например 0xAA) и посмотреть что на выходе авроры(т.е. кодированный фрейм) ошибки, флаги, и затем сымитировать подключение со второй авророй - и посмотреть на выходе - то что я посылал (0хАА). Если посмотреть то что написано в комментариях к сгенерированному тестбенчу - это и реализованно в нем. однако при симуляции (если я вручную меняю входы - то выходы неизменны). Что-то здесь не так.
  3. Понял свою ошибку. в бегине, когда пишем порт меп: либо перечисляем порты через запятую, либо сопоставляем сразу с сигналами объявленными в архитектуре. а я совсем не то сделал. Буду копать дальше.
  4. И новый вопрос: Как в VHDL вставить/объявить/описать entity другого фала vhdl? я пробую так: *** entity top is *** end top; architecture name of name is ***описание сигналов*** component a_example_design port ( RX_HARD_ERR : out std_logic; RX_SOFT_ERR : out std_logic; DATA_ERR_COUNT : out std_logic_vector(0 to 7); RX_LANE_UP : out std_logic_vector(0 to 2); RX_CHANNEL_UP : out std_logic; INIT_CLK : in std_logic; PMA_INIT : in std_logic; GTXQ0_P : in std_logic; GTXQ0_N : in std_logic; GTXQ2_P : in std_logic; GTXQ2_N : in std_logic; RXP : in std_logic_vector(0 to 2); RXN : in std_logic_vector(0 to 2); RESET : in std_logic); end component; begin aurora: a_example_design port map ( RX_HARD_ERR => RX_HARD_ERR, RX_SOFT_ERR => RX_SOFT_ERR, DATA_ERR_COUNT => DATA_ERR_COUNT, RX_LANE_UP => RX_LANE_UP, RX_CHANNEL_UP => RX_CHANNEL_UP, INIT_CLK => INIT_CLK, PMA_INIT => PMA_INIT, GTXQ0_P => GTXQ0_P, GTXQ0_N => GTXQ0_N, GTXQ2_P => GTXQ2_P, GTXQ2_N => GTXQ2_N, RXP => RXP, --здесь будет порт входа с трансивера RXN => RXN, --not -||- RESET => RESET); При этом в каталоге проекта лежит файл с entity a_example_design - сгенерированный ISE-ом Что я делаю не так. Простите что в одну и ту же тему...все это исходит из того первоначального вопроса, и плодить тем не хочется. А подобную реализацию я смотрю в книжке -Бибило(основы языка VHDL)стр.131-132-133 Ах да... а ругается на все подряд при компиляции: Unknown identifier "RX_HARD_ERR" и так со всеми портами Cannot find object declaration и так ко всем строкам портов Undefined type of expression и так тоже ко всему , хотя в файле a_example_design - есть такой же набор портов, почему он не видит их?
  5. А как определить этот самый ТОП левел? Например тем есть файл тест-бенча, а так же есть папка example_design - там в файле ***_block.vhd в коментариях написано что этот файл является топом. Так ли это? Какие еще варианты определить топ? Есть папка тест-бенч, разве не тестбенч должен быть топом? Непонял что такое exdes (это example_design?) и как там посмотреть пример установки топа? Если не трудно поясните мне пожалуйста...
  6. В общем вот что получилось: создал корку в ISE ethernet (решил проверить на простом примере просто) - сделал как все описано (можно и не делать, все действительно уже правильно настроено и фалы лежать в папке с проектом). в корне проекта есть .vhd и .vho и еще куча других. vhd - собственно сам наш необходимый файл для проекта, а в vho - можно посмотреть как его подключить(как я понял), из него надо скопировать в проект объявление компонента и его портов/сигналов. Соответсвие портов-сигналов изменяем (сигналы ставим из своего проекта и вуаля - должно работать). Затем я проделал то же самое и создал корку AURORA. Так в проекте там куча .vhd файлов, как я понял - в каждом описан свой блок, являющийся частью реализации протокола. И если я правильно понимаю надо все эти файлы прицеплять в свой проект, и получается здесь не один компонент а много!?? но почему, если при создании корки рисуется один блок с несколькими сигналами (схематично). И здесь я запутался... мне надо выискивать все сигналы в сгенерированных vhd файлах корки, смотреть в каких компонентах они и уже после в своем проекте объявлять все эти компоненты и сопоставлять порты с сигналами!?!?!?!? Или же все намного проще?
  7. Спасибо огромное. За выходные попробую подкинуть их в AHDL и проверить симуляцию... еще раз спасибо.
  8. Да, конечно: вот та тема... http://electronix.ru/forum/lofiversion/index.php/t91259.html Корка делается в ISE, там я выбираю нужный мне блэк-бокс для генерации (это реализация протокола/стандарта aurora 64/67 для работы с оптикой), вылезает окно с условным обозначением с указанием входов и выходов. На этом изображении четко видно например входной сигнал такой-то разрядности, выходной - такой-то. а потом после генерации - создаются файлы vhdl в папке проекта ISE и несколько ngc файлов. Но вот как мне это сгенерированное перетащить в AHDL я непонимаю! Это и есть исходники?
  9. Попутный вопрос: Как можно в такой связке (AHDL+ISE) посмотреть(отловить) значение в определенном регистре.? И вообще это возможно? (что-то типа режима отладки существует? Я слышал что в квартусе можно это сделать через signal Trap вроде... а здесь!? Спасибо
  10. Имеется Active-HDL(9.x) с готовым проектом (идет с модулем) и ISE(14.7), мне необходимо создать IP core в ISE (если конкретнее - то стандарт aurora). И добавить его в A-HDL готовый проект, чтобы дальше уже можно было симулировать сигналы совместно с ним. Ip core создать оказалось не сложно. В ISE - новый проект IP core generator, там выбрал уже готовый, галочками установил все настройки и вуаля. А дальше? Находил здесь тему что создают пустой .vhd файл в A-HDL, потом в опциях синтеза read core - галочка и путь к .ngc файлам IP CORE от ISE. Вопросы следующие: 0) Так ли я все понял? 1) После таких манипуляций я могу использовать сигналы из IP CORE в проекте? 2) Почему они не добавились никуда в A-HDL? Или где их посмотреть? Спасибо
×
×
  • Создать...