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

Tosha

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Частый гость
    Частый гость

Контакты

  • ICQ
    Array

Посетители профиля

1 754 просмотра профиля
  • macos

  1. SGMII и 1000Base-X электрически одинаковы. Различие в процессе работы - 1000Base-X поддерживает Autonegotiation, а SGMII нет. Кроме того различается передача данных на разных скоростях. SGMII передает данные на битовой скорости 10/100/1000. 1000Base-X всегда на скорости 1000, но каждый символ повторяется 100 или 10 раз для скоростей 10/100 соответственно. Для Марвелла есть возможность включать режим 1000Base-X даже на портах которые поддерживают только SGMII (возможно не для всех чипов). Как включить описывается в отдельном аппноте.
  2. А где сигнал DataValid? Вы его в своей схеме не используете? Попробуйте завести и выдать строб 1 такт длиной. Иногда бывают кривости с этим авалоном, особенно в исходниках корок. Например в исходнике PCI express корки, на внешний burst запускается внутренняя стейт машина. Если неправильно отдать ей данные, то она зависнет и нет никакой возможности ее сбросить без общего reset'a.
  3. Да действительно так тоже можно было сделать. А чтобы использовать внешнюю программу, наверное, нужно TCL использовать.
  4. Добрый день! Есть модуль написанный на Verilog'e, который производит некоторые расчеты. Для проверки результаты расчетов пишутся в файл. Есть консольная программа, которая проверяет правильность вычислений и может вернуть ошибку если расчеты неправильные. Как можно из Active*HDL из *.do файла запустить внешнюю программу после выполнения testbench и в случае ошибки выдать предупреждение? Это нужно для автоматизации проверки. Сейчас все тестбенчи прогоняются по очереди и если есть ошибки то выдается предупреждение. Нужно добавить проверку этого модуля тоже.
  5. Странно, что у вас нет входа прерывания. Я использовал корку PCIe для SOPC buildera, у нее есть обычный вход прерывания, при его установке выдается прерывание на шину. Только его нужно разрешить предварительно через CRA порт (я использовал legacy interrupt)
  6. Для TXS порта есть таблица преобразования. Для нее поддерживается 2 режима - фиксированный и динамический. Фиксированная таблица настраивается сразу, динамическую нужно настраивать после запуска через CRA порт. Как она работает: При записи или чтении из TXS порта старшие биты адреса подменяются по таблице "Avalon-MM-to-PCI Express Address Translation Table" на нужные, младшие биты остаются без изменений. Это было сделано для того, чтобы можно было иметь 8-байтовый адрес на шине PCIexpress и много устройств на шине Avalon.
  7. Собственно не то чтобы именно он подошел. Рассматривал разные варианты Raza/Netlogic, Cavium, Tilera, Freescale тоже. Показалось что по быстродействию такая сортировка на тот момент: Tilera > Cavium > Raza/Netlogic > Freescale Tilera немного мутная контора, не отвечали полгода, а потом вдруг отписались, документацию выслали. Говорят заказчики у них даже в России есть. Cavium развивается хорошо, доступ дал и много готовых плат от разных производителей продается относительно недорого. Netlogic заглох и продался Broadcom'у нынче. А Freescale действительно самый открытый, документация доступна. Но они помедленнее мне кажется. Хотя у них анонсированы новые мощные чипы и может быть ядра Power быстрее чем MIPS - не нашел результатов тестирования.
  8. Вам наверное нужно что-то типа такого: http://www.pericom.com/products/signal-swi...art=PI2PCIE2212 Это для сигналов RX/- и TX+/- Для Refclk нужен будет разветвитель типа такого: http://www.idt.com/document/dst/9db102-datasheet Остальные сигналы можно параллелить
  9. Если уж управлять тактовой частотой, то можно попробовать заменить кварцевый генератор на VCXO. Управляется он напряжением (ШИМ+пара резисторов+конденсатор) и позволяет менять частоту +-100ppm. Таким образом можно будет запусть съемку на всех камерах и подкручивая частоту их засинхронизовать. Солжновато будет ими управлять, но это решаемо
  10. Таких подробностей не знаю, но думаю там наверняка что-нибудь незадокументированно :) В принципе все блоки описаны, но мы собственно с ними не работали, только документацию поизучали.
  11. Не совсем так. Полное описание процессоров и регистров по NDA предоставляется. Базовый Linux, сетевой драйвер и средства разработки доступны бесплатно. Без CDK нет софтовой поддержки специальных аппаратных модулей (crypto, zip, regex и проч.) Возможно это можно поддержать вручную, но думаю, трудозатраты будут большими (описание CN5800 более 1000 страниц) :) Кроме того отдельно продаются специальные софтовые пакеты для IP, TCP, SSS и тд PS вот нашел Ftp там есть описание по программированию и какой-то SDK
  12. Если частота передачи мегагерцы, можете сделать модифицированный манчестер. Когда входной сигнал изменяется 0->1 или 1->0 добавляется короткий импульс длиной 10-20нс. Это и будет точка начала синхронизации. Второй вариант: можно сдвинуть манчестер на 90 градусов. Т.е. единица кодируется 1-0-0-1, а ноль соответственно 0-1-1-0. Таким образом можно получить выходной сигнал с минимальным джиттером. Если же частота более низкая, то манчестер не подойдет. Делайте частотную модуляцию как Jekin.
  13. Мы в свое время хотели использовать Кавиум, даже NDA с ними подписали. Узнавали цены напроцессоры, проблем особых не было с заказом, цены давали на единичные количества, что-то около 700 баксов за штуку. Avnet вот например продает микросхемы и отладочные наборы Также много производителей делают на этих процессорах готовые платы PCI-express, PMC модули и просто системы в корпусе. С ними вот какая проблема. Просто купить и использовать не получится. Linux конечно идет бесплатно, но чтобы получить доступ к набортной периферии нужно купить CDK за ~35k. Либо отладочный набор за те же деньги, там он кажется идет в комплекте. Мы пока так и не решились начать, хотя появились новые процессоры еще лучше чем старые :)
  14. 1 Могут (но режиме SGMII, который стоит по умолчанию, работать не будет. Насколько я помню, он только для подключения физики) 2 Нужно установить для соединенных между собой портов режим C_mode = 5(1000BASE-X). По идее еще должно работать с C_mode = 4(cross-chip), но я почему-то его не использую, уже и не помню почему :)
×
×
  • Создать...