tnt23: (amiga)
Так вот про регенерацию. Засада с ней вот в чем: корка контроллера считает положенное количество тактов REFRESH_COUNT до следующего цикла регенерации, после чего взводит флаг и ждет, что регенерация волшебным образом случится, после чего снова начнет считать REFRESH_COUNT.
Еще больше букв и картинка )
tnt23: (amiga)
(чисто для себя)
Ошибки с большими объемами данных (от полумегабайта и выше, lha, md5sum). Тщательная возня с sdc, уточнение длин дорожек, съезжание вниз до 100МГц, игры с терминацией и выбором LVTTL/LVCMOS не помогали.
Волшебным образом исчезли, стоило только уменьшить в контроллере sdram количество тактов между auto refresh с 700 (для 10нс такта требуется 741) до 300. Привет от регенерации :)
tnt23: (amiga)


А если серьезно, то не знаю, правильно ли обвешал емкостями SDRAM чип. По 1мкф керамике на каждый VDD (итого 3 штуки), по 0.1мкф керамике на VDDQ (итого 4 штуки), один тантал 22мкф.

Короткометражное видео опытного запуска )
tnt23: (amiga)
Плата Z3SDRAM работает довольно-таки нестабильно.
Контроллер SDRAM в FPGA более-менее вылизан, отконстрейнен в TimeQuest и сбоев не дает, невзирая на tSU и tH в 1нс каждое. Асинхронная ему Zorro-часть тоже вроде бы доведена если не до совершенства, то хотя бы до самого общего понимания, что в ней работает и как. Тем не менее, машина с платой памяти не в состоянии день простоять да ночь продержаться под примитивным тестом (LHA пакует/проверяет архив на 40М в памяти) - обязательно где-нибудь либо архиватор будет прибит системой с жалобой на exception, либо система просто перегрузится.

Плата двухслойная, что добавляет бодрости, и уже увешана дополнительными конденсаторами по питанию чипа SDRAM и собственно FPGA как дед Мазай зайцами. Определенной стабильности это добавило, циклический тест памяти перестал давать ошибки, если возить грязным пальцем прямо по дорожкам и выводам, но все же, все же.

Сегодняшнее свежее утреннее озарение - чистый функционал Zorro+SDRAM занимает 397 из 8256 логических элементов FPGA (5%). Для отладки я использую SignalTap анализатор, встраиваемый в ту же FPGA, с ним получается 5440 логических элементов (66%). Внутренняя тактовая - 133MHz. В задаче спрашивается: будет ли существенная разница в нагрузке и наводках на цепи и полигоны питания при переключении на такой частоте 5% и 66% от всех ячеек FPGA?

Проверю на практике.

Топик на Electronix.ru, Cyclone III, PLL power decoupling
ALTERA: AN 583: Designing Power Isolation Filters with Ferrite Beads for Altera FPGAs
MICRON: TN-46-02 DECOUPLING CAPACITOR CALCULATION FOR A DDR MEMORY CHANNEL
MICRON: TN-00-06 Bypass Capacitor Selection for High-Speed Designs
tnt23: (amiga)

14022010111
Originally uploaded by tnt23
Плата в Amiga 4000. На переднем плане USB-blaster.
По крайней мере питание из Zorro разъема получается. AUTOCONFIG пока не работает.
tnt23: (amiga)
This is a very simple controller for the Altera DE2 SDRAM chip, with a CAS latency of 3 and a fixed burst length of 2 and auto-precharge for each read/write.

http://whoyouvotefor.info/altera_sdram.html

Выглядит многообещающе. Для DE1 надо будет немного подрихтовать в части инициализации чипа памяти.
tnt23: (amiga)
Копирование 1088 байт в DRAM поштучно: 7.1 ms (12.5 секунд на 1760 секторов)
Копирование 1088 байт в DRAM блоком: 5.3 ms (9.3 секунд на 1760 секторов)
То же, без регенерации DRAM: 4.4 ms (7.8 секунд на 1760 секторов)

Загрузка сектора (512 байт) с MMC по SPI @8MHz: 2.3 ms

Дальше еще менее интересно )
tnt23: (amiga)
Чтение 1760 секторов (512 байт каждый) с CF в статическую память: 14.5 секунд. 8.2ms на сектор, 121 сектор в секунду, 60 KBytes/sec.

После замены чтения слова с ожиданием (25us) на чтение без ожидания (10us): 7.5 секунд. 4.2ms/сектор, 235 секторов в секунду, 117.3 KBytes/sec.

Запись блока (512 байт) в DRAM: 3.84ms.
Переписанная монолитная процедура записи блока: 2.17ms.

Загрузка 1760 секторов с CF в DRAM: 13.9 cекунд.
tnt23: (amiga)
О недостатках ревижна 1.0:
Read more... )

brains

Feb. 1st, 2006 02:23 pm
tnt23: (Default)
Хорошие и добрые были шутки про советские микросхемы ("советские микросхемы - самые большие микросхемы в мире!" и "НПО 'Красная заря' освоило выпуск новых СБИС с двадцатью ножками и двумя ручками для переноски").
Четыре чипа SO-32 и шоколадный батончик, 640x480, ~56K )
tnt23: (Default)
Проект в процессе перевода на более-менее цивилизованные рельсы (ну там двустороняя ПП с маской и шелкографией, DRAM в виде отдельной микросхемы, а не старинного SIMM-30pin и так далее). DRAM нужного мне объема уже не бывает пятивольтовой, только 3.3в. С другой стороны, ATmega128 при 3.3в работает только на 8МГц, так что о двукратном повышении скорости чтения SD/MMC можно забыть. С третьей стороны, в ATmega128 статической RAM вчетверо супротив прототипа, что позволит дико соптимизировать скорость кодирования треков.
В плане конструктива зреет мысль выполнить плату по посадочным размерам дисковода 3.5", вынеся в виде торчащей дискеты дочернюю плату с LCD, кнопками и разъемом MMC.

DRAM ч.4

Aug. 8th, 2005 08:11 pm
tnt23: (Default)
Что проку от 36 секунд, если кодирование одного MFM сектора занимает десятки, если не сотни миллисекунд.
Read more... )

DRAM ч.3

Aug. 5th, 2005 12:33 pm
tnt23: (Default)
MCU@8MHz, SPI@2MHz: 1760 секторов (512 байт каждый) загружаются в DRAM за 58 секунд.
Update. То же самое, SPI@4MHz: 52 секунды.

Запись принятого с MMC байта в DRAM занимает ~875ns, следующий байт пишется через 26us.

С выключенным кодом приема байта в DRAM всё приходит более-менее в соответствие с ранними выкладками: 18 секунд.

Update 2. Запись в DRAM жрет не 875ns (это длительность /WE), а добрые 16.8us, отсюда и всеобщие тормоза.

Update 3. Слегка переписанная на ассемблере (и слегка оптимизированная) та же запись потребляет 4.8us, в итоге выражаясь в 36 секундах загрузки.

Update 4. Малость переделанный алгоритм регенерации DRAM (каждые 8ms по 512 рядов вместо 1024) приводит к 23 секундам загрузки.
tnt23: (Default)
Сообразил, как можно впихнуть выборку очередного байта, на которую требуется 10 тактов, в tight loop, где свободного места в лучшие времена всего 6 тактов, а так и вовсе 3.
Ослепительная истина )

DRAM ч.2

Aug. 1st, 2005 08:23 pm
tnt23: (Default)
Ну что же (фанфары!), в первом приближении оно работает. В ожидании, когда придет заказанная панелька для 30pin SIMM, я распаял старый 1Мx8 модуль прямо так.будет интересно далеко не всем )

DRAM

Aug. 1st, 2005 10:26 am
tnt23: (Default)
Узелок на память: если хочешь, чтобы DRAM работала как надо, потрудись снимать /WE :)

Profile

tnt23: (Default)
tnt23

April 2016

S M T W T F S
     12
3456789
1011 1213141516
17181920212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2017 04:37 am
Powered by Dreamwidth Studios