Vinnetu 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба Скажите, нельзя ли из проекта в Quartus, выполненного в виде Block Diagram/Schematic получть VHDL код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergunas 2 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба File/Creat Update/Create HDL Design File for Current File Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vinnetu 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба Спасибо большое! А ещё вопрос. Как в симуляторе посмотреть интересующие сигналы? Я цепляю к сигналу Output Port, а потом нахожу его в симуляторе. Но ведь как-то иначе должно быть. В Квартусе недавно работать начал. На работе гонят, много времени разбираться нету. Приходится для скорости пользоваться теми методами, которые наиболее очевидны. Так что сорри, если простоту спрашиваю - это не от лени. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба А ещё вопрос. Как в симуляторе посмотреть интересующие сигналы? Я цепляю к сигналу Output Port, а потом нахожу его в симуляторе. Но ведь как-то иначе должно быть. У меня прокатывало в Find Nodes вводить "*<часть имени>*" для типа Post-syntesis или Post-rowted. И, что найдет, перетаскивать в .vwf Но такое проедет, если он сигнал не выбросит в процессе оптимизации - для таких сигналов можно присваивать "Virtual port" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vinnetu 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба для таких сигналов можно присваивать "Virtual port" Как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doc17 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба А ещё вопрос. Как в симуляторе посмотреть интересующие сигналы? Я цепляю к сигналу Output Port, а потом нахожу его в симуляторе. Но ведь как-то иначе должно быть. Можно посмотреть нужный сигнал и через Output Port, но лучше его объявить виртуальным: выбираете пин, правая клавиша мыши-> locate->locate in assignment editor-> в поле "Assignment name" выбрать "Virtual Pin" , затем в поле Value выбрать "On" и сохраниться (Ctrl+S) Это позволит вставить куда нужно виртуальные пины, не загромождая настоящими контактами проект, а также смотреть реальный сигнал в данный момент времени (без учета задержек, связанных с прохождением сигнала из ячейки до настоящего пина через матрицу соединений) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 7 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба Внутренние узлы можно вытащить в Post-Compilation. Они реальные. Их меньше, чем MAX позволял. Но вполне достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vinnetu 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба Спасибо всем! Большое спасибо! Всё понял, всё получилось! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doc17 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба Насколько я понял сейчас отладка идет на функцианальном или временном уровне. После этого можно посмотреть как все это будет работать на реальном железе (естественно при его наличии). Для этого своетую испоьзовать SignalTap (Tools-> SignalTap Logic Analizer) В Signal Configuration выбираете clock, по которому будет просмотр и запись сигналов, глубину просмотра (Sample Depth), а в окне SETUP добавляете сигналы, которые требуется посмотреть, а также выставляете условие, по которому производить начало записи (напр. по положительному фронту какого-ниб сигнала), нажимаете Run и готово! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 (изменено) · Жалоба для таких сигналов можно присваивать "Virtual port" Как? http://electronix.ru/forum/index.php?showt...ost&p=69579 (Это если на Верилоге) Изменено 6 сентября, 2006 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vinnetu 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 · Жалоба (Это если на Верилоге) Нет. Я использую графический редактор. Получается что-то вроде принципиальной схемы. Или структурной схемы, в которой вся система наглядно разделена на функциональные блоки. Мне кажется, что так более наглядно, чем просто писать на VHDL или на другом языке. Видны не просто функц. блоки, но и сигналы, которые в них входят-выходят, соответствие сигналов выводам на FPGA. Из-за наглядности проще отлаживать и получается всё намного быстрее. Блоки, в свою очередь, состоят из подсхем или компонентов, описанных на VHDL. Опять-таки для простоты, стараюсь не создавать громоздких компонентов. В каждом - не более одного процесса. По-моему, такой подход сильно экономит время. Очень просто отлаживать. Очень просто найти ошибку. Простой код просто изменить. Опять-таки, графическую схему легче обсуждать, чем программу на VHDL, выискивая по тексту тот или иной сигнал. можно посмотреть как все это будет работать на реальном железеНа реальном железе смотреть уже поздно. :) Там уже ДОЛЖНО всё работать. Для этого своетую испоьзовать SignalTapЭ-эх! Если б всё это знать, если б дали хоть пару недель свободно покопаться! Решать проблемы приходится прямо во время работы, по мере их возникновения. Заодно и учиться. :) :) -------------------------- Вот, кстати. Виртуальные пины сделать получилось, но - одиночные. Если пин Output может быть вставлен в симулятор как шина, то виртуальный разваливается на отдельные биты. Впрочем, не исключаю, что это у меня "лыжи не едут". :) Не экспериментировал пока особо. А с обычными выводами такая проблема, что в симуляторе видны пины только самой "верхней" схемы. Все выводы в блоках нижней иерархии в симуляторе появляются как Buried (скрытые) и в симуляции не участвуют. А транслировать проект в VHDL мне захотелось, чтобы попробовать его вставить в OrCAD. Понимаете, есть схема устройства. В устройстве есть FPGA или несколько. Если Оркад слопает такую штуку, то можно будет делать симуляцию устройств, состоящих из нескольких FPGA или устройств, соединённых друг с другом. Спасибо всем ещё раз, пошёл я домой. Завтра продолжу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DuHast 0 6 сентября, 2006 Опубликовано 6 сентября, 2006 (изменено) · Жалоба File/Creat Update/Create HDL Design File for Current File ;) Да, в этом случае код генерится, но не всегда корhектно. Например инверсии портов назначенные через properties игнорируются. Вот ещё пример: вход мегафункции lpm_and двухмерный массив размерностью [n][m], при m=1 Create HDL Design File подаст ей на вход std_logic_vector[n], тоесть имеет место несоответствие типов и проект вообще не будет компилится. Думаю это не все косяки. Так что будте осторожны. Изменено 6 сентября, 2006 пользователем DuHast Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 7 сентября, 2006 Опубликовано 7 сентября, 2006 · Жалоба Блоки, в свою очередь, состоят из подсхем или компонентов, описанных на VHDL.ну тогда быстрей это сделать парой кликов мыши :) Вот, кстати. Виртуальные пины сделать получилось, но - одиночные. Если пин Output может быть вставлен в симулятор как шина, то виртуальный разваливается на отдельные биты. В симуляторе Квартуса можно объединять сигналы в группе - контекстные команды "group/ungroup". Правда после этих действий у меня бывало 4.2 Квартус вылетал по ошибке и часто портил входной .vwf файл :( А транслировать проект в VHDL мне захотелось, чтобы попробовать его вставить в OrCAD. Понимаете, есть схема устройства. В устройстве есть FPGA или несколько. Если Оркад слопает такую штуку, то можно будет делать симуляцию устройств, состоящих из нескольких FPGA или устройств, соединённых друг с другом. Это можно делать и в других более качественных программах. Или OrCAD еще сможет посчитать задержку распространения сигнала от пина-до-пина по плате?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergunas 2 7 сентября, 2006 Опубликовано 7 сентября, 2006 · Жалоба Спасибо большое! А ещё вопрос. Как в симуляторе посмотреть интересующие сигналы? Я цепляю к сигналу Output Port, а потом нахожу его в симуляторе. Но ведь как-то иначе должно быть. если работаете в VHDL, попробуйте использовать атрибут keep Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doc17 0 7 сентября, 2006 Опубликовано 7 сентября, 2006 · Жалоба Если неохота вставлять виртуальные пины, то можно сразу посмотреть содержимое нужного регистра: В симуляторе стандартно Insert Node or Bus-> Node Finder-> выбрать " Registers Pre-synthesis" и указать название регистра как в блоке проекта (лучше имя указывать как "*name*" т.к. в начале добавляются имя проекта и блока ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться