Не попдалась ли кому модель SDRAM чипов ? В частности на Verilog
Вид для печати
Не попдалась ли кому модель SDRAM чипов ? В частности на Verilog
Итак, наступил на очередные грабли, в top-level-entity используется 30 выводов, в процессе компиляции мне выдают сообщение что использованы все 34 вывода. Почему? Из-за недостатка ресурсов матрицы соединений? Все рисовал схемным вводом, EPM3032ALC44...
30 + 4 на JTAG?
Торкнуло тут меня написать туториал по схемному вводу для программирования ПЛИС... Наверное потму, что уже заждался статейки от alost'a :v2_frown:
В общем, вот первая часть. Сильно ногами только не пинайте :)
А вот и вторая...
Добавил.
Вот еще девайс в копилку...
Двухканальный контролер SDRAM, с жесткими таймингами со стороны шины (аля можно работать как с SRAM), и прозрачной регенерацией
Отличительные черты:
- Убивает нафик все преимущества SDRAM
- Со стороны шины выглядит как 2 сихронных однотактных рама
- Регенерации не требует, делается прозрачно
- Частота каналов 7МГц, при частоте SDRAM 112 :), команды фиксируются по положительному перепаду клока шины. При подачи команды чтения по следующему
положительному фронту можо забирать данные.
- В принципе возможно один из каналов сделать что бы он работал с SDRAM пакетами по 2 слова (32 бит)
В вложении проект для квартуса 9, sdr_ctr - сам контролер в DE1_TOP тестовый генератор, цифровой индикатор на DE1 выводит колво ошибок если будут такие найденны
- В одном такте нельзя писать и читать из одной банки (A[21:20] - одинаковые)
Короче теперь я знаю SDRAM редкосная гадость если с ней работают девайсы с простыми неконвеерными шинами
Есть FPGA Flex EPF6016TC144-3. В даташите не нашел группировку его I/O-линий соответствие их входам питания VCCIO. Часть линий ввода-вывода будет работать на 3.3в, а часть на 5в. Соответственно, часть VCCIO надо посадить на 3.3в, а часть на 5в. Только какие куда?..
Кто-нибудь может помочь информацией?
Делить не нада (да и не умеет оно судя по всему, там где есть дележка VCCIO по банкам четко разделены VCCIO0 VCCIO1 и т.д. даж в квартусе)
Судя по http://www.altera.com/literature/an/an107.pdf просто VCCIO питаеш 3.3v
На 3 странице есть таблица. Ну можеш воткнуть последовательно резюков по 47ом.
Я через IDC40 на DE1 Z80 и AY8910 подключал. Правда шину данных пришлось подтягивать к +5Цитата:
3.3-V device can drive a 5.0-V device, and in return, can be driven by a
5.0-V device. Additionally, when the
VCCIO
pins on a 5.0-V device are
connected to 3.3 V, the I/O pins can still be driven by 5.0-V signals
because the I/O buffers are still 5.0-V tolerant.
Тьфу, точно. Смотрел на эту таблицу и так тормознул. Бывает же такое. Спасибо!
И в вантузе в свойствах пина есть TTL...
Ну, я в любом случае уже приготовил резисторные сборки по 56Ом :)
Я к DE1 подключал "Сегу" через резисторы 330Ом, но чисто в плане эксперимента, не стал рисковать девайсом. Не сегой, конечно :)
А как в Verilog можно сигнал подзадержать никто не подскажет? :rolleyes:
типо не задерживает? там суть в том что такая задержка пригодна только для очень коротких интервалов, а количество повторителей может быть больше десятка, так что если ты пожадничал с количеством, то никакого эффекта задержки и не заметишь..
Да не будет задержки, по крайней мере нельзя добиться устойчивой. Напишеш в проекте что нить совершенно с другого края, фиттер по другом распихает логику и задержка уплывет.
Так что остается по идее
-сдвиговый регистр
-PLL
-какой нить фазовый детектор
-мож какая мегафункция есть
Добавлено через 2 минуты
А еще на AHDL есть что то, там типа сигнал можно привязать что он не будет соптимизирован.
Пара вопросов с знатокам ПЛИС/ПЛМ:
1. Если схему какого-либо контроллера BDI, с применением РТшек, переводить на EPM3032/64 или EPM7032/64, то как быть с "эмуляцией" РТшки - заменять её на соотв. набор элементарных лог. элементов?
2. Для "мелочи" типа GAL/PALCE 16/20/22 есть ли какая - либо удобная "графическая схемная" среда разработки, как в Altera MAX/Quartus ихний Schematic? Т.е. набросал схемку, компильнул и готова прошивка? Или на уровне таблицы истиности? Загнал таблицу - что на выходах в зависимости от сост. на входах и готово! Или только ABEL/WinCUPL/VHDL изучать?
1. В MAX'е или Qaurtus'е можно как рисовать схему, так и описывать ее на логическом языке. Я начинал с первого.
2. Вышеупомянутые программы не поддерживают GAL'ы. Я расписывал логику на WinCUPL'е. Да и зачем есть семейство 7000S от Alter'ы с 32, 64 и 128 логическими ячейками в корпусах PLCC, которые через переходник/панельку PLCC=>DIP паяются на схему.
Да и вообще пора забывать про РТешки, да и GALки снимают с производства.
Функция памяти. Жрет ресурсов много, но для РТ в самый раз. Я как-то пихал в циклон РОМ от Орион-128... На рисованной логике можно, буквально нарисовав демультиплексоры и "матрицу" с выходом на буфер. Но это изврат :)
Добавлено через 8 часов 32 минуты
Заинтересовавшись темой про ПЗУ на альтере, я поковырял маленько мегафункции в МаксПлюсе и нашел полезную весчь - lpm_rom. При компиляции проекта оно подгружает указанный вами хекс в заданный блок памяти альтеры. Получаем симпатичное такое ПЗУ :) Ради интереса хочу попробовать залить прошивку РТ11 контроллера дисковода Скорпиона в самую дешевую и доступную из альтер - EPM3032ALC44.
Ну, вот два варианта на VHDL.
Первый проще для понимания, но более громоздкий.
Второй наоборот :)
Это проги для РТ11 ФАПЧ контроллера дисковода Скорпиона.
Выпаял со старого SCSI-контроллера EPM7096. Если ее выводы программирования используются как ввод-вывод (а на плате они куда-то идут), то можно ли в эту CPLD влить другую конфигурацию?
Сначала нужно попробывать прочитать ее программатором. Но, прошивка наверняка будет засекречена и не прочитается. В этом случае выход один - использовать ее для своих нужд.
Есть Altera FLEX EPF6016TC144-3. Смотрел документацию на нее - нигде явно не написано, на какой предельной частоте он может работать. Есть куча временнЫх параметров, но, честно говоря, я в них запутался. Есть график зависимости Icc Supply от частоты (файл dsf6k.pdf, стр.49, взят с altera.com). Как я понял, это значение потребляемого тока в зависимости от частоты. Если это так, то по этому графику при частоте 60МГц этот флекс потребляет более 800мА. У кого есть возможность, подскажите - правильно ли я понял? и как посчитать предельную рабочую частоту? Читал про Циклон2 - вроде как понятно, что до 400МГц, а тут - никак не пойму...
Вообще-то Quartus во время компиляции дает предупреждение о граничной частоте и времени распространения сигнала от одного из входов до одного из выходов.
При назначении пинов Флекса (в пин-планнере) я в меню выбираю:
Pin number: PIN_1
Node name: RAM_DATA[4]
I/O standart: TTL (default)
Reserved: As output driving VCC
Квартус (9.0) ругается и не хочет компилить:
Error: Can't reserve pin "RAM_DATA[4]" because that name already exists
Error: Can't fit design in device
Error: Quartus II Fitter was unsuccessful. 2 errors, 0 warnings
Error: Peak virtual memory: 155 megabytes
Error: Processing ended: Fri Jul 10 09:37:12 2009
Error: Elapsed time: 00:00:02
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 53 warnings
Стоит очистить поле Reserved, как все компилится. В тексте Верилога сигнал обозначен
output [7:0] RAM_DATA;
Что я делаю не так? Для Циклона 2С20 (на DE1) я в подобных случаях указывал в Reserved: As output driving VCC
и все было нормально...
Какой девайс? В моделях Max от Алтеры на пины 83,84,1,2 можно только назначать сигналы со входной тактовой частотой, выборкой кристалла, сброса девайса и так далее. Можно судить по названию: CLR,CEn, CLR и так далее. В принципе на них биты двухнаправленных шин назначит не удастся (как в твоем случае бит RAM_DATA[4] - чисто выход).