|
MicroBlaze + DDR3 + my_IP на AXI, подключение к AXI |
|
|
|
 |
Ответов
|
Jun 14 2013, 13:59
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
сдается мне у кого-то полная путаница в голове  .. создайте сначала компонент без браст записи, для акси лайт шины, для слейв модуля. сделайте так чтобы из проца вы в него писали, а от этого загорались лампочки, и чтобы вы нажимали кнопочки, а от этого по заданному адресу данные менялись. И вы все поймете как оно устроено. глобально компонент это 1. Модуль обертка - который вешается на шину внутри содержит: 1.1 вспомогательный модуль который работает с шиной и преобразует ее сложные сигналы в понятный набор сигналов Bus2IP - бас ту айпи, от шины к вам и IP2Bus - обратно клоки чипселекты, и прочие вспомогательные сигналы. 1.2 Пользовательский модуль, куда заведены эти понятные сигналы Последний сделан для вас, для редактирования. Изначально он не содержит ничего кроме набора регистров с прописанным примером их чтения и записи. Дальше вы в него пихаете компоненты, написанные вами прочие модули, и все все все что вам надо. И делаете управление всем этим через регистры. И выдачу данных обратно через регистры. и все. Также не воспрещается добавлять прочие как входные, так и выходные сигналы, их надо добавить и в пользовательском модуле и в модуле обертке, и соединить в модуле обертке... Также в модуль обертки можно добавить еще пользовательский модуль если это надо... Только надо понимать что это все для взаимодействия вашего модуля с микроблайзом, а если микроблайза нет, то и с шиной париться не надо, и можно писать обычный плисовый не процессорный модуль, что иногда бывает проще... без регистров, оберток и прочеее
|
|
|
|
|
Jun 19 2013, 12:21
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368

|
Цитата(Golikov A. @ Jun 14 2013, 17:59)  глобально компонент это 1. Модуль обертка - который вешается на шину внутри содержит: 1.1 вспомогательный модуль который работает с шиной и преобразует ее сложные сигналы в понятный набор сигналов Bus2IP - бас ту айпи, от шины к вам и IP2Bus - обратно клоки чипселекты, и прочие вспомогательные сигналы. 1.2 Пользовательский модуль, куда заведены эти понятные сигналы
Последний сделан для вас, для редактирования. Изначально он не содержит ничего кроме набора регистров с прописанным примером их чтения и записи.
Только надо понимать что это все для взаимодействия вашего модуля с микроблайзом, а если микроблайза нет, то и с шиной париться не надо, и можно писать обычный плисовый не процессорный модуль, что иногда бывает проще... без регистров, оберток и прочеее помогите разобраться. 1.модуль ,такой как есть, может работать только по командам от процессора? 2.если да и я хочу чтобы он работал полностью извне, то нужно вот этими сигналами управлять работой. Bus2IP_Clk : in std_logic; Bus2IP_Resetn : in std_logic; Bus2IP_Data : in std_logic_vector(C_SLV_DWIDTH-1 downto 0); Bus2IP_BE : in std_logic_vector(C_SLV_DWIDTH/8-1 downto 0); Bus2IP_RdCE : in std_logic_vector(C_NUM_REG-1 downto 0); Bus2IP_WrCE : in std_logic_vector(C_NUM_REG-1 downto 0); IP2Bus_Data : out std_logic_vector(C_SLV_DWIDTH-1 downto 0); IP2Bus_RdAck : out std_logic; IP2Bus_WrAck : out std_logic; IP2Bus_Error : out std_logic; и через них получить доступ к регистрам?
|
|
|
|
|
Jun 19 2013, 13:25
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(serg_k1 @ Jun 19 2013, 14:21)  помогите разобраться. 1.модуль ,такой как есть, может работать только по командам от процессора? Если вы о том примере - да Цитата(serg_k1 @ Jun 19 2013, 14:21)  2.если да и я хочу чтобы он работал полностью извне, то нужно вот этими сигналами управлять работой. Можно конечно, но зачем такое извращение? Если вам нужно извне управлять - заведите свои сигналы управления модуль. А что касается регистров - все это условно. Например FSM bus master - ему откуда-то надо знать что можно начинать работу, откуда и сколько писать или читать. В случае если командует процессор - регистры очевидное решение. Но у вас же своя задача и свои сигналы.... У меня например адрес и размер были вообще зафиксированы, команда "старт" приходила от таймера и регистр я оставил один - для подсчета байтов. Но никто вам не мешает сделать свой мастер который через упомянутые сигналы будет писать/читать регистры.
Сообщение отредактировал akorud - Jun 19 2013, 13:26
|
|
|
|
|
Jun 19 2013, 14:05
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368

|
Цитата(akorud @ Jun 19 2013, 17:25)  Если вы о том примере - да
Можно конечно, но зачем такое извращение? Если вам нужно извне управлять - заведите свои сигналы управления модуль. А что касается регистров - все это условно. Например FSM bus master - ему откуда-то надо знать что можно начинать работу, откуда и сколько писать или читать. В случае если командует процессор - регистры очевидное решение. Но у вас же своя задача и свои сигналы.... У меня например адрес и размер были вообще зафиксированы, команда "старт" приходила от таймера и регистр я оставил один - для подсчета байтов. Но никто вам не мешает сделать свой мастер который через упомянутые сигналы будет писать/читать регистры. я записываю в фифо данные. они не считываются пока нет команды на запуск. и что можно прямо так mst_reg(0) <= x"0a"; -- Control Register 0x02= single data beat 0x0a=Burst Assertion Control+Write Request Control mst_reg(1) <= x"01"; -- Status Register mst_reg(4) <= x"80"; -- Target Address mst_reg(5) <= x"00"; mst_reg(6) <= x"00"; mst_reg(7) <= x"00"; mst_reg(8) <= x"00"; -- Master BE mst_reg(9) <= x"00"; mst_reg(12) <= x"04"; -- Length Register -- bit 0-3 - Reserved mst_reg(13) <= x"00"; -- bit 4-15 - Transfer Length mst_reg(14) <= x"00"; mst_reg(15) <= x"0a"; -- Go Register Цитата(akorud @ Jun 19 2013, 17:25)  Но никто вам не мешает сделать свой мастер который через упомянутые сигналы будет писать/читать регистры. т.е. именно те сигналы , которые я перечислил? с сигналом Bus2IP_BE не понятно ведь он завязан с Bus2IP_Data при записи в регистры. Не могли бы пояснить как?
|
|
|
|
|
Jun 19 2013, 14:27
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(serg_k1 @ Jun 19 2013, 16:05)  т.е. именно те сигналы , которые я перечислил? с сигналом Bus2IP_BE не понятно ведь он завязан с Bus2IP_Data при записи в регистры. Не могли бы пояснить как? BE - Byte Enable. Т.е. если Bus2IP_Data шире 8 бит, то BE указывает какие из байтов несут данные (если ширина данных < ширины Bus2IP_Data). Типичные сценарии: - запись 8-битного значения на 32-битной шине; - при burst передаче если размер burst в байтах не кратный 4 (на 32-битной шине) - то при передаче последнего 32-битного слова не все биты Bus2IP_BE будут 1. Если у вас все данные размерности шины можно записать туда все 1 и не париться.
Сообщение отредактировал akorud - Jun 19 2013, 14:29
|
|
|
|
Сообщений в этой теме
zuuuuk MicroBlaze + DDR3 + my_IP на AXI May 5 2013, 15:44 akorud Цитата(zuuuuk @ May 5 2013, 17:44) Добрый... May 5 2013, 18:47 serg_k1 Цитата(akorud @ May 5 2013, 22:47) Лучше ... Jun 7 2013, 10:11  aabmail Цитата(serg_k1 @ Jun 7 2013, 14:11) если ... Jun 7 2013, 12:19   serg_k1 Цитата(aabmail @ Jun 7 2013, 16:19) Могу ... Jun 10 2013, 06:33    aabmail Цитата(serg_k1 @ Jun 10 2013, 10:33) было... Jun 11 2013, 08:01     serg_k1 Цитата(aabmail @ Jun 11 2013, 12:01) Откр... Jun 11 2013, 09:35      aabmail Цитата(serg_k1 @ Jun 11 2013, 13:35) все ... Jun 11 2013, 09:54       akorud Цитата(aabmail @ Jun 11 2013, 11:54) Ваш ... Jun 11 2013, 10:52        aabmail Цитата(akorud @ Jun 11 2013, 14:52) Подде... Jun 11 2013, 16:42         serg_k1 Цитата500 слов раз в секунду или чаще?
32р 400 сло... Jun 13 2013, 05:36          aabmail Цитата(serg_k1 @ Jun 13 2013, 09:36) 32р ... Jun 13 2013, 09:56           serg_k1 Цитата(aabmail @ Jun 13 2013, 13:56) Разъ... Jun 13 2013, 11:52            aabmail Цитата(serg_k1 @ Jun 13 2013, 15:52) 32р ... Jun 13 2013, 15:34             serg_k1 Цитата(aabmail @ Jun 13 2013, 19:34) 3. к... Jun 14 2013, 06:42       serg_k1 Цитата(aabmail @ Jun 11 2013, 13:54) Ваш ... Jun 11 2013, 12:11 Golikov A. А что если так.
Делаете микроблайз
в нем включае... Jun 10 2013, 10:44 serg_k1 Цитата(Golikov A. @ Jun 10 2013, 14:44) А... Jun 10 2013, 12:24 Golikov A. так вы что хотите написать свой акси конектор что ... Jun 10 2013, 14:07 serg_k1 Цитата(Golikov A. @ Jun 10 2013, 18:07) т... Jun 11 2013, 06:43 Golikov A. я делаю визардом из XPS компонент, обычно с верило... Jun 12 2013, 07:42 Golikov A. на гигабитном езернете, в крайне не оптимальном ре... Jun 13 2013, 17:19 Golikov A. такс...
ФИФО
это компонент с входом и выходом пар... Jun 14 2013, 07:00 serg_k1 Цитата(Golikov A. @ Jun 14 2013, 11:00) Д... Jun 14 2013, 07:54  akorud Цитата(serg_k1 @ Jun 14 2013, 09:54) созд... Jun 16 2013, 20:54   aabmail Цитата(akorud @ Jun 17 2013, 00:54) Ну та... Jun 17 2013, 10:09    akorud Цитата(aabmail @ Jun 17 2013, 12:09) Обыч... Jun 17 2013, 13:26 aabmail ЦитатаКогда на входе строба записи появляется един... Jun 14 2013, 08:04 Golikov A. то данные из data_in на этом же цикле записываются... Jun 14 2013, 10:36 serg_k1 Цитата(Golikov A. @ Jun 14 2013, 14:36) я... Jun 14 2013, 12:53 serg_k1 Цитата(Golikov A. @ Jun 14 2013, 17:59)
... Jun 14 2013, 14:11 serg_k1 Цитата(Golikov A. @ Jun 14 2013, 17:59) г... Jun 17 2013, 13:25     serg_k1 Цитата(akorud @ Jun 19 2013, 18:27) BE - ... Jun 20 2013, 13:53      akorud Не соглашусь, ну на то тут и форум чтобы можно был... Jun 20 2013, 15:51       TimeToSleep Цитата(akorud @ Jun 20 2013, 16:51) Зачем... Feb 12 2016, 07:16        akorud Цитата(TimeToSleep @ Feb 12 2016, 08:16) ... Feb 13 2016, 15:45         TimeToSleep Цитата(akorud @ Feb 13 2016, 16:45) Если ... Feb 17 2016, 14:34         TimeToSleep Цитата(akorud @ Jun 19 2013, 15:27) BE - ... Feb 18 2016, 07:40          akorud Цитата(TimeToSleep @ Feb 18 2016, 08:40) ... Feb 22 2016, 10:43           TimeToSleep Цитата(akorud @ Feb 22 2016, 11:43) 1. По... Feb 25 2016, 07:00            akorud Цитата(TimeToSleep @ Feb 25 2016, 08:00) ... Feb 25 2016, 09:48             TimeToSleep Цитата(akorud @ Feb 25 2016, 10:48) Если ... Feb 25 2016, 12:40              akorud Да, оно. Feb 25 2016, 18:58             TimeToSleep Цитата(akorud @ Feb 25 2016, 12:48) Далее... Feb 26 2016, 07:11              akorud Цитата(TimeToSleep @ Feb 26 2016, 08:11) ... Feb 26 2016, 10:17               TimeToSleep Цитата(akorud @ Feb 26 2016, 13:17) Что-т... Mar 9 2016, 06:04               TimeToSleep Цитата(akorud @ Feb 26 2016, 13:17) Что-т... Mar 11 2016, 06:13      akorud Цитата(serg_k1 @ Jun 20 2013, 15:53) спас... Jun 21 2013, 06:58 Golikov A. да ничего там не условно.
В модуль входит шина АК... Jun 17 2013, 19:47 Golikov A. чет я не понимаю.
вроде бы 2 задачи
1.
У вас модул... Jun 20 2013, 05:01 akorud Цитата(Golikov A. @ Jun 20 2013, 07:01) .... Jun 20 2013, 08:18 Golikov A. каким мастером? как можно управлять мастером?
я т... Jun 20 2013, 10:13 Golikov A. вообщем это делается так.
Есть микроблайз с ДДР, ... Jun 20 2013, 15:02 Golikov A. Да я что-то уже путаюсь. Мне кажется что топикстар... Jun 20 2013, 18:41 serg_k1 Цитата(Golikov A. @ Jun 20 2013, 22:41) Д... Jun 24 2013, 05:43  akorud Как то все очень запутано - кажется ТС пробует ... Jun 24 2013, 10:03   serg_k1 Цитата(akorud @ Jun 24 2013, 14:03) Как т... Jun 24 2013, 14:03    akorud Цитата(serg_k1 @ Jun 24 2013, 16:03) я на... Jun 24 2013, 14:38     serg_k1 Цитата(akorud @ Jun 24 2013, 18:38) Да, о... Jun 25 2013, 11:14      serg_k1 Цитата(serg_k1 @ Jun 25 2013, 15:14) или ... Jun 25 2013, 12:29      akorud Цитата(serg_k1 @ Jun 25 2013, 13:14) .tx_... Jun 25 2013, 13:28   TimeToSleep Цитата(akorud @ Jun 24 2013, 11:03) Я бы ... Feb 19 2016, 12:55 TimeToSleep Здравствуйте, akorud .
Тема достаточно забытая, н... Feb 11 2016, 14:20 TimeToSleep Подскажите, пожалуйста, сталкивался ли кто-то с те... Mar 18 2016, 06:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|