реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Система powerPC на ките ML-403, о-о-чень медленная работа процессора
nagserg
сообщение Dec 17 2012, 12:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Привет всем!

Создал проект с powerPC на плате ML-403
Процессору указал частоту 300МГц
На шину PLB прицепил контроллер ввода-вывода gpio.
Написал программулину, выводящую в порт ввода-вывода 1 и 0 в цикле

так период составляет во времени больше одной микросекунды... - это с отключенным кешем.
с включенным кешем получше: около 200нсек

софт использую ISE 14.2

Просьба, кто работал с таким китом, поделитесь примером, где процессор работает с внешними устройствами на максимальной скорости..
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 17 2012, 14:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(nagserg @ Dec 17 2012, 15:38) *
Просьба, кто работал с таким китом, поделитесь примером, где процессор работает с внешними устройствами на максимальной скорости..

Читайте доку на PLB шину, что бы понимать откуда берутся эти задержки и как вообще работать с периферией.
Single beat transactions где-то так и будут как Вы получили,
для максимального throughput нужно использовать Burst transactions и DMA, но это уже совсем другая история.
Go to the top of the page
 
+Quote Post
nagserg
сообщение Dec 18 2012, 07:43
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Цитата(Mad_max @ Dec 17 2012, 18:04) *
для максимального throughput нужно использовать Burst transactions и DMA, но это уже совсем другая история.

Да, видимо придется DMA использовать, а вообще планируется на шину plb прицепить контроллер внешней периферии xps_epc и добиться периода цикла записи, чтения 120нсек. Получится ли добиться таких скоростей в этой конфигурации?

P.S. Сам я новичек в этом деле..

Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 18 2012, 08:20
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(nagserg @ Dec 18 2012, 11:43) *
Да, видимо придется 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 вставлет паузы.
Go to the top of the page
 
+Quote Post
nagserg
сообщение Dec 19 2012, 12:18
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Цитата(Mad_max @ Dec 18 2012, 12:20) *
Поэтому не понятно что Вы хотите от этих 120нс, передать бит, байт или 10 Гигабайт.

Ширина шины 16бит, вот эти 16бит надо передать за 120нсек, вернее пачку из 256х16бит, т.е каждые 120нсек 16бит.

В общем спасибо, пока в процессе..
Go to the top of the page
 
+Quote Post
nagserg
сообщение Dec 25 2012, 06:36
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Здравствуйте, применительно к той же системе: есть файл 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, но тоже ругается не понятно на что.

Подскажите, как создать конечный файл для прошивки в конфигурационную память, желательно по шагам..
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 25 2012, 07:13
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



UG437
В общем виде формат команды такой
data2mem -bm my.bmm -bd code.elf -bt my.bit -o b new.bit
потом из new.bit делаете .mcs и прошиваете флэш.
А по шагм ищите тут же на форуме, уже не раз обсуждалось.
Go to the top of the page
 
+Quote Post
nagserg
сообщение Dec 25 2012, 10:30
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Цитата(Mad_max @ Dec 25 2012, 11:13) *
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]
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 23:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016