FPGA Systems

FPGA Systems 

Информационно-образовательный портал про FPGA/ПЛИС

83subscribers

20posts

goals1
$100.74 of $139 710 raised
Неограниченная цель для выпуска FPGA журнала в бумажном виде

Што не так с опцией -hier в командах get_ и почему паттерн с \ или / не вернет вам значений

Уж коль я упомянул в прошлом посте про группу команд get_ , то давайте пойдем дальше и обсудим один мааааааааааленький нюанс.
Для некоторых команд get_ есть опция -heir или -hierarchical, которая предназначена для поиска объектов по всей иерархии вниз от текущего модуля (што такое текущий инстанс в иерархии я расскажу как-нибудь потом)
В общем, опция -hierarchical предполагает, что поиск объектов будет выполняться по уровню иерархии. И если в паттерне поиска будет стоять \ (или /) то с огромной долей вероятности вместо списка объектов вивада вам поводит по губам.
Note: Разделитель иерархии, он же hierarchy separator может быть \ или / . Узнать какой он у вас можно с помощью команды  get_hierarchy_separator
Разберем пример
Откройте любой post-synthesis проект и в консоли напишите
llength [get_cells -hierarchical *]
Эта команда вернет вам число, которое скажет сколько элементов класса cell есть в нетлисте (в моем случае 5534)
Теперь попробуем найти все GND элементы:
llength [get_cells -hierarchical GND]
В моем случае нашлось 244 элемента.
А теперь давайте найдем сколько элементов GND на каком нить уровне иерархии или определенном модуле. Найдите модуль, где есть GND и сделайте поиск с разделителем иерархии. Например вот так
llength [get_cells -hierarchical *mdm*/GND]
и вуаля - количество найденных элементов 0, хотя на самом деле GND в этом модуле есть. Почему так произошло, где GND Лебовски?
===
Продолжение следует
Subscription levels5

Зайти на стрим

$0.14 per month

Logic Gate

$2.32 per month

1-bit adder

$4.7 per month
Поддержка коммунити
Закупка отладок, книг 
Вознаграждение авторам
Да и просто вождю за хлопоты
+ chat

8-bit mult

$9.4 per month
+ chat

3x3 Systolic array

$14 per month
+ chat
Go up