Jump to content

    

Серокой

Свой
  • Content Count

    127
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Серокой

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

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1070 profile views
  1. Здравствуйте. Есть контроллер DDR3, самопальный. В ПЛИС всё нормально работало при выключенных DLL (потому что там никак не раскочегарить до 300 МГц), в заказной микросхеме же на номинальных частотах проявляется странный эффект: сбой записи 64 бит по адресу 1ff8. Это конец страницы памяти, при переходе дальше нужно активировать следующую строку. Но активации нет, это просто запись. При этом запись по адресу 1ff0 проходит. А ведь это ячейка с тем же адресом, просто последний DQS. Что бы это могло быть - не приложу ума... Записи в другие адреса проходят без сбоев, то есть это не время tWR...
  2. Чтобы тему не открывать новую... Есть ли в природе простые модели памяти DDR2? Так-то у меня тоже подключены микроновские Verilog, но они очень ресурсотребовательные, и там пикосекундная точность. В итоге моделирование сильно тормозит. Очень хочется для проверки всей системы, кроме контроллера памяти, использовать простую модель. Контроллер же, так и быть, потерпеть можно и нужно.
  3. Действительно, прислали другие файлы, уже под моделирование. Но там стоит: //pragma protect key_keyowner=Cadence Design Systems. НЦ понимает влёт, квеста воротит нос. Вот же, не одно так другое... В общем, Квеста в этом смысле не годится. Там и формат pragma другой, только NC. Ну и ладно. )
  4. Нет, нет, я наверное плохо объяснил. Суть в том, что проект состоит из двух частей: 1. В одной папке RTL, синтезируемый Квартусом. 2. Во второй - тестовый поведенческий набор файлов на Верилоге, естественно что не синтезируемый. Но тестовый набор содержит ссылки на файлы, который в в папке с RTLьным кодом. Вот потому я не могу промоделировать, чтобы вообще просто посмотреть, как ядро работает. В нетлисте от Квартуса вызовов зашифрованных файлов нет.
  5. Пожалуйста. просто бинарь: 11-й квартус. Нет, с квартусом проблем нет, всё развелось. Проблема отмоделировать тестовые воздействия под QuestaSim. Фича, которая прописывается, просто цифровая, типа "FEATURE 7A43_F510 alterad". Конечно. С загрузкой и компиляцией нетлиста под Квесту проблемы также нет... У меня есть подозрения, что нам дали тестовую систему, рассчитанную на не закодированные файлы... Спросили у авторов. ) но пока они ответят... ai.v
  6. Да я так и сделал... Беда в другом - в тестбенчах применяются нешифрованные файлы, но с передачей параметру модулям шифрованных файлов, подключенных внутри, и вот тут-то и наступает большой ОЙ... Потому что синтезированный верилог - только на тот параметр, который в нём по умолчанию... А документации просто нет, какие-то текстовый ридми, и всё... Рекомендуют использовать nc, правда, а у меня questa, но если nc умеет (как-то, в ридми ничего про то нету), то квеста чем хуже? Да, файла проекта под какой-либо САПР кроме Квартуса, тоже нет! :(
  7. Здравствуйте. Проблема такая, что есть кучка, довольно основательная, шифрованных Verilog-файлов. Квартус (при добавлении специальной строки в license.dat) их понял и откомпилировал, а вот как получить эмуляцию в QuestaSim, я не понимаю. Просто компилировать он не хочет, говорит - и весьма справедливо, - что там некорректные двоичные символы внутри.
  8. Fujitsu в своё время массово делал что-то такое, не знаю, как ныне. Даже со встроенным 2D ускорителем, а были микросхемы также со встроенной видеопамятью.
  9. Кстати, про клок. Точнее, про стандарт DVI - там же 3 LVDS канала и отдельной Channel C - тактовый. Я не могу понять по спецификации стандарта - там частота пиксельная, то есть та, с которой подаются данные на энкодер? То есть она в 10 раз ниже частоты данных, или всё ж полная частота - 1650 МГц для однолинкового в пределе?
  10. Кстати, подниму тему. Подцепить и раскрутить всё вышло, весело крутится, всё хорошо, кроме одного "но". Почему-то в итоге всего этого у меня не получилось поднять частоту ШИМ выше 10кГц. При том, что частота драйвера до 50 кГц. Потому мотор гудит вполне слышно. Думаю вот - это особенности мотора? Его катушки "гасят" короткие импульсы? Кто-то ещё пытался крутить мотором от флоппи, на какой частоте работал ШИМ?
  11. AvrStudio 5

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

    У меня не самый тупой комп... 3 ГГц, 2 Гбайт ОЗУ. При этом я сляпал простую программу, начиная изучать AVR GCC, до того на IAR сидел. И что я вижу? При пошаговом моделировании кнопкой F10 на один шаг затрачивается пара секунд! Это что, нормально вообще?..
  13. Вторая строчка не будет работать. Просто компилятор не пропустит. И кстати, 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 как регистр, не понимаю. :)