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

DSP编程

开发平台:

C/C++

  1.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.TA2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2.     }
  3.     inst MTYPE3_SETUP :: = (if (!CSL.CHIP_6712) {"32-bit async. interf."} else {" 8-bit async. interf."}) { 
  4.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  5.         prop Enum :: " 8-bit async. interf.,16-bit async. interf.,32-bit async. interf., 8-bit SDRAM,16-bit SDRAM,32-bit SDRAM, 8-bit SBSRAM,16-bit SBSRAM,32-bit SBSRAM"
  6.         prop Label :: "Memory Type (MTYPE)"
  7.         prop JSName :: "emifCectl3Mtype"
  8.         prop Visible :: 1
  9.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  10.         prop NoGen :: 1
  11.         prop TabName :: "CE3 Space"
  12.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 == " 8-bit async. interf." || $1 == "16-bit async. interf.") {self.error("Memory type available for 6211/671x only")} else {if ($1 == " 8-bit SDRAM" || $1 == "16-bit SDRAM") {self.error("Memory type available for 6211/671x only")} else {if ($1 == " 8-bit SBSRAM" || $1 == "16-bit SBSRAM") {self.error("Memory type available for 6211/671x only")} else {self.MTYPE3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}}}} else {if (CSL.CHIP_6712 && ($1 == "32-bit SBSRAM" || $1 == "32-bit SDRAM" || $1 == "32-bit async. interf.")) {self.error(" 6712 supports 16-bit EMIF only")} else {self.MTYPE3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}})
  13.     }
  14.     inst RDSTRB3_SETUP :: 63 { 
  15.         prop Label :: "Read Strobe Width "
  16.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  17.         prop Style :: 0x01 | 0x02
  18.         prop JSName :: "emifCectl3ReadStrobe"
  19.         prop Visible :: 1
  20.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  21.         prop NoGen :: 1
  22.         prop TabName :: "CE3 Space"
  23.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycles")} else {self.RDSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  24.     }
  25.     inst RDSETUP3_SETUP :: 15 { 
  26.         prop Label :: "Read Setup Width "
  27.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  28.         prop Style :: 0x01 | 0x02
  29.         prop JSName :: "emifCectl3ReadSetup"
  30.         prop Visible :: 1
  31.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  32.         prop NoGen :: 1
  33.         prop TabName :: "CE3 Space"
  34.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  35.     }
  36.     inst RDHLD3_SETUP :: 3 { 
  37.         prop Label :: "Read Hold Width "
  38.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  39.         prop Style :: 0x01 | 0x02
  40.         prop JSName :: "emifCectl3ReadHold"
  41.         prop Visible :: 1
  42.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  43.         prop NoGen :: 1
  44.         prop TabName :: "CE3 Space"
  45.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}})
  46.     }
  47.     inst WRSTRB3_SETUP :: 63 { 
  48.         prop Label :: "Write Strobe Width "
  49.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  50.         prop Style :: 0x01 | 0x02
  51.         prop JSName :: "emifCectl3WriteStrobe"
  52.         prop Visible :: 1
  53.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  54.         prop NoGen :: 1
  55.         prop TabName :: "CE3 Space"
  56.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycles")} else {self.WRSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  57.     }
  58.     inst WRSETUP3_SETUP :: 15 { 
  59.         prop Label :: "Write Setup Width "
  60.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  61.         prop Style :: 0x01 | 0x02
  62.         prop JSName :: "emifCectl3WriteSetup"
  63.         prop Visible :: 1
  64.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  65.         prop NoGen :: 1
  66.         prop TabName :: "CE3 Space"
  67.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  68.     }
  69.     inst WRHLD3_SETUP :: 3 { 
  70.         prop Label :: "Write Hold Width "
  71.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  72.         prop Style :: 0x01 | 0x02
  73.         prop JSName :: "emifCectl3WriteHold"
  74.         prop Visible :: 1
  75.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  76.         prop NoGen :: 1
  77.         prop TabName :: "CE3 Space"
  78.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycles")} else {self.WRHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}})
  79.     }
  80.     inst TA3_SETUP :: 3 { 
  81.         prop Label :: "Turn around time (TA) "
  82.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  83.         prop Style :: 0x01 | 0x02
  84.         prop JSName :: "emifCectl3Ta"
  85.         prop Visible :: 1
  86.         prop Writable :: (CSL.EMIF_SUPPORT) && (if (CSL.C11_SUPPORT) {1} else {0})
  87.         prop NoGen :: 1
  88.         prop TabName :: "CE3 Space"
  89.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.TA3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  90.     }
  91.     inst TRC_SETUP :: 15 { 
  92.         prop Label :: "TRC = trc/(clk period-1) (TRC) "
  93.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  94.         prop Style :: 0x01 | 0x02
  95.         prop JSName :: "emifSdctlTrc"
  96.         prop Visible :: 1
  97.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  98.         prop NoGen :: 1
  99.         prop TabName :: "SDRAM Control"
  100.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRC = 0 - Maximum TRC = 15 ")} else {self.TRC_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  101.     }
  102.     inst TRP_SETUP :: 8 { 
  103.         prop Label :: "TRP = trp/(clk period-1) (TRP) "
  104.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  105.         prop Style :: 0x01 | 0x02
  106.         prop JSName :: "emifSdctlTrp"
  107.         prop Visible :: 1
  108.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  109.         prop NoGen :: 1
  110.         prop TabName :: "SDRAM Control"
  111.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRP = 0 - Maximum TRP= 15 ")} else {self.TRP_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  112.     }
  113.     inst TRCD_SETUP :: self.TRCD_Init { 
  114.         prop Label :: "TRCD = trcd/(clk period-1) (TRCD) "
  115.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  116.         prop Style :: 0x01 | 0x02
  117.         prop JSName :: "emifSdctlTrcd"
  118.         prop Visible :: 1
  119.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  120.         prop NoGen :: 1
  121.         prop TabName :: "SDRAM Control"
  122.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRCD = 0 - Maximum TRCD= 15 ")} else {self.TRCD_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  123.     }
  124.     inst INIT_SETUP :: "Initialize" { 
  125.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  126.         prop Enum :: "Initialize,No effect"
  127.         prop Label :: "Initialization of all SDRAMs (INIT)"
  128.         prop JSName :: "emifSdctlInit"
  129.         prop Visible :: 1
  130.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  131.         prop NoGen :: 1
  132.         prop TabName :: "SDRAM Control"
  133.         prop Set :: (self.INIT_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  134.     }
  135.     inst RFEN_SETUP :: "Enable" { 
  136.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  137.         prop Enum :: "Enable,Disable"
  138.         prop Label :: "SDRAM Refresh Enable (RFEN)"
  139.         prop JSName :: "emifSdctlRfen"
  140.         prop Visible :: 1
  141.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  142.         prop NoGen :: 1
  143.         prop TabName :: "SDRAM Control"
  144.         prop Set :: (self.RFEN_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  145.     }
  146.     inst SDWID_SETUP :: "Four 8-bit SDRAMs" { 
  147.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  148.         prop Enum :: "Four 8-bit SDRAMs,Two 16-bit SDRAMs"
  149.         prop Label :: "Width Select (SDWID)"
  150.         prop JSName :: "emifSdctlSdwid"
  151.         prop Visible :: if ((!CSL.C11_SUPPORT)) {1} else {0}
  152.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((!CSL.C11_SUPPORT)) {1} else {0}
  153.         prop NoGen :: 1
  154.         prop TabName :: "SDRAM Control"
  155.         prop Set :: (self.SDWID_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  156.     }
  157.     inst PERIOD_SETUP1 :: 64 { 
  158.         prop Label :: "Refresh Period (CLKOUT2 cycles)"
  159.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  160.         prop Style :: 0x01 | 0x02
  161.         prop JSName :: "emifSdtimClk2Period"
  162.         prop Visible :: if ((!CSL.C11_SUPPORT)) {1} else {0}
  163.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((!CSL.C11_SUPPORT)) {1} else {0}
  164.         prop NoGen :: 1
  165.         prop TabName :: "SDRAM Control"
  166.         prop Set :: (if ($1 < 1 || $1 > 4095) {self.error("Refresh Period range [1..4095] clk. cycl.")} else {self.PERIOD_SETUP1 = $1, self.SDTIM_VALUE = self.SDTIM_VALUE_update(), "ok"})
  167.     }
  168.     inst SDCSZ_SETUP :: " 9 addresses" { 
  169.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  170.         prop Enum :: " 9 addresses, 8 addresses,10 addresses"
  171.         prop Label :: "Column Size (SDCSZ)"
  172.         prop JSName :: "emifSdctlSdcsz"
  173.         prop Visible :: if ((CSL.C11_SUPPORT)) {1} else {0}
  174.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  175.         prop NoGen :: 1
  176.         prop TabName :: "SDRAM Control"
  177.         prop Set :: (self.SDCSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  178.     }
  179.     inst SDRSZ_SETUP :: "11 addresses" { 
  180.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  181.         prop Enum :: "11 addresses,12 addresses,13 addresses"
  182.         prop Label :: "Row Size (SDRSZ)"
  183.         prop JSName :: "emifSdctlSdrsz"
  184.         prop Visible :: if ((CSL.C11_SUPPORT)) {1} else {0}
  185.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  186.         prop NoGen :: 1
  187.         prop TabName :: "SDRAM Control"
  188.         prop Set :: (self.SDRSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  189.     }
  190.     inst SDBSZ_SETUP :: "Two banks" { 
  191.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  192.         prop Enum :: "Two banks,Four banks"
  193.         prop Label :: "Bank Size (SDBSZ)"
  194.         prop JSName :: "emifSdctlSdbsz"
  195.         prop Visible :: if ((CSL.C11_SUPPORT)) {1} else {0}
  196.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  197.         prop NoGen :: 1
  198.         prop TabName :: "SDRAM Control"
  199.         prop Set :: (self.SDBSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  200.     }
  201.     inst PERIOD_SETUP2 :: 1500 { 
  202.         prop Label :: "Refresh Period (ECLKOUT cycles)"
  203.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  204.         prop Style :: 0x01 | 0x02
  205.         prop JSName :: "emifSdtimEclkPeriod"
  206.         prop Visible :: if ((CSL.C11_SUPPORT)) {1} else {0}
  207.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  208.         prop NoGen :: 1
  209.         prop TabName :: "SDRAM Control"
  210.         prop Set :: (if ($1 < 1 || $1 > 4096) {self.error("1 cyc. < PERIOD < 4096 cyc. ")} else {self.PERIOD_SETUP2 = $1, self.SDTIM_VALUE = self.SDTIM_VALUE_update(), "ok"})
  211.     }
  212.     inst XRFR_SETUP :: 1 { 
  213.         prop Label :: "Extra Refreshes Ctrl. (XRFR)"
  214.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  215.         prop Style :: 0x01 | 0x02
  216.         prop JSName :: "emifSdctlXrfr"
  217.         prop Visible :: if ((CSL.C11_SUPPORT)) {1} else {0}
  218.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  219.         prop NoGen :: 1
  220.         prop TabName :: "SDRAM Control"
  221.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < Extra refreshes < 4 ")} else {self.XRFR_SETUP = $1, self.SDTIM_VALUE = self.SDTIM_VALUE_update(), "ok"})
  222.     }
  223.     inst TCL_SETUP :: 3 { 
  224.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  225.         prop Label :: "CAS Latency (TCL)"
  226.         prop Style :: 0x01 | 0x02
  227.         prop JSName :: "emifSdextTcl"
  228.         prop Visible :: 1
  229.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  230.         prop NoGen :: 1
  231.         prop TabName :: "SDRAM More Opt."
  232.         prop Set :: (if ($1 < 2 || $1 > 3) {self.error("TCL : 2 or 3 ECLKOUT cycles ")} else {self.TCL_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  233.     }
  234.     inst TRAS_SETUP :: 8 { 
  235.         prop Label :: "tras = TRAS + 1 (ECLKOUT cyc.)"
  236.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  237.         prop Style :: 0x01 | 0x02
  238.         prop JSName :: "emifSdextTras"
  239.         prop Visible :: 1
  240.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  241.         prop NoGen :: 1
  242.         prop TabName :: "SDRAM More Opt."
  243.         prop Set :: (if ($1 < 1 || $1 > 8) {self.error("1 ECLKOUT cycle < tras < 8 ECLKOUT cycles ")} else {self.TRAS_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  244.     }
  245.     inst TRRD_SETUP :: 3 { 
  246.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  247.         prop Style :: 0x01 | 0x02
  248.         prop Label :: "trrd = TRRD (2 or 3 ECLKOUT cyc.)"
  249.         prop JSName :: "emifSdextTrrd"
  250.         prop Visible :: 1
  251.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  252.         prop NoGen :: 1
  253.         prop TabName :: "SDRAM More Opt."
  254.         prop Set :: (if ($1 < 2 || $1 > 3) {self.error("TRRD : 2 or 3 ECLKOUT cycles ")} else {self.TRRD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  255.     }
  256.     inst TWR_SETUP :: 2 { 
  257.         prop Label :: "twr  = TWR + 1 (ECLKOUT cyc.)"
  258.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  259.         prop Style :: 0x01 | 0x02
  260.         prop JSName :: "emifSdextTwr"
  261.         prop Visible :: 1
  262.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  263.         prop NoGen :: 1
  264.         prop TabName :: "SDRAM More Opt."
  265.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 ECLKOUT cycle < twr < 4 ECLKOUT cycles ")} else {self.TWR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  266.     }
  267.     inst THZP_SETUP :: 3 { 
  268.         prop Label :: "thzp = THZP + 1 (ECLKOUT cyc.)"
  269.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  270.         prop Style :: 0x01 | 0x02
  271.         prop JSName :: "emifSdextThzp"
  272.         prop Visible :: 1
  273.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  274.         prop NoGen :: 1
  275.         prop TabName :: "SDRAM More Opt."
  276.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 ECLKOUT cycle < thzp < 4 ECLKOUT cycles ")} else {self.THZP_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  277.     }
  278.     inst RD2RD_SETUP :: 2 { 
  279.         prop Label :: "READ-To-READ (ECLKOUT cyc.)"
  280.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  281.         prop Style :: 0x01 | 0x02
  282.         prop JSName :: "emifSdextRd2rd"
  283.         prop Visible :: 1
  284.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  285.         prop NoGen :: 1
  286.         prop TabName :: "SDRAM More Opt."
  287.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOUT cycles < 2  ")} else {self.RD2RD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  288.     }
  289.     inst RD2DEAC_SETUP :: 4 { 
  290.         prop Label :: "READ-To-DEAC/DEAB (ECLKOUT cyc.)"
  291.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  292.         prop Style :: 0x01 | 0x02
  293.         prop JSName :: "emifSdextRd2deac"
  294.         prop Visible :: 1
  295.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  296.         prop NoGen :: 1
  297.         prop TabName :: "SDRAM More Opt."
  298.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of ECLKOUT cycles < 4  ")} else {self.RD2DEAC_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  299.     }
  300.     inst RD2WR_SETUP :: 6 { 
  301.         prop Label :: "READ-To-WRITE (ECLKOUT cyc.)"
  302.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  303.         prop Style :: 0x01 | 0x02
  304.         prop JSName :: "emifSdextRd2wr"
  305.         prop Visible :: 1
  306.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  307.         prop NoGen :: 1
  308.         prop TabName :: "SDRAM More Opt."
  309.         prop Set :: (if ($1 < 1 || $1 > 8) {self.error("1 < # of ECLKOUT cycles < 8  ")} else {self.RD2WR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  310.     }
  311.     inst R2WDQM_SETUP :: 4 { 
  312.         prop Label :: "READ-To-WRITE with Interrupt (BEx cyc.)"
  313.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  314.         prop Style :: 0x01 | 0x02
  315.         prop JSName :: "emifSdextR2wdqm"
  316.         prop Visible :: 1
  317.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  318.         prop NoGen :: 1
  319.         prop TabName :: "SDRAM More Opt."
  320.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of Bex cycles < 4  ")} else {self.R2WDQM_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  321.     }
  322.     inst WR2WR_SETUP :: 2 { 
  323.         prop Label :: "WRITE-To-WRITE (ECLKOUT cyc.)"
  324.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  325.         prop Style :: 0x01 | 0x02
  326.         prop JSName :: "emifSdextWr2wr"
  327.         prop Visible :: 1
  328.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  329.         prop NoGen :: 1
  330.         prop TabName :: "SDRAM More Opt."
  331.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOUT cycles < 2  ")} else {self.WR2WR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  332.     }
  333.     inst WR2DEAC_SETUP :: 2 { 
  334.         prop Label :: "WRITE-To-DEAC/DEAB (ECLKOUT cyc.)"
  335.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  336.         prop Style :: 0x01 | 0x02
  337.         prop JSName :: "emifSdextWr2deac"
  338.         prop Visible :: 1
  339.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  340.         prop NoGen :: 1
  341.         prop TabName :: "SDRAM More Opt."
  342.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of ECLKOUT cycles < 4  ")} else {self.WR2DEAC_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  343.     }
  344.     inst WR2RD_SETUP :: 2 { 
  345.         prop Label :: "WRITE-To-READ (# of ECLKOUT cyc.)"
  346.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  347.         prop Style :: 0x01 | 0x02
  348.         prop JSName :: "emifSdextWr2rd"
  349.         prop Visible :: 1
  350.         prop Writable :: if (CSL.EMIF_SUPPORT) && ((CSL.C11_SUPPORT)) {1} else {0}
  351.         prop NoGen :: 1
  352.         prop TabName :: "SDRAM More Opt."
  353.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOUT cycles < 2  ")} else {self.WR2RD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  354.     }
  355.     inst GBLCTL_VALUE :: self.GBLCTL_VALUE_update() { 
  356.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  357.         prop Label :: "Global Control Reg. (GBLCTL) "
  358.         prop Format :: "0x%08X"
  359.         prop JSName :: "emifGblctl"
  360.         prop Visible :: 1
  361.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  362.         prop NoGen :: 0
  363.         prop cGen :: 1
  364.         prop cType :: "Uint32"
  365.         prop TabName :: "Advanced"
  366.         prop Set :: (if (CSL.C11_SUPPORT) {$a = $1 & 0xFFFFC000, if ($a != 0) {self.error("Bit field(bit[14..31]) is reserved")} else {$b = $1 & 0x00000007, if ($b != 0) {self.error("Bit field(bit[0..2]) is reserved")} else {self.GBLCTL_VALUE = $1 | 0x0003000 | 0x00000060, self.GBLCTL_SETUP_update($1 | 0x0003000 | 0x00000060), "ok"}}} else {if (CSL.CHIP_6202 || CSL.CHIP_6203 || CSL.CHIP_6204 || CSL.CHIP_6205) {$c = $1 & 0xFFFFC000, if ($c != 0) {self.error("Bit field(bit[14..31]) is reserved")} else {$d = $1 & 0x00000800, if ($d != 0) {self.error("Bit field 11 is reserved")} else {$e = $1 & 0x00000004, if ($e != 0) {self.error("Bit field 2 is reserved")} else {self.GBLCTL_VALUE = $1 | 0x0003000, self.GBLCTL_SETUP_update($1 | 0x0003000), "ok"}}}} else {if (CSL.CHIP_6201 || CSL.CHIP_6701) {$f = $1 & 0xFFFFC000, if ($f != 0) {self.error("Bit field(bit[14..31]) is reserved")} else {$g = $1 & 0x00000800, if ($g != 0) {self.error("Bit field 11 is reserved")} else {self.GBLCTL_VALUE = $1 | 0x0003000, self.GBLCTL_SETUP_update($1 | 0x0003000), "ok"}}} }})
  367.     }
  368.     inst CECTL0_VALUE :: self.CECTL0_VALUE_update() { 
  369.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  370.         prop Label :: "CE0 Space Control Reg. (CECTL0) "
  371.         prop Format :: "0x%08X"
  372.         prop JSName :: "emifCectl0"
  373.         prop Visible :: 1
  374.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  375.         prop NoGen :: 0
  376.         prop cGen :: 1
  377.         prop cType :: "Uint32"
  378.         prop TabName :: "Advanced"
  379.         prop Set :: ($a = $1 & 0x00000070, if ($a == 0x00000070 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if (CSL.C11_SUPPORT) {$b = $1 & 0x000000F0, if ($b == 0x000000C0 || $b == 0x000000D0 || $b == 0x000000E0 || $b == 0x000000F0) {self.error("Undefined Memory type for CEx Spaces - See CEx Space Pages")} else {$g = $1 & 0x00000008, if ($g != 0) {self.error("Bit field 3 is reserved")} else {self.CECTL0_VALUE = $1, self.CECTL0_SETUP_update($1), "ok"}}} else {$c = $1 & 0x00000070, if ($c == 0x00000000 || $c == 0x00000010) {self.error("Undefined Memory type for CE0 Space - See CE0 Space Page")} else {$d = $1 & 0x0000C000, if ($d != 0) {self.error("Bit field(bit[14..15]) is reserved")} else {$e = $1 & 0x00000080, if ($e != 0) {self.error("Bit field 7 is reserved")} else {$f = $1 & 0x0000000C, if ($f != 0) {self.error("Bit field(bit[2..3]) is reserved")} else {self.CECTL0_VALUE = $1, self.CECTL0_SETUP_update($1), "ok"}}}}}})
  380.     }
  381.     inst CECTL1_VALUE :: self.CECTL1_VALUE_update() { 
  382.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  383.         prop Label :: "CE1 Space Control Reg. (CECTL1) "
  384.         prop Format :: "0x%08X"
  385.         prop JSName :: "emifCectl1"
  386.         prop Visible :: 1
  387.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  388.         prop NoGen :: 0
  389.         prop cGen :: 1
  390.         prop cType :: "Uint32"
  391.         prop TabName :: "Advanced"
  392.         prop Set :: ($a = $1 & 0x00000070, if ($a == 0x00000070 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if (CSL.C11_SUPPORT) {$b = $1 & 0x000000F0, if ($b == 0x000000C0 || $b == 0x000000D0 || $b == 0x000000E0 || $b == 0x000000F0) {self.error("Undefined Memory type for CEx Spaces - See CEx Space Pages")} else {$g = $1 & 0x00000008, if ($g != 0) {self.error("Bit field 3 is reserved")} else {self.CECTL1_VALUE = $1, self.CECTL1_SETUP_update($1), "ok"}}} else {$c = $1 & 0x00000070, if ($c == 0x00000030) {self.error("Undefined Memory type for CE1 Space - See CE1 Space Page")} else {$d = $1 & 0x0000C000, if ($d != 0) {self.error("Bit field(bit[14..15]) is reserved")} else {$e = $1 & 0x00000080, if ($e != 0) {self.error("Bit field 7 is reserved")} else {$f = $1 & 0x0000000C, if ($f != 0) {self.error("Bit field(bit[2..3]) is reserved")} else {self.CECTL1_VALUE = $1, self.CECTL1_SETUP_update($1), "ok"}}}}}})
  393.     }
  394.     inst CECTL2_VALUE :: self.CECTL2_VALUE_update() { 
  395.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  396.         prop Label :: "CE2 Space Control Reg. (CECTL2) "
  397.         prop Format :: "0x%08X"
  398.         prop JSName :: "emifCectl2"
  399.         prop Visible :: 1
  400.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  401.         prop NoGen :: 0
  402.         prop cGen :: 1
  403.         prop cType :: "Uint32"
  404.         prop TabName :: "Advanced"
  405.         prop Set :: ($a = $1 & 0x00000070, if ($a == 0x00000070 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if (CSL.C11_SUPPORT) {$b = $1 & 0x000000F0, if ($b == 0x000000C0 || $b == 0x000000D0 || $b == 0x000000E0 || $b == 0x000000F0) {self.error("Undefined Memory type for CEx Spaces - See CEx Space Pages")} else {$g = $1 & 0x00000008, if ($g != 0) {self.error("Bit field 3 is reserved")} else {self.CECTL2_VALUE = $1, self.CECTL2_SETUP_update($1), "ok"}}} else {$c = $1 & 0x00000070, if ($c == 0x00000000 || $c == 0x00000010) {self.error("Undefined Memory type for CE2 Space - See CE2 Space Page")} else {$d = $1 & 0x0000C000, if ($d != 0) {self.error("Bit field(bit[14..15]) is reserved")} else {$e = $1 & 0x00000080, if ($e != 0) {self.error("Bit field 7 is reserved")} else {$f = $1 & 0x0000000C, if ($f != 0) {self.error("Bit field(bit[2..3]) is reserved")} else {self.CECTL2_VALUE = $1, self.CECTL2_SETUP_update($1), "ok"}}}}}})
  406.     }
  407.     inst CECTL3_VALUE :: self.CECTL3_VALUE_update() { 
  408.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  409.         prop Label :: "CE3 Space Control Reg. (CECTL3) "
  410.         prop Format :: "0x%08X"
  411.         prop JSName :: "emifCectl3"
  412.         prop Visible :: 1
  413.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  414.         prop NoGen :: 0
  415.         prop cGen :: 1
  416.         prop cType :: "Uint32"
  417.         prop TabName :: "Advanced"
  418.         prop Set :: ($a = $1 & 0x00000070, if ($a == 0x00000070 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if (CSL.C11_SUPPORT) {$b = $1 & 0x000000F0, if ($b == 0x000000C0 || $b == 0x000000D0 || $b == 0x000000E0 || $b == 0x000000F0) {self.error("Undefined Memory type for CEx Spaces - See CEx Space Pages")} else {$g = $1 & 0x00000008, if ($g != 0) {self.error("Bit field 3 is reserved")} else {self.CECTL3_VALUE = $1, self.CECTL3_SETUP_update($1), "ok"}}} else {$c = $1 & 0x00000070, if ($c == 0x00000000 || $c == 0x00000010) {self.error("Undefined Memory type for CE3 Space - See CE3 Space Page")} else {$d = $1 & 0x0000C000, if ($d != 0) {self.error("Bit field(bit[14..15]) is reserved")} else {$e = $1 & 0x00000080, if ($e != 0) {self.error("Bit field 7 is reserved")} else {$f = $1 & 0x0000000C, if ($f != 0) {self.error("Bit field(bit[2..3]) is reserved")} else {self.CECTL3_VALUE = $1, self.CECTL3_SETUP_update($1), "ok"}}}}}})
  419.     }
  420.     inst SDCTL_VALUE :: self.SDCTL_VALUE_update() { 
  421.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  422.         prop Label :: "SDRAM Control Reg.(SDCTL) "
  423.         prop Format :: "0x%08X"
  424.         prop JSName :: "emifSdctl"
  425.         prop Visible :: 1
  426.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  427.         prop NoGen :: 0
  428.         prop cGen :: 1
  429.         prop cType :: "Uint32"
  430.         prop TabName :: "Advanced"
  431.         prop Set :: ($a = $1 & 0x0c000000, if ($a == 0x0c000000) {self.error("Undefined Value for Colum Size field SDCSZ")} else {$b = $1 & 0x30000000, if ($b == 0x30000000) {self.error("Undefined Value for Row Size field SDRSZ")} else {self.SDCTL_VALUE = $1, self.SDCTL_SETUP_update($1), "ok"}})
  432.     }
  433.     inst SDTIM_VALUE :: self.SDTIM_VALUE_update() { 
  434.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  435.         prop Label :: "SDRAM Timing Reg.(SDTIM) "
  436.         prop Format :: "0x%08X"
  437.         prop JSName :: "emifSdtim"
  438.         prop Visible :: 1
  439.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  440.         prop NoGen :: 0
  441.         prop cGen :: 1
  442.         prop cType :: "Uint32"
  443.         prop TabName :: "Advanced"
  444.         prop Set :: (self.SDTIM_VALUE = $1, self.SDTIM_SETUP_update($1), "ok")
  445.     }
  446.     inst SDEXT_VALUE :: self.SDEXT_VALUE_update() { 
  447.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  448.         prop Label :: "SDRAM Extended Reg.(SDEXT) "
  449.         prop Format :: "0x%08X"
  450.         prop JSName :: "emifSdext"
  451.         prop Visible :: 1
  452.         prop Writable :: if (CSL.EMIF_SUPPORT) && (CSL.C11_SUPPORT) {1} else {0}
  453.         prop NoGen :: 0
  454.         prop cGen :: if (CSL.C11_SUPPORT) {1} else {0}
  455.         prop cType :: "Uint32"
  456.         prop TabName :: "Advanced"
  457.         prop Set :: (self.SDEXT_VALUE = $1, self.SDEXT_SETUP_update($1), "ok")
  458.     }
  459. }
  460. type hEmif {
  461.     prop IsContainedIn :: EMIFFOLDER
  462.     prop name :: "hEmif"
  463.     prop Label :: "EMIF Resource Manager"
  464.     prop JSName :: "HEMIF"
  465.     prop NoGen :: 1
  466.     prop GlobalPropertyPage :: "{980E6520-6246-11d4-B5CC-0050DA2E2CC0}"
  467.     prop InstancePropertyPage :: "{980E6521-6246-11d4-B5CC-0050DA2E2CC0}"
  468.     prop GlobalIcon :: 163
  469.     prop InstanceIcon :: 164
  470.     prop GlobalHelpTopic :: (1042)
  471.     prop cGen :: 1
  472.     global EMIF_INIT_ENABLE :: 0 { 
  473.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  474.         prop Label :: "Enable Pre-Initialization"
  475.         prop JSName :: "emifEnablePreInit"
  476.         prop Visible :: 1
  477.         prop Writable :: (CSL.EMIF_SUPPORT) && 1
  478.         prop NoGen :: 0
  479.         prop Set :: ($a = 0, scan ($b; emifCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.EMIF_INIT == EMIF_NOTHING) {" You must create a new configuration object"} else {self.EMIF_INIT_ENABLE = $1, if ($1 == 0) {self.EMIF_INIT = EMIF_NOTHING} , "ok"})
  480.     }
  481.     global EMIF_INIT :: EMIF_NOTHING { 
  482.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  483.         prop MemberType :: emifCfg
  484.         prop Label :: " Pre-Initialize with"
  485.         prop JSName :: "emifPreInit"
  486.         prop Visible :: 1
  487.         prop Writable :: if (CSL.EMIF_SUPPORT) && (self.EMIF_INIT_ENABLE == 1) {1} else {0}
  488.     }
  489. }
  490. object EMIF_NOTHING :: emifCfg {
  491.     param iComment :: "<add comments here>"
  492.     param iIsUsed :: 0
  493.     param iId :: 0
  494.     param iDelUser :: "USER"
  495.     param iDelMsg :: "ok"
  496.     param NOHOLD_SETUP :: "Enable Hold"
  497.     param RBTR8_SETUP :: "until High-Priority"
  498.     param SSCRT_SETUP :: "1/2 CPU clock"
  499.     param CLK2EN_SETUP :: "Enabled to clock"
  500.     param CLK1EN_SETUP :: "Enabled to clock"
  501.     param SSCEN_SETUP :: "Enabled to clock"
  502.     param SDCEN_SETUP :: "Enabled to clock"
  503.     param RDSTRB0_SETUP :: 63
  504.     param RDSETUP0_SETUP :: 15
  505.     param RDHLD0_SETUP :: 3
  506.     param WRSTRB0_SETUP :: 63
  507.     param WRSETUP0_SETUP :: 15
  508.     param WRHLD0_SETUP :: 3
  509.     param TA0_SETUP :: 3
  510.     param RDSTRB1_SETUP :: 63
  511.     param RDSETUP1_SETUP :: 15
  512.     param RDHLD1_SETUP :: 3
  513.     param WRSTRB1_SETUP :: 63
  514.     param WRSETUP1_SETUP :: 15
  515.     param WRHLD1_SETUP :: 3
  516.     param TA1_SETUP :: 3
  517.     param RDSTRB2_SETUP :: 63
  518.     param RDSETUP2_SETUP :: 15
  519.     param RDHLD2_SETUP :: 3
  520.     param WRSTRB2_SETUP :: 63
  521.     param WRSETUP2_SETUP :: 15
  522.     param WRHLD2_SETUP :: 3
  523.     param TA2_SETUP :: 3
  524.     param RDSTRB3_SETUP :: 63
  525.     param RDSETUP3_SETUP :: 15
  526.     param RDHLD3_SETUP :: 3
  527.     param WRSTRB3_SETUP :: 63
  528.     param WRSETUP3_SETUP :: 15
  529.     param WRHLD3_SETUP :: 3
  530.     param TA3_SETUP :: 3
  531.     param TRC_SETUP :: 15
  532.     param TRP_SETUP :: 8
  533.     param TRCD_SETUP :: 8
  534.     param INIT_SETUP :: "Initialize"
  535.     param RFEN_SETUP :: "Enable"
  536.     param SDWID_SETUP :: "Four 8-bit SDRAMs"
  537.     param PERIOD_SETUP1 :: 64
  538.     param SDCSZ_SETUP :: " 9 addresses"
  539.     param SDRSZ_SETUP :: "11 addresses"
  540.     param SDBSZ_SETUP :: "Two banks"
  541.     param PERIOD_SETUP2 :: 1500
  542.     param XRFR_SETUP :: 1
  543.     param TCL_SETUP :: 3
  544.     param TRAS_SETUP :: 8
  545.     param TRRD_SETUP :: 3
  546.     param TWR_SETUP :: 2
  547.     param THZP_SETUP :: 3
  548.     param RD2RD_SETUP :: 2
  549.     param RD2DEAC_SETUP :: 4
  550.     param RD2WR_SETUP :: 6
  551.     param R2WDQM_SETUP :: 4
  552.     param WR2WR_SETUP :: 2
  553.     param WR2DEAC_SETUP :: 2
  554.     param WR2RD_SETUP :: 2
  555.     param GBLCTL_VALUE :: 12408
  556.     param CECTL0_VALUE :: -49373
  557.     param CECTL1_VALUE :: -49373
  558.     param CECTL2_VALUE :: -49373
  559.     param CECTL3_VALUE :: -49373
  560.     param SDCTL_VALUE :: 59305984
  561.     param SDTIM_VALUE :: 64
  562.     param SDEXT_VALUE :: 1564479
  563. }
  564. type EMIFAFOLDER {
  565.     isa ModuleFolder
  566.     prop IsContainedIn :: CSL
  567.     prop name :: "EMIFA"
  568.     prop Label :: "EMIFA - External Memory Interface A (64x devices only)"
  569.     prop NoGen :: 1
  570.     prop GlobalPropertyPage :: "{980E6530-6246-11d4-B5CC-0050DA2E2CC0}"
  571.     prop InstancePropertyPage :: "{980E6531-6246-11d4-B5CC-0050DA2E2CC0}"
  572.     prop GlobalIcon :: 163
  573.     prop InstanceIcon :: 164
  574.     prop GlobalHelpTopic :: (1043)
  575.     global gUser :: "USER" { 
  576.         prop Visible :: 0
  577.         prop Writable :: 0
  578.         prop NoGen :: 1
  579.     }
  580.     global gSetOf :: 0 { 
  581.         prop Visible :: 0
  582.         prop Writable :: 0
  583.         prop NoGen :: 1
  584.     }
  585.     global gNumOf :: 0 { 
  586.         prop Visible :: 0
  587.         prop Writable :: 0
  588.         prop NoGen :: 1
  589.     }
  590.     global gDirty :: 0 { 
  591.         prop Visible :: 0
  592.         prop Writable :: 0
  593.         prop NoGen :: 1
  594.     }
  595.     global gInitFlag :: 1 { 
  596.         prop Visible :: 0
  597.         prop Writable :: 0
  598.         prop NoGen :: 1
  599.     }
  600.     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) { 
  601.         prop Visible :: 0
  602.         prop Writable :: 0
  603.         prop NoGen :: 1
  604.     }
  605. }
  606. type emifaCfg {
  607.     isa ObjectMgr
  608.     prop Name :: "emifaCfg"
  609.     prop Label :: "EMIFA Configuration Manager"
  610.     prop JSName :: "EMIFA"
  611.     prop IsContainedIn :: EMIFAFOLDER
  612.     prop NoGen :: 1
  613.     prop maxObjs :: (32767)
  614.     prop GlobalPropertyPage :: "{980E6532-6246-11d4-B5CC-0050DA2E2CC0}"
  615.     prop InstancePropertyPage :: "{980E6533-6246-11d4-B5CC-0050DA2E2CC0}"
  616.     prop GlobalIcon :: 163
  617.     prop InstanceIcon :: 164
  618.     prop GlobalHelpTopic :: (1044)
  619.     prop InstanceHelpTopic :: (1044)
  620.     prop cGen :: CSL.EMIFA_SUPPORT
  621.     prop cStruct :: 1
  622.     prop cStructType :: "EMIFA_Config"
  623.     prop cHeaderName :: if self.gNumOf > 0 {"csl_emifa.h"} else {""}
  624.     prop cStructQual :: "far"
  625.     prop cStructName :: self
  626.     prop cConfigName :: "EMIFA_config"
  627.     prop localDelete :: (self.myDelete)
  628.     prop myDelete :: ($a = 0, scan ($b; emifaCfg) {$a = $a + 1}, if ($a == 2) {hEmifa.EMIFA_INIT_ENABLE = 0} , "ok")
  629.     prop NOHOLD_GBLCTL :: (if (self.NOHOLD_SETUP == "Disable Hold") {0x00000080} else {0x00000000})
  630.     prop CLK4EN_GBLCTL :: (if (self.CLK4EN_SETUP == "Held high") {0x00000000} else {0x00000010})
  631.     prop CLK6EN_GBLCTL :: (if (self.CLK6EN_SETUP == "Held high") {0x00000000} else {0x00000008})
  632.     prop EK1EN_GBLCTL :: (if (self.EK1EN_SETUP == "Held low") {0x00000000} else {0x00000020})
  633.     prop EK2EN_GBLCTL :: (if (self.EK2EN_SETUP == "Held low") {0x00000000} else {0x00010000})
  634.     prop EK1HZ_GBLCTL :: (if (self.EK1HZ_SETUP == "Clock during hold") {0x00000000} else {0x00000040})
  635.     prop EK2HZ_GBLCTL :: (if (self.EK2HZ_SETUP == "Clock during hold") {0x00000000} else {0x00020000})
  636.     prop EK2RATE_GBLCTL :: (if (self.EK2RATE_SETUP == "1x EMIF input clock") {0x00000000} else {if (self.EK2RATE_SETUP == "1/2x EMIF input clock") {0x00040000} else {if (self.EK2RATE_SETUP == "1/4x EMIF input clock") {0x00080000} }})
  637.     prop BRMODE_GBLCTL :: (if (self.BRMODE_SETUP == "access pending or in progress") {0x00000000} else {if (self.BRMODE_SETUP == "access/refresh pending or in progress") {0x00002000} })
  638.     prop MTYPE0_CECTL0 :: (if (self.MTYPE0_SETUP == "32-bit async. interf.") {0x00000020} else {if (self.MTYPE0_SETUP == "32-bit SDRAM") {0x00000030} else {if (self.MTYPE0_SETUP == "32-bit prog. sync. mem") {0x00000040} else {if (self.MTYPE0_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE0_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE0_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE0_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE0_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE0_SETUP == "16-bit prog. sync. mem") {0x000000b0} else {if (self.MTYPE0_SETUP == "64-bit async. interf.") {0x000000c0} else {if (self.MTYPE0_SETUP == "64-bit SDRAM") {0x000000d0} else {if (self.MTYPE0_SETUP == "64-bit prog. sync. mem") {0x000000e0} }}}}}}}}}}})
  639.     prop RDSTRB0_CECTL0 :: (((self.RDSTRB0_SETUP) << 8))
  640.     prop RDSETUP0_CECTL0 :: (((self.RDSETUP0_SETUP) << 16))
  641.     prop RDHLD0_CECTL0 :: ((self.RDHLD0_SETUP))
  642.     prop WRSTRB0_CECTL0 :: (((self.WRSTRB0_SETUP) << 22))
  643.     prop WRSETUP0_CECTL0 :: (((self.WRSETUP0_SETUP) << 28))
  644.     prop WRHLD0_CECTL0 :: (if (self.WRHLD0_SETUP > 3) {((self.WRHLD0_SETUP - 4) << 20)} else {((self.WRHLD0_SETUP << 20))})
  645.     prop WRHLDMSB0_CECTL0 :: (if (self.WRHLD0_SETUP > 3) {0x00000008} else {0x00000000})
  646.     prop TA0_CECTL0 :: ((self.TA0_SETUP << 14))
  647.     prop MTYPE1_CECTL1 :: (if (self.MTYPE1_SETUP == "32-bit async. interf.") {0x00000020} else {if (self.MTYPE1_SETUP == "32-bit SDRAM") {0x00000030} else {if (self.MTYPE1_SETUP == "32-bit prog. sync. mem") {0x00000040} else {if (self.MTYPE1_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE1_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE1_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE1_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE1_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE1_SETUP == "16-bit prog. sync. mem") {0x000000b0} else {if (self.MTYPE1_SETUP == "64-bit async. interf.") {0x000000c0} else {if (self.MTYPE1_SETUP == "64-bit SDRAM") {0x000000d0} else {if (self.MTYPE1_SETUP == "64-bit prog. sync. mem") {0x000000e0} }}}}}}}}}}})
  648.     prop RDSTRB1_CECTL1 :: (((self.RDSTRB1_SETUP) << 8))
  649.     prop RDSETUP1_CECTL1 :: (((self.RDSETUP1_SETUP) << 16))
  650.     prop RDHLD1_CECTL1 :: ((self.RDHLD1_SETUP))
  651.     prop WRSTRB1_CECTL1 :: (((self.WRSTRB1_SETUP) << 22))
  652.     prop WRSETUP1_CECTL1 :: (((self.WRSETUP1_SETUP) << 28))
  653.     prop WRHLD1_CECTL1 :: (if (self.WRHLD1_SETUP > 3) {((self.WRHLD1_SETUP - 4) << 20)} else {((self.WRHLD1_SETUP << 20))})
  654.     prop WRHLDMSB1_CECTL1 :: (if (self.WRHLD1_SETUP > 3) {0x00000008} else {0x00000000})
  655.     prop TA1_CECTL1 :: ((self.TA1_SETUP << 14))
  656.     prop MTYPE2_CECTL2 :: (if (self.MTYPE2_SETUP == "32-bit async. interf.") {0x00000020} else {if (self.MTYPE2_SETUP == "32-bit SDRAM") {0x00000030} else {if (self.MTYPE2_SETUP == "32-bit prog. sync. mem") {0x00000040} else {if (self.MTYPE2_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE2_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE2_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE2_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE2_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE2_SETUP == "16-bit prog. sync. mem") {0x000000b0} else {if (self.MTYPE2_SETUP == "64-bit async. interf.") {0x000000c0} else {if (self.MTYPE2_SETUP == "64-bit SDRAM") {0x000000d0} else {if (self.MTYPE2_SETUP == "64-bit prog. sync. mem") {0x000000e0} }}}}}}}}}}})
  657.     prop RDSTRB2_CECTL2 :: (((self.RDSTRB2_SETUP) << 8))
  658.     prop RDSETUP2_CECTL2 :: (((self.RDSETUP2_SETUP) << 16))
  659.     prop RDHLD2_CECTL2 :: ((self.RDHLD2_SETUP))
  660.     prop WRSTRB2_CECTL2 :: (((self.WRSTRB2_SETUP) << 22))
  661.     prop WRSETUP2_CECTL2 :: (((self.WRSETUP2_SETUP) << 28))
  662.     prop WRHLD2_CECTL2 :: (if (self.WRHLD2_SETUP > 3) {((self.WRHLD2_SETUP - 4) << 20)} else {((self.WRHLD2_SETUP << 20))})
  663.     prop WRHLDMSB2_CECTL2 :: (if (self.WRHLD2_SETUP > 3) {0x00000008} else {0x00000000})
  664.     prop TA2_CECTL2 :: ((self.TA2_SETUP << 14))
  665.     prop MTYPE3_CECTL3 :: (if (self.MTYPE3_SETUP == "32-bit async. interf.") {0x00000020} else {if (self.MTYPE3_SETUP == "32-bit SDRAM") {0x00000030} else {if (self.MTYPE3_SETUP == "32-bit prog. sync. mem") {0x00000040} else {if (self.MTYPE3_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE3_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE3_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE3_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE3_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE3_SETUP == "16-bit prog. sync. mem") {0x000000b0} else {if (self.MTYPE3_SETUP == "64-bit async. interf.") {0x000000c0} else {if (self.MTYPE3_SETUP == "64-bit SDRAM") {0x000000d0} else {if (self.MTYPE3_SETUP == "64-bit prog. sync. mem") {0x000000e0} }}}}}}}}}}})
  666.     prop RDSTRB3_CECTL3 :: (((self.RDSTRB3_SETUP) << 8))
  667.     prop RDSETUP3_CECTL3 :: (((self.RDSETUP3_SETUP) << 16))
  668.     prop RDHLD3_CECTL3 :: ((self.RDHLD3_SETUP))
  669.     prop WRSTRB3_CECTL3 :: (((self.WRSTRB3_SETUP) << 22))
  670.     prop WRSETUP3_CECTL3 :: (((self.WRSETUP3_SETUP) << 28))
  671.     prop WRHLD3_CECTL3 :: (if (self.WRHLD3_SETUP > 3) {((self.WRHLD3_SETUP - 4) << 20)} else {((self.WRHLD3_SETUP << 20))})
  672.     prop WRHLDMSB3_CECTL3 :: (if (self.WRHLD3_SETUP > 3) {0x00000008} else {0x00000000})
  673.     prop TA3_CECTL3 :: ((self.TA3_SETUP << 14))
  674.     prop SYNCRL0_CESEC0 :: (if (self.SYNCRL0_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL0_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL0_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  675.     prop SYNCWL0_CESEC0 :: (if (self.SYNCWL0_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL0_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL0_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  676.     prop CEEXT0_CESEC0 :: (if (self.CEEXT0_SETUP == "Inactive") {0x00000000} else {0x0000010})
  677.     prop RENEN0_CESEC0 :: (if (self.RENEN0_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  678.     prop SNCCLK0_CESEC0 :: (if (self.SNCCLK0_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  679.     prop SYNCRL1_CESEC1 :: (if (self.SYNCRL1_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL1_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL1_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  680.     prop SYNCWL1_CESEC1 :: (if (self.SYNCWL1_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL1_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL1_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  681.     prop CEEXT1_CESEC1 :: (if (self.CEEXT1_SETUP == "Inactive") {0x00000000} else {0x0000010})
  682.     prop RENEN1_CESEC1 :: (if (self.RENEN1_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  683.     prop SNCCLK1_CESEC1 :: (if (self.SNCCLK1_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  684.     prop SYNCRL2_CESEC2 :: (if (self.SYNCRL2_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL2_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL2_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  685.     prop SYNCWL2_CESEC2 :: (if (self.SYNCWL2_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL2_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL2_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  686.     prop CEEXT2_CESEC2 :: (if (self.CEEXT2_SETUP == "Inactive") {0x00000000} else {0x0000010})
  687.     prop RENEN2_CESEC2 :: (if (self.RENEN2_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  688.     prop SNCCLK2_CESEC2 :: (if (self.SNCCLK2_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  689.     prop SYNCRL3_CESEC3 :: (if (self.SYNCRL3_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL3_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL3_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  690.     prop SYNCWL3_CESEC3 :: (if (self.SYNCWL3_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL3_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL3_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  691.     prop CEEXT3_CESEC3 :: (if (self.CEEXT3_SETUP == "Inactive") {0x00000000} else {0x0000010})
  692.     prop RENEN3_CESEC3 :: (if (self.RENEN3_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  693.     prop SNCCLK3_CESEC3 :: (if (self.SNCCLK3_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  694.     prop TRC_SDCTL :: ((self.TRC_SETUP << 12))
  695.     prop TRP_SDCTL :: ((self.TRP_SETUP << 16))
  696.     prop TRCD_SDCTL :: ((self.TRCD_SETUP << 20))
  697.     prop INIT_SDCTL :: (if (self.INIT_SETUP == "Initialize") {0x01000000} else {0x00000000})
  698.     prop RFEN_SDCTL :: (if (self.RFEN_SETUP == "Enable") {0x02000000} else {0x00000000})
  699.     prop SDCSZ_SDCTL :: (if (self.SDCSZ_SETUP == " 8 addresses") {0x04000000} else {if (self.SDCSZ_SETUP == "10 addresses") {0x08000000} else {0x00000000}})
  700.     prop SDRSZ_SDCTL :: (if (self.SDRSZ_SETUP == "12 addresses") {0x10000000} else {if (self.SDRSZ_SETUP == "13 addresses") {0x20000000} else {0x00000000}})
  701.     prop SDBSZ_SDCTL :: (if (self.SDBSZ_SETUP == "Four banks") {0x40000000} else {0x00000000})
  702.     prop SLFRFR_SDCTL :: (if (self.SLFRFR_SETUP == "Enable") {0x00000001} else {0x00000000})
  703.     prop PERIOD_SDTIM2 :: ((self.PERIOD_SETUP2))
  704.     prop XRFR_SDTIM :: (((self.XRFR_SETUP - 1) << 24))
  705.     prop TCL_SDEXT :: ((self.TCL_SETUP - 2))
  706.     prop TRAS_SDEXT :: (((self.TRAS_SETUP - 1) << 1))
  707.     prop TRRD_SDEXT :: ((self.TRRD_SETUP - 2) << 4)
  708.     prop TWR_SDEXT :: (((self.TWR_SETUP - 1) << 5))
  709.     prop THZP_SDEXT :: (((self.THZP_SETUP - 1) << 7))
  710.     prop RD2RD_SDEXT :: (((self.RD2RD_SETUP - 1) << 9))
  711.     prop RD2DEAC_SDEXT :: (((self.RD2DEAC_SETUP - 1) << 10))
  712.     prop RD2WR_SDEXT :: (((self.RD2WR_SETUP - 1) << 12))
  713.     prop R2WDQM_SDEXT :: (((self.R2WDQM_SETUP - 1) << 15))
  714.     prop WR2WR_SDEXT :: (((self.WR2WR_SETUP - 1) << 17))
  715.     prop WR2DEAC_SDEXT :: (((self.WR2DEAC_SETUP - 1) << 18))
  716.     prop WR2RD_SDEXT :: (((self.WR2RD_SETUP - 1) << 20))
  717.     prop GBLCTL_VALUE_update :: (0x00000004 | self.NOHOLD_GBLCTL() | self.CLK4EN_GBLCTL() | self.CLK6EN_GBLCTL() | self.EK1EN_GBLCTL() | self.EK2EN_GBLCTL() | self.EK1HZ_GBLCTL() | self.EK2HZ_GBLCTL() | self.EK2RATE_GBLCTL() | self.BRMODE_GBLCTL())
  718.     prop GBLCTL_SETUP_update :: (self.NOHOLD_SETUP = if ($1 & 0x00000080) {"Disable Hold"} else {"Enable Hold"}, self.CLK4EN_SETUP = if ($1 & 0x00000010) {"Enabled to clock"} else {"Held high"}, self.CLK6EN_SETUP = if ($1 & 0x00000008) {"Enabled to clock"} else {"Held high"}, self.EK1EN_SETUP = if ($1 & 0x00000020) {"Enabled to clock"} else {"Held low"}, self.EK2EN_SETUP = if ($1 & 0x00010000) {"Enabled to clock"} else {"Held low"}, self.EK1HZ_SETUP = if ($1 & 0x00000040) {"High-Z during hold"} else {"Clock during hold"}, self.EK2HZ_SETUP = if ($1 & 0x00020000) {"High-Z during hold"} else {"Clock during hold"}, self.BRMODE_SETUP = if ($1 & 0x00002000) {"access/refresh pending or in progress"} else {"access pending or in progress"}, $a = $1 & 0x000C0000, if ($a == 0x00080000) {self.EK2RATE_SETUP = "1/4x EMIF input clock"} else {self.EK2RATE_SETUP = if ($1 & 0x00040000) {"1/2x EMIF input clock"} else {"1x EMIF input clock"}})
  719.     prop CECTL0_VALUE_update :: (self.MTYPE0_CECTL0() | self.RDHLD0_CECTL0() | self.RDSTRB0_CECTL0() | self.RDSETUP0_CECTL0() | self.WRHLD0_CECTL0() | self.WRHLDMSB0_CECTL0() | self.WRSETUP0_CECTL0() | self.WRSTRB0_CECTL0() | self.TA0_CECTL0())
  720.     prop CECTL0_SETUP_update :: (self.MTYPE0_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000020) {"32-bit async. interf."} else {if ($a == 0x00000030) {"32-bit SDRAM"} else {if ($a == 0x00000040) {"32-bit prog. sync. mem"} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {if ($a == 0x000000b0) {"16-bit prog. sync. mem"} else {if ($a == 0x000000c0) {"64-bit async. interf."} else {if ($a == 0x000000d0) {"64-bit SDRAM"} else {"64-bit prog. sync. mem"}}}}}}}}}}}), self.RDHLD0_SETUP = ($1 & 0x00000007), self.RDSTRB0_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP0_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD0_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB0_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP0_SETUP = (($1 >> 28) & 0xF), self.TA0_SETUP = ($1 & 0x0000c000) >> 14)
  721.     prop CECTL1_VALUE_update :: (self.MTYPE1_CECTL1() | self.RDHLD1_CECTL1() | self.RDSTRB1_CECTL1() | self.RDSETUP1_CECTL1() | self.WRHLD1_CECTL1() | self.WRHLDMSB1_CECTL1() | self.WRSETUP1_CECTL1() | self.WRSTRB1_CECTL1() | self.TA1_CECTL1())
  722.     prop CECTL1_SETUP_update :: (self.MTYPE1_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000020) {"32-bit async. interf."} else {if ($a == 0x00000030) {"32-bit SDRAM"} else {if ($a == 0x00000040) {"32-bit prog. sync. mem"} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {if ($a == 0x000000b0) {"16-bit prog. sync. mem"} else {if ($a == 0x000000c0) {"64-bit async. interf."} else {if ($a == 0x000000d0) {"64-bit SDRAM"} else {"64-bit prog. sync. mem"}}}}}}}}}}}), self.RDHLD1_SETUP = ($1 & 0x00000007), self.RDSTRB1_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP1_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD1_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB1_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP1_SETUP = (($1 >> 28) & 0xF), self.TA1_SETUP = ($1 & 0x0000c000) >> 14)
  723.     prop CECTL2_VALUE_update :: (self.MTYPE2_CECTL2() | self.RDHLD2_CECTL2() | self.RDSTRB2_CECTL2() | self.RDSETUP2_CECTL2() | self.WRHLD2_CECTL2() | self.WRHLDMSB2_CECTL2() | self.WRSETUP2_CECTL2() | self.WRSTRB2_CECTL2() | self.TA2_CECTL2())
  724.     prop CECTL2_SETUP_update :: (self.MTYPE2_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000020) {"32-bit async. interf."} else {if ($a == 0x00000030) {"32-bit SDRAM"} else {if ($a == 0x00000040) {"32-bit prog. sync. mem"} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {if ($a == 0x000000b0) {"16-bit prog. sync. mem"} else {if ($a == 0x000000c0) {"64-bit async. interf."} else {if ($a == 0x000000d0) {"64-bit SDRAM"} else {"64-bit prog. sync. mem"}}}}}}}}}}}), self.RDHLD2_SETUP = ($1 & 0x00000007), self.RDSTRB2_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP2_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD2_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB2_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP2_SETUP = (($1 >> 28) & 0xF), self.TA2_SETUP = ($1 & 0x0000c000) >> 14)
  725.     prop CECTL3_VALUE_update :: (self.MTYPE3_CECTL3() | self.RDHLD3_CECTL3() | self.RDSTRB3_CECTL3() | self.RDSETUP3_CECTL3() | self.WRHLD3_CECTL3() | self.WRHLDMSB3_CECTL3() | self.WRSETUP3_CECTL3() | self.WRSTRB3_CECTL3() | self.TA3_CECTL3())
  726.     prop CECTL3_SETUP_update :: (self.MTYPE3_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000020) {"32-bit async. interf."} else {if ($a == 0x00000030) {"32-bit SDRAM"} else {if ($a == 0x00000040) {"32-bit prog. sync. mem"} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {if ($a == 0x000000b0) {"16-bit prog. sync. mem"} else {if ($a == 0x000000c0) {"64-bit async. interf."} else {if ($a == 0x000000d0) {"64-bit SDRAM"} else {"64-bit prog. sync. mem"}}}}}}}}}}}), self.RDHLD3_SETUP = ($1 & 0x00000007), self.RDSTRB3_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP3_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD3_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB3_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP3_SETUP = (($1 >> 28) & 0xF), self.TA3_SETUP = ($1 & 0x0000c000) >> 14)
  727.     prop SDCTL_VALUE_update :: (self.TRC_SDCTL() | self.TRP_SDCTL() | self.SLFRFR_SDCTL() | self.TRCD_SDCTL() | self.INIT_SDCTL() | self.RFEN_SDCTL() | self.SDCSZ_SDCTL() | self.SDRSZ_SDCTL() | self.SDBSZ_SDCTL())
  728.     prop SDCTL_SETUP_update :: (self.TRC_SETUP = ($1 & 0x0000F000) >> 12, self.TRP_SETUP = ($1 & 0x000F0000) >> 16, self.TRCD_SETUP = ($1 & 0x00F00000) >> 20, self.INIT_SETUP = ($a = ($1 & 0x01000000), if ($a == 0x01000000) {"Initialize"} else {"No effect"}), self.RFEN_SETUP = ($a = ($1 & 0x02000000), if ($a == 0x02000000) {"Enable"} else {"Disable"}), self.SDCSZ_SETUP = ($a = ($1 & 0x0c000000), if ($a == 0x04000000) {" 8 addresses"} else {if ($a == 0x08000000) {"10 addresses"} else {" 9 addresses"}}), self.SDRSZ_SETUP = ($a = ($1 & 0x30000000), if ($a == 0x10000000) {"12 addresses"} else {if ($a == 0x20000000) {"13 addresses"} else {"11 addresses"}}), self.SDBSZ_SETUP = ($a = ($1 & 0x40000000), if ($a == 0x40000000) {"Four banks"} else {"Two banks"}), self.SLFRFR_SETUP = ($a = ($1 & 0x00000001), if ($a == 0x00000001) {"Enable"} else {"Disable"}))
  729.     prop SDTIM_VALUE_update :: (self.PERIOD_SDTIM2() | self.XRFR_SDTIM() | 0x005dc000)
  730.     prop SDTIM_SETUP_update :: (self.PERIOD_SETUP2 = ($1 & 0x00000FFF), self.XRFR_SETUP = (($1 & 0x03000000) >> 24) + 1)
  731.     prop SDEXT_VALUE_update :: (self.TCL_SDEXT() | self.TRAS_SDEXT() | self.TRRD_SDEXT() | self.TWR_SDEXT() | self.THZP_SDEXT() | self.RD2RD_SDEXT() | self.RD2DEAC_SDEXT() | self.RD2WR_SDEXT() | self.R2WDQM_SDEXT() | self.WR2WR_SDEXT() | self.WR2DEAC_SDEXT() | self.WR2RD_SDEXT())
  732.     prop SDEXT_SETUP_update :: (self.TCL_SETUP = ($1 & 0x00000001) + 2, self.TRAS_SETUP = (($1 & 0x0000000E) >> 1) + 1, self.TRRD_SETUP = (($1 & 0x00000010) >> 4) + 2, self.TWR_SETUP = (($1 & 0x00000060) >> 5) + 1, self.THZP_SETUP = (($1 & 0x00000180) >> 7) + 1, self.RD2RD_SETUP = (($1 & 0x00000200) >> 9) + 1, self.RD2DEAC_SETUP = (($1 & 0x00000c00) >> 10) + 1, self.RD2WR_SETUP = (($1 & 0x00007000) >> 12) + 1, self.R2WDQM_SETUP = (($1 & 0x00018000) >> 15) + 1, self.WR2WR_SETUP = (($1 & 0x00020000) >> 17) + 1, self.WR2DEAC_SETUP = (($1 & 0x000c0000) >> 18) + 1, self.WR2RD_SETUP = (($1 & 0x00100000) >> 20) + 1)
  733.     prop CESEC0_VALUE_update :: (self.SYNCRL0_CESEC0() | self.SYNCWL0_CESEC0() | self.CEEXT0_CESEC0() | self.RENEN0_CESEC0() | self.SNCCLK0_CESEC0())
  734.     prop CESEC0_SETUP_update :: (self.SYNCRL0_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL0_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT0_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN0_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK0_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  735.     prop CESEC1_VALUE_update :: (self.SYNCRL1_CESEC1() | self.SYNCWL1_CESEC1() | self.CEEXT1_CESEC1() | self.RENEN1_CESEC1() | self.SNCCLK1_CESEC1())
  736.     prop CESEC1_SETUP_update :: (self.SYNCRL1_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL1_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT1_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN1_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK1_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  737.     prop CESEC2_VALUE_update :: (self.SYNCRL2_CESEC2() | self.SYNCWL2_CESEC2() | self.CEEXT2_CESEC2() | self.RENEN2_CESEC2() | self.SNCCLK2_CESEC2())
  738.     prop CESEC2_SETUP_update :: (self.SYNCRL2_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL2_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT2_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN2_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK2_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  739.     prop CESEC3_VALUE_update :: (self.SYNCRL3_CESEC3() | self.SYNCWL3_CESEC3() | self.CEEXT3_CESEC3() | self.RENEN3_CESEC3() | self.SNCCLK3_CESEC3())
  740.     prop CESEC3_SETUP_update :: (self.SYNCRL3_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL3_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT3_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN3_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK3_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  741.     global gUser :: "USER" { 
  742.         prop Visible :: 0
  743.         prop Writable :: 0
  744.         prop NoGen :: 1
  745.     }
  746.     global gSetOf :: 0 { 
  747.         prop Visible :: 0
  748.         prop Writable :: 0
  749.         prop NoGen :: 1
  750.     }
  751.     global gNumOf :: 0 { 
  752.         prop Visible :: 0
  753.         prop Writable :: 0
  754.         prop NoGen :: 1
  755.     }
  756.     global gDirty :: 0 { 
  757.         prop Visible :: 0
  758.         prop Writable :: 0
  759.         prop NoGen :: 1
  760.     }
  761.     global gInitFlag :: 1 { 
  762.         prop Visible :: 0
  763.         prop Writable :: 0
  764.         prop NoGen :: 1
  765.     }
  766.     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) { 
  767.         prop Visible :: 0
  768.         prop Writable :: 0
  769.         prop NoGen :: 1
  770.     }
  771.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  772.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  773.         prop Label :: "comment"
  774.         prop JSName :: "comment"
  775.         prop Visible :: 1
  776.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  777.         prop NoGen :: 1
  778.     }
  779.     inst iIsUsed :: 0 { 
  780.         prop Visible :: 0
  781.         prop Writable :: 0
  782.         prop NoGen :: 1
  783.     }
  784.     inst iId :: 0 { 
  785.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  786.         prop Style :: 0x01
  787.         prop Visible :: 0
  788.         prop Writable :: 1
  789.         prop NoGen :: 1
  790.     }
  791.     inst iDelUser :: "USER" { 
  792.         prop Visible :: 0
  793.         prop Writable :: 0
  794.         prop NoGen :: 1
  795.     }
  796.     inst iDelMsg :: "ok" { 
  797.         prop Visible :: 0
  798.         prop Writable :: 0
  799.         prop NoGen :: 1
  800.     }
  801.     inst cConfigGen :: = ((hEmifa.EMIFA_INIT_ENABLE == 1) && (hEmifa.EMIFA_INIT == self) && (hEmifa.EMIFA_INIT != EMIFA_NOTHING)) { 
  802.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  803.         prop NoGen :: 1
  804.         prop Visible :: 0
  805.     }
  806.     inst cConfigArg0 :: = hEmifa.EMIFA_INIT { 
  807.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  808.         prop MemberType :: emifaCfg
  809.         prop Label :: "Pre-initialize Config"
  810.         prop Visible :: 0
  811.         prop Writable :: (CSL.EMIFA_SUPPORT)
  812.         prop NoGen :: 0
  813.         prop cPreVal :: "&"
  814.     }
  815.     inst NOHOLD_SETUP :: "Enable Hold" { 
  816.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  817.         prop Enum :: "Enable Hold,Disable Hold"
  818.         prop Label :: "External HOLD disable (NOHOLD)"
  819.         prop JSName :: "emifaGblctlNoHold"
  820.         prop Visible :: 1
  821.         prop Writable :: (CSL.EMIFA_SUPPORT)
  822.         prop NoGen :: 1
  823.         prop TabName :: "Global Control"
  824.         prop Set :: (self.NOHOLD_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  825.     }
  826.     inst CLK4EN_SETUP :: "Enabled to clock" { 
  827.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  828.         prop Enum :: "Held high,Enabled to clock"
  829.         prop Label :: "CLKOUT4 Enable (CLK4EN)"
  830.         prop JSName :: "emifaGblctlClk4en"
  831.         prop Visible :: 1
  832.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  833.         prop NoGen :: 1
  834.         prop TabName :: "Global Control"
  835.         prop Set :: (self.CLK4EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  836.     }
  837.     inst CLK6EN_SETUP :: "Enabled to clock" { 
  838.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  839.         prop Enum :: "Held high,Enabled to clock"
  840.         prop Label :: "CLKOUT6 Enable (CLK6EN)"
  841.         prop JSName :: "emifaGblctlClk6en"
  842.         prop Visible :: 1
  843.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  844.         prop NoGen :: 1
  845.         prop TabName :: "Global Control"
  846.         prop Set :: (self.CLK6EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  847.     }
  848.     inst EK1EN_SETUP :: "Enabled to clock" { 
  849.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  850.         prop Enum :: "Held low,Enabled to clock"
  851.         prop Label :: "ECLKOUT1 Enable (EK1EN)"
  852.         prop JSName :: "emifaGblctlEk1en"
  853.         prop Visible :: 1
  854.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  855.         prop NoGen :: 1
  856.         prop TabName :: "Global Control"
  857.         prop Set :: (self.EK1EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  858.     }
  859.     inst EK2EN_SETUP :: "Enabled to clock" { 
  860.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  861.         prop Enum :: "Held low,Enabled to clock"
  862.         prop Label :: "ECLKOUT2 Enable (EK2EN)"
  863.         prop JSName :: "emifaGblctlEk2en"
  864.         prop Visible :: 1
  865.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  866.         prop NoGen :: 1
  867.         prop TabName :: "Global Control"
  868.         prop Set :: (self.EK2EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  869.     }
  870.     inst EK1HZ_SETUP :: "High-Z during hold" { 
  871.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  872.         prop Enum :: "Clock during hold,High-Z during hold"
  873.         prop Label :: "ECLKOUT1 High-Z Control (EK1HZ)"
  874.         prop JSName :: "emifaGblctlEk1hz"
  875.         prop Visible :: 1
  876.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  877.         prop NoGen :: 1
  878.         prop TabName :: "Global Control"
  879.         prop Set :: (self.EK1HZ_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  880.     }
  881.     inst EK2HZ_SETUP :: "Clock during hold" { 
  882.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  883.         prop Enum :: "Clock during hold,High-Z during hold"
  884.         prop Label :: "ECLKOUT2 High-Z Control (EK2HZ)"
  885.         prop JSName :: "emifaGblctlEk2hz"
  886.         prop Visible :: 1
  887.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  888.         prop NoGen :: 1
  889.         prop TabName :: "Global Control"
  890.         prop Set :: (self.EK2HZ_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  891.     }
  892.     inst EK2RATE_SETUP :: "1/4x EMIF input clock" { 
  893.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  894.         prop Enum :: "1x EMIF input clock,1/2x EMIF input clock,1/4x EMIF input clock"
  895.         prop Label :: "ECLKOUT2 Rate (EK2RATE)"
  896.         prop JSName :: "emifaGblctlEk2rate"
  897.         prop Visible :: 1
  898.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  899.         prop NoGen :: 1
  900.         prop TabName :: "Global Control"
  901.         prop Set :: (self.EK2RATE_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  902.     }
  903.     inst BRMODE_SETUP :: "access/refresh pending or in progress" { 
  904.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  905.         prop Enum :: "access/refresh pending or in progress,access pending or in progress"
  906.         prop Label :: "Bus Request Mode"
  907.         prop JSName :: "emifaGblctlBrmode"
  908.         prop Visible :: 1
  909.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  910.         prop NoGen :: 1
  911.         prop TabName :: "Global Control"
  912.         prop Set :: (self.BRMODE_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  913.     }
  914.     inst MTYPE0_SETUP :: "32-bit async. interf." { 
  915.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  916.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,32-bit async. interf.,64-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,32-bit SDRAM,64-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem,32-bit prog. sync. mem,64-bit prog. sync. mem"
  917.         prop Label :: "Memory Type (MTYPE)"
  918.         prop JSName :: "emifaCectl0Mtype"
  919.         prop Visible :: 1
  920.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  921.         prop NoGen :: 1
  922.         prop TabName :: "CE0 Space"
  923.         prop Set :: (self.MTYPE0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok")
  924.     }
  925.     inst RDSTRB0_SETUP :: 63 { 
  926.         prop Label :: "Read Strobe Width "
  927.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  928.         prop Style :: 0x01 | 0x02
  929.         prop JSName :: "emifaCectl0ReadStrobe"
  930.         prop Visible :: 1
  931.         prop Writable :: (CSL.EMIFA_SUPPORT)
  932.         prop NoGen :: 1
  933.         prop TabName :: "CE0 Space"
  934.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  935.     }
  936.     inst RDSETUP0_SETUP :: 15 { 
  937.         prop Label :: "Read Setup Width "
  938.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  939.         prop Style :: 0x01 | 0x02
  940.         prop JSName :: "emifaCectl0ReadSetup"
  941.         prop Visible :: 1
  942.         prop Writable :: (CSL.EMIFA_SUPPORT)
  943.         prop NoGen :: 1
  944.         prop TabName :: "CE0 Space"
  945.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  946.     }
  947.     inst RDHLD0_SETUP :: 3 { 
  948.         prop Label :: "Read Hold Width "
  949.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  950.         prop Style :: 0x01 | 0x02
  951.         prop JSName :: "emifaCectl0ReadHold"
  952.         prop Visible :: 1
  953.         prop Writable :: (CSL.EMIFA_SUPPORT)
  954.         prop NoGen :: 1
  955.         prop TabName :: "CE0 Space"
  956.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"}})
  957.     }
  958.     inst WRSTRB0_SETUP :: 63 { 
  959.         prop Label :: "Write Strobe Width "
  960.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  961.         prop Style :: 0x01 | 0x02
  962.         prop JSName :: "emifaCectl0WriteStrobe"
  963.         prop Visible :: 1
  964.         prop Writable :: (CSL.EMIFA_SUPPORT)
  965.         prop NoGen :: 1
  966.         prop TabName :: "CE0 Space"
  967.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  968.     }
  969.     inst WRSETUP0_SETUP :: 15 { 
  970.         prop Label :: "Write Setup Width "
  971.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  972.         prop Style :: 0x01 | 0x02
  973.         prop JSName :: "emifaCectl0WriteSetup"
  974.         prop Visible :: 1
  975.         prop Writable :: (CSL.EMIFA_SUPPORT)
  976.         prop NoGen :: 1
  977.         prop TabName :: "CE0 Space"
  978.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  979.     }
  980.     inst WRHLD0_SETUP :: 3 { 
  981.         prop Label :: "Write Hold Width (WRHLD-WRHLDMSB) "
  982.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  983.         prop Style :: 0x01 | 0x02
  984.         prop JSName :: "emifaCectl0WriteHold"
  985.         prop Visible :: 1
  986.         prop Writable :: (CSL.EMIFA_SUPPORT)
  987.         prop NoGen :: 1
  988.         prop TabName :: "CE0 Space"
  989.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  990.     }
  991.     inst TA0_SETUP :: 3 { 
  992.         prop Label :: "Turn around time (TA) "
  993.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  994.         prop Style :: 0x01 | 0x02
  995.         prop JSName :: "emifaCectl0Ta"
  996.         prop Visible :: 1
  997.         prop Writable :: (CSL.EMIFA_SUPPORT)
  998.         prop NoGen :: 1
  999.         prop TabName :: "CE0 Space"
  1000.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  1001.     }
  1002.     inst MTYPE1_SETUP :: "32-bit async. interf." { 
  1003.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1004.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,32-bit async. interf.,64-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,32-bit SDRAM,64-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem,32-bit prog. sync. mem,64-bit prog. sync. mem"
  1005.         prop Label :: "Memory Type (MTYPE)"
  1006.         prop JSName :: "emifaCectl1Mtype"
  1007.         prop Visible :: 1
  1008.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1009.         prop NoGen :: 1
  1010.         prop TabName :: "CE1 Space"
  1011.         prop Set :: (self.MTYPE1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok")
  1012.     }
  1013.     inst RDSTRB1_SETUP :: 63 { 
  1014.         prop Label :: "Read Strobe Width "
  1015.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1016.         prop Style :: 0x01 | 0x02
  1017.         prop JSName :: "emifaCectl1ReadStrobe"
  1018.         prop Visible :: 1
  1019.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1020.         prop NoGen :: 1
  1021.         prop TabName :: "CE1 Space"
  1022.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1023.     }
  1024.     inst RDSETUP1_SETUP :: 15 { 
  1025.         prop Label :: "Read Setup Width "
  1026.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1027.         prop Style :: 0x01 | 0x02
  1028.         prop JSName :: "emifaCectl1ReadSetup"
  1029.         prop Visible :: 1
  1030.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1031.         prop NoGen :: 1
  1032.         prop TabName :: "CE1 Space"
  1033.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1034.     }
  1035.     inst RDHLD1_SETUP :: 3 { 
  1036.         prop Label :: "Read Hold Width "
  1037.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1038.         prop Style :: 0x01 | 0x02
  1039.         prop JSName :: "emifaCectl1ReadHold"
  1040.         prop Visible :: 1
  1041.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1042.         prop NoGen :: 1
  1043.         prop TabName :: "CE1 Space"
  1044.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"}})
  1045.     }
  1046.     inst WRSTRB1_SETUP :: 63 { 
  1047.         prop Label :: "Write Strobe Width "
  1048.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1049.         prop Style :: 0x01 | 0x02
  1050.         prop JSName :: "emifaCectl1WriteStrobe"
  1051.         prop Visible :: 1
  1052.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1053.         prop NoGen :: 1
  1054.         prop TabName :: "CE1 Space"
  1055.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1056.     }
  1057.     inst WRSETUP1_SETUP :: 15 { 
  1058.         prop Label :: "Write Setup Width "
  1059.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1060.         prop Style :: 0x01 | 0x02
  1061.         prop JSName :: "emifaCectl1WriteSetup"
  1062.         prop Visible :: 1
  1063.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1064.         prop NoGen :: 1
  1065.         prop TabName :: "CE1 Space"
  1066.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1067.     }
  1068.     inst WRHLD1_SETUP :: 3 { 
  1069.         prop Label :: "Write Hold Width (WRHLD - WHLDMSB) "
  1070.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1071.         prop Style :: 0x01 | 0x02
  1072.         prop JSName :: "emifaCectl1WriteHold"
  1073.         prop Visible :: 1
  1074.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1075.         prop NoGen :: 1
  1076.         prop TabName :: "CE1 Space"
  1077.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1078.     }
  1079.     inst TA1_SETUP :: 3 { 
  1080.         prop Label :: "Turn around time (TA) "
  1081.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1082.         prop Style :: 0x01 | 0x02
  1083.         prop JSName :: "emifaCectl1Ta"
  1084.         prop Visible :: 1
  1085.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1086.         prop NoGen :: 1
  1087.         prop TabName :: "CE1 Space"
  1088.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  1089.     }
  1090.     inst MTYPE2_SETUP :: "32-bit async. interf." { 
  1091.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1092.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,32-bit async. interf.,64-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,32-bit SDRAM,64-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem,32-bit prog. sync. mem,64-bit prog. sync. mem"
  1093.         prop Label :: "Memory Type (MTYPE)"
  1094.         prop JSName :: "emifaCectl2Mtype"
  1095.         prop Visible :: 1
  1096.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1097.         prop NoGen :: 1
  1098.         prop TabName :: "CE2 Space"
  1099.         prop Set :: (self.MTYPE2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok")
  1100.     }
  1101.     inst RDSTRB2_SETUP :: 63 { 
  1102.         prop Label :: "Read Strobe Width "
  1103.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1104.         prop Style :: 0x01 | 0x02
  1105.         prop JSName :: "emifaCectl2ReadStrobe"
  1106.         prop Visible :: 1
  1107.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1108.         prop NoGen :: 1
  1109.         prop TabName :: "CE2 Space"
  1110.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1111.     }
  1112.     inst RDSETUP2_SETUP :: 15 { 
  1113.         prop Label :: "Read Setup Width "
  1114.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1115.         prop Style :: 0x01 | 0x02
  1116.         prop JSName :: "emifaCectl2ReadSetup"
  1117.         prop Visible :: 1
  1118.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1119.         prop NoGen :: 1
  1120.         prop TabName :: "CE2 Space"
  1121.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1122.     }
  1123.     inst RDHLD2_SETUP :: 3 { 
  1124.         prop Label :: "Read Hold Width "
  1125.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1126.         prop Style :: 0x01 | 0x02
  1127.         prop JSName :: "emifaCectl2ReadHold"
  1128.         prop Visible :: 1
  1129.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1130.         prop NoGen :: 1
  1131.         prop TabName :: "CE2 Space"
  1132.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"}})
  1133.     }
  1134.     inst WRSTRB2_SETUP :: 63 { 
  1135.         prop Label :: "Write Strobe Width "
  1136.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1137.         prop Style :: 0x01 | 0x02
  1138.         prop JSName :: "emifaCectl2WriteStrobe"
  1139.         prop Visible :: 1
  1140.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1141.         prop NoGen :: 1
  1142.         prop TabName :: "CE2 Space"
  1143.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1144.     }
  1145.     inst WRSETUP2_SETUP :: 15 { 
  1146.         prop Label :: "Write Setup Width "
  1147.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1148.         prop Style :: 0x01 | 0x02
  1149.         prop JSName :: "emifaCectl2WriteSetup"
  1150.         prop Visible :: 1
  1151.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1152.         prop NoGen :: 1
  1153.         prop TabName :: "CE2 Space"
  1154.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1155.     }
  1156.     inst WRHLD2_SETUP :: 3 { 
  1157.         prop Label :: "Write Hold Width "
  1158.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1159.         prop Style :: 0x01 | 0x02
  1160.         prop JSName :: "emifaCectl2WriteHold"
  1161.         prop Visible :: 1
  1162.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1163.         prop NoGen :: 1
  1164.         prop TabName :: "CE2 Space"
  1165.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1166.     }
  1167.     inst TA2_SETUP :: 3 { 
  1168.         prop Label :: "Turn around time (TA) "
  1169.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1170.         prop Style :: 0x01 | 0x02
  1171.         prop JSName :: "emifaCectl2Ta"
  1172.         prop Visible :: 1
  1173.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1174.         prop NoGen :: 1
  1175.         prop TabName :: "CE2 Space"
  1176.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  1177.     }
  1178.     inst MTYPE3_SETUP :: "32-bit async. interf." { 
  1179.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1180.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,32-bit async. interf.,64-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,32-bit SDRAM,64-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem,32-bit prog. sync. mem,64-bit prog. sync. mem"
  1181.         prop Label :: "Memory Type (MTYPE)"
  1182.         prop JSName :: "emifaCectl3Mtype"
  1183.         prop Visible :: 1
  1184.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1185.         prop NoGen :: 1
  1186.         prop TabName :: "CE3 Space"
  1187.         prop Set :: (self.MTYPE3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok")
  1188.     }
  1189.     inst RDSTRB3_SETUP :: 63 { 
  1190.         prop Label :: "Read Strobe Width "
  1191.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1192.         prop Style :: 0x01 | 0x02
  1193.         prop JSName :: "emifaCectl3ReadStrobe"
  1194.         prop Visible :: 1
  1195.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1196.         prop NoGen :: 1
  1197.         prop TabName :: "CE3 Space"
  1198.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1199.     }
  1200.     inst RDSETUP3_SETUP :: 15 { 
  1201.         prop Label :: "Read Setup Width "
  1202.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1203.         prop Style :: 0x01 | 0x02
  1204.         prop JSName :: "emifaCectl3ReadSetup"
  1205.         prop Visible :: 1
  1206.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1207.         prop NoGen :: 1
  1208.         prop TabName :: "CE3 Space"
  1209.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1210.     }
  1211.     inst RDHLD3_SETUP :: 3 { 
  1212.         prop Label :: "Read Hold Width "
  1213.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1214.         prop Style :: 0x01 | 0x02
  1215.         prop JSName :: "emifaCectl3ReadHold"
  1216.         prop Visible :: 1
  1217.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1218.         prop NoGen :: 1
  1219.         prop TabName :: "CE3 Space"
  1220.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}})
  1221.     }
  1222.     inst WRSTRB3_SETUP :: 63 { 
  1223.         prop Label :: "Write Strobe Width "
  1224.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1225.         prop Style :: 0x01 | 0x02
  1226.         prop JSName :: "emifaCectl3WriteStrobe"
  1227.         prop Visible :: 1
  1228.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1229.         prop NoGen :: 1
  1230.         prop TabName :: "CE3 Space"
  1231.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1232.     }
  1233.     inst WRSETUP3_SETUP :: 15 { 
  1234.         prop Label :: "Write Setup Width "
  1235.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1236.         prop Style :: 0x01 | 0x02
  1237.         prop JSName :: "emifaCectl3WriteSetup"
  1238.         prop Visible :: 1
  1239.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1240.         prop NoGen :: 1
  1241.         prop TabName :: "CE3 Space"
  1242.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1243.     }
  1244.     inst WRHLD3_SETUP :: 3 { 
  1245.         prop Label :: "Write Hold Width "
  1246.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1247.         prop Style :: 0x01 | 0x02
  1248.         prop JSName :: "emifaCectl3WriteHold"
  1249.         prop Visible :: 1
  1250.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1251.         prop NoGen :: 1
  1252.         prop TabName :: "CE3 Space"
  1253.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1254.     }
  1255.     inst TA3_SETUP :: 3 { 
  1256.         prop Label :: "Turn around time (TA) "
  1257.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1258.         prop Style :: 0x01 | 0x02
  1259.         prop JSName :: "emifaCectl3Ta"
  1260.         prop Visible :: 1
  1261.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1262.         prop NoGen :: 1
  1263.         prop TabName :: "CE3 Space"
  1264.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  1265.     }
  1266.     inst SYNCRL0_SETUP :: "2 cycles" { 
  1267.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1268.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1269.         prop Label :: "Sync. interf. data read latency (SYNCRL)"
  1270.         prop JSName :: "emifaCesec0Syncrl"
  1271.         prop Visible :: 1
  1272.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1273.         prop NoGen :: 1
  1274.         prop TabName :: "CE0 Space"
  1275.         prop Set :: (self.SYNCRL0_SETUP = $1, self.CESEC0_VALUE = self.CESEC0_VALUE_update(), "ok")
  1276.     }
  1277.     inst SYNCWL0_SETUP :: "0 cycle" { 
  1278.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1279.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1280.         prop Label :: "Sync. interf. data write latency (SYNCWL)"
  1281.         prop Visible :: 1
  1282.         prop JSName :: "emifaCesec0Syncwl"
  1283.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1284.         prop NoGen :: 1
  1285.         prop TabName :: "CE0 Space"
  1286.         prop Set :: (self.SYNCWL0_SETUP = $1, self.CESEC0_VALUE = self.CESEC0_VALUE_update(), "ok")
  1287.     }
  1288.     inst CEEXT0_SETUP :: "Inactive" { 
  1289.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1290.         prop Enum :: "Inactive,Active"
  1291.         prop Label :: "CE Extension Register (CEEXT)"
  1292.         prop JSName :: "emifaCesec0Ceext"
  1293.         prop Visible :: 1
  1294.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1295.         prop NoGen :: 1
  1296.         prop TabName :: "CE0 Space"
  1297.         prop Set :: (self.CEEXT0_SETUP = $1, self.CESEC0_VALUE = self.CESEC0_VALUE_update(), "ok")
  1298.     }
  1299.     inst RENEN0_SETUP :: "ADS Mode" { 
  1300.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1301.         prop Enum :: "ADS Mode,Read Enable Mode"
  1302.         prop Label :: "Read Enable Enable (RENEN)"
  1303.         prop JSName :: "emifaCesec0Renen"
  1304.         prop Visible :: 1
  1305.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1306.         prop NoGen :: 1
  1307.         prop TabName :: "CE0 Space"
  1308.         prop Set :: (self.RENEN0_SETUP = $1, self.CESEC0_VALUE = self.CESEC0_VALUE_update(), "ok")
  1309.     }
  1310.     inst SNCCLK0_SETUP :: "Sync. to ECLKOUT1" { 
  1311.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1312.         prop Enum :: "Sync. to ECLKOUT1,Sync. to ECLKOUT2"
  1313.         prop Label :: "Synchronization Clock (SNCCLK)"
  1314.         prop JSName :: "emifaCesec0Sncclk"
  1315.         prop Visible :: 1
  1316.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1317.         prop NoGen :: 1
  1318.         prop TabName :: "CE0 Space"
  1319.         prop Set :: (self.SNCCLK0_SETUP = $1, self.CESEC0_VALUE = self.CESEC0_VALUE_update(), "ok")
  1320.     }
  1321.     inst SYNCRL1_SETUP :: "2 cycles" { 
  1322.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1323.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1324.         prop Label :: "Sync. interf. data read latency (SYNCRL)"
  1325.         prop JSName :: "emifaCesec1Syncrl"
  1326.         prop Visible :: 1
  1327.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1328.         prop NoGen :: 1
  1329.         prop TabName :: "CE1 Space"
  1330.         prop Set :: (self.SYNCRL1_SETUP = $1, self.CESEC1_VALUE = self.CESEC1_VALUE_update(), "ok")
  1331.     }
  1332.     inst SYNCWL1_SETUP :: "0 cycle" { 
  1333.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1334.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1335.         prop Label :: "Sync. interf. data write latency (SYNCWL)"
  1336.         prop JSName :: "emifaCesec1Syncwl"
  1337.         prop Visible :: 1
  1338.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1339.         prop NoGen :: 1
  1340.         prop TabName :: "CE1 Space"
  1341.         prop Set :: (self.SYNCWL1_SETUP = $1, self.CESEC1_VALUE = self.CESEC1_VALUE_update(), "ok")
  1342.     }
  1343.     inst CEEXT1_SETUP :: "Inactive" { 
  1344.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1345.         prop Enum :: "Inactive,Active"
  1346.         prop Label :: "CE Extension Register (CEEXT)"
  1347.         prop JSName :: "emifaCesec1Ceext"
  1348.         prop Visible :: 1
  1349.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1350.         prop NoGen :: 1
  1351.         prop TabName :: "CE1 Space"
  1352.         prop Set :: (self.CEEXT1_SETUP = $1, self.CESEC1_VALUE = self.CESEC1_VALUE_update(), "ok")
  1353.     }
  1354.     inst RENEN1_SETUP :: "ADS Mode" { 
  1355.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1356.         prop Enum :: "ADS Mode,Read Enable Mode"
  1357.         prop Label :: "Read Enable Enable (RENEN)"
  1358.         prop JSName :: "emifaCesec1Renen"
  1359.         prop Visible :: 1
  1360.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1361.         prop NoGen :: 1
  1362.         prop TabName :: "CE1 Space"
  1363.         prop Set :: (self.RENEN1_SETUP = $1, self.CESEC1_VALUE = self.CESEC1_VALUE_update(), "ok")
  1364.     }
  1365.     inst SNCCLK1_SETUP :: "Sync. to ECLKOUT1" { 
  1366.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1367.         prop Enum :: "Sync. to ECLKOUT1,Sync. to ECLKOUT2"
  1368.         prop Label :: "Synchronization Clock (SNCCLK)"
  1369.         prop JSName :: "emifaCesec1Sncclk"
  1370.         prop Visible :: 1
  1371.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1372.         prop NoGen :: 1
  1373.         prop TabName :: "CE1 Space"
  1374.         prop Set :: (self.SNCCLK1_SETUP = $1, self.CESEC1_VALUE = self.CESEC1_VALUE_update(), "ok")
  1375.     }
  1376.     inst SYNCRL2_SETUP :: "2 cycles" { 
  1377.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1378.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1379.         prop Label :: "Sync. interf. data read latency (SYNCRL)"
  1380.         prop JSName :: "emifaCesec2Syncrl"
  1381.         prop Visible :: 1
  1382.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1383.         prop NoGen :: 1
  1384.         prop TabName :: "CE2 Space"
  1385.         prop Set :: (self.SYNCRL2_SETUP = $1, self.CESEC2_VALUE = self.CESEC2_VALUE_update(), "ok")
  1386.     }
  1387.     inst SYNCWL2_SETUP :: "0 cycle" { 
  1388.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1389.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1390.         prop Label :: "Sync. interf. data write latency (SYNCWL)"
  1391.         prop JSName :: "emifaCesec2Syncwl"
  1392.         prop Visible :: 1
  1393.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1394.         prop NoGen :: 1
  1395.         prop TabName :: "CE2 Space"
  1396.         prop Set :: (self.SYNCWL2_SETUP = $1, self.CESEC2_VALUE = self.CESEC2_VALUE_update(), "ok")
  1397.     }
  1398.     inst CEEXT2_SETUP :: "Inactive" { 
  1399.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1400.         prop Enum :: "Inactive,Active"
  1401.         prop Label :: "CE Extension Register (CEEXT)"
  1402.         prop JSName :: "emifaCesec2Ceext"
  1403.         prop Visible :: 1
  1404.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1405.         prop NoGen :: 1
  1406.         prop TabName :: "CE2 Space"
  1407.         prop Set :: (self.CEEXT2_SETUP = $1, self.CESEC2_VALUE = self.CESEC2_VALUE_update(), "ok")
  1408.     }
  1409.     inst RENEN2_SETUP :: "ADS Mode" { 
  1410.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1411.         prop Enum :: "ADS Mode,Read Enable Mode"
  1412.         prop Label :: "Read Enable Enable (RENEN)"
  1413.         prop JSName :: "emifaCesec2Renen"
  1414.         prop Visible :: 1
  1415.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1416.         prop NoGen :: 1
  1417.         prop TabName :: "CE2 Space"
  1418.         prop Set :: (self.RENEN2_SETUP = $1, self.CESEC2_VALUE = self.CESEC2_VALUE_update(), "ok")
  1419.     }
  1420.     inst SNCCLK2_SETUP :: "Sync. to ECLKOUT1" { 
  1421.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1422.         prop Enum :: "Sync. to ECLKOUT1,Sync. to ECLKOUT2"
  1423.         prop Label :: "Synchronization Clock (SNCCLK)"
  1424.         prop JSName :: "emifaCesec2Sncclk"
  1425.         prop Visible :: 1
  1426.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1427.         prop NoGen :: 1
  1428.         prop TabName :: "CE2 Space"
  1429.         prop Set :: (self.SNCCLK2_SETUP = $1, self.CESEC2_VALUE = self.CESEC2_VALUE_update(), "ok")
  1430.     }
  1431.     inst SYNCRL3_SETUP :: "2 cycles" { 
  1432.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1433.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1434.         prop Label :: "Sync. interf. data read latency (SYNCRL)"
  1435.         prop JSName :: "emifaCesec3Syncrl"
  1436.         prop Visible :: 1
  1437.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1438.         prop NoGen :: 1
  1439.         prop TabName :: "CE3 Space"
  1440.         prop Set :: (self.SYNCRL3_SETUP = $1, self.CESEC3_VALUE = self.CESEC3_VALUE_update(), "ok")
  1441.     }
  1442.     inst SYNCWL3_SETUP :: "0 cycle" { 
  1443.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1444.         prop Enum :: "0 cycle,1 cycle,2 cycles,3 cycles"
  1445.         prop Label :: "Sync. interf. data write latency (SYNCWL)"
  1446.         prop JSName :: "emifaCesec3Syncwl"
  1447.         prop Visible :: 1
  1448.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1449.         prop NoGen :: 1
  1450.         prop TabName :: "CE3 Space"
  1451.         prop Set :: (self.SYNCWL3_SETUP = $1, self.CESEC3_VALUE = self.CESEC3_VALUE_update(), "ok")
  1452.     }
  1453.     inst CEEXT3_SETUP :: "Inactive" { 
  1454.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1455.         prop Enum :: "Inactive,Active"
  1456.         prop Label :: "CE Extension Register (CEEXT)"
  1457.         prop JSName :: "emifaCesec3Ceext"
  1458.         prop Visible :: 1
  1459.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1460.         prop NoGen :: 1
  1461.         prop TabName :: "CE3 Space"
  1462.         prop Set :: (self.CEEXT3_SETUP = $1, self.CESEC3_VALUE = self.CESEC3_VALUE_update(), "ok")
  1463.     }
  1464.     inst RENEN3_SETUP :: "ADS Mode" { 
  1465.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1466.         prop Enum :: "ADS Mode,Read Enable Mode"
  1467.         prop Label :: "Read Enable Enable (RENEN)"
  1468.         prop JSName :: "emifaCesec3Renen"
  1469.         prop Visible :: 1
  1470.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1471.         prop NoGen :: 1
  1472.         prop TabName :: "CE3 Space"
  1473.         prop Set :: (self.RENEN3_SETUP = $1, self.CESEC3_VALUE = self.CESEC3_VALUE_update(), "ok")
  1474.     }
  1475.     inst SNCCLK3_SETUP :: "Sync. to ECLKOUT1" { 
  1476.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1477.         prop Enum :: "Sync. to ECLKOUT1,Sync. to ECLKOUT2"
  1478.         prop Label :: "Synchronization Clock (SNCCLK)"
  1479.         prop JSName :: "emifaCesec3Sncclk"
  1480.         prop Visible :: 1
  1481.         prop Writable :: (if (CSL.EMIFA_SUPPORT) {1} else {0})
  1482.         prop NoGen :: 1
  1483.         prop TabName :: "CE3 Space"
  1484.         prop Set :: (self.SNCCLK3_SETUP = $1, self.CESEC3_VALUE = self.CESEC3_VALUE_update(), "ok")
  1485.     }
  1486.     inst TRC_SETUP :: 15 { 
  1487.         prop Label :: "TRC = trc/(eclkout1 period-1) (TRC) "
  1488.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1489.         prop Style :: 0x01 | 0x02
  1490.         prop JSName :: "emifaSdctlTrc"
  1491.         prop Visible :: 1
  1492.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1493.         prop NoGen :: 1
  1494.         prop TabName :: "SDRAM Control"
  1495.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRC = 0 - Maximum TRC = 15 ")} else {self.TRC_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  1496.     }
  1497.     inst TRP_SETUP :: 8 { 
  1498.         prop Label :: "TRP = trp/(eclkout1 period-1) (TRP) "
  1499.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1500.         prop Style :: 0x01 | 0x02
  1501.         prop JSName :: "emifaSdctlTrp"
  1502.         prop Visible :: 1
  1503.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1504.         prop NoGen :: 1
  1505.         prop TabName :: "SDRAM Control"
  1506.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRP = 0 - Maximum TRP= 15 ")} else {self.TRP_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  1507.     }
  1508.     inst TRCD_SETUP :: 4 { 
  1509.         prop Label :: "TRCD = trcd/(eclkout1 period-1) (TRCD) "
  1510.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1511.         prop Style :: 0x01 | 0x02
  1512.         prop JSName :: "emifaSdctlTrcd"
  1513.         prop Visible :: 1
  1514.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1515.         prop NoGen :: 1
  1516.         prop TabName :: "SDRAM Control"
  1517.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error("Minimum TRCD = 0 - Maximum TRCD= 15 ")} else {self.TRCD_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok"})
  1518.     }
  1519.     inst INIT_SETUP :: "Initialize" { 
  1520.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1521.         prop Enum :: "Initialize,No effect"
  1522.         prop Label :: "Initialization of all SDRAMs (INIT)"
  1523.         prop JSName :: "emifaSdctlInit"
  1524.         prop Visible :: 1
  1525.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1526.         prop NoGen :: 1
  1527.         prop TabName :: "SDRAM Control"
  1528.         prop Set :: (self.INIT_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1529.     }
  1530.     inst RFEN_SETUP :: "Enable" { 
  1531.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1532.         prop Enum :: "Enable,Disable"
  1533.         prop Label :: "SDRAM Refresh Enable (RFEN)"
  1534.         prop JSName :: "emifaSdctlRfen"
  1535.         prop Visible :: 1
  1536.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1537.         prop NoGen :: 1
  1538.         prop TabName :: "SDRAM Control"
  1539.         prop Set :: (self.RFEN_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1540.     }
  1541.     inst SDCSZ_SETUP :: " 9 addresses" { 
  1542.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1543.         prop Enum :: " 9 addresses, 8 addresses,10 addresses"
  1544.         prop Label :: "Column Size (SDCSZ)"
  1545.         prop JSName :: "emifaSdctlSdcsz"
  1546.         prop Visible :: 1
  1547.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1548.         prop NoGen :: 1
  1549.         prop TabName :: "SDRAM Control"
  1550.         prop Set :: (self.SDCSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1551.     }
  1552.     inst SDRSZ_SETUP :: "11 addresses" { 
  1553.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1554.         prop Enum :: "11 addresses,12 addresses,13 addresses"
  1555.         prop Label :: "Row Size (SDRSZ)"
  1556.         prop JSName :: "emifaSdctlSdrsz"
  1557.         prop Visible :: 1
  1558.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1559.         prop NoGen :: 1
  1560.         prop TabName :: "SDRAM Control"
  1561.         prop Set :: (self.SDRSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1562.     }
  1563.     inst SDBSZ_SETUP :: "Two banks" { 
  1564.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1565.         prop Enum :: "Two banks,Four banks"
  1566.         prop Label :: "Bank Size (SDBSZ)"
  1567.         prop JSName :: "emifaSdctlSdbsz"
  1568.         prop Visible :: 1
  1569.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1570.         prop NoGen :: 1
  1571.         prop TabName :: "SDRAM Control"
  1572.         prop Set :: (self.SDBSZ_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1573.     }
  1574.     inst SLFRFR_SETUP :: "Disable" { 
  1575.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1576.         prop Enum :: "Disable,Enable"
  1577.         prop Label :: "Self-refresh mode(SLFRFR)"
  1578.         prop JSName :: "emifaSdctlSlfrfr"
  1579.         prop Visible :: 1
  1580.         prop Writable :: if ((CSL.EMIFA_SUPPORT)) {1} else {0}
  1581.         prop NoGen :: 1
  1582.         prop TabName :: "SDRAM Control"
  1583.         prop Set :: (self.SLFRFR_SETUP = $1, self.SDCTL_VALUE = self.SDCTL_VALUE_update(), "ok")
  1584.     }
  1585.     inst PERIOD_SETUP2 :: 1500 { 
  1586.         prop Label :: "Refresh Period (ECLKOU1 cycles)"
  1587.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1588.         prop Style :: 0x01 | 0x02
  1589.         prop JSName :: "emifaSdtimEclkPeriod"
  1590.         prop Visible :: 1
  1591.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1592.         prop NoGen :: 1
  1593.         prop TabName :: "SDRAM Control"
  1594.         prop Set :: (if ($1 < 1 || $1 > 4096) {self.error("1 cyc. < PERIOD < 4096 cyc. ")} else {self.PERIOD_SETUP2 = $1, self.SDTIM_VALUE = self.SDTIM_VALUE_update(), "ok"})
  1595.     }
  1596.     inst XRFR_SETUP :: 1 { 
  1597.         prop Label :: "Extra Refreshes Ctrl. (XRFR)"
  1598.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1599.         prop Style :: 0x01 | 0x02
  1600.         prop JSName :: "emifaSdctlXrfr"
  1601.         prop Visible :: 1
  1602.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1603.         prop NoGen :: 1
  1604.         prop TabName :: "SDRAM Control"
  1605.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < Extra refreshes < 4 ")} else {self.XRFR_SETUP = $1, self.SDTIM_VALUE = self.SDTIM_VALUE_update(), "ok"})
  1606.     }
  1607.     inst TCL_SETUP :: 3 { 
  1608.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1609.         prop Label :: "CAS Latency (TCL)"
  1610.         prop Style :: 0x01 | 0x02
  1611.         prop JSName :: "emifaSdextTcl"
  1612.         prop Visible :: 1
  1613.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1614.         prop NoGen :: 1
  1615.         prop TabName :: "SDRAM More Opt."
  1616.         prop Set :: (if ($1 < 2 || $1 > 3) {self.error("TCL : 2 or 3 ECLKOU1 cycles ")} else {self.TCL_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1617.     }
  1618.     inst TRAS_SETUP :: 8 { 
  1619.         prop Label :: "tras = TRAS + 1 (ECLKOU1 cyc.)"
  1620.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1621.         prop Style :: 0x01 | 0x02
  1622.         prop JSName :: "emifaSdextTras"
  1623.         prop Visible :: 1
  1624.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1625.         prop NoGen :: 1
  1626.         prop TabName :: "SDRAM More Opt."
  1627.         prop Set :: (if ($1 < 1 || $1 > 8) {self.error("1 ECLKOU1 cycle < tras < 8 ECLKOU1 cycles ")} else {self.TRAS_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1628.     }
  1629.     inst TRRD_SETUP :: 3 { 
  1630.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1631.         prop Style :: 0x01 | 0x02
  1632.         prop Label :: "trrd = TRRD (2 or 3 ECLKOU1 cyc.)"
  1633.         prop JSName :: "emifaSdextTrrd"
  1634.         prop Visible :: 1
  1635.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1636.         prop NoGen :: 1
  1637.         prop TabName :: "SDRAM More Opt."
  1638.         prop Set :: (if ($1 < 2 || $1 > 3) {self.error("TRRD : 2 or 3 ECLKOU1 cycles ")} else {self.TRRD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1639.     }
  1640.     inst TWR_SETUP :: 2 { 
  1641.         prop Label :: "twr  = TWR + 1 (ECLKOU1 cyc.)"
  1642.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1643.         prop Style :: 0x01 | 0x02
  1644.         prop JSName :: "emifaSdextTwr"
  1645.         prop Visible :: 1
  1646.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1647.         prop NoGen :: 1
  1648.         prop TabName :: "SDRAM More Opt."
  1649.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 ECLKOU1 cycle < twr < 4 ECLKOU1 cycles ")} else {self.TWR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1650.     }
  1651.     inst THZP_SETUP :: 3 { 
  1652.         prop Label :: "thzp = THZP + 1 (ECLKOU1 cyc.)"
  1653.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1654.         prop Style :: 0x01 | 0x02
  1655.         prop JSName :: "emifaSdextThzp"
  1656.         prop Visible :: 1
  1657.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1658.         prop NoGen :: 1
  1659.         prop TabName :: "SDRAM More Opt."
  1660.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 ECLKOU1 cycle < thzp < 4 ECLKOU1 cycles ")} else {self.THZP_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1661.     }
  1662.     inst RD2RD_SETUP :: 2 { 
  1663.         prop Label :: "READ-To-READ (ECLKOU1 cyc.)"
  1664.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1665.         prop Style :: 0x01 | 0x02
  1666.         prop JSName :: "emifaSdextRd2rd"
  1667.         prop Visible :: 1
  1668.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1669.         prop NoGen :: 1
  1670.         prop TabName :: "SDRAM More Opt."
  1671.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOU1 cycles < 2  ")} else {self.RD2RD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1672.     }
  1673.     inst RD2DEAC_SETUP :: 4 { 
  1674.         prop Label :: "READ-To-DEAC/DEAB (ECLKOU1 cyc.)"
  1675.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1676.         prop Style :: 0x01 | 0x02
  1677.         prop JSName :: "emifaSdextRd2deac"
  1678.         prop Visible :: 1
  1679.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1680.         prop NoGen :: 1
  1681.         prop TabName :: "SDRAM More Opt."
  1682.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of ECLKOU1 cycles < 4  ")} else {self.RD2DEAC_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1683.     }
  1684.     inst RD2WR_SETUP :: 6 { 
  1685.         prop Label :: "READ-To-WRITE (ECLKOU1 cyc.)"
  1686.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1687.         prop Style :: 0x01 | 0x02
  1688.         prop JSName :: "emifaSdextRd2wr"
  1689.         prop Visible :: 1
  1690.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1691.         prop NoGen :: 1
  1692.         prop TabName :: "SDRAM More Opt."
  1693.         prop Set :: (if ($1 < 1 || $1 > 8) {self.error("1 < # of ECLKOU1 cycles < 8  ")} else {self.RD2WR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1694.     }
  1695.     inst R2WDQM_SETUP :: 3 { 
  1696.         prop Label :: "READ-To-WRITE with Interrupt (BEx cyc.)"
  1697.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1698.         prop Style :: 0x01 | 0x02
  1699.         prop JSName :: "emifaSdextR2wdqm"
  1700.         prop Visible :: 1
  1701.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1702.         prop NoGen :: 1
  1703.         prop TabName :: "SDRAM More Opt."
  1704.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of Bex cycles < 4  ")} else {self.R2WDQM_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1705.     }
  1706.     inst WR2WR_SETUP :: 2 { 
  1707.         prop Label :: "WRITE-To-WRITE (ECLKOU1 cyc.)"
  1708.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1709.         prop Style :: 0x01 | 0x02
  1710.         prop JSName :: "emifaSdextWr2wr"
  1711.         prop Visible :: 1
  1712.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1713.         prop NoGen :: 1
  1714.         prop TabName :: "SDRAM More Opt."
  1715.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOU1 cycles < 2  ")} else {self.WR2WR_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1716.     }
  1717.     inst WR2DEAC_SETUP :: 2 { 
  1718.         prop Label :: "WRITE-To-DEAC/DEAB (ECLKOU1 cyc.)"
  1719.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1720.         prop Style :: 0x01 | 0x02
  1721.         prop JSName :: "emifaSdextWr2deac"
  1722.         prop Visible :: 1
  1723.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1724.         prop NoGen :: 1
  1725.         prop TabName :: "SDRAM More Opt."
  1726.         prop Set :: (if ($1 < 1 || $1 > 4) {self.error("1 < # of ECLKOU1 cycles < 4  ")} else {self.WR2DEAC_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1727.     }
  1728.     inst WR2RD_SETUP :: 2 { 
  1729.         prop Label :: "WRITE-To-READ (# of ECLKOU1 cyc.)"
  1730.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1731.         prop Style :: 0x01 | 0x02
  1732.         prop JSName :: "emifaSdextWr2rd"
  1733.         prop Visible :: 1
  1734.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1735.         prop NoGen :: 1
  1736.         prop TabName :: "SDRAM More Opt."
  1737.         prop Set :: (if ($1 < 1 || $1 > 2) {self.error("1 < # of ECLKOU1 cycles < 2  ")} else {self.WR2RD_SETUP = $1, self.SDEXT_VALUE = self.SDEXT_VALUE_update(), "ok"})
  1738.     }
  1739.     inst GBLCTL_VALUE :: self.GBLCTL_VALUE_update() { 
  1740.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1741.         prop Label :: "Global Control Reg. (GBLCTL) "
  1742.         prop Format :: "0x%08X"
  1743.         prop JSName :: "emifaGblctl"
  1744.         prop Visible :: 1
  1745.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1746.         prop NoGen :: 0
  1747.         prop cGen :: 1
  1748.         prop cType :: "Uint32"
  1749.         prop TabName :: "Advanced"
  1750.         prop Set :: ($a = $1 & 0xFFF00000, $b = $1 & 0x0000C000, $c = $1 & 0x00001000, $d = $1 & 0x00000003, $e = $1 & 0x000C0000, if ($a != 0) {self.error("Bit field (31..20) is reserved")} else {if ($b != 0) {self.error("Bit field (15..14) is reserved")} else {if ($c != 0) {self.error("Bit field 12 is reserved")} else {if ($d != 0) {self.error("Bit field (1..0) is reserved")} else {if ($e == 0x000C0000) {self.error("Invalid input for EK2RATE bit[19:18]")} else {self.GBLCTL_VALUE = $1 | 0x0000004, self.GBLCTL_SETUP_update($1 | 0x0000004), "ok"}}}}})
  1751.     }
  1752.     inst CECTL0_VALUE :: self.CECTL0_VALUE_update() { 
  1753.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1754.         prop Label :: "CE0 Space Control Reg. (CECTL0) "
  1755.         prop Format :: "0x%08X"
  1756.         prop JSName :: "emifaCectl0"
  1757.         prop Visible :: 1
  1758.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1759.         prop NoGen :: 0
  1760.         prop cGen :: 1
  1761.         prop cType :: "Uint32"
  1762.         prop TabName :: "Advanced"
  1763.         prop Set :: ($a = $1 & 0x000000F0, $b = $1 & 0x0000C000, if ($a == 0x00000070 || $a == 0x000000F0 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if ($b == 0x00000000) {self.error("Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.CECTL0_VALUE = $1, self.CECTL0_SETUP_update($1), "ok"}})
  1764.     }
  1765.     inst CECTL1_VALUE :: self.CECTL1_VALUE_update() { 
  1766.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1767.         prop Label :: "CE1 Space Control Reg. (CECTL1) "
  1768.         prop Format :: "0x%08X"
  1769.         prop JSName :: "emifaCectl1"
  1770.         prop Visible :: 1
  1771.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1772.         prop NoGen :: 0
  1773.         prop cGen :: 1
  1774.         prop cType :: "Uint32"
  1775.         prop TabName :: "Advanced"
  1776.         prop Set :: ($a = $1 & 0x000000F0, $b = $1 & 0x0000C000, if ($a == 0x00000070 || $a == 0x000000F0 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if ($b == 0x00000000) {self.error("Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.CECTL1_VALUE = $1, self.CECTL1_SETUP_update($1), "ok"}})
  1777.     }
  1778.     inst CECTL2_VALUE :: self.CECTL2_VALUE_update() { 
  1779.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1780.         prop Label :: "CE2 Space Control Reg. (CECTL2) "
  1781.         prop Format :: "0x%08X"
  1782.         prop JSName :: "emifaCectl2"
  1783.         prop Visible :: 1
  1784.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1785.         prop NoGen :: 0
  1786.         prop cGen :: 1
  1787.         prop cType :: "Uint32"
  1788.         prop TabName :: "Advanced"
  1789.         prop Set :: ($a = $1 & 0x000000F0, $b = $1 & 0x0000C000, if ($a == 0x00000070 || $a == 0x000000F0 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if ($b == 0x00000000) {self.error("Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.CECTL2_VALUE = $1, self.CECTL2_SETUP_update($1), "ok"}})
  1790.     }
  1791.     inst CECTL3_VALUE :: self.CECTL3_VALUE_update() { 
  1792.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1793.         prop Label :: "CE3 Space Control Reg. (CECTL3) "
  1794.         prop Format :: "0x%08X"
  1795.         prop JSName :: "emifaCectl3"
  1796.         prop Visible :: 1
  1797.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1798.         prop NoGen :: 0
  1799.         prop cGen :: 1
  1800.         prop cType :: "Uint32"
  1801.         prop TabName :: "Advanced"
  1802.         prop Set :: ($a = $1 & 0x000000F0, $b = $1 & 0x0000C000, if ($a == 0x00000070 || $a == 0x000000F0 || $a == 0x00000050 || $a == 0x00000060) {self.error("Undefined Memory type for CE Spaces - See CEx Space Pages")} else {if ($b == 0x00000000) {self.error("Minimum: 1 ECLKOUT cycle - Maximum : 3 ECLKOUT cycles")} else {self.CECTL3_VALUE = $1, self.CECTL3_SETUP_update($1), "ok"}})
  1803.     }
  1804.     inst SDCTL_VALUE :: self.SDCTL_VALUE_update() { 
  1805.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1806.         prop Label :: "SDRAM Control Reg.(SDCTL) "
  1807.         prop Format :: "0x%08X"
  1808.         prop JSName :: "emifaSdctl"
  1809.         prop Visible :: 1
  1810.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1811.         prop NoGen :: 0
  1812.         prop cGen :: 1
  1813.         prop cType :: "Uint32"
  1814.         prop TabName :: "Advanced"
  1815.         prop Set :: ($a = $1 & 0x0c000000, if ($a == 0x0c000000) {self.error("Undefined Value for Column Size field SDCSZ")} else {$b = $1 & 0x30000000, if ($b == 0x30000000) {self.error("Undefined Value for Row Size field SDRSZ")} else {$c = $1 & 0x80000000, if ($c == 0x80000000) {self.error("Bit field 31 is reserved")} else {$d = $1 & 0x00000FFE, if ($d != 0) {self.error("Bit field(bit[1..11]) is reserved")} else {self.SDCTL_VALUE = $1, self.SDCTL_SETUP_update($1), "ok"}}}})
  1816.     }
  1817.     inst SDTIM_VALUE :: self.SDTIM_VALUE_update() { 
  1818.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1819.         prop Label :: "SDRAM Timing Reg.(SDTIM) "
  1820.         prop Format :: "0x%08X"
  1821.         prop JSName :: "emifaSdtim"
  1822.         prop Visible :: 1
  1823.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1824.         prop NoGen :: 0
  1825.         prop cGen :: 1
  1826.         prop cType :: "Uint32"
  1827.         prop TabName :: "Advanced"
  1828.         prop Set :: ($a = $1 & 0x0000FFF, if ($a == 0x00000000) {self.error("1 cyc. < PERIOD < 4096 cyc. ")} else {$b = $1 & 0xFC000000, if ($b != 0) {self.error("Bit field(bit[26..31]) is reserved")} else {self.SDTIM_VALUE = $1 | 0x005dc000, self.SDTIM_SETUP_update($1 | 0x005dc000), "ok"}})
  1829.     }
  1830.     inst SDEXT_VALUE :: self.SDEXT_VALUE_update() { 
  1831.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1832.         prop Label :: "SDRAM Extended Reg.(SDEXT) "
  1833.         prop Format :: "0x%08X"
  1834.         prop JSName :: "emifaSdext"
  1835.         prop Visible :: 1
  1836.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1837.         prop NoGen :: 0
  1838.         prop cGen :: 1
  1839.         prop cType :: "Uint32"
  1840.         prop TabName :: "Advanced"
  1841.         prop Set :: ($a = $1 & 0xFFE00000, if ($a != 0) {self.error("Bit field(bit[21..31]) is reserved")} else {self.SDEXT_VALUE = $1, self.SDEXT_SETUP_update($1), "ok"})
  1842.     }
  1843.     inst CESEC0_VALUE :: self.CESEC0_VALUE_update() { 
  1844.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1845.         prop Label :: "CE0 Space Secondary Control Reg. (CESEC0)"
  1846.         prop Format :: "0x%08X"
  1847.         prop JSName :: "emifaCesec0"
  1848.         prop Visible :: 1
  1849.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  1850.         prop NoGen :: 0
  1851.         prop cGen :: 1
  1852.         prop cType :: "Uint32"
  1853.         prop TabName :: "Advanced"
  1854.         prop Set :: ($a = $1 & 0xFFFFFF80, if ($a != 0) {self.error("Bit field(bit[7..31]) is reserved")} else {self.CESEC0_VALUE = $1, self.CESEC0_SETUP_update($1), "ok"})
  1855.     }
  1856.     inst CESEC1_VALUE :: self.CESEC1_VALUE_update() { 
  1857.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1858.         prop Label :: "CE1 Space Secondary Control Reg. (CESEC1)"
  1859.         prop Format :: "0x%08X"
  1860.         prop JSName :: "emifaCesec1"
  1861.         prop Visible :: 1
  1862.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  1863.         prop NoGen :: 0
  1864.         prop cGen :: 1
  1865.         prop cType :: "Uint32"
  1866.         prop TabName :: "Advanced"
  1867.         prop Set :: ($a = $1 & 0xFFFFFF80, if ($a != 0) {self.error("Bit field(bit[7..31]) is reserved")} else {self.CESEC1_VALUE = $1, self.CESEC1_SETUP_update($1), "ok"})
  1868.     }
  1869.     inst CESEC2_VALUE :: self.CESEC2_VALUE_update() { 
  1870.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1871.         prop Label :: "CE2 Space Secondary Control Reg. (CESEC2)"
  1872.         prop Format :: "0x%08X"
  1873.         prop JSName :: "emifaCesec2"
  1874.         prop Visible :: 1
  1875.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  1876.         prop NoGen :: 0
  1877.         prop cGen :: 1
  1878.         prop cType :: "Uint32"
  1879.         prop TabName :: "Advanced"
  1880.         prop Set :: ($a = $1 & 0xFFFFFF80, if ($a != 0) {self.error("Bit field(bit[7..31]) is reserved")} else {self.CESEC2_VALUE = $1, self.CESEC2_SETUP_update($1), "ok"})
  1881.     }
  1882.     inst CESEC3_VALUE :: self.CESEC3_VALUE_update() { 
  1883.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1884.         prop Label :: "CE3 Space Secondary Control Reg. (CESEC3)"
  1885.         prop Format :: "0x%08X"
  1886.         prop JSName :: "emifaCesec3"
  1887.         prop Visible :: 1
  1888.         prop Writable :: if (CSL.EMIFA_SUPPORT != 0) {1} else {0}
  1889.         prop NoGen :: 0
  1890.         prop cGen :: 1
  1891.         prop cType :: "Uint32"
  1892.         prop TabName :: "Advanced"
  1893.         prop Set :: ($a = $1 & 0xFFFFFF80, if ($a != 0) {self.error("Bit field(bit[7..31]) is reserved")} else {self.CESEC3_VALUE = $1, self.CESEC3_SETUP_update($1), "ok"})
  1894.     }
  1895. }
  1896. type hEmifa {
  1897.     prop IsContainedIn :: EMIFAFOLDER
  1898.     prop name :: "hEmifa"
  1899.     prop Label :: "EMIF Resource Manager"
  1900.     prop JSName :: "HEMIFA"
  1901.     prop NoGen :: 1
  1902.     prop GlobalPropertyPage :: "{980E6534-6246-11d4-B5CC-0050DA2E2CC0}"
  1903.     prop InstancePropertyPage :: "{980E6535-6246-11d4-B5CC-0050DA2E2CC0}"
  1904.     prop GlobalIcon :: 163
  1905.     prop InstanceIcon :: 164
  1906.     prop GlobalHelpTopic :: (1045)
  1907.     prop cGen :: 1
  1908.     global EMIFA_INIT_ENABLE :: 0 { 
  1909.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1910.         prop Label :: "Enable Pre-Initialization"
  1911.         prop JSName :: "emifaEnablePreInit"
  1912.         prop Visible :: 1
  1913.         prop Writable :: (CSL.EMIFA_SUPPORT)
  1914.         prop NoGen :: 0
  1915.         prop Set :: ($a = 0, scan ($b; emifaCfg) {$a = $a + 1}, if ($1 == 1 && $a == 1 && self.EMIFA_INIT == EMIFA_NOTHING) {" You must create a new configuration object"} else {self.EMIFA_INIT_ENABLE = $1, if ($1 == 0) {self.EMIFA_INIT = EMIFA_NOTHING} , "ok"})
  1916.     }
  1917.     global EMIFA_INIT :: EMIFA_NOTHING { 
  1918.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1919.         prop MemberType :: emifaCfg
  1920.         prop Label :: " Pre-Initialize with"
  1921.         prop JSName :: "emifaPreInit"
  1922.         prop Visible :: 1
  1923.         prop Writable :: if (CSL.EMIFA_SUPPORT) && (self.EMIFA_INIT_ENABLE == 1) {1} else {0}
  1924.     }
  1925. }
  1926. object EMIFA_NOTHING :: emifaCfg {
  1927.     param iComment :: "<add comments here>"
  1928.     param iIsUsed :: 0
  1929.     param iId :: 0
  1930.     param iDelUser :: "USER"
  1931.     param iDelMsg :: "ok"
  1932.     param NOHOLD_SETUP :: "Enable Hold"
  1933.     param CLK4EN_SETUP :: "Enabled to clock"
  1934.     param CLK6EN_SETUP :: "Enabled to clock"
  1935.     param EK1EN_SETUP :: "Enabled to clock"
  1936.     param EK2EN_SETUP :: "Enabled to clock"
  1937.     param EK1HZ_SETUP :: "High-Z during hold"
  1938.     param EK2HZ_SETUP :: "Clock during hold"
  1939.     param EK2RATE_SETUP :: "1/4x EMIF input clock"
  1940.     param BRMODE_SETUP :: "access/refresh pending or in progress"
  1941.     param MTYPE0_SETUP :: "32-bit async. interf."
  1942.     param RDSTRB0_SETUP :: 63
  1943.     param RDSETUP0_SETUP :: 15
  1944.     param RDHLD0_SETUP :: 3
  1945.     param WRSTRB0_SETUP :: 63
  1946.     param WRSETUP0_SETUP :: 15
  1947.     param WRHLD0_SETUP :: 3
  1948.     param TA0_SETUP :: 3
  1949.     param MTYPE1_SETUP :: "32-bit async. interf."
  1950.     param RDSTRB1_SETUP :: 63
  1951.     param RDSETUP1_SETUP :: 15
  1952.     param RDHLD1_SETUP :: 3
  1953.     param WRSTRB1_SETUP :: 63
  1954.     param WRSETUP1_SETUP :: 15
  1955.     param WRHLD1_SETUP :: 3
  1956.     param TA1_SETUP :: 3
  1957.     param MTYPE2_SETUP :: "32-bit async. interf."
  1958.     param RDSTRB2_SETUP :: 63
  1959.     param RDSETUP2_SETUP :: 15
  1960.     param RDHLD2_SETUP :: 3
  1961.     param WRSTRB2_SETUP :: 63
  1962.     param WRSETUP2_SETUP :: 15
  1963.     param WRHLD2_SETUP :: 3
  1964.     param TA2_SETUP :: 3
  1965.     param MTYPE3_SETUP :: "32-bit async. interf."
  1966.     param RDSTRB3_SETUP :: 63
  1967.     param RDSETUP3_SETUP :: 15
  1968.     param RDHLD3_SETUP :: 3
  1969.     param WRSTRB3_SETUP :: 63
  1970.     param WRSETUP3_SETUP :: 15
  1971.     param WRHLD3_SETUP :: 3
  1972.     param TA3_SETUP :: 3
  1973.     param SYNCRL0_SETUP :: "2 cycles"
  1974.     param SYNCWL0_SETUP :: "0 cycle"
  1975.     param CEEXT0_SETUP :: "Inactive"
  1976.     param RENEN0_SETUP :: "ADS Mode"
  1977.     param SNCCLK0_SETUP :: "Sync. to ECLKOUT1"
  1978.     param SYNCRL1_SETUP :: "2 cycles"
  1979.     param SYNCWL1_SETUP :: "0 cycle"
  1980.     param CEEXT1_SETUP :: "Inactive"
  1981.     param RENEN1_SETUP :: "ADS Mode"
  1982.     param SNCCLK1_SETUP :: "Sync. to ECLKOUT1"
  1983.     param SYNCRL2_SETUP :: "2 cycles"
  1984.     param SYNCWL2_SETUP :: "0 cycle"
  1985.     param CEEXT2_SETUP :: "Inactive"
  1986.     param RENEN2_SETUP :: "ADS Mode"
  1987.     param SNCCLK2_SETUP :: "Sync. to ECLKOUT1"
  1988.     param SYNCRL3_SETUP :: "2 cycles"
  1989.     param SYNCWL3_SETUP :: "0 cycle"
  1990.     param CEEXT3_SETUP :: "Inactive"
  1991.     param RENEN3_SETUP :: "ADS Mode"
  1992.     param SNCCLK3_SETUP :: "Sync. to ECLKOUT1"
  1993.     param TRC_SETUP :: 15
  1994.     param TRP_SETUP :: 8
  1995.     param TRCD_SETUP :: 4
  1996.     param INIT_SETUP :: "Initialize"
  1997.     param RFEN_SETUP :: "Enable"
  1998.     param SDCSZ_SETUP :: " 9 addresses"
  1999.     param SDRSZ_SETUP :: "11 addresses"
  2000.     param SDBSZ_SETUP :: "Two banks"
  2001.     param SLFRFR_SETUP :: "Disable"
  2002.     param PERIOD_SETUP2 :: 1500
  2003.     param XRFR_SETUP :: 1
  2004.     param TCL_SETUP :: 3
  2005.     param TRAS_SETUP :: 8
  2006.     param TRRD_SETUP :: 3
  2007.     param TWR_SETUP :: 2
  2008.     param THZP_SETUP :: 3
  2009.     param RD2RD_SETUP :: 2
  2010.     param RD2DEAC_SETUP :: 4
  2011.     param RD2WR_SETUP :: 6
  2012.     param R2WDQM_SETUP :: 3
  2013.     param WR2WR_SETUP :: 2
  2014.     param WR2DEAC_SETUP :: 2
  2015.     param WR2RD_SETUP :: 2
  2016.     param GBLCTL_VALUE :: 598140
  2017.     param CECTL0_VALUE :: -221
  2018.     param CECTL1_VALUE :: -221
  2019.     param CECTL2_VALUE :: -221
  2020.     param CECTL3_VALUE :: -221
  2021.     param SDCTL_VALUE :: 55111680
  2022.     param SDTIM_VALUE :: 6145500
  2023.     param SDEXT_VALUE :: 1531711
  2024.     param CESEC0_VALUE :: 2
  2025.     param CESEC1_VALUE :: 2
  2026.     param CESEC2_VALUE :: 2
  2027.     param CESEC3_VALUE :: 2
  2028. }
  2029. type EMIFBFOLDER {
  2030.     isa ModuleFolder
  2031.     prop IsContainedIn :: CSL
  2032.     prop name :: "EMIFB"
  2033.     prop Label :: "EMIFB - External Memory Interface B (64x devices only)"
  2034.     prop NoGen :: 1
  2035.     prop GlobalPropertyPage :: "{980E6530-6246-11d4-B5CC-0050DA2E2CC0}"
  2036.     prop InstancePropertyPage :: "{980E6531-6246-11d4-B5CC-0050DA2E2CC0}"
  2037.     prop GlobalIcon :: 163
  2038.     prop InstanceIcon :: 164
  2039.     prop GlobalHelpTopic :: (1043)
  2040.     global gUser :: "USER" { 
  2041.         prop Visible :: 0
  2042.         prop Writable :: 0
  2043.         prop NoGen :: 1
  2044.     }
  2045.     global gSetOf :: 0 { 
  2046.         prop Visible :: 0
  2047.         prop Writable :: 0
  2048.         prop NoGen :: 1
  2049.     }
  2050.     global gNumOf :: 0 { 
  2051.         prop Visible :: 0
  2052.         prop Writable :: 0
  2053.         prop NoGen :: 1
  2054.     }
  2055.     global gDirty :: 0 { 
  2056.         prop Visible :: 0
  2057.         prop Writable :: 0
  2058.         prop NoGen :: 1
  2059.     }
  2060.     global gInitFlag :: 1 { 
  2061.         prop Visible :: 0
  2062.         prop Writable :: 0
  2063.         prop NoGen :: 1
  2064.     }
  2065.     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) { 
  2066.         prop Visible :: 0
  2067.         prop Writable :: 0
  2068.         prop NoGen :: 1
  2069.     }
  2070. }
  2071. type emifbCfg {
  2072.     isa ObjectMgr
  2073.     prop Name :: "emifbCfg"
  2074.     prop Label :: "EMIFB Configuration Manager"
  2075.     prop JSName :: "EMIFB"
  2076.     prop IsContainedIn :: EMIFBFOLDER
  2077.     prop NoGen :: 1
  2078.     prop maxObjs :: (32767)
  2079.     prop GlobalPropertyPage :: "{980E6532-6246-11d4-B5CC-0050DA2E2CC0}"
  2080.     prop InstancePropertyPage :: "{980E6533-6246-11d4-B5CC-0050DA2E2CC0}"
  2081.     prop GlobalIcon :: 163
  2082.     prop InstanceIcon :: 164
  2083.     prop GlobalHelpTopic :: (1044)
  2084.     prop InstanceHelpTopic :: (1044)
  2085.     prop cGen :: CSL.EMIFB_SUPPORT
  2086.     prop cStruct :: 1
  2087.     prop cStructType :: "EMIFB_Config"
  2088.     prop cHeaderName :: if self.gNumOf > 0 {"csl_emifb.h"} else {""}
  2089.     prop cStructQual :: "far"
  2090.     prop cStructName :: self
  2091.     prop cConfigName :: "EMIFB_config"
  2092.     prop localDelete :: (self.myDelete)
  2093.     prop myDelete :: ($a = 0, scan ($b; emifbCfg) {$a = $a + 1}, if ($a == 2) {hEmifb.EMIFB_INIT_ENABLE = 0} , "ok")
  2094.     prop NOHOLD_GBLCTL :: (if (self.NOHOLD_SETUP == "Disable Hold") {0x00000080} else {0x00000000})
  2095.     prop CLK4EN_GBLCTL :: (if (self.CLK4EN_SETUP == "Held high") {0x00000000} else {0x00000010})
  2096.     prop CLK6EN_GBLCTL :: (if (self.CLK6EN_SETUP == "Held high") {0x00000000} else {0x00000008})
  2097.     prop EK1EN_GBLCTL :: (if (self.EK1EN_SETUP == "Held low") {0x00000000} else {0x00000020})
  2098.     prop EK2EN_GBLCTL :: (if (self.EK2EN_SETUP == "Held low") {0x00000000} else {0x00010000})
  2099.     prop EK1HZ_GBLCTL :: (if (self.EK1HZ_SETUP == "Clock during hold") {0x00000000} else {0x00000040})
  2100.     prop EK2HZ_GBLCTL :: (if (self.EK2HZ_SETUP == "Clock during hold") {0x00000000} else {0x00020000})
  2101.     prop EK2RATE_GBLCTL :: (if (self.EK2RATE_SETUP == "1x EMIF input clock") {0x00000000} else {if (self.EK2RATE_SETUP == "1/2x EMIF input clock") {0x00040000} else {if (self.EK2RATE_SETUP == "1/4x EMIF input clock") {0x00080000} }})
  2102.     prop BRMODE_GBLCTL :: (if (self.BRMODE_SETUP == "access pending or in progress") {0x00000000} else {if (self.BRMODE_SETUP == "access/refresh pending or in progress") {0x00002000} })
  2103.     prop MTYPE0_CECTL0 :: (if (self.MTYPE0_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE0_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE0_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE0_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE0_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE0_SETUP == "16-bit prog. sync. mem") {0x000000b0} }}}}})
  2104.     prop RDSTRB0_CECTL0 :: (((self.RDSTRB0_SETUP) << 8))
  2105.     prop RDSETUP0_CECTL0 :: (((self.RDSETUP0_SETUP) << 16))
  2106.     prop RDHLD0_CECTL0 :: ((self.RDHLD0_SETUP))
  2107.     prop WRSTRB0_CECTL0 :: (((self.WRSTRB0_SETUP) << 22))
  2108.     prop WRSETUP0_CECTL0 :: (((self.WRSETUP0_SETUP) << 28))
  2109.     prop WRHLD0_CECTL0 :: (if (self.WRHLD0_SETUP > 3) {((self.WRHLD0_SETUP - 4) << 20)} else {((self.WRHLD0_SETUP << 20))})
  2110.     prop WRHLDMSB0_CECTL0 :: (if (self.WRHLD0_SETUP > 3) {0x00000008} else {0x00000000})
  2111.     prop TA0_CECTL0 :: ((self.TA0_SETUP << 14))
  2112.     prop MTYPE1_CECTL1 :: (if (self.MTYPE1_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE1_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE1_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE1_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE1_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE1_SETUP == "16-bit prog. sync. mem") {0x000000b0} }}}}})
  2113.     prop RDSTRB1_CECTL1 :: (((self.RDSTRB1_SETUP) << 8))
  2114.     prop RDSETUP1_CECTL1 :: (((self.RDSETUP1_SETUP) << 16))
  2115.     prop RDHLD1_CECTL1 :: ((self.RDHLD1_SETUP))
  2116.     prop WRSTRB1_CECTL1 :: (((self.WRSTRB1_SETUP) << 22))
  2117.     prop WRSETUP1_CECTL1 :: (((self.WRSETUP1_SETUP) << 28))
  2118.     prop WRHLD1_CECTL1 :: (if (self.WRHLD1_SETUP > 3) {((self.WRHLD1_SETUP - 4) << 20)} else {((self.WRHLD1_SETUP << 20))})
  2119.     prop WRHLDMSB1_CECTL1 :: (if (self.WRHLD1_SETUP > 3) {0x00000008} else {0x00000000})
  2120.     prop TA1_CECTL1 :: ((self.TA1_SETUP << 14))
  2121.     prop MTYPE2_CECTL2 :: (if (self.MTYPE2_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE2_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE2_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE2_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE2_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE2_SETUP == "16-bit prog. sync. mem") {0x000000b0} }}}}})
  2122.     prop RDSTRB2_CECTL2 :: (((self.RDSTRB2_SETUP) << 8))
  2123.     prop RDSETUP2_CECTL2 :: (((self.RDSETUP2_SETUP) << 16))
  2124.     prop RDHLD2_CECTL2 :: ((self.RDHLD2_SETUP))
  2125.     prop WRSTRB2_CECTL2 :: (((self.WRSTRB2_SETUP) << 22))
  2126.     prop WRSETUP2_CECTL2 :: (((self.WRSETUP2_SETUP) << 28))
  2127.     prop WRHLD2_CECTL2 :: (if (self.WRHLD2_SETUP > 3) {((self.WRHLD2_SETUP - 4) << 20)} else {((self.WRHLD2_SETUP << 20))})
  2128.     prop WRHLDMSB2_CECTL2 :: (if (self.WRHLD2_SETUP > 3) {0x00000008} else {0x00000000})
  2129.     prop TA2_CECTL2 :: ((self.TA2_SETUP << 14))
  2130.     prop MTYPE3_CECTL3 :: (if (self.MTYPE3_SETUP == "  8-bit async. interf.") {0x00000000} else {if (self.MTYPE3_SETUP == "  8-bit SDRAM") {0x00000080} else {if (self.MTYPE3_SETUP == "  8-bit prog. sync. mem") {0x000000a0} else {if (self.MTYPE3_SETUP == "16-bit async. interf.") {0x00000010} else {if (self.MTYPE3_SETUP == "16-bit SDRAM") {0x00000090} else {if (self.MTYPE3_SETUP == "16-bit prog. sync. mem") {0x000000b0} }}}}})
  2131.     prop RDSTRB3_CECTL3 :: (((self.RDSTRB3_SETUP) << 8))
  2132.     prop RDSETUP3_CECTL3 :: (((self.RDSETUP3_SETUP) << 16))
  2133.     prop RDHLD3_CECTL3 :: ((self.RDHLD3_SETUP))
  2134.     prop WRSTRB3_CECTL3 :: (((self.WRSTRB3_SETUP) << 22))
  2135.     prop WRSETUP3_CECTL3 :: (((self.WRSETUP3_SETUP) << 28))
  2136.     prop WRHLD3_CECTL3 :: (if (self.WRHLD3_SETUP > 3) {((self.WRHLD3_SETUP - 4) << 20)} else {((self.WRHLD3_SETUP << 20))})
  2137.     prop WRHLDMSB3_CECTL3 :: (if (self.WRHLD3_SETUP > 3) {0x00000008} else {0x00000000})
  2138.     prop TA3_CECTL3 :: ((self.TA3_SETUP << 14))
  2139.     prop SYNCRL0_CESEC0 :: (if (self.SYNCRL0_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL0_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL0_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  2140.     prop SYNCWL0_CESEC0 :: (if (self.SYNCWL0_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL0_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL0_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  2141.     prop CEEXT0_CESEC0 :: (if (self.CEEXT0_SETUP == "Inactive") {0x00000000} else {0x0000010})
  2142.     prop RENEN0_CESEC0 :: (if (self.RENEN0_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  2143.     prop SNCCLK0_CESEC0 :: (if (self.SNCCLK0_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  2144.     prop SYNCRL1_CESEC1 :: (if (self.SYNCRL1_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL1_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL1_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  2145.     prop SYNCWL1_CESEC1 :: (if (self.SYNCWL1_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL1_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL1_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  2146.     prop CEEXT1_CESEC1 :: (if (self.CEEXT1_SETUP == "Inactive") {0x00000000} else {0x0000010})
  2147.     prop RENEN1_CESEC1 :: (if (self.RENEN1_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  2148.     prop SNCCLK1_CESEC1 :: (if (self.SNCCLK1_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  2149.     prop SYNCRL2_CESEC2 :: (if (self.SYNCRL2_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL2_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL2_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  2150.     prop SYNCWL2_CESEC2 :: (if (self.SYNCWL2_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL2_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL2_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  2151.     prop CEEXT2_CESEC2 :: (if (self.CEEXT2_SETUP == "Inactive") {0x00000000} else {0x0000010})
  2152.     prop RENEN2_CESEC2 :: (if (self.RENEN2_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  2153.     prop SNCCLK2_CESEC2 :: (if (self.SNCCLK2_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  2154.     prop SYNCRL3_CESEC3 :: (if (self.SYNCRL3_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCRL3_SETUP == "1 cycle") {0x00000001} else {if (self.SYNCRL3_SETUP == "2 cycles") {0x00000002} else {0x00000003}}})
  2155.     prop SYNCWL3_CESEC3 :: (if (self.SYNCWL3_SETUP == "0 cycle") {0x00000000} else {if (self.SYNCWL3_SETUP == "1 cycle") {0x00000004} else {if (self.SYNCWL3_SETUP == "2 cycles") {0x00000008} else {0x0000000c}}})
  2156.     prop CEEXT3_CESEC3 :: (if (self.CEEXT3_SETUP == "Inactive") {0x00000000} else {0x0000010})
  2157.     prop RENEN3_CESEC3 :: (if (self.RENEN3_SETUP == "ADS Mode") {0x00000000} else {0x0000020})
  2158.     prop SNCCLK3_CESEC3 :: (if (self.SNCCLK3_SETUP == "Sync. to ECLKOUT1") {0x00000000} else {0x0000040})
  2159.     prop TRC_SDCTL :: ((self.TRC_SETUP << 12))
  2160.     prop TRP_SDCTL :: ((self.TRP_SETUP << 16))
  2161.     prop TRCD_SDCTL :: ((self.TRCD_SETUP << 20))
  2162.     prop INIT_SDCTL :: (if (self.INIT_SETUP == "Initialize") {0x01000000} else {0x00000000})
  2163.     prop RFEN_SDCTL :: (if (self.RFEN_SETUP == "Enable") {0x02000000} else {0x00000000})
  2164.     prop SDCSZ_SDCTL :: (if (self.SDCSZ_SETUP == " 8 addresses") {0x04000000} else {if (self.SDCSZ_SETUP == "10 addresses") {0x08000000} else {0x00000000}})
  2165.     prop SDRSZ_SDCTL :: (if (self.SDRSZ_SETUP == "12 addresses") {0x10000000} else {if (self.SDRSZ_SETUP == "13 addresses") {0x20000000} else {0x00000000}})
  2166.     prop SDBSZ_SDCTL :: (if (self.SDBSZ_SETUP == "Four banks") {0x40000000} else {0x00000000})
  2167.     prop PERIOD_SDTIM2 :: ((self.PERIOD_SETUP2))
  2168.     prop XRFR_SDTIM :: (((self.XRFR_SETUP - 1) << 24))
  2169.     prop TCL_SDEXT :: ((self.TCL_SETUP - 2))
  2170.     prop TRAS_SDEXT :: (((self.TRAS_SETUP - 1) << 1))
  2171.     prop TRRD_SDEXT :: ((self.TRRD_SETUP - 2) << 4)
  2172.     prop TWR_SDEXT :: (((self.TWR_SETUP - 1) << 5))
  2173.     prop THZP_SDEXT :: (((self.THZP_SETUP - 1) << 7))
  2174.     prop RD2RD_SDEXT :: (((self.RD2RD_SETUP - 1) << 9))
  2175.     prop RD2DEAC_SDEXT :: (((self.RD2DEAC_SETUP - 1) << 10))
  2176.     prop RD2WR_SDEXT :: (((self.RD2WR_SETUP - 1) << 12))
  2177.     prop R2WDQM_SDEXT :: (((self.R2WDQM_SETUP - 1) << 15))
  2178.     prop WR2WR_SDEXT :: (((self.WR2WR_SETUP - 1) << 17))
  2179.     prop WR2DEAC_SDEXT :: (((self.WR2DEAC_SETUP - 1) << 18))
  2180.     prop WR2RD_SDEXT :: (((self.WR2RD_SETUP - 1) << 20))
  2181.     prop GBLCTL_VALUE_update :: (0x00000004 | self.NOHOLD_GBLCTL() | self.CLK4EN_GBLCTL() | self.CLK6EN_GBLCTL() | self.EK1EN_GBLCTL() | self.EK2EN_GBLCTL() | self.EK1HZ_GBLCTL() | self.EK2HZ_GBLCTL() | self.EK2RATE_GBLCTL() | self.BRMODE_GBLCTL())
  2182.     prop GBLCTL_SETUP_update :: (self.NOHOLD_SETUP = if ($1 & 0x00000080) {"Disable Hold"} else {"Enable Hold"}, self.CLK4EN_SETUP = if ($1 & 0x00000010) {"Enabled to clock"} else {"Held high"}, self.CLK6EN_SETUP = if ($1 & 0x00000008) {"Enabled to clock"} else {"Held high"}, self.EK1EN_SETUP = if ($1 & 0x00000020) {"Enabled to clock"} else {"Held low"}, self.EK2EN_SETUP = if ($1 & 0x00010000) {"Enabled to clock"} else {"Held low"}, self.EK1HZ_SETUP = if ($1 & 0x00000040) {"High-Z during hold"} else {"Clock during hold"}, self.EK2HZ_SETUP = if ($1 & 0x00020000) {"High-Z during hold"} else {"Clock during hold"}, self.BRMODE_SETUP = if ($1 & 0x00002000) {"access/refresh pending or in progress"} else {"access pending or in progress"}, $a = $1 & 0x000C0000, if ($a == 0x00080000) {self.EK2RATE_SETUP = "1/4x EMIF input clock"} else {self.EK2RATE_SETUP = if ($1 & 0x00040000) {"1/2x EMIF input clock"} else {"1x EMIF input clock"}})
  2183.     prop CECTL0_VALUE_update :: (self.MTYPE0_CECTL0() | self.RDHLD0_CECTL0() | self.RDSTRB0_CECTL0() | self.RDSETUP0_CECTL0() | self.WRHLD0_CECTL0() | self.WRHLDMSB0_CECTL0() | self.WRSETUP0_CECTL0() | self.WRSTRB0_CECTL0() | self.TA0_CECTL0())
  2184.     prop CECTL0_SETUP_update :: (self.MTYPE0_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {"16-bit prog. sync. mem"}}}}}), self.RDHLD0_SETUP = ($1 & 0x00000007), self.RDSTRB0_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP0_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD0_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB0_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP0_SETUP = (($1 >> 28) & 0xF), self.TA0_SETUP = ($1 & 0x0000c000) >> 14)
  2185.     prop CECTL1_VALUE_update :: (self.MTYPE1_CECTL1() | self.RDHLD1_CECTL1() | self.RDSTRB1_CECTL1() | self.RDSETUP1_CECTL1() | self.WRHLD1_CECTL1() | self.WRHLDMSB1_CECTL1() | self.WRSETUP1_CECTL1() | self.WRSTRB1_CECTL1() | self.TA1_CECTL1())
  2186.     prop CECTL1_SETUP_update :: (self.MTYPE1_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {"16-bit prog. sync. mem"}}}}}), self.RDHLD1_SETUP = ($1 & 0x00000007), self.RDSTRB1_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP1_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD1_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB1_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP1_SETUP = (($1 >> 28) & 0xF), self.TA1_SETUP = ($1 & 0x0000c000) >> 14)
  2187.     prop CECTL2_VALUE_update :: (self.MTYPE2_CECTL2() | self.RDHLD2_CECTL2() | self.RDSTRB2_CECTL2() | self.RDSETUP2_CECTL2() | self.WRHLD2_CECTL2() | self.WRHLDMSB2_CECTL2() | self.WRSETUP2_CECTL2() | self.WRSTRB2_CECTL2() | self.TA2_CECTL2())
  2188.     prop CECTL2_SETUP_update :: (self.MTYPE2_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {"16-bit prog. sync. mem"}}}}}), self.RDHLD2_SETUP = ($1 & 0x00000007), self.RDSTRB2_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP2_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD2_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB2_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP2_SETUP = (($1 >> 28) & 0xF), self.TA2_SETUP = ($1 & 0x0000c000) >> 14)
  2189.     prop CECTL3_VALUE_update :: (self.MTYPE3_CECTL3() | self.RDHLD3_CECTL3() | self.RDSTRB3_CECTL3() | self.RDSETUP3_CECTL3() | self.WRHLD3_CECTL3() | self.WRHLDMSB3_CECTL3() | self.WRSETUP3_CECTL3() | self.WRSTRB3_CECTL3() | self.TA3_CECTL3())
  2190.     prop CECTL3_SETUP_update :: (self.MTYPE3_SETUP = ($a = ($1 & 0x000000f0), if ($a == 0x00000000) {"  8-bit async. interf."} else {if ($a == 0x00000010) {"16-bit async. interf."} else {if ($a == 0x00000080) {"  8-bit SDRAM"} else {if ($a == 0x00000090) {"16-bit SDRAM"} else {if ($a == 0x000000a0) {"  8-bit prog. sync. mem"} else {"16-bit prog. sync. mem"}}}}}), self.RDHLD3_SETUP = ($1 & 0x00000007), self.RDSTRB3_SETUP = (($1 & 0x00003F00) >> 8), self.RDSETUP3_SETUP = (($1 & 0x000F0000) >> 16), self.WRHLD3_SETUP = ((($1 & 0x00300000) >> 20) + (($1 & 0x00000008) >> 1)), self.WRSTRB3_SETUP = (($1 & 0x0FC00000) >> 22), self.WRSETUP3_SETUP = (($1 >> 28) & 0xF), self.TA3_SETUP = ($1 & 0x0000c000) >> 14)
  2191.     prop SDCTL_VALUE_update :: (self.TRC_SDCTL() | self.TRP_SDCTL() | self.TRCD_SDCTL() | self.INIT_SDCTL() | self.RFEN_SDCTL() | self.SDCSZ_SDCTL() | self.SDRSZ_SDCTL() | self.SDBSZ_SDCTL())
  2192.     prop SDCTL_SETUP_update :: (self.TRC_SETUP = ($1 & 0x0000F000) >> 12, self.TRP_SETUP = ($1 & 0x000F0000) >> 16, self.TRCD_SETUP = ($1 & 0x00F00000) >> 20, self.INIT_SETUP = ($a = ($1 & 0x01000000), if ($a == 0x01000000) {"Initialize"} else {"No effect"}), self.RFEN_SETUP = ($a = ($1 & 0x02000000), if ($a == 0x02000000) {"Enable"} else {"Disable"}), self.SDCSZ_SETUP = ($a = ($1 & 0x0c000000), if ($a == 0x04000000) {" 8 addresses"} else {if ($a == 0x08000000) {"10 addresses"} else {" 9 addresses"}}), self.SDRSZ_SETUP = ($a = ($1 & 0x30000000), if ($a == 0x10000000) {"12 addresses"} else {if ($a == 0x20000000) {"13 addresses"} else {"11 addresses"}}), self.SDBSZ_SETUP = ($a = ($1 & 0x40000000), if ($a == 0x40000000) {"Four banks"} else {"Two banks"}))
  2193.     prop SDTIM_VALUE_update :: (self.PERIOD_SDTIM2() | self.XRFR_SDTIM() | 0x005dc000)
  2194.     prop SDTIM_SETUP_update :: (self.PERIOD_SETUP2 = ($1 & 0x00000FFF), self.XRFR_SETUP = (($1 & 0x03000000) >> 24) + 1)
  2195.     prop SDEXT_VALUE_update :: (self.TCL_SDEXT() | self.TRAS_SDEXT() | self.TRRD_SDEXT() | self.TWR_SDEXT() | self.THZP_SDEXT() | self.RD2RD_SDEXT() | self.RD2DEAC_SDEXT() | self.RD2WR_SDEXT() | self.R2WDQM_SDEXT() | self.WR2WR_SDEXT() | self.WR2DEAC_SDEXT() | self.WR2RD_SDEXT())
  2196.     prop SDEXT_SETUP_update :: (self.TCL_SETUP = ($1 & 0x00000001) + 2, self.TRAS_SETUP = (($1 & 0x0000000E) >> 1) + 1, self.TRRD_SETUP = (($1 & 0x00000010) >> 4) + 2, self.TWR_SETUP = (($1 & 0x00000060) >> 5) + 1, self.THZP_SETUP = (($1 & 0x00000180) >> 7) + 1, self.RD2RD_SETUP = (($1 & 0x00000200) >> 9) + 1, self.RD2DEAC_SETUP = (($1 & 0x00000c00) >> 10) + 1, self.RD2WR_SETUP = (($1 & 0x00007000) >> 12) + 1, self.R2WDQM_SETUP = (($1 & 0x00018000) >> 15) + 1, self.WR2WR_SETUP = (($1 & 0x00020000) >> 17) + 1, self.WR2DEAC_SETUP = (($1 & 0x000c0000) >> 18) + 1, self.WR2RD_SETUP = (($1 & 0x00100000) >> 20) + 1)
  2197.     prop CESEC0_VALUE_update :: (self.SYNCRL0_CESEC0() | self.SYNCWL0_CESEC0() | self.CEEXT0_CESEC0() | self.RENEN0_CESEC0() | self.SNCCLK0_CESEC0())
  2198.     prop CESEC0_SETUP_update :: (self.SYNCRL0_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL0_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT0_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN0_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK0_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  2199.     prop CESEC1_VALUE_update :: (self.SYNCRL1_CESEC1() | self.SYNCWL1_CESEC1() | self.CEEXT1_CESEC1() | self.RENEN1_CESEC1() | self.SNCCLK1_CESEC1())
  2200.     prop CESEC1_SETUP_update :: (self.SYNCRL1_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL1_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT1_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN1_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK1_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  2201.     prop CESEC2_VALUE_update :: (self.SYNCRL2_CESEC2() | self.SYNCWL2_CESEC2() | self.CEEXT2_CESEC2() | self.RENEN2_CESEC2() | self.SNCCLK2_CESEC2())
  2202.     prop CESEC2_SETUP_update :: (self.SYNCRL2_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL2_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT2_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN2_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK2_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  2203.     prop CESEC3_VALUE_update :: (self.SYNCRL3_CESEC3() | self.SYNCWL3_CESEC3() | self.CEEXT3_CESEC3() | self.RENEN3_CESEC3() | self.SNCCLK3_CESEC3())
  2204.     prop CESEC3_SETUP_update :: (self.SYNCRL3_SETUP = ($a = ($1 & 0x00000003), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000001) {"1 cycle"} else {if ($a == 0x00000002) {"2 cycles"} else {"3 cycles"}}}), self.SYNCWL3_SETUP = ($a = ($1 & 0x0000000C), if ($a == 0x00000000) {"0 cycle"} else {if ($a == 0x00000004) {"1 cycle"} else {if ($a == 0x00000008) {"2 cycles"} else {"3 cycles"}}}), self.CEEXT3_SETUP = ($a = ($1 & 0x00000010), if ($a == 0x00000000) {"Inactive"} else {"Active"}), self.RENEN3_SETUP = ($a = ($1 & 0x00000020), if ($a == 0x00000000) {"ADS Mode"} else {"Read Enable Mode"}), self.SNCCLK3_SETUP = ($a = ($1 & 0x00000040), if ($a == 0x00000000) {"Sync. to ECLKOUT1"} else {"Sync. to ECLKOUT2"}))
  2205.     global gUser :: "USER" { 
  2206.         prop Visible :: 0
  2207.         prop Writable :: 0
  2208.         prop NoGen :: 1
  2209.     }
  2210.     global gSetOf :: 0 { 
  2211.         prop Visible :: 0
  2212.         prop Writable :: 0
  2213.         prop NoGen :: 1
  2214.     }
  2215.     global gNumOf :: 0 { 
  2216.         prop Visible :: 0
  2217.         prop Writable :: 0
  2218.         prop NoGen :: 1
  2219.     }
  2220.     global gDirty :: 0 { 
  2221.         prop Visible :: 0
  2222.         prop Writable :: 0
  2223.         prop NoGen :: 1
  2224.     }
  2225.     global gInitFlag :: 1 { 
  2226.         prop Visible :: 0
  2227.         prop Writable :: 0
  2228.         prop NoGen :: 1
  2229.     }
  2230.     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) { 
  2231.         prop Visible :: 0
  2232.         prop Writable :: 0
  2233.         prop NoGen :: 1
  2234.     }
  2235.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2236.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2237.         prop Label :: "comment"
  2238.         prop JSName :: "comment"
  2239.         prop Visible :: 1
  2240.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2241.         prop NoGen :: 1
  2242.     }
  2243.     inst iIsUsed :: 0 { 
  2244.         prop Visible :: 0
  2245.         prop Writable :: 0
  2246.         prop NoGen :: 1
  2247.     }
  2248.     inst iId :: 0 { 
  2249.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2250.         prop Style :: 0x01
  2251.         prop Visible :: 0
  2252.         prop Writable :: 1
  2253.         prop NoGen :: 1
  2254.     }
  2255.     inst iDelUser :: "USER" { 
  2256.         prop Visible :: 0
  2257.         prop Writable :: 0
  2258.         prop NoGen :: 1
  2259.     }
  2260.     inst iDelMsg :: "ok" { 
  2261.         prop Visible :: 0
  2262.         prop Writable :: 0
  2263.         prop NoGen :: 1
  2264.     }
  2265.     inst cConfigGen :: = ((hEmifb.EMIFB_INIT_ENABLE == 1) && (hEmifb.EMIFB_INIT == self) && (hEmifb.EMIFB_INIT != EMIFB_NOTHING)) { 
  2266.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2267.         prop NoGen :: 1
  2268.         prop Visible :: 0
  2269.     }
  2270.     inst cConfigArg0 :: = hEmifb.EMIFB_INIT { 
  2271.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2272.         prop MemberType :: emifbCfg
  2273.         prop Label :: "Pre-initialize Config"
  2274.         prop Visible :: 0
  2275.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2276.         prop NoGen :: 0
  2277.         prop cPreVal :: "&"
  2278.     }
  2279.     inst NOHOLD_SETUP :: "Enable Hold" { 
  2280.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2281.         prop Enum :: "Enable Hold,Disable Hold"
  2282.         prop Label :: "External HOLD disable (NOHOLD)"
  2283.         prop JSName :: "emifbGblctlNoHold"
  2284.         prop Visible :: 1
  2285.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2286.         prop NoGen :: 1
  2287.         prop TabName :: "Global Control"
  2288.         prop Set :: (self.NOHOLD_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2289.     }
  2290.     inst CLK4EN_SETUP :: "Enabled to clock" { 
  2291.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2292.         prop Enum :: "Held high,Enabled to clock"
  2293.         prop Label :: "CLKOUT4 Enable (CLK4EN)"
  2294.         prop JSName :: "emifbGblctlClk4en"
  2295.         prop Visible :: 1
  2296.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2297.         prop NoGen :: 1
  2298.         prop TabName :: "Global Control"
  2299.         prop Set :: (self.CLK4EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2300.     }
  2301.     inst CLK6EN_SETUP :: "Enabled to clock" { 
  2302.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2303.         prop Enum :: "Held high,Enabled to clock"
  2304.         prop Label :: "CLKOUT6 Enable (CLK6EN)"
  2305.         prop JSName :: "emifbGblctlClk6en"
  2306.         prop Visible :: 1
  2307.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2308.         prop NoGen :: 1
  2309.         prop TabName :: "Global Control"
  2310.         prop Set :: (self.CLK6EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2311.     }
  2312.     inst EK1EN_SETUP :: "Enabled to clock" { 
  2313.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2314.         prop Enum :: "Held low,Enabled to clock"
  2315.         prop Label :: "ECLKOUT1 Enable (EK1EN)"
  2316.         prop JSName :: "emifbGblctlEk1en"
  2317.         prop Visible :: 1
  2318.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2319.         prop NoGen :: 1
  2320.         prop TabName :: "Global Control"
  2321.         prop Set :: (self.EK1EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2322.     }
  2323.     inst EK2EN_SETUP :: "Enabled to clock" { 
  2324.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2325.         prop Enum :: "Held low,Enabled to clock"
  2326.         prop Label :: "ECLKOUT2 Enable (EK2EN)"
  2327.         prop JSName :: "emifbGblctlEk2en"
  2328.         prop Visible :: 1
  2329.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2330.         prop NoGen :: 1
  2331.         prop TabName :: "Global Control"
  2332.         prop Set :: (self.EK2EN_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2333.     }
  2334.     inst EK1HZ_SETUP :: "High-Z during hold" { 
  2335.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2336.         prop Enum :: "Clock during hold,High-Z during hold"
  2337.         prop Label :: "ECLKOUT1 High-Z Control (EK1HZ)"
  2338.         prop JSName :: "emifbGblctlEk1hz"
  2339.         prop Visible :: 1
  2340.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2341.         prop NoGen :: 1
  2342.         prop TabName :: "Global Control"
  2343.         prop Set :: (self.EK1HZ_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2344.     }
  2345.     inst EK2HZ_SETUP :: "Clock during hold" { 
  2346.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2347.         prop Enum :: "Clock during hold,High-Z during hold"
  2348.         prop Label :: "ECLKOUT2 High-Z Control (EK2HZ)"
  2349.         prop JSName :: "emifbGblctlEk2hz"
  2350.         prop Visible :: 1
  2351.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2352.         prop NoGen :: 1
  2353.         prop TabName :: "Global Control"
  2354.         prop Set :: (self.EK2HZ_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2355.     }
  2356.     inst EK2RATE_SETUP :: "1/4x EMIF input clock" { 
  2357.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2358.         prop Enum :: "1x EMIF input clock,1/2x EMIF input clock,1/4x EMIF input clock"
  2359.         prop Label :: "ECLKOUT2 Rate (EK2RATE)"
  2360.         prop JSName :: "emifbGblctlEk2rate"
  2361.         prop Visible :: 1
  2362.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2363.         prop NoGen :: 1
  2364.         prop TabName :: "Global Control"
  2365.         prop Set :: (self.EK2RATE_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2366.     }
  2367.     inst BRMODE_SETUP :: "access/refresh pending or in progress" { 
  2368.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2369.         prop Enum :: "access/refresh pending or in progress,access pending or in progress"
  2370.         prop Label :: "Bus Request Mode"
  2371.         prop JSName :: "emifbGblctlBrmode"
  2372.         prop Visible :: 1
  2373.         prop Writable :: if (CSL.EMIFB_SUPPORT != 0) {1} else {0}
  2374.         prop NoGen :: 1
  2375.         prop TabName :: "Global Control"
  2376.         prop Set :: (self.BRMODE_SETUP = $1, self.GBLCTL_VALUE = self.GBLCTL_VALUE_update(), "ok")
  2377.     }
  2378.     inst MTYPE0_SETUP :: "  8-bit async. interf." { 
  2379.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2380.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem"
  2381.         prop Label :: "Memory Type (MTYPE)"
  2382.         prop JSName :: "emifbCectl0Mtype"
  2383.         prop Visible :: 1
  2384.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2385.         prop NoGen :: 1
  2386.         prop TabName :: "CE0 Space"
  2387.         prop Set :: (self.MTYPE0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok")
  2388.     }
  2389.     inst RDSTRB0_SETUP :: 63 { 
  2390.         prop Label :: "Read Strobe Width "
  2391.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2392.         prop Style :: 0x01 | 0x02
  2393.         prop JSName :: "emifbCectl0ReadStrobe"
  2394.         prop Visible :: 1
  2395.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2396.         prop NoGen :: 1
  2397.         prop TabName :: "CE0 Space"
  2398.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2399.     }
  2400.     inst RDSETUP0_SETUP :: 15 { 
  2401.         prop Label :: "Read Setup Width "
  2402.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2403.         prop Style :: 0x01 | 0x02
  2404.         prop JSName :: "emifbCectl0ReadSetup"
  2405.         prop Visible :: 1
  2406.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2407.         prop NoGen :: 1
  2408.         prop TabName :: "CE0 Space"
  2409.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2410.     }
  2411.     inst RDHLD0_SETUP :: 3 { 
  2412.         prop Label :: "Read Hold Width "
  2413.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2414.         prop Style :: 0x01 | 0x02
  2415.         prop JSName :: "emifbCectl0ReadHold"
  2416.         prop Visible :: 1
  2417.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2418.         prop NoGen :: 1
  2419.         prop TabName :: "CE0 Space"
  2420.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"}})
  2421.     }
  2422.     inst WRSTRB0_SETUP :: 63 { 
  2423.         prop Label :: "Write Strobe Width "
  2424.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2425.         prop Style :: 0x01 | 0x02
  2426.         prop JSName :: "emifbCectl0WriteStrobe"
  2427.         prop Visible :: 1
  2428.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2429.         prop NoGen :: 1
  2430.         prop TabName :: "CE0 Space"
  2431.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2432.     }
  2433.     inst WRSETUP0_SETUP :: 15 { 
  2434.         prop Label :: "Write Setup Width "
  2435.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2436.         prop Style :: 0x01 | 0x02
  2437.         prop JSName :: "emifbCectl0WriteSetup"
  2438.         prop Visible :: 1
  2439.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2440.         prop NoGen :: 1
  2441.         prop TabName :: "CE0 Space"
  2442.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2443.     }
  2444.     inst WRHLD0_SETUP :: 3 { 
  2445.         prop Label :: "Write Hold Width (WRHLD-WRHLDMSB) "
  2446.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2447.         prop Style :: 0x01 | 0x02
  2448.         prop JSName :: "emifbCectl0WriteHold"
  2449.         prop Visible :: 1
  2450.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2451.         prop NoGen :: 1
  2452.         prop TabName :: "CE0 Space"
  2453.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2454.     }
  2455.     inst TA0_SETUP :: 3 { 
  2456.         prop Label :: "Turn around time (TA) "
  2457.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2458.         prop Style :: 0x01 | 0x02
  2459.         prop JSName :: "emifbCectl0Ta"
  2460.         prop Visible :: 1
  2461.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2462.         prop NoGen :: 1
  2463.         prop TabName :: "CE0 Space"
  2464.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA0_SETUP = $1, self.CECTL0_VALUE = self.CECTL0_VALUE_update(), "ok"})
  2465.     }
  2466.     inst MTYPE1_SETUP :: "  8-bit async. interf." { 
  2467.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2468.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem"
  2469.         prop Label :: "Memory Type (MTYPE)"
  2470.         prop JSName :: "emifbCectl1Mtype"
  2471.         prop Visible :: 1
  2472.         prop Writable :: (if (CSL.EMIFB_SUPPORT) {1} else {0})
  2473.         prop NoGen :: 1
  2474.         prop TabName :: "CE1 Space"
  2475.         prop Set :: (self.MTYPE1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok")
  2476.     }
  2477.     inst RDSTRB1_SETUP :: 63 { 
  2478.         prop Label :: "Read Strobe Width "
  2479.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2480.         prop Style :: 0x01 | 0x02
  2481.         prop JSName :: "emifbCectl1ReadStrobe"
  2482.         prop Visible :: 1
  2483.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2484.         prop NoGen :: 1
  2485.         prop TabName :: "CE1 Space"
  2486.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2487.     }
  2488.     inst RDSETUP1_SETUP :: 15 { 
  2489.         prop Label :: "Read Setup Width "
  2490.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2491.         prop Style :: 0x01 | 0x02
  2492.         prop JSName :: "emifbCectl1ReadSetup"
  2493.         prop Visible :: 1
  2494.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2495.         prop NoGen :: 1
  2496.         prop TabName :: "CE1 Space"
  2497.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2498.     }
  2499.     inst RDHLD1_SETUP :: 3 { 
  2500.         prop Label :: "Read Hold Width "
  2501.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2502.         prop Style :: 0x01 | 0x02
  2503.         prop JSName :: "emifbCectl1ReadHold"
  2504.         prop Visible :: 1
  2505.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2506.         prop NoGen :: 1
  2507.         prop TabName :: "CE1 Space"
  2508.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"}})
  2509.     }
  2510.     inst WRSTRB1_SETUP :: 63 { 
  2511.         prop Label :: "Write Strobe Width "
  2512.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2513.         prop Style :: 0x01 | 0x02
  2514.         prop JSName :: "emifbCectl1WriteStrobe"
  2515.         prop Visible :: 1
  2516.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2517.         prop NoGen :: 1
  2518.         prop TabName :: "CE1 Space"
  2519.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2520.     }
  2521.     inst WRSETUP1_SETUP :: 15 { 
  2522.         prop Label :: "Write Setup Width "
  2523.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2524.         prop Style :: 0x01 | 0x02
  2525.         prop JSName :: "emifbCectl1WriteSetup"
  2526.         prop Visible :: 1
  2527.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2528.         prop NoGen :: 1
  2529.         prop TabName :: "CE1 Space"
  2530.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2531.     }
  2532.     inst WRHLD1_SETUP :: 3 { 
  2533.         prop Label :: "Write Hold Width (WRHLD - WHLDMSB) "
  2534.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2535.         prop Style :: 0x01 | 0x02
  2536.         prop JSName :: "emifbCectl1WriteHold"
  2537.         prop Visible :: 1
  2538.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2539.         prop NoGen :: 1
  2540.         prop TabName :: "CE1 Space"
  2541.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2542.     }
  2543.     inst TA1_SETUP :: 3 { 
  2544.         prop Label :: "Turn around time (TA) "
  2545.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2546.         prop Style :: 0x01 | 0x02
  2547.         prop JSName :: "emifbCectl1Ta"
  2548.         prop Visible :: 1
  2549.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2550.         prop NoGen :: 1
  2551.         prop TabName :: "CE1 Space"
  2552.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA1_SETUP = $1, self.CECTL1_VALUE = self.CECTL1_VALUE_update(), "ok"})
  2553.     }
  2554.     inst MTYPE2_SETUP :: "  8-bit async. interf." { 
  2555.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2556.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem"
  2557.         prop Label :: "Memory Type (MTYPE)"
  2558.         prop JSName :: "emifbCectl2Mtype"
  2559.         prop Visible :: 1
  2560.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2561.         prop NoGen :: 1
  2562.         prop TabName :: "CE2 Space"
  2563.         prop Set :: (self.MTYPE2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok")
  2564.     }
  2565.     inst RDSTRB2_SETUP :: 63 { 
  2566.         prop Label :: "Read Strobe Width "
  2567.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2568.         prop Style :: 0x01 | 0x02
  2569.         prop JSName :: "emifbCectl2ReadStrobe"
  2570.         prop Visible :: 1
  2571.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2572.         prop NoGen :: 1
  2573.         prop TabName :: "CE2 Space"
  2574.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2575.     }
  2576.     inst RDSETUP2_SETUP :: 15 { 
  2577.         prop Label :: "Read Setup Width "
  2578.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2579.         prop Style :: 0x01 | 0x02
  2580.         prop JSName :: "emifbCectl2ReadSetup"
  2581.         prop Visible :: 1
  2582.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2583.         prop NoGen :: 1
  2584.         prop TabName :: "CE2 Space"
  2585.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2586.     }
  2587.     inst RDHLD2_SETUP :: 3 { 
  2588.         prop Label :: "Read Hold Width "
  2589.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2590.         prop Style :: 0x01 | 0x02
  2591.         prop JSName :: "emifbCectl2ReadHold"
  2592.         prop Visible :: 1
  2593.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2594.         prop NoGen :: 1
  2595.         prop TabName :: "CE2 Space"
  2596.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"}})
  2597.     }
  2598.     inst WRSTRB2_SETUP :: 63 { 
  2599.         prop Label :: "Write Strobe Width "
  2600.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2601.         prop Style :: 0x01 | 0x02
  2602.         prop JSName :: "emifbCectl2WriteStrobe"
  2603.         prop Visible :: 1
  2604.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2605.         prop NoGen :: 1
  2606.         prop TabName :: "CE2 Space"
  2607.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2608.     }
  2609.     inst WRSETUP2_SETUP :: 15 { 
  2610.         prop Label :: "Write Setup Width "
  2611.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2612.         prop Style :: 0x01 | 0x02
  2613.         prop JSName :: "emifbCectl2WriteSetup"
  2614.         prop Visible :: 1
  2615.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2616.         prop NoGen :: 1
  2617.         prop TabName :: "CE2 Space"
  2618.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.WRSETUP2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2619.     }
  2620.     inst WRHLD2_SETUP :: 3 { 
  2621.         prop Label :: "Write Hold Width "
  2622.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2623.         prop Style :: 0x01 | 0x02
  2624.         prop JSName :: "emifbCectl2WriteHold"
  2625.         prop Visible :: 1
  2626.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2627.         prop NoGen :: 1
  2628.         prop TabName :: "CE2 Space"
  2629.         prop Set :: (if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.WRHLD2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2630.     }
  2631.     inst TA2_SETUP :: 3 { 
  2632.         prop Label :: "Turn around time (TA) "
  2633.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2634.         prop Style :: 0x01 | 0x02
  2635.         prop JSName :: "emifbCectl2Ta"
  2636.         prop Visible :: 1
  2637.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2638.         prop NoGen :: 1
  2639.         prop TabName :: "CE2 Space"
  2640.         prop Set :: (if ($1 < 1 || $1 > 3) {self.error(" Minimum: 1 ECLKOU1 cycle - Maximum : 3 ECLKOU1 cycles")} else {self.TA2_SETUP = $1, self.CECTL2_VALUE = self.CECTL2_VALUE_update(), "ok"})
  2641.     }
  2642.     inst MTYPE3_SETUP :: "  8-bit async. interf." { 
  2643.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2644.         prop Enum :: "  8-bit async. interf.,16-bit async. interf.,  8-bit SDRAM,16-bit SDRAM,  8-bit prog. sync. mem,16-bit prog. sync. mem"
  2645.         prop Label :: "Memory Type (MTYPE)"
  2646.         prop JSName :: "emifbCectl3Mtype"
  2647.         prop Visible :: 1
  2648.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2649.         prop NoGen :: 1
  2650.         prop TabName :: "CE3 Space"
  2651.         prop Set :: (self.MTYPE3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok")
  2652.     }
  2653.     inst RDSTRB3_SETUP :: 63 { 
  2654.         prop Label :: "Read Strobe Width "
  2655.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2656.         prop Style :: 0x01 | 0x02
  2657.         prop JSName :: "emifbCectl3ReadStrobe"
  2658.         prop Visible :: 1
  2659.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2660.         prop NoGen :: 1
  2661.         prop TabName :: "CE3 Space"
  2662.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.RDSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  2663.     }
  2664.     inst RDSETUP3_SETUP :: 15 { 
  2665.         prop Label :: "Read Setup Width "
  2666.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2667.         prop Style :: 0x01 | 0x02
  2668.         prop JSName :: "emifbCectl3ReadSetup"
  2669.         prop Visible :: 1
  2670.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2671.         prop NoGen :: 1
  2672.         prop TabName :: "CE3 Space"
  2673.         prop Set :: (if ($1 < 0 || $1 > 15) {self.error(" Minimum setup :0 cycle - Maximum setup: 15 cycles")} else {self.RDSETUP3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  2674.     }
  2675.     inst RDHLD3_SETUP :: 3 { 
  2676.         prop Label :: "Read Hold Width "
  2677.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2678.         prop Style :: 0x01 | 0x02
  2679.         prop JSName :: "emifbCectl3ReadHold"
  2680.         prop Visible :: 1
  2681.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2682.         prop NoGen :: 1
  2683.         prop TabName :: "CE3 Space"
  2684.         prop Set :: (if ((!CSL.C11_SUPPORT)) {if ($1 < 0 || $1 > 3) {self.error(" Minimum hold :0 cycle - Maximum hold: 3 cycless")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}} else {if ($1 < 0 || $1 > 7) {self.error(" Minimum hold :0 cycle - Maximum hold: 7 cycles")} else {self.RDHLD3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"}})
  2685.     }
  2686.     inst WRSTRB3_SETUP :: 63 { 
  2687.         prop Label :: "Write Strobe Width "
  2688.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2689.         prop Style :: 0x01 | 0x02
  2690.         prop JSName :: "emifbCectl3WriteStrobe"
  2691.         prop Visible :: 1
  2692.         prop Writable :: (CSL.EMIFB_SUPPORT)
  2693.         prop NoGen :: 1
  2694.         prop TabName :: "CE3 Space"
  2695.         prop Set :: (if ($1 < 0 || $1 > 63) {self.error(" Minimum strobe :0 cycle - Maximum strobe: 63 cycless")} else {self.WRSTRB3_SETUP = $1, self.CECTL3_VALUE = self.CECTL3_VALUE_update(), "ok"})
  2696.     }
  2697.     inst WRSETUP3_SETUP :: 15 { 
  2698.         prop Label :: "Write Setup Width "
  2699.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2700.         prop Style :: 0x01 | 0x02
  2701.         prop JSName :: "emifbCectl3WriteSetup"
  2702.         prop Visible :: 1