led.cdb
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:1014k
源码类别:

DSP编程

开发平台:

C/C++

  1.     inst iId :: 0 { 
  2.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  3.         prop Style :: 0x01
  4.         prop Visible :: 0
  5.         prop Writable :: 1
  6.         prop NoGen :: 1
  7.     }
  8.     inst iDelUser :: "USER" { 
  9.         prop Visible :: 0
  10.         prop Writable :: 0
  11.         prop NoGen :: 1
  12.     }
  13.     inst iDelMsg :: "ok" { 
  14.         prop Visible :: 0
  15.         prop Writable :: 0
  16.         prop NoGen :: 1
  17.     }
  18.     inst cConfigGen :: = ((hTcp.TCP_INIT_ENABLE == 1) && (hTcp.TCP_INIT == self) && (hTcp.TCP_INIT != TCP_NOTHING)) { 
  19.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  20.         prop NoGen :: 1
  21.         prop Visible :: 0
  22.     }
  23.     inst cConfigArg0 :: = hTcp.TCP_INIT { 
  24.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  25.         prop MemberType :: tcpCfg
  26.         prop Label :: "Pre-initialize Config"
  27.         prop Visible :: 0
  28.         prop Writable :: (CSL.TCP_SUPPORT)
  29.         prop NoGen :: 0
  30.         prop cPreVal :: "&"
  31.     }
  32.     inst STANDARD_SETUP :: "3GPP" { 
  33.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  34.         prop Enum :: "3GPP,IS2000"
  35.         prop Label :: "Turbo Decoder Standard"
  36.         prop Visible :: 1
  37.         prop JSName :: "tcpDecoderStandard"
  38.         prop Writable :: CSL.TCP_SUPPORT
  39.         prop NoGen :: 1
  40.         prop cGen :: 0
  41.         prop TabName :: "Programmable TCP Params"
  42.         prop Set :: (if ($1 == "IS2000") {self.cStandardGen = "TCP_STANDARD_IS2000"} else {self.cStandardGen = "TCP_STANDARD_3GPP"}, self.STANDARD_SETUP = $1, "ok")
  43.     }
  44.     inst cStandardGen :: = "TCP_STANDARD_3GPP" { 
  45.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  46.         prop Label :: " Decoder Standard"
  47.         prop Visible :: 0
  48.         prop Writable :: CSL.TCP_SUPPORT
  49.         prop NoGen :: 1
  50.         prop cGen :: 0
  51.     }
  52.     inst MODE_SETUP :: "Standalone(SA)" { 
  53.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  54.         prop Enum :: "Standalone(SA),Shared(SP)"
  55.         prop Label :: "Turbo Decoder Operation Mode"
  56.         prop Visible :: 1
  57.         prop JSName :: "tcpMode"
  58.         prop Writable :: CSL.TCP_SUPPORT
  59.         prop NoGen :: 1
  60.         prop cGen :: 0
  61.         prop TabName :: "Programmable TCP Params"
  62.         prop Set :: (if ($1 == "Standalone(SA)") {self.cModeGen = "TCP_MODE_SA"} else {self.cModeGen = "TCP_MODE_SP"}, self.MODE_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok")
  63.     }
  64.     inst cModeGen :: = "TCP_MODE_SA" { 
  65.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  66.         prop Label :: " Decoder Mode"
  67.         prop Visible :: 0
  68.         prop Writable :: CSL.TCP_SUPPORT
  69.         prop NoGen :: 1
  70.         prop cGen :: 0
  71.     }
  72.     inst MAP_SETUP :: "MAP1(1st Iter.)" { 
  73.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  74.         prop Enum :: "MAP1(1st Iter.),MAP1(Any Other Iter.),MAP2"
  75.         prop Label :: " Map (SP Mode only)"
  76.         prop Visible :: 1
  77.         prop JSName :: "tcpMap"
  78.         prop Writable :: if (CSL.TCP_SUPPORT != 0 && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  79.         prop NoGen :: 1
  80.         prop cGen :: 0
  81.         prop TabName :: "Programmable TCP Params"
  82.         prop Set :: (if ($1 == "MAP1(1st Iter.)") {self.cMapGen = "TCP_MAP_MAP1A"} else {if ($1 == "MAP1(Any Other Iter.)") {self.cMapGen = "TCP_MAP_MAP1B"} else {self.cMapGen = "TCP_MAP_MAP2"}}, self.MAP_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok")
  83.     }
  84.     inst cMapGen :: = "TCP_MAP_MAP1A" { 
  85.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  86.         prop Label :: " Operation Map (SP Mode only)"
  87.         prop Visible :: 0
  88.         prop Writable :: CSL.TCP_SUPPORT
  89.         prop NoGen :: 1
  90.         prop cGen :: 0
  91.     }
  92.     inst RATE_SETUP :: "None" { 
  93.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  94.         prop Enum :: "None,1/2,1/3,1/4"
  95.         prop Label :: " Code Rate (RATE)"
  96.         prop Visible :: 1
  97.         prop JSName :: "tcpIc0Rate"
  98.         prop Writable :: (CSL.TCP_SUPPORT)
  99.         prop NoGen :: 1
  100.         prop cGen :: 0
  101.         prop TabName :: "Programmable TCP Params"
  102.         prop Set :: (if (self.STANDARD_SETUP == "3GPP" && $1 != "1/3") {self.error("Rate 1/3 is required for 3GPP Standard")} else {if ($1 == "1/2") {self.cRateGen = "TCP_RATE_1_2"} else {if ($1 == "1/3") {self.cRateGen = "TCP_RATE_1_3"} else {if ($1 == "1/4") {self.cRateGen = "TCP_RATE_1_4"} else {self.cRateGen = " 0"}}}, self.RATE_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  103.     }
  104.     inst cRateGen :: = "0" { 
  105.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  106.         prop Label :: " Rate"
  107.         prop Visible :: 0
  108.         prop Writable :: CSL.TCP_SUPPORT
  109.         prop NoGen :: 1
  110.         prop cGen :: 0
  111.     }
  112.     inst OUTF_SETUP :: "Disable" { 
  113.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  114.         prop Enum :: "Disable,Enable"
  115.         prop Label :: " Output Parameters Read Flag (OUTF) "
  116.         prop Visible :: 1
  117.         prop JSName :: "tcpIc0OutFlag"
  118.         prop Writable :: (CSL.TCP_SUPPORT)
  119.         prop NoGen :: 1
  120.         prop cGen :: 0
  121.         prop TabName :: "EDMA Operation"
  122.         prop Set :: (self.OUTF_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok")
  123.     }
  124.     inst cOutfGen :: = "0" { 
  125.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  126.         prop Label :: " Output Parameters Read Flag "
  127.         prop Visible :: 0
  128.         prop Writable :: CSL.TCP_SUPPORT
  129.         prop NoGen :: 1
  130.         prop cGen :: 0
  131.     }
  132.     inst INTER_SETUP :: "Disable" { 
  133.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  134.         prop Enum :: "Disable,Enable"
  135.         prop Label :: " Interleaver Write Flag (INTER)"
  136.         prop Visible :: 1
  137.         prop JSName :: "tcpIc0InterFlag"
  138.         prop Writable :: (CSL.TCP_SUPPORT)
  139.         prop NoGen :: 1
  140.         prop cGen :: 0
  141.         prop TabName :: "EDMA Operation"
  142.         prop Set :: (self.INTER_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok")
  143.     }
  144.     inst cInterGen :: = "0" { 
  145.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  146.         prop Label :: " Interleaver Write Flag "
  147.         prop Visible :: 0
  148.         prop Writable :: CSL.TCP_SUPPORT
  149.         prop NoGen :: 1
  150.         prop cGen :: 0
  151.     }
  152.     inst FRAMELEN_SETUP :: = 0 { 
  153.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  154.         prop Format :: "%2d"
  155.         prop Style :: 0x02
  156.         prop Label :: " Frame Length (FL: 40 to 20730) "
  157.         prop Visible :: 1
  158.         prop JSName :: "tcpIc0FrameLen"
  159.         prop Writable :: (CSL.TCP_SUPPORT)
  160.         prop NoGen :: 1
  161.         prop cGen :: 0
  162.         prop TabName :: "Programmable TCP Params"
  163.         prop Set :: (if ($1 < 40 || $1 > 20730) {self.error("Frame Length range [40-20730]")} else {self.FRAMELEN_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  164.     }
  165.     inst RELLEN_SETUP :: = 0 { 
  166.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  167.         prop Format :: "%2d"
  168.         prop Style :: 0x02
  169.         prop Label :: " Reliability Length (R: 39 to 127)"
  170.         prop Visible :: 1
  171.         prop JSName :: "tcpIc0ReliaLen"
  172.         prop Writable :: (CSL.TCP_SUPPORT)
  173.         prop NoGen :: 1
  174.         prop cGen :: 0
  175.         prop TabName :: "Programmable TCP Params"
  176.         prop Set :: (if ($1 < 39 || $1 > 127) {self.error("Reliability Length range [39-127]")} else {self.RELLEN_SETUP = $1, self.IC1_VALUE = self.IC1_VALUE_update(), "ok"})
  177.     }
  178.     inst SUBFRAMELEN_SETUP :: = 0 { 
  179.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  180.         prop Format :: "%2d"
  181.         prop Style :: 0x02
  182.         prop Label :: " Sub-Frame Length (SFL: 98 to 5114)"
  183.         prop Visible :: 1
  184.         prop JSName :: "tcpIc1SubFrameLen"
  185.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  186.         prop NoGen :: 1
  187.         prop cGen :: 0
  188.         prop TabName :: "Programmable TCP Params"
  189.         prop Set :: (if ($1 < 98 || $1 > 5114) {self.error("Sub-Frame Length range [98-5114]")} else {self.SUBFRAMELEN_SETUP = $1, self.IC1_VALUE = self.IC1_VALUE_update(), "ok"})
  190.     }
  191.     inst LASTRELLEN_SETUP :: = 0 { 
  192.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  193.         prop Format :: "%2d"
  194.         prop Style :: 0x02
  195.         prop Label :: " Last Sub-Frame Reliability Length -1 (LASTR)"
  196.         prop Visible :: 1
  197.         prop JSName :: "tcpIc1LastReliaLen"
  198.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  199.         prop NoGen :: 1
  200.         prop cGen :: 0
  201.         prop TabName :: "Programmable TCP Params"
  202.         prop Set :: (if ($1 < 0 || $1 > 127) {self.error("Last sub-frame length from 0 to 127")} else {self.LASTRELLEN_SETUP = $1, self.IC1_VALUE = self.IC1_VALUE_update(), "ok"})
  203.     }
  204.     inst PROLSIZE_SETUP :: 0 { 
  205.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  206.         prop Format :: "%2d"
  207.         prop Style :: 0x02
  208.         prop Label :: " Prolog Size (P: 24 to 48)"
  209.         prop Visible :: 1
  210.         prop JSName :: "tcpIc2ProlSize"
  211.         prop Writable :: (CSL.TCP_SUPPORT)
  212.         prop NoGen :: 1
  213.         prop cGen :: 0
  214.         prop TabName :: "Programmable TCP Params"
  215.         prop Set :: (if ($1 < 24 || $1 > 48) {self.error("Prolog Size range [24-48]")} else {self.PROLSIZE_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  216.     }
  217.     inst NUMSUBBLK_SETUP :: 0 { 
  218.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  219.         prop Format :: "%2d"
  220.         prop Style :: 0x02
  221.         prop Label :: " Number of Sub-blocks (NSB)"
  222.         prop Visible :: 1
  223.         prop JSName :: "tcpIc2NumSubBlk"
  224.         prop Writable :: (CSL.TCP_SUPPORT)
  225.         prop NoGen :: 1
  226.         prop cGen :: 0
  227.         prop TabName :: "Programmable TCP Params"
  228.         prop Set :: (if ($1 < 0 || $1 > 16) {self.error("Number of sub-blocks range [0-16]")} else {self.NUMSUBBLK_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  229.     }
  230.     inst LASTNUMSUBBLK_SETUP :: 0 { 
  231.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  232.         prop Format :: "%2d"
  233.         prop Style :: 0x02
  234.         prop Label :: " Last Number of Sub-blocks (LASTNSB :SP mode only)"
  235.         prop Visible :: 1
  236.         prop JSName :: "tcpIc2LastNumSubBlk"
  237.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  238.         prop NoGen :: 1
  239.         prop cGen :: 0
  240.         prop TabName :: "Programmable TCP Params"
  241.         prop Set :: (if ($1 < 0 || $1 > 16) {self.error("Number of sub-blocks range [0-16]")} else {self.LASTNUMSUBBLK_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  242.     }
  243.     inst MAXIT_SETUP :: 0 { 
  244.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  245.         prop Format :: "%2d"
  246.         prop Style :: 0x02
  247.         prop Label :: " Maximum of Iterations (MAXIT - SA mode only)"
  248.         prop Visible :: 1
  249.         prop JSName :: "tcpIc2Maxit"
  250.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Standalone(SA)") {1} else {0}
  251.         prop NoGen :: 1
  252.         prop cGen :: 0
  253.         prop TabName :: "Programmable TCP Params"
  254.         prop Set :: (if ($1 < 0 || $1 > 32) {self.error("Maximum number of Iterations range [0-32]")} else {self.MAXIT_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  255.     }
  256.     inst SNR_SETUP :: 0 { 
  257.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  258.         prop Format :: "%2d"
  259.         prop Style :: 0x02
  260.         prop Label :: " SNR Threshold (SNR - SA mode only)"
  261.         prop Visible :: 1
  262.         prop JSName :: "tcpIc2SnrTh"
  263.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Standalone(SA)") {1} else {0}
  264.         prop NoGen :: 1
  265.         prop cGen :: 0
  266.         prop TabName :: "Programmable TCP Params"
  267.         prop Set :: (if ($1 < 0 || $1 > 100) {self.error("Maximum number of Iterations range [0-100]")} else {self.SNR_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  268.     }
  269.     inst NWORDINTER_SETUP :: 0 { 
  270.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  271.         prop Format :: "%2d"
  272.         prop Style :: 0x02
  273.         prop Label :: " Interleaver words/XEVT (NWORDINTER) "
  274.         prop Visible :: 1
  275.         prop JSName :: "tcpIc3NwordInter"
  276.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Standalone(SA)") {1} else {0}
  277.         prop NoGen :: 1
  278.         prop cGen :: 0
  279.         prop TabName :: "EDMA Operation"
  280.         prop Set :: (if ($1 > 65535 || $1 < 0) {self.error("Number of Interleaver Words range [0-65535]")} else {self.NWORDINTER_SETUP = $1, self.IC3_VALUE = self.IC3_VALUE_update(), "ok"})
  281.     }
  282.     inst NWORDSP_SETUP :: 0 { 
  283.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  284.         prop Format :: "%2d"
  285.         prop Style :: 0x02
  286.         prop Label :: " Systematic and Parity words/XEVT (NWORDSP)"
  287.         prop Visible :: 1
  288.         prop JSName :: "tcpIc3NwordSp"
  289.         prop Writable :: (CSL.TCP_SUPPORT)
  290.         prop NoGen :: 1
  291.         prop cGen :: 0
  292.         prop TabName :: "EDMA Operation"
  293.         prop Set :: (if ($1 > 65535 || $1 < 0) {self.error("Number of Systematic and parity Words range [0-65535]")} else {self.NWORDSP_SETUP = $1, self.IC3_VALUE = self.IC3_VALUE_update(), "ok"})
  294.     }
  295.     inst NWORDAP_SETUP :: 0 { 
  296.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  297.         prop Format :: "%2d"
  298.         prop Style :: 0x02
  299.         prop Label :: "  Apriori Write words/XEVT (NWORDAP) "
  300.         prop Visible :: 1
  301.         prop JSName :: "tcpIc4NwordAp"
  302.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  303.         prop NoGen :: 1
  304.         prop cGen :: 0
  305.         prop TabName :: "EDMA Operation"
  306.         prop Set :: (if ($1 > 65535 || $1 < 0) {self.error("Number of Apriori Words/XEVT range [0-65535]")} else {self.NWORDAP_SETUP = $1, self.IC4_VALUE = self.IC4_VALUE_update(), "ok"})
  307.     }
  308.     inst NWORDEXT_SETUP :: 0 { 
  309.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  310.         prop Format :: "%2d"
  311.         prop Style :: 0x02
  312.         prop Label :: "  Extrinsic Read words/REVT (NWORDEXT) "
  313.         prop Visible :: 1
  314.         prop JSName :: "tcpIc4NwordExt"
  315.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  316.         prop NoGen :: 1
  317.         prop cGen :: 0
  318.         prop TabName :: "EDMA Operation"
  319.         prop Set :: (if ($1 > 65535 || $1 < 0) {self.error("Number of Extrinsic Words range [0-65535]")} else {self.NWORDEXT_SETUP = $1, self.IC4_VALUE = self.IC4_VALUE_update(), "ok"})
  320.     }
  321.     inst NWORDHD_SETUP :: 0 { 
  322.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  323.         prop Format :: "%2d"
  324.         prop Style :: 0x02
  325.         prop Label :: "  Hard Decision words/REVT (NWORDHD) "
  326.         prop Visible :: 1
  327.         prop JSName :: "tcpIc5NwordHd"
  328.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Standalone(SA)") {1} else {0}
  329.         prop NoGen :: 1
  330.         prop cGen :: 0
  331.         prop TabName :: "EDMA Operation"
  332.         prop Set :: (if ($1 > 255 || $1 < 0) {self.error("Number of Hard Decision Words range [0-255]")} else {self.NWORDHD_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok"})
  333.     }
  334.     inst IC0_VALUE :: self.IC0_VALUE_update() { 
  335.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  336.         prop Label :: "Input Configuration Reg 0 (IC0)"
  337.         prop Format :: "0x%08X"
  338.         prop Style :: 0x02
  339.         prop JSName :: "tcpIc0"
  340.         prop Visible :: 1
  341.         prop Writable :: CSL.TCP_SUPPORT
  342.         prop NoGen :: 1
  343.         prop cGen :: 1
  344.         prop cType :: "Uint32"
  345.         prop TabName :: "Advanced"
  346.         prop Set :: (self.IC0_VALUE = ($1 & 0xFFFFF70E), self.IC0_SETUP_update($1), "ok")
  347.     }
  348.     inst IC1_VALUE :: self.IC1_VALUE_update() { 
  349.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  350.         prop Label :: "Input Configuration Reg 1 (IC1)"
  351.         prop Format :: "0x%08X"
  352.         prop Style :: 0x02
  353.         prop JSName :: "tcpIc1"
  354.         prop Visible :: 1
  355.         prop Writable :: CSL.TCP_SUPPORT
  356.         prop NoGen :: 1
  357.         prop cGen :: 1
  358.         prop cType :: "Uint32"
  359.         prop TabName :: "Advanced"
  360.         prop Set :: (self.IC1_VALUE = ($1 & 0x7F7FFFFF), self.IC1_SETUP_update($1), "ok")
  361.     }
  362.     inst IC2_VALUE :: self.IC2_VALUE_update() { 
  363.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  364.         prop Label :: "Input Configuration Reg 2 (IC2)"
  365.         prop Format :: "0x%08X"
  366.         prop Style :: 0x02
  367.         prop JSName :: "tcpIc2"
  368.         prop Visible :: 1
  369.         prop Writable :: CSL.TCP_SUPPORT
  370.         prop NoGen :: 1
  371.         prop cGen :: 1
  372.         prop cType :: "Uint32"
  373.         prop TabName :: "Advanced"
  374.         prop Set :: (self.IC2_VALUE = ($1 & 0xFF1FF3F), self.IC2_SETUP_update($1), "ok")
  375.     }
  376.     inst IC3_VALUE :: self.IC3_VALUE_update() { 
  377.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  378.         prop Label :: "Input Configuration Reg 3 (IC3)"
  379.         prop Format :: "0x%08X"
  380.         prop Style :: 0x02
  381.         prop JSName :: "tcpIc3"
  382.         prop Visible :: 1
  383.         prop Writable :: CSL.TCP_SUPPORT
  384.         prop NoGen :: 1
  385.         prop cGen :: 1
  386.         prop cType :: "Uint32"
  387.         prop TabName :: "Advanced"
  388.         prop Set :: (self.IC3_VALUE = $1, self.IC3_SETUP_update($1), "ok")
  389.     }
  390.     inst IC4_VALUE :: self.IC4_VALUE_update() { 
  391.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  392.         prop Label :: "Input Configuration Reg 4 (IC4)"
  393.         prop Format :: "0x%08X"
  394.         prop Style :: 0x02
  395.         prop JSName :: "tcpIc4"
  396.         prop Visible :: 1
  397.         prop Writable :: if (CSL.TCP_SUPPORT && self.MODE_SETUP == "Shared(SP)") {1} else {0}
  398.         prop NoGen :: 1
  399.         prop cGen :: 1
  400.         prop cType :: "Uint32"
  401.         prop TabName :: "Advanced"
  402.         prop Set :: (self.IC4_VALUE = $1, self.IC4_SETUP_update($1), "ok")
  403.     }
  404.     inst IC5_VALUE :: self.IC5_VALUE_update() { 
  405.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  406.         prop Label :: "Input Configuration Reg 5 (IC5)"
  407.         prop Format :: "0x%08X"
  408.         prop Style :: 0x02
  409.         prop JSName :: "tcpIc5"
  410.         prop Visible :: 1
  411.         prop Writable :: CSL.TCP_SUPPORT
  412.         prop NoGen :: 1
  413.         prop cGen :: 1
  414.         prop cType :: "Uint32"
  415.         prop TabName :: "Advanced"
  416.         prop Set :: (self.IC5_VALUE = $1, self.IC5_SETUP_update($1), "ok")
  417.     }
  418.     inst IC6_VALUE :: 0x00000000 { 
  419.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  420.         prop Label :: "Input Configuration Reg 6 (IC6)"
  421.         prop Format :: "0x%08X"
  422.         prop Style :: 0x02
  423.         prop Writable :: CSL.TCP_SUPPORT
  424.         prop NoGen :: 1
  425.         prop cGen :: 1
  426.         prop cType :: "Uint32"
  427.         prop TabName :: "Advanced"
  428.     }
  429.     inst IC7_VALUE :: 0x00000000 { 
  430.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  431.         prop Label :: "Input Configuration Reg 7 (IC7)"
  432.         prop Format :: "0x%08X"
  433.         prop Style :: 0x02
  434.         prop Writable :: CSL.TCP_SUPPORT
  435.         prop NoGen :: 1
  436.         prop cGen :: 1
  437.         prop cType :: "Uint32"
  438.         prop TabName :: "Advanced"
  439.     }
  440.     inst IC8_VALUE :: 0x00000000 { 
  441.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  442.         prop Label :: "Input Configuration Reg 8 (IC8)"
  443.         prop Format :: "0x%08X"
  444.         prop Style :: 0x02
  445.         prop Writable :: CSL.TCP_SUPPORT
  446.         prop NoGen :: 1
  447.         prop cGen :: 1
  448.         prop cType :: "Uint32"
  449.         prop TabName :: "Advanced"
  450.     }
  451.     inst IC9_VALUE :: 0x00000000 { 
  452.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  453.         prop Label :: "Input Configuration Reg 9 (IC9)"
  454.         prop Format :: "0x%08X"
  455.         prop Style :: 0x02
  456.         prop Writable :: CSL.TCP_SUPPORT
  457.         prop NoGen :: 1
  458.         prop cGen :: 1
  459.         prop cType :: "Uint32"
  460.         prop TabName :: "Advanced"
  461.     }
  462.     inst IC10_VALUE :: 0x00000000 { 
  463.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  464.         prop Label :: "Input Configuration Reg 10 (IC10)"
  465.         prop Format :: "0x%08X"
  466.         prop Style :: 0x02
  467.         prop Writable :: CSL.TCP_SUPPORT
  468.         prop NoGen :: 1
  469.         prop cGen :: 1
  470.         prop cType :: "Uint32"
  471.         prop TabName :: "Advanced"
  472.     }
  473.     inst IC11_VALUE :: 0x00000000 { 
  474.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  475.         prop Label :: "Input Configuration Reg 11 (IC11)"
  476.         prop Format :: "0x%08X"
  477.         prop Style :: 0x02
  478.         prop Writable :: CSL.TCP_SUPPORT
  479.         prop NoGen :: 1
  480.         prop cGen :: 1
  481.         prop cType :: "Uint32"
  482.         prop TabName :: "Advanced"
  483.     }
  484. }
  485. type hTcp {
  486.     prop IsContainedIn :: TCPFOLDER
  487.     prop name :: "hTcp"
  488.     prop Label :: "TCP Resource Manager"
  489.     prop JSName :: "HTCP"
  490.     prop NoGen :: 1
  491.     prop GlobalPropertyPage :: "{B936FB81-49A5-11d4-967C-0050048381C6}"
  492.     prop InstancePropertyPage :: "{B936FB81-49A5-11d4-967C-0050048381C5}"
  493.     prop GlobalIcon :: 197
  494.     prop InstanceIcon :: 198
  495.     prop GlobalHelpTopic :: (1083)
  496.     prop cGen :: 1
  497.     global TCP_INITPARAM_ENABLE :: 0 { 
  498.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  499.         prop Label :: "Enable Parameters Setting"
  500.         prop JSName :: "tcpEnableParams"
  501.         prop Visible :: 1
  502.         prop Writable :: (CSL.TCP_SUPPORT)
  503.         prop NoGen :: 0
  504.         prop Set :: ($a = 0, scan ($b; tcpBaseParam) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.TCP_INITPARAM == TCP_PARAMNULL) {" You must create a new BaseParams object"} else {self.TCP_INITPARAM_ENABLE = $1, if ($1 == 0) {self.TCP_INITPARAM = TCP_PARAMNULL, self.TCP_PARAMCONFIGNAME = "NULL", self.TCP_SETPARAM_ENABLE = 0} , "ok"})
  505.     }
  506.     global TCP_INITPARAM :: TCP_PARAMNULL { 
  507.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  508.         prop MemberType :: tcpBaseParam
  509.         prop Label :: " Pre-Initialize with"
  510.         prop JSName :: "tcpBaseParamInit"
  511.         prop Visible :: 1
  512.         prop Writable :: if (CSL.TCP_SUPPORT) && (self.TCP_INITPARAM_ENABLE == 1) {1} else {0}
  513.     }
  514.     global TCP_PARAMCONFIGNAME :: "NULL" { 
  515.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  516.         prop Label :: "Output TCP Params ConfigName (ex: tcpParam) "
  517.         prop JSName :: "tcpParamConfigName"
  518.         prop Visible :: 1
  519.         prop Writable :: if (CSL.TCP_SUPPORT) && (self.TCP_INITPARAM_ENABLE == 1) {1} else {0}
  520.         prop Set :: (if ($1 == "") {self.TCP_PARAMCONFIGNAME = "NULL", "ok"} else {self.TCP_PARAMCONFIGNAME = $1, "ok"})
  521.     }
  522.     global TCP_SETPARAM_ENABLE :: 0 { 
  523.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  524.         prop Label :: "Set TCP Params Values to the IC Config. Obj"
  525.         prop JSName :: "tcpSetParamEnable"
  526.         prop Visible :: 1
  527.         prop Writable :: (CSL.TCP_SUPPORT && self.TCP_INITPARAM_ENABLE)
  528.         prop NoGen :: 0
  529.         prop Set :: ($a = 0, scan ($b; tcpCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.TCP_INIT == TCP_NOTHING) {" You must create a configuration object"} else {self.TCP_SETPARAM_ENABLE = $1, if ($1 == 0 && self.TCP_INIT_ENABLE == 0) {self.TCP_INIT = TCP_NOTHING} , "ok"})
  530.     }
  531.     global TCP_INIT_ENABLE :: 0 { 
  532.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  533.         prop Label :: "Enable TCP Pre-Initialization "
  534.         prop JSName :: "tcpEnablePreInit"
  535.         prop Visible :: 1
  536.         prop Writable :: (CSL.TCP_SUPPORT)
  537.         prop NoGen :: 0
  538.         prop Set :: ($a = 0, scan ($b; tcpCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.TCP_INIT == TCP_NOTHING) {" You must create a new configuration object"} else {self.TCP_INIT_ENABLE = $1, if ($1 == 0 && self.TCP_SETPARAM_ENABLE == 0) {self.TCP_INIT = TCP_NOTHING} , "ok"})
  539.     }
  540.     global TCP_INIT :: TCP_NOTHING { 
  541.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  542.         prop MemberType :: tcpCfg
  543.         prop Label :: " Pre-Initialize with"
  544.         prop JSName :: "tcpPreInit"
  545.         prop Visible :: 1
  546.         prop Writable :: if (CSL.TCP_SUPPORT) && ((self.TCP_INIT_ENABLE == 1) || (self.TCP_SETPARAM_ENABLE == 1)) {1} else {0}
  547.     }
  548. }
  549. object TCP_NOTHING :: tcpCfg {
  550.     param iComment :: "<add comments here>"
  551.     param iIsUsed :: 0
  552.     param iId :: 0
  553.     param iDelUser :: "USER"
  554.     param iDelMsg :: "ok"
  555.     param STANDARD_SETUP :: "3GPP"
  556.     param MODE_SETUP :: "Standalone(SA)"
  557.     param MAP_SETUP :: "MAP1(1st Iter.)"
  558.     param RATE_SETUP :: "None"
  559.     param OUTF_SETUP :: "Disable"
  560.     param INTER_SETUP :: "Disable"
  561.     param PROLSIZE_SETUP :: 0
  562.     param NUMSUBBLK_SETUP :: 0
  563.     param LASTNUMSUBBLK_SETUP :: 0
  564.     param MAXIT_SETUP :: 0
  565.     param SNR_SETUP :: 0
  566.     param NWORDINTER_SETUP :: 0
  567.     param NWORDSP_SETUP :: 0
  568.     param NWORDAP_SETUP :: 0
  569.     param NWORDEXT_SETUP :: 0
  570.     param NWORDHD_SETUP :: 0
  571.     param IC0_VALUE :: 0
  572.     param IC1_VALUE :: 0
  573.     param IC2_VALUE :: 0
  574.     param IC3_VALUE :: 0
  575.     param IC4_VALUE :: 0
  576.     param IC5_VALUE :: 0
  577.     param IC6_VALUE :: 0
  578.     param IC7_VALUE :: 0
  579.     param IC8_VALUE :: 0
  580.     param IC9_VALUE :: 0
  581.     param IC10_VALUE :: 0
  582.     param IC11_VALUE :: 0
  583. }
  584. object TCP_PARAMNULL :: tcpBaseParam {
  585.     param iComment :: "<add comments here>"
  586.     param iIsUsed :: 0
  587.     param iId :: 0
  588.     param iDelUser :: "USER"
  589.     param iDelMsg :: "ok"
  590.     param STANDARD_SETUP :: "3GPP"
  591.     param RATE_SETUP :: "None"
  592.     param PROLSIZE_SETUP :: 0
  593.     param MAXIT_SETUP :: 0
  594.     param SNR_SETUP :: 0
  595.     param INTER_SETUP :: "Disable"
  596.     param OUTF_SETUP :: "Disable"
  597. }
  598. type TIMERFOLDER {
  599.     isa ModuleFolder
  600.     prop IsContainedIn :: CSL
  601.     prop name :: "TIMER"
  602.     prop Label :: "TIMER - Timer Device"
  603.     prop NoGen :: 1
  604.     prop GlobalHelpTopic :: (1060)
  605.     prop GlobalPropertyPage :: "{33A68984-598D-11d4-B5CC-0050DA2E2CC0}"
  606.     prop InstancePropertyPage :: "{33A68985-598D-11d4-B5CC-0050DA2E2CC0}"
  607.     prop GlobalIcon :: 161
  608.     prop InstanceIcon :: 162
  609.     global gUser :: "USER" { 
  610.         prop Visible :: 0
  611.         prop Writable :: 0
  612.         prop NoGen :: 1
  613.     }
  614.     global gSetOf :: 0 { 
  615.         prop Visible :: 0
  616.         prop Writable :: 0
  617.         prop NoGen :: 1
  618.     }
  619.     global gNumOf :: 0 { 
  620.         prop Visible :: 0
  621.         prop Writable :: 0
  622.         prop NoGen :: 1
  623.     }
  624.     global gDirty :: 0 { 
  625.         prop Visible :: 0
  626.         prop Writable :: 0
  627.         prop NoGen :: 1
  628.     }
  629.     global gInitFlag :: 1 { 
  630.         prop Visible :: 0
  631.         prop Writable :: 0
  632.         prop NoGen :: 1
  633.     }
  634.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  635.         prop Visible :: 0
  636.         prop Writable :: 0
  637.         prop NoGen :: 1
  638.     }
  639. }
  640. type timerCfg {
  641.     isa ObjectMgr
  642.     prop Name :: "timerCfg"
  643.     prop Label :: "TIMER Configuration Manager"
  644.     prop JSName :: "TIMER"
  645.     prop IsContainedIn :: TIMERFOLDER
  646.     prop NoGen :: 1
  647.     prop GlobalHelpTopic :: (1061)
  648.     prop InstanceHelpTopic :: (1061)
  649.     prop GlobalPropertyPage :: "{33A68982-598D-11d4-B5CC-0050DA2E2CC0}"
  650.     prop InstancePropertyPage :: "{33A68983-598D-11d4-B5CC-0050DA2E2CC0}"
  651.     prop GlobalIcon :: 161
  652.     prop InstanceIcon :: 162
  653.     prop cGen :: 1
  654.     prop cStruct :: 1
  655.     prop cStructType :: "TIMER_Config"
  656.     prop cHeaderName :: if self.gNumOf > 0 {"csl_timer.h"} else {""}
  657.     prop cStructQual :: "far"
  658.     prop localDelete :: (self.myDelete)
  659.     prop myDelete :: ($a = 0, scan ($b; timerCfg) {$a = $a + 1}, if ($a == 2) {scan ($c; hTimer) {$c.TIMER_INIT_ENABLE = 0}} , "ok")
  660.     prop CLKSRC_CTL :: (if (self.CLKSRC_SETUP == "(CPU clock)/4") {0x00000200} else {if (self.CLKSRC_SETUP == "(CPU clock)/8") {0x00000200} else {0x00000000}})
  661.     prop CP_CTL :: (if (self.CP_SETUP == "Clock mode") {0x00000100} else {0x00000000})
  662.     prop PWID_CTL :: (if (self.PWID_SETUP == "Two Clock cycles") {0x00000010} else {0x00000000})
  663.     prop FUNC_CTL :: (if (self.FUNC_SETUP == "Timer Output") {0x00000001} else {0x00000000})
  664.     prop DATOUT_CTL :: ((self.DATOUT_SETUP << 2))
  665.     prop INVOUT_CTL :: (if (self.INVOUT_SETUP == "Inverted") {0x00000002} else {0x00000000})
  666.     prop INVINP_CTL :: (if (self.INVINP_SETUP == "Inverted") {0x00000400} else {0x00000000})
  667.     prop GO_HLD_CTL :: (if (self.GO_HLD_SETUP == "Hold") {0x00000000} else {if (self.GO_HLD_SETUP == "Restart (no-reset)") {0x00000080} else {0x000000c0}})
  668.     prop PERIOD_PRD :: ((self.PERIOD_SETUP))
  669.     prop COUNTER_CNT :: ((self.COUNTER_SETUP))
  670.     prop CTL_VALUE_update :: (self.INVINP_CTL() | self.CLKSRC_CTL() | self.CP_CTL() | self.GO_HLD_CTL() | self.PWID_CTL() | self.DATOUT_CTL() | self.INVOUT_CTL() | self.FUNC_CTL())
  671.     prop CTL_SETUP_update :: (self.INVINP_SETUP = if ($1 & 0x00000400) {"Inverted"} else {"Uninverted"}, if (CSL.C64_SUPPORT) {self.CLKSRC_SETUP = if ($1 & 0x00000200) {"(CPU clock)/8"} else {"External Source"}} else {self.CLKSRC_SETUP = if ($1 & 0x00000200) {"(CPU clock)/4"} else {"External Source"}}, self.CP_SETUP = if ($1 & 0x00000100) {"Clock mode"} else {"Pulse mode"}, self.GO_HLD_SETUP = ($a = ($1 & 0x000000c0), if ($a == 0x000000c0) {"Start with reset"} else {if ($a == 0x00000080) {"Restart (no-reset)"} else {"Hold"}}), self.PWID_SETUP = if ($1 & 0x00000010) {"Two clock cycles"} else {"One clock cycle"}, self.DATOUT_SETUP = (($1 & 0x00000004) >> 2), self.INVOUT_SETUP = if ($1 & 0x00000002) {"Inverted"} else {"Uninverted"}, self.FUNC_SETUP = if ($1 & 0x00000001) {"Timer Output"} else {"General-Purpose Output"})
  672.     prop PRD_VALUE_update :: (self.PERIOD_PRD())
  673.     prop PRD_SETUP_update :: (self.PERIOD_SETUP = $1)
  674.     prop CNT_VALUE_update :: (self.COUNTER_CNT())
  675.     prop CNT_SETUP_update :: (self.COUNTER_SETUP = $1)
  676.     global gUser :: "USER" { 
  677.         prop Visible :: 0
  678.         prop Writable :: 0
  679.         prop NoGen :: 1
  680.     }
  681.     global gSetOf :: 0 { 
  682.         prop Visible :: 0
  683.         prop Writable :: 0
  684.         prop NoGen :: 1
  685.     }
  686.     global gNumOf :: 0 { 
  687.         prop Visible :: 0
  688.         prop Writable :: 0
  689.         prop NoGen :: 1
  690.     }
  691.     global gDirty :: 0 { 
  692.         prop Visible :: 0
  693.         prop Writable :: 0
  694.         prop NoGen :: 1
  695.     }
  696.     global gInitFlag :: 1 { 
  697.         prop Visible :: 0
  698.         prop Writable :: 0
  699.         prop NoGen :: 1
  700.     }
  701.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  702.         prop Visible :: 0
  703.         prop Writable :: 0
  704.         prop NoGen :: 1
  705.     }
  706.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  707.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  708.         prop Label :: "comment"
  709.         prop JSName :: "comment"
  710.         prop Visible :: 1
  711.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  712.         prop NoGen :: 1
  713.     }
  714.     inst iIsUsed :: 0 { 
  715.         prop Visible :: 0
  716.         prop Writable :: 0
  717.         prop NoGen :: 1
  718.     }
  719.     inst iId :: 0 { 
  720.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  721.         prop Style :: 0x01
  722.         prop Visible :: 0
  723.         prop Writable :: 1
  724.         prop NoGen :: 1
  725.     }
  726.     inst iDelUser :: "USER" { 
  727.         prop Visible :: 0
  728.         prop Writable :: 0
  729.         prop NoGen :: 1
  730.     }
  731.     inst iDelMsg :: "ok" { 
  732.         prop Visible :: 0
  733.         prop Writable :: 0
  734.         prop NoGen :: 1
  735.     }
  736.     inst CLKSRC_SETUP :: "External Source" { 
  737.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  738.         prop Enum :: "External Source,(CPU clock)/4,(CPU clock)/8"
  739.         prop Label :: "Input Clock Source (CLKSRC) "
  740.         prop JSName :: "timerCtlClksrc"
  741.         prop Visible :: 1
  742.         prop Writable :: CSL.TIMER_SUPPORT
  743.         prop NoGen :: 1
  744.         prop TabName :: "Clock Control "
  745.         prop Set :: (if (CSL.C64_SUPPORT) {if ($1 == "(CPU clock)/4") {self.error("Invalid Selection for C64x")} else {self.CLKSRC_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok"}} else {if ($1 == "(CPU clock)/8") {self.error("Invalid Selection, For C64x Only")} else {self.CLKSRC_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok"}})
  746.     }
  747.     inst CP_SETUP :: "Pulse mode" { 
  748.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  749.         prop Enum :: "Pulse mode,Clock mode"
  750.         prop Label :: "Clock/Pulse Mode (CP) "
  751.         prop JSName :: "timerCtlCp"
  752.         prop Visible :: 1
  753.         prop Writable :: CSL.TIMER_SUPPORT
  754.         prop NoGen :: 1
  755.         prop TabName :: "Clock Control "
  756.         prop Set :: (self.CP_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  757.     }
  758.     inst PWID_SETUP :: "One clock cycle" { 
  759.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  760.         prop Enum :: "One Clock cycle,Two Clock cycles"
  761.         prop Label :: "Pulse Width (PWID)"
  762.         prop JSName :: "timerCtlPwid"
  763.         prop Visible :: 1
  764.         prop Writable :: CSL.TIMER_SUPPORT && (if (self.CP_SETUP == "Pulse mode") {1} else {0})
  765.         prop NoGen :: 1
  766.         prop TabName :: "Clock Control "
  767.         prop Set :: (self.PWID_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  768.     }
  769.     inst FUNC_SETUP :: "General-Purpose Output" { 
  770.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  771.         prop Enum :: "General-Purpose Output,Timer Output"
  772.         prop Label :: "Function of TOUT (FUNC)"
  773.         prop JSName :: "timerCtlFunc"
  774.         prop Visible :: 1
  775.         prop Writable :: CSL.TIMER_SUPPORT
  776.         prop NoGen :: 1
  777.         prop TabName :: "Pin Control "
  778.         prop Set :: (self.FUNC_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  779.     }
  780.     inst DATOUT_SETUP :: 0 { 
  781.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  782.         prop Label :: "    DATA output (TOUT pin)"
  783.         prop Visible :: 1
  784.         prop JSName :: "timerCtlDatout"
  785.         prop Writable :: CSL.TIMER_SUPPORT && (if (self.FUNC_SETUP == "General-Purpose Output") {1} else {0})
  786.         prop NoGen :: 1
  787.         prop TabName :: "Pin Control "
  788.         prop Set :: (if ($1 < 0 || $1 > 1) {self.error("Binary value required : 0 or 1")} else {self.DATOUT_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok"})
  789.     }
  790.     inst INVOUT_SETUP :: "Uninverted" { 
  791.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  792.         prop Enum :: "Uninverted,Inverted"
  793.         prop Label :: "    TOUT Inverter Control (INVOUT)"
  794.         prop JSName :: "timerCtlInvout"
  795.         prop Visible :: 1
  796.         prop Writable :: (if (self.FUNC_SETUP == "Timer Output") {1} else {0})
  797.         prop NoGen :: 1
  798.         prop TabName :: "Pin Control "
  799.         prop Set :: (self.INVOUT_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  800.     }
  801.     inst INVINP_SETUP :: "Uninverted" { 
  802.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  803.         prop Enum :: "Uninverted,Inverted"
  804.         prop Label :: "    TINP Inverter Control (INVINP)"
  805.         prop JSName :: "timerCtlInvinp"
  806.         prop Visible :: 1
  807.         prop Writable :: CSL.TIMER_SUPPORT && (if (self.CLKSRC_SETUP == "External Source") {1} else {0})
  808.         prop NoGen :: 1
  809.         prop TabName :: "Pin Control "
  810.         prop Set :: (self.INVINP_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  811.     }
  812.     inst GO_HLD_SETUP :: "Hold" { 
  813.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  814.         prop Enum :: "Hold,Restart (no-reset),Start with reset"
  815.         prop Label :: "Timer Operation"
  816.         prop JSName :: "timerCtlGoHold"
  817.         prop Visible :: 1
  818.         prop Writable :: CSL.TIMER_SUPPORT
  819.         prop NoGen :: 1
  820.         prop TabName :: "Counter Control "
  821.         prop Set :: (self.GO_HLD_SETUP = $1, self.CTL_VALUE = self.CTL_VALUE_update(), "ok")
  822.     }
  823.     inst PERIOD_SETUP :: 0 { 
  824.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  825.         prop Format :: "0x%08X"
  826.         prop Label :: "Period Value "
  827.         prop JSName :: "timerPrd"
  828.         prop Visible :: 1
  829.         prop Writable :: CSL.TIMER_SUPPORT
  830.         prop NoGen :: 1
  831.         prop TabName :: "Counter Control "
  832.         prop Set :: (self.PERIOD_SETUP = $1, self.PRD_VALUE = self.PRD_VALUE_update(), "ok")
  833.     }
  834.     inst COUNTER_SETUP :: 0 { 
  835.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  836.         prop Format :: "0x%08X"
  837.         prop Label :: "Counter value (optional)"
  838.         prop JSName :: "timerCnt"
  839.         prop Visible :: 1
  840.         prop Writable :: CSL.TIMER_SUPPORT
  841.         prop NoGen :: 1
  842.         prop TabName :: "Counter Control "
  843.         prop Set :: (self.COUNTER_SETUP = $1, self.CNT_VALUE = self.CNT_VALUE_update(), "ok")
  844.     }
  845.     inst CTL_VALUE :: self.CTL_VALUE_update() { 
  846.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  847.         prop Label :: "Control Register (CTL) "
  848.         prop Format :: "0x%08X"
  849.         prop JSName :: "timerCtlAdv"
  850.         prop Visible :: 1
  851.         prop Writable :: CSL.TIMER_SUPPORT
  852.         prop NoGen :: 0
  853.         prop cGen :: 1
  854.         prop cType :: "Uint32"
  855.         prop TabName :: "Advanced"
  856.         prop Set :: ($a = $1 & 0x000000c0, if ($a == 0x00000040) {self.error("Fields GO='1'& HOLD='0' : Undefined Timer Operation - See Counter Control Page")} else {$b = $1 & 0xFFFFF000, if ($b != 0) {self.error("Bit field (bit[12..31]) is reserved")} else {$c = $1 & 0x00000020, if ($c != 0) {self.error("Bit field 5 is reserved")} else {self.CTL_VALUE = $1, self.CTL_SETUP_update($1), "ok"}}})
  857.     }
  858.     inst PRD_VALUE :: self.PRD_VALUE_update() { 
  859.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  860.         prop Label :: "Period Register (PRD) "
  861.         prop Format :: "0x%08X"
  862.         prop JSName :: "timerPrdAdv"
  863.         prop Visible :: 1
  864.         prop Writable :: CSL.TIMER_SUPPORT
  865.         prop NoGen :: 0
  866.         prop cGen :: 1
  867.         prop cType :: "Uint32"
  868.         prop TabName :: "Advanced"
  869.         prop Set :: (self.PRD_VALUE = $1, self.PRD_SETUP_update($1), "ok")
  870.     }
  871.     inst CNT_VALUE :: self.CNT_VALUE_update() { 
  872.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  873.         prop Label :: "Counter Register (CNT) "
  874.         prop Format :: "0x%08X"
  875.         prop JSName :: "timerCntAdv"
  876.         prop Visible :: 1
  877.         prop Writable :: CSL.TIMER_SUPPORT
  878.         prop NoGen :: 0
  879.         prop cGen :: 1
  880.         prop cType :: "Uint32"
  881.         prop TabName :: "Advanced"
  882.         prop Set :: (self.CNT_VALUE = $1, self.CNT_SETUP_update($1), "ok")
  883.     }
  884. }
  885. type hTimer {
  886.     isa ObjectMgr
  887.     prop name :: "hTimer"
  888.     prop Label :: "TIMER Resource Manager"
  889.     prop JSName :: "HTIMER"
  890.     prop IsContainedIn :: TIMERFOLDER
  891.     prop NoGen :: 1
  892.     prop GlobalPropertyPage :: "{33A68980-598D-11d4-B5CC-0050DA2E2CC0}"
  893.     prop InstancePropertyPage :: "{33A68981-598D-11d4-B5CC-0050DA2E2CC0}"
  894.     prop GlobalIcon :: 161
  895.     prop InstanceIcon :: 162
  896.     prop GlobalHelpTopic :: (1062)
  897.     prop InstanceHelpTopic :: (1063)
  898.     prop maxObjs :: 3
  899.     prop localCanCreate :: (self.error("New Timer handle objects cannot be created"))
  900.     prop localCanDelete :: (self.error("Timer handle objects cannot be deleted"))
  901.     prop chipcall :: (scan ($i; hTimer) {if (CSL.CHIP_6400 && $i.DEVICE == "TIMER2") {$i.TIMER_HANDLE_ENABLE = 0, $i.TIMER_INIT_ENABLE = 0, $i.cOpenArg0 = "TIMER_None"} }, if (self.CHIPCHAIN != nil) {$e = self.CHIPCHAIN.chipcall()} , "ok")
  902.     prop localInit :: (self.CHIPCHAIN = GBL.CHIPCHAIN, GBL.CHIPCHAIN = hTimer)
  903.     prop cGen :: 1
  904.     prop cHeaderName :: ($a = "", scan ($b; hTimer) {if ($b.TIMER_HANDLE_ENABLE == 1) {$a = "csl_timer.h"} }, $a)
  905.     prop cStructQual :: "far"
  906.     prop cOpenName :: "TIMER_open"
  907.     prop cConfigName :: "TIMER_config"
  908.     prop cHandle :: (self.cOpenGen)
  909.     prop cHandleType :: "TIMER_Handle"
  910.     prop cHandleName :: self.HandleName
  911.     global gUser :: "USER" { 
  912.         prop Visible :: 0
  913.         prop Writable :: 0
  914.         prop NoGen :: 1
  915.     }
  916.     global gSetOf :: 1 { 
  917.         prop Visible :: 0
  918.         prop Writable :: 0
  919.         prop NoGen :: 1
  920.     }
  921.     global gNumOf :: 3 { 
  922.         prop Visible :: 0
  923.         prop Writable :: 0
  924.         prop NoGen :: 1
  925.     }
  926.     global gDirty :: 0 { 
  927.         prop Visible :: 0
  928.         prop Writable :: 0
  929.         prop NoGen :: 1
  930.     }
  931.     global gInitFlag :: 1 { 
  932.         prop Visible :: 0
  933.         prop Writable :: 0
  934.         prop NoGen :: 1
  935.     }
  936.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  937.         prop Visible :: 0
  938.         prop Writable :: 0
  939.         prop NoGen :: 1
  940.     }
  941.     global CHIPCHAIN :: hMcbsp { 
  942.         prop Visible :: 0
  943.         prop Writable :: 0
  944.         prop NoGen :: 1
  945.     }
  946.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  947.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  948.         prop Label :: "comment"
  949.         prop JSName :: "comment"
  950.         prop Visible :: 1
  951.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  952.         prop NoGen :: 1
  953.     }
  954.     inst iIsUsed :: 0 { 
  955.         prop Visible :: 0
  956.         prop Writable :: 0
  957.         prop NoGen :: 1
  958.     }
  959.     inst iId :: 0 { 
  960.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  961.         prop Style :: 0x01
  962.         prop Visible :: 0
  963.         prop Writable :: 1
  964.         prop NoGen :: 1
  965.     }
  966.     inst iDelUser :: "USER" { 
  967.         prop Visible :: 0
  968.         prop Writable :: 0
  969.         prop NoGen :: 1
  970.     }
  971.     inst iDelMsg :: "ok" { 
  972.         prop Visible :: 0
  973.         prop Writable :: 0
  974.         prop NoGen :: 1
  975.     }
  976.     inst TIMER_HANDLE_ENABLE :: 0 { 
  977.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  978.         prop Label :: "Open Timer Device"
  979.         prop JSName :: "timerHandleEnable"
  980.         prop Visible :: 1
  981.         prop Writable :: if (CSL.TIMER_SUPPORT && ((self.DEVICE == "TIMER0" || self.DEVICE == "TIMER1"))) || (CSL.TIMER2_SUPPORT) {1} else {0}
  982.         prop NoGen :: 1
  983.         prop Set :: ($a = 0, if ($1 == 0) {self.TIMER_HANDLE_ENABLE = $1, self.TIMER_INIT_ENABLE = $1, self.TIMER_INIT = TIMER_NOTHING, if (self.DEVICE == "TIMER0") {HWI_INT14.client = "USER"} else {if (self.DEVICE == "TIMER1") {HWI_INT15.client = "USER"} }, self.cOpenArg0 = "TIMER_None", "ok"} else {if (self.DEVICE == "TIMER0" && (CLK.WHICHTIMER == "Timer 0" && CLK.USETIMER == 1)) {self.TIMER_HANDLE_ENABLE = 0, self.error("TIMER0 already used by the CLK module")} else {if (self.DEVICE == "TIMER1" && (CLK.WHICHTIMER == "Timer 1" && CLK.USETIMER == 1)) {self.TIMER_HANDLE_ENABLE = 0, self.error("TIMER1 already used by the CLK module")} else {if (self.DEVICE == "TIMER2" && (CLK.WHICHTIMER == "Timer 2" && CLK.USETIMER == 1)) {self.TIMER_HANDLE_ENABLE = 0, self.error("TIMER2 already used by the CLK module")} else {self.TIMER_HANDLE_ENABLE = $1, if (self.DEVICE == "TIMER0") {self.cOpenArg0 = "TIMER_DEV0", HWI_INT14.client = "CSL", "ok"} else {if (self.DEVICE == "TIMER1") {self.cOpenArg0 = "TIMER_DEV1", HWI_INT15.client = "CSL", "ok"} else {self.cOpenArg0 = "TIMER_DEV2", "ok"}}}}}})
  984.     }
  985.     inst HandleName :: self { 
  986.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  987.         prop Label :: " Handle  "
  988.         prop JSName :: "timerHandleName"
  989.         prop Visible :: 1
  990.         prop Writable :: if (self.TIMER_HANDLE_ENABLE == 1) {1} else {0}
  991.     }
  992.     inst DEVICE :: "TIMER0" { 
  993.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  994.         prop Enum :: "TIMER0,TIMER1,TIMER2"
  995.         prop Label :: "         Device"
  996.         prop Visible :: 0
  997.         prop Writable :: 0
  998.         prop NoGen :: 1
  999.     }
  1000.     inst cOpenGen :: = (CSL.TIMER_SUPPORT && self.TIMER_HANDLE_ENABLE == 1 && self.HandleName != "") { 
  1001.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1002.         prop Visible :: 0
  1003.         prop NoGen :: 1
  1004.     }
  1005.     inst cOpenArg0 :: (if (self.TIMER_HANDLE_ENABLE == 0) {"TIMER_None"} ) { 
  1006.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1007.         prop Label :: "    Arg0  "
  1008.         prop Visible :: 0
  1009.         prop Writable :: 0
  1010.         prop NoGen :: 1
  1011.     }
  1012.     inst cOpenArg1 :: "TIMER_OPEN_RESET" { 
  1013.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1014.         prop Label :: "Pre-initialize (Default) "
  1015.         prop Visible :: 0
  1016.         prop Writable :: 0
  1017.         prop NoGen :: 1
  1018.     }
  1019.     inst TIMER_INIT_ENABLE :: 0 { 
  1020.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1021.         prop Label :: "Enable Pre-Initialization"
  1022.         prop JSName :: "timerEnablePreInit"
  1023.         prop Visible :: 1
  1024.         prop Writable :: if CSL.TIMER_SUPPORT && (self.TIMER_HANDLE_ENABLE == 1) {1} else {0}
  1025.         prop NoGen :: 1
  1026.         prop Set :: ($a = 0, scan ($b; timerCfg) {$a = $a + 1}, if ($a == 1) {self.TIMER_INIT_ENABLE = 0, self.error("You must create a new configuration object")} else {self.TIMER_INIT_ENABLE = $1, if ($1 == 0) {self.TIMER_INIT = TIMER_NOTHING} , "ok"})
  1027.     }
  1028.     inst TIMER_INIT :: TIMER_NOTHING { 
  1029.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1030.         prop MemberType :: timerCfg
  1031.         prop Label :: " Pre-Initialize with"
  1032.         prop JSName :: "timerPreInit"
  1033.         prop Visible :: 1
  1034.         prop Writable :: if (self.TIMER_INIT_ENABLE == 1 && self.TIMER_HANDLE_ENABLE == 1) {1} else {0}
  1035.         prop NoGen :: 0
  1036.     }
  1037.     inst cConfigGen :: = ((self.TIMER_INIT_ENABLE == 1) && (self.TIMER_INIT != TIMER_NOTHING) && (self.TIMER_HANDLE_ENABLE == 1) && (self.HandleName != "")) { 
  1038.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1039.         prop NoGen :: 1
  1040.         prop Visible :: 0
  1041.     }
  1042.     inst cConfigArg0 :: = self.cHandleName { 
  1043.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1044.         prop Label :: "Config argument 0"
  1045.         prop Visible :: 0
  1046.     }
  1047.     inst cConfigArg1 :: = self.TIMER_INIT { 
  1048.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1049.         prop MemberType :: timerCfg
  1050.         prop Label :: "Pre-initialize Config"
  1051.         prop Visible :: 0
  1052.         prop Writable :: 0
  1053.         prop NoGen :: 0
  1054.         prop cPreVal :: "&"
  1055.     }
  1056. }
  1057. object Timer_Device0 :: hTimer {
  1058.     param iComment :: "Timer 0"
  1059.     param iIsUsed :: 1
  1060.     param iId :: 0
  1061.     param iDelUser :: "hTimer"
  1062.     param iDelMsg :: "This TIMER Handle object cannot be deleted"
  1063.     param TIMER_HANDLE_ENABLE :: 0
  1064.     param HandleName :: "hTimer0"
  1065.     param DEVICE :: "TIMER0"
  1066.     param cOpenArg0 :: "TIMER_None"
  1067.     param cOpenArg1 :: "TIMER_OPEN_RESET"
  1068.     param TIMER_INIT_ENABLE :: 0
  1069.     param TIMER_INIT :: TIMER_NOTHING
  1070. }
  1071. object Timer_Device1 :: hTimer {
  1072.     param iComment :: "Timer 1"
  1073.     param iIsUsed :: 1
  1074.     param iId :: 0
  1075.     param iDelUser :: "hTimer"
  1076.     param iDelMsg :: "This TIMER Handle object cannot be deleted"
  1077.     param TIMER_HANDLE_ENABLE :: 0
  1078.     param HandleName :: "hTimer1"
  1079.     param DEVICE :: "TIMER1"
  1080.     param cOpenArg0 :: "TIMER_None"
  1081.     param cOpenArg1 :: "TIMER_OPEN_RESET"
  1082.     param TIMER_INIT_ENABLE :: 0
  1083.     param TIMER_INIT :: TIMER_NOTHING
  1084. }
  1085. object Timer_Device2 :: hTimer {
  1086.     param iComment :: "Timer 2"
  1087.     param iIsUsed :: 1
  1088.     param iId :: 0
  1089.     param iDelUser :: "hTimer"
  1090.     param iDelMsg :: "This TIMER Handle object cannot be deleted"
  1091.     param TIMER_HANDLE_ENABLE :: 0
  1092.     param HandleName :: "hTimer2"
  1093.     param DEVICE :: "TIMER2"
  1094.     param cOpenArg0 :: "TIMER_None"
  1095.     param cOpenArg1 :: "TIMER_OPEN_RESET"
  1096.     param TIMER_INIT_ENABLE :: 0
  1097.     param TIMER_INIT :: TIMER_NOTHING
  1098. }
  1099. object TIMER_NOTHING :: timerCfg {
  1100.     param iComment :: "<add comments here>"
  1101.     param iIsUsed :: 0
  1102.     param iId :: 0
  1103.     param iDelUser :: "USER"
  1104.     param iDelMsg :: "ok"
  1105.     param CLKSRC_SETUP :: "External Source"
  1106.     param CP_SETUP :: "Pulse mode"
  1107.     param PWID_SETUP :: "One clock cycle"
  1108.     param FUNC_SETUP :: "General-Purpose Output"
  1109.     param DATOUT_SETUP :: 0
  1110.     param INVOUT_SETUP :: "Uninverted"
  1111.     param INVINP_SETUP :: "Uninverted"
  1112.     param GO_HLD_SETUP :: "Hold"
  1113.     param PERIOD_SETUP :: 0
  1114.     param COUNTER_SETUP :: 0
  1115.     param CTL_VALUE :: 0
  1116.     param PRD_VALUE :: 0
  1117.     param CNT_VALUE :: 0
  1118. }
  1119. type VCPFOLDER {
  1120.     prop Label :: "Viterbi Decoder Coprocessor - VCP "
  1121.     prop GlobalIcon :: 195
  1122.     prop InstanceIcon :: 196
  1123.     prop GlobalHelpTopic :: 1090
  1124.     prop GlobalPropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C7}"
  1125.     prop IsContainedIn :: CSL
  1126.     prop NoGen :: 1
  1127. }
  1128. type vcpBaseParam {
  1129.     isa ObjectMgr
  1130.     prop name :: "vcpBaseParam"
  1131.     prop Label :: "VCP Parameters Manager"
  1132.     prop JSName :: "VCPBP"
  1133.     prop IsContainedIn :: VCPFOLDER
  1134.     prop GlobalIcon :: 195
  1135.     prop InstanceIcon :: 196
  1136.     prop GlobalHelpTopic :: 1091
  1137.     prop InstanceHelpTopic :: 1091
  1138.     prop GlobalPropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C8}"
  1139.     prop InstancePropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C9}"
  1140.     prop Vendor :: "vendor1"
  1141.     prop Version :: "1.00.00"
  1142.     prop NoGen :: 1
  1143.     prop cGen :: CSL.VCP_SUPPORT
  1144.     prop cStruct :: CSL.VCP_SUPPORT
  1145.     prop cStructType :: "VCP_BaseParams"
  1146.     prop cHeaderName :: if self.gNumOf > 0 {"csl_vcp.h"} else {""}
  1147.     prop cStructQual :: "far"
  1148.     prop cStructName :: self
  1149.     prop cConfigName :: "VCP_BaseParams"
  1150.     prop localDelete :: (self.myDelete)
  1151.     prop myDelete :: ($a = 0, scan ($b; vcpBaseParam) {$a += 1}, if ($a == 2) {hVcp.VCP_INITPARAM_ENABLE = 0} , "ok")
  1152.     prop ParamConfigType :: if (hVcp.VCP_INITPARAM_ENABLE == 1 && hVcp.VCP_PARAMCONFIGNAME != "NULL") {"VCP_Params "} else {""}
  1153.     prop ParamConfigName :: if (hVcp.VCP_INITPARAM_ENABLE == 1 && hVcp.VCP_PARAMCONFIGNAME != "NULL") {hVcp.VCP_PARAMCONFIGNAME} else {""}
  1154.     prop ParamEnd :: if (hVcp.VCP_INITPARAM_ENABLE == 1 && hVcp.VCP_PARAMCONFIGNAME != "NULL") {";n"} else {""}
  1155.     prop cGenCEpilogue :: ("%1S%2S%3Sn,ParamConfigType,ParamConfigName,ParamEnd")
  1156.     prop GenParamStr :: if (hVcp.VCP_INITPARAM_ENABLE == 1) {"VCP_genParams(&%3s, &"} else {""}
  1157.     prop ParamConfigObj :: if (hVcp.VCP_INITPARAM_ENABLE == 1 && hVcp.VCP_PARAMCONFIGNAME != "NULL") {hVcp.VCP_PARAMCONFIGNAME} else {""}
  1158.     prop ConfigEnd :: if (hVcp.VCP_INITPARAM_ENABLE == 1 && hVcp.VCP_PARAMCONFIGNAME != "NULL") {");"} else {""}
  1159.     prop cGenFxnPreInst :: ("   %1S%2S%4Sn,GenParamStr,ParamConfigObj,cStructName,ConfigEnd")
  1160.     global gUser :: "USER" { 
  1161.         prop Visible :: 0
  1162.         prop Writable :: 0
  1163.         prop NoGen :: 1
  1164.     }
  1165.     global gSetOf :: 0 { 
  1166.         prop Visible :: 0
  1167.         prop Writable :: 0
  1168.         prop NoGen :: 1
  1169.     }
  1170.     global gNumOf :: 0 { 
  1171.         prop Visible :: 0
  1172.         prop Writable :: 0
  1173.         prop NoGen :: 1
  1174.     }
  1175.     global gDirty :: 0 { 
  1176.         prop Visible :: 0
  1177.         prop Writable :: 0
  1178.         prop NoGen :: 1
  1179.     }
  1180.     global gInitFlag :: 1 { 
  1181.         prop Visible :: 0
  1182.         prop Writable :: 0
  1183.         prop NoGen :: 1
  1184.     }
  1185.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1186.         prop Visible :: 0
  1187.         prop Writable :: 0
  1188.         prop NoGen :: 1
  1189.     }
  1190.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1191.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1192.         prop Label :: "comment"
  1193.         prop JSName :: "comment"
  1194.         prop Visible :: 1
  1195.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1196.         prop NoGen :: 1
  1197.     }
  1198.     inst iIsUsed :: 0 { 
  1199.         prop Visible :: 0
  1200.         prop Writable :: 0
  1201.         prop NoGen :: 1
  1202.     }
  1203.     inst iId :: 0 { 
  1204.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1205.         prop Style :: 0x01
  1206.         prop Visible :: 0
  1207.         prop Writable :: 1
  1208.         prop NoGen :: 1
  1209.     }
  1210.     inst iDelUser :: "USER" { 
  1211.         prop Visible :: 0
  1212.         prop Writable :: 0
  1213.         prop NoGen :: 1
  1214.     }
  1215.     inst iDelMsg :: "ok" { 
  1216.         prop Visible :: 0
  1217.         prop Writable :: 0
  1218.         prop NoGen :: 1
  1219.     }
  1220.     inst RATE_SETUP :: "None" { 
  1221.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1222.         prop Enum :: "None,1/2,1/3,1/4"
  1223.         prop Label :: " Code Rate "
  1224.         prop Visible :: 1
  1225.         prop JSName :: "vcpBaseParamRate"
  1226.         prop Writable :: (CSL.VCP_SUPPORT)
  1227.         prop NoGen :: 1
  1228.         prop cGen :: 0
  1229.         prop TabName :: "VCP Base Params"
  1230.         prop Set :: (if ($1 == "1/2") {self.cRateGen = "VCP_RATE_1_2"} else {if ($1 == "1/3") {self.cRateGen = "VCP_RATE_1_3"} else {if ($1 == "1/4") {self.cRateGen = "VCP_RATE_1_4"} else {self.cRateGen = " 0"}}}, self.RATE_SETUP = $1, " For Information only, Not programmable directly - calculated via POLYx")
  1231.     }
  1232.     inst cRateGen :: = " 0" { 
  1233.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1234.         prop Label :: " Rate"
  1235.         prop Visible :: 0
  1236.         prop Writable :: CSL.VCP_SUPPORT
  1237.         prop NoGen :: 1
  1238.         prop cGen :: 1
  1239.     }
  1240.     inst CONSTRLEN_SETUP :: 5 { 
  1241.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1242.         prop Format :: "%2d"
  1243.         prop Style :: 0x02
  1244.         prop Label :: " Constraint Length (K= 5,6,7,8 or 9)"
  1245.         prop Visible :: 1
  1246.         prop JSName :: "vcpBaseParamConstrLen"
  1247.         prop Writable :: (CSL.VCP_SUPPORT)
  1248.         prop NoGen :: 1
  1249.         prop cGen :: 1
  1250.         prop TabName :: "VCP Base Params"
  1251.         prop Set :: (if ($1 < 5 || $1 > 9) {self.error(" Constraint Length K=5,6,7,8 or 9")} else {self.CONSTRLEN_SETUP = $1, " For Information only, Not programmable directly - calculated via POLYx"})
  1252.     }
  1253.     inst FRAMELEN_SETUP :: = 0 { 
  1254.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1255.         prop Format :: "%2d"
  1256.         prop Style :: 0x02
  1257.         prop Label :: " Frame Length (FL) "
  1258.         prop Visible :: 1
  1259.         prop JSName :: "vcpBaseParamFrameLen"
  1260.         prop Writable :: (CSL.VCP_SUPPORT)
  1261.         prop NoGen :: 1
  1262.         prop cGen :: 1
  1263.         prop TabName :: "VCP Base Params"
  1264.         prop Set :: (if ($1 < 0 || $1 > 65535) {self.error("Frame Length range [0-65535]")} else {self.FRAMELEN_SETUP = $1, "ok"})
  1265.     }
  1266.     inst YAMTH_SETUP :: = 0 { 
  1267.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1268.         prop Format :: "%2d"
  1269.         prop Style :: 0x02
  1270.         prop Label :: " Yamamoto Threshold (YAMT)"
  1271.         prop Visible :: 1
  1272.         prop JSName :: "vcpBaseParamYamth"
  1273.         prop Writable :: (CSL.VCP_SUPPORT)
  1274.         prop NoGen :: 1
  1275.         prop cGen :: 1
  1276.         prop TabName :: "VCP Base Params"
  1277.         prop Set :: (if ($1 < 0 || $1 > 4095) {self.error("Yamamoto Threshold max value is 4095")} else {self.YAMTH_SETUP = $1, "ok"})
  1278.     }
  1279.     inst IMAXI_SETUP :: = 0 { 
  1280.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1281.         prop Format :: "%2d"
  1282.         prop Style :: 0x02
  1283.         prop Label :: " State Index set to IMAXS (IMAXI)"
  1284.         prop Visible :: 1
  1285.         prop JSName :: "vcpBaseParamIndexMaxIter"
  1286.         prop Writable :: (CSL.VCP_SUPPORT)
  1287.         prop NoGen :: 1
  1288.         prop cGen :: 1
  1289.         prop TabName :: "VCP Base Params"
  1290.         prop Set :: (if ((self.CONSTRLEN_SETUP == 5 && $1 > 15)) {self.error("For K=5 ,allowed values are 0 to 15")} else {if ((self.CONSTRLEN_SETUP == 6 && $1 > 31)) {self.error("For K=6 ,allowed values are 0 to 31")} else {if ((self.CONSTRLEN_SETUP == 7 && $1 > 63)) {self.error("For K=7 ,allowed values are 0 to 63")} else {if ((self.CONSTRLEN_SETUP == 8 && $1 > 127)) {self.error("For K=8 ,allowed values are 0 to 127")} else {if ((self.CONSTRLEN_SETUP == 9 && $1 > 255)) {self.error("For K=9 ,allowed values are 0 to 255")} else {self.IMAXI_SETUP = $1, "ok"}}}}})
  1291.     }
  1292.     inst SDHD_SETUP :: "Hard" { 
  1293.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1294.         prop Enum :: "Hard,Soft"
  1295.         prop Label :: " Ouput Hard Decision Type (SDHD) "
  1296.         prop Visible :: 1
  1297.         prop JSName :: "vcpBaseParamDecisionType"
  1298.         prop Writable :: (CSL.VCP_SUPPORT)
  1299.         prop NoGen :: 1
  1300.         prop cGen :: 0
  1301.         prop TabName :: "VCP Base Params"
  1302.         prop Set :: (if ($1 == "Soft") {self.cSdhdGen = " 1"} else {self.cSdhdGen = " 0"}, self.SDHD_SETUP = $1, "ok")
  1303.     }
  1304.     inst cSdhdGen :: = " 0" { 
  1305.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1306.         prop Label :: " Ouput Hard Decision Type "
  1307.         prop Visible :: 0
  1308.         prop Writable :: CSL.VCP_SUPPORT
  1309.         prop NoGen :: 1
  1310.         prop cGen :: 1
  1311.     }
  1312.     inst OUTF_SETUP :: "Disable" { 
  1313.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1314.         prop Enum :: "Disable,Enable"
  1315.         prop Label :: " Ouput Parameters Read Flag (OUTF)"
  1316.         prop Visible :: 1
  1317.         prop JSName :: "vcpBaseParamOutFlag"
  1318.         prop Writable :: (CSL.VCP_SUPPORT)
  1319.         prop NoGen :: 1
  1320.         prop cGen :: 0
  1321.         prop TabName :: "VCP Base Params"
  1322.         prop Set :: (if ($1 == "Enable") {self.cOutfGen = " 1"} else {self.cOutfGen = " 0"}, self.OUTF_SETUP = $1, "ok")
  1323.     }
  1324.     inst cOutfGen :: = " 0" { 
  1325.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1326.         prop Label :: " Ouput Parameters Read Flag "
  1327.         prop Visible :: 0
  1328.         prop Writable :: CSL.VCP_SUPPORT
  1329.         prop NoGen :: 1
  1330.         prop cGen :: 1
  1331.     }
  1332. }
  1333. type vcpCfg {
  1334.     isa ObjectMgr
  1335.     prop name :: "vcpCfg"
  1336.     prop Label :: "VCP Configuration Manager"
  1337.     prop JSName :: "VCP"
  1338.     prop IsContainedIn :: VCPFOLDER
  1339.     prop GlobalIcon :: 195
  1340.     prop InstanceIcon :: 196
  1341.     prop GlobalHelpTopic :: 1092
  1342.     prop InstanceHelpTopic :: 1092
  1343.     prop GlobalPropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C8}"
  1344.     prop InstancePropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C9}"
  1345.     prop Vendor :: "vendor1"
  1346.     prop Version :: "1.00.00"
  1347.     prop NoGen :: 1
  1348.     prop cGen :: CSL.VCP_SUPPORT
  1349.     prop cStruct :: CSL.VCP_SUPPORT
  1350.     prop cStructType :: "VCP_ConfigIc"
  1351.     prop cHeaderName :: if self.gNumOf > 0 {"csl_vcp.h"} else {""}
  1352.     prop cStructQual :: "far"
  1353.     prop cStructName :: self
  1354.     prop cConfigName :: "VCP_icConfig"
  1355.     prop localDelete :: (self.myDelete)
  1356.     prop myDelete :: ($a = 0, scan ($b; vcpCfg) {$a += 1}, if ($a == 2) {hVcp.VCP_INIT_ENABLE = 0} , "ok")
  1357.     prop SetParamStr :: if (hVcp.VCP_SETPARAM_ENABLE == 1 && hVcp.VCP_INIT != VCP_NOTHING) {"VCP_genIc(&"} else {""}
  1358.     prop ParamConfigObj :: if (hVcp.VCP_SETPARAM_ENABLE == 1 && hVcp.VCP_INIT != VCP_NOTHING && hVcp.VCP_PARAMCONFIGNAME != "NULL") {hVcp.VCP_PARAMCONFIGNAME} else {""}
  1359.     prop IcConfigObj :: if (hVcp.VCP_SETPARAM_ENABLE == 1 && hVcp.VCP_INIT != VCP_NOTHING && hVcp.VCP_PARAMCONFIGNAME != "NULL") {",&%4s"} else {""}
  1360.     prop ConfigEnd :: if (hVcp.VCP_SETPARAM_ENABLE == 1 && hVcp.VCP_INIT != VCP_NOTHING && hVcp.VCP_PARAMCONFIGNAME != "NULL") {");"} else {""}
  1361.     prop cGenFxnPreInst :: ("   %1S%2S%3S%5Sn,SetParamStr,ParamConfigObj,IcConfigObj,cStructName,ConfigEnd")
  1362.     prop POLYG0_IC0 :: (self.POLYG0_SETUP)
  1363.     prop POLYG1_IC0 :: (self.POLYG1_SETUP << 8)
  1364.     prop POLYG2_IC0 :: (self.POLYG2_SETUP << 16)
  1365.     prop POLYG3_IC0 :: (self.POLYG3_SETUP << 24)
  1366.     prop FRAMELEN_IC2 :: (self.FRAMELEN_SETUP)
  1367.     prop RELLEN_IC2 :: (self.RELLEN_SETUP << 16)
  1368.     prop CVGLEN_IC3 :: (self.CVGLEN_SETUP)
  1369.     prop TRACEBACK_IC5 :: (if (self.TRACEBACK_SETUP == "not allowed") {0} else {if (self.TRACEBACK_SETUP == "tailed") {0x01000000} else {if (self.TRACEBACK_SETUP == "convergent") {0x02000000} else {0x03000000}}})
  1370.     prop YAMEN_IC1 :: (if (self.YAMEN_SETUP == "Disable") {0x00000000} else {0x10000000})
  1371.     prop YAMTH_IC1 :: (self.YAMTH_SETUP << 16)
  1372.     prop IMAXS_IC4 :: (self.IMAXS_SETUP)
  1373.     prop IMINS_IC4 :: (self.IMINS_SETUP << 16)
  1374.     prop IMAXI_IC5 :: (self.IMAXI_SETUP)
  1375.     prop SDHD_IC5 :: (if (self.SDHD_SETUP == "Hard") {0x00000000} else {0x80000000})
  1376.     prop SYMX_IC5 :: (((self.SYMX_SETUP - 1) << 16))
  1377.     prop SYMR_IC5 :: (((self.SYMR_SETUP - 1) << 20))
  1378.     prop OUTF_IC5 :: (if (self.OUTF_SETUP == "Disable") {0} else {0x40000000})
  1379.     prop IC0_VALUE_update :: (self.POLYG0_IC0() | self.POLYG1_IC0() | self.POLYG2_IC0() | self.POLYG3_IC0())
  1380.     prop IC0_SETUP_update :: (self.POLYG0_SETUP = ($1 & 0x000000FF), self.POLYG1_SETUP = ($1 & 0x0000FF00) >> 8, self.POLYG2_SETUP = ($1 & 0x00FF0000) >> 16, self.POLYG3_SETUP = ($1 & 0xFF000000) >> 24)
  1381.     prop IC1_VALUE_update :: (self.YAMTH_IC1() | self.YAMEN_IC1())
  1382.     prop IC1_SETUP_update :: (self.YAMTH_SETUP = ($1 & 0x0FFF0000), self.YAMEN_SETUP = ($a = ($1 & 0x10000000), if ($a == 0x10000000) {"Enable"} else {"Disable"}))
  1383.     prop IC2_VALUE_update :: (self.FRAMELEN_IC2() | self.RELLEN_IC2())
  1384.     prop IC2_SETUP_update :: (self.FRAMELEN_SETUP = ($1 & 0x0000FFFF), self.RELLEN_SETUP = ($1 & 0xFFFF0000) >> 16)
  1385.     prop IC3_VALUE_update :: (self.CVGLEN_IC3())
  1386.     prop IC3_SETUP_update :: (self.CVGLEN_SETUP = ($1 & 0x0000FFFF))
  1387.     prop IC4_VALUE_update :: (self.IMAXS_IC4() | self.IMINS_IC4())
  1388.     prop IC4_SETUP_update :: (self.IMAXS_SETUP = ($1 & 0x00000FFF), self.IMINS_SETUP = ($1 & 0x0FFF0000) >> 16)
  1389.     prop IC5_VALUE_update :: (self.IMAXI_IC5() | self.SYMX_IC5() | self.SYMR_IC5() | self.TRACEBACK_IC5() | self.OUTF_IC5() | self.SDHD_IC5())
  1390.     prop IC5_SETUP_update :: (self.IMAXI_SETUP = ($1 & 0x000000FF), self.SYMX_SETUP = (($1 & 0x000F0000) >> 16) + 1, self.SYMR_SETUP = (($1 & 0x00F00000) >> 20) + 1, self.TRACEBACK_SETUP = ($a = ($1 & 0x03000000), if ($a == 0x00000000) {"not allowed"} else {if ($a == 0x010000000) {"tailed"} else {if ($a == 0x020000000) {"convergent"} else {"mixed"}}}), self.OUTF_SETUP = ($a = ($1 & 0x40000000), if ($a == 0x400000000) {"Enable"} else {"Disable"}), self.SDHD_SETUP = ($a = ($1 & 0x80000000), if ($a == 0x800000000) {"Soft"} else {"Hard"}))
  1391.     global gUser :: "USER" { 
  1392.         prop Visible :: 0
  1393.         prop Writable :: 0
  1394.         prop NoGen :: 1
  1395.     }
  1396.     global gSetOf :: 0 { 
  1397.         prop Visible :: 0
  1398.         prop Writable :: 0
  1399.         prop NoGen :: 1
  1400.     }
  1401.     global gNumOf :: 0 { 
  1402.         prop Visible :: 0
  1403.         prop Writable :: 0
  1404.         prop NoGen :: 1
  1405.     }
  1406.     global gDirty :: 0 { 
  1407.         prop Visible :: 0
  1408.         prop Writable :: 0
  1409.         prop NoGen :: 1
  1410.     }
  1411.     global gInitFlag :: 1 { 
  1412.         prop Visible :: 0
  1413.         prop Writable :: 0
  1414.         prop NoGen :: 1
  1415.     }
  1416.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1417.         prop Visible :: 0
  1418.         prop Writable :: 0
  1419.         prop NoGen :: 1
  1420.     }
  1421.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1422.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1423.         prop Label :: "comment"
  1424.         prop JSName :: "comment"
  1425.         prop Visible :: 1
  1426.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1427.         prop NoGen :: 1
  1428.     }
  1429.     inst iIsUsed :: 0 { 
  1430.         prop Visible :: 0
  1431.         prop Writable :: 0
  1432.         prop NoGen :: 1
  1433.     }
  1434.     inst iId :: 0 { 
  1435.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1436.         prop Style :: 0x01
  1437.         prop Visible :: 0
  1438.         prop Writable :: 1
  1439.         prop NoGen :: 1
  1440.     }
  1441.     inst iDelUser :: "USER" { 
  1442.         prop Visible :: 0
  1443.         prop Writable :: 0
  1444.         prop NoGen :: 1
  1445.     }
  1446.     inst iDelMsg :: "ok" { 
  1447.         prop Visible :: 0
  1448.         prop Writable :: 0
  1449.         prop NoGen :: 1
  1450.     }
  1451.     inst cConfigGen :: = ((hVcp.VCP_INIT_ENABLE == 1) && (hVcp.VCP_INIT == self) && (hVcp.VCP_INIT != VCP_NOTHING)) { 
  1452.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1453.         prop NoGen :: 1
  1454.         prop Visible :: 0
  1455.     }
  1456.     inst cConfigArg0 :: = hVcp.VCP_INIT { 
  1457.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1458.         prop MemberType :: vcpCfg
  1459.         prop Label :: "Pre-initialize Config"
  1460.         prop Visible :: 0
  1461.         prop Writable :: (CSL.VCP_SUPPORT)
  1462.         prop NoGen :: 0
  1463.         prop cPreVal :: "&"
  1464.     }
  1465.     inst STANDARD_SETUP :: "3GPP" { 
  1466.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1467.         prop Enum :: "3GPP,IS2000"
  1468.         prop Label :: "Viterbi Decoder Standard"
  1469.         prop Visible :: 1
  1470.         prop JSName :: "vcpDecoderStandard"
  1471.         prop Writable :: CSL.VCP_SUPPORT
  1472.         prop NoGen :: 1
  1473.         prop cGen :: 0
  1474.         prop TabName :: "VCP Setting"
  1475.         prop Set :: (if ($1 == "IS2000") {self.cStandardGen = "VCP_STANDARD_IS2000"} else {self.cStandardGen = "VCP_STANDARD_3GPP"}, self.STANDARD_SETUP = $1, " For Information only, Not programmable")
  1476.     }
  1477.     inst cStandardGen :: = "VCP_STANDARD_3GPP" { 
  1478.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1479.         prop Label :: " Decoder Standard"
  1480.         prop Visible :: 0
  1481.         prop Writable :: CSL.VCP_SUPPORT
  1482.         prop NoGen :: 1
  1483.         prop cGen :: 0
  1484.     }
  1485.     inst RATE_SETUP :: "None" { 
  1486.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1487.         prop Enum :: "None,1/2,1/3,1/4"
  1488.         prop Label :: " Code Rate "
  1489.         prop Visible :: 1
  1490.         prop JSName :: "vcpRate"
  1491.         prop Writable :: (CSL.VCP_SUPPORT)
  1492.         prop NoGen :: 1
  1493.         prop cGen :: 0
  1494.         prop TabName :: "VCP Setting"
  1495.         prop Set :: (self.RATE_SETUP = $1, " For Information only, Not programmable directly - calculated via POLYx")
  1496.     }
  1497.     inst CONSTRLEN_SETUP :: 5 { 
  1498.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1499.         prop Format :: "%2d"
  1500.         prop Style :: 0x02
  1501.         prop Label :: " Constraint Length (K= 5,6,7,8 or 9)"
  1502.         prop Visible :: 1
  1503.         prop JSName :: "vcpConstrLen"
  1504.         prop Writable :: (CSL.VCP_SUPPORT)
  1505.         prop NoGen :: 1
  1506.         prop cGen :: 0
  1507.         prop TabName :: "VCP Setting"
  1508.         prop Set :: (if ($1 < 5 || $1 > 9) {self.error(" Constraint Length K=5,6,7,8 or 9")} else {self.CONSTRLEN_SETUP = $1, " For Information only, Not programmable directly - calculated via POLYx"})
  1509.     }
  1510.     inst POLYG0_SETUP :: = 0 { 
  1511.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1512.         prop Format :: "%2d"
  1513.         prop Style :: 0x02
  1514.         prop Label :: " Polynomial Generator G0 (POLY0) "
  1515.         prop Visible :: 1
  1516.         prop JSName :: "vcpIc0Poly0"
  1517.         prop Writable :: (CSL.VCP_SUPPORT)
  1518.         prop NoGen :: 1
  1519.         prop cGen :: 0
  1520.         prop TabName :: "Programmable VCP Params"
  1521.         prop Set :: (if ($1 < 0 || $1 > 255) {self.error(" G0 values allowed are [0-255]")} else {self.POLYG0_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  1522.     }
  1523.     inst POLYG1_SETUP :: = 0 { 
  1524.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1525.         prop Format :: "%2d"
  1526.         prop Style :: 0x02
  1527.         prop Label :: " Polynomial Generator G1 (POLY1) "
  1528.         prop Visible :: 1
  1529.         prop JSName :: "vcpIc0Poly1"
  1530.         prop Writable :: (CSL.VCP_SUPPORT)
  1531.         prop NoGen :: 1
  1532.         prop cGen :: 0
  1533.         prop TabName :: "Programmable VCP Params"
  1534.         prop Set :: (if ($1 < 0 || $1 > 255) {self.error(" G1 values allowed are [0-255]")} else {self.POLYG1_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  1535.     }
  1536.     inst POLYG2_SETUP :: = 0 { 
  1537.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1538.         prop Format :: "%2d"
  1539.         prop Style :: 0x02
  1540.         prop Label :: " Polynomial Generator G2 (POLY2) "
  1541.         prop Visible :: 1
  1542.         prop JSName :: "vcpIc0Poly2"
  1543.         prop Writable :: (CSL.VCP_SUPPORT)
  1544.         prop NoGen :: 1
  1545.         prop cGen :: 0
  1546.         prop TabName :: "Programmable VCP Params"
  1547.         prop Set :: (if ($1 < 0 || $1 > 255) {self.error(" G2 values allowed are [0-255]")} else {self.POLYG2_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  1548.     }
  1549.     inst POLYG3_SETUP :: = 0 { 
  1550.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1551.         prop Format :: "%2d"
  1552.         prop Style :: 0x02
  1553.         prop Label :: " Polynomial Generator G3 (POLY3) "
  1554.         prop Visible :: 1
  1555.         prop JSName :: "vcpIc0Poly3"
  1556.         prop Writable :: (CSL.VCP_SUPPORT)
  1557.         prop NoGen :: 1
  1558.         prop cGen :: 0
  1559.         prop TabName :: "Programmable VCP Params"
  1560.         prop Set :: (if ($1 < 0 || $1 > 255) {self.error(" G3 values allowed are [0-255]")} else {self.POLYG3_SETUP = $1, self.IC0_VALUE = self.IC0_VALUE_update(), "ok"})
  1561.     }
  1562.     inst FRAMELEN_SETUP :: = 0 { 
  1563.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1564.         prop Format :: "%2d"
  1565.         prop Style :: 0x02
  1566.         prop Label :: " Frame Length (F) "
  1567.         prop Visible :: 1
  1568.         prop JSName :: "vcpIc2FrameLen"
  1569.         prop Writable :: (CSL.VCP_SUPPORT)
  1570.         prop NoGen :: 1
  1571.         prop cGen :: 0
  1572.         prop TabName :: "Programmable VCP Params"
  1573.         prop Set :: (if ($1 < 0 || $1 > 65535) {self.error("Frame Length range [0-65535]")} else {self.FRAMELEN_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  1574.     }
  1575.     inst RELLEN_SETUP :: = 0 { 
  1576.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1577.         prop Format :: "%2d"
  1578.         prop Style :: 0x02
  1579.         prop Label :: " Reliability Length (R)"
  1580.         prop Visible :: 1
  1581.         prop JSName :: "vcpIc2ReliaLen"
  1582.         prop Writable :: (CSL.VCP_SUPPORT)
  1583.         prop NoGen :: 1
  1584.         prop cGen :: 0
  1585.         prop TabName :: "Programmable VCP Params"
  1586.         prop Set :: (if ($1 < 0 || $1 > 127) {self.error("Reliability Length range [0-127]")} else {self.RELLEN_SETUP = $1, self.IC2_VALUE = self.IC2_VALUE_update(), "ok"})
  1587.     }
  1588.     inst CVGLEN_SETUP :: = 0 { 
  1589.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1590.         prop Format :: "%2d"
  1591.         prop Style :: 0x02
  1592.         prop Label :: " Convergence Length (C) "
  1593.         prop Visible :: 1
  1594.         prop JSName :: "vcpIc3ConvLen"
  1595.         prop Writable :: (CSL.VCP_SUPPORT)
  1596.         prop NoGen :: 1
  1597.         prop cGen :: 0
  1598.         prop TabName :: "Programmable VCP Params"
  1599.         prop Set :: (if ($1 < 0 || $1 > 65535) {self.error("Convergence Length range [0-65535]")} else {self.CVGLEN_SETUP = $1, self.IC3_VALUE = self.IC3_VALUE_update(), "ok"})
  1600.     }
  1601.     inst TRACEBACK_SETUP :: = "not Allowed" { 
  1602.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1603.         prop Enum :: "not allowed,tailed,convergent,mixed"
  1604.         prop Label :: " TraceBack Mode (TB)"
  1605.         prop Visible :: 1
  1606.         prop JSName :: "vcpIc5TraceBack"
  1607.         prop Writable :: (CSL.VCP_SUPPORT)
  1608.         prop NoGen :: 1
  1609.         prop cGen :: 0
  1610.         prop TabName :: "Programmable VCP Params"
  1611.         prop Set :: (self.TRACEBACK_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok")
  1612.     }
  1613.     inst YAMEN_SETUP :: "Disable" { 
  1614.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1615.         prop Enum :: "Disable,Enable"
  1616.         prop Label :: " Yamamoto Algo. Enable (YAMEN) "
  1617.         prop Visible :: 1
  1618.         prop JSName :: "vcpIc1Yamen"
  1619.         prop Writable :: (CSL.VCP_SUPPORT)
  1620.         prop NoGen :: 1
  1621.         prop cGen :: 0
  1622.         prop TabName :: "Programmable VCP Params"
  1623.         prop Set :: (self.YAMEN_SETUP = $1, self.IC1_VALUE = self.IC1_VALUE_update(), "ok")
  1624.     }
  1625.     inst YAMTH_SETUP :: = 0 { 
  1626.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1627.         prop Format :: "%2d"
  1628.         prop Style :: 0x02
  1629.         prop Label :: " Yamamoto Threshold (YAMT)"
  1630.         prop Visible :: 1
  1631.         prop JSName :: "vcpIc1Yamth"
  1632.         prop Writable :: (CSL.VCP_SUPPORT)
  1633.         prop NoGen :: 1
  1634.         prop cGen :: 0
  1635.         prop TabName :: "Programmable VCP Params"
  1636.         prop Set :: (if ($1 < 0 || $1 > 4095) {self.error("Yamamoto Threshold max value is 4095")} else {self.YAMTH_SETUP = $1, self.IC1_VALUE = self.IC1_VALUE_update(), "ok"})
  1637.     }
  1638.     inst IMAXS_SETUP :: = 0 { 
  1639.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1640.         prop Format :: "%2d"
  1641.         prop Style :: 0x02
  1642.         prop Label :: " Max Initial State Metric (IMAXS)"
  1643.         prop Visible :: 1
  1644.         prop JSName :: "vcpIc2Imaxs"
  1645.         prop Writable :: (CSL.VCP_SUPPORT)
  1646.         prop NoGen :: 1
  1647.         prop cGen :: 0
  1648.         prop TabName :: "Programmable VCP Params"
  1649.         prop Set :: (if ($1 < 0 || $1 > 4095) {self.error("Max Initial State Metric value is 4095")} else {self.IMAXS_SETUP = $1, self.IC4_VALUE = self.IC4_VALUE_update(), "ok"})
  1650.     }
  1651.     inst IMINS_SETUP :: = 0 { 
  1652.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1653.         prop Format :: "%2d"
  1654.         prop Style :: 0x02
  1655.         prop Label :: " Min Initial State Metric (IMINS)"
  1656.         prop Visible :: 1
  1657.         prop JSName :: "vcpIc2Imins"
  1658.         prop Writable :: (CSL.VCP_SUPPORT)
  1659.         prop NoGen :: 1
  1660.         prop cGen :: 0
  1661.         prop TabName :: "Programmable VCP Params"
  1662.         prop Set :: (if ($1 < 0 || $1 > 4095) {self.error("Min Initial State Metric value is 4095")} else {self.IMINS_SETUP = $1, self.IC4_VALUE = self.IC4_VALUE_update(), "ok"})
  1663.     }
  1664.     inst IMAXI_SETUP :: = 0 { 
  1665.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1666.         prop Format :: "%2d"
  1667.         prop Style :: 0x02
  1668.         prop Label :: " State Index set to IMAXS (IMAXI)"
  1669.         prop Visible :: 1
  1670.         prop JSName :: "vcpIc5IndexMaxIter"
  1671.         prop Writable :: (CSL.VCP_SUPPORT)
  1672.         prop NoGen :: 1
  1673.         prop cGen :: 0
  1674.         prop TabName :: "Programmable VCP Params"
  1675.         prop Set :: (if ((self.CONSTRLEN_SETUP == 5 && $1 > 15)) {self.error("For K=5 ,allowed values are 0 to 15")} else {if ((self.CONSTRLEN_SETUP == 6 && $1 > 31)) {self.error("For K=6 ,allowed values are 0 to 31")} else {if ((self.CONSTRLEN_SETUP == 7 && $1 > 63)) {self.error("For K=7 ,allowed values are 0 to 63")} else {if ((self.CONSTRLEN_SETUP == 8 && $1 > 127)) {self.error("For K=8 ,allowed values are 0 to 127")} else {if ((self.CONSTRLEN_SETUP == 9 && $1 > 255)) {self.error("For K=9 ,allowed values are 0 to 255")} else {self.IMAXI_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok"}}}}})
  1676.     }
  1677.     inst SDHD_SETUP :: "Hard" { 
  1678.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1679.         prop Enum :: "Hard,Soft"
  1680.         prop Label :: " Ouput Hard Decision Type (SDHD) "
  1681.         prop Visible :: 1
  1682.         prop JSName :: "vcpIc5DecisionType"
  1683.         prop Writable :: (CSL.VCP_SUPPORT)
  1684.         prop NoGen :: 1
  1685.         prop cGen :: 0
  1686.         prop TabName :: "Programmable VCP Params"
  1687.         prop Set :: (self.SDHD_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok")
  1688.     }
  1689.     inst SYMX_SETUP :: 1 { 
  1690.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1691.         prop Format :: "%2d"
  1692.         prop Style :: 0x02
  1693.         prop Label :: " Branch Metrics Buffer Length (SYMX + 1) "
  1694.         prop Visible :: 1
  1695.         prop JSName :: "vcpIc5BmBuffLen"
  1696.         prop Writable :: (CSL.VCP_SUPPORT)
  1697.         prop NoGen :: 1
  1698.         prop cGen :: 0
  1699.         prop TabName :: "EDMA Operation"
  1700.         prop Set :: (if ($1 > 16 || $1 < 1) {self.error("Buffer length range [1-16]")} else {self.SYMX_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok"})
  1701.     }
  1702.     inst SYMR_SETUP :: 1 { 
  1703.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1704.         prop Format :: "%2d"
  1705.         prop Style :: 0x02
  1706.         prop Label :: " Decision Buffer Length (SYMR + 1) "
  1707.         prop Visible :: 1
  1708.         prop JSName :: "vcpIc5DecBuffLen"
  1709.         prop Writable :: (CSL.VCP_SUPPORT)
  1710.         prop NoGen :: 1
  1711.         prop cGen :: 0
  1712.         prop TabName :: "EDMA Operation"
  1713.         prop Set :: (if ($1 > 16 || $1 < 1) {self.error("Buffer length range [1-16]")} else {self.SYMR_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok"})
  1714.     }
  1715.     inst OUTF_SETUP :: "Disable" { 
  1716.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1717.         prop Enum :: "Disable,Enable"
  1718.         prop Label :: " Ouput Parameters Read Flag (OUTF)"
  1719.         prop Visible :: 1
  1720.         prop JSName :: "vcpIc5OutFlag"
  1721.         prop Writable :: (CSL.VCP_SUPPORT)
  1722.         prop NoGen :: 1
  1723.         prop cGen :: 0
  1724.         prop TabName :: "EDMA Operation"
  1725.         prop Set :: (self.OUTF_SETUP = $1, self.IC5_VALUE = self.IC5_VALUE_update(), "ok")
  1726.     }
  1727.     inst IC0_VALUE :: self.IC0_VALUE_update() { 
  1728.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1729.         prop Label :: "Input Configuration Reg 0 (IC0)"
  1730.         prop Format :: "0x%08X"
  1731.         prop Style :: 0x02
  1732.         prop JSName :: "vcpIc0"
  1733.         prop Visible :: 1
  1734.         prop Writable :: CSL.VCP_SUPPORT
  1735.         prop NoGen :: 1
  1736.         prop cGen :: 1
  1737.         prop cType :: "Uint32"
  1738.         prop TabName :: "Advanced"
  1739.         prop Set :: (self.IC0_VALUE = $1, self.IC0_SETUP_update($1), "ok")
  1740.     }
  1741.     inst IC1_VALUE :: self.IC1_VALUE_update() { 
  1742.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1743.         prop Label :: "Input Configuration Reg 1 (IC1)"
  1744.         prop Format :: "0x%08X"
  1745.         prop Style :: 0x02
  1746.         prop JSName :: "vcpIc1"
  1747.         prop Visible :: 1
  1748.         prop Writable :: CSL.VCP_SUPPORT
  1749.         prop NoGen :: 1
  1750.         prop cGen :: 1
  1751.         prop cType :: "Uint32"
  1752.         prop TabName :: "Advanced"
  1753.         prop Set :: (self.IC1_VALUE = ($1 & 0x1FFF0000), self.IC1_SETUP_update($1), "ok")
  1754.     }
  1755.     inst IC2_VALUE :: self.IC2_VALUE_update() { 
  1756.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1757.         prop Label :: "Input Configuration Reg 2 (IC2)"
  1758.         prop Format :: "0x%08X"
  1759.         prop Style :: 0x02
  1760.         prop JSName :: "vcpIc2"
  1761.         prop Visible :: 1
  1762.         prop Writable :: CSL.VCP_SUPPORT
  1763.         prop NoGen :: 1
  1764.         prop cGen :: 1
  1765.         prop cType :: "Uint32"
  1766.         prop TabName :: "Advanced"
  1767.         prop Set :: (self.IC2_VALUE = $1, self.IC2_SETUP_update($1), "ok")
  1768.     }
  1769.     inst IC3_VALUE :: self.IC3_VALUE_update() { 
  1770.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1771.         prop Label :: "Input Configuration Reg 3 (IC3)"
  1772.         prop Format :: "0x%08X"
  1773.         prop Style :: 0x02
  1774.         prop JSName :: "vcpIc3"
  1775.         prop Visible :: 1
  1776.         prop Writable :: CSL.VCP_SUPPORT
  1777.         prop NoGen :: 1
  1778.         prop cGen :: 1
  1779.         prop cType :: "Uint32"
  1780.         prop TabName :: "Advanced"
  1781.         prop Set :: (self.IC3_VALUE = ($1 & 0x0000FFFF), self.IC3_SETUP_update($1), "ok")
  1782.     }
  1783.     inst IC4_VALUE :: self.IC4_VALUE_update() { 
  1784.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1785.         prop Label :: "Input Configuration Reg 4 (IC4)"
  1786.         prop Format :: "0x%08X"
  1787.         prop Style :: 0x02
  1788.         prop JSName :: "vcpIc4"
  1789.         prop Visible :: 1
  1790.         prop Writable :: CSL.VCP_SUPPORT
  1791.         prop NoGen :: 1
  1792.         prop cGen :: 1
  1793.         prop cType :: "Uint32"
  1794.         prop TabName :: "Advanced"
  1795.         prop Set :: (self.IC4_VALUE = ($1 & 0x0FFF0FFF), self.IC4_SETUP_update($1), "ok")
  1796.     }
  1797.     inst IC5_VALUE :: self.IC5_VALUE_update() { 
  1798.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1799.         prop Label :: "Input Configuration Reg 5 (IC5)"
  1800.         prop Format :: "0x%08X"
  1801.         prop Style :: 0x02
  1802.         prop JSName :: "vcpIc5"
  1803.         prop Visible :: 1
  1804.         prop Writable :: CSL.VCP_SUPPORT
  1805.         prop NoGen :: 1
  1806.         prop cGen :: 1
  1807.         prop cType :: "Uint32"
  1808.         prop TabName :: "Advanced"
  1809.         prop Set :: (self.IC5_VALUE = ($1 & 0xC3FF00FF), self.IC5_SETUP_update($1), "ok")
  1810.     }
  1811. }
  1812. type hVcp {
  1813.     prop IsContainedIn :: VCPFOLDER
  1814.     prop name :: "hVcp"
  1815.     prop Label :: "VCP Resource Manager"
  1816.     prop JSName :: "HVCP"
  1817.     prop NoGen :: 1
  1818.     prop GlobalPropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C6}"
  1819.     prop InstancePropertyPage :: "{B936FB82-49A5-11d4-967C-0050048381C5}"
  1820.     prop GlobalIcon :: 195
  1821.     prop InstanceIcon :: 196
  1822.     prop GlobalHelpTopic :: (1093)
  1823.     prop cGen :: 1
  1824.     global VCP_INITPARAM_ENABLE :: 0 { 
  1825.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1826.         prop Label :: "Enable Parameters Setting"
  1827.         prop JSName :: "vcpEnableParams"
  1828.         prop Visible :: 1
  1829.         prop Writable :: (CSL.VCP_SUPPORT)
  1830.         prop NoGen :: 0
  1831.         prop Set :: ($a = 0, scan ($b; vcpBaseParam) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.VCP_INITPARAM == VCP_PARAMNULL) {" You must create a new BaseParams object"} else {self.VCP_INITPARAM_ENABLE = $1, if ($1 == 0) {self.VCP_INITPARAM = VCP_PARAMNULL, self.VCP_PARAMCONFIGNAME = "NULL", self.VCP_SETPARAM_ENABLE = 0} , "ok"})
  1832.     }
  1833.     global VCP_INITPARAM :: VCP_PARAMNULL { 
  1834.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1835.         prop MemberType :: vcpBaseParam
  1836.         prop Label :: " Pre-Initialize with"
  1837.         prop JSName :: "vcpBaseParamInit"
  1838.         prop Visible :: 1
  1839.         prop Writable :: if (CSL.VCP_SUPPORT) && (self.VCP_INITPARAM_ENABLE == 1) {1} else {0}
  1840.     }
  1841.     global VCP_PARAMCONFIGNAME :: "NULL" { 
  1842.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1843.         prop Label :: "Output VCP Params ConfigName (ex: vcpParam)"
  1844.         prop JSName :: "vcpParamConfigName"
  1845.         prop Visible :: 1
  1846.         prop Writable :: if (CSL.VCP_SUPPORT) && (self.VCP_INITPARAM_ENABLE == 1) {1} else {0}
  1847.         prop Set :: (if ($1 == "") {self.VCP_PARAMCONFIGNAME = "NULL", "ok"} else {self.VCP_PARAMCONFIGNAME = $1, "ok"})
  1848.     }
  1849.     global VCP_SETPARAM_ENABLE :: 0 { 
  1850.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1851.         prop Label :: "Set VCP Params Values to the IC Config. Obj"
  1852.         prop JSName :: "vcpSetParamEnable"
  1853.         prop Visible :: 1
  1854.         prop Writable :: (CSL.VCP_SUPPORT && self.VCP_INITPARAM_ENABLE)
  1855.         prop NoGen :: 0
  1856.         prop Set :: ($a = 0, scan ($b; vcpCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.VCP_INIT == VCP_NOTHING) {" You must create a configuration object"} else {self.VCP_SETPARAM_ENABLE = $1, if ($1 == 0 && self.VCP_INIT_ENABLE == 0) {self.VCP_INIT = VCP_NOTHING} , "ok"})
  1857.     }
  1858.     global VCP_INIT_ENABLE :: 0 { 
  1859.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1860.         prop Label :: "Enable Pre-Initialization"
  1861.         prop JSName :: "vcpEnablePreInit"
  1862.         prop Visible :: 1
  1863.         prop Writable :: (CSL.VCP_SUPPORT)
  1864.         prop NoGen :: 0
  1865.         prop Set :: ($a = 0, scan ($b; vcpCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.VCP_INIT == VCP_NOTHING) {" You must create a new configuration object"} else {self.VCP_INIT_ENABLE = $1, if ($1 == 0 && self.VCP_SETPARAM_ENABLE == 0) {self.VCP_INIT = VCP_NOTHING} , "ok"})
  1866.     }
  1867.     global VCP_INIT :: VCP_NOTHING { 
  1868.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1869.         prop MemberType :: vcpCfg
  1870.         prop Label :: " Pre-Initialize with"
  1871.         prop JSName :: "vcpPreInit"
  1872.         prop Visible :: 1
  1873.         prop Writable :: if (CSL.VCP_SUPPORT) && ((self.VCP_INIT_ENABLE == 1) || (self.VCP_SETPARAM_ENABLE == 1)) {1} else {0}
  1874.     }
  1875. }
  1876. object VCP_NOTHING :: vcpCfg {
  1877.     param iComment :: "<add comments here>"
  1878.     param iIsUsed :: 0
  1879.     param iId :: 0
  1880.     param iDelUser :: "USER"
  1881.     param iDelMsg :: "ok"
  1882.     param STANDARD_SETUP :: "3GPP"
  1883.     param RATE_SETUP :: "None"
  1884.     param CONSTRLEN_SETUP :: 5
  1885.     param YAMEN_SETUP :: "Disable"
  1886.     param SDHD_SETUP :: "Hard"
  1887.     param SYMX_SETUP :: 1
  1888.     param SYMR_SETUP :: 1
  1889.     param OUTF_SETUP :: "Disable"
  1890.     param IC0_VALUE :: 0
  1891.     param IC1_VALUE :: 0
  1892.     param IC2_VALUE :: 0
  1893.     param IC3_VALUE :: 0
  1894.     param IC4_VALUE :: 0
  1895.     param IC5_VALUE :: 50331648
  1896. }
  1897. object VCP_PARAMNULL :: vcpBaseParam {
  1898.     param iComment :: "<add comments here>"
  1899.     param iIsUsed :: 0
  1900.     param iId :: 0
  1901.     param iDelUser :: "USER"
  1902.     param iDelMsg :: "ok"
  1903.     param RATE_SETUP :: "None"
  1904.     param CONSTRLEN_SETUP :: 5
  1905.     param SDHD_SETUP :: "Hard"
  1906.     param OUTF_SETUP :: "Disable"
  1907. }
  1908. type XBUSFOLDER {
  1909.     isa ModuleFolder
  1910.     prop IsContainedIn :: CSL
  1911.     prop name :: "XBUS"
  1912.     prop Label :: "XBUS - Expansion Bus"
  1913.     prop NoGen :: 1
  1914.     prop GlobalPropertyPage :: "{980E6524-6246-11d4-B5CC-0050DA2E2CC0}"
  1915.     prop InstancePropertyPage :: "{980E6525-6246-11d4-B5CC-0050DA2E2CC0}"
  1916.     prop GlobalIcon :: 163
  1917.     prop InstanceIcon :: 164
  1918.     prop GlobalHelpTopic :: 1070
  1919.     global gUser :: "USER" { 
  1920.         prop Visible :: 0
  1921.         prop Writable :: 0
  1922.         prop NoGen :: 1
  1923.     }
  1924.     global gSetOf :: 0 { 
  1925.         prop Visible :: 0
  1926.         prop Writable :: 0
  1927.         prop NoGen :: 1
  1928.     }
  1929.     global gNumOf :: 0 { 
  1930.         prop Visible :: 0
  1931.         prop Writable :: 0
  1932.         prop NoGen :: 1
  1933.     }
  1934.     global gDirty :: 0 { 
  1935.         prop Visible :: 0
  1936.         prop Writable :: 0
  1937.         prop NoGen :: 1
  1938.     }
  1939.     global gInitFlag :: 1 { 
  1940.         prop Visible :: 0
  1941.         prop Writable :: 0
  1942.         prop NoGen :: 1
  1943.     }
  1944.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1945.         prop Visible :: 0
  1946.         prop Writable :: 0
  1947.         prop NoGen :: 1
  1948.     }
  1949. }
  1950. type xbusCfg {
  1951.     isa ObjectMgr
  1952.     prop Name :: "xbusCfg"
  1953.     prop Label :: "XBUS Configuration Manager"
  1954.     prop JSName :: "XBUS"
  1955.     prop IsContainedIn :: XBUSFOLDER
  1956.     prop NoGen :: 1
  1957.     prop maxObjs :: (32767)
  1958.     prop GlobalPropertyPage :: "{980E6522-6246-11d4-B5CC-0050DA2E2CC0}"
  1959.     prop InstancePropertyPage :: "{980E6523-6246-11d4-B5CC-0050DA2E2CC0}"
  1960.     prop GlobalIcon :: 163
  1961.     prop InstanceIcon :: 164
  1962.     prop GlobalHelpTopic :: 1071
  1963.     prop InstanceHelpTopic :: 1071
  1964.     prop cGen :: CSL.XBUS_SUPPORT
  1965.     prop cStruct :: CSL.XBUS_SUPPORT
  1966.     prop cStructType :: "XBUS_Config"
  1967.     prop cHeaderName :: if self.gNumOf > 0 {"csl_xbus.h"} else {""}
  1968.     prop cStructQual :: "far"
  1969.     prop cStructName :: self
  1970.     prop cConfigName :: "XBUS_config"
  1971.     prop localDelete :: (self.myDelete)
  1972.     prop myDelete :: ($a = 0, scan ($b; xbusCfg) {$a = $a + 1}, if ($a == 2) {hXbus.XBUS_INIT_ENABLE = 0} , "ok")
  1973.     prop XFCEN_GBLCTL :: (if (self.XFCEN_SETUP == "XFCLK Enable") {0x00004000} else {0x00000000})
  1974.     prop XFRAT_GBLCTL :: (if (self.XFRAT_SETUP == "1/8 CPU Clock Rate") {0x00000000} else {if (self.XFRAT_SETUP == "1/6 CPU Clock Rate") {0x00001000} else {if (self.XFRAT_SETUP == "1/4 CPU Clock Rate") {0x00002000} else {if (self.XFRAT_SETUP == "1/2 CPU Clock Rate") {0x00003000} }}})
  1975.     prop WRSETUP0_XCE0CTL :: ((self.WRSETUP0_SETUP << 28))
  1976.     prop WRSTRB0_XCE0CTL :: ((self.WRSTRB0_SETUP << 22))
  1977.     prop WRHLD0_XCE0CTL :: ((self.WRHLD0_SETUP << 20))
  1978.     prop RDSETUP0_XCE0CTL :: ((self.RDSETUP0_SETUP << 16))
  1979.     prop RDSTRB0_XCE0CTL :: ((self.RDSTRB0_SETUP << 8))
  1980.     prop RDHLD0_XCE0CTL :: (self.RDHLD0_SETUP)
  1981.     prop MTYPE0_XCE0CTL :: (if (self.MTYPE0_SETUP == "32-bit async.") {0x00000020} else {if (self.MTYPE0_SETUP == "32-bit FIFO") {0x00000050} })
  1982.     prop WRSETUP1_XCE1CTL :: ((self.WRSETUP1_SETUP << 28))
  1983.     prop WRSTRB1_XCE1CTL :: ((self.WRSTRB1_SETUP << 22))
  1984.     prop WRHLD1_XCE1CTL :: ((self.WRHLD1_SETUP << 20))
  1985.     prop RDSETUP1_XCE1CTL :: ((self.RDSETUP1_SETUP << 16))
  1986.     prop RDSTRB1_XCE1CTL :: ((self.RDSTRB1_SETUP << 8))
  1987.     prop RDHLD1_XCE1CTL :: (self.RDHLD1_SETUP)
  1988.     prop MTYPE1_XCE1CTL :: (if (self.MTYPE1_SETUP == "32-bit async.") {0x00000020} else {if (self.MTYPE1_SETUP == "32-bit FIFO") {0x00000050} })
  1989.     prop WRSETUP2_XCE2CTL :: ((self.WRSETUP2_SETUP << 28))
  1990.     prop WRSTRB2_XCE2CTL :: ((self.WRSTRB2_SETUP << 22))
  1991.     prop WRHLD2_XCE2CTL :: ((self.WRHLD2_SETUP << 20))
  1992.     prop RDSETUP2_XCE2CTL :: ((self.RDSETUP2_SETUP << 16))
  1993.     prop RDSTRB2_XCE2CTL :: ((self.RDSTRB2_SETUP << 8))
  1994.     prop RDHLD2_XCE2CTL :: (self.RDHLD2_SETUP)
  1995.     prop MTYPE2_XCE2CTL :: (if (self.MTYPE2_SETUP == "32-bit async.") {0x00000020} else {if (self.MTYPE2_SETUP == "32-bit FIFO") {0x00000050} })
  1996.     prop WRSETUP3_XCE3CTL :: ((self.WRSETUP3_SETUP << 28))
  1997.     prop WRSTRB3_XCE3CTL :: ((self.WRSTRB3_SETUP << 22))
  1998.     prop WRHLD3_XCE3CTL :: ((self.WRHLD3_SETUP << 20))
  1999.     prop RDSETUP3_XCE3CTL :: ((self.RDSETUP3_SETUP << 16))
  2000.     prop RDSTRB3_XCE3CTL :: ((self.RDSTRB3_SETUP << 8))
  2001.     prop RDHLD3_XCE3CTL :: (self.RDHLD3_SETUP)
  2002.     prop MTYPE3_XCE3CTL :: (if (self.MTYPE3_SETUP == "32-bit async.") {0x00000020} else {if (self.MTYPE3_SETUP == "32-bit FIFO") {0x00000050} })
  2003.     prop XFRCT_XBHC :: ((self.XFRCT_SETUP << 16))
  2004.     prop INTSRC_XBHC :: (if (self.INTSRC_SETUP == "DSPINT") {0x00000000} else {if (self.INTSRC_SETUP == "XFRCT Counter") {0x00000020} })
  2005.     prop START_XBHC :: (if (self.START_SETUP == "Abort Transfer") {0x00000000} else {if (self.START_SETUP == "Write: XBIMA-->XBEA") {0x00000008} else {if (self.START_SETUP == "Read: XBEA-->XBIMA") {0x00000010} }})
  2006.     prop DSPINT_XBHC :: (if (self.DSPINT_SETUP == "None") {0x00000000} else {if (self.DSPINT_SETUP == "Clear") {0x00000002} })
  2007.     prop XBIMA_XBIMA :: (self.XBIMA_SETUP)
  2008.     prop XBEA_XBEA :: (self.XBEA_SETUP)
  2009.     prop GBLCTL_VALUE_update :: (self.XFCEN_GBLCTL() | self.XFRAT_GBLCTL())
  2010.     prop GBLCTL_SETUP_update :: (self.XFCEN_SETUP = if ($1 & 0x00004000) {"XFCLK Enable"} else {"XFCLK High"}, self.XFRAT_SETUP = ($a = ($1 & 0x00003000), if ($a == 0x00003000) {"1/2 CPU Clock Rate"} else {if ($a == 0x00002000) {"1/4 CPU Clock Rate"} else {if ($a == 0x00001000) {"1/6 CPU Clock Rate"} else {"1/8 CPU Clock Rate"}}}))
  2011.     prop XCE0CTL_VALUE_update :: (self.MTYPE0_XCE0CTL() | self.RDHLD0_XCE0CTL() | self.RDSTRB0_XCE0CTL() | self.RDSETUP0_XCE0CTL() | self.WRHLD0_XCE0CTL() | self.WRSTRB0_XCE0CTL() | self.WRSETUP0_XCE0CTL())
  2012.     prop XCE0CTL_SETUP_update :: (self.MTYPE0_SETUP = ($a = ($1 & 0x00000070), if ($a == 0x00000050) {"32-bit FIFO"} else {"32-bit async."}), self.RDHLD0_SETUP = ($1 & 0x00000003), self.RDSTRB0_SETUP = ($1 & 0x00003F00) >> 8, self.RDSETUP0_SETUP = ($1 & 0x000F0000) >> 16, self.WRHLD0_SETUP = ($1 & 0x00300000) >> 20, self.WRSTRB0_SETUP = ($1 & 0x0FC00000) >> 22, self.WRSETUP0_SETUP = (($1 & 0xF0000000) >> 28) & 0xF)
  2013.     prop XCE1CTL_VALUE_update :: (self.MTYPE1_XCE1CTL() | self.RDHLD1_XCE1CTL() | self.RDSTRB1_XCE1CTL() | self.RDSETUP1_XCE1CTL() | self.WRHLD1_XCE1CTL() | self.WRSTRB1_XCE1CTL() | self.WRSETUP1_XCE1CTL())
  2014.     prop XCE1CTL_SETUP_update :: (self.MTYPE1_SETUP = ($a = ($1 & 0x00000070), if ($a == 0x00000050) {"32-bit FIFO"} else {"32-bit async."}), self.RDHLD1_SETUP = ($1 & 0x00000003), self.RDSTRB1_SETUP = ($1 & 0x00003F00) >> 8, self.RDSETUP1_SETUP = ($1 & 0x000F0000) >> 16, self.WRHLD1_SETUP = ($1 & 0x00300000) >> 20, self.WRSTRB1_SETUP = ($1 & 0x0FC00000) >> 22, self.WRSETUP1_SETUP = (($1 & 0xF0000000) >> 28) & 0xF)
  2015.     prop XCE2CTL_VALUE_update :: (self.MTYPE2_XCE2CTL() | self.RDHLD2_XCE2CTL() | self.RDSTRB2_XCE2CTL() | self.RDSETUP2_XCE2CTL() | self.WRHLD2_XCE2CTL() | self.WRSTRB2_XCE2CTL() | self.WRSETUP2_XCE2CTL())
  2016.     prop XCE2CTL_SETUP_update :: (self.MTYPE2_SETUP = ($a = ($1 & 0x00000070), if ($a == 0x00000050) {"32-bit FIFO"} else {"32-bit async."}), self.RDHLD2_SETUP = ($1 & 0x00000003), self.RDSTRB2_SETUP = ($1 & 0x00003F00) >> 8, self.RDSETUP2_SETUP = ($1 & 0x000F0000) >> 16, self.WRHLD2_SETUP = ($1 & 0x00300000) >> 20, self.WRSTRB2_SETUP = ($1 & 0x0FC00000) >> 22, self.WRSETUP2_SETUP = (($1 & 0xF0000000) >> 28) & 0xF)
  2017.     prop XCE3CTL_VALUE_update :: (self.MTYPE3_XCE3CTL() | self.RDHLD3_XCE3CTL() | self.RDSTRB3_XCE3CTL() | self.RDSETUP3_XCE3CTL() | self.WRHLD3_XCE3CTL() | self.WRSTRB3_XCE3CTL() | self.WRSETUP3_XCE3CTL())
  2018.     prop XCE3CTL_SETUP_update :: (self.MTYPE3_SETUP = ($a = ($1 & 0x00000070), if ($a == 0x00000050) {"32-bit FIFO"} else {"32-bit async."}), self.RDHLD3_SETUP = ($1 & 0x00000003), self.RDSTRB3_SETUP = ($1 & 0x00003F00) >> 8, self.RDSETUP3_SETUP = ($1 & 0x000F0000) >> 16, self.WRHLD3_SETUP = ($1 & 0x00300000) >> 20, self.WRSTRB3_SETUP = ($1 & 0x0FC00000) >> 22, self.WRSETUP3_SETUP = (($1 & 0xF0000000) >> 28) & 0xF)
  2019.     prop XBHC_VALUE_update :: (self.XFRCT_XBHC() | self.INTSRC_XBHC() | self.START_XBHC() | self.DSPINT_XBHC())
  2020.     prop XBHC_SETUP_update :: (self.XFRCT_SETUP = (($1 & 0xFFFF0000) >> 16) & 0xFFFF, self.INTSRC_SETUP = if ($1 & 0x00000020) {"XFRCT Counter"} else {"DSPINT"}, self.START_SETUP = ($a = ($1 & 0x00000018), if ($a == 0x00000010) {"Read: XBEA-->XBIMA"} else {if ($a == 0x00000008) {"Write: XBIMA-->XBEA"} else {"Abort Trnasfer"}}), self.DSPINT_SETUP = if ($1 & 0x00000002) {"Clear"} else {"None"})
  2021.     prop XBIMA_VALUE_update :: (self.XBIMA_XBIMA())
  2022.     prop XBIMA_SETUP_update :: (self.XBIMA_SETUP = $1 & 0xFFFFFFFF)
  2023.     prop XBEA_VALUE_update :: (self.XBEA_XBEA())
  2024.     prop XBEA_SETUP_update :: (self.XBEA_SETUP = $1 & 0xFFFFFFFF)
  2025.     global gUser :: "USER" { 
  2026.         prop Visible :: 0
  2027.         prop Writable :: 0
  2028.         prop NoGen :: 1
  2029.     }
  2030.     global gSetOf :: 0 { 
  2031.         prop Visible :: 0
  2032.         prop Writable :: 0
  2033.         prop NoGen :: 1
  2034.     }
  2035.     global gNumOf :: 0 { 
  2036.         prop Visible :: 0
  2037.         prop Writable :: 0
  2038.         prop NoGen :: 1
  2039.     }
  2040.     global gDirty :: 0 { 
  2041.         prop Visible :: 0
  2042.         prop Writable :: 0
  2043.         prop NoGen :: 1
  2044.     }
  2045.     global gInitFlag :: 1 { 
  2046.         prop Visible :: 0
  2047.         prop Writable :: 0
  2048.         prop NoGen :: 1
  2049.     }
  2050.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2051.         prop Visible :: 0
  2052.         prop Writable :: 0
  2053.         prop NoGen :: 1
  2054.     }
  2055.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2056.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2057.         prop Label :: "comment"
  2058.         prop JSName :: "comment"
  2059.         prop Visible :: 1
  2060.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2061.         prop NoGen :: 1
  2062.     }
  2063.     inst iIsUsed :: 0 { 
  2064.         prop Visible :: 0
  2065.         prop Writable :: 0
  2066.         prop NoGen :: 1
  2067.     }
  2068.     inst iId :: 0 { 
  2069.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2070.         prop Style :: 0x01
  2071.         prop Visible :: 0
  2072.         prop Writable :: 1
  2073.         prop NoGen :: 1
  2074.     }
  2075.     inst iDelUser :: "USER" { 
  2076.         prop Visible :: 0
  2077.         prop Writable :: 0
  2078.         prop NoGen :: 1
  2079.     }
  2080.     inst iDelMsg :: "ok" { 
  2081.         prop Visible :: 0
  2082.         prop Writable :: 0
  2083.         prop NoGen :: 1
  2084.     }
  2085.     inst cConfigGen :: = ((CSL.XBUS_SUPPORT == 1) && (hXbus.XBUS_INIT_ENABLE == 1) && (hXbus.XBUS_INIT == self) && (hXbus.XBUS_INIT != XBUS_NOTHING)) { 
  2086.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2087.         prop NoGen :: 1
  2088.         prop Visible :: 0
  2089.     }
  2090.     inst cConfigArg0 :: = hXbus.XBUS_INIT { 
  2091.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2092.         prop MemberType :: xbusCfg
  2093.         prop Label :: "Pre-initialize Config"
  2094.         prop Visible :: 0
  2095.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2096.         prop NoGen :: 0
  2097.         prop cPreVal :: "&"
  2098.     }
  2099.     inst XFCEN_SETUP :: "XFCLK High" { 
  2100.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2101.         prop Enum :: "XFCLK High,XFCLK Enable"
  2102.         prop Label :: "FIFO Clock Enable(XFCEN)"
  2103.         prop JSName :: "xbusXbgcXfcen"
  2104.         prop Visible :: 1
  2105.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2106.         prop NoGen :: 1
  2107.         prop TabName :: "Global Control"
  2108.         prop Set :: (self.XFCEN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2109.     }
  2110.     inst XFRAT_SETUP :: "1/8 CPU Clock Rate" { 
  2111.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2112.         prop Enum :: "1/8 CPU Clock Rate,1/6 CPU Clock Rate,1/4 CPU Clock Rate,1/2 CPU Clock Rate"
  2113.         prop Label :: "FIFO Clock Rate(XFRAT)"
  2114.         prop JSName :: "xbusXbgcXfrat"
  2115.         prop Visible :: 1
  2116.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2117.         prop NoGen :: 1
  2118.         prop TabName :: "Global Control"
  2119.         prop Set :: (self.XFRAT_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2120.     }
  2121.     inst WRSETUP0_SETUP :: 15 { 
  2122.         prop Label :: "Write Setup Width "
  2123.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2124.         prop Style :: 0x01 | 0x02
  2125.         prop JSName :: "xbusXce0ctlWrsetup"
  2126.         prop Visible :: 1
  2127.         prop Writable :: CSL.XBUS_SUPPORT
  2128.         prop NoGen :: 1
  2129.         prop TabName :: "XCE0 Space Control"
  2130.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2131.     }
  2132.     inst WRSTRB0_SETUP :: 63 { 
  2133.         prop Label :: "Write Strobe Width "
  2134.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2135.         prop Style :: 0x01 | 0x02
  2136.         prop JSName :: "xbusXce0ctlWrstrb0"
  2137.         prop Visible :: 1
  2138.         prop Writable :: CSL.XBUS_SUPPORT
  2139.         prop NoGen :: 1
  2140.         prop TabName :: "XCE0 Space Control"
  2141.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.WRSTRB0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2142.     }
  2143.     inst WRHLD0_SETUP :: 3 { 
  2144.         prop Label :: "Write Hold Width "
  2145.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2146.         prop Style :: 0x01 | 0x02
  2147.         prop JSName :: "xbusXce0ctlWrhld"
  2148.         prop Visible :: 1
  2149.         prop Writable :: CSL.XBUS_SUPPORT
  2150.         prop NoGen :: 1
  2151.         prop TabName :: "XCE0 Space Control"
  2152.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2153.     }
  2154.     inst RDSETUP0_SETUP :: 15 { 
  2155.         prop Label :: "Read Setup Width "
  2156.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2157.         prop Style :: 0x01 | 0x02
  2158.         prop JSName :: "xbusXce0ctlRdsetup"
  2159.         prop Visible :: 1
  2160.         prop Writable :: CSL.XBUS_SUPPORT
  2161.         prop NoGen :: 1
  2162.         prop TabName :: "XCE0 Space Control"
  2163.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2164.     }
  2165.     inst RDSTRB0_SETUP :: 63 { 
  2166.         prop Label :: "Read Strobe Width "
  2167.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2168.         prop Style :: 0x01 | 0x02
  2169.         prop JSName :: "xbusXce0ctlRdstrb"
  2170.         prop Visible :: 1
  2171.         prop Writable :: CSL.XBUS_SUPPORT
  2172.         prop NoGen :: 1
  2173.         prop TabName :: "XCE0 Space Control"
  2174.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.RDSTRB0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2175.     }
  2176.     inst RDHLD0_SETUP :: 3 { 
  2177.         prop Label :: "Read Hold Width "
  2178.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2179.         prop Style :: 0x01 | 0x02
  2180.         prop JSName :: "xbusXce0ctlRdhld"
  2181.         prop Visible :: 1
  2182.         prop Writable :: CSL.XBUS_SUPPORT
  2183.         prop NoGen :: 1
  2184.         prop TabName :: "XCE0 Space Control"
  2185.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.RDHLD0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok"})
  2186.     }
  2187.     inst MTYPE0_SETUP :: "32-bit async." { 
  2188.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2189.         prop Enum :: "32-bit async.,32-bit FIFO"
  2190.         prop Label :: "Memory Type(MTYPE)"
  2191.         prop JSName :: "xbusXce0ctlMtype"
  2192.         prop Visible :: 1
  2193.         prop Writable :: CSL.XBUS_SUPPORT
  2194.         prop NoGen :: 1
  2195.         prop TabName :: "XCE0 Space Control"
  2196.         prop Set :: (self.MTYPE0_SETUP = $1, self.XCE0CTL_VALUE = self.XCE0CTL_VALUE_update(), "ok")
  2197.     }
  2198.     inst WRSETUP1_SETUP :: 15 { 
  2199.         prop Label :: "Write Setup Width "
  2200.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2201.         prop Style :: 0x01 | 0x02
  2202.         prop JSName :: "xbusXce1ctlWrsetup"
  2203.         prop Visible :: 1
  2204.         prop Writable :: CSL.XBUS_SUPPORT
  2205.         prop NoGen :: 1
  2206.         prop TabName :: "XCE1 Space Control"
  2207.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2208.     }
  2209.     inst WRSTRB1_SETUP :: 63 { 
  2210.         prop Label :: "Write Strobe Width "
  2211.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2212.         prop Style :: 0x01 | 0x02
  2213.         prop JSName :: "xbusXce1ctlWrstrb"
  2214.         prop Visible :: 1
  2215.         prop Writable :: CSL.XBUS_SUPPORT
  2216.         prop NoGen :: 1
  2217.         prop TabName :: "XCE1 Space Control"
  2218.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.WRSTRB1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2219.     }
  2220.     inst WRHLD1_SETUP :: 3 { 
  2221.         prop Label :: "Write Hold Width "
  2222.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2223.         prop Style :: 0x01 | 0x02
  2224.         prop JSName :: "xbusXce1ctlWrhld"
  2225.         prop Visible :: 1
  2226.         prop Writable :: CSL.XBUS_SUPPORT
  2227.         prop NoGen :: 1
  2228.         prop TabName :: "XCE1 Space Control"
  2229.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2230.     }
  2231.     inst RDSETUP1_SETUP :: 15 { 
  2232.         prop Label :: "Read Setup Width "
  2233.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2234.         prop Style :: 0x01 | 0x02
  2235.         prop JSName :: "xbusXce1ctlRdsetup"
  2236.         prop Visible :: 1
  2237.         prop Writable :: CSL.XBUS_SUPPORT
  2238.         prop NoGen :: 1
  2239.         prop TabName :: "XCE1 Space Control"
  2240.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2241.     }
  2242.     inst RDSTRB1_SETUP :: 63 { 
  2243.         prop Label :: "Read Strobe Width "
  2244.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2245.         prop Style :: 0x01 | 0x02
  2246.         prop JSName :: "xbusXce1ctlRdstrb"
  2247.         prop Visible :: 1
  2248.         prop Writable :: CSL.XBUS_SUPPORT
  2249.         prop NoGen :: 1
  2250.         prop TabName :: "XCE1 Space Control"
  2251.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.RDSTRB1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2252.     }
  2253.     inst RDHLD1_SETUP :: 3 { 
  2254.         prop Label :: "Read Hold Width "
  2255.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2256.         prop Style :: 0x01 | 0x02
  2257.         prop JSName :: "xbusXce1ctlRdhld"
  2258.         prop Visible :: 1
  2259.         prop Writable :: CSL.XBUS_SUPPORT
  2260.         prop NoGen :: 1
  2261.         prop TabName :: "XCE1 Space Control"
  2262.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.RDHLD1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok"})
  2263.     }
  2264.     inst MTYPE1_SETUP :: "32-bit async." { 
  2265.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2266.         prop Enum :: "32-bit async.,32-bit FIFO"
  2267.         prop Label :: "Memory Type(MTYPE)"
  2268.         prop JSName :: "xbusXce1ctlMtype"
  2269.         prop Visible :: 1
  2270.         prop Writable :: CSL.XBUS_SUPPORT
  2271.         prop NoGen :: 1
  2272.         prop TabName :: "XCE1 Space Control"
  2273.         prop Set :: (self.MTYPE1_SETUP = $1, self.XCE1CTL_VALUE = self.XCE1CTL_VALUE_update(), "ok")
  2274.     }
  2275.     inst WRSETUP2_SETUP :: 15 { 
  2276.         prop Label :: "Write Setup Width "
  2277.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2278.         prop Style :: 0x01 | 0x02
  2279.         prop JSName :: "xbusXce2ctlWrsetup"
  2280.         prop Visible :: 1
  2281.         prop Writable :: CSL.XBUS_SUPPORT
  2282.         prop NoGen :: 1
  2283.         prop TabName :: "XCE2 Space Control"
  2284.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2285.     }
  2286.     inst WRSTRB2_SETUP :: 63 { 
  2287.         prop Label :: "Write Strobe Width "
  2288.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2289.         prop Style :: 0x01 | 0x02
  2290.         prop JSName :: "xbusXce2ctlWrstrb"
  2291.         prop Visible :: 1
  2292.         prop Writable :: CSL.XBUS_SUPPORT
  2293.         prop NoGen :: 1
  2294.         prop TabName :: "XCE2 Space Control"
  2295.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.WRSTRB2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2296.     }
  2297.     inst WRHLD2_SETUP :: 3 { 
  2298.         prop Label :: "Write Hold Width "
  2299.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2300.         prop Style :: 0x01 | 0x02
  2301.         prop JSName :: "xbusXce2ctlWrhld"
  2302.         prop Visible :: 1
  2303.         prop Writable :: CSL.XBUS_SUPPORT
  2304.         prop NoGen :: 1
  2305.         prop TabName :: "XCE2 Space Control"
  2306.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2307.     }
  2308.     inst RDSETUP2_SETUP :: 15 { 
  2309.         prop Label :: "Read Setup Width "
  2310.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2311.         prop Style :: 0x01 | 0x02
  2312.         prop JSName :: "xbusXce2ctlRdsetup"
  2313.         prop Visible :: 1
  2314.         prop Writable :: CSL.XBUS_SUPPORT
  2315.         prop NoGen :: 1
  2316.         prop TabName :: "XCE2 Space Control"
  2317.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2318.     }
  2319.     inst RDSTRB2_SETUP :: 63 { 
  2320.         prop Label :: "Read Strobe Width "
  2321.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2322.         prop Style :: 0x01 | 0x02
  2323.         prop JSName :: "xbusXce2ctlRdstrb"
  2324.         prop Visible :: 1
  2325.         prop Writable :: CSL.XBUS_SUPPORT
  2326.         prop NoGen :: 1
  2327.         prop TabName :: "XCE2 Space Control"
  2328.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.RDSTRB2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2329.     }
  2330.     inst RDHLD2_SETUP :: 3 { 
  2331.         prop Label :: "Read Hold Width "
  2332.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2333.         prop Style :: 0x01 | 0x02
  2334.         prop JSName :: "xbusXce2ctlRdhld"
  2335.         prop Visible :: 1
  2336.         prop Writable :: CSL.XBUS_SUPPORT
  2337.         prop NoGen :: 1
  2338.         prop TabName :: "XCE2 Space Control"
  2339.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.RDHLD2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok"})
  2340.     }
  2341.     inst MTYPE2_SETUP :: "32-bit async." { 
  2342.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2343.         prop Enum :: "32-bit async.,32-bit FIFO"
  2344.         prop Label :: "Memory Type(MTYPE)"
  2345.         prop JSName :: "xbusXce2ctlMtype"
  2346.         prop Visible :: 1
  2347.         prop Writable :: CSL.XBUS_SUPPORT
  2348.         prop NoGen :: 1
  2349.         prop TabName :: "XCE2 Space Control"
  2350.         prop Set :: (self.MTYPE2_SETUP = $1, self.XCE2CTL_VALUE = self.XCE2CTL_VALUE_update(), "ok")
  2351.     }
  2352.     inst WRSETUP3_SETUP :: 15 { 
  2353.         prop Label :: "Write Setup Width "
  2354.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2355.         prop Style :: 0x01 | 0x02
  2356.         prop JSName :: "xbusXce3ctlWrsetup"
  2357.         prop Visible :: 1
  2358.         prop Writable :: CSL.XBUS_SUPPORT
  2359.         prop NoGen :: 1
  2360.         prop TabName :: "XCE3 Space Control"
  2361.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2362.     }
  2363.     inst WRSTRB3_SETUP :: 63 { 
  2364.         prop Label :: "Write Strobe Width "
  2365.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2366.         prop Style :: 0x01 | 0x02
  2367.         prop JSName :: "xbusXce3ctlWrstrb"
  2368.         prop Visible :: 1
  2369.         prop Writable :: CSL.XBUS_SUPPORT
  2370.         prop NoGen :: 1
  2371.         prop TabName :: "XCE3 Space Control"
  2372.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.WRSTRB3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2373.     }
  2374.     inst WRHLD3_SETUP :: 3 { 
  2375.         prop Label :: "Write Hold Width "
  2376.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2377.         prop Style :: 0x01 | 0x02
  2378.         prop JSName :: "xbusXce3ctlWrhld"
  2379.         prop Visible :: 1
  2380.         prop Writable :: CSL.XBUS_SUPPORT
  2381.         prop NoGen :: 1
  2382.         prop TabName :: "XCE3 Space Control"
  2383.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2384.     }
  2385.     inst RDSETUP3_SETUP :: 15 { 
  2386.         prop Label :: "Read Setup Width "
  2387.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2388.         prop Style :: 0x01 | 0x02
  2389.         prop JSName :: "xbusXce3ctlRdsetup"
  2390.         prop Visible :: 1
  2391.         prop Writable :: CSL.XBUS_SUPPORT
  2392.         prop NoGen :: 1
  2393.         prop TabName :: "XCE3 Space Control"
  2394.         prop Set :: (if ($1 < 1 || $1 > 15) {self.error(" Minimum setup :1 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2395.     }
  2396.     inst RDSTRB3_SETUP :: 63 { 
  2397.         prop Label :: "Read Strobe Width "
  2398.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2399.         prop Style :: 0x01 | 0x02
  2400.         prop JSName :: "xbusXce3ctlRdstrb"
  2401.         prop Visible :: 1
  2402.         prop Writable :: CSL.XBUS_SUPPORT
  2403.         prop NoGen :: 1
  2404.         prop TabName :: "XCE3 Space Control"
  2405.         prop Set :: (if ($1 < 1 || $1 > 63) {self.error(" Minimum strobe :1 cycle - Maximum strobe: 63 cycles")} else {self.RDSTRB3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2406.     }
  2407.     inst RDHLD3_SETUP :: 3 { 
  2408.         prop Label :: "Read Hold Width "
  2409.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2410.         prop Style :: 0x01 | 0x02
  2411.         prop JSName :: "xbusXce3ctlRdhld"
  2412.         prop Visible :: 1
  2413.         prop Writable :: CSL.XBUS_SUPPORT
  2414.         prop NoGen :: 1
  2415.         prop TabName :: "XCE3 Space Control"
  2416.         prop Set :: (if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.RDHLD3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok"})
  2417.     }
  2418.     inst MTYPE3_SETUP :: "32-bit async." { 
  2419.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2420.         prop Enum :: "32-bit async.,32-bit FIFO"
  2421.         prop Label :: "Memory Type(MTYPE)"
  2422.         prop JSName :: "xbusXce3ctlMtype"
  2423.         prop Visible :: 1
  2424.         prop Writable :: CSL.XBUS_SUPPORT
  2425.         prop NoGen :: 1
  2426.         prop TabName :: "XCE3 Space Control"
  2427.         prop Set :: (self.MTYPE3_SETUP = $1, self.XCE3CTL_VALUE = self.XCE3CTL_VALUE_update(), "ok")
  2428.     }
  2429.     inst XFRCT_SETUP :: 0 { 
  2430.         prop Label :: "Transfer Counter(XFRCT)"
  2431.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2432.         prop Style :: 0x01 | 0x02
  2433.         prop JSName :: "xbusXbhcXfrct"
  2434.         prop Visible :: 1
  2435.         prop Writable :: CSL.XBUS_SUPPORT
  2436.         prop NoGen :: 1
  2437.         prop TabName :: "XBUS HPI Control"
  2438.         prop Set :: (if ($1 > 65535) {self.error("Maximum transfer count: 65535 elements")} else {self.XFRCT_SETUP = $1, self.XBHC_VALUE = self.XBHC_VALUE_update(), "ok"})
  2439.     }
  2440.     inst INTSRC_SETUP :: "DSPINT" { 
  2441.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2442.         prop Enum :: "DSPINT,XFRCT Counter"
  2443.         prop Label :: "Interrupt Source(INTSRC)"
  2444.         prop JSName :: "xbusXbhcIntsrc"
  2445.         prop Visible :: 1
  2446.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2447.         prop NoGen :: 1
  2448.         prop TabName :: "XBUS HPI Control"
  2449.         prop Set :: (self.INTSRC_SETUP = $1, self.XBHC_VALUE = self.XBHC_VALUE_update(), "ok")
  2450.     }
  2451.     inst START_SETUP :: "Abort Transfer" { 
  2452.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2453.         prop Enum :: "Abort Transfer,Write: XBIMA-->XBEA,Read: XBEA-->XBIMA"
  2454.         prop Label :: "Start Master Transaction(START)"
  2455.         prop JSName :: "xbusXbhcStart"
  2456.         prop Visible :: 1
  2457.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2458.         prop NoGen :: 1
  2459.         prop TabName :: "XBUS HPI Control"
  2460.         prop Set :: (self.START_SETUP = $1, self.XBHC_VALUE = self.XBHC_VALUE_update(), "ok")
  2461.     }
  2462.     inst DSPINT_SETUP :: "None" { 
  2463.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2464.         prop Enum :: "None,Clear"
  2465.         prop Label :: "External Master to DSP Interrupt(DSPINT)"
  2466.         prop JSName :: "xbusXbhcDspint"
  2467.         prop Visible :: 1
  2468.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2469.         prop NoGen :: 1
  2470.         prop TabName :: "XBUS HPI Control"
  2471.         prop Set :: (self.DSPINT_SETUP = $1, self.XBHC_VALUE = self.XBHC_VALUE_update(), "ok")
  2472.     }
  2473.     inst XBIMA_SETUP :: 0x00000000 { 
  2474.         prop Label :: "XBUS Internal Master Address(XBIMA)"
  2475.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2476.         prop Style :: 0x02
  2477.         prop Format :: "0x%08X"
  2478.         prop JSName :: "xbusXbima"
  2479.         prop Visible :: 1
  2480.         prop Writable :: CSL.XBUS_SUPPORT
  2481.         prop NoGen :: 1
  2482.         prop TabName :: "Int. Master/Ext. Addr."
  2483.         prop Set :: (self.XBIMA_SETUP = $1, self.XBIMA_VALUE = self.XBIMA_VALUE_update(), "ok")
  2484.     }
  2485.     inst XBEA_SETUP :: 0x00000000 { 
  2486.         prop Label :: "XBUS External Address(XBEA)"
  2487.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2488.         prop Style :: 0x02
  2489.         prop Format :: "0x%08X"
  2490.         prop JSName :: "xbusXbea"
  2491.         prop Visible :: 1
  2492.         prop Writable :: CSL.XBUS_SUPPORT
  2493.         prop NoGen :: 1
  2494.         prop TabName :: "Int. Master/Ext. Addr."
  2495.         prop Set :: (self.XBEA_SETUP = $1, self.XBEA_VALUE = self.XBEA_VALUE_update(), "ok")
  2496.     }
  2497.     inst GBLCTL_VALUE :: self.GBLCTL_VALUE_update() { 
  2498.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2499.         prop Label :: "Global Control Register(XBGC)"
  2500.         prop Format :: "0x%08X"
  2501.         prop JSName :: "xbusXbgc"
  2502.         prop Visible :: 1
  2503.         prop Writable :: CSL.XBUS_SUPPORT
  2504.         prop NoGen :: 0
  2505.         prop cGen :: 1
  2506.         prop cType :: "Uint32"
  2507.         prop TabName :: "Advanced"
  2508.         prop Set :: ($a = $1 & 0xFFFF0000, $b = $1 & 0x000007FF, $c = $1 & 0x00008000, $d = $1 & 0x00000800, if ($a != 0x00000000) {self.error("reserved space, bit[16..31]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[0..10]")} else {if ($c != 0x00000000) {self.error("Read only for FMOD, bit[15]")} else {if ($d != 0x00000000) {self.error("Read only for XARB, bit[11]")} else {self.GBLCTL_VALUE = $1, self.GBLCTL_SETUP_update($1), "ok"}}}})
  2509.     }
  2510.     inst XCE0CTL_VALUE :: self.XCE0CTL_VALUE_update() { 
  2511.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2512.         prop Label :: "XCE0 Space Control Register(XCE0CTL) "
  2513.         prop Format :: "0x%08X"
  2514.         prop JSName :: "xbusXcectl0"
  2515.         prop Visible :: 1
  2516.         prop Writable :: CSL.XBUS_SUPPORT
  2517.         prop NoGen :: 0
  2518.         prop cGen :: 1
  2519.         prop cType :: "Uint32"
  2520.         prop TabName :: "Advanced"
  2521.         prop Set :: ($a = $1 & 0x00000070, $b = $1 & 0x0000000C, $c = $1 & 0x00000080, $d = $1 & 0x0000C000, if (($a != 0x00000020) && ($a != 0x00000050)) {self.error("Undefined memory type for XCE spaces, bit[4..6]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[2..3]")} else {if ($c != 0x00000000) {self.error("reserved space, bit[7]")} else {if ($d != 0x00000000) {self.error("reserved space, bit[14..15]")} else {if (((($1 & 0xF0000000) >> 28) & 0xF) == 0x00000000) {self.error("Write setup width, bit[28..31], requires minimum of 1 cycle")} else {if ((($1 & 0x0FC00000) >> 22) == 0x00000000) {self.error("Write strobe width, bit[22..27], requires minimum of 1 cycle")} else {if ((($1 & 0x000F0000) >> 16) == 0x00000000) {self.error("Read setup width, bit[16..19], requires minimum of 1 cycle")} else {if ((($1 & 0x00003F00) >> 8) == 0x00000000) {self.error("Read strobe width, bit[8..13], requires minimum of 1 cycle")} else {self.XCE0CTL_VALUE = $1, self.XCE0CTL_SETUP_update($1), "ok"}}}}}}}})
  2522.     }
  2523.     inst XCE1CTL_VALUE :: self.XCE1CTL_VALUE_update() { 
  2524.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2525.         prop Label :: "XCE1 Space Control Register(XCE1CTL) "
  2526.         prop Format :: "0x%08X"
  2527.         prop JSName :: "xbusXcectl1"
  2528.         prop Visible :: 1
  2529.         prop Writable :: CSL.XBUS_SUPPORT
  2530.         prop NoGen :: 0
  2531.         prop cGen :: 1
  2532.         prop cType :: "Uint32"
  2533.         prop TabName :: "Advanced"
  2534.         prop Set :: ($a = $1 & 0x00000070, $b = $1 & 0x0000000C, $c = $1 & 0x00000080, $d = $1 & 0x0000C000, if (($a != 0x00000020) && ($a != 0x00000050)) {self.error("Undefined memory type for XCE spaces, bit[4..6]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[2..3]")} else {if ($c != 0x00000000) {self.error("reserved space, bit[7]")} else {if ($d != 0x00000000) {self.error("reserved space, bit[14..15]")} else {if (((($1 & 0xF0000000) >> 28) & 0xF) == 0x00000000) {self.error("Write setup width, bit[28..31], requires minimum of 1 cycle")} else {if ((($1 & 0x0FC00000) >> 22) == 0x00000000) {self.error("Write strobe width, bit[22..27], requires minimum of 1 cycle")} else {if ((($1 & 0x000F0000) >> 16) == 0x00000000) {self.error("Read setup width, bit[16..19], requires minimum of 1 cycle")} else {if ((($1 & 0x00003F00) >> 8) == 0x00000000) {self.error("Read strobe width, bit[8..13], requires minimum of 1 cycle")} else {self.XCE1CTL_VALUE = $1, self.XCE1CTL_SETUP_update($1), "ok"}}}}}}}})
  2535.     }
  2536.     inst XCE2CTL_VALUE :: self.XCE2CTL_VALUE_update() { 
  2537.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2538.         prop Label :: "XCE2 Space Control Register(XCE2CTL) "
  2539.         prop Format :: "0x%08X"
  2540.         prop JSName :: "xbusXcectl2"
  2541.         prop Visible :: 1
  2542.         prop Writable :: CSL.XBUS_SUPPORT
  2543.         prop NoGen :: 0
  2544.         prop cGen :: 1
  2545.         prop cType :: "Uint32"
  2546.         prop TabName :: "Advanced"
  2547.         prop Set :: ($a = $1 & 0x00000070, $b = $1 & 0x0000000C, $c = $1 & 0x00000080, $d = $1 & 0x0000C000, if (($a != 0x00000020) && ($a != 0x00000050)) {self.error("Undefined memory type for XCE spaces, bit[4..6]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[2..3]")} else {if ($c != 0x00000000) {self.error("reserved space, bit[7]")} else {if ($d != 0x00000000) {self.error("reserved space, bit[14..15]")} else {if (((($1 & 0xF0000000) >> 28) & 0xF) == 0x00000000) {self.error("Write setup width, bit[28..31], requires minimum of 1 cycle")} else {if ((($1 & 0x0FC00000) >> 22) == 0x00000000) {self.error("Write strobe width, bit[22..27], requires minimum of 1 cycle")} else {if ((($1 & 0x000F0000) >> 16) == 0x00000000) {self.error("Read setup width, bit[16..19], requires minimum of 1 cycle")} else {if ((($1 & 0x00003F00) >> 8) == 0x00000000) {self.error("Read strobe width, bit[8..13], requires minimum of 1 cycle")} else {self.XCE2CTL_VALUE = $1, self.XCE2CTL_SETUP_update($1), "ok"}}}}}}}})
  2548.     }
  2549.     inst XCE3CTL_VALUE :: self.XCE3CTL_VALUE_update() { 
  2550.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2551.         prop Label :: "XCE3 Space Control Register(XCE3CTL) "
  2552.         prop Format :: "0x%08X"
  2553.         prop JSName :: "xbusXcectl3"
  2554.         prop Visible :: 1
  2555.         prop Writable :: CSL.XBUS_SUPPORT
  2556.         prop NoGen :: 0
  2557.         prop cGen :: 1
  2558.         prop cType :: "Uint32"
  2559.         prop TabName :: "Advanced"
  2560.         prop Set :: ($a = $1 & 0x00000070, $b = $1 & 0x0000000C, $c = $1 & 0x00000080, $d = $1 & 0x0000C000, if (($a != 0x00000020) && ($a != 0x00000050)) {self.error("Undefined memory type for XCE spaces, bit[4..6]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[2..3]")} else {if ($c != 0x00000000) {self.error("reserved space, bit[7]")} else {if ($d != 0x00000000) {self.error("reserved space, bit[14..15]")} else {if (((($1 & 0xF0000000) >> 28) & 0xF) == 0x00000000) {self.error("Write setup width, bit[28..31], requires minimum of 1 cycle")} else {if ((($1 & 0x0FC00000) >> 22) == 0x00000000) {self.error("Write strobe width, bit[22..27], requires minimum of 1 cycle")} else {if ((($1 & 0x000F0000) >> 16) == 0x00000000) {self.error("Read setup width, bit[16..19], requires minimum of 1 cycle")} else {if ((($1 & 0x00003F00) >> 8) == 0x00000000) {self.error("Read strobe width, bit[8..13], requires minimum of 1 cycle")} else {self.XCE3CTL_VALUE = $1, self.XCE3CTL_SETUP_update($1), "ok"}}}}}}}})
  2561.     }
  2562.     inst XBHC_VALUE :: self.XBHC_VALUE_update() { 
  2563.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2564.         prop Label :: "XBUS HPI Control Register(XBHC)"
  2565.         prop Format :: "0x%08X"
  2566.         prop JSName :: "xbusXbhc"
  2567.         prop Visible :: 1
  2568.         prop Writable :: CSL.XBUS_SUPPORT
  2569.         prop NoGen :: 0
  2570.         prop cGen :: 1
  2571.         prop cType :: "Uint32"
  2572.         prop TabName :: "Advanced"
  2573.         prop Set :: ($a = $1 & 0x0000FFC0, $b = $1 & 0x00000004, $c = $1 & 0x00000001, $d = $1 & 0x00000018, if ($a != 0x00000000) {self.error("reserved space, bit[6..15]")} else {if ($b != 0x00000000) {self.error("reserved space, bit[2]")} else {if ($c != 0x00000000) {self.error("reserved space, bit[0]")} else {if ($d == 0x00000018) {self.error("Undefined value for START, bit[3..4]")} else {self.XBHC_VALUE = $1, self.XBHC_SETUP_update($1), "ok"}}}})
  2574.     }
  2575.     inst XBIMA_VALUE :: self.XBIMA_VALUE_update() { 
  2576.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2577.         prop Label :: "XBUS Internal Master Address Register(XBIMA)"
  2578.         prop Format :: "0x%08X"
  2579.         prop JSName :: "xbusXbimaAdv"
  2580.         prop Visible :: 1
  2581.         prop Writable :: CSL.XBUS_SUPPORT
  2582.         prop NoGen :: 0
  2583.         prop cGen :: 1
  2584.         prop cType :: "Uint32"
  2585.         prop TabName :: "Advanced"
  2586.         prop Set :: (self.XBIMA_VALUE = $1, self.XBIMA_SETUP_update($1), "ok")
  2587.     }
  2588.     inst XBEA_VALUE :: self.XBEA_VALUE_update() { 
  2589.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2590.         prop Label :: "XBUS External Address Register(XBEA)"
  2591.         prop Format :: "0x%08X"
  2592.         prop JSName :: "xbusXbeaAdv"
  2593.         prop Visible :: 1
  2594.         prop Writable :: CSL.XBUS_SUPPORT
  2595.         prop NoGen :: 0
  2596.         prop cGen :: 1
  2597.         prop cType :: "Uint32"
  2598.         prop TabName :: "Advanced"
  2599.         prop Set :: (self.XBEA_VALUE = $1, self.XBEA_SETUP_update($1), "ok")
  2600.     }
  2601. }
  2602. type hXbus {
  2603.     prop IsContainedIn :: XBUSFOLDER
  2604.     prop name :: "hXbus"
  2605.     prop Label :: "XBUS Resource Manager"
  2606.     prop JSName :: "HXBUS"
  2607.     prop GlobalPropertyPage :: "{980E6520-6246-11d4-B5CC-0050DA2E2CC0}"
  2608.     prop InstancePropertyPage :: "{980E6521-6246-11d4-B5CC-0050DA2E2CC0}"
  2609.     prop GlobalIcon :: 163
  2610.     prop InstanceIcon :: 164
  2611.     prop NoGen :: 1
  2612.     prop cGen :: CSL.XBUS_SUPPORT
  2613.     prop GlobalHelpTopic :: 1072
  2614.     global XBUS_INIT_ENABLE :: 0 { 
  2615.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2616.         prop Label :: "Enable Pre-Initialization"
  2617.         prop JSName :: "xbusEnablePreInit"
  2618.         prop Visible :: 1
  2619.         prop Writable :: if (CSL.XBUS_SUPPORT == 1) {1} else {0}
  2620.         prop NoGen :: 0
  2621.         prop Set :: ($a = 0, scan ($b; xbusCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.XBUS_INIT == XBUS_NOTHING) {" You must create a new configuration object"} else {self.XBUS_INIT_ENABLE = $1, "ok"})
  2622.     }
  2623.     global XBUS_INIT :: XBUS_NOTHING { 
  2624.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2625.         prop MemberType :: xbusCfg
  2626.         prop Label :: " Pre-Initialize with"
  2627.         prop JSName :: "xbusPreInit"
  2628.         prop Visible :: 1
  2629.         prop Writable :: if ((CSL.XBUS_SUPPORT == 1) && (self.XBUS_INIT_ENABLE == 1)) {1} else {0}
  2630.     }
  2631. }
  2632. object XBUS_NOTHING :: xbusCfg {
  2633.     param iComment :: "<add comments here>"
  2634.     param iIsUsed :: 0
  2635.     param iId :: 0
  2636.     param iDelUser :: "USER"
  2637.     param iDelMsg :: "ok"
  2638.     param XFCEN_SETUP :: "XFCLK High"
  2639.     param XFRAT_SETUP :: "1/8 CPU Clock Rate"
  2640.     param WRSETUP0_SETUP :: 15
  2641.     param WRSTRB0_SETUP :: 63
  2642.     param WRHLD0_SETUP :: 3
  2643.     param RDSETUP0_SETUP :: 15
  2644.     param RDSTRB0_SETUP :: 63
  2645.     param RDHLD0_SETUP :: 3
  2646.     param MTYPE0_SETUP :: "32-bit async."
  2647.     param WRSETUP1_SETUP :: 15
  2648.     param WRSTRB1_SETUP :: 63
  2649.     param WRHLD1_SETUP :: 3
  2650.     param RDSETUP1_SETUP :: 15
  2651.     param RDSTRB1_SETUP :: 63
  2652.     param RDHLD1_SETUP :: 3
  2653.     param MTYPE1_SETUP :: "32-bit async."
  2654.     param WRSETUP2_SETUP :: 15
  2655.     param WRSTRB2_SETUP :: 63
  2656.     param WRHLD2_SETUP :: 3
  2657.     param RDSETUP2_SETUP :: 15
  2658.     param RDSTRB2_SETUP :: 63
  2659.     param RDHLD2_SETUP :: 3
  2660.     param MTYPE2_SETUP :: "32-bit async."
  2661.     param WRSETUP3_SETUP :: 15
  2662.     param WRSTRB3_SETUP :: 63
  2663.     param WRHLD3_SETUP :: 3
  2664.     param RDSETUP3_SETUP :: 15
  2665.     param RDSTRB3_SETUP :: 63
  2666.     param RDHLD3_SETUP :: 3
  2667.     param MTYPE3_SETUP :: "32-bit async."
  2668.     param XFRCT_SETUP :: 0
  2669.     param INTSRC_SETUP :: "DSPINT"
  2670.     param START_SETUP :: "Abort Transfer"
  2671.     param DSPINT_SETUP :: "None"
  2672.     param XBIMA_SETUP :: 0
  2673.     param XBEA_SETUP :: 0
  2674.     param GBLCTL_VALUE :: 0
  2675.     param XCE0CTL_VALUE :: -49373
  2676.     param XCE1CTL_VALUE :: -49373
  2677.     param XCE2CTL_VALUE :: -49373
  2678.     param XCE3CTL_VALUE :: -49373
  2679.     param XBHC_VALUE :: 0
  2680.     param XBIMA_VALUE :: 0
  2681.     param XBEA_VALUE :: 0
  2682. }