Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 3. Debug схем - визуализация схемы, диаграммы Мура, симуляция

Лекция 3. Debug схем - визуализация схемы, диаграммы Мура, симуляция (В.В. Подымов, М.С. Шуплецов - Лекции и семинары)

PDF-файл Лекция 3. Debug схем - визуализация схемы, диаграммы Мура, симуляция (В.В. Подымов, М.С. Шуплецов - Лекции и семинары) Пакеты проектирования сверхбольших интегральных схем (53107): Лекции - 7 семестрЛекция 3. Debug схем - визуализация схемы, диаграммы Мура, симуляция (В.В. Подымов, М.С. Шуплецов - Лекции и семинары) - PDF (53107) - СтудИзба2019-09-18СтудИзба

Описание файла

Файл "Лекция 3. Debug схем - визуализация схемы, диаграммы Мура, симуляция" внутри архива находится в папке "В.В. Подымов, М.С. Шуплецов - Лекции и семинары". PDF-файл из архива "В.В. Подымов, М.С. Шуплецов - Лекции и семинары", который расположен в категории "". Всё это находится в предмете "пакеты проектирования сверхбольших интегральных схем" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Пакеты проектированиясверхбольшихинтегральных схемЛекция 3DebugРассказывает:Подымов Владислав ВасильевичОсень 2016e-mail:valdus@yandex.ruКак вы могли убедиться...Даже если вы сделали так, что схема успешно компилируется иразмещается, она скорее всего не работает как надо с первого разаОшибок никак не избежатьЧтобы легче работалось, их нужно уметь быстро отлавливать и исправлятьА насколько быстро?Явно быстрее, чем вот так:Работает как надо?Что-то написалнетнетЖдёшь, пока соберётсяБез ошибок?даУра!даСмотришь на выходыПрошиваешьУправляешьА если нет возможности залить всё на плату, то эта схема вообще не работаетDebug программЛокализация ошибки,вычитывание кодаНу конечно, тут же должно быть“++i”, а не “++j”!Отладчик●Поставил breakpoint’ы●Запустил отладчик●Посмотрел промежуточные значенияDebug схемЛокализация ошибки,вычитывание кодаОтладчикНе помогаетТогда можнопосмотреть на схемуНаписать модультестирования(testbench)Запустить симуляторИли, например,на диаграмму МураПосмотреть нанужные сигналыКак смотреть схему...Quartus, слева в меню разные viewer’ыЧто такое testbenchtestbench – это модуль на языке verilogУ этого модуля нет аргументов; в него вставляется тестируемый модуль,и все входы-выходы этого модуля выводятся в reg и wireVerilog содержит ряд инструкций, которые могут игнорироваться компилятором,но содержат информацию, полезную для отладки и симуляцииСреди таких инструкций:● отладочный вывод● вывод значений переменных вдоль конкретной трассы выполнения схемы● вывод значения текущего времени от начала работы схемыА вывод куда?●В консоль при работе средства симуляции●В файл специального формата (.vcd), из которого можно получитьнаглядное представление того, как изменяются сигналы во времениА сигналы какие?Какие хотим, вплоть до всех переменных всех модулей проектаКак писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:ИнициализацияВ реальной схеме нет единого момента времени, с которого начинается работаУ симулятора есть такой момент: 0 секундМожно задавать значения сигналов в начальный момент времени:reg [2:0] a = 3’b001;reg b;Обязательно “reg”!reg clock;initialbeginb = 1;clock = 0;endФункциональный блок, запускающийся в момент времени 0Блокирующее присваивание, ...Как писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:Контроль временных интерваловСимулятор предполагает, что операции, записанные в функциональных блоках(always, initial)происходят одновременно; в симуляторе можно явно разнести эти операции во времени:initialbeginb = 0;#2c = 1;b = 1;#3b = 0;endt=0t = t(posedge clock)t=2t = t(posedge clock) + 1always @(posedge clock)beginb = 0;#1c = 1;endt=5“#i” означает “всё, что дальше, происходит через i единиц времени”Как писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:“Хитрый” always-блокalwaysbeginb = 0;#1c = 1;#1b = 1;#1c = 0;#2endt=0t=5t = 10t=1t=6t = 11t=2t=7t = 12t=3t=8t = 13Такой always-блок выполняется всегдаВ нём явно должен быть указанхотя бы один ненулевой оператор продвижения времени...Как писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:“Хитрый” always-блокВ частности, вот так можно моделировать тактовый сигнал:Начинаем со значения clock = 0reg clock = 0;always#1clock = ~clock;Каждую единицу временименяем значение clock на противоположноеКак писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:Отладочная печать$display(“format”, args...)Полный аналог printf в C/C++$monitor(var1, var2, ...)Когда изменяется хотя бы одно из значенийпеременных vari, делать $displayстроки значений переменных$monitor(var1,, var2,,, var3)Если между запятыми ничего нет,то в этом месте печатается пробелА куда это всё выводится?Симулятор – это обычная программа с обычным потоком выводаВ этот поток всё и выводитсяКак писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:Текущее время$time, $stime, $realtimeЭто переменные, в которых хранится значение текущего времени:● в формате int_64● в формате uint_32● в формате floatЭти переменные можно использовать, например, так:$monitor($stime,, a,, b)Тогда вывод производится как минимум в каждый новый момент времениКак писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:Конец симуляции$finishЭто команда, завершающая симуляциюНапример:…initial#100$finish;...Завершить симуляциючерез 100 единиц времени…initialbegin#1 b = 0;#1 c = 1;#3 $finish;end...t = 1: сделать b = 0t = 2: сделать c = 1t = 5: завершить симуляциюКак писать testbenchТиповой набор команд и конструкций, который можно использовать в testbench’е:Генерация осцилограмм(так можно перевести “waveform”)$dumpfile(“file”)С выполнения этой команды устанавливается имя файла file:в него по другим командам будут записываться осцилограммы$dumpvars(level, objlist)С выполнения этой команды в установленный файл начинает записыватьсяинформация об изменении переменных, достаточная для создания осцилограммыobjlist – список имён переменных и модулей●●level = 0: для каждого модуля отслеживаем все его переменные ипеременные используемых в нём экземпляровlevel = 1: не отслеживаем переменные экземпляров$dumpoff – выключить запись изменения значений переменных$dumpon – включить запись обратно после $dumpoffКак работать с симулятором...●Quartus, наверху кнопка “RTL simulation”●Icarus Verilog: iverilog + vvp + gtkwave.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее