В руководстве пользователя QuestaSIM в версии 10.5a говорится на странице 336:Как управлять несколькими типами объектов в сети в AMS?
In the most recent SystemVerilog standard (Std IEEE 1800-2012), two important concepts were established:
User-Defined Nettype (UDN) — UDN allows a definition of a net type that can carry arbitrarily complex data using a built-in type (such as real) or a user-defined type (such as struct). Consequently, UDN is a generalization of the wreal net type from Verilog-AMS. In order to allow connectivity of models that rely on UDNs, a more generic connectivity mechanism is needed—the interconnect object.
Но они действительно не уточняют, как строится УДН. Синтаксические ссылки на «nettype» и «interconnect», похоже, близки к этому описанию, но не выполняют его - я не могу назначить межсоединение, и я не могу использовать свои собственные типы с nettype. Я создаю модель, которая должна управлять пользовательскими объектами на UDN, как определено в спецификации.
module SomeModel(output nettype ObjectContainingProperties outputToInterconnect);
class ObjectContainingProperties;
endclass
ObjectContainingProperties ocp;
assign outputToInterconnect=ocp;
initial begin
ocp=new();
end
endmodule
, но я получаю сообщение об ошибке:
QuestaSim-64 vlog 10.5a Compiler 2016.04 Apr 4 2016
Start time: 18:55:05 on Dec 19,2016
vlog -ams -wireasinterconnect SomeModel.sv
-- Compiling module SomeModel
** Error: (vlog-13069) SomeModel.sv(11): near "nettype": syntax error, unexpected nettype, expecting IDENTIFIER.
Как создать и прикрепить объект к УДН - что синтаксис? Или как я могу надежно управлять объектами разных типов в сети?
Текст, который вы цитируете, не соответствует стандарту IEEE 1800-2012. Вы посмотрели пример в разделе _6.6.7 Определенные пользователем nettypes_? –
Я случайно обрезал верхнюю часть вопроса во время редактирования. Не уверенный, что он заслуживает этого, я исправил его. – Joe
У вас есть руководство IEEE 1800-2012? –