Не оправдана цена и мозги потраченные на его, да и функционало-мелколапость у него не в .... Уж лучше в стиле - "просто и сердито".
Вид для печати
Производитель как всегда на высоте!
Плата пришла уже сегодня, тоесть на 3 дня раньше срока. Качество на отлично!
Не стал на прототипе Silk делать, лишние 10 евро. Пока не вся мелочь в наличии, надо дозаказать кой чего.
Но сборку можно начинать! :v2_cool:
У меня 3 модели для музея уже есть :)
Надеюсь этотому последнему Aeon-у жизнь дать, в смысле в массы пустить. Тогда не будет жалко потраченного на него времени и средств.
Посмотрим, что с этого выйдет.
Я думаю, если всё запланированное заведу, у железки есть шанс стать интересной для народу, ну или хоть для маленькой его части :)
Сегодня, например, пришла идея добавить к USB Device в пике функцию доступа к SD-карте в Aeon'е, чтобы в винде виделась. Можно будет не вынимая карты кидать туды софт/данные.
Идей дофига. Было бы время...
ILoveSpeccy, а как вы видео ЦАП рассчитывали? На какую нагрузку ?
Надеюсь, проблем не будет, но по фэн-шую считают, исходя из нагрузки 37.5 Ом (1 резистор 75 ом(на каждом канале RGB) на разъеме, и 1 резистор 75 Ом в мониторе.
Если что, на прототипе будет несложно поправить.
Небольшой фотоотчёт...
Питание готово, FPGA опознается USB-Blaster'ом.
Запаял память и почти всё многоногое. Сегодня допаяю
мелочь, потом все разъёмы и вперёд!
Усё, спаял! :v2_dizzy_tired2: Нет только 3-х кнопок и PS/2 разъёмов (забыл заказать, как всегда :) ) и светодиоды на переднюю панель припаять надо, но эт когда я эту панель зделаю.
Теперь настало время "заводить" поделку...
http://s017.radikal.ru/i431/1310/c4/5d3f75902013t.jpg
http://i016.radikal.ru/1310/6d/86cc480df86ct.jpg
здорово! хорошо спаял.
С этого момента новости я буду публиковать в первом сообщении этой темы.
Какой клон первым будет?
Последнее время, когда оно было, занимался стартовой прошивкой и firmware микроконтроллера.
Уже работают:
- биппер, причем как задумано :)
- SD-карта, и заливки с ней стартовой прошивки (длится примерно 1 секунду, реактивно просто)
- связь пика с компом через USB, заливки по USB прошивок в FPGA (3-4 секунды) и полный доступ с компа к периферии контроллера. Так можно отлаживать отдельные части не перепрошивая контроллер, а управляя железом по USB с компа. Очень удобно!
- связь пика с FPGA по SPI тоже тикает
- статику заводил на 100MHz, работает вроде без сбоев. Чтение за 2 такта, запись за 3.
Впереди много ещё чего, но старт (причем пока удачный) уже есть. Было много проблем с пиком32 из-за незнания кое каких ньюансов, но всё уже отлажено.
А теперь пара вопросов, может у кого идеи будут на этот счёт:
1. мне нужен графический видеорежим для сервисной прошивки (пока только текст 80x30 символов со знакогенератором корвета, символы 8x16). С графикой можно будет показывать "фото" выбираемой платформы например. Думал графику совместно с текстом использовать. в распоряжении 1 мб. Разрешение наверное 640x480 оставить. Короче, как хранить видеоданные? 1 байт 8 пикселей + 1 байт аттрибут. + палитра??? или лучше 1 байт на пиксель + палитра? Я в этой теме не знаток, поэтому мож кто подскажет как наиболее просто организовать?
2. нужен какой-то "протокол" для хранения прошивок и информации о них на SD-карте и в SPI-Flash. Я думал про INI-файл (парсер в пике уже работает). Можно в нём просто описать что и где есть на карте и во флэше, краткое описание прошивок, ROM-ы и прочее. Может у кого есть идеи и на этот счёт? В планах сделать так, чтобы только редактируя файл (файлы) на карте (не перепрошивая пик) можно было полностью конфигурировать платформу и выбираемые прошивки.
эээ… немного пугающе. Знакогенератор это что? внешний вид символов или кодировка? Если второе, то обеими педалями сразу за cp866. Если речь про внешний вид, то шрифты с засечками трудночитаемы, рекомендую использовать что-то из амига-подобных. Например шрифт Робата из конфы TS-Labs.
---------- Post added at 16:35 ---------- Previous post was at 16:31 ----------
Брррр… а почему бы не посмотреть как сделано у того же TS-Labs? Если режим 256 цветов, то 8бит - цвет из палитры (1 точка), если режим 16 цветов, то по 4 бита (2 точки). Или проще говоря в видеопамяти хранится код (порядковый номер) цвета из палитры.
---------- Post added at 16:37 ---------- Previous post was at 16:35 ----------
Подробнее я описывал видеорежимы на сайте TSL — «PentEvo: Графические режимы конфигурации (TSConf) от TS-Labs»
Это и то и другое. Я использовал альтернативный знакогенератор (fontrom) "корвета". Символы 8x16, очень красивые, похожие на стандартный шрифт в "MSDOS 6" например. Кодировка там вроде тоже, стандартная досовская с русским.
---------- Post added at 15:47 ---------- Previous post was at 15:41 ----------
У меня VGA 12-битный, хотелось бы его использовать так сказать полностью, чтобы фотки смотрелись приятно. Думаю 4096 цветов должно хватить на чтото более-менее нормальное. Проще всего было бы использовать 2 байта на точку и из 16 бит использовать 12 на цвет, а остальные на прочие аттрибуты, например на мерцание и т.д. Как раз 1 мегабайта хватит.
---------- Post added at 15:50 ---------- Previous post was at 15:47 ----------
Вообще я, наверное, пока сильно не буду заморачиваться по этому поводу. Сейчас главное проверить все компоненты на плате, выслушать пожелания и критику, подкорректировать кой чего и "вылизать" окончательный вариант платы. Потом можно будет "стряпать".
вариант:
1. секции в ini соответствуют названиям моделей. в каждой секции например такой набор:
[sp 128]
uls_mode = 0
rom0 = "/rom/sos_128.bin"
rom1 = ""
port_7FFd = 1
ay = 1
и т.п.
по умолчанию флаг выключен
2. как в вар1, но есть мастер-ini с перечислением моделей и указанием конкретных ini
кучу флагов можно посмотреть в unreal.ini
Вчера вечером запустил первую прошивку. Хотелось завезти чего нибудь, увидеть так сказать в действии.
И так, первой прошивкой, успешно запущеной на моей плате стала "Башкирия 2М" Димы (b2m). Немного поправил исходники: убрал пошаговое исполнение и 50Гц видеорежим ну и добавил управление AC97 кодеком для звука. Всё работает. Загрузка с SD-карты работает тоже. В общем, начало есть!
Просьба к b2m: после первого доступа к карте SPI нога /CS остаётся в "0", тоесть карта активна всегда, даже когда к ней нет доступа. Было бы просто отлично, если бы этот "косяк" (bug or feature??? :D) был бы устранён.
з.Ы. мой сайт сейчас в дауне, провайдер отрубил из-за косяков. Вроде взломали, пока не разбирался. По-возможности поставлю на ноги.
Все части схемы работают? Не было ли предложений по производству данной платы со стороны юзеров данного форума?
Проверено пока не всё. На очереди:
- SDRAM
- USB Host
- Ethernet
- I2C EEPROM
- RTC
- SPI Flash
Остальное работает.
Теперь на очереди SDRAM. Посмотрим на какой частоте я смогу её завестию... Постораюсь сегодня свой 32-битный SoC с MIPS-процом погонять.
---------- Post added at 16:40 ---------- Previous post was at 16:36 ----------
Пока нет. Наверное стоит отдельную тему сделать для желаний.
Но как я понял, многим нужен ZX- (Nemo-) BUS. У меня нет ниодного девайса для ZX Bus, поэтому я думал просто предусмотреть возможность расширения, но сам пока не буду заниматься этим. Может когда нибудь, или кто-то изъявит желание.
SDRAM тоже работает. Запустил MIPS с SDRAM на 100МГц! Работает без сбоев.
Завтра пересчитаю тайминги и попробую на 133МГц (сам чип до 143 должен работать).
ILoveSpeccy, можно модуль контроллера sdram посмотреть (HDL)?
В общем дела с SDRAM обстоят более чем хорошо!
Завёл я в итоге её на макс. возможные по даташиту 143МГц.
Так что эту часть (SDRAM) я с уверенностью могу отметить как "в полном порядке".
Немного почитал доки от VNC2, много времени на неё уйдёт :) Там свой RTOS и куча своих прибамбасов. Не знаю когда время на неё найду :( Посмотрим.
з.Ы. вчера запустил на своей плате то, чего пока на других платах (по крайней мере на этом форуме) я не видел. Это Commodore C64! Пока без звука и без дисковёрта. Попробую сначала с "плёнки" грузить. Бейсик уже работает ;)
ILoveSpeccy, а можно еще констрейнты посмотреть(SDC) ?
Constraints - это моя актуальная головная боль :)
До 100МГц проблем никаких, но вот потом я никак не мог настроить всё правильно. Знаний пока не хватает. Но я и это наверстаю. После неудачных попыток я подглядел в проект "mist" и, можно сказать, скопировал то, что касается SDRAM оттуда.
Кстати, клок SDRAM нужно сместить на -1 - -2нс (у меня -2) относительно клока дизайна. В общем актуальный файл приатачил. С ним 143МГц без глюков.
Привет всем!
А если начало твоего кода:
заменить на:Код:p_main_statemachine : process(CLK)
begin
if rising_edge(CLK) then
if RESET = '1' then
. . .
. . .
else
. . .
. . .
Съэкономишь немного LEs. Или у тебя типа "синхронный ресет" ?Код:p_main_statemachine: process(RESET, CLK)
begin
if (RESET = '1') then
. . .
. . .
elsif rising_edge(CLK) then
. . .
. . .
Да это у меня от Xilinx осталось. Там флип-флопы могут в двух режимах работать и дополнительной логики это не стоило.
За совет спасибо! Только что попробовал, действительно немного экономнее так. А сигнал RESET у меня засинхронизирован в top'е.
Столкнулся с небольшой проблемой. Дело в том, что многие FPGA-проекты, такие как OnChipMSX, Башкирия 2М от b2m и т.д, требуют наличия на SD-Карте файла (в каждом проекте он свой), который должен быть записан на свежеотформатированную карту обязательно первым. Тоесть, такая SD-карта сможет работать только для одного конкретного поекта.
Тут с многоплатформенностью сложновато выходит :( Чего делать-то?
У меня было 2 идеи:
1. Поставить на плату 2 слота для SD-карт (microsd, тогда места хватит). Один для прошивок и "не капризных к первому файлу" проектов, а второй слот как раз для нашего случая.
2. Записывать на карту не сами ROM'ы, а имеджи маленьких по размеру SD-карт и эмулировать карту программно. Думаю я понятно выразился.
Может у кого идеи будут на этот счёт? Как лучше сделать?
---------- Post added at 14:23 ---------- Previous post was at 14:20 ----------
Прочитал. Вроде ничего нового. Всё знакомо.
Cyclone III в корпусе QFP240 только со спидгреем "8" в природе есть. У меня как раз такой :)
3. вариант, генерить и подсовывать корневой каталог
Это ещё не проблема, т.к. решается программно - доработкой загрузчика. К стати, сам загрузчик я храню не на SD-карте, а M9K, обычно для него 1КБ достаточно. Так, что он загружается вместе с конфигурацией. Ну, или если он сильно большой, что редкость - в свободном месте конфигурационной SPI FLASH.
Одаптируя Zet на U8, столкнулся с еще одной проблемой - требуется наличие параллельной FLASH для BIOS. Обойти думаю можно, кешируя BIOS в SDRAM, что в свою очередь тоже требует доработки загрузчика.
Я как раз занимаюсь тем же :) Я позавчера начал портировать Zet на свою плату. Тоже застопорился на BIOS'e. Пришлось срочно допиливать старвотую прошивку чтобы эту проблему решить. У мну, если всё без проблем пройдёт, Zet вот вот заработает.
Кастати, имедж флопа во флэш необязателен. Zet может и без него, только с карты стартовать.
---------- Post added at 15:57 ---------- Previous post was at 15:55 ----------
p.S. допилил сегодня парсер для конфига и прилепил меню выбора прошивки в системном контроллере. Короче, девайс потихоньку приобретает задуманный функционал.
На данный момент на плате обкатанны все компоненты, кроме VNC2 и Ethernet.
Короче, скоро буду допиливать окончательный вариант платы.
А раз никаких конкретных пожеланий от форумчан почти не поступало, то изменения будут минимальными. Из основных: освобожу немного ног у FPGA (есть идеи на этот счёт) и выведу их на гребёнку. И ещё пара мелочей.
Это лишнее. Я в своём SDRAM контроллере использую BURST MODE, и чтобы вместо 16 битов прочитать/записать 32 нужен всего один дополнительный такт. Этот такт, ИМХО, не стоит 16 и без того дефицитных ног FPGA.
---------- Post added at 17:58 ---------- Previous post was at 17:57 ----------
А вот тут есть над чем подумать...
Запустил на новом Aeon'e Zet! Или другими словаим, на плате работает что-то IBM-совместимое :)
Поиграл в Lemmings, Duna II. Norton Commander - Ностальгия! QBasic и Borland Turbo C тоже пашут...
Проблему с BIOS'ом решил очень просто. Перед заливкой в FPGA самой прошивки Zet, сервисная прошивка "заливает" образ BIOS'а из SD-карты в SRAM, которая в свою очередь играет роль ПЗУ. Дизайн занимает 67% кристалла. Есть поле для развития. Осталось AC97 кодек для звука прикрутить и готово!
Вот я присматриваюсь тоже к AC97, на предмет эмуляции скрозь него каких-нибудь амижных звуковых плат, но пока просто тупо не понимаю, с какой стороны за него браться. Так что давай, дерзай, мы за тобой внимательно наблюдаем :)
Работать с AC97 очень просто. У меня есть пара документов и написаный мной года 3-4 наза VHDL модуль для его управления. Так что это совсем не проблема. Если будут вопросы, помогу.
Тут сырок http://www.speccyland.net/index.php/...ed/4-ac97-vhdl
Усё, звук теперь тоже есть. Жаль что SoundBlaster пока фэйковый в проекте, просто заглушка стоит.
Погонял старого доброго принца персии, со звуком через бипер проблемы в этой игре. Думал что накосячил я где-то со звуком, но проверил на DE1. То же самое.
Нашел ещё парочку косяков в проекте. Надо автору сообщить будет.
А так, проект очень даже интересен. Хотябы тем, что не вынимая карты из платы можно будет, например, в редакторе нортона редактировать файлы конфигов, файлами управлять и т.д.
Для PC всякого софта навалом! Надо будет Windows 3.0 попробовать. Автор пишет что тоже пашет.