Перейти к содержанию
    

Констрейны в Quartus

До сей поры я пользовал только микросхемы Xilinx. Теперь возникла необходимость поработать с проектом на Altera, подкрепленная интересом к продукции данной фирмы. После установки и довольно длительного мЫкания с Quartus 7.1 sp1 (Web) в попытках применить свой накопленный с ISE немалый опыт возникли некоторые вопросы:

1) Есть ли способ задания ограничений на проект (временнЫх и прочих, например назначения пинов), аналогичный UCF'у у Xilinx или есть только Assignmens Editor и описанные в Quartus II Handbook Tcl команды. В итоге вся эта инфа хранится в QSF-файле, но как я понял, править его они не советуют.

2) Есть ли возможность ручками и глазками (по отчетам) проверить работу встроенного синтезатора Квартуса. То есть посмотреть что (сумматоры, счетчики, мультиплексоры и т.п.) и сколько он нашел в каждом из синтезируемых модулей. У Xilinx такая возможность имеется.

 

В общем вопрос такой, кто как задает ограничения и почему именно так? Особенно интересно мнение коллег, одинаково часто применяющих и Xilinx и Altera в своих проектах.

 

P.S. Используется микросхема EP1K30TC144-3 (ACEX1K)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Есть ли способ задания ограничений на проект (временнЫх и прочих, например назначения пинов), аналогичный UCF'у у Xilinx или есть только Assignmens Editor и описанные в Quartus II Handbook Tcl команды. В итоге вся эта инфа хранится в QSF-файле
Да, все установки проета хранятся в одном файле.

 

но как я понял, править его они не советуют.
Фигня, все нормально правится.

 

2) Есть ли возможность ручками и глазками (по отчетам) проверить работу встроенного синтезатора Квартуса. То есть посмотреть что (сумматоры, счетчики, мультиплексоры и т.п.) и сколько он нашел в каждом из синтезируемых модулей.
Конечно. В окне Compilation Report есть дерево всех результатов. Ищите там.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно. В окне Compilation Report есть дерево всех результатов. Ищите там.

В отчетах ничего похожего, но я наконец-то додумался - на это есть RTL Viewer. Довольно удобный инструмент.

 

А Вы сами непосредственно в QSF констрейны пишете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавлю еще, что пинья можно расставлять в Pin Editor'е, таская их из списка мышкой на рисунок микросхемы. Отдельные пинья так кидать вполне ничего, но когда много, предпочитаю прямо в qsf файле руками. Еще в Pin Editor'е можно задавать и/или посматривать всякого рода констрейны на пины. Вполне удобно, имхо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Есть ли способ задания ограничений на проект (временнЫх и прочих, например назначения пинов), аналогичный UCF'у у Xilinx или есть только Assignmens Editor и описанные в Quartus II Handbook Tcl команды. В итоге вся эта инфа хранится в QSF-файле, но как я понял, править его они не советуют.

А какой смысл его править, если он следствие работы в в том числе и редактора ассигнований.

Можно воспользоваться атрибутами синтеза в самом тексте.

(* chip_pin = "10" *)input clk,

 

Но тогда этот клок уже не увидеть ни в редакторе ассигнований, ни в файле *.qsf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В отчетах ничего похожего, но я наконец-то додумался - на это есть RTL Viewer. Довольно удобный инструмент.

Сколько он чего нашел - это еще можно смотрел лог комплятора, она там подробно пишет, что делает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

До сей поры я пользовал только микросхемы Xilinx. Теперь возникла необходимость поработать с проектом на Altera, подкрепленная интересом к продукции данной фирмы. После установки и довольно длительного мЫкания с Quartus 7.1 sp1 (Web) в попытках применить свой накопленный с ISE немалый опыт возникли некоторые вопросы:

1) Есть ли способ задания ограничений на проект (временнЫх и прочих, например назначения пинов), аналогичный UCF'у у Xilinx или есть только Assignmens Editor и описанные в Quartus II Handbook Tcl команды. В итоге вся эта инфа хранится в QSF-файле, но как я понял, править его они не советуют.

2) Есть ли возможность ручками и глазками (по отчетам) проверить работу встроенного синтезатора Квартуса. То есть посмотреть что (сумматоры, счетчики, мультиплексоры и т.п.) и сколько он нашел в каждом из синтезируемых модулей. У Xilinx такая возможность имеется.

1) хотя они и не советуют, но я только его .qsf и правлю. В 100 раз проще любимым текстовым редактором подправить, чем морочиться из гуевым творчеством. Метод примерно такой - сначала задаю пример ограничения в их гуе. Смотрю, что при этом появляется в QSF файле. Дальше уже пишу что и как надо в виде текста туда.

Пока не проникся необходимостью пользоваться tcl, хотя сам язык уже лет 10 использую.

2) я смотрю схему RTL technology map. По отчетам как-то не задумывался.

 

Чтобы не было приключений при правке .qsf файла нужно проект закрывать когда его правишь. Потом открывать редактором. Потом закрывать редактор. Потом открывать в Quartus-е.

 

Да уж точно - "редактор ассигнований" этот такой же кривой как то как вот такое его название :-)

 

Еще полезно бывает снести поддиректорию db. И вообще, для проекта как таковые нужны только файлы .qsf и .qsp. Ну и VHDL код понятно. Все остальное это рабочая муть, которую можно смело стереть (для архивирования, для создания резервной копии). .sof и .pof файлы это прошивка (для FPGA и для и SPI flash памяти).

 

Отдельная история - это жесткое задание прошивки с помощью .rcf и .vqm (+ необходимые секции.qsf) файлов. Для умелых ручек - можно задать таким образом всю конфигурация - какие LUT, какие триггера, какие межсоединения - на физическом уровне. Жалко что нет GUI редактора для этого - неплохой был бы продукт для анализа и точечной правки конфигурации. Вроде бы были слухи что Альтера собирается такую функцию добавить к Quartus-у.

Изменено пользователем vleo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мытарства продолжаются. Как уже писал, работаю с ПЛИС EP1K30TC144-3 (ACEX1K). Возможно ли как нибудь задействовать регистры (входной, выходной и управления трехстабильным буфером)? Пока получается только выходной туда запихать. Хэндбук и хелп перерыл вдоль и поперек - для этого семейства многие описанные в документации констрейны не работают. Использую Fast Input Register и Fast Output Register - почему-то работает только второй, никаких сообщений в логе не выводится. Синтезатор - встроенный в Квартус.

Помогите - я уже всю голову сломал! Это вообще возможно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мытарства продолжаются. Как уже писал, работаю с ПЛИС EP1K30TC144-3 (ACEX1K). Возможно ли как нибудь задействовать регистры (входной, выходной и управления трехстабильным буфером)? Пока получается только выходной туда запихать. Хэндбук и хелп перерыл вдоль и поперек - для этого семейства многие описанные в документации констрейны не работают. Использую Fast Input Register и Fast Output Register - почему-то работает только второй, никаких сообщений в логе не выводится. Синтезатор - встроенный в Квартус.

Помогите - я уже всю голову сломал! Это вообще возможно сделать?

 

Насколько я помню, в ACEX можно использовать либо Fast Input Register, либо Fast Output Register, но не одновременно. Вот фраза из мануала:

 

An IOE contains a bidirectional I/O buffer and a register that can be used

either as an input register for external data that requires a fast setup time

or as an output register for data that requires fast clock-to-output

performance.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мытарства продолжаются. Как уже писал, работаю с ПЛИС EP1K30TC144-3 (ACEX1K). Возможно ли как нибудь задействовать регистры (входной, выходной и управления трехстабильным буфером)? Пока получается только выходной туда запихать. Хэндбук и хелп перерыл вдоль и поперек - для этого семейства многие описанные в документации констрейны не работают. Использую Fast Input Register и Fast Output Register - почему-то работает только второй, никаких сообщений в логе не выводится. Синтезатор - встроенный в Квартус.

Помогите - я уже всю голову сломал! Это вообще возможно сделать?

 

Надо ещё отключить опцию AUTO PACKED REGISTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...