torik 0 November 19, 2007 Posted November 19, 2007 · Report post Всем привет! Пару-тройку месяцев назад пытался выяснить в общих чертах, что такое SOPC Builder и с чем его едят. Читал соответствующую главу хандбука и статью про шину Авалон на altera.ru. К сожалению дело было заброшено в связи с другими срочными работами. Но сейчас планирую вернуться к вопросу применения этого инструмента. Обращаясь к специалистам и тем кто просто имел дело с SOPC Builder, хочу спросить следующее: - возможно ли применение SOPC Builder без использования Nios-процессора? Т.е. могу ли я создать комбинацию, грубо говоря, из контроллера памяти SDRAM и DMA или даже просто контроллер памяти. Это собственно и сподвигло меня на изучение билдера. Один из важнейших вопросов - применение памяти типа DDR, SDRAM, потому хотелось бы не занимаясь разработкой контроллера, использовать контроллер из SOPC Builder, а потом обращаться по интрефейсу шины Авалон. Практически это будет выглядеть как обращение к набору регистров - линейное адресное пространство и никаких запар с инициализациями и прочим. Если ответ на первый вопрос положительный и даже если нет, хочу перевести для себя эту главу хандбука, посему опять вопрос: - достаточно ли для освоения SOPC Builder для начала перевести соответсвующую главу хандбука и описание шины авалон с altera.ru? - интересует ли кого еще такой перевод и не будет ли это бесполезной работой - может он уже переведен? Quote Share this post Link to post Share on other sites More sharing options...
RHnd 0 November 19, 2007 Posted November 19, 2007 · Report post - возможно ли применение SOPC Builder без использования Nios-процессора? Я не специалист, но, на сколько знаю, да. - достаточно ли для освоения SOPC Builder для начала перевести соответсвующую главу хандбука и описание шины авалон с altera.ru? Не читал, что именно написано на сайте ЭФО, но, думаю, да. И даже более чем. Хотя, все равно лучше читать исходники с altera.com. Прочитать -достаточно, но вот переводить - излишне. Зачем? - интересует ли кого еще такой перевод и не будет ли это бесполезной работой - может он уже переведен? Если и интересует, то немногих. Нет, уверен, что не переведен - не нужен, устаревает быстрее, чем переводится. PS:Не возможно серьезно заниматься любой it-деятельностью, не владея техническим английским! Я серьезно. "-А есть русские мануалы на xxxx? -Есть русские мануалы на английский язык. Полезная вещь!" © bash.org.ru Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 19, 2007 Posted November 19, 2007 · Report post Согласен - английский технический просто необходим. С этим уже стало намнооого меньше проблем чем раньше. Перевод хотел для того, чтобы лучше все усвоить, потренироваться в аглицком... А вот каким образом применить SOPC Builder без использования Nios-процессора в том варианте как я описал -я не понял... Quote Share this post Link to post Share on other sites More sharing options...
F.P.G.A. 0 November 19, 2007 Posted November 19, 2007 · Report post Согласен - английский технический просто необходим. С этим уже стало намнооого меньше проблем чем раньше. Перевод хотел для того, чтобы лучше все усвоить, потренироваться в аглицком... А вот каким образом применить SOPC Builder без использования Nios-процессора в том варианте как я описал -я не понял... Присоединяюсь... Сам не давно пытался подключить DDR SDRAM без NIOS в проект через SOPC, так ничего и не вышло... :07: Вообщем мучился, потом открыл Megawizard в нем создал и работаю со своим проектом... Если кто подключал, было бы очень интересно узнать, какие впечатления... Спасибо Quote Share this post Link to post Share on other sites More sharing options...
id_gene 0 November 19, 2007 Posted November 19, 2007 · Report post В СОПС-билдере для создания системы нужены как минимум 1 мастер и 1 слейв. Будет ли мастер процессором или PCI-мостом или еще кем-то - неважно. Кто будет слейвом - DDR контроллер или on-chip memory тоже не важно. Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 20, 2007 Posted November 20, 2007 · Report post Что же лучше использовать в качестве мастера? Quote Share this post Link to post Share on other sites More sharing options...
RHnd 0 November 20, 2007 Posted November 20, 2007 · Report post Что же лучше использовать в качестве мастера? Если вы хотите использовать просто корку сдрам в собственных проектах, то мастера надо написать самому. Фактически, прямая трансляция портов шины авалон наружу. Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 20, 2007 Posted November 20, 2007 · Report post Т.е. надо создать мастер, который бы не только имел мастер-нитерфейс, но еще и имел дополнително сигналы для связи с внешней пользовательской логикой (вне системного модуля)? Хм... продолжаю читать, может пойму как это сделать. Но почему же тогда нельзя в качестве этого мастера использовать DMA, потому что у него нет сигналов для соединения с внешней логикой? Quote Share this post Link to post Share on other sites More sharing options...
id_gene 0 November 20, 2007 Posted November 20, 2007 · Report post Но почему же тогда нельзя в качестве этого мастера использовать DMAА вы пробовали? Т.е. надо создать мастер, который бы не только имел мастер-нитерфейс, но еще и имел дополнително сигналы для связи с внешней пользовательской логикой (вне системного модуля)?Это самое простое и правильное решение. Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 21, 2007 Posted November 21, 2007 · Report post Например, ставим в SOPC Builder-е DAM и котнроллре SDRAM типа как на рисунке в приложенном файле. Он не дает сгенерировать систему. Как я понимаю - это потому что control_port_slave не подключен? Что необходимо сделать для его подключения - надо создать компонент с интерфейсом мастер, и стыкующийся с внешней логикой. То же самое без DMA - надо создать компонент с интерфейсом мастер... А может тогда проще взять этот контроллер из визарда, да использовать? Дело то вот в чем - хочется сделать такую вещь, чтобы к FPGA была подключена SDRAM, а запись в нее производить просто как в асинхронную память или набор регистров - адрес 32 (к примеру) бита, данные 8 бит, запись/чтение и все... _______.doc Quote Share this post Link to post Share on other sites More sharing options...
Postoroniy_V 0 November 21, 2007 Posted November 21, 2007 · Report post Например, ставим в SOPC Builder-е DAM и котнроллре SDRAM типа как на рисунке в приложенном файле. Он не дает сгенерировать систему. Как я понимаю - это потому что control_port_slave не подключен? Что необходимо сделать для его подключения - надо создать компонент с интерфейсом мастер, и стыкующийся с внешней логикой. То же самое без DMA - надо создать компонент с интерфейсом мастер... А может тогда проще взять этот контроллер из визарда, да использовать? Дело то вот в чем - хочется сделать такую вещь, чтобы к FPGA была подключена SDRAM, а запись в нее производить просто как в асинхронную память или набор регистров - адрес 32 (к примеру) бита, данные 8 бит, запись/чтение и все... использовать как "просто асинхронную память" sdram при помощи данного конроллера не выйдет к сожалению. почитайте даташит на sdram и тогда думаю Вы поймёте почему. Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 22, 2007 Posted November 22, 2007 · Report post Итак, пока результат следующий. Прочитал главу хандбука SOPC Builder - не всей, а только до редактора компонентов включительно. Решил попробовать простейший эксперимент: создаем свой собственный компонент без HDL файлов; сигналы мастера запись/данные(10 бит), clk, reset, адрес. Далее добавляем этот компонент в свою систему SOPC Builder, туда же закидываем PIO на 10 бит. Этот PIO автоматом подсоединяется к нашему мастеру, становится только на выход, т.к. нет сигналов чтения... Все прекрасно компилируется. Вставляем это в наш проект, к выходам PIO подключаем светодиоды. Адрес = 0 (остальные регистры PIO не используем), таковую даем, сигнал записи и данные со счетчика. Результат - все работает как и ожидалось!!! Такие дела. Теперь возвращаемся к SDRAM памяти... :))))) Делаем такой же мастер без внутренней логики, только с большим адресным пространством + datavalid. Добавляем SDRAM корку - все стыкуется и генерируется. А дальше, простите, я не успел на работе попробовать - быть непонятки: - память общим объемомо 16 МБайт, к ней что, можно обращаться как к линейному адресному пространству? - прочитал (вернее проглядел :)) даташит на SDRAM и не оченьто понял - а как же регистры для настройки??? Они не нужны, получается... Подскажите, пожалуйста, можно ли обращаться к этой памяти SDRAM как к линейному адресному простанству через простой интерфейс, выполненный по соглашениям Авалон, нужно ли делать предварительно какие-то настройки памяти? Quote Share this post Link to post Share on other sites More sharing options...
RHnd 0 November 22, 2007 Posted November 22, 2007 · Report post Если я ничего не путаю, то да, можно. Все необходимые настройки памяти задаются при создании компонента в SOPC. Quote Share this post Link to post Share on other sites More sharing options...
torik 0 November 22, 2007 Posted November 22, 2007 · Report post Вот это дела - это же почти халява по сравнению с самостоятельным написанием контроллеров памяти и прочей обвязки... :) Quote Share this post Link to post Share on other sites More sharing options...
vetal 0 November 22, 2007 Posted November 22, 2007 · Report post сигналы мастера запись/данные(10 бит), clk, reset, адрес. Еще надо обязательно ввести сигнал waitrequest! Quote Share this post Link to post Share on other sites More sharing options...