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

    

vicg

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
  • День рождения 04.03.1976

Информация

  • Город
    беларусь, россия

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

1 398 просмотров профиля
  1. Есть проект контроллера SATA на FPGA. Задача: Нужно разобраться как пользоваться командой Trim для увеличения производительности записи на SSD. Вопрос: Кто нибудь может внятно объяснить как пользоваться ATA командой DATA SET MANAGEMENT??
  2. SATA2.0 в Virtex5

    Тоже делаю SATA на Xilinx V5. Столкнулся с проблемой. Есть три HDD разных производителей (Sumsung,Seagete,Western Digital), так вот соединение + получение сигнатуры от HDD могу получить только от Sumsung. С другими HDD соединение устанавливается (принимаю примитивы SYNC) а вот сигнатуру HDD не присылает. Может кто сталкивался с такой ситуацией, а то уже голову сломал
  3. http://electronix.ru/forum/index.php?showtopic=63881 Тут ссылка на большое кол-во тех. лит. Может поможет
  4. Столкнулся с проблемой. Сдеал проект MicroBlaze+opb_uartlittel+opb_gpio+opb_emc+opb_InterruptContrler. На контроллер прерываний завел 2-а внешних прерывания. Написал небольшую програмку обрабанывающую эти 2-а перывания. Помоделировал данную систему в ModelSim. Все ОК. Потом решил отладить данную программу с помощью XMD(Xilinx Microprocessor Debugger). В опции XPS XDM Degug Option установил что буду работать с Virtual Platform. Сгенерил эту Virtual Platfom. Запустил XDM Запустил Software Debugger. Все Хорошо, только вопрос как указать Debugger-у что пришло внешнее прерывание. С SDK этот момент также непонятен. Может кто знает как отдебажить переывание с помощью XMD?
  5. Разговор про USB ...

    http://www.micrium.com/microblaze/MicroBlazeContent.html
  6. Странный глюк. Создаю проект в ISE7.1 (DCM + простейший проект в PlatformStudio (MicroBlaz + GPIO)). Clk2x DCM использую в качестве тактовой частоты MicroBlaz Потом моделирую данный проект, но ModelSimSE6.0 почемуто останавливает симуляцию не отработав заданный времменной интервал. Ладно. Убираю из проекта DCM. Все класно моделируется. Создаю новый проект (DCM + логика). Все класно моделируется. Вопрос. Почему проект (DCM + простейший проект в PlatformStudio (MicroBlaz + GPIO)). Clk2x DCM использую в качестве тактовой частоты MicroBlaz глючит при моделировании? Может кто сталкивался с такой ситуацией?
  7. Пример последовательного делителя целых чисел (Example of serial divider model ), и всяко другое. http://www.cs.umbc.edu/help/VHDL/samples/samples.html
  8. [attachment=2619:attachment]Посмотрел. Мне нужно минимальное быстродействие и минимальный обьем. А где бы взять эту книгу? (М.А.Карцев, В.А.Брик "Вычислительные системы и синхронная арифметика".) А 180 строк кода дает делитель, который делает активхдл при параметрах 24бит/8бит = 24бит.
  9. Переписать сложновато будет, там как-никак при 24бит/8бит 180 строк кода Но ведь уже кто-то где-то это сделал.
  10. Цитата(des00 @ Oct 13 2005, 11:30)хотя можно и взять деление от альдековского корегенратора и переписать или либу готовую поискать или на опенкорес сходить или ...... Уже пробовал. аналогичный делитель от альдековского корегена занимает в 2-3 раза больше места, чем xilinx-овый, применительно к xilinx spartan 3. C opencores та же история. Может есть еще где-нибудь, или кто-то писал уже ???
  11. Есть задача в проекте получить результат деления двух целых чисел - 24бит / 8 бит = 24бит результат. Пока использую корку от xilicoregen. В проекте на Spartan3 она занимает 400 slice. Хотелось бы уменьшить ее объем, т.к. в моей задаче не нужно большое быстродействие, и можно например использовать последовательные алгоритмы вычислений. Знает ли кто-нибудь как лучше это сделать?
  12. [quote=line,Oct 13 2005, 10:16] [quote=des00,Oct 13 2005, 08:23][quote=line,Oct 12 2005, 22:30]А как вы думаете ставить доп. внешние резисторы или нет ? (плата еще не ушла в производство) [/quote] Лучше поставить, или предусмотреть место для них. У меня была возможность сравнить одну и ту же схему по приему LVDS на встроенных DCI и на внешних резисторах, так со внешними резисторами она работала лучше.
  13. А доку слабо почитать??? У spartan3 ексть DCI пины, по два на банк, к которым и нужно подключить резюки. Их номинал и определяет, как будут себя вести IO. обо всем этом подробно в доке и написано.
  14. Цитата(Olxx @ Sep 30 2005, 08:30)Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса: 1. Как Xilinx Spartan относиться к чистому синусу в качестве клока? 2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам. Рекомендовал бы этот синусовый clk подать только на Spartan на центральной плате,сильно не нагружая и не искажая его длинными связями. А уж с этого главного Spartana раздавать остальным по диференциальному выходу например LVDS, (SPARTAN3 под него прямо заточен). В итоге получим хорошую помехозащищенность и никаких иголок. А подробности схемотехники LVDS у Xilinx описаны достаточно хорошо.
  15. Цитата(bve @ Sep 29 2005, 16:58)А причем здесь все единицы? Ведь именно когда их большой поток ( т.е. нибблы ( это четыре разряда данных )  идут в виде F с  прослойками 1 нолика в одном из разрядов )  и возникает эффект дублирования именно ниббла с ноликом вместо ниббла F ). При этом количество принятых нибблов - правильное. В поставленном вопросе обратный эффект не наблюдается, т.е. когда большой поток нулей и есть прослойка 1 единицы, то она не дублируется.( этот случай не упомянут). Значит в системе имеет место некая несимметричность на шине данных, т.е. время перехода 1->0 не равно времени перехода 0->1. Фронт (или срез) clk ( по которому происходит защелкивание инфы) получается то раньше то позже смены состояния шины данных (а это и есть несинхронность ), в результате чего и появляется ошибка. Поэтому: 1. Подзадержать clk до относительно данных ( на несколько наносекунд). 2. сделать дополнительное защелкивание данных во входных буферах ( IOB) 3. Проинвертировать clk.