27   Description = QObject::tr (
"3to8 demultiplexer verilog device");
 
   30     QObject::tr (
"transfer function high scaling factor")));
 
   32     QObject::tr (
"output delay")
 
   33     +
" ("+QObject::tr (
"s")+
")"));
 
   45   p->
Props.getFirst()->Value = 
Props.getFirst()->Value; 
 
   52   Name = QObject::tr(
"3to8 Demux");
 
   53   BitmapFile = (
char *) 
"dmux3to8";
 
   61   Lines.append(
new Line(-30, -90, 30,-90,QPen(Qt::darkBlue,2)));
 
   62   Lines.append(
new Line( 30, -90, 30, 100,QPen(Qt::darkBlue,2)));
 
   63   Lines.append(
new Line( 30,  100,-30, 100,QPen(Qt::darkBlue,2)));
 
   64   Lines.append(
new Line(-30,  100,-30, -90,QPen(Qt::darkBlue,2)));
 
   66   Lines.append(
new Line(-50,-50,-40,-50,QPen(Qt::darkBlue,2)));  
 
   67   Lines.append(
new Line(-50,-30,-30,-30,QPen(Qt::darkBlue,2)));  
 
   68   Lines.append(
new Line(-50,-10,-30,-10,QPen(Qt::darkBlue,2)));  
 
   69   Lines.append(
new Line(-50, 10,-30, 10,QPen(Qt::darkBlue,2)));  
 
   71   Lines.append(
new Line( 30, 90, 50, 90,QPen(Qt::darkBlue,2)));  
 
   72   Lines.append(
new Line( 30, 70, 50, 70,QPen(Qt::darkBlue,2)));  
 
   73   Lines.append(
new Line( 30, 50, 50, 50,QPen(Qt::darkBlue,2)));  
 
   74   Lines.append(
new Line( 30, 30, 50, 30,QPen(Qt::darkBlue,2)));  
 
   75   Lines.append(
new Line( 30, 10, 50, 10,QPen(Qt::darkBlue,2)));  
 
   76   Lines.append(
new Line( 30,-10, 50,-10,QPen(Qt::darkBlue,2)));  
 
   77   Lines.append(
new Line( 30,-30, 50,-30,QPen(Qt::darkBlue,2)));  
 
   78   Lines.append(
new Line( 30,-50, 50,-50,QPen(Qt::darkBlue,2)));  
 
   80   Arcs.append(
new Arc( -40, -55, 10, 10, 0, 16*360, QPen(Qt::darkBlue,2)));
 
   82   Texts.append(
new Text(-25,-85, 
"DMUX", Qt::darkBlue, 12.0));
 
   84   Texts.append(
new Text(-25,-63, 
"En", Qt::darkBlue, 12.0));
 
   85   Texts.append(
new Text(-20,-25, 
"G", Qt::darkBlue, 12.0));
 
   86   Texts.append(
new Text(-8, -30, 
"}", Qt::darkBlue, 16.0));
 
   87   Texts.append(
new Text( 2, -32, 
"0", Qt::darkBlue, 12.0));
 
   88   Texts.append(
new Text( 2, -13, 
"7", Qt::darkBlue, 12.0));
 
   90   Texts.append(
new Text(-25,-43, 
"0", Qt::darkBlue, 12.0));
 
   91   Texts.append(
new Text(-25, -3, 
"2", Qt::darkBlue, 12.0));
 
   93   Texts.append(
new Text( 15,-63, 
"0", Qt::darkBlue, 12.0));
 
   94   Texts.append(
new Text( 15,-43, 
"1", Qt::darkBlue, 12.0));
 
   95   Texts.append(
new Text( 15,-23, 
"2", Qt::darkBlue, 12.0));
 
   96   Texts.append(
new Text( 15, -3, 
"3", Qt::darkBlue, 12.0));
 
   97   Texts.append(
new Text( 15, 17, 
"4", Qt::darkBlue, 12.0));
 
   98   Texts.append(
new Text( 15, 37, 
"5", Qt::darkBlue, 12.0));
 
   99   Texts.append(
new Text( 15, 57, 
"6", Qt::darkBlue, 12.0));
 
  100   Texts.append(
new Text( 15, 77, 
"7", Qt::darkBlue, 12.0));
 
  102   Lines.append(
new Line(0, -11, 12, -11, QPen(Qt::darkBlue,2)));
 
  125   QString td = 
Props.at(1)->Value;     
 
  129   QString En = 
Ports.at(0)->Connection->Name;
 
  130   QString A  = 
Ports.at(1)->Connection->Name;
 
  131   QString B  = 
Ports.at(2)->Connection->Name;
 
  132   QString C  = 
Ports.at(3)->Connection->Name;
 
  133   QString Y7 = 
Ports.at(4)->Connection->Name;
 
  134   QString Y6 = 
Ports.at(5)->Connection->Name;
 
  135   QString Y5 = 
Ports.at(6)->Connection->Name;
 
  136   QString Y4 = 
Ports.at(7)->Connection->Name;
 
  137   QString Y3 = 
Ports.at(8)->Connection->Name;
 
  138   QString Y2 = 
Ports.at(9)->Connection->Name;
 
  139   QString Y1 = 
Ports.at(10)->Connection->Name;
 
  140   QString Y0 = 
Ports.at(11)->Connection->Name;
 
  142   s = 
"\n  "+
Name+
":process ("+En+
", "+A+
", "+B+
", "+C+
")\n"+
 
  144       "    "+Y0+
" <= "+
"(not "+En+
") and (not "+C+
") and (not "+B+
") and (not "+A+
")"+td+
 
  145       "    "+Y1+
" <= "+
"(not "+En+
") and (not "+C+
") and (not "+B+
") and "+A+td+
 
  146       "    "+Y2+
" <= "+
"(not "+En+
") and (not "+C+
") and "+B+
" and (not "+A+
")"+td+
 
  147       "    "+Y3+
" <= "+
"(not "+En+
") and (not "+C+
") and "+B+
" and "+A+td+
 
  148       "    "+Y4+
" <= "+
"(not "+En+
") and "+C+
" and (not "+B+
") and (not "+A+
")"+td+
 
  149       "    "+Y5+
" <= "+
"(not "+En+
") and "+C+
" and (not "+B+
") and "+A+td+
 
  150       "    "+Y6+
" <= "+
"(not "+En+
") and "+C+
" and "+B+
" and (not "+A+
")"+td+
 
  151       "    "+Y7+
" <= "+
"(not "+En+
") and "+C+
" and "+B+
" and "+A+td+
 
  158   QString td = 
Props.at(1)->Value;        
 
  163   QString En = 
Ports.at(0)->Connection->Name;
 
  164   QString A  = 
Ports.at(1)->Connection->Name;
 
  165   QString B  = 
Ports.at(2)->Connection->Name;
 
  166   QString C  = 
Ports.at(3)->Connection->Name;
 
  167   QString Y7 = 
Ports.at(4)->Connection->Name;
 
  168   QString Y6 = 
Ports.at(5)->Connection->Name;
 
  169   QString Y5 = 
Ports.at(6)->Connection->Name;
 
  170   QString Y4 = 
Ports.at(7)->Connection->Name;
 
  171   QString Y3 = 
Ports.at(8)->Connection->Name;
 
  172   QString Y2 = 
Ports.at(9)->Connection->Name;
 
  173   QString Y1 = 
Ports.at(10)->Connection->Name;
 
  174   QString Y0 = 
Ports.at(11)->Connection->Name;
 
  176   QString Y7R = 
"net_reg" + 
Name + Y7;
 
  177   QString Y6R = 
"net_reg" + 
Name + Y6;
 
  178   QString Y5R = 
"net_reg" + 
Name + Y5;
 
  179   QString Y4R = 
"net_reg" + 
Name + Y4;  
 
  180   QString Y3R = 
"net_reg" + 
Name + Y3;
 
  181   QString Y2R = 
"net_reg" + 
Name + Y2;
 
  182   QString Y1R = 
"net_reg" + 
Name + Y1;
 
  183   QString Y0R = 
"net_reg" + 
Name + Y0;
 
  185   l = 
"\n  // " + 
Name + 
" 3to8 demux\n" +
 
  186       "  assign  " + Y0 + 
" = " + Y0R + 
";\n" +
 
  187       "  reg     " + Y0R + 
" = 0;\n" +
 
  188       "  assign  " + Y1 + 
" = " + Y1R + 
";\n" +
 
  189       "  reg     " + Y1R + 
" = 0;\n" +
 
  190       "  assign  " + Y2 + 
" = " + Y2R + 
";\n" +
 
  191       "  reg     " + Y2R + 
" = 0;\n" +
 
  192       "  assign  " + Y3 + 
" = " + Y3R + 
";\n" +
 
  193       "  reg     " + Y3R + 
" = 0;\n" +
 
  194       "  assign  " + Y4 + 
" = " + Y4R + 
";\n" +
 
  195       "  reg     " + Y4R + 
" = 0;\n" +
 
  196       "  assign  " + Y5 + 
" = " + Y5R + 
";\n" +
 
  197       "  reg     " + Y5R + 
" = 0;\n" +
 
  198       "  assign  " + Y6 + 
" = " + Y6R + 
";\n" +
 
  199       "  reg     " + Y6R + 
" = 0;\n" +
 
  200       "  assign  " + Y7 + 
" = " + Y7R + 
";\n" +
 
  201       "  reg     " + Y7R + 
" = 0;\n" +
 
  204       "  always @ ("+En+
" or "+A+
" or "+B+
" or "+C+
")\n" +
 
  206       "    "+Y0R+
" <="+td+
" (~"+En+
") && (~"+C+
") && (~"+B+
") && (~"+A+
");\n"+ 
 
  207       "    "+Y1R+
" <="+td+
" (~"+En+
") && (~"+C+
") && (~"+B+
") && "+A+
";\n"+
 
  208       "    "+Y2R+
" <="+td+
" (~"+En+
") && (~"+C+
") && "+B+
" && (~"+A+
");\n"+
 
  209       "    "+Y3R+
" <="+td+
" (~"+En+
") && (~"+C+
") && "+B+
" && "+A+
";\n"+  
 
  210       "    "+Y4R+
" <="+td+
" (~"+En+
") && "+C+
" && (~"+B+
") && (~"+A+
");\n"+ 
 
  211       "    "+Y5R+
" <="+td+
" (~"+En+
") && "+C+
" && (~"+B+
") && "+A+
";\n"+
 
  212       "    "+Y6R+
" <="+td+
" (~"+En+
") && "+C+
" && "+B+
" && (~"+A+
");\n"+
 
  213       "    "+Y7R+
" <="+td+
" (~"+En+
") && "+C+
" && "+B+
" && "+A+
";\n"+
 
bool VHDL_Delay(QString &td, const QString &Name)
Q3PtrList< struct Arc > Arcs
bool Verilog_Delay(QString &td, const QString &Name)
Definitions and declarations for the main application. 
Q3PtrList< Property > Props
static Element * info(QString &, char *&, bool getNewOne=false)
Superclass of all schematic drawing elements. 
virtual void recreate(Schematic *)