Я работаю с уже созданными coverpoints
и covergroups
. У меня есть способ получить доступ ко всем coverpoints
в covergroup
через `include
файл, но я не могу редактировать coverpoints
напрямую.
covergroup cg_FOO;
apple: coverpoint Atype_e'(sample.apple.value);
kiwi: coverpoint Ktype_e'(sample.kiwi.vale);
`ifdef MY_COV
`include "cg_FOO.svh"
`endif
end group: cg_FOO
cg_FOO.svh является примером для этого covergroup
, но с другим сгенерированным covergroup
у меня есть отдельный связанный файл. Я определяю всевозможные cross
es и несгенерированные coverpoints
в этих `include
d файлах. Однако я также хочу указать определенные значения перечисления для coverpoints
apple
и kiwi
, которые могут быть недопустимыми для cg_FOO
.
Если бы я мог изменить каждую точку укрытия, я бы сделал следующее:
apple: coverpoint Atype_e'(sample.value) {
ignore_bins ignore_FUJI = apple with (FUJI);
}
Но включение отдельного файла в каждый coverpoint
каждого covergroup
беспорядочно и нецелесообразно.
Все, что я нашел до сих пор, заставляет думать, что мне нужно указать ignore_bin
внутри структуры coverpoint
. Как я мог игнорировать определенные ячейки coverpoint
из моего файла cg_FOO.svh (то есть в covergroup
, но не изменять все сгенерированные coverpoints
)?
Обратите внимание: у меня также есть 2 других файла `include
для работы, один вне covergroups
, но внутри класса, который их содержит (я использую этот файл для определений макросов, переменных и функций), и еще один файл для определения вспомогательной логики непосредственно перед covergroup
s получают выборку (т.е. когда определяется sample
).
coverpoint
с автоматическими подборками? - person dave_59   schedule 10.10.2020overlap_apple_kiwi: coverpoint {overlap[0]}
Примечаниеoverlap
определяется в других файлах ``include
и устанавливается вызовом функции, также определенной в другом файле `include
. Кажется, мой симулятор не позволяет мне определять логику или вызовы функций вcovergroup
илиcoverpoint
, поэтому я использую эти файлы ``include
. - person Scott   schedule 10.10.2020