Собственно решил стартануть новую тему, в которой буду описывать свои наработки для дев борды Altera DE1.
Так же буду задавать вопросы которые возникнут в процессе разработки.
Чуть позже выложу кое-какие наработки по плате.
--------------------------------------------------------------------------------
Итак, для начала приведу список вопросов, которые возникли:
- Методика расчет кадровых и строчных импульсов для VGA контроллера. Тонкости реализации VGA котроллера.
- Модифицикация VGA контроллера под DIGIASIC FPGA ADV7125/ADV7123 VGA board, либо реализация отдельного подмодуля.
- SRAM, SDRAM, EEPROM. Тонкости использования оных в рамках данной платы.
- Интерфейсы UART, PS/2, Audio Codec, JTAG, SDCard - разработка модулей. Тонкости реализации, подводные камни.
- Переключатели, кнопки, семисегментные индикаторы - кто и покакому назначению их использует.
- Подключение встроенной SDCard
Теперь по порядку:
Методика расчет кадровых и строчных импульсов для VGA контроллера. Тонкости реализации VGA котроллера.
1. Как я уже писал в соседней ветке решил написать свой VGA контроллер. Решил потренироваться с установкой видеорежимов, заодно сформировать базовый модуль для генератора синхроимпульсов. Возник вопрос: - Как правильно формировать синхроимпульсы?
Нашел данные для некоторых видеорежимов. Попробовал имплементировать - результат успешный.
Ewgeny7 посоветовал придерживаться общей методики расчета на основании диаграм и под различные разрешения просто масштабировать сигналы. Заодно я узнал, что лучше Также из беседы Ewgeny7 и Viktor2312 о программировании VGA почерпнул немного теории расчета. Вчерашние поиски теории в нете завершились находкой калькулятора для рачета синхросигналов. Попробовал расчитывать в нем табличные видеорежимы - результаты совпали. Калькулятор приаттачил (vesa.xls.7z).
При проектировании видеоконтроллера стоит учитывать Особенности архитектуры, которая эмулируется в железе, т.к. из-за несоблюдения тайимнгов мы не получим полноценной эмуляции железа. Примеры: Pentagon multicolor и т.д.[свернуть]
DIGIASIC FPGA ADV7125/ADV7123 VGA board
думаю проблем не должно возникнуть. Т.к. это обычный ЦАП. Документация на данный чип есть, и довольно неплохая.[свернуть]
SRAM, SDRAM, EEPROM. Тонкости использования оных в рамках данной платы.
Часть информации почерпнул из темы про Вектор-06ц и Башкирию 2м. Спасибо svofski, ivagor.
EEPROM - вроде бы никто не использует, но могу ошибаться, т.к. не все темы просматривал.
Известные проблемы SRAM
Дополнительная информация:
- TimeQuest
- Synopsis Design Constraint
- SDC and TimeQuest API Reference Manual
- Quartus II TimeQuest Timing Analyzer Cookbook
[свернуть]
Интерфейсы UART, PS/2, Audio Codec, JTAG, SDCard - разработка модулей. Тонкости реализации, подводные камни
PS/2 - судя по схеме платы и DE1_pin_assignments.csv можно только одно PS/2 утсройтво подключить?
[свернуть]
Переключатели, кнопки, семисегментные индикаторы - кто и покакому назначению их использует.
Из того, что выяснил:
- Переключатели - задание режимов работы FPGA эмулятора. Что логично.
- Кнопки - различные функции. RESET и т.д. Опять же - логично.
- Семисегментные индикаторы - при эмуляции ВМ80/Z80 в основном используется как PC (Могу ошибаться).
[свернуть]
Подключение встроенной SDCard
Решил прикрутить SD к проекту. И получил ошибку
Решение нашлось в ветке bk0010-fpga в DE1Код: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)
[свернуть]
Какую-то информацию черпал еще из 1chipMSX.
Предлагаю в данной теме делится наработками по данной плате. Начинающим как раз будет подспорье.