Coolquest, Inc. Home Products Support About Contact
cbold_logo_gif C++BOLD Reference Manual cbold_logo_gif

<<< Previous CBOLD Reference Home Next >>>

 

7.2.5. Compound Connections

You can connect several port ranges in a single statement:

OE_N       << Ram.OE_N << Rom.OE_N;           // connect Ram and Rom OE_N ports to this module's OE_N port
"FEEDBACK" << Amp.OUT1 << Amp.IN1_N;          // create a named subbus called FEEDBACK, connect Amp's OUT1 and IN1_N ports to it

In C++, the << operator is left-associative, so the above statements are equivalent to:

( OE_N       << Ram.OE_N ) << Rom.OE_N;
( "FEEDBACK" << Amp.OUT1 ) << Amp.IN1_N;

You can also connect several bundles in a single statement:

"FP_"  << FrontPanel.IC << Interconnect.FP;   // create named connections for the interface between two subsystems
Pbus   << ModuleA.Pbus  << ModuleB.Pbus;      // connect ModuleA and ModuleB Pbus bundles to this module's Pbus bundle
A single statement can create multiple connections and use a variety of operators:
IN  ^ AC_Couple  ^ "XIN"   << Syn.XIN;        // connect AC coupling capacitor between IN  and Syn.XIN
OUT ^ SeriesTerm ^ "CLK_C" << Syn.CLK_C;      // connect     series terminator between OUT and Syn.CLK_C

Each of the above statements creates two connections, one to each side of the two-port part.

In C++, the << operator has higher precedence than the ^ operator, so the above statements are equivalent to:

IN  ^ AC_Couple  ^ ( "XIN"   << Syn.XIN   );
OUT ^ SeriesTerm ^ ( "CLK_C" << Syn.CLK_C );

 

<<< Previous CBOLD Reference Home Next >>>

Legal Copyright © 2007 by Coolquest, Inc. Contact