Jump to content

    

Серокой

Свой
  • Content Count

    126
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Серокой

  • Rank
    Частый гость
  • Birthday 05/07/1978

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Подольск
  1. Здравствуйте. Есть контроллер DDR3, самопальный. В ПЛИС всё нормально работало при выключенных DLL (потому что там никак не раскочегарить до 300 МГц), в заказной микросхеме же на номинальных частотах проявляется странный эффект: сбой записи 64 бит по адресу 1ff8. Это конец страницы памяти, при переходе дальше нужно активировать следующую строку. Но активации нет, это просто запись. При этом запись по адресу 1ff0 проходит. А ведь это ячейка с тем же адресом, просто последний DQS. Что бы это могло быть - не приложу ума... Записи в другие адреса проходят без сбоев, то есть это не время tWR...
  2. Чтобы тему не открывать новую... Есть ли в природе простые модели памяти DDR2? Так-то у меня тоже подключены микроновские Verilog, но они очень ресурсотребовательные, и там пикосекундная точность. В итоге моделирование сильно тормозит. Очень хочется для проверки всей системы, кроме контроллера памяти, использовать простую модель. Контроллер же, так и быть, потерпеть можно и нужно.
  3. Действительно, прислали другие файлы, уже под моделирование. Но там стоит: Код//pragma protect key_keyowner=Cadence Design Systems. НЦ понимает влёт, квеста воротит нос. Вот же, не одно так другое... В общем, Квеста в этом смысле не годится. Там и формат pragma другой, только NC. Ну и ладно. )
  4. Цитата(Stewart Little @ Mar 29 2012, 13:34) Хотя странно, что в постситнетическом нетлисте (а тем более в тестбенче) есть какие-то отсылки к зашифрованному исходнику... Нет, нет, я наверное плохо объяснил. Суть в том, что проект состоит из двух частей: 1. В одной папке RTL, синтезируемый Квартусом. 2. Во второй - тестовый поведенческий набор файлов на Верилоге, естественно что не синтезируемый. Но тестовый набор содержит ссылки на файлы, который в в папке с RTLьным кодом. Вот потому я не могу промоделировать, чтобы вообще просто посмотреть, как ядро работает. В нетлисте от Квартуса вызовов зашифрованных файлов нет.
  5. Цитата(RobFPGA @ Mar 28 2012, 20:03) А приведите примерчик как именно файл закодирован? Пожалуйста. просто бинарь: Цитата(Stewart Little @ Mar 28 2012, 20:23) Что-то не понятно... Какое Ip-ядро Вы используете (по крайней мере скажите, какую фичу в квартусовский лицензионный файл прописываете) ? Какой версией квартуса пользуетесь? 11-й квартус. Нет, с квартусом проблем нет, всё развелось. Проблема отмоделировать тестовые воздействия под QuestaSim. Фича, которая прописывается, просто цифровая, типа "FEATURE 7A43_F510 alterad". Цитата(Stewart Little @ Mar 28 2012, 20:23) Еще вопрос - у Вас альтеровская библиотека под квесту скомпилирована? Конечно. С загрузкой и компиляцией нетлиста под Квесту проблемы также нет... У меня есть подозрения, что нам дали тестовую систему, рассчитанную на не закодированные файлы... Спросили у авторов. ) но пока они ответят...
  6. Цитата(Stewart Little @ Mar 28 2012, 16:58) По идее нужно в квартусе получить постсинтетический нетлист, и уже его скармливать в квесту. Да я так и сделал... Беда в другом - в тестбенчах применяются нешифрованные файлы, но с передачей параметру модулям шифрованных файлов, подключенных внутри, и вот тут-то и наступает большой ОЙ... Потому что синтезированный верилог - только на тот параметр, который в нём по умолчанию... А документации просто нет, какие-то текстовый ридми, и всё... Рекомендуют использовать nc, правда, а у меня questa, но если nc умеет (как-то, в ридми ничего про то нету), то квеста чем хуже? Да, файла проекта под какой-либо САПР кроме Квартуса, тоже нет!
  7. Здравствуйте. Проблема такая, что есть кучка, довольно основательная, шифрованных Verilog-файлов. Квартус (при добавлении специальной строки в license.dat) их понял и откомпилировал, а вот как получить эмуляцию в QuestaSim, я не понимаю. Просто компилировать он не хочет, говорит - и весьма справедливо, - что там некорректные двоичные символы внутри.
  8. Fujitsu в своё время массово делал что-то такое, не знаю, как ныне. Даже со встроенным 2D ускорителем, а были микросхемы также со встроенной видеопамятью.
  9. VGA->LVDS

    Кстати, про клок. Точнее, про стандарт DVI - там же 3 LVDS канала и отдельной Channel C - тактовый. Я не могу понять по спецификации стандарта - там частота пиксельная, то есть та, с которой подаются данные на энкодер? То есть она в 10 раз ниже частоты данных, или всё ж полная частота - 1650 МГц для однолинкового в пределе?
  10. Кстати, подниму тему. Подцепить и раскрутить всё вышло, весело крутится, всё хорошо, кроме одного "но". Почему-то в итоге всего этого у меня не получилось поднять частоту ШИМ выше 10кГц. При том, что частота драйвера до 50 кГц. Потому мотор гудит вполне слышно. Думаю вот - это особенности мотора? Его катушки "гасят" короткие импульсы? Кто-то ещё пытался крутить мотором от флоппи, на какой частоте работал ШИМ?
  11. AvrStudio 5

    Цитата(zhevak @ Jan 27 2012, 02:45) to Серокой: Конечно, это не нормально. Я не знаю, что там у Вас на компе установлено. Это был обсуждаемый AVR Studio 5, собственно он же и в качестве программной оболочки (точнее, Visual что-то там от майкрософта). Впрочем, после перегрузки машины тормоза прошли, видать, после установки пакета надо было просто перегрузиться, чего я не сделал... Спасибо за пожелания! Я подумаю, если совсем будет сложно, перейду на командную строку, но отлаживаться всё равно придётся на симуляторе AVR Studio... Это до этапа GDB.
  12. AvrStudio 5

    У меня не самый тупой комп... 3 ГГц, 2 Гбайт ОЗУ. При этом я сляпал простую программу, начиная изучать AVR GCC, до того на IAR сидел. И что я вижу? При пошаговом моделировании кнопкой F10 на один шаг затрачивается пара секунд! Это что, нормально вообще?..
  13. Цитата(Sirko @ Dec 27 2011, 10:53) Правильно ли я сужу? Вторая строчка не будет работать. Просто компилятор не пропустит. И кстати, parameter обычно используют когда у вас подключается несколько модулей внутри, имеющих одинаковый RTL-код но их надо несколько по-разному сконфигурировать. Например, разная ширина шины данных, если это блоки памяти. А так, для присвоения по сбросу, по-моему, лишнее запутывание кода.
  14. Здесь я б использовал сдвиговый регистр. Без всякого счётчика. То есть примерно так: Кодparameter init_data = 16'b1111_0000_0000_1111; reg [15:0] shift; wire out; always @ (posedge Clk or posedge Reset)     if(Reset)         shift <= init_data;     else         shift <= {shift[0], shift[15:1]}; assign out = shift[15]; Конструкция always @ (posedge Clk or posedge Reset) представляет собой D-триггер с асинхронным сбросом положительным уровнем. При сбросе регистр инициализируется данными, заданными переменной init_data. Далее, когда сброс уходит в ноль, на выход идёт 15-й разряд регистра, который в кольце сдвигается каждый такт. У вас, я смотрю, свежо "программное" мышление, то есть как писать программы, и оно доминирует над "железячным". Просто главное отличие, что в Си всё выполняется построчно, а здесь - параллельно.
  15. Объясните задачу. Что требуется, чтобы при RAM_Address >= 7 загорелся светодиод? И зачем вам Complete как регистр, не понимаю.