|
Создание компонета для SOPC Builder с несколькими регистрами ввода/вывода |
|
|
|
Jul 25 2012, 06:23
|
Местный
  
Группа: Свой
Сообщений: 222
Регистрация: 2-12-06
Из: г. Хабаровск
Пользователь №: 23 035

|
Здравствуйте! Простая по идее задача - хочу созадать свой компонент I2C для SOPC с возможностью конфигурирования его через внутренние регистры компонента (да хотя бы флаг RUN реализовать  ). Как это сделать? Нашел на сайте Altera пример Memory Mapped Slave. В этом шаблоне у устройства задается использование 16 внутренних регистров. Но там мощный шаблон, на 700 сток кода. Я аж испугался  А мне кажется можно это все сделать проще. Ведь всего лишь нужно вытянуть из SOPC информацию о том, по какому адресу он разместил внутренние регистры устройства, ну и сделать их программно доступными конечо с шины Avalon. Примеров других пока не разбирал. Но мне кажется моя задача должна встречаться у всех разработчиков периферии под процессор для FPGA. Товарищ показал код для Xilinx MicroBlaze в аналогичной ситуации. Там, как и в примере Altera в описании компонента применяется специальная нотация. Смотрел IP-core I2C от Terasic. Там, как я понял используется несколько отдельных регистров ввода-вывода, то есть устройство состоит из нескольких устройств на шине Авалон. Видимо это вообще самое простое решение. Но ведь как-то некрасиво?..
--------------------
|
|
|
|
|
 |
Ответов
|
Aug 23 2012, 13:32
|
Частый гость
 
Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134

|
Импульс небольшой длительности не гарантирует срабатывание вообще или именно однократное срабатывание. Сбрасывать программой, да ещё в обработчике, нужно потому, что больше никто не знает, что уже отреагировал на IRQ. Собственно можно и через PIO. Ничего плохого я в этом не вижу. Просто если вводить для этого отдельный компонент, то увеличивается нагрузка на шину -> падает быстродействие. Ещё, компонент получается не самодостаточным, если для только себя, то и пусть, а если отдавать кому, то совестно. Собственно, сделать детектор перепада уровня - это 2 триггера и логический элемент. А бит события PIO, также нужно чистить в прерывании, иначе в нем и останешься.
|
|
|
|
Сообщений в этой теме
altlogic Создание компонета для SOPC Builder с несколькими регистрами ввода/вывода Jul 25 2012, 06:23 Konst_777 Цитата(altlogic @ Jul 25 2012, 09:23) ...... Jul 25 2012, 17:41 altlogic Спасибо, буду иметь ввиду. Надо поковырять этот мо... Jul 26 2012, 02:05 barabek Цитата(altlogic @ Jul 26 2012, 12:05) Спа... Jul 29 2012, 22:32 Orochi Я учился работать с регистрами анализируя код этог... Jul 30 2012, 20:00 Acvarif Цитата(Orochi @ Jul 30 2012, 23:00) Я учи... Aug 13 2012, 13:41 Копейкин Сигналы, идущие наружу должны иметь тип интерфейса... Aug 13 2012, 16:40 Orochi Вот как подключен этот этот компонент у меня. aval... Aug 13 2012, 17:15 Acvarif Цитата(Orochi @ Aug 13 2012, 20:15) Вот к... Aug 14 2012, 07:05 Копейкин Deprecated-параметрами не следует пользоваться.
Эт... Aug 14 2012, 08:53 Acvarif Создал компонент Avalon MM Slave с пользовательско... Aug 17 2012, 06:44 Копейкин Я не силён в VHDL, пишу на Verilog, но
1) Выходной... Aug 17 2012, 08:00 Acvarif Спасибо. Попробую разобраться.
Если примитивно то... Aug 17 2012, 08:29 Копейкин Для чтения/записи отдельного байта следует использ... Aug 20 2012, 09:18 Acvarif Цитата(Копейкин @ Aug 20 2012, 12:18) Для... Aug 20 2012, 10:48 Копейкин Макро IORD(base, n) применяется при адресации типа... Aug 20 2012, 11:48 Acvarif Цитата(Копейкин @ Aug 20 2012, 14:48) Мак... Aug 20 2012, 12:35 Копейкин Вы должны увидеть активацию сигналов
avs_s0_read_... Aug 20 2012, 13:36 Acvarif Цитата(Копейкин @ Aug 20 2012, 16:36) Вы ... Aug 20 2012, 14:04 Копейкин Вы имеете в виду, что сигналы avs_s0_read_n & ... Aug 20 2012, 16:51 Acvarif Цитата(Копейкин @ Aug 20 2012, 19:51) Вы ... Aug 20 2012, 17:27  Acvarif Вроде получилось.
Для того, чтобы пронаблюдать на ... Aug 21 2012, 08:07 Копейкин Добавляете интерфейс Interrupt sender.
У Вас добав... Aug 21 2012, 10:35 Acvarif Цитата(Копейкин @ Aug 21 2012, 13:35) Доб... Aug 21 2012, 11:10  Acvarif Почитал немного букварь "Avalon Interface Spe... Aug 22 2012, 10:13 Копейкин Предупреждение предупреждает (о как), что устройст... Aug 22 2012, 13:31 Acvarif Цитата(Копейкин @ Aug 22 2012, 16:31) Пре... Aug 22 2012, 14:13 Копейкин Нет, автоматом не сбрасывается.
Ты должен иметь св... Aug 22 2012, 15:24 Acvarif Цитата(Копейкин @ Aug 22 2012, 18:24) Нет... Aug 23 2012, 06:30 Копейкин У меня примера под рукой нет, но когда разбирался,... Aug 23 2012, 09:05 Acvarif Цитата(Копейкин @ Aug 23 2012, 12:05) У м... Aug 23 2012, 10:18  barabek Цитата(Acvarif @ Aug 23 2012, 20:18) Спас... Aug 23 2012, 22:19   Acvarif Цитата(barabek @ Aug 24 2012, 01:19) По д... Aug 24 2012, 08:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|