Форум РадиоКот https://radiokot.ru/forum/ |
|
Вопрос по Verilog https://radiokot.ru/forum/viewtopic.php?f=60&t=136182 |
Страница 1 из 1 |
Автор: | TommyVersace [ Сб окт 01, 2016 13:17:46 ] |
Заголовок сообщения: | Вопрос по Verilog |
Здравствуйте! Начал изучать Verilog и сразу возник вопрос. Нашел код SPI протокола, все работает, компилируется, все хорошо. Только есть одна проблема: Когда вывожу на диаграмму внутренние регистры модуля, они все находятся в неопределенном состоянии. Перерыл все учебники по Verilog, великий гугл тоже отказался помогать. Прошу помощи у знающих людей. Выкладываю файл с кодом и тест-бенчем (на форум залить не смогу, так как больше 1 МБ) Файл: http://www.fayloobmennik.net/6603390 Если потребуется могу сюда выложить открытый код. P.S Писалось в Aldec HDL 9.3 Спасибо за внимание! |
Автор: | Meteor [ Вс окт 02, 2016 12:48:36 ] |
Заголовок сообщения: | Re: Вопрос по Verilog |
TommyVersace писал(а): Выкладываю файл с кодом и тест-бенчем (на форум залить не смогу, так как больше 1 МБ) Вот не хочется мне копировать проект с обменников. Сделайте две кодовые вставки с самим кодом и Вам наверняка помогут (уверен что только код на блок SPI и его тестбэнч весят гораздо меньше 1 МБ). |
Автор: | TommyVersace [ Вс окт 02, 2016 19:13:02 ] | |||
Заголовок сообщения: | Re: Вопрос по Verilog | |||
Спасибо за совет. Выкладываю 2 файла с кодом. Хотелось бы понять почему внутренние регистры находятся в неопределенном состоянии и как это можно исправить/настроить. Интересуют регистры "control" и "count" Спасибо!
|
Автор: | Meteor [ Вс окт 02, 2016 21:45:51 ] |
Заголовок сообщения: | Re: Вопрос по Verilog |
Совсем слаб в верилоге. Но даже просмотр по диагонали показал, что в проекте нет и намека на сигнал сброса и реакции на него (обнуление или установка в единицы) регистров. Без этого сигнала, задействованные регистры имеют полное право находиться в любом состоянии сразу после включения питания. Уверен на 99,9999(9)% что все Ваши беды именно в этом. Добавьте сигнал сброса и проинициируйте им состояния регистров. |
Автор: | TommyVersace [ Пн окт 03, 2016 08:04:04 ] |
Заголовок сообщения: | Re: Вопрос по Verilog |
Ресет реализован в самом конце кода в блоке initial. Initial begin mosi = 0; control = 0; . . . count = 0; end |
Автор: | Alik221 [ Вт апр 18, 2017 01:24:32 ] |
Заголовок сообщения: | Re: Вопрос по Verilog |
Скорее всего схема просто не успевает выполнить сброс. У вас во первых условие negedge reset с последующей проверкой if (reset) бесполезно, а во вторых reset вы держите ровно между двумя posedge clock. Увеличьте время reset и поменяйте условие сброса на if (~reset). |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |