Subversion Repositories ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. // Copyright (C) 1991-2006 Altera Corporation
  2. // Your use of Altera Corporation's design tools, logic functions
  3. // and other software and tools, and its AMPP partner logic
  4. // functions, and any output files from any of the foregoing
  5. // (including device programming or simulation files), and any
  6. // associated documentation or information are expressly subject
  7. // to the terms and conditions of the Altera Program License
  8. // Subscription Agreement, Altera MegaCore Function License
  9. // Agreement, or other applicable license agreement, including,
  10. // without limitation, that your use is for the sole purpose of
  11. // programming logic devices manufactured by Altera and sold by
  12. // Altera or its authorized distributors.  Please refer to the
  13. // applicable agreement for further details.
  14.  
  15.  
  16. // Quartus II 6.1 Build 201 11/27/2006
  17.  
  18.  
  19. ///////////////////////////////////////////////////////////////////////////////
  20. //
  21. // MAX IO Atom
  22. //
  23. //////////////////////////////////////////////////////////////////////////////
  24. `timescale 1 ps/1 ps
  25.  
  26. module max_asynch_io (datain, oe, padio, dataout);
  27.  
  28.     parameter operation_mode = "input";
  29.     parameter bus_hold = "false";
  30.     parameter open_drain_output = "false";
  31.     parameter weak_pull_up = "false";
  32.  
  33.     input datain, oe;
  34.     output dataout;
  35.     inout padio;
  36.  
  37.     reg  prev_value;
  38.  
  39.     reg tmp_padio, tmp_dataout;
  40.     reg buf_control;
  41.  
  42.     wire datain_in;
  43.     wire oe_in;
  44.  
  45.     buf(datain_in, datain);
  46.     buf(oe_in, oe);
  47.  
  48.     tri padio_tmp;
  49.  
  50. specify
  51.     (padio => dataout) = (0,0);
  52.     (datain => padio) = (0, 0);
  53.     (posedge oe => (padio +: padio_tmp)) = (0, 0);
  54.     (negedge oe => (padio +: 1'bz)) = (0, 0);
  55.  
  56. endspecify
  57.  
  58. initial
  59. begin
  60.     prev_value = 'b1;
  61.     tmp_padio = 'bz;
  62. end
  63.  
  64. always @(datain_in or oe_in or padio)
  65. begin
  66.                 if (bus_hold == "true" )
  67.         begin
  68.                 buf_control = 'b1;
  69.                                 if (operation_mode == "input")
  70.                                 begin
  71.                                         prev_value = padio;
  72.                                         tmp_dataout = padio;                                   
  73.                                 end
  74.                 else if ( operation_mode == "output" || operation_mode == "bidir")
  75.                 begin
  76.                         if ( oe_in == 1)
  77.                         begin
  78.                                 if ( open_drain_output == "true" )
  79.                                 begin
  80.                                         if (datain_in == 0)
  81.                                         begin
  82.                                                 tmp_padio =     1'b0;
  83.                                                 prev_value = 1'b0;
  84.                                         end
  85.                                         else if (datain_in == 1'bx)
  86.                                         begin
  87.                                                 tmp_padio = 1'bx;
  88.                                                 prev_value = 1'bx;
  89.                                         end
  90.                                         else   // 'Z'
  91.                                         begin
  92.                                                 if ( padio != 1'bz)
  93.                                                 begin
  94.                                                         prev_value = padio;
  95.                                                 end
  96.                                         end
  97.                                 end  // end open_drain_output , true
  98.                                 else
  99.                                 begin
  100.                                         tmp_padio = datain_in;
  101.                                         prev_value = datain_in;
  102.                                 end  // end open_drain_output false
  103.                         end             // end oe_in == 1
  104.                         else if ( oe_in == 0 )
  105.                         begin
  106.                                                         if ( padio !== 1'bz)
  107.                                                         begin
  108.                                                                 prev_value = padio;
  109.                                                                 if ((padio === 1'bx) && (operation_mode == "output") && (padio_tmp === 1'bx) && (prev_value === 1'bx))
  110.                                                                 begin
  111.                                                                         prev_value = 'b0;
  112.                                                                 end
  113.                                                         end
  114.                                                         tmp_padio = 'bz;
  115.                         end
  116.                         else
  117.                         begin
  118.                                                         begin
  119.                                 tmp_padio = 1'bx;
  120.                                 prev_value = 1'bx;
  121.                         end
  122.                         end
  123.  
  124.                         if ( operation_mode == "bidir")
  125.                                 tmp_dataout = padio;
  126.                         else
  127.                                 tmp_dataout = 1'bz;
  128.  
  129.                         if ( $realtime <= 1 )
  130.                                 prev_value = 0;
  131.                 end
  132.         end
  133.         else    // bus hold is false
  134.                 if (bus_hold == "false")
  135.         begin
  136.                 buf_control = 'b0;
  137.                 if ( operation_mode == "input")
  138.                 begin
  139.                         tmp_dataout = padio;
  140.                                                 if (weak_pull_up == "true")
  141.                                                 begin
  142.                                                         if (tmp_dataout === 1'bz)
  143.                                                                 tmp_dataout = 1'b1;
  144.                                                 end
  145.                 end
  146.                 else if (operation_mode == "output" || operation_mode == "bidir")
  147.                 begin
  148.                         if ( operation_mode  == "bidir")
  149.                                                 begin
  150.                                 tmp_dataout = padio;
  151.                                                                 if (weak_pull_up == "true")
  152.                                                                 begin
  153.                                                                         if (tmp_dataout === 1'bz)
  154.                                                                                 tmp_dataout = 1'b1;
  155.                                                                 end
  156.                                                 end
  157.                         if ( oe_in == 1 )
  158.                         begin
  159.                                 if ( open_drain_output == "true" )
  160.                                 begin
  161.                                         if (datain_in == 0)
  162.                                                 tmp_padio = 1'b0;
  163.                                         else if ( datain_in == 1'bx)
  164.                                                 tmp_padio = 1'bx;
  165.                                         else
  166.                                                                                 begin
  167.                                                 tmp_padio = 1'bz;
  168.                                                                                                 if (weak_pull_up == "true")
  169.                                                                                                 begin
  170.                                                                                                         if (tmp_padio === 1'bz)
  171.                                                                                                                 buf_control = 1;
  172.                                                                                                 end
  173.                                                                                 end
  174.  
  175.                                 end
  176.                                 else
  177.                                                                 begin
  178.                                                                                 if ((datain_in !== 1'b1)&&(datain_in !== 1'b0)&&(datain_in !== 'bx))
  179.                                                                                         tmp_padio = 'bz;
  180.                                                                                 else
  181.                                         tmp_padio = datain_in;
  182.                                                                                
  183.                                                                                 if (weak_pull_up == "true")
  184.                                                                                 begin
  185.                                                                                         if (tmp_padio === 1'bz)
  186.                                                                                                 buf_control = 1;
  187.                                                                                 end
  188.                         end
  189.                         end
  190.                         else if ( oe_in == 0 )
  191.                                                 begin
  192.                                 tmp_padio = 1'bz;
  193.                                                                 if (weak_pull_up == "true")
  194.                                                                 begin
  195.                                                                         if (tmp_padio === 1'bz)
  196.                                                                         begin
  197.                                                                                 buf_control = 1;
  198.                                                                         end
  199.                                                                 end
  200.                                                 end
  201.                         else
  202.                                 tmp_padio = 1'bx;
  203.                 end
  204.                 else
  205.                         $display ("Error: Invalid operation_mode specified in max io atom!\n");
  206.         end
  207. end
  208.  
  209. bufif1 (weak1, weak0) b(padio_tmp, prev_value, buf_control);  //weak value
  210. pmos (padio_tmp, tmp_padio, 'b0);
  211. pmos (dataout, tmp_dataout, 'b0);
  212. pmos (padio, padio_tmp, 'b0);
  213.  
  214. endmodule
  215.  
  216.  
  217. module max_io (datain, oe, padio, dataout);
  218.  
  219.         parameter operation_mode = "input";
  220.                 parameter bus_hold = "false";
  221.                 parameter open_drain_output = "false";
  222.                 parameter weak_pull_up = "false";
  223.  
  224.         inout        padio;
  225.         input        datain, oe;
  226.         output       dataout;
  227.  
  228.         max_asynch_io asynch_inst (datain, oe, padio, dataout);
  229.         defparam
  230.                 asynch_inst.operation_mode = operation_mode,
  231.                 asynch_inst.bus_hold = bus_hold,
  232.             asynch_inst.open_drain_output = open_drain_output,
  233.             asynch_inst.weak_pull_up = weak_pull_up;
  234.  
  235. endmodule
  236.  
  237. ///////////////////////////////////////////////////////////////////////////////
  238. //
  239. // MAX MCELL ATOM
  240. //
  241. //////////////////////////////////////////////////////////////////////////////
  242.  
  243. //   MAX MCELL ASYNCH
  244.  
  245. `timescale 1 ps/1 ps
  246. module  max_asynch_mcell (pterm0, pterm1, pterm2, pterm3, pterm4,
  247.                           pterm5, fpin, pxor, pexpin, fbkin,
  248.                           combout, pexpout, regin);
  249.  
  250.    parameter operation_mode     = "normal";
  251.    parameter pexp_mode = "off";
  252.    parameter register_mode = "dff";
  253.  
  254.    input [51:0] pterm0, pterm1, pterm2, pterm3, pterm4, pterm5, pxor;
  255.    input        pexpin, fbkin, fpin;
  256.    output       combout, pexpout, regin;
  257.  
  258.    reg          icomb, ipexpout, tmp_comb, tmp_fpin;
  259.    reg          tmp_pterm0, tmp_pterm1, tmp_pterm2;
  260.    reg          tmp_pterm3, tmp_pterm4, tmp_pexpin;
  261.    wire [51:0]  ipterm0, ipterm1, ipterm2, ipterm3, ipterm4, ipterm5, ipxor;
  262.    
  263.     wire ipexpin;
  264.     wire ifpin;
  265.  
  266.     buf (ipexpin, pexpin);
  267.     buf (ifpin, fpin);
  268.  
  269.     buf (ipterm0[0], pterm0[0]);
  270.     buf (ipterm0[1], pterm0[1]);
  271.     buf (ipterm0[2], pterm0[2]);
  272.     buf (ipterm0[3], pterm0[3]);
  273.     buf (ipterm0[4], pterm0[4]);
  274.     buf (ipterm0[5], pterm0[5]);
  275.     buf (ipterm0[6], pterm0[6]);
  276.     buf (ipterm0[7], pterm0[7]);
  277.     buf (ipterm0[8], pterm0[8]);
  278.     buf (ipterm0[9], pterm0[9]);
  279.     buf (ipterm0[10], pterm0[10]);
  280.     buf (ipterm0[11], pterm0[11]);
  281.     buf (ipterm0[12], pterm0[12]);
  282.     buf (ipterm0[13], pterm0[13]);
  283.     buf (ipterm0[14], pterm0[14]);
  284.     buf (ipterm0[15], pterm0[15]);
  285.     buf (ipterm0[16], pterm0[16]);
  286.     buf (ipterm0[17], pterm0[17]);
  287.     buf (ipterm0[18], pterm0[18]);
  288.     buf (ipterm0[19], pterm0[19]);
  289.     buf (ipterm0[20], pterm0[20]);
  290.     buf (ipterm0[21], pterm0[21]);
  291.     buf (ipterm0[22], pterm0[22]);
  292.     buf (ipterm0[23], pterm0[23]);
  293.     buf (ipterm0[24], pterm0[24]);
  294.     buf (ipterm0[25], pterm0[25]);
  295.     buf (ipterm0[26], pterm0[26]);
  296.     buf (ipterm0[27], pterm0[27]);
  297.     buf (ipterm0[28], pterm0[28]);
  298.     buf (ipterm0[29], pterm0[29]);
  299.     buf (ipterm0[30], pterm0[30]);
  300.     buf (ipterm0[31], pterm0[31]);
  301.     buf (ipterm0[32], pterm0[32]);
  302.     buf (ipterm0[33], pterm0[33]);
  303.     buf (ipterm0[34], pterm0[34]);
  304.     buf (ipterm0[35], pterm0[35]);
  305.     buf (ipterm0[36], pterm0[36]);
  306.     buf (ipterm0[37], pterm0[37]);
  307.     buf (ipterm0[38], pterm0[38]);
  308.     buf (ipterm0[39], pterm0[39]);
  309.     buf (ipterm0[40], pterm0[40]);
  310.     buf (ipterm0[41], pterm0[41]);
  311.     buf (ipterm0[42], pterm0[42]);
  312.     buf (ipterm0[43], pterm0[43]);
  313.     buf (ipterm0[44], pterm0[44]);
  314.     buf (ipterm0[45], pterm0[45]);
  315.     buf (ipterm0[46], pterm0[46]);
  316.     buf (ipterm0[47], pterm0[47]);
  317.     buf (ipterm0[48], pterm0[48]);
  318.     buf (ipterm0[49], pterm0[49]);
  319.     buf (ipterm0[50], pterm0[50]);
  320.     buf (ipterm0[51], pterm0[51]);
  321.  
  322.     buf (ipterm1[0], pterm1[0]);
  323.     buf (ipterm1[1], pterm1[1]);
  324.     buf (ipterm1[2], pterm1[2]);
  325.     buf (ipterm1[3], pterm1[3]);
  326.     buf (ipterm1[4], pterm1[4]);
  327.     buf (ipterm1[5], pterm1[5]);
  328.     buf (ipterm1[6], pterm1[6]);
  329.     buf (ipterm1[7], pterm1[7]);
  330.     buf (ipterm1[8], pterm1[8]);
  331.     buf (ipterm1[9], pterm1[9]);
  332.     buf (ipterm1[10], pterm1[10]);
  333.     buf (ipterm1[11], pterm1[11]);
  334.     buf (ipterm1[12], pterm1[12]);
  335.     buf (ipterm1[13], pterm1[13]);
  336.     buf (ipterm1[14], pterm1[14]);
  337.     buf (ipterm1[15], pterm1[15]);
  338.     buf (ipterm1[16], pterm1[16]);
  339.     buf (ipterm1[17], pterm1[17]);
  340.     buf (ipterm1[18], pterm1[18]);
  341.     buf (ipterm1[19], pterm1[19]);
  342.     buf (ipterm1[20], pterm1[20]);
  343.     buf (ipterm1[21], pterm1[21]);
  344.     buf (ipterm1[22], pterm1[22]);
  345.     buf (ipterm1[23], pterm1[23]);
  346.     buf (ipterm1[24], pterm1[24]);
  347.     buf (ipterm1[25], pterm1[25]);
  348.     buf (ipterm1[26], pterm1[26]);
  349.     buf (ipterm1[27], pterm1[27]);
  350.     buf (ipterm1[28], pterm1[28]);
  351.     buf (ipterm1[29], pterm1[29]);
  352.     buf (ipterm1[30], pterm1[30]);
  353.     buf (ipterm1[31], pterm1[31]);
  354.     buf (ipterm1[32], pterm1[32]);
  355.     buf (ipterm1[33], pterm1[33]);
  356.     buf (ipterm1[34], pterm1[34]);
  357.     buf (ipterm1[35], pterm1[35]);
  358.     buf (ipterm1[36], pterm1[36]);
  359.     buf (ipterm1[37], pterm1[37]);
  360.     buf (ipterm1[38], pterm1[38]);
  361.     buf (ipterm1[39], pterm1[39]);
  362.     buf (ipterm1[40], pterm1[40]);
  363.     buf (ipterm1[41], pterm1[41]);
  364.     buf (ipterm1[42], pterm1[42]);
  365.     buf (ipterm1[43], pterm1[43]);
  366.     buf (ipterm1[44], pterm1[44]);
  367.     buf (ipterm1[45], pterm1[45]);
  368.     buf (ipterm1[46], pterm1[46]);
  369.     buf (ipterm1[47], pterm1[47]);
  370.     buf (ipterm1[48], pterm1[48]);
  371.     buf (ipterm1[49], pterm1[49]);
  372.     buf (ipterm1[50], pterm1[50]);
  373.     buf (ipterm1[51], pterm1[51]);
  374.  
  375.     buf (ipterm2[0], pterm2[0]);
  376.     buf (ipterm2[1], pterm2[1]);
  377.     buf (ipterm2[2], pterm2[2]);
  378.     buf (ipterm2[3], pterm2[3]);
  379.     buf (ipterm2[4], pterm2[4]);
  380.     buf (ipterm2[5], pterm2[5]);
  381.     buf (ipterm2[6], pterm2[6]);
  382.     buf (ipterm2[7], pterm2[7]);
  383.     buf (ipterm2[8], pterm2[8]);
  384.     buf (ipterm2[9], pterm2[9]);
  385.     buf (ipterm2[10], pterm2[10]);
  386.     buf (ipterm2[11], pterm2[11]);
  387.     buf (ipterm2[12], pterm2[12]);
  388.     buf (ipterm2[13], pterm2[13]);
  389.     buf (ipterm2[14], pterm2[14]);
  390.     buf (ipterm2[15], pterm2[15]);
  391.     buf (ipterm2[16], pterm2[16]);
  392.     buf (ipterm2[17], pterm2[17]);
  393.     buf (ipterm2[18], pterm2[18]);
  394.     buf (ipterm2[19], pterm2[19]);
  395.     buf (ipterm2[20], pterm2[20]);
  396.     buf (ipterm2[21], pterm2[21]);
  397.     buf (ipterm2[22], pterm2[22]);
  398.     buf (ipterm2[23], pterm2[23]);
  399.     buf (ipterm2[24], pterm2[24]);
  400.     buf (ipterm2[25], pterm2[25]);
  401.     buf (ipterm2[26], pterm2[26]);
  402.     buf (ipterm2[27], pterm2[27]);
  403.     buf (ipterm2[28], pterm2[28]);
  404.     buf (ipterm2[29], pterm2[29]);
  405.     buf (ipterm2[30], pterm2[30]);
  406.     buf (ipterm2[31], pterm2[31]);
  407.     buf (ipterm2[32], pterm2[32]);
  408.     buf (ipterm2[33], pterm2[33]);
  409.     buf (ipterm2[34], pterm2[34]);
  410.     buf (ipterm2[35], pterm2[35]);
  411.     buf (ipterm2[36], pterm2[36]);
  412.     buf (ipterm2[37], pterm2[37]);
  413.     buf (ipterm2[38], pterm2[38]);
  414.     buf (ipterm2[39], pterm2[39]);
  415.     buf (ipterm2[40], pterm2[40]);
  416.     buf (ipterm2[41], pterm2[41]);
  417.     buf (ipterm2[42], pterm2[42]);
  418.     buf (ipterm2[43], pterm2[43]);
  419.     buf (ipterm2[44], pterm2[44]);
  420.     buf (ipterm2[45], pterm2[45]);
  421.     buf (ipterm2[46], pterm2[46]);
  422.     buf (ipterm2[47], pterm2[47]);
  423.     buf (ipterm2[48], pterm2[48]);
  424.     buf (ipterm2[49], pterm2[49]);
  425.     buf (ipterm2[50], pterm2[50]);
  426.     buf (ipterm2[51], pterm2[51]);
  427.  
  428.     buf (ipterm3[0], pterm3[0]);
  429.     buf (ipterm3[1], pterm3[1]);
  430.     buf (ipterm3[2], pterm3[2]);
  431.     buf (ipterm3[3], pterm3[3]);
  432.     buf (ipterm3[4], pterm3[4]);
  433.     buf (ipterm3[5], pterm3[5]);
  434.     buf (ipterm3[6], pterm3[6]);
  435.     buf (ipterm3[7], pterm3[7]);
  436.     buf (ipterm3[8], pterm3[8]);
  437.     buf (ipterm3[9], pterm3[9]);
  438.     buf (ipterm3[10], pterm3[10]);
  439.     buf (ipterm3[11], pterm3[11]);
  440.     buf (ipterm3[12], pterm3[12]);
  441.     buf (ipterm3[13], pterm3[13]);
  442.     buf (ipterm3[14], pterm3[14]);
  443.     buf (ipterm3[15], pterm3[15]);
  444.     buf (ipterm3[16], pterm3[16]);
  445.     buf (ipterm3[17], pterm3[17]);
  446.     buf (ipterm3[18], pterm3[18]);
  447.     buf (ipterm3[19], pterm3[19]);
  448.     buf (ipterm3[20], pterm3[20]);
  449.     buf (ipterm3[21], pterm3[21]);
  450.     buf (ipterm3[22], pterm3[22]);
  451.     buf (ipterm3[23], pterm3[23]);
  452.     buf (ipterm3[24], pterm3[24]);
  453.     buf (ipterm3[25], pterm3[25]);
  454.     buf (ipterm3[26], pterm3[26]);
  455.     buf (ipterm3[27], pterm3[27]);
  456.     buf (ipterm3[28], pterm3[28]);
  457.     buf (ipterm3[29], pterm3[29]);
  458.     buf (ipterm3[30], pterm3[30]);
  459.     buf (ipterm3[31], pterm3[31]);
  460.     buf (ipterm3[32], pterm3[32]);
  461.     buf (ipterm3[33], pterm3[33]);
  462.     buf (ipterm3[34], pterm3[34]);
  463.     buf (ipterm3[35], pterm3[35]);
  464.     buf (ipterm3[36], pterm3[36]);
  465.     buf (ipterm3[37], pterm3[37]);
  466.     buf (ipterm3[38], pterm3[38]);
  467.     buf (ipterm3[39], pterm3[39]);
  468.     buf (ipterm3[40], pterm3[40]);
  469.     buf (ipterm3[41], pterm3[41]);
  470.     buf (ipterm3[42], pterm3[42]);
  471.     buf (ipterm3[43], pterm3[43]);
  472.     buf (ipterm3[44], pterm3[44]);
  473.     buf (ipterm3[45], pterm3[45]);
  474.     buf (ipterm3[46], pterm3[46]);
  475.     buf (ipterm3[47], pterm3[47]);
  476.     buf (ipterm3[48], pterm3[48]);
  477.     buf (ipterm3[49], pterm3[49]);
  478.     buf (ipterm3[50], pterm3[50]);
  479.     buf (ipterm3[51], pterm3[51]);
  480.  
  481.     buf (ipterm4[0], pterm4[0]);
  482.     buf (ipterm4[1], pterm4[1]);
  483.     buf (ipterm4[2], pterm4[2]);
  484.     buf (ipterm4[3], pterm4[3]);
  485.     buf (ipterm4[4], pterm4[4]);
  486.     buf (ipterm4[5], pterm4[5]);
  487.     buf (ipterm4[6], pterm4[6]);
  488.     buf (ipterm4[7], pterm4[7]);
  489.     buf (ipterm4[8], pterm4[8]);
  490.     buf (ipterm4[9], pterm4[9]);
  491.     buf (ipterm4[10], pterm4[10]);
  492.     buf (ipterm4[11], pterm4[11]);
  493.     buf (ipterm4[12], pterm4[12]);
  494.     buf (ipterm4[13], pterm4[13]);
  495.     buf (ipterm4[14], pterm4[14]);
  496.     buf (ipterm4[15], pterm4[15]);
  497.     buf (ipterm4[16], pterm4[16]);
  498.     buf (ipterm4[17], pterm4[17]);
  499.     buf (ipterm4[18], pterm4[18]);
  500.     buf (ipterm4[19], pterm4[19]);
  501.     buf (ipterm4[20], pterm4[20]);
  502.     buf (ipterm4[21], pterm4[21]);
  503.     buf (ipterm4[22], pterm4[22]);
  504.     buf (ipterm4[23], pterm4[23]);
  505.     buf (ipterm4[24], pterm4[24]);
  506.     buf (ipterm4[25], pterm4[25]);
  507.     buf (ipterm4[26], pterm4[26]);
  508.     buf (ipterm4[27], pterm4[27]);
  509.     buf (ipterm4[28], pterm4[28]);
  510.     buf (ipterm4[29], pterm4[29]);
  511.     buf (ipterm4[30], pterm4[30]);
  512.     buf (ipterm4[31], pterm4[31]);
  513.     buf (ipterm4[32], pterm4[32]);
  514.     buf (ipterm4[33], pterm4[33]);
  515.     buf (ipterm4[34], pterm4[34]);
  516.     buf (ipterm4[35], pterm4[35]);
  517.     buf (ipterm4[36], pterm4[36]);
  518.     buf (ipterm4[37], pterm4[37]);
  519.     buf (ipterm4[38], pterm4[38]);
  520.     buf (ipterm4[39], pterm4[39]);
  521.     buf (ipterm4[40], pterm4[40]);
  522.     buf (ipterm4[41], pterm4[41]);
  523.     buf (ipterm4[42], pterm4[42]);
  524.     buf (ipterm4[43], pterm4[43]);
  525.     buf (ipterm4[44], pterm4[44]);
  526.     buf (ipterm4[45], pterm4[45]);
  527.     buf (ipterm4[46], pterm4[46]);
  528.     buf (ipterm4[47], pterm4[47]);
  529.     buf (ipterm4[48], pterm4[48]);
  530.     buf (ipterm4[49], pterm4[49]);
  531.     buf (ipterm4[50], pterm4[50]);
  532.     buf (ipterm4[51], pterm4[51]);
  533.  
  534.     buf (ipterm5[0], pterm5[0]);
  535.     buf (ipterm5[1], pterm5[1]);
  536.     buf (ipterm5[2], pterm5[2]);
  537.     buf (ipterm5[3], pterm5[3]);
  538.     buf (ipterm5[4], pterm5[4]);
  539.     buf (ipterm5[5], pterm5[5]);
  540.     buf (ipterm5[6], pterm5[6]);
  541.     buf (ipterm5[7], pterm5[7]);
  542.     buf (ipterm5[8], pterm5[8]);
  543.     buf (ipterm5[9], pterm5[9]);
  544.     buf (ipterm5[10], pterm5[10]);
  545.     buf (ipterm5[11], pterm5[11]);
  546.     buf (ipterm5[12], pterm5[12]);
  547.     buf (ipterm5[13], pterm5[13]);
  548.     buf (ipterm5[14], pterm5[14]);
  549.     buf (ipterm5[15], pterm5[15]);
  550.     buf (ipterm5[16], pterm5[16]);
  551.     buf (ipterm5[17], pterm5[17]);
  552.     buf (ipterm5[18], pterm5[18]);
  553.     buf (ipterm5[19], pterm5[19]);
  554.     buf (ipterm5[20], pterm5[20]);
  555.     buf (ipterm5[21], pterm5[21]);
  556.     buf (ipterm5[22], pterm5[22]);
  557.     buf (ipterm5[23], pterm5[23]);
  558.     buf (ipterm5[24], pterm5[24]);
  559.     buf (ipterm5[25], pterm5[25]);
  560.     buf (ipterm5[26], pterm5[26]);
  561.     buf (ipterm5[27], pterm5[27]);
  562.     buf (ipterm5[28], pterm5[28]);
  563.     buf (ipterm5[29], pterm5[29]);
  564.     buf (ipterm5[30], pterm5[30]);
  565.     buf (ipterm5[31], pterm5[31]);
  566.     buf (ipterm5[32], pterm5[32]);
  567.     buf (ipterm5[33], pterm5[33]);
  568.     buf (ipterm5[34], pterm5[34]);
  569.     buf (ipterm5[35], pterm5[35]);
  570.     buf (ipterm5[36], pterm5[36]);
  571.     buf (ipterm5[37], pterm5[37]);
  572.     buf (ipterm5[38], pterm5[38]);
  573.     buf (ipterm5[39], pterm5[39]);
  574.     buf (ipterm5[40], pterm5[40]);
  575.     buf (ipterm5[41], pterm5[41]);
  576.     buf (ipterm5[42], pterm5[42]);
  577.     buf (ipterm5[43], pterm5[43]);
  578.     buf (ipterm5[44], pterm5[44]);
  579.     buf (ipterm5[45], pterm5[45]);
  580.     buf (ipterm5[46], pterm5[46]);
  581.     buf (ipterm5[47], pterm5[47]);
  582.     buf (ipterm5[48], pterm5[48]);
  583.     buf (ipterm5[49], pterm5[49]);
  584.     buf (ipterm5[50], pterm5[50]);
  585.     buf (ipterm5[51], pterm5[51]);
  586.  
  587.     buf (ipxor[0], pxor[0]);
  588.     buf (ipxor[1], pxor[1]);
  589.     buf (ipxor[2], pxor[2]);
  590.     buf (ipxor[3], pxor[3]);
  591.     buf (ipxor[4], pxor[4]);
  592.     buf (ipxor[5], pxor[5]);
  593.     buf (ipxor[6], pxor[6]);
  594.     buf (ipxor[7], pxor[7]);
  595.     buf (ipxor[8], pxor[8]);
  596.     buf (ipxor[9], pxor[9]);
  597.     buf (ipxor[10], pxor[10]);
  598.     buf (ipxor[11], pxor[11]);
  599.     buf (ipxor[12], pxor[12]);
  600.     buf (ipxor[13], pxor[13]);
  601.     buf (ipxor[14], pxor[14]);
  602.     buf (ipxor[15], pxor[15]);
  603.     buf (ipxor[16], pxor[16]);
  604.     buf (ipxor[17], pxor[17]);
  605.     buf (ipxor[18], pxor[18]);
  606.     buf (ipxor[19], pxor[19]);
  607.     buf (ipxor[20], pxor[20]);
  608.     buf (ipxor[21], pxor[21]);
  609.     buf (ipxor[22], pxor[22]);
  610.     buf (ipxor[23], pxor[23]);
  611.     buf (ipxor[24], pxor[24]);
  612.     buf (ipxor[25], pxor[25]);
  613.     buf (ipxor[26], pxor[26]);
  614.     buf (ipxor[27], pxor[27]);
  615.     buf (ipxor[28], pxor[28]);
  616.     buf (ipxor[29], pxor[29]);
  617.     buf (ipxor[30], pxor[30]);
  618.     buf (ipxor[31], pxor[31]);
  619.     buf (ipxor[32], pxor[32]);
  620.     buf (ipxor[33], pxor[33]);
  621.     buf (ipxor[34], pxor[34]);
  622.     buf (ipxor[35], pxor[35]);
  623.     buf (ipxor[36], pxor[36]);
  624.     buf (ipxor[37], pxor[37]);
  625.     buf (ipxor[38], pxor[38]);
  626.     buf (ipxor[39], pxor[39]);
  627.     buf (ipxor[40], pxor[40]);
  628.     buf (ipxor[41], pxor[41]);
  629.     buf (ipxor[42], pxor[42]);
  630.     buf (ipxor[43], pxor[43]);
  631.     buf (ipxor[44], pxor[44]);
  632.     buf (ipxor[45], pxor[45]);
  633.     buf (ipxor[46], pxor[46]);
  634.     buf (ipxor[47], pxor[47]);
  635.     buf (ipxor[48], pxor[48]);
  636.     buf (ipxor[49], pxor[49]);
  637.     buf (ipxor[50], pxor[50]);
  638.     buf (ipxor[51], pxor[51]);
  639.  
  640.     specify
  641.  
  642.     (pterm0[0] => combout) = (0, 0) ;
  643.     (pterm0[1] => combout) = (0, 0) ;
  644.     (pterm0[2] => combout) = (0, 0) ;
  645.     (pterm0[3] => combout) = (0, 0) ;
  646.     (pterm0[4] => combout) = (0, 0) ;
  647.     (pterm0[5] => combout) = (0, 0) ;
  648.     (pterm0[6] => combout) = (0, 0) ;
  649.     (pterm0[7] => combout) = (0, 0) ;
  650.     (pterm0[8] => combout) = (0, 0) ;
  651.     (pterm0[9] => combout) = (0, 0) ;
  652.     (pterm0[10] => combout) = (0, 0) ;
  653.     (pterm0[11] => combout) = (0, 0) ;
  654.     (pterm0[12] => combout) = (0, 0) ;
  655.     (pterm0[13] => combout) = (0, 0) ;
  656.     (pterm0[14] => combout) = (0, 0) ;
  657.     (pterm0[15] => combout) = (0, 0) ;
  658.     (pterm0[16] => combout) = (0, 0) ;
  659.     (pterm0[17] => combout) = (0, 0) ;
  660.     (pterm0[18] => combout) = (0, 0) ;
  661.     (pterm0[19] => combout) = (0, 0) ;
  662.     (pterm0[20] => combout) = (0, 0) ;
  663.     (pterm0[21] => combout) = (0, 0) ;
  664.     (pterm0[22] => combout) = (0, 0) ;
  665.     (pterm0[23] => combout) = (0, 0) ;
  666.     (pterm0[24] => combout) = (0, 0) ;
  667.     (pterm0[25] => combout) = (0, 0) ;
  668.     (pterm0[26] => combout) = (0, 0) ;
  669.     (pterm0[27] => combout) = (0, 0) ;
  670.     (pterm0[28] => combout) = (0, 0) ;
  671.     (pterm0[29] => combout) = (0, 0) ;
  672.     (pterm0[30] => combout) = (0, 0) ;
  673.     (pterm0[31] => combout) = (0, 0) ;
  674.     (pterm0[32] => combout) = (0, 0) ;
  675.     (pterm0[33] => combout) = (0, 0) ;
  676.     (pterm0[34] => combout) = (0, 0) ;
  677.     (pterm0[35] => combout) = (0, 0) ;
  678.     (pterm0[36] => combout) = (0, 0) ;
  679.     (pterm0[37] => combout) = (0, 0) ;
  680.     (pterm0[38] => combout) = (0, 0) ;
  681.     (pterm0[39] => combout) = (0, 0) ;
  682.     (pterm0[40] => combout) = (0, 0) ;
  683.     (pterm0[41] => combout) = (0, 0) ;
  684.     (pterm0[42] => combout) = (0, 0) ;
  685.     (pterm0[43] => combout) = (0, 0) ;
  686.     (pterm0[44] => combout) = (0, 0) ;
  687.     (pterm0[45] => combout) = (0, 0) ;
  688.     (pterm0[46] => combout) = (0, 0) ;
  689.     (pterm0[47] => combout) = (0, 0) ;
  690.     (pterm0[48] => combout) = (0, 0) ;
  691.     (pterm0[49] => combout) = (0, 0) ;
  692.     (pterm0[50] => combout) = (0, 0) ;
  693.     (pterm0[51] => combout) = (0, 0) ;
  694.  
  695.     (pterm1[0] => combout) = (0, 0) ;
  696.     (pterm1[1] => combout) = (0, 0) ;
  697.     (pterm1[2] => combout) = (0, 0) ;
  698.     (pterm1[3] => combout) = (0, 0) ;
  699.     (pterm1[4] => combout) = (0, 0) ;
  700.     (pterm1[5] => combout) = (0, 0) ;
  701.     (pterm1[6] => combout) = (0, 0) ;
  702.     (pterm1[7] => combout) = (0, 0) ;
  703.     (pterm1[8] => combout) = (0, 0) ;
  704.     (pterm1[9] => combout) = (0, 0) ;
  705.     (pterm1[10] => combout) = (0, 0) ;
  706.     (pterm1[11] => combout) = (0, 0) ;
  707.     (pterm1[12] => combout) = (0, 0) ;
  708.     (pterm1[13] => combout) = (0, 0) ;
  709.     (pterm1[14] => combout) = (0, 0) ;
  710.     (pterm1[15] => combout) = (0, 0) ;
  711.     (pterm1[16] => combout) = (0, 0) ;
  712.     (pterm1[17] => combout) = (0, 0) ;
  713.     (pterm1[18] => combout) = (0, 0) ;
  714.     (pterm1[19] => combout) = (0, 0) ;
  715.     (pterm1[20] => combout) = (0, 0) ;
  716.     (pterm1[21] => combout) = (0, 0) ;
  717.     (pterm1[22] => combout) = (0, 0) ;
  718.     (pterm1[23] => combout) = (0, 0) ;
  719.     (pterm1[24] => combout) = (0, 0) ;
  720.     (pterm1[25] => combout) = (0, 0) ;
  721.     (pterm1[26] => combout) = (0, 0) ;
  722.     (pterm1[27] => combout) = (0, 0) ;
  723.     (pterm1[28] => combout) = (0, 0) ;
  724.     (pterm1[29] => combout) = (0, 0) ;
  725.     (pterm1[30] => combout) = (0, 0) ;
  726.     (pterm1[31] => combout) = (0, 0) ;
  727.     (pterm1[32] => combout) = (0, 0) ;
  728.     (pterm1[33] => combout) = (0, 0) ;
  729.     (pterm1[34] => combout) = (0, 0) ;
  730.     (pterm1[35] => combout) = (0, 0) ;
  731.     (pterm1[36] => combout) = (0, 0) ;
  732.     (pterm1[37] => combout) = (0, 0) ;
  733.     (pterm1[38] => combout) = (0, 0) ;
  734.     (pterm1[39] => combout) = (0, 0) ;
  735.     (pterm1[40] => combout) = (0, 0) ;
  736.     (pterm1[41] => combout) = (0, 0) ;
  737.     (pterm1[42] => combout) = (0, 0) ;
  738.     (pterm1[43] => combout) = (0, 0) ;
  739.     (pterm1[44] => combout) = (0, 0) ;
  740.     (pterm1[45] => combout) = (0, 0) ;
  741.     (pterm1[46] => combout) = (0, 0) ;
  742.     (pterm1[47] => combout) = (0, 0) ;
  743.     (pterm1[48] => combout) = (0, 0) ;
  744.     (pterm1[49] => combout) = (0, 0) ;
  745.     (pterm1[50] => combout) = (0, 0) ;
  746.     (pterm1[51] => combout) = (0, 0) ;
  747.  
  748.     (pterm2[0] => combout) = (0, 0) ;
  749.     (pterm2[1] => combout) = (0, 0) ;
  750.     (pterm2[2] => combout) = (0, 0) ;
  751.     (pterm2[3] => combout) = (0, 0) ;
  752.     (pterm2[4] => combout) = (0, 0) ;
  753.     (pterm2[5] => combout) = (0, 0) ;
  754.     (pterm2[6] => combout) = (0, 0) ;
  755.     (pterm2[7] => combout) = (0, 0) ;
  756.     (pterm2[8] => combout) = (0, 0) ;
  757.     (pterm2[9] => combout) = (0, 0) ;
  758.     (pterm2[10] => combout) = (0, 0) ;
  759.     (pterm2[11] => combout) = (0, 0) ;
  760.     (pterm2[12] => combout) = (0, 0) ;
  761.     (pterm2[13] => combout) = (0, 0) ;
  762.     (pterm2[14] => combout) = (0, 0) ;
  763.     (pterm2[15] => combout) = (0, 0) ;
  764.     (pterm2[16] => combout) = (0, 0) ;
  765.     (pterm2[17] => combout) = (0, 0) ;
  766.     (pterm2[18] => combout) = (0, 0) ;
  767.     (pterm2[19] => combout) = (0, 0) ;
  768.     (pterm2[20] => combout) = (0, 0) ;
  769.     (pterm2[21] => combout) = (0, 0) ;
  770.     (pterm2[22] => combout) = (0, 0) ;
  771.     (pterm2[23] => combout) = (0, 0) ;
  772.     (pterm2[24] => combout) = (0, 0) ;
  773.     (pterm2[25] => combout) = (0, 0) ;
  774.     (pterm2[26] => combout) = (0, 0) ;
  775.     (pterm2[27] => combout) = (0, 0) ;
  776.     (pterm2[28] => combout) = (0, 0) ;
  777.     (pterm2[29] => combout) = (0, 0) ;
  778.     (pterm2[30] => combout) = (0, 0) ;
  779.     (pterm2[31] => combout) = (0, 0) ;
  780.     (pterm2[32] => combout) = (0, 0) ;
  781.     (pterm2[33] => combout) = (0, 0) ;
  782.     (pterm2[34] => combout) = (0, 0) ;
  783.     (pterm2[35] => combout) = (0, 0) ;
  784.     (pterm2[36] => combout) = (0, 0) ;
  785.     (pterm2[37] => combout) = (0, 0) ;
  786.     (pterm2[38] => combout) = (0, 0) ;
  787.     (pterm2[39] => combout) = (0, 0) ;
  788.     (pterm2[40] => combout) = (0, 0) ;
  789.     (pterm2[41] => combout) = (0, 0) ;
  790.     (pterm2[42] => combout) = (0, 0) ;
  791.     (pterm2[43] => combout) = (0, 0) ;
  792.     (pterm2[44] => combout) = (0, 0) ;
  793.     (pterm2[45] => combout) = (0, 0) ;
  794.     (pterm2[46] => combout) = (0, 0) ;
  795.     (pterm2[47] => combout) = (0, 0) ;
  796.     (pterm2[48] => combout) = (0, 0) ;
  797.     (pterm2[49] => combout) = (0, 0) ;
  798.     (pterm2[50] => combout) = (0, 0) ;
  799.     (pterm2[51] => combout) = (0, 0) ;
  800.  
  801.     (pterm3[0] => combout) = (0, 0) ;
  802.     (pterm3[1] => combout) = (0, 0) ;
  803.     (pterm3[2] => combout) = (0, 0) ;
  804.     (pterm3[3] => combout) = (0, 0) ;
  805.     (pterm3[4] => combout) = (0, 0) ;
  806.     (pterm3[5] => combout) = (0, 0) ;
  807.     (pterm3[6] => combout) = (0, 0) ;
  808.     (pterm3[7] => combout) = (0, 0) ;
  809.     (pterm3[8] => combout) = (0, 0) ;
  810.     (pterm3[9] => combout) = (0, 0) ;
  811.     (pterm3[10] => combout) = (0, 0) ;
  812.     (pterm3[11] => combout) = (0, 0) ;
  813.     (pterm3[12] => combout) = (0, 0) ;
  814.     (pterm3[13] => combout) = (0, 0) ;
  815.     (pterm3[14] => combout) = (0, 0) ;
  816.     (pterm3[15] => combout) = (0, 0) ;
  817.     (pterm3[16] => combout) = (0, 0) ;
  818.     (pterm3[17] => combout) = (0, 0) ;
  819.     (pterm3[18] => combout) = (0, 0) ;
  820.     (pterm3[19] => combout) = (0, 0) ;
  821.     (pterm3[20] => combout) = (0, 0) ;
  822.     (pterm3[21] => combout) = (0, 0) ;
  823.     (pterm3[22] => combout) = (0, 0) ;
  824.     (pterm3[23] => combout) = (0, 0) ;
  825.     (pterm3[24] => combout) = (0, 0) ;
  826.     (pterm3[25] => combout) = (0, 0) ;
  827.     (pterm3[26] => combout) = (0, 0) ;
  828.     (pterm3[27] => combout) = (0, 0) ;
  829.     (pterm3[28] => combout) = (0, 0) ;
  830.     (pterm3[29] => combout) = (0, 0) ;
  831.     (pterm3[30] => combout) = (0, 0) ;
  832.     (pterm3[31] => combout) = (0, 0) ;
  833.     (pterm3[32] => combout) = (0, 0) ;
  834.     (pterm3[33] => combout) = (0, 0) ;
  835.     (pterm3[34] => combout) = (0, 0) ;
  836.     (pterm3[35] => combout) = (0, 0) ;
  837.     (pterm3[36] => combout) = (0, 0) ;
  838.     (pterm3[37] => combout) = (0, 0) ;
  839.     (pterm3[38] => combout) = (0, 0) ;
  840.     (pterm3[39] => combout) = (0, 0) ;
  841.     (pterm3[40] => combout) = (0, 0) ;
  842.     (pterm3[41] => combout) = (0, 0) ;
  843.     (pterm3[42] => combout) = (0, 0) ;
  844.     (pterm3[43] => combout) = (0, 0) ;
  845.     (pterm3[44] => combout) = (0, 0) ;
  846.     (pterm3[45] => combout) = (0, 0) ;
  847.     (pterm3[46] => combout) = (0, 0) ;
  848.     (pterm3[47] => combout) = (0, 0) ;
  849.     (pterm3[48] => combout) = (0, 0) ;
  850.     (pterm3[49] => combout) = (0, 0) ;
  851.     (pterm3[50] => combout) = (0, 0) ;
  852.     (pterm3[51] => combout) = (0, 0) ;
  853.  
  854.     (pterm4[0] => combout) = (0, 0) ;
  855.     (pterm4[1] => combout) = (0, 0) ;
  856.     (pterm4[2] => combout) = (0, 0) ;
  857.     (pterm4[3] => combout) = (0, 0) ;
  858.     (pterm4[4] => combout) = (0, 0) ;
  859.     (pterm4[5] => combout) = (0, 0) ;
  860.     (pterm4[6] => combout) = (0, 0) ;
  861.     (pterm4[7] => combout) = (0, 0) ;
  862.     (pterm4[8] => combout) = (0, 0) ;
  863.     (pterm4[9] => combout) = (0, 0) ;
  864.     (pterm4[10] => combout) = (0, 0) ;
  865.     (pterm4[11] => combout) = (0, 0) ;
  866.     (pterm4[12] => combout) = (0, 0) ;
  867.     (pterm4[13] => combout) = (0, 0) ;
  868.     (pterm4[14] => combout) = (0, 0) ;
  869.     (pterm4[15] => combout) = (0, 0) ;
  870.     (pterm4[16] => combout) = (0, 0) ;
  871.     (pterm4[17] => combout) = (0, 0) ;
  872.     (pterm4[18] => combout) = (0, 0) ;
  873.     (pterm4[19] => combout) = (0, 0) ;
  874.     (pterm4[20] => combout) = (0, 0) ;
  875.     (pterm4[21] => combout) = (0, 0) ;
  876.     (pterm4[22] => combout) = (0, 0) ;
  877.     (pterm4[23] => combout) = (0, 0) ;
  878.     (pterm4[24] => combout) = (0, 0) ;
  879.     (pterm4[25] => combout) = (0, 0) ;
  880.     (pterm4[26] => combout) = (0, 0) ;
  881.     (pterm4[27] => combout) = (0, 0) ;
  882.     (pterm4[28] => combout) = (0, 0) ;
  883.     (pterm4[29] => combout) = (0, 0) ;
  884.     (pterm4[30] => combout) = (0, 0) ;
  885.     (pterm4[31] => combout) = (0, 0) ;
  886.     (pterm4[32] => combout) = (0, 0) ;
  887.     (pterm4[33] => combout) = (0, 0) ;
  888.     (pterm4[34] => combout) = (0, 0) ;
  889.     (pterm4[35] => combout) = (0, 0) ;
  890.     (pterm4[36] => combout) = (0, 0) ;
  891.     (pterm4[37] => combout) = (0, 0) ;
  892.     (pterm4[38] => combout) = (0, 0) ;
  893.     (pterm4[39] => combout) = (0, 0) ;
  894.     (pterm4[40] => combout) = (0, 0) ;
  895.     (pterm4[41] => combout) = (0, 0) ;
  896.     (pterm4[42] => combout) = (0, 0) ;
  897.     (pterm4[43] => combout) = (0, 0) ;
  898.     (pterm4[44] => combout) = (0, 0) ;
  899.     (pterm4[45] => combout) = (0, 0) ;
  900.     (pterm4[46] => combout) = (0, 0) ;
  901.     (pterm4[47] => combout) = (0, 0) ;
  902.     (pterm4[48] => combout) = (0, 0) ;
  903.     (pterm4[49] => combout) = (0, 0) ;
  904.     (pterm4[50] => combout) = (0, 0) ;
  905.     (pterm4[51] => combout) = (0, 0) ;
  906.  
  907.     (pterm5[0] => combout) = (0, 0) ;
  908.     (pterm5[1] => combout) = (0, 0) ;
  909.     (pterm5[2] => combout) = (0, 0) ;
  910.     (pterm5[3] => combout) = (0, 0) ;
  911.     (pterm5[4] => combout) = (0, 0) ;
  912.     (pterm5[5] => combout) = (0, 0) ;
  913.     (pterm5[6] => combout) = (0, 0) ;
  914.     (pterm5[7] => combout) = (0, 0) ;
  915.     (pterm5[8] => combout) = (0, 0) ;
  916.     (pterm5[9] => combout) = (0, 0) ;
  917.     (pterm5[10] => combout) = (0, 0) ;
  918.     (pterm5[11] => combout) = (0, 0) ;
  919.     (pterm5[12] => combout) = (0, 0) ;
  920.     (pterm5[13] => combout) = (0, 0) ;
  921.     (pterm5[14] => combout) = (0, 0) ;
  922.     (pterm5[15] => combout) = (0, 0) ;
  923.     (pterm5[16] => combout) = (0, 0) ;
  924.     (pterm5[17] => combout) = (0, 0) ;
  925.     (pterm5[18] => combout) = (0, 0) ;
  926.     (pterm5[19] => combout) = (0, 0) ;
  927.     (pterm5[20] => combout) = (0, 0) ;
  928.     (pterm5[21] => combout) = (0, 0) ;
  929.     (pterm5[22] => combout) = (0, 0) ;
  930.     (pterm5[23] => combout) = (0, 0) ;
  931.     (pterm5[24] => combout) = (0, 0) ;
  932.     (pterm5[25] => combout) = (0, 0) ;
  933.     (pterm5[26] => combout) = (0, 0) ;
  934.     (pterm5[27] => combout) = (0, 0) ;
  935.     (pterm5[28] => combout) = (0, 0) ;
  936.     (pterm5[29] => combout) = (0, 0) ;
  937.     (pterm5[30] => combout) = (0, 0) ;
  938.     (pterm5[31] => combout) = (0, 0) ;
  939.     (pterm5[32] => combout) = (0, 0) ;
  940.     (pterm5[33] => combout) = (0, 0) ;
  941.     (pterm5[34] => combout) = (0, 0) ;
  942.     (pterm5[35] => combout) = (0, 0) ;
  943.     (pterm5[36] => combout) = (0, 0) ;
  944.     (pterm5[37] => combout) = (0, 0) ;
  945.     (pterm5[38] => combout) = (0, 0) ;
  946.     (pterm5[39] => combout) = (0, 0) ;
  947.     (pterm5[40] => combout) = (0, 0) ;
  948.     (pterm5[41] => combout) = (0, 0) ;
  949.     (pterm5[42] => combout) = (0, 0) ;
  950.     (pterm5[43] => combout) = (0, 0) ;
  951.     (pterm5[44] => combout) = (0, 0) ;
  952.     (pterm5[45] => combout) = (0, 0) ;
  953.     (pterm5[46] => combout) = (0, 0) ;
  954.     (pterm5[47] => combout) = (0, 0) ;
  955.     (pterm5[48] => combout) = (0, 0) ;
  956.     (pterm5[49] => combout) = (0, 0) ;
  957.     (pterm5[50] => combout) = (0, 0) ;
  958.     (pterm5[51] => combout) = (0, 0) ;
  959.  
  960.     (pxor[0] => combout) = (0, 0) ;
  961.     (pxor[1] => combout) = (0, 0) ;
  962.     (pxor[2] => combout) = (0, 0) ;
  963.     (pxor[3] => combout) = (0, 0) ;
  964.     (pxor[4] => combout) = (0, 0) ;
  965.     (pxor[5] => combout) = (0, 0) ;
  966.     (pxor[6] => combout) = (0, 0) ;
  967.     (pxor[7] => combout) = (0, 0) ;
  968.     (pxor[8] => combout) = (0, 0) ;
  969.     (pxor[9] => combout) = (0, 0) ;
  970.     (pxor[10] => combout) = (0, 0) ;
  971.     (pxor[11] => combout) = (0, 0) ;
  972.     (pxor[12] => combout) = (0, 0) ;
  973.     (pxor[13] => combout) = (0, 0) ;
  974.     (pxor[14] => combout) = (0, 0) ;
  975.     (pxor[15] => combout) = (0, 0) ;
  976.     (pxor[16] => combout) = (0, 0) ;
  977.     (pxor[17] => combout) = (0, 0) ;
  978.     (pxor[18] => combout) = (0, 0) ;
  979.     (pxor[19] => combout) = (0, 0) ;
  980.     (pxor[20] => combout) = (0, 0) ;
  981.     (pxor[21] => combout) = (0, 0) ;
  982.     (pxor[22] => combout) = (0, 0) ;
  983.     (pxor[23] => combout) = (0, 0) ;
  984.     (pxor[24] => combout) = (0, 0) ;
  985.     (pxor[25] => combout) = (0, 0) ;
  986.     (pxor[26] => combout) = (0, 0) ;
  987.     (pxor[27] => combout) = (0, 0) ;
  988.     (pxor[28] => combout) = (0, 0) ;
  989.     (pxor[29] => combout) = (0, 0) ;
  990.     (pxor[30] => combout) = (0, 0) ;
  991.     (pxor[31] => combout) = (0, 0) ;
  992.     (pxor[32] => combout) = (0, 0) ;
  993.     (pxor[33] => combout) = (0, 0) ;
  994.     (pxor[34] => combout) = (0, 0) ;
  995.     (pxor[35] => combout) = (0, 0) ;
  996.     (pxor[36] => combout) = (0, 0) ;
  997.     (pxor[37] => combout) = (0, 0) ;
  998.     (pxor[38] => combout) = (0, 0) ;
  999.     (pxor[39] => combout) = (0, 0) ;
  1000.     (pxor[40] => combout) = (0, 0) ;
  1001.     (pxor[41] => combout) = (0, 0) ;
  1002.     (pxor[42] => combout) = (0, 0) ;
  1003.     (pxor[43] => combout) = (0, 0) ;
  1004.     (pxor[44] => combout) = (0, 0) ;
  1005.     (pxor[45] => combout) = (0, 0) ;
  1006.     (pxor[46] => combout) = (0, 0) ;
  1007.     (pxor[47] => combout) = (0, 0) ;
  1008.     (pxor[48] => combout) = (0, 0) ;
  1009.     (pxor[49] => combout) = (0, 0) ;
  1010.     (pxor[50] => combout) = (0, 0) ;
  1011.     (pxor[51] => combout) = (0, 0) ;
  1012.  
  1013.     (pexpin => combout) = (0, 0) ;
  1014.  
  1015.     (pterm0[0] => pexpout) = (0, 0) ;
  1016.     (pterm0[1] => pexpout) = (0, 0) ;
  1017.     (pterm0[2] => pexpout) = (0, 0) ;
  1018.     (pterm0[3] => pexpout) = (0, 0) ;
  1019.     (pterm0[4] => pexpout) = (0, 0) ;
  1020.     (pterm0[5] => pexpout) = (0, 0) ;
  1021.     (pterm0[6] => pexpout) = (0, 0) ;
  1022.     (pterm0[7] => pexpout) = (0, 0) ;
  1023.     (pterm0[8] => pexpout) = (0, 0) ;
  1024.     (pterm0[9] => pexpout) = (0, 0) ;
  1025.     (pterm0[10] => pexpout) = (0, 0) ;
  1026.     (pterm0[11] => pexpout) = (0, 0) ;
  1027.     (pterm0[12] => pexpout) = (0, 0) ;
  1028.     (pterm0[13] => pexpout) = (0, 0) ;
  1029.     (pterm0[14] => pexpout) = (0, 0) ;
  1030.     (pterm0[15] => pexpout) = (0, 0) ;
  1031.     (pterm0[16] => pexpout) = (0, 0) ;
  1032.     (pterm0[17] => pexpout) = (0, 0) ;
  1033.     (pterm0[18] => pexpout) = (0, 0) ;
  1034.     (pterm0[19] => pexpout) = (0, 0) ;
  1035.     (pterm0[20] => pexpout) = (0, 0) ;
  1036.     (pterm0[21] => pexpout) = (0, 0) ;
  1037.     (pterm0[22] => pexpout) = (0, 0) ;
  1038.     (pterm0[23] => pexpout) = (0, 0) ;
  1039.     (pterm0[24] => pexpout) = (0, 0) ;
  1040.     (pterm0[25] => pexpout) = (0, 0) ;
  1041.     (pterm0[26] => pexpout) = (0, 0) ;
  1042.     (pterm0[27] => pexpout) = (0, 0) ;
  1043.     (pterm0[28] => pexpout) = (0, 0) ;
  1044.     (pterm0[29] => pexpout) = (0, 0) ;
  1045.     (pterm0[30] => pexpout) = (0, 0) ;
  1046.     (pterm0[31] => pexpout) = (0, 0) ;
  1047.     (pterm0[32] => pexpout) = (0, 0) ;
  1048.     (pterm0[33] => pexpout) = (0, 0) ;
  1049.     (pterm0[34] => pexpout) = (0, 0) ;
  1050.     (pterm0[35] => pexpout) = (0, 0) ;
  1051.     (pterm0[36] => pexpout) = (0, 0) ;
  1052.     (pterm0[37] => pexpout) = (0, 0) ;
  1053.     (pterm0[38] => pexpout) = (0, 0) ;
  1054.     (pterm0[39] => pexpout) = (0, 0) ;
  1055.     (pterm0[40] => pexpout) = (0, 0) ;
  1056.     (pterm0[41] => pexpout) = (0, 0) ;
  1057.     (pterm0[42] => pexpout) = (0, 0) ;
  1058.     (pterm0[43] => pexpout) = (0, 0) ;
  1059.     (pterm0[44] => pexpout) = (0, 0) ;
  1060.     (pterm0[45] => pexpout) = (0, 0) ;
  1061.     (pterm0[46] => pexpout) = (0, 0) ;
  1062.     (pterm0[47] => pexpout) = (0, 0) ;
  1063.     (pterm0[48] => pexpout) = (0, 0) ;
  1064.     (pterm0[49] => pexpout) = (0, 0) ;
  1065.     (pterm0[50] => pexpout) = (0, 0) ;
  1066.     (pterm0[51] => pexpout) = (0, 0) ;
  1067.  
  1068.     (pterm1[0] => pexpout) = (0, 0) ;
  1069.     (pterm1[1] => pexpout) = (0, 0) ;
  1070.     (pterm1[2] => pexpout) = (0, 0) ;
  1071.     (pterm1[3] => pexpout) = (0, 0) ;
  1072.     (pterm1[4] => pexpout) = (0, 0) ;
  1073.     (pterm1[5] => pexpout) = (0, 0) ;
  1074.     (pterm1[6] => pexpout) = (0, 0) ;
  1075.     (pterm1[7] => pexpout) = (0, 0) ;
  1076.     (pterm1[8] => pexpout) = (0, 0) ;
  1077.     (pterm1[9] => pexpout) = (0, 0) ;
  1078.     (pterm1[10] => pexpout) = (0, 0) ;
  1079.     (pterm1[11] => pexpout) = (0, 0) ;
  1080.     (pterm1[12] => pexpout) = (0, 0) ;
  1081.     (pterm1[13] => pexpout) = (0, 0) ;
  1082.     (pterm1[14] => pexpout) = (0, 0) ;
  1083.     (pterm1[15] => pexpout) = (0, 0) ;
  1084.     (pterm1[16] => pexpout) = (0, 0) ;
  1085.     (pterm1[17] => pexpout) = (0, 0) ;
  1086.     (pterm1[18] => pexpout) = (0, 0) ;
  1087.     (pterm1[19] => pexpout) = (0, 0) ;
  1088.     (pterm1[20] => pexpout) = (0, 0) ;
  1089.     (pterm1[21] => pexpout) = (0, 0) ;
  1090.     (pterm1[22] => pexpout) = (0, 0) ;
  1091.     (pterm1[23] => pexpout) = (0, 0) ;
  1092.     (pterm1[24] => pexpout) = (0, 0) ;
  1093.     (pterm1[25] => pexpout) = (0, 0) ;
  1094.     (pterm1[26] => pexpout) = (0, 0) ;
  1095.     (pterm1[27] => pexpout) = (0, 0) ;
  1096.     (pterm1[28] => pexpout) = (0, 0) ;
  1097.     (pterm1[29] => pexpout) = (0, 0) ;
  1098.     (pterm1[30] => pexpout) = (0, 0) ;
  1099.     (pterm1[31] => pexpout) = (0, 0) ;
  1100.     (pterm1[32] => pexpout) = (0, 0) ;
  1101.     (pterm1[33] => pexpout) = (0, 0) ;
  1102.     (pterm1[34] => pexpout) = (0, 0) ;
  1103.     (pterm1[35] => pexpout) = (0, 0) ;
  1104.     (pterm1[36] => pexpout) = (0, 0) ;
  1105.     (pterm1[37] => pexpout) = (0, 0) ;
  1106.     (pterm1[38] => pexpout) = (0, 0) ;
  1107.     (pterm1[39] => pexpout) = (0, 0) ;
  1108.     (pterm1[40] => pexpout) = (0, 0) ;
  1109.     (pterm1[41] => pexpout) = (0, 0) ;
  1110.     (pterm1[42] => pexpout) = (0, 0) ;
  1111.     (pterm1[43] => pexpout) = (0, 0) ;
  1112.     (pterm1[44] => pexpout) = (0, 0) ;
  1113.     (pterm1[45] => pexpout) = (0, 0) ;
  1114.     (pterm1[46] => pexpout) = (0, 0) ;
  1115.     (pterm1[47] => pexpout) = (0, 0) ;
  1116.     (pterm1[48] => pexpout) = (0, 0) ;
  1117.     (pterm1[49] => pexpout) = (0, 0) ;
  1118.     (pterm1[50] => pexpout) = (0, 0) ;
  1119.     (pterm1[51] => pexpout) = (0, 0) ;
  1120.  
  1121.     (pterm2[0] => pexpout) = (0, 0) ;
  1122.     (pterm2[1] => pexpout) = (0, 0) ;
  1123.     (pterm2[2] => pexpout) = (0, 0) ;
  1124.     (pterm2[3] => pexpout) = (0, 0) ;
  1125.     (pterm2[4] => pexpout) = (0, 0) ;
  1126.     (pterm2[5] => pexpout) = (0, 0) ;
  1127.     (pterm2[6] => pexpout) = (0, 0) ;
  1128.     (pterm2[7] => pexpout) = (0, 0) ;
  1129.     (pterm2[8] => pexpout) = (0, 0) ;
  1130.     (pterm2[9] => pexpout) = (0, 0) ;
  1131.     (pterm2[10] => pexpout) = (0, 0) ;
  1132.     (pterm2[11] => pexpout) = (0, 0) ;
  1133.     (pterm2[12] => pexpout) = (0, 0) ;
  1134.     (pterm2[13] => pexpout) = (0, 0) ;
  1135.     (pterm2[14] => pexpout) = (0, 0) ;
  1136.     (pterm2[15] => pexpout) = (0, 0) ;
  1137.     (pterm2[16] => pexpout) = (0, 0) ;
  1138.     (pterm2[17] => pexpout) = (0, 0) ;
  1139.     (pterm2[18] => pexpout) = (0, 0) ;
  1140.     (pterm2[19] => pexpout) = (0, 0) ;
  1141.     (pterm2[20] => pexpout) = (0, 0) ;
  1142.     (pterm2[21] => pexpout) = (0, 0) ;
  1143.     (pterm2[22] => pexpout) = (0, 0) ;
  1144.     (pterm2[23] => pexpout) = (0, 0) ;
  1145.     (pterm2[24] => pexpout) = (0, 0) ;
  1146.     (pterm2[25] => pexpout) = (0, 0) ;
  1147.     (pterm2[26] => pexpout) = (0, 0) ;
  1148.     (pterm2[27] => pexpout) = (0, 0) ;
  1149.     (pterm2[28] => pexpout) = (0, 0) ;
  1150.     (pterm2[29] => pexpout) = (0, 0) ;
  1151.     (pterm2[30] => pexpout) = (0, 0) ;
  1152.     (pterm2[31] => pexpout) = (0, 0) ;
  1153.     (pterm2[32] => pexpout) = (0, 0) ;
  1154.     (pterm2[33] => pexpout) = (0, 0) ;
  1155.     (pterm2[34] => pexpout) = (0, 0) ;
  1156.     (pterm2[35] => pexpout) = (0, 0) ;
  1157.     (pterm2[36] => pexpout) = (0, 0) ;
  1158.     (pterm2[37] => pexpout) = (0, 0) ;
  1159.     (pterm2[38] => pexpout) = (0, 0) ;
  1160.     (pterm2[39] => pexpout) = (0, 0) ;
  1161.     (pterm2[40] => pexpout) = (0, 0) ;
  1162.     (pterm2[41] => pexpout) = (0, 0) ;
  1163.     (pterm2[42] => pexpout) = (0, 0) ;
  1164.     (pterm2[43] => pexpout) = (0, 0) ;
  1165.     (pterm2[44] => pexpout) = (0, 0) ;
  1166.     (pterm2[45] => pexpout) = (0, 0) ;
  1167.     (pterm2[46] => pexpout) = (0, 0) ;
  1168.     (pterm2[47] => pexpout) = (0, 0) ;
  1169.     (pterm2[48] => pexpout) = (0, 0) ;
  1170.     (pterm2[49] => pexpout) = (0, 0) ;
  1171.     (pterm2[50] => pexpout) = (0, 0) ;
  1172.     (pterm2[51] => pexpout) = (0, 0) ;
  1173.  
  1174.     (pterm3[0] => pexpout) = (0, 0) ;
  1175.     (pterm3[1] => pexpout) = (0, 0) ;
  1176.     (pterm3[2] => pexpout) = (0, 0) ;
  1177.     (pterm3[3] => pexpout) = (0, 0) ;
  1178.     (pterm3[4] => pexpout) = (0, 0) ;
  1179.     (pterm3[5] => pexpout) = (0, 0) ;
  1180.     (pterm3[6] => pexpout) = (0, 0) ;
  1181.     (pterm3[7] => pexpout) = (0, 0) ;
  1182.     (pterm3[8] => pexpout) = (0, 0) ;
  1183.     (pterm3[9] => pexpout) = (0, 0) ;
  1184.     (pterm3[10] => pexpout) = (0, 0) ;
  1185.     (pterm3[11] => pexpout) = (0, 0) ;
  1186.     (pterm3[12] => pexpout) = (0, 0) ;
  1187.     (pterm3[13] => pexpout) = (0, 0) ;
  1188.     (pterm3[14] => pexpout) = (0, 0) ;
  1189.     (pterm3[15] => pexpout) = (0, 0) ;
  1190.     (pterm3[16] => pexpout) = (0, 0) ;
  1191.     (pterm3[17] => pexpout) = (0, 0) ;
  1192.     (pterm3[18] => pexpout) = (0, 0) ;
  1193.     (pterm3[19] => pexpout) = (0, 0) ;
  1194.     (pterm3[20] => pexpout) = (0, 0) ;
  1195.     (pterm3[21] => pexpout) = (0, 0) ;
  1196.     (pterm3[22] => pexpout) = (0, 0) ;
  1197.     (pterm3[23] => pexpout) = (0, 0) ;
  1198.     (pterm3[24] => pexpout) = (0, 0) ;
  1199.     (pterm3[25] => pexpout) = (0, 0) ;
  1200.     (pterm3[26] => pexpout) = (0, 0) ;
  1201.     (pterm3[27] => pexpout) = (0, 0) ;
  1202.     (pterm3[28] => pexpout) = (0, 0) ;
  1203.     (pterm3[29] => pexpout) = (0, 0) ;
  1204.     (pterm3[30] => pexpout) = (0, 0) ;
  1205.     (pterm3[31] => pexpout) = (0, 0) ;
  1206.     (pterm3[32] => pexpout) = (0, 0) ;
  1207.     (pterm3[33] => pexpout) = (0, 0) ;
  1208.     (pterm3[34] => pexpout) = (0, 0) ;
  1209.     (pterm3[35] => pexpout) = (0, 0) ;
  1210.     (pterm3[36] => pexpout) = (0, 0) ;
  1211.     (pterm3[37] => pexpout) = (0, 0) ;
  1212.     (pterm3[38] => pexpout) = (0, 0) ;
  1213.     (pterm3[39] => pexpout) = (0, 0) ;
  1214.     (pterm3[40] => pexpout) = (0, 0) ;
  1215.     (pterm3[41] => pexpout) = (0, 0) ;
  1216.     (pterm3[42] => pexpout) = (0, 0) ;
  1217.     (pterm3[43] => pexpout) = (0, 0) ;
  1218.     (pterm3[44] => pexpout) = (0, 0) ;
  1219.     (pterm3[45] => pexpout) = (0, 0) ;
  1220.     (pterm3[46] => pexpout) = (0, 0) ;
  1221.     (pterm3[47] => pexpout) = (0, 0) ;
  1222.     (pterm3[48] => pexpout) = (0, 0) ;
  1223.     (pterm3[49] => pexpout) = (0, 0) ;
  1224.     (pterm3[50] => pexpout) = (0, 0) ;
  1225.     (pterm3[51] => pexpout) = (0, 0) ;
  1226.  
  1227.     (pterm4[0] => pexpout) = (0, 0) ;
  1228.     (pterm4[1] => pexpout) = (0, 0) ;
  1229.     (pterm4[2] => pexpout) = (0, 0) ;
  1230.     (pterm4[3] => pexpout) = (0, 0) ;
  1231.     (pterm4[4] => pexpout) = (0, 0) ;
  1232.     (pterm4[5] => pexpout) = (0, 0) ;
  1233.     (pterm4[6] => pexpout) = (0, 0) ;
  1234.     (pterm4[7] => pexpout) = (0, 0) ;
  1235.     (pterm4[8] => pexpout) = (0, 0) ;
  1236.     (pterm4[9] => pexpout) = (0, 0) ;
  1237.     (pterm4[10] => pexpout) = (0, 0) ;
  1238.     (pterm4[11] => pexpout) = (0, 0) ;
  1239.     (pterm4[12] => pexpout) = (0, 0) ;
  1240.     (pterm4[13] => pexpout) = (0, 0) ;
  1241.     (pterm4[14] => pexpout) = (0, 0) ;
  1242.     (pterm4[15] => pexpout) = (0, 0) ;
  1243.     (pterm4[16] => pexpout) = (0, 0) ;
  1244.     (pterm4[17] => pexpout) = (0, 0) ;
  1245.     (pterm4[18] => pexpout) = (0, 0) ;
  1246.     (pterm4[19] => pexpout) = (0, 0) ;
  1247.     (pterm4[20] => pexpout) = (0, 0) ;
  1248.     (pterm4[21] => pexpout) = (0, 0) ;
  1249.     (pterm4[22] => pexpout) = (0, 0) ;
  1250.     (pterm4[23] => pexpout) = (0, 0) ;
  1251.     (pterm4[24] => pexpout) = (0, 0) ;
  1252.     (pterm4[25] => pexpout) = (0, 0) ;
  1253.     (pterm4[26] => pexpout) = (0, 0) ;
  1254.     (pterm4[27] => pexpout) = (0, 0) ;
  1255.     (pterm4[28] => pexpout) = (0, 0) ;
  1256.     (pterm4[29] => pexpout) = (0, 0) ;
  1257.     (pterm4[30] => pexpout) = (0, 0) ;
  1258.     (pterm4[31] => pexpout) = (0, 0) ;
  1259.     (pterm4[32] => pexpout) = (0, 0) ;
  1260.     (pterm4[33] => pexpout) = (0, 0) ;
  1261.     (pterm4[34] => pexpout) = (0, 0) ;
  1262.     (pterm4[35] => pexpout) = (0, 0) ;
  1263.     (pterm4[36] => pexpout) = (0, 0) ;
  1264.     (pterm4[37] => pexpout) = (0, 0) ;
  1265.     (pterm4[38] => pexpout) = (0, 0) ;
  1266.     (pterm4[39] => pexpout) = (0, 0) ;
  1267.     (pterm4[40] => pexpout) = (0, 0) ;
  1268.     (pterm4[41] => pexpout) = (0, 0) ;
  1269.     (pterm4[42] => pexpout) = (0, 0) ;
  1270.     (pterm4[43] => pexpout) = (0, 0) ;
  1271.     (pterm4[44] => pexpout) = (0, 0) ;
  1272.     (pterm4[45] => pexpout) = (0, 0) ;
  1273.     (pterm4[46] => pexpout) = (0, 0) ;
  1274.     (pterm4[47] => pexpout) = (0, 0) ;
  1275.     (pterm4[48] => pexpout) = (0, 0) ;
  1276.     (pterm4[49] => pexpout) = (0, 0) ;
  1277.     (pterm4[50] => pexpout) = (0, 0) ;
  1278.     (pterm4[51] => pexpout) = (0, 0) ;
  1279.  
  1280.     (pterm5[0] => pexpout) = (0, 0) ;
  1281.     (pterm5[1] => pexpout) = (0, 0) ;
  1282.     (pterm5[2] => pexpout) = (0, 0) ;
  1283.     (pterm5[3] => pexpout) = (0, 0) ;
  1284.     (pterm5[4] => pexpout) = (0, 0) ;
  1285.     (pterm5[5] => pexpout) = (0, 0) ;
  1286.     (pterm5[6] => pexpout) = (0, 0) ;
  1287.     (pterm5[7] => pexpout) = (0, 0) ;
  1288.     (pterm5[8] => pexpout) = (0, 0) ;
  1289.     (pterm5[9] => pexpout) = (0, 0) ;
  1290.     (pterm5[10] => pexpout) = (0, 0) ;
  1291.     (pterm5[11] => pexpout) = (0, 0) ;
  1292.     (pterm5[12] => pexpout) = (0, 0) ;
  1293.     (pterm5[13] => pexpout) = (0, 0) ;
  1294.     (pterm5[14] => pexpout) = (0, 0) ;
  1295.     (pterm5[15] => pexpout) = (0, 0) ;
  1296.     (pterm5[16] => pexpout) = (0, 0) ;
  1297.     (pterm5[17] => pexpout) = (0, 0) ;
  1298.     (pterm5[18] => pexpout) = (0, 0) ;
  1299.     (pterm5[19] => pexpout) = (0, 0) ;
  1300.     (pterm5[20] => pexpout) = (0, 0) ;
  1301.     (pterm5[21] => pexpout) = (0, 0) ;
  1302.     (pterm5[22] => pexpout) = (0, 0) ;
  1303.     (pterm5[23] => pexpout) = (0, 0) ;
  1304.     (pterm5[24] => pexpout) = (0, 0) ;
  1305.     (pterm5[25] => pexpout) = (0, 0) ;
  1306.     (pterm5[26] => pexpout) = (0, 0) ;
  1307.     (pterm5[27] => pexpout) = (0, 0) ;
  1308.     (pterm5[28] => pexpout) = (0, 0) ;
  1309.     (pterm5[29] => pexpout) = (0, 0) ;
  1310.     (pterm5[30] => pexpout) = (0, 0) ;
  1311.     (pterm5[31] => pexpout) = (0, 0) ;
  1312.     (pterm5[32] => pexpout) = (0, 0) ;
  1313.     (pterm5[33] => pexpout) = (0, 0) ;
  1314.     (pterm5[34] => pexpout) = (0, 0) ;
  1315.     (pterm5[35] => pexpout) = (0, 0) ;
  1316.     (pterm5[36] => pexpout) = (0, 0) ;
  1317.     (pterm5[37] => pexpout) = (0, 0) ;
  1318.     (pterm5[38] => pexpout) = (0, 0) ;
  1319.     (pterm5[39] => pexpout) = (0, 0) ;
  1320.     (pterm5[40] => pexpout) = (0, 0) ;
  1321.     (pterm5[41] => pexpout) = (0, 0) ;
  1322.     (pterm5[42] => pexpout) = (0, 0) ;
  1323.     (pterm5[43] => pexpout) = (0, 0) ;
  1324.     (pterm5[44] => pexpout) = (0, 0) ;
  1325.     (pterm5[45] => pexpout) = (0, 0) ;
  1326.     (pterm5[46] => pexpout) = (0, 0) ;
  1327.     (pterm5[47] => pexpout) = (0, 0) ;
  1328.     (pterm5[48] => pexpout) = (0, 0) ;
  1329.     (pterm5[49] => pexpout) = (0, 0) ;
  1330.     (pterm5[50] => pexpout) = (0, 0) ;
  1331.     (pterm5[51] => pexpout) = (0, 0) ;
  1332.  
  1333.     (pexpin => pexpout) = (0, 0) ;
  1334.  
  1335.     (pterm0[0] => regin) = (0, 0) ;
  1336.     (pterm0[1] => regin) = (0, 0) ;
  1337.     (pterm0[2] => regin) = (0, 0) ;
  1338.     (pterm0[3] => regin) = (0, 0) ;
  1339.     (pterm0[4] => regin) = (0, 0) ;
  1340.     (pterm0[5] => regin) = (0, 0) ;
  1341.     (pterm0[6] => regin) = (0, 0) ;
  1342.     (pterm0[7] => regin) = (0, 0) ;
  1343.     (pterm0[8] => regin) = (0, 0) ;
  1344.     (pterm0[9] => regin) = (0, 0) ;
  1345.     (pterm0[10] => regin) = (0, 0) ;
  1346.     (pterm0[11] => regin) = (0, 0) ;
  1347.     (pterm0[12] => regin) = (0, 0) ;
  1348.     (pterm0[13] => regin) = (0, 0) ;
  1349.     (pterm0[14] => regin) = (0, 0) ;
  1350.     (pterm0[15] => regin) = (0, 0) ;
  1351.     (pterm0[16] => regin) = (0, 0) ;
  1352.     (pterm0[17] => regin) = (0, 0) ;
  1353.     (pterm0[18] => regin) = (0, 0) ;
  1354.     (pterm0[19] => regin) = (0, 0) ;
  1355.     (pterm0[20] => regin) = (0, 0) ;
  1356.     (pterm0[21] => regin) = (0, 0) ;
  1357.     (pterm0[22] => regin) = (0, 0) ;
  1358.     (pterm0[23] => regin) = (0, 0) ;
  1359.     (pterm0[24] => regin) = (0, 0) ;
  1360.     (pterm0[25] => regin) = (0, 0) ;
  1361.     (pterm0[26] => regin) = (0, 0) ;
  1362.     (pterm0[27] => regin) = (0, 0) ;
  1363.     (pterm0[28] => regin) = (0, 0) ;
  1364.     (pterm0[29] => regin) = (0, 0) ;
  1365.     (pterm0[30] => regin) = (0, 0) ;
  1366.     (pterm0[31] => regin) = (0, 0) ;
  1367.     (pterm0[32] => regin) = (0, 0) ;
  1368.     (pterm0[33] => regin) = (0, 0) ;
  1369.     (pterm0[34] => regin) = (0, 0) ;
  1370.     (pterm0[35] => regin) = (0, 0) ;
  1371.     (pterm0[36] => regin) = (0, 0) ;
  1372.     (pterm0[37] => regin) = (0, 0) ;
  1373.     (pterm0[38] => regin) = (0, 0) ;
  1374.     (pterm0[39] => regin) = (0, 0) ;
  1375.     (pterm0[40] => regin) = (0, 0) ;
  1376.     (pterm0[41] => regin) = (0, 0) ;
  1377.     (pterm0[42] => regin) = (0, 0) ;
  1378.     (pterm0[43] => regin) = (0, 0) ;
  1379.     (pterm0[44] => regin) = (0, 0) ;
  1380.     (pterm0[45] => regin) = (0, 0) ;
  1381.     (pterm0[46] => regin) = (0, 0) ;
  1382.     (pterm0[47] => regin) = (0, 0) ;
  1383.     (pterm0[48] => regin) = (0, 0) ;
  1384.     (pterm0[49] => regin) = (0, 0) ;
  1385.     (pterm0[50] => regin) = (0, 0) ;
  1386.     (pterm0[51] => regin) = (0, 0) ;
  1387.  
  1388.     (pterm1[0] => regin) = (0, 0) ;
  1389.     (pterm1[1] => regin) = (0, 0) ;
  1390.     (pterm1[2] => regin) = (0, 0) ;
  1391.     (pterm1[3] => regin) = (0, 0) ;
  1392.     (pterm1[4] => regin) = (0, 0) ;
  1393.     (pterm1[5] => regin) = (0, 0) ;
  1394.     (pterm1[6] => regin) = (0, 0) ;
  1395.     (pterm1[7] => regin) = (0, 0) ;
  1396.     (pterm1[8] => regin) = (0, 0) ;
  1397.     (pterm1[9] => regin) = (0, 0) ;
  1398.     (pterm1[10] => regin) = (0, 0) ;
  1399.     (pterm1[11] => regin) = (0, 0) ;
  1400.     (pterm1[12] => regin) = (0, 0) ;
  1401.     (pterm1[13] => regin) = (0, 0) ;
  1402.     (pterm1[14] => regin) = (0, 0) ;
  1403.     (pterm1[15] => regin) = (0, 0) ;
  1404.     (pterm1[16] => regin) = (0, 0) ;
  1405.     (pterm1[17] => regin) = (0, 0) ;
  1406.     (pterm1[18] => regin) = (0, 0) ;
  1407.     (pterm1[19] => regin) = (0, 0) ;
  1408.     (pterm1[20] => regin) = (0, 0) ;
  1409.     (pterm1[21] => regin) = (0, 0) ;
  1410.     (pterm1[22] => regin) = (0, 0) ;
  1411.     (pterm1[23] => regin) = (0, 0) ;
  1412.     (pterm1[24] => regin) = (0, 0) ;
  1413.     (pterm1[25] => regin) = (0, 0) ;
  1414.     (pterm1[26] => regin) = (0, 0) ;
  1415.     (pterm1[27] => regin) = (0, 0) ;
  1416.     (pterm1[28] => regin) = (0, 0) ;
  1417.     (pterm1[29] => regin) = (0, 0) ;
  1418.     (pterm1[30] => regin) = (0, 0) ;
  1419.     (pterm1[31] => regin) = (0, 0) ;
  1420.     (pterm1[32] => regin) = (0, 0) ;
  1421.     (pterm1[33] => regin) = (0, 0) ;
  1422.     (pterm1[34] => regin) = (0, 0) ;
  1423.     (pterm1[35] => regin) = (0, 0) ;
  1424.     (pterm1[36] => regin) = (0, 0) ;
  1425.     (pterm1[37] => regin) = (0, 0) ;
  1426.     (pterm1[38] => regin) = (0, 0) ;
  1427.     (pterm1[39] => regin) = (0, 0) ;
  1428.     (pterm1[40] => regin) = (0, 0) ;
  1429.     (pterm1[41] => regin) = (0, 0) ;
  1430.     (pterm1[42] => regin) = (0, 0) ;
  1431.     (pterm1[43] => regin) = (0, 0) ;
  1432.     (pterm1[44] => regin) = (0, 0) ;
  1433.     (pterm1[45] => regin) = (0, 0) ;
  1434.     (pterm1[46] => regin) = (0, 0) ;
  1435.     (pterm1[47] => regin) = (0, 0) ;
  1436.     (pterm1[48] => regin) = (0, 0) ;
  1437.     (pterm1[49] => regin) = (0, 0) ;
  1438.     (pterm1[50] => regin) = (0, 0) ;
  1439.     (pterm1[51] => regin) = (0, 0) ;
  1440.  
  1441.     (pterm2[0] => regin) = (0, 0) ;
  1442.     (pterm2[1] => regin) = (0, 0) ;
  1443.     (pterm2[2] => regin) = (0, 0) ;
  1444.     (pterm2[3] => regin) = (0, 0) ;
  1445.     (pterm2[4] => regin) = (0, 0) ;
  1446.     (pterm2[5] => regin) = (0, 0) ;
  1447.     (pterm2[6] => regin) = (0, 0) ;
  1448.     (pterm2[7] => regin) = (0, 0) ;
  1449.     (pterm2[8] => regin) = (0, 0) ;
  1450.     (pterm2[9] => regin) = (0, 0) ;
  1451.     (pterm2[10] => regin) = (0, 0) ;
  1452.     (pterm2[11] => regin) = (0, 0) ;
  1453.     (pterm2[12] => regin) = (0, 0) ;
  1454.     (pterm2[13] => regin) = (0, 0) ;
  1455.     (pterm2[14] => regin) = (0, 0) ;
  1456.     (pterm2[15] => regin) = (0, 0) ;
  1457.     (pterm2[16] => regin) = (0, 0) ;
  1458.     (pterm2[17] => regin) = (0, 0) ;
  1459.     (pterm2[18] => regin) = (0, 0) ;
  1460.     (pterm2[19] => regin) = (0, 0) ;
  1461.     (pterm2[20] => regin) = (0, 0) ;
  1462.     (pterm2[21] => regin) = (0, 0) ;
  1463.     (pterm2[22] => regin) = (0, 0) ;
  1464.     (pterm2[23] => regin) = (0, 0) ;
  1465.     (pterm2[24] => regin) = (0, 0) ;
  1466.     (pterm2[25] => regin) = (0, 0) ;
  1467.     (pterm2[26] => regin) = (0, 0) ;
  1468.     (pterm2[27] => regin) = (0, 0) ;
  1469.     (pterm2[28] => regin) = (0, 0) ;
  1470.     (pterm2[29] => regin) = (0, 0) ;
  1471.     (pterm2[30] => regin) = (0, 0) ;
  1472.     (pterm2[31] => regin) = (0, 0) ;
  1473.     (pterm2[32] => regin) = (0, 0) ;
  1474.     (pterm2[33] => regin) = (0, 0) ;
  1475.     (pterm2[34] => regin) = (0, 0) ;
  1476.     (pterm2[35] => regin) = (0, 0) ;
  1477.     (pterm2[36] => regin) = (0, 0) ;
  1478.     (pterm2[37] => regin) = (0, 0) ;
  1479.     (pterm2[38] => regin) = (0, 0) ;
  1480.     (pterm2[39] => regin) = (0, 0) ;
  1481.     (pterm2[40] => regin) = (0, 0) ;
  1482.     (pterm2[41] => regin) = (0, 0) ;
  1483.     (pterm2[42] => regin) = (0, 0) ;
  1484.     (pterm2[43] => regin) = (0, 0) ;
  1485.     (pterm2[44] => regin) = (0, 0) ;
  1486.     (pterm2[45] => regin) = (0, 0) ;
  1487.     (pterm2[46] => regin) = (0, 0) ;
  1488.     (pterm2[47] => regin) = (0, 0) ;
  1489.     (pterm2[48] => regin) = (0, 0) ;
  1490.     (pterm2[49] => regin) = (0, 0) ;
  1491.     (pterm2[50] => regin) = (0, 0) ;
  1492.     (pterm2[51] => regin) = (0, 0) ;
  1493.  
  1494.     (pterm3[0] => regin) = (0, 0) ;
  1495.     (pterm3[1] => regin) = (0, 0) ;
  1496.     (pterm3[2] => regin) = (0, 0) ;
  1497.     (pterm3[3] => regin) = (0, 0) ;
  1498.     (pterm3[4] => regin) = (0, 0) ;
  1499.     (pterm3[5] => regin) = (0, 0) ;
  1500.     (pterm3[6] => regin) = (0, 0) ;
  1501.     (pterm3[7] => regin) = (0, 0) ;
  1502.     (pterm3[8] => regin) = (0, 0) ;
  1503.     (pterm3[9] => regin) = (0, 0) ;
  1504.     (pterm3[10] => regin) = (0, 0) ;
  1505.     (pterm3[11] => regin) = (0, 0) ;
  1506.     (pterm3[12] => regin) = (0, 0) ;
  1507.     (pterm3[13] => regin) = (0, 0) ;
  1508.     (pterm3[14] => regin) = (0, 0) ;
  1509.     (pterm3[15] => regin) = (0, 0) ;
  1510.     (pterm3[16] => regin) = (0, 0) ;
  1511.     (pterm3[17] => regin) = (0, 0) ;
  1512.     (pterm3[18] => regin) = (0, 0) ;
  1513.     (pterm3[19] => regin) = (0, 0) ;
  1514.     (pterm3[20] => regin) = (0, 0) ;
  1515.     (pterm3[21] => regin) = (0, 0) ;
  1516.     (pterm3[22] => regin) = (0, 0) ;
  1517.     (pterm3[23] => regin) = (0, 0) ;
  1518.     (pterm3[24] => regin) = (0, 0) ;
  1519.     (pterm3[25] => regin) = (0, 0) ;
  1520.     (pterm3[26] => regin) = (0, 0) ;
  1521.     (pterm3[27] => regin) = (0, 0) ;
  1522.     (pterm3[28] => regin) = (0, 0) ;
  1523.     (pterm3[29] => regin) = (0, 0) ;
  1524.     (pterm3[30] => regin) = (0, 0) ;
  1525.     (pterm3[31] => regin) = (0, 0) ;
  1526.     (pterm3[32] => regin) = (0, 0) ;
  1527.     (pterm3[33] => regin) = (0, 0) ;
  1528.     (pterm3[34] => regin) = (0, 0) ;
  1529.     (pterm3[35] => regin) = (0, 0) ;
  1530.     (pterm3[36] => regin) = (0, 0) ;
  1531.     (pterm3[37] => regin) = (0, 0) ;
  1532.     (pterm3[38] => regin) = (0, 0) ;
  1533.     (pterm3[39] => regin) = (0, 0) ;
  1534.     (pterm3[40] => regin) = (0, 0) ;
  1535.     (pterm3[41] => regin) = (0, 0) ;
  1536.     (pterm3[42] => regin) = (0, 0) ;
  1537.     (pterm3[43] => regin) = (0, 0) ;
  1538.     (pterm3[44] => regin) = (0, 0) ;
  1539.     (pterm3[45] => regin) = (0, 0) ;
  1540.     (pterm3[46] => regin) = (0, 0) ;
  1541.     (pterm3[47] => regin) = (0, 0) ;
  1542.     (pterm3[48] => regin) = (0, 0) ;
  1543.     (pterm3[49] => regin) = (0, 0) ;
  1544.     (pterm3[50] => regin) = (0, 0) ;
  1545.     (pterm3[51] => regin) = (0, 0) ;
  1546.  
  1547.     (pterm4[0] => regin) = (0, 0) ;
  1548.     (pterm4[1] => regin) = (0, 0) ;
  1549.     (pterm4[2] => regin) = (0, 0) ;
  1550.     (pterm4[3] => regin) = (0, 0) ;
  1551.     (pterm4[4] => regin) = (0, 0) ;
  1552.     (pterm4[5] => regin) = (0, 0) ;
  1553.     (pterm4[6] => regin) = (0, 0) ;
  1554.     (pterm4[7] => regin) = (0, 0) ;
  1555.     (pterm4[8] => regin) = (0, 0) ;
  1556.     (pterm4[9] => regin) = (0, 0) ;
  1557.     (pterm4[10] => regin) = (0, 0) ;
  1558.     (pterm4[11] => regin) = (0, 0) ;
  1559.     (pterm4[12] => regin) = (0, 0) ;
  1560.     (pterm4[13] => regin) = (0, 0) ;
  1561.     (pterm4[14] => regin) = (0, 0) ;
  1562.     (pterm4[15] => regin) = (0, 0) ;
  1563.     (pterm4[16] => regin) = (0, 0) ;
  1564.     (pterm4[17] => regin) = (0, 0) ;
  1565.     (pterm4[18] => regin) = (0, 0) ;
  1566.     (pterm4[19] => regin) = (0, 0) ;
  1567.     (pterm4[20] => regin) = (0, 0) ;
  1568.     (pterm4[21] => regin) = (0, 0) ;
  1569.     (pterm4[22] => regin) = (0, 0) ;
  1570.     (pterm4[23] => regin) = (0, 0) ;
  1571.     (pterm4[24] => regin) = (0, 0) ;
  1572.     (pterm4[25] => regin) = (0, 0) ;
  1573.     (pterm4[26] => regin) = (0, 0) ;
  1574.     (pterm4[27] => regin) = (0, 0) ;
  1575.     (pterm4[28] => regin) = (0, 0) ;
  1576.     (pterm4[29] => regin) = (0, 0) ;
  1577.     (pterm4[30] => regin) = (0, 0) ;
  1578.     (pterm4[31] => regin) = (0, 0) ;
  1579.     (pterm4[32] => regin) = (0, 0) ;
  1580.     (pterm4[33] => regin) = (0, 0) ;
  1581.     (pterm4[34] => regin) = (0, 0) ;
  1582.     (pterm4[35] => regin) = (0, 0) ;
  1583.     (pterm4[36] => regin) = (0, 0) ;
  1584.     (pterm4[37] => regin) = (0, 0) ;
  1585.     (pterm4[38] => regin) = (0, 0) ;
  1586.     (pterm4[39] => regin) = (0, 0) ;
  1587.     (pterm4[40] => regin) = (0, 0) ;
  1588.     (pterm4[41] => regin) = (0, 0) ;
  1589.     (pterm4[42] => regin) = (0, 0) ;
  1590.     (pterm4[43] => regin) = (0, 0) ;
  1591.     (pterm4[44] => regin) = (0, 0) ;
  1592.     (pterm4[45] => regin) = (0, 0) ;
  1593.     (pterm4[46] => regin) = (0, 0) ;
  1594.     (pterm4[47] => regin) = (0, 0) ;
  1595.     (pterm4[48] => regin) = (0, 0) ;
  1596.     (pterm4[49] => regin) = (0, 0) ;
  1597.     (pterm4[50] => regin) = (0, 0) ;
  1598.     (pterm4[51] => regin) = (0, 0) ;
  1599.  
  1600.     (pterm5[0] => regin) = (0, 0) ;
  1601.     (pterm5[1] => regin) = (0, 0) ;
  1602.     (pterm5[2] => regin) = (0, 0) ;
  1603.     (pterm5[3] => regin) = (0, 0) ;
  1604.     (pterm5[4] => regin) = (0, 0) ;
  1605.     (pterm5[5] => regin) = (0, 0) ;
  1606.     (pterm5[6] => regin) = (0, 0) ;
  1607.     (pterm5[7] => regin) = (0, 0) ;
  1608.     (pterm5[8] => regin) = (0, 0) ;
  1609.     (pterm5[9] => regin) = (0, 0) ;
  1610.     (pterm5[10] => regin) = (0, 0) ;
  1611.     (pterm5[11] => regin) = (0, 0) ;
  1612.     (pterm5[12] => regin) = (0, 0) ;
  1613.     (pterm5[13] => regin) = (0, 0) ;
  1614.     (pterm5[14] => regin) = (0, 0) ;
  1615.     (pterm5[15] => regin) = (0, 0) ;
  1616.     (pterm5[16] => regin) = (0, 0) ;
  1617.     (pterm5[17] => regin) = (0, 0) ;
  1618.     (pterm5[18] => regin) = (0, 0) ;
  1619.     (pterm5[19] => regin) = (0, 0) ;
  1620.     (pterm5[20] => regin) = (0, 0) ;
  1621.     (pterm5[21] => regin) = (0, 0) ;
  1622.     (pterm5[22] => regin) = (0, 0) ;
  1623.     (pterm5[23] => regin) = (0, 0) ;
  1624.     (pterm5[24] => regin) = (0, 0) ;
  1625.     (pterm5[25] => regin) = (0, 0) ;
  1626.     (pterm5[26] => regin) = (0, 0) ;
  1627.     (pterm5[27] => regin) = (0, 0) ;
  1628.     (pterm5[28] => regin) = (0, 0) ;
  1629.     (pterm5[29] => regin) = (0, 0) ;
  1630.     (pterm5[30] => regin) = (0, 0) ;
  1631.     (pterm5[31] => regin) = (0, 0) ;
  1632.     (pterm5[32] => regin) = (0, 0) ;
  1633.     (pterm5[33] => regin) = (0, 0) ;
  1634.     (pterm5[34] => regin) = (0, 0) ;
  1635.     (pterm5[35] => regin) = (0, 0) ;
  1636.     (pterm5[36] => regin) = (0, 0) ;
  1637.     (pterm5[37] => regin) = (0, 0) ;
  1638.     (pterm5[38] => regin) = (0, 0) ;
  1639.     (pterm5[39] => regin) = (0, 0) ;
  1640.     (pterm5[40] => regin) = (0, 0) ;
  1641.     (pterm5[41] => regin) = (0, 0) ;
  1642.     (pterm5[42] => regin) = (0, 0) ;
  1643.     (pterm5[43] => regin) = (0, 0) ;
  1644.     (pterm5[44] => regin) = (0, 0) ;
  1645.     (pterm5[45] => regin) = (0, 0) ;
  1646.     (pterm5[46] => regin) = (0, 0) ;
  1647.     (pterm5[47] => regin) = (0, 0) ;
  1648.     (pterm5[48] => regin) = (0, 0) ;
  1649.     (pterm5[49] => regin) = (0, 0) ;
  1650.     (pterm5[50] => regin) = (0, 0) ;
  1651.     (pterm5[51] => regin) = (0, 0) ;
  1652.  
  1653.     (pxor[0] => regin) = (0, 0) ;
  1654.     (pxor[1] => regin) = (0, 0) ;
  1655.     (pxor[2] => regin) = (0, 0) ;
  1656.     (pxor[3] => regin) = (0, 0) ;
  1657.     (pxor[4] => regin) = (0, 0) ;
  1658.     (pxor[5] => regin) = (0, 0) ;
  1659.     (pxor[6] => regin) = (0, 0) ;
  1660.     (pxor[7] => regin) = (0, 0) ;
  1661.     (pxor[8] => regin) = (0, 0) ;
  1662.     (pxor[9] => regin) = (0, 0) ;
  1663.     (pxor[10] => regin) = (0, 0) ;
  1664.     (pxor[11] => regin) = (0, 0) ;
  1665.     (pxor[12] => regin) = (0, 0) ;
  1666.     (pxor[13] => regin) = (0, 0) ;
  1667.     (pxor[14] => regin) = (0, 0) ;
  1668.     (pxor[15] => regin) = (0, 0) ;
  1669.     (pxor[16] => regin) = (0, 0) ;
  1670.     (pxor[17] => regin) = (0, 0) ;
  1671.     (pxor[18] => regin) = (0, 0) ;
  1672.     (pxor[19] => regin) = (0, 0) ;
  1673.     (pxor[20] => regin) = (0, 0) ;
  1674.     (pxor[21] => regin) = (0, 0) ;
  1675.     (pxor[22] => regin) = (0, 0) ;
  1676.     (pxor[23] => regin) = (0, 0) ;
  1677.     (pxor[24] => regin) = (0, 0) ;
  1678.     (pxor[25] => regin) = (0, 0) ;
  1679.     (pxor[26] => regin) = (0, 0) ;
  1680.     (pxor[27] => regin) = (0, 0) ;
  1681.     (pxor[28] => regin) = (0, 0) ;
  1682.     (pxor[29] => regin) = (0, 0) ;
  1683.     (pxor[30] => regin) = (0, 0) ;
  1684.     (pxor[31] => regin) = (0, 0) ;
  1685.     (pxor[32] => regin) = (0, 0) ;
  1686.     (pxor[33] => regin) = (0, 0) ;
  1687.     (pxor[34] => regin) = (0, 0) ;
  1688.     (pxor[35] => regin) = (0, 0) ;
  1689.     (pxor[36] => regin) = (0, 0) ;
  1690.     (pxor[37] => regin) = (0, 0) ;
  1691.     (pxor[38] => regin) = (0, 0) ;
  1692.     (pxor[39] => regin) = (0, 0) ;
  1693.     (pxor[40] => regin) = (0, 0) ;
  1694.     (pxor[41] => regin) = (0, 0) ;
  1695.     (pxor[42] => regin) = (0, 0) ;
  1696.     (pxor[43] => regin) = (0, 0) ;
  1697.     (pxor[44] => regin) = (0, 0) ;
  1698.     (pxor[45] => regin) = (0, 0) ;
  1699.     (pxor[46] => regin) = (0, 0) ;
  1700.     (pxor[47] => regin) = (0, 0) ;
  1701.     (pxor[48] => regin) = (0, 0) ;
  1702.     (pxor[49] => regin) = (0, 0) ;
  1703.     (pxor[50] => regin) = (0, 0) ;
  1704.     (pxor[51] => regin) = (0, 0) ;
  1705.  
  1706.     (pexpin => regin)  = (0, 0) ;
  1707.     (fpin => regin)    = (0, 0);
  1708.     (fbkin => regin)   = (0, 0) ;
  1709.     (fbkin => pexpout) = (0, 0) ;
  1710.     (fbkin => combout) = (0, 0) ;
  1711.  
  1712.     endspecify
  1713.  
  1714. always @ (ipterm0 or ipterm1 or ipterm2 or ipterm3
  1715.           or ipterm4 or ipterm5 or ipxor or ipexpin or fbkin or ifpin)
  1716. begin
  1717.    if (ifpin !== 'b0)
  1718.      tmp_fpin = 'b1;
  1719.    else
  1720.      tmp_fpin = 'b0;
  1721.    if (ipexpin !== 'b1)
  1722.      tmp_pexpin = 'b0;
  1723.    else
  1724.      tmp_pexpin = 'b1;
  1725.    if (&ipterm0 !== 'b1)
  1726.      tmp_pterm0 = 'b0;
  1727.    else
  1728.      tmp_pterm0 = 'b1;
  1729.    if (&ipterm1 !== 'b1)
  1730.      tmp_pterm1 = 'b0;
  1731.    else
  1732.      tmp_pterm1 = 'b1;
  1733.    if (&ipterm2 !== 'b1)
  1734.      tmp_pterm2 = 'b0;
  1735.    else
  1736.      tmp_pterm2 = 'b1;
  1737.    if (&ipterm3 !== 'b1)
  1738.      tmp_pterm3 = 'b0;
  1739.    else
  1740.      tmp_pterm3 = 'b1;
  1741.    if (&ipterm4 !== 'b1)
  1742.      tmp_pterm4 = 'b0;
  1743.    else
  1744.      tmp_pterm4 = 'b1;
  1745.    if (pexp_mode == "off")
  1746.      begin
  1747.         if (operation_mode == "normal")
  1748.           begin
  1749.              if (register_mode == "tff")
  1750.                icomb = ((tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1751.                          | tmp_pterm4) | tmp_pexpin) ^ fbkin;
  1752.              else
  1753.                icomb = tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1754.                         | tmp_pterm4 | tmp_pexpin;
  1755.           end
  1756.         else if (operation_mode == "invert")
  1757.           begin
  1758.              if (register_mode == "tff")
  1759.                icomb = ((tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1760.                          | tmp_pterm4 | tmp_pexpin) ^ (~fbkin));
  1761.              else
  1762.                icomb = (tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1763.                         | tmp_pterm4 | tmp_pexpin) ^ 'b1;
  1764.           end
  1765.         else if (operation_mode == "xor")
  1766.           icomb = (tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1767.                    | tmp_pterm4 | tmp_pexpin) ^ &ipxor;
  1768.         else if (operation_mode == "vcc")
  1769.           begin
  1770.              if (register_mode == "tff")
  1771.                icomb = 1'b1 ^ fbkin;
  1772.              else
  1773.                icomb = tmp_fpin;
  1774.           end
  1775.         else
  1776.           icomb = 'bz;
  1777.      end
  1778.    else //pexp_mode = on
  1779.      begin
  1780.         if (operation_mode == "normal")
  1781.           begin
  1782.              if (register_mode == "tff")
  1783.                icomb = &ipterm5 ^ fbkin;
  1784.              else
  1785.                icomb = &ipterm5;
  1786.              ipexpout = tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1787.                          | tmp_pterm4 | tmp_pexpin;
  1788.           end
  1789.         else if (operation_mode == "invert")
  1790.           begin
  1791.              if (register_mode == "tff")
  1792.                icomb = &ipterm5 ^ (~fbkin);
  1793.              else
  1794.                icomb = &ipterm5 ^ 'b1;
  1795.              ipexpout = tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1796.                          | tmp_pterm4 | tmp_pexpin;
  1797.           end
  1798.         else if (operation_mode == "xor")
  1799.           begin
  1800.              ipexpout = (tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1801.                          | tmp_pterm4 | tmp_pexpin);
  1802.              icomb = &ipterm5 ^ &ipxor;
  1803.           end
  1804.         else if (operation_mode == "vcc")
  1805.           begin
  1806.              if (register_mode == "tff")
  1807.                icomb = 1'b1 ^ fbkin;
  1808.              else
  1809.                icomb = tmp_fpin;
  1810.              ipexpout = tmp_pterm0 | tmp_pterm1 | tmp_pterm2 | tmp_pterm3
  1811.                          | tmp_pterm4 | tmp_pexpin;
  1812.           end
  1813.         else
  1814.           begin
  1815.              icomb = 'bz;
  1816.              ipexpout = 'bz;
  1817.           end
  1818.      end               
  1819. end
  1820.  
  1821.  
  1822. and (pexpout, ipexpout, 'b1);
  1823. and (combout, icomb, 'b1);
  1824. and (regin, icomb, 'b1);
  1825.  
  1826. endmodule
  1827.  
  1828. //   MAX MCELL REG
  1829.  
  1830. `timescale 1 ps/1 ps
  1831. module  max_mcell_register (datain, clk, aclr, pclk, pena, paclr,
  1832.                             papre, regout, fbkout);
  1833.         parameter operation_mode = "normal";    
  1834.         parameter power_up    = "low";
  1835.         parameter register_mode = "dff";
  1836.  
  1837.     input  datain, clk, aclr;
  1838.         input  [51:0] pclk, pena, paclr, papre;
  1839.     output regout, fbkout;
  1840.  
  1841.     reg  iregout, oldclk1, oldclk2;
  1842.     reg  pena_viol, clk_per_viol, datain_viol, pclk_per_viol;
  1843.         reg  pterm_aclr, pterm_preset, ptermclk, penable;
  1844.     wire reset;
  1845.         wire [51:0] ipclk, ipena, ipaclr, ipapre;
  1846.  
  1847.     reg violation;
  1848.  
  1849.     wire clk_in;
  1850.     wire iclr;
  1851.  
  1852.     buf (clk_in, clk);
  1853.     buf (iclr, aclr);
  1854.  
  1855.     buf (ipclk[0], pclk[0]);
  1856.     buf (ipclk[1], pclk[1]);
  1857.     buf (ipclk[2], pclk[2]);
  1858.     buf (ipclk[3], pclk[3]);
  1859.     buf (ipclk[4], pclk[4]);
  1860.     buf (ipclk[5], pclk[5]);
  1861.     buf (ipclk[6], pclk[6]);
  1862.     buf (ipclk[7], pclk[7]);
  1863.     buf (ipclk[8], pclk[8]);
  1864.     buf (ipclk[9], pclk[9]);
  1865.     buf (ipclk[10], pclk[10]);
  1866.     buf (ipclk[11], pclk[11]);
  1867.     buf (ipclk[12], pclk[12]);
  1868.     buf (ipclk[13], pclk[13]);
  1869.     buf (ipclk[14], pclk[14]);
  1870.     buf (ipclk[15], pclk[15]);
  1871.     buf (ipclk[16], pclk[16]);
  1872.     buf (ipclk[17], pclk[17]);
  1873.     buf (ipclk[18], pclk[18]);
  1874.     buf (ipclk[19], pclk[19]);
  1875.     buf (ipclk[20], pclk[20]);
  1876.     buf (ipclk[21], pclk[21]);
  1877.     buf (ipclk[22], pclk[22]);
  1878.     buf (ipclk[23], pclk[23]);
  1879.     buf (ipclk[24], pclk[24]);
  1880.     buf (ipclk[25], pclk[25]);
  1881.     buf (ipclk[26], pclk[26]);
  1882.     buf (ipclk[27], pclk[27]);
  1883.     buf (ipclk[28], pclk[28]);
  1884.     buf (ipclk[29], pclk[29]);
  1885.     buf (ipclk[30], pclk[30]);
  1886.     buf (ipclk[31], pclk[31]);
  1887.     buf (ipclk[32], pclk[32]);
  1888.     buf (ipclk[33], pclk[33]);
  1889.     buf (ipclk[34], pclk[34]);
  1890.     buf (ipclk[35], pclk[35]);
  1891.     buf (ipclk[36], pclk[36]);
  1892.     buf (ipclk[37], pclk[37]);
  1893.     buf (ipclk[38], pclk[38]);
  1894.     buf (ipclk[39], pclk[39]);
  1895.     buf (ipclk[40], pclk[40]);
  1896.     buf (ipclk[41], pclk[41]);
  1897.     buf (ipclk[42], pclk[42]);
  1898.     buf (ipclk[43], pclk[43]);
  1899.     buf (ipclk[44], pclk[44]);
  1900.     buf (ipclk[45], pclk[45]);
  1901.     buf (ipclk[46], pclk[46]);
  1902.     buf (ipclk[47], pclk[47]);
  1903.     buf (ipclk[48], pclk[48]);
  1904.     buf (ipclk[49], pclk[49]);
  1905.     buf (ipclk[50], pclk[50]);
  1906.     buf (ipclk[51], pclk[51]);
  1907.  
  1908.     buf (ipena[0], pena[0]);
  1909.     buf (ipena[1], pena[1]);
  1910.     buf (ipena[2], pena[2]);
  1911.     buf (ipena[3], pena[3]);
  1912.     buf (ipena[4], pena[4]);
  1913.     buf (ipena[5], pena[5]);
  1914.     buf (ipena[6], pena[6]);
  1915.     buf (ipena[7], pena[7]);
  1916.     buf (ipena[8], pena[8]);
  1917.     buf (ipena[9], pena[9]);
  1918.     buf (ipena[10], pena[10]);
  1919.     buf (ipena[11], pena[11]);
  1920.     buf (ipena[12], pena[12]);
  1921.     buf (ipena[13], pena[13]);
  1922.     buf (ipena[14], pena[14]);
  1923.     buf (ipena[15], pena[15]);
  1924.     buf (ipena[16], pena[16]);
  1925.     buf (ipena[17], pena[17]);
  1926.     buf (ipena[18], pena[18]);
  1927.     buf (ipena[19], pena[19]);
  1928.     buf (ipena[20], pena[20]);
  1929.     buf (ipena[21], pena[21]);
  1930.     buf (ipena[22], pena[22]);
  1931.     buf (ipena[23], pena[23]);
  1932.     buf (ipena[24], pena[24]);
  1933.     buf (ipena[25], pena[25]);
  1934.     buf (ipena[26], pena[26]);
  1935.     buf (ipena[27], pena[27]);
  1936.     buf (ipena[28], pena[28]);
  1937.     buf (ipena[29], pena[29]);
  1938.     buf (ipena[30], pena[30]);
  1939.     buf (ipena[31], pena[31]);
  1940.     buf (ipena[32], pena[32]);
  1941.     buf (ipena[33], pena[33]);
  1942.     buf (ipena[34], pena[34]);
  1943.     buf (ipena[35], pena[35]);
  1944.     buf (ipena[36], pena[36]);
  1945.     buf (ipena[37], pena[37]);
  1946.     buf (ipena[38], pena[38]);
  1947.     buf (ipena[39], pena[39]);
  1948.     buf (ipena[40], pena[40]);
  1949.     buf (ipena[41], pena[41]);
  1950.     buf (ipena[42], pena[42]);
  1951.     buf (ipena[43], pena[43]);
  1952.     buf (ipena[44], pena[44]);
  1953.     buf (ipena[45], pena[45]);
  1954.     buf (ipena[46], pena[46]);
  1955.     buf (ipena[47], pena[47]);
  1956.     buf (ipena[48], pena[48]);
  1957.     buf (ipena[49], pena[49]);
  1958.     buf (ipena[50], pena[50]);
  1959.     buf (ipena[51], pena[51]);
  1960.  
  1961.     buf (ipaclr[0], paclr[0]);
  1962.     buf (ipaclr[1], paclr[1]);
  1963.     buf (ipaclr[2], paclr[2]);
  1964.     buf (ipaclr[3], paclr[3]);
  1965.     buf (ipaclr[4], paclr[4]);
  1966.     buf (ipaclr[5], paclr[5]);
  1967.     buf (ipaclr[6], paclr[6]);
  1968.     buf (ipaclr[7], paclr[7]);
  1969.     buf (ipaclr[8], paclr[8]);
  1970.     buf (ipaclr[9], paclr[9]);
  1971.     buf (ipaclr[10], paclr[10]);
  1972.     buf (ipaclr[11], paclr[11]);
  1973.     buf (ipaclr[12], paclr[12]);
  1974.     buf (ipaclr[13], paclr[13]);
  1975.     buf (ipaclr[14], paclr[14]);
  1976.     buf (ipaclr[15], paclr[15]);
  1977.     buf (ipaclr[16], paclr[16]);
  1978.     buf (ipaclr[17], paclr[17]);
  1979.     buf (ipaclr[18], paclr[18]);
  1980.     buf (ipaclr[19], paclr[19]);
  1981.     buf (ipaclr[20], paclr[20]);
  1982.     buf (ipaclr[21], paclr[21]);
  1983.     buf (ipaclr[22], paclr[22]);
  1984.     buf (ipaclr[23], paclr[23]);
  1985.     buf (ipaclr[24], paclr[24]);
  1986.     buf (ipaclr[25], paclr[25]);
  1987.     buf (ipaclr[26], paclr[26]);
  1988.     buf (ipaclr[27], paclr[27]);
  1989.     buf (ipaclr[28], paclr[28]);
  1990.     buf (ipaclr[29], paclr[29]);
  1991.     buf (ipaclr[30], paclr[30]);
  1992.     buf (ipaclr[31], paclr[31]);
  1993.     buf (ipaclr[32], paclr[32]);
  1994.     buf (ipaclr[33], paclr[33]);
  1995.     buf (ipaclr[34], paclr[34]);
  1996.     buf (ipaclr[35], paclr[35]);
  1997.     buf (ipaclr[36], paclr[36]);
  1998.     buf (ipaclr[37], paclr[37]);
  1999.     buf (ipaclr[38], paclr[38]);
  2000.     buf (ipaclr[39], paclr[39]);
  2001.     buf (ipaclr[40], paclr[40]);
  2002.     buf (ipaclr[41], paclr[41]);
  2003.     buf (ipaclr[42], paclr[42]);
  2004.     buf (ipaclr[43], paclr[43]);
  2005.     buf (ipaclr[44], paclr[44]);
  2006.     buf (ipaclr[45], paclr[45]);
  2007.     buf (ipaclr[46], paclr[46]);
  2008.     buf (ipaclr[47], paclr[47]);
  2009.     buf (ipaclr[48], paclr[48]);
  2010.     buf (ipaclr[49], paclr[49]);
  2011.     buf (ipaclr[50], paclr[50]);
  2012.     buf (ipaclr[51], paclr[51]);
  2013.  
  2014.     buf (ipapre[0], papre[0]);
  2015.     buf (ipapre[1], papre[1]);
  2016.     buf (ipapre[2], papre[2]);
  2017.     buf (ipapre[3], papre[3]);
  2018.     buf (ipapre[4], papre[4]);
  2019.     buf (ipapre[5], papre[5]);
  2020.     buf (ipapre[6], papre[6]);
  2021.     buf (ipapre[7], papre[7]);
  2022.     buf (ipapre[8], papre[8]);
  2023.     buf (ipapre[9], papre[9]);
  2024.     buf (ipapre[10], papre[10]);
  2025.     buf (ipapre[11], papre[11]);
  2026.     buf (ipapre[12], papre[12]);
  2027.     buf (ipapre[13], papre[13]);
  2028.     buf (ipapre[14], papre[14]);
  2029.     buf (ipapre[15], papre[15]);
  2030.     buf (ipapre[16], papre[16]);
  2031.     buf (ipapre[17], papre[17]);
  2032.     buf (ipapre[18], papre[18]);
  2033.     buf (ipapre[19], papre[19]);
  2034.     buf (ipapre[20], papre[20]);
  2035.     buf (ipapre[21], papre[21]);
  2036.     buf (ipapre[22], papre[22]);
  2037.     buf (ipapre[23], papre[23]);
  2038.     buf (ipapre[24], papre[24]);
  2039.     buf (ipapre[25], papre[25]);
  2040.     buf (ipapre[26], papre[26]);
  2041.     buf (ipapre[27], papre[27]);
  2042.     buf (ipapre[28], papre[28]);
  2043.     buf (ipapre[29], papre[29]);
  2044.     buf (ipapre[30], papre[30]);
  2045.     buf (ipapre[31], papre[31]);
  2046.     buf (ipapre[32], papre[32]);
  2047.     buf (ipapre[33], papre[33]);
  2048.     buf (ipapre[34], papre[34]);
  2049.     buf (ipapre[35], papre[35]);
  2050.     buf (ipapre[36], papre[36]);
  2051.     buf (ipapre[37], papre[37]);
  2052.     buf (ipapre[38], papre[38]);
  2053.     buf (ipapre[39], papre[39]);
  2054.     buf (ipapre[40], papre[40]);
  2055.     buf (ipapre[41], papre[41]);
  2056.     buf (ipapre[42], papre[42]);
  2057.     buf (ipapre[43], papre[43]);
  2058.     buf (ipapre[44], papre[44]);
  2059.     buf (ipapre[45], papre[45]);
  2060.     buf (ipapre[46], papre[46]);
  2061.     buf (ipapre[47], papre[47]);
  2062.     buf (ipapre[48], papre[48]);
  2063.     buf (ipapre[49], papre[49]);
  2064.     buf (ipapre[50], papre[50]);
  2065.     buf (ipapre[51], papre[51]);
  2066.  
  2067.     assign reset = (!iclr) && (&ipena);
  2068.  
  2069.     specify
  2070.  
  2071.     $period (posedge clk &&& reset, 0, clk_per_viol);  
  2072.  
  2073.         $setuphold (posedge clk &&& reset, datain, 0, 0, datain_viol) ;
  2074.  
  2075.         $setuphold (posedge clk &&& reset, pena[0], 0, 0, pena_viol) ;
  2076.         $setuphold (posedge clk &&& reset, pena[1], 0, 0, pena_viol) ;
  2077.         $setuphold (posedge clk &&& reset, pena[2], 0, 0, pena_viol) ;
  2078.         $setuphold (posedge clk &&& reset, pena[3], 0, 0, pena_viol) ;
  2079.         $setuphold (posedge clk &&& reset, pena[4], 0, 0, pena_viol) ;
  2080.         $setuphold (posedge clk &&& reset, pena[5], 0, 0, pena_viol) ;
  2081.         $setuphold (posedge clk &&& reset, pena[6], 0, 0, pena_viol) ;
  2082.         $setuphold (posedge clk &&& reset, pena[7], 0, 0, pena_viol) ;
  2083.         $setuphold (posedge clk &&& reset, pena[8], 0, 0, pena_viol) ;
  2084.         $setuphold (posedge clk &&& reset, pena[9], 0, 0, pena_viol) ;
  2085.         $setuphold (posedge clk &&& reset, pena[10], 0, 0, pena_viol) ;
  2086.         $setuphold (posedge clk &&& reset, pena[11], 0, 0, pena_viol) ;
  2087.         $setuphold (posedge clk &&& reset, pena[12], 0, 0, pena_viol) ;
  2088.         $setuphold (posedge clk &&& reset, pena[13], 0, 0, pena_viol) ;
  2089.         $setuphold (posedge clk &&& reset, pena[14], 0, 0, pena_viol) ;
  2090.         $setuphold (posedge clk &&& reset, pena[15], 0, 0, pena_viol) ;
  2091.         $setuphold (posedge clk &&& reset, pena[16], 0, 0, pena_viol) ;
  2092.         $setuphold (posedge clk &&& reset, pena[17], 0, 0, pena_viol) ;
  2093.         $setuphold (posedge clk &&& reset, pena[18], 0, 0, pena_viol) ;
  2094.         $setuphold (posedge clk &&& reset, pena[19], 0, 0, pena_viol) ;
  2095.         $setuphold (posedge clk &&& reset, pena[20], 0, 0, pena_viol) ;
  2096.         $setuphold (posedge clk &&& reset, pena[21], 0, 0, pena_viol) ;
  2097.         $setuphold (posedge clk &&& reset, pena[22], 0, 0, pena_viol) ;
  2098.         $setuphold (posedge clk &&& reset, pena[23], 0, 0, pena_viol) ;
  2099.         $setuphold (posedge clk &&& reset, pena[24], 0, 0, pena_viol) ;
  2100.         $setuphold (posedge clk &&& reset, pena[25], 0, 0, pena_viol) ;
  2101.         $setuphold (posedge clk &&& reset, pena[26], 0, 0, pena_viol) ;
  2102.         $setuphold (posedge clk &&& reset, pena[27], 0, 0, pena_viol) ;
  2103.         $setuphold (posedge clk &&& reset, pena[28], 0, 0, pena_viol) ;
  2104.         $setuphold (posedge clk &&& reset, pena[29], 0, 0, pena_viol) ;
  2105.         $setuphold (posedge clk &&& reset, pena[30], 0, 0, pena_viol) ;
  2106.         $setuphold (posedge clk &&& reset, pena[31], 0, 0, pena_viol) ;
  2107.         $setuphold (posedge clk &&& reset, pena[32], 0, 0, pena_viol) ;
  2108.         $setuphold (posedge clk &&& reset, pena[33], 0, 0, pena_viol) ;
  2109.         $setuphold (posedge clk &&& reset, pena[34], 0, 0, pena_viol) ;
  2110.         $setuphold (posedge clk &&& reset, pena[35], 0, 0, pena_viol) ;
  2111.         $setuphold (posedge clk &&& reset, pena[36], 0, 0, pena_viol) ;
  2112.         $setuphold (posedge clk &&& reset, pena[37], 0, 0, pena_viol) ;
  2113.         $setuphold (posedge clk &&& reset, pena[38], 0, 0, pena_viol) ;
  2114.         $setuphold (posedge clk &&& reset, pena[39], 0, 0, pena_viol) ;
  2115.         $setuphold (posedge clk &&& reset, pena[40], 0, 0, pena_viol) ;
  2116.         $setuphold (posedge clk &&& reset, pena[41], 0, 0, pena_viol) ;
  2117.         $setuphold (posedge clk &&& reset, pena[42], 0, 0, pena_viol) ;
  2118.         $setuphold (posedge clk &&& reset, pena[43], 0, 0, pena_viol) ;
  2119.         $setuphold (posedge clk &&& reset, pena[44], 0, 0, pena_viol) ;
  2120.         $setuphold (posedge clk &&& reset, pena[45], 0, 0, pena_viol) ;
  2121.         $setuphold (posedge clk &&& reset, pena[46], 0, 0, pena_viol) ;
  2122.         $setuphold (posedge clk &&& reset, pena[47], 0, 0, pena_viol) ;
  2123.         $setuphold (posedge clk &&& reset, pena[48], 0, 0, pena_viol) ;
  2124.         $setuphold (posedge clk &&& reset, pena[49], 0, 0, pena_viol) ;
  2125.         $setuphold (posedge clk &&& reset, pena[50], 0, 0, pena_viol) ;
  2126.         $setuphold (posedge clk &&& reset, pena[51], 0, 0, pena_viol) ;
  2127.        
  2128.         $setuphold (posedge pclk[0] &&& reset, datain, 0, 0, datain_viol) ;
  2129.         $setuphold (posedge pclk[1] &&& reset, datain, 0, 0, datain_viol) ;
  2130.         $setuphold (posedge pclk[2] &&& reset, datain, 0, 0, datain_viol) ;
  2131.         $setuphold (posedge pclk[3] &&& reset, datain, 0, 0, datain_viol) ;
  2132.         $setuphold (posedge pclk[4] &&& reset, datain, 0, 0, datain_viol) ;
  2133.         $setuphold (posedge pclk[5] &&& reset, datain, 0, 0, datain_viol) ;
  2134.         $setuphold (posedge pclk[6] &&& reset, datain, 0, 0, datain_viol) ;
  2135.         $setuphold (posedge pclk[7] &&& reset, datain, 0, 0, datain_viol) ;
  2136.         $setuphold (posedge pclk[8] &&& reset, datain, 0, 0, datain_viol) ;
  2137.         $setuphold (posedge pclk[9] &&& reset, datain, 0, 0, datain_viol) ;
  2138.         $setuphold (posedge pclk[10] &&& reset, datain, 0, 0, datain_viol) ;
  2139.         $setuphold (posedge pclk[11] &&& reset, datain, 0, 0, datain_viol) ;
  2140.         $setuphold (posedge pclk[12] &&& reset, datain, 0, 0, datain_viol) ;
  2141.         $setuphold (posedge pclk[13] &&& reset, datain, 0, 0, datain_viol) ;
  2142.         $setuphold (posedge pclk[14] &&& reset, datain, 0, 0, datain_viol) ;
  2143.         $setuphold (posedge pclk[15] &&& reset, datain, 0, 0, datain_viol) ;
  2144.         $setuphold (posedge pclk[16] &&& reset, datain, 0, 0, datain_viol) ;
  2145.         $setuphold (posedge pclk[17] &&& reset, datain, 0, 0, datain_viol) ;
  2146.         $setuphold (posedge pclk[18] &&& reset, datain, 0, 0, datain_viol) ;
  2147.         $setuphold (posedge pclk[19] &&& reset, datain, 0, 0, datain_viol) ;
  2148.         $setuphold (posedge pclk[20] &&& reset, datain, 0, 0, datain_viol) ;
  2149.         $setuphold (posedge pclk[21] &&& reset, datain, 0, 0, datain_viol) ;
  2150.         $setuphold (posedge pclk[22] &&& reset, datain, 0, 0, datain_viol) ;
  2151.         $setuphold (posedge pclk[23] &&& reset, datain, 0, 0, datain_viol) ;
  2152.         $setuphold (posedge pclk[24] &&& reset, datain, 0, 0, datain_viol) ;
  2153.         $setuphold (posedge pclk[25] &&& reset, datain, 0, 0, datain_viol) ;
  2154.         $setuphold (posedge pclk[26] &&& reset, datain, 0, 0, datain_viol) ;
  2155.         $setuphold (posedge pclk[27] &&& reset, datain, 0, 0, datain_viol) ;
  2156.         $setuphold (posedge pclk[28] &&& reset, datain, 0, 0, datain_viol) ;
  2157.         $setuphold (posedge pclk[29] &&& reset, datain, 0, 0, datain_viol) ;
  2158.         $setuphold (posedge pclk[30] &&& reset, datain, 0, 0, datain_viol) ;
  2159.         $setuphold (posedge pclk[31] &&& reset, datain, 0, 0, datain_viol) ;
  2160.         $setuphold (posedge pclk[32] &&& reset, datain, 0, 0, datain_viol) ;
  2161.         $setuphold (posedge pclk[33] &&& reset, datain, 0, 0, datain_viol) ;
  2162.         $setuphold (posedge pclk[34] &&& reset, datain, 0, 0, datain_viol) ;
  2163.         $setuphold (posedge pclk[35] &&& reset, datain, 0, 0, datain_viol) ;
  2164.         $setuphold (posedge pclk[36] &&& reset, datain, 0, 0, datain_viol) ;
  2165.         $setuphold (posedge pclk[37] &&& reset, datain, 0, 0, datain_viol) ;
  2166.         $setuphold (posedge pclk[38] &&& reset, datain, 0, 0, datain_viol) ;
  2167.         $setuphold (posedge pclk[39] &&& reset, datain, 0, 0, datain_viol) ;
  2168.         $setuphold (posedge pclk[40] &&& reset, datain, 0, 0, datain_viol) ;
  2169.         $setuphold (posedge pclk[41] &&& reset, datain, 0, 0, datain_viol) ;
  2170.         $setuphold (posedge pclk[42] &&& reset, datain, 0, 0, datain_viol) ;
  2171.         $setuphold (posedge pclk[43] &&& reset, datain, 0, 0, datain_viol) ;
  2172.         $setuphold (posedge pclk[44] &&& reset, datain, 0, 0, datain_viol) ;
  2173.         $setuphold (posedge pclk[45] &&& reset, datain, 0, 0, datain_viol) ;
  2174.         $setuphold (posedge pclk[46] &&& reset, datain, 0, 0, datain_viol) ;
  2175.         $setuphold (posedge pclk[47] &&& reset, datain, 0, 0, datain_viol) ;
  2176.         $setuphold (posedge pclk[48] &&& reset, datain, 0, 0, datain_viol) ;
  2177.         $setuphold (posedge pclk[49] &&& reset, datain, 0, 0, datain_viol) ;
  2178.         $setuphold (posedge pclk[50] &&& reset, datain, 0, 0, datain_viol) ;
  2179.         $setuphold (posedge pclk[51] &&& reset, datain, 0, 0, datain_viol) ;
  2180.  
  2181.     (posedge clk => (regout +: datain)) = 0 ;
  2182.  
  2183.     (posedge pclk[0] => (regout +: datain)) =  (0, 0) ;
  2184.     (posedge pclk[1] => (regout +: datain)) =  (0, 0) ;
  2185.     (posedge pclk[2] => (regout +: datain)) =  (0, 0) ;
  2186.     (posedge pclk[3] => (regout +: datain)) =  (0, 0) ;
  2187.     (posedge pclk[4] => (regout +: datain)) =  (0, 0) ;
  2188.     (posedge pclk[5] => (regout +: datain)) =  (0, 0) ;
  2189.     (posedge pclk[6] => (regout +: datain)) =  (0, 0) ;
  2190.     (posedge pclk[7] => (regout +: datain)) =  (0, 0) ;
  2191.     (posedge pclk[8] => (regout +: datain)) =  (0, 0) ;
  2192.     (posedge pclk[9] => (regout +: datain)) =  (0, 0) ;
  2193.     (posedge pclk[10] => (regout +: datain)) =  (0, 0) ;
  2194.     (posedge pclk[11] => (regout +: datain)) =  (0, 0) ;
  2195.     (posedge pclk[12] => (regout +: datain)) =  (0, 0) ;
  2196.     (posedge pclk[13] => (regout +: datain)) =  (0, 0) ;
  2197.     (posedge pclk[14] => (regout +: datain)) =  (0, 0) ;
  2198.     (posedge pclk[15] => (regout +: datain)) =  (0, 0) ;
  2199.     (posedge pclk[16] => (regout +: datain)) =  (0, 0) ;
  2200.     (posedge pclk[17] => (regout +: datain)) =  (0, 0) ;
  2201.     (posedge pclk[18] => (regout +: datain)) =  (0, 0) ;
  2202.     (posedge pclk[19] => (regout +: datain)) =  (0, 0) ;
  2203.     (posedge pclk[20] => (regout +: datain)) =  (0, 0) ;
  2204.     (posedge pclk[21] => (regout +: datain)) =  (0, 0) ;
  2205.     (posedge pclk[22] => (regout +: datain)) =  (0, 0) ;
  2206.     (posedge pclk[23] => (regout +: datain)) =  (0, 0) ;
  2207.     (posedge pclk[24] => (regout +: datain)) =  (0, 0) ;
  2208.     (posedge pclk[25] => (regout +: datain)) =  (0, 0) ;
  2209.     (posedge pclk[26] => (regout +: datain)) =  (0, 0) ;
  2210.     (posedge pclk[27] => (regout +: datain)) =  (0, 0) ;
  2211.     (posedge pclk[28] => (regout +: datain)) =  (0, 0) ;
  2212.     (posedge pclk[29] => (regout +: datain)) =  (0, 0) ;
  2213.     (posedge pclk[30] => (regout +: datain)) =  (0, 0) ;
  2214.     (posedge pclk[31] => (regout +: datain)) =  (0, 0) ;
  2215.     (posedge pclk[32] => (regout +: datain)) =  (0, 0) ;
  2216.     (posedge pclk[33] => (regout +: datain)) =  (0, 0) ;
  2217.     (posedge pclk[34] => (regout +: datain)) =  (0, 0) ;
  2218.     (posedge pclk[35] => (regout +: datain)) =  (0, 0) ;
  2219.     (posedge pclk[36] => (regout +: datain)) =  (0, 0) ;
  2220.     (posedge pclk[37] => (regout +: datain)) =  (0, 0) ;
  2221.     (posedge pclk[38] => (regout +: datain)) =  (0, 0) ;
  2222.     (posedge pclk[39] => (regout +: datain)) =  (0, 0) ;
  2223.     (posedge pclk[40] => (regout +: datain)) =  (0, 0) ;
  2224.     (posedge pclk[41] => (regout +: datain)) =  (0, 0) ;
  2225.     (posedge pclk[42] => (regout +: datain)) =  (0, 0) ;
  2226.     (posedge pclk[43] => (regout +: datain)) =  (0, 0) ;
  2227.     (posedge pclk[44] => (regout +: datain)) =  (0, 0) ;
  2228.     (posedge pclk[45] => (regout +: datain)) =  (0, 0) ;
  2229.     (posedge pclk[46] => (regout +: datain)) =  (0, 0) ;
  2230.     (posedge pclk[47] => (regout +: datain)) =  (0, 0) ;
  2231.     (posedge pclk[48] => (regout +: datain)) =  (0, 0) ;
  2232.     (posedge pclk[49] => (regout +: datain)) =  (0, 0) ;
  2233.     (posedge pclk[50] => (regout +: datain)) =  (0, 0) ;
  2234.     (posedge pclk[51] => (regout +: datain)) =  (0, 0) ;
  2235.  
  2236.     (posedge aclr => (regout +: 1'b0)) = (0, 0) ;
  2237.  
  2238.     (posedge paclr[0] => (regout +: 1'b0)) = (0, 0) ;
  2239.     (posedge paclr[1] => (regout +: 1'b0)) = (0, 0) ;
  2240.     (posedge paclr[2] => (regout +: 1'b0)) = (0, 0) ;
  2241.     (posedge paclr[3] => (regout +: 1'b0)) = (0, 0) ;
  2242.     (posedge paclr[4] => (regout +: 1'b0)) = (0, 0) ;
  2243.     (posedge paclr[5] => (regout +: 1'b0)) = (0, 0) ;
  2244.     (posedge paclr[6] => (regout +: 1'b0)) = (0, 0) ;
  2245.     (posedge paclr[7] => (regout +: 1'b0)) = (0, 0) ;
  2246.     (posedge paclr[8] => (regout +: 1'b0)) = (0, 0) ;
  2247.     (posedge paclr[9] => (regout +: 1'b0)) = (0, 0) ;
  2248.     (posedge paclr[10] => (regout +: 1'b0)) = (0, 0) ;
  2249.     (posedge paclr[11] => (regout +: 1'b0)) = (0, 0) ;
  2250.     (posedge paclr[12] => (regout +: 1'b0)) = (0, 0) ;
  2251.     (posedge paclr[13] => (regout +: 1'b0)) = (0, 0) ;
  2252.     (posedge paclr[14] => (regout +: 1'b0)) = (0, 0) ;
  2253.     (posedge paclr[15] => (regout +: 1'b0)) = (0, 0) ;
  2254.     (posedge paclr[16] => (regout +: 1'b0)) = (0, 0) ;
  2255.     (posedge paclr[17] => (regout +: 1'b0)) = (0, 0) ;
  2256.     (posedge paclr[18] => (regout +: 1'b0)) = (0, 0) ;
  2257.     (posedge paclr[19] => (regout +: 1'b0)) = (0, 0) ;
  2258.     (posedge paclr[20] => (regout +: 1'b0)) = (0, 0) ;
  2259.     (posedge paclr[21] => (regout +: 1'b0)) = (0, 0) ;
  2260.     (posedge paclr[22] => (regout +: 1'b0)) = (0, 0) ;
  2261.     (posedge paclr[23] => (regout +: 1'b0)) = (0, 0) ;
  2262.     (posedge paclr[24] => (regout +: 1'b0)) = (0, 0) ;
  2263.     (posedge paclr[25] => (regout +: 1'b0)) = (0, 0) ;
  2264.     (posedge paclr[26] => (regout +: 1'b0)) = (0, 0) ;
  2265.     (posedge paclr[27] => (regout +: 1'b0)) = (0, 0) ;
  2266.     (posedge paclr[28] => (regout +: 1'b0)) = (0, 0) ;
  2267.     (posedge paclr[29] => (regout +: 1'b0)) = (0, 0) ;
  2268.     (posedge paclr[30] => (regout +: 1'b0)) = (0, 0) ;
  2269.     (posedge paclr[31] => (regout +: 1'b0)) = (0, 0) ;
  2270.     (posedge paclr[32] => (regout +: 1'b0)) = (0, 0) ;
  2271.     (posedge paclr[33] => (regout +: 1'b0)) = (0, 0) ;
  2272.     (posedge paclr[34] => (regout +: 1'b0)) = (0, 0) ;
  2273.     (posedge paclr[35] => (regout +: 1'b0)) = (0, 0) ;
  2274.     (posedge paclr[36] => (regout +: 1'b0)) = (0, 0) ;
  2275.     (posedge paclr[37] => (regout +: 1'b0)) = (0, 0) ;
  2276.     (posedge paclr[38] => (regout +: 1'b0)) = (0, 0) ;
  2277.     (posedge paclr[39] => (regout +: 1'b0)) = (0, 0) ;
  2278.     (posedge paclr[40] => (regout +: 1'b0)) = (0, 0) ;
  2279.     (posedge paclr[41] => (regout +: 1'b0)) = (0, 0) ;
  2280.     (posedge paclr[42] => (regout +: 1'b0)) = (0, 0) ;
  2281.     (posedge paclr[43] => (regout +: 1'b0)) = (0, 0) ;
  2282.     (posedge paclr[44] => (regout +: 1'b0)) = (0, 0) ;
  2283.     (posedge paclr[45] => (regout +: 1'b0)) = (0, 0) ;
  2284.     (posedge paclr[46] => (regout +: 1'b0)) = (0, 0) ;
  2285.     (posedge paclr[47] => (regout +: 1'b0)) = (0, 0) ;
  2286.     (posedge paclr[48] => (regout +: 1'b0)) = (0, 0) ;
  2287.     (posedge paclr[49] => (regout +: 1'b0)) = (0, 0) ;
  2288.     (posedge paclr[50] => (regout +: 1'b0)) = (0, 0) ;
  2289.     (posedge paclr[51] => (regout +: 1'b0)) = (0, 0) ;
  2290.  
  2291.     (posedge papre[0] => (regout +: 1'b1)) = (0, 0) ;
  2292.     (posedge papre[1] => (regout +: 1'b1)) = (0, 0) ;
  2293.     (posedge papre[2] => (regout +: 1'b1)) = (0, 0) ;
  2294.     (posedge papre[3] => (regout +: 1'b1)) = (0, 0) ;
  2295.     (posedge papre[4] => (regout +: 1'b1)) = (0, 0) ;
  2296.     (posedge papre[5] => (regout +: 1'b1)) = (0, 0) ;
  2297.     (posedge papre[6] => (regout +: 1'b1)) = (0, 0) ;
  2298.     (posedge papre[7] => (regout +: 1'b1)) = (0, 0) ;
  2299.     (posedge papre[8] => (regout +: 1'b1)) = (0, 0) ;
  2300.     (posedge papre[9] => (regout +: 1'b1)) = (0, 0) ;
  2301.     (posedge papre[10] => (regout +: 1'b1)) = (0, 0) ;
  2302.     (posedge papre[11] => (regout +: 1'b1)) = (0, 0) ;
  2303.     (posedge papre[12] => (regout +: 1'b1)) = (0, 0) ;
  2304.     (posedge papre[13] => (regout +: 1'b1)) = (0, 0) ;
  2305.     (posedge papre[14] => (regout +: 1'b1)) = (0, 0) ;
  2306.     (posedge papre[15] => (regout +: 1'b1)) = (0, 0) ;
  2307.     (posedge papre[16] => (regout +: 1'b1)) = (0, 0) ;
  2308.     (posedge papre[17] => (regout +: 1'b1)) = (0, 0) ;
  2309.     (posedge papre[18] => (regout +: 1'b1)) = (0, 0) ;
  2310.     (posedge papre[19] => (regout +: 1'b1)) = (0, 0) ;
  2311.     (posedge papre[20] => (regout +: 1'b1)) = (0, 0) ;
  2312.     (posedge papre[21] => (regout +: 1'b1)) = (0, 0) ;
  2313.     (posedge papre[22] => (regout +: 1'b1)) = (0, 0) ;
  2314.     (posedge papre[23] => (regout +: 1'b1)) = (0, 0) ;
  2315.     (posedge papre[24] => (regout +: 1'b1)) = (0, 0) ;
  2316.     (posedge papre[25] => (regout +: 1'b1)) = (0, 0) ;
  2317.     (posedge papre[26] => (regout +: 1'b1)) = (0, 0) ;
  2318.     (posedge papre[27] => (regout +: 1'b1)) = (0, 0) ;
  2319.     (posedge papre[28] => (regout +: 1'b1)) = (0, 0) ;
  2320.     (posedge papre[29] => (regout +: 1'b1)) = (0, 0) ;
  2321.     (posedge papre[30] => (regout +: 1'b1)) = (0, 0) ;
  2322.     (posedge papre[31] => (regout +: 1'b1)) = (0, 0) ;
  2323.     (posedge papre[32] => (regout +: 1'b1)) = (0, 0) ;
  2324.     (posedge papre[33] => (regout +: 1'b1)) = (0, 0) ;
  2325.     (posedge papre[34] => (regout +: 1'b1)) = (0, 0) ;
  2326.     (posedge papre[35] => (regout +: 1'b1)) = (0, 0) ;
  2327.     (posedge papre[36] => (regout +: 1'b1)) = (0, 0) ;
  2328.     (posedge papre[37] => (regout +: 1'b1)) = (0, 0) ;
  2329.     (posedge papre[38] => (regout +: 1'b1)) = (0, 0) ;
  2330.     (posedge papre[39] => (regout +: 1'b1)) = (0, 0) ;
  2331.     (posedge papre[40] => (regout +: 1'b1)) = (0, 0) ;
  2332.     (posedge papre[41] => (regout +: 1'b1)) = (0, 0) ;
  2333.     (posedge papre[42] => (regout +: 1'b1)) = (0, 0) ;
  2334.     (posedge papre[43] => (regout +: 1'b1)) = (0, 0) ;
  2335.     (posedge papre[44] => (regout +: 1'b1)) = (0, 0) ;
  2336.     (posedge papre[45] => (regout +: 1'b1)) = (0, 0) ;
  2337.     (posedge papre[46] => (regout +: 1'b1)) = (0, 0) ;
  2338.     (posedge papre[47] => (regout +: 1'b1)) = (0, 0) ;
  2339.     (posedge papre[48] => (regout +: 1'b1)) = (0, 0) ;
  2340.     (posedge papre[49] => (regout +: 1'b1)) = (0, 0) ;
  2341.     (posedge papre[50] => (regout +: 1'b1)) = (0, 0) ;
  2342.     (posedge papre[51] => (regout +: 1'b1)) = (0, 0) ;
  2343.  
  2344.     (posedge clk => (fbkout +: datain)) = 0 ;
  2345.  
  2346.     (posedge pclk[0] => (fbkout +: datain)) = 0 ;
  2347.     (posedge pclk[1] => (fbkout +: datain)) = 0 ;
  2348.     (posedge pclk[2] => (fbkout +: datain)) = 0 ;
  2349.     (posedge pclk[3] => (fbkout +: datain)) = 0 ;
  2350.     (posedge pclk[4] => (fbkout +: datain)) = 0 ;
  2351.     (posedge pclk[5] => (fbkout +: datain)) = 0 ;
  2352.     (posedge pclk[6] => (fbkout +: datain)) = 0 ;
  2353.     (posedge pclk[7] => (fbkout +: datain)) = 0 ;
  2354.     (posedge pclk[8] => (fbkout +: datain)) = 0 ;
  2355.     (posedge pclk[9] => (fbkout +: datain)) = 0 ;
  2356.     (posedge pclk[10] => (fbkout +: datain)) = 0 ;
  2357.     (posedge pclk[11] => (fbkout +: datain)) = 0 ;
  2358.     (posedge pclk[12] => (fbkout +: datain)) = 0 ;
  2359.     (posedge pclk[13] => (fbkout +: datain)) = 0 ;
  2360.     (posedge pclk[14] => (fbkout +: datain)) = 0 ;
  2361.     (posedge pclk[15] => (fbkout +: datain)) = 0 ;
  2362.     (posedge pclk[16] => (fbkout +: datain)) = 0 ;
  2363.     (posedge pclk[17] => (fbkout +: datain)) = 0 ;
  2364.     (posedge pclk[18] => (fbkout +: datain)) = 0 ;
  2365.     (posedge pclk[19] => (fbkout +: datain)) = 0 ;
  2366.     (posedge pclk[20] => (fbkout +: datain)) = 0 ;
  2367.     (posedge pclk[21] => (fbkout +: datain)) = 0 ;
  2368.     (posedge pclk[22] => (fbkout +: datain)) = 0 ;
  2369.     (posedge pclk[23] => (fbkout +: datain)) = 0 ;
  2370.     (posedge pclk[24] => (fbkout +: datain)) = 0 ;
  2371.     (posedge pclk[25] => (fbkout +: datain)) = 0 ;
  2372.     (posedge pclk[26] => (fbkout +: datain)) = 0 ;
  2373.     (posedge pclk[27] => (fbkout +: datain)) = 0 ;
  2374.     (posedge pclk[28] => (fbkout +: datain)) = 0 ;
  2375.     (posedge pclk[29] => (fbkout +: datain)) = 0 ;
  2376.     (posedge pclk[30] => (fbkout +: datain)) = 0 ;
  2377.     (posedge pclk[31] => (fbkout +: datain)) = 0 ;
  2378.     (posedge pclk[32] => (fbkout +: datain)) = 0 ;
  2379.     (posedge pclk[33] => (fbkout +: datain)) = 0 ;
  2380.     (posedge pclk[34] => (fbkout +: datain)) = 0 ;
  2381.     (posedge pclk[35] => (fbkout +: datain)) = 0 ;
  2382.     (posedge pclk[36] => (fbkout +: datain)) = 0 ;
  2383.     (posedge pclk[37] => (fbkout +: datain)) = 0 ;
  2384.     (posedge pclk[38] => (fbkout +: datain)) = 0 ;
  2385.     (posedge pclk[39] => (fbkout +: datain)) = 0 ;
  2386.     (posedge pclk[40] => (fbkout +: datain)) = 0 ;
  2387.     (posedge pclk[41] => (fbkout +: datain)) = 0 ;
  2388.     (posedge pclk[42] => (fbkout +: datain)) = 0 ;
  2389.     (posedge pclk[43] => (fbkout +: datain)) = 0 ;
  2390.     (posedge pclk[44] => (fbkout +: datain)) = 0 ;
  2391.     (posedge pclk[45] => (fbkout +: datain)) = 0 ;
  2392.     (posedge pclk[46] => (fbkout +: datain)) = 0 ;
  2393.     (posedge pclk[47] => (fbkout +: datain)) = 0 ;
  2394.     (posedge pclk[48] => (fbkout +: datain)) = 0 ;
  2395.     (posedge pclk[49] => (fbkout +: datain)) = 0 ;
  2396.     (posedge pclk[50] => (fbkout +: datain)) = 0 ;
  2397.     (posedge pclk[51] => (fbkout +: datain)) = 0 ;
  2398.    
  2399.     (posedge aclr => (fbkout +: 1'b0)) = (0, 0) ;
  2400.  
  2401.     (posedge paclr[0] => (fbkout +: 1'b0)) = (0, 0) ;
  2402.     (posedge paclr[1] => (fbkout +: 1'b0)) = (0, 0) ;
  2403.     (posedge paclr[2] => (fbkout +: 1'b0)) = (0, 0) ;
  2404.     (posedge paclr[3] => (fbkout +: 1'b0)) = (0, 0) ;
  2405.     (posedge paclr[4] => (fbkout +: 1'b0)) = (0, 0) ;
  2406.     (posedge paclr[5] => (fbkout +: 1'b0)) = (0, 0) ;
  2407.     (posedge paclr[6] => (fbkout +: 1'b0)) = (0, 0) ;
  2408.     (posedge paclr[7] => (fbkout +: 1'b0)) = (0, 0) ;
  2409.     (posedge paclr[8] => (fbkout +: 1'b0)) = (0, 0) ;
  2410.     (posedge paclr[9] => (fbkout +: 1'b0)) = (0, 0) ;
  2411.     (posedge paclr[10] => (fbkout +: 1'b0)) = (0, 0) ;
  2412.     (posedge paclr[11] => (fbkout +: 1'b0)) = (0, 0) ;
  2413.     (posedge paclr[12] => (fbkout +: 1'b0)) = (0, 0) ;
  2414.     (posedge paclr[13] => (fbkout +: 1'b0)) = (0, 0) ;
  2415.     (posedge paclr[14] => (fbkout +: 1'b0)) = (0, 0) ;
  2416.     (posedge paclr[15] => (fbkout +: 1'b0)) = (0, 0) ;
  2417.     (posedge paclr[16] => (fbkout +: 1'b0)) = (0, 0) ;
  2418.     (posedge paclr[17] => (fbkout +: 1'b0)) = (0, 0) ;
  2419.     (posedge paclr[18] => (fbkout +: 1'b0)) = (0, 0) ;
  2420.     (posedge paclr[19] => (fbkout +: 1'b0)) = (0, 0) ;
  2421.     (posedge paclr[20] => (fbkout +: 1'b0)) = (0, 0) ;
  2422.     (posedge paclr[21] => (fbkout +: 1'b0)) = (0, 0) ;
  2423.     (posedge paclr[22] => (fbkout +: 1'b0)) = (0, 0) ;
  2424.     (posedge paclr[23] => (fbkout +: 1'b0)) = (0, 0) ;
  2425.     (posedge paclr[24] => (fbkout +: 1'b0)) = (0, 0) ;
  2426.     (posedge paclr[25] => (fbkout +: 1'b0)) = (0, 0) ;
  2427.     (posedge paclr[26] => (fbkout +: 1'b0)) = (0, 0) ;
  2428.     (posedge paclr[27] => (fbkout +: 1'b0)) = (0, 0) ;
  2429.     (posedge paclr[28] => (fbkout +: 1'b0)) = (0, 0) ;
  2430.     (posedge paclr[29] => (fbkout +: 1'b0)) = (0, 0) ;
  2431.     (posedge paclr[30] => (fbkout +: 1'b0)) = (0, 0) ;
  2432.     (posedge paclr[31] => (fbkout +: 1'b0)) = (0, 0) ;
  2433.     (posedge paclr[32] => (fbkout +: 1'b0)) = (0, 0) ;
  2434.     (posedge paclr[33] => (fbkout +: 1'b0)) = (0, 0) ;
  2435.     (posedge paclr[34] => (fbkout +: 1'b0)) = (0, 0) ;
  2436.     (posedge paclr[35] => (fbkout +: 1'b0)) = (0, 0) ;
  2437.     (posedge paclr[36] => (fbkout +: 1'b0)) = (0, 0) ;
  2438.     (posedge paclr[37] => (fbkout +: 1'b0)) = (0, 0) ;
  2439.     (posedge paclr[38] => (fbkout +: 1'b0)) = (0, 0) ;
  2440.     (posedge paclr[39] => (fbkout +: 1'b0)) = (0, 0) ;
  2441.     (posedge paclr[40] => (fbkout +: 1'b0)) = (0, 0) ;
  2442.     (posedge paclr[41] => (fbkout +: 1'b0)) = (0, 0) ;
  2443.     (posedge paclr[42] => (fbkout +: 1'b0)) = (0, 0) ;
  2444.     (posedge paclr[43] => (fbkout +: 1'b0)) = (0, 0) ;
  2445.     (posedge paclr[44] => (fbkout +: 1'b0)) = (0, 0) ;
  2446.     (posedge paclr[45] => (fbkout +: 1'b0)) = (0, 0) ;
  2447.     (posedge paclr[46] => (fbkout +: 1'b0)) = (0, 0) ;
  2448.     (posedge paclr[47] => (fbkout +: 1'b0)) = (0, 0) ;
  2449.     (posedge paclr[48] => (fbkout +: 1'b0)) = (0, 0) ;
  2450.     (posedge paclr[49] => (fbkout +: 1'b0)) = (0, 0) ;
  2451.     (posedge paclr[50] => (fbkout +: 1'b0)) = (0, 0) ;
  2452.     (posedge paclr[51] => (fbkout +: 1'b0)) = (0, 0) ;
  2453.  
  2454.     (posedge papre[0] => (fbkout +: 1'b1)) = (0, 0) ;
  2455.     (posedge papre[1] => (fbkout +: 1'b1)) = (0, 0) ;
  2456.     (posedge papre[2] => (fbkout +: 1'b1)) = (0, 0) ;
  2457.     (posedge papre[3] => (fbkout +: 1'b1)) = (0, 0) ;
  2458.     (posedge papre[4] => (fbkout +: 1'b1)) = (0, 0) ;
  2459.     (posedge papre[5] => (fbkout +: 1'b1)) = (0, 0) ;
  2460.     (posedge papre[6] => (fbkout +: 1'b1)) = (0, 0) ;
  2461.     (posedge papre[7] => (fbkout +: 1'b1)) = (0, 0) ;
  2462.     (posedge papre[8] => (fbkout +: 1'b1)) = (0, 0) ;
  2463.     (posedge papre[9] => (fbkout +: 1'b1)) = (0, 0) ;
  2464.     (posedge papre[10] => (fbkout +: 1'b1)) = (0, 0) ;
  2465.     (posedge papre[11] => (fbkout +: 1'b1)) = (0, 0) ;
  2466.     (posedge papre[12] => (fbkout +: 1'b1)) = (0, 0) ;
  2467.     (posedge papre[13] => (fbkout +: 1'b1)) = (0, 0) ;
  2468.     (posedge papre[14] => (fbkout +: 1'b1)) = (0, 0) ;
  2469.     (posedge papre[15] => (fbkout +: 1'b1)) = (0, 0) ;
  2470.     (posedge papre[16] => (fbkout +: 1'b1)) = (0, 0) ;
  2471.     (posedge papre[17] => (fbkout +: 1'b1)) = (0, 0) ;
  2472.     (posedge papre[18] => (fbkout +: 1'b1)) = (0, 0) ;
  2473.     (posedge papre[19] => (fbkout +: 1'b1)) = (0, 0) ;
  2474.     (posedge papre[20] => (fbkout +: 1'b1)) = (0, 0) ;
  2475.     (posedge papre[21] => (fbkout +: 1'b1)) = (0, 0) ;
  2476.     (posedge papre[22] => (fbkout +: 1'b1)) = (0, 0) ;
  2477.     (posedge papre[23] => (fbkout +: 1'b1)) = (0, 0) ;
  2478.     (posedge papre[24] => (fbkout +: 1'b1)) = (0, 0) ;
  2479.     (posedge papre[25] => (fbkout +: 1'b1)) = (0, 0) ;
  2480.     (posedge papre[26] => (fbkout +: 1'b1)) = (0, 0) ;
  2481.     (posedge papre[27] => (fbkout +: 1'b1)) = (0, 0) ;
  2482.     (posedge papre[28] => (fbkout +: 1'b1)) = (0, 0) ;
  2483.     (posedge papre[29] => (fbkout +: 1'b1)) = (0, 0) ;
  2484.     (posedge papre[30] => (fbkout +: 1'b1)) = (0, 0) ;
  2485.     (posedge papre[31] => (fbkout +: 1'b1)) = (0, 0) ;
  2486.     (posedge papre[32] => (fbkout +: 1'b1)) = (0, 0) ;
  2487.     (posedge papre[33] => (fbkout +: 1'b1)) = (0, 0) ;
  2488.     (posedge papre[34] => (fbkout +: 1'b1)) = (0, 0) ;
  2489.     (posedge papre[35] => (fbkout +: 1'b1)) = (0, 0) ;
  2490.     (posedge papre[36] => (fbkout +: 1'b1)) = (0, 0) ;
  2491.     (posedge papre[37] => (fbkout +: 1'b1)) = (0, 0) ;
  2492.     (posedge papre[38] => (fbkout +: 1'b1)) = (0, 0) ;
  2493.     (posedge papre[39] => (fbkout +: 1'b1)) = (0, 0) ;
  2494.     (posedge papre[40] => (fbkout +: 1'b1)) = (0, 0) ;
  2495.     (posedge papre[41] => (fbkout +: 1'b1)) = (0, 0) ;
  2496.     (posedge papre[42] => (fbkout +: 1'b1)) = (0, 0) ;
  2497.     (posedge papre[43] => (fbkout +: 1'b1)) = (0, 0) ;
  2498.     (posedge papre[44] => (fbkout +: 1'b1)) = (0, 0) ;
  2499.     (posedge papre[45] => (fbkout +: 1'b1)) = (0, 0) ;
  2500.     (posedge papre[46] => (fbkout +: 1'b1)) = (0, 0) ;
  2501.     (posedge papre[47] => (fbkout +: 1'b1)) = (0, 0) ;
  2502.     (posedge papre[48] => (fbkout +: 1'b1)) = (0, 0) ;
  2503.     (posedge papre[49] => (fbkout +: 1'b1)) = (0, 0) ;
  2504.     (posedge papre[50] => (fbkout +: 1'b1)) = (0, 0) ;
  2505.     (posedge papre[51] => (fbkout +: 1'b1)) = (0, 0) ;
  2506.  
  2507.     endspecify
  2508.  
  2509.     initial
  2510.     begin
  2511.                 penable = 'b1;
  2512.                 pterm_aclr = 'b0;
  2513.                 pterm_preset = 'b0;
  2514.                 ptermclk = 'b0;
  2515.                 oldclk1 = 'b0;
  2516.                 oldclk2 = 'b0;
  2517.                 violation = 0;
  2518.                 if (power_up == "low")
  2519.                         iregout = 'b0;
  2520.                 else if (power_up == "high")
  2521.                         iregout = 'b1;
  2522.         end
  2523.  
  2524.     always @(datain_viol or clk_per_viol or pclk_per_viol or pena_viol)
  2525.     begin
  2526.        violation = 1;
  2527.     end
  2528.  
  2529. always @ (clk_in or iclr or ipaclr or ipapre or ipena or posedge violation
  2530.           or ipclk)
  2531. begin
  2532.    if (&ipclk !== 'b1)
  2533.      ptermclk = 'b0;
  2534.    else
  2535.      ptermclk = 'b1;
  2536.    if (&ipena == 'b0)
  2537.      penable = 'b0;
  2538.    else
  2539.      penable = 'b1;
  2540.    if ((&ipaclr) == 'b1)
  2541.      pterm_aclr = 'b1;
  2542.    else
  2543.      pterm_aclr = 'b0;
  2544.    if (&ipapre == 'b1)
  2545.      pterm_preset = 'b1;
  2546.    else
  2547.      pterm_preset = 'b0;
  2548.    if ((iclr == 'b1) || (pterm_aclr === 'b1))
  2549.      iregout = 'b0;
  2550.    else if (pterm_preset == 'b1)
  2551.      iregout = 'b1;
  2552.    else if (violation == 1'b1)
  2553.      begin
  2554.         violation = 0;
  2555.         iregout = 'bx;
  2556.      end
  2557.    else if (penable == 'b1)
  2558.      begin
  2559.         if (((clk_in == 'b1) && (oldclk1 == 'b0)) || ((ptermclk == 'b1) && (oldclk2 == 'b0)))
  2560.           begin
  2561.              iregout = datain;
  2562.           end
  2563.      end
  2564.    oldclk1 = clk_in;
  2565.    oldclk2 = ptermclk;
  2566. end      
  2567.  
  2568. and (regout, iregout, 'b1);
  2569. and (fbkout, iregout, 'b1);
  2570.  
  2571. endmodule
  2572.  
  2573. //
  2574. //   MAX MCELL ATOM
  2575. //
  2576. `timescale 1 ps/1 ps
  2577. module  max_mcell (pterm0, pterm1, pterm2, pterm3, pterm4, pterm5, pxor,
  2578.                    pexpin, clk, aclr, fpin, pclk, pena, paclr, papre,
  2579.                    dataout, pexpout);
  2580.  
  2581.    parameter operation_mode     = "normal";
  2582.    parameter output_mode        = "comb";
  2583.    parameter register_mode = "dff";
  2584.    parameter pexp_mode = "off";
  2585.    parameter power_up    = "low";
  2586.  
  2587.    input [51:0] pterm0, pterm1, pterm2, pterm3, pterm4, pterm5;
  2588.    input [51:0] pxor, pclk, pena, paclr, papre;
  2589.    input        pexpin, clk, aclr, fpin;
  2590.    output       dataout, pexpout;
  2591.  
  2592.    wire         fbk, dffin, combo, dffo;
  2593.    
  2594.  
  2595.    max_asynch_mcell pcom (pterm0, pterm1, pterm2, pterm3, pterm4,
  2596.                           pterm5, fpin, pxor, pexpin, fbk, combo,
  2597.                           pexpout, dffin);
  2598.    max_mcell_register preg (dffin, clk, aclr, pclk, pena, paclr,
  2599.                             papre, dffo, fbk);
  2600.    defparam    
  2601.         pcom.operation_mode = operation_mode,
  2602.         pcom.pexp_mode = pexp_mode,
  2603.         pcom.register_mode = register_mode,
  2604.         preg.operation_mode = operation_mode,
  2605.         preg.power_up = power_up,
  2606.         preg.register_mode = register_mode;
  2607.  
  2608. assign dataout = (output_mode == "comb") ? combo : dffo;       
  2609.  
  2610. endmodule
  2611.  
  2612. ///////////////////////////////////////////////////////////////////////////////
  2613. //
  2614. // MAX SEXP ATOM
  2615. //
  2616. //////////////////////////////////////////////////////////////////////////////
  2617.  
  2618. //   MAX SEXP ASYNCH
  2619.  
  2620. `timescale 1 ps/1 ps
  2621. module  max_asynch_sexp (datain, dataout);
  2622.  
  2623.     input  [51:0] datain;
  2624.     output dataout;
  2625.  
  2626.     reg tmp_dataout;
  2627.     wire [51:0] idatain;
  2628.    
  2629.  
  2630.     buf (idatain[0], datain[0]);
  2631.     buf (idatain[1], datain[1]);
  2632.     buf (idatain[2], datain[2]);
  2633.     buf (idatain[3], datain[3]);
  2634.     buf (idatain[4], datain[4]);
  2635.     buf (idatain[5], datain[5]);
  2636.     buf (idatain[6], datain[6]);
  2637.     buf (idatain[7], datain[7]);
  2638.     buf (idatain[8], datain[8]);
  2639.     buf (idatain[9], datain[9]);
  2640.     buf (idatain[10], datain[10]);
  2641.     buf (idatain[11], datain[11]);
  2642.     buf (idatain[12], datain[12]);
  2643.     buf (idatain[13], datain[13]);
  2644.     buf (idatain[14], datain[14]);
  2645.     buf (idatain[15], datain[15]);
  2646.     buf (idatain[16], datain[16]);
  2647.     buf (idatain[17], datain[17]);
  2648.     buf (idatain[18], datain[18]);
  2649.     buf (idatain[19], datain[19]);
  2650.     buf (idatain[20], datain[20]);
  2651.     buf (idatain[21], datain[21]);
  2652.     buf (idatain[22], datain[22]);
  2653.     buf (idatain[23], datain[23]);
  2654.     buf (idatain[24], datain[24]);
  2655.     buf (idatain[25], datain[25]);
  2656.     buf (idatain[26], datain[26]);
  2657.     buf (idatain[27], datain[27]);
  2658.     buf (idatain[28], datain[28]);
  2659.     buf (idatain[29], datain[29]);
  2660.     buf (idatain[30], datain[30]);
  2661.     buf (idatain[31], datain[31]);
  2662.     buf (idatain[32], datain[32]);
  2663.     buf (idatain[33], datain[33]);
  2664.     buf (idatain[34], datain[34]);
  2665.     buf (idatain[35], datain[35]);
  2666.     buf (idatain[36], datain[36]);
  2667.     buf (idatain[37], datain[37]);
  2668.     buf (idatain[38], datain[38]);
  2669.     buf (idatain[39], datain[39]);
  2670.     buf (idatain[40], datain[40]);
  2671.     buf (idatain[41], datain[41]);
  2672.     buf (idatain[42], datain[42]);
  2673.     buf (idatain[43], datain[43]);
  2674.     buf (idatain[44], datain[44]);
  2675.     buf (idatain[45], datain[45]);
  2676.     buf (idatain[46], datain[46]);
  2677.     buf (idatain[47], datain[47]);
  2678.     buf (idatain[48], datain[48]);
  2679.     buf (idatain[49], datain[49]);
  2680.     buf (idatain[50], datain[50]);
  2681.     buf (idatain[51], datain[51]);
  2682.  
  2683.     specify
  2684.  
  2685.     (datain[0] => dataout) = (0, 0) ;
  2686.     (datain[1] => dataout) = (0, 0) ;
  2687.     (datain[2] => dataout) = (0, 0) ;
  2688.     (datain[3] => dataout) = (0, 0) ;
  2689.     (datain[4] => dataout) = (0, 0) ;
  2690.     (datain[5] => dataout) = (0, 0) ;
  2691.     (datain[6] => dataout) = (0, 0) ;
  2692.     (datain[7] => dataout) = (0, 0) ;
  2693.     (datain[8] => dataout) = (0, 0) ;
  2694.     (datain[9] => dataout) = (0, 0) ;
  2695.     (datain[10] => dataout) = (0, 0) ;
  2696.     (datain[11] => dataout) = (0, 0) ;
  2697.     (datain[12] => dataout) = (0, 0) ;
  2698.     (datain[13] => dataout) = (0, 0) ;
  2699.     (datain[14] => dataout) = (0, 0) ;
  2700.     (datain[15] => dataout) = (0, 0) ;
  2701.     (datain[16] => dataout) = (0, 0) ;
  2702.     (datain[17] => dataout) = (0, 0) ;
  2703.     (datain[18] => dataout) = (0, 0) ;
  2704.     (datain[19] => dataout) = (0, 0) ;
  2705.     (datain[20] => dataout) = (0, 0) ;
  2706.     (datain[21] => dataout) = (0, 0) ;
  2707.     (datain[22] => dataout) = (0, 0) ;
  2708.     (datain[23] => dataout) = (0, 0) ;
  2709.     (datain[24] => dataout) = (0, 0) ;
  2710.     (datain[25] => dataout) = (0, 0) ;
  2711.     (datain[26] => dataout) = (0, 0) ;
  2712.     (datain[27] => dataout) = (0, 0) ;
  2713.     (datain[28] => dataout) = (0, 0) ;
  2714.     (datain[29] => dataout) = (0, 0) ;
  2715.     (datain[30] => dataout) = (0, 0) ;
  2716.     (datain[31] => dataout) = (0, 0) ;
  2717.     (datain[32] => dataout) = (0, 0) ;
  2718.     (datain[33] => dataout) = (0, 0) ;
  2719.     (datain[34] => dataout) = (0, 0) ;
  2720.     (datain[35] => dataout) = (0, 0) ;
  2721.     (datain[36] => dataout) = (0, 0) ;
  2722.     (datain[37] => dataout) = (0, 0) ;
  2723.     (datain[38] => dataout) = (0, 0) ;
  2724.     (datain[39] => dataout) = (0, 0) ;
  2725.     (datain[40] => dataout) = (0, 0) ;
  2726.     (datain[41] => dataout) = (0, 0) ;
  2727.     (datain[42] => dataout) = (0, 0) ;
  2728.     (datain[43] => dataout) = (0, 0) ;
  2729.     (datain[44] => dataout) = (0, 0) ;
  2730.     (datain[45] => dataout) = (0, 0) ;
  2731.     (datain[46] => dataout) = (0, 0) ;
  2732.     (datain[47] => dataout) = (0, 0) ;
  2733.     (datain[48] => dataout) = (0, 0) ;
  2734.     (datain[49] => dataout) = (0, 0) ;
  2735.     (datain[50] => dataout) = (0, 0) ;
  2736.     (datain[51] => dataout) = (0, 0) ;
  2737.  
  2738.     endspecify
  2739.  
  2740. always @ (idatain)
  2741. begin
  2742.         tmp_dataout = ~(&idatain);
  2743. end
  2744.  
  2745. and (dataout, tmp_dataout, 'b1);
  2746.  
  2747. endmodule
  2748.  
  2749. //
  2750. //   MAX SEXP ATOM
  2751. //
  2752. `timescale 1 ps/1 ps
  2753. module  max_sexp (datain, dataout);
  2754.  
  2755.     input  [51:0] datain;
  2756.     output dataout;
  2757.  
  2758. max_asynch_sexp pcom (datain, dataout);
  2759.  
  2760. endmodule
  2761.