CommunityCategory: GLISTERGLISTER can’t add type-coercion connectors for global nets

GLISTER

GLISTER can’t add type-coercion connectors for global nets

SA Support Team Staff 2025-07-31

In one of my model schematics, I am using a global symbol (e.g. the 'vdd' cell from the 'analogLib' library) to tie one of the inputs of the 'nand_xbit' primitive to logic 1. While I admit this is a rather unusual way, I had expected GLISTER to automatically insert an 'xreal_to_xbit' connect primitive between the 'xreal'-type global net and the 'xbit'-type input.

But instead, I got the following error message:

*Error* The global net 'vdd!' cannot be converted to a signal type 'xbit'. Abort.
*Error* GLISTER netlisting is aborted due to errors.

Can't GLISTER automatically insert type-coercion connectors for global nets? If not, why is this the case?

1 Answers
SA Support Team Staff 2025-07-31

No, GLISTER can't auto-insert type-coercion connectors for global nets. The main reason is that, in order to insert a connector, GLISTER must determine which way the signal is propagating, i.e., whether the global net is acting as an input or an output port. In your schematic, there are two global symbols: the one on the left functions as an output port, while the other one on the right acts as an input port. At present, GLISTER cannot distinguish between these roles automatically.

The current remedy is to manually insert the appropriate connect primitive, as shown below.