На главную страницу

LogicLock Region

Пересказ избранного из справки Quartus® II версии 4.2

    © CОПЫРИГХТ: пересказал и положил на свою
страницу http://www.dsioffe.narod.ru/
Дмитрий Иоффе, инженер.


Введение

    Область LogicLock™ - это разновидность ограничений на размещение. Вы можете задать любую произвольную прямоугольную область физических ресурсов целевого устройства как область LogicLock. Назначение сигналов (nodes) или блоков (entities) областями LogicLock указывает компилятору, что эти сигналы или блоки надо разместить во время монтажа (fitting) внутри заданной области.

    Существует четыре разновидности областей LogicLock:

    Quartus® во время компиляции определяет оптимальные размер и размещение для областей с автоматическим определением размера и плавающих областей. Если Вы удовлетворены выбранным размером или размещением, Вы можете сделать обратную аннотацию (back-annotate) размера или размещения для повторного использования при следующих компиляциях.

    Обратная аннотация через LogicLock позволяет Вам аннотировать все сигналы в области LogicLock. Сигналы, обратно-аннотированные через LogicLock, фиксируются относительно краёв области. Если Вы перемещаете обратно- аннотированную область, её сигналы сохраняют взаимное расположение на новом месте.

    Назначения LogicLock можно экспортировать в Quartus II Settings File (.qsf) для повторного использования в других проектах.

    Вы можете создавать области LogicLock без сопоставления им сигналов или блоков. Они сохраняются в проекте и видны в окнах Floorplan Editor и LogicLock Regions, пока Вы их не удалите, независимо от того, будут ли им назначены какие-нибудь сигналы.

    В настоящее время области LogicLock поддерживаются для устройств APEX™ 20K, APEX II, Excalibur™, Cyclone™, Cyclone II, MAXR II, Mercury™, Stratix™, Stratix II, and Stratix GX.


Наверх  Наверх

Создание области LogicLock

Чтобы создать область LogicLock™:

  1. Откройте существующий проект, если Вы ещё этого не сделали :)
  2.     Обратите внимание: области LogicLock не могут быть созданы при автоматическом выборе целевого устройства. Убедитесь, что Вы выбрали одно из следующих семейств: APEX 20K, APEX II, Excalibur, Cyclone, Cyclone II, MAX II, Mercury, Stratix, Stratix II или Stratix GX, а также задали тип устройства в диалоге Device окна Settings.

  3. Выберите Settings из меню Assignments:
  4. Выберите Device в списке Category.
  5. В списке Family выберите нужное семейство.
  6. В группе Target device выберите Specific device selected in “Available devices list”
  7. В списке Available devices выберите целевое устройство
  8. Откройте Timing Closure Floorplan:
  9. Щёлкните по кнопке Create New LogicLock Region. Кнопка Create New LogicLock Region на панели инструментов.
  10. В окне Floorplan Editor щёлкните по любому свободному месту, чтобы задать начальную точку прямоугольной области, и перетаскивайте указатель мыши, пока не получите область желаемого размера.
  11. Если Вы хотите просмотреть или изменить свойства области, щёлкните правой кнопкой по её полосе заголовка и выберите из выпадающего меню Properties.

Чтобы удалить область LogicLock:

  1. Откройте Timing Closure Floorplan.
  2. Выберите область LogicLock, которую Вы хотите удалить.
  3. Щёлкните по ней правой кнопкой мыши и выберите из выпадающего меню Delete.

Чтобы удалить блок или сигнал из области LogicLock:

  1. Откройте Timing Closure Floorplan.
  2. Выберите область LogicLock, назначение в которой Вы хотите удалить.
  3. Выберите Delete из меню Edit.

Чтобы переименовать область LogicLock:

  1. Откройте Timing Closure Floorplan.
  2. Выберите область LogicLock, которую Вы хотите переименовать, щёлкните по ней правой кнопкой и выберите из выпадающего меню Rename.
  3. В поле New LogicLock region name в диалоге Rename введите новое имя области.
  4. Щёлкните OK.


Наверх  Наверх

Альтернативные способы создания областей LogicLock

Чтобы создать область LogicLock™ в окне LogicLock Regions:

  1. Откройте существующий проект, если это ещё не сделано.
  2. Откройте Timing Closure Floorplan.
  3. Выберите LogicLock Regions Window из меню Assignments.
  4. Дважды щёлкните по ячейке <<new>> в столбце Region name
  5.     Или щёлкните по этой ячейке правой кнопкой и выберите New из выпадающего меню.

  6. Введите имя новой области.
  7. Щёлкните по ячейке в столбце Size, относящейся к выбранной области LogicLock.
  8. Если Вы хотите задать область с фиксированным размером, выберите Fixed, или, если Вы хотите, чтобы Quartus® II определил оптимальный размер области во время компиляции, выберите Auto.
  9. Щёлкните по ячейке в столбце State, относящейся к выбранной области LogicLock.
  10. Если Вы задали фиксированный размер области и хотите зафиксировать его положение, выберите Locked.
  11. Щёлкните по ячейке в столбце Width, относящейся к выбранной области LogicLock.
  12. Введите значение ширины области LogicLock.
  13. Щёлкните по ячейке в столбце Height, относящейся к выбранной области LogicLock.
  14. Введите значение высоты области LogicLock.
  15. Щёлкните по ячейке в столбце Origin, относящейся к выбранной области LogicLock.
  16. Введите положение начальной точки области LogicLock.

Чтобы создать область LogicLock в Project Navigator:

  1. Щёлкните правой кнопкой в окне Project Navigator по блоку, который Вы хотите добавить к области LogicLock.
  2. Выберите из выпадающего меню Create New LogicLock Region.

Чтобы создать дочернюю область LogicLock:

  1. Щёлкните правой кнопкой по родительской области в столбце Region name.
  2. Выберите из выпадающего меню New.
  3. Введите имя дочерней области.

Чтобы удалить область LogicLock:

  1. Выберите область, которую Вы хотите удалить.
  2. Щёлкните правой кнопкой и выберите из выпадающего меню Delete.

Чтобы переименовать область LogicLock:

  1. Выберите область, которую Вы хотите переименовать.
  2. Щёлкните правой кнопкой и выберите из выпадающего меню Rename.


Наверх  Наверх

Назначение блока или сигнала области LogicLock

Чтобы назначить область или сигнал области LogicLock:

  1. Создайте область LogicLock, если это ещё не сделано.
  2. Выберите блок на закладке Hierarchy в Project Navigator или найдите имя в Node Finder и выберите его.
  3. Перетащите выбранный блок или сигнал на верхнюю полосу области LogicLock в Timing Closure Floorplan или на имя области в окне LogicLock Regions.

Чтобы удалить блок или сигнал из области LogicLock:

  1. Откройте окно LogicLock Regions.
  2. Выберите область LogicLock из списка Region name.
  3. Щёлкните правой кнопкой по области и выберите Properties.
  4. Щёлкните по закладке Contents.
  5. Щёлкните правой кнопкой по блоку или сигналу в списке Members.
  6. Выберите Delete из выпадающего меню.


Наверх  Наверх

Обратная аннотация области LogicLock

Чтобы аннотировать размер и положение области LogicLock:

  1. Сделайте назначения сигналов и блоков для области LogicLock, если это ещё не сделано.
  2. Откомпилируйте проект, если он ещё не откомпилирован.
  3. Покажите область LogicLock в Floorplan Editor.
  4. Щёлкните правой кнопкой по верхней полосе области LogicLock, размер и размещение которой Вы хотите аннотировать, и выберите из выпадающего меню Back-Annotate Region Properties.
  5. В группе Assignment(s) to back-annotate диалога Back-Annotate Assignments (Advanced type) включите любой дополнительный пункт, который Вы хотите аннотировать.
  6. Щёлкните OK.

Чтобы сделать обратную аннотацию содержания области LogicLock:

  1. Сделайте назначения сигналов и блоков для области LogicLock, если это ещё не сделано.
  2. Откомпилируйте проект, если он ещё не откомпилирован.
  3. Покажите область LogicLock в Floorplan Editor.
  4. Щёлкните правой кнопкой по верхней полосе области LogicLock, размер и размещение которой Вы хотите аннотировать, и выберите из выпадающего меню Back-Annotate Region Contents.
  5. В группе Assignment(s) to back-annotate диалога Back-Annotate Assignments (Advanced type) включите любой дополнительный пункт, который Вы хотите аннотировать.
  6. Щёлкните OK.

    Пример использования области LogicLock с makefile как части разработки проекта снизу вверх см. в файле read_me.txt, сопровождающем пример ll_makefile в подкаталоге /qdesigns/ll_makefile.


Наверх  Наверх

Альтернативные способы обратной аннотации областей LogicLock

Чтобы сделать обратную аннотацию области LogicLock:

  1. Откомпилируйте проект, если он ещё не откомпилирован.
  2. Откройте окно LogicLock Regions.
  3. Щёлкните правой кнопкой по области и выберите из выпадающего меню Properties.
  4. Щёлкните по закладке Locations.
  5. Щёлкните по Back-Annotate Origin and Lock.
  6. В группе Assignment(s) to back-annotate в диалоге Back-Annotate Assignments (Advanced type) включите все добавочные пункты, для которых Вы хотите сделать обратную аннотацию.
  7. Щёлкните OK.

    или

  1. Откомпилируйте проект, если он ещё не откомпилирован.
  2. Выберите из меню Assignments пункт Back-Annotate Assignments.
  3. В списке Back annotation type выберите Advanced.
  4. В группе Assignment(s) to back-annotate включите LogicLock regions и Lock size and origin.
  5. Щёлкните OK.

Чтобы сделать обратную аннотацию содержания области LogicLock:

  1. Откомпилируйте проект, если он ещё не откомпилирован.
  2. Откройте окно LogicLock Regions.
  3. Щёлкните правой кнопкой по области и выберите из выпадающего меню Properties.
  4. Щёлкните по закладке Contents.
  5. Щёлкните по Back-Annotate Contents.
  6. В группе Assignment(s) to back-annotate в диалоге Back-Annotate Assignments (Advanced type) включите все добавочные пункты, для которых Вы хотите сделать обратную аннотацию.
  7. Щёлкните OK.

    или

  1. Откомпилируйте проект, если он ещё не откомпилирован.
  2. Выберите из меню Assignments пункт Back-Annotate Assignments.
  3. В списке Back annotation type выберите Advanced.
  4. В группе Assignment(s) to back-annotate включите LogicLock regions и Nodes, а также любые пункты в группе Nodes, для которых Вы хотите сделать обратную аннотацию.
  5. Щёлкните OK.


Наверх  Наверх

Манипуляции с областями LogicLock в Timing Closure Floorplan

Чтобы изменить размер области LogicLock:

  1. Покажите область LogicLock в Timing Closure Floorplan.
  2. Чтобы показать область LogicLock в Floorplan Editor:
    1. Откройте Timing Closure Floorplan.
    2. Выберите Assignments > Show LogicLock Regions из меню View.
    Чтобы показать область LogicLock, верхняя полоса которой закрыта верхней полосой перекрывающей родительской или дочерней области:
    1. Покажите область LogicLock в Floorplan Editor.
    2. Щёлкните где-нибудь в другом месте Floorplan Editor, чтобы отменить выделение перекрывающих областей LogicLock.
    3. Щёлкните по перекрывающей части верхней полосы области LogicLock, которая скрывает область, которую Вы хотите видеть.
    4. Выберите область LogicLock, которую Вы хотите видеть, из выпадающего меню.
  3. Выберите область LogicLock во Floorplan Editor.
  4. Выберите один из маркеров изменения размеров (в углах и в середине каждой стороны) и перетаскивайте его, пока область не достигнет нужного размера.

Чтобы переместить область LogicLock на новое место:

  1. Покажите область LogicLock в Timing Closure Floorplan.
  2. Выберите область LogicLock в Floorplan Editor и перетащите её на новое место.

Чтобы зафиксировать положение области LogicLock или освободить её:

  1. Покажите область LogicLock в Timing Closure Floorplan.
  2. Щёлкните правой кнопкой по области LogicLock в Floorplan Editor.
  3. Выберите из выпадающего меню Toggle Locked State.

Чтобы удалить область LogicLock и все её дочерние области:

  1. Покажите область LogicLock в Timing Closure Floorplan.
  2. Щёлкните правой кнопкой по области LogicLock в Floorplan Editor.
  3. Выберите из выпадающего меню Delete.

Чтобы просмотреть или изменить другие свойства области LogicLock:

  1. Покажите область LogicLock в Timing Closure Floorplan.
  2. Щёлкните правой кнопкой по области LogicLock в Floorplan Editor.
  3. Выберите из выпадающего меню Properties.
  4. Используйте для просмотра и изменения свойств области закладки Size, Location и Contents.


Наверх  Наверх

Подробности

Подробнее о задании размеров области LogicLock

    Область LogicLock может иметь фиксированный или автоматический размер. Quartus II определяет размер областей LogicLock с автоматическим размером во время компиляции. Размер вычисляется на основании состава области LogicLock и выбирается так, чтобы получить максимальную производительность при минимальной плотности трассировки. Если Вы удовлетворены полученным размером, вы можете произвести обратную аннотацию этого размера для использования при последующих компиляциях.

    Когда Вы создаёте область LogicLock, рисуя её во Floorplan Editor, её высота и ширина устанавливаются в соответствии с нарисованной Вами областью. Вы можете изменить размер области, выбрав её и перетащив маркеры изменения размеров, появившиеся в её углах и в серединах сторон.

    Когда Вы создаёте область LogicLock, используя окно LogicLock Regions, Вы можете использовать столбец Size для установки вида размера Auto или Fixed. Если Вы выбрали Fixed, Вы должны задать высоту и ширину области. Если Вы выбрали Auto, размер области временно будет установлен равным размеру родительской области LogicLock, или, если это область верхнего уровня, размеру всего устройства. Если Вы хотите задать другой временный размер, Вы можете выбрать Fixed, установить желаемый временный размер области и затем выбрать Auto.

    Для устройств APEX 20K, APEX II, Excalibur, Cyclone, Cyclone II, MAX II, Stratix, Stratix II и Stratix GX закладка Size диалога LogicLock Region Properties позволяет задавать ширину в столбцах, MegaLABах или LABs/Embedded System Blocks (ESBs), однако в Quartus II Settings File (.qsf) размеры областей LogicLock всегда сохраняются в единицах LABs/ESBs. Для использования заданной ширины области LogicLock ESB рассматривается как один LAB.

    Автоматический размер областей LogicLock не поддерживается для устройств Mercury.

Подробнее о задании размещения области LogicLock

    Области LogicLock фиксированного размера могут иметь плавающее размещение, но области LogicLock с автоматическим размером должны иметь произвольное размещение. Quartus II определяет оптимальное размещение для плавающих областей во время компиляции. Если Вы удовлетворены выбранным размещением, вы можете выполнить его обратную аннотацию для использования при последующих компиляциях.

    Когда Вы создаёте область LogicLock, рисуя её во Floorplan Editor, она фиксируется в текущем положении. Вы можете изменить её размещение на плавающее, щёлкнув правой кнопкой по её верхней полосе и выбрав из выпадающего меню Toggle Locked State. Floorplan Editor отображает зафиксированные области сплошными линиями, а плавающие - штриховыми.

    Когда Вы создаёте область LogicLock, используя окно LogicLock Regions, она имеет плавающее размещение. Вы можете использовать закладку Location для изменения положения начальной точки области или её фиксирования. Несмотря на то, что Quartus II определяет действительное положение плавающей области во время компиляции, Timing Closure Floorplan показывает область на месте, заданном её текущей начальной точкой, которая показана на закладке Location в Origin Settings.

    Quartus II интерпретирует положение дочерней области LogicLock как относительное к начальной точке родительской области. Когда Вы фиксируете размещение дочерней области, оно фиксируется только относительно начальной точки родительской области, но не целевого устройства. Когда Вы перемещаете родительскую область, Quartus II автоматически обновляет размещение всех областей нижних уровней, чтобы сохранить их размещение относительно родительской области.

    Fitter требует, чтобы Вы назначили плавающее размещение для любых дочерних областей LogicLock, которые имеют родительскую область с автоматическим размером.

    Для устройств Stratix, Stratix II и Stratix GX, если область LogicLock частично перекрывается блоками памяти M4K, M512, M-RAM, блоками DSP или умножителей, то она рассматривается как содержащая целый такой блок. Тогда Fitter может разместить сигналы, назначенные для области, в любом месте перекрываемого блока.

    Для устройств Cyclone и Cyclone II, если область LogicLock частично перекрывается блоками памяти M4K, то она рассматривается как содержащая целый такой блок. Тогда Fitter может разместить сигналы, назначенные для области, в любом месте перекрываемого блока M4K.

    Области LogicLock с плавающим размещением не поддерживаются для устройств Mercury.

Подробнее об обратной аннотации LogicLock

    Обратная аннотация LogicLock позволяет Вам аннотировать одну или более областей LogicLock Вашего проекта. Когда Вы делаете обратную аннотацию области LogicLock, Quartus II автоматически аннотирует все области LogicLock нижних уровней. Вы можете выбрать для обратной аннотации только размер и размещение области или также её состав.

    Обратная аннотация размера и размещения области LogicLock устанавливает высоту, ширину и положение так, как их определил Fitter во время последней компиляции, и фиксирует область в этом положении.

    При обратной аннотации состава области LogicLock аннотируются размер и положение области, а также размещение сигналов и блоков, назначенных для области. Когда Вы аннотируете состав области LogicLock, Quartus II копирует размещения, определённые Fitterом для всех сигналов и блоков, назначенных области, в область файла Quartus II Settings File (.qsf) блока верхнего уровня текущей иерархии компиляции. Сигналы аннотируются относительно начальной точки области LogicLock, для которой они назначены. Если Вы перемещаете область, Quartus II обновляет размещения сигналов, чтобы предотвратить относительное перемещение сигналов и блоков внутри области. Если Вы разблокируете область, компилятор свободно выберет новое место для неё, но сохранит относительное размещение сигналов и блоков внутри области.

    Перед обратной аннотацией размера и размещения или состава областей LogicLock нижних уровней Вы должны сделать обратную аннотацию размера и размещения области - их предка верхнего уровня. Иначе при обратной аннотации могут появиться неправильные назначения для области LogicLock, например, дочерняя область может выйти за границы своей родительской области.

    При обратной аннотации сигналов Вы можете понижать уровень назначений ячеек до уровня LAB и/или Embedded System Block (ESB). Также Вы можете понижать уровень назначений выводов до уровня банка ввода-вывода. Понижение уровня назначений ячеек и/или выводов позволяет компилятору переупорядочивать сигналы между LAB, ESB или выводами для улучшения эффективности. Вместо этого Вы можете запретить понижение уровня назначений для сохранения производительности. (В оригинале: When back-annotating LogicLock nodes, you can demote cell assignments to the LAB and/or Embedded System Block (ESB) level, and you can demote pin assignments to the I/O bank level. Demoting cell and/or pin assignments to less restrictive LAB or ESB, or I/O bank assignments allows the Compiler to rearrange nodes within a LAB, ESB, or pin for greatest efficiency. Alternatively, you can choose not to demote the assignments in order to preserve performance.)

    Timing Closure Floorplan обводит контурами LAB и ESB, которые содержат обратно-аннотированные сигналы.

    Вы можете выполнять обратную аннотацию только ширины, высоты и начальной точки области LogicLock из последней компиляции, если установите флажок Lock size and origin в диалоге Back-Annotate Assignments (Advanced Type).

    Во Floorplan Editor обратно-аннотированная трассировка в областях LogicLock обозначается буквой "R" в углу области. Вы можете сделать обратную аннотацию трассировки для области LogicLock только в том случае, если она не мягкая, не плавающая и не с автоматическим размером.

    Обратная аннотация области LogicLock может привести к созданию корневой области. Корневая область - это область LogicLock размером во всё устройство с зафиксированным размещением. Она может рассматриваться как родительская область для всех остальных областей LogicLock. Корневая область не видна во Floorplan Editor, но в нём видны её обратно-аннотированные сигналы. Корневая область создаётся при следующих условиях:


Наверх  Наверх

На главную страницу
Hosted by uCoz