User Tag List

Показано с 1 по 10 из 79

Тема: Altera DE1. Разработка и пробелмы связанные с ней.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.10.2014
    Адрес
    г. Минск, Беларусь
    Сообщений
    58
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Altera DE1. Разработка и пробелмы связанные с ней.

    Собственно решил стартануть новую тему, в которой буду описывать свои наработки для дев борды Altera DE1.
    Так же буду задавать вопросы которые возникнут в процессе разработки.

    Чуть позже выложу кое-какие наработки по плате.
    --------------------------------------------------------------------------------

    Итак, для начала приведу список вопросов, которые возникли:
    1. Методика расчет кадровых и строчных импульсов для VGA контроллера. Тонкости реализации VGA котроллера.
    2. Модифицикация VGA контроллера под DIGIASIC FPGA ADV7125/ADV7123 VGA board, либо реализация отдельного подмодуля.
    3. SRAM, SDRAM, EEPROM. Тонкости использования оных в рамках данной платы.
    4. Интерфейсы UART, PS/2, Audio Codec, JTAG, SDCard - разработка модулей. Тонкости реализации, подводные камни.
    5. Переключатели, кнопки, семисегментные индикаторы - кто и покакому назначению их использует.
    6. Подключение встроенной SDCard


    Теперь по порядку:

    Методика расчет кадровых и строчных импульсов для VGA контроллера. Тонкости реализации VGA котроллера.

    1. Как я уже писал в соседней ветке решил написать свой VGA контроллер. Решил потренироваться с установкой видеорежимов, заодно сформировать базовый модуль для генератора синхроимпульсов. Возник вопрос: - Как правильно формировать синхроимпульсы?
    Нашел данные для некоторых видеорежимов. Попробовал имплементировать - результат успешный.
    Ewgeny7 посоветовал придерживаться общей методики расчета на основании диаграм и под различные разрешения просто масштабировать сигналы. Заодно я узнал, что лучше
    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    все синхроимпульсы. гашение и прочие бланки оставлять на конец счетчиков, а не в начало. Счетчики нужны также для адресации видеопамяти, поэтому "левый край" должен начинаться с нуля, спокойно тикать до конца видимой области, а уж потом запускать синхроимпульсы.
    Также из беседы Ewgeny7 и Viktor2312 о программировании VGA почерпнул немного теории расчета. Вчерашние поиски теории в нете завершились находкой калькулятора для рачета синхросигналов. Попробовал расчитывать в нем табличные видеорежимы - результаты совпали. Калькулятор приаттачил (vesa.xls.7z).
    При проектировании видеоконтроллера стоит учитывать Особенности архитектуры, которая эмулируется в железе, т.к. из-за несоблюдения тайимнгов мы не получим полноценной эмуляции железа. Примеры: Pentagon multicolor и т.д.
    [свернуть]

    DIGIASIC FPGA ADV7125/ADV7123 VGA board

    думаю проблем не должно возникнуть. Т.к. это обычный ЦАП. Документация на данный чип есть, и довольно неплохая.
    [свернуть]

    SRAM, SDRAM, EEPROM. Тонкости использования оных в рамках данной платы.

    Часть информации почерпнул из темы про Вектор-06ц и Башкирию 2м. Спасибо svofski, ivagor.
    EEPROM - вроде бы никто не использует, но могу ошибаться, т.к. не все темы просматривал.

    Известные проблемы SRAM
    Цитата Сообщение от ivagor Посмотреть сообщение
    Пара слов про новые DE1 и SRAM EDBLL.
    1. Резисторы добавлять нужно.
    2. Если соблюдались тайминги срама, то все может и сразу заработать. Мне пока такие случаи не попадались (т.е. скорее всего заработает, но с ошибками). Чтобы избавиться от ошибок:
    2.1. Или подбираем timing constraints
    2.2. Или используем доступ к срам организованный по аналогии со сдрам - в первом такте выставляем адрес и т.д.
    Т.е. EDBLL сама по себе неплохая, тем более ECC, но внезапная и непродуманная замена на неё на DE1 - это очень нехорошо со стороны терасиковцев. Они даже панель управления не адаптировали и примеров под новый срам не приложили.
    Цитата Сообщение от ivagor Посмотреть сообщение
    Насколько помню, у BLL и EDBLL даже формально в даташите тайминги одинаковые. У IS61LV25616 вроде есть какое-то микроотличие, но это не мешает работать проектам с BLL и наоборот. А на платах с EDBLL нужно делать 2 вещи
    1. set_instance_assignment -name CYCLONEII_TERMINATION "SERIES 25 OHMS" -to срамовские пины
    2. Надо соблюдать тайминги. Из попробованных любительских проектов, сделанных на "старых" de1 и использующих срам ни один без доработки не работал нормально. Помогает или подгонка таймквестом или переделка на правильный доступ по тактам (я, например, накропал контроллер на базе сдрамного).

    п.2 явно из-за ECCшности EDBLL, а вот почему п.2. не помогает без п.1 - не знаю, но это многократно проверенный факт
    Дополнительная информация:

    [свернуть]

    Интерфейсы UART, PS/2, Audio Codec, JTAG, SDCard - разработка модулей. Тонкости реализации, подводные камни

    PS/2 - судя по схеме платы и DE1_pin_assignments.csv можно только одно PS/2 утсройтво подключить?
    [свернуть]

    Переключатели, кнопки, семисегментные индикаторы - кто и покакому назначению их использует.

    Из того, что выяснил:
    • Переключатели - задание режимов работы FPGA эмулятора. Что логично.
    • Кнопки - различные функции. RESET и т.д. Опять же - логично.
    • Семисегментные индикаторы - при эмуляции ВМ80/Z80 в основном используется как PC (Могу ошибаться).

    [свернуть]

    Подключение встроенной SDCard


    Решил прикрутить SD к проекту. И получил ошибку
    Код:
    Error: Can't place multiple pins assigned to pin location Pin_W20 (IOC_X50_Y2_N1)
    	Info: Pin SD_DAT is assigned to pin location Pin_W20 (IOC_X50_Y2_N1)
    	Info: Pin ~LVDS91p/nCEO~ is assigned to pin location Pin_W20 (IOC_X50_Y2_N1)
    Решение нашлось в ветке bk0010-fpga в DE1

    Цитата Сообщение от svofski Посмотреть сообщение
    Цитата:
    set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
    Но оно так и есть, если только Квартус сам чего-нибудь не перелопатил. Нужно пойти в assignments -> device & pin settings -> dual purpose pins и убедиться, что nCEO используется как обычный I/O после конфигурации.
    Цитата Сообщение от zebest Посмотреть сообщение
    ну почемуу же.. Есть и свежее немного, с картинкаме
    http://zx-pk.ru/showpost.php?p=749176&postcount=1428
    [свернуть]


    Какую-то информацию черпал еще из 1chipMSX.

    Предлагаю в данной теме делится наработками по данной плате. Начинающим как раз будет подспорье.
    Вложения Вложения
    Последний раз редактировалось avk.ghost; 12.11.2014 в 19:14. Причина: Дополнение.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ZX +3e для Altera DE2-115
    от anton95 в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 19
    Последнее: 29.02.2020, 14:53
  2. Разработка под эмулятором
    от Hacker VBI в разделе Программирование
    Ответов: 33
    Последнее: 14.03.2013, 15:11
  3. Ответов: 4
    Последнее: 11.07.2012, 19:22
  4. Altera
    от serg.ne@ в разделе Несортированное железо
    Ответов: 60
    Последнее: 24.12.2005, 12:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •