nagserg 0 17 декабря, 2012 Опубликовано 17 декабря, 2012 · Жалоба Привет всем! Создал проект с powerPC на плате ML-403 Процессору указал частоту 300МГц На шину PLB прицепил контроллер ввода-вывода gpio. Написал программулину, выводящую в порт ввода-вывода 1 и 0 в цикле так период составляет во времени больше одной микросекунды... - это с отключенным кешем. с включенным кешем получше: около 200нсек софт использую ISE 14.2 Просьба, кто работал с таким китом, поделитесь примером, где процессор работает с внешними устройствами на максимальной скорости.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 17 декабря, 2012 Опубликовано 17 декабря, 2012 · Жалоба Просьба, кто работал с таким китом, поделитесь примером, где процессор работает с внешними устройствами на максимальной скорости.. Читайте доку на PLB шину, что бы понимать откуда берутся эти задержки и как вообще работать с периферией. Single beat transactions где-то так и будут как Вы получили, для максимального throughput нужно использовать Burst transactions и DMA, но это уже совсем другая история. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nagserg 0 18 декабря, 2012 Опубликовано 18 декабря, 2012 · Жалоба для максимального throughput нужно использовать Burst transactions и DMA, но это уже совсем другая история. Да, видимо придется DMA использовать, а вообще планируется на шину plb прицепить контроллер внешней периферии xps_epc и добиться периода цикла записи, чтения 120нсек. Получится ли добиться таких скоростей в этой конфигурации? P.S. Сам я новичек в этом деле.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 18 декабря, 2012 Опубликовано 18 декабря, 2012 · Жалоба Да, видимо придется DMA использовать, а вообще планируется на шину plb прицепить контроллер внешней периферии xps_epc и добиться периода цикла записи, чтения 120нсек. Получится ли добиться таких скоростей в этой конфигурации? P.S. Сам я новичек в этом деле.. Единица измерения пропускной способности это количество (переданных) бит за единицу времени. Поэтому не понятно что Вы хотите от этих 120нс, передать бит, байт или 10 Гигабайт. Если хотите использовать xps_epc, то открывайте спеку на него и смотрите там времянки чтения/записи. И проверьте есть ли там поддержка Burst. В общем случае могу посоветовать использовать plb_master, но у него есть свои ограничения - максимальное количество Burst transaction 16. Зная тактовую частоту шины (допусти 100Мгц) и ширину шины данных (32 бита) можете прикнуть пиковую пропускную способность. 16*32=512бит / 16*10=160нс. Но средняя скорость передачи данных будет ниже, так как мастер между 16 burst вставлет паузы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nagserg 0 19 декабря, 2012 Опубликовано 19 декабря, 2012 · Жалоба Поэтому не понятно что Вы хотите от этих 120нс, передать бит, байт или 10 Гигабайт. Ширина шины 16бит, вот эти 16бит надо передать за 120нсек, вернее пачку из 256х16бит, т.е каждые 120нсек 16бит. В общем спасибо, пока в процессе.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nagserg 0 25 декабря, 2012 Опубликовано 25 декабря, 2012 · Жалоба Здравствуйте, применительно к той же системе: есть файл powerpc_proc_v3_top.bit, есть edkBmmFile_bd.bmm и есть peripheral_tests_0.elf В SDK в program FPGA выбираю powerpc_proc_v3_top.bit и edkBmmFile_bd.bmm и bootloop, потом запускаю на отладку peripheral_tests_0.elf и все работает. А вот как это дело зашить в конфигурационную память (на плате стоит XCF32p) ума не приложу, есть утилита data2mem, которая вроде бы должна создать файл прошивки с программным кодом, но Data2MEM:33 - Matching ADDRESS_SPACE for code segment ttO not found in 'a.b Code segment #0 occupies [0х00000000:0x000105D3]. Есть еще impact, но она тоже не хочет генерировать. В SDK есть пунктик program flash, но тоже ругается не понятно на что. Подскажите, как создать конечный файл для прошивки в конфигурационную память, желательно по шагам.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 25 декабря, 2012 Опубликовано 25 декабря, 2012 · Жалоба UG437 В общем виде формат команды такой data2mem -bm my.bmm -bd code.elf -bt my.bit -o b new.bit потом из new.bit делаете .mcs и прошиваете флэш. А по шагм ищите тут же на форуме, уже не раз обсуждалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nagserg 0 25 декабря, 2012 Опубликовано 25 декабря, 2012 · Жалоба UG437 data2mem -bm my.bmm -bd code.elf -bt my.bit -o b new.bit именно это и не работает: data2mem выдает ошибку: ERROR:Data2MEM:33 - Matching ADDRESS_SPACE for code segment #0 not found in 'my.bmm Code segment #0 occupies [0х00000000:0x000105D3] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться