GENLIB_BUS.3alc man page

GENLIB_BUS

GENLIB_BUS — Creates a bus name for netlist

Synopsis

#include <genlib.h>
char ∗GENLIB_BUS(busname, from, to);
char ∗busname;
long from, to;

Parameters

busname

Common signal name for a bus

from

Starting index of the set of signal, from included

to

Ending index of the set of signal, to included

Description

GENLIB_BUS Creates a set of names, based upon a common name, valid for the genlib netlist functions that manipulate the signal, and/or connector, concept. They are:

LOINS(3)
LOCON(3)

The from, to arguments give the boundaries of the bus to be created, both of them being included in the set. The function allows increasing or decreasing order busses, as one could expect.
This function has a constant equivalent, it means that if the from, to values are known at compilation time, one should better use, for readability purposes, the "[n:m]" construct.

Example

#include <genlib.h>
main()
{
int b = 0;
int e = 12;
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_LOFIG("mycell");
	/∗ define interface  ∗/
	GENLIB_LOCON(GENLIB_BUS("i", b, e), INPUT, GENLIB_BUS("sig", b, e);
	GENLIB_LOCON("o[2:0]", OUTPUT, "sigout[4:6]");
	/∗ Place an instance ∗/
	GENLIB_LOINS("model","instance", GENLIB_BUS("sig", e/2), "sigout[6]", EOL);
	/∗ Save all that on disk ∗/
	GENLIB_SAVE_LOFIG();
}

See Also

genlib(1), GENLIB_ELM(3).

Referenced By

genlib.1alc(1), GENLIB_ELM.3alc(3), GENLIB_LOCAP.3alc(3), GENLIB_LOCON.3alc(3), GENLIB_LORES.3alc(3), GENLIB_LOSELF.3alc(3), GENLIB_LOSIG.3alc(3), GENLIB_LOTRS.3alc(3).

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE