Our internal register doesn’t use a reg with an always block, it uses a latch ip from other companies like this:
module register(input d, e, rstb, output q);
latch_cell u_latch(.D(d), .E(e), .rstn(rstb), .Q(q), .QN());
endmodule
`celldefine
module latch_cell (D, E, rstn, Q, QN);
input D,E,rstn;
output Q, QN;
not (QN, Q);
some_udp (Q, D, E, rstn);
endmodule
`endcelldefine
primitive some_udp(q, d, e, rstn);
output q;
reg q;
input d, e, rstn;
table
...
endtable
endprimitive
The reg variable is inside the primitive. But what is the hdl path to this reg??? The primitive inside latch_cell is unnamed.
How can I backdoor access to this reg?