From fa7cd560ac0775299f092f79bef5d84660a7803d Mon Sep 17 00:00:00 2001 From: gonzalezmarinoangela Date: Wed, 27 Nov 2024 13:07:16 +0100 Subject: [PATCH 1/9] altera IPs --- .../altera/ip/cva6_intel_axi_bridge_0.ip | 3458 + .../synth/altera_avalon_st_pipeline_base.v | 222 + ...bridge_0_altera_axi_bridge_1940_72stfyq.sv | 877 + .../cva6_intel_axi_bridge_0.bsf | 626 + .../cva6_intel_axi_bridge_0.cmp | 138 + .../cva6_intel_axi_bridge_0.html | 407 + .../cva6_intel_axi_bridge_0.qgsynthc | 316 + .../cva6_intel_axi_bridge_0.qip | 41 + .../cva6_intel_axi_bridge_0.sopcinfo | 1689 + .../cva6_intel_axi_bridge_0.xml | 270 + .../cva6_intel_axi_bridge_0_bb.v | 136 + .../cva6_intel_axi_bridge_0_generation.rpt | 14 + .../cva6_intel_axi_bridge_0_inst.v | 135 + .../cva6_intel_axi_bridge_0_inst.vhd | 275 + .../synth/cva6_intel_axi_bridge_0.v | 312 + corev_apu/altera/ip/cva6_intel_jtag_uart_0.ip | 1408 + ...t_0_altera_avalon_jtag_uart_1924_v3imxwq.v | 643 + .../cva6_intel_jtag_uart_0.bsf | 130 + .../cva6_intel_jtag_uart_0.cmp | 15 + .../cva6_intel_jtag_uart_0.html | 188 + .../cva6_intel_jtag_uart_0.qgsynthc | 96 + .../cva6_intel_jtag_uart_0.qip | 45 + .../cva6_intel_jtag_uart_0.regmap | 182 + .../cva6_intel_jtag_uart_0.sopcinfo | 1028 + .../cva6_intel_jtag_uart_0.xml | 226 + .../cva6_intel_jtag_uart_0_bb.v | 14 + .../cva6_intel_jtag_uart_0_generation.rpt | 19 + .../cva6_intel_jtag_uart_0_inst.v | 13 + .../cva6_intel_jtag_uart_0_inst.vhd | 29 + .../synth/cva6_intel_jtag_uart_0.v | 32 + corev_apu/altera/ip/ed_synth_emif_fm_0.ip | 10744 +++ .../synth/altera_emif_arch_fm_afi_if.sv | 1048 + .../synth/altera_emif_arch_fm_buf_bdir_df.sv | 168 + .../synth/altera_emif_arch_fm_buf_bdir_se.sv | 87 + .../altera_emif_arch_fm_buf_udir_cp_i.sv | 74 + .../altera_emif_arch_fm_buf_udir_df_i.sv | 58 + .../altera_emif_arch_fm_buf_udir_df_o.sv | 117 + .../altera_emif_arch_fm_buf_udir_se_i.sv | 53 + .../altera_emif_arch_fm_buf_udir_se_o.sv | 58 + .../synth/altera_emif_arch_fm_buf_unused.sv | 25 + .../synth/altera_emif_arch_fm_bufs.sv | 1288 + .../synth/altera_emif_arch_fm_cal_counter.sv | 126 + .../altera_emif_arch_fm_core_clks_rsts.sv | 631 + .../altera_emif_arch_fm_hmc_amm_data_if.sv | 248 + .../altera_emif_arch_fm_hmc_ast_data_if.sv | 196 + .../synth/altera_emif_arch_fm_hmc_avl_if.sv | 375 + .../synth/altera_emif_arch_fm_hmc_mmr_if.sv | 84 + .../altera_emif_arch_fm_hmc_sideband_if.sv | 160 + .../altera_emif_arch_fm_hps_clks_rsts.sv | 109 + .../altera_emif_arch_fm_io_lane_remap.sv | 696 + .../synth/altera_emif_arch_fm_io_tiles.sv | 2110 + .../altera_emif_arch_fm_io_tiles_wrap.sv | 1864 + .../synth/altera_emif_arch_fm_local_reset.sv | 167 + .../synth/altera_emif_arch_fm_oct.sv | 36 + .../synth/altera_emif_arch_fm_phylite_if.sv | 221 + .../synth/altera_emif_arch_fm_pll.sv | 474 + .../altera_emif_arch_fm_pll_extra_clks.sv | 79 + .../synth/altera_emif_arch_fm_pll_fast_sim.sv | 118 + .../synth/altera_emif_arch_fm_regs.sv | 63 + .../synth/altera_emif_arch_fm_seq_if.sv | 248 + .../synth/altera_emif_arch_fm_ufi_wrapper.sv | 102 + .../synth/altera_emif_arch_fm_ufis.sv | 784 + .../synth/altera_std_synchronizer_nocut.v | 267 + ...f_fm_0_altera_emif_arch_fm_191_faapzxy.sdc | 1100 + ...if_fm_0_altera_emif_arch_fm_191_faapzxy.sv | 4093 + ...emif_arch_fm_191_faapzxy_ip_parameters.dat | 438 + ...emif_arch_fm_191_faapzxy_ip_parameters.tcl | 375 + ...ra_emif_arch_fm_191_faapzxy_parameters.tcl | 28 + ...ltera_emif_arch_fm_191_faapzxy_pin_map.tcl | 861 + ...altera_emif_arch_fm_191_faapzxy_readme.txt | 1374 + ...f_arch_fm_191_faapzxy_report_io_timing.tcl | 221 + ...emif_arch_fm_191_faapzxy_report_timing.tcl | 273 + ...arch_fm_191_faapzxy_report_timing_core.tcl | 257 + ...mif_arch_fm_191_faapzxy_seq_params_sim.txt | 239 + ...f_arch_fm_191_faapzxy_seq_params_synth.hex | 80 + ...f_arch_fm_191_faapzxy_seq_params_synth.txt | 239 + ...a_emif_arch_fm_191_faapzxy_spice_files.zip | Bin 0 -> 168507 bytes ...m_0_altera_emif_arch_fm_191_faapzxy_top.sv | 4041 + ..._altera_emif_arch_fm_191_faapzxy_utils.tcl | 613 + ...th_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v | 211 + .../synth/altera_emif_ecc_core.v | 908 + .../synth/altera_emif_preload_ecc_encoder.sv | 401 + .../synth/fmiohmc_ecc.v | 2673 + .../synth/fmiohmc_ecc_amm2ast.v | 181 + .../synth/fmiohmc_ecc_cb.v | 31 + .../synth/fmiohmc_ecc_decoder.v | 256 + .../synth/fmiohmc_ecc_decoder_112.v | 93 + .../synth/fmiohmc_ecc_decoder_64.v | 64 + .../fmiohmc_ecc_decoder_64_altecc_decoder.v | 222 + .../synth/fmiohmc_ecc_decoder_64_decode.v | 337 + .../synth/fmiohmc_ecc_encoder.v | 160 + .../synth/fmiohmc_ecc_encoder_112.v | 57 + .../synth/fmiohmc_ecc_encoder_64.v | 41 + .../fmiohmc_ecc_encoder_64_altecc_encoder.v | 52 + .../synth/fmiohmc_ecc_interface_fifo.v | 122 + .../synth/fmiohmc_ecc_mmr.v | 637 + .../synth/fmiohmc_ecc_pcm_112.v | 39 + .../synth/fmiohmc_ecc_sv_112.v | 145 + .../synth/fmiohmc_ecc_wrapper.v | 818 + .../synth/fmiohmc_fifo.v | 167 + ...nth_emif_fm_0_altera_emif_fm_274_2bbiayq.v | 2149 + .../ed_synth_emif_fm_0/ed_synth_emif_fm_0.bsf | 413 + .../ed_synth_emif_fm_0/ed_synth_emif_fm_0.cmp | 47 + .../ed_synth_emif_fm_0.html | 8057 ++ .../ed_synth_emif_fm_0.qgsynthc | 45277 ++++++++++ .../ed_synth_emif_fm_0/ed_synth_emif_fm_0.qip | 949 + .../ed_synth_emif_fm_0.sopcinfo | 75083 ++++++++++++++++ .../ed_synth_emif_fm_0/ed_synth_emif_fm_0.xml | 12829 +++ .../ed_synth_emif_fm_0_bb.v | 46 + .../ed_synth_emif_fm_0_generation.rpt | 33 + ...ed_synth_emif_fm_0_generation_previous.rpt | 33 + .../ed_synth_emif_fm_0_inst.v | 45 + .../ed_synth_emif_fm_0_inst.vhd | 93 + .../synth/ed_synth_emif_fm_0.v | 96 + corev_apu/altera/ip/emif_cal.ip | 624 + .../emif_cal_altera_emif_cal_274_kaypsya.v | 166 + .../synth/altera_emif_cal_iossm.sv | 494 + .../synth/altera_emif_f2c_gearbox.sv | 152 + ...f_cal_altera_emif_cal_iossm_274_yagv7fq.sv | 300 + ..._altera_emif_cal_iossm_274_yagv7fq_arch.sv | 494 + ...altera_emif_cal_iossm_274_yagv7fq_code.hex | 30722 +++++++ ...iossm_274_yagv7fq_sim_global_param_tbl.hex | 26 + ...iossm_274_yagv7fq_sim_global_param_tbl.txt | 30 + ...ssm_274_yagv7fq_synth_global_param_tbl.hex | 26 + ...ssm_274_yagv7fq_synth_global_param_tbl.txt | 30 + corev_apu/altera/ip/emif_cal/emif_cal.bsf | 100 + corev_apu/altera/ip/emif_cal/emif_cal.cmp | 12 + corev_apu/altera/ip/emif_cal/emif_cal.html | 208 + .../altera/ip/emif_cal/emif_cal.qgsynthc | 241 + corev_apu/altera/ip/emif_cal/emif_cal.qip | 65 + .../altera/ip/emif_cal/emif_cal.sopcinfo | 896 + corev_apu/altera/ip/emif_cal/emif_cal.xml | 273 + corev_apu/altera/ip/emif_cal/emif_cal_bb.v | 11 + .../ip/emif_cal/emif_cal_generation.rpt | 15 + .../emif_cal/emif_cal_generation_previous.rpt | 15 + corev_apu/altera/ip/emif_cal/emif_cal_inst.v | 10 + .../altera/ip/emif_cal/emif_cal_inst.vhd | 23 + corev_apu/altera/ip/emif_cal/synth/emif_cal.v | 26 + corev_apu/altera/ip/iddr_intel.ip | 439 + .../iddr_intel_altera_gpio_2210_id4velq.v | 58 + .../synth/altera_gpio.sv | 705 + corev_apu/altera/ip/iddr_intel/iddr_intel.bsf | 71 + corev_apu/altera/ip/iddr_intel/iddr_intel.cmp | 8 + .../altera/ip/iddr_intel/iddr_intel.html | 193 + .../altera/ip/iddr_intel/iddr_intel.qgsynthc | 446 + corev_apu/altera/ip/iddr_intel/iddr_intel.qip | 64 + .../altera/ip/iddr_intel/iddr_intel.sopcinfo | 716 + corev_apu/altera/ip/iddr_intel/iddr_intel.xml | 248 + .../altera/ip/iddr_intel/iddr_intel_bb.v | 7 + .../ip/iddr_intel/iddr_intel_generation.rpt | 17 + .../altera/ip/iddr_intel/iddr_intel_inst.v | 6 + .../altera/ip/iddr_intel/iddr_intel_inst.vhd | 15 + .../altera/ip/iddr_intel/synth/iddr_intel.v | 18 + corev_apu/altera/ip/io_pll.ip | 2038 + .../sim/io_pll_altera_iopll_1931_oypl3jq.vo | 450 + .../synth/agilex_iobank_pll.ipxact | 3214 + .../io_pll_altera_iopll_1931_oypl3jq.sdc | 179 + .../synth/io_pll_altera_iopll_1931_oypl3jq.v | 450 + ...ltera_iopll_1931_oypl3jq_all_ip_params.tcl | 827 + ...l_altera_iopll_1931_oypl3jq_parameters.tcl | 121 + ..._pll_altera_iopll_1931_oypl3jq_pin_map.tcl | 1096 + corev_apu/altera/ip/io_pll/greybox/io_pll.v | 323 + corev_apu/altera/ip/io_pll/io_pll.bsf | 126 + corev_apu/altera/ip/io_pll/io_pll.cmp | 13 + corev_apu/altera/ip/io_pll/io_pll.csv | 18 + corev_apu/altera/ip/io_pll/io_pll.html | 1397 + corev_apu/altera/ip/io_pll/io_pll.ipxact | 664 + corev_apu/altera/ip/io_pll/io_pll.ppf | 17 + corev_apu/altera/ip/io_pll/io_pll.qgsimc | 3328 + corev_apu/altera/ip/io_pll/io_pll.qgsynthc | 3328 + corev_apu/altera/ip/io_pll/io_pll.qip | 56 + corev_apu/altera/ip/io_pll/io_pll.sopcinfo | 7332 ++ corev_apu/altera/ip/io_pll/io_pll.spd | 15 + corev_apu/altera/ip/io_pll/io_pll.xml | 1079 + corev_apu/altera/ip/io_pll/io_pll_bb.v | 12 + .../altera/ip/io_pll/io_pll_generation.rpt | 65 + .../ip/io_pll/io_pll_generation_previous.rpt | 21 + corev_apu/altera/ip/io_pll/io_pll_inst.v | 11 + corev_apu/altera/ip/io_pll/io_pll_inst.vhd | 25 + .../ip/io_pll/sim/aldec/rivierapro_setup.tcl | 380 + .../ip/io_pll/sim/common/modelsim_files.tcl | 82 + .../ip/io_pll/sim/common/riviera_files.tcl | 82 + .../altera/ip/io_pll/sim/common/vcs_files.tcl | 65 + .../ip/io_pll/sim/common/vcsmx_files.tcl | 72 + .../ip/io_pll/sim/common/xcelium_files.tcl | 72 + corev_apu/altera/ip/io_pll/sim/io_pll.v | 28 + .../ip/io_pll/sim/mentor/msim_setup.tcl | 387 + .../ip/io_pll/sim/synopsys/vcs/vcs_setup.sh | 297 + .../sim/synopsys/vcsmx/synopsys_sim.setup | 15 + .../io_pll/sim/synopsys/vcsmx/vcsmx_setup.sh | 354 + .../altera/ip/io_pll/sim/xcelium/cds.lib | 22 + .../cds_libs/altera_iopll_1931.cds.lib | 21 + .../sim/xcelium/cds_libs/io_pll.cds.lib | 21 + .../altera/ip/io_pll/sim/xcelium/hdl.var | 2 + .../ip/io_pll/sim/xcelium/xcelium_setup.sh | 350 + corev_apu/altera/ip/io_pll/synth/io_pll.v | 28 + corev_apu/altera/ip/io_pll_test.ip | 2038 + corev_apu/altera/ip/iobuf.ip | 504 + .../synth/iobuf_altera_gpio_2210_ck55vhi.v | 59 + .../synth/altera_gpio.sv | 705 + corev_apu/altera/ip/iobuf/iobuf.bsf | 82 + corev_apu/altera/ip/iobuf/iobuf.cmp | 9 + corev_apu/altera/ip/iobuf/iobuf.html | 193 + corev_apu/altera/ip/iobuf/iobuf.ppf | 13 + corev_apu/altera/ip/iobuf/iobuf.qgsynthc | 446 + corev_apu/altera/ip/iobuf/iobuf.qip | 64 + corev_apu/altera/ip/iobuf/iobuf.sopcinfo | 778 + corev_apu/altera/ip/iobuf/iobuf.xml | 253 + corev_apu/altera/ip/iobuf/iobuf_bb.v | 8 + .../altera/ip/iobuf/iobuf_generation.rpt | 20 + corev_apu/altera/ip/iobuf/iobuf_inst.v | 7 + corev_apu/altera/ip/iobuf/iobuf_inst.vhd | 17 + corev_apu/altera/ip/iobuf/synth/iobuf.v | 20 + corev_apu/altera/ip/oddr_intel.ip | 437 + .../oddr_intel_altera_gpio_2210_djxpcyq.v | 58 + .../synth/altera_gpio.sv | 705 + corev_apu/altera/ip/oddr_intel/oddr_intel.bsf | 71 + corev_apu/altera/ip/oddr_intel/oddr_intel.cmp | 8 + .../altera/ip/oddr_intel/oddr_intel.html | 193 + .../altera/ip/oddr_intel/oddr_intel.qgsynthc | 446 + corev_apu/altera/ip/oddr_intel/oddr_intel.qip | 64 + .../altera/ip/oddr_intel/oddr_intel.sopcinfo | 716 + corev_apu/altera/ip/oddr_intel/oddr_intel.xml | 248 + .../altera/ip/oddr_intel/oddr_intel_bb.v | 7 + .../ip/oddr_intel/oddr_intel_generation.rpt | 17 + .../altera/ip/oddr_intel/oddr_intel_inst.v | 6 + .../altera/ip/oddr_intel/oddr_intel_inst.vhd | 15 + .../altera/ip/oddr_intel/synth/oddr_intel.v | 18 + corev_apu/altera/ip/test_mm_ccb_0.ip | 2098 + .../synth/test_mm_ccb_0_mm_ccb_1921_5zxyagi.v | 356 + ..._mm_ccb_0_mm_ccb_st_dc_fifo_1921_6qjweta.v | 122 + ..._mm_ccb_0_mm_ccb_st_dc_fifo_1921_pg4qgey.v | 121 + .../synth/altera_dcfifo_synchronizer_bundle.v | 55 + .../synth/altera_reset_synchronizer.v | 89 + .../synth/altera_std_synchronizer_nocut.v | 267 + .../test_mm_ccb_0_st_dc_fifo_1951_tfgfkki.sdc | 100 + .../test_mm_ccb_0_st_dc_fifo_1951_tfgfkki.v | 1152 + .../ip/test_mm_ccb_0/synth/test_mm_ccb_0.v | 80 + .../altera/ip/test_mm_ccb_0/test_mm_ccb_0.bsf | 248 + .../altera/ip/test_mm_ccb_0/test_mm_ccb_0.cmp | 40 + .../ip/test_mm_ccb_0/test_mm_ccb_0.html | 202 + .../ip/test_mm_ccb_0/test_mm_ccb_0.ipxact | 1314 + .../ip/test_mm_ccb_0/test_mm_ccb_0.qgsynthc | 431 + .../altera/ip/test_mm_ccb_0/test_mm_ccb_0.qip | 72 + .../ip/test_mm_ccb_0/test_mm_ccb_0.sopcinfo | 1401 + .../altera/ip/test_mm_ccb_0/test_mm_ccb_0.xml | 461 + .../ip/test_mm_ccb_0/test_mm_ccb_0_bb.v | 38 + .../test_mm_ccb_0_generation.rpt | 22 + .../ip/test_mm_ccb_0/test_mm_ccb_0_inst.v | 37 + .../ip/test_mm_ccb_0/test_mm_ccb_0_inst.vhd | 79 + corev_apu/altera/ip/vJTAG.ip | 883 + corev_apu/altera/ip/vJTAG/synth/vJTAG.v | 76 + corev_apu/altera/ip/vJTAG/vJTAG.bsf | 284 + corev_apu/altera/ip/vJTAG/vJTAG.cmp | 35 + corev_apu/altera/ip/vJTAG/vJTAG.html | 149 + corev_apu/altera/ip/vJTAG/vJTAG.qgsynthc | 57 + corev_apu/altera/ip/vJTAG/vJTAG.qip | 43 + corev_apu/altera/ip/vJTAG/vJTAG.sopcinfo | 472 + corev_apu/altera/ip/vJTAG/vJTAG.xml | 230 + corev_apu/altera/ip/vJTAG/vJTAG_bb.v | 34 + .../altera/ip/vJTAG/vJTAG_generation.rpt | 14 + corev_apu/altera/ip/vJTAG/vJTAG_inst.v | 33 + corev_apu/altera/ip/vJTAG/vJTAG_inst.vhd | 69 + 263 files changed, 288701 insertions(+) create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0.ip create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/altera_avalon_st_pipeline_base.v create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq.sv create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.bsf create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.cmp create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.html create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qgsynthc create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qip create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.sopcinfo create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.xml create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_bb.v create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_generation.rpt create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.v create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.vhd create mode 100644 corev_apu/altera/ip/cva6_intel_axi_bridge_0/synth/cva6_intel_axi_bridge_0.v create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0.ip create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/altera_avalon_jtag_uart_1924/synth/cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq.v create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.bsf create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.cmp create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.html create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qgsynthc create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qip create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.regmap create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.sopcinfo create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.xml create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_bb.v create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_generation.rpt create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.v create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.vhd create mode 100644 corev_apu/altera/ip/cva6_intel_jtag_uart_0/synth/cva6_intel_jtag_uart_0.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0.ip create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_afi_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_df.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_se.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_cp_i.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_i.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_o.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_i.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_o.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_unused.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_bufs.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_cal_counter.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_core_clks_rsts.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_amm_data_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_ast_data_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_avl_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_mmr_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_sideband_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hps_clks_rsts.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_lane_remap.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles_wrap.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_local_reset.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_oct.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_phylite_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_extra_clks.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_fast_sim.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_regs.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_seq_if.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufi_wrapper.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufis.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_std_synchronizer_nocut.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sdc create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.dat create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_readme.txt create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_io_timing.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_sim.txt create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.hex create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.txt create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_spice_files.zip create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_191/synth/ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_ecc_core.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_preload_ecc_encoder.sv create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_amm2ast.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_cb.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_112.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_altecc_decoder.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_decode.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_112.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64_altecc_encoder.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_interface_fifo.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_mmr.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_pcm_112.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_sv_112.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_wrapper.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_fifo.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_fm_274/synth/ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.bsf create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.cmp create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.html create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qgsynthc create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qip create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.sopcinfo create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.xml create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_bb.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation.rpt create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation_previous.rpt create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.v create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.vhd create mode 100644 corev_apu/altera/ip/ed_synth_emif_fm_0/synth/ed_synth_emif_fm_0.v create mode 100644 corev_apu/altera/ip/emif_cal.ip create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_274/synth/emif_cal_altera_emif_cal_274_kaypsya.v create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_cal_iossm.sv create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_f2c_gearbox.sv create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq.sv create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch.sv create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.txt create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex create mode 100644 corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.txt create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.bsf create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.cmp create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.html create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.qgsynthc create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.qip create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.sopcinfo create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal.xml create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal_bb.v create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal_generation.rpt create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal_generation_previous.rpt create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal_inst.v create mode 100644 corev_apu/altera/ip/emif_cal/emif_cal_inst.vhd create mode 100644 corev_apu/altera/ip/emif_cal/synth/emif_cal.v create mode 100644 corev_apu/altera/ip/iddr_intel.ip create mode 100644 corev_apu/altera/ip/iddr_intel/altera_gpio_2210/synth/iddr_intel_altera_gpio_2210_id4velq.v create mode 100644 corev_apu/altera/ip/iddr_intel/altera_gpio_core10_2210/synth/altera_gpio.sv create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.bsf create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.cmp create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.html create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.qgsynthc create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.qip create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.sopcinfo create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel.xml create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel_bb.v create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel_generation.rpt create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel_inst.v create mode 100644 corev_apu/altera/ip/iddr_intel/iddr_intel_inst.vhd create mode 100644 corev_apu/altera/ip/iddr_intel/synth/iddr_intel.v create mode 100644 corev_apu/altera/ip/io_pll.ip create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/sim/io_pll_altera_iopll_1931_oypl3jq.vo create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/agilex_iobank_pll.ipxact create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl create mode 100644 corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl create mode 100644 corev_apu/altera/ip/io_pll/greybox/io_pll.v create mode 100644 corev_apu/altera/ip/io_pll/io_pll.bsf create mode 100644 corev_apu/altera/ip/io_pll/io_pll.cmp create mode 100644 corev_apu/altera/ip/io_pll/io_pll.csv create mode 100644 corev_apu/altera/ip/io_pll/io_pll.html create mode 100644 corev_apu/altera/ip/io_pll/io_pll.ipxact create mode 100644 corev_apu/altera/ip/io_pll/io_pll.ppf create mode 100644 corev_apu/altera/ip/io_pll/io_pll.qgsimc create mode 100644 corev_apu/altera/ip/io_pll/io_pll.qgsynthc create mode 100644 corev_apu/altera/ip/io_pll/io_pll.qip create mode 100644 corev_apu/altera/ip/io_pll/io_pll.sopcinfo create mode 100644 corev_apu/altera/ip/io_pll/io_pll.spd create mode 100644 corev_apu/altera/ip/io_pll/io_pll.xml create mode 100644 corev_apu/altera/ip/io_pll/io_pll_bb.v create mode 100644 corev_apu/altera/ip/io_pll/io_pll_generation.rpt create mode 100644 corev_apu/altera/ip/io_pll/io_pll_generation_previous.rpt create mode 100644 corev_apu/altera/ip/io_pll/io_pll_inst.v create mode 100644 corev_apu/altera/ip/io_pll/io_pll_inst.vhd create mode 100644 corev_apu/altera/ip/io_pll/sim/aldec/rivierapro_setup.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/common/modelsim_files.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/common/riviera_files.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/common/vcs_files.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/common/vcsmx_files.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/common/xcelium_files.tcl create mode 100644 corev_apu/altera/ip/io_pll/sim/io_pll.v create mode 100644 corev_apu/altera/ip/io_pll/sim/mentor/msim_setup.tcl create mode 100755 corev_apu/altera/ip/io_pll/sim/synopsys/vcs/vcs_setup.sh create mode 100644 corev_apu/altera/ip/io_pll/sim/synopsys/vcsmx/synopsys_sim.setup create mode 100755 corev_apu/altera/ip/io_pll/sim/synopsys/vcsmx/vcsmx_setup.sh create mode 100644 corev_apu/altera/ip/io_pll/sim/xcelium/cds.lib create mode 100644 corev_apu/altera/ip/io_pll/sim/xcelium/cds_libs/altera_iopll_1931.cds.lib create mode 100644 corev_apu/altera/ip/io_pll/sim/xcelium/cds_libs/io_pll.cds.lib create mode 100644 corev_apu/altera/ip/io_pll/sim/xcelium/hdl.var create mode 100755 corev_apu/altera/ip/io_pll/sim/xcelium/xcelium_setup.sh create mode 100644 corev_apu/altera/ip/io_pll/synth/io_pll.v create mode 100644 corev_apu/altera/ip/io_pll_test.ip create mode 100644 corev_apu/altera/ip/iobuf.ip create mode 100644 corev_apu/altera/ip/iobuf/altera_gpio_2210/synth/iobuf_altera_gpio_2210_ck55vhi.v create mode 100644 corev_apu/altera/ip/iobuf/altera_gpio_core10_2210/synth/altera_gpio.sv create mode 100644 corev_apu/altera/ip/iobuf/iobuf.bsf create mode 100644 corev_apu/altera/ip/iobuf/iobuf.cmp create mode 100644 corev_apu/altera/ip/iobuf/iobuf.html create mode 100644 corev_apu/altera/ip/iobuf/iobuf.ppf create mode 100644 corev_apu/altera/ip/iobuf/iobuf.qgsynthc create mode 100644 corev_apu/altera/ip/iobuf/iobuf.qip create mode 100644 corev_apu/altera/ip/iobuf/iobuf.sopcinfo create mode 100644 corev_apu/altera/ip/iobuf/iobuf.xml create mode 100644 corev_apu/altera/ip/iobuf/iobuf_bb.v create mode 100644 corev_apu/altera/ip/iobuf/iobuf_generation.rpt create mode 100644 corev_apu/altera/ip/iobuf/iobuf_inst.v create mode 100644 corev_apu/altera/ip/iobuf/iobuf_inst.vhd create mode 100644 corev_apu/altera/ip/iobuf/synth/iobuf.v create mode 100644 corev_apu/altera/ip/oddr_intel.ip create mode 100644 corev_apu/altera/ip/oddr_intel/altera_gpio_2210/synth/oddr_intel_altera_gpio_2210_djxpcyq.v create mode 100644 corev_apu/altera/ip/oddr_intel/altera_gpio_core10_2210/synth/altera_gpio.sv create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.bsf create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.cmp create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.html create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.qgsynthc create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.qip create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.sopcinfo create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel.xml create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel_bb.v create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel_generation.rpt create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel_inst.v create mode 100644 corev_apu/altera/ip/oddr_intel/oddr_intel_inst.vhd create mode 100644 corev_apu/altera/ip/oddr_intel/synth/oddr_intel.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0.ip create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/mm_ccb_1921/synth/test_mm_ccb_0_mm_ccb_1921_5zxyagi.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/mm_ccb_1921/synth/test_mm_ccb_0_mm_ccb_st_dc_fifo_1921_6qjweta.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/mm_ccb_1921/synth/test_mm_ccb_0_mm_ccb_st_dc_fifo_1921_pg4qgey.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/st_dc_fifo_1951/synth/altera_dcfifo_synchronizer_bundle.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/st_dc_fifo_1951/synth/altera_reset_synchronizer.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/st_dc_fifo_1951/synth/altera_std_synchronizer_nocut.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/st_dc_fifo_1951/synth/test_mm_ccb_0_st_dc_fifo_1951_tfgfkki.sdc create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/st_dc_fifo_1951/synth/test_mm_ccb_0_st_dc_fifo_1951_tfgfkki.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/synth/test_mm_ccb_0.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.bsf create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.cmp create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.html create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.ipxact create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.qgsynthc create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.qip create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.sopcinfo create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0.xml create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0_bb.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0_generation.rpt create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0_inst.v create mode 100644 corev_apu/altera/ip/test_mm_ccb_0/test_mm_ccb_0_inst.vhd create mode 100644 corev_apu/altera/ip/vJTAG.ip create mode 100644 corev_apu/altera/ip/vJTAG/synth/vJTAG.v create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.bsf create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.cmp create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.html create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.qgsynthc create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.qip create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.sopcinfo create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG.xml create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG_bb.v create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG_generation.rpt create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG_inst.v create mode 100644 corev_apu/altera/ip/vJTAG/vJTAG_inst.vhd diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0.ip b/corev_apu/altera/ip/cva6_intel_axi_bridge_0.ip new file mode 100644 index 0000000000..d9ed007229 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0.ip @@ -0,0 +1,3458 @@ + + + + Intel Corporation + cva6_intel_axi_bridge_0 + axi_bridge_0 + 19.4.0 + + + clk + + + + + + + + clk + + + aclk + + + + + + + + + clockRate + Clock rate + 0 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + clk_reset + + + + + + + + reset_n + + + aresetn + + + + + + + + + associatedClock + Associated clock + clk + + + synchronousEdges + Synchronous edges + DEASSERT + + + + + s0 + + + + + + + + awid + + + s0_awid + + + + + awaddr + + + s0_awaddr + + + + + awlen + + + s0_awlen + + + + + awsize + + + s0_awsize + + + + + awburst + + + s0_awburst + + + + + awlock + + + s0_awlock + + + + + awcache + + + s0_awcache + + + + + awprot + + + s0_awprot + + + + + awvalid + + + s0_awvalid + + + + + awready + + + s0_awready + + + + + wdata + + + s0_wdata + + + + + wstrb + + + s0_wstrb + + + + + wlast + + + s0_wlast + + + + + wvalid + + + s0_wvalid + + + + + wready + + + s0_wready + + + + + bid + + + s0_bid + + + + + bresp + + + s0_bresp + + + + + bvalid + + + s0_bvalid + + + + + bready + + + s0_bready + + + + + arid + + + s0_arid + + + + + araddr + + + s0_araddr + + + + + arlen + + + s0_arlen + + + + + arsize + + + s0_arsize + + + + + arburst + + + s0_arburst + + + + + arlock + + + s0_arlock + + + + + arcache + + + s0_arcache + + + + + arprot + + + s0_arprot + + + + + arvalid + + + s0_arvalid + + + + + arready + + + s0_arready + + + + + rid + + + s0_rid + + + + + rdata + + + s0_rdata + + + + + rresp + + + s0_rresp + + + + + rlast + + + s0_rlast + + + + + rvalid + + + s0_rvalid + + + + + rready + + + s0_rready + + + + + + + + + associatedClock + Associated clock + clk + + + associatedReset + Associated reset + clk_reset + + + trustzoneAware + TrustZone-aware + true + + + wakeupSignals + wakeupSignals + false + + + uniqueIdSupport + uniqueIdSupport + false + + + poison + poison + false + + + traceSignals + traceSignals + false + + + maximumOutstandingReads + maximumOutstandingReads + 1 + + + maximumOutstandingWrites + maximumOutstandingWrites + 1 + + + maximumOutstandingTransactions + maximumOutstandingTransactions + 1 + + + readAcceptanceCapability + Read acceptance capability + 16 + + + writeAcceptanceCapability + Write acceptance capability + 16 + + + combinedAcceptanceCapability + Combined acceptance capability + 16 + + + readDataReorderingDepth + Read data reordering depth + 1 + + + bridgesToMaster + bridgesToMaster + cva6_intel_axi_bridge_0.m0 + + + dfhFeatureGuid + Feature GUID + 0 + + + dfhGroupId + Group ID + 0 + + + dfhParameterId + ID + + + + dfhParameterName + Name + + + + dfhParameterVersion + Version + + + + dfhParameterData + Data (HEX/DEC) + + + + dfhParameterDataLength + Data length + + + + dfhFeatureMajorVersion + Feature major version + 0 + + + dfhFeatureMinorVersion + Feature minor version + 0 + + + dfhFeatureId + Feature ID + 35 + + + dfhFeatureType + Feature Type + 3 + + + + + m0 + + + + + + + + awid + + + m0_awid + + + + + awaddr + + + m0_awaddr + + + + + awlen + + + m0_awlen + + + + + awsize + + + m0_awsize + + + + + awburst + + + m0_awburst + + + + + awlock + + + m0_awlock + + + + + awcache + + + m0_awcache + + + + + awprot + + + m0_awprot + + + + + awvalid + + + m0_awvalid + + + + + awready + + + m0_awready + + + + + wdata + + + m0_wdata + + + + + wstrb + + + m0_wstrb + + + + + wlast + + + m0_wlast + + + + + wvalid + + + m0_wvalid + + + + + wready + + + m0_wready + + + + + bid + + + m0_bid + + + + + bresp + + + m0_bresp + + + + + bvalid + + + m0_bvalid + + + + + bready + + + m0_bready + + + + + arid + + + m0_arid + + + + + araddr + + + m0_araddr + + + + + arlen + + + m0_arlen + + + + + arsize + + + m0_arsize + + + + + arburst + + + m0_arburst + + + + + arlock + + + m0_arlock + + + + + arcache + + + m0_arcache + + + + + arprot + + + m0_arprot + + + + + arvalid + + + m0_arvalid + + + + + arready + + + m0_arready + + + + + rid + + + m0_rid + + + + + rdata + + + m0_rdata + + + + + rresp + + + m0_rresp + + + + + rlast + + + m0_rlast + + + + + rvalid + + + m0_rvalid + + + + + rready + + + m0_rready + + + + + + + + + associatedClock + Associated clock + clk + + + associatedReset + Associated reset + clk_reset + + + trustzoneAware + TrustZone-aware + true + + + wakeupSignals + wakeupSignals + false + + + uniqueIdSupport + uniqueIdSupport + false + + + poison + poison + false + + + traceSignals + traceSignals + false + + + maximumOutstandingReads + maximumOutstandingReads + 1 + + + maximumOutstandingWrites + maximumOutstandingWrites + 1 + + + maximumOutstandingTransactions + maximumOutstandingTransactions + 1 + + + readIssuingCapability + Read issuing capability + 16 + + + writeIssuingCapability + Write issuing capability + 16 + + + combinedIssuingCapability + Combined issuing capability + 16 + + + issuesINCRBursts + Issues INCR bursts + true + + + issuesWRAPBursts + Issues WRAP bursts + true + + + issuesFIXEDBursts + Issues FIXED bursts + true + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_axi_bridge + + QUARTUS_SYNTH + + + + + + aclk + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + aresetn + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_awid + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awaddr + + in + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awlen + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awsize + + in + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awburst + + in + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awlock + + in + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awcache + + in + + + 0 + 3 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awprot + + in + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_awvalid + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_awready + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_wdata + + in + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_wstrb + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_wlast + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_wvalid + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_wready + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_bid + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_bresp + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_bvalid + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_bready + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_arid + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_araddr + + in + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arlen + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arsize + + in + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arburst + + in + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arlock + + in + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arcache + + in + + + 0 + 3 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arprot + + in + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_arvalid + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_arready + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_rid + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_rdata + + out + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_rresp + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + s0_rlast + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_rvalid + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + s0_rready + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_awid + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awaddr + + out + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awlen + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awsize + + out + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awburst + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awlock + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awcache + + out + + + 0 + 3 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awprot + + out + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_awvalid + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_awready + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_wdata + + out + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_wstrb + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_wlast + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_wvalid + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_wready + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_bid + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_bresp + + in + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_bvalid + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_bready + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_arid + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_araddr + + out + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arlen + + out + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arsize + + out + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arburst + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arlock + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arcache + + out + + + 0 + 3 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arprot + + out + + + 0 + 2 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_arvalid + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_arready + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_rid + + in + + + 0 + 7 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_rdata + + in + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_rresp + + in + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + m0_rlast + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_rvalid + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + m0_rready + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + cva6_intel_axi_bridge_0 + altera_axi_bridge + 19.4.0 + + + + + USE_PIPELINE + Insert Pipeline to bridge + 1 + + + USE_M0_AWID + Use AWID signal + 1 + + + USE_M0_AWREGION + Use AWREGION signal + 0 + + + USE_M0_AWLEN + Use AWLEN signal + 1 + + + USE_M0_AWSIZE + Use AWSIZE signal + 1 + + + USE_M0_AWBURST + Use AWBURST signal + 1 + + + USE_M0_AWLOCK + Use AWLOCK signal + 1 + + + USE_M0_AWCACHE + Use AWCACHE signal + 1 + + + USE_M0_AWQOS + Use AWQOS signal + 0 + + + USE_S0_AWREGION + Use AWREGION signal + 0 + + + USE_S0_AWLOCK + Use AWLOCK signal + 1 + + + USE_S0_AWCACHE + Use AWCACHE signal + 1 + + + USE_S0_AWQOS + Use AWQOS signal + 0 + + + USE_S0_AWPROT + Use AWPROT signal + 1 + + + USE_M0_WSTRB + Use WSTRB signal + 1 + + + USE_S0_WLAST + Use WLAST signal + 1 + + + USE_M0_BID + Use BID signal + 1 + + + USE_M0_BRESP + Use BRESP signal + 1 + + + USE_S0_BRESP + Use BRESP signal + 1 + + + USE_M0_ARID + Use ARID signal + 1 + + + USE_M0_ARREGION + Use ARREGION signal + 0 + + + USE_M0_ARLEN + Use ARLEN signal + 1 + + + USE_M0_ARSIZE + Use ARSIZE signal + 1 + + + USE_M0_ARBURST + Use ARBURST signal + 1 + + + USE_M0_ARLOCK + Use ARLOCK signal + 1 + + + USE_M0_ARCACHE + Use ARCACHE signal + 1 + + + USE_M0_ARQOS + Use ARQOS signal + 0 + + + USE_S0_ARREGION + Use ARREGION signal + 0 + + + USE_S0_ARLOCK + Use ARLOCK signal + 1 + + + USE_S0_ARCACHE + Use ARCACHE signal + 1 + + + USE_S0_ARQOS + Use ARQOS signal + 0 + + + USE_S0_ARPROT + Use ARPROT signal + 1 + + + USE_M0_RID + Use RID signal + 1 + + + USE_M0_RRESP + Use RRESP signal + 1 + + + USE_M0_RLAST + Use RLAST signal + 1 + + + USE_S0_RRESP + Use RRESP signal + 1 + + + M0_ID_WIDTH + ID Width + 8 + + + S0_ID_WIDTH + ID Width + 8 + + + DATA_WIDTH + Data Width + 64 + + + WRITE_ADDR_USER_WIDTH + AWUSER Width + 32 + + + READ_ADDR_USER_WIDTH + ARUSER Width + 32 + + + WRITE_DATA_USER_WIDTH + WUSER Width + 32 + + + WRITE_RESP_USER_WIDTH + BUSER Width + 32 + + + READ_DATA_USER_WIDTH + RUSER Width + 32 + + + ADDR_WIDTH + Address Width + 64 + + + USE_S0_AWUSER + Use AWUSER signal + 0 + + + USE_S0_ARUSER + Use ARUSER signal + 0 + + + USE_S0_WUSER + Use WUSER signal + 0 + + + USE_S0_RUSER + Use RUSER signal + 0 + + + USE_S0_BUSER + Use BUSER signal + 0 + + + USE_M0_AWUSER + Use AWUSER signal + 0 + + + USE_M0_ARUSER + Use ARUSER signal + 0 + + + USE_M0_WUSER + Use WUSER signal + 0 + + + USE_M0_RUSER + Use RUSER signal + 0 + + + USE_M0_BUSER + Use BUSER signal + 0 + + + AXI_VERSION + AXI Version + AXI4 + + + WRITE_ISSUING_CAPABILITY + Write Issuing Capability + 16 + + + READ_ISSUING_CAPABILITY + Read Issuing Capability + 16 + + + COMBINED_ISSUING_CAPABILITY + Combined Issuing Capability + 16 + + + WRITE_ACCEPTANCE_CAPABILITY + Write Acceptance Capability + 16 + + + READ_ACCEPTANCE_CAPABILITY + Read Acceptance Capability + 16 + + + COMBINED_ACCEPTANCE_CAPABILITY + Combined Acceptance Capability + 16 + + + READ_DATA_REORDERING_DEPTH + Read Data Reordering Depth + 1 + + + ACE_LITE_SUPPORT + ACE Lite Support + 0 + + + SYNC_RESET + Use synchronous resets + 0 + + + ENABLE_CONCURRENT_SUBORDINATE_ACCESS + Enable Concurrent Subordinate Access + 0 + + + NO_REPEATED_IDS_BETWEEN_SUBORDINATES + No Repeated Ids Between Subordinates + 0 + + + ENABLE_OOO + ENABLE_OOO + 0 + + + BACKPRESSURE_DURING_RESET + Backpressure During Reset + 0 + + + + + + + embeddedsw.dts.compatible + simple-bus + + + embeddedsw.dts.group + bridge + + + embeddedsw.dts.name + bridge + + + embeddedsw.dts.vendor + altr + + + + + + + board + Board + default + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ +} + + + + hideFromIPCatalog + Hide from IP Catalog + false + + + lockedInterfaceDefinition + lockedInterfaceDefinition + <boundaryDefinition> + <interfaces> + <interface> + <name>clk</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>aclk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>0</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>aresetn</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>s0</name> + <type>axi4</type> + <isStart>false</isStart> + <ports> + <port> + <name>s0_awid</name> + <role>awid</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awaddr</name> + <role>awaddr</role> + <direction>Input</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awlen</name> + <role>awlen</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awsize</name> + <role>awsize</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awburst</name> + <role>awburst</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awlock</name> + <role>awlock</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awcache</name> + <role>awcache</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awprot</name> + <role>awprot</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awvalid</name> + <role>awvalid</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_awready</name> + <role>awready</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_wdata</name> + <role>wdata</role> + <direction>Input</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_wstrb</name> + <role>wstrb</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_wlast</name> + <role>wlast</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_wvalid</name> + <role>wvalid</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_wready</name> + <role>wready</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_bid</name> + <role>bid</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_bresp</name> + <role>bresp</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_bvalid</name> + <role>bvalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_bready</name> + <role>bready</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arid</name> + <role>arid</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_araddr</name> + <role>araddr</role> + <direction>Input</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arlen</name> + <role>arlen</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arsize</name> + <role>arsize</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arburst</name> + <role>arburst</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arlock</name> + <role>arlock</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arcache</name> + <role>arcache</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arprot</name> + <role>arprot</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arvalid</name> + <role>arvalid</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_arready</name> + <role>arready</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rid</name> + <role>rid</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rdata</name> + <role>rdata</role> + <direction>Output</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rresp</name> + <role>rresp</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rlast</name> + <role>rlast</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rvalid</name> + <role>rvalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>s0_rready</name> + <role>rready</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>clk_reset</value> + </entry> + <entry> + <key>trustzoneAware</key> + <value>true</value> + </entry> + <entry> + <key>wakeupSignals</key> + <value>false</value> + </entry> + <entry> + <key>uniqueIdSupport</key> + <value>false</value> + </entry> + <entry> + <key>poison</key> + <value>false</value> + </entry> + <entry> + <key>traceSignals</key> + <value>false</value> + </entry> + <entry> + <key>maximumOutstandingReads</key> + <value>1</value> + </entry> + <entry> + <key>maximumOutstandingWrites</key> + <value>1</value> + </entry> + <entry> + <key>maximumOutstandingTransactions</key> + <value>1</value> + </entry> + <entry> + <key>readAcceptanceCapability</key> + <value>16</value> + </entry> + <entry> + <key>writeAcceptanceCapability</key> + <value>16</value> + </entry> + <entry> + <key>combinedAcceptanceCapability</key> + <value>16</value> + </entry> + <entry> + <key>readDataReorderingDepth</key> + <value>1</value> + </entry> + <entry> + <key>bridgesToMaster</key> + <value>cva6_intel_axi_bridge_0.m0</value> + </entry> + <entry> + <key>dfhFeatureGuid</key> + <value>0</value> + </entry> + <entry> + <key>dfhGroupId</key> + <value>0</value> + </entry> + <entry> + <key>dfhParameterId</key> + </entry> + <entry> + <key>dfhParameterName</key> + </entry> + <entry> + <key>dfhParameterVersion</key> + </entry> + <entry> + <key>dfhParameterData</key> + </entry> + <entry> + <key>dfhParameterDataLength</key> + </entry> + <entry> + <key>dfhFeatureMajorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureMinorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureId</key> + <value>35</value> + </entry> + <entry> + <key>dfhFeatureType</key> + <value>3</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>m0</name> + <type>axi4</type> + <isStart>true</isStart> + <ports> + <port> + <name>m0_awid</name> + <role>awid</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awaddr</name> + <role>awaddr</role> + <direction>Output</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awlen</name> + <role>awlen</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awsize</name> + <role>awsize</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awburst</name> + <role>awburst</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awlock</name> + <role>awlock</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awcache</name> + <role>awcache</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awprot</name> + <role>awprot</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awvalid</name> + <role>awvalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_awready</name> + <role>awready</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_wdata</name> + <role>wdata</role> + <direction>Output</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_wstrb</name> + <role>wstrb</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_wlast</name> + <role>wlast</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_wvalid</name> + <role>wvalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_wready</name> + <role>wready</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_bid</name> + <role>bid</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_bresp</name> + <role>bresp</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_bvalid</name> + <role>bvalid</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_bready</name> + <role>bready</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arid</name> + <role>arid</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_araddr</name> + <role>araddr</role> + <direction>Output</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arlen</name> + <role>arlen</role> + <direction>Output</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arsize</name> + <role>arsize</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arburst</name> + <role>arburst</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arlock</name> + <role>arlock</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arcache</name> + <role>arcache</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arprot</name> + <role>arprot</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arvalid</name> + <role>arvalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_arready</name> + <role>arready</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rid</name> + <role>rid</role> + <direction>Input</direction> + <width>8</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rdata</name> + <role>rdata</role> + <direction>Input</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rresp</name> + <role>rresp</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rlast</name> + <role>rlast</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rvalid</name> + <role>rvalid</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>m0_rready</name> + <role>rready</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>clk_reset</value> + </entry> + <entry> + <key>trustzoneAware</key> + <value>true</value> + </entry> + <entry> + <key>wakeupSignals</key> + <value>false</value> + </entry> + <entry> + <key>uniqueIdSupport</key> + <value>false</value> + </entry> + <entry> + <key>poison</key> + <value>false</value> + </entry> + <entry> + <key>traceSignals</key> + <value>false</value> + </entry> + <entry> + <key>maximumOutstandingReads</key> + <value>1</value> + </entry> + <entry> + <key>maximumOutstandingWrites</key> + <value>1</value> + </entry> + <entry> + <key>maximumOutstandingTransactions</key> + <value>1</value> + </entry> + <entry> + <key>readIssuingCapability</key> + <value>16</value> + </entry> + <entry> + <key>writeIssuingCapability</key> + <value>16</value> + </entry> + <entry> + <key>combinedIssuingCapability</key> + <value>16</value> + </entry> + <entry> + <key>issuesINCRBursts</key> + <value>true</value> + </entry> + <entry> + <key>issuesWRAPBursts</key> + <value>true</value> + </entry> + <entry> + <key>issuesFIXEDBursts</key> + <value>true</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition> + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>s0</key> + <value> + <connectionPointName>s0</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/altera_avalon_st_pipeline_base.v b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/altera_avalon_st_pipeline_base.v new file mode 100644 index 0000000000..5a611eecdb --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/altera_avalon_st_pipeline_base.v @@ -0,0 +1,222 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// (C) 2001-2018 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// $File: //acds/rel/24.1/ip/iconnect/avalon_st/altera_avalon_st_pipeline_stage/altera_avalon_st_pipeline_base.v $ +// $Revision: #1 $ +// $Date: 2024/02/01 $ +// $Author: psgswbuild $ +//------------------------------------------------------------------------------ + +`timescale 1ns / 1ns + +module altera_avalon_st_pipeline_base ( + clk, + reset, + in_ready, + in_valid, + in_data, + out_ready, + out_valid, + out_data + ); + + parameter SYMBOLS_PER_BEAT = 1; + parameter BITS_PER_SYMBOL = 8; + parameter PIPELINE_READY = 1; + parameter SYNC_RESET = 0; + parameter BACKPRESSURE_DURING_RESET = 0; + localparam DATA_WIDTH = SYMBOLS_PER_BEAT * BITS_PER_SYMBOL; + + input clk; + input reset; + + output in_ready; + input in_valid; + input [DATA_WIDTH-1:0] in_data; + + input out_ready; + output out_valid; + output [DATA_WIDTH-1:0] out_data; + + reg full0; + reg full1; + reg [DATA_WIDTH-1:0] data0; + reg [DATA_WIDTH-1:0] data1; + + assign out_valid = full1; + assign out_data = data1; + + // Generation of internal reset synchronization + reg internal_sclr; + generate if (SYNC_RESET == 1) begin : rst_syncronizer + always @ (posedge clk) begin + internal_sclr <= reset; + end + end + endgenerate + + generate if (PIPELINE_READY == 1) + begin : REGISTERED_READY_PLINE + + assign in_ready = !full0; + + always @(posedge clk) begin + // ---------------------------- + // always load the second slot if we can + // ---------------------------- + if (~full0) + data0 <= in_data; + // ---------------------------- + // first slot is loaded either from the second, + // or with new data + // ---------------------------- + if (~full1 || (out_ready && out_valid)) begin + if (full0) + data1 <= data0; + else + data1 <= in_data; + end + end + + if (SYNC_RESET == 0) begin : async_rst0 + always @(posedge clk or posedge reset) begin + if (reset) begin + full0 <= BACKPRESSURE_DURING_RESET ? 1'b1 : 1'b0; + full1 <= 1'b0; + end else begin + // out of reset. + if(~full1 & full0)begin + full0 <= 1'b0; + end + + // no data in pipeline + if (~full0 & ~full1) begin + if (in_valid) begin + full1 <= 1'b1; + end + end // ~f1 & ~f0 + + // one datum in pipeline + if (full1 & ~full0) begin + if (in_valid & ~out_ready) begin + full0 <= 1'b1; + end + // back to empty + if (~in_valid & out_ready) begin + full1 <= 1'b0; + end + end // f1 & ~f0 + + // two data in pipeline + if (full1 & full0) begin + // go back to one datum state + if (out_ready) begin + full0 <= 1'b0; + end + end // end go back to one datum stage + end + end + end // async_rst0 + else begin // sync_rst0 + always @(posedge clk ) begin + if (internal_sclr) begin + full0 <= BACKPRESSURE_DURING_RESET ? 1'b1 : 1'b0; + full1 <= 1'b0; + end else begin + // out of reset. + if(~full1 & full0)begin + full0 <= 1'b0; + end + + // no data in pipeline + if (~full0 & ~full1) begin + if (in_valid) begin + full1 <= 1'b1; + end + end // ~f1 & ~f0 + + // one datum in pipeline + if (full1 & ~full0) begin + if (in_valid & ~out_ready) begin + full0 <= 1'b1; + end + // back to empty + if (~in_valid & out_ready) begin + full1 <= 1'b0; + end + end // f1 & ~f0 + + // two data in pipeline + if (full1 & full0) begin + // go back to one datum state + if (out_ready) begin + full0 <= 1'b0; + end + end // end go back to one datum stage + end + end + end // sync_rst0 + end + else + begin : UNREGISTERED_READY_PLINE + + // in_ready will be a pass through of the out_ready signal as it is not registered + assign in_ready = (~full1) | out_ready; + + if (SYNC_RESET == 0) begin : async_rst1 + always @(posedge clk or posedge reset) begin + if (reset) begin + data1 <= 'b0; + full1 <= BACKPRESSURE_DURING_RESET ? 1'b1 : 1'b0; + end + else begin + if (in_ready) begin + data1 <= in_data; + full1 <= in_valid; + end + end + end + end // async_rst1 + else begin // sync_rst1 + always @(posedge clk ) begin + if (internal_sclr) begin + data1 <= 'b0; + full1 <= BACKPRESSURE_DURING_RESET ? 1'b1 : 1'b0; + end + else begin + if (in_ready) begin + data1 <= in_data; + full1 <= in_valid; + end + end + end + end // sync_rst1 + end + endgenerate +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "4XeedYC2d5cuadvCJho763aSSkl1DRkxkQvoksMJv2VSpzATyoN8DqHo//teYnH8r162T4uH+BCa200GxyJP31cBno1sEsJk77E+qkjc8lZYjykrG0EIfQmjezkrpycnghQBNehMvorEdlwQS1QrIwscD7jaPxEU/CLR7ot04MotVla9fxGEAryOoaYgp4YUIXkzbQ53M3Az+ttWfnaiDklcQ3ejpqjMrKcwpwFZLnZOgHfQXc1wEa+d8d629rnMKGC6+/UG6C1Vf+DpHQY2TRXTlqjiCa7DQWt+09iwZNx7z6JG1/OgPftrs2j/oAhLXRX25o4h2GyfYmkvMNpVQZ/rsWZl1ekB3zJULd4roRuD2ku3F85nbPvqoYsyYn2vDYZPVGW2EdsZpCsA3m2JOFQx0yxgoarghhq/JJBCph+oqrp4GBlfV81B7gFPuSQJN53pe6fW4qmVu9XDVaOlyjRZ20uk+Ale5To3hT3Z2PVBVPfsQJse+BZDLa3ADCpP6qVTGyB3h/nPBLbxM4ZPLJyhDe6VdKJe14ym8droqtLDq3SVdMKOv1AG58j1oXuFa4NqugZ+olOSOuWP0KgJEupJycsQNl5kjt4gRc+/t6GnO5vzg39EC+hI70d7WeFM07BwPJY7Sdohl9uqliRBNm0LPy3Iu6qoQXOF0l2oH0eI3Mp68Fb5AePxI2dhU85dEe/ELjXry6ypyi+1zdzhf5qZtZsqBh1F0ciJPUaFsTZw+P3bewdlkZEHyyfO7p0Nl7r6TqJeq/dz94TBgfmpPdavK9XLfkH+KDZUoONjrZ66xhLFgfjIyCEC1ivlN7uoM6cnEZZLaPHpY7V5is9++TuDiAes1kGiUu83aXcQ+22d2PtQrFG9V6lfeushvyMHKwiPbg35jV3dGNjmR5FNJatbNsKu3S/qKHJ2ZHNYOPR6/voECjaHiapdMLKl1t+l23TrQKVwCPH5SLIthPqJuiLUnjV7/+e5K+Jvr5Q9GyoILKrbWxFmik9OYfQwPMSt" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq.sv b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq.sv new file mode 100644 index 0000000000..e068fa1bd5 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/altera_axi_bridge_1940/synth/cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq.sv @@ -0,0 +1,877 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// AXI Bridge +// +// Convert "incomplete" AXI3/4 slave-side interface to +// a "complete" AXI4 master-side interface +// +// Adapts between an AXI master and slave that +// are almost symmetric, with the following +// exceptions: +// +// the master's address width >= the slave's address width +// the master's id width <= the slave's id width +// ----------------------------------------- +`timescale 1 ns / 1 ns + +module cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq +#( + // ---------------- + // Interface parameters + // ---------------- + parameter S0_ID_WIDTH = 4, + M0_ID_WIDTH = 8, + ADDR_WIDTH = 32, + DATA_WIDTH = 32, + WRITE_ADDR_USER_WIDTH = 64, + READ_ADDR_USER_WIDTH = 64, + WRITE_DATA_USER_WIDTH = 64, + WRITE_RESP_USER_WIDTH = 64, + READ_DATA_USER_WIDTH = 64, + AXI_VERSION = "AXI4", + USE_PIPELINE = 0, + LOCK_WIDTH = 1, + BURST_LENGTH_WIDTH = 8, + SYNC_RESET = 0, + // --------------- + // Master parameters + // --------------- + USE_M0_AWID = 1, + USE_M0_AWREGION = 1, + USE_M0_AWLEN = 1, + USE_M0_AWSIZE = 1, + USE_M0_AWBURST = 1, + USE_M0_AWLOCK = 1, + USE_M0_AWCACHE = 1, + USE_M0_AWQOS = 1, + + USE_M0_ARID = 1, + USE_M0_ARREGION = 1, + USE_M0_ARLEN = 1, + USE_M0_ARSIZE = 1, + USE_M0_ARBURST = 1, + USE_M0_ARLOCK = 1, + USE_M0_ARCACHE = 1, + USE_M0_ARQOS = 1, + + USE_M0_WSTRB = 1, + + USE_M0_BID = 1, + USE_M0_BRESP = 1, + + USE_M0_RID = 1, + USE_M0_RRESP = 1, + USE_M0_RLAST = 1, + + USE_M0_ARUSER = 0, + USE_M0_AWUSER = 0, + USE_M0_WUSER = 0, + USE_M0_RUSER = 0, + USE_M0_BUSER = 0, + //----------------- + // Slave parameters + //----------------- + USE_S0_AWREGION = 1, + USE_S0_AWLOCK = 1, + USE_S0_AWCACHE = 1, + USE_S0_AWQOS = 1, + USE_S0_AWPROT = 1, + + USE_S0_ARREGION = 1, + USE_S0_ARLOCK = 1, + USE_S0_ARCACHE = 1, + USE_S0_ARQOS = 1, + USE_S0_ARPROT = 1, + + USE_S0_WLAST = 1, + + USE_S0_BRESP = 1, + + USE_S0_RRESP = 1, + + USE_S0_AWUSER = 0, + USE_S0_ARUSER = 0, + USE_S0_WUSER = 0, + USE_S0_RUSER = 0, + USE_S0_BUSER = 0, + + // ---------------- + // Derived parameters + // ---------------- + STROBE_WIDTH = DATA_WIDTH / 8, + BURST_SIZE = $clog2(STROBE_WIDTH), + + ACE_LITE_SUPPORT = 0, + BACKPRESSURE_DURING_RESET = 0 + +) +( + // ---------------- + // Clock & reset + // ---------------- + input aclk, + input aresetn, + + + // ---------------- + // Master-side AXI interface + // ---------------- + output reg [M0_ID_WIDTH-1:0] m0_awid, + output [ADDR_WIDTH-1:0] m0_awaddr, + output reg [BURST_LENGTH_WIDTH-1:0] m0_awlen, + output reg [2:0] m0_awsize, + output reg [1:0] m0_awburst, + output reg [LOCK_WIDTH-1:0] m0_awlock, + output reg [3:0] m0_awcache, + output reg [2:0] m0_awprot, + output [WRITE_ADDR_USER_WIDTH-1:0] m0_awuser, + output reg [3:0] m0_awqos, + output reg [3:0] m0_awregion, + output m0_awvalid, + input m0_awready, + + output reg [M0_ID_WIDTH-1:0] m0_wid, + output [DATA_WIDTH-1:0] m0_wdata, + output reg [STROBE_WIDTH-1:0] m0_wstrb, + output reg m0_wlast, + output m0_wvalid, + output [WRITE_DATA_USER_WIDTH-1:0] m0_wuser, + input m0_wready, + + input [M0_ID_WIDTH-1:0] m0_bid, + input [1:0] m0_bresp, + input [WRITE_RESP_USER_WIDTH-1:0] m0_buser, + input m0_bvalid, + output m0_bready, + + output reg [M0_ID_WIDTH-1:0] m0_arid, + output [ADDR_WIDTH-1:0] m0_araddr, + output reg [BURST_LENGTH_WIDTH-1:0] m0_arlen, + output reg [2:0] m0_arsize, + output reg [1:0] m0_arburst, + output reg [LOCK_WIDTH-1:0] m0_arlock, + output reg [3:0] m0_arcache, + output reg [2:0] m0_arprot, + output [READ_ADDR_USER_WIDTH-1:0] m0_aruser, + output reg [3:0] m0_arqos, + output reg [3:0] m0_arregion, + output m0_arvalid, + input m0_arready, + + input [M0_ID_WIDTH-1:0] m0_rid, + input [DATA_WIDTH-1:0] m0_rdata, + input [1:0] m0_rresp, + input [READ_DATA_USER_WIDTH-1:0] m0_ruser, + input m0_rlast, + input m0_rvalid, + output m0_rready, + + output [1:0] m0_ardomain, + output [3:0] m0_arsnoop, + output [1:0] m0_arbar, + + output [1:0] m0_awdomain, + output [2:0] m0_awsnoop, + output [1:0] m0_awbar, + output m0_awunique, + + + + // ---------------- + // Slave-side AXI interface + // ---------------- + input [S0_ID_WIDTH-1:0] s0_awid, + input [ADDR_WIDTH-1:0] s0_awaddr, + input [BURST_LENGTH_WIDTH-1:0] s0_awlen, + input [2:0] s0_awsize, + input [1:0] s0_awburst, + input [LOCK_WIDTH-1:0] s0_awlock, + input [3:0] s0_awcache, + input [2:0] s0_awprot, + input [WRITE_ADDR_USER_WIDTH-1:0] s0_awuser, + input [3:0] s0_awqos, + input [3:0] s0_awregion, + input s0_awvalid, + output s0_awready, + + input [S0_ID_WIDTH-1:0] s0_wid, + input [DATA_WIDTH-1:0] s0_wdata, + input [STROBE_WIDTH-1:0] s0_wstrb, + input s0_wlast, + input [WRITE_DATA_USER_WIDTH-1:0] s0_wuser, + input s0_wvalid, + output s0_wready, + + output reg [S0_ID_WIDTH-1:0] s0_bid, + output reg [1:0] s0_bresp, + output [WRITE_RESP_USER_WIDTH-1:0] s0_buser, + output s0_bvalid, + input s0_bready, + + input [S0_ID_WIDTH-1:0] s0_arid, + input [ADDR_WIDTH-1:0] s0_araddr, + input [BURST_LENGTH_WIDTH-1:0] s0_arlen, + input [2:0] s0_arsize, + input [1:0] s0_arburst, + input [LOCK_WIDTH-1:0] s0_arlock, + input [3:0] s0_arcache, + input [2:0] s0_arprot, + input [READ_ADDR_USER_WIDTH-1:0] s0_aruser, + input [3:0] s0_arqos, + input [3:0] s0_arregion, + input s0_arvalid, + output s0_arready, + + output reg [S0_ID_WIDTH-1:0] s0_rid, + output [DATA_WIDTH-1:0] s0_rdata, + output reg [1:0] s0_rresp, + output reg s0_rlast, + output [READ_DATA_USER_WIDTH-1:0] s0_ruser, + output s0_rvalid, + input s0_rready, + + input [1:0] s0_ardomain, + input [3:0] s0_arsnoop, + input [1:0] s0_arbar, + + input [1:0] s0_awdomain, + input [2:0] s0_awsnoop, + input [1:0] s0_awbar, + input s0_awunique +); + + + localparam AX_WIDTH = (AXI_VERSION == "AXI3")? + M0_ID_WIDTH+ADDR_WIDTH+BURST_LENGTH_WIDTH+3+2+LOCK_WIDTH+4+3+WRITE_ADDR_USER_WIDTH : + M0_ID_WIDTH+ADDR_WIDTH+BURST_LENGTH_WIDTH+3+2+LOCK_WIDTH+4+3+WRITE_ADDR_USER_WIDTH+4+4 ; + localparam W_WIDTH = (AXI_VERSION == "AXI3")? + M0_ID_WIDTH+DATA_WIDTH+ADDR_WIDTH+STROBE_WIDTH+1 : + M0_ID_WIDTH+DATA_WIDTH+ADDR_WIDTH+STROBE_WIDTH+1+WRITE_DATA_USER_WIDTH ; + + localparam B_WIDTH = (AXI_VERSION == "AXI3")? + M0_ID_WIDTH+2 : + M0_ID_WIDTH+2+WRITE_DATA_USER_WIDTH; + + localparam R_WIDTH = (AXI_VERSION == "AXI3")? + M0_ID_WIDTH+DATA_WIDTH+2+1 : + M0_ID_WIDTH+DATA_WIDTH+2+1+READ_DATA_USER_WIDTH; + + localparam ACE_W = (ACE_LITE_SUPPORT == 1) ? 8 : 0; + localparam ACE_R = (ACE_LITE_SUPPORT == 1) ? 8 : 0; + + localparam PKT_AXPROT_L = 0; + localparam PKT_AXPROT_H = PKT_AXPROT_L + 3 - 1; + localparam PKT_AXCACHE_L = PKT_AXPROT_H + 1; + localparam PKT_AXCACHE_H = PKT_AXCACHE_L + 4 -1; + localparam PKT_AXLOCK_L = PKT_AXCACHE_H + 1; + localparam PKT_AXLOCK_H = PKT_AXLOCK_L + LOCK_WIDTH - 1; + localparam PKT_AXBURST_L = PKT_AXLOCK_H + 1; + localparam PKT_AXBURST_H = PKT_AXBURST_L + 2 -1; + localparam PKT_AXSIZE_L = PKT_AXBURST_H + 1; + localparam PKT_AXSIZE_H = PKT_AXSIZE_L + 3 -1; + localparam PKT_AXLEN_L = PKT_AXSIZE_H + 1; + localparam PKT_AXLEN_H = PKT_AXLEN_L + BURST_LENGTH_WIDTH -1; + localparam PKT_AXADDR_L = PKT_AXLEN_H + 1; + localparam PKT_AXADDR_H = PKT_AXADDR_L + ADDR_WIDTH -1; + localparam PKT_AXID_L = PKT_AXADDR_H + 1; + localparam PKT_AXID_H = PKT_AXID_L + M0_ID_WIDTH -1; + localparam PKT_AXUSER_L = PKT_AXID_H + 1; + localparam PKT_AXUSER_H = PKT_AXUSER_L + WRITE_ADDR_USER_WIDTH -1; + localparam PKT_AXREGION_L = PKT_AXUSER_H + 1; + localparam PKT_AXREGION_H = PKT_AXREGION_L + 4 -1; + localparam PKT_AXQOS_L = PKT_AXREGION_H + 1; + localparam PKT_AXQOS_H = PKT_AXQOS_L + 4 - 1; + + localparam PKT_WLAST_L = 0; + localparam PKT_WLAST_H = PKT_WLAST_L +1 -1; + localparam PKT_WSTRB_L = PKT_WLAST_H + 1; + localparam PKT_WSTRB_H = PKT_WSTRB_L + STROBE_WIDTH -1; + localparam PKT_WDATA_L = PKT_WSTRB_H + 1; + localparam PKT_WDATA_H = PKT_WDATA_L + DATA_WIDTH -1; + localparam PKT_WID_L = PKT_WDATA_H + 1; + localparam PKT_WID_H = PKT_WID_L + M0_ID_WIDTH -1; + localparam PKT_WUSER_L = PKT_WID_H + 1; + localparam PKT_WUSER_H = PKT_WUSER_L + WRITE_DATA_USER_WIDTH -1; + + localparam PKT_BRESP_L = 0; + localparam PKT_BRESP_H = PKT_BRESP_L + 2 -1; + localparam PKT_BID_L = PKT_BRESP_H + 1; + localparam PKT_BID_H = PKT_BID_L + M0_ID_WIDTH -1; + localparam PKT_BUSER_L = PKT_BID_H + 1; + localparam PKT_BUSER_H = PKT_BUSER_L + WRITE_DATA_USER_WIDTH -1; + + localparam PKT_RLAST = 0; + localparam PKT_RRESP_L = 1; + localparam PKT_RRESP_H = PKT_RRESP_L + 2 -1; + localparam PKT_RDATA_L = PKT_RRESP_H + 1; + localparam PKT_RDATA_H = PKT_RDATA_L + DATA_WIDTH -1; + localparam PKT_RID_L = PKT_RDATA_H + 1; + localparam PKT_RID_H = PKT_RID_L + M0_ID_WIDTH -1; + localparam PKT_RUSER_L = PKT_RID_H + 1; + localparam PKT_RUSER_H = PKT_RUSER_L + READ_DATA_USER_WIDTH -1; + + reg [M0_ID_WIDTH-1:0] s0_pipe_awid; + reg [ADDR_WIDTH-1:0] s0_pipe_awaddr; + reg [BURST_LENGTH_WIDTH-1:0] s0_pipe_awlen; + reg [2:0] s0_pipe_awsize; + reg [1:0] s0_pipe_awburst; + reg [LOCK_WIDTH-1:0] s0_pipe_awlock; + reg [3:0] s0_pipe_awcache; + reg [2:0] s0_pipe_awprot; + reg [WRITE_ADDR_USER_WIDTH-1:0] s0_pipe_awuser; + reg [3:0] s0_pipe_awqos; + reg [3:0] s0_pipe_awregion; + wire s0_pipeout_awvalid; + wire s0_pipe_awready; + + reg [M0_ID_WIDTH-1:0] s0_pipe_arid; + reg [ADDR_WIDTH-1:0] s0_pipe_araddr; + reg [BURST_LENGTH_WIDTH-1:0] s0_pipe_arlen; + reg [2:0] s0_pipe_arsize; + reg [1:0] s0_pipe_arburst; + reg [LOCK_WIDTH-1:0] s0_pipe_arlock; + reg [3:0] s0_pipe_arcache; + reg [2:0] s0_pipe_arprot; + reg [WRITE_ADDR_USER_WIDTH-1:0] s0_pipe_aruser; + reg [3:0] s0_pipe_arqos; + reg [3:0] s0_pipe_arregion; + wire s0_pipeout_arvalid; + wire s0_pipe_arready; + + reg [M0_ID_WIDTH-1:0] s0_pipe_wid; + reg [DATA_WIDTH-1:0] s0_pipe_wdata; + reg [STROBE_WIDTH-1:0] s0_pipe_wstrb; + reg [0:0] s0_pipe_wlast; + reg [WRITE_DATA_USER_WIDTH-1:0] s0_pipe_wuser; + reg s0_pipeout_wvalid; + reg s0_pipe_wvalid; + reg s0_pipe_wready; + + reg [M0_ID_WIDTH-1:0] m0_pipe_bid; + reg [1:0] m0_pipe_bresp; + reg [WRITE_RESP_USER_WIDTH-1:0] m0_pipe_buser; + reg m0_pipeout_bvalid; + reg m0_pipe_bready; + + reg [M0_ID_WIDTH-1:0] m0_pipe_rid; + reg [DATA_WIDTH-1:0] m0_pipe_rdata; + reg [1:0] m0_pipe_rresp; + reg m0_pipe_rlast; + reg [WRITE_RESP_USER_WIDTH-1:0] m0_pipe_ruser; + reg m0_pipeout_rvalid; + reg m0_pipe_rready; + + + reg [AX_WIDTH-1:0] pipein_aw; + reg [AX_WIDTH-1:0] pipeout_aw; + reg [W_WIDTH-1:0] pipein_w; + reg [W_WIDTH-1:0] pipeout_w; + reg [AX_WIDTH-1:0] pipein_ar; + reg [AX_WIDTH-1:0] pipeout_ar; + reg [B_WIDTH-1:0] pipein_b; + reg [B_WIDTH-1:0] pipeout_b; + reg [R_WIDTH-1:0] pipein_r; + reg [R_WIDTH-1:0] pipeout_r; + + generate if(ACE_LITE_SUPPORT == 1) begin + wire [ACE_W - 1:0] pipein_ace_w; + wire [ACE_W - 1:0] pipeout_ace_w; + wire [ACE_R - 1:0] pipein_ace_r; + wire [ACE_R - 1:0] pipeout_ace_r; + + assign pipein_ace_w = { s0_awdomain, + s0_awsnoop, + s0_awbar, + s0_awunique + }; + + assign pipein_ace_r = { s0_ardomain, + s0_arsnoop, + s0_arbar + }; + + + if(USE_PIPELINE == 1) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (ACE_W), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) ace_w_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (s0_wvalid), + .in_ready (), + .in_data (pipein_ace_w), + .out_valid (), + .out_ready (m0_wready), + .out_data (pipeout_ace_w) + ); + + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (ACE_W), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) ace_r_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (s0_arvalid), + .in_ready (), + .in_data (pipein_ace_r), + .out_valid (), + .out_ready (m0_arready), + .out_data (pipeout_ace_r) + ); + + end + else begin + assign pipeout_ace_r = pipein_ace_r; + assign pipeout_ace_w = pipein_ace_w; + end + + assign {m0_awdomain, m0_awsnoop, m0_awbar, m0_awunique} = pipeout_ace_w; + assign {m0_ardomain, m0_arsnoop, m0_arbar} = pipeout_ace_r; + end + endgenerate + +//================================================================== +// AW Channel signal propagation +// AXI4 has optional signals. Propagate a default value to the master-side interface if the slave-side interface does not have the signal. +//====================================================================== + always_comb + begin + if (AXI_VERSION == "AXI3") begin + s0_pipe_awid = s0_awid[M0_ID_WIDTH-1:0]; + s0_pipe_awaddr = s0_awaddr; + s0_pipe_awlen = s0_awlen; + s0_pipe_awsize = s0_awsize; + s0_pipe_awburst = s0_awburst; + s0_pipe_awlock = s0_awlock; + s0_pipe_awcache = s0_awcache; + s0_pipe_awprot = s0_awprot; + s0_pipe_awuser = s0_awuser[WRITE_ADDR_USER_WIDTH-1:0]; + end else begin + if (!USE_S0_AWREGION) + s0_pipe_awregion = '0; + else + s0_pipe_awregion = s0_awregion; + if (!USE_S0_AWLOCK) + s0_pipe_awlock = '0; + else + s0_pipe_awlock = s0_awlock; + if (!USE_S0_AWCACHE) + s0_pipe_awcache = '0; + else + s0_pipe_awcache = s0_awcache; + if (!USE_S0_AWQOS) + s0_pipe_awqos = '0; + else + s0_pipe_awqos = s0_awqos; + if (!USE_S0_AWPROT) + s0_pipe_awprot = '0; + else + s0_pipe_awprot = s0_awprot; + if (!USE_S0_AWUSER) + s0_pipe_awuser = '0; + else + s0_pipe_awuser = s0_awuser[WRITE_ADDR_USER_WIDTH-1:0]; + + // non-optional signals for slave-side interface -propagate these to master-side interface + s0_pipe_awid = s0_awid[M0_ID_WIDTH-1:0]; + s0_pipe_awaddr = s0_awaddr; + s0_pipe_awlen = s0_awlen; + s0_pipe_awsize = s0_awsize; + s0_pipe_awburst = s0_awburst; + end + end + + generate if (AXI_VERSION == "AXI3") begin + assign pipein_aw = {s0_pipe_awuser,s0_pipe_awid,s0_pipe_awaddr,s0_pipe_awlen,s0_pipe_awsize,s0_pipe_awburst,s0_pipe_awlock,s0_pipe_awcache,s0_pipe_awprot}; + end else begin + assign pipein_aw = {s0_pipe_awqos,s0_pipe_awregion,s0_pipe_awuser,s0_pipe_awid,s0_pipe_awaddr,s0_pipe_awlen,s0_pipe_awsize,s0_pipe_awburst,s0_pipe_awlock,s0_pipe_awcache,s0_pipe_awprot}; + end + endgenerate + + generate if (USE_PIPELINE) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (AX_WIDTH), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) aw_channel_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (s0_awvalid), + .in_ready (s0_pipe_awready), + .in_data (pipein_aw), + .out_valid (s0_pipeout_awvalid), + .out_ready (m0_awready), + .out_data (pipeout_aw) + ); + assign m0_awvalid = s0_pipeout_awvalid; + assign s0_awready = s0_pipe_awready; + + end else begin + assign pipeout_aw = pipein_aw; + assign m0_awvalid = s0_awvalid; + assign s0_awready = m0_awready; + end + endgenerate + + assign m0_awuser = pipeout_aw[PKT_AXUSER_H:PKT_AXUSER_L]; + assign m0_awid = pipeout_aw[PKT_AXID_H:PKT_AXID_L]; + assign m0_awaddr = pipeout_aw[PKT_AXADDR_H:PKT_AXADDR_L]; + assign m0_awlen = pipeout_aw[PKT_AXLEN_H:PKT_AXLEN_L]; + assign m0_awsize = pipeout_aw[PKT_AXSIZE_H:PKT_AXSIZE_L]; + assign m0_awburst = pipeout_aw[PKT_AXBURST_H:PKT_AXBURST_L]; + assign m0_awlock = pipeout_aw[PKT_AXLOCK_H:PKT_AXLOCK_L]; + assign m0_awcache = pipeout_aw[PKT_AXCACHE_H:PKT_AXCACHE_L]; + assign m0_awprot = pipeout_aw[PKT_AXPROT_H:PKT_AXPROT_L]; + generate if (AXI_VERSION == "AXI4") begin + assign m0_awqos = pipeout_aw[PKT_AXQOS_H:PKT_AXQOS_L]; + assign m0_awregion = pipeout_aw[PKT_AXREGION_H:PKT_AXREGION_L]; + end + endgenerate + +//================================================================== +// W Channel signal propagation +// AXI4 has optional signals. Propagate a default value to the master-side interface if the slave-side interface does not have the signal. +//====================================================================== + + always_comb + begin + if (AXI_VERSION == "AXI3") begin + s0_pipe_wid = s0_wid[M0_ID_WIDTH-1:0]; + s0_pipe_wdata = s0_wdata; + s0_pipe_wstrb = s0_wstrb; + s0_pipe_wlast = s0_wlast; + end else begin + if (!USE_S0_WLAST) + s0_pipe_wlast = '1; + else + s0_pipe_wlast = s0_wlast; + if (!USE_S0_WUSER) + s0_pipe_wuser = '0; + else + s0_pipe_wuser = s0_wuser[WRITE_DATA_USER_WIDTH-1:0]; + // non-optional signals for slave-side interface -propagate these to master-side interface + s0_pipe_wid = s0_wid[M0_ID_WIDTH-1:0]; + s0_pipe_wdata = s0_wdata; + s0_pipe_wstrb = s0_wstrb; + end + end + + generate if (AXI_VERSION == "AXI3") begin + assign pipein_w = {s0_pipe_wid,s0_pipe_wdata,s0_pipe_wstrb,s0_pipe_wlast}; + end else begin + assign pipein_w = {s0_pipe_wuser,s0_pipe_wid,s0_pipe_wdata,s0_pipe_wstrb,s0_pipe_wlast}; + end + endgenerate + + generate if (USE_PIPELINE) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (W_WIDTH), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) w_channel_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (s0_wvalid), + .in_ready (s0_pipe_wready), + .in_data (pipein_w), + .out_valid (s0_pipeout_wvalid), + .out_ready (m0_wready), + .out_data (pipeout_w) + ); + assign m0_wvalid = s0_pipeout_wvalid; + assign s0_wready = s0_pipe_wready; + + end else begin + assign pipeout_w = pipein_w; + assign m0_wvalid = s0_wvalid; + assign s0_wready = m0_wready; + end + endgenerate + + assign m0_wid = pipeout_w[PKT_WID_H:PKT_WID_L]; + assign m0_wdata = pipeout_w[PKT_WDATA_H:PKT_WDATA_L]; + assign m0_wstrb = pipeout_w[PKT_WSTRB_H:PKT_WSTRB_L]; + assign m0_wlast = pipeout_w[PKT_WLAST_H:PKT_WLAST_L]; + generate if (AXI_VERSION == "AXI4") begin + assign m0_wuser = pipeout_w[PKT_WUSER_H:PKT_WUSER_L]; + end + endgenerate + +//================================================================== +// B Channel signal propagation +// AXI4 has optional signals. Propagate a default value to the slave-side interface if the master-side interface does not have the signal. +//====================================================================== + + always_comb + begin + if (AXI_VERSION == "AXI3") begin + m0_pipe_bid = m0_bid; + m0_pipe_bresp = m0_bresp; + end else begin + if (!USE_M0_BID) + m0_pipe_bid = '0; + else + m0_pipe_bid = m0_bid; + if (!USE_M0_BRESP) + m0_pipe_bresp = '0; + else + m0_pipe_bresp = m0_bresp; + if (!USE_M0_BUSER) + m0_pipe_buser = '0; + else + m0_pipe_buser = m0_buser; + end + end + + generate if (AXI_VERSION == "AXI3") begin + assign pipein_b = {m0_pipe_bid,m0_pipe_bresp}; + end else begin + assign pipein_b = {m0_pipe_buser,m0_pipe_bid,m0_pipe_bresp}; + end + endgenerate + + generate if (USE_PIPELINE) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (B_WIDTH), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) b_channel_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (m0_bvalid), + .in_ready (m0_pipe_bready), + .in_data (pipein_b), + .out_valid (m0_pipeout_bvalid), + .out_ready (s0_bready), + .out_data (pipeout_b) + ); + assign s0_bvalid = m0_pipeout_bvalid; + assign m0_bready = m0_pipe_bready; + + end else begin + assign pipeout_b = pipein_b; + assign s0_bvalid = m0_bvalid; + assign m0_bready = s0_bready; + end + endgenerate + + assign s0_bid = pipeout_b[PKT_BID_H:PKT_BID_L]; + assign s0_bresp = pipeout_b[PKT_BRESP_H:PKT_BRESP_L]; + generate if (AXI_VERSION == "AXI4") begin + assign s0_buser = pipeout_b[PKT_BUSER_H:PKT_BUSER_L]; + end + endgenerate + + +//================================================================== +// AR Channel signal propagation +// AXI4 has optional signals. Propagate a default value to the master-side interface if the slave-side interface does not have the signal. +//====================================================================== + always_comb + begin + if (AXI_VERSION == "AXI3") begin + s0_pipe_arid = s0_arid[M0_ID_WIDTH-1:0]; + s0_pipe_araddr = s0_araddr; + s0_pipe_arlen = s0_arlen; + s0_pipe_arsize = s0_arsize; + s0_pipe_arburst = s0_arburst; + s0_pipe_arlock = s0_arlock; + s0_pipe_arcache = s0_arcache; + s0_pipe_arprot = s0_arprot; + s0_pipe_aruser = s0_aruser; // addded user signal to support HPS. This is not within AXI3 spec. + end else begin + if (!USE_S0_ARREGION) + s0_pipe_arregion = '0; + else + s0_pipe_arregion = s0_arregion; + if (!USE_S0_ARLOCK) + s0_pipe_arlock = '0; + else + s0_pipe_arlock = s0_arlock; + if (!USE_S0_ARCACHE) + s0_pipe_arcache = '0; + else + s0_pipe_arcache = s0_arcache; + if (!USE_S0_ARQOS) + s0_pipe_arqos = '0; + else + s0_pipe_arqos = s0_arqos; + if (!USE_S0_ARPROT) + s0_pipe_arprot = '0; + else + s0_pipe_arprot = s0_arprot; + if (!USE_S0_ARUSER) + s0_pipe_aruser = '0; + else + s0_pipe_aruser = s0_aruser[READ_ADDR_USER_WIDTH-1:0]; + + // non-optional signals for slave-side interface -propagate these to master-side interface + s0_pipe_arid = s0_arid[M0_ID_WIDTH-1:0]; + s0_pipe_araddr = s0_araddr; + s0_pipe_arlen = s0_arlen; + s0_pipe_arsize = s0_arsize; + s0_pipe_arburst = s0_arburst; + end + end + + generate if (AXI_VERSION == "AXI3") begin + assign pipein_ar = {s0_pipe_aruser,s0_pipe_arid,s0_pipe_araddr,s0_pipe_arlen,s0_pipe_arsize,s0_pipe_arburst,s0_pipe_arlock,s0_pipe_arcache,s0_pipe_arprot}; + end else begin + assign pipein_ar = {s0_pipe_arqos,s0_pipe_arregion,s0_pipe_aruser,s0_pipe_arid,s0_pipe_araddr,s0_pipe_arlen,s0_pipe_arsize,s0_pipe_arburst,s0_pipe_arlock,s0_pipe_arcache,s0_pipe_arprot}; + end + endgenerate + + generate if (USE_PIPELINE) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (AX_WIDTH), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) ar_channel_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (s0_arvalid), + .in_ready (s0_pipe_arready), + .in_data (pipein_ar), + .out_valid (s0_pipeout_arvalid), + .out_ready (m0_arready), + .out_data (pipeout_ar) + ); + assign m0_arvalid = s0_pipeout_arvalid; + assign s0_arready = s0_pipe_arready; + + end else begin + assign pipeout_ar = pipein_ar; + assign m0_arvalid = s0_arvalid; + assign s0_arready = m0_arready; + end + endgenerate + + assign m0_aruser = pipeout_ar[PKT_AXUSER_H:PKT_AXUSER_L]; + assign m0_arid = pipeout_ar[PKT_AXID_H:PKT_AXID_L]; + assign m0_araddr = pipeout_ar[PKT_AXADDR_H:PKT_AXADDR_L]; + assign m0_arlen = pipeout_ar[PKT_AXLEN_H:PKT_AXLEN_L]; + assign m0_arsize = pipeout_ar[PKT_AXSIZE_H:PKT_AXSIZE_L]; + assign m0_arburst = pipeout_ar[PKT_AXBURST_H:PKT_AXBURST_L]; + assign m0_arlock = pipeout_ar[PKT_AXLOCK_H:PKT_AXLOCK_L]; + assign m0_arcache = pipeout_ar[PKT_AXCACHE_H:PKT_AXCACHE_L]; + assign m0_arprot = pipeout_ar[PKT_AXPROT_H:PKT_AXPROT_L]; + generate if (AXI_VERSION == "AXI4") begin + assign m0_arqos = pipeout_ar[PKT_AXQOS_H:PKT_AXQOS_L]; + assign m0_arregion = pipeout_ar[PKT_AXREGION_H:PKT_AXREGION_L]; + end + endgenerate + +//================================================================== +// R Channel signal propagation +// AXI4 has optional signals. Propagate a default value to the slave-side interface if the master-side interface does not have the signal. +//====================================================================== + + always_comb + begin + if (AXI_VERSION == "AXI3") begin + m0_pipe_rid = m0_rid; + m0_pipe_rresp = m0_rresp; + m0_pipe_rlast = m0_rlast; + end else begin + if (!USE_M0_RID) + m0_pipe_rid = '0; + else + m0_pipe_rid = m0_rid; + if (!USE_M0_RRESP) + m0_pipe_rresp = '0; + else + m0_pipe_rresp = m0_rresp; + if (!USE_M0_RLAST) + m0_pipe_rlast = '0; + else + m0_pipe_rlast = m0_rlast; + if (!USE_M0_RUSER) + m0_pipe_ruser = '0; + else + m0_pipe_ruser = m0_ruser; + end + //non-optional signals + m0_pipe_rdata = m0_rdata; + end + + generate if (AXI_VERSION == "AXI3") begin + assign pipein_r = {m0_pipe_rid,m0_pipe_rdata,m0_pipe_rresp,m0_pipe_rlast}; + end else begin + assign pipein_r = {m0_pipe_ruser,m0_pipe_rid,m0_pipe_rdata,m0_pipe_rresp,m0_pipe_rlast}; + end + endgenerate + + generate if (USE_PIPELINE) begin + altera_avalon_st_pipeline_base #( + .SYMBOLS_PER_BEAT (1), + .BITS_PER_SYMBOL (R_WIDTH), + .PIPELINE_READY (1), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) r_channel_pipeline ( + .clk (aclk), + .reset (~aresetn), + .in_valid (m0_rvalid), + .in_ready (m0_pipe_rready), + .in_data (pipein_r), + .out_valid (m0_pipeout_rvalid), + .out_ready (s0_rready), + .out_data (pipeout_r) + ); + assign s0_rvalid = m0_pipeout_rvalid; + assign m0_rready = m0_pipe_rready; + + end else begin + assign pipeout_r = pipein_r; + assign s0_rvalid = m0_rvalid; + assign m0_rready = s0_rready; + end + endgenerate + + assign s0_rid = pipeout_r[PKT_RID_H:PKT_RID_L]; + assign s0_rdata = pipeout_r[PKT_RDATA_H:PKT_RDATA_L]; + assign s0_rresp = pipeout_r[PKT_RRESP_H:PKT_RRESP_L]; + assign s0_rlast = pipeout_r[PKT_RLAST]; + generate if (AXI_VERSION == "AXI4") begin + assign s0_ruser = pipeout_r[PKT_RUSER_H:PKT_RUSER_L]; + end + endgenerate + +/* + generate if (AXI_VERSION == "AXI3") begin + assign {m0_awid,m0_awaddr,m0_awlen,m0_awsize,m0_awburst,m0_awlock,m0_awcache,m0_awprot} = pipeout_aw; + end else begin + //assign {m0_awuser,m0_awqos,m0_awregion,m0_awid,m0_awaddr,m0_awlen,m0_awsize,m0_awburst,m0_awlock,m0_awcache,m0_awprot} = pipeout_aw; + assign {m0_awid,m0_awaddr,m0_awlen,m0_awsize,m0_awburst,m0_awlock,m0_awcache,m0_awprot} = pipeout_aw; + end + endgenerate +*/ + +endmodule + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.bsf b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.bsf new file mode 100644 index 0000000000..514f7ef74c --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.bsf @@ -0,0 +1,626 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 304 1064) + (text "cva6_intel_axi_bridge_0" (rect 72 0 168 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 1048 20 1060)(font "Arial" )) + (port + (pt 0 76) + (input) + (text "aclk" (rect 0 0 15 12)(font "SansSerif" (font_size 8))) + (text "aclk" (rect 4 65 28 76)(font "SansSerif" (font_size 8))) + (line (pt 0 76)(pt 102 76)(line_width 1)) + ) + (port + (pt 0 126) + (input) + (text "aresetn" (rect 0 0 29 12)(font "SansSerif" (font_size 8))) + (text "aresetn" (rect 4 115 46 126)(font "SansSerif" (font_size 8))) + (line (pt 0 126)(pt 102 126)(line_width 1)) + ) + (port + (pt 0 176) + (input) + (text "s0_awid[7..0]" (rect 0 0 51 12)(font "SansSerif" (font_size 8))) + (text "s0_awid[7..0]" (rect 4 165 82 176)(font "SansSerif" (font_size 8))) + (line (pt 0 176)(pt 102 176)(line_width 3)) + ) + (port + (pt 0 201) + (input) + (text "s0_awaddr[63..0]" (rect 0 0 68 12)(font "SansSerif" (font_size 8))) + (text "s0_awaddr[63..0]" (rect 4 190 100 201)(font "SansSerif" (font_size 8))) + (line (pt 0 201)(pt 102 201)(line_width 3)) + ) + (port + (pt 0 226) + (input) + (text "s0_awlen[7..0]" (rect 0 0 56 12)(font "SansSerif" (font_size 8))) + (text "s0_awlen[7..0]" (rect 4 215 88 226)(font "SansSerif" (font_size 8))) + (line (pt 0 226)(pt 102 226)(line_width 3)) + ) + (port + (pt 0 251) + (input) + (text "s0_awsize[2..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "s0_awsize[2..0]" (rect 4 240 94 251)(font "SansSerif" (font_size 8))) + (line (pt 0 251)(pt 102 251)(line_width 3)) + ) + (port + (pt 0 276) + (input) + (text "s0_awburst[1..0]" (rect 0 0 64 12)(font "SansSerif" (font_size 8))) + (text "s0_awburst[1..0]" (rect 4 265 100 276)(font "SansSerif" (font_size 8))) + (line (pt 0 276)(pt 102 276)(line_width 3)) + ) + (port + (pt 0 301) + (input) + (text "s0_awlock" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "s0_awlock" (rect 4 290 58 301)(font "SansSerif" (font_size 8))) + (line (pt 0 301)(pt 102 301)(line_width 1)) + ) + (port + (pt 0 326) + (input) + (text "s0_awcache[3..0]" (rect 0 0 69 12)(font "SansSerif" (font_size 8))) + (text "s0_awcache[3..0]" (rect 4 315 100 326)(font "SansSerif" (font_size 8))) + (line (pt 0 326)(pt 102 326)(line_width 3)) + ) + (port + (pt 0 351) + (input) + (text "s0_awprot[2..0]" (rect 0 0 61 12)(font "SansSerif" (font_size 8))) + (text "s0_awprot[2..0]" (rect 4 340 94 351)(font "SansSerif" (font_size 8))) + (line (pt 0 351)(pt 102 351)(line_width 3)) + ) + (port + (pt 0 376) + (input) + (text "s0_awvalid" (rect 0 0 43 12)(font "SansSerif" (font_size 8))) + (text "s0_awvalid" (rect 4 365 64 376)(font "SansSerif" (font_size 8))) + (line (pt 0 376)(pt 102 376)(line_width 1)) + ) + (port + (pt 0 426) + (input) + (text "s0_wdata[63..0]" (rect 0 0 62 12)(font "SansSerif" (font_size 8))) + (text "s0_wdata[63..0]" (rect 4 415 94 426)(font "SansSerif" (font_size 8))) + (line (pt 0 426)(pt 102 426)(line_width 3)) + ) + (port + (pt 0 451) + (input) + (text "s0_wstrb[7..0]" (rect 0 0 56 12)(font "SansSerif" (font_size 8))) + (text "s0_wstrb[7..0]" (rect 4 440 88 451)(font "SansSerif" (font_size 8))) + (line (pt 0 451)(pt 102 451)(line_width 3)) + ) + (port + (pt 0 476) + (input) + (text "s0_wlast" (rect 0 0 34 12)(font "SansSerif" (font_size 8))) + (text "s0_wlast" (rect 4 465 52 476)(font "SansSerif" (font_size 8))) + (line (pt 0 476)(pt 102 476)(line_width 1)) + ) + (port + (pt 0 501) + (input) + (text "s0_wvalid" (rect 0 0 38 12)(font "SansSerif" (font_size 8))) + (text "s0_wvalid" (rect 4 490 58 501)(font "SansSerif" (font_size 8))) + (line (pt 0 501)(pt 102 501)(line_width 1)) + ) + (port + (pt 0 626) + (input) + (text "s0_bready" (rect 0 0 43 12)(font "SansSerif" (font_size 8))) + (text "s0_bready" (rect 4 615 58 626)(font "SansSerif" (font_size 8))) + (line (pt 0 626)(pt 102 626)(line_width 1)) + ) + (port + (pt 0 651) + (input) + (text "s0_arid[7..0]" (rect 0 0 49 12)(font "SansSerif" (font_size 8))) + (text "s0_arid[7..0]" (rect 4 640 82 651)(font "SansSerif" (font_size 8))) + (line (pt 0 651)(pt 102 651)(line_width 3)) + ) + (port + (pt 0 676) + (input) + (text "s0_araddr[63..0]" (rect 0 0 66 12)(font "SansSerif" (font_size 8))) + (text "s0_araddr[63..0]" (rect 4 665 100 676)(font "SansSerif" (font_size 8))) + (line (pt 0 676)(pt 102 676)(line_width 3)) + ) + (port + (pt 0 701) + (input) + (text "s0_arlen[7..0]" (rect 0 0 54 12)(font "SansSerif" (font_size 8))) + (text "s0_arlen[7..0]" (rect 4 690 88 701)(font "SansSerif" (font_size 8))) + (line (pt 0 701)(pt 102 701)(line_width 3)) + ) + (port + (pt 0 726) + (input) + (text "s0_arsize[2..0]" (rect 0 0 57 12)(font "SansSerif" (font_size 8))) + (text "s0_arsize[2..0]" (rect 4 715 94 726)(font "SansSerif" (font_size 8))) + (line (pt 0 726)(pt 102 726)(line_width 3)) + ) + (port + (pt 0 751) + (input) + (text "s0_arburst[1..0]" (rect 0 0 62 12)(font "SansSerif" (font_size 8))) + (text "s0_arburst[1..0]" (rect 4 740 100 751)(font "SansSerif" (font_size 8))) + (line (pt 0 751)(pt 102 751)(line_width 3)) + ) + (port + (pt 0 776) + (input) + (text "s0_arlock" (rect 0 0 38 12)(font "SansSerif" (font_size 8))) + (text "s0_arlock" (rect 4 765 58 776)(font "SansSerif" (font_size 8))) + (line (pt 0 776)(pt 102 776)(line_width 1)) + ) + (port + (pt 0 801) + (input) + (text "s0_arcache[3..0]" (rect 0 0 67 12)(font "SansSerif" (font_size 8))) + (text "s0_arcache[3..0]" (rect 4 790 100 801)(font "SansSerif" (font_size 8))) + (line (pt 0 801)(pt 102 801)(line_width 3)) + ) + (port + (pt 0 826) + (input) + (text "s0_arprot[2..0]" (rect 0 0 59 12)(font "SansSerif" (font_size 8))) + (text "s0_arprot[2..0]" (rect 4 815 94 826)(font "SansSerif" (font_size 8))) + (line (pt 0 826)(pt 102 826)(line_width 3)) + ) + (port + (pt 0 851) + (input) + (text "s0_arvalid" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "s0_arvalid" (rect 4 840 64 851)(font "SansSerif" (font_size 8))) + (line (pt 0 851)(pt 102 851)(line_width 1)) + ) + (port + (pt 0 1026) + (input) + (text "s0_rready" (rect 0 0 42 12)(font "SansSerif" (font_size 8))) + (text "s0_rready" (rect 4 1015 58 1026)(font "SansSerif" (font_size 8))) + (line (pt 0 1026)(pt 102 1026)(line_width 1)) + ) + (port + (pt 304 301) + (input) + (text "m0_awready" (rect 0 0 53 12)(font "SansSerif" (font_size 8))) + (text "m0_awready" (rect 239 290 299 301)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 426) + (input) + (text "m0_wready" (rect 0 0 48 12)(font "SansSerif" (font_size 8))) + (text "m0_wready" (rect 245 415 299 426)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 451) + (input) + (text "m0_bid[7..0]" (rect 0 0 49 12)(font "SansSerif" (font_size 8))) + (text "m0_bid[7..0]" (rect 245 440 317 451)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 476) + (input) + (text "m0_bresp[1..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "m0_bresp[1..0]" (rect 233 465 317 476)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 501) + (input) + (text "m0_bvalid" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "m0_bvalid" (rect 255 490 309 501)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 776) + (input) + (text "m0_arready" (rect 0 0 50 12)(font "SansSerif" (font_size 8))) + (text "m0_arready" (rect 245 765 305 776)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 801) + (input) + (text "m0_rid[7..0]" (rect 0 0 48 12)(font "SansSerif" (font_size 8))) + (text "m0_rid[7..0]" (rect 247 790 319 801)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 826) + (input) + (text "m0_rdata[63..0]" (rect 0 0 63 12)(font "SansSerif" (font_size 8))) + (text "m0_rdata[63..0]" (rect 228 815 318 826)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 851) + (input) + (text "m0_rresp[1..0]" (rect 0 0 59 12)(font "SansSerif" (font_size 8))) + (text "m0_rresp[1..0]" (rect 235 840 319 851)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 876) + (input) + (text "m0_rlast" (rect 0 0 35 12)(font "SansSerif" (font_size 8))) + (text "m0_rlast" (rect 262 865 310 876)(font "SansSerif" (font_size 8))) + (line (pt 304 876)(pt 102 876)(line_width 1)) + ) + (port + (pt 304 901) + (input) + (text "m0_rvalid" (rect 0 0 40 12)(font "SansSerif" (font_size 8))) + (text "m0_rvalid" (rect 257 890 311 901)(font "SansSerif" (font_size 8))) + (line (pt 304 901)(pt 102 901)(line_width 3)) + ) + (port + (pt 0 401) + (output) + (text "s0_awready" (rect 0 0 49 12)(font "SansSerif" (font_size 8))) + (text "s0_awready" (rect 4 390 64 401)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 526) + (output) + (text "s0_wready" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "s0_wready" (rect 4 515 58 526)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 551) + (output) + (text "s0_bid[7..0]" (rect 0 0 46 12)(font "SansSerif" (font_size 8))) + (text "s0_bid[7..0]" (rect 4 540 76 551)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 576) + (output) + (text "s0_bresp[1..0]" (rect 0 0 56 12)(font "SansSerif" (font_size 8))) + (text "s0_bresp[1..0]" (rect 4 565 88 576)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 601) + (output) + (text "s0_bvalid" (rect 0 0 37 12)(font "SansSerif" (font_size 8))) + (text "s0_bvalid" (rect 4 590 58 601)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 876) + (output) + (text "s0_arready" (rect 0 0 47 12)(font "SansSerif" (font_size 8))) + (text "s0_arready" (rect 4 865 64 876)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 901) + (output) + (text "s0_rid[7..0]" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "s0_rid[7..0]" (rect 4 890 76 901)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 926) + (output) + (text "s0_rdata[63..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "s0_rdata[63..0]" (rect 4 915 94 926)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 951) + (output) + (text "s0_rresp[1..0]" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "s0_rresp[1..0]" (rect 4 940 88 951)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 976) + (output) + (text "s0_rlast" (rect 0 0 31 12)(font "SansSerif" (font_size 8))) + (text "s0_rlast" (rect 4 965 52 976)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 1001) + (output) + (text "s0_rvalid" (rect 0 0 36 12)(font "SansSerif" (font_size 8))) + (text "s0_rvalid" (rect 4 990 58 1001)(font "SansSerif" (font_size 8))) + ) + (port + (pt 304 76) + (output) + (text "m0_awid[7..0]" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "m0_awid[7..0]" (rect 235 65 313 76)(font "SansSerif" (font_size 8))) + (line (pt 304 76)(pt 204 76)(line_width 3)) + ) + (port + (pt 304 101) + (output) + (text "m0_awaddr[63..0]" (rect 0 0 71 12)(font "SansSerif" (font_size 8))) + (text "m0_awaddr[63..0]" (rect 215 90 311 101)(font "SansSerif" (font_size 8))) + (line (pt 304 101)(pt 204 101)(line_width 3)) + ) + (port + (pt 304 126) + (output) + (text "m0_awlen[7..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "m0_awlen[7..0]" (rect 229 115 313 126)(font "SansSerif" (font_size 8))) + (line (pt 304 126)(pt 204 126)(line_width 3)) + ) + (port + (pt 304 151) + (output) + (text "m0_awsize[2..0]" (rect 0 0 63 12)(font "SansSerif" (font_size 8))) + (text "m0_awsize[2..0]" (rect 223 140 313 151)(font "SansSerif" (font_size 8))) + (line (pt 304 151)(pt 204 151)(line_width 3)) + ) + (port + (pt 304 176) + (output) + (text "m0_awburst[1..0]" (rect 0 0 68 12)(font "SansSerif" (font_size 8))) + (text "m0_awburst[1..0]" (rect 220 165 316 176)(font "SansSerif" (font_size 8))) + (line (pt 304 176)(pt 204 176)(line_width 3)) + ) + (port + (pt 304 201) + (output) + (text "m0_awlock" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "m0_awlock" (rect 248 190 302 201)(font "SansSerif" (font_size 8))) + (line (pt 304 201)(pt 204 201)(line_width 1)) + ) + (port + (pt 304 226) + (output) + (text "m0_awcache[3..0]" (rect 0 0 73 12)(font "SansSerif" (font_size 8))) + (text "m0_awcache[3..0]" (rect 213 215 309 226)(font "SansSerif" (font_size 8))) + (line (pt 304 226)(pt 204 226)(line_width 3)) + ) + (port + (pt 304 251) + (output) + (text "m0_awprot[2..0]" (rect 0 0 64 12)(font "SansSerif" (font_size 8))) + (text "m0_awprot[2..0]" (rect 224 240 314 251)(font "SansSerif" (font_size 8))) + (line (pt 304 251)(pt 204 251)(line_width 3)) + ) + (port + (pt 304 276) + (output) + (text "m0_awvalid" (rect 0 0 47 12)(font "SansSerif" (font_size 8))) + (text "m0_awvalid" (rect 245 265 305 276)(font "SansSerif" (font_size 8))) + (line (pt 304 276)(pt 204 276)(line_width 1)) + ) + (port + (pt 304 326) + (output) + (text "m0_wdata[63..0]" (rect 0 0 66 12)(font "SansSerif" (font_size 8))) + (text "m0_wdata[63..0]" (rect 222 315 312 326)(font "SansSerif" (font_size 8))) + (line (pt 304 326)(pt 204 326)(line_width 3)) + ) + (port + (pt 304 351) + (output) + (text "m0_wstrb[7..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "m0_wstrb[7..0]" (rect 230 340 314 351)(font "SansSerif" (font_size 8))) + (line (pt 304 351)(pt 204 351)(line_width 3)) + ) + (port + (pt 304 376) + (output) + (text "m0_wlast" (rect 0 0 37 12)(font "SansSerif" (font_size 8))) + (text "m0_wlast" (rect 256 365 304 376)(font "SansSerif" (font_size 8))) + (line (pt 304 376)(pt 204 376)(line_width 1)) + ) + (port + (pt 304 401) + (output) + (text "m0_wvalid" (rect 0 0 42 12)(font "SansSerif" (font_size 8))) + (text "m0_wvalid" (rect 251 390 305 401)(font "SansSerif" (font_size 8))) + (line (pt 304 401)(pt 102 401)(line_width 1)) + ) + (port + (pt 304 526) + (output) + (text "m0_bready" (rect 0 0 47 12)(font "SansSerif" (font_size 8))) + (text "m0_bready" (rect 249 515 303 526)(font "SansSerif" (font_size 8))) + (line (pt 304 526)(pt 102 526)(line_width 1)) + ) + (port + (pt 304 551) + (output) + (text "m0_arid[7..0]" (rect 0 0 53 12)(font "SansSerif" (font_size 8))) + (text "m0_arid[7..0]" (rect 241 540 319 551)(font "SansSerif" (font_size 8))) + (line (pt 304 551)(pt 102 551)(line_width 3)) + ) + (port + (pt 304 576) + (output) + (text "m0_araddr[63..0]" (rect 0 0 69 12)(font "SansSerif" (font_size 8))) + (text "m0_araddr[63..0]" (rect 221 565 317 576)(font "SansSerif" (font_size 8))) + (line (pt 304 576)(pt 102 576)(line_width 3)) + ) + (port + (pt 304 601) + (output) + (text "m0_arlen[7..0]" (rect 0 0 57 12)(font "SansSerif" (font_size 8))) + (text "m0_arlen[7..0]" (rect 235 590 319 601)(font "SansSerif" (font_size 8))) + (line (pt 304 601)(pt 102 601)(line_width 1)) + ) + (port + (pt 304 626) + (output) + (text "m0_arsize[2..0]" (rect 0 0 61 12)(font "SansSerif" (font_size 8))) + (text "m0_arsize[2..0]" (rect 229 615 319 626)(font "SansSerif" (font_size 8))) + (line (pt 304 626)(pt 204 626)(line_width 3)) + ) + (port + (pt 304 651) + (output) + (text "m0_arburst[1..0]" (rect 0 0 66 12)(font "SansSerif" (font_size 8))) + (text "m0_arburst[1..0]" (rect 226 640 322 651)(font "SansSerif" (font_size 8))) + (line (pt 304 651)(pt 204 651)(line_width 3)) + ) + (port + (pt 304 676) + (output) + (text "m0_arlock" (rect 0 0 42 12)(font "SansSerif" (font_size 8))) + (text "m0_arlock" (rect 254 665 308 676)(font "SansSerif" (font_size 8))) + (line (pt 304 676)(pt 204 676)(line_width 1)) + ) + (port + (pt 304 701) + (output) + (text "m0_arcache[3..0]" (rect 0 0 70 12)(font "SansSerif" (font_size 8))) + (text "m0_arcache[3..0]" (rect 219 690 315 701)(font "SansSerif" (font_size 8))) + (line (pt 304 701)(pt 204 701)(line_width 3)) + ) + (port + (pt 304 726) + (output) + (text "m0_arprot[2..0]" (rect 0 0 62 12)(font "SansSerif" (font_size 8))) + (text "m0_arprot[2..0]" (rect 230 715 320 726)(font "SansSerif" (font_size 8))) + (line (pt 304 726)(pt 204 726)(line_width 3)) + ) + (port + (pt 304 751) + (output) + (text "m0_arvalid" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "m0_arvalid" (rect 251 740 311 751)(font "SansSerif" (font_size 8))) + (line (pt 304 751)(pt 204 751)(line_width 1)) + ) + (port + (pt 304 926) + (output) + (text "m0_rready" (rect 0 0 46 12)(font "SansSerif" (font_size 8))) + (text "m0_rready" (rect 251 915 305 926)(font "SansSerif" (font_size 8))) + (line (pt 304 926)(pt 102 926)(line_width 3)) + ) + (drawing + (text "clk" (rect 87 46 192 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 107 71 232 152)(font "SansSerif" (color 0 0 0))) + (text "clk_reset" (rect 49 96 152 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "reset_n" (rect 107 121 256 252)(font "SansSerif" (color 0 0 0))) + (text "s0" (rect 89 146 190 305)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "awid" (rect 107 171 238 352)(font "SansSerif" (color 0 0 0))) + (text "awaddr" (rect 107 196 250 402)(font "SansSerif" (color 0 0 0))) + (text "awlen" (rect 107 221 244 452)(font "SansSerif" (color 0 0 0))) + (text "awsize" (rect 107 246 250 502)(font "SansSerif" (color 0 0 0))) + (text "awburst" (rect 107 271 256 552)(font "SansSerif" (color 0 0 0))) + (text "awlock" (rect 107 296 250 602)(font "SansSerif" (color 0 0 0))) + (text "awcache" (rect 107 321 256 652)(font "SansSerif" (color 0 0 0))) + (text "awprot" (rect 107 346 250 702)(font "SansSerif" (color 0 0 0))) + (text "awvalid" (rect 107 371 256 752)(font "SansSerif" (color 0 0 0))) + (text "awready" (rect 107 396 256 802)(font "SansSerif" (color 0 0 0))) + (text "wdata" (rect 107 421 244 852)(font "SansSerif" (color 0 0 0))) + (text "wstrb" (rect 107 446 244 902)(font "SansSerif" (color 0 0 0))) + (text "wlast" (rect 107 471 244 952)(font "SansSerif" (color 0 0 0))) + (text "wvalid" (rect 107 496 250 1002)(font "SansSerif" (color 0 0 0))) + (text "wready" (rect 107 521 250 1052)(font "SansSerif" (color 0 0 0))) + (text "bid" (rect 107 546 232 1102)(font "SansSerif" (color 0 0 0))) + (text "bresp" (rect 107 571 244 1152)(font "SansSerif" (color 0 0 0))) + (text "bvalid" (rect 107 596 250 1202)(font "SansSerif" (color 0 0 0))) + (text "bready" (rect 107 621 250 1252)(font "SansSerif" (color 0 0 0))) + (text "arid" (rect 107 646 238 1302)(font "SansSerif" (color 0 0 0))) + (text "araddr" (rect 107 671 250 1352)(font "SansSerif" (color 0 0 0))) + (text "arlen" (rect 107 696 244 1402)(font "SansSerif" (color 0 0 0))) + (text "arsize" (rect 107 721 250 1452)(font "SansSerif" (color 0 0 0))) + (text "arburst" (rect 107 746 256 1502)(font "SansSerif" (color 0 0 0))) + (text "arlock" (rect 107 771 250 1552)(font "SansSerif" (color 0 0 0))) + (text "arcache" (rect 107 796 256 1602)(font "SansSerif" (color 0 0 0))) + (text "arprot" (rect 107 821 250 1652)(font "SansSerif" (color 0 0 0))) + (text "arvalid" (rect 107 846 256 1702)(font "SansSerif" (color 0 0 0))) + (text "arready" (rect 107 871 256 1752)(font "SansSerif" (color 0 0 0))) + (text "rid" (rect 107 896 232 1802)(font "SansSerif" (color 0 0 0))) + (text "rdata" (rect 107 921 244 1852)(font "SansSerif" (color 0 0 0))) + (text "rresp" (rect 107 946 244 1902)(font "SansSerif" (color 0 0 0))) + (text "rlast" (rect 107 971 244 1952)(font "SansSerif" (color 0 0 0))) + (text "rvalid" (rect 107 996 250 2002)(font "SansSerif" (color 0 0 0))) + (text "rready" (rect 107 1021 250 2052)(font "SansSerif" (color 0 0 0))) + (text "m0" (rect 205 46 422 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "awid" (rect 183 71 390 152)(font "SansSerif" (color 0 0 0))) + (text "awaddr" (rect 171 96 378 202)(font "SansSerif" (color 0 0 0))) + (text "awlen" (rect 178 121 386 252)(font "SansSerif" (color 0 0 0))) + (text "awsize" (rect 174 146 384 302)(font "SansSerif" (color 0 0 0))) + (text "awburst" (rect 168 171 378 352)(font "SansSerif" (color 0 0 0))) + (text "awlock" (rect 173 196 382 402)(font "SansSerif" (color 0 0 0))) + (text "awcache" (rect 165 221 372 452)(font "SansSerif" (color 0 0 0))) + (text "awprot" (rect 173 246 382 502)(font "SansSerif" (color 0 0 0))) + (text "awvalid" (rect 170 271 382 552)(font "SansSerif" (color 0 0 0))) + (text "awready" (rect 165 296 372 602)(font "SansSerif" (color 0 0 0))) + (text "wdata" (rect 177 321 384 652)(font "SansSerif" (color 0 0 0))) + (text "wstrb" (rect 178 346 386 702)(font "SansSerif" (color 0 0 0))) + (text "wlast" (rect 180 371 390 752)(font "SansSerif" (color 0 0 0))) + (text "wvalid" (rect 175 396 386 802)(font "SansSerif" (color 0 0 0))) + (text "wready" (rect 170 421 376 852)(font "SansSerif" (color 0 0 0))) + (text "bid" (rect 189 446 396 902)(font "SansSerif" (color 0 0 0))) + (text "bresp" (rect 177 471 384 952)(font "SansSerif" (color 0 0 0))) + (text "bvalid" (rect 176 496 388 1002)(font "SansSerif" (color 0 0 0))) + (text "bready" (rect 171 521 378 1052)(font "SansSerif" (color 0 0 0))) + (text "arid" (rect 185 546 394 1102)(font "SansSerif" (color 0 0 0))) + (text "araddr" (rect 173 571 382 1152)(font "SansSerif" (color 0 0 0))) + (text "arlen" (rect 180 596 390 1202)(font "SansSerif" (color 0 0 0))) + (text "arsize" (rect 176 621 388 1252)(font "SansSerif" (color 0 0 0))) + (text "arburst" (rect 170 646 382 1302)(font "SansSerif" (color 0 0 0))) + (text "arlock" (rect 175 671 386 1352)(font "SansSerif" (color 0 0 0))) + (text "arcache" (rect 167 696 376 1402)(font "SansSerif" (color 0 0 0))) + (text "arprot" (rect 175 721 386 1452)(font "SansSerif" (color 0 0 0))) + (text "arvalid" (rect 172 746 386 1502)(font "SansSerif" (color 0 0 0))) + (text "arready" (rect 167 771 376 1552)(font "SansSerif" (color 0 0 0))) + (text "rid" (rect 190 796 398 1602)(font "SansSerif" (color 0 0 0))) + (text "rdata" (rect 179 821 388 1652)(font "SansSerif" (color 0 0 0))) + (text "rresp" (rect 178 846 386 1702)(font "SansSerif" (color 0 0 0))) + (text "rlast" (rect 182 871 394 1752)(font "SansSerif" (color 0 0 0))) + (text "rvalid" (rect 177 896 390 1802)(font "SansSerif" (color 0 0 0))) + (text "rready" (rect 172 921 380 1852)(font "SansSerif" (color 0 0 0))) + (text " cva6_intel_axi_bridge_0 " (rect 198 1051 546 2112)(font "SansSerif" )) + (line (pt 102 34)(pt 204 34)(line_width 1)) + (line (pt 204 34)(pt 204 1051)(line_width 1)) + (line (pt 102 1051)(pt 204 1051)(line_width 1)) + (line (pt 102 34)(pt 102 1051)(line_width 1)) + (line (pt 103 55)(pt 103 80)(line_width 1)) + (line (pt 104 55)(pt 104 80)(line_width 1)) + (line (pt 103 105)(pt 103 130)(line_width 1)) + (line (pt 104 105)(pt 104 130)(line_width 1)) + (line (pt 304 951)(pt 102 951)(line_width 3)) + (line (pt 304 976)(pt 102 976)(line_width 1)) + (line (pt 304 1001)(pt 102 1001)(line_width 1)) + (line (pt 103 155)(pt 103 1030)(line_width 1)) + (line (pt 104 155)(pt 104 1030)(line_width 1)) + (line (pt 306 301)(pt 204 301)(line_width 1)) + (line (pt 304 401)(pt 204 401)(line_width 1)) + (line (pt 306 426)(pt 204 426)(line_width 1)) + (line (pt 306 451)(pt 204 451)(line_width 3)) + (line (pt 306 476)(pt 204 476)(line_width 3)) + (line (pt 306 501)(pt 204 501)(line_width 1)) + (line (pt 304 526)(pt 204 526)(line_width 1)) + (line (pt 304 551)(pt 204 551)(line_width 3)) + (line (pt 304 576)(pt 204 576)(line_width 3)) + (line (pt 304 601)(pt 204 601)(line_width 3)) + (line (pt 306 776)(pt 204 776)(line_width 1)) + (line (pt 306 801)(pt 204 801)(line_width 3)) + (line (pt 306 826)(pt 204 826)(line_width 3)) + (line (pt 306 851)(pt 204 851)(line_width 3)) + (line (pt 306 876)(pt 204 876)(line_width 1)) + (line (pt 306 901)(pt 204 901)(line_width 1)) + (line (pt 304 926)(pt 204 926)(line_width 1)) + (line (pt 203 55)(pt 203 930)(line_width 1)) + (line (pt 202 55)(pt 202 930)(line_width 1)) + (line (pt 0 0)(pt 304 0)(line_width 1)) + (line (pt 304 0)(pt 304 1068)(line_width 1)) + (line (pt 0 1068)(pt 304 1068)(line_width 1)) + (line (pt 0 0)(pt 0 1068)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.cmp b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.cmp new file mode 100644 index 0000000000..b451768eef --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.cmp @@ -0,0 +1,138 @@ + component cva6_intel_axi_bridge_0 is + generic ( + USE_PIPELINE : integer := 1; + USE_M0_AWID : integer := 1; + USE_M0_AWREGION : integer := 0; + USE_M0_AWLEN : integer := 1; + USE_M0_AWSIZE : integer := 1; + USE_M0_AWBURST : integer := 1; + USE_M0_AWLOCK : integer := 1; + USE_M0_AWCACHE : integer := 1; + USE_M0_AWQOS : integer := 0; + USE_S0_AWREGION : integer := 0; + USE_S0_AWLOCK : integer := 1; + USE_S0_AWCACHE : integer := 1; + USE_S0_AWQOS : integer := 0; + USE_S0_AWPROT : integer := 1; + USE_M0_WSTRB : integer := 1; + USE_S0_WLAST : integer := 1; + USE_M0_BID : integer := 1; + USE_M0_BRESP : integer := 1; + USE_S0_BRESP : integer := 1; + USE_M0_ARID : integer := 1; + USE_M0_ARREGION : integer := 0; + USE_M0_ARLEN : integer := 1; + USE_M0_ARSIZE : integer := 1; + USE_M0_ARBURST : integer := 1; + USE_M0_ARLOCK : integer := 1; + USE_M0_ARCACHE : integer := 1; + USE_M0_ARQOS : integer := 0; + USE_S0_ARREGION : integer := 0; + USE_S0_ARLOCK : integer := 1; + USE_S0_ARCACHE : integer := 1; + USE_S0_ARQOS : integer := 0; + USE_S0_ARPROT : integer := 1; + USE_M0_RID : integer := 1; + USE_M0_RRESP : integer := 1; + USE_M0_RLAST : integer := 1; + USE_S0_RRESP : integer := 1; + M0_ID_WIDTH : integer := 8; + S0_ID_WIDTH : integer := 8; + DATA_WIDTH : integer := 64; + WRITE_ADDR_USER_WIDTH : integer := 32; + READ_ADDR_USER_WIDTH : integer := 32; + WRITE_DATA_USER_WIDTH : integer := 32; + WRITE_RESP_USER_WIDTH : integer := 32; + READ_DATA_USER_WIDTH : integer := 32; + ADDR_WIDTH : integer := 64; + USE_S0_AWUSER : integer := 0; + USE_S0_ARUSER : integer := 0; + USE_S0_WUSER : integer := 0; + USE_S0_RUSER : integer := 0; + USE_S0_BUSER : integer := 0; + USE_M0_AWUSER : integer := 0; + USE_M0_ARUSER : integer := 0; + USE_M0_WUSER : integer := 0; + USE_M0_RUSER : integer := 0; + USE_M0_BUSER : integer := 0; + AXI_VERSION : string := "AXI4"; + ACE_LITE_SUPPORT : integer := 0; + SYNC_RESET : integer := 0; + BACKPRESSURE_DURING_RESET : integer := 0 + ); + port ( + aclk : in std_logic := 'X'; -- clk + aresetn : in std_logic := 'X'; -- reset_n + s0_awid : in std_logic_vector(7 downto 0) := (others => 'X'); -- awid + s0_awaddr : in std_logic_vector(63 downto 0) := (others => 'X'); -- awaddr + s0_awlen : in std_logic_vector(7 downto 0) := (others => 'X'); -- awlen + s0_awsize : in std_logic_vector(2 downto 0) := (others => 'X'); -- awsize + s0_awburst : in std_logic_vector(1 downto 0) := (others => 'X'); -- awburst + s0_awlock : in std_logic_vector(0 downto 0) := (others => 'X'); -- awlock + s0_awcache : in std_logic_vector(3 downto 0) := (others => 'X'); -- awcache + s0_awprot : in std_logic_vector(2 downto 0) := (others => 'X'); -- awprot + s0_awvalid : in std_logic := 'X'; -- awvalid + s0_awready : out std_logic; -- awready + s0_wdata : in std_logic_vector(63 downto 0) := (others => 'X'); -- wdata + s0_wstrb : in std_logic_vector(7 downto 0) := (others => 'X'); -- wstrb + s0_wlast : in std_logic := 'X'; -- wlast + s0_wvalid : in std_logic := 'X'; -- wvalid + s0_wready : out std_logic; -- wready + s0_bid : out std_logic_vector(7 downto 0); -- bid + s0_bresp : out std_logic_vector(1 downto 0); -- bresp + s0_bvalid : out std_logic; -- bvalid + s0_bready : in std_logic := 'X'; -- bready + s0_arid : in std_logic_vector(7 downto 0) := (others => 'X'); -- arid + s0_araddr : in std_logic_vector(63 downto 0) := (others => 'X'); -- araddr + s0_arlen : in std_logic_vector(7 downto 0) := (others => 'X'); -- arlen + s0_arsize : in std_logic_vector(2 downto 0) := (others => 'X'); -- arsize + s0_arburst : in std_logic_vector(1 downto 0) := (others => 'X'); -- arburst + s0_arlock : in std_logic_vector(0 downto 0) := (others => 'X'); -- arlock + s0_arcache : in std_logic_vector(3 downto 0) := (others => 'X'); -- arcache + s0_arprot : in std_logic_vector(2 downto 0) := (others => 'X'); -- arprot + s0_arvalid : in std_logic := 'X'; -- arvalid + s0_arready : out std_logic; -- arready + s0_rid : out std_logic_vector(7 downto 0); -- rid + s0_rdata : out std_logic_vector(63 downto 0); -- rdata + s0_rresp : out std_logic_vector(1 downto 0); -- rresp + s0_rlast : out std_logic; -- rlast + s0_rvalid : out std_logic; -- rvalid + s0_rready : in std_logic := 'X'; -- rready + m0_awid : out std_logic_vector(7 downto 0); -- awid + m0_awaddr : out std_logic_vector(63 downto 0); -- awaddr + m0_awlen : out std_logic_vector(7 downto 0); -- awlen + m0_awsize : out std_logic_vector(2 downto 0); -- awsize + m0_awburst : out std_logic_vector(1 downto 0); -- awburst + m0_awlock : out std_logic_vector(0 downto 0); -- awlock + m0_awcache : out std_logic_vector(3 downto 0); -- awcache + m0_awprot : out std_logic_vector(2 downto 0); -- awprot + m0_awvalid : out std_logic; -- awvalid + m0_awready : in std_logic := 'X'; -- awready + m0_wdata : out std_logic_vector(63 downto 0); -- wdata + m0_wstrb : out std_logic_vector(7 downto 0); -- wstrb + m0_wlast : out std_logic; -- wlast + m0_wvalid : out std_logic; -- wvalid + m0_wready : in std_logic := 'X'; -- wready + m0_bid : in std_logic_vector(7 downto 0) := (others => 'X'); -- bid + m0_bresp : in std_logic_vector(1 downto 0) := (others => 'X'); -- bresp + m0_bvalid : in std_logic := 'X'; -- bvalid + m0_bready : out std_logic; -- bready + m0_arid : out std_logic_vector(7 downto 0); -- arid + m0_araddr : out std_logic_vector(63 downto 0); -- araddr + m0_arlen : out std_logic_vector(7 downto 0); -- arlen + m0_arsize : out std_logic_vector(2 downto 0); -- arsize + m0_arburst : out std_logic_vector(1 downto 0); -- arburst + m0_arlock : out std_logic_vector(0 downto 0); -- arlock + m0_arcache : out std_logic_vector(3 downto 0); -- arcache + m0_arprot : out std_logic_vector(2 downto 0); -- arprot + m0_arvalid : out std_logic; -- arvalid + m0_arready : in std_logic := 'X'; -- arready + m0_rid : in std_logic_vector(7 downto 0) := (others => 'X'); -- rid + m0_rdata : in std_logic_vector(63 downto 0) := (others => 'X'); -- rdata + m0_rresp : in std_logic_vector(1 downto 0) := (others => 'X'); -- rresp + m0_rlast : in std_logic := 'X'; -- rlast + m0_rvalid : in std_logic := 'X'; -- rvalid + m0_rready : out std_logic -- rready + ); + end component cva6_intel_axi_bridge_0; + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.html b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.html new file mode 100644 index 0000000000..c6783b91b4 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.html @@ -0,0 +1,407 @@ + + + + + datasheet for cva6_intel_axi_bridge_0 + + + + + + + + +
cva6_intel_axi_bridge_0 +
+
+
+ + + + + +
2024.07.05.14:38:11Datasheet
+
+
Overview
+
+
+ + + + +
+
+
+
+
+
+
+
Memory Map
+ + + + + + + + + + + + + + + + +
+ axi_bridge_0 + +
 m0
  + axi_bridge_0 + +
s0 
+ +
+
+

axi_bridge_0

altera_axi_bridge v19.4.0 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
USE_M0_AWID1
USE_M0_AWREGION0
USE_M0_AWLEN1
USE_M0_AWSIZE1
USE_M0_AWBURST1
USE_M0_AWLOCK1
USE_M0_AWCACHE1
USE_M0_AWQOS0
USE_S0_AWREGION0
USE_S0_AWLOCK1
USE_S0_AWCACHE1
USE_S0_AWQOS0
USE_S0_AWPROT1
USE_M0_WSTRB1
USE_S0_WLAST1
USE_M0_BID1
USE_M0_BRESP1
USE_S0_BRESP1
USE_M0_ARID1
USE_M0_ARREGION0
USE_M0_ARLEN1
USE_M0_ARSIZE1
USE_M0_ARBURST1
USE_M0_ARLOCK1
USE_M0_ARCACHE1
USE_M0_ARQOS0
USE_S0_ARREGION0
USE_S0_ARLOCK1
USE_S0_ARCACHE1
USE_S0_ARQOS0
USE_S0_ARPROT1
USE_M0_RID1
USE_M0_RRESP1
USE_M0_RLAST1
USE_S0_RRESP1
M0_ID_WIDTH8
S0_ID_WIDTH8
DATA_WIDTH64
WRITE_ADDR_USER_WIDTH32
READ_ADDR_USER_WIDTH32
WRITE_DATA_USER_WIDTH32
WRITE_RESP_USER_WIDTH32
READ_DATA_USER_WIDTH32
ADDR_WIDTH64
USE_S0_AWUSER0
USE_S0_ARUSER0
USE_S0_WUSER0
USE_S0_RUSER0
USE_S0_BUSER0
USE_M0_AWUSER0
USE_M0_ARUSER0
USE_M0_WUSER0
USE_M0_RUSER0
USE_M0_BUSER0
AXI_VERSIONAXI4
WRITE_ISSUING_CAPABILITY16
READ_ISSUING_CAPABILITY16
COMBINED_ISSUING_CAPABILITY16
WRITE_ACCEPTANCE_CAPABILITY16
READ_ACCEPTANCE_CAPABILITY16
COMBINED_ACCEPTANCE_CAPABILITY16
ACE_LITE_SUPPORT0
SYNC_RESET0
BACKPRESSURE_DURING_RESET0
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ + + + + +
generation took 0.00 secondsrendering took 0.01 seconds
+ + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qgsynthc b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qgsynthc new file mode 100644 index 0000000000..0290562596 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qgsynthc @@ -0,0 +1,316 @@ + + + cva6_intel_axi_bridge_0 + + + + cva6_intel_axi_bridge_0 + 1.0 + cva6_intel_axi_bridge_0 + cva6_intel_axi_bridge_0 + 0 + + + + + axi_bridge_0 + + + + ACE_LITE_SUPPORT + 0 + + + ADDR_WIDTH + 64 + + + AXI_VERSION + AXI4 + + + BACKPRESSURE_DURING_RESET + 0 + + + BURST_LENGTH_WIDTH + 8 + + + COMBINED_ACCEPTANCE_CAPABILITY + 16 + + + COMBINED_ISSUING_CAPABILITY + 16 + + + DATA_WIDTH + 64 + + + ENABLE_CONCURRENT_SUBORDINATE_ACCESS + 0 + + + ENABLE_OOO + 0 + + + LOCK_WIDTH + 1 + + + M0_ID_WIDTH + 8 + + + NO_REPEATED_IDS_BETWEEN_SUBORDINATES + 0 + + + READ_ACCEPTANCE_CAPABILITY + 16 + + + READ_ADDR_USER_WIDTH + 32 + + + READ_DATA_REORDERING_DEPTH + 1 + + + READ_DATA_USER_WIDTH + 32 + + + READ_ISSUING_CAPABILITY + 16 + + + S0_ID_WIDTH + 8 + + + SYNC_RESET + 0 + + + USE_M0_ARBURST + 1 + + + USE_M0_ARCACHE + 1 + + + USE_M0_ARID + 1 + + + USE_M0_ARLEN + 1 + + + USE_M0_ARLOCK + 1 + + + USE_M0_ARQOS + 0 + + + USE_M0_ARREGION + 0 + + + USE_M0_ARSIZE + 1 + + + USE_M0_ARUSER + 0 + + + USE_M0_AWBURST + 1 + + + USE_M0_AWCACHE + 1 + + + USE_M0_AWID + 1 + + + USE_M0_AWLEN + 1 + + + USE_M0_AWLOCK + 1 + + + USE_M0_AWQOS + 0 + + + USE_M0_AWREGION + 0 + + + USE_M0_AWSIZE + 1 + + + USE_M0_AWUSER + 0 + + + USE_M0_BID + 1 + + + USE_M0_BRESP + 1 + + + USE_M0_BUSER + 0 + + + USE_M0_RID + 1 + + + USE_M0_RLAST + 1 + + + USE_M0_RRESP + 1 + + + USE_M0_RUSER + 0 + + + USE_M0_WSTRB + 1 + + + USE_M0_WUSER + 0 + + + USE_PIPELINE + 1 + + + USE_S0_ARCACHE + 1 + + + USE_S0_ARLOCK + 1 + + + USE_S0_ARPROT + 1 + + + USE_S0_ARQOS + 0 + + + USE_S0_ARREGION + 0 + + + USE_S0_ARUSER + 0 + + + USE_S0_AWCACHE + 1 + + + USE_S0_AWLOCK + 1 + + + USE_S0_AWPROT + 1 + + + USE_S0_AWQOS + 0 + + + USE_S0_AWREGION + 0 + + + USE_S0_AWUSER + 0 + + + USE_S0_BRESP + 1 + + + USE_S0_BUSER + 0 + + + USE_S0_RRESP + 1 + + + USE_S0_RUSER + 0 + + + USE_S0_WLAST + 1 + + + USE_S0_WUSER + 0 + + + WRITE_ACCEPTANCE_CAPABILITY + 16 + + + WRITE_ADDR_USER_WIDTH + 32 + + + WRITE_DATA_USER_WIDTH + 32 + + + WRITE_ISSUING_CAPABILITY + 16 + + + WRITE_RESP_USER_WIDTH + 32 + + + + altera_axi_bridge + 19.4.0 + axi_bridge_0 + cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq + 0 + + cva6_intel_axi_bridge_0.axi_bridge_0 + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qip b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qip new file mode 100644 index 0000000000..7077674ed2 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.qip @@ -0,0 +1,41 @@ +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_axi_bridge" +set_global_assignment -library "cva6_intel_axi_bridge_0" -name SOPCINFO_FILE [file join $::quartus(qip_path) "cva6_intel_axi_bridge_0.sopcinfo"] +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name SLD_INFO "QSYS_NAME cva6_intel_axi_bridge_0 HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "cva6_intel_axi_bridge_0" -name MISC_FILE [file join $::quartus(qip_path) "cva6_intel_axi_bridge_0.cmp"] +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "cva6_intel_axi_bridge_0" -name MISC_FILE [file join $::quartus(qip_path) "../cva6_intel_axi_bridge_0.ip"] + +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_NAME "Y3ZhNl9pbnRlbF9heGlfYnJpZGdlXzBfYWx0ZXJhX2F4aV9icmlkZ2VfMTk0MF83MnN0Znlx" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_DISPLAY_NAME "QVhJIEJyaWRnZSBJbnRlbCBGUEdBIElQ" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_VERSION "MTkuNC4w" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_DESCRIPTION "QVhJL0FIQiBicmlkZ2UgZm9yIG5ldHdvcmsgdG9wb2xvZ3kgZGV0ZXJtaW5hdGlvbg==" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_GROUP "QmFzaWMgRnVuY3Rpb25zL0JyaWRnZXMgYW5kIEFkYXB0b3JzL01lbW9yeSBNYXBwZWQ=" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvZGFtL3d3dy9wcm9ncmFtbWFibGUvdXMvZW4vcGRmcy9saXRlcmF0dXJlL3VnL3VnLXFwcC1wbGF0Zm9ybS1kZXNpZ25lci5wZGY=" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL2hjbzE0MTY4MzYxNDU1NTUuaHRtbCNoY28xNDE2ODM2NjUzMjIx" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_NAME "Y3ZhNl9pbnRlbF9heGlfYnJpZGdlXzA=" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "cva6_intel_axi_bridge_0" -library "cva6_intel_axi_bridge_0" -name IP_COMPONENT_VERSION "MS4w" + + +set_global_assignment -library "altera_axi_bridge_1940" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_axi_bridge_1940/synth/cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq.sv"] +set_global_assignment -library "altera_axi_bridge_1940" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_axi_bridge_1940/synth/altera_avalon_st_pipeline_base.v"] +set_global_assignment -library "cva6_intel_axi_bridge_0" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/cva6_intel_axi_bridge_0.v"] + + +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_TOOL_NAME "altera_axi_bridge" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_TOOL_VERSION "19.4.0" +set_global_assignment -entity "cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" -library "altera_axi_bridge_1940" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.sopcinfo b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.sopcinfo new file mode 100644 index 0000000000..77516c18bd --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.sopcinfo @@ -0,0 +1,1689 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + default + false + true + false + true + BOARD + + + java.lang.Long + -1 + false + true + false + true + CLOCK_RATE + clk + + + java.lang.Integer + -1 + false + true + false + true + CLOCK_DOMAIN + clk + + + java.lang.Integer + -1 + false + true + false + true + RESET_DOMAIN + clk + + + com.altera.entityinterfaces.moduleext.AddressMap + + false + true + false + true + ADDRESS_MAP + m0 + + + com.altera.entityinterfaces.moduleext.AddressWidthType + -1 + false + true + false + true + ADDRESS_WIDTH + m0 + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + embeddedsw.dts.compatible + simple-bus + + + embeddedsw.dts.group + bridge + + + embeddedsw.dts.name + bridge + + + embeddedsw.dts.vendor + altr + + + int + 1 + false + true + false + true + + + int + 1 + false + false + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + false + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + false + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + false + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + false + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 8 + false + true + true + true + + + int + 8 + false + true + true + true + + + int + 64 + false + true + true + true + + + int + 32 + false + true + true + true + + + int + 32 + false + true + true + true + + + int + 32 + false + true + true + true + + + int + 32 + false + true + true + true + + + int + 32 + false + true + true + true + + + int + 64 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + java.lang.String + AXI4 + false + true + true + true + + + int + 8 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 16 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + aclk + Input + 1 + clk + + + + + + java.lang.String + clk + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + DEASSERT + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + false + + aresetn + Input + 1 + reset_n + + + + + + java.lang.String + clk + false + true + true + true + + + java.lang.String + clk_reset + false + true + true + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 16 + false + true + true + true + + + java.lang.Integer + 16 + false + true + true + true + + + java.lang.Integer + 16 + false + true + true + true + + + java.lang.Integer + 1 + false + true + true + true + + + com.altera.entityinterfaces.IConnectionPoint + axi_bridge_0.m0 + false + true + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 35 + false + true + true + true + + + java.lang.Integer + 3 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + java.math.BigInteger + 18446744073709551616 + true + true + false + true + + axi4 + 18446744073709551616 + false + + s0_awid + Input + 8 + awid + + + s0_awaddr + Input + 64 + awaddr + + + s0_awlen + Input + 8 + awlen + + + s0_awsize + Input + 3 + awsize + + + s0_awburst + Input + 2 + awburst + + + s0_awlock + Input + 1 + awlock + + + s0_awcache + Input + 4 + awcache + + + s0_awprot + Input + 3 + awprot + + + s0_awvalid + Input + 1 + awvalid + + + s0_awready + Output + 1 + awready + + + s0_wdata + Input + 64 + wdata + + + s0_wstrb + Input + 8 + wstrb + + + s0_wlast + Input + 1 + wlast + + + s0_wvalid + Input + 1 + wvalid + + + s0_wready + Output + 1 + wready + + + s0_bid + Output + 8 + bid + + + s0_bresp + Output + 2 + bresp + + + s0_bvalid + Output + 1 + bvalid + + + s0_bready + Input + 1 + bready + + + s0_arid + Input + 8 + arid + + + s0_araddr + Input + 64 + araddr + + + s0_arlen + Input + 8 + arlen + + + s0_arsize + Input + 3 + arsize + + + s0_arburst + Input + 2 + arburst + + + s0_arlock + Input + 1 + arlock + + + s0_arcache + Input + 4 + arcache + + + s0_arprot + Input + 3 + arprot + + + s0_arvalid + Input + 1 + arvalid + + + s0_arready + Output + 1 + arready + + + s0_rid + Output + 8 + rid + + + s0_rdata + Output + 64 + rdata + + + s0_rresp + Output + 2 + rresp + + + s0_rlast + Output + 1 + rlast + + + s0_rvalid + Output + 1 + rvalid + + + s0_rready + Input + 1 + rready + + + + + + java.lang.String + clk + false + true + true + true + + + java.lang.String + clk_reset + false + true + true + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 1 + false + true + false + true + + + java.lang.Integer + 16 + false + true + true + true + + + java.lang.Integer + 16 + false + true + true + true + + + java.lang.Integer + 16 + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + true + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + axi4 + 18446744073709551616 + true + + m0_awid + Output + 8 + awid + + + m0_awaddr + Output + 64 + awaddr + + + m0_awlen + Output + 8 + awlen + + + m0_awsize + Output + 3 + awsize + + + m0_awburst + Output + 2 + awburst + + + m0_awlock + Output + 1 + awlock + + + m0_awcache + Output + 4 + awcache + + + m0_awprot + Output + 3 + awprot + + + m0_awvalid + Output + 1 + awvalid + + + m0_awready + Input + 1 + awready + + + m0_wdata + Output + 64 + wdata + + + m0_wstrb + Output + 8 + wstrb + + + m0_wlast + Output + 1 + wlast + + + m0_wvalid + Output + 1 + wvalid + + + m0_wready + Input + 1 + wready + + + m0_bid + Input + 8 + bid + + + m0_bresp + Input + 2 + bresp + + + m0_bvalid + Input + 1 + bvalid + + + m0_bready + Output + 1 + bready + + + m0_arid + Output + 8 + arid + + + m0_araddr + Output + 64 + araddr + + + m0_arlen + Output + 8 + arlen + + + m0_arsize + Output + 3 + arsize + + + m0_arburst + Output + 2 + arburst + + + m0_arlock + Output + 1 + arlock + + + m0_arcache + Output + 4 + arcache + + + m0_arprot + Output + 3 + arprot + + + m0_arvalid + Output + 1 + arvalid + + + m0_arready + Input + 1 + arready + + + m0_rid + Input + 8 + rid + + + m0_rdata + Input + 64 + rdata + + + m0_rresp + Input + 2 + rresp + + + m0_rlast + Input + 1 + rlast + + + m0_rvalid + Input + 1 + rvalid + + + m0_rready + Output + 1 + rready + + + + + 1 + altera_axi_bridge + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + AXI Bridge Intel FPGA IP + 19.4.0 + + + 1 + clock_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Input + 24.1 + + + 1 + reset_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Reset Input + 24.1 + + + 1 + altera_axi4_slave + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + AXI4 Subordinate + 24.1 + + + 1 + altera_axi4_master + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + AXI4 Manager + 24.1 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.xml b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.xml new file mode 100644 index 0000000000..5299e732a8 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0.xml @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: cva6_intel_axi_bridge_0" + "Generating: cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" + + + + + + + + + + + + + + + + + + + + "Generating: cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" + + + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_bb.v b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_bb.v new file mode 100644 index 0000000000..5199082fab --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_bb.v @@ -0,0 +1,136 @@ +module cva6_intel_axi_bridge_0 #( + parameter USE_PIPELINE = 1, + parameter USE_M0_AWID = 1, + parameter USE_M0_AWREGION = 0, + parameter USE_M0_AWLEN = 1, + parameter USE_M0_AWSIZE = 1, + parameter USE_M0_AWBURST = 1, + parameter USE_M0_AWLOCK = 1, + parameter USE_M0_AWCACHE = 1, + parameter USE_M0_AWQOS = 0, + parameter USE_S0_AWREGION = 0, + parameter USE_S0_AWLOCK = 1, + parameter USE_S0_AWCACHE = 1, + parameter USE_S0_AWQOS = 0, + parameter USE_S0_AWPROT = 1, + parameter USE_M0_WSTRB = 1, + parameter USE_S0_WLAST = 1, + parameter USE_M0_BID = 1, + parameter USE_M0_BRESP = 1, + parameter USE_S0_BRESP = 1, + parameter USE_M0_ARID = 1, + parameter USE_M0_ARREGION = 0, + parameter USE_M0_ARLEN = 1, + parameter USE_M0_ARSIZE = 1, + parameter USE_M0_ARBURST = 1, + parameter USE_M0_ARLOCK = 1, + parameter USE_M0_ARCACHE = 1, + parameter USE_M0_ARQOS = 0, + parameter USE_S0_ARREGION = 0, + parameter USE_S0_ARLOCK = 1, + parameter USE_S0_ARCACHE = 1, + parameter USE_S0_ARQOS = 0, + parameter USE_S0_ARPROT = 1, + parameter USE_M0_RID = 1, + parameter USE_M0_RRESP = 1, + parameter USE_M0_RLAST = 1, + parameter USE_S0_RRESP = 1, + parameter M0_ID_WIDTH = 8, + parameter S0_ID_WIDTH = 8, + parameter DATA_WIDTH = 64, + parameter WRITE_ADDR_USER_WIDTH = 32, + parameter READ_ADDR_USER_WIDTH = 32, + parameter WRITE_DATA_USER_WIDTH = 32, + parameter WRITE_RESP_USER_WIDTH = 32, + parameter READ_DATA_USER_WIDTH = 32, + parameter ADDR_WIDTH = 64, + parameter USE_S0_AWUSER = 0, + parameter USE_S0_ARUSER = 0, + parameter USE_S0_WUSER = 0, + parameter USE_S0_RUSER = 0, + parameter USE_S0_BUSER = 0, + parameter USE_M0_AWUSER = 0, + parameter USE_M0_ARUSER = 0, + parameter USE_M0_WUSER = 0, + parameter USE_M0_RUSER = 0, + parameter USE_M0_BUSER = 0, + parameter AXI_VERSION = "AXI4", + parameter ACE_LITE_SUPPORT = 0, + parameter SYNC_RESET = 0, + parameter BACKPRESSURE_DURING_RESET = 0 + ) ( + input wire aclk, // clk.clk + input wire aresetn, // clk_reset.reset_n + input wire [7:0] s0_awid, // s0.awid + input wire [63:0] s0_awaddr, // .awaddr + input wire [7:0] s0_awlen, // .awlen + input wire [2:0] s0_awsize, // .awsize + input wire [1:0] s0_awburst, // .awburst + input wire [0:0] s0_awlock, // .awlock + input wire [3:0] s0_awcache, // .awcache + input wire [2:0] s0_awprot, // .awprot + input wire s0_awvalid, // .awvalid + output wire s0_awready, // .awready + input wire [63:0] s0_wdata, // .wdata + input wire [7:0] s0_wstrb, // .wstrb + input wire s0_wlast, // .wlast + input wire s0_wvalid, // .wvalid + output wire s0_wready, // .wready + output wire [7:0] s0_bid, // .bid + output wire [1:0] s0_bresp, // .bresp + output wire s0_bvalid, // .bvalid + input wire s0_bready, // .bready + input wire [7:0] s0_arid, // .arid + input wire [63:0] s0_araddr, // .araddr + input wire [7:0] s0_arlen, // .arlen + input wire [2:0] s0_arsize, // .arsize + input wire [1:0] s0_arburst, // .arburst + input wire [0:0] s0_arlock, // .arlock + input wire [3:0] s0_arcache, // .arcache + input wire [2:0] s0_arprot, // .arprot + input wire s0_arvalid, // .arvalid + output wire s0_arready, // .arready + output wire [7:0] s0_rid, // .rid + output wire [63:0] s0_rdata, // .rdata + output wire [1:0] s0_rresp, // .rresp + output wire s0_rlast, // .rlast + output wire s0_rvalid, // .rvalid + input wire s0_rready, // .rready + output wire [7:0] m0_awid, // m0.awid + output wire [63:0] m0_awaddr, // .awaddr + output wire [7:0] m0_awlen, // .awlen + output wire [2:0] m0_awsize, // .awsize + output wire [1:0] m0_awburst, // .awburst + output wire [0:0] m0_awlock, // .awlock + output wire [3:0] m0_awcache, // .awcache + output wire [2:0] m0_awprot, // .awprot + output wire m0_awvalid, // .awvalid + input wire m0_awready, // .awready + output wire [63:0] m0_wdata, // .wdata + output wire [7:0] m0_wstrb, // .wstrb + output wire m0_wlast, // .wlast + output wire m0_wvalid, // .wvalid + input wire m0_wready, // .wready + input wire [7:0] m0_bid, // .bid + input wire [1:0] m0_bresp, // .bresp + input wire m0_bvalid, // .bvalid + output wire m0_bready, // .bready + output wire [7:0] m0_arid, // .arid + output wire [63:0] m0_araddr, // .araddr + output wire [7:0] m0_arlen, // .arlen + output wire [2:0] m0_arsize, // .arsize + output wire [1:0] m0_arburst, // .arburst + output wire [0:0] m0_arlock, // .arlock + output wire [3:0] m0_arcache, // .arcache + output wire [2:0] m0_arprot, // .arprot + output wire m0_arvalid, // .arvalid + input wire m0_arready, // .arready + input wire [7:0] m0_rid, // .rid + input wire [63:0] m0_rdata, // .rdata + input wire [1:0] m0_rresp, // .rresp + input wire m0_rlast, // .rlast + input wire m0_rvalid, // .rvalid + output wire m0_rready // .rready + ); +endmodule + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_generation.rpt b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_generation.rpt new file mode 100644 index 0000000000..0c5a478182 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_generation.rpt @@ -0,0 +1,14 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_axi_bridge_0.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_axi_bridge_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_axi_bridge_0.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_axi_bridge_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: cva6_intel_axi_bridge_0: "Transforming system: cva6_intel_axi_bridge_0" +Info: cva6_intel_axi_bridge_0: "Naming system components in system: cva6_intel_axi_bridge_0" +Info: cva6_intel_axi_bridge_0: "Processing generation queue" +Info: cva6_intel_axi_bridge_0: "Generating: cva6_intel_axi_bridge_0" +Info: cva6_intel_axi_bridge_0: "Generating: cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq" +Info: cva6_intel_axi_bridge_0: Done "cva6_intel_axi_bridge_0" with 2 modules, 3 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.v b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.v new file mode 100644 index 0000000000..28ec9701f0 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.v @@ -0,0 +1,135 @@ + cva6_intel_axi_bridge_0 #( + .USE_PIPELINE (INTEGER_VALUE_FOR_USE_PIPELINE), + .USE_M0_AWID (INTEGER_VALUE_FOR_USE_M0_AWID), + .USE_M0_AWREGION (INTEGER_VALUE_FOR_USE_M0_AWREGION), + .USE_M0_AWLEN (INTEGER_VALUE_FOR_USE_M0_AWLEN), + .USE_M0_AWSIZE (INTEGER_VALUE_FOR_USE_M0_AWSIZE), + .USE_M0_AWBURST (INTEGER_VALUE_FOR_USE_M0_AWBURST), + .USE_M0_AWLOCK (INTEGER_VALUE_FOR_USE_M0_AWLOCK), + .USE_M0_AWCACHE (INTEGER_VALUE_FOR_USE_M0_AWCACHE), + .USE_M0_AWQOS (INTEGER_VALUE_FOR_USE_M0_AWQOS), + .USE_S0_AWREGION (INTEGER_VALUE_FOR_USE_S0_AWREGION), + .USE_S0_AWLOCK (INTEGER_VALUE_FOR_USE_S0_AWLOCK), + .USE_S0_AWCACHE (INTEGER_VALUE_FOR_USE_S0_AWCACHE), + .USE_S0_AWQOS (INTEGER_VALUE_FOR_USE_S0_AWQOS), + .USE_S0_AWPROT (INTEGER_VALUE_FOR_USE_S0_AWPROT), + .USE_M0_WSTRB (INTEGER_VALUE_FOR_USE_M0_WSTRB), + .USE_S0_WLAST (INTEGER_VALUE_FOR_USE_S0_WLAST), + .USE_M0_BID (INTEGER_VALUE_FOR_USE_M0_BID), + .USE_M0_BRESP (INTEGER_VALUE_FOR_USE_M0_BRESP), + .USE_S0_BRESP (INTEGER_VALUE_FOR_USE_S0_BRESP), + .USE_M0_ARID (INTEGER_VALUE_FOR_USE_M0_ARID), + .USE_M0_ARREGION (INTEGER_VALUE_FOR_USE_M0_ARREGION), + .USE_M0_ARLEN (INTEGER_VALUE_FOR_USE_M0_ARLEN), + .USE_M0_ARSIZE (INTEGER_VALUE_FOR_USE_M0_ARSIZE), + .USE_M0_ARBURST (INTEGER_VALUE_FOR_USE_M0_ARBURST), + .USE_M0_ARLOCK (INTEGER_VALUE_FOR_USE_M0_ARLOCK), + .USE_M0_ARCACHE (INTEGER_VALUE_FOR_USE_M0_ARCACHE), + .USE_M0_ARQOS (INTEGER_VALUE_FOR_USE_M0_ARQOS), + .USE_S0_ARREGION (INTEGER_VALUE_FOR_USE_S0_ARREGION), + .USE_S0_ARLOCK (INTEGER_VALUE_FOR_USE_S0_ARLOCK), + .USE_S0_ARCACHE (INTEGER_VALUE_FOR_USE_S0_ARCACHE), + .USE_S0_ARQOS (INTEGER_VALUE_FOR_USE_S0_ARQOS), + .USE_S0_ARPROT (INTEGER_VALUE_FOR_USE_S0_ARPROT), + .USE_M0_RID (INTEGER_VALUE_FOR_USE_M0_RID), + .USE_M0_RRESP (INTEGER_VALUE_FOR_USE_M0_RRESP), + .USE_M0_RLAST (INTEGER_VALUE_FOR_USE_M0_RLAST), + .USE_S0_RRESP (INTEGER_VALUE_FOR_USE_S0_RRESP), + .M0_ID_WIDTH (INTEGER_VALUE_FOR_M0_ID_WIDTH), + .S0_ID_WIDTH (INTEGER_VALUE_FOR_S0_ID_WIDTH), + .DATA_WIDTH (INTEGER_VALUE_FOR_DATA_WIDTH), + .WRITE_ADDR_USER_WIDTH (INTEGER_VALUE_FOR_WRITE_ADDR_USER_WIDTH), + .READ_ADDR_USER_WIDTH (INTEGER_VALUE_FOR_READ_ADDR_USER_WIDTH), + .WRITE_DATA_USER_WIDTH (INTEGER_VALUE_FOR_WRITE_DATA_USER_WIDTH), + .WRITE_RESP_USER_WIDTH (INTEGER_VALUE_FOR_WRITE_RESP_USER_WIDTH), + .READ_DATA_USER_WIDTH (INTEGER_VALUE_FOR_READ_DATA_USER_WIDTH), + .ADDR_WIDTH (INTEGER_VALUE_FOR_ADDR_WIDTH), + .USE_S0_AWUSER (INTEGER_VALUE_FOR_USE_S0_AWUSER), + .USE_S0_ARUSER (INTEGER_VALUE_FOR_USE_S0_ARUSER), + .USE_S0_WUSER (INTEGER_VALUE_FOR_USE_S0_WUSER), + .USE_S0_RUSER (INTEGER_VALUE_FOR_USE_S0_RUSER), + .USE_S0_BUSER (INTEGER_VALUE_FOR_USE_S0_BUSER), + .USE_M0_AWUSER (INTEGER_VALUE_FOR_USE_M0_AWUSER), + .USE_M0_ARUSER (INTEGER_VALUE_FOR_USE_M0_ARUSER), + .USE_M0_WUSER (INTEGER_VALUE_FOR_USE_M0_WUSER), + .USE_M0_RUSER (INTEGER_VALUE_FOR_USE_M0_RUSER), + .USE_M0_BUSER (INTEGER_VALUE_FOR_USE_M0_BUSER), + .AXI_VERSION (STRING_VALUE_FOR_AXI_VERSION), + .ACE_LITE_SUPPORT (INTEGER_VALUE_FOR_ACE_LITE_SUPPORT), + .SYNC_RESET (INTEGER_VALUE_FOR_SYNC_RESET), + .BACKPRESSURE_DURING_RESET (INTEGER_VALUE_FOR_BACKPRESSURE_DURING_RESET) + ) u0 ( + .aclk (_connected_to_aclk_), // input, width = 1, clk.clk + .aresetn (_connected_to_aresetn_), // input, width = 1, clk_reset.reset_n + .s0_awid (_connected_to_s0_awid_), // input, width = 8, s0.awid + .s0_awaddr (_connected_to_s0_awaddr_), // input, width = 64, .awaddr + .s0_awlen (_connected_to_s0_awlen_), // input, width = 8, .awlen + .s0_awsize (_connected_to_s0_awsize_), // input, width = 3, .awsize + .s0_awburst (_connected_to_s0_awburst_), // input, width = 2, .awburst + .s0_awlock (_connected_to_s0_awlock_), // input, width = 1, .awlock + .s0_awcache (_connected_to_s0_awcache_), // input, width = 4, .awcache + .s0_awprot (_connected_to_s0_awprot_), // input, width = 3, .awprot + .s0_awvalid (_connected_to_s0_awvalid_), // input, width = 1, .awvalid + .s0_awready (_connected_to_s0_awready_), // output, width = 1, .awready + .s0_wdata (_connected_to_s0_wdata_), // input, width = 64, .wdata + .s0_wstrb (_connected_to_s0_wstrb_), // input, width = 8, .wstrb + .s0_wlast (_connected_to_s0_wlast_), // input, width = 1, .wlast + .s0_wvalid (_connected_to_s0_wvalid_), // input, width = 1, .wvalid + .s0_wready (_connected_to_s0_wready_), // output, width = 1, .wready + .s0_bid (_connected_to_s0_bid_), // output, width = 8, .bid + .s0_bresp (_connected_to_s0_bresp_), // output, width = 2, .bresp + .s0_bvalid (_connected_to_s0_bvalid_), // output, width = 1, .bvalid + .s0_bready (_connected_to_s0_bready_), // input, width = 1, .bready + .s0_arid (_connected_to_s0_arid_), // input, width = 8, .arid + .s0_araddr (_connected_to_s0_araddr_), // input, width = 64, .araddr + .s0_arlen (_connected_to_s0_arlen_), // input, width = 8, .arlen + .s0_arsize (_connected_to_s0_arsize_), // input, width = 3, .arsize + .s0_arburst (_connected_to_s0_arburst_), // input, width = 2, .arburst + .s0_arlock (_connected_to_s0_arlock_), // input, width = 1, .arlock + .s0_arcache (_connected_to_s0_arcache_), // input, width = 4, .arcache + .s0_arprot (_connected_to_s0_arprot_), // input, width = 3, .arprot + .s0_arvalid (_connected_to_s0_arvalid_), // input, width = 1, .arvalid + .s0_arready (_connected_to_s0_arready_), // output, width = 1, .arready + .s0_rid (_connected_to_s0_rid_), // output, width = 8, .rid + .s0_rdata (_connected_to_s0_rdata_), // output, width = 64, .rdata + .s0_rresp (_connected_to_s0_rresp_), // output, width = 2, .rresp + .s0_rlast (_connected_to_s0_rlast_), // output, width = 1, .rlast + .s0_rvalid (_connected_to_s0_rvalid_), // output, width = 1, .rvalid + .s0_rready (_connected_to_s0_rready_), // input, width = 1, .rready + .m0_awid (_connected_to_m0_awid_), // output, width = 8, m0.awid + .m0_awaddr (_connected_to_m0_awaddr_), // output, width = 64, .awaddr + .m0_awlen (_connected_to_m0_awlen_), // output, width = 8, .awlen + .m0_awsize (_connected_to_m0_awsize_), // output, width = 3, .awsize + .m0_awburst (_connected_to_m0_awburst_), // output, width = 2, .awburst + .m0_awlock (_connected_to_m0_awlock_), // output, width = 1, .awlock + .m0_awcache (_connected_to_m0_awcache_), // output, width = 4, .awcache + .m0_awprot (_connected_to_m0_awprot_), // output, width = 3, .awprot + .m0_awvalid (_connected_to_m0_awvalid_), // output, width = 1, .awvalid + .m0_awready (_connected_to_m0_awready_), // input, width = 1, .awready + .m0_wdata (_connected_to_m0_wdata_), // output, width = 64, .wdata + .m0_wstrb (_connected_to_m0_wstrb_), // output, width = 8, .wstrb + .m0_wlast (_connected_to_m0_wlast_), // output, width = 1, .wlast + .m0_wvalid (_connected_to_m0_wvalid_), // output, width = 1, .wvalid + .m0_wready (_connected_to_m0_wready_), // input, width = 1, .wready + .m0_bid (_connected_to_m0_bid_), // input, width = 8, .bid + .m0_bresp (_connected_to_m0_bresp_), // input, width = 2, .bresp + .m0_bvalid (_connected_to_m0_bvalid_), // input, width = 1, .bvalid + .m0_bready (_connected_to_m0_bready_), // output, width = 1, .bready + .m0_arid (_connected_to_m0_arid_), // output, width = 8, .arid + .m0_araddr (_connected_to_m0_araddr_), // output, width = 64, .araddr + .m0_arlen (_connected_to_m0_arlen_), // output, width = 8, .arlen + .m0_arsize (_connected_to_m0_arsize_), // output, width = 3, .arsize + .m0_arburst (_connected_to_m0_arburst_), // output, width = 2, .arburst + .m0_arlock (_connected_to_m0_arlock_), // output, width = 1, .arlock + .m0_arcache (_connected_to_m0_arcache_), // output, width = 4, .arcache + .m0_arprot (_connected_to_m0_arprot_), // output, width = 3, .arprot + .m0_arvalid (_connected_to_m0_arvalid_), // output, width = 1, .arvalid + .m0_arready (_connected_to_m0_arready_), // input, width = 1, .arready + .m0_rid (_connected_to_m0_rid_), // input, width = 8, .rid + .m0_rdata (_connected_to_m0_rdata_), // input, width = 64, .rdata + .m0_rresp (_connected_to_m0_rresp_), // input, width = 2, .rresp + .m0_rlast (_connected_to_m0_rlast_), // input, width = 1, .rlast + .m0_rvalid (_connected_to_m0_rvalid_), // input, width = 1, .rvalid + .m0_rready (_connected_to_m0_rready_) // output, width = 1, .rready + ); + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.vhd b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.vhd new file mode 100644 index 0000000000..559def949b --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/cva6_intel_axi_bridge_0_inst.vhd @@ -0,0 +1,275 @@ + component cva6_intel_axi_bridge_0 is + generic ( + USE_PIPELINE : integer := 1; + USE_M0_AWID : integer := 1; + USE_M0_AWREGION : integer := 0; + USE_M0_AWLEN : integer := 1; + USE_M0_AWSIZE : integer := 1; + USE_M0_AWBURST : integer := 1; + USE_M0_AWLOCK : integer := 1; + USE_M0_AWCACHE : integer := 1; + USE_M0_AWQOS : integer := 0; + USE_S0_AWREGION : integer := 0; + USE_S0_AWLOCK : integer := 1; + USE_S0_AWCACHE : integer := 1; + USE_S0_AWQOS : integer := 0; + USE_S0_AWPROT : integer := 1; + USE_M0_WSTRB : integer := 1; + USE_S0_WLAST : integer := 1; + USE_M0_BID : integer := 1; + USE_M0_BRESP : integer := 1; + USE_S0_BRESP : integer := 1; + USE_M0_ARID : integer := 1; + USE_M0_ARREGION : integer := 0; + USE_M0_ARLEN : integer := 1; + USE_M0_ARSIZE : integer := 1; + USE_M0_ARBURST : integer := 1; + USE_M0_ARLOCK : integer := 1; + USE_M0_ARCACHE : integer := 1; + USE_M0_ARQOS : integer := 0; + USE_S0_ARREGION : integer := 0; + USE_S0_ARLOCK : integer := 1; + USE_S0_ARCACHE : integer := 1; + USE_S0_ARQOS : integer := 0; + USE_S0_ARPROT : integer := 1; + USE_M0_RID : integer := 1; + USE_M0_RRESP : integer := 1; + USE_M0_RLAST : integer := 1; + USE_S0_RRESP : integer := 1; + M0_ID_WIDTH : integer := 8; + S0_ID_WIDTH : integer := 8; + DATA_WIDTH : integer := 64; + WRITE_ADDR_USER_WIDTH : integer := 32; + READ_ADDR_USER_WIDTH : integer := 32; + WRITE_DATA_USER_WIDTH : integer := 32; + WRITE_RESP_USER_WIDTH : integer := 32; + READ_DATA_USER_WIDTH : integer := 32; + ADDR_WIDTH : integer := 64; + USE_S0_AWUSER : integer := 0; + USE_S0_ARUSER : integer := 0; + USE_S0_WUSER : integer := 0; + USE_S0_RUSER : integer := 0; + USE_S0_BUSER : integer := 0; + USE_M0_AWUSER : integer := 0; + USE_M0_ARUSER : integer := 0; + USE_M0_WUSER : integer := 0; + USE_M0_RUSER : integer := 0; + USE_M0_BUSER : integer := 0; + AXI_VERSION : string := "AXI4"; + ACE_LITE_SUPPORT : integer := 0; + SYNC_RESET : integer := 0; + BACKPRESSURE_DURING_RESET : integer := 0 + ); + port ( + aclk : in std_logic := 'X'; -- clk + aresetn : in std_logic := 'X'; -- reset_n + s0_awid : in std_logic_vector(7 downto 0) := (others => 'X'); -- awid + s0_awaddr : in std_logic_vector(63 downto 0) := (others => 'X'); -- awaddr + s0_awlen : in std_logic_vector(7 downto 0) := (others => 'X'); -- awlen + s0_awsize : in std_logic_vector(2 downto 0) := (others => 'X'); -- awsize + s0_awburst : in std_logic_vector(1 downto 0) := (others => 'X'); -- awburst + s0_awlock : in std_logic_vector(0 downto 0) := (others => 'X'); -- awlock + s0_awcache : in std_logic_vector(3 downto 0) := (others => 'X'); -- awcache + s0_awprot : in std_logic_vector(2 downto 0) := (others => 'X'); -- awprot + s0_awvalid : in std_logic := 'X'; -- awvalid + s0_awready : out std_logic; -- awready + s0_wdata : in std_logic_vector(63 downto 0) := (others => 'X'); -- wdata + s0_wstrb : in std_logic_vector(7 downto 0) := (others => 'X'); -- wstrb + s0_wlast : in std_logic := 'X'; -- wlast + s0_wvalid : in std_logic := 'X'; -- wvalid + s0_wready : out std_logic; -- wready + s0_bid : out std_logic_vector(7 downto 0); -- bid + s0_bresp : out std_logic_vector(1 downto 0); -- bresp + s0_bvalid : out std_logic; -- bvalid + s0_bready : in std_logic := 'X'; -- bready + s0_arid : in std_logic_vector(7 downto 0) := (others => 'X'); -- arid + s0_araddr : in std_logic_vector(63 downto 0) := (others => 'X'); -- araddr + s0_arlen : in std_logic_vector(7 downto 0) := (others => 'X'); -- arlen + s0_arsize : in std_logic_vector(2 downto 0) := (others => 'X'); -- arsize + s0_arburst : in std_logic_vector(1 downto 0) := (others => 'X'); -- arburst + s0_arlock : in std_logic_vector(0 downto 0) := (others => 'X'); -- arlock + s0_arcache : in std_logic_vector(3 downto 0) := (others => 'X'); -- arcache + s0_arprot : in std_logic_vector(2 downto 0) := (others => 'X'); -- arprot + s0_arvalid : in std_logic := 'X'; -- arvalid + s0_arready : out std_logic; -- arready + s0_rid : out std_logic_vector(7 downto 0); -- rid + s0_rdata : out std_logic_vector(63 downto 0); -- rdata + s0_rresp : out std_logic_vector(1 downto 0); -- rresp + s0_rlast : out std_logic; -- rlast + s0_rvalid : out std_logic; -- rvalid + s0_rready : in std_logic := 'X'; -- rready + m0_awid : out std_logic_vector(7 downto 0); -- awid + m0_awaddr : out std_logic_vector(63 downto 0); -- awaddr + m0_awlen : out std_logic_vector(7 downto 0); -- awlen + m0_awsize : out std_logic_vector(2 downto 0); -- awsize + m0_awburst : out std_logic_vector(1 downto 0); -- awburst + m0_awlock : out std_logic_vector(0 downto 0); -- awlock + m0_awcache : out std_logic_vector(3 downto 0); -- awcache + m0_awprot : out std_logic_vector(2 downto 0); -- awprot + m0_awvalid : out std_logic; -- awvalid + m0_awready : in std_logic := 'X'; -- awready + m0_wdata : out std_logic_vector(63 downto 0); -- wdata + m0_wstrb : out std_logic_vector(7 downto 0); -- wstrb + m0_wlast : out std_logic; -- wlast + m0_wvalid : out std_logic; -- wvalid + m0_wready : in std_logic := 'X'; -- wready + m0_bid : in std_logic_vector(7 downto 0) := (others => 'X'); -- bid + m0_bresp : in std_logic_vector(1 downto 0) := (others => 'X'); -- bresp + m0_bvalid : in std_logic := 'X'; -- bvalid + m0_bready : out std_logic; -- bready + m0_arid : out std_logic_vector(7 downto 0); -- arid + m0_araddr : out std_logic_vector(63 downto 0); -- araddr + m0_arlen : out std_logic_vector(7 downto 0); -- arlen + m0_arsize : out std_logic_vector(2 downto 0); -- arsize + m0_arburst : out std_logic_vector(1 downto 0); -- arburst + m0_arlock : out std_logic_vector(0 downto 0); -- arlock + m0_arcache : out std_logic_vector(3 downto 0); -- arcache + m0_arprot : out std_logic_vector(2 downto 0); -- arprot + m0_arvalid : out std_logic; -- arvalid + m0_arready : in std_logic := 'X'; -- arready + m0_rid : in std_logic_vector(7 downto 0) := (others => 'X'); -- rid + m0_rdata : in std_logic_vector(63 downto 0) := (others => 'X'); -- rdata + m0_rresp : in std_logic_vector(1 downto 0) := (others => 'X'); -- rresp + m0_rlast : in std_logic := 'X'; -- rlast + m0_rvalid : in std_logic := 'X'; -- rvalid + m0_rready : out std_logic -- rready + ); + end component cva6_intel_axi_bridge_0; + + u0 : component cva6_intel_axi_bridge_0 + generic map ( + USE_PIPELINE => INTEGER_VALUE_FOR_USE_PIPELINE, + USE_M0_AWID => INTEGER_VALUE_FOR_USE_M0_AWID, + USE_M0_AWREGION => INTEGER_VALUE_FOR_USE_M0_AWREGION, + USE_M0_AWLEN => INTEGER_VALUE_FOR_USE_M0_AWLEN, + USE_M0_AWSIZE => INTEGER_VALUE_FOR_USE_M0_AWSIZE, + USE_M0_AWBURST => INTEGER_VALUE_FOR_USE_M0_AWBURST, + USE_M0_AWLOCK => INTEGER_VALUE_FOR_USE_M0_AWLOCK, + USE_M0_AWCACHE => INTEGER_VALUE_FOR_USE_M0_AWCACHE, + USE_M0_AWQOS => INTEGER_VALUE_FOR_USE_M0_AWQOS, + USE_S0_AWREGION => INTEGER_VALUE_FOR_USE_S0_AWREGION, + USE_S0_AWLOCK => INTEGER_VALUE_FOR_USE_S0_AWLOCK, + USE_S0_AWCACHE => INTEGER_VALUE_FOR_USE_S0_AWCACHE, + USE_S0_AWQOS => INTEGER_VALUE_FOR_USE_S0_AWQOS, + USE_S0_AWPROT => INTEGER_VALUE_FOR_USE_S0_AWPROT, + USE_M0_WSTRB => INTEGER_VALUE_FOR_USE_M0_WSTRB, + USE_S0_WLAST => INTEGER_VALUE_FOR_USE_S0_WLAST, + USE_M0_BID => INTEGER_VALUE_FOR_USE_M0_BID, + USE_M0_BRESP => INTEGER_VALUE_FOR_USE_M0_BRESP, + USE_S0_BRESP => INTEGER_VALUE_FOR_USE_S0_BRESP, + USE_M0_ARID => INTEGER_VALUE_FOR_USE_M0_ARID, + USE_M0_ARREGION => INTEGER_VALUE_FOR_USE_M0_ARREGION, + USE_M0_ARLEN => INTEGER_VALUE_FOR_USE_M0_ARLEN, + USE_M0_ARSIZE => INTEGER_VALUE_FOR_USE_M0_ARSIZE, + USE_M0_ARBURST => INTEGER_VALUE_FOR_USE_M0_ARBURST, + USE_M0_ARLOCK => INTEGER_VALUE_FOR_USE_M0_ARLOCK, + USE_M0_ARCACHE => INTEGER_VALUE_FOR_USE_M0_ARCACHE, + USE_M0_ARQOS => INTEGER_VALUE_FOR_USE_M0_ARQOS, + USE_S0_ARREGION => INTEGER_VALUE_FOR_USE_S0_ARREGION, + USE_S0_ARLOCK => INTEGER_VALUE_FOR_USE_S0_ARLOCK, + USE_S0_ARCACHE => INTEGER_VALUE_FOR_USE_S0_ARCACHE, + USE_S0_ARQOS => INTEGER_VALUE_FOR_USE_S0_ARQOS, + USE_S0_ARPROT => INTEGER_VALUE_FOR_USE_S0_ARPROT, + USE_M0_RID => INTEGER_VALUE_FOR_USE_M0_RID, + USE_M0_RRESP => INTEGER_VALUE_FOR_USE_M0_RRESP, + USE_M0_RLAST => INTEGER_VALUE_FOR_USE_M0_RLAST, + USE_S0_RRESP => INTEGER_VALUE_FOR_USE_S0_RRESP, + M0_ID_WIDTH => INTEGER_VALUE_FOR_M0_ID_WIDTH, + S0_ID_WIDTH => INTEGER_VALUE_FOR_S0_ID_WIDTH, + DATA_WIDTH => INTEGER_VALUE_FOR_DATA_WIDTH, + WRITE_ADDR_USER_WIDTH => INTEGER_VALUE_FOR_WRITE_ADDR_USER_WIDTH, + READ_ADDR_USER_WIDTH => INTEGER_VALUE_FOR_READ_ADDR_USER_WIDTH, + WRITE_DATA_USER_WIDTH => INTEGER_VALUE_FOR_WRITE_DATA_USER_WIDTH, + WRITE_RESP_USER_WIDTH => INTEGER_VALUE_FOR_WRITE_RESP_USER_WIDTH, + READ_DATA_USER_WIDTH => INTEGER_VALUE_FOR_READ_DATA_USER_WIDTH, + ADDR_WIDTH => INTEGER_VALUE_FOR_ADDR_WIDTH, + USE_S0_AWUSER => INTEGER_VALUE_FOR_USE_S0_AWUSER, + USE_S0_ARUSER => INTEGER_VALUE_FOR_USE_S0_ARUSER, + USE_S0_WUSER => INTEGER_VALUE_FOR_USE_S0_WUSER, + USE_S0_RUSER => INTEGER_VALUE_FOR_USE_S0_RUSER, + USE_S0_BUSER => INTEGER_VALUE_FOR_USE_S0_BUSER, + USE_M0_AWUSER => INTEGER_VALUE_FOR_USE_M0_AWUSER, + USE_M0_ARUSER => INTEGER_VALUE_FOR_USE_M0_ARUSER, + USE_M0_WUSER => INTEGER_VALUE_FOR_USE_M0_WUSER, + USE_M0_RUSER => INTEGER_VALUE_FOR_USE_M0_RUSER, + USE_M0_BUSER => INTEGER_VALUE_FOR_USE_M0_BUSER, + AXI_VERSION => STRING_VALUE_FOR_AXI_VERSION, + ACE_LITE_SUPPORT => INTEGER_VALUE_FOR_ACE_LITE_SUPPORT, + SYNC_RESET => INTEGER_VALUE_FOR_SYNC_RESET, + BACKPRESSURE_DURING_RESET => INTEGER_VALUE_FOR_BACKPRESSURE_DURING_RESET + ) + port map ( + aclk => CONNECTED_TO_aclk, -- clk.clk + aresetn => CONNECTED_TO_aresetn, -- clk_reset.reset_n + s0_awid => CONNECTED_TO_s0_awid, -- s0.awid + s0_awaddr => CONNECTED_TO_s0_awaddr, -- .awaddr + s0_awlen => CONNECTED_TO_s0_awlen, -- .awlen + s0_awsize => CONNECTED_TO_s0_awsize, -- .awsize + s0_awburst => CONNECTED_TO_s0_awburst, -- .awburst + s0_awlock => CONNECTED_TO_s0_awlock, -- .awlock + s0_awcache => CONNECTED_TO_s0_awcache, -- .awcache + s0_awprot => CONNECTED_TO_s0_awprot, -- .awprot + s0_awvalid => CONNECTED_TO_s0_awvalid, -- .awvalid + s0_awready => CONNECTED_TO_s0_awready, -- .awready + s0_wdata => CONNECTED_TO_s0_wdata, -- .wdata + s0_wstrb => CONNECTED_TO_s0_wstrb, -- .wstrb + s0_wlast => CONNECTED_TO_s0_wlast, -- .wlast + s0_wvalid => CONNECTED_TO_s0_wvalid, -- .wvalid + s0_wready => CONNECTED_TO_s0_wready, -- .wready + s0_bid => CONNECTED_TO_s0_bid, -- .bid + s0_bresp => CONNECTED_TO_s0_bresp, -- .bresp + s0_bvalid => CONNECTED_TO_s0_bvalid, -- .bvalid + s0_bready => CONNECTED_TO_s0_bready, -- .bready + s0_arid => CONNECTED_TO_s0_arid, -- .arid + s0_araddr => CONNECTED_TO_s0_araddr, -- .araddr + s0_arlen => CONNECTED_TO_s0_arlen, -- .arlen + s0_arsize => CONNECTED_TO_s0_arsize, -- .arsize + s0_arburst => CONNECTED_TO_s0_arburst, -- .arburst + s0_arlock => CONNECTED_TO_s0_arlock, -- .arlock + s0_arcache => CONNECTED_TO_s0_arcache, -- .arcache + s0_arprot => CONNECTED_TO_s0_arprot, -- .arprot + s0_arvalid => CONNECTED_TO_s0_arvalid, -- .arvalid + s0_arready => CONNECTED_TO_s0_arready, -- .arready + s0_rid => CONNECTED_TO_s0_rid, -- .rid + s0_rdata => CONNECTED_TO_s0_rdata, -- .rdata + s0_rresp => CONNECTED_TO_s0_rresp, -- .rresp + s0_rlast => CONNECTED_TO_s0_rlast, -- .rlast + s0_rvalid => CONNECTED_TO_s0_rvalid, -- .rvalid + s0_rready => CONNECTED_TO_s0_rready, -- .rready + m0_awid => CONNECTED_TO_m0_awid, -- m0.awid + m0_awaddr => CONNECTED_TO_m0_awaddr, -- .awaddr + m0_awlen => CONNECTED_TO_m0_awlen, -- .awlen + m0_awsize => CONNECTED_TO_m0_awsize, -- .awsize + m0_awburst => CONNECTED_TO_m0_awburst, -- .awburst + m0_awlock => CONNECTED_TO_m0_awlock, -- .awlock + m0_awcache => CONNECTED_TO_m0_awcache, -- .awcache + m0_awprot => CONNECTED_TO_m0_awprot, -- .awprot + m0_awvalid => CONNECTED_TO_m0_awvalid, -- .awvalid + m0_awready => CONNECTED_TO_m0_awready, -- .awready + m0_wdata => CONNECTED_TO_m0_wdata, -- .wdata + m0_wstrb => CONNECTED_TO_m0_wstrb, -- .wstrb + m0_wlast => CONNECTED_TO_m0_wlast, -- .wlast + m0_wvalid => CONNECTED_TO_m0_wvalid, -- .wvalid + m0_wready => CONNECTED_TO_m0_wready, -- .wready + m0_bid => CONNECTED_TO_m0_bid, -- .bid + m0_bresp => CONNECTED_TO_m0_bresp, -- .bresp + m0_bvalid => CONNECTED_TO_m0_bvalid, -- .bvalid + m0_bready => CONNECTED_TO_m0_bready, -- .bready + m0_arid => CONNECTED_TO_m0_arid, -- .arid + m0_araddr => CONNECTED_TO_m0_araddr, -- .araddr + m0_arlen => CONNECTED_TO_m0_arlen, -- .arlen + m0_arsize => CONNECTED_TO_m0_arsize, -- .arsize + m0_arburst => CONNECTED_TO_m0_arburst, -- .arburst + m0_arlock => CONNECTED_TO_m0_arlock, -- .arlock + m0_arcache => CONNECTED_TO_m0_arcache, -- .arcache + m0_arprot => CONNECTED_TO_m0_arprot, -- .arprot + m0_arvalid => CONNECTED_TO_m0_arvalid, -- .arvalid + m0_arready => CONNECTED_TO_m0_arready, -- .arready + m0_rid => CONNECTED_TO_m0_rid, -- .rid + m0_rdata => CONNECTED_TO_m0_rdata, -- .rdata + m0_rresp => CONNECTED_TO_m0_rresp, -- .rresp + m0_rlast => CONNECTED_TO_m0_rlast, -- .rlast + m0_rvalid => CONNECTED_TO_m0_rvalid, -- .rvalid + m0_rready => CONNECTED_TO_m0_rready -- .rready + ); + diff --git a/corev_apu/altera/ip/cva6_intel_axi_bridge_0/synth/cva6_intel_axi_bridge_0.v b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/synth/cva6_intel_axi_bridge_0.v new file mode 100644 index 0000000000..325c013a61 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_axi_bridge_0/synth/cva6_intel_axi_bridge_0.v @@ -0,0 +1,312 @@ +// cva6_intel_axi_bridge_0.v + +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module cva6_intel_axi_bridge_0 #( + parameter USE_PIPELINE = 1, + parameter USE_M0_AWID = 1, + parameter USE_M0_AWREGION = 0, + parameter USE_M0_AWLEN = 1, + parameter USE_M0_AWSIZE = 1, + parameter USE_M0_AWBURST = 1, + parameter USE_M0_AWLOCK = 1, + parameter USE_M0_AWCACHE = 1, + parameter USE_M0_AWQOS = 0, + parameter USE_S0_AWREGION = 0, + parameter USE_S0_AWLOCK = 1, + parameter USE_S0_AWCACHE = 1, + parameter USE_S0_AWQOS = 0, + parameter USE_S0_AWPROT = 1, + parameter USE_M0_WSTRB = 1, + parameter USE_S0_WLAST = 1, + parameter USE_M0_BID = 1, + parameter USE_M0_BRESP = 1, + parameter USE_S0_BRESP = 1, + parameter USE_M0_ARID = 1, + parameter USE_M0_ARREGION = 0, + parameter USE_M0_ARLEN = 1, + parameter USE_M0_ARSIZE = 1, + parameter USE_M0_ARBURST = 1, + parameter USE_M0_ARLOCK = 1, + parameter USE_M0_ARCACHE = 1, + parameter USE_M0_ARQOS = 0, + parameter USE_S0_ARREGION = 0, + parameter USE_S0_ARLOCK = 1, + parameter USE_S0_ARCACHE = 1, + parameter USE_S0_ARQOS = 0, + parameter USE_S0_ARPROT = 1, + parameter USE_M0_RID = 1, + parameter USE_M0_RRESP = 1, + parameter USE_M0_RLAST = 1, + parameter USE_S0_RRESP = 1, + parameter M0_ID_WIDTH = 8, + parameter S0_ID_WIDTH = 8, + parameter DATA_WIDTH = 64, + parameter WRITE_ADDR_USER_WIDTH = 32, + parameter READ_ADDR_USER_WIDTH = 32, + parameter WRITE_DATA_USER_WIDTH = 32, + parameter WRITE_RESP_USER_WIDTH = 32, + parameter READ_DATA_USER_WIDTH = 32, + parameter ADDR_WIDTH = 64, + parameter USE_S0_AWUSER = 0, + parameter USE_S0_ARUSER = 0, + parameter USE_S0_WUSER = 0, + parameter USE_S0_RUSER = 0, + parameter USE_S0_BUSER = 0, + parameter USE_M0_AWUSER = 0, + parameter USE_M0_ARUSER = 0, + parameter USE_M0_WUSER = 0, + parameter USE_M0_RUSER = 0, + parameter USE_M0_BUSER = 0, + parameter AXI_VERSION = "AXI4", + parameter ACE_LITE_SUPPORT = 0, + parameter SYNC_RESET = 0, + parameter BACKPRESSURE_DURING_RESET = 0 + ) ( + input wire aclk, // clk.clk + input wire aresetn, // clk_reset.reset_n + input wire [7:0] s0_awid, // s0.awid + input wire [63:0] s0_awaddr, // .awaddr + input wire [7:0] s0_awlen, // .awlen + input wire [2:0] s0_awsize, // .awsize + input wire [1:0] s0_awburst, // .awburst + input wire [0:0] s0_awlock, // .awlock + input wire [3:0] s0_awcache, // .awcache + input wire [2:0] s0_awprot, // .awprot + input wire s0_awvalid, // .awvalid + output wire s0_awready, // .awready + input wire [63:0] s0_wdata, // .wdata + input wire [7:0] s0_wstrb, // .wstrb + input wire s0_wlast, // .wlast + input wire s0_wvalid, // .wvalid + output wire s0_wready, // .wready + output wire [7:0] s0_bid, // .bid + output wire [1:0] s0_bresp, // .bresp + output wire s0_bvalid, // .bvalid + input wire s0_bready, // .bready + input wire [7:0] s0_arid, // .arid + input wire [63:0] s0_araddr, // .araddr + input wire [7:0] s0_arlen, // .arlen + input wire [2:0] s0_arsize, // .arsize + input wire [1:0] s0_arburst, // .arburst + input wire [0:0] s0_arlock, // .arlock + input wire [3:0] s0_arcache, // .arcache + input wire [2:0] s0_arprot, // .arprot + input wire s0_arvalid, // .arvalid + output wire s0_arready, // .arready + output wire [7:0] s0_rid, // .rid + output wire [63:0] s0_rdata, // .rdata + output wire [1:0] s0_rresp, // .rresp + output wire s0_rlast, // .rlast + output wire s0_rvalid, // .rvalid + input wire s0_rready, // .rready + output wire [7:0] m0_awid, // m0.awid + output wire [63:0] m0_awaddr, // .awaddr + output wire [7:0] m0_awlen, // .awlen + output wire [2:0] m0_awsize, // .awsize + output wire [1:0] m0_awburst, // .awburst + output wire [0:0] m0_awlock, // .awlock + output wire [3:0] m0_awcache, // .awcache + output wire [2:0] m0_awprot, // .awprot + output wire m0_awvalid, // .awvalid + input wire m0_awready, // .awready + output wire [63:0] m0_wdata, // .wdata + output wire [7:0] m0_wstrb, // .wstrb + output wire m0_wlast, // .wlast + output wire m0_wvalid, // .wvalid + input wire m0_wready, // .wready + input wire [7:0] m0_bid, // .bid + input wire [1:0] m0_bresp, // .bresp + input wire m0_bvalid, // .bvalid + output wire m0_bready, // .bready + output wire [7:0] m0_arid, // .arid + output wire [63:0] m0_araddr, // .araddr + output wire [7:0] m0_arlen, // .arlen + output wire [2:0] m0_arsize, // .arsize + output wire [1:0] m0_arburst, // .arburst + output wire [0:0] m0_arlock, // .arlock + output wire [3:0] m0_arcache, // .arcache + output wire [2:0] m0_arprot, // .arprot + output wire m0_arvalid, // .arvalid + input wire m0_arready, // .arready + input wire [7:0] m0_rid, // .rid + input wire [63:0] m0_rdata, // .rdata + input wire [1:0] m0_rresp, // .rresp + input wire m0_rlast, // .rlast + input wire m0_rvalid, // .rvalid + output wire m0_rready // .rready + ); + + cva6_intel_axi_bridge_0_altera_axi_bridge_1940_72stfyq #( + .USE_PIPELINE (USE_PIPELINE), + .USE_M0_AWID (USE_M0_AWID), + .USE_M0_AWREGION (USE_M0_AWREGION), + .USE_M0_AWLEN (USE_M0_AWLEN), + .USE_M0_AWSIZE (USE_M0_AWSIZE), + .USE_M0_AWBURST (USE_M0_AWBURST), + .USE_M0_AWLOCK (USE_M0_AWLOCK), + .USE_M0_AWCACHE (USE_M0_AWCACHE), + .USE_M0_AWQOS (USE_M0_AWQOS), + .USE_S0_AWREGION (USE_S0_AWREGION), + .USE_S0_AWLOCK (USE_S0_AWLOCK), + .USE_S0_AWCACHE (USE_S0_AWCACHE), + .USE_S0_AWQOS (USE_S0_AWQOS), + .USE_S0_AWPROT (USE_S0_AWPROT), + .USE_M0_WSTRB (USE_M0_WSTRB), + .USE_S0_WLAST (USE_S0_WLAST), + .USE_M0_BID (USE_M0_BID), + .USE_M0_BRESP (USE_M0_BRESP), + .USE_S0_BRESP (USE_S0_BRESP), + .USE_M0_ARID (USE_M0_ARID), + .USE_M0_ARREGION (USE_M0_ARREGION), + .USE_M0_ARLEN (USE_M0_ARLEN), + .USE_M0_ARSIZE (USE_M0_ARSIZE), + .USE_M0_ARBURST (USE_M0_ARBURST), + .USE_M0_ARLOCK (USE_M0_ARLOCK), + .USE_M0_ARCACHE (USE_M0_ARCACHE), + .USE_M0_ARQOS (USE_M0_ARQOS), + .USE_S0_ARREGION (USE_S0_ARREGION), + .USE_S0_ARLOCK (USE_S0_ARLOCK), + .USE_S0_ARCACHE (USE_S0_ARCACHE), + .USE_S0_ARQOS (USE_S0_ARQOS), + .USE_S0_ARPROT (USE_S0_ARPROT), + .USE_M0_RID (USE_M0_RID), + .USE_M0_RRESP (USE_M0_RRESP), + .USE_M0_RLAST (USE_M0_RLAST), + .USE_S0_RRESP (USE_S0_RRESP), + .M0_ID_WIDTH (M0_ID_WIDTH), + .S0_ID_WIDTH (S0_ID_WIDTH), + .DATA_WIDTH (DATA_WIDTH), + .WRITE_ADDR_USER_WIDTH (WRITE_ADDR_USER_WIDTH), + .READ_ADDR_USER_WIDTH (READ_ADDR_USER_WIDTH), + .WRITE_DATA_USER_WIDTH (WRITE_DATA_USER_WIDTH), + .WRITE_RESP_USER_WIDTH (WRITE_RESP_USER_WIDTH), + .READ_DATA_USER_WIDTH (READ_DATA_USER_WIDTH), + .ADDR_WIDTH (ADDR_WIDTH), + .USE_S0_AWUSER (USE_S0_AWUSER), + .USE_S0_ARUSER (USE_S0_ARUSER), + .USE_S0_WUSER (USE_S0_WUSER), + .USE_S0_RUSER (USE_S0_RUSER), + .USE_S0_BUSER (USE_S0_BUSER), + .USE_M0_AWUSER (USE_M0_AWUSER), + .USE_M0_ARUSER (USE_M0_ARUSER), + .USE_M0_WUSER (USE_M0_WUSER), + .USE_M0_RUSER (USE_M0_RUSER), + .USE_M0_BUSER (USE_M0_BUSER), + .AXI_VERSION (AXI_VERSION), + .BURST_LENGTH_WIDTH (8), + .LOCK_WIDTH (1), + .ACE_LITE_SUPPORT (ACE_LITE_SUPPORT), + .SYNC_RESET (SYNC_RESET), + .BACKPRESSURE_DURING_RESET (BACKPRESSURE_DURING_RESET) + ) axi_bridge_0 ( + .aclk (aclk), // input, width = 1, clk.clk + .aresetn (aresetn), // input, width = 1, clk_reset.reset_n + .s0_awid (s0_awid), // input, width = 8, s0.awid + .s0_awaddr (s0_awaddr), // input, width = 64, .awaddr + .s0_awlen (s0_awlen), // input, width = 8, .awlen + .s0_awsize (s0_awsize), // input, width = 3, .awsize + .s0_awburst (s0_awburst), // input, width = 2, .awburst + .s0_awlock (s0_awlock), // input, width = 1, .awlock + .s0_awcache (s0_awcache), // input, width = 4, .awcache + .s0_awprot (s0_awprot), // input, width = 3, .awprot + .s0_awvalid (s0_awvalid), // input, width = 1, .awvalid + .s0_awready (s0_awready), // output, width = 1, .awready + .s0_wdata (s0_wdata), // input, width = 64, .wdata + .s0_wstrb (s0_wstrb), // input, width = 8, .wstrb + .s0_wlast (s0_wlast), // input, width = 1, .wlast + .s0_wvalid (s0_wvalid), // input, width = 1, .wvalid + .s0_wready (s0_wready), // output, width = 1, .wready + .s0_bid (s0_bid), // output, width = 8, .bid + .s0_bresp (s0_bresp), // output, width = 2, .bresp + .s0_bvalid (s0_bvalid), // output, width = 1, .bvalid + .s0_bready (s0_bready), // input, width = 1, .bready + .s0_arid (s0_arid), // input, width = 8, .arid + .s0_araddr (s0_araddr), // input, width = 64, .araddr + .s0_arlen (s0_arlen), // input, width = 8, .arlen + .s0_arsize (s0_arsize), // input, width = 3, .arsize + .s0_arburst (s0_arburst), // input, width = 2, .arburst + .s0_arlock (s0_arlock), // input, width = 1, .arlock + .s0_arcache (s0_arcache), // input, width = 4, .arcache + .s0_arprot (s0_arprot), // input, width = 3, .arprot + .s0_arvalid (s0_arvalid), // input, width = 1, .arvalid + .s0_arready (s0_arready), // output, width = 1, .arready + .s0_rid (s0_rid), // output, width = 8, .rid + .s0_rdata (s0_rdata), // output, width = 64, .rdata + .s0_rresp (s0_rresp), // output, width = 2, .rresp + .s0_rlast (s0_rlast), // output, width = 1, .rlast + .s0_rvalid (s0_rvalid), // output, width = 1, .rvalid + .s0_rready (s0_rready), // input, width = 1, .rready + .m0_awid (m0_awid), // output, width = 8, m0.awid + .m0_awaddr (m0_awaddr), // output, width = 64, .awaddr + .m0_awlen (m0_awlen), // output, width = 8, .awlen + .m0_awsize (m0_awsize), // output, width = 3, .awsize + .m0_awburst (m0_awburst), // output, width = 2, .awburst + .m0_awlock (m0_awlock), // output, width = 1, .awlock + .m0_awcache (m0_awcache), // output, width = 4, .awcache + .m0_awprot (m0_awprot), // output, width = 3, .awprot + .m0_awvalid (m0_awvalid), // output, width = 1, .awvalid + .m0_awready (m0_awready), // input, width = 1, .awready + .m0_wdata (m0_wdata), // output, width = 64, .wdata + .m0_wstrb (m0_wstrb), // output, width = 8, .wstrb + .m0_wlast (m0_wlast), // output, width = 1, .wlast + .m0_wvalid (m0_wvalid), // output, width = 1, .wvalid + .m0_wready (m0_wready), // input, width = 1, .wready + .m0_bid (m0_bid), // input, width = 8, .bid + .m0_bresp (m0_bresp), // input, width = 2, .bresp + .m0_bvalid (m0_bvalid), // input, width = 1, .bvalid + .m0_bready (m0_bready), // output, width = 1, .bready + .m0_arid (m0_arid), // output, width = 8, .arid + .m0_araddr (m0_araddr), // output, width = 64, .araddr + .m0_arlen (m0_arlen), // output, width = 8, .arlen + .m0_arsize (m0_arsize), // output, width = 3, .arsize + .m0_arburst (m0_arburst), // output, width = 2, .arburst + .m0_arlock (m0_arlock), // output, width = 1, .arlock + .m0_arcache (m0_arcache), // output, width = 4, .arcache + .m0_arprot (m0_arprot), // output, width = 3, .arprot + .m0_arvalid (m0_arvalid), // output, width = 1, .arvalid + .m0_arready (m0_arready), // input, width = 1, .arready + .m0_rid (m0_rid), // input, width = 8, .rid + .m0_rdata (m0_rdata), // input, width = 64, .rdata + .m0_rresp (m0_rresp), // input, width = 2, .rresp + .m0_rlast (m0_rlast), // input, width = 1, .rlast + .m0_rvalid (m0_rvalid), // input, width = 1, .rvalid + .m0_rready (m0_rready), // output, width = 1, .rready + .s0_awuser (32'b00000000000000000000000000000000), // (terminated), + .s0_awqos (4'b0000), // (terminated), + .s0_awregion (4'b0000), // (terminated), + .s0_wuser (32'b00000000000000000000000000000000), // (terminated), + .s0_buser (), // (terminated), + .s0_aruser (32'b00000000000000000000000000000000), // (terminated), + .s0_arqos (4'b0000), // (terminated), + .s0_arregion (4'b0000), // (terminated), + .s0_ruser (), // (terminated), + .m0_awuser (), // (terminated), + .m0_awqos (), // (terminated), + .m0_awregion (), // (terminated), + .m0_wuser (), // (terminated), + .m0_buser (32'b00000000000000000000000000000000), // (terminated), + .m0_aruser (), // (terminated), + .m0_arqos (), // (terminated), + .m0_arregion (), // (terminated), + .m0_ruser (32'b00000000000000000000000000000000), // (terminated), + .s0_wid (8'b00000000), // (terminated), + .s0_ardomain (2'b00), // (terminated), + .s0_arsnoop (4'b0000), // (terminated), + .s0_arbar (2'b00), // (terminated), + .s0_awdomain (2'b00), // (terminated), + .s0_awsnoop (3'b000), // (terminated), + .s0_awbar (2'b00), // (terminated), + .s0_awunique (1'b0), // (terminated), + .m0_wid (), // (terminated), + .m0_ardomain (), // (terminated), + .m0_arsnoop (), // (terminated), + .m0_arbar (), // (terminated), + .m0_awdomain (), // (terminated), + .m0_awsnoop (), // (terminated), + .m0_awbar (), // (terminated), + .m0_awunique () // (terminated), + ); + +endmodule diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0.ip b/corev_apu/altera/ip/cva6_intel_jtag_uart_0.ip new file mode 100644 index 0000000000..b01b6d290e --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0.ip @@ -0,0 +1,1408 @@ + + + + Intel Corporation + cva6_intel_jtag_uart_0 + jtag_uart_0 + 19.2.4 + + + clk + + + + + + + + clk + + + clk + + + + + + + + + clockRate + Clock rate + 0 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + reset + + + + + + + + reset_n + + + rst_n + + + + + + + + + associatedClock + Associated clock + clk + + + synchronousEdges + Synchronous edges + DEASSERT + + + + + avalon_jtag_slave + + + + + + + + chipselect + + + av_chipselect + + + + + address + + + av_address + + + + + read_n + + + av_read_n + + + + + readdata + + + av_readdata + + + + + write_n + + + av_write_n + + + + + writedata + + + av_writedata + + + + + waitrequest + + + av_waitrequest + + + + + + + + + addressAlignment + Agent addressing + NATIVE + + + addressGroup + Address group + 0 + + + addressSpan + Address span + 2 + + + addressUnits + Address units + WORDS + + + alwaysBurstMaxBurst + Always burst maximum burst + false + + + associatedClock + Associated clock + clk + + + associatedReset + Associated reset + reset + + + bitsPerSymbol + Bits per symbol + 8 + + + bridgedAddressOffset + Bridged Address Offset + 0 + + + bridgesToMaster + Bridges to host + + + + burstOnBurstBoundariesOnly + Burst on burst boundaries only + false + + + burstcountUnits + Burstcount units + WORDS + + + constantBurstBehavior + Constant burst behavior + false + + + explicitAddressSpan + Explicit address span + 0 + + + holdTime + Hold + 0 + + + interleaveBursts + Interleave bursts + false + + + isBigEndian + Big endian + false + + + isFlash + Flash memory + false + + + isMemoryDevice + Memory device + false + + + isNonVolatileStorage + Non-volatile storage + false + + + linewrapBursts + Linewrap bursts + false + + + maximumPendingReadTransactions + Maximum pending read transactions + 0 + + + maximumPendingWriteTransactions + Maximum pending write transactions + 0 + + + minimumReadLatency + minimumReadLatency + 1 + + + minimumResponseLatency + Minimum response latency + 1 + + + minimumUninterruptedRunLength + Minimum uninterrupted run length + 1 + + + prSafe + Partial Reconfiguration Safe + false + + + printableDevice + Can receive stdout/stderr + true + + + readLatency + Read latency + 0 + + + readWaitStates + Read wait states + 1 + + + readWaitTime + Read wait + 1 + + + registerIncomingSignals + Register incoming signals + false + + + registerOutgoingSignals + Register outgoing signals + false + + + setupTime + Setup + 0 + + + timingUnits + Timing units + Cycles + + + transparentBridge + Transparent bridge + false + + + waitrequestAllowance + Waitrequest allowance + 0 + + + wellBehavedWaitrequest + Well-behaved waitrequest + false + + + writeLatency + Write latency + 0 + + + writeWaitStates + Write wait states + 0 + + + writeWaitTime + Write wait + 0 + + + dfhFeatureGuid + Feature GUID + 0 + + + dfhGroupId + Group ID + 0 + + + dfhParameterId + ID + + + + dfhParameterName + Name + + + + dfhParameterVersion + Version + + + + dfhParameterData + Data (HEX/DEC) + + + + dfhParameterDataLength + Data length + + + + dfhFeatureMajorVersion + Feature major version + 0 + + + dfhFeatureMinorVersion + Feature minor version + 0 + + + dfhFeatureId + Feature ID + 35 + + + dfhFeatureType + Feature Type + 3 + + + + + + + embeddedsw.configuration.isFlash + 0 + + + embeddedsw.configuration.isMemoryDevice + 0 + + + embeddedsw.configuration.isNonVolatileStorage + 0 + + + embeddedsw.configuration.isPrintableDevice + 1 + + + + + + + irq + + + + + + + + irq + + + av_irq + + + + + + + + + associatedAddressablePoint + Associated addressable interface + cva6_intel_jtag_uart_0.avalon_jtag_slave + + + associatedClock + Associated clock + clk + + + associatedReset + Associated reset + reset + + + bridgedReceiverOffset + Bridged receiver offset + 0 + + + bridgesToReceiver + Bridges to receiver + + + + irqScheme + Interrupt scheme + NONE + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_avalon_jtag_uart + + QUARTUS_SYNTH + + + + + + + clk + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + rst_n + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_chipselect + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_address + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_read_n + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_readdata + + out + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + av_write_n + + in + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_writedata + + in + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + av_waitrequest + + out + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + av_irq + + out + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + cva6_intel_jtag_uart_0 + altera_avalon_jtag_uart + 19.2.4 + + + + + allowMultipleConnections + Allow multiple connections to Avalon JTAG slave + false + + + hubInstanceID + hubInstanceID + 0 + + + readBufferDepth + Buffer depth (bytes) + 64 + + + readIRQThreshold + IRQ threshold + 8 + + + simInputCharacterStream + Contents + + + + simInteractiveOptions + Options + NO_INTERACTIVE_WINDOWS + + + useRegistersForReadBuffer + Construct using registers instead of memory blocks + false + + + useRegistersForWriteBuffer + Construct using registers instead of memory blocks + false + + + useRelativePathForSimFile + useRelativePathForSimFile + false + + + writeBufferDepth + Buffer depth (bytes) + 64 + + + writeIRQThreshold + IRQ threshold + 8 + + + clkFreq + clkFreq + 300000000 + + + avalonSpec + avalonSpec + 2.0 + + + + + + + embeddedsw.CMacro.READ_DEPTH + 64 + + + embeddedsw.CMacro.READ_THRESHOLD + 8 + + + embeddedsw.CMacro.WRITE_DEPTH + 64 + + + embeddedsw.CMacro.WRITE_THRESHOLD + 8 + + + embeddedsw.dts.compatible + altr,juart-1.0 + + + embeddedsw.dts.group + serial + + + embeddedsw.dts.name + juart + + + embeddedsw.dts.vendor + altr + + + + + + + board + Board + default + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Agilex 7"; + type = "String"; + } + } + element jtag_uart_0 + { + } +} + + + + hideFromIPCatalog + Hide from IP Catalog + false + + + lockedInterfaceDefinition + lockedInterfaceDefinition + <boundaryDefinition> + <interfaces> + <interface> + <name>clk</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>0</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>rst_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>avalon_jtag_slave</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>av_chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_read_n</name> + <role>read_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>av_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>embeddedsw.configuration.isFlash</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isMemoryDevice</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>1</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>addressAlignment</key> + <value>NATIVE</value> + </entry> + <entry> + <key>addressGroup</key> + <value>0</value> + </entry> + <entry> + <key>addressSpan</key> + <value>2</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset</value> + </entry> + <entry> + <key>bitsPerSymbol</key> + <value>8</value> + </entry> + <entry> + <key>bridgedAddressOffset</key> + <value>0</value> + </entry> + <entry> + <key>bridgesToMaster</key> + </entry> + <entry> + <key>burstOnBurstBoundariesOnly</key> + <value>false</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>explicitAddressSpan</key> + <value>0</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isFlash</key> + <value>false</value> + </entry> + <entry> + <key>isMemoryDevice</key> + <value>false</value> + </entry> + <entry> + <key>isNonVolatileStorage</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>false</value> + </entry> + <entry> + <key>maximumPendingReadTransactions</key> + <value>0</value> + </entry> + <entry> + <key>maximumPendingWriteTransactions</key> + <value>0</value> + </entry> + <entry> + <key>minimumReadLatency</key> + <value>1</value> + </entry> + <entry> + <key>minimumResponseLatency</key> + <value>1</value> + </entry> + <entry> + <key>minimumUninterruptedRunLength</key> + <value>1</value> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>printableDevice</key> + <value>true</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>1</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>1</value> + </entry> + <entry> + <key>registerIncomingSignals</key> + <value>false</value> + </entry> + <entry> + <key>registerOutgoingSignals</key> + <value>false</value> + </entry> + <entry> + <key>setupTime</key> + <value>0</value> + </entry> + <entry> + <key>timingUnits</key> + <value>Cycles</value> + </entry> + <entry> + <key>transparentBridge</key> + <value>false</value> + </entry> + <entry> + <key>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>wellBehavedWaitrequest</key> + <value>false</value> + </entry> + <entry> + <key>writeLatency</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureGuid</key> + <value>0</value> + </entry> + <entry> + <key>dfhGroupId</key> + <value>0</value> + </entry> + <entry> + <key>dfhParameterId</key> + </entry> + <entry> + <key>dfhParameterName</key> + </entry> + <entry> + <key>dfhParameterVersion</key> + </entry> + <entry> + <key>dfhParameterData</key> + </entry> + <entry> + <key>dfhParameterDataLength</key> + </entry> + <entry> + <key>dfhFeatureMajorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureMinorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureId</key> + <value>35</value> + </entry> + <entry> + <key>dfhFeatureType</key> + <value>3</value> + </entry> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents>&lt;?xml version="1.0" encoding="utf-8"?&gt; +&lt;device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" &gt; + &lt;peripherals&gt; + &lt;peripheral&gt; + &lt;name&gt;altera_avalon_jtag_uart&lt;/name&gt;&lt;baseAddress&gt;0x00000000&lt;/baseAddress&gt; + &lt;addressBlock&gt; + &lt;offset&gt;0x0&lt;/offset&gt; + &lt;size&gt;8&lt;/size&gt; + &lt;usage&gt;registers&lt;/usage&gt; + &lt;/addressBlock&gt; + &lt;registers&gt; + &lt;register&gt; + &lt;name&gt;DATA&lt;/name&gt; + &lt;displayName&gt;Data&lt;/displayName&gt; + &lt;description&gt;Embedded software accesses the read and write FIFOs via the data register. A read from the data register returns the first character from the FIFO (if one is available) in the DATA field. Reading also returns information about the number of characters remaining in the FIFO in the RAVAIL field. A write to the data register stores the value of the DATA field in the write FIFO. If the write FIFO is full, the character is lost.&lt;/description&gt; + &lt;addressOffset&gt;0x0&lt;/addressOffset&gt; + &lt;size&gt;32&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffffffff&lt;/resetMask&gt; + &lt;fields&gt; + &lt;field&gt;&lt;name&gt;data&lt;/name&gt; + &lt;description&gt;The value to transfer to/from the JTAG core. When writing, the DATA field holds a character to be written to the write FIFO. When reading, the DATA field holds a character read from the read FIFO.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;8&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;rvalid&lt;/name&gt; + &lt;description&gt;Indicates whether the DATA field is valid. If RVALID=1, the DATA field is valid, otherwise DATA is undefined.&lt;/description&gt; + &lt;bitOffset&gt;0xf&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;ravail&lt;/name&gt; + &lt;description&gt;The number of characters remaining in the read FIFO (after the current read).&lt;/description&gt; + &lt;bitOffset&gt;0x10&lt;/bitOffset&gt; + &lt;bitWidth&gt;16&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;CONTROL&lt;/name&gt; + &lt;displayName&gt;Control&lt;/displayName&gt; + &lt;description&gt;Embedded software controls the JTAG UART core's interrupt generation and reads status information via the control register. A read from the control register returns the status of the read and write FIFOs. Writes to the register can be used to enable/disable interrupts, or clear the AC bit.&lt;/description&gt; + &lt;addressOffset&gt;0x4&lt;/addressOffset&gt; + &lt;size&gt;32&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffffffff&lt;/resetMask&gt; + &lt;fields&gt; + &lt;field&gt;&lt;name&gt;re&lt;/name&gt; + &lt;description&gt;Interrupt-enable bit for read interrupts.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;we&lt;/name&gt; + &lt;description&gt;Interrupt-enable bit for write interrupts&lt;/description&gt; + &lt;bitOffset&gt;0x1&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;ri&lt;/name&gt; + &lt;description&gt;Indicates that the read interrupt is pending.&lt;/description&gt; + &lt;bitOffset&gt;0x8&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;wi&lt;/name&gt; + &lt;description&gt;Indicates that the write interrupt is pending.&lt;/description&gt; + &lt;bitOffset&gt;0x9&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;ac&lt;/name&gt; + &lt;description&gt;Indicates that there has been JTAG activity since the bit was cleared. Writing 1 to AC clears it to 0.&lt;/description&gt; + &lt;bitOffset&gt;0xa&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;wspace&lt;/name&gt; + &lt;description&gt;The number of spaces available in the write FIFO&lt;/description&gt; + &lt;bitOffset&gt;0x10&lt;/bitOffset&gt; + &lt;bitWidth&gt;16&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;/registers&gt; + &lt;/peripheral&gt; + &lt;/peripherals&gt; +&lt;/device&gt; </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars/> + </cmsisInfo> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>av_irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>cva6_intel_jtag_uart_0.avalon_jtag_slave</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset</value> + </entry> + <entry> + <key>bridgedReceiverOffset</key> + <value>0</value> + </entry> + <entry> + <key>bridgesToReceiver</key> + </entry> + <entry> + <key>irqScheme</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition> + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>avalon_jtag_slave</key> + <value> + <connectionPointName>avalon_jtag_slave</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='avalon_jtag_slave' start='0x0' end='0x8' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>300000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + + + + + + + + + + + + + + + + + + + + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/altera_avalon_jtag_uart_1924/synth/cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq.v b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/altera_avalon_jtag_uart_1924/synth/cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq.v new file mode 100644 index 0000000000..f238ab9955 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/altera_avalon_jtag_uart_1924/synth/cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq.v @@ -0,0 +1,643 @@ +//Legal Notice: (C)2024 Altera Corporation. All rights reserved. Your +//use of Altera Corporation's design tools, logic functions and other +//software and tools, and its AMPP partner logic functions, and any +//output files any of the foregoing (including device programming or +//simulation files), and any associated documentation or information are +//expressly subject to the terms and conditions of the Altera Program +//License Subscription Agreement or other applicable license agreement, +//including, without limitation, that your use is for the sole purpose +//of programming logic devices manufactured by Altera and sold by Altera +//or its authorized distributors. Please refer to the applicable +//agreement for further details. + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_log_module ( + // inputs: + clk, + data, + strobe, + valid + ) +; + + input clk; + input [ 7: 0] data; + input strobe; + input valid; + + + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + reg [31:0] text_handle; // for $fopen + initial text_handle = $fopen ("cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_output_stream.dat"); + + always @(posedge clk) begin + if (valid && strobe) begin + // Send \n (linefeed) instead of \r (^M, Carriage Return)... + $fwrite (text_handle, "%s", ((data == 8'hd) ? 8'ha : data)); + // non-standard; poorly documented; required to get real data stream. + $fflush (text_handle); + end + end // clk + + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on + +endmodule + + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_w ( + // inputs: + clk, + fifo_wdata, + fifo_wr, + + // outputs: + fifo_FF, + r_dat, + wfifo_empty, + wfifo_used + ) +; + + output fifo_FF; + output [ 7: 0] r_dat; + output wfifo_empty; + output [ 5: 0] wfifo_used; + input clk; + input [ 7: 0] fifo_wdata; + input fifo_wr; + + +wire fifo_FF; +wire [ 7: 0] r_dat; +wire wfifo_empty; +wire [ 5: 0] wfifo_used; + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + //cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_log, which is an e_log + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_log_module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_log + ( + .clk (clk), + .data (fifo_wdata), + .strobe (fifo_wr), + .valid (fifo_wr) + ); + + always @(posedge clk) + begin + if (fifo_wr) + $write("%c", fifo_wdata); + end + + + assign wfifo_used = {6{1'b0}}; + assign r_dat = {8{1'b0}}; + assign fifo_FF = 1'b0; + assign wfifo_empty = 1'b1; + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on + +endmodule + + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_w ( + // inputs: + clk, + fifo_clear, + fifo_wdata, + fifo_wr, + rd_wfifo, + + // outputs: + fifo_FF, + r_dat, + wfifo_empty, + wfifo_used + ) +; + + output fifo_FF; + output [ 7: 0] r_dat; + output wfifo_empty; + output [ 5: 0] wfifo_used; + input clk; + input fifo_clear; + input [ 7: 0] fifo_wdata; + input fifo_wr; + input rd_wfifo; + + +wire fifo_FF; +wire [ 7: 0] r_dat; +wire wfifo_empty; +wire [ 5: 0] wfifo_used; + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_w the_cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_w + ( + .clk (clk), + .fifo_FF (fifo_FF), + .fifo_wdata (fifo_wdata), + .fifo_wr (fifo_wr), + .r_dat (r_dat), + .wfifo_empty (wfifo_empty), + .wfifo_used (wfifo_used) + ); + + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on +//synthesis read_comments_as_HDL on +// scfifo wfifo +// ( +// .aclr (fifo_clear), +// .clock (clk), +// .data (fifo_wdata), +// .empty (wfifo_empty), +// .full (fifo_FF), +// .q (r_dat), +// .rdreq (rd_wfifo), +// .usedw (wfifo_used), +// .wrreq (fifo_wr) +// ); +// +// defparam wfifo.lpm_hint = "RAM_BLOCK_TYPE=AUTO", +// wfifo.lpm_numwords = 64, +// wfifo.lpm_showahead = "OFF", +// wfifo.lpm_type = "scfifo", +// wfifo.lpm_width = 8, +// wfifo.lpm_widthu = 6, +// wfifo.overflow_checking = "OFF", +// wfifo.underflow_checking = "OFF", +// wfifo.use_eab = "ON"; +// +//synthesis read_comments_as_HDL off + +endmodule + + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_r ( + // inputs: + clk, + fifo_rd, + rst_n, + + // outputs: + fifo_EF, + fifo_rdata, + rfifo_full, + rfifo_used + ) +; + + output fifo_EF; + output [ 7: 0] fifo_rdata; + output rfifo_full; + output [ 5: 0] rfifo_used; + input clk; + input fifo_rd; + input rst_n; + + +reg [ 31: 0] bytes_left; +wire fifo_EF; +reg fifo_rd_d; +wire [ 7: 0] fifo_rdata; +wire new_rom; +wire [ 31: 0] num_bytes; +wire [ 6: 0] rfifo_entries; +wire rfifo_full; +wire [ 5: 0] rfifo_used; + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + // Generate rfifo_entries for simulation + always @(posedge clk or negedge rst_n) + begin + if (rst_n == 0) + begin + bytes_left <= 32'h0; + fifo_rd_d <= 1'b0; + end + else + begin + fifo_rd_d <= fifo_rd; + // decrement on read + if (fifo_rd_d) + bytes_left <= bytes_left - 1'b1; + // catch new contents + if (new_rom) + bytes_left <= num_bytes; + end + end + + + assign fifo_EF = bytes_left == 32'b0; + assign rfifo_full = bytes_left > 7'h40; + assign rfifo_entries = (rfifo_full) ? 7'h40 : bytes_left; + assign rfifo_used = rfifo_entries[5 : 0]; + assign new_rom = 1'b0; + assign num_bytes = 32'b0; + assign fifo_rdata = 8'b0; + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on + +endmodule + + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_r ( + // inputs: + clk, + fifo_clear, + fifo_rd, + rst_n, + t_dat, + wr_rfifo, + + // outputs: + fifo_EF, + fifo_rdata, + rfifo_full, + rfifo_used + ) +; + + output fifo_EF; + output [ 7: 0] fifo_rdata; + output rfifo_full; + output [ 5: 0] rfifo_used; + input clk; + input fifo_clear; + input fifo_rd; + input rst_n; + input [ 7: 0] t_dat; + input wr_rfifo; + + +wire fifo_EF; +wire [ 7: 0] fifo_rdata; +wire rfifo_full; +wire [ 5: 0] rfifo_used; + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_r the_cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_sim_scfifo_r + ( + .clk (clk), + .fifo_EF (fifo_EF), + .fifo_rd (fifo_rd), + .fifo_rdata (fifo_rdata), + .rfifo_full (rfifo_full), + .rfifo_used (rfifo_used), + .rst_n (rst_n) + ); + + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on +//synthesis read_comments_as_HDL on +// scfifo rfifo +// ( +// .aclr (fifo_clear), +// .clock (clk), +// .data (t_dat), +// .empty (fifo_EF), +// .full (rfifo_full), +// .q (fifo_rdata), +// .rdreq (fifo_rd), +// .usedw (rfifo_used), +// .wrreq (wr_rfifo) +// ); +// +// defparam rfifo.lpm_hint = "RAM_BLOCK_TYPE=AUTO", +// rfifo.lpm_numwords = 64, +// rfifo.lpm_showahead = "OFF", +// rfifo.lpm_type = "scfifo", +// rfifo.lpm_width = 8, +// rfifo.lpm_widthu = 6, +// rfifo.overflow_checking = "OFF", +// rfifo.underflow_checking = "OFF", +// rfifo.use_eab = "ON"; +// +//synthesis read_comments_as_HDL off + +endmodule + + +// synthesis translate_off +`timescale 1ns / 1ps +// synthesis translate_on + +// turn off superfluous verilog processor warnings +// altera message_level Level1 +// altera message_off 10034 10035 10036 10037 10230 10240 10030 13469 16735 16788 + +module cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq ( + // inputs: + av_address, + av_chipselect, + av_read_n, + av_write_n, + av_writedata, + clk, + rst_n, + + // outputs: + av_irq, + av_readdata, + av_waitrequest, + dataavailable, + readyfordata + ) + /* synthesis ALTERA_ATTRIBUTE = "SUPPRESS_DA_RULE_INTERNAL=\"R101,C106,D101,D103\"" */ ; + + output av_irq; + output [ 31: 0] av_readdata; + output av_waitrequest; + output dataavailable; + output readyfordata; + input av_address; + input av_chipselect; + input av_read_n; + input av_write_n; + input [ 31: 0] av_writedata; + input clk; + input rst_n; + + +reg ac; +wire activity; +wire av_irq; +wire [ 31: 0] av_readdata; +reg av_waitrequest; +reg dataavailable; +reg fifo_AE; +reg fifo_AF; +wire fifo_EF; +wire fifo_FF; +wire fifo_clear; +wire fifo_rd; +wire [ 7: 0] fifo_rdata; +wire [ 7: 0] fifo_wdata; +reg fifo_wr; +reg ien_AE; +reg ien_AF; +wire ipen_AE; +wire ipen_AF; +reg pause_irq; +wire [ 7: 0] r_dat; +wire r_ena; +reg r_val; +wire rd_wfifo; +reg read_0; +reg readyfordata; +wire rfifo_full; +wire [ 5: 0] rfifo_used; +reg rvalid; +reg sim_r_ena; +reg sim_t_dat; +reg sim_t_ena; +reg sim_t_pause; +wire [ 7: 0] t_dat; +reg t_dav; +wire t_ena; +wire t_pause; +wire wfifo_empty; +wire [ 5: 0] wfifo_used; +reg woverflow; +wire wr_rfifo; + //avalon_jtag_slave, which is an e_avalon_slave + assign rd_wfifo = r_ena & ~wfifo_empty; + assign wr_rfifo = t_ena & ~rfifo_full; + assign fifo_clear = ~rst_n; + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_w the_cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_w + ( + .clk (clk), + .fifo_FF (fifo_FF), + .fifo_clear (fifo_clear), + .fifo_wdata (fifo_wdata), + .fifo_wr (fifo_wr), + .r_dat (r_dat), + .rd_wfifo (rd_wfifo), + .wfifo_empty (wfifo_empty), + .wfifo_used (wfifo_used) + ); + + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_r the_cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_scfifo_r + ( + .clk (clk), + .fifo_EF (fifo_EF), + .fifo_clear (fifo_clear), + .fifo_rd (fifo_rd), + .fifo_rdata (fifo_rdata), + .rfifo_full (rfifo_full), + .rfifo_used (rfifo_used), + .rst_n (rst_n), + .t_dat (t_dat), + .wr_rfifo (wr_rfifo) + ); + + assign ipen_AE = ien_AE & fifo_AE; + assign ipen_AF = ien_AF & (pause_irq | fifo_AF); + assign av_irq = ipen_AE | ipen_AF; + assign activity = t_pause | t_ena; + always @(posedge clk or negedge rst_n) + begin + if (rst_n == 0) + pause_irq <= 1'b0; + else // only if fifo is not empty... + if (t_pause & ~fifo_EF) + pause_irq <= 1'b1; + else if (read_0) + pause_irq <= 1'b0; + end + + + always @(posedge clk or negedge rst_n) + begin + if (rst_n == 0) + begin + r_val <= 1'b0; + t_dav <= 1'b1; + end + else + begin + r_val <= r_ena & ~wfifo_empty; + t_dav <= ~rfifo_full; + end + end + + + always @(posedge clk or negedge rst_n) + begin + if (rst_n == 0) + begin + fifo_AE <= 1'b0; + fifo_AF <= 1'b0; + fifo_wr <= 1'b0; + rvalid <= 1'b0; + read_0 <= 1'b0; + ien_AE <= 1'b0; + ien_AF <= 1'b0; + ac <= 1'b0; + woverflow <= 1'b0; + av_waitrequest <= 1'b1; + end + else + begin + fifo_AE <= {fifo_FF,wfifo_used} <= 8; + fifo_AF <= (7'h40 - {rfifo_full,rfifo_used}) <= 8; + fifo_wr <= 1'b0; + read_0 <= 1'b0; + av_waitrequest <= ~(av_chipselect & (~av_write_n | ~av_read_n) & av_waitrequest); + if (activity) + ac <= 1'b1; + // write + if (av_chipselect & ~av_write_n & av_waitrequest) + // addr 1 is control; addr 0 is data + if (av_address) + begin + ien_AF <= av_writedata[0]; + ien_AE <= av_writedata[1]; + if (av_writedata[10] & ~activity) + ac <= 1'b0; + end + else + begin + fifo_wr <= ~fifo_FF; + woverflow <= fifo_FF; + end + // read + if (av_chipselect & ~av_read_n & av_waitrequest) + begin + // addr 1 is interrupt; addr 0 is data + if (~av_address) + rvalid <= ~fifo_EF; + read_0 <= ~av_address; + end + end + end + + + assign fifo_wdata = av_writedata[7 : 0]; + assign fifo_rd = (av_chipselect & ~av_read_n & av_waitrequest & ~av_address) ? ~fifo_EF : 1'b0; + assign av_readdata = read_0 ? { {9{1'b0}},rfifo_full,rfifo_used,rvalid,woverflow,~fifo_FF,~fifo_EF,1'b0,ac,ipen_AE,ipen_AF,fifo_rdata } : { {9{1'b0}},(7'h40 - {fifo_FF,wfifo_used}),rvalid,woverflow,~fifo_FF,~fifo_EF,1'b0,ac,ipen_AE,ipen_AF,{6{1'b0}},ien_AE,ien_AF }; + always @(posedge clk or negedge rst_n) + begin + if (rst_n == 0) + readyfordata <= 0; + else + readyfordata <= ~fifo_FF; + end + + + +//synthesis translate_off +//////////////// SIMULATION-ONLY CONTENTS + // Tie off Atlantic Interface signals not used for simulation + always @(posedge clk) + begin + sim_t_pause <= 1'b0; + sim_t_ena <= 1'b0; + sim_t_dat <= t_dav ? r_dat : {8{r_val}}; + sim_r_ena <= 1'b0; + end + + + assign r_ena = sim_r_ena; + assign t_ena = sim_t_ena; + assign t_dat = sim_t_dat; + assign t_pause = sim_t_pause; + always @(fifo_EF) + begin + dataavailable = ~fifo_EF; + end + + + +//////////////// END SIMULATION-ONLY CONTENTS + +//synthesis translate_on +//synthesis read_comments_as_HDL on +// alt_jtag_atlantic cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_alt_jtag_atlantic +// ( +// .clk (clk), +// .r_dat (r_dat), +// .r_ena (r_ena), +// .r_val (r_val), +// .rst_n (rst_n), +// .t_dat (t_dat), +// .t_dav (t_dav), +// .t_ena (t_ena), +// .t_pause (t_pause) +// ); +// +// defparam cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_alt_jtag_atlantic.INSTANCE_ID = 0, +// cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_alt_jtag_atlantic.LOG2_RXFIFO_DEPTH = 6, +// cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_alt_jtag_atlantic.LOG2_TXFIFO_DEPTH = 6, +// cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_alt_jtag_atlantic.SLD_AUTO_INSTANCE_INDEX = "YES"; +// +// always @(posedge clk or negedge rst_n) +// begin +// if (rst_n == 0) +// dataavailable <= 0; +// else +// dataavailable <= ~fifo_EF; +// end +// +// +//synthesis read_comments_as_HDL off + +endmodule + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.bsf b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.bsf new file mode 100644 index 0000000000..b34a5aeba4 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.bsf @@ -0,0 +1,130 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 320 368) + (text "cva6_intel_jtag_uart_0" (rect 85 0 175 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 352 20 364)(font "Arial" )) + (port + (pt 0 76) + (input) + (text "clk" (rect 0 0 10 12)(font "SansSerif" (font_size 8))) + (text "clk" (rect 4 65 22 76)(font "SansSerif" (font_size 8))) + (line (pt 0 76)(pt 119 76)(line_width 1)) + ) + (port + (pt 0 126) + (input) + (text "rst_n" (rect 0 0 21 12)(font "SansSerif" (font_size 8))) + (text "rst_n" (rect 4 115 34 126)(font "SansSerif" (font_size 8))) + (line (pt 0 126)(pt 119 126)(line_width 1)) + ) + (port + (pt 0 176) + (input) + (text "av_chipselect" (rect 0 0 54 12)(font "SansSerif" (font_size 8))) + (text "av_chipselect" (rect 4 165 82 176)(font "SansSerif" (font_size 8))) + (line (pt 0 176)(pt 119 176)(line_width 1)) + ) + (port + (pt 0 201) + (input) + (text "av_address" (rect 0 0 48 12)(font "SansSerif" (font_size 8))) + (text "av_address" (rect 4 190 64 201)(font "SansSerif" (font_size 8))) + (line (pt 0 201)(pt 119 201)(line_width 1)) + ) + (port + (pt 0 226) + (input) + (text "av_read_n" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "av_read_n" (rect 4 215 58 226)(font "SansSerif" (font_size 8))) + (line (pt 0 226)(pt 119 226)(line_width 1)) + ) + (port + (pt 0 276) + (input) + (text "av_write_n" (rect 0 0 44 12)(font "SansSerif" (font_size 8))) + (text "av_write_n" (rect 4 265 64 276)(font "SansSerif" (font_size 8))) + (line (pt 0 276)(pt 119 276)(line_width 1)) + ) + (port + (pt 0 301) + (input) + (text "av_writedata[31..0]" (rect 0 0 74 12)(font "SansSerif" (font_size 8))) + (text "av_writedata[31..0]" (rect 4 290 118 301)(font "SansSerif" (font_size 8))) + (line (pt 0 301)(pt 119 301)(line_width 3)) + ) + (port + (pt 0 251) + (output) + (text "av_readdata[31..0]" (rect 0 0 74 12)(font "SansSerif" (font_size 8))) + (text "av_readdata[31..0]" (rect 4 240 112 251)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 326) + (output) + (text "av_waitrequest" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "av_waitrequest" (rect 4 315 88 326)(font "SansSerif" (font_size 8))) + ) + (port + (pt 320 76) + (output) + (text "av_irq" (rect 0 0 25 12)(font "SansSerif" (font_size 8))) + (text "av_irq" (rect 290 65 326 76)(font "SansSerif" (font_size 8))) + (line (pt 320 76)(pt 204 76)(line_width 1)) + ) + (drawing + (text "clk" (rect 104 46 226 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 124 71 266 152)(font "SansSerif" (color 0 0 0))) + (text "reset" (rect 90 96 210 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "reset_n" (rect 124 121 290 252)(font "SansSerif" (color 0 0 0))) + (text "avalon_jtag_slave" (rect 16 146 134 305)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "chipselect" (rect 124 171 308 352)(font "SansSerif" (color 0 0 0))) + (text "address" (rect 124 196 290 402)(font "SansSerif" (color 0 0 0))) + (text "read_n" (rect 124 221 284 452)(font "SansSerif" (color 0 0 0))) + (text "readdata" (rect 124 246 296 502)(font "SansSerif" (color 0 0 0))) + (text "write_n" (rect 124 271 290 552)(font "SansSerif" (color 0 0 0))) + (text "writedata" (rect 124 296 302 602)(font "SansSerif" (color 0 0 0))) + (text "waitrequest" (rect 124 321 314 652)(font "SansSerif" (color 0 0 0))) + (text "irq" (rect 205 46 428 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "irq" (rect 190 71 398 152)(font "SansSerif" (color 0 0 0))) + (text " cva6_intel_jtag_uart_0 " (rect 221 351 586 712)(font "SansSerif" )) + (line (pt 119 34)(pt 204 34)(line_width 1)) + (line (pt 204 34)(pt 204 351)(line_width 1)) + (line (pt 119 351)(pt 204 351)(line_width 1)) + (line (pt 119 34)(pt 119 351)(line_width 1)) + (line (pt 120 55)(pt 120 80)(line_width 1)) + (line (pt 121 55)(pt 121 80)(line_width 1)) + (line (pt 120 105)(pt 120 130)(line_width 1)) + (line (pt 121 105)(pt 121 130)(line_width 1)) + (line (pt 320 251)(pt 119 251)(line_width 3)) + (line (pt 320 326)(pt 119 326)(line_width 1)) + (line (pt 120 155)(pt 120 330)(line_width 1)) + (line (pt 121 155)(pt 121 330)(line_width 1)) + (line (pt 203 55)(pt 203 80)(line_width 1)) + (line (pt 202 55)(pt 202 80)(line_width 1)) + (line (pt 0 0)(pt 320 0)(line_width 1)) + (line (pt 320 0)(pt 320 368)(line_width 1)) + (line (pt 0 368)(pt 320 368)(line_width 1)) + (line (pt 0 0)(pt 0 368)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.cmp b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.cmp new file mode 100644 index 0000000000..846516068f --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.cmp @@ -0,0 +1,15 @@ + component cva6_intel_jtag_uart_0 is + port ( + clk : in std_logic := 'X'; -- clk + rst_n : in std_logic := 'X'; -- reset_n + av_chipselect : in std_logic := 'X'; -- chipselect + av_address : in std_logic := 'X'; -- address + av_read_n : in std_logic := 'X'; -- read_n + av_readdata : out std_logic_vector(31 downto 0); -- readdata + av_write_n : in std_logic := 'X'; -- write_n + av_writedata : in std_logic_vector(31 downto 0) := (others => 'X'); -- writedata + av_waitrequest : out std_logic; -- waitrequest + av_irq : out std_logic -- irq + ); + end component cva6_intel_jtag_uart_0; + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.html b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.html new file mode 100644 index 0000000000..0660edc253 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.html @@ -0,0 +1,188 @@ + + + + + datasheet for cva6_intel_jtag_uart_0 + + + + + + + + +
cva6_intel_jtag_uart_0 +
+
+
+ + + + + +
2024.07.30.09:07:59Datasheet
+
+
Overview
+
+
+ + + + +
+
+
+
All Components +
   + jtag_uart_0 + altera_avalon_jtag_uart 19.2.4
+
+
+
+
Memory Map
+ + + + + + + + + + +
  + jtag_uart_0 + +
avalon_jtag_slave 
+ +
+
+

jtag_uart_0

altera_avalon_jtag_uart v19.2.4 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
readBufferDepth64
readIRQThreshold8
useRegistersForReadBufferfalse
useRegistersForWriteBufferfalse
writeBufferDepth64
writeIRQThreshold8
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

+ + + + + + + + + + + + + + + + + +
READ_DEPTH64
READ_THRESHOLD8
WRITE_DEPTH64
WRITE_THRESHOLD8
+
+
+ + + + + +
generation took 0.00 secondsrendering took 0.04 seconds
+ + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qgsynthc b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qgsynthc new file mode 100644 index 0000000000..e1f3ba004e --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qgsynthc @@ -0,0 +1,96 @@ + + + cva6_intel_jtag_uart_0 + + + + cva6_intel_jtag_uart_0 + 1.0 + cva6_intel_jtag_uart_0 + cva6_intel_jtag_uart_0 + 0 + + + + + jtag_uart_0 + + + + allowMultipleConnections + false + + + avalonSpec + 2.0 + + + clkFreq + 300000000 + + + enableInteractiveInput + false + + + enableInteractiveOutput + false + + + hubInstanceID + 0 + + + legacySignalAllow + false + + + readBufferDepth + 64 + + + readIRQThreshold + 8 + + + simInputCharacterStream + + + + simInteractiveOptions + NO_INTERACTIVE_WINDOWS + + + useRegistersForReadBuffer + false + + + useRegistersForWriteBuffer + false + + + useRelativePathForSimFile + false + + + writeBufferDepth + 64 + + + writeIRQThreshold + 8 + + + + altera_avalon_jtag_uart + 19.2.4 + jtag_uart_0 + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq + 0 + + cva6_intel_jtag_uart_0.jtag_uart_0 + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qip b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qip new file mode 100644 index 0000000000..c153555939 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.qip @@ -0,0 +1,45 @@ +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_avalon_jtag_uart" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name PRE_COMPILED_MODULE "ON" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name OCS_IP_FILE "/home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_jtag_uart_0.ip" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name OCS_IP_TYPE "altera_avalon_jtag_uart" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name OCS_IP_VERSION "19.2.4" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name OCS_IP_HASH "v3imxwq" +set_global_assignment -library "cva6_intel_jtag_uart_0" -name SOPCINFO_FILE [file join $::quartus(qip_path) "cva6_intel_jtag_uart_0.sopcinfo"] +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name SLD_INFO "QSYS_NAME cva6_intel_jtag_uart_0 HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "cva6_intel_jtag_uart_0" -name MISC_FILE [file join $::quartus(qip_path) "cva6_intel_jtag_uart_0.cmp"] +set_global_assignment -library "cva6_intel_jtag_uart_0" -name SLD_FILE [file join $::quartus(qip_path) "cva6_intel_jtag_uart_0.regmap"] +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "cva6_intel_jtag_uart_0" -name MISC_FILE [file join $::quartus(qip_path) "../cva6_intel_jtag_uart_0.ip"] + +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_NAME "Y3ZhNl9pbnRlbF9qdGFnX3VhcnRfMF9hbHRlcmFfYXZhbG9uX2p0YWdfdWFydF8xOTI0X3YzaW14d3E=" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_DISPLAY_NAME "SlRBRyBVQVJUIEludGVsIEZQR0EgSVA=" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_VERSION "MTkuMi40" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_GROUP "SW50ZXJmYWNlIFByb3RvY29scy9TZXJpYWw=" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly9kb2N1bWVudGF0aW9uLmFsdGVyYS5jb20vIy9saW5rL3NmbzE0MDA3ODc5NTI5MzIvaWdhMTQwMTMxNzExMjEzOA==" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly9kb2N1bWVudGF0aW9uLmFsdGVyYS5jb20vIy9saW5rL2hjbzE0MjE2OTgwNDIwODcvaGNvMTQyMTY5NzY4OTMwMA==" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_NAME "Y3ZhNl9pbnRlbF9qdGFnX3VhcnRfMA==" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "cva6_intel_jtag_uart_0" -library "cva6_intel_jtag_uart_0" -name IP_COMPONENT_VERSION "MS4w" + + +set_global_assignment -library "altera_avalon_jtag_uart_1924" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_avalon_jtag_uart_1924/synth/cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq.v"] +set_global_assignment -library "cva6_intel_jtag_uart_0" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/cva6_intel_jtag_uart_0.v"] + + +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_TOOL_NAME "altera_avalon_jtag_uart" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_TOOL_VERSION "19.2.4" +set_global_assignment -entity "cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" -library "altera_avalon_jtag_uart_1924" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.regmap b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.regmap new file mode 100644 index 0000000000..25cfc7e036 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.regmap @@ -0,0 +1,182 @@ + + +cva6_intel_jtag_uart_0 + + + cva6_intel_jtag_uart_0_avalon_jtag_slave_altera_avalon_jtag_uart0x00000000 + + 0x0 + 8 + registers + + + + DATA + Data + Embedded software accesses the read and write FIFOs via the data register. A read from the data register returns the first character from the FIFO (if one is available) in the DATA field. Reading also returns information about the number of characters remaining in the FIFO in the RAVAIL field. A write to the data register stores the value of the DATA field in the write FIFO. If the write FIFO is full, the character is lost. + 0x0 + 32 + read-write + 0x0 + 0xffffffff + + data + The value to transfer to/from the JTAG core. When writing, the DATA field holds a character to be written to the write FIFO. When reading, the DATA field holds a character read from the read FIFO. + 0x0 + 8 + read-write + + rvalid + Indicates whether the DATA field is valid. If RVALID=1, the DATA field is valid, otherwise DATA is undefined. + 0xf + 1 + read-only + + ravail + The number of characters remaining in the read FIFO (after the current read). + 0x10 + 16 + read-only + + + + + CONTROL + Control + Embedded software controls the JTAG UART core's interrupt generation and reads status information via the control register. A read from the control register returns the status of the read and write FIFOs. Writes to the register can be used to enable/disable interrupts, or clear the AC bit. + 0x4 + 32 + read-write + 0x0 + 0xffffffff + + re + Interrupt-enable bit for read interrupts. + 0x0 + 1 + read-write + + we + Interrupt-enable bit for write interrupts + 0x1 + 1 + read-write + + ri + Indicates that the read interrupt is pending. + 0x8 + 1 + read-only + + wi + Indicates that the write interrupt is pending. + 0x9 + 1 + read-only + + ac + Indicates that there has been JTAG activity since the bit was cleared. Writing 1 to AC clears it to 0. + 0xa + 1 + read-write + + wspace + The number of spaces available in the write FIFO + 0x10 + 16 + read-only + + + + + + + cva6_intel_jtag_uart_0_jtag_uart_0_avalon_jtag_slave_altera_avalon_jtag_uart0x00000000 + + 0x0 + 8 + registers + + + + DATA + Data + Embedded software accesses the read and write FIFOs via the data register. A read from the data register returns the first character from the FIFO (if one is available) in the DATA field. Reading also returns information about the number of characters remaining in the FIFO in the RAVAIL field. A write to the data register stores the value of the DATA field in the write FIFO. If the write FIFO is full, the character is lost. + 0x0 + 32 + read-write + 0x0 + 0xffffffff + + data + The value to transfer to/from the JTAG core. When writing, the DATA field holds a character to be written to the write FIFO. When reading, the DATA field holds a character read from the read FIFO. + 0x0 + 8 + read-write + + rvalid + Indicates whether the DATA field is valid. If RVALID=1, the DATA field is valid, otherwise DATA is undefined. + 0xf + 1 + read-only + + ravail + The number of characters remaining in the read FIFO (after the current read). + 0x10 + 16 + read-only + + + + + CONTROL + Control + Embedded software controls the JTAG UART core's interrupt generation and reads status information via the control register. A read from the control register returns the status of the read and write FIFOs. Writes to the register can be used to enable/disable interrupts, or clear the AC bit. + 0x4 + 32 + read-write + 0x0 + 0xffffffff + + re + Interrupt-enable bit for read interrupts. + 0x0 + 1 + read-write + + we + Interrupt-enable bit for write interrupts + 0x1 + 1 + read-write + + ri + Indicates that the read interrupt is pending. + 0x8 + 1 + read-only + + wi + Indicates that the write interrupt is pending. + 0x9 + 1 + read-only + + ac + Indicates that there has been JTAG activity since the bit was cleared. Writing 1 to AC clears it to 0. + 0xa + 1 + read-write + + wspace + The number of spaces available in the write FIFO + 0x10 + 16 + read-only + + + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.sopcinfo b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.sopcinfo new file mode 100644 index 0000000000..500f04b680 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.sopcinfo @@ -0,0 +1,1028 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + default + false + true + false + true + BOARD + + + java.lang.Long + -1 + false + true + false + true + CLOCK_RATE + clk + + + java.lang.Integer + -1 + false + true + false + true + CLOCK_DOMAIN + clk + + + java.lang.Integer + -1 + false + true + false + true + RESET_DOMAIN + clk + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + embeddedsw.CMacro.READ_DEPTH + 64 + + + embeddedsw.CMacro.READ_THRESHOLD + 8 + + + embeddedsw.CMacro.WRITE_DEPTH + 64 + + + embeddedsw.CMacro.WRITE_THRESHOLD + 8 + + + embeddedsw.dts.compatible + altr,juart-1.0 + + + embeddedsw.dts.group + serial + + + embeddedsw.dts.name + juart + + + embeddedsw.dts.vendor + altr + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 64 + false + true + true + true + + + int + 8 + false + true + true + true + + + java.lang.String + + false + false + false + true + + + java.lang.String + NO_INTERACTIVE_WINDOWS + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 64 + false + true + true + true + + + int + 8 + false + true + true + true + + + long + 300000000 + false + true + false + true + CLOCK_RATE + clk + + + java.lang.String + 2.0 + false + true + false + true + AVALON_SPEC + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.Boolean + true + true + true + false + true + + + java.lang.Long + 300000000 + true + true + false + true + + clock + 0 + false + + clk + Input + 1 + clk + + + + + + java.lang.String + clk + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + DEASSERT + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + false + + rst_n + Input + 1 + reset_n + + + + + + embeddedsw.configuration.isFlash + 0 + + + embeddedsw.configuration.isMemoryDevice + 0 + + + embeddedsw.configuration.isNonVolatileStorage + 0 + + + embeddedsw.configuration.isPrintableDevice + 1 + + + com.altera.sopcmodel.avalon.AvalonConnectionPoint$AddressAlignment + NATIVE + false + true + false + true + + + int + 0 + false + true + true + true + + + java.math.BigInteger + 2 + true + true + false + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + clk + false + true + true + true + + + java.lang.String + reset + false + true + true + true + + + int + 8 + false + true + true + true + + + java.math.BigInteger + + false + true + true + true + + + com.altera.entityinterfaces.IConnectionPoint + + false + true + true + true + + + boolean + false + false + true + true + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.math.BigInteger + 0 + false + true + true + true + + + int + 0 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 0 + false + false + true + true + + + int + 0 + false + false + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + false + true + true + + + int + 1 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + false + true + true + + + com.altera.sopcmodel.avalon.TimingUnits + Cycles + false + false + true + true + + + boolean + false + false + true + true + true + + + int + 0 + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + false + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 35 + false + true + true + true + + + java.lang.Integer + 3 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon + 8 + false + + av_chipselect + Input + 1 + chipselect + + + av_address + Input + 1 + address + + + av_read_n + Input + 1 + read_n + + + av_readdata + Output + 32 + readdata + + + av_write_n + Input + 1 + write_n + + + av_writedata + Input + 32 + writedata + + + av_waitrequest + Output + 1 + waitrequest + + + + + + com.altera.entityinterfaces.IConnectionPoint + jtag_uart_0.avalon_jtag_slave + false + true + false + true + + + java.lang.String + clk + false + true + false + true + + + java.lang.String + reset + false + true + false + true + + + java.lang.Integer + + false + true + true + true + + + com.altera.entityinterfaces.IConnectionPoint + + false + true + true + true + + + com.altera.sopcmodel.interrupt.InterruptConnectionPoint$EIrqScheme + NONE + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + interrupt + 0 + false + + av_irq + Output + 1 + irq + + + + + 1 + altera_avalon_jtag_uart + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + JTAG UART Intel FPGA IP + 19.2.4 + + + 1 + clock_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Input + 24.1 + + + 1 + reset_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Reset Input + 24.1 + + + 1 + avalon_slave + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Avalon Memory Mapped Agent + 24.1 + + + 1 + interrupt_sender + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Interrupt Sender + 24.1 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.xml b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.xml new file mode 100644 index 0000000000..b853c4336b --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: cva6_intel_jtag_uart_0" + "Generating: cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" + Starting RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' + Generation command is [exec /opt/Quartus/quartus/linux64//perl/bin/perl -I /opt/Quartus/quartus/linux64//perl/lib -I /opt/Quartus/quartus/sopc_builder/bin/europa -I /opt/Quartus/quartus/sopc_builder/bin/perl_lib -I /opt/Quartus/quartus/sopc_builder/bin -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/common -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart -- /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart/generate_rtl.pl --name=cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq --dir=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen/ --quartus_dir=/opt/Quartus/quartus --verilog --config=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen//cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_component_configuration.pl --do_build_sim=0 ] + Done RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" + Starting RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' + Generation command is [exec /opt/Quartus/quartus/linux64//perl/bin/perl -I /opt/Quartus/quartus/linux64//perl/lib -I /opt/Quartus/quartus/sopc_builder/bin/europa -I /opt/Quartus/quartus/sopc_builder/bin/perl_lib -I /opt/Quartus/quartus/sopc_builder/bin -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/common -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart -- /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart/generate_rtl.pl --name=cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq --dir=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen/ --quartus_dir=/opt/Quartus/quartus --verilog --config=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen//cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_component_configuration.pl --do_build_sim=0 ] + Done RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' + + + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_bb.v b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_bb.v new file mode 100644 index 0000000000..89c32e450f --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_bb.v @@ -0,0 +1,14 @@ +module cva6_intel_jtag_uart_0 ( + input wire clk, // clk.clk + input wire rst_n, // reset.reset_n + input wire av_chipselect, // avalon_jtag_slave.chipselect + input wire av_address, // .address + input wire av_read_n, // .read_n + output wire [31:0] av_readdata, // .readdata + input wire av_write_n, // .write_n + input wire [31:0] av_writedata, // .writedata + output wire av_waitrequest, // .waitrequest + output wire av_irq // irq.irq + ); +endmodule + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_generation.rpt b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_generation.rpt new file mode 100644 index 0000000000..e082881593 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_generation.rpt @@ -0,0 +1,19 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_jtag_uart_0.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_jtag_uart_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: cva6_intel_jtag_uart_0.jtag_uart_0: JTAG UART IP input clock need to be at least double (2x) the operating frequency of JTAG TCK on board +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_jtag_uart_0.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/ip/cva6_intel/cva6_intel_jtag_uart_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: cva6_intel_jtag_uart_0.jtag_uart_0: JTAG UART IP input clock need to be at least double (2x) the operating frequency of JTAG TCK on board +Info: cva6_intel_jtag_uart_0: "Transforming system: cva6_intel_jtag_uart_0" +Info: cva6_intel_jtag_uart_0: "Naming system components in system: cva6_intel_jtag_uart_0" +Info: cva6_intel_jtag_uart_0: "Processing generation queue" +Info: cva6_intel_jtag_uart_0: "Generating: cva6_intel_jtag_uart_0" +Info: cva6_intel_jtag_uart_0: "Generating: cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq" +Info: jtag_uart_0: Starting RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' +Info: jtag_uart_0: Generation command is [exec /opt/Quartus/quartus/linux64//perl/bin/perl -I /opt/Quartus/quartus/linux64//perl/lib -I /opt/Quartus/quartus/sopc_builder/bin/europa -I /opt/Quartus/quartus/sopc_builder/bin/perl_lib -I /opt/Quartus/quartus/sopc_builder/bin -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/common -I /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart -- /opt/Quartus/quartus/../ip/altera/sopc_builder_ip/altera_avalon_jtag_uart/generate_rtl.pl --name=cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq --dir=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen/ --quartus_dir=/opt/Quartus/quartus --verilog --config=/tmp/alt9934_17442513099174763394.dir/0001_jtag_uart_0_gen//cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq_component_configuration.pl --do_build_sim=0 ] +Info: jtag_uart_0: Done RTL generation for module 'cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq' +Info: cva6_intel_jtag_uart_0: Done "cva6_intel_jtag_uart_0" with 2 modules, 2 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.v b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.v new file mode 100644 index 0000000000..0588fd6807 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.v @@ -0,0 +1,13 @@ + cva6_intel_jtag_uart_0 u0 ( + .clk (_connected_to_clk_), // input, width = 1, clk.clk + .rst_n (_connected_to_rst_n_), // input, width = 1, reset.reset_n + .av_chipselect (_connected_to_av_chipselect_), // input, width = 1, avalon_jtag_slave.chipselect + .av_address (_connected_to_av_address_), // input, width = 1, .address + .av_read_n (_connected_to_av_read_n_), // input, width = 1, .read_n + .av_readdata (_connected_to_av_readdata_), // output, width = 32, .readdata + .av_write_n (_connected_to_av_write_n_), // input, width = 1, .write_n + .av_writedata (_connected_to_av_writedata_), // input, width = 32, .writedata + .av_waitrequest (_connected_to_av_waitrequest_), // output, width = 1, .waitrequest + .av_irq (_connected_to_av_irq_) // output, width = 1, irq.irq + ); + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.vhd b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.vhd new file mode 100644 index 0000000000..f9cacf38b5 --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/cva6_intel_jtag_uart_0_inst.vhd @@ -0,0 +1,29 @@ + component cva6_intel_jtag_uart_0 is + port ( + clk : in std_logic := 'X'; -- clk + rst_n : in std_logic := 'X'; -- reset_n + av_chipselect : in std_logic := 'X'; -- chipselect + av_address : in std_logic := 'X'; -- address + av_read_n : in std_logic := 'X'; -- read_n + av_readdata : out std_logic_vector(31 downto 0); -- readdata + av_write_n : in std_logic := 'X'; -- write_n + av_writedata : in std_logic_vector(31 downto 0) := (others => 'X'); -- writedata + av_waitrequest : out std_logic; -- waitrequest + av_irq : out std_logic -- irq + ); + end component cva6_intel_jtag_uart_0; + + u0 : component cva6_intel_jtag_uart_0 + port map ( + clk => CONNECTED_TO_clk, -- clk.clk + rst_n => CONNECTED_TO_rst_n, -- reset.reset_n + av_chipselect => CONNECTED_TO_av_chipselect, -- avalon_jtag_slave.chipselect + av_address => CONNECTED_TO_av_address, -- .address + av_read_n => CONNECTED_TO_av_read_n, -- .read_n + av_readdata => CONNECTED_TO_av_readdata, -- .readdata + av_write_n => CONNECTED_TO_av_write_n, -- .write_n + av_writedata => CONNECTED_TO_av_writedata, -- .writedata + av_waitrequest => CONNECTED_TO_av_waitrequest, -- .waitrequest + av_irq => CONNECTED_TO_av_irq -- irq.irq + ); + diff --git a/corev_apu/altera/ip/cva6_intel_jtag_uart_0/synth/cva6_intel_jtag_uart_0.v b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/synth/cva6_intel_jtag_uart_0.v new file mode 100644 index 0000000000..369dffa8bf --- /dev/null +++ b/corev_apu/altera/ip/cva6_intel_jtag_uart_0/synth/cva6_intel_jtag_uart_0.v @@ -0,0 +1,32 @@ +// cva6_intel_jtag_uart_0.v + +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module cva6_intel_jtag_uart_0 ( + input wire clk, // clk.clk + input wire rst_n, // reset.reset_n + input wire av_chipselect, // avalon_jtag_slave.chipselect + input wire av_address, // .address + input wire av_read_n, // .read_n + output wire [31:0] av_readdata, // .readdata + input wire av_write_n, // .write_n + input wire [31:0] av_writedata, // .writedata + output wire av_waitrequest, // .waitrequest + output wire av_irq // irq.irq + ); + + cva6_intel_jtag_uart_0_altera_avalon_jtag_uart_1924_v3imxwq jtag_uart_0 ( + .clk (clk), // input, width = 1, clk.clk + .rst_n (rst_n), // input, width = 1, reset.reset_n + .av_chipselect (av_chipselect), // input, width = 1, avalon_jtag_slave.chipselect + .av_address (av_address), // input, width = 1, .address + .av_read_n (av_read_n), // input, width = 1, .read_n + .av_readdata (av_readdata), // output, width = 32, .readdata + .av_write_n (av_write_n), // input, width = 1, .write_n + .av_writedata (av_writedata), // input, width = 32, .writedata + .av_waitrequest (av_waitrequest), // output, width = 1, .waitrequest + .av_irq (av_irq) // output, width = 1, irq.irq + ); + +endmodule diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0.ip b/corev_apu/altera/ip/ed_synth_emif_fm_0.ip new file mode 100644 index 0000000000..88846cfdee --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0.ip @@ -0,0 +1,10744 @@ + + + + Intel Corporation + ed_synth_emif_fm_0 + emif_fm_0 + 2.7.4 + + + local_reset_req + + + + + + + + local_reset_req + + + local_reset_req + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + local_reset_status + + + + + + + + local_reset_done + + + local_reset_done + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + pll_ref_clk + + + + + + + + clk + + + pll_ref_clk + + + + + + + + + clockRate + Clock rate + 0 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + pll_locked + + + + + + + + pll_locked + + + pll_locked + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + oct + + + + + + + + oct_rzqin + + + oct_rzqin + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + mem + + + + + + + + mem_ck + + + mem_ck + + + + + mem_ck_n + + + mem_ck_n + + + + + mem_a + + + mem_a + + + + + mem_act_n + + + mem_act_n + + + + + mem_ba + + + mem_ba + + + + + mem_bg + + + mem_bg + + + + + mem_cke + + + mem_cke + + + + + mem_cs_n + + + mem_cs_n + + + + + mem_odt + + + mem_odt + + + + + mem_reset_n + + + mem_reset_n + + + + + mem_par + + + mem_par + + + + + mem_alert_n + + + mem_alert_n + + + + + mem_dqs + + + mem_dqs + + + + + mem_dqs_n + + + mem_dqs_n + + + + + mem_dq + + + mem_dq + + + + + mem_dbi_n + + + mem_dbi_n + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + status + + + + + + + + local_cal_success + + + local_cal_success + + + + + local_cal_fail + + + local_cal_fail + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + emif_calbus + + + + + + + + calbus_read + + + calbus_read + + + + + calbus_write + + + calbus_write + + + + + calbus_address + + + calbus_address + + + + + calbus_wdata + + + calbus_wdata + + + + + calbus_rdata + + + calbus_rdata + + + + + calbus_seq_param_tbl + + + calbus_seq_param_tbl + + + + + + + + + associatedClock + associatedClock + emif_calbus_clk + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + emif_calbus_clk + + + + + + + + clk + + + calbus_clk + + + + + + + + + clockRate + Clock rate + 0 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + emif_usr_reset_n + + + + + + + + reset_n + + + emif_usr_reset_n + + + + + + + + + associatedClock + Associated clock + + + + associatedDirectReset + Associated direct reset + + + + associatedResetSinks + Associated reset sinks + none + + + synchronousEdges + Synchronous edges + NONE + + + + + emif_usr_clk + + + + + + + + clk + + + emif_usr_clk + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 300000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + ctrl_ecc_user_interrupt_0 + + + + + + + + ctrl_ecc_user_interrupt + + + ctrl_ecc_user_interrupt_0 + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + ctrl_amm_0 + + + + + + + + waitrequest_n + + + amm_ready_0 + + + + + read + + + amm_read_0 + + + + + write + + + amm_write_0 + + + + + address + + + amm_address_0 + + + + + readdata + + + amm_readdata_0 + + + + + writedata + + + amm_writedata_0 + + + + + burstcount + + + amm_burstcount_0 + + + + + byteenable + + + amm_byteenable_0 + + + + + readdatavalid + + + amm_readdatavalid_0 + + + + + + + + + addressAlignment + Agent addressing + DYNAMIC + + + addressGroup + Address group + 0 + + + addressSpan + Address span + 8589934592 + + + addressUnits + Address units + WORDS + + + alwaysBurstMaxBurst + Always burst maximum burst + false + + + associatedClock + Associated clock + emif_usr_clk + + + associatedReset + Associated reset + emif_usr_reset_n + + + bitsPerSymbol + Bits per symbol + 8 + + + bridgedAddressOffset + Bridged Address Offset + 0 + + + bridgesToMaster + Bridges to host + + + + burstOnBurstBoundariesOnly + Burst on burst boundaries only + false + + + burstcountUnits + Burstcount units + WORDS + + + constantBurstBehavior + Constant burst behavior + false + + + explicitAddressSpan + Explicit address span + 0 + + + holdTime + Hold + 0 + + + interleaveBursts + Interleave bursts + false + + + isBigEndian + Big endian + false + + + isFlash + Flash memory + false + + + isMemoryDevice + Memory device + true + + + isNonVolatileStorage + Non-volatile storage + false + + + linewrapBursts + Linewrap bursts + false + + + maximumPendingReadTransactions + Maximum pending read transactions + 64 + + + maximumPendingWriteTransactions + Maximum pending write transactions + 0 + + + minimumReadLatency + minimumReadLatency + 1 + + + minimumResponseLatency + Minimum response latency + 1 + + + minimumUninterruptedRunLength + Minimum uninterrupted run length + 1 + + + prSafe + Partial Reconfiguration Safe + false + + + printableDevice + Can receive stdout/stderr + false + + + readLatency + Read latency + 0 + + + readWaitStates + Read wait states + 1 + + + readWaitTime + Read wait + 1 + + + registerIncomingSignals + Register incoming signals + false + + + registerOutgoingSignals + Register outgoing signals + false + + + setupTime + Setup + 0 + + + timingUnits + Timing units + Cycles + + + transparentBridge + Transparent bridge + false + + + waitrequestAllowance + Waitrequest allowance + 0 + + + wellBehavedWaitrequest + Well-behaved waitrequest + false + + + writeLatency + Write latency + 0 + + + writeWaitStates + Write wait states + 0 + + + writeWaitTime + Write wait + 0 + + + dfhFeatureGuid + Feature GUID + 0 + + + dfhGroupId + Group ID + 0 + + + dfhParameterId + ID + + + + dfhParameterName + Name + + + + dfhParameterVersion + Version + + + + dfhParameterData + Data (HEX/DEC) + + + + dfhParameterDataLength + Data length + + + + dfhFeatureMajorVersion + Feature major version + 0 + + + dfhFeatureMinorVersion + Feature minor version + 0 + + + dfhFeatureId + Feature ID + 35 + + + dfhFeatureType + Feature Type + 3 + + + + + + + embeddedsw.configuration.isFlash + 0 + + + embeddedsw.configuration.isMemoryDevice + 1 + + + embeddedsw.configuration.isNonVolatileStorage + 0 + + + embeddedsw.configuration.isPrintableDevice + 0 + + + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_emif_fm + + QUARTUS_SYNTH + + + + + + local_reset_req + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + local_reset_done + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + pll_ref_clk + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + pll_locked + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + oct_rzqin + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + mem_ck + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_ck_n + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_a + + out + + + 0 + 16 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_act_n + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_ba + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_bg + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_cke + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_cs_n + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_odt + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_reset_n + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_par + + out + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_alert_n + + in + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_dqs + + inout + + + 0 + 8 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_dqs_n + + inout + + + 0 + 8 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_dq + + inout + + + 0 + 71 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + mem_dbi_n + + inout + + + 0 + 8 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + local_cal_success + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + local_cal_fail + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + calbus_read + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + calbus_write + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + calbus_address + + in + + + 0 + 19 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_wdata + + in + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_rdata + + out + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_seq_param_tbl + + out + + + 0 + 4095 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_clk + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + emif_usr_reset_n + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + emif_usr_clk + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + ctrl_ecc_user_interrupt_0 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + amm_ready_0 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + amm_read_0 + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + amm_write_0 + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + amm_address_0 + + in + + + 0 + 26 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + amm_readdata_0 + + out + + + 0 + 511 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + amm_writedata_0 + + in + + + 0 + 511 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + amm_burstcount_0 + + in + + + 0 + 6 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + amm_byteenable_0 + + in + + + 0 + 63 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + amm_readdatavalid_0 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + ed_synth_emif_fm_0 + altera_emif_fm + 2.7.4 + + + + + SYS_INFO_DEVICE_FAMILY + PARAM_SYS_INFO_DEVICE_FAMILY_NAME + Agilex 7 + + + SYS_INFO_DEVICE + PARAM_SYS_INFO_DEVICE_NAME + AGFB014R24B2E2V + + + SYS_INFO_DEVICE_SPEEDGRADE + PARAM_SYS_INFO_DEVICE_SPEEDGRADE_NAME + 2 + + + SYS_INFO_DEVICE_TEMPERATURE_GRADE + PARAM_SYS_INFO_DEVICE_TEMPERATURE_GRADE_NAME + EXTENDED + + + SYS_INFO_DEVICE_POWER_MODEL + PARAM_SYS_INFO_DEVICE_POWER_MODEL_NAME + STANDARD_POWER + + + SYS_INFO_DEVICE_DIE_REVISIONS + PARAM_SYS_INFO_DEVICE_DIE_REVISIONS_NAME + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + + + TRAIT_SUPPORTS_VID + PARAM_TRAIT_SUPPORTS_VID_NAME + 1 + + + TRAIT_IOBANK_REVISION + PARAM_TRAIT_IOBANK_REVISION_NAME + IO96A_REVB2 + + + PROTOCOL_ENUM + Protocol + PROTOCOL_DDR4 + + + IS_ED_SLAVE + PARAM_IS_ED_SLAVE_NAME + false + + + INTERNAL_TESTING_MODE + PARAM_INTERNAL_TESTING_MODE_NAME + false + + + CAL_DEBUG_CLOCK_FREQUENCY + PARAM_CAL_DEBUG_CLOCK_FREQUENCY_NAME + 50000000 + + + SYS_INFO_UNIQUE_ID + PARAM_SYS_INFO_UNIQUE_ID_NAME + ed_synth_emif_fm_0_emif_fm_0 + + + PLL_ADD_EXTRA_CLKS + Specify additional core clocks based on existing PLL + false + + + PLL_USER_NUM_OF_EXTRA_CLKS + Number of additional core clocks + 0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 + Frequency + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 + Phase shift + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 + PARAM_PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8_NAME + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 + PARAM_PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8_NAME + ps + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 + PARAM_PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8_NAME + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 + PARAM_PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8_NAME + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 + PARAM_PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8_NAME + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 + PARAM_PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8_NAME + 50.0 + + + PHY_DDR3_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR3_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_DDR3_MEM_CLK_FREQ_MHZ + Memory clock frequency + 1066.667 + + + PHY_DDR3_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_DDR3_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_DDR3_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_DDR3_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_DDR3_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_DDR3_IO_VOLTAGE + Voltage + 1.5 + + + PHY_DDR3_DEFAULT_IO + Use default I/O settings + true + + + PHY_DDR3_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_DDR3_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR3_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + true + + + PHY_DDR3_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_DDR3_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_DDR3_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_DDR3_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR3_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR3_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_DDR3_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_DDR3_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR3_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR3_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_DDR3_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_DDR3_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR3_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_DDR3_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_DDR3_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_DDR3_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_DDR3_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_DDR3_CAL_ADDR0 + PARAM_PHY_DDR3_CAL_ADDR0_NAME + 0 + + + PHY_DDR3_CAL_ADDR1 + PARAM_PHY_DDR3_CAL_ADDR1_NAME + 8 + + + PHY_DDR3_CAL_ENABLE_NON_DES + PARAM_PHY_DDR3_CAL_ENABLE_NON_DES_NAME + false + + + PHY_DDR4_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR4_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_DDR4_USER_CLAMSHELL_EN + Use clamshell layout + false + + + PHY_DDR4_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + true + + + PHY_DDR4_MEM_CLK_FREQ_MHZ + Memory clock frequency + 1200.0 + + + PHY_DDR4_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + false + + + PHY_DDR4_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + 33.333 + + + PHY_DDR4_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_DDR4_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_DDR4_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_DDR4_IO_VOLTAGE + Voltage + 1.2 + + + PHY_DDR4_DEFAULT_IO + Use default I/O settings + false + + + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR4_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_DDR4_ALLOW_72_DQ_WIDTH + Allow DQ Widths of 72 + false + + + PHY_DDR4_USER_AC_IO_STD_ENUM + I/O standard + IO_STD_SSTL_12 + + + PHY_DDR4_USER_AC_MODE_ENUM + Output mode + OUT_OCT_40_CAL + + + PHY_DDR4_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR4_USER_CK_IO_STD_ENUM + I/O standard + IO_STD_SSTL_12 + + + PHY_DDR4_USER_CK_MODE_ENUM + Output mode + OUT_OCT_40_CAL + + + PHY_DDR4_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR4_USER_DATA_IO_STD_ENUM + I/O standard + IO_STD_POD_12 + + + PHY_DDR4_USER_DATA_OUT_MODE_ENUM + Output mode + OUT_OCT_40_CAL + + + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDR4_USER_DATA_IN_MODE_ENUM + Input mode + IN_OCT_60_CAL + + + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_DDR4_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + IO_STD_CMOS_12 + + + PHY_QDR2_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR2_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_QDR2_MEM_CLK_FREQ_MHZ + Memory clock frequency + 633.333 + + + PHY_QDR2_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_QDR2_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_QDR2_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_QDR2_RATE_ENUM + Clock rate of user logic + RATE_HALF + + + PHY_QDR2_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_QDR2_IO_VOLTAGE + Voltage + 1.5 + + + PHY_QDR2_DEFAULT_IO + Use default I/O settings + true + + + PHY_QDR2_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_QDR2_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR2_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + false + + + PHY_QDR2_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_QDR2_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR2_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_QDR2_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR2_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR2_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR2_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_QDR2_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR2_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR2_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR2_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_QDR2_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR2_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR2_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_QDR2_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_QDR2_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_QDR2_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_QDR2_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_QDR4_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR4_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_QDR4_MEM_CLK_FREQ_MHZ + Memory clock frequency + 1066.667 + + + PHY_QDR4_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_QDR4_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_QDR4_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_QDR4_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_QDR4_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_QDR4_IO_VOLTAGE + Voltage + 1.2 + + + PHY_QDR4_DEFAULT_IO + Use default I/O settings + true + + + PHY_QDR4_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_QDR4_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR4_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + true + + + PHY_QDR4_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_QDR4_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR4_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_QDR4_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR4_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR4_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR4_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_QDR4_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR4_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR4_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_QDR4_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_QDR4_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_QDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_QDR4_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_QDR4_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_QDR4_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_QDR4_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_QDR4_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_RLD2_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_RLD2_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_RLD2_MEM_CLK_FREQ_MHZ + Memory clock frequency + 533.333 + + + PHY_RLD2_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_RLD2_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_RLD2_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_RLD2_RATE_ENUM + Clock rate of user logic + RATE_HALF + + + PHY_RLD2_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_RLD2_IO_VOLTAGE + Voltage + 1.8 + + + PHY_RLD2_DEFAULT_IO + Use default I/O settings + true + + + PHY_RLD2_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_RLD2_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD2_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + false + + + PHY_RLD2_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_RLD2_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD2_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_RLD2_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD2_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD2_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD2_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_RLD2_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD2_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD2_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD2_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_RLD2_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD2_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD2_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_RLD2_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_RLD2_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_RLD2_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_RLD2_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_RLD3_CONFIG_ENUM + Configuration + CONFIG_PHY_ONLY + + + PHY_RLD3_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_RLD3_MEM_CLK_FREQ_MHZ + Memory clock frequency + 1066.667 + + + PHY_RLD3_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_RLD3_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_RLD3_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_RLD3_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_RLD3_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_RLD3_IO_VOLTAGE + Voltage + 1.2 + + + PHY_RLD3_DEFAULT_IO + Use default I/O settings + true + + + PHY_RLD3_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_RLD3_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD3_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + false + + + PHY_RLD3_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_RLD3_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD3_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_RLD3_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD3_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD3_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD3_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_RLD3_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD3_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD3_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_RLD3_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_RLD3_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_RLD3_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_RLD3_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_RLD3_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_RLD3_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_RLD3_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_RLD3_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_LPDDR3_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_HARD_CTRL + + + PHY_LPDDR3_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_LPDDR3_MEM_CLK_FREQ_MHZ + Memory clock frequency + 800.0 + + + PHY_LPDDR3_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_LPDDR3_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_LPDDR3_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_LPDDR3_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_LPDDR3_IO_VOLTAGE + Voltage + 1.2 + + + PHY_LPDDR3_DEFAULT_IO + Use default I/O settings + true + + + PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_LPDDR3_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + false + + + PHY_LPDDR3_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_LPDDR3_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_LPDDR3_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_LPDDR3_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_LPDDR3_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_LPDDR3_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_LPDDR3_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_LPDDR3_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_LPDDR3_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + PHY_DDRT_CONFIG_ENUM + Configuration + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_DDRT_USER_PING_PONG_EN + Instantiate two controllers sharing a Ping Pong PHY + false + + + PHY_DDRT_USER_DLL_CORE_UPDN_EN + Use linear search for DLL lock + false + + + PHY_DDRT_MEM_CLK_FREQ_MHZ + Memory clock frequency + 1200.0 + + + PHY_DDRT_DEFAULT_REF_CLK_FREQ + Use recommended PLL reference clock frequency + true + + + PHY_DDRT_USER_REF_CLK_FREQ_MHZ + PLL reference clock frequency + -1.0 + + + PHY_DDRT_REF_CLK_JITTER_PS + PLL reference clock jitter + 10.0 + + + PHY_DDRT_RATE_ENUM + Clock rate of user logic + RATE_QUARTER + + + PHY_DDRT_CORE_CLKS_SHARING_ENUM + Core clocks sharing + CORE_CLKS_SHARING_DISABLED + + + PHY_DDRT_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + Export clks_sharing_slave_out to facilitate multi-slave connectivity + false + + + PHY_DDRT_IO_VOLTAGE + Voltage + 1.2 + + + PHY_DDRT_DEFAULT_IO + Use default I/O settings + true + + + PHY_DDRT_HPS_ENABLE_EARLY_RELEASE + Enable HPS Early Release Mode + false + + + PHY_DDRT_USER_PERIODIC_OCT_RECAL_ENUM + Periodic OCT re-calibration + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDRT_MIMIC_HPS_EMIF + Mimic HPS EMIF + false + + + PHY_DDRT_IC_EN + Enable I2C Master + true + + + PHY_DDRT_2CH_EN + Enable 2 Channel + false + + + PHY_DDRT_USE_OLD_SMBUS_MULTICOL + Enable I2C Multicolumn + false + + + PHY_DDRT_EXPORT_CLK_STP_IF + Export Clock Stop Interface + false + + + PHY_DDRT_I2C_USE_SMC + PARAM_PHY_I2C_USE_SMC_NAME + false + + + PHY_DDRT_USER_AC_IO_STD_ENUM + I/O standard + unset + + + PHY_DDRT_USER_AC_MODE_ENUM + Output mode + unset + + + PHY_DDRT_USER_AC_IN_MODE_ENUM + Input mode + unset + + + PHY_DDRT_USER_AC_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDRT_USER_AC_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDRT_USER_CK_IO_STD_ENUM + I/O standard + unset + + + PHY_DDRT_USER_CK_MODE_ENUM + Output mode + unset + + + PHY_DDRT_USER_CK_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDRT_USER_CK_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDRT_USER_DATA_IO_STD_ENUM + I/O standard + unset + + + PHY_DDRT_USER_DATA_OUT_MODE_ENUM + Output mode + unset + + + PHY_DDRT_USER_DATA_OUT_SLEW_RATE_ENUM + Slew rate + unset + + + PHY_DDRT_USER_DATA_OUT_DEEMPHASIS_ENUM + Deemphasis mode + unset + + + PHY_DDRT_USER_DATA_IN_MODE_ENUM + Input mode + unset + + + PHY_DDRT_USER_AUTO_STARTING_VREFIN_EN + Use recommended initial Vrefin + true + + + PHY_DDRT_USER_STARTING_VREFIN + Initial Vrefin + 70.0 + + + PHY_DDRT_USER_PLL_REF_CLK_IO_STD_ENUM + PLL reference clock I/O standard + unset + + + PHY_DDRT_USER_RZQ_IO_STD_ENUM + RZQ I/O standard + unset + + + MEM_DDR3_FORMAT_ENUM + Memory format + MEM_FORMAT_UDIMM + + + MEM_DDR3_DQ_WIDTH + DQ width + 72 + + + MEM_DDR3_DQ_PER_DQS + DQ pins per DQS group + 8 + + + MEM_DDR3_DISCRETE_CS_WIDTH + Number of chip selects + 1 + + + MEM_DDR3_NUM_OF_DIMMS + Number of DIMMs + 1 + + + MEM_DDR3_RANKS_PER_DIMM + Number of physical ranks per DIMM + 1 + + + MEM_DDR3_CKE_PER_DIMM + Number of clock enables per DIMM + 1 + + + MEM_DDR3_CK_WIDTH + Number of clocks + 1 + + + MEM_DDR3_ROW_ADDR_WIDTH + Row address width + 15 + + + MEM_DDR3_COL_ADDR_WIDTH + Column address width + 10 + + + MEM_DDR3_BANK_ADDR_WIDTH + Bank address width + 3 + + + MEM_DDR3_DM_EN + Enable DM pins + true + + + MEM_DDR3_DISCRETE_MIRROR_ADDRESSING_EN + Enable address mirroring for odd chip-selects + false + + + MEM_DDR3_MIRROR_ADDRESSING_EN + Enable address mirroring for odd ranks + true + + + MEM_DDR3_HIDE_ADV_MR_SETTINGS + Hide advanced mode register settings + true + + + MEM_DDR3_RDIMM_CONFIG + DDR3 RDIMM/LRDIMM control words + 0000000000000000 + + + MEM_DDR3_LRDIMM_EXTENDED_CONFIG + DDR3 LRDIMM additional control words + 000000000000000000 + + + MEM_DDR3_ALERT_N_PLACEMENT_ENUM + ALERT# pin placement + DDR3_ALERT_N_PLACEMENT_AC_LANES + + + MEM_DDR3_ALERT_N_DQS_GROUP + DQS group of ALERT# + 0 + + + MEM_DDR3_BL_ENUM + Burst Length + DDR3_BL_BL8 + + + MEM_DDR3_BT_ENUM + Read Burst Type + DDR3_BT_SEQUENTIAL + + + MEM_DDR3_ASR_ENUM + Auto self-refresh method + DDR3_ASR_MANUAL + + + MEM_DDR3_SRT_ENUM + Self-refresh temperature + DDR3_SRT_NORMAL + + + MEM_DDR3_PD_ENUM + DLL precharge power down + DDR3_PD_OFF + + + MEM_DDR3_DRV_STR_ENUM + Output drive strength setting + DDR3_DRV_STR_RZQ_7 + + + MEM_DDR3_DLL_EN + Enable the DLL in memory device + true + + + MEM_DDR3_RTT_NOM_ENUM + ODT Rtt nominal value + DDR3_RTT_NOM_ODT_DISABLED + + + MEM_DDR3_RTT_WR_ENUM + Dynamic ODT (Rtt_WR) value + DDR3_RTT_WR_RZQ_4 + + + MEM_DDR3_WTCL + Memory write CAS latency setting + 10 + + + MEM_DDR3_ATCL_ENUM + Memory additive CAS latency setting + DDR3_ATCL_DISABLED + + + MEM_DDR3_TCL + Memory CAS latency setting + 14 + + + MEM_DDR3_USE_DEFAULT_ODT + Use Default ODT Assertion Tables + true + + + MEM_DDR3_R_ODTN_1X1 + Read Target + Rank 0 + + + MEM_DDR3_R_ODT0_1X1 + ODT0 + off + + + MEM_DDR3_W_ODTN_1X1 + Write Target + Rank 0 + + + MEM_DDR3_W_ODT0_1X1 + ODT0 + on + + + MEM_DDR3_R_ODTN_2X2 + Read Target + Rank 0,Rank 1 + + + MEM_DDR3_R_ODT0_2X2 + ODT0 + off,off + + + MEM_DDR3_R_ODT1_2X2 + ODT1 + off,off + + + MEM_DDR3_W_ODTN_2X2 + Write Target + Rank 0,Rank 1 + + + MEM_DDR3_W_ODT0_2X2 + ODT0 + on,off + + + MEM_DDR3_W_ODT1_2X2 + ODT1 + off,on + + + MEM_DDR3_R_ODTN_4X2 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDR3_R_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDR3_W_ODTN_4X2 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDR3_W_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDR3_R_ODTN_4X4 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODT0_4X4 + ODT0 + off,off,on,off + + + MEM_DDR3_R_ODT1_4X4 + ODT1 + off,off,off,on + + + MEM_DDR3_R_ODT2_4X4 + ODT2 + on,off,off,off + + + MEM_DDR3_R_ODT3_4X4 + ODT3 + off,on,off,off + + + MEM_DDR3_W_ODTN_4X4 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODT0_4X4 + ODT0 + on,off,on,off + + + MEM_DDR3_W_ODT1_4X4 + ODT1 + off,on,off,on + + + MEM_DDR3_W_ODT2_4X4 + ODT2 + on,off,on,off + + + MEM_DDR3_W_ODT3_4X4 + ODT3 + off,on,off,on + + + MEM_DDR3_SPEEDBIN_ENUM + Speed bin + DDR3_SPEEDBIN_2133 + + + MEM_DDR3_TIS_PS + tIS (base) + 60 + + + MEM_DDR3_TIS_AC_MV + tIS (base) AC level + 135 + + + MEM_DDR3_TIH_PS + tIH (base) + 95 + + + MEM_DDR3_TIH_DC_MV + tIH (base) DC level + 100 + + + MEM_DDR3_TDS_PS + tDS (base) + 53 + + + MEM_DDR3_TDS_AC_MV + tDS (base) AC level + 135 + + + MEM_DDR3_TDH_PS + tDH (base) + 55 + + + MEM_DDR3_TDH_DC_MV + tDH (base) DC level + 100 + + + MEM_DDR3_TDQSQ_PS + tDQSQ + 75 + + + MEM_DDR3_TQH_CYC + tQH + 0.38 + + + MEM_DDR3_TDQSCK_PS + tDQSCK + 180 + + + MEM_DDR3_TDQSS_CYC + tDQSS + 0.27 + + + MEM_DDR3_TQSH_CYC + tQSH + 0.4 + + + MEM_DDR3_TDSH_CYC + tDSH + 0.18 + + + MEM_DDR3_TWLS_PS + tWLS + 125.0 + + + MEM_DDR3_TWLH_PS + tWLH + 125.0 + + + MEM_DDR3_TDSS_CYC + tDSS + 0.18 + + + MEM_DDR3_TINIT_US + tINIT + 500 + + + MEM_DDR3_TMRD_CK_CYC + tMRD + 4 + + + MEM_DDR3_TRAS_NS + tRAS + 33.0 + + + MEM_DDR3_TRCD_NS + tRCD + 13.09 + + + MEM_DDR3_TRP_NS + tRP + 13.09 + + + MEM_DDR3_TREFI_US + tREFI + 7.8 + + + MEM_DDR3_TRFC_NS + tRFC + 160.0 + + + MEM_DDR3_TWR_NS + tWR + 15.0 + + + MEM_DDR3_TWTR_CYC + tWTR + 8 + + + MEM_DDR3_TFAW_NS + tFAW + 25.0 + + + MEM_DDR3_TRRD_CYC + tRRD + 6 + + + MEM_DDR3_TRTP_CYC + tRTP + 8 + + + MEM_DDR3_CFG_GEN_SBE + PARAM_MEM_DDR3_CFG_GEN_SBE_NAME + false + + + MEM_DDR3_CFG_GEN_DBE + PARAM_MEM_DDR3_CFG_GEN_DBE_NAME + false + + + MEM_DDR4_FORMAT_ENUM + Memory format + MEM_FORMAT_RDIMM + + + MEM_DDR4_DQ_WIDTH + DQ width + 72 + + + MEM_DDR4_DQ_PER_DQS + DQ pins per DQS group + 8 + + + MEM_DDR4_DISCRETE_CS_WIDTH + Number of chip selects + 1 + + + MEM_DDR4_NUM_OF_DIMMS + Number of DIMMs + 1 + + + MEM_DDR4_CHIP_ID_WIDTH + Chip ID width + 0 + + + MEM_DDR4_RANKS_PER_DIMM + Number of physical ranks per DIMM + 1 + + + MEM_DDR4_CKE_PER_DIMM + Number of clock enables per DIMM + 1 + + + MEM_DDR4_CK_WIDTH + Number of clocks + 1 + + + MEM_DDR4_ROW_ADDR_WIDTH + Row address width + 16 + + + MEM_DDR4_COL_ADDR_WIDTH + Column address width + 10 + + + MEM_DDR4_BANK_ADDR_WIDTH + Bank address width + 2 + + + MEM_DDR4_BANK_GROUP_WIDTH + Bank group width + 2 + + + MEM_DDR4_DM_EN + Data mask + true + + + MEM_DDR4_ALERT_PAR_EN + Enable ALERT#/PAR pins + true + + + MEM_DDR4_ALERT_N_PLACEMENT_ENUM + ALERT# pin placement + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + + + MEM_DDR4_ALERT_N_DQS_GROUP + DQS group of ALERT# + 0 + + + MEM_DDR4_ALERT_N_AC_LANE + Address/command I/O lane of ALERT# + 3 + + + MEM_DDR4_ALERT_N_AC_PIN + Pin index of ALERT# + 8 + + + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN + Enable address mirroring for odd chip-selects + false + + + MEM_DDR4_MIRROR_ADDRESSING_EN + Enable address mirroring for odd ranks + true + + + MEM_DDR4_HIDE_ADV_MR_SETTINGS + Hide advanced mode register settings + true + + + MEM_DDR4_INTEL_DEFAULT_TERM + Use Default Memory I/O Settings + true + + + MEM_DDR4_BL_ENUM + Burst Length + DDR4_BL_BL8 + + + MEM_DDR4_BT_ENUM + Read Burst Type + DDR4_BT_SEQUENTIAL + + + MEM_DDR4_TCL + Memory CAS latency setting + 21 + + + MEM_DDR4_RTT_NOM_ENUM + ODT Rtt nominal value + DDR4_RTT_NOM_RZQ_4 + + + MEM_DDR4_DLL_EN + Enable the DLL in memory device + true + + + MEM_DDR4_ATCL_ENUM + Memory additive CAS latency setting + DDR4_ATCL_DISABLED + + + MEM_DDR4_DRV_STR_ENUM + Output drive strength setting + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_ASR_ENUM + Auto self-refresh method + DDR4_ASR_MANUAL_NORMAL + + + MEM_DDR4_RTT_WR_ENUM + Dynamic ODT (Rtt_WR) value + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_WTCL + Memory write CAS latency setting + 16 + + + MEM_DDR4_WRITE_CRC + Write CRC enable + false + + + MEM_DDR4_GEARDOWN + DDR4 geardown mode + DDR4_GEARDOWN_HR + + + MEM_DDR4_PER_DRAM_ADDR + Per-DRAM addressability + false + + + MEM_DDR4_TEMP_SENSOR_READOUT + Temperature sensor readout + false + + + MEM_DDR4_FINE_GRANULARITY_REFRESH + Fine granularity refresh + DDR4_FINE_REFRESH_FIXED_1X + + + MEM_DDR4_MPR_READ_FORMAT + MPR read format + DDR4_MPR_READ_FORMAT_SERIAL + + + MEM_DDR4_MAX_POWERDOWN + Maximum power down mode + false + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE + Temperature controlled refresh range + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA + Temperature controlled refresh enable + false + + + MEM_DDR4_INTERNAL_VREFDQ_MONITOR + Internal VrefDQ monitor + false + + + MEM_DDR4_CAL_MODE + CS to Addr/CMD Latency + 0 + + + MEM_DDR4_SELF_RFSH_ABORT + Self refresh abort + false + + + MEM_DDR4_READ_PREAMBLE_TRAINING + Read preamble training mode enable + false + + + MEM_DDR4_READ_PREAMBLE + Read preamble + 2 + + + MEM_DDR4_WRITE_PREAMBLE + Write preamble + 1 + + + MEM_DDR4_AC_PARITY_LATENCY + Addr/CMD parity latency + DDR4_AC_PARITY_LATENCY_DISABLE + + + MEM_DDR4_ODT_IN_POWERDOWN + ODT input buffer during powerdown mode + true + + + MEM_DDR4_RTT_PARK + RTT PARK + DDR4_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_AC_PERSISTENT_ERROR + Addr/CMD persistent error + false + + + MEM_DDR4_WRITE_DBI + Write DBI + false + + + MEM_DDR4_READ_DBI + Read DBI + true + + + MEM_DDR4_DEFAULT_VREFOUT + Use recommended initial VrefDQ value + true + + + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE + VrefDQ training value + 56.0 + + + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE + VrefDQ training range + DDR4_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDR4_RCD_CA_IBT_ENUM + RCD CA Input Bus Termination + DDR4_RCD_CA_IBT_100 + + + MEM_DDR4_RCD_CS_IBT_ENUM + RCD DCS[3:0]_n Input Bus Termination + DDR4_RCD_CS_IBT_100 + + + MEM_DDR4_RCD_CKE_IBT_ENUM + RCD DCKE Input Bus Termination + DDR4_RCD_CKE_IBT_100 + + + MEM_DDR4_RCD_ODT_IBT_ENUM + RCD DODT Input Bus Termination + DDR4_RCD_ODT_IBT_100 + + + MEM_DDR4_DB_RTT_NOM_ENUM + DB Host Interface DQ RTT_NOM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_DB_RTT_WR_ENUM + DB Host Interface DQ RTT_WR + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_DB_RTT_PARK_ENUM + DB Host Interface DQ RTT_PARK + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_DB_DQ_DRV_ENUM + DB Host Interface DQ Driver + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_SPD_137_RCD_CA_DRV + SPD Byte 137 - RCD Drive Strength for Command/Address + 101 + + + MEM_DDR4_SPD_138_RCD_CK_DRV + SPD Byte 138 - RCD Drive Strength for CK + 5 + + + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 + SPD Byte 140 - DRAM VrefDQ for Package Rank 0 + 29 + + + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 + SPD Byte 141 - DRAM VrefDQ for Package Rank 1 + 29 + + + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 + SPD Byte 142 - DRAM VrefDQ for Package Rank 2 + 29 + + + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 + SPD Byte 143 - DRAM VrefDQ for Package Rank 3 + 29 + + + MEM_DDR4_SPD_144_DB_VREFDQ + SPD Byte 144 - DB VrefDQ for DRAM Interface + 37 + + + MEM_DDR4_SPD_145_DB_MDQ_DRV + SPD Byte 145-147 - DB MDQ Drive Strength and RTT + 21 + + + MEM_DDR4_SPD_148_DRAM_DRV + SPD Byte 148 - DRAM Drive Strength + 0 + + + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM + SPD Byte 149-151 - DRAM ODT (RTT_WR and RTT_NOM) + 20 + + + MEM_DDR4_SPD_152_DRAM_RTT_PARK + SPD Byte 152-154 - DRAM ODT (RTT_PARK) + 39 + + + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE + SPD Byte 155 - DB VrefDQ for DRAM Interface Range + 0 + + + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB + RCD and DB Manufacturer (LSB) + 0 + + + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB + RCD and DB Manufacturer (MSB) + 0 + + + MEM_DDR4_SPD_135_RCD_REV + RCD Revision Number + 0 + + + MEM_DDR4_SPD_139_DB_REV + DB Revision Number + 0 + + + MEM_DDR4_LRDIMM_ODT_LESS_BS + PARAM_MEM_DDR4_LRDIMM_ODT_LESS_BS_NAME + true + + + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM + PARAM_MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM_NAME + 240 + + + MEM_DDR4_USE_DEFAULT_ODT + Use Default ODT Assertion Tables + true + + + MEM_DDR4_R_ODTN_1X1 + Read Target + Rank 0 + + + MEM_DDR4_R_ODT0_1X1 + ODT0 + off + + + MEM_DDR4_W_ODTN_1X1 + Write Target + Rank 0 + + + MEM_DDR4_W_ODT0_1X1 + ODT0 + on + + + MEM_DDR4_R_ODTN_2X2 + Read Target + Rank 0,Rank 1 + + + MEM_DDR4_R_ODT0_2X2 + ODT0 + off,off + + + MEM_DDR4_R_ODT1_2X2 + ODT1 + off,off + + + MEM_DDR4_W_ODTN_2X2 + Write Target + Rank 0,Rank 1 + + + MEM_DDR4_W_ODT0_2X2 + ODT0 + on,off + + + MEM_DDR4_W_ODT1_2X2 + ODT1 + off,on + + + MEM_DDR4_R_ODTN_4X2 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDR4_R_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDR4_W_ODTN_4X2 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDR4_W_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDR4_R_ODTN_4X4 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODT0_4X4 + ODT0 + off,off,on,off + + + MEM_DDR4_R_ODT1_4X4 + ODT1 + off,off,off,on + + + MEM_DDR4_R_ODT2_4X4 + ODT2 + on,off,off,off + + + MEM_DDR4_R_ODT3_4X4 + ODT3 + off,on,off,off + + + MEM_DDR4_W_ODTN_4X4 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODT0_4X4 + ODT0 + on,off,on,off + + + MEM_DDR4_W_ODT1_4X4 + ODT1 + off,on,off,on + + + MEM_DDR4_W_ODT2_4X4 + ODT2 + on,off,on,off + + + MEM_DDR4_W_ODT3_4X4 + ODT3 + off,on,off,on + + + MEM_DDR4_SPEEDBIN_ENUM + Speed bin + DDR4_SPEEDBIN_2666 + + + MEM_DDR4_TIS_PS + tIS (base) + 62 + + + MEM_DDR4_TIS_AC_MV + tIS (base) AC level + 100 + + + MEM_DDR4_TIH_PS + tIH (base) + 87 + + + MEM_DDR4_TIH_DC_MV + tIH (base) DC level + 75 + + + MEM_DDR4_TDIVW_TOTAL_UI + TdiVW_total + 0.2 + + + MEM_DDR4_VDIVW_TOTAL + VdiVW_total + 130 + + + MEM_DDR4_TDQSQ_UI + tDQSQ + 0.14 + + + MEM_DDR4_TQH_UI + tQH + 0.74 + + + MEM_DDR4_TDVWP_UI + tDVWp + 0.72 + + + MEM_DDR4_TDQSCK_PS + tDQSCK + 175 + + + MEM_DDR4_TDQSS_CYC + tDQSS + 0.27 + + + MEM_DDR4_TQSH_CYC + tQSH + 0.4 + + + MEM_DDR4_TDSH_CYC + tDSH + 0.18 + + + MEM_DDR4_TDSS_CYC + tDSS + 0.18 + + + MEM_DDR4_TWLS_CYC + tWLS + 0.13 + + + MEM_DDR4_TWLH_CYC + tWLH + 0.13 + + + MEM_DDR4_TINIT_US + tINIT + 500 + + + MEM_DDR4_TMRD_CK_CYC + tMRD + 8 + + + MEM_DDR4_TRAS_NS + tRAS + 32.0 + + + MEM_DDR4_TRCD_NS + tRCD + 14.16 + + + MEM_DDR4_TRP_NS + tRP + 14.16 + + + MEM_DDR4_TREFI_US + tREFI + 7.8 + + + MEM_DDR4_TRFC_NS + tRFC + 350.0 + + + MEM_DDR4_TWR_NS + tWR + 15.0 + + + MEM_DDR4_TWTR_L_CYC + tWTR_L + 9 + + + MEM_DDR4_TWTR_S_CYC + tWTR_S + 3 + + + MEM_DDR4_TFAW_NS + tFAW + 21.0 + + + MEM_DDR4_TRRD_L_CYC + tRRD_L + 6 + + + MEM_DDR4_TRRD_S_CYC + tRRD_S + 4 + + + MEM_DDR4_TCCD_L_CYC + tCCD_L + 6 + + + MEM_DDR4_TCCD_S_CYC + tCCD_S + 4 + + + MEM_DDR4_TRFC_DLR_NS + tRFC_dlr + 90.0 + + + MEM_DDR4_TFAW_DLR_CYC + tFAW_dlr + 16 + + + MEM_DDR4_TRRD_DLR_CYC + tRRD_dlr + 4 + + + MEM_DDR4_TDIVW_DJ_CYC + PARAM_MEM_DDR4_TDIVW_DJ_CYC_NAME + 0.1 + + + MEM_DDR4_TDQSQ_PS + PARAM_MEM_DDR4_TDQSQ_PS_NAME + 66 + + + MEM_DDR4_TQH_CYC + PARAM_MEM_DDR4_TQH_CYC_NAME + 0.38 + + + MEM_DDR4_CFG_GEN_SBE + PARAM_MEM_DDR4_CFG_GEN_SBE_NAME + false + + + MEM_DDR4_CFG_GEN_DBE + PARAM_MEM_DDR4_CFG_GEN_DBE_NAME + false + + + MEM_DDR4_LRDIMM_VREFDQ_VALUE + PARAM_MEM_DDR4_LRDIMM_VREFDQ_VALUE_NAME + + + + MEM_DDR4_TWLS_PS + PARAM_MEM_DDR4_TWLS_PS_NAME + 0.0 + + + MEM_DDR4_TWLH_PS + PARAM_MEM_DDR4_TWLH_PS_NAME + 0.0 + + + MEM_QDR2_WIDTH_EXPANDED + Enable width expansion + false + + + MEM_QDR2_DATA_PER_DEVICE + Data width per device + 36 + + + MEM_QDR2_ADDR_WIDTH + Address width + 19 + + + MEM_QDR2_BWS_EN + Enable BWS# pins + true + + + MEM_QDR2_BL + Burst length + 4 + + + MEM_QDR2_SPEEDBIN_ENUM + Speed bin + QDR2_SPEEDBIN_633 + + + MEM_QDR2_TRL_CYC + tRL + 2.5 + + + MEM_QDR2_TSA_NS + tSA + 0.23 + + + MEM_QDR2_THA_NS + tHA + 0.18 + + + MEM_QDR2_TSD_NS + tSD + 0.23 + + + MEM_QDR2_THD_NS + tHD + 0.18 + + + MEM_QDR2_TCQD_NS + tCQD + 0.09 + + + MEM_QDR2_TCQDOH_NS + tCQDOH + -0.09 + + + MEM_QDR2_INTERNAL_JITTER_NS + Internal Jitter + 0.08 + + + MEM_QDR2_TCQH_NS + tCQH + 0.71 + + + MEM_QDR2_TCCQO_NS + tCCQO + 0.45 + + + MEM_QDR4_WIDTH_EXPANDED + Enable width expansion + false + + + MEM_QDR4_DQ_PER_PORT_PER_DEVICE + DQ width per device + 36 + + + MEM_QDR4_ADDR_WIDTH + Address width + 21 + + + MEM_QDR4_SKIP_ODT_SWEEPING + Skip automatic optimization of Clock and Address/Command ODT setting during calibration + true + + + MEM_QDR4_CK_ODT_MODE_ENUM + ODT (Clock) + QDR4_ODT_25_PCT + + + MEM_QDR4_AC_ODT_MODE_ENUM + ODT (Address/Command) + QDR4_ODT_25_PCT + + + MEM_QDR4_DATA_ODT_MODE_ENUM + ODT (Data) + QDR4_ODT_25_PCT + + + MEM_QDR4_PU_OUTPUT_DRIVE_MODE_ENUM + Output drive (pull-up) + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_PD_OUTPUT_DRIVE_MODE_ENUM + Output drive (pull-down) + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_MEM_TYPE_ENUM + Memory Type + MEM_XP + + + MEM_QDR4_DATA_INV_ENA + Data bus inversion + true + + + MEM_QDR4_ADDR_INV_ENA + Address bus inversion + false + + + MEM_QDR4_USE_ADDR_PARITY + Use address parity bit + false + + + MEM_QDR4_SPEEDBIN_ENUM + Speed bin + QDR4_SPEEDBIN_2133 + + + MEM_QDR4_TISH_PS + tISH + 150 + + + MEM_QDR4_TQKQ_MAX_PS + tQKQ_max + 75 + + + MEM_QDR4_TQH_CYC + tQH + 0.4 + + + MEM_QDR4_TCKDK_MAX_PS + tCKDK_max + 150 + + + MEM_QDR4_TCKDK_MIN_PS + tCKDK_min + -150 + + + MEM_QDR4_TCKQK_MAX_PS + tCKQK_max + 225 + + + MEM_QDR4_TASH_PS + tASH + 170 + + + MEM_QDR4_TCSH_PS + tCSH + 170 + + + MEM_RLD2_WIDTH_EXPANDED + Enable width expansion + false + + + MEM_RLD2_DQ_PER_DEVICE + DQ width per device + 9 + + + MEM_RLD2_ADDR_WIDTH + Address width + 21 + + + MEM_RLD2_BANK_ADDR_WIDTH + Bank address width + 3 + + + MEM_RLD2_DM_EN + Enable DM pins + true + + + MEM_RLD2_BL + Burst length + 4 + + + MEM_RLD2_CONFIG_ENUM + Configuration + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + + + MEM_RLD2_DRIVE_IMPEDENCE_ENUM + Drive Impedance + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + + + MEM_RLD2_ODT_MODE_ENUM + On-Die Termination + RLD2_ODT_ON + + + MEM_RLD2_SPEEDBIN_ENUM + Speed bin + RLD2_SPEEDBIN_18 + + + MEM_RLD2_REFRESH_INTERVAL_US + Refresh Interval + 0.24 + + + MEM_RLD2_TCKH_CYC + tCKH + 0.45 + + + MEM_RLD2_TQKH_HCYC + tQKH + 0.9 + + + MEM_RLD2_TAS_NS + tAS + 0.3 + + + MEM_RLD2_TAH_NS + tAH + 0.3 + + + MEM_RLD2_TDS_NS + tDS + 0.17 + + + MEM_RLD2_TDH_NS + tDH + 0.17 + + + MEM_RLD2_TQKQ_MAX_NS + tQKQ_max + 0.12 + + + MEM_RLD2_TQKQ_MIN_NS + tQKQ_min + -0.12 + + + MEM_RLD2_TCKDK_MAX_NS + tCKDK_max + 0.3 + + + MEM_RLD2_TCKDK_MIN_NS + tCKDK_min + -0.3 + + + MEM_RLD2_TCKQK_MAX_NS + tCKQK_max + 0.2 + + + MEM_RLD3_WIDTH_EXPANDED + Enable width expansion + false + + + MEM_RLD3_DEPTH_EXPANDED + Enable depth expansion using twin die package + false + + + MEM_RLD3_DQ_PER_DEVICE + DQ width per device + 36 + + + MEM_RLD3_ADDR_WIDTH + Address width + 20 + + + MEM_RLD3_BANK_ADDR_WIDTH + Bank address width + 4 + + + MEM_RLD3_DM_EN + Enable DM pins + true + + + MEM_RLD3_BL + Burst length + 2 + + + MEM_RLD3_DATA_LATENCY_MODE_ENUM + Data Latency + RLD3_DL_RL16_WL17 + + + MEM_RLD3_T_RC_MODE_ENUM + tRC + RLD3_TRC_9 + + + MEM_RLD3_OUTPUT_DRIVE_MODE_ENUM + Output drive + RLD3_OUTPUT_DRIVE_40 + + + MEM_RLD3_ODT_MODE_ENUM + ODT + RLD3_ODT_40 + + + MEM_RLD3_AREF_PROTOCOL_ENUM + AREF protocol + RLD3_AREF_BAC + + + MEM_RLD3_WRITE_PROTOCOL_ENUM + Write protocol + RLD3_WRITE_1BANK + + + MEM_RLD3_SPEEDBIN_ENUM + Speed bin + RLD3_SPEEDBIN_093E + + + MEM_RLD3_TDS_PS + tDS (base) + -30 + + + MEM_RLD3_TDS_AC_MV + tDS (base) AC level + 150 + + + MEM_RLD3_TDH_PS + tDH (base) + 5 + + + MEM_RLD3_TDH_DC_MV + tDH (base) DC level + 100 + + + MEM_RLD3_TQKQ_MAX_PS + tQKQ_max + 75 + + + MEM_RLD3_TQH_CYC + tQH + 0.38 + + + MEM_RLD3_TCKDK_MAX_CYC + tCKDK_max + 0.27 + + + MEM_RLD3_TCKDK_MIN_CYC + tCKDK_min + -0.27 + + + MEM_RLD3_TCKQK_MAX_PS + tCKQK_max + 135 + + + MEM_RLD3_TIS_PS + tIS (base) + 85 + + + MEM_RLD3_TIS_AC_MV + tIS (base) AC level + 150 + + + MEM_RLD3_TIH_PS + tIH (base) + 65 + + + MEM_RLD3_TIH_DC_MV + tIH (base) DC level + 100 + + + MEM_LPDDR3_DQ_WIDTH + DQ width + 32 + + + MEM_LPDDR3_DISCRETE_CS_WIDTH + Number of chip selects + 1 + + + MEM_LPDDR3_CK_WIDTH + Number of clocks + 1 + + + MEM_LPDDR3_DM_EN + Enable DM pins + true + + + MEM_LPDDR3_ROW_ADDR_WIDTH + Row address width + 15 + + + MEM_LPDDR3_COL_ADDR_WIDTH + Column address width + 10 + + + MEM_LPDDR3_BANK_ADDR_WIDTH + Bank address width + 3 + + + MEM_LPDDR3_BL + Burst length + LPDDR3_BL_BL8 + + + MEM_LPDDR3_DATA_LATENCY + Data latency + LPDDR3_DL_RL12_WL6 + + + MEM_LPDDR3_DRV_STR + Output drive strength setting + LPDDR3_DRV_STR_40D_40U + + + MEM_LPDDR3_DQODT + DQ ODT + LPDDR3_DQODT_DISABLE + + + MEM_LPDDR3_PDODT + Power down ODT + LPDDR3_PDODT_DISABLED + + + MEM_LPDDR3_USE_DEFAULT_ODT + Use Default ODT Assertion Tables + true + + + MEM_LPDDR3_R_ODTN_1X1 + Read Target + Rank 0 + + + MEM_LPDDR3_R_ODT0_1X1 + ODT0 + off + + + MEM_LPDDR3_W_ODTN_1X1 + Write Target + Rank 0 + + + MEM_LPDDR3_W_ODT0_1X1 + ODT0 + on + + + MEM_LPDDR3_R_ODTN_2X2 + Read Target + Rank 0,Rank 1 + + + MEM_LPDDR3_R_ODT0_2X2 + ODT0 + off,off + + + MEM_LPDDR3_R_ODT1_2X2 + ODT1 + off,off + + + MEM_LPDDR3_W_ODTN_2X2 + Write Target + Rank 0,Rank 1 + + + MEM_LPDDR3_W_ODT0_2X2 + ODT0 + on,on + + + MEM_LPDDR3_W_ODT1_2X2 + ODT1 + off,off + + + MEM_LPDDR3_R_ODTN_4X4 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_R_ODT0_4X4 + ODT0 + off,off,off,off + + + MEM_LPDDR3_R_ODT1_4X4 + ODT1 + off,off,off,off + + + MEM_LPDDR3_R_ODT2_4X4 + ODT2 + off,off,off,off + + + MEM_LPDDR3_R_ODT3_4X4 + ODT3 + off,off,off,off + + + MEM_LPDDR3_W_ODTN_4X4 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_W_ODT0_4X4 + ODT0 + on,on,on,on + + + MEM_LPDDR3_W_ODT1_4X4 + ODT1 + off,off,off,off + + + MEM_LPDDR3_W_ODT2_4X4 + ODT2 + off,off,off,off + + + MEM_LPDDR3_W_ODT3_4X4 + ODT3 + off,off,off,off + + + MEM_LPDDR3_SPEEDBIN_ENUM + Speed bin + LPDDR3_SPEEDBIN_1600 + + + MEM_LPDDR3_TIS_PS + tISCA (base) + 75 + + + MEM_LPDDR3_TIS_AC_MV + tISCA (base) AC level + 150 + + + MEM_LPDDR3_TIH_PS + tIHCA (base) + 100 + + + MEM_LPDDR3_TIH_DC_MV + tIHCA (base) DC level + 100 + + + MEM_LPDDR3_TDS_PS + tDS (base) + 75 + + + MEM_LPDDR3_TDS_AC_MV + tDS (base) AC level + 150 + + + MEM_LPDDR3_TDH_PS + tDH (base) + 100 + + + MEM_LPDDR3_TDH_DC_MV + tDH (base) DC level + 100 + + + MEM_LPDDR3_TDQSQ_PS + tDQSQ + 135 + + + MEM_LPDDR3_TQH_CYC + tQH + 0.38 + + + MEM_LPDDR3_TDQSCKDL + tDQSCKDL + 614 + + + MEM_LPDDR3_TDQSS_CYC + tDQSS (max) + 1.25 + + + MEM_LPDDR3_TQSH_CYC + tQSH + 0.38 + + + MEM_LPDDR3_TDSH_CYC + tDSH + 0.2 + + + MEM_LPDDR3_TWLS_PS + tWLS + 175.0 + + + MEM_LPDDR3_TWLH_PS + tWLH + 175.0 + + + MEM_LPDDR3_TDSS_CYC + tDSS + 0.2 + + + MEM_LPDDR3_TINIT_US + tINIT + 500 + + + MEM_LPDDR3_TMRR_CK_CYC + tMRR + 4 + + + MEM_LPDDR3_TMRW_CK_CYC + tMRW + 10 + + + MEM_LPDDR3_TRAS_NS + tRAS + 42.5 + + + MEM_LPDDR3_TRCD_NS + tRCD + 18.0 + + + MEM_LPDDR3_TRP_NS + tRPpb + 18.0 + + + MEM_LPDDR3_TREFI_US + tREFI + 3.9 + + + MEM_LPDDR3_TRFC_NS + tRFCab + 210.0 + + + MEM_LPDDR3_TWR_NS + tWR + 15.0 + + + MEM_LPDDR3_TWTR_CYC + tWTR + 6 + + + MEM_LPDDR3_TFAW_NS + tFAW + 50.0 + + + MEM_LPDDR3_TRRD_CYC + tRRD + 8 + + + MEM_LPDDR3_TRTP_CYC + tRTP + 6 + + + MEM_DDRT_FORMAT_ENUM + Memory format + MEM_FORMAT_LRDIMM + + + MEM_DDRT_DQ_WIDTH + DQ width + 72 + + + MEM_DDRT_DQ_PER_DQS + DQ pins per DQS group + 4 + + + MEM_DDRT_DISCRETE_CS_WIDTH + Number of chip selects + 1 + + + MEM_DDRT_NUM_OF_DIMMS + Number of DIMMs + 1 + + + MEM_DDRT_RANKS_PER_DIMM + Number of physical ranks per DIMM + 1 + + + MEM_DDRT_CKE_PER_DIMM + Number of clock enables per DIMM + 1 + + + MEM_DDRT_ROW_ADDR_WIDTH + Row address width + 18 + + + MEM_DDRT_COL_ADDR_WIDTH + Column address width + 10 + + + MEM_DDRT_BANK_ADDR_WIDTH + Bank address width + 2 + + + MEM_DDRT_BANK_GROUP_WIDTH + Bank group width + 2 + + + MEM_DDRT_DM_EN + Data mask + false + + + MEM_DDRT_ALERT_PAR_EN + Enable ALERT#/PAR pins + true + + + MEM_DDRT_ALERT_N_PLACEMENT_ENUM + ALERT# pin placement + DDRT_ALERT_N_PLACEMENT_AUTO + + + MEM_DDRT_ALERT_N_DQS_GROUP + DQS group of ALERT# + 0 + + + MEM_DDRT_ALERT_N_AC_LANE + Address/command I/O lane of ALERT# + 0 + + + MEM_DDRT_ALERT_N_AC_PIN + Pin index of ALERT# + 0 + + + MEM_DDRT_DISCRETE_MIRROR_ADDRESSING_EN + Enable address mirroring for odd chip-selects + false + + + MEM_DDRT_MIRROR_ADDRESSING_EN + Enable address mirroring for odd ranks + true + + + MEM_DDRT_HIDE_ADV_MR_SETTINGS + Hide advanced mode register settings + true + + + MEM_DDRT_HIDE_LATENCY_SETTINGS + Hide advanced latency settings + true + + + MEM_DDRT_PWR_MODE + DIMM Power Mode + DDRT_PWR_MODE_12W + + + MEM_DDRT_BL_ENUM + Burst Length + DDRT_BL_BL8 + + + MEM_DDRT_BT_ENUM + Read Burst Type + DDRT_BT_SEQUENTIAL + + + MEM_DDRT_TCL + Memory CAS latency setting + 15 + + + MEM_DDRT_RTT_NOM_ENUM + ODT Rtt nominal value + DDRT_RTT_NOM_RZQ_4 + + + MEM_DDRT_DLL_EN + Enable the DLL in memory device + true + + + MEM_DDRT_ATCL_ENUM + Memory additive CAS latency setting + DDRT_ATCL_DISABLED + + + MEM_DDRT_DRV_STR_ENUM + Output drive strength setting + DDRT_DRV_STR_RZQ_7 + + + MEM_DDRT_ASR_ENUM + Auto self-refresh method + DDRT_ASR_MANUAL_NORMAL + + + MEM_DDRT_RTT_WR_ENUM + Dynamic ODT (Rtt_WR) value + DDRT_RTT_WR_ODT_DISABLED + + + MEM_DDRT_WTCL + Memory write CAS latency setting + 18 + + + MEM_DDRT_WRITE_CRC + Write CRC enable + false + + + MEM_DDRT_GEARDOWN + DDRT geardown mode + DDRT_GEARDOWN_HR + + + MEM_DDRT_PER_DRAM_ADDR + Per-DRAM addressability + false + + + MEM_DDRT_TEMP_SENSOR_READOUT + Temperature sensor readout + false + + + MEM_DDRT_FINE_GRANULARITY_REFRESH + Fine granularity refresh + DDRT_FINE_REFRESH_FIXED_1X + + + MEM_DDRT_MPR_READ_FORMAT + MPR read format + DDRT_MPR_READ_FORMAT_SERIAL + + + MEM_DDRT_MAX_POWERDOWN + Maximum power down mode + false + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_RANGE + Temperature controlled refresh range + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_ENA + Temperature controlled refresh enable + false + + + MEM_DDRT_INTERNAL_VREFDQ_MONITOR + Internal VrefDQ monitor + false + + + MEM_DDRT_CAL_MODE + CS to Addr/CMD Latency + 0 + + + MEM_DDRT_SELF_RFSH_ABORT + Self refresh abort + false + + + MEM_DDRT_READ_PREAMBLE_TRAINING + Read preamble training mode enable + false + + + MEM_DDRT_DEFAULT_PREAMBLE + Use recommended preamble settings + true + + + MEM_DDRT_USER_READ_PREAMBLE + Read preamble + 1 + + + MEM_DDRT_USER_WRITE_PREAMBLE + Write preamble + 1 + + + MEM_DDRT_AC_PARITY_LATENCY + Addr/CMD parity latency + DDRT_AC_PARITY_LATENCY_DISABLE + + + MEM_DDRT_ODT_IN_POWERDOWN + ODT input buffer during powerdown mode + true + + + MEM_DDRT_RTT_PARK + CTT PARK + DDRT_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_AC_PERSISTENT_ERROR + Addr/CMD persistent error + false + + + MEM_DDRT_WRITE_DBI + Write DBI + false + + + MEM_DDRT_READ_DBI + Read DBI + false + + + MEM_DDRT_PARTIAL_WRITES + Partial Writes + false + + + MEM_DDRT_DEFAULT_VREFOUT + Use recommended initial VrefDQ value + true + + + MEM_DDRT_USER_VREFDQ_TRAINING_VALUE + VrefDQ training value + 56.0 + + + MEM_DDRT_USER_VREFDQ_TRAINING_RANGE + VrefDQ training range + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_DEFAULT_ADDED_LATENCY + Use recommended additional latency settings + true + + + MEM_DDRT_USER_TCL_ADDED + Additional CAS latency at PHY + 0 + + + MEM_DDRT_USER_WTCL_ADDED + Additional write CAS latency at PHY + 6 + + + MEM_DDRT_RCD_CA_IBT_ENUM + RCD CA Input Bus Termination + DDRT_RCD_CA_IBT_100 + + + MEM_DDRT_RCD_CS_IBT_ENUM + RCD DCS[3:0]_n Input Bus Termination + DDRT_RCD_CS_IBT_100 + + + MEM_DDRT_RCD_CKE_IBT_ENUM + RCD DCKE Input Bus Termination + DDRT_RCD_CKE_IBT_100 + + + MEM_DDRT_RCD_ODT_IBT_ENUM + RCD DODT Input Bus Termination + DDRT_RCD_ODT_IBT_100 + + + MEM_DDRT_DB_RTT_NOM_ENUM + DB Host Interface DQ RTT_NOM + DDRT_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDRT_DB_RTT_WR_ENUM + DB Host Interface DQ RTT_WR + DDRT_DB_RTT_WR_RZQ_4 + + + MEM_DDRT_DB_RTT_PARK_ENUM + DB Host Interface DQ RTT_PARK + DDRT_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_DB_DQ_DRV_ENUM + DB Host Interface DQ Driver + DDRT_DB_DRV_STR_RZQ_7 + + + MEM_DDRT_SPD_137_RCD_CA_DRV + SPD Byte 137 - RCD Drive Strength for Command/Address + 85 + + + MEM_DDRT_SPD_138_RCD_CK_DRV + SPD Byte 138 - RCD Drive Strength for CK + 5 + + + MEM_DDRT_SPD_140_DRAM_VREFDQ_R0 + SPD Byte 140 - DRAM VrefDQ for Package Rank 0 + 29 + + + MEM_DDRT_SPD_141_DRAM_VREFDQ_R1 + SPD Byte 141 - DRAM VrefDQ for Package Rank 1 + 29 + + + MEM_DDRT_SPD_142_DRAM_VREFDQ_R2 + SPD Byte 142 - DRAM VrefDQ for Package Rank 2 + 29 + + + MEM_DDRT_SPD_143_DRAM_VREFDQ_R3 + SPD Byte 143 - DRAM VrefDQ for Package Rank 3 + 29 + + + MEM_DDRT_SPD_144_DB_VREFDQ + SPD Byte 144 - DB VrefDQ for DRAM Interface + 25 + + + MEM_DDRT_SPD_145_DB_MDQ_DRV + SPD Byte 145-147 - DB MDQ Drive Strength and RTT + 21 + + + MEM_DDRT_SPD_148_DRAM_DRV + SPD Byte 148 - DRAM Drive Strength + 0 + + + MEM_DDRT_SPD_149_DRAM_RTT_WR_NOM + SPD Byte 149-151 - DRAM ODT (RTT_WR and RTT_NOM) + 20 + + + MEM_DDRT_SPD_152_DRAM_RTT_PARK + SPD Byte 152-154 - DRAM ODT (RTT_PARK) + 39 + + + MEM_DDRT_SPD_133_RCD_DB_VENDOR_LSB + RCD and DB Manufacturer (LSB) + 0 + + + MEM_DDRT_SPD_134_RCD_DB_VENDOR_MSB + RCD and DB Manufacturer (MSB) + 0 + + + MEM_DDRT_SPD_135_RCD_REV + RCD Revision Number + 0 + + + MEM_DDRT_SPD_139_DB_REV + DB Revision Number + 0 + + + MEM_DDRT_LRDIMM_ODT_LESS_BS + PARAM_MEM_DDRT_LRDIMM_ODT_LESS_BS_NAME + false + + + MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM + PARAM_MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM_NAME + 240 + + + MEM_DDRT_I2C_DIMM_0_SA + I2C SA Value for DIMM 0 + 0 + + + MEM_DDRT_I2C_DIMM_1_SA + I2C SA Value for DIMM 1 + 1 + + + MEM_DDRT_I2C_DIMM_2_SA + I2C SA Value for DIMM 2 + 2 + + + MEM_DDRT_I2C_DIMM_3_SA + I2C SA Value for DIMM 3 + 3 + + + MEM_DDRT_PERSISTENT_MODE + Persistent Mode + 1 + + + MEM_DDRT_USE_DEFAULT_ODT + Use Default ODT Assertion Tables + true + + + MEM_DDRT_R_ODTN_1X1 + Read Target + Rank 0 + + + MEM_DDRT_R_ODT0_1X1 + ODT0 + off + + + MEM_DDRT_W_ODTN_1X1 + Write Target + Rank 0 + + + MEM_DDRT_W_ODT0_1X1 + ODT0 + on + + + MEM_DDRT_R_ODTN_2X2 + Read Target + Rank 0,Rank 1 + + + MEM_DDRT_R_ODT0_2X2 + ODT0 + off,off + + + MEM_DDRT_R_ODT1_2X2 + ODT1 + off,off + + + MEM_DDRT_W_ODTN_2X2 + Write Target + Rank 0,Rank 1 + + + MEM_DDRT_W_ODT0_2X2 + ODT0 + on,off + + + MEM_DDRT_W_ODT1_2X2 + ODT1 + off,on + + + MEM_DDRT_R_ODTN_4X2 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDRT_R_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDRT_W_ODTN_4X2 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODT0_4X2 + ODT0 + off,off,on,on + + + MEM_DDRT_W_ODT1_4X2 + ODT1 + on,on,off,off + + + MEM_DDRT_R_ODTN_4X4 + Read Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODT0_4X4 + ODT0 + off,off,off,off + + + MEM_DDRT_R_ODT1_4X4 + ODT1 + off,off,on,on + + + MEM_DDRT_R_ODT2_4X4 + ODT2 + off,off,off,off + + + MEM_DDRT_R_ODT3_4X4 + ODT3 + on,on,off,off + + + MEM_DDRT_W_ODTN_4X4 + Write Target + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODT0_4X4 + ODT0 + on,on,off,off + + + MEM_DDRT_W_ODT1_4X4 + ODT1 + off,off,on,on + + + MEM_DDRT_W_ODT2_4X4 + ODT2 + off,off,on,on + + + MEM_DDRT_W_ODT3_4X4 + ODT3 + on,on,off,off + + + MEM_DDRT_SPEEDBIN_ENUM + Speed bin + DDRT_SPEEDBIN_2400 + + + MEM_DDRT_TIS_PS + tIS (base) + 60 + + + MEM_DDRT_TIS_AC_MV + tIS (base) AC level + 100 + + + MEM_DDRT_TIH_PS + tIH (base) + 95 + + + MEM_DDRT_TIH_DC_MV + tIH (base) DC level + 75 + + + MEM_DDRT_TDIVW_TOTAL_UI + TdiVW_total + 0.2 + + + MEM_DDRT_VDIVW_TOTAL + VdiVW_total + 136 + + + MEM_DDRT_TDQSQ_UI + tDQSQ + 0.16 + + + MEM_DDRT_TQH_UI + tQH + 0.76 + + + MEM_DDRT_TDVWP_UI + tDVWp + 0.72 + + + MEM_DDRT_TDQSCK_PS + tDQSCK + 165 + + + MEM_DDRT_TDQSS_CYC + tDQSS + 0.27 + + + MEM_DDRT_TQSH_CYC + tQSH + 0.38 + + + MEM_DDRT_TDSH_CYC + tDSH + 0.18 + + + MEM_DDRT_TDSS_CYC + tDSS + 0.18 + + + MEM_DDRT_TWLS_CYC + tWLS + 0.13 + + + MEM_DDRT_TWLH_CYC + tWLH + 0.13 + + + MEM_DDRT_TINIT_US + tINIT + 500 + + + MEM_DDRT_TMRD_CK_CYC + tMRD + 8 + + + MEM_DDRT_TRAS_NS + tRAS + 32.0 + + + MEM_DDRT_TRCD_NS + tRCD + 15.0 + + + MEM_DDRT_TRP_NS + tRP + 15.0 + + + MEM_DDRT_TREFI_US + tREFI + 7.8 + + + MEM_DDRT_TRFC_NS + tRFC + 260.0 + + + MEM_DDRT_TWR_NS + tWR + 15.0 + + + MEM_DDRT_TWTR_L_CYC + tWTR_L + 9 + + + MEM_DDRT_TWTR_S_CYC + tWTR_S + 3 + + + MEM_DDRT_TFAW_NS + tFAW + 21.0 + + + MEM_DDRT_TRRD_L_CYC + tRRD_L + 6 + + + MEM_DDRT_TRRD_S_CYC + tRRD_S + 4 + + + MEM_DDRT_TCCD_L_CYC + tCCD_L + 6 + + + MEM_DDRT_TCCD_S_CYC + tCCD_S + 4 + + + MEM_DDRT_TRFC_DLR_NS + tRFC_dlr + 90.0 + + + MEM_DDRT_TFAW_DLR_CYC + tFAW_dlr + 16 + + + MEM_DDRT_TRRD_DLR_CYC + tRRD_dlr + 4 + + + MEM_DDRT_TDIVW_DJ_CYC + PARAM_MEM_DDRT_TDIVW_DJ_CYC_NAME + 0.1 + + + MEM_DDRT_TDQSQ_PS + PARAM_MEM_DDRT_TDQSQ_PS_NAME + 66 + + + MEM_DDRT_TQH_CYC + PARAM_MEM_DDRT_TQH_CYC_NAME + 0.38 + + + MEM_DDRT_CFG_GEN_SBE + PARAM_MEM_DDRT_CFG_GEN_SBE_NAME + false + + + MEM_DDRT_CFG_GEN_DBE + PARAM_MEM_DDRT_CFG_GEN_DBE_NAME + false + + + MEM_DDRT_LRDIMM_VREFDQ_VALUE + PARAM_MEM_DDRT_LRDIMM_VREFDQ_VALUE_NAME + + + + MEM_DDRT_TWLS_PS + PARAM_MEM_DDRT_TWLS_PS_NAME + 0.0 + + + MEM_DDRT_TWLH_PS + PARAM_MEM_DDRT_TWLH_PS_NAME + 0.0 + + + BOARD_DDR3_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_DDR3_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_DDR3_USER_CK_SLEW_RATE + CK/CK# slew rate (Differential) + 4.0 + + + BOARD_DDR3_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_DDR3_USER_RCLK_SLEW_RATE + Read DQS/DQS# slew rate (Differential) + 5.0 + + + BOARD_DDR3_USER_WCLK_SLEW_RATE + Write DQS/DQS# slew rate (Differential) + 4.0 + + + BOARD_DDR3_USER_RDATA_SLEW_RATE + Read DQ slew rate + 2.5 + + + BOARD_DDR3_USER_WDATA_SLEW_RATE + Write DQ slew rate + 2.0 + + + BOARD_DDR3_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_DDR3_USER_RCLK_ISI_NS + Read DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDR3_USER_WCLK_ISI_NS + Write DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDR3_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_DDR3_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_DDR3_IS_SKEW_WITHIN_DQS_DESKEWED + Package deskewed with board layout (DQS group) + false + + + BOARD_DDR3_BRD_SKEW_WITHIN_DQS_NS + Maximum board skew within DQS group + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + Maximum system skew within DQS group + 0.02 + + + BOARD_DDR3_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + true + + + BOARD_DDR3_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_DDR3_DQS_TO_CK_SKEW_NS + Average delay difference between DQS and CK + 0.02 + + + BOARD_DDR3_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between DIMMs/devices + 0.05 + + + BOARD_DDR3_SKEW_BETWEEN_DQS_NS + Maximum skew between DQS groups + 0.02 + + + BOARD_DDR3_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_DDR3_MAX_CK_DELAY_NS + Maximum CK delay to DIMM/device + 0.6 + + + BOARD_DDR3_MAX_DQS_DELAY_NS + Maximum DQS delay to DIMM/device + 0.6 + + + BOARD_DDR4_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_DDR4_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_DDR4_USER_CK_SLEW_RATE + CK/CK# slew rate (Differential) + 4.0 + + + BOARD_DDR4_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_DDR4_USER_RCLK_SLEW_RATE + Read DQS/DQS# slew rate (Differential) + 8.0 + + + BOARD_DDR4_USER_WCLK_SLEW_RATE + Write DQS/DQS# slew rate (Differential) + 4.0 + + + BOARD_DDR4_USER_RDATA_SLEW_RATE + Read DQ slew rate + 4.0 + + + BOARD_DDR4_USER_WDATA_SLEW_RATE + Write DQ slew rate + 2.0 + + + BOARD_DDR4_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_DDR4_USER_RCLK_ISI_NS + Read DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDR4_USER_WCLK_ISI_NS + Write DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDR4_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_DDR4_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED + Package deskewed with board layout (DQS group) + true + + + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS + Maximum board skew within DQS group + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS + Maximum system skew within DQS group + 0.02 + + + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + false + + + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_DDR4_DQS_TO_CK_SKEW_NS + Average delay difference between DQS and CK + 0.02 + + + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between DIMMs/devices + 0.05 + + + BOARD_DDR4_SKEW_BETWEEN_DQS_NS + Maximum skew between DQS groups + 0.02 + + + BOARD_DDR4_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_DDR4_MAX_CK_DELAY_NS + Maximum CK delay to DIMM/device + 0.6 + + + BOARD_DDR4_MAX_DQS_DELAY_NS + Maximum DQS delay to DIMM/device + 0.6 + + + BOARD_QDR2_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_QDR2_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_QDR2_USER_K_SLEW_RATE + K/K# slew rate (Differential) + 4.0 + + + BOARD_QDR2_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_QDR2_USER_RCLK_SLEW_RATE + CQ/CQ# slew rate (Complementary) + 4.0 + + + BOARD_QDR2_USER_RDATA_SLEW_RATE + Read Q slew rate + 2.0 + + + BOARD_QDR2_USER_WDATA_SLEW_RATE + Write D slew rate + 2.0 + + + BOARD_QDR2_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_QDR2_USER_RCLK_ISI_NS + CQ/CQ# ISI/crosstalk + 0.0 + + + BOARD_QDR2_USER_WCLK_ISI_NS + K/K# ISI/crosstalk + 0.0 + + + BOARD_QDR2_USER_RDATA_ISI_NS + Read Q ISI/crosstalk + 0.0 + + + BOARD_QDR2_USER_WDATA_ISI_NS + Write D ISI/crosstalk + 0.0 + + + BOARD_QDR2_IS_SKEW_WITHIN_Q_DESKEWED + Package deskewed with board layout (Q group) + false + + + BOARD_QDR2_IS_SKEW_WITHIN_D_DESKEWED + Package deskewed with board layout (D group) + false + + + BOARD_QDR2_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + true + + + BOARD_QDR2_BRD_SKEW_WITHIN_Q_NS + Maximum board skew within Q group + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_D_NS + Maximum board skew within D group + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_Q_NS + Maximum system skew within Q group + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_D_NS + Maximum system skew within D group + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_QDR2_AC_TO_K_SKEW_NS + Average delay difference between address/command and K + 0.0 + + + BOARD_QDR2_MAX_K_DELAY_NS + Maximum K delay to device + 0.6 + + + BOARD_QDR4_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_QDR4_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_QDR4_USER_CK_SLEW_RATE + CK/CK# slew rate (Differential) + 4.0 + + + BOARD_QDR4_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_QDR4_USER_RCLK_SLEW_RATE + QK/QK# slew rate (Differential) + 5.0 + + + BOARD_QDR4_USER_WCLK_SLEW_RATE + DK/DK# slew rate (Differential) + 4.0 + + + BOARD_QDR4_USER_RDATA_SLEW_RATE + Read DQ slew rate + 2.5 + + + BOARD_QDR4_USER_WDATA_SLEW_RATE + Write DQ slew rate + 2.0 + + + BOARD_QDR4_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_QDR4_USER_RCLK_ISI_NS + QK/QK# ISI/crosstalk + 0.0 + + + BOARD_QDR4_USER_WCLK_ISI_NS + DK/DK# ISI/crosstalk + 0.0 + + + BOARD_QDR4_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_QDR4_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_QDR4_IS_SKEW_WITHIN_QK_DESKEWED + Package deskewed with board layout (QK group) + true + + + BOARD_QDR4_BRD_SKEW_WITHIN_QK_NS + Maximum board skew within QK group + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_QK_NS + Maximum system skew within QK group + 0.02 + + + BOARD_QDR4_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + true + + + BOARD_QDR4_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_QDR4_DK_TO_CK_SKEW_NS + Average delay difference between DK and CK + -0.02 + + + BOARD_QDR4_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between devices + 0.05 + + + BOARD_QDR4_SKEW_BETWEEN_DK_NS + Maximum skew between DK groups + 0.02 + + + BOARD_QDR4_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_QDR4_MAX_CK_DELAY_NS + Maximum CK delay to device + 0.6 + + + BOARD_QDR4_MAX_DK_DELAY_NS + Maximum DK delay to device + 0.6 + + + BOARD_RLD3_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_RLD3_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_RLD3_USER_CK_SLEW_RATE + CK/CK# slew rate (Differential) + 4.0 + + + BOARD_RLD3_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_RLD3_USER_RCLK_SLEW_RATE + QK/QK# slew rate (Differential) + 7.0 + + + BOARD_RLD3_USER_WCLK_SLEW_RATE + DK/DK# slew rate (Differential) + 4.0 + + + BOARD_RLD3_USER_RDATA_SLEW_RATE + Read DQ slew rate + 3.5 + + + BOARD_RLD3_USER_WDATA_SLEW_RATE + Write DQ slew rate + 2.0 + + + BOARD_RLD3_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_RLD3_USER_RCLK_ISI_NS + QK/QK# ISI/crosstalk + 0.0 + + + BOARD_RLD3_USER_WCLK_ISI_NS + DK/DK# ISI/crosstalk + 0.0 + + + BOARD_RLD3_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_RLD3_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_RLD3_IS_SKEW_WITHIN_QK_DESKEWED + Package deskewed with board layout (QK group) + false + + + BOARD_RLD3_BRD_SKEW_WITHIN_QK_NS + Maximum board skew within QK group + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_QK_NS + Maximum system skew within QK group + 0.02 + + + BOARD_RLD3_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + true + + + BOARD_RLD3_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_RLD3_DK_TO_CK_SKEW_NS + Average delay difference between DK and CK + -0.02 + + + BOARD_RLD3_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between devices + 0.05 + + + BOARD_RLD3_SKEW_BETWEEN_DK_NS + Maximum skew between DK groups + 0.02 + + + BOARD_RLD3_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_RLD3_MAX_CK_DELAY_NS + Maximum CK delay to device + 0.6 + + + BOARD_RLD3_MAX_DK_DELAY_NS + Maximum DK delay to device + 0.6 + + + BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES + PARAM_BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES_NAME + true + + + BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_LPDDR3_USER_CK_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_CK_SLEW_RATE_NAME + 4.0 + + + BOARD_LPDDR3_USER_AC_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_AC_SLEW_RATE_NAME + 2.0 + + + BOARD_LPDDR3_USER_RCLK_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_RCLK_SLEW_RATE_NAME + 4.0 + + + BOARD_LPDDR3_USER_WCLK_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_WCLK_SLEW_RATE_NAME + 4.0 + + + BOARD_LPDDR3_USER_RDATA_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_RDATA_SLEW_RATE_NAME + 2.0 + + + BOARD_LPDDR3_USER_WDATA_SLEW_RATE + PARAM_BOARD_LPDDR3_USER_WDATA_SLEW_RATE_NAME + 2.0 + + + BOARD_LPDDR3_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_LPDDR3_USER_RCLK_ISI_NS + Read DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_LPDDR3_USER_WCLK_ISI_NS + Write DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_LPDDR3_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_LPDDR3_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED + Package deskewed with board layout (DQS group) + false + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS + Maximum board skew within DQS group + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + Maximum system skew within DQS group + 0.02 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + true + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_LPDDR3_DQS_TO_CK_SKEW_NS + Average delay difference between DQS and CK + 0.02 + + + BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between devices + 0.05 + + + BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS + Maximum skew between DQS groups + 0.02 + + + BOARD_LPDDR3_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_LPDDR3_MAX_CK_DELAY_NS + Maximum CK delay to device + 0.6 + + + BOARD_LPDDR3_MAX_DQS_DELAY_NS + Maximum DQS delay to device + 0.6 + + + BOARD_DDRT_USE_DEFAULT_SLEW_RATES + Use default slew rates + true + + + BOARD_DDRT_USE_DEFAULT_ISI_VALUES + Use default ISI/crosstalk values + true + + + BOARD_DDRT_USER_CK_SLEW_RATE + CK/CK# slew rate (Differential) + 4.0 + + + BOARD_DDRT_USER_AC_SLEW_RATE + Address and command slew rate + 2.0 + + + BOARD_DDRT_USER_RCLK_SLEW_RATE + Read DQS/DQS# slew rate (Differential) + 8.0 + + + BOARD_DDRT_USER_WCLK_SLEW_RATE + Write DQS/DQS# slew rate (Differential) + 4.0 + + + BOARD_DDRT_USER_RDATA_SLEW_RATE + Read DQ slew rate + 4.0 + + + BOARD_DDRT_USER_WDATA_SLEW_RATE + Write DQ slew rate + 2.0 + + + BOARD_DDRT_USER_AC_ISI_NS + Address and command ISI/crosstalk + 0.0 + + + BOARD_DDRT_USER_RCLK_ISI_NS + Read DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDRT_USER_WCLK_ISI_NS + Write DQS/DQS# ISI/crosstalk + 0.0 + + + BOARD_DDRT_USER_RDATA_ISI_NS + Read DQ ISI/crosstalk + 0.0 + + + BOARD_DDRT_USER_WDATA_ISI_NS + Write DQ ISI/crosstalk + 0.0 + + + BOARD_DDRT_IS_SKEW_WITHIN_DQS_DESKEWED + Package deskewed with board layout (DQS group) + true + + + BOARD_DDRT_BRD_SKEW_WITHIN_DQS_NS + Maximum board skew within DQS group + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_DQS_NS + Maximum system skew within DQS group + 0.02 + + + BOARD_DDRT_IS_SKEW_WITHIN_AC_DESKEWED + Package deskewed with board layout (address/command bus) + false + + + BOARD_DDRT_BRD_SKEW_WITHIN_AC_NS + Maximum board skew within address/command bus + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_AC_NS + Maximum system skew within address/command bus + 0.02 + + + BOARD_DDRT_DQS_TO_CK_SKEW_NS + Average delay difference between DQS and CK + 0.02 + + + BOARD_DDRT_SKEW_BETWEEN_DIMMS_NS + Maximum delay difference between DIMMs/devices + 0.05 + + + BOARD_DDRT_SKEW_BETWEEN_DQS_NS + Maximum skew between DQS groups + 0.02 + + + BOARD_DDRT_AC_TO_CK_SKEW_NS + Average delay difference between address/command and CK + 0.0 + + + BOARD_DDRT_MAX_CK_DELAY_NS + Maximum CK delay to DIMM/device + 0.6 + + + BOARD_DDRT_MAX_DQS_DELAY_NS + Maximum DQS delay to DIMM/device + 0.6 + + + CTRL_DDR3_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR3_SELF_REFRESH_EN + Enable Self-Refresh Control + false + + + CTRL_DDR3_AUTO_POWER_DOWN_EN + Enable Auto Power-Down + false + + + CTRL_DDR3_AUTO_POWER_DOWN_CYCS + Auto Power-Down Cycles + 32 + + + CTRL_DDR3_USER_REFRESH_EN + Enable User Refresh Control + false + + + CTRL_DDR3_USER_PRIORITY_EN + Enable Command Priority Control + false + + + CTRL_DDR3_AUTO_PRECHARGE_EN + Enable Auto-Precharge Control + false + + + CTRL_DDR3_ADDR_ORDER_ENUM + Address Ordering + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_DDR3_ECC_EN + Enable Error Detection and Correction Logic with ECC + false + + + CTRL_DDR3_ECC_AUTO_CORRECTION_EN + Enable Auto Error Correction to External Memory + false + + + CTRL_DDR3_ECC_READDATAERROR_EN + Enable ctrl_ecc_readdataerror signal to indicate uncorrectable data errors + true + + + CTRL_DDR3_ECC_STATUS_EN + Export error-correction code (ECC) status ports + false + + + CTRL_DDR3_REORDER_EN + Enable Reordering + true + + + CTRL_DDR3_STARVE_LIMIT + Starvation limit for each command + 10 + + + CTRL_DDR3_MMR_EN + Enable Memory-Mapped Configuration and Status Register (MMR) Interface + false + + + CTRL_DDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (same rank) + 0 + + + CTRL_DDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (same rank) + 0 + + + CTRL_DDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional read-to-read turnaround time (different ranks) + 0 + + + CTRL_DDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (different ranks) + 0 + + + CTRL_DDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional write-to-write turnaround time (different ranks) + 0 + + + CTRL_DDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (different ranks) + 0 + + + CTRL_DDR4_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR4_SELF_REFRESH_EN + Enable Self-Refresh Control + false + + + CTRL_DDR4_AUTO_POWER_DOWN_EN + Enable Auto Power-Down + false + + + CTRL_DDR4_AUTO_POWER_DOWN_CYCS + Auto Power-Down Cycles + 32 + + + CTRL_DDR4_USER_REFRESH_EN + Enable User Refresh Control + false + + + CTRL_DDR4_USER_PRIORITY_EN + Enable Command Priority Control + false + + + CTRL_DDR4_AUTO_PRECHARGE_EN + Enable Auto-Precharge Control + false + + + CTRL_DDR4_ADDR_ORDER_ENUM + Address Ordering + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDR4_ECC_EN + Enable Error Detection and Correction Logic with ECC + true + + + CTRL_DDR4_ECC_AUTO_CORRECTION_EN + Enable Auto Error Correction to External Memory + false + + + CTRL_DDR4_ECC_READDATAERROR_EN + Enable ctrl_ecc_readdataerror signal to indicate uncorrectable data errors + false + + + CTRL_DDR4_ECC_STATUS_EN + Export error-correction code (ECC) status ports + false + + + CTRL_DDR4_REORDER_EN + Enable Reordering + true + + + CTRL_DDR4_STARVE_LIMIT + Starvation limit for each command + 10 + + + CTRL_DDR4_MMR_EN + Enable Memory-Mapped Configuration and Status Register (MMR) Interface + false + + + CTRL_DDR4_MAJOR_MODE_EN + Enable controller major mode + false + + + CTRL_DDR4_POST_REFRESH_EN + Enable controller post-pay refresh + true + + + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT + Post-pay refresh lower limit + 0 + + + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT + Post-pay refresh upper limit + 2 + + + CTRL_DDR4_PRE_REFRESH_EN + Enable controller pre-pay refresh + false + + + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT + Refresh pre-pay upper limit + 1 + + + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (same rank) + 0 + + + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (same rank) + 0 + + + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional read-to-read turnaround time (different ranks) + 0 + + + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (different ranks) + 0 + + + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional write-to-write turnaround time (different ranks) + 0 + + + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (different ranks) + 0 + + + CTRL_QDR2_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR2_AVL_MAX_BURST_COUNT + Maximum Avalon-MM burst length + 4 + + + CTRL_QDR2_AVL_ENABLE_POWER_OF_TWO_BUS + Generate power-of-2 data bus widths for Qsys + false + + + CTRL_QDR4_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR4_AVL_MAX_BURST_COUNT + Maximum Avalon-MM burst length + 4 + + + CTRL_QDR4_AVL_ENABLE_POWER_OF_TWO_BUS + Generate power-of-2 data bus widths for Qsys + false + + + CTRL_QDR4_ADD_RAW_TURNAROUND_DELAY_CYC + Additional read-after-write turnaround time + 0 + + + CTRL_QDR4_ADD_WAR_TURNAROUND_DELAY_CYC + Additional write-after-read turnaround time + 0 + + + CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC + PARAM_CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC_NAME + 4 + + + CTRL_RLD2_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_ADDR_ORDER_ENUM + Address Ordering + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_LPDDR3_SELF_REFRESH_EN + Enable Self-Refresh Control + false + + + CTRL_LPDDR3_AUTO_POWER_DOWN_EN + Enable Auto Power-Down + false + + + CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS + Auto Power-Down Cycles + 32 + + + CTRL_LPDDR3_USER_REFRESH_EN + Enable User Refresh Control + false + + + CTRL_LPDDR3_USER_PRIORITY_EN + Enable Command Priority Control + false + + + CTRL_LPDDR3_AUTO_PRECHARGE_EN + Enable Auto-Precharge Control + false + + + CTRL_LPDDR3_ADDR_ORDER_ENUM + Address Ordering + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_REORDER_EN + Enable Reordering + true + + + CTRL_LPDDR3_STARVE_LIMIT + Starvation limit for each command + 10 + + + CTRL_LPDDR3_MMR_EN + Enable Memory-Mapped Configuration and Status Register (MMR) Interface + false + + + CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (same rank) + 0 + + + CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (same rank) + 0 + + + CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional read-to-read turnaround time (different ranks) + 0 + + + CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (different ranks) + 0 + + + CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional write-to-write turnaround time (different ranks) + 0 + + + CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (different ranks) + 0 + + + CTRL_DDRT_AVL_PROTOCOL_ENUM + Avalon Interface + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDRT_SELF_REFRESH_EN + Enable Self-Refresh Control + false + + + CTRL_DDRT_AUTO_POWER_DOWN_EN + Enable Auto Power-Down + false + + + CTRL_DDRT_AUTO_POWER_DOWN_CYCS + Auto Power-Down Cycles + 32 + + + CTRL_DDRT_USER_REFRESH_EN + Enable User Refresh Control + false + + + CTRL_DDRT_USER_PRIORITY_EN + Enable Command Priority Control + false + + + CTRL_DDRT_AUTO_PRECHARGE_EN + Enable Auto-Precharge Control + false + + + CTRL_DDRT_ADDR_ORDER_ENUM + PARAM_CTRL_DDRT_ADDR_ORDER_ENUM_NAME + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDRT_ECC_EN + Enable Error Detection and Correction Logic with ECC + false + + + CTRL_DDRT_ECC_AUTO_CORRECTION_EN + Enable Auto Error Correction to External Memory + false + + + CTRL_DDRT_ECC_READDATAERROR_EN + Enable ctrl_ecc_readdataerror signal to indicate uncorrectable data errors + true + + + CTRL_DDRT_ECC_STATUS_EN + Export error-correction code (ECC) status ports + true + + + CTRL_DDRT_REORDER_EN + Enable Reordering + true + + + CTRL_DDRT_STARVE_LIMIT + Starvation limit for each command + 10 + + + CTRL_DDRT_MMR_EN + Enable Memory-Mapped Configuration and Status Register (MMR) Interface + false + + + CTRL_DDRT_RD_TO_WR_SAME_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (same rank) + 0 + + + CTRL_DDRT_WR_TO_RD_SAME_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (same rank) + 0 + + + CTRL_DDRT_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional read-to-read turnaround time (different ranks) + 0 + + + CTRL_DDRT_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional read-to-write turnaround time (different ranks) + 0 + + + CTRL_DDRT_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + Additional write-to-read turnaround time (different ranks) + 0 + + + CTRL_DDRT_DIMM_DENSITY + Capacity of Optane DIMM + 128 + + + CTRL_DDRT_NUM_OF_AXIS_ID + Number of AXI masters + 1 + + + CTRL_DDRT_WR_ACK_POLICY + Write Acknowldgement Policy + POSTED + + + CTRL_DDRT_ERR_REPLAY_EN + Replay on Error + false + + + CTRL_DDRT_HOST_VIRAL_FLOW_EN + Host Error Viral + false + + + CTRL_DDRT_DIMM_VIRAL_FLOW_EN + DIMM Error Viral + false + + + CTRL_DDRT_POISON_DETECTION_EN + Error Poison + false + + + CTRL_DDRT_PMM_ADR_FLOW_EN + PMM ADR Flow + false + + + CTRL_DDRT_PMM_WPQ_FLUSH_EN + PMM WPQ Flush + false + + + CTRL_DDRT_UPI_EN + UPI EN + false + + + CTRL_DDRT_UPI_ID_WIDTH + PARAM_CTRL_DDRT_UPI_ID_WIDTH_NAME + 8 + + + CTRL_DDRT_PARITY_CMD_EN + CMD Parity EN + false + + + CTRL_DDRT_ADDR_INTERLEAVING + Address Interleaving + COARSE + + + CTRL_DDRT_PORT_AFI_C_WIDTH + PARAM_CTRL_DDRT_PORT_AFI_C_WIDTH_NAME + 2 + + + CTRL_DDRT_ZQ_INTERVAL_MS + ZQCS command interval + 3 + + + CTRL_DDRT_ERR_INJECT_EN + Error Inject EN + false + + + CTRL_DDRT_EXT_ERR_INJECT_EN + Ext Error Inject EN + false + + + CTRL_DDRT_GNT_TO_WR_SAME_CHIP_DELTA_CYCS + Additional grant to write turnaround time (same DIMM) + 1 + + + CTRL_DDRT_WR_TO_GNT_SAME_CHIP_DELTA_CYCS + Additional write to grant turnaround time (same DIMM) + 0 + + + CTRL_DDRT_GNT_TO_GNT_DIFF_CHIP_DELTA_CYCS + Additional grant to grant turnaround time (different DIMM) + 0 + + + CTRL_DDRT_GNT_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional grant to write turnaround time (different DIMM) + 1 + + + CTRL_DDRT_WR_TO_GNT_DIFF_CHIP_DELTA_CYCS + Additional write to grant turnaround time (different DIMM) + 0 + + + CTRL_DDRT_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + Additional write to write turnaround time (different DIMM) + 0 + + + DIAG_SIM_REGTEST_MODE + Simulation regtest mode + false + + + DIAG_TIMING_REGTEST_MODE + Timing regtest mode + false + + + DIAG_SYNTH_FOR_SIM + Synthesize for simulation + false + + + DIAG_FAST_SIM_OVERRIDE + Fast simulation override + FAST_SIM_OVERRIDE_DEFAULT + + + DIAG_SEQ_RESET_AUTO_RELEASE + PARAM_DIAG_SEQ_RESET_AUTO_RELEASE_NAME + avl + + + DIAG_DB_RESET_AUTO_RELEASE + PARAM_DIAG_DB_RESET_AUTO_RELEASE_NAME + avl_release + + + DIAG_ADD_READY_PIPELINE + Add additional pipeline on the ready/WaitRequest path. + true + + + DIAG_EXPOSE_EARLY_READY + Expose Early Ready + false + + + DIAG_EXPOSE_RD_TYPE + Expose Read Type + false + + + DIAG_VERBOSE_IOAUX + Show verbose IOAUX debug messages + false + + + DIAG_ECLIPSE_DEBUG + Enable Eclipse debugging + false + + + DIAG_EXPORT_VJI + Export Virtual JTAG Interface (VJI) + false + + + DIAG_ENABLE_JTAG_UART + Enable JTAG UART + false + + + DIAG_ENABLE_JTAG_UART_HEX + Enable JTAG UART hexfiles + false + + + DIAG_ENABLE_HPS_EMIF_DEBUG + Enable UART for HPS EMIF Debug + false + + + DIAG_SOFT_NIOS_MODE + Use Soft NIOS Processor for On-Chip Debug + SOFT_NIOS_MODE_DISABLED + + + DIAG_SOFT_NIOS_CLOCK_FREQUENCY + Calibration Processor External Clock Frequency + 100 + + + DIAG_USE_RS232_UART + Use an RS232 UART for Soft NIOS Calibration Processor debug output (requires code change) + false + + + DIAG_RS232_UART_BAUDRATE + RS232 UART Speed + 57600 + + + DIAG_EX_DESIGN_ADD_TEST_EMIFS + Add extra EMIFs to example design + + + + DIAG_EX_DESIGN_SEPARATE_RESETS + Use a separate global reset signal for every interface + false + + + DIAG_EXPOSE_DFT_SIGNALS + Expose test and debug signals + false + + + DIAG_EXTRA_CONFIGS + Extra configuration + + + + DIAG_USE_BOARD_DELAY_MODEL + Use board delay model during simulation + false + + + DIAG_BOARD_DELAY_CONFIG_STR + Board delay model configuration + + + + DIAG_TG_AVL_2_NUM_CFG_INTERFACES + Number of Traffic Generator 2.0 configuration interfaces + 0 + + + DIAG_EXPORT_PLL_REF_CLK_OUT + PARAM_DIAG_EXPORT_PLL_REF_CLK_OUT_NAME + false + + + DIAG_EXPORT_PLL_LOCKED + Export PLL lock signal + true + + + DIAG_HMC_HRC + PARAM_DIAG_HMC_HRC_NAME + auto + + + SHORT_QSYS_INTERFACE_NAMES + Use short Qsys interface names + true + + + DIAG_EXT_DOCS + PARAM_DIAG_EXT_DOCS_NAME + false + + + DIAG_DDR3_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_DDR3_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDR3_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_DDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_DDR3_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_DDR3_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_DDR3_INTERFACE_ID + Interface ID + 0 + + + DIAG_DDR3_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_DDR3_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_DDR3_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_DDR3_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_DDR3_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_DDR3_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_DDR3_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_DDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR3_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_DDR3_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_DDR3_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_DDR3_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_DDR3_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_DDR3_CA_LEVEL_EN + Enable address/command leveling calibration + true + + + DIAG_DDR3_CA_DESKEW_EN + Enable address/command deskew calibration + true + + + DIAG_DDR3_CAL_ADDR0 + Calibration address 0 + 0 + + + DIAG_DDR3_CAL_ADDR1 + Calibration address 1 + 8 + + + DIAG_DDR3_CAL_ENABLE_NON_DES + Enable refreshes during calibration + false + + + DIAG_DDR3_CAL_FULL_CAL_ON_RESET + Enable automatic calibration after reset + true + + + DIAG_DDR3_CAL_ENABLE_MICRON_AP + Enable Micron Automata Calibration + false + + + DIAG_DDR4_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_DDR4_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_DDR4_INTERFACE_ID + Interface ID + 0 + + + DIAG_DDR4_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_DDR4_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_DDR4_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_DDR4_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_DDR4_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_DDR4_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_DDR4_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR4_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_DDR4_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_DDR4_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_DDR4_SKIP_CA_LEVEL + Skip address/command leveling calibration + false + + + DIAG_DDR4_SKIP_CA_DESKEW + Skip address/command deskew calibration + false + + + DIAG_DDR4_SKIP_VREF_CAL + Skip VREF calibration + false + + + DIAG_DDR4_SKIP_AC_PARITY_CHECK + Skip address/command parity check during calibration + false + + + DIAG_DDR4_CAL_ADDR0 + Calibration address 0 + 0 + + + DIAG_DDR4_CAL_ADDR1 + Calibration address 1 + 8 + + + DIAG_DDR4_CAL_ENABLE_NON_DES + Enable refreshes during calibration + false + + + DIAG_DDR4_CAL_FULL_CAL_ON_RESET + Enable automatic calibration after reset + true + + + DIAG_QDR2_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_QDR2_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR2_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_QDR2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_QDR2_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_QDR2_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_QDR2_INTERFACE_ID + Interface ID + 0 + + + DIAG_QDR2_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_QDR2_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR2_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_QDR2_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_QDR2_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_QDR2_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_QDR2_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_QDR2_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_QDR2_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR2_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_QDR2_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_QDR2_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_QDR2_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_QDR2_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_QDR4_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_QDR4_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR4_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_QDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_QDR4_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_QDR4_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_QDR4_INTERFACE_ID + Interface ID + 0 + + + DIAG_QDR4_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_QDR4_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_QDR4_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_QDR4_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_QDR4_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_QDR4_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_QDR4_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_QDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR4_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_QDR4_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_QDR4_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_QDR4_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_QDR4_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_QDR4_SKIP_VREF_CAL + Skip VREF_in calibration + false + + + DIAG_RLD2_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_RLD2_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD2_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_RLD2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_RLD2_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_RLD2_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_RLD2_INTERFACE_ID + Interface ID + 0 + + + DIAG_RLD2_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_RLD2_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD2_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_RLD2_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_RLD2_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_RLD2_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_RLD2_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_RLD2_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_RLD2_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD2_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_RLD2_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_RLD2_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_RLD2_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_RLD2_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_RLD3_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_RLD3_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD3_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_RLD3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_RLD3_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_RLD3_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_RLD3_INTERFACE_ID + Interface ID + 0 + + + DIAG_RLD3_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_RLD3_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD3_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_RLD3_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_RLD3_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_RLD3_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_RLD3_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_RLD3_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_RLD3_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD3_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_RLD3_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_RLD3_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_RLD3_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_RLD3_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_RLD3_CA_LEVEL_EN + Enable address/command leveling calibration + true + + + DIAG_RLD3_CA_DESKEW_EN + Enable address/command deskew calibration + true + + + DIAG_LPDDR3_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_LPDDR3_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_LPDDR3_INTERFACE_ID + Interface ID + 0 + + + DIAG_LPDDR3_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_LPDDR3_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_LPDDR3_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + false + + + DIAG_LPDDR3_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_LPDDR3_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_LPDDR3_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_LPDDR3_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_LPDDR3_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_LPDDR3_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_LPDDR3_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_LPDDR3_SKIP_CA_LEVEL + Skip address/command leveling calibration + false + + + DIAG_LPDDR3_SKIP_CA_DESKEW + Skip address/command deskew calibration + false + + + DIAG_DDRT_SIM_CAL_MODE_ENUM + Calibration mode + SIM_CAL_MODE_SKIP + + + DIAG_DDRT_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDRT_EXPORT_SEQ_AVALON_MASTER + Enable Daisy-Chaining for Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + false + + + DIAG_DDRT_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + First EMIF Instance in the Avalon Chain + true + + + DIAG_DDRT_EX_DESIGN_NUM_OF_SLAVES + Number of core clocks sharing slaves to instantiate in the example design + 1 + + + DIAG_DDRT_EX_DESIGN_ISSP_EN + Enable In-System-Sources-and-Probes + true + + + DIAG_DDRT_INTERFACE_ID + Interface ID + 0 + + + DIAG_DDRT_EFFICIENCY_MONITOR + Efficiency Monitor Mode + EFFMON_MODE_DISABLED + + + DIAG_DDRT_USE_NEW_EFFMON_S10 + Use Efficiency Monitor with Unified Toolkit + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD + Preload memory + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + Memory preload-data filename for primary interface + EMIF_PRI_PRELOAD.txt + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + Memory preload-data filename for secondary interface + EMIF_SEC_PRELOAD.txt + + + DIAG_DDRT_USER_USE_SIM_MEMORY_VALIDATION_TG + Use traffic generator to validate memory contents in Example Design simulation + true + + + DIAG_DDRT_USE_TG_AVL_2 + Use configurable Avalon traffic generator 2.0 + true + + + DIAG_DDRT_USE_TG_HBM + PARAM_DIAG_USE_TG_HBM_NAME + false + + + DIAG_DDRT_ABSTRACT_PHY + Abstract phy for fast simulation + false + + + DIAG_DDRT_ENABLE_DEFAULT_MODE + Enable default traffic pattern (pattern configured during compile-time) + false + + + DIAG_DDRT_ENABLE_USER_MODE + Enable user-configured traffic pattern (pattern configured during run-time) + true + + + DIAG_DDRT_EXPORT_TG_CFG_AVALON_SLAVE + TG2 Configuration Interface Mode + TG_CFG_AMM_EXPORT_MODE_JTAG + + + DIAG_DDRT_TG2_TEST_DURATION + TG2 default traffic duration + SHORT + + + DIAG_DDRT_SEPARATE_READ_WRITE_ITFS + PARAM_DIAG_SEPARATE_READ_WRITE_ITFS_NAME + false + + + DIAG_DDRT_DISABLE_AFI_P2C_REGISTERS + Disable P2C Register Stage + false + + + DIAG_DDRT_AC_PARITY_ERR + Export Address/Command parity error indicator + false + + + DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS + PARAM_DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS_NAME + true + + + DIAG_DDRT_SIM_VERBOSE + Show verbose simulation debug messages + true + + + DIAG_DDRT_SKIP_CA_LEVEL + Skip address/command leveling calibration + false + + + DIAG_DDRT_SKIP_CA_DESKEW + Skip address/command deskew calibration + false + + + DIAG_DDRT_SKIP_VREF_CAL + Skip VREF calibration + false + + + DIAG_DDRT_CAL_ADDR0 + PARAM_DIAG_DDRT_CAL_ADDR0_NAME + 0 + + + DIAG_DDRT_CAL_ADDR1 + PARAM_DIAG_DDRT_CAL_ADDR1_NAME + 8 + + + DIAG_DDRT_CAL_ENABLE_NON_DES + PARAM_DIAG_DDRT_CAL_ENABLE_NON_DES_NAME + false + + + DIAG_DDRT_CAL_FULL_CAL_ON_RESET + PARAM_DIAG_DDRT_CAL_FULL_CAL_ON_RESET_NAME + true + + + DIAG_DDRT_ENABLE_ENHANCED_TESTING + Enable enhanced testing + false + + + DIAG_DDRT_ENABLE_DRIVER_MARGINING + Enable driver margining for DDR-T + false + + + DIAG_DDRT_EFF_TEST + PARAM_DIAG_DDRT_EFF_TEST_NAME + false + + + NUM_IPS + Number of IPs + 1 + + + EMIF_0_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_0_STORED_PARAM + PARAM_EMIF_0_STORED_PARAM_NAME + + + + EMIF_0_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_1_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_1_STORED_PARAM + PARAM_EMIF_1_STORED_PARAM_NAME + + + + EMIF_1_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_2_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_2_STORED_PARAM + PARAM_EMIF_2_STORED_PARAM_NAME + + + + EMIF_2_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_3_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_3_STORED_PARAM + PARAM_EMIF_3_STORED_PARAM_NAME + + + + EMIF_3_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_4_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_4_STORED_PARAM + PARAM_EMIF_4_STORED_PARAM_NAME + + + + EMIF_4_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_5_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_5_STORED_PARAM + PARAM_EMIF_5_STORED_PARAM_NAME + + + + EMIF_5_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_6_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_6_STORED_PARAM + PARAM_EMIF_6_STORED_PARAM_NAME + + + + EMIF_6_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_7_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_7_STORED_PARAM + PARAM_EMIF_7_STORED_PARAM_NAME + + + + EMIF_7_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_8_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_8_STORED_PARAM + PARAM_EMIF_8_STORED_PARAM_NAME + + + + EMIF_8_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_9_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_9_STORED_PARAM + PARAM_EMIF_9_STORED_PARAM_NAME + + + + EMIF_9_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_10_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_10_STORED_PARAM + PARAM_EMIF_10_STORED_PARAM_NAME + + + + EMIF_10_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_11_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_11_STORED_PARAM + PARAM_EMIF_11_STORED_PARAM_NAME + + + + EMIF_11_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_12_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_12_STORED_PARAM + PARAM_EMIF_12_STORED_PARAM_NAME + + + + EMIF_12_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_13_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_13_STORED_PARAM + PARAM_EMIF_13_STORED_PARAM_NAME + + + + EMIF_13_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_14_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_14_STORED_PARAM + PARAM_EMIF_14_STORED_PARAM_NAME + + + + EMIF_14_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EMIF_15_CONN_TO_CALIP + Cal-IP + CALIP_0 + + + EMIF_15_STORED_PARAM + PARAM_EMIF_15_STORED_PARAM_NAME + + + + EMIF_15_REF_CLK_SHARING + Ref-Clock + EXPORTED + + + EX_DESIGN_GUI_DDR3_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR3_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_DDR3_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_DDR3_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_DDR3_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_DDR3_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR3_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR3_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR4_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_DDR4_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_DDR4_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_DDR4_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_DDR4_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR2_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_QDR2_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_QDR2_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_QDR2_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_QDR2_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR2_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR4_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_QDR4_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_QDR4_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_QDR4_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_QDR4_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR4_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD2_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_RLD2_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_RLD2_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_RLD2_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_RLD2_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD2_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD3_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_RLD3_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_RLD3_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_RLD3_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_RLD3_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD3_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_LPDDR3_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_LPDDR3_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_LPDDR3_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_LPDDR3_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_LPDDR3_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_SEL_DESIGN + Select design + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDRT_GEN_SIM + Simulation + true + + + EX_DESIGN_GUI_DDRT_GEN_SYNTH + Synthesis + true + + + EX_DESIGN_GUI_DDRT_GEN_BSI + Signal Integrity + false + + + EX_DESIGN_GUI_DDRT_GEN_CDC + Spyglass CDC + false + + + EX_DESIGN_GUI_DDRT_HDL_FORMAT + Simulation HDL format + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDRT_TARGET_DEV_KIT + Select board + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_PREV_PRESET + PARAM_EX_DESIGN_PREV_PRESET_NAME + TARGET_DEV_KIT_NONE + + + AUTO_BOARD + Auto BOARD + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + + + + + board + Board + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ + element emif_fm_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} + + + + hideFromIPCatalog + Hide from IP Catalog + false + + + lockedInterfaceDefinition + lockedInterfaceDefinition + <boundaryDefinition> + <interfaces> + <interface> + <name>local_reset_req</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>local_reset_req</name> + <role>local_reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>local_reset_status</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>local_reset_done</name> + <role>local_reset_done</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>pll_ref_clk</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>pll_ref_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>0</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>pll_locked</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>pll_locked</name> + <role>pll_locked</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>oct</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>oct_rzqin</name> + <role>oct_rzqin</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>mem_ck</name> + <role>mem_ck</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_ck_n</name> + <role>mem_ck_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_a</name> + <role>mem_a</role> + <direction>Output</direction> + <width>17</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_act_n</name> + <role>mem_act_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_ba</name> + <role>mem_ba</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_bg</name> + <role>mem_bg</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_cke</name> + <role>mem_cke</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_cs_n</name> + <role>mem_cs_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_odt</name> + <role>mem_odt</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_reset_n</name> + <role>mem_reset_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_par</name> + <role>mem_par</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_alert_n</name> + <role>mem_alert_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_dqs</name> + <role>mem_dqs</role> + <direction>Bidir</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_dqs_n</name> + <role>mem_dqs_n</role> + <direction>Bidir</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_dq</name> + <role>mem_dq</role> + <direction>Bidir</direction> + <width>72</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>mem_dbi_n</name> + <role>mem_dbi_n</role> + <direction>Bidir</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>status</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>local_cal_success</name> + <role>local_cal_success</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>local_cal_fail</name> + <role>local_cal_fail</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>emif_calbus</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>calbus_read</name> + <role>calbus_read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_write</name> + <role>calbus_write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_address</name> + <role>calbus_address</role> + <direction>Input</direction> + <width>20</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_wdata</name> + <role>calbus_wdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_rdata</name> + <role>calbus_rdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_seq_param_tbl</name> + <role>calbus_seq_param_tbl</role> + <direction>Output</direction> + <width>4096</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>emif_calbus_clk</value> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>emif_calbus_clk</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>calbus_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>0</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>emif_usr_reset_n</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>emif_usr_reset_n</name> + <role>reset_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedDirectReset</key> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>none</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>emif_usr_clk</name> + <type>clock</type> + <isStart>true</isStart> + <ports> + <port> + <name>emif_usr_clk</name> + <role>clk</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedDirectClock</key> + </entry> + <entry> + <key>clockRate</key> + <value>300000000</value> + </entry> + <entry> + <key>clockRateKnown</key> + <value>true</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>ctrl_ecc_user_interrupt_0</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>ctrl_ecc_user_interrupt_0</name> + <role>ctrl_ecc_user_interrupt</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>ctrl_amm_0</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>amm_ready_0</name> + <role>waitrequest_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_read_0</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_write_0</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_address_0</name> + <role>address</role> + <direction>Input</direction> + <width>27</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_readdata_0</name> + <role>readdata</role> + <direction>Output</direction> + <width>512</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_writedata_0</name> + <role>writedata</role> + <direction>Input</direction> + <width>512</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_burstcount_0</name> + <role>burstcount</role> + <direction>Input</direction> + <width>7</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_byteenable_0</name> + <role>byteenable</role> + <direction>Input</direction> + <width>64</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>amm_readdatavalid_0</name> + <role>readdatavalid</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>embeddedsw.configuration.isFlash</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isMemoryDevice</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.configuration.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>0</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>addressAlignment</key> + <value>DYNAMIC</value> + </entry> + <entry> + <key>addressGroup</key> + <value>0</value> + </entry> + <entry> + <key>addressSpan</key> + <value>8589934592</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>emif_usr_clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>emif_usr_reset_n</value> + </entry> + <entry> + <key>bitsPerSymbol</key> + <value>8</value> + </entry> + <entry> + <key>bridgedAddressOffset</key> + <value>0</value> + </entry> + <entry> + <key>bridgesToMaster</key> + </entry> + <entry> + <key>burstOnBurstBoundariesOnly</key> + <value>false</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>explicitAddressSpan</key> + <value>0</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isFlash</key> + <value>false</value> + </entry> + <entry> + <key>isMemoryDevice</key> + <value>true</value> + </entry> + <entry> + <key>isNonVolatileStorage</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>false</value> + </entry> + <entry> + <key>maximumPendingReadTransactions</key> + <value>64</value> + </entry> + <entry> + <key>maximumPendingWriteTransactions</key> + <value>0</value> + </entry> + <entry> + <key>minimumReadLatency</key> + <value>1</value> + </entry> + <entry> + <key>minimumResponseLatency</key> + <value>1</value> + </entry> + <entry> + <key>minimumUninterruptedRunLength</key> + <value>1</value> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>printableDevice</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>1</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>1</value> + </entry> + <entry> + <key>registerIncomingSignals</key> + <value>false</value> + </entry> + <entry> + <key>registerOutgoingSignals</key> + <value>false</value> + </entry> + <entry> + <key>setupTime</key> + <value>0</value> + </entry> + <entry> + <key>timingUnits</key> + <value>Cycles</value> + </entry> + <entry> + <key>transparentBridge</key> + <value>false</value> + </entry> + <entry> + <key>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>wellBehavedWaitrequest</key> + <value>false</value> + </entry> + <entry> + <key>writeLatency</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureGuid</key> + <value>0</value> + </entry> + <entry> + <key>dfhGroupId</key> + <value>0</value> + </entry> + <entry> + <key>dfhParameterId</key> + </entry> + <entry> + <key>dfhParameterName</key> + </entry> + <entry> + <key>dfhParameterVersion</key> + </entry> + <entry> + <key>dfhParameterData</key> + </entry> + <entry> + <key>dfhParameterDataLength</key> + </entry> + <entry> + <key>dfhFeatureMajorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureMinorVersion</key> + <value>0</value> + </entry> + <entry> + <key>dfhFeatureId</key> + <value>35</value> + </entry> + <entry> + <key>dfhFeatureType</key> + <value>3</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition> + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>ctrl_amm_0</key> + <value> + <connectionPointName>ctrl_amm_0</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='ctrl_amm_0' start='0x0' end='0x200000000' datawidth='512' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>33</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>512</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>emif_usr_clk</key> + <value> + <connectionPointName>emif_usr_clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>300000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + <cpuInfoDefinition> + <version>1</version> + <cpuGroups/> + <exportedModules> + <entry> + <key>ecc_core</key> + <value> + <moduleInfo> + <name>ecc_core</name> + <kind>altera_emif_ecc</kind> + <version>19.1</version> + <path>ecc_core</path> + <assignments/> + <irqReceiverNames/> + <masterNames/> + </moduleInfo> + <slaveInterfaceInfos> + <slaveInterfaceInfo> + <interfaceName>ctrl_amm_0</interfaceName> + <connectedInterfaceName>ctrl_amm_0</connectedInterfaceName> + <baseAddress>0</baseAddress> + <span>8589934592</span> + <addressGroup>0</addressGroup> + <isBigEndian>false</isBigEndian> + <assignments> + <entry> + <key>embeddedsw.configuration.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isFlash</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isMemoryDevice</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>0</value> + </entry> + </assignments> + </slaveInterfaceInfo> + </slaveInterfaceInfos> + </value> + </entry> + </exportedModules> + <systemInformation> + <name>emif_fm_0</name> + <deviceFamily>Agilex 7</deviceFamily> + <generateLegacySim>false</generateLegacySim> + </systemInformation> +</cpuInfoDefinition> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intel Corporation + addressAndMemoryMap + addressAndMemoryMap + 1.0 + + + ecc_core.ctrl_amm_0 + + + + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_afi_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_afi_if.sv new file mode 100644 index 0000000000..562208ebda --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_afi_if.sv @@ -0,0 +1,1048 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the AFI interface through which +// a soft controller interacts with the memory interface PHY inside the tile. +// +/////////////////////////////////////////////////////////////////////////////// + + +`define _get_pin_count(_loc) ( _loc[ 9 : 0 ] ) +`define _get_pin_index(_loc, _port_i) ( _loc[ (_port_i + 1) * 10 +: 10 ] ) + +`define _get_tile(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) / (PINS_PER_LANE * LANES_PER_TILE) ) +`define _get_lane(_loc, _port_i) ( (`_get_pin_index(_loc, _port_i) / PINS_PER_LANE) % LANES_PER_TILE ) +`define _get_pin(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) % PINS_PER_LANE ) + +`define _get_lane_usage(_tile_i, _lane_i) ( LANES_USAGE[(_tile_i * LANES_PER_TILE + _lane_i) * 3 +: 3] ) + +// are core-driven OEs required for any lane in {(DQ_ON,X), (DQ_ON,X), (DQ_ON,X), (DQ_ON,X) } +`define _use_dq_lane_oe(_tile_i, _oe_req) ( _oe_req[_tile_i][1] | _oe_req[_tile_i][3] | _oe_req[_tile_i][5] | _oe_req[_tile_i][7] ) +// are AC tie-offs required for any lane {(X, TIE_OFF), (X, TIE_OFF), (X, TIE_OFF), (X, TIE_OFF) } +`define _use_ac_lane_oe(_tile_i, _oe_req) ( _oe_req[_tile_i][0] | _oe_req[_tile_i][2] | _oe_req[_tile_i][4] | _oe_req[_tile_i][6] ) + +`define _get_db_pin_proc_mode(_pin_i) ( DB_PINS_PROC_MODE[_pin_i * 5 +: 5] ) + +`define _core2l_afi(_loc, _port_i, _phase_i) core2l_data\ + [`_get_tile(_loc, _port_i)]\ + [`_get_lane(_loc, _port_i)]\ + [(`_get_pin(_loc, _port_i) * 8) + _phase_i] + +`define _l2core_afi(_loc, _port_i, _phase_i) l2core_data\ + [`_get_tile(_loc, _port_i)]\ + [`_get_lane(_loc, _port_i)]\ + [(`_get_pin(_loc, _port_i) * 8) + _phase_i] + +`define _unused_core2l_afi(_pin_i) core2l_data\ + [_pin_i / (PINS_PER_LANE * LANES_PER_TILE)]\ + [(_pin_i / PINS_PER_LANE) % LANES_PER_TILE]\ + [((_pin_i % PINS_PER_LANE) * 8) +: 8] + +// +`define _connect_out(_loc, _mem_port_width, _afi_port_width, _afi_port) \ + for (port_i = 0; port_i < _mem_port_width; ++port_i) begin : oport \ + for (phase_i = 0; phase_i < 8; ++phase_i) begin : data_phase \ + if (phase_i < _afi_port_width / _mem_port_width) begin \ + assign `_core2l_afi(_loc, port_i, phase_i) = _afi_port[_mem_port_width * phase_i + port_i]; \ + end else begin \ + assign `_core2l_afi(_loc, port_i, phase_i) = 1'b0; \ + end \ + end \ + end + +`define _connect_out_with_regs(_loc, _mem_port_width, _afi_port_width, _afi_port) \ + logic [_afi_port_width-1:0] sr_o; \ + altera_emif_arch_fm_regs # ( \ + .REGISTER (REGISTER_AFI_C2P), \ + .WIDTH (_afi_port_width) \ + ) afi_regs_o ( \ + .clk (afi_clk), \ + .reset_n (1'b1), \ + .data_in (_afi_port), \ + .data_out (sr_o) \ + ); \ + `_connect_out(_loc, _mem_port_width, _afi_port_width, sr_o) + +`define _connect_in(_loc, _mem_port_width, _afi_port_width, _afi_port) \ + for (port_i = 0; port_i < _mem_port_width; ++port_i) begin : iport \ + for (phase_i = 0; phase_i < _afi_port_width / _mem_port_width; ++phase_i) begin : data_phase \ + assign _afi_port[_mem_port_width * phase_i + port_i] = `_l2core_afi(_loc, port_i, phase_i); \ + end \ + end + +`define _connect_in_with_regs(_loc, _mem_port_width, _afi_port_width, _afi_port) \ + logic [_afi_port_width-1:0] sr_i; \ + `_connect_in(_loc, _mem_port_width, _afi_port_width, sr_i) \ + altera_emif_arch_fm_regs # ( \ + .REGISTER (REGISTER_AFI_P2C), \ + .WIDTH (_afi_port_width) \ + ) afi_regs_i ( \ + .clk (afi_clk), \ + .reset_n (1'b1), \ + .data_in (sr_i), \ + .data_out (_afi_port) \ + ); + +module altera_emif_arch_fm_afi_if #( + + parameter MEM_TTL_DATA_WIDTH = 0, + parameter MEM_TTL_NUM_OF_READ_GROUPS = 0, + parameter MEM_TTL_NUM_OF_WRITE_GROUPS = 0, + parameter REGISTER_AFI_C2P = 0, + parameter REGISTER_AFI_P2C = 0, + parameter PORT_AFI_ADDR_WIDTH = 1, + parameter PORT_AFI_BA_WIDTH = 1, + parameter PORT_AFI_BG_WIDTH = 1, + parameter PORT_AFI_C_WIDTH = 1, + parameter PORT_AFI_CKE_WIDTH = 1, + parameter PORT_AFI_CS_N_WIDTH = 1, + parameter PORT_AFI_RM_WIDTH = 1, + parameter PORT_AFI_ODT_WIDTH = 1, + parameter PORT_AFI_GNT_N_WIDTH = 1, + parameter PORT_AFI_REQ_N_WIDTH = 1, + parameter PORT_AFI_ERR_N_WIDTH = 1, + parameter PORT_AFI_RAS_N_WIDTH = 1, + parameter PORT_AFI_CAS_N_WIDTH = 1, + parameter PORT_AFI_WE_N_WIDTH = 1, + parameter PORT_AFI_RST_N_WIDTH = 1, + parameter PORT_AFI_ACT_N_WIDTH = 1, + parameter PORT_AFI_PAR_WIDTH = 1, + parameter PORT_AFI_CA_WIDTH = 1, + parameter PORT_AFI_REF_N_WIDTH = 1, + parameter PORT_AFI_WPS_N_WIDTH = 1, + parameter PORT_AFI_RPS_N_WIDTH = 1, + parameter PORT_AFI_DOFF_N_WIDTH = 1, + parameter PORT_AFI_LD_N_WIDTH = 1, + parameter PORT_AFI_RW_N_WIDTH = 1, + parameter PORT_AFI_LBK0_N_WIDTH = 1, + parameter PORT_AFI_LBK1_N_WIDTH = 1, + parameter PORT_AFI_CFG_N_WIDTH = 1, + parameter PORT_AFI_AP_WIDTH = 1, + parameter PORT_AFI_AINV_WIDTH = 1, + parameter PORT_AFI_DM_WIDTH = 1, + parameter PORT_AFI_DM_N_WIDTH = 1, + parameter PORT_AFI_BWS_N_WIDTH = 1, + parameter PORT_AFI_RDATA_DBI_N_WIDTH = 1, + parameter PORT_AFI_WDATA_DBI_N_WIDTH = 1, + parameter PORT_AFI_RDATA_DINV_WIDTH = 1, + parameter PORT_AFI_WDATA_DINV_WIDTH = 1, + parameter PORT_AFI_DQS_BURST_WIDTH = 1, + parameter PORT_AFI_WDATA_VALID_WIDTH = 1, + parameter PORT_AFI_WDATA_WIDTH = 1, + parameter PORT_AFI_RDATA_EN_FULL_WIDTH = 1, + parameter PORT_AFI_RDATA_WIDTH = 1, + parameter PORT_AFI_RDATA_VALID_WIDTH = 1, + parameter PORT_AFI_RRANK_WIDTH = 1, + parameter PORT_AFI_WRANK_WIDTH = 1, + parameter PORT_AFI_ALERT_N_WIDTH = 1, + parameter PORT_AFI_PE_N_WIDTH = 1, + + // Definition of port widths for "mem" interface (auto-generated) + //AUTOGEN_BEGIN: Definition of memory port widths + parameter PORT_MEM_CK_WIDTH = 1, + parameter PORT_MEM_CK_N_WIDTH = 1, + parameter PORT_MEM_DK_WIDTH = 1, + parameter PORT_MEM_DK_N_WIDTH = 1, + parameter PORT_MEM_DKA_WIDTH = 1, + parameter PORT_MEM_DKA_N_WIDTH = 1, + parameter PORT_MEM_DKB_WIDTH = 1, + parameter PORT_MEM_DKB_N_WIDTH = 1, + parameter PORT_MEM_K_WIDTH = 1, + parameter PORT_MEM_K_N_WIDTH = 1, + parameter PORT_MEM_A_WIDTH = 1, + parameter PORT_MEM_BA_WIDTH = 1, + parameter PORT_MEM_BG_WIDTH = 1, + parameter PORT_MEM_C_WIDTH = 1, + parameter PORT_MEM_CKE_WIDTH = 1, + parameter PORT_MEM_CS_N_WIDTH = 1, + parameter PORT_MEM_RM_WIDTH = 1, + parameter PORT_MEM_ODT_WIDTH = 1, + parameter PORT_MEM_GNT_N_WIDTH = 1, + parameter PORT_MEM_REQ_N_WIDTH = 1, + parameter PORT_MEM_ERR_N_WIDTH = 1, + parameter PORT_MEM_RAS_N_WIDTH = 1, + parameter PORT_MEM_CAS_N_WIDTH = 1, + parameter PORT_MEM_WE_N_WIDTH = 1, + parameter PORT_MEM_RESET_N_WIDTH = 1, + parameter PORT_MEM_ACT_N_WIDTH = 1, + parameter PORT_MEM_PAR_WIDTH = 1, + parameter PORT_MEM_CA_WIDTH = 1, + parameter PORT_MEM_REF_N_WIDTH = 1, + parameter PORT_MEM_WPS_N_WIDTH = 1, + parameter PORT_MEM_RPS_N_WIDTH = 1, + parameter PORT_MEM_DOFF_N_WIDTH = 1, + parameter PORT_MEM_LDA_N_WIDTH = 1, + parameter PORT_MEM_LDB_N_WIDTH = 1, + parameter PORT_MEM_RWA_N_WIDTH = 1, + parameter PORT_MEM_RWB_N_WIDTH = 1, + parameter PORT_MEM_LBK0_N_WIDTH = 1, + parameter PORT_MEM_LBK1_N_WIDTH = 1, + parameter PORT_MEM_CFG_N_WIDTH = 1, + parameter PORT_MEM_AP_WIDTH = 1, + parameter PORT_MEM_AINV_WIDTH = 1, + parameter PORT_MEM_DM_WIDTH = 1, + parameter PORT_MEM_BWS_N_WIDTH = 1, + parameter PORT_MEM_D_WIDTH = 1, + parameter PORT_MEM_DQ_WIDTH = 1, + parameter PORT_MEM_DBI_N_WIDTH = 1, + parameter PORT_MEM_DQA_WIDTH = 1, + parameter PORT_MEM_DQB_WIDTH = 1, + parameter PORT_MEM_DINVA_WIDTH = 1, + parameter PORT_MEM_DINVB_WIDTH = 1, + parameter PORT_MEM_Q_WIDTH = 1, + parameter PORT_MEM_DQS_WIDTH = 1, + parameter PORT_MEM_DQS_N_WIDTH = 1, + parameter PORT_MEM_QK_WIDTH = 1, + parameter PORT_MEM_QK_N_WIDTH = 1, + parameter PORT_MEM_QKA_WIDTH = 1, + parameter PORT_MEM_QKA_N_WIDTH = 1, + parameter PORT_MEM_QKB_WIDTH = 1, + parameter PORT_MEM_QKB_N_WIDTH = 1, + parameter PORT_MEM_CQ_WIDTH = 1, + parameter PORT_MEM_CQ_N_WIDTH = 1, + parameter PORT_MEM_ALERT_N_WIDTH = 1, + parameter PORT_MEM_PE_N_WIDTH = 1, + + parameter PORT_MEM_CK_PINLOC = 10'b0000000000, + parameter PORT_MEM_CK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DK_PINLOC = 10'b0000000000, + parameter PORT_MEM_DK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKB_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_K_PINLOC = 10'b0000000000, + parameter PORT_MEM_K_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_A_PINLOC = 10'b0000000000, + parameter PORT_MEM_BA_PINLOC = 10'b0000000000, + parameter PORT_MEM_BG_PINLOC = 10'b0000000000, + parameter PORT_MEM_C_PINLOC = 10'b0000000000, + parameter PORT_MEM_CKE_PINLOC = 10'b0000000000, + parameter PORT_MEM_CS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RM_PINLOC = 10'b0000000000, + parameter PORT_MEM_ODT_PINLOC = 10'b0000000000, + parameter PORT_MEM_RAS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CAS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_WE_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RESET_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_ACT_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_PAR_PINLOC = 10'b0000000000, + parameter PORT_MEM_CA_PINLOC = 10'b0000000000, + parameter PORT_MEM_REF_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_WPS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RPS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DOFF_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LDA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LDB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RWA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RWB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LBK0_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LBK1_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CFG_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_AP_PINLOC = 10'b0000000000, + parameter PORT_MEM_AINV_PINLOC = 10'b0000000000, + parameter PORT_MEM_DM_PINLOC = 10'b0000000000, + parameter PORT_MEM_BWS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_D_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_DBI_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQB_PINLOC = 10'b0000000000, + parameter PORT_MEM_DINVA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DINVB_PINLOC = 10'b0000000000, + parameter PORT_MEM_Q_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QK_PINLOC = 10'b0000000000, + parameter PORT_MEM_QK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKA_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKB_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_CQ_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_ALERT_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_PE_N_PINLOC = 10'b0000000000, + + parameter DQS_BUS_MODE_ENUM = "", + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter LANES_USAGE = 1'b0, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + + // Parameter indicating the core-2-lane connection of a pin is actually driven + parameter PINS_C2L_DRIVEN = 1'b0, + parameter DB_PINS_PROC_MODE = 1'b0, + + parameter MEM_DATA_MASK_EN = 1, + parameter PHY_HMC_CLK_RATIO = 1 + +) ( + input logic afi_clk, + input logic afi_reset_n, + + input logic [PORT_AFI_ADDR_WIDTH-1:0] afi_addr, + input logic [PORT_AFI_BA_WIDTH-1:0] afi_ba, + input logic [PORT_AFI_BG_WIDTH-1:0] afi_bg, + input logic [PORT_AFI_C_WIDTH-1:0] afi_c, + input logic [PORT_AFI_CKE_WIDTH-1:0] afi_cke, + input logic [PORT_AFI_CS_N_WIDTH-1:0] afi_cs_n, + input logic [PORT_AFI_RM_WIDTH-1:0] afi_rm, + input logic [PORT_AFI_ODT_WIDTH-1:0] afi_odt, + input logic [PORT_AFI_GNT_N_WIDTH-1:0] afi_gnt_n, + output logic [PORT_AFI_REQ_N_WIDTH-1:0] afi_req_n, + output logic [PORT_AFI_ERR_N_WIDTH-1:0] afi_err_n, + input logic [PORT_AFI_RAS_N_WIDTH-1:0] afi_ras_n, + input logic [PORT_AFI_CAS_N_WIDTH-1:0] afi_cas_n, + input logic [PORT_AFI_WE_N_WIDTH-1:0] afi_we_n, + input logic [PORT_AFI_RST_N_WIDTH-1:0] afi_rst_n, + input logic [PORT_AFI_ACT_N_WIDTH-1:0] afi_act_n, + input logic [PORT_AFI_PAR_WIDTH-1:0] afi_par, + input logic [PORT_AFI_CA_WIDTH-1:0] afi_ca, + input logic [PORT_AFI_REF_N_WIDTH-1:0] afi_ref_n, + input logic [PORT_AFI_WPS_N_WIDTH-1:0] afi_wps_n, + input logic [PORT_AFI_RPS_N_WIDTH-1:0] afi_rps_n, + input logic [PORT_AFI_DOFF_N_WIDTH-1:0] afi_doff_n, + input logic [PORT_AFI_LD_N_WIDTH-1:0] afi_ld_n, + input logic [PORT_AFI_RW_N_WIDTH-1:0] afi_rw_n, + input logic [PORT_AFI_LBK0_N_WIDTH-1:0] afi_lbk0_n, + input logic [PORT_AFI_LBK1_N_WIDTH-1:0] afi_lbk1_n, + input logic [PORT_AFI_CFG_N_WIDTH-1:0] afi_cfg_n, + input logic [PORT_AFI_AP_WIDTH-1:0] afi_ap, + input logic [PORT_AFI_AINV_WIDTH-1:0] afi_ainv, + input logic [PORT_AFI_DM_WIDTH-1:0] afi_dm, + input logic [PORT_AFI_DM_N_WIDTH-1:0] afi_dm_n, + input logic [PORT_AFI_BWS_N_WIDTH-1:0] afi_bws_n, + output logic [PORT_AFI_RDATA_DBI_N_WIDTH-1:0] afi_rdata_dbi_n, + input logic [PORT_AFI_WDATA_DBI_N_WIDTH-1:0] afi_wdata_dbi_n, + output logic [PORT_AFI_RDATA_DINV_WIDTH-1:0] afi_rdata_dinv, + input logic [PORT_AFI_WDATA_DINV_WIDTH-1:0] afi_wdata_dinv, + input logic [PORT_AFI_DQS_BURST_WIDTH-1:0] afi_dqs_burst, + input logic [PORT_AFI_WDATA_VALID_WIDTH-1:0] afi_wdata_valid, + input logic [PORT_AFI_WDATA_WIDTH-1:0] afi_wdata, + input logic [PORT_AFI_RDATA_EN_FULL_WIDTH-1:0] afi_rdata_en_full, + output logic [PORT_AFI_RDATA_WIDTH-1:0] afi_rdata, + output logic [PORT_AFI_RDATA_VALID_WIDTH-1:0] afi_rdata_valid, + input logic [PORT_AFI_RRANK_WIDTH-1:0] afi_rrank, + input logic [PORT_AFI_WRANK_WIDTH-1:0] afi_wrank, + output logic [PORT_AFI_ALERT_N_WIDTH-1:0] afi_alert_n, + output logic [PORT_AFI_PE_N_WIDTH-1:0] afi_pe_n, + + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data, + + // These signals fans out to each lane in an IO48 tile + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_read, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_write, + input logic [3:0] l2core_rdata_valid_pri, + input logic [3:0] l2core_rdata_valid_sec +); + timeunit 1ns; + timeprecision 1ps; + + // Enum that defines whether a lane is used or not, and in what mode. + // This enum type is used to encode the LANES_USAGE_MODE parameter + // passed into the io_tiles module. + typedef enum bit [2:0] { + LANE_USAGE_UNUSED = 3'b000, + LANE_USAGE_AC_HMC = 3'b001, + LANE_USAGE_AC_CORE = 3'b010, + LANE_USAGE_RDATA = 3'b011, + LANE_USAGE_WDATA = 3'b100, + LANE_USAGE_WRDATA = 3'b101 + } LANE_USAGE; + + + typedef enum bit [1:0] { + LANE_OE_REQ_OFF = 2'b00, + LANE_OE_REQ_ON = 2'b01, + LANE_OE_REQ_DQ = 2'b10 + } LANE_OE_REQ; + + // Enum that defines the write data buffer procedural mode of an EMIF pin. + // This enum type is used to encode the DB_PINS_PROC_MODE parameter + // passed into the io_tiles module. + typedef enum bit [4:0] { + DB_PIN_PROC_MODE_AC_CORE = 5'b00000, + DB_PIN_PROC_MODE_WDB_AC = 5'b00001, + DB_PIN_PROC_MODE_WDB_DQ = 5'b00010, + DB_PIN_PROC_MODE_WDB_DM = 5'b00011, + DB_PIN_PROC_MODE_WDB_CLK = 5'b00100, + DB_PIN_PROC_MODE_WDB_CLKB = 5'b00101, + DB_PIN_PROC_MODE_WDB_DQS = 5'b00110, + DB_PIN_PROC_MODE_WDB_DQSB = 5'b00111, + DB_PIN_PROC_MODE_DQS = 5'b01000, + DB_PIN_PROC_MODE_DQSB = 5'b01001, + DB_PIN_PROC_MODE_DQ = 5'b01010, + DB_PIN_PROC_MODE_DM = 5'b01011, + DB_PIN_PROC_MODE_DBI = 5'b01100, + DB_PIN_PROC_MODE_CLK = 5'b01101, + DB_PIN_PROC_MODE_CLKB = 5'b01110, + DB_PIN_PROC_MODE_DQS_DDR4 = 5'b01111, + DB_PIN_PROC_MODE_DQSB_DDR4 = 5'b10000, + DB_PIN_PROC_MODE_RDQ = 5'b10001, + DB_PIN_PROC_MODE_RDQS = 5'b10010, + DB_PIN_PROC_MODE_GPIO = 5'b11111 + } DB_PIN_PROC_MODE; + + localparam SDR_RATIO = PHY_HMC_CLK_RATIO; + localparam DDR_RATIO = SDR_RATIO * 2; + + localparam NUM_OF_LOGICAL_RANKS = PORT_AFI_RRANK_WIDTH / SDR_RATIO; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE*2-1:0] tile_oe_req; + logic [PORT_AFI_DQS_BURST_WIDTH-1:0] afi_dqs_burst_r; + logic [PORT_AFI_RRANK_WIDTH-1:0] afi_rrank_r; + logic [PORT_AFI_WRANK_WIDTH-1:0] afi_wrank_r; + logic [7:0] afi_rrank_r_padded; + logic [7:0] afi_wrank_r_padded; + + logic [NUM_OF_RTL_TILES-1:0][3:0] dq_lane_oe_data; + logic [3:0] dq_lane_oe_strobe; + + logic [NUM_OF_RTL_TILES-1:0][7:0] int_core2l_oe; + logic [NUM_OF_RTL_TILES-1:0][3:0] int_core2l_rdata_en_full; + logic [NUM_OF_RTL_TILES-1:0][7:0] int_core2l_mrnk_read; + logic [NUM_OF_RTL_TILES-1:0][7:0] int_core2l_mrnk_write; + + function automatic logic [1:0] onehot_2_bin (input [NUM_OF_LOGICAL_RANKS-1:0] in); + onehot_2_bin = 2'b00; + for (int i=0; i data-pin OE, int_core2l_oe[7:4] => DQS OE + if ( DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ) begin + assign core2l_oe[tile_i][lane_i] = {{4{int_core2l_oe[tile_i][3:0]}},{4{int_core2l_oe[tile_i][7:4]}},{4{int_core2l_oe[tile_i][3:0]}}}; + end else begin + assign core2l_oe[tile_i][lane_i] = {{6{int_core2l_oe[tile_i][3:0]}},{2{int_core2l_oe[tile_i][7:4]}},{4{int_core2l_oe[tile_i][3:0]}}}; + end + end + end + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (PORT_AFI_RRANK_WIDTH) + ) afi_rrank_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (afi_rrank), + .data_out (afi_rrank_r) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (PORT_AFI_WRANK_WIDTH) + ) afi_wrank_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (afi_wrank), + .data_out (afi_wrank_r) + ); + + // FM mrnk_(rd|wr) encoding has changed from one-hot to binary + for (t = 0; t < 4; ++t) begin: timeslot + if (t >= SDR_RATIO) begin + assign afi_rrank_r_padded[2*t+1:2*t] = 2'b00; + assign afi_wrank_r_padded[2*t+1:2*t] = 2'b00; + end else begin + assign afi_rrank_r_padded[2*t+1:2*t] = onehot_2_bin(afi_rrank_r[NUM_OF_LOGICAL_RANKS*(t+1)-1:NUM_OF_LOGICAL_RANKS*t]); + assign afi_wrank_r_padded[2*t+1:2*t] = onehot_2_bin(afi_wrank_r[NUM_OF_LOGICAL_RANKS*(t+1)-1:NUM_OF_LOGICAL_RANKS*t]); + end + end + + assign int_core2l_mrnk_read = {(NUM_OF_RTL_TILES){afi_rrank_r_padded}}; + assign int_core2l_mrnk_write = {(NUM_OF_RTL_TILES){afi_wrank_r_padded}}; + + //////////////////////////////////////////////////////////////////////////// + // Connection for read control signals afi_rdata_en_full and afi_rdata_valid + //////////////////////////////////////////////////////////////////////////// + + // Register and duplicate the afi_rdata_en_full signal for timing closure + logic [PORT_AFI_RDATA_EN_FULL_WIDTH-1:0] afi_rdata_en_full_r; + logic [PORT_AFI_WDATA_VALID_WIDTH-1:0] afi_wdata_valid_r; + + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (PORT_AFI_RDATA_EN_FULL_WIDTH) + ) afi_rdata_en_full_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (afi_rdata_en_full), + .data_out (afi_rdata_en_full_r) + ); + + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (PORT_AFI_WDATA_VALID_WIDTH) + ) afi_wdata_valid_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (afi_wdata_valid), + .data_out (afi_wdata_valid_r) + ); + + // External memory has dual data ports (i.e. DQA and DQB, as in QDR-IV) + // Split afi_rdata_en_full based on which port the signal belongs to. + // This special code path relies on the location of QKA/QKB pins to identify + // the read lanes for each data port. + if (`_get_pin_count(PORT_MEM_DQA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DQB_PINLOC) != 0) begin : dual_port + logic [3:0] afi_rdata_en_full_r_padded_a, afi_rdata_en_full_r_padded_b; + + if (SDR_RATIO < 4) begin + assign afi_rdata_en_full_r_padded_a = {'0, afi_rdata_en_full_r[SDR_RATIO-1:0]}; + assign afi_rdata_en_full_r_padded_b = {'0, afi_rdata_en_full_r[PORT_AFI_RDATA_EN_FULL_WIDTH-1:SDR_RATIO]}; + end else begin + assign afi_rdata_en_full_r_padded_a = afi_rdata_en_full_r[SDR_RATIO-1:0]; + assign afi_rdata_en_full_r_padded_b = afi_rdata_en_full_r[PORT_AFI_RDATA_EN_FULL_WIDTH-1:SDR_RATIO]; + end + + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) begin : rdata_en_full + if (tile_i == (`_get_tile(PORT_MEM_QKA_PINLOC, 0)) ) begin + assign int_core2l_rdata_en_full[tile_i] = afi_rdata_en_full_r_padded_a; + end else if ( tile_i == (`_get_tile(PORT_MEM_QKB_PINLOC, 0))) begin + assign int_core2l_rdata_en_full[tile_i] = afi_rdata_en_full_r_padded_b; + end else begin + assign int_core2l_rdata_en_full[tile_i] = '0; + end + end + /* + // afi_rdata_en_full for port A + for (port_i = 0; port_i < PORT_MEM_QKA_WIDTH; ++port_i) begin : port_a + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKA_PINLOC, port_i)] = afi_rdata_en_full_r_padded_a; + if (MEM_TTL_DATA_WIDTH / MEM_TTL_NUM_OF_READ_GROUPS == 18) begin + if (`_get_lane(PORT_MEM_QKA_PINLOC, port_i) % 2 == 0) begin + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKA_PINLOC, port_i)] = afi_rdata_en_full_r_padded_a; + end else begin + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKA_PINLOC, port_i)] = afi_rdata_en_full_r_padded_a; + end + end + end + + // afi_rdata_en_full for port B + for (port_i = 0; port_i < PORT_MEM_QKB_WIDTH; ++port_i) begin : port_b + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKB_PINLOC, port_i)] = afi_rdata_en_full_r_padded_b; + if (MEM_TTL_DATA_WIDTH / MEM_TTL_NUM_OF_READ_GROUPS == 18) begin + if (`_get_lane(PORT_MEM_QKA_PINLOC, port_i) % 2 == 0) begin + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKB_PINLOC, port_i)] = afi_rdata_en_full_r_padded_b; + end else begin + assign int_core2l_rdata_en_full[`_get_tile(PORT_MEM_QKB_PINLOC, port_i)] = afi_rdata_en_full_r_padded_b; + end + end + end + */ + + // Connection for afi_rdata_valid + logic [PORT_AFI_RDATA_VALID_WIDTH/2-1:0] afi_rdata_valid_a, afi_rdata_valid_b; + + assign afi_rdata_valid_a = l2core_rdata_valid_pri[PORT_AFI_RDATA_VALID_WIDTH/2-1:0]; + assign afi_rdata_valid_b = l2core_rdata_valid_sec[PORT_AFI_RDATA_VALID_WIDTH/2-1:0]; + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (PORT_AFI_RDATA_VALID_WIDTH) + ) afi_rdata_valid_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in ({afi_rdata_valid_b, afi_rdata_valid_a}), + .data_out (afi_rdata_valid) + ); + + end else begin : single_port + logic [3:0] afi_rdata_en_full_r_padded; + + assign afi_rdata_en_full_r_padded = (PORT_AFI_RDATA_EN_FULL_WIDTH < 4) ? {'0, afi_rdata_en_full_r} : afi_rdata_en_full_r; + assign int_core2l_rdata_en_full = {(NUM_OF_RTL_TILES){afi_rdata_en_full_r_padded}}; + + // Connection for afi_rdata_valid + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (PORT_AFI_RDATA_VALID_WIDTH) + ) afi_rdata_valid_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (l2core_rdata_valid_pri[PORT_AFI_RDATA_VALID_WIDTH-1:0]), + .data_out (afi_rdata_valid) + ); + end : single_port + + + // Connection for tile OEs + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) begin : tile_oe_loop + for (lane_i=0; lane_i < LANES_PER_TILE; ++lane_i) begin : lane_oe_loop + if (`_get_lane_usage(tile_i, lane_i) == LANE_USAGE_WDATA || `_get_lane_usage(tile_i, lane_i) == LANE_USAGE_WRDATA) begin + assign tile_oe_req[tile_i][2*(lane_i+1)-1:2*lane_i] = LANE_OE_REQ_DQ; + end else if (`_get_lane_usage(tile_i, lane_i) == LANE_USAGE_AC_HMC || `_get_lane_usage(tile_i, lane_i) == LANE_USAGE_AC_CORE) begin + assign tile_oe_req[tile_i][2*(lane_i+1)-1:2*lane_i] = LANE_OE_REQ_ON; + end else begin + assign tile_oe_req[tile_i][2*(lane_i+1)-1:2*lane_i]= LANE_OE_REQ_OFF; + end + end : lane_oe_loop + + always_comb begin : tile_oe_gen + int_core2l_oe[tile_i] = '0; + if (`_use_dq_lane_oe(tile_i, tile_oe_req)) begin + int_core2l_oe[tile_i] = {dq_lane_oe_strobe, dq_lane_oe_data[tile_i]}; + end else if (`_use_ac_lane_oe(tile_i, tile_oe_req)) begin + int_core2l_oe[tile_i] = '1; + end + end : tile_oe_gen + + end : tile_oe_loop + + + //////////////////////////////////////////////////////////////////////////// + // Connection for AFI signals that go to output-only pins + //////////////////////////////////////////////////////////////////////////// + if (`_get_pin_count(PORT_MEM_A_PINLOC) != 0) begin : mem_a + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_A_PINLOC, PORT_MEM_A_WIDTH, PORT_AFI_ADDR_WIDTH, afi_addr) + end + + if (`_get_pin_count(PORT_MEM_BA_PINLOC) != 0) begin : mem_ba + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_BA_PINLOC, PORT_MEM_BA_WIDTH, PORT_AFI_BA_WIDTH, afi_ba) + end + + if (`_get_pin_count(PORT_MEM_BG_PINLOC) != 0) begin : mem_bg + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_BG_PINLOC, PORT_MEM_BG_WIDTH, PORT_AFI_BG_WIDTH, afi_bg) + end + + if (`_get_pin_count(PORT_MEM_C_PINLOC) != 0) begin : mem_c + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_C_PINLOC, PORT_MEM_C_WIDTH, PORT_AFI_C_WIDTH, afi_c) + end + + if (`_get_pin_count(PORT_MEM_CKE_PINLOC) != 0) begin : mem_cke + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CKE_PINLOC, PORT_MEM_CKE_WIDTH, PORT_AFI_CKE_WIDTH, afi_cke) + end + + if (`_get_pin_count(PORT_MEM_CS_N_PINLOC) != 0) begin : mem_cs_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CS_N_PINLOC, PORT_MEM_CS_N_WIDTH, PORT_AFI_CS_N_WIDTH, afi_cs_n) + end + + if (`_get_pin_count(PORT_MEM_RM_PINLOC) != 0) begin : mem_rm + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RM_PINLOC, PORT_MEM_RM_WIDTH, PORT_AFI_RM_WIDTH, afi_rm) + end + + if (`_get_pin_count(PORT_MEM_ODT_PINLOC) != 0) begin : mem_odt + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_ODT_PINLOC, PORT_MEM_ODT_WIDTH, PORT_AFI_ODT_WIDTH, afi_odt) + end + + if (`_get_pin_count(PORT_MEM_RAS_N_PINLOC) != 0) begin : mem_ras_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RAS_N_PINLOC, PORT_MEM_RAS_N_WIDTH, PORT_AFI_RAS_N_WIDTH, afi_ras_n) + end + + if (`_get_pin_count(PORT_MEM_CAS_N_PINLOC) != 0) begin : mem_cas_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CAS_N_PINLOC, PORT_MEM_CAS_N_WIDTH, PORT_AFI_CAS_N_WIDTH, afi_cas_n) + end + + if (`_get_pin_count(PORT_MEM_WE_N_PINLOC) != 0) begin : mem_we_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_WE_N_PINLOC, PORT_MEM_WE_N_WIDTH, PORT_AFI_WE_N_WIDTH, afi_we_n) + end + + if (`_get_pin_count(PORT_MEM_RESET_N_PINLOC) != 0) begin : mem_reset_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RESET_N_PINLOC, PORT_MEM_RESET_N_WIDTH, PORT_AFI_RST_N_WIDTH, afi_rst_n) + end + + if (`_get_pin_count(PORT_MEM_ACT_N_PINLOC) != 0) begin : mem_act_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_ACT_N_PINLOC, PORT_MEM_ACT_N_WIDTH, PORT_AFI_ACT_N_WIDTH, afi_act_n) + end + + if (`_get_pin_count(PORT_MEM_PAR_PINLOC) != 0) begin : mem_par + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_PAR_PINLOC, PORT_MEM_PAR_WIDTH, PORT_AFI_PAR_WIDTH, afi_par) + end + + if (`_get_pin_count(PORT_MEM_CA_PINLOC) != 0) begin : mem_ca + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CA_PINLOC, PORT_MEM_CA_WIDTH, PORT_AFI_CA_WIDTH, afi_ca) + end + + if (`_get_pin_count(PORT_MEM_REF_N_PINLOC) != 0) begin : mem_ref_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_REF_N_PINLOC, PORT_MEM_REF_N_WIDTH, PORT_AFI_REF_N_WIDTH, afi_ref_n) + end + + if (`_get_pin_count(PORT_MEM_WPS_N_PINLOC) != 0) begin : mem_wps_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_WPS_N_PINLOC, PORT_MEM_WPS_N_WIDTH, PORT_AFI_WPS_N_WIDTH, afi_wps_n) + end + + if (`_get_pin_count(PORT_MEM_RPS_N_PINLOC) != 0) begin : mem_rps_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RPS_N_PINLOC, PORT_MEM_RPS_N_WIDTH, PORT_AFI_RPS_N_WIDTH, afi_rps_n) + end + + if (`_get_pin_count(PORT_MEM_DOFF_N_PINLOC) != 0) begin : mem_doff_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_DOFF_N_PINLOC, PORT_MEM_DOFF_N_WIDTH, PORT_AFI_DOFF_N_WIDTH, afi_doff_n) + end + + if (`_get_pin_count(PORT_MEM_LDA_N_PINLOC) != 0 && `_get_pin_count(PORT_MEM_LDB_N_PINLOC) != 0) begin : mem_ldab_n + logic [PORT_AFI_LD_N_WIDTH/2-1:0] afi_lda_n, afi_ldb_n; + assign afi_lda_n = afi_ld_n[0 +: PORT_AFI_LD_N_WIDTH / 2]; + assign afi_ldb_n = afi_ld_n[PORT_AFI_LD_N_WIDTH / 2 +: PORT_AFI_LD_N_WIDTH / 2]; + + if (`_get_pin_count(PORT_MEM_LDA_N_PINLOC) != 0) begin : a + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_LDA_N_PINLOC, PORT_MEM_LDA_N_WIDTH, (PORT_AFI_LD_N_WIDTH / 2), afi_lda_n) + end + if (`_get_pin_count(PORT_MEM_LDB_N_PINLOC) != 0) begin : b + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_LDB_N_PINLOC, PORT_MEM_LDB_N_WIDTH, (PORT_AFI_LD_N_WIDTH / 2), afi_ldb_n) + end + end + + if (`_get_pin_count(PORT_MEM_RWA_N_PINLOC) != 0 && `_get_pin_count(PORT_MEM_RWB_N_PINLOC) != 0) begin : mem_rwab_n + logic [PORT_AFI_RW_N_WIDTH/2-1:0] afi_rwa_n, afi_rwb_n; + + assign afi_rwa_n = afi_rw_n[0 +: PORT_AFI_RW_N_WIDTH / 2]; + assign afi_rwb_n = afi_rw_n[PORT_AFI_RW_N_WIDTH / 2 +: PORT_AFI_RW_N_WIDTH / 2]; + + if (`_get_pin_count(PORT_MEM_RWA_N_PINLOC) != 0) begin : a + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RWA_N_PINLOC, PORT_MEM_RWA_N_WIDTH, (PORT_AFI_RW_N_WIDTH / 2), afi_rwa_n) + end + if (`_get_pin_count(PORT_MEM_RWB_N_PINLOC) != 0) begin : b + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_RWB_N_PINLOC, PORT_MEM_RWB_N_WIDTH, (PORT_AFI_RW_N_WIDTH / 2), afi_rwb_n) + end + end + + if (`_get_pin_count(PORT_MEM_LBK0_N_PINLOC) != 0) begin : mem_lbk0_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_LBK0_N_PINLOC, PORT_MEM_LBK0_N_WIDTH, PORT_AFI_LBK0_N_WIDTH, afi_lbk0_n) + end + + if (`_get_pin_count(PORT_MEM_LBK1_N_PINLOC) != 0) begin : mem_lbk1_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_LBK1_N_PINLOC, PORT_MEM_LBK1_N_WIDTH, PORT_AFI_LBK1_N_WIDTH, afi_lbk1_n) + end + + if (`_get_pin_count(PORT_MEM_CFG_N_PINLOC) != 0) begin : mem_cfg_n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CFG_N_PINLOC, PORT_MEM_CFG_N_WIDTH, PORT_AFI_CFG_N_WIDTH, afi_cfg_n) + end + + if (`_get_pin_count(PORT_MEM_AP_PINLOC) != 0) begin : mem_ap + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_AP_PINLOC, PORT_MEM_AP_WIDTH, PORT_AFI_AP_WIDTH, afi_ap) + end + + if (`_get_pin_count(PORT_MEM_AINV_PINLOC) != 0) begin : mem_ainv + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_AINV_PINLOC, PORT_MEM_AINV_WIDTH, PORT_AFI_AINV_WIDTH, afi_ainv) + end + + if (`_get_pin_count(PORT_MEM_DM_PINLOC) != 0) begin : mem_dm + //: AC_TIE_OE_HIGH + //inversion is required because sequencer requires WR_INVERT to be true inside I/O buffer + `_connect_out_with_regs(PORT_MEM_DM_PINLOC, PORT_MEM_DM_WIDTH, PORT_AFI_DM_WIDTH, ~afi_dm) + end + + if (`_get_pin_count(PORT_MEM_BWS_N_PINLOC) != 0) begin : mem_bws_n + //: AC_TIE_OE_HIGH + //inversion is required because sequencer requires WR_INVERT to be true inside I/O buffer + `_connect_out_with_regs(PORT_MEM_BWS_N_PINLOC, PORT_MEM_BWS_N_WIDTH, PORT_AFI_BWS_N_WIDTH, ~afi_bws_n) + end + + if (`_get_pin_count(PORT_MEM_D_PINLOC) != 0) begin : mem_d + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_D_PINLOC, PORT_MEM_D_WIDTH, PORT_AFI_WDATA_WIDTH, afi_wdata) + end + + //////////////////////////////////////////////////////////////////////////// + // Connection for AFI signals that go to input-only pins + // tie off unused core-2-lane connections + //////////////////////////////////////////////////////////////////////////// + + if (`_get_pin_count(PORT_MEM_ALERT_N_PINLOC) != 0) begin : mem_alert_n + logic [PORT_MEM_ALERT_N_WIDTH-1:0] zeros; + assign zeros = '0; + `_connect_out(PORT_MEM_ALERT_N_PINLOC, PORT_MEM_ALERT_N_WIDTH, PORT_MEM_ALERT_N_WIDTH, zeros) + end + + if (`_get_pin_count(PORT_MEM_PE_N_PINLOC) != 0) begin : mem_pe_n + logic [PORT_MEM_PE_N_WIDTH-1:0] zeros; + assign zeros = '0; + `_connect_out(PORT_MEM_PE_N_PINLOC, PORT_MEM_PE_N_WIDTH, PORT_MEM_PE_N_WIDTH, zeros) + end + + //////////////////////////////////////////////////////////////////////////// + // Connection for AFI signals that go to bidirectional pins + //////////////////////////////////////////////////////////////////////////// + if (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 || `_get_pin_count(PORT_MEM_DBI_N_PINLOC) != 0) begin : mem_sp_bidir_data + logic [3:0] c2p_dq_oe; + + assign c2p_dq_oe = (PORT_AFI_WDATA_VALID_WIDTH < 4) ? {'0, afi_wdata_valid_r} : afi_wdata_valid_r; + assign dq_lane_oe_data = {(NUM_OF_RTL_TILES){c2p_dq_oe}}; + + + if (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0) begin : mem_dq + `_connect_out_with_regs(PORT_MEM_DQ_PINLOC, PORT_MEM_DQ_WIDTH, PORT_AFI_WDATA_WIDTH, afi_wdata) + `_connect_in_with_regs(PORT_MEM_DQ_PINLOC, PORT_MEM_DQ_WIDTH, PORT_AFI_RDATA_WIDTH, afi_rdata) + end + + if (`_get_pin_count(PORT_MEM_DBI_N_PINLOC) != 0) begin : mem_dbi_n + if (MEM_DATA_MASK_EN) begin : dm + `_connect_out_with_regs(PORT_MEM_DBI_N_PINLOC, PORT_MEM_DBI_N_WIDTH, PORT_AFI_DM_N_WIDTH, afi_dm_n) + end else begin : wdbi + logic [PORT_MEM_DBI_N_WIDTH-1:0] zeros; + assign zeros = '0; + `_connect_out(PORT_MEM_DBI_N_PINLOC, PORT_MEM_DBI_N_WIDTH, PORT_MEM_DBI_N_WIDTH, zeros) + end + end + + end + + assign afi_rdata_dbi_n = '1; + + // Double channel protocol - DDR4, RLDRAM3 + if ((`_get_pin_count(PORT_MEM_DQA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DQB_PINLOC) != 0) || (`_get_pin_count(PORT_MEM_DINVA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DINVB_PINLOC) != 0)) begin : mem_dp_bidir_data + + localparam MEM_NUM_OF_WRITE_GROUPS_PER_PORT = MEM_TTL_NUM_OF_WRITE_GROUPS / 2; + localparam PORT_AFI_WDATA_VALID_PER_PORT_WIDTH = PORT_AFI_WDATA_VALID_WIDTH / 2; + localparam PORT_AFI_WDATA_VALID_PER_PORT_ALL_GRPS_WIDTH = PORT_AFI_WDATA_VALID_PER_PORT_WIDTH * MEM_NUM_OF_WRITE_GROUPS_PER_PORT; + + logic [PORT_AFI_WDATA_VALID_PER_PORT_WIDTH-1:0] afi_wdata_valid_a, afi_wdata_valid_b; + logic [3:0] c2p_dqa_oe, c2p_dqb_oe; + + assign afi_wdata_valid_a = afi_wdata_valid_r[0 +: PORT_AFI_WDATA_VALID_PER_PORT_WIDTH]; + assign afi_wdata_valid_b = afi_wdata_valid_r[PORT_AFI_WDATA_VALID_PER_PORT_WIDTH +: PORT_AFI_WDATA_VALID_PER_PORT_WIDTH]; + + assign c2p_dqa_oe = (PORT_AFI_WDATA_VALID_PER_PORT_WIDTH < 4) ? {'0, afi_wdata_valid_a} : afi_wdata_valid_a; + assign c2p_dqb_oe = (PORT_AFI_WDATA_VALID_PER_PORT_WIDTH < 4) ? {'0, afi_wdata_valid_b} : afi_wdata_valid_b; + + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) begin : dqa_dqb_oe_sel + if (tile_i == (`_get_tile(PORT_MEM_QKA_PINLOC, 0)) ) begin + assign dq_lane_oe_data[tile_i] = c2p_dqa_oe; + end else if ( tile_i == (`_get_tile(PORT_MEM_QKB_PINLOC, 0))) begin + assign dq_lane_oe_data[tile_i] = c2p_dqb_oe; + end else begin + assign dq_lane_oe_data[tile_i] = '0; + end + end + + if (`_get_pin_count(PORT_MEM_DQA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DQB_PINLOC) != 0) begin : mem_dqab + logic [PORT_AFI_RDATA_WIDTH/2-1:0] afi_rdata_a , afi_rdata_b; + logic [PORT_AFI_WDATA_WIDTH/2-1:0] afi_wdata_a , afi_wdata_b; + + assign afi_rdata[0 +: PORT_AFI_RDATA_WIDTH / 2] = afi_rdata_a; + assign afi_wdata_a = afi_wdata[0 +: PORT_AFI_WDATA_WIDTH / 2]; + + assign afi_rdata[PORT_AFI_RDATA_WIDTH / 2 +: PORT_AFI_RDATA_WIDTH / 2] = afi_rdata_b; + assign afi_wdata_b = afi_wdata[PORT_AFI_RDATA_WIDTH / 2 +: PORT_AFI_WDATA_WIDTH / 2]; + + if (`_get_pin_count(PORT_MEM_DQA_PINLOC) != 0) begin : a + `_connect_out_with_regs(PORT_MEM_DQA_PINLOC, PORT_MEM_DQA_WIDTH, (PORT_AFI_WDATA_WIDTH / 2), afi_wdata_a) + `_connect_in_with_regs(PORT_MEM_DQA_PINLOC, PORT_MEM_DQA_WIDTH, (PORT_AFI_RDATA_WIDTH / 2), afi_rdata_a) + end + + if (`_get_pin_count(PORT_MEM_DQB_PINLOC) != 0) begin : b + `_connect_out_with_regs(PORT_MEM_DQB_PINLOC, PORT_MEM_DQB_WIDTH, (PORT_AFI_WDATA_WIDTH / 2), afi_wdata_b) + `_connect_in_with_regs(PORT_MEM_DQB_PINLOC, PORT_MEM_DQB_WIDTH, (PORT_AFI_RDATA_WIDTH / 2), afi_rdata_b) + end + end + + if (`_get_pin_count(PORT_MEM_DINVA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DINVB_PINLOC) != 0) begin : mem_dinvab + + logic [PORT_AFI_RDATA_DINV_WIDTH/2-1:0] afi_rdata_dinv_a , afi_rdata_dinv_b; + logic [PORT_AFI_WDATA_DINV_WIDTH/2-1:0] afi_wdata_dinv_a , afi_wdata_dinv_b; + + assign afi_rdata_dinv[0 +: PORT_AFI_RDATA_DINV_WIDTH / 2] = afi_rdata_dinv_a; + assign afi_wdata_dinv_a = afi_wdata_dinv[0 +: PORT_AFI_RDATA_DINV_WIDTH / 2]; + + assign afi_rdata_dinv[PORT_AFI_RDATA_DINV_WIDTH / 2 +: PORT_AFI_RDATA_DINV_WIDTH / 2] = afi_rdata_dinv_b; + assign afi_wdata_dinv_b = afi_wdata_dinv[PORT_AFI_RDATA_DINV_WIDTH / 2 +: PORT_AFI_RDATA_DINV_WIDTH / 2]; + + if (`_get_pin_count(PORT_MEM_DINVA_PINLOC) != 0) begin : a + `_connect_out_with_regs(PORT_MEM_DINVA_PINLOC, PORT_MEM_DINVA_WIDTH, (PORT_AFI_WDATA_DINV_WIDTH / 2), afi_wdata_dinv_a) + `_connect_in_with_regs(PORT_MEM_DINVA_PINLOC, PORT_MEM_DINVA_WIDTH, (PORT_AFI_RDATA_DINV_WIDTH / 2), afi_rdata_dinv_a) + end + + if (`_get_pin_count(PORT_MEM_DINVA_PINLOC) != 0) begin : b + `_connect_out_with_regs(PORT_MEM_DINVB_PINLOC, PORT_MEM_DINVB_WIDTH, (PORT_AFI_WDATA_DINV_WIDTH / 2), afi_wdata_dinv_b) + `_connect_in_with_regs(PORT_MEM_DINVB_PINLOC, PORT_MEM_DINVB_WIDTH, (PORT_AFI_RDATA_DINV_WIDTH / 2), afi_rdata_dinv_b) + end + end else begin : no_mem_dinvab + assign afi_rdata_dinv = '0; + end + end else begin : no_mem_dp_bidir_data + assign afi_rdata_dinv = '0; + end + + //////////////////////////////////////////////////////////////////////////// + // Connection for AFI signals that go to bidir strobe pins + //////////////////////////////////////////////////////////////////////////// + if (`_get_pin_count(PORT_MEM_DQS_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DQS_N_PINLOC) != 0) begin : mem_dqs_pair + logic [(PORT_MEM_DQS_WIDTH * DDR_RATIO)-1:0] disable_dqs; + + assign disable_dqs = '0; + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (PORT_AFI_DQS_BURST_WIDTH) + ) afi_dqs_burst_regs ( + .clk (afi_clk), + .reset_n (1'b1), + .data_in (afi_dqs_burst), + .data_out (afi_dqs_burst_r) + ); + assign dq_lane_oe_strobe = (PORT_AFI_DQS_BURST_WIDTH < 4) ? {'0, afi_dqs_burst_r} : afi_dqs_burst_r; + + end else begin + // RLDRAM3 & QDR-IV require OE tie-offs for its QKx(RCLK) & DKx(WCLK) + // DKx pins will have its OE inverted within DATA BUFFER through RDQS attribute + // For more details, study FB# 579260 + assign dq_lane_oe_strobe = '1; + end + + //////////////////////////////////////////////////////////////////////////// + // Connection for AFI signals that go to output-only clock pins + //////////////////////////////////////////////////////////////////////////// + + if (`_get_pin_count(PORT_MEM_CK_PINLOC) != 0 && `_get_pin_count(PORT_MEM_CK_N_PINLOC) != 0) begin : mem_ck_pair + logic [(PORT_MEM_CK_WIDTH * DDR_RATIO)-1:0] disable_ck; + assign disable_ck = '0; + + if (`_get_pin_count(PORT_MEM_CK_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DKA_PINLOC) == 0) begin : p + //: AC_TIE_OE_HIGH + //mem_ck requires a 0 tie-off @ data_buffer to generate clock pattern + `_connect_out_with_regs(PORT_MEM_CK_PINLOC, PORT_MEM_CK_WIDTH, (PORT_MEM_CK_WIDTH * DDR_RATIO), disable_ck) + end + + if (`_get_pin_count(PORT_MEM_CK_N_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DKA_PINLOC) == 0) begin : n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_CK_N_PINLOC, PORT_MEM_CK_N_WIDTH, (PORT_MEM_CK_N_WIDTH * DDR_RATIO), disable_ck) + end + end + + if (`_get_pin_count(PORT_MEM_DK_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DK_N_PINLOC) != 0) begin : mem_dk_pair + logic [(PORT_MEM_DK_WIDTH * DDR_RATIO)-1:0] disable_dk; + assign disable_dk = '0; + + if (`_get_pin_count(PORT_MEM_DK_PINLOC) != 0) begin : p + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_DK_PINLOC, PORT_MEM_DK_WIDTH, (PORT_MEM_DK_WIDTH * DDR_RATIO), disable_dk) + end + + if (`_get_pin_count(PORT_MEM_DK_N_PINLOC) != 0) begin : n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_DK_N_PINLOC, PORT_MEM_DK_N_WIDTH, (PORT_MEM_DK_N_WIDTH * DDR_RATIO), disable_dk) + end + end + + if (`_get_pin_count(PORT_MEM_DKA_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DKA_N_PINLOC) != 0) begin : mem_dka_pair + logic [(PORT_MEM_DKA_WIDTH * DDR_RATIO)-1:0] disable_dka; + assign disable_dka = '0; + + if (`_get_pin_count(PORT_MEM_DKA_PINLOC) != 0) begin : p + //: AC_TIE_OE_HIGH + //DKA and DKB of QDRIV is tie-off in the unused pin session using the C2L_DRIVEN parameter + end + + if (`_get_pin_count(PORT_MEM_DKA_N_PINLOC) != 0) begin : n + //: AC_TIE_OE_HIGH + //`_connect_out_with_regs(PORT_MEM_DKA_N_PINLOC, PORT_MEM_DKA_N_WIDTH, (PORT_MEM_DKA_N_WIDTH * DDR_RATIO), disable_dka) + end + end + + if (`_get_pin_count(PORT_MEM_DKB_PINLOC) != 0 && `_get_pin_count(PORT_MEM_DKB_N_PINLOC) != 0) begin : mem_dkb_pair + logic [(PORT_MEM_DKB_WIDTH * DDR_RATIO)-1:0] disable_dkb; + assign disable_dkb = '0; + + if (`_get_pin_count(PORT_MEM_DKB_PINLOC) != 0) begin : p + //: AC_TIE_OE_HIGH + //DKA and DKB of QDRIV is tie-off in the unused pin session using the C2L_DRIVEN parameter + end + + if (`_get_pin_count(PORT_MEM_DKB_N_PINLOC) != 0) begin : n + //: AC_TIE_OE_HIGH + //`_connect_out_with_regs(PORT_MEM_DKB_N_PINLOC, PORT_MEM_DKB_N_WIDTH, (PORT_MEM_DKB_N_WIDTH * DDR_RATIO), disable_dkb) + end + end + + if (`_get_pin_count(PORT_MEM_K_PINLOC) != 0 && `_get_pin_count(PORT_MEM_K_N_PINLOC) != 0) begin : mem_k_pair + logic [(PORT_MEM_K_WIDTH * DDR_RATIO)-1:0] disable_k; + assign disable_k = '0; + + if (`_get_pin_count(PORT_MEM_K_PINLOC) != 0) begin : p + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_K_PINLOC, PORT_MEM_K_WIDTH, (PORT_MEM_K_WIDTH * DDR_RATIO), disable_k) + end + + if (`_get_pin_count(PORT_MEM_K_N_PINLOC) != 0) begin : n + //: AC_TIE_OE_HIGH + `_connect_out_with_regs(PORT_MEM_K_N_PINLOC, PORT_MEM_K_N_WIDTH, (PORT_MEM_K_N_WIDTH * DDR_RATIO), disable_k) + end + end + + //////////////////////////////////////////////////////////////////////////// + // Tie off core2l_data for unused connections + ////////////////////////////////////////////////////////////////////////////// + for (pin_i = 0; pin_i < (NUM_OF_RTL_TILES * LANES_PER_TILE * PINS_PER_LANE); ++pin_i) + begin : non_c2l_pin + if (PINS_C2L_DRIVEN[pin_i] == 1'b0) begin + assign `_unused_core2l_afi(pin_i) = '0; + end + end + endgenerate +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "O/UL8p4fjkdiniiI1fb4ptOFsAdF7Y3Hxp7T6jxKv0MGrEyaXaFTwgtlHVroTr2ly77oTzeBnz/H2ugF2Lm64wLDISiNxLkGwFrph7cf8l5oezq71gySptz6a1i1+sH+uTBP/IhfWlKmvqzXkENOz1PT/J8+EwAOHl+z3hJ5W8p9iA7X2pLUvopxcSXzYyZFe7Y+SdxGDVeHq8Bixu/tMkSijiUVBAWYj9rL+Bb7bFHiGYRY3a1pkV73DpmsHfYc0tms3raraTxvZT5GHHOWGGA0jwdXmk2nYMzZ0yXAPbxKBvamSYhkQ9iCYMbXyXZvJ2CampGvcdzTSqwpsh6XuEuj7ekqkq8vCcQAYjZWDuG2bbyZb8tFBXYAj2TP1WRqmi2D0PFoFRN6I/B6avkCJf/sB5rQvX+LqvUVTrDifTKZlZMp1wunKDbKYXn8OlIK7YKw6PYqbiVArkSfKRr0QIZf5nUFCZdBW5S31m4UyzmgoMlrMv9F7pjlLycoQe253dA2V0H/Mya0MkYPFRtCVFOr0eHvyOyfw/ZjhYihWNx6k2X10671d57bVgfldt0Wz7xlfTCQ71nxgWAugeYC5h6dpP7l/wYJJpyY36d9WgWKPKM0Kb2DUvTwIvQ8wNXB5jxIxesmwOUAMhBWnXZ/HHyMsIcqLdeLxzxe2sSNBTeItESEn5IBjA/gOoGB9m5vmdrUQwoJ2tpT/Rdr7f3EbtXndWR0zZkubN5nakiwlBU0J3B2yebbk6WYJcNdSTbVk0kvnQ4waWfXaQsL9RvRZwf1Lt8xoDlWYDny3eBotf0xL9FcWAT1PC86RExIT/TDIE04KC6cYE2sI/DhpBJGXcvatQlIJ6i0AvYXue4JJBdRFEc039ncDEbAIhN2VnKEjR6nuLbrdPZNmOY8GAwtsJ86bgfeOCh1oLisc5Y8jMAPfKpA4tQSIs/i4Va+iRQ8+p3oa9zNCZpcaIX59FOshTyqxtL9mbH7qegrP4OQBmfuLSUvnctyc3okFXSm1G2x" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_df.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_df.sv new file mode 100644 index 0000000000..a6591b91ee --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_df.sv @@ -0,0 +1,168 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_bdir_df #( + parameter OCT_CONTROL_WIDTH = 1, + parameter HPRX_CTLE_EN = "off", + parameter HPRX_OFFSET_CAL = "false", + parameter CALIBRATED_OCT = 1 +) ( + inout tri io, + inout tri iobar, + output logic ibuf_o, + input logic obuf_i, + input logic obuf_ibar, + input logic obuf_oe, + input logic obuf_oebar, + input logic obuf_dtc, + input logic obuf_dtcbar, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + localparam DCCEN = "true"; + + logic pdiff_out_o; + logic pdiff_out_obar; + logic pdiff_out_oe; + logic pdiff_out_oebar; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + logic pdiff_out_dtc; + logic pdiff_out_dtcbar; + + tennm_io_ibuf # ( + .hprx_ctle_en (HPRX_CTLE_EN), + .hprx_offset_cal (HPRX_OFFSET_CAL), + .differential_mode ("true") + ) ibuf ( + .i(io), + .ibar(iobar), + .o(ibuf_o), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + + tennm_pseudo_diff_out # ( + .feedthrough ("true") + ) pdiff_out ( + .i(obuf_i), + .ibar(obuf_ibar), + .oein(obuf_oe), + .oebin(obuf_oebar), + .dtcin(obuf_dtc), + .dtcbarin(obuf_dtcbar), + .o(pdiff_out_o), + .obar(pdiff_out_obar), + .oeout(pdiff_out_oe), + .oebout(pdiff_out_oebar), + .dtc(pdiff_out_dtc), + .dtcbar(pdiff_out_dtcbar) + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf ( + .i(pdiff_out_o), + .o(io), + .oe(pdiff_out_oe), + .term_in(oct_termin), + .dynamicterminationcontrol(pdiff_out_dtc), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf_bar ( + .i(pdiff_out_obar), + .o(iobar), + .oe(pdiff_out_oebar), + .term_in(oct_termin), + .dynamicterminationcontrol(pdiff_out_dtcbar), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + end else + begin : no_oct + tennm_io_ibuf # ( + .hprx_ctle_en (HPRX_CTLE_EN), + .hprx_offset_cal (HPRX_OFFSET_CAL), + .differential_mode ("true") + ) ibuf ( + .i(io), + .ibar(iobar), + .o(ibuf_o), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + + tennm_pseudo_diff_out # ( + .feedthrough ("true") + ) pdiff_out ( + .i(obuf_i), + .ibar(obuf_ibar), + .oein(obuf_oe), + .oebin(obuf_oebar), + .dtcin(), + .dtcbarin(), + .o(pdiff_out_o), + .obar(pdiff_out_obar), + .oeout(pdiff_out_oe), + .oebout(pdiff_out_oebar), + .dtc(), + .dtcbar() + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf ( + .i(pdiff_out_o), + .o(io), + .oe(pdiff_out_oe), + .dynamicterminationcontrol(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf_bar ( + .i(pdiff_out_obar), + .o(iobar), + .oe(pdiff_out_oebar), + .dynamicterminationcontrol(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "O/UL8p4fjkdiniiI1fb4ptOFsAdF7Y3Hxp7T6jxKv0MGrEyaXaFTwgtlHVroTr2ly77oTzeBnz/H2ugF2Lm64wLDISiNxLkGwFrph7cf8l5oezq71gySptz6a1i1+sH+uTBP/IhfWlKmvqzXkENOz1PT/J8+EwAOHl+z3hJ5W8p9iA7X2pLUvopxcSXzYyZFe7Y+SdxGDVeHq8Bixu/tMkSijiUVBAWYj9rL+Bb7bFHCmB0sCqqsnMVFChPrUH5R8EpM6Zx+JOZ6248VFZUbCNO7XXIO9mZeTEsSWO1Avir8RJF+rwsAscUTICvdjlBTd7ZMHqhAZ6tQajgtqIu4hDhK2Vk9qJ/piLrVRPpa9TnX7OoOJ5AK0cylLXJyIOCVVNZgJBW1Jp96UeZa3jkuOzPgop1+clHCPDl0gsCz7U/qIFZuQGRPzrPKqjPP+vJeRrelykSdehrKA4glctDerNMikn5usw8wIY+8fJLivYTwcVZvfzRsbzNoOrWz1ynswV47pl3HwpuQGLgT2xnkYGTQofpQKCj9zvo5NHpO2NY7BHk25pJ4Fy94t9/CItofR8P3sVu8d7S37Bo1NaaVG/OBpmFiIuaybAXviGp1tZw4VPZl9dGRzSWOvIRMbz+kSHVZCQEzylZvkEl+XWo88jHVLo3mn4r8pWZe96yRrUm5KyGRDJewk7Au/1NkEHC72IMgBctCWV7t5GbHmMiEKObk8bshp8zmSEBehl+t5AOjlQGPt5VCN0jyWPZkmmIpHtWvGVKull3+FwFCD9avO7Fe9Ff7h+LOSFZUp8ur0EyL+FUPK04u8RHWrvSIUAcHEgNWnjkjFK2KCELCSrvwKo+V6LX8ucjlDuir3zdkwJy15SpZ7N+nmlXJ+iygufhadnKPYfQ6UiFOA1i7NwCXvmfbwhWgUTYdrX+MqoGrYTuLDrnwXRTntqqlXkNE6ZCbtGZz8NcLIQuwN+MbpnisjX7uQ8k4tKYb3jiy/zKLQxd6ntWWW/GuXT6sCIxmO+Pz" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_se.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_se.sv new file mode 100644 index 0000000000..a0719c0bfb --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_se.sv @@ -0,0 +1,87 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_bdir_se #( + parameter OCT_CONTROL_WIDTH = 1, + parameter HPRX_CTLE_EN = "off", + parameter HPRX_OFFSET_CAL = "false", + parameter CALIBRATED_OCT = 1 +) ( + inout tri io, + output logic ibuf_o, + input logic obuf_i, + input logic obuf_oe, + input logic obuf_dtc, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_ibuf # ( + .hprx_ctle_en (HPRX_CTLE_EN), + .hprx_offset_cal (HPRX_OFFSET_CAL) + ) ibuf ( + .i(io), + .o(ibuf_o), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .ibar() + ); + + tennm_io_obuf obuf ( + .i(obuf_i), + .o(io), + .oe(obuf_oe), + .term_in(oct_termin), + .dynamicterminationcontrol(obuf_dtc), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + end else + begin : no_oct + tennm_io_ibuf # ( + .hprx_ctle_en (HPRX_CTLE_EN), + .hprx_offset_cal (HPRX_OFFSET_CAL) + ) ibuf ( + .i(io), + .o(ibuf_o), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .ibar() + ); + + tennm_io_obuf obuf ( + .i(obuf_i), + .o(io), + .oe(obuf_oe), + .dynamicterminationcontrol(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .devoe() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "O/UL8p4fjkdiniiI1fb4ptOFsAdF7Y3Hxp7T6jxKv0MGrEyaXaFTwgtlHVroTr2ly77oTzeBnz/H2ugF2Lm64wLDISiNxLkGwFrph7cf8l5oezq71gySptz6a1i1+sH+uTBP/IhfWlKmvqzXkENOz1PT/J8+EwAOHl+z3hJ5W8p9iA7X2pLUvopxcSXzYyZFe7Y+SdxGDVeHq8Bixu/tMkSijiUVBAWYj9rL+Bb7bFHJ77jCjl2qih2EzD3gNKqiwaKup7hP2dRq7UROjsDVZ30rRw4diZ+JZGo3VQ3SwX32eBGN93oxDhZ9E79D4qG+AQw9gHDwoKNDrqCpWGUxEj85vZi7kHpE9ztbJabjcqANFKeKgPHo0ahI0s/L+M5+udKVtBmpqz9NiTc3hM78+Z6/O3q/BxuPF5LmPb8DOJB9s6qL3tpA2W4elHPBhCuHzjlkTEYMxlgzaIbgujGLt0kpVGAOGtc1ZD2b7MK1O5E6PuWRHY2M374JF0DBXiXnJupJyMYTdPRAErVQR0avuytHspGunfLeH/KYDzKropWFqYpAlx3yNDRSfl9JCgLUWV338UJtMdev92TuRV9MLDpKGbhUhNXoikvoxQOxoWBtLfIFd1wAy3WrAplZbr3C0Aoj0JuMKhkAoeNuTfHePlTuWbM73wbtcw5/CIaHDunIklgZZ23DRMjn0gHwZJjZ5lcf6b+/78rAPQBknj+chUO+LZQtyshQ5FbeU/INwQxMdsvBZllPg99X//GePjzgQX8TUtHirjMGoLWJmz0GzroxxUEgyy3Wx8DhBGYmkDKCbekLC2/bC9yNi/VvLykACv8y/tjgKQQnElEU2/KKgqovLJiTTjmKGYvczr851zigocF71cYz6omqtl2uTQ2OFlNnLgSz7KDJePy6W6g4ifRd0gsC/Njy8f/H/TpmMzoO4asAlEp5QWF99P5OtYfmlmcADEZM0mxGyOooRfpkDIkAQI/vnbzAntjbCWEMW6NoNxKilPtXSLJ+WGj1U1ts" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_cp_i.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_cp_i.sv new file mode 100644 index 0000000000..23eef08d88 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_cp_i.sv @@ -0,0 +1,74 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_udir_cp_i # ( + parameter OCT_CONTROL_WIDTH = 1, + parameter CALIBRATED_OCT = 1 +) ( + input logic i, + input logic ibar, + output logic o, + output logic obar, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_ibuf ibuf( + .i(i), + .o(o), + .term_in(oct_termin), + .ibar(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + + tennm_io_ibuf ibuf_bar( + .i(ibar), + .o(obar), + .term_in(oct_termin), + .ibar(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + end else + begin : no_oct + tennm_io_ibuf ibuf( + .i(i), + .o(o), + .ibar(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + + tennm_io_ibuf ibuf_bar( + .i(ibar), + .o(obar), + .ibar(), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "O/UL8p4fjkdiniiI1fb4ptOFsAdF7Y3Hxp7T6jxKv0MGrEyaXaFTwgtlHVroTr2ly77oTzeBnz/H2ugF2Lm64wLDISiNxLkGwFrph7cf8l5oezq71gySptz6a1i1+sH+uTBP/IhfWlKmvqzXkENOz1PT/J8+EwAOHl+z3hJ5W8p9iA7X2pLUvopxcSXzYyZFe7Y+SdxGDVeHq8Bixu/tMkSijiUVBAWYj9rL+Bb7bFGrrtD9+q4PfGdZLc+RGofgiqNMaJtMWNavu7kldkyWpKcD2mO1ggSWLmbB2Z2SOdGgMOj9yjWYSsdNPCQqsQ/C5ewFThFBZ9nwtD8qIFcYxxd9rhvY58KkEe0mZyJ4vsFxzICJMjVrR/CgutXHe4YSBzeLYanptnEehaODS0H1Ycqkl5ul7IuuhEwfEiZi+A9qm8LcAUVYIb34HgIdEcNZPr/r6BylNP1Nk+eFXiUluOWHYvjTBtvcSDTGHH8Oz8tyvC0AGL8SLHz1GVKojopKJ8vXMHAf0XudIhfGUBlnuzd02KhHizurdKgVIRpY03t7M4CY/qYcqm51Ov/wfApTiosoXE/9zT9UDD6z+nDY0ROqZly+RUDh767KxFWiSGMyORJ+Ll75TLIfVyWNOHUk/iFj2h2Z+wIzJ+/Le8QXOQXPK+6Vh4OO0jwS0thyG2ibFupvzHEtJnlMjN69LTN5b154KDBdwgXKkwvHFwjkuJ/XkKMHlTWGy/6jg2uuRfmb0w3AwQNIBSkELL3kSie5Txocz7rhakkPBTvtOXVOkXLDZ89VZhVN31VQArOe+3CXdJpew5o60w0aVe3Dc/ZgaPNw4XevXHvW43u2tIHhE7fzCql9aqM+ErlvA6horhD72KssjrOlCJb1zUqtNaK8eSyVLvLseaPI9GW+waE1/wh35200ZoEb9CRO5bAluWQtlyDS65trX0Rc9XDuY54OdCJKHpzv6tc9MnBzQ9qNzyODm34LTGqZfAsQN5wcMGgI+CM3nCmUwwwEsmoU88sU" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_i.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_i.sv new file mode 100644 index 0000000000..37ce33e329 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_i.sv @@ -0,0 +1,58 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_udir_df_i # ( + parameter OCT_CONTROL_WIDTH = 1, + parameter CALIBRATED_OCT = 1 +) ( + input logic i, + input logic ibar, + output logic o, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_ibuf # ( + .differential_mode ("true") + ) ibuf ( + .i(i), + .ibar(ibar), + .o(o), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + end else + begin : no_oct + tennm_io_ibuf # ( + .differential_mode ("true") + ) ibuf ( + .i(i), + .ibar(ibar), + .o(o), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2SUhvjw++wGb07D+cuKvWVU+o2EWQJ70nDOdTTx9xPz4E2lZBeYmAYpWQi2sRSoicAukT+2yLYNmPgSyDisR0jYO7W+L/nGmGGzAY8qPic6n+wwsdWnlxDCwCL3+rKM0LonRdNSrbVc5+zCMKVA+dawIhT8tGueE19yDaqo2avP8vIAzDPMLtmKJWo9DrlZ+NQbwQsZNPy7aZByBlOwTW9egnw4wyOA5REBYZog3zmAykF5rZQ4kO+hf8+E3YmzEbZyAnxpZUQBYpUuCunt/G5s/vBRz5lfuBh1FTkcKRM4rp6xVwrJOouNDeP24a5ka/Sj45l+Evd1raiohhEwSJ2DVkrQczZO/QU3r840v+8m+elqGrMYLajz8jLrB6wMwbzUR4Ut9gzIB1fcBMOqW7oA1AdGeabEAwUYeBcqcqB8GC26lcGzbpHHPYLrIDykv0OyhDnmYKVK5Op+2ncVNd3zzbssD29v8UnohAYtwKXDEgM252o+GFHyVX9U8T3wsqRQRWOOShrHnxjRINvdFe4Vs+Ww1MzEAu7NIBhdKDV9MTBQg6CWnZBWqbHpedZq4ZajmfK+GMSaO0E8c0WbJFowdPXinBNDdW0ltR0jxOw4dneXEwEhGvJDZr1bxYI2UCFlkJOHY6fDvQL/vAvw/iHt1uZuWplT3gNPrN0Nd51JwzLfMoxtSPIMTU+eDQBmpPxWSyyqufG/zccEuTq4yxWDqvG3e7MA/IlDgTxNlmWxNfHvYgEoZ4UxS+bvh4M4zYiFyd4tsvC0UqkGm7gqy3x" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_o.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_o.sv new file mode 100644 index 0000000000..06938b0935 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_o.sv @@ -0,0 +1,117 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_udir_df_o #( + parameter OCT_CONTROL_WIDTH = 1, + parameter CALIBRATED_OCT = 1 +) ( + input logic i, + input logic ibar, + output logic o, + output logic obar, + input logic oein, + input logic oeinb, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + localparam DCCEN = "true"; + + logic pdiff_out_o; + logic pdiff_out_obar; + + logic pdiff_out_oe; + logic pdiff_out_oebar; + + tennm_pseudo_diff_out # ( + .feedthrough("true") + ) pdiff_out ( + .i(i), + .ibar(ibar), + .o(pdiff_out_o), + .obar(pdiff_out_obar), + .oein(oein), + .oebin(oeinb), + .oeout(pdiff_out_oe), + .oebout(pdiff_out_oebar), + .dtcin(), + .dtcbarin(), + .dtc(), + .dtcbar() + ); + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf ( + .i(pdiff_out_o), + .o(o), + .oe(pdiff_out_oe), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .obar(), + .devoe() + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf_bar ( + .i(pdiff_out_obar), + .o(obar), + .oe(pdiff_out_oebar), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .obar(), + .devoe() + ); + end else + begin : no_oct + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf ( + .i(pdiff_out_o), + .o(o), + .oe(pdiff_out_oe), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .obar(), + .devoe() + ); + + tennm_io_obuf # ( + .dccen(DCCEN) + ) obuf_bar ( + .i(pdiff_out_obar), + .o(obar), + .oe(pdiff_out_oebar), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .dynamicterminationcontrol(), + .obar(), + .devoe() + ); + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2iyaudw3CXs5bnDhNz55tBPhJE7/EqCIrx3CP+FC5DOSLzcm6keCWrcljkpG5uNx9t3CMiivc9hetJr2FTBnGDixn7EhRAngy0TjjXTaT68INZnZ+9yqAjCBzqyMb4pyxK053BpRPfcJwP3pKBrQ/AoyqdQ/XTdT/AqBfXk0yCfVV7Za8TIP3rEBF34QkBbkRVLcNNvVwOzsVVkdY0IT8LdqLKYMX45sgszZwX0gK5OCKS5dSliUyRAyqoeNMiuBoHxFeMGMtJ2csCzwBeGA3LaqZRdIhl/WairZm36kh8Zm8H0vNKhnPGbNxUqPd0old/nTVudZVad11PmuRA8aFK+M4kIYDAQNLrMGMliBVds4fPvDqk0mljaRTR5f24GNho5q1VTDJhQcocxhoWQ3j1Q71DZZqtu7BC8+QFj/UVlmDloq+Z/9/GQ0xBm41bpxFuElY9CORWIpd7j+i5fWFgU83O04pa7oy/hmtejYQgjkAg2LEPxPxd43ohTPMYhmzl2zot1TvbWsQ2uYLYpAUy0f5Ui4lutq+6PHCSJ+NWR8UgzmYfazy+heBMB59tKmZAikE4eWGyjaihWivyBy4+6Ez4InrAIm7xsKRJPmUfSB1akTdHuV0x+Z+C2YYUYdSxnmjH+I6dcQc7Ha/8BJvwTt81VY6bTkFvmZU8a7I+edRnniRcMfLDiR2QmjuGicyhpvq5ZkjAAToYSkSIYKKOYSl1iUyG8wNgC/0AF/t8+OYVnzr6askUBZDqY8v0xbTDemoEyiB0Gs9Q0GoVJAL4" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_i.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_i.sv new file mode 100644 index 0000000000..b01e9e09b8 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_i.sv @@ -0,0 +1,53 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_udir_se_i #( + parameter OCT_CONTROL_WIDTH = 1, + parameter CALIBRATED_OCT = 1 +) ( + input logic i, + input logic oct_termin, + output logic o +); + timeunit 1ns; + timeprecision 1ps; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_ibuf ibuf( + .i(i), + .o(o), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .ibar(), + .dynamicterminationcontrol() + ); + end else + begin : no_oct + tennm_io_ibuf ibuf( + .i(i), + .o(o), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .ibar(), + .dynamicterminationcontrol() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2FmthPOs++Dvdswo7+h08zwz/9gADvK/6sUMDX7whuEsL9NVEK2plHS/Y6vm2eNMDNCJt2UBZPXA6a5NSlJIh7gHcRInIyrMxFfupxD3mc10hF6Kbm2Gxn3/wIVV3ZMg20NVk9oe8XY6oKn7dl7eZ2KcITCYhCEU6PQp4jjZ02aNXBYrEocXu0/jX247tso6eX/j1Mbuv4a4dnrsv9qO5YETYsIrvgHW2lWD8Wt2oJn8owmXX7TP0SCURrFg+42GVvhx+BdHCAGQpxrcZNU9YuMKmnvZELmnpcFRhhfne3T3Tmz5bacI+qsB8eQJWFLQTmPAo2LOOWAZYTz+vD5Dk7Jg2IBeUgbf2z70wXkgQIuurhtWBWTIiYkqbyHoYrrhLqQ4cCr/MHNtrfYR1BrOaMvpFmQL4WBF/9wr+dvO5BfhO+nqX+hDdRcXyZHkP3+8Ngp3OrcghpyEgb0j54J2iROHwbZgWUc3iPZiv5ifgfo+CguNWfyQh8fneY2SqKXCA6ra7M9UHmFd4pcEhjeEXIAEVKOS9oDbele+0BG3HYVZs/LpjLxI2BLbhWJawaGo8tPRTzk/fBoWf/5kUff4sLPqZnn1PoubkJ0ungaleVHQYuihAVhmVW6D/Bp0pUgM3kJZd5W4sd6UNyyGA/s+rK8OtsuMEIMMBJICe5XKCWbsZ3a9Sg2tkhJjm/5OHsoOY6HoFhPedykVA5O1d8pGiQuWtC+GsRlK8Z3UeOzNnL/f5BWXabOU6VfVuMbzPZ7tDjGILH47m18xtD6c5E5J3Q" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_o.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_o.sv new file mode 100644 index 0000000000..dab39071cf --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_o.sv @@ -0,0 +1,58 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_udir_se_o #( + parameter OCT_CONTROL_WIDTH = 1, + parameter CALIBRATED_OCT = 1 +) ( + input logic i, + output logic o, + input logic oe, + input logic oct_termin +); + timeunit 1ns; + timeprecision 1ps; + + generate + if (CALIBRATED_OCT) + begin : cal_oct + tennm_io_obuf obuf ( + .i(i), + .o(o), + .term_in(oct_termin), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .oe(oe), + .dynamicterminationcontrol(), + .devoe() + ); + end else + begin : no_oct + tennm_io_obuf obuf ( + .i(i), + .o(o), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .obar(), + .oe(oe), + .dynamicterminationcontrol(), + .devoe() + ); + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm0tDDu14dsl4TOuKMl087O8gOU7F660uXBhz5+pbY9/eMzX4u3w+gtxPLCnxFqRDACfsgc8ZIJ5YgseD0Rfaj2UEVy6N1dIoQhXCYVMzK6NUTR1AyxTLIOwwNSYVmfPjfxkpm2eleyU9kZEQcYWQ457Ww/TaQlo552Eqzbp+y6PAo8kLS9R13ZI+01b2nNKBRXVGGtXbFjS1OuPH1RPyg3GEOvV5w3XAHVSMPqM8o3hzzhw9USZ/FA+VgVGV2b/QTQBfsmr9tK8eOUav8mwUALFeDEgxeewKwjYBaj9ywmk1C4IuLrJFPUnmHJ4emonoKtvA8Tt9mZ+xh14Kvg+RXfJkgP+TM4Fd6YjYZelWVRmI9jDnrDY6/KfbHCZvsrkVXulso6obQaBz6qPQ0vQ2ac0hgKa0Zkst+4N6i9ANrvO6koZp9g6wuvl2o50IP8eQDRr6m9mOQ+otZa0OrlaZEY7/9vOD83qCFNfVR3jjQ8o256sLF6WrpdbyzsZ6Ph0hjKkX7pGRkjc/+qJVVKnRiPJSPHbWM++ikwEKIHeOhqwtxXRbrkdCRNmsdKxlv2ZPGM3OKY9Mm8jJWly6A9/TkkZGDATi7TpvJLxHQKSxdSfGJWx4NRWwMVohKigBFHuwvU1RhW9DiGMLB4Qvk3kL9Bs90MqgbIU4rKdKH7Y108LvcjGNzI92qIWrw/pwCzJ3id88Ahwm5Rbke8ZuVvMCR85rSlFM1rOAFP32hws9wmbj3RZAa7rc5z0uzg2/IZMQZOsweCxE8a4IoctwgMU394t" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_unused.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_unused.sv new file mode 100644 index 0000000000..af51a847ab --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_unused.sv @@ -0,0 +1,25 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +module altera_emif_arch_fm_buf_unused ( + output logic o +); + timeunit 1ns; + timeprecision 1ps; + + assign o = 1'b0; +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm21Y3h4ZwmeCDLBi13DER8P/hE/05XIB+MP/tekkMHRc9fTpd07EtcbE+kKx+HhUC4VAUpq+6rJcdeYx9KymU9PVChpn2OMmtAq2PDxwE2Pvtf74Ig29FfLOCq2BK/7k7HjfqtVr/sqRiw8Jc6131zcHfbOam2soohRXzrz1NAn1zeypc7b7sPbSAvEk7ndfpjwLMeZSspCCFzSoSyQ6dvzYtlDVmeteHOTh3ATroJrmeUBFxGPDC4IXy9KLm5A4yB6uUEOJGrPudw4+X7AIJo92wAbvg8mNUEnR6E0UyBBQ4MSphh3wViQ3rdc1N3QZWufydLLwkiGprss+uAfxBrvUAv6DF+N/JyY1VVQ+4dN4Txi+O2SIDk1Ts9qPlMnsRpS5Y3LPbPd3V/oKm73IQwdObN2otvOzAc73VDTZmrJZO8bqL0E0IikLpCuP7TjjALgBOPWKxXNtL0GzyNtwjoObtBzoaB1SizhMC5vq1uqYX9qYDoJrHeGK12KwKNGPLpCWgi0quSmkfqJMWPhzdCTy8eXAWsYCc1mRLycDX3gekhOqjQkJtz92W/5FGw/wkxWpXmKL5u1ufs0H87Yb61u1RrO/whVOSRqhdMJJrwkGgVTcsnq2Po/NNJ1NaNKyWlEqZzxQgG+zk14hgBdxa+sdDOSp+o+lz2y1FdSWJJVQ1DCp8UwyypZd2boAAIoj9/nogzfp3Rq/mEg7CUdOfzwbkbb9SrYIG28ncvJWvoxDgoHiqmszxVN2hgV+0IMD8NfcteSZrbk1L+SKRfGGpgk" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_bufs.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_bufs.sv new file mode 100644 index 0000000000..fe63e7c796 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_bufs.sv @@ -0,0 +1,1288 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +`define _get_pin_count(_loc) ( _loc[ 9 : 0 ] ) +`define _get_pin_index(_loc, _port_i) ( _loc[ (_port_i + 1) * 10 +: 10 ] ) + +module altera_emif_arch_fm_bufs #( + parameter PROTOCOL_ENUM = "", + parameter PINS_PER_LANE = 1, + parameter PINS_IN_RTL_TILES = 1, + parameter LANES_IN_RTL_TILES = 1, + parameter OCT_CONTROL_WIDTH = 1, + parameter DQS_BUS_MODE_ENUM = "", + parameter UNUSED_MEM_PINS_PINLOC = 10'b0000000000, + parameter UNUSED_DQS_BUSES_LANELOC = 10'b0000000000, + + // Definition of port widths for "mem" interface (auto-generated) + //AUTOGEN_BEGIN: Definition of memory port widths + parameter PORT_MEM_CK_WIDTH = 1, + parameter PORT_MEM_CK_N_WIDTH = 1, + parameter PORT_MEM_DK_WIDTH = 1, + parameter PORT_MEM_DK_N_WIDTH = 1, + parameter PORT_MEM_DKA_WIDTH = 1, + parameter PORT_MEM_DKA_N_WIDTH = 1, + parameter PORT_MEM_DKB_WIDTH = 1, + parameter PORT_MEM_DKB_N_WIDTH = 1, + parameter PORT_MEM_K_WIDTH = 1, + parameter PORT_MEM_K_N_WIDTH = 1, + parameter PORT_MEM_A_WIDTH = 1, + parameter PORT_MEM_BA_WIDTH = 1, + parameter PORT_MEM_BG_WIDTH = 1, + parameter PORT_MEM_C_WIDTH = 1, + parameter PORT_MEM_CKE_WIDTH = 1, + parameter PORT_MEM_CS_N_WIDTH = 1, + parameter PORT_MEM_RM_WIDTH = 1, + parameter PORT_MEM_ODT_WIDTH = 1, + parameter PORT_MEM_GNT_N_WIDTH = 1, + parameter PORT_MEM_REQ_N_WIDTH = 1, + parameter PORT_MEM_ERR_N_WIDTH = 1, + parameter PORT_MEM_RAS_N_WIDTH = 1, + parameter PORT_MEM_CAS_N_WIDTH = 1, + parameter PORT_MEM_WE_N_WIDTH = 1, + parameter PORT_MEM_RESET_N_WIDTH = 1, + parameter PORT_MEM_ACT_N_WIDTH = 1, + parameter PORT_MEM_PAR_WIDTH = 1, + parameter PORT_MEM_CA_WIDTH = 1, + parameter PORT_MEM_REF_N_WIDTH = 1, + parameter PORT_MEM_WPS_N_WIDTH = 1, + parameter PORT_MEM_RPS_N_WIDTH = 1, + parameter PORT_MEM_DOFF_N_WIDTH = 1, + parameter PORT_MEM_LDA_N_WIDTH = 1, + parameter PORT_MEM_LDB_N_WIDTH = 1, + parameter PORT_MEM_RWA_N_WIDTH = 1, + parameter PORT_MEM_RWB_N_WIDTH = 1, + parameter PORT_MEM_LBK0_N_WIDTH = 1, + parameter PORT_MEM_LBK1_N_WIDTH = 1, + parameter PORT_MEM_CFG_N_WIDTH = 1, + parameter PORT_MEM_AP_WIDTH = 1, + parameter PORT_MEM_AINV_WIDTH = 1, + parameter PORT_MEM_DM_WIDTH = 1, + parameter PORT_MEM_BWS_N_WIDTH = 1, + parameter PORT_MEM_D_WIDTH = 1, + parameter PORT_MEM_DQ_WIDTH = 1, + parameter PORT_MEM_DBI_N_WIDTH = 1, + parameter PORT_MEM_DQA_WIDTH = 1, + parameter PORT_MEM_DQB_WIDTH = 1, + parameter PORT_MEM_DINVA_WIDTH = 1, + parameter PORT_MEM_DINVB_WIDTH = 1, + parameter PORT_MEM_Q_WIDTH = 1, + parameter PORT_MEM_DQS_WIDTH = 1, + parameter PORT_MEM_DQS_N_WIDTH = 1, + parameter PORT_MEM_QK_WIDTH = 1, + parameter PORT_MEM_QK_N_WIDTH = 1, + parameter PORT_MEM_QKA_WIDTH = 1, + parameter PORT_MEM_QKA_N_WIDTH = 1, + parameter PORT_MEM_QKB_WIDTH = 1, + parameter PORT_MEM_QKB_N_WIDTH = 1, + parameter PORT_MEM_CQ_WIDTH = 1, + parameter PORT_MEM_CQ_N_WIDTH = 1, + parameter PORT_MEM_ALERT_N_WIDTH = 1, + parameter PORT_MEM_PE_N_WIDTH = 1, + + // Definition of parameters describing logical pin allocation + //AUTOGEN_BEGIN: Definition of memory port pinlocs + parameter PORT_MEM_CK_PINLOC = 10'b0000000000, + parameter PORT_MEM_CK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DK_PINLOC = 10'b0000000000, + parameter PORT_MEM_DK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKB_PINLOC = 10'b0000000000, + parameter PORT_MEM_DKB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_K_PINLOC = 10'b0000000000, + parameter PORT_MEM_K_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_A_PINLOC = 10'b0000000000, + parameter PORT_MEM_BA_PINLOC = 10'b0000000000, + parameter PORT_MEM_BG_PINLOC = 10'b0000000000, + parameter PORT_MEM_C_PINLOC = 10'b0000000000, + parameter PORT_MEM_CKE_PINLOC = 10'b0000000000, + parameter PORT_MEM_CS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RM_PINLOC = 10'b0000000000, + parameter PORT_MEM_ODT_PINLOC = 10'b0000000000, + parameter PORT_MEM_RAS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CAS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_WE_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RESET_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_ACT_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_PAR_PINLOC = 10'b0000000000, + parameter PORT_MEM_CA_PINLOC = 10'b0000000000, + parameter PORT_MEM_REF_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_WPS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RPS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DOFF_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LDA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LDB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RWA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_RWB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LBK0_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_LBK1_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CFG_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_AP_PINLOC = 10'b0000000000, + parameter PORT_MEM_AINV_PINLOC = 10'b0000000000, + parameter PORT_MEM_DM_PINLOC = 10'b0000000000, + parameter PORT_MEM_BWS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_D_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_DBI_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQB_PINLOC = 10'b0000000000, + parameter PORT_MEM_DINVA_PINLOC = 10'b0000000000, + parameter PORT_MEM_DINVB_PINLOC = 10'b0000000000, + parameter PORT_MEM_Q_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QK_PINLOC = 10'b0000000000, + parameter PORT_MEM_QK_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKA_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKA_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKB_PINLOC = 10'b0000000000, + parameter PORT_MEM_QKB_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_CQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_CQ_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_ALERT_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_PE_N_PINLOC = 10'b0000000000, + + parameter HPRX_CTLE_EN = "on", + parameter HPRX_OFFSET_CAL = "true", + + parameter PHY_CALIBRATED_OCT = 1, + parameter PHY_AC_CALIBRATED_OCT = 1, + parameter PHY_CK_CALIBRATED_OCT = 1, + parameter PHY_DATA_CALIBRATED_OCT = 1 +) ( + input logic [PINS_IN_RTL_TILES-1:0] l2b_data, + input logic [PINS_IN_RTL_TILES-1:0] l2b_oe, + input logic [PINS_IN_RTL_TILES-1:0] l2b_dtc, + output logic [PINS_IN_RTL_TILES-1:0] b2l_data, + output logic [LANES_IN_RTL_TILES-1:0] b2t_dqs, + output logic [LANES_IN_RTL_TILES-1:0] b2t_dqsb, + + // Ports for "mem" interface + //AUTOGEN_BEGIN: Definition of memory ports + output logic [PORT_MEM_CK_WIDTH-1:0] mem_ck, + output logic [PORT_MEM_CK_N_WIDTH-1:0] mem_ck_n, + output logic [PORT_MEM_DK_WIDTH-1:0] mem_dk, + output logic [PORT_MEM_DK_N_WIDTH-1:0] mem_dk_n, + output logic [PORT_MEM_DKA_WIDTH-1:0] mem_dka, + output logic [PORT_MEM_DKA_N_WIDTH-1:0] mem_dka_n, + output logic [PORT_MEM_DKB_WIDTH-1:0] mem_dkb, + output logic [PORT_MEM_DKB_N_WIDTH-1:0] mem_dkb_n, + output logic [PORT_MEM_K_WIDTH-1:0] mem_k, + output logic [PORT_MEM_K_N_WIDTH-1:0] mem_k_n, + output logic [PORT_MEM_A_WIDTH-1:0] mem_a, + output logic [PORT_MEM_BA_WIDTH-1:0] mem_ba, + output logic [PORT_MEM_BG_WIDTH-1:0] mem_bg, + output logic [PORT_MEM_C_WIDTH-1:0] mem_c, + output logic [PORT_MEM_CKE_WIDTH-1:0] mem_cke, + output logic [PORT_MEM_CS_N_WIDTH-1:0] mem_cs_n, + output logic [PORT_MEM_RM_WIDTH-1:0] mem_rm, + output logic [PORT_MEM_ODT_WIDTH-1:0] mem_odt, + output logic [PORT_MEM_GNT_N_WIDTH-1:0] mem_gnt_n, + input logic [PORT_MEM_REQ_N_WIDTH-1:0] mem_req_n, + input logic [PORT_MEM_ERR_N_WIDTH-1:0] mem_err_n, + output logic [PORT_MEM_RAS_N_WIDTH-1:0] mem_ras_n, + output logic [PORT_MEM_CAS_N_WIDTH-1:0] mem_cas_n, + output logic [PORT_MEM_WE_N_WIDTH-1:0] mem_we_n, + output logic [PORT_MEM_RESET_N_WIDTH-1:0] mem_reset_n, + output logic [PORT_MEM_ACT_N_WIDTH-1:0] mem_act_n, + output logic [PORT_MEM_PAR_WIDTH-1:0] mem_par, + output logic [PORT_MEM_CA_WIDTH-1:0] mem_ca, + output logic [PORT_MEM_REF_N_WIDTH-1:0] mem_ref_n, + output logic [PORT_MEM_WPS_N_WIDTH-1:0] mem_wps_n, + output logic [PORT_MEM_RPS_N_WIDTH-1:0] mem_rps_n, + output logic [PORT_MEM_DOFF_N_WIDTH-1:0] mem_doff_n, + output logic [PORT_MEM_LDA_N_WIDTH-1:0] mem_lda_n, + output logic [PORT_MEM_LDB_N_WIDTH-1:0] mem_ldb_n, + output logic [PORT_MEM_RWA_N_WIDTH-1:0] mem_rwa_n, + output logic [PORT_MEM_RWB_N_WIDTH-1:0] mem_rwb_n, + output logic [PORT_MEM_LBK0_N_WIDTH-1:0] mem_lbk0_n, + output logic [PORT_MEM_LBK1_N_WIDTH-1:0] mem_lbk1_n, + output logic [PORT_MEM_CFG_N_WIDTH-1:0] mem_cfg_n, + output logic [PORT_MEM_AP_WIDTH-1:0] mem_ap, + output logic [PORT_MEM_AINV_WIDTH-1:0] mem_ainv, + output logic [PORT_MEM_DM_WIDTH-1:0] mem_dm, + output logic [PORT_MEM_BWS_N_WIDTH-1:0] mem_bws_n, + output logic [PORT_MEM_D_WIDTH-1:0] mem_d, + inout tri [PORT_MEM_DQ_WIDTH-1:0] mem_dq, + inout tri [PORT_MEM_DBI_N_WIDTH-1:0] mem_dbi_n, + inout tri [PORT_MEM_DQA_WIDTH-1:0] mem_dqa, + inout tri [PORT_MEM_DQB_WIDTH-1:0] mem_dqb, + inout tri [PORT_MEM_DINVA_WIDTH-1:0] mem_dinva, + inout tri [PORT_MEM_DINVB_WIDTH-1:0] mem_dinvb, + input logic [PORT_MEM_Q_WIDTH-1:0] mem_q, + inout tri [PORT_MEM_DQS_WIDTH-1:0] mem_dqs, + inout tri [PORT_MEM_DQS_N_WIDTH-1:0] mem_dqs_n, + input logic [PORT_MEM_QK_WIDTH-1:0] mem_qk, + input logic [PORT_MEM_QK_N_WIDTH-1:0] mem_qk_n, + input logic [PORT_MEM_QKA_WIDTH-1:0] mem_qka, + input logic [PORT_MEM_QKA_N_WIDTH-1:0] mem_qka_n, + input logic [PORT_MEM_QKB_WIDTH-1:0] mem_qkb, + input logic [PORT_MEM_QKB_N_WIDTH-1:0] mem_qkb_n, + input logic [PORT_MEM_CQ_WIDTH-1:0] mem_cq, + input logic [PORT_MEM_CQ_N_WIDTH-1:0] mem_cq_n, + input logic [PORT_MEM_ALERT_N_WIDTH-1:0] mem_alert_n, + input logic [PORT_MEM_PE_N_WIDTH-1:0] mem_pe_n, + + input logic oct_rzqin, + input logic oct_termin, + output logic oct_rzqin2ter +); + timeunit 1ns; + timeprecision 1ps; + + assign mem_gnt_n = '1; + + assign {mem_ck_bidir, mem_ck_bidir_n} = '0; + + generate + genvar port_i; + + for (port_i = 0; port_i < `_get_pin_count(UNUSED_MEM_PINS_PINLOC); ++port_i) + begin : unused_pin + altera_emif_arch_fm_buf_unused ub (.o(b2l_data[`_get_pin_index(UNUSED_MEM_PINS_PINLOC, port_i)])); + end + + for (port_i = 0; port_i < `_get_pin_count(UNUSED_DQS_BUSES_LANELOC); ++port_i) + begin : unused_dqs_bus + altera_emif_arch_fm_buf_unused ub0 (.o(b2t_dqs[`_get_pin_index(UNUSED_DQS_BUSES_LANELOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2t_dqsb[`_get_pin_index(UNUSED_DQS_BUSES_LANELOC, port_i)])); + end + + if (`_get_pin_count(PORT_MEM_CK_PINLOC) != 0) begin : gen_mem_ck + for (port_i = 0; port_i < PORT_MEM_CK_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_df_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_CK_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CK_PINLOC, port_i)]), + .ibar(l2b_data[`_get_pin_index(PORT_MEM_CK_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ck[port_i]), + .obar(mem_ck_n[port_i]), + .oein(l2b_oe[`_get_pin_index(PORT_MEM_CK_PINLOC, port_i)]), + .oeinb(l2b_oe[`_get_pin_index(PORT_MEM_CK_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ub0 (.o(b2l_data[`_get_pin_index(PORT_MEM_CK_PINLOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_CK_N_PINLOC, port_i)])); + end + end else begin : no_mem_ck + assign {mem_ck, mem_ck_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_DK_PINLOC) != 0) begin : gen_mem_dk + for (port_i = 0; port_i < PORT_MEM_DK_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_df_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_DK_PINLOC, port_i)]), + .ibar(l2b_data[`_get_pin_index(PORT_MEM_DK_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_dk[port_i]), + .obar(mem_dk_n[port_i]), + .oein(l2b_oe[`_get_pin_index(PORT_MEM_DK_PINLOC, port_i)]), + .oeinb(l2b_oe[`_get_pin_index(PORT_MEM_DK_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ub0 (.o(b2l_data[`_get_pin_index(PORT_MEM_DK_PINLOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_DK_N_PINLOC, port_i)])); + end + end else begin : no_mem_dk + assign {mem_dk, mem_dk_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_DKA_PINLOC) != 0) begin : gen_mem_dka + for (port_i = 0; port_i < PORT_MEM_DKA_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_df_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_DKA_PINLOC, port_i)]), + .ibar(l2b_data[`_get_pin_index(PORT_MEM_DKA_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_dka[port_i]), + .obar(mem_dka_n[port_i]), + .oein(l2b_oe[`_get_pin_index(PORT_MEM_DKA_PINLOC, port_i)]), + .oeinb(l2b_oe[`_get_pin_index(PORT_MEM_DKA_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ub0 (.o(b2l_data[`_get_pin_index(PORT_MEM_DKA_PINLOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_DKA_N_PINLOC, port_i)])); + end + end else begin : no_mem_dka + assign {mem_dka, mem_dka_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_DKB_PINLOC) != 0) begin : gen_mem_dkb + for (port_i = 0; port_i < PORT_MEM_DKB_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_df_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_DKB_PINLOC, port_i)]), + .ibar(l2b_data[`_get_pin_index(PORT_MEM_DKB_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_dkb[port_i]), + .obar(mem_dkb_n[port_i]), + .oein(l2b_oe[`_get_pin_index(PORT_MEM_DKB_PINLOC, port_i)]), + .oeinb(l2b_oe[`_get_pin_index(PORT_MEM_DKB_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ub0 (.o(b2l_data[`_get_pin_index(PORT_MEM_DKB_PINLOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_DKB_N_PINLOC, port_i)])); + end + end else begin : no_mem_dkb + assign {mem_dkb, mem_dkb_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_K_PINLOC) != 0) begin : gen_mem_k + for (port_i = 0; port_i < PORT_MEM_K_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_df_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_CK_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_K_PINLOC, port_i)]), + .ibar(l2b_data[`_get_pin_index(PORT_MEM_K_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_k[port_i]), + .obar(mem_k_n[port_i]), + .oein(l2b_oe[`_get_pin_index(PORT_MEM_K_PINLOC, port_i)]), + .oeinb(l2b_oe[`_get_pin_index(PORT_MEM_K_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ub0 (.o(b2l_data[`_get_pin_index(PORT_MEM_K_PINLOC, port_i)])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_K_N_PINLOC, port_i)])); + end + end else begin : no_mem_k + assign {mem_k, mem_k_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_A_PINLOC) != 0) begin : gen_mem_a + for (port_i = 0; port_i < PORT_MEM_A_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_A_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_a[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_A_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_A_PINLOC, port_i)])); + end + end else begin : no_mem_a + assign mem_a = '0; + end + + if (`_get_pin_count(PORT_MEM_BA_PINLOC) != 0) begin : gen_mem_ba + for (port_i = 0; port_i < PORT_MEM_BA_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_BA_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ba[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_BA_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_BA_PINLOC, port_i)])); + end + end else begin : no_mem_ba + assign mem_ba = '0; + end + + if (`_get_pin_count(PORT_MEM_BG_PINLOC) != 0) begin : gen_mem_bg + for (port_i = 0; port_i < PORT_MEM_BG_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_BG_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_bg[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_BG_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_BG_PINLOC, port_i)])); + end + end else begin : no_mem_bg + assign mem_bg = '0; + end + + if (`_get_pin_count(PORT_MEM_C_PINLOC) != 0) begin : gen_mem_c + for (port_i = 0; port_i < PORT_MEM_C_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_C_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_c[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_C_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_C_PINLOC, port_i)])); + end + end else begin : no_mem_c + assign mem_c = '0; + end + + if (`_get_pin_count(PORT_MEM_CKE_PINLOC) != 0) begin : gen_mem_cke + for (port_i = 0; port_i < PORT_MEM_CKE_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CKE_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_cke[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_CKE_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_CKE_PINLOC, port_i)])); + end + end else begin : no_mem_cke + assign mem_cke = '0; + end + + if (`_get_pin_count(PORT_MEM_CS_N_PINLOC) != 0) begin : gen_mem_cs_n + for (port_i = 0; port_i < PORT_MEM_CS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_cs_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_CS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_CS_N_PINLOC, port_i)])); + end + end else begin : no_mem_cs_n + assign mem_cs_n = '1; + end + + if (`_get_pin_count(PORT_MEM_RM_PINLOC) != 0) begin : gen_mem_rm + for (port_i = 0; port_i < PORT_MEM_RM_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RM_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_rm[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RM_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RM_PINLOC, port_i)])); + end + end else begin : no_mem_rm + assign mem_rm = '1; + end + + if (`_get_pin_count(PORT_MEM_ODT_PINLOC) != 0) begin : gen_mem_odt + for (port_i = 0; port_i < PORT_MEM_ODT_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_ODT_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_odt[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_ODT_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_ODT_PINLOC, port_i)])); + end + end else begin : no_mem_odt + assign mem_odt = '0; + end + + if (`_get_pin_count(PORT_MEM_RAS_N_PINLOC) != 0) begin : gen_mem_ras_n + for (port_i = 0; port_i < PORT_MEM_RAS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RAS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ras_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RAS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RAS_N_PINLOC, port_i)])); + end + end else begin : no_mem_ras_n + assign mem_ras_n = '1; + end + + if (`_get_pin_count(PORT_MEM_CAS_N_PINLOC) != 0) begin : gen_mem_cas_n + for (port_i = 0; port_i < PORT_MEM_CAS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CAS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_cas_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_CAS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_CAS_N_PINLOC, port_i)])); + end + end else begin : no_mem_cas_n + assign mem_cas_n = '1; + end + + if (`_get_pin_count(PORT_MEM_WE_N_PINLOC) != 0) begin : gen_mem_we_n + for (port_i = 0; port_i < PORT_MEM_WE_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_WE_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_we_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_WE_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_WE_N_PINLOC, port_i)])); + end + end else begin : no_mem_we_n + assign mem_we_n = '1; + end + + if (`_get_pin_count(PORT_MEM_RESET_N_PINLOC) != 0) begin : gen_mem_reset_n + for (port_i = 0; port_i < PORT_MEM_RESET_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(0) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RESET_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_reset_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RESET_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RESET_N_PINLOC, port_i)])); + end + end else begin : no_mem_reset_n + assign mem_reset_n = '1; + end + + if (`_get_pin_count(PORT_MEM_ACT_N_PINLOC) != 0) begin : gen_mem_act_n + for (port_i = 0; port_i < PORT_MEM_ACT_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_ACT_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_act_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_ACT_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_ACT_N_PINLOC, port_i)])); + end + end else begin : no_mem_act_n + assign mem_act_n = '1; + end + + if (`_get_pin_count(PORT_MEM_PAR_PINLOC) != 0) begin : gen_mem_par + for (port_i = 0; port_i < PORT_MEM_PAR_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_PAR_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_par[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_PAR_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_PAR_PINLOC, port_i)])); + end + end else begin : no_mem_par + assign mem_par = '0; + end + + if (`_get_pin_count(PORT_MEM_CA_PINLOC) != 0) begin : gen_mem_ca + for (port_i = 0; port_i < PORT_MEM_CA_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CA_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ca[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_CA_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_CA_PINLOC, port_i)])); + end + end else begin : no_mem_ca + assign mem_ca = '0; + end + + if (`_get_pin_count(PORT_MEM_REF_N_PINLOC) != 0) begin : gen_mem_ref_n + for (port_i = 0; port_i < PORT_MEM_REF_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_REF_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ref_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_REF_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_REF_N_PINLOC, port_i)])); + end + end else begin : no_mem_ref_n + assign mem_ref_n = '1; + end + + if (`_get_pin_count(PORT_MEM_WPS_N_PINLOC) != 0) begin : gen_mem_wps_n + for (port_i = 0; port_i < PORT_MEM_WPS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_WPS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_wps_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_WPS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_WPS_N_PINLOC, port_i)])); + end + end else begin : no_mem_wps_n + assign mem_wps_n = '1; + end + + if (`_get_pin_count(PORT_MEM_RPS_N_PINLOC) != 0) begin : gen_mem_rps_n + for (port_i = 0; port_i < PORT_MEM_RPS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RPS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_rps_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RPS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RPS_N_PINLOC, port_i)])); + end + end else begin : no_mem_rps_n + assign mem_rps_n = '1; + end + + if (`_get_pin_count(PORT_MEM_LDA_N_PINLOC) != 0) begin : gen_mem_lda_n + for (port_i = 0; port_i < PORT_MEM_LDA_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_LDA_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_lda_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_LDA_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_LDA_N_PINLOC, port_i)])); + end + end else begin : no_mem_lda_n + assign mem_lda_n = '1; + end + + if (`_get_pin_count(PORT_MEM_LDB_N_PINLOC) != 0) begin : gen_mem_ldb_n + for (port_i = 0; port_i < PORT_MEM_LDB_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_LDB_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ldb_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_LDB_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_LDB_N_PINLOC, port_i)])); + end + end else begin : no_mem_ldb_n + assign mem_ldb_n = '1; + end + + if (`_get_pin_count(PORT_MEM_RWA_N_PINLOC) != 0) begin : gen_mem_rwa_n + for (port_i = 0; port_i < PORT_MEM_RWA_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RWA_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_rwa_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RWA_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RWA_N_PINLOC, port_i)])); + end + end else begin : no_mem_rwa_n + assign mem_rwa_n = '1; + end + + if (`_get_pin_count(PORT_MEM_RWB_N_PINLOC) != 0) begin : gen_mem_rwb_n + for (port_i = 0; port_i < PORT_MEM_RWB_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_RWB_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_rwb_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_RWB_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_RWB_N_PINLOC, port_i)])); + end + end else begin : no_mem_rwb_n + assign mem_rwb_n = '1; + end + + if (`_get_pin_count(PORT_MEM_LBK0_N_PINLOC) != 0) begin : gen_mem_lbk0_n + for (port_i = 0; port_i < PORT_MEM_LBK0_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_LBK0_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_lbk0_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_LBK0_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_LBK0_N_PINLOC, port_i)])); + end + end else begin : no_mem_lbk0_n + assign mem_lbk0_n = '1; + end + + if (`_get_pin_count(PORT_MEM_LBK1_N_PINLOC) != 0) begin : gen_mem_lbk1_n + for (port_i = 0; port_i < PORT_MEM_LBK1_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_LBK1_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_lbk1_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_LBK1_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_LBK1_N_PINLOC, port_i)])); + end + end else begin : no_mem_lbk1_n + assign mem_lbk1_n = '1; + end + + if (`_get_pin_count(PORT_MEM_AP_PINLOC) != 0) begin : gen_mem_ap + for (port_i = 0; port_i < PORT_MEM_AP_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_AP_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ap[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_AP_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_AP_PINLOC, port_i)])); + end + end else begin : no_mem_ap + assign mem_ap = '1; + end + + if (`_get_pin_count(PORT_MEM_AINV_PINLOC) != 0) begin : gen_mem_ainv + for (port_i = 0; port_i < PORT_MEM_AINV_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_AINV_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_ainv[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_AINV_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_AINV_PINLOC, port_i)])); + end + end else begin : no_mem_ainv + assign mem_ainv = '1; + end + + if (`_get_pin_count(PORT_MEM_CFG_N_PINLOC) != 0) begin : gen_mem_cfg_n + for (port_i = 0; port_i < PORT_MEM_CFG_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_CFG_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_cfg_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_CFG_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_CFG_N_PINLOC, port_i)])); + end + end else begin : no_mem_cfg_n + assign mem_cfg_n = '1; + end + + if (`_get_pin_count(PORT_MEM_DOFF_N_PINLOC) != 0) begin : gen_mem_doff_n + for (port_i = 0; port_i < PORT_MEM_DOFF_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_AC_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_DOFF_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_doff_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_DOFF_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_DOFF_N_PINLOC, port_i)])); + end + end else begin : no_mem_doff_n + assign mem_doff_n = '1; + end + + if (`_get_pin_count(PORT_MEM_DM_PINLOC) != 0) begin : gen_mem_dm + for (port_i = 0; port_i < PORT_MEM_DM_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_DM_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_dm[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_DM_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_DM_PINLOC, port_i)])); + end + end else begin : no_mem_dm + assign mem_dm = '0; + end + + if (`_get_pin_count(PORT_MEM_BWS_N_PINLOC) != 0) begin : gen_mem_bws_n + for (port_i = 0; port_i < PORT_MEM_BWS_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_BWS_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_bws_n[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_BWS_N_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_BWS_N_PINLOC, port_i)])); + end + end else begin : no_mem_bws_n + assign mem_bws_n = '1; + end + + if (`_get_pin_count(PORT_MEM_D_PINLOC) != 0) begin : gen_mem_d + for (port_i = 0; port_i < PORT_MEM_D_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_o # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(l2b_data[`_get_pin_index(PORT_MEM_D_PINLOC, port_i)]), + .oct_termin(oct_termin), + .o(mem_d[port_i]), + .oe(l2b_oe[`_get_pin_index(PORT_MEM_D_PINLOC, port_i)]) + ); + + altera_emif_arch_fm_buf_unused ubuf (.o(b2l_data[`_get_pin_index(PORT_MEM_D_PINLOC, port_i)])); + end + end else begin : no_mem_d + assign mem_d = '0; + end + + if (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0) begin : gen_mem_dq + for (port_i = 0; port_i < PORT_MEM_DQ_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dq[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DQ_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DQ_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DQ_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DQ_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dq + assign mem_dq = '0; + end + + if (`_get_pin_count(PORT_MEM_DBI_N_PINLOC) != 0) begin : gen_mem_dbi_n + for (port_i = 0; port_i < PORT_MEM_DBI_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dbi_n[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DBI_N_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DBI_N_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DBI_N_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DBI_N_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dbi_n + assign mem_dbi_n = '0; + end + + if (`_get_pin_count(PORT_MEM_DQA_PINLOC) != 0) begin : gen_mem_dqa + for (port_i = 0; port_i < PORT_MEM_DQA_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dqa[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DQA_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DQA_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DQA_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DQA_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dqa + assign mem_dqa = '0; + end + + if (`_get_pin_count(PORT_MEM_DQB_PINLOC) != 0) begin : gen_mem_dqb + for (port_i = 0; port_i < PORT_MEM_DQB_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dqb[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DQB_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DQB_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DQB_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DQB_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dqb + assign mem_dqb = '0; + end + + if (`_get_pin_count(PORT_MEM_DINVA_PINLOC) != 0) begin : gen_mem_dinva + for (port_i = 0; port_i < PORT_MEM_DINVA_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dinva[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DINVA_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DINVA_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DINVA_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DINVA_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dinva + assign mem_dinva = '0; + end + + if (`_get_pin_count(PORT_MEM_DINVB_PINLOC) != 0) begin : gen_mem_dinvb + for (port_i = 0; port_i < PORT_MEM_DINVB_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_bdir_se # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dinvb[port_i]), + .ibuf_o(b2l_data[`_get_pin_index(PORT_MEM_DINVB_PINLOC, port_i)]), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DINVB_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DINVB_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DINVB_PINLOC, port_i)]) + ); + end + end else begin : no_mem_dinvb + assign mem_dinvb = '0; + end + + if (`_get_pin_count(PORT_MEM_Q_PINLOC) != 0) begin : gen_mem_q + for (port_i = 0; port_i < PORT_MEM_Q_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_q[port_i]), + .oct_termin(oct_termin), + .o(b2l_data[`_get_pin_index(PORT_MEM_Q_PINLOC, port_i)]) + ); + end + end + + if (`_get_pin_count(PORT_MEM_ALERT_N_PINLOC) != 0) begin : gen_mem_alert_n + for (port_i = 0; port_i < PORT_MEM_ALERT_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT((PROTOCOL_ENUM == "PROTOCOL_DDR4") ? 0 : PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_alert_n[port_i]), + .oct_termin(oct_termin), + .o(b2l_data[`_get_pin_index(PORT_MEM_ALERT_N_PINLOC, port_i)]) + ); + end + end + + if (`_get_pin_count(PORT_MEM_PE_N_PINLOC) != 0) begin : gen_mem_pe_n + for (port_i = 0; port_i < PORT_MEM_PE_N_WIDTH; ++port_i) + begin : inst + altera_emif_arch_fm_buf_udir_se_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_pe_n[port_i]), + .oct_termin(oct_termin), + .o(b2l_data[`_get_pin_index(PORT_MEM_PE_N_PINLOC, port_i)]) + ); + end + end + + if (PHY_CALIBRATED_OCT == 1) begin : gen_rzqin + tennm_io_ibuf ibuf( + .i(oct_rzqin), + .o(oct_rzqin2ter), + .term_in(/*open*/), + .seriesterminationcontrol(), + .parallelterminationcontrol(), + .ibar(), + .dynamicterminationcontrol() + ); + end + + + if (`_get_pin_count(PORT_MEM_DQS_PINLOC) != 0) begin : gen_mem_dqs + for (port_i = 0; port_i < PORT_MEM_DQS_WIDTH; ++port_i) + begin : inst + logic sig; + + altera_emif_arch_fm_buf_bdir_df # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .HPRX_CTLE_EN(HPRX_CTLE_EN), + .HPRX_OFFSET_CAL(HPRX_OFFSET_CAL), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .io(mem_dqs[port_i]), + .iobar(mem_dqs_n[port_i]), + .ibuf_o(sig), + .oct_termin(oct_termin), + .obuf_i(l2b_data[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i)]), + .obuf_ibar(l2b_data[`_get_pin_index(PORT_MEM_DQS_N_PINLOC, port_i)]), + .obuf_oe(l2b_oe[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i)]), + .obuf_oebar(l2b_oe[`_get_pin_index(PORT_MEM_DQS_N_PINLOC, port_i)]), + .obuf_dtc(l2b_dtc[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i)]), + .obuf_dtcbar(l2b_dtc[`_get_pin_index(PORT_MEM_DQS_N_PINLOC, port_i)]) + ); + + if (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4") begin : gen_x4 + if ((`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i) % PINS_PER_LANE) < (PINS_PER_LANE / 2)) begin : a + assign b2t_dqs[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i) / PINS_PER_LANE] = sig; + end else begin : b + assign b2t_dqsb[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i) / PINS_PER_LANE] = sig; + end + end else begin : gen_x8 + assign b2t_dqs[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i) / PINS_PER_LANE] = sig; + altera_emif_arch_fm_buf_unused ub0 (.o(b2t_dqsb[`_get_pin_index(PORT_MEM_DQS_N_PINLOC, port_i) / PINS_PER_LANE])); + end + + assign b2l_data[`_get_pin_index(PORT_MEM_DQS_PINLOC, port_i)] = sig; + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_DQS_N_PINLOC, port_i)])); + end + end else begin : no_mem_dqs + assign {mem_dqs, mem_dqs_n} = '0; + end + + if (`_get_pin_count(PORT_MEM_QK_PINLOC) != 0) begin : gen_mem_qk + for (port_i = 0; port_i < PORT_MEM_QK_WIDTH; ++port_i) + begin : inst + logic sig; + + altera_emif_arch_fm_buf_udir_df_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_qk[port_i]), + .ibar(mem_qk_n[port_i]), + .oct_termin(oct_termin), + .o(sig) + ); + + assign b2t_dqs[`_get_pin_index(PORT_MEM_QK_PINLOC, port_i) / PINS_PER_LANE] = sig; + assign b2l_data[`_get_pin_index(PORT_MEM_QK_PINLOC, port_i)] = sig; + + altera_emif_arch_fm_buf_unused ub0 (.o(b2t_dqsb[`_get_pin_index(PORT_MEM_QK_N_PINLOC, port_i) / PINS_PER_LANE])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_QK_N_PINLOC, port_i)])); + end + end + + if (`_get_pin_count(PORT_MEM_QKA_PINLOC) != 0) begin : gen_mem_qka + for (port_i = 0; port_i < PORT_MEM_QKA_WIDTH; ++port_i) + begin : inst + logic sig; + + altera_emif_arch_fm_buf_udir_df_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_qka[port_i]), + .ibar(mem_qka_n[port_i]), + .oct_termin(oct_termin), + .o(sig) + ); + + assign b2t_dqs[`_get_pin_index(PORT_MEM_QKA_PINLOC, port_i) / PINS_PER_LANE] = sig; + assign b2l_data[`_get_pin_index(PORT_MEM_QKA_PINLOC, port_i)] = sig; + + altera_emif_arch_fm_buf_unused ub0 (.o(b2t_dqsb[`_get_pin_index(PORT_MEM_QKA_N_PINLOC, port_i) / PINS_PER_LANE])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_QKA_N_PINLOC, port_i)])); + end + end + + if (`_get_pin_count(PORT_MEM_QKB_PINLOC) != 0) begin : gen_mem_qkb + for (port_i = 0; port_i < PORT_MEM_QKB_WIDTH; ++port_i) + begin : inst + logic sig; + + altera_emif_arch_fm_buf_udir_df_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_qkb_n[port_i]), + .ibar(mem_qkb[port_i]), + .oct_termin(oct_termin), + .o(sig) + ); + + assign b2t_dqs[`_get_pin_index(PORT_MEM_QKB_PINLOC, port_i) / PINS_PER_LANE] = sig; + assign b2l_data[`_get_pin_index(PORT_MEM_QKB_PINLOC, port_i)] = sig; + + altera_emif_arch_fm_buf_unused ub0 (.o(b2t_dqsb[`_get_pin_index(PORT_MEM_QKB_N_PINLOC, port_i) / PINS_PER_LANE])); + altera_emif_arch_fm_buf_unused ub1 (.o(b2l_data[`_get_pin_index(PORT_MEM_QKB_N_PINLOC, port_i)])); + end + end + + if (`_get_pin_count(PORT_MEM_CQ_PINLOC) != 0) begin : gen_mem_cq + for (port_i = 0; port_i < PORT_MEM_CQ_WIDTH; ++port_i) + begin : inst + logic sig_p; + logic sig_n; + + altera_emif_arch_fm_buf_udir_cp_i # ( + .OCT_CONTROL_WIDTH(OCT_CONTROL_WIDTH), + .CALIBRATED_OCT(PHY_DATA_CALIBRATED_OCT) + ) b ( + .i(mem_cq[port_i]), + .ibar(mem_cq_n[port_i]), + .oct_termin(oct_termin), + .o(sig_p), + .obar(sig_n) + ); + + assign b2t_dqs[`_get_pin_index(PORT_MEM_CQ_PINLOC, port_i) / PINS_PER_LANE] = sig_p; + assign b2t_dqsb[`_get_pin_index(PORT_MEM_CQ_N_PINLOC, port_i) / PINS_PER_LANE] = sig_n; + + assign b2l_data[`_get_pin_index(PORT_MEM_CQ_PINLOC, port_i)] = sig_p; + assign b2l_data[`_get_pin_index(PORT_MEM_CQ_N_PINLOC, port_i)] = sig_n; + end + end + endgenerate +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3P/V/ksQ1NvMZ8DoAgDBoSWkaCKzF+3NC5CldVhK4x1C9Cj91JjpW5k3SFrFtP3B5QM3leEAFr7oJ4Tsoy8OURvKdW5eXC/9FsmeI75gZquuuxG+oK+wsk5puPVqlFAdwL/lQs2Kh1Et/ylUSc0yvtDZknRe0k5yC8Vt3i/Y4rK//WPoRCntkL1v9rhqa/fIstBoWrZZLiFx2UlTLxIXGfjEijxFooPYO5JV+GwoksCCT9VbVC9INF2AYVzGc434zbcw8vDflX7UKDiu7oRYtuq1ziAeHvLZbXIc5Rc0NthlZDPtr0qR+6naQnWoAmWIX/yBfY4Gqckv5+QtTLGeT5AZgo02tFEyvq1MwVxML6A02aZH5h94aPj3CqWerpuHOUXYvF9ekyA/PypcKFd6A/ahslf+fjsFZ6V4S6m3zZdEi6DSEKX5pGI5+wjQFwWxJtkEq+tNCwcSu5P3KMfPDg0Qmmb9oLMhU9Nksyfm4uWNM0JjIuPUnb34fX7mDAc2VM4Ri1eGuv4KCvYQue7Scd8HI+8PzW5utz5tBk7j6KNA9K6+URiS4vNxquxRvxecpcsrsJIL1R3TtCVhOVl8oAg9UtOiORtEtK2FehgLVesH17ruoiwSx2qE+CDf1Tea95iT1Za+18aKI6RhqAExFCTg5DK4YAS4vHPAdi6C/7dgxsxPzT58Db87fcVde49aNZtULF2K3qgGu6uttLLXZs+59PiKKCGC6DSUsmizfnPMdX5pi4cG0E6riE/E6J4sW3TctEmP3KmjCYLqSet75q" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_cal_counter.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_cal_counter.sv new file mode 100644 index 0000000000..17ef6ada3e --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_cal_counter.sv @@ -0,0 +1,126 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +module altera_emif_arch_fm_cal_counter # ( + parameter IS_HPS = 0 +) ( + input logic pll_ref_clk_int, + input logic local_reset_req_int, + input logic afi_cal_in_progress +); + timeunit 1ps; + timeprecision 1ps; + + typedef enum { + INIT, + IDLE, + COUNT_CAL, + STOP + } counter_state_t; + + logic done; + logic [31:0] clk_counter; + + generate + if (IS_HPS == 0) begin : non_hps + logic cal_done; + logic reset_req_sync; + logic cal_in_progress_sync; + + altera_std_synchronizer_nocut + inst_sync_reset_n ( + .clk (pll_ref_clk_int), + .reset_n (1'b1), + .din (local_reset_req_int), + .dout (reset_req_sync) + ); + + altera_std_synchronizer_nocut + inst_sync_cal_in_progress ( + .clk (pll_ref_clk_int), + .reset_n (1'b1), + .din (afi_cal_in_progress), + .dout (cal_in_progress_sync) + ); + + counter_state_t counter_state /* synthesis ignore_power_up */; + + assign done = ((counter_state == STOP) ? 1'b1 : 1'b0); + + always_ff @(posedge pll_ref_clk_int) begin + if(reset_req_sync == 1'b1) begin + counter_state <= INIT; + end + else begin + case(counter_state) + INIT: + begin + clk_counter <= 32'h0; + counter_state <= IDLE; + end + + IDLE: + begin + if (cal_in_progress_sync == 1'b1) + begin + counter_state <= COUNT_CAL; + end + end + + COUNT_CAL: + begin + clk_counter[31:0] <= clk_counter[31:0] + 32'h0000_0001; + + if (cal_in_progress_sync == 1'b0) + begin + counter_state <= STOP; + end + end + + STOP: + begin + counter_state <= STOP; + end + + default: + begin + counter_state <= INIT; + end + endcase + end + end + end else begin : hps + assign done = 1'b1; + assign clk_counter = '0; + end + endgenerate + +`ifdef ALTERA_EMIF_ENABLE_ISSP + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("CALC"), + .probe_width (33), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) cal_counter_issp ( + .probe ({done, clk_counter[31:0]}) + ); +`endif + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3ajnRlCoTycdS5rLOAtZ6M6huxrgTizglD8CjFQHox2DR3mB7yrrtaKHIjqDW2jh+v84NRIUDYBdKhTW51/7O2DZsh64KUeoDc53EsrQLtn2yLnMIoCa9vcO9HjOLLTJBkJZAwMWlCwM6ei3SJGHwjp1fMp8oGysL/awCnW1Mpi+mWbH4Mr/HvaRj5xN29UVZCCwSlV4hyIdsy3K7ag/iO6ljXQEHSyRPjq0ofMN2NFNLDRFKZT4eE+3k+5pKTbSmSRZGgpAUnbw6sWJ2Fa3NpXHdRnvr4uq9ylg4Pz0RJ5+C7yu4kJBrQm2Vt8h5rmMVGp9cGn9Ub17Odi9OZLJfyAB5u+SkBp6JPOSO/KZrARP1hkWsUPqGyu7WX0YGkVGDOX34vNFFyd5E0wZCI9gkCLYieq7t5SzhXbvIKKALvlMcOxpWDPv48I7Q50qRl7LbKmM5C+Bopp4TT/UDW/3woKHg3EK9QbeqUBaAzlqPHo6r8Fbd3cgLXBuYytFja6jlPohYMJUNR1xilbJZOCE1Mj+IqYKX5UpSAZtKSsgDvsTYihdrKVj74NEExrgYleQ4t+Q2zOb7YSGRC3CML0xFA9H6wuCB+R6s1uAt83gYKVBIDcRJ6ZeAtygjgh9DDa9XrYejBayHUmqn6IB0dpltElm/nD+x7XRI6JFKetcLKOgMTxykFiWFDCLY20NopPEdPKj8cL+kGrEQAGk8JvHDraqlwCerSMeTnmOy595DvdgK3hJS221B/oP9xAPlBTBfsl9pQsmaPhhdzUD1t4FYI" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_core_clks_rsts.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_core_clks_rsts.sv new file mode 100644 index 0000000000..2c2bf8f2b0 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_core_clks_rsts.sv @@ -0,0 +1,631 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// This module handles the creation and wiring of the core clock/reset signals. +// +/////////////////////////////////////////////////////////////////////////////// + +// altera message_off 10036 + + module altera_emif_arch_fm_core_clks_rsts #( + parameter PHY_CONFIG_ENUM = "", + parameter PHY_CORE_CLKS_SHARING_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter C2P_P2C_CLK_RATIO = 1, + parameter USER_CLK_RATIO = 1, + parameter PORT_CLKS_SHARING_MASTER_OUT_WIDTH = 32, + parameter PORT_CLKS_SHARING_SLAVE_IN_WIDTH = 32, + parameter DIAG_CPA_OUT_1_EN = 0, + parameter DIAG_USE_CPA_LOCK = 1, + parameter DIAG_SYNTH_FOR_SIM = 1, + parameter PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH = 1, + parameter PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH = 1 +) ( + // For a master interface, the PLL ref clock and the global reset signal + // come from an external source from user logic, via the following ports. + // For slave interfaces, they come from the master via the sharing interface. + // The connectivity ensures that all interfaces in a master/slave + // configuration share the same ref clock and global reset, which is + // one of the requirements for core-clock sharing. + // pll_ref_clk_int is the actual PLL ref clock signal that will be used by the + // reset of the IP. For a master interface it is equivalent to pll_ref_clk. + // For a slave interface it is equivalent to the pll_ref_clk signal of the master. + input logic pll_ref_clk, + output logic pll_ref_clk_int, + + // For a master interface, core clocks come from the clock phase alignment + // block of the current interface, via the following ports. Note that the + // CPA block also expects feedback signals after the clock signals have + // propagated through core clock networks. + // For slave interfaces, the core clock signals come from the master + // via the sharing interface. + input logic [1:0] core_clks_from_cpa_pri, + input logic [1:0] core_clks_locked_cpa_pri, + output logic [1:0] core_clks_fb_to_cpa_pri, + + input logic [1:0] core_clks_from_cpa_sec, + input logic [1:0] core_clks_locked_cpa_sec, + output logic [1:0] core_clks_fb_to_cpa_sec, + + // Async reset_n signal from sequencer to force core clock domain to be in reset. + // This is needed by local_reset_req as well as by DCD calibration (which can + // destabilize the CPA output clocks. + input logic seq2core_reset_n, + + // PLL lock signal + input logic pll_locked, + + // PLL c-counters + input logic [8:0] pll_c_counters, + + // Reset request signal. + // local_reset_req_int is the actual reset request signal that will be + // used internally by the rest of the IP. For a master interface it + // is equivalent to local_reset_req. For a slave interface it is + // equivalent to the local_reset_req signal of the master. + input logic local_reset_req, + output logic local_reset_req_int, + + // The following is the master/slave sharing interfaces. + input logic [PORT_CLKS_SHARING_SLAVE_IN_WIDTH-1:0] clks_sharing_slave_in, + output logic [PORT_CLKS_SHARING_MASTER_OUT_WIDTH-1:0] clks_sharing_master_out, + + // The following are all the possible core clock/reset signals. + // afi_* only exists in PHY-only mode (or if soft controller is used). + // emif_usr_* only exists if hard memory controller is used. + output logic afi_clk, + output logic afi_half_clk, + output logic afi_reset_n, + + output logic emif_usr_clk, + output logic emif_usr_half_clk, + output logic emif_usr_reset_n, + + output logic emif_usr_clk_sec, + output logic emif_usr_half_clk_sec, + output logic emif_usr_reset_n_sec, + + // DFT + output logic [PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH-1:0] dft_core_clk_buf_out, + output logic [PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH-1:0] dft_core_clk_locked +); + timeunit 1ns; + timeprecision 1ps; + + // This is the length of the core reset synchronizer chain. At a high-level, + // we de-assert reset whenever the core clock is stable (as indicated by signals such + // as CPA lock and DCC stable). + // The chain actually has two purposes: reset synchronization (which typically requires + // no more than 3 FFs for reasonable MTBF), and delaying reset deassertion enough to + // satisfy the following two requirements: + // 1) It is set higher than the length of the reset chain + // in the periphery (5+), to avoid the core from getting out of reset + // earlier than the hard PHY/sequencer/controller. + // This is for extra safety, but isn't strictly necessary, because + // soft logic must either wait for the hard controller's assertion of + // the ready signal, or, if the hard controller is bypassed, + // for the sequencer to assert the afi_cal_success, prior to accessing + // the hard circuitries. + // 2) It is set high enough for the reset state to propagate to all Hyper-register + // stages in the IP. Since Hyper-registers can't be reset asynchronously, + // they are carefully designed such that they'll naturally reach the reset + // state with enough number of clock cycles, prior to system reset + // deassertion occurs. For this purpose we reserve 16 FFs. + // 3) The async reset to the reset synchronizer has MCP setup=7, hold=6 to + // relax timing. This means the async reset arrival time has a max variance + // of 7 cycles, which means the output of synchronizer FF 0..6 can all be + // metastable. For this purpose we reserve 7 FFs + localparam CPA_RESET_SYNC_LENGTH = 27; + + // Reset synchronizer chain length for PLL-based core clocks + // The async reset to the reset synchronizer has MCP setup=7, hold=6 to + // relax timing. This means the async reset arrival time has a max variance + // of 7 cycles, which means the output of synchronizer FF 0..6 can all be + // metastable. For safety set sychronzier length to be 7+3=10. + localparam PLL_RESET_SYNC_LENGTH = 10; + + // Data synchronizer chain length for local_reset_req + localparam LOCAL_RESET_REQ_SYNC_LENGTH = 3; + + ///////////////////////////////////////////////////////////// + // Get signals to/from the master/slave sharing interface. + logic local_reset_req_sync; + logic pll_locked_int; + logic seq2core_reset_n_int; + logic counter_lock; + logic cpa_lock_pri; + logic cpa_lock_sec; + logic async_reset_n_pri; + logic async_reset_n_sec; + logic issp_reset_n; + +`ifdef ALTERA_EMIF_ENABLE_ISSP + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("TGR"), + .probe_width (0), + .source_width (1), + .source_initial_value ("1"), + .enable_metastability ("NO") + ) core_reset_n_issp ( + .source (issp_reset_n) + ); +`else + assign issp_reset_n = 1'b1; +`endif + + assign async_reset_n_pri = (DIAG_USE_CPA_LOCK ? cpa_lock_pri : counter_lock) & seq2core_reset_n_int & issp_reset_n; + assign async_reset_n_sec = (DIAG_USE_CPA_LOCK ? cpa_lock_sec : counter_lock) & seq2core_reset_n_int & issp_reset_n; + + logic pll_ref_clk_slave_in; + logic pll_locked_slave_in; + logic cpa_lock_pri_slave_in; + logic cpa_lock_sec_slave_in; + logic local_reset_req_slave_in; + logic seq2core_reset_n_slave_in; + logic afi_clk_slave_in; + logic afi_half_clk_slave_in; + logic afi_reset_n_pre_reg_slave_in; + logic afi_reset_n_pre_reg; + logic counter_lock_slave_in; + logic emif_usr_clk_slave_in; + logic emif_usr_half_clk_slave_in; + logic emif_usr_reset_n_pri_pre_reg_slave_in; + logic emif_usr_reset_n_pri_pre_reg; + logic emif_usr_clk_sec_slave_in; + logic emif_usr_half_clk_sec_slave_in; + logic emif_usr_reset_n_sec_pre_reg_slave_in; + logic emif_usr_reset_n_sec_pre_reg; + + + ///////////////////////////////////////////////////////////// + // Generate connectivity for PLL ref clk and reset. + generate + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : slave + assign pll_ref_clk_int = pll_ref_clk_slave_in; + assign pll_locked_int = pll_locked_slave_in; + assign local_reset_req_int = local_reset_req_slave_in; + assign seq2core_reset_n_int = seq2core_reset_n_slave_in; + + assign pll_ref_clk_slave_in = clks_sharing_slave_in[0]; + assign pll_locked_slave_in = clks_sharing_slave_in[1]; + assign seq2core_reset_n_slave_in = clks_sharing_slave_in[2]; + assign local_reset_req_slave_in = clks_sharing_slave_in[3]; + assign cpa_lock_pri_slave_in = clks_sharing_slave_in[4]; + assign cpa_lock_sec_slave_in = clks_sharing_slave_in[5]; + assign counter_lock_slave_in = clks_sharing_slave_in[6]; + assign afi_clk_slave_in = clks_sharing_slave_in[7]; + assign afi_half_clk_slave_in = clks_sharing_slave_in[8]; + assign afi_reset_n_pre_reg_slave_in = clks_sharing_slave_in[9]; + assign emif_usr_clk_slave_in = clks_sharing_slave_in[10]; + assign emif_usr_half_clk_slave_in = clks_sharing_slave_in[11]; + assign emif_usr_reset_n_pri_pre_reg_slave_in = clks_sharing_slave_in[12]; + assign emif_usr_clk_sec_slave_in = clks_sharing_slave_in[13]; + assign emif_usr_half_clk_sec_slave_in = clks_sharing_slave_in[14]; + assign emif_usr_reset_n_sec_pre_reg_slave_in = clks_sharing_slave_in[15]; + + assign clks_sharing_master_out = '0; + end else + begin : master + +`ifdef ALTERA_EMIF_ENABLE_ISSP + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("PALP"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) cpa_lock_pri_issp ( + .probe (cpa_lock_pri) + ); + + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("PALS"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) cpa_lock_sec_issp ( + .probe (cpa_lock_sec) + ); +`endif + + assign local_reset_req_int = local_reset_req_sync; + assign pll_ref_clk_int = pll_ref_clk; + assign pll_locked_int = pll_locked; + assign seq2core_reset_n_int = seq2core_reset_n; + + assign clks_sharing_master_out[0] = pll_ref_clk_int; + assign clks_sharing_master_out[1] = pll_locked_int; + assign clks_sharing_master_out[2] = seq2core_reset_n_int; + assign clks_sharing_master_out[3] = local_reset_req_int; + assign clks_sharing_master_out[4] = cpa_lock_pri; + assign clks_sharing_master_out[5] = cpa_lock_sec; + assign clks_sharing_master_out[6] = counter_lock; + assign clks_sharing_master_out[7] = afi_clk; + assign clks_sharing_master_out[8] = afi_half_clk; + assign clks_sharing_master_out[9] = afi_reset_n_pre_reg; + assign clks_sharing_master_out[10] = emif_usr_clk; + assign clks_sharing_master_out[11] = emif_usr_half_clk; + assign clks_sharing_master_out[12] = emif_usr_reset_n_pri_pre_reg; + assign clks_sharing_master_out[13] = emif_usr_clk_sec; + assign clks_sharing_master_out[14] = emif_usr_half_clk_sec; + assign clks_sharing_master_out[15] = emif_usr_reset_n_sec_pre_reg; + + assign clks_sharing_master_out[PORT_CLKS_SHARING_MASTER_OUT_WIDTH-1:16] = '0; + end + endgenerate + + ///////////////////////////////////////////////////////////// + // Generate core clock lock signal if CPA lock isn't used + generate + if (DIAG_USE_CPA_LOCK) + begin : use_cpa_lock + assign counter_lock = 1'b0; + end + else + begin : use_counter_lock + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : counter_lock_gen_slave + assign counter_lock = counter_lock_slave_in; + end else + begin : counter_lock_gen_master + + // Synchronize PLL lock signal to PLL ref clock domain. + // This may not be necessary but we do it for extra safety. + logic pll_ref_clk_reset_n; + logic pll_ref_clk_reset_n_sync_r; + logic pll_ref_clk_reset_n_sync_rr; + logic pll_ref_clk_reset_n_sync_rrr; + + assign pll_ref_clk_reset_n = pll_ref_clk_reset_n_sync_rrr; + + always_ff @(posedge pll_ref_clk_int or negedge pll_locked_int) begin + if (~pll_locked_int) begin + pll_ref_clk_reset_n_sync_r <= 1'b0; + pll_ref_clk_reset_n_sync_rr <= 1'b0; + pll_ref_clk_reset_n_sync_rrr <= 1'b0; + end else begin + pll_ref_clk_reset_n_sync_r <= 1'b1; + pll_ref_clk_reset_n_sync_rr <= pll_ref_clk_reset_n_sync_r; + pll_ref_clk_reset_n_sync_rrr <= pll_ref_clk_reset_n_sync_rr; + end + end + + // CPA takes ~50k core clock cycles to lock. Obviously we can't use a potentially + // unstable core clock to clock the counter. We need to use the ref clock instead. + // The fastest legal ref clock can run at the same rate as core clock, so we simply + // count 64k PLL ref clock cycles. + logic [16:0] cpa_count_to_lock; + + // The following is evaluated for simulation. Don't wait too long during simulation. + // synthesis translate_off + `define USE_SIM_COUNTER_LOCK_EXP TRUE + // synthesis translate_on + + `ifdef USE_SIM_COUNTER_LOCK_EXP + localparam COUNTER_LOCK_EXP = 9; + `else + localparam COUNTER_LOCK_EXP = DIAG_SYNTH_FOR_SIM ? 9 : 16; + `endif + + always_ff @(posedge pll_ref_clk_int or negedge pll_ref_clk_reset_n) begin + if (~pll_ref_clk_reset_n) begin + cpa_count_to_lock <= '0; + counter_lock <= 1'b0; + end else begin + if (~cpa_count_to_lock[COUNTER_LOCK_EXP]) begin + cpa_count_to_lock <= cpa_count_to_lock + 1'b1; + end + counter_lock <= cpa_count_to_lock[COUNTER_LOCK_EXP]; + end + end + end + end + endgenerate + + ///////////////////////////////////////////////////////////// + // Generate CPA-based core clock signals + logic [1:0] core_clks_from_cpa_pri_buffered; + logic [1:0] core_clks_from_cpa_sec_buffered; + + ///////////////////////////////////////////////////////////// + // Assign signals for DFT + assign dft_core_clk_locked = DIAG_USE_CPA_LOCK ? core_clks_locked_cpa_pri : {2{counter_lock}}; + assign dft_core_clk_buf_out = core_clks_from_cpa_pri_buffered; + + generate + if (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") + begin : clk_gen_hmc + + // If HMC is used, there's no AFI clock + assign afi_half_clk = 1'b0; + assign afi_clk = 1'b0; + + if (USER_CLK_RATIO == 2 && C2P_P2C_CLK_RATIO == 4) + begin : bridge_2x + // For 2x-bridge mode, expose two core clocks: + // 0) A half-rate clock (i.e. emif_usr_clk) + // 1) A quarter-rate clock (i.e. emif_usr_half_clk) + + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : clk_gen_slave + assign core_clks_from_cpa_pri_buffered = {emif_usr_half_clk_slave_in, emif_usr_clk_slave_in}; + assign core_clks_from_cpa_sec_buffered = {emif_usr_half_clk_sec_slave_in, emif_usr_clk_sec_slave_in}; + assign core_clks_fb_to_cpa_pri = '0; + assign core_clks_fb_to_cpa_sec = '0; + assign cpa_lock_pri = cpa_lock_pri_slave_in; + assign cpa_lock_sec = cpa_lock_sec_slave_in; + end else + begin : clk_gen_master + + // Fitter can automatically insert clock buffers as needed + assign core_clks_from_cpa_pri_buffered[0] = core_clks_from_cpa_pri[0]; + assign core_clks_from_cpa_pri_buffered[1] = core_clks_from_cpa_pri[1]; + + assign cpa_lock_pri = core_clks_locked_cpa_pri[0]; + assign core_clks_fb_to_cpa_pri = core_clks_from_cpa_pri_buffered; + if (PHY_PING_PONG_EN) begin : gen_sec_clk + // Fitter can automatically insert clock buffers as needed + assign core_clks_from_cpa_sec_buffered[0] = core_clks_from_cpa_sec[0]; + assign core_clks_from_cpa_sec_buffered[1] = core_clks_from_cpa_sec[1]; + + assign cpa_lock_sec = core_clks_locked_cpa_sec[0] & core_clks_locked_cpa_sec[1]; + assign core_clks_fb_to_cpa_sec = core_clks_from_cpa_sec_buffered; + + end else begin : non_pp + assign cpa_lock_sec = 1'b0; + assign core_clks_fb_to_cpa_sec = '0; + assign core_clks_from_cpa_sec_buffered = '0; + end + end + + assign emif_usr_clk = core_clks_from_cpa_pri_buffered[0]; + assign emif_usr_half_clk = core_clks_from_cpa_pri_buffered[1]; + assign emif_usr_clk_sec = core_clks_from_cpa_sec_buffered[0]; + assign emif_usr_half_clk_sec = core_clks_from_cpa_sec_buffered[1]; + + end else + begin : hr_qr + + // For half/quarter-rate, expose one core clock (i.e. emif_usr_clk) + // running at the user-requested rate + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : clk_gen_slave + assign core_clks_from_cpa_pri_buffered = {emif_usr_half_clk_slave_in, emif_usr_clk_slave_in}; + assign core_clks_from_cpa_sec_buffered = {emif_usr_half_clk_sec_slave_in, emif_usr_clk_sec_slave_in}; + assign core_clks_fb_to_cpa_pri = '0; + assign core_clks_fb_to_cpa_sec = '0; + assign cpa_lock_pri = cpa_lock_pri_slave_in; + assign cpa_lock_sec = cpa_lock_sec_slave_in; + end else + begin : clk_gen_master + + // Fitter can automatically insert clock buffers as needed + assign core_clks_from_cpa_pri_buffered[0] = core_clks_from_cpa_pri[0]; + + if (DIAG_CPA_OUT_1_EN) + begin : force_cpa_out_1_en + assign core_clks_from_cpa_pri_buffered[1] = core_clks_from_cpa_pri[1]; + assign cpa_lock_pri = core_clks_locked_cpa_pri[0] & core_clks_locked_cpa_pri[1]; + + end else begin : normal + assign core_clks_from_cpa_pri_buffered[1] = core_clks_from_cpa_pri_buffered[0]; + assign cpa_lock_pri = core_clks_locked_cpa_pri[0]; + end + + assign core_clks_fb_to_cpa_pri = core_clks_from_cpa_pri_buffered; + + if (PHY_PING_PONG_EN) begin : gen_sec_clk + // Fitter can automatically insert clock buffers as needed + assign core_clks_from_cpa_sec_buffered[0] = core_clks_from_cpa_sec[0]; + + assign cpa_lock_sec = core_clks_locked_cpa_sec[0]; + assign core_clks_fb_to_cpa_sec = core_clks_from_cpa_sec_buffered; + assign core_clks_from_cpa_sec_buffered[1] = core_clks_from_cpa_sec_buffered[0]; + + end else begin : non_pp + assign cpa_lock_sec = 1'b0; + assign core_clks_fb_to_cpa_sec = '0; + assign core_clks_from_cpa_sec_buffered = '0; + end + end + + assign emif_usr_clk = core_clks_from_cpa_pri_buffered[0]; + assign emif_usr_half_clk = core_clks_from_cpa_pri_buffered[1]; + assign emif_usr_clk_sec = core_clks_from_cpa_sec_buffered[0]; + assign emif_usr_half_clk_sec = core_clks_from_cpa_sec_buffered[1]; + + end + end else + begin : clk_gen_non_hmc + + // If HMC isn't used, there's no emif_usr_* clocks + assign emif_usr_clk = 1'b0; + assign emif_usr_half_clk = 1'b0; + assign emif_usr_clk_sec = 1'b0; + assign emif_usr_half_clk_sec = 1'b0; + + // Always expose both afi_clk and afi_half_clk + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : clk_gen_slave + assign core_clks_from_cpa_pri_buffered = {afi_clk_slave_in, afi_half_clk_slave_in}; + assign core_clks_from_cpa_sec_buffered = '0; + assign core_clks_fb_to_cpa_pri = '0; + assign core_clks_fb_to_cpa_sec = '0; + assign cpa_lock_pri = cpa_lock_pri_slave_in; + assign cpa_lock_sec = cpa_lock_sec_slave_in; + end else + begin : clk_gen_master + // Fitter can automatically insert clock buffers as needed + assign core_clks_from_cpa_pri_buffered[0] = core_clks_from_cpa_pri[0]; + assign core_clks_from_cpa_pri_buffered[1] = core_clks_from_cpa_pri[1]; + + assign core_clks_fb_to_cpa_pri = core_clks_from_cpa_pri_buffered; + assign core_clks_fb_to_cpa_sec = '0; + assign cpa_lock_pri = core_clks_locked_cpa_pri[0]; + assign cpa_lock_sec = 1'b0; + end + + assign afi_clk = core_clks_from_cpa_pri_buffered[0]; + assign afi_half_clk = 1'b0; + end + endgenerate + + ///////////////////////////////////////////////////////////// + // Generate core reset signals for CPA-based core clocks + logic sync_clk_pri; + logic sync_clk_sec; + logic reset_sync_pri_pre_reg; + logic reset_sync_sec_pre_reg; + + // Every interface flops the synchronized reset signal locally. + // We do this so every interface has an anchor point that our SDC can use + // as starting point to traverse the clock topology. + // The flop is marked to prevent from being optimized away. + (* altera_attribute = {"-name GLOBAL_SIGNAL ON"}*) logic reset_sync_pri_sdc_anchor /* synthesis dont_merge syn_noprune syn_preserve = 1 */; + always_ff @(posedge sync_clk_pri or negedge async_reset_n_pri) begin + if (~async_reset_n_pri) begin + reset_sync_pri_sdc_anchor <= '0; + end else begin + reset_sync_pri_sdc_anchor <= reset_sync_pri_pre_reg; + end + end + + logic reset_sync_sec_sdc_anchor_ext; + generate + if (PHY_PING_PONG_EN) begin : pp + (* altera_attribute = {"-name GLOBAL_SIGNAL ON"}*) logic reset_sync_sec_sdc_anchor /* synthesis dont_merge syn_noprune syn_preserve = 1 */; + always_ff @(posedge sync_clk_sec or negedge async_reset_n_sec) begin + if (~async_reset_n_sec) begin + reset_sync_sec_sdc_anchor <= '0; + end else begin + reset_sync_sec_sdc_anchor <= reset_sync_sec_pre_reg; + end + end + assign reset_sync_sec_sdc_anchor_ext = reset_sync_sec_sdc_anchor; + end else begin : no_pp + assign reset_sync_sec_sdc_anchor_ext = 1'b0; + end + endgenerate + + generate + if (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") + begin : reset_gen_hmc + assign sync_clk_pri = emif_usr_clk; + assign sync_clk_sec = emif_usr_clk_sec; + assign emif_usr_reset_n_pri_pre_reg = reset_sync_pri_pre_reg; + assign emif_usr_reset_n_sec_pre_reg = reset_sync_sec_pre_reg; + assign emif_usr_reset_n = reset_sync_pri_sdc_anchor; + assign emif_usr_reset_n_sec = reset_sync_sec_sdc_anchor_ext; + assign afi_reset_n_pre_reg = 1'b0; + assign afi_reset_n = 1'b0; + end else + begin: reset_gen_non_hmc + assign sync_clk_pri = afi_clk; + assign sync_clk_sec = 1'b0; + assign afi_reset_n_pre_reg = reset_sync_pri_pre_reg; + assign afi_reset_n = reset_sync_pri_sdc_anchor; + assign emif_usr_reset_n_pri_pre_reg = 1'b0; + assign emif_usr_reset_n = 1'b0; + assign emif_usr_reset_n_sec_pre_reg = 1'b0; + assign emif_usr_reset_n_sec = 1'b0; + end + + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : reset_gen_slave + // The master exposes a synchronized reset signal for the slaves + if (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") begin + assign reset_sync_pri_pre_reg = emif_usr_reset_n_pri_pre_reg_slave_in; + assign reset_sync_sec_pre_reg = emif_usr_reset_n_sec_pre_reg_slave_in; + end else begin + assign reset_sync_pri_pre_reg = afi_reset_n_pre_reg_slave_in; + assign reset_sync_sec_pre_reg = 1'b0; + end + end else + begin : reset_gen_master + + // Synchronize reset deassertion to core clock + logic [CPA_RESET_SYNC_LENGTH-1:0] reset_sync_pri; + always_ff @(posedge sync_clk_pri or negedge async_reset_n_pri) begin + if (~async_reset_n_pri) begin + reset_sync_pri <= '0; + end else begin + reset_sync_pri[0] <= 1'b1; + reset_sync_pri[CPA_RESET_SYNC_LENGTH-1:1] <= reset_sync_pri[CPA_RESET_SYNC_LENGTH-2:0]; + end + end + assign reset_sync_pri_pre_reg = reset_sync_pri[CPA_RESET_SYNC_LENGTH-1]; + + if (PHY_PING_PONG_EN) begin : gen_sec_rst_sync + logic [CPA_RESET_SYNC_LENGTH-1:0] reset_sync_sec; + always_ff @(posedge sync_clk_sec or negedge async_reset_n_sec) begin + if (~async_reset_n_sec) begin + reset_sync_sec <= '0; + end else begin + reset_sync_sec[0] <= 1'b1; + reset_sync_sec[CPA_RESET_SYNC_LENGTH-1:1] <= reset_sync_sec[CPA_RESET_SYNC_LENGTH-2:0]; + end + end + assign reset_sync_sec_pre_reg = reset_sync_sec[CPA_RESET_SYNC_LENGTH-1]; + end else begin : no_pp + assign reset_sync_sec_pre_reg = 1'b0; + end + end + endgenerate + + /////////////////////////////////////////////////////////////////// + // Synchronize local_reset_req to core clock domain. This gives + // users freedom to use an asynchonrous source for local_reset_req, + // but with the extra requirement that the request pulse must be + // at least 2 core clock cycles long. + // Instantiate synchronizer at the master only and use the output + // of the synchronizer to drive all slaves, to make sure that + // the request gets to the sequencer at the exact same cycle for + // all masters and slaves. + generate + if (PHY_CORE_CLKS_SHARING_ENUM == "CORE_CLKS_SHARING_SLAVE") + begin : local_reset_req_sync_gen_slave + assign local_reset_req_sync = 1'b0; + end else + begin : local_reset_req_sync_gen_master + logic sync_clk; + logic sync_reset_n; + + assign sync_clk = (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") ? emif_usr_clk : afi_clk; + assign sync_reset_n = (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") ? emif_usr_reset_n : afi_reset_n; + + altera_std_synchronizer_nocut # ( + .depth (LOCAL_RESET_REQ_SYNC_LENGTH), + .rst_value (0) + ) local_reset_req_sync_inst ( + .clk (sync_clk), + .reset_n (sync_reset_n), + .din (local_reset_req), + .dout (local_reset_req_sync) + ); + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2gdRxeoq7YMd09J0Ox2d/MTEgLDbJ+E/3atnQdXbskMZMHQcqp+8mGKfqevapAP2IgQ+qIFxbK+YkgPvlocVbVuyZ9pe7XFS2l3zfsGznlSFOtxGDinGuQdWWREYMp7BJewXAOBa/csqcSb5Huo94qc0TuDmAaen0VgIPgnK7peyZnMWQVDb9uJYGkbg0nL6alMBr8S7yzVX7NlwvesdKqpXEsOh2zar4CTw1MEpW2UYbjJpQgNeFwrfBcvllGXlYSSCfUWbeXDc2MEuBYpW7cGljz+93O3fX5k9I4R6kM4BNrbAFl9GjyFYTEE6A5IKkUAWFAjEwa8vCMtuv//BKWyd4CZU5SDopV2XE9w1VFHcaAETfktskD0f4X7ARtdZUo8T+rtSFwTd0ePlpcJx88dq9knVDD0vs4Gh4+mQ+o2iy2B0v00/6ua9HYCoOgvvtjxBS2ZZeI75GOWRWA1fjjMWSk9QGi07g/qYZf3ouCaXt4br+GDf+b0hoVxkZbSBKSQv+l2z5R5hSEQwTKE4wdfVZ155ttLjSuWFObZGReDJWHfimwOH//LX8eGWlPcQZ8w7WtK1sQ8Rqc3uem43Lo5y/Q3CdGV2gx+i+lfIMfFa9/ruhzY9E4RjphYQqNkyqVPWiKc4CeOmGai0KnvtTKHZ1okAOVXov8P++VzhXrcaaMz+kiCDtylPGkm7AaX+TZWnVGIqqEYjDNXKO+8gcRHZOGM9cyCgAdmFCGG0wcIEyQiGm/tilN3Idf0WbyqMc14ZqNed/uW6gUOl5+jGAT" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_amm_data_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_amm_data_if.sv new file mode 100644 index 0000000000..34cfa3c3ea --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_amm_data_if.sv @@ -0,0 +1,248 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the data interfaces through which +// soft logic interacts with the Avalon MM port of the HMC +// +/////////////////////////////////////////////////////////////////////////////// + +`define _get_pin_count(_loc) ( _loc[ 9 : 0 ] ) +`define _get_pin_index(_loc, _port_i) ( _loc[ (_port_i + 1) * 10 +: 10 ] ) + +`define _get_tile(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) / (PINS_PER_LANE * LANES_PER_TILE) ) +`define _get_lane(_loc, _port_i) ( (`_get_pin_index(_loc, _port_i) / PINS_PER_LANE) % LANES_PER_TILE ) +`define _get_pin(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) % PINS_PER_LANE ) + +`define _core2l_data(_port_i, _phase_i) core2l_data\ + [`_get_tile(WD_PINLOC, _port_i)]\ + [`_get_lane(WD_PINLOC, _port_i)]\ + [(`_get_pin(WD_PINLOC, _port_i) * 8) + _phase_i] + +`define _core2l_datamask(_port_i, _phase_i) core2l_data\ + [`_get_tile(WM_PINLOC, _port_i)]\ + [`_get_lane(WM_PINLOC, _port_i)]\ + [(`_get_pin(WM_PINLOC, _port_i) * 8) + _phase_i] + +`define _l2core_data(_port_i, _phase_i) l2core_data\ + [`_get_tile(RD_PINLOC, _port_i)]\ + [`_get_lane(RD_PINLOC, _port_i)]\ + [(`_get_pin(RD_PINLOC, _port_i) * 8) + _phase_i] + +`define _unused_core2l_data(_pin_i) core2l_data\ + [_pin_i / (PINS_PER_LANE * LANES_PER_TILE)]\ + [(_pin_i / PINS_PER_LANE) % LANES_PER_TILE]\ + [((_pin_i % PINS_PER_LANE) * 8) +: 8] + +module altera_emif_arch_fm_hmc_amm_data_if #( + parameter HMC_READY_LATENCY = 0, + parameter REGISTER_AMM_C2P = 0, + parameter REGISTER_AMM_P2C = 0, + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + + // Parameters describing HMC front-end ports + parameter NUM_OF_HMC_PORTS = 1, + + // Definition of port widths for "ctrl_amm" interface (auto-generated) + parameter PORT_CTRL_AMM_RDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_WDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_BYTEEN_WIDTH = 1, + + // Pin indexes of data signals + parameter PORT_MEM_D_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_Q_PINLOC = 10'b0000000000, + + // Pin indexes of write data mask signals + parameter PORT_MEM_DM_PINLOC = 10'b0000000000, + parameter PORT_MEM_DBI_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_BWS_N_PINLOC = 10'b0000000000, + + // Parameter indicating the core-2-lane connection of a pin is actually driven + parameter PINS_C2L_DRIVEN = 1'b0 +) ( + input emif_usr_clk, + input emif_usr_clk_sec, + + // Signals between core and data lanes + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data, + + // FM IOSS C2P restrictions requires C2P OEs to be 8 bits per tile + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe, + + // AMM data signals between core and data lanes when HMC is used + output logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_0, + input logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_0, + input logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_0, + + output logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_1, + input logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_1, + input logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_1 +); + timeunit 1ns; + timeprecision 1ps; + + localparam RD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_Q_PINLOC); + localparam WD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_D_PINLOC); + localparam WM_PINLOC = (`_get_pin_count(PORT_MEM_DM_PINLOC) != 0 ? PORT_MEM_DM_PINLOC : (`_get_pin_count(PORT_MEM_DBI_N_PINLOC) != 0 ? PORT_MEM_DBI_N_PINLOC : PORT_MEM_BWS_N_PINLOC)); + + localparam NUM_RD_PINS = `_get_pin_count(RD_PINLOC); + localparam NUM_WD_PINS = `_get_pin_count(WD_PINLOC); + localparam NUM_WM_PINS = `_get_pin_count(WM_PINLOC); + + localparam NUM_RD_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_RD_PINS / NUM_OF_HMC_PORTS) : 0; + localparam NUM_WD_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_WD_PINS / NUM_OF_HMC_PORTS) : 0; + localparam NUM_WM_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_WM_PINS / NUM_OF_HMC_PORTS) : 0; + + localparam NUM_OF_RD_PHASES_PER_HMC_PORT = PORT_CTRL_AMM_RDATA_WIDTH / NUM_RD_PINS_PER_HMC_PORT; + localparam NUM_OF_WD_PHASES_PER_HMC_PORT = PORT_CTRL_AMM_WDATA_WIDTH / NUM_WD_PINS_PER_HMC_PORT; + localparam NUM_OF_WM_PHASES_PER_HMC_PORT = (NUM_WM_PINS == 0) ? 0 : (PORT_CTRL_AMM_BYTEEN_WIDTH / NUM_WM_PINS_PER_HMC_PORT); + + assign core2l_oe = '1; + + generate + genvar port_i; + genvar phase_i; + genvar pin_i; + + logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_0_final; + logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_0_final; + logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_1_final; + logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_1_final; + + if (NUM_OF_HMC_PORTS == 0) begin + assign amm_writedata_0_final = amm_writedata_0; + assign amm_byteenable_0_final = amm_byteenable_0; + assign amm_writedata_1_final = amm_writedata_1; + assign amm_byteenable_1_final = amm_byteenable_1; + end else begin + logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_0_r [1:0]; + logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_0_r [1:0]; + logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_1_r [1:0]; + logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_1_r [1:0]; + + assign amm_writedata_0_final = amm_writedata_0_r [REGISTER_AMM_C2P > 1 ? 1 : 0]; + assign amm_byteenable_0_final = amm_byteenable_0_r[REGISTER_AMM_C2P > 1 ? 1 : 0]; + assign amm_writedata_1_final = amm_writedata_1_r [REGISTER_AMM_C2P > 1 ? 1 : 0]; + assign amm_byteenable_1_final = amm_byteenable_1_r[REGISTER_AMM_C2P > 1 ? 1 : 0]; + + always_ff @(posedge emif_usr_clk) begin + amm_writedata_0_r[0] <= amm_writedata_0; + amm_byteenable_0_r[0] <= amm_byteenable_0; + amm_writedata_0_r[1] <= amm_writedata_0_r[0]; + amm_byteenable_0_r[1] <= amm_byteenable_0_r[0]; + end + always_ff @(posedge emif_usr_clk_sec) begin + amm_writedata_1_r[0] <= amm_writedata_1; + amm_byteenable_1_r[0] <= amm_byteenable_1; + amm_writedata_1_r[1] <= amm_writedata_1_r[0]; + amm_byteenable_1_r[1] <= amm_byteenable_1_r[0]; + end + end + + // Map Avalon-MM writedata signal to lanes' write data bus + for (port_i = 0; port_i < NUM_WD_PINS; ++port_i) + begin : wd_port + for (phase_i = 0; phase_i < NUM_OF_WD_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_WD_PINS_PER_HMC_PORT) begin + assign `_core2l_data(port_i, phase_i) = amm_writedata_0_final[phase_i * NUM_WD_PINS_PER_HMC_PORT + port_i]; + end else begin + assign `_core2l_data(port_i, phase_i) = amm_writedata_1_final[phase_i * NUM_WD_PINS_PER_HMC_PORT + port_i - NUM_WD_PINS_PER_HMC_PORT]; + end + end + end + + // Map Avalon-MM byte-enable signal to lanes' write data bus + for (port_i = 0; port_i < NUM_WM_PINS; ++port_i) + begin : wm_port + for (phase_i = 0; phase_i < NUM_OF_WM_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_WM_PINS_PER_HMC_PORT) begin + assign `_core2l_datamask(port_i, phase_i) = amm_byteenable_0_final[phase_i * NUM_WM_PINS_PER_HMC_PORT + port_i]; + end else begin + assign `_core2l_datamask(port_i, phase_i) = amm_byteenable_1_final[phase_i * NUM_WM_PINS_PER_HMC_PORT + port_i - NUM_WM_PINS_PER_HMC_PORT]; + end + end + end + + logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_0_int; + logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_1_int; + + // Map lanes' read data bus to Avalon-MM readdata signal + for (port_i = 0; port_i < NUM_RD_PINS; ++port_i) + begin : rd_port + for (phase_i = 0; phase_i < NUM_OF_RD_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_RD_PINS_PER_HMC_PORT) begin + assign amm_readdata_0_int[phase_i * NUM_RD_PINS_PER_HMC_PORT + port_i] = `_l2core_data(port_i, phase_i); + end else begin + assign amm_readdata_1_int[phase_i * NUM_RD_PINS_PER_HMC_PORT + port_i - NUM_RD_PINS_PER_HMC_PORT] = `_l2core_data(port_i, phase_i); + end + end + end + + if (REGISTER_AMM_P2C >= 1) begin + always_ff @(posedge emif_usr_clk) begin + amm_readdata_0 <= amm_readdata_0_int; + end + always_ff @(posedge emif_usr_clk_sec) begin + amm_readdata_1 <= amm_readdata_1_int; + end + end else begin + assign amm_readdata_0 = amm_readdata_0_int; + assign amm_readdata_1 = amm_readdata_1_int; + end + + // Tie off unused phases for core2l_data for the write data pins + for (port_i = 0; port_i < NUM_WD_PINS; ++port_i) + begin : wd_port_unused + for (phase_i = NUM_OF_WD_PHASES_PER_HMC_PORT; phase_i < 8; ++phase_i) + begin : unused_phase + assign `_core2l_data(port_i, phase_i) = 1'b0; + end + end + + // Tie off unused phases for core2l_data for the write data mask pins + for (port_i = 0; port_i < NUM_WM_PINS; ++port_i) + begin : wm_port_unused + for (phase_i = NUM_OF_WM_PHASES_PER_HMC_PORT; phase_i < 8; ++phase_i) + begin : unused_phase + assign `_core2l_datamask(port_i, phase_i) = 1'b0; + end + end + + // Tie off core2l_data for unused connections + for (pin_i = 0; pin_i < (NUM_OF_RTL_TILES * LANES_PER_TILE * PINS_PER_LANE); ++pin_i) + begin : non_c2l_pin + if (PINS_C2L_DRIVEN[pin_i] == 1'b0) + assign `_unused_core2l_data(pin_i) = '0; + end + + // Tie off the read data ports if they're not used + if (NUM_OF_HMC_PORTS < 1) begin + assign amm_readdata_0_int = '0; + end + + if (NUM_OF_HMC_PORTS < 2) begin + assign amm_readdata_1_int = '0; + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm02m6ttNb6xchRuC7VKb5RwoOkRce+DWo1otWUycjAsAHJcT9TXSj69Bf/M81tWt3BFb9Rfo+Ftb7Tt+J+DtN2DUwMbE9xDzrnMJe8CV+gL4golMAau/IXUAJfA2yqjdpWujP2gxrzlPI5H+DNUDVdz6sdcD6tqI9/Jxpi5tWBXxDBSLjb4D0vdWhAcYFRvJaVmx3SaYVxOjqLdvFFOtdc58WjSAINVUz95MGiWtxhgklbQ99qhM0IGIwkw6K20wBjZ9M9a6ZlTRLZ3v7NRfgOoNPzEWkk2Ih+aNIcG0GcmxpjahOLrsFtTpg2HAUDGjIi0J+IG1NRsPV4I8FmxR3nbwIeQd89o4+EOdkqWxzvDQabpIW64t0i/Pm68YAHvEWgL+mvNFX1V+0nVUZR95vSSRWOOEXrIDypXLk6UopY7DdiOvSwNhi/VHlsJbmtN5rrsCNfVuCerVcRJNbYWhjy/hCeTpBWMyE5/VYh6B9xmElfMoniBLr9klN45K/upjWy5WG1gdYAooWzYzMGe0/KAQLI1NhPvJOVbYYrYhIiVq3kPY8YUtFPqknxnd0ofc/ZADYyogTUkl3Q96xe5UONYZaHhcb7hMPDvY5FtkYDOXQ9WYjcVkqy7f9bqDl05tb+9neonMKaYcUZAkQqlJgjfd+74CALYzACZnHDruyn+dTML3dPNoVzup3x72SDW+GOrGJUxQWXySEOh7b5udXJCXMQQfwrR4Aim60ZL2IFXqR0swsZw+h1R8jM0xQXLsQK7PWc42V7DXg4Wr4Ic+6JQ" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_ast_data_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_ast_data_if.sv new file mode 100644 index 0000000000..a44696daca --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_ast_data_if.sv @@ -0,0 +1,196 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the data interfaces through which +// soft logic interacts with the Avalon ST port of the HMC +// +/////////////////////////////////////////////////////////////////////////////// + +`define _get_pin_count(_loc) ( _loc[ 9 : 0 ] ) +`define _get_pin_index(_loc, _port_i) ( _loc[ (_port_i + 1) * 10 +: 10 ] ) + +`define _get_tile(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) / (PINS_PER_LANE * LANES_PER_TILE) ) +`define _get_lane(_loc, _port_i) ( (`_get_pin_index(_loc, _port_i) / PINS_PER_LANE) % LANES_PER_TILE ) +`define _get_pin(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) % PINS_PER_LANE ) + +`define _core2l_data(_port_i, _phase_i) core2l_data\ + [`_get_tile(WD_PINLOC, _port_i)]\ + [`_get_lane(WD_PINLOC, _port_i)]\ + [(`_get_pin(WD_PINLOC, _port_i) * 8) + _phase_i] + +`define _core2l_datamask(_port_i, _phase_i) core2l_data\ + [`_get_tile(WM_PINLOC, _port_i)]\ + [`_get_lane(WM_PINLOC, _port_i)]\ + [(`_get_pin(WM_PINLOC, _port_i) * 8) + _phase_i] + +`define _l2core_data(_port_i, _phase_i) l2core_data\ + [`_get_tile(RD_PINLOC, _port_i)]\ + [`_get_lane(RD_PINLOC, _port_i)]\ + [(`_get_pin(RD_PINLOC, _port_i) * 8) + _phase_i] + +`define _unused_core2l_data(_pin_i) core2l_data\ + [_pin_i / (PINS_PER_LANE * LANES_PER_TILE)]\ + [(_pin_i / PINS_PER_LANE) % LANES_PER_TILE]\ + [((_pin_i % PINS_PER_LANE) * 8) +: 8] + +module altera_emif_arch_fm_hmc_ast_data_if #( + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + + // Parameters describing HMC front-end ports + parameter NUM_OF_HMC_PORTS = 1, + + // Definition of port widths for "ctrl_ast_wr" interface (auto-generated) + parameter PORT_CTRL_AST_WR_DATA_WIDTH = 1, + + // Definition of port widths for "ctrl_ast_rd" interface (auto-generated) + parameter PORT_CTRL_AST_RD_DATA_WIDTH = 1, + + // Pin indexes of data signals + parameter PORT_MEM_D_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_Q_PINLOC = 10'b0000000000, + + // Pin indexes of write data mask signals + parameter PORT_MEM_DM_PINLOC = 10'b0000000000, + parameter PORT_MEM_DBI_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_BWS_N_PINLOC = 10'b0000000000, + + // Parameter indicating the core-2-lane connection of a pin is actually driven + parameter PINS_C2L_DRIVEN = 1'b0 +) ( + // Signals between core and data lanes + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data, + + // FM IOSS C2P restrictions requires C2P OEs to be 8 bits per lane + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe, + + // AST data signals between core and data lanes when HMC is used + input logic [PORT_CTRL_AST_WR_DATA_WIDTH-1:0] ast_wr_data_0, + output logic [PORT_CTRL_AST_RD_DATA_WIDTH-1:0] ast_rd_data_0, + + input logic [PORT_CTRL_AST_WR_DATA_WIDTH-1:0] ast_wr_data_1, + output logic [PORT_CTRL_AST_RD_DATA_WIDTH-1:0] ast_rd_data_1 +); + timeunit 1ns; + timeprecision 1ps; + + localparam RD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_Q_PINLOC); + localparam WD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_D_PINLOC); + localparam WM_PINLOC = (`_get_pin_count(PORT_MEM_DM_PINLOC) != 0 ? PORT_MEM_DM_PINLOC : (`_get_pin_count(PORT_MEM_DBI_N_PINLOC) != 0 ? PORT_MEM_DBI_N_PINLOC : PORT_MEM_BWS_N_PINLOC)); + + localparam NUM_RD_PINS = `_get_pin_count(RD_PINLOC); + localparam NUM_WD_PINS = `_get_pin_count(WD_PINLOC); + localparam NUM_WM_PINS = `_get_pin_count(WM_PINLOC); + + // The write data bus includes both data (LSBs) and data mask (MSBs). Here we calculate the width of both. + localparam NUM_OF_AST_REAL_WR_DATA_WIDTH = PORT_CTRL_AST_RD_DATA_WIDTH; + localparam NUM_OF_AST_BYTE_EN_WIDTH = PORT_CTRL_AST_WR_DATA_WIDTH - NUM_OF_AST_REAL_WR_DATA_WIDTH; + + localparam NUM_RD_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_RD_PINS / NUM_OF_HMC_PORTS) : 0; + localparam NUM_WD_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_WD_PINS / NUM_OF_HMC_PORTS) : 0; + localparam NUM_WM_PINS_PER_HMC_PORT = (NUM_OF_HMC_PORTS > 0) ? (NUM_WM_PINS / NUM_OF_HMC_PORTS) : 0; + + localparam NUM_OF_RD_PHASES_PER_HMC_PORT = PORT_CTRL_AST_RD_DATA_WIDTH / NUM_RD_PINS_PER_HMC_PORT; + localparam NUM_OF_WD_PHASES_PER_HMC_PORT = NUM_OF_AST_REAL_WR_DATA_WIDTH / NUM_WD_PINS_PER_HMC_PORT; + localparam NUM_OF_WM_PHASES_PER_HMC_PORT = (NUM_WM_PINS == 0) ? 0 : (NUM_OF_AST_BYTE_EN_WIDTH / NUM_WM_PINS_PER_HMC_PORT); + + assign core2l_oe = '1; + + generate + genvar port_i; + genvar phase_i; + genvar pin_i; + + // Map Avalon-ST writedata signal to lanes' write data bus + for (port_i = 0; port_i < NUM_WD_PINS; ++port_i) + begin : wd_port + for (phase_i = 0; phase_i < NUM_OF_WD_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_WD_PINS_PER_HMC_PORT) begin + assign `_core2l_data(port_i, phase_i) = ast_wr_data_0[phase_i * NUM_WD_PINS_PER_HMC_PORT + port_i]; + end else begin + assign `_core2l_data(port_i, phase_i) = ast_wr_data_1[phase_i * NUM_WD_PINS_PER_HMC_PORT + port_i - NUM_WD_PINS_PER_HMC_PORT]; + end + end + end + + // Map Avalon-ST byte-enable signal to lanes' write data bus + for (port_i = 0; port_i < NUM_WM_PINS; ++port_i) + begin : wm_port + for (phase_i = 0; phase_i < NUM_OF_WM_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_WM_PINS_PER_HMC_PORT) begin + assign `_core2l_datamask(port_i, phase_i) = ast_wr_data_0[(NUM_OF_WD_PHASES_PER_HMC_PORT * NUM_WD_PINS_PER_HMC_PORT) + (phase_i * NUM_WM_PINS_PER_HMC_PORT + port_i)]; + end else begin + assign `_core2l_datamask(port_i, phase_i) = ast_wr_data_1[(NUM_OF_WD_PHASES_PER_HMC_PORT * NUM_WD_PINS_PER_HMC_PORT) + (phase_i * NUM_WM_PINS_PER_HMC_PORT + port_i - NUM_WM_PINS_PER_HMC_PORT)]; + end + end + end + + // Map lanes' read data bus to Avalon-ST readdata signal + for (port_i = 0; port_i < NUM_RD_PINS; ++port_i) + begin : rd_port + for (phase_i = 0; phase_i < NUM_OF_RD_PHASES_PER_HMC_PORT; ++phase_i) + begin : phase + if (port_i < NUM_RD_PINS_PER_HMC_PORT) begin + assign ast_rd_data_0[phase_i * NUM_RD_PINS_PER_HMC_PORT + port_i] = `_l2core_data(port_i, phase_i); + end else begin + assign ast_rd_data_1[phase_i * NUM_RD_PINS_PER_HMC_PORT + port_i - NUM_RD_PINS_PER_HMC_PORT] = `_l2core_data(port_i, phase_i); + end + end + end + + // Tie off unused phases for core2l_data for the write data pins + for (port_i = 0; port_i < NUM_WD_PINS; ++port_i) + begin : wd_port_unused + for (phase_i = NUM_OF_WD_PHASES_PER_HMC_PORT; phase_i < 8; ++phase_i) + begin : unused_phase + assign `_core2l_data(port_i, phase_i) = 1'b0; + end + end + + // Tie off unused phases for core2l_data for the write data mask pins + for (port_i = 0; port_i < NUM_WM_PINS; ++port_i) + begin : wm_port_unused + for (phase_i = NUM_OF_WM_PHASES_PER_HMC_PORT; phase_i < 8; ++phase_i) + begin : unused_phase + assign `_core2l_datamask(port_i, phase_i) = 1'b0; + end + end + + // Tie off core2l_data for unused connections + for (pin_i = 0; pin_i < (NUM_OF_RTL_TILES * LANES_PER_TILE * PINS_PER_LANE); ++pin_i) + begin : non_c2l_pin + if (PINS_C2L_DRIVEN[pin_i] == 1'b0) + assign `_unused_core2l_data(pin_i) = '0; + end + + // Tie off the read data ports if they're not used + if (NUM_OF_HMC_PORTS < 1) begin + assign ast_rd_data_0 = '0; + end + + if (NUM_OF_HMC_PORTS < 2) begin + assign ast_rd_data_1 = '0; + end + endgenerate +endmodule + + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm0XkvqozUSoPu/dpPG/oqhMfpedxct7ldg1ZwJbEixblVCvcTEk9ES/Mr6twVic02FgL0h0P37Lb2dfmLe7DKNXtqavYPEm4QhXOMpBmcwl6idM43mzhKs7q1dGozpIslSQ1F5IxpMiiqfXv2mvaYcWtvC6GFlRELjOeiiGnQq2BnPp7ebAyYUGPX9vW6WE2SH7c5UgmpyUqKFIh5Ye1rTK6HVjzPgQjEY2Oxu/ykp43PbYbDri2XWC41b5rcUMpJ/eqPBBNKnEdvfP2UB9q6LvSZ3laA0SNC4ApWDZIGp9kFN3eQiuKvTHJRf74H/YRT9tV5kI6X40dwqG7KEjVFSuLd5rRE7k5mp/26W3vf9sboe7KbLdy78bC5A9y55rxnEROw63ZiB+4Wx6w/x0W2mxk1MHV+0c9S+Dxa3m+iPw2oFSY7M4dw3muCyFk7IFblA9o7bNaKw9OIbbAkcatHhfdVoHSHtI29o+nxVdi+3FKKPKCBSDh7ZYQys4WqV6zJNX8RMRyetESuA6PqXWwY9EcCHMzRCDq3f1lnY8u866EIGM1f0jOF/zGu2wD0xOTSUNjDHlutW8Cfv5e4goieOBH65/V9439QQPXBojL6G9A+SqiWKEJ3PhaEaPf5oLz3WjVE+kSU0l9ippoJv/dIqlAI4eZnHJg99lLPDB3PGflg0j3lYnjOiCY8BHO4O8ohYPL2CPg4tyKoiFxHLYTEp/9C7b5yGQSq/s5gCZM26rXelBTup99IuNLrn34Rt6dq2FV7XSFmJ++8fYJSoRqeGZ" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_avl_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_avl_if.sv new file mode 100644 index 0000000000..08f06d54cb --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_avl_if.sv @@ -0,0 +1,375 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the Avalon interfaces through which +// soft logic interacts with the Hard Memory Controller inside the tile. +// The tile WYSIWYG blocks collapse the individual Avalon signals into big +// buses. This module re-wires the big buses into proper Avalon interfaces. +// +/////////////////////////////////////////////////////////////////////////////// +module altera_emif_arch_fm_hmc_avl_if #( + // Parameters describing HMC front-end ports + parameter NUM_OF_HMC_PORTS = 1, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter HMC_READY_LATENCY = 0, + parameter REGISTER_AMM_P2C = 0, + parameter REGISTER_AMM_C2P = 0, + + // Parameters describing lanes/tiles + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter PRI_AC_TILE_INDEX = -1, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_AC_TILE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + parameter PRI_HMC_DBC_SHADOW_LANE_INDEX = -1, + + // Definition of port widths for "ctrl_ast_cmd" interface (auto-generated) + parameter PORT_CTRL_AST_CMD_DATA_WIDTH = 1, + + // Definition of port widths for "ctrl_amm" interface (auto-generated) + parameter PORT_CTRL_AMM_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_AMM_BCOUNT_WIDTH = 1 + +) ( + // User reset going to core (for PHY + hard controller interfaces) + input logic emif_usr_reset_n, + input logic emif_usr_reset_n_sec, + + // User clock going to core (for PHY + hard controller interfaces) + input logic emif_usr_clk, + input logic emif_usr_clk_sec, + + // Collapsed Avalon signals going into/out of tiles + output logic [62:0] core2ctl_avl_0, + output core2ctl_avl_rd_data_ready_0, + input logic ctl2core_avl_cmd_ready_0, + + output logic core2l_wr_data_vld_ast, + output logic core2l_rd_data_rdy_ast, + + output logic [62:0] core2ctl_avl_1, + output core2ctl_avl_rd_data_ready_1, + input logic ctl2core_avl_cmd_ready_1, + + + // Avalon interfaces between core and lanes + input logic l2core_rd_data_vld_avl, + input logic l2core_wr_data_rdy_ast, + input logic l2core_rd_type, + + // Ports for "ctrl_user_priority" interface + input logic ctrl_user_priority_hi_0, + input logic ctrl_user_priority_hi_1, + + // Controller auto-precharge request signals + input logic ctrl_auto_precharge_req_0, + input logic ctrl_auto_precharge_req_1, + + // Ports for "ctrl_ast_cmd" interfaces (auto-generated) + output logic ast_cmd_ready_0, + input logic ast_cmd_valid_0, + input logic [PORT_CTRL_AST_CMD_DATA_WIDTH-1:0] ast_cmd_data_0, + + output logic ast_cmd_ready_1, + input logic ast_cmd_valid_1, + input logic [PORT_CTRL_AST_CMD_DATA_WIDTH-1:0] ast_cmd_data_1, + + // Ports for "ctrl_ast_wr" interfaces (auto-generated) + output logic ast_wr_ready_0, + input logic ast_wr_valid_0, + + output logic ast_wr_ready_1, + input logic ast_wr_valid_1, + + // Ports for "ctrl_ast_rd" interfaces (auto-generated) + input logic ast_rd_ready_0, + output logic ast_rd_valid_0, + + input logic ast_rd_ready_1, + output logic ast_rd_valid_1, + + // Ports for "ctrl_amm" interfaces (auto-generated) + input logic amm_write_0, + input logic amm_read_0, + output logic amm_ready_0, + output logic amm_early_ready_0, + input logic [PORT_CTRL_AMM_ADDRESS_WIDTH-1:0] amm_address_0, + input logic [PORT_CTRL_AMM_BCOUNT_WIDTH-1:0] amm_burstcount_0, + input logic amm_beginbursttransfer_0, + output logic amm_readdatavalid_0, + output logic amm_rd_type_0, + + input logic amm_write_1, + input logic amm_read_1, + output logic amm_ready_1, + output logic amm_early_ready_1, + input logic [PORT_CTRL_AMM_ADDRESS_WIDTH-1:0] amm_address_1, + input logic [PORT_CTRL_AMM_BCOUNT_WIDTH-1:0] amm_burstcount_1, + input logic amm_beginbursttransfer_1, + output logic amm_readdatavalid_1, + output logic amm_rd_type_1 +); + timeunit 1ns; + timeprecision 1ps; + + localparam NUM_C2L_FANOUT = 1; + + generate + if (HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM") begin : amm + logic [34:0] amm_address_padded_0; + logic [34:0] amm_address_padded_1; + logic [7:0] amm_burstcount_padded_0; + logic [7:0] amm_burstcount_padded_1; + + if (PORT_CTRL_AMM_ADDRESS_WIDTH >= 35) begin + assign amm_address_padded_0 = amm_address_0; + assign amm_address_padded_1 = amm_address_1; + end else begin + assign amm_address_padded_0 = {'0, amm_address_0}; + assign amm_address_padded_1 = {'0, amm_address_1}; + end + + if (PORT_CTRL_AMM_BCOUNT_WIDTH >= 8) begin + assign amm_burstcount_padded_0 = amm_burstcount_0; + assign amm_burstcount_padded_1 = amm_burstcount_1; + end else begin + assign amm_burstcount_padded_0 = {'0, amm_burstcount_0}; + assign amm_burstcount_padded_1 = {'0, amm_burstcount_1}; + end + + logic [34:0] amm_address_padded_0_final; + logic [34:0] amm_address_padded_1_final; + logic [7:0] amm_burstcount_padded_0_final; + logic [7:0] amm_burstcount_padded_1_final; + logic ctrl_user_priority_hi_0_final; + logic ctrl_user_priority_hi_1_final; + logic ctrl_auto_precharge_req_0_final; + logic ctrl_auto_precharge_req_1_final; + logic amm_read_0_final; + logic amm_read_1_final; + logic amm_write_0_final; + logic amm_write_1_final; + + if (REGISTER_AMM_C2P == 0) begin + assign amm_address_padded_0_final = amm_address_padded_0; + assign amm_address_padded_1_final = amm_address_padded_1; + assign amm_burstcount_padded_0_final = amm_burstcount_padded_0; + assign amm_burstcount_padded_1_final = amm_burstcount_padded_1; + assign ctrl_user_priority_hi_0_final = ctrl_user_priority_hi_0; + assign ctrl_user_priority_hi_1_final = ctrl_user_priority_hi_1; + assign ctrl_auto_precharge_req_0_final = ctrl_auto_precharge_req_0; + assign ctrl_auto_precharge_req_1_final = ctrl_auto_precharge_req_1; + assign amm_read_0_final = (NUM_OF_HMC_PORTS == 0) ? amm_read_0 : amm_read_0 & amm_ready_0; + assign amm_read_1_final = (NUM_OF_HMC_PORTS == 0) ? amm_read_1 : amm_read_1 & amm_ready_1; + assign amm_write_0_final = (NUM_OF_HMC_PORTS == 0) ? amm_write_0 : amm_write_0 & amm_ready_0; + assign amm_write_1_final = (NUM_OF_HMC_PORTS == 0) ? amm_write_1 : amm_write_1 & amm_ready_1; + end else begin + logic [1:0][34:0] amm_address_padded_0_r; + logic [1:0][34:0] amm_address_padded_1_r; + logic [1:0][7:0] amm_burstcount_padded_0_r; + logic [1:0][7:0] amm_burstcount_padded_1_r; + logic [1:0] ctrl_user_priority_hi_0_r; + logic [1:0] ctrl_user_priority_hi_1_r; + logic [1:0] ctrl_auto_precharge_req_0_r; + logic [1:0] ctrl_auto_precharge_req_1_r; + logic [1:0] amm_read_0_r; + logic [1:0] amm_read_1_r; + logic [1:0] amm_write_0_r; + logic [1:0] amm_write_1_r; + + assign amm_address_padded_0_final = amm_address_padded_0_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_address_padded_1_final = amm_address_padded_1_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_burstcount_padded_0_final = amm_burstcount_padded_0_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_burstcount_padded_1_final = amm_burstcount_padded_1_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign ctrl_user_priority_hi_0_final = ctrl_user_priority_hi_0_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign ctrl_user_priority_hi_1_final = ctrl_user_priority_hi_1_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign ctrl_auto_precharge_req_0_final = ctrl_auto_precharge_req_0_r[(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign ctrl_auto_precharge_req_1_final = ctrl_auto_precharge_req_1_r[(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_read_0_final = amm_read_0_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_read_1_final = amm_read_1_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_write_0_final = amm_write_0_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + assign amm_write_1_final = amm_write_1_r [(REGISTER_AMM_C2P > 1) ? 1 : 0]; + + + always_ff @(posedge emif_usr_clk) begin + amm_read_0_r <= {amm_read_0_r[0], amm_read_0 & amm_ready_0}; + amm_write_0_r <= {amm_write_0_r[0], amm_write_0 & amm_ready_0}; + + amm_address_padded_0_r <= {amm_address_padded_0_r[0], amm_address_padded_0}; + amm_burstcount_padded_0_r <= {amm_burstcount_padded_0_r[0], amm_burstcount_padded_0}; + ctrl_user_priority_hi_0_r <= {ctrl_user_priority_hi_0_r[0], ctrl_user_priority_hi_0}; + ctrl_auto_precharge_req_0_r <= {ctrl_auto_precharge_req_0_r[0], ctrl_auto_precharge_req_0}; + end + + always_ff @(posedge emif_usr_clk_sec) begin + amm_read_1_r <= {amm_read_1_r[0], amm_read_1 & amm_ready_1}; + amm_write_1_r <= {amm_write_1_r[0], amm_write_1 & amm_ready_1}; + + amm_address_padded_1_r <= {amm_address_padded_1_r[0], amm_address_padded_1}; + amm_burstcount_padded_1_r <= {amm_burstcount_padded_1_r[0], amm_burstcount_padded_1}; + ctrl_user_priority_hi_1_r <= {ctrl_user_priority_hi_1_r[0], ctrl_user_priority_hi_1}; + ctrl_auto_precharge_req_1_r <= {ctrl_auto_precharge_req_1_r[0], ctrl_auto_precharge_req_1}; + end + end + + + if (REGISTER_AMM_P2C >= 1) begin + always_ff @(posedge emif_usr_clk) begin + amm_rd_type_0 <= l2core_rd_type; + amm_readdatavalid_0 <= l2core_rd_data_vld_avl; + end + always_ff @(posedge emif_usr_clk_sec) begin + amm_rd_type_1 <= l2core_rd_type; + amm_readdatavalid_1 <= l2core_rd_data_vld_avl; + end + end else begin + assign amm_rd_type_0 = l2core_rd_type; + assign amm_rd_type_1 = l2core_rd_type; + assign amm_readdatavalid_0 = l2core_rd_data_vld_avl; + assign amm_readdatavalid_1 = l2core_rd_data_vld_avl; + end + + if (NUM_OF_HMC_PORTS == 0) begin : ready_wire + assign amm_ready_0 = ctl2core_avl_cmd_ready_0; + assign amm_ready_1 = ctl2core_avl_cmd_ready_1; + assign amm_early_ready_0 = '0; + assign amm_early_ready_1 = '0; + end else begin: ready_hyper_regs + logic amm_ready_0_r0; + logic amm_ready_1_r0; + logic amm_ready_0_r1; + logic amm_ready_1_r1; + always_ff @(posedge emif_usr_clk) begin + amm_ready_0_r0 <= ctl2core_avl_cmd_ready_0; + amm_ready_0_r1 <= amm_ready_0_r0; + end + assign amm_ready_0 = (REGISTER_AMM_P2C == 0 ? ctl2core_avl_cmd_ready_0 : + REGISTER_AMM_P2C > 1 ? amm_ready_0_r1 : amm_ready_0_r0); + assign amm_early_ready_0 = (REGISTER_AMM_P2C == 0 ? 1'b0 : + REGISTER_AMM_P2C > 1 ? amm_ready_0_r0 : ctl2core_avl_cmd_ready_0); + + always_ff @(posedge emif_usr_clk_sec) begin + amm_ready_1_r0 <= ctl2core_avl_cmd_ready_1; + amm_ready_1_r1 <= amm_ready_1_r0; + end + assign amm_ready_1 = (REGISTER_AMM_P2C == 0 ? ctl2core_avl_cmd_ready_1 : + REGISTER_AMM_P2C > 1 ? amm_ready_1_r1 : amm_ready_1_r0); + assign amm_early_ready_1 = (REGISTER_AMM_P2C == 0 ? 1'b0 : + REGISTER_AMM_P2C > 1 ? amm_ready_1_r0 : ctl2core_avl_cmd_ready_1); + end + + // Port 0 + assign core2ctl_avl_0[0] = amm_read_0_final; + assign core2ctl_avl_0[1] = amm_write_0_final; + assign core2ctl_avl_0[36:2] = amm_address_padded_0_final; + assign core2ctl_avl_0[44:37] = amm_burstcount_padded_0_final; + assign core2ctl_avl_0[45] = ctrl_user_priority_hi_0_final; + assign core2ctl_avl_0[46] = ctrl_auto_precharge_req_0_final; + assign core2ctl_avl_0[47] = '0; + assign core2ctl_avl_0[60:48] = '0; + assign core2ctl_avl_0[61] = '0; + assign core2ctl_avl_0[62] = '0; + + // Port 1 + assign core2ctl_avl_1[0] = amm_read_1_final; + assign core2ctl_avl_1[1] = amm_write_1_final; + assign core2ctl_avl_1[36:2] = amm_address_padded_1_final; + assign core2ctl_avl_1[44:37] = amm_burstcount_padded_1_final; + assign core2ctl_avl_1[45] = ctrl_user_priority_hi_1_final; + assign core2ctl_avl_1[46] = ctrl_auto_precharge_req_1_final; + assign core2ctl_avl_1[47] = '0; + assign core2ctl_avl_1[60:48] = '0; + assign core2ctl_avl_1[61] = '0; + assign core2ctl_avl_1[62] = '0; + + // Tie-off unused signals + assign ast_cmd_ready_0 = '0; + assign ast_wr_ready_0 = '0; + assign ast_rd_valid_0 = '0; + assign core2ctl_avl_rd_data_ready_0 = '1; + assign core2l_wr_data_vld_ast = '0; + assign core2l_rd_data_rdy_ast = '1; + assign ast_cmd_ready_1 = '0; + assign ast_wr_ready_1 = '0; + assign ast_rd_valid_1 = '0; + assign core2ctl_avl_rd_data_ready_1 = '1; + + end else if (HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_ST") begin : ast + // Port 0 + assign core2ctl_avl_0[60:0] = ast_cmd_data_0; + assign core2ctl_avl_0[61] = ast_cmd_valid_0; + assign core2ctl_avl_0[62] = ast_wr_valid_0; + assign ast_cmd_ready_0 = ctl2core_avl_cmd_ready_0; + + assign ast_wr_ready_0 = l2core_wr_data_rdy_ast; + assign ast_rd_valid_0 = l2core_rd_data_vld_avl; + + assign core2ctl_avl_rd_data_ready_0 = ast_rd_ready_0; + assign amm_ready_0 = '0; + assign amm_early_ready_0 = '0; + assign amm_readdatavalid_0 = '0; + assign amm_rd_type_0 = '0; + assign core2l_wr_data_vld_ast = ast_wr_valid_0; + assign core2l_rd_data_rdy_ast = ast_rd_ready_0; + + // Port 1 + assign core2ctl_avl_1[60:0] = ast_cmd_data_1; + assign core2ctl_avl_1[61] = ast_cmd_valid_1; + assign core2ctl_avl_1[62] = ast_wr_valid_1; + assign ast_cmd_ready_1 = ctl2core_avl_cmd_ready_1; + assign ast_wr_ready_1 = l2core_wr_data_rdy_ast; + assign ast_rd_valid_1 = l2core_rd_data_vld_avl; + assign core2ctl_avl_rd_data_ready_1 = ast_rd_ready_1; + assign amm_ready_1 = '0; + assign amm_early_ready_1 = '0; + assign amm_readdatavalid_1 = '0; + assign amm_rd_type_1 = '0; + end else begin : no_hmc + // Port 0 + assign core2ctl_avl_0 = '0; + assign ast_cmd_ready_0 = '0; + assign ast_wr_ready_0 = '0; + assign ast_rd_valid_0 = '0; + assign core2ctl_avl_rd_data_ready_0 = '1; + assign amm_ready_0 = '0; + assign amm_early_ready_0 = '0; + assign amm_readdatavalid_0 = '0; + assign core2l_wr_data_vld_ast = '0; + assign core2l_rd_data_rdy_ast = '1; + assign amm_rd_type_0 = '0; + + // Port 1 + assign core2ctl_avl_1 = '0; + assign ast_cmd_ready_1 = '0; + assign ast_wr_ready_1 = '0; + assign ast_rd_valid_1 = '0; + assign core2ctl_avl_rd_data_ready_1 = '1; + assign amm_ready_1 = '0; + assign amm_early_ready_1 = '0; + assign amm_readdatavalid_1 = '0; + assign amm_rd_type_1 = '0; + end + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm1IFi0lYVUwsvLFhY6JYpGiaThUsiJ++0jhiwcH96eHRcC2IhihvdtVSwv0xf37ynA05f7FUFymP9zU5RmwVb4zk8WcR10/u5EsWF4ljG27gxCqC0BPogMVkM6yP2fkBWsJEoDtf6PpYqUf7oKyc9+SAWrHCSA96OVtuEJZHcL4ikiNzy8VVf0LkmDArCazFVWEPdb0XFVOFO0l6xVMICLNFWgd2DWLKQFi6/Adrx4LO3zIKGAoddblt4EunwCKF54lVl+TZTaW+RwdYEMT2gXTR8ilobZz39zSqo7SYkJNhXWoBxvn8cA22/pDZ1+64mN88BMwiMUUf/r3kUuGsj40p/jnDNG6YM40IoQQ9VmcA3M+SwBmthACzDLsW6+MuU+j5U5BPFH1HFkDDFinT9QkRYXCMuAaFgKKFJQB8d9s7iIxQDTmdf/QDSQF2RCNoF5VShl+XXvLS9OdqS2Im1Ka7B7i1x+plcOzVNJxEjyqnR8X0F6oBmJ34GkmzHqLabdx8+Q263dIX7effOH5deuNuclQJOKtrBjWyrVh28zGacAvrSfMBC3JKEp2OrQdF7aWKaqb6HPB9Fxn+bCU3F/RtwZztqlM0xwlO0rx+YsDmqiCVJQrO8TbluhKMe5QSBKLaF54ma/5TkrOnn5tvZXMHHNZeAp1Dwjbo7m4mLfbBjyBgSysvA5PY3F3M2pMhKRY+7lGpPYEyLANScZwRyYPEa1f7/i4tn71pysa1xKu3TjsoUMY1y60Qeqrdf2phdkhcaASm753I4Pz70n/3xrn" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_mmr_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_mmr_if.sv new file mode 100644 index 0000000000..a089da1f61 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_mmr_if.sv @@ -0,0 +1,84 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + +module altera_emif_arch_fm_hmc_mmr_if #( + + parameter PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_RDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_WDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH = 1 +) ( + input logic [33:0] ctl2core_mmr_0, + output logic [50:0] core2ctl_mmr_0, + input logic [33:0] ctl2core_mmr_1, + output logic [50:0] core2ctl_mmr_1, + + input logic emif_usr_clk, + + output logic mmr_slave_waitrequest_0, + input logic mmr_slave_read_0, + input logic mmr_slave_write_0, + input logic [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH-1:0] mmr_slave_address_0, + output logic [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH-1:0] mmr_slave_readdata_0, + input logic [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH-1:0] mmr_slave_writedata_0, + input logic [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH-1:0] mmr_slave_burstcount_0, + input logic mmr_slave_beginbursttransfer_0, + output logic mmr_slave_readdatavalid_0, + + output logic mmr_slave_waitrequest_1, + input logic mmr_slave_read_1, + input logic mmr_slave_write_1, + input logic [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH-1:0] mmr_slave_address_1, + output logic [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH-1:0] mmr_slave_readdata_1, + input logic [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH-1:0] mmr_slave_writedata_1, + input logic [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH-1:0] mmr_slave_burstcount_1, + input logic mmr_slave_beginbursttransfer_1, + output logic mmr_slave_readdatavalid_1 +); + timeunit 1ns; + timeprecision 1ps; + + assign core2ctl_mmr_1[13:10] = 'b0; + assign core2ctl_mmr_0[13:10] = 'b0; + + always_ff @(posedge emif_usr_clk) begin + core2ctl_mmr_0[9:0] <= mmr_slave_address_0; + core2ctl_mmr_0[45:14] <= mmr_slave_writedata_0; + core2ctl_mmr_0[46] <= mmr_slave_write_0; + core2ctl_mmr_0[47] <= mmr_slave_read_0; + core2ctl_mmr_0[49:48] <= mmr_slave_burstcount_0; + core2ctl_mmr_0[50] <= mmr_slave_beginbursttransfer_0; + + mmr_slave_readdata_0 <= ctl2core_mmr_0[31:0]; + mmr_slave_readdatavalid_0 <= ctl2core_mmr_0[32]; + mmr_slave_waitrequest_0 <= ctl2core_mmr_0[33]; + + core2ctl_mmr_1[9:0] <= mmr_slave_address_1; + core2ctl_mmr_1[45:14] <= mmr_slave_writedata_1; + core2ctl_mmr_1[46] <= mmr_slave_write_1; + core2ctl_mmr_1[47] <= mmr_slave_read_1; + core2ctl_mmr_1[49:48] <= mmr_slave_burstcount_1; + core2ctl_mmr_1[50] <= mmr_slave_beginbursttransfer_1; + + mmr_slave_readdata_1 <= ctl2core_mmr_1[31:0]; + mmr_slave_readdatavalid_1 <= ctl2core_mmr_1[32]; + mmr_slave_waitrequest_1 <= ctl2core_mmr_1[33]; + end + +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2zTfIUIGJoZH5DYU9hegJoUhSoB9M+V9SheV2Iit6Wtucb91DV9bw4WeqcRbqpf1olkZRBqaRzLIXMWwNC1V4x/fxciUj6QtrpgSNybY7tJyX3ksHuwDdun3hpwxubpi9CHm/Ugg5UVRXK3HlKG04ISwnsLX1dP8836ZwO2vej08xxxb1v6qZBgrdXsNgb1ErxwGFLb6+BLN0zoSUgiX92rJTRiRM1ce7/9fLEMEzXSoTxPLgCaZ8W3E68tQuuJawst0W/nN1gfaAFHOBUeU4DTLiNVcCzSFbMb4+1IVayv0EW0xZuenNGnvO29mPBdjD1hp/dgdKNFGTd9mpBAXH5M9JYPBgPhuaJJIeADvEeW4sfiPGbJeW8gA6l9LixrxstXsuEBGZPJ73HOMvaXDHkVZr0WeFYZtSLiiFX9BRh4/JjxR1eMkS9cH3uVhIf1eZNIRzJinyrXUK0J9/OpKc1am0Ebh7twp9AepnWc/mm05IXmkYVFbmnwSecYhe4GjD6XcV9nCX/hEHBReDULdf1HaYunTUjKslyOKZ+ciAQtxtxXLxWjHluYJYZBGEgisnfYqOEf3KNCAI2H3DSzdIqJu96EtXFtGSbTYrCUxWVx/lcTPXD2i3di+wjjiRoyXk6GdWgHKtqIqt82xBFy6y4wLsPVxXyvyAwnMdZhRaoXyJz2pL0JIRCSxP5GIyA3ZiLI5qVrU53abXPay/x3fRLABePWXxMd00X2I6eNtidXz8Pgiu334BVTsekAAPjz9zOxfrcbW6IYE10X+slbvTC" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_sideband_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_sideband_if.sv new file mode 100644 index 0000000000..152537cf0b --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_sideband_if.sv @@ -0,0 +1,160 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the controller sideband interfaces +// through which soft logic interacts with the Hard Memory Controller. +// The tile WYSIWYG blocks collapse the individual sideband signals into big +// buses. This module re-logics the big buses into proper interfaces. +// +/////////////////////////////////////////////////////////////////////////////// +module altera_emif_arch_fm_hmc_sideband_if #( + + // Parameters describing lanes/tiles + parameter NUM_OF_HMC_PORTS = 1, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter PRI_AC_TILE_INDEX = -1, + parameter SEC_AC_TILE_INDEX = -1, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + parameter PRI_HMC_DBC_SHADOW_LANE_INDEX = -1, + + // Definition of port widths for "ctrl_user_refresh" interface + parameter PORT_CTRL_USER_REFRESH_REQ_WIDTH = 1, + parameter PORT_CTRL_USER_REFRESH_BANK_WIDTH = 1, + + // Definition of port widths for "ctrl_self_refresh" interface + parameter PORT_CTRL_SELF_REFRESH_REQ_WIDTH = 1, + + // Definition describing ECC + parameter PRI_HMC_CFG_ENABLE_ECC = "disable", + parameter SEC_HMC_CFG_ENABLE_ECC = "disable", + + // Definition of port widths for "ctrl_ecc" interface + parameter PORT_CTRL_ECC_WRITE_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_READ_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_CMD_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_WB_POINTER_WIDTH = 1, + parameter PORT_CTRL_ECC_RDATA_ID_WIDTH = 1 + +) ( + // Collapsed sideband signals going into/out of tiles + output logic [41:0] core2ctl_sideband_0, + input logic [13:0] ctl2core_sideband_0, + output logic [41:0] core2ctl_sideband_1, + input logic [13:0] ctl2core_sideband_1, + + // Additional ECC signals going into/out of lanes + input logic [12:0] ctl2core_avl_rdata_id_0, + input logic [12:0] ctl2core_avl_rdata_id_1, + output logic [12:0] core2l_wr_ecc_info, + input logic [11:0] l2core_wb_pointer_for_ecc, + + // Ports for "ctrl_user_refresh" interface + input logic [PORT_CTRL_USER_REFRESH_REQ_WIDTH-1:0] ctrl_user_refresh_req, + input logic [PORT_CTRL_USER_REFRESH_BANK_WIDTH-1:0] ctrl_user_refresh_bank, + output logic ctrl_user_refresh_ack, + + // Ports for "ctrl_self_refresh" interface + input logic [PORT_CTRL_SELF_REFRESH_REQ_WIDTH-1:0] ctrl_self_refresh_req, + output logic ctrl_self_refresh_ack, + + // Ports for "ctrl_will_refresh" interface + output logic ctrl_will_refresh, + + // Ports for "ctrl_deep_power_down" interface + input logic ctrl_deep_power_down_req, + output logic ctrl_deep_power_down_ack, + + // Ports for "ctrl_power_down" interface + output logic ctrl_power_down_ack, + + // Ports for "ctrl_zq_cal" interface + input logic ctrl_zq_cal_long_req, + input logic ctrl_zq_cal_short_req, + output logic ctrl_zq_cal_ack, + + // Ports for "ctrl_ecc" interface + input logic [PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:0] ctrl_ecc_write_info_0, + output logic [PORT_CTRL_ECC_WB_POINTER_WIDTH-1:0] ctrl_ecc_wr_pointer_info_0, + output logic [PORT_CTRL_ECC_READ_INFO_WIDTH-1:0] ctrl_ecc_read_info_0, + output logic [PORT_CTRL_ECC_CMD_INFO_WIDTH-1:0] ctrl_ecc_cmd_info_0, + output logic ctrl_ecc_idle_0, + output logic [PORT_CTRL_ECC_RDATA_ID_WIDTH-1:0] ctrl_ecc_rdata_id_0, + + input logic [PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:0] ctrl_ecc_write_info_1, + output logic [PORT_CTRL_ECC_WB_POINTER_WIDTH-1:0] ctrl_ecc_wr_pointer_info_1, + output logic [PORT_CTRL_ECC_READ_INFO_WIDTH-1:0] ctrl_ecc_read_info_1, + output logic [PORT_CTRL_ECC_CMD_INFO_WIDTH-1:0] ctrl_ecc_cmd_info_1, + output logic ctrl_ecc_idle_1, + output logic [PORT_CTRL_ECC_RDATA_ID_WIDTH-1:0] ctrl_ecc_rdata_id_1 + +); + timeunit 1ns; + timeprecision 1ps; + + localparam NUM_C2L_FANOUT = NUM_OF_RTL_TILES * LANES_PER_TILE; + + assign core2ctl_sideband_0[3:0] = ctrl_user_refresh_req; + assign core2ctl_sideband_0[19:4] = ctrl_user_refresh_bank; + assign core2ctl_sideband_0[20] = ctrl_deep_power_down_req; + assign core2ctl_sideband_0[24:21] = ctrl_self_refresh_req; + assign core2ctl_sideband_0[25] = ctrl_zq_cal_long_req; + assign core2ctl_sideband_0[26] = ctrl_zq_cal_short_req; + + assign ctrl_user_refresh_ack = ctl2core_sideband_0[6]; + assign ctrl_deep_power_down_ack = ctl2core_sideband_0[7]; + assign ctrl_power_down_ack = ctl2core_sideband_0[8]; + assign ctrl_self_refresh_ack = ctl2core_sideband_0[9]; + assign ctrl_zq_cal_ack = ctl2core_sideband_0[10]; + assign ctrl_will_refresh = ctl2core_sideband_0[13]; + + + + assign ctrl_ecc_read_info_0 = ctl2core_sideband_0[2:0]; + assign ctrl_ecc_cmd_info_0 = ctl2core_sideband_0[5:3]; + assign ctrl_ecc_idle_0 = ctl2core_sideband_0[12]; + assign ctrl_ecc_rdata_id_0 = ctl2core_avl_rdata_id_0; + + assign ctrl_ecc_wr_pointer_info_0 = l2core_wb_pointer_for_ecc[11:0]; + assign core2ctl_sideband_0[41:27] = ctrl_ecc_write_info_0; + + assign core2l_wr_ecc_info = (NUM_OF_HMC_PORTS>0 && HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_ST")? ctrl_ecc_write_info_0[14:2] : 13'b0; + + assign ctrl_ecc_read_info_1 = 3'd0; + assign ctrl_ecc_cmd_info_1 = 3'd0; + assign ctrl_ecc_idle_1 = 1'b0; + assign ctrl_ecc_rdata_id_1 = 13'd0; + assign ctrl_ecc_wr_pointer_info_1 = 12'd0; + assign core2ctl_sideband_1[3:0] = '0; + assign core2ctl_sideband_1[19:4] = '0; + assign core2ctl_sideband_1[20] = '0; + assign core2ctl_sideband_1[24:21] = '0; + assign core2ctl_sideband_1[25] = '0; + assign core2ctl_sideband_1[26] = '0; + assign core2ctl_sideband_1[41:27] = 15'd0; + +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm068zWwN3Gvd0+vLqYte5gk4gZkrjWWs1hpN2l14WFBOFeogFzjmiiGGXXF0EMoDlVbsIxIzy6sSaUeNxCoMZzzFjCmflWQ6s1Mxw/bSbxNbVgtwhjL2LZyGP0+uhhZP3WYMIZhiBfMhHgivq9DwUkWiN9ghMQxa9QXqO7n77/fyf2eejvESKZ/sxUA/1WrXQsrLwqaTKngFtIDCcp+/eLLL7QH8xLciwvq2vocL6WObkVY4GX+tXm5kzbr3AW7Ko8nxPARVLyN23T+hcZ8dXWAgbpIopm8ilC59Tffp6hsiZ4Oomjr6aVemOcnlsdLua6SwleTEmsW6fHvx2tpISBSHS8YreekzhW5aCxDCXmDPCALpSKPmac5GUpr7NqCCXknZPD+4FaRiDvyiA3+XsuYwxaRDTO+g1hW56HHdTpPi7f4qEKhUhn0VGRQlTHil2PCjtSd854yBmQu4fnM2Cyb+awa91+stRaCHQEcNn+LWHziCYhvUzHF3BqSnENdTlqSh4SH3gDgFAanvKq54sD2KNghJcPAwSrIStEoI/VAAYSBNt1cU1MCKMlDFsu7SiYnwNoP6vmFfiCYLcHRaRhtlyQ4ixrv1VmnApNTgoQQqTbwYMyf9BoT+YXWaP2sOabcYOWhd8FmU6wMBq3BdMKdcfWRouSo0cI8/2PNCcZa6ru6BBjeBIh7ongdpBWQXmsnHFm8Q5V9Oi6cJxZL+ThbjdsTOdZx5xplLH/JHmTMvyPtvo6ikTYQnLaxiCR73GchMIry7vkja9AmDyVRjFYP" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hps_clks_rsts.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hps_clks_rsts.sv new file mode 100644 index 0000000000..d275699be1 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hps_clks_rsts.sv @@ -0,0 +1,109 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// This module handles the creation and wiring of the HPS clock/reset signals. +// +/////////////////////////////////////////////////////////////////////////////// + +// altera message_off 10036 + + module altera_emif_arch_fm_hps_clks_rsts #( + parameter PORT_CLKS_SHARING_MASTER_OUT_WIDTH = 32, + parameter PORT_CLKS_SHARING_SLAVE_IN_WIDTH = 32, + parameter PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH = 1, + parameter PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH = 1, + parameter PORT_HPS_EMIF_H2E_GP_WIDTH = 1 +) ( + // For a master interface, the PLL ref clock and the global reset signal + // come from an external source from user logic, via the following ports. + // For slave interfaces, they come from the master via the sharing interface. + // The connectivity ensures that all interfaces in a master/slave + // configuration share the same ref clock and global reset, which is + // one of the requirements for core-clock sharing. + // pll_ref_clk_int is the actual PLL ref clock signal that will be used by the + // reset of the IP. For a master interface it is equivalent to pll_ref_clk. + // For a slave interface it is equivalent to the pll_ref_clk signal of the master. + input logic pll_ref_clk, + output logic pll_ref_clk_int, + + // Feedback signals to CPA via the core + output logic [1:0] core_clks_fb_to_cpa_pri, + output logic [1:0] core_clks_fb_to_cpa_sec, + + // Reset request signal. + // local_reset_req_int is the actual reset request signal that will be + // used internally by the rest of the IP. For a master interface it + // is equivalent to local_reset_req. For a slave interface it is + // equivalent to the local_reset_req signal of the master. + input logic local_reset_req, + output logic local_reset_req_int, + + // The following is the master/slave sharing interfaces. + input logic [PORT_CLKS_SHARING_SLAVE_IN_WIDTH-1:0] clks_sharing_slave_in, + output logic [PORT_CLKS_SHARING_MASTER_OUT_WIDTH-1:0] clks_sharing_master_out, + + // The following are all the possible core clock/reset signals. + // afi_* only exists in PHY-only mode (or if soft controller is used). + // emif_usr_* only exists if hard memory controller is used. + output logic afi_clk, + output logic afi_half_clk, + output logic afi_reset_n, + + output logic emif_usr_clk, + output logic emif_usr_half_clk, + output logic emif_usr_reset_n, + + output logic emif_usr_clk_sec, + output logic emif_usr_half_clk_sec, + output logic emif_usr_reset_n_sec, + + // DFT + output logic [PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH-1:0] dft_core_clk_buf_out, + output logic [PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH-1:0] dft_core_clk_locked +); + timeunit 1ns; + timeprecision 1ps; + + // HPS clocks are not modeled for simulation. + // Also in HPS mode we do not generate clocks that are visible to user logic. + assign pll_ref_clk_int = pll_ref_clk; + + // Reset request is not supported by HPS EMIF. + // HPS EMIF has its own way of reset request mechanism. + assign local_reset_req_int = 1'b0; + + assign afi_clk = 1'b0; + assign afi_half_clk = 1'b0; + assign afi_reset_n = 1'b1; + + assign emif_usr_clk = 1'b0; + assign emif_usr_half_clk = 1'b0; + assign emif_usr_reset_n = 1'b1; + + assign emif_usr_clk_sec = 1'b0; + assign emif_usr_half_clk_sec = 1'b0; + assign emif_usr_reset_n_sec = 1'b1; + + assign core_clks_fb_to_cpa_pri = '0; + assign core_clks_fb_to_cpa_sec = '0; + assign clks_sharing_master_out = '0; + + assign dft_core_clk_locked = '0; + assign dft_core_clk_buf_out = '0; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2VJ/YUEn9R/ugUoGv9EVWxH2feQCRBXZZFQaUR7HxitpOWsPBGtN9tbo3ts1HWl/3/p/hfRgTvK3To+uNM1OSBeMLQ9IUr7hM//ghYu5SaAKQ7CTeOveiHpxUm8dG+ZJ7Pl4XvhfvC4/uneZ6vAWQSDVB5RKTPrtAtF2+dqdUoYcKOPZLA2UG71oa2MUAEhhpqwvG829Z0T2BMnXTY9w2/4v+Yb7cPxCkKuAfD0aeHpoEYCDJdv/r1nYjpFVzWYYGOhsm/h2nMmihZBBpGAFpvF7uo0obDwCYv5xra53EHt/hfIhPLXCWQTc5iR/F5YcgZ6KMGvvpFCJwbOIoNHM2wm6VlSxtYmfoQnxoSQN47Xtw3VyPudSziivVu0HFALaXbh9KCFqFP4ThEU8PbkWXSBwZijFL2f5WgcjD6LZmHhiIZIEWAVUa1NauPlL+uxFbisLejCRb7qDAU5fy9i60iba/riaUz1obOAt5F9XbqVkbHK5NPhfkswQV7ERsB88PqsRhfkB61RCcdPJ/WJJoyyL2cEYTdtlK1V+9PfNebeGJXxPRnndnNOmpAmMM0JXR0z8KDxB8N9/i/EoqLNfiTqJ9p9b3KS+WxYIlDVKKFMCqlbmGgIyEycix0IgfYyA72gofzIF5rLlloSCLq99pLWtL8R7MP8+Z4sQkrMuJIegphhK9XQlKmWWTeRonWRoTaCwquZ0v9fH2P6hAk7deaO3dgK9dBBmc7Ht6rgoWveg6/0DNCx9sZT2cW303qcokHAY9qS+yAZH8H01IpS1GV" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_lane_remap.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_lane_remap.sv new file mode 100644 index 0000000000..8c9d3bf631 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_lane_remap.sv @@ -0,0 +1,696 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module instantiates one lane withina a tile +// This file remaps the parameter to uniquify the names for easy reading +// at the top level +// +/////////////////////////////////////////////////////////////////////////////// + +`define TO_STRING(S) `"S`" + +`define _map_pin_octrt(X) ( pin``X``_oct_rt == "static_oct_on" ? `TO_STRING(pin``X``_static_oct_on) : ( \ + `TO_STRING(pin``X``_static_oct_off) )) + +`define _map_pin_initial_out(X) ( pin``X``_initial_out == "initial_out_z" ? `TO_STRING(pin``X``_initial_out_z) : ( \ + pin``X``_initial_out == "initial_out_0" ? `TO_STRING(pin``X``_initial_out_0) : ( \ + pin``X``_initial_out == "initial_out_1" ? `TO_STRING(pin``X``_initial_out_1) : ( \ + `TO_STRING(pin``X``_initial_out_x) )))) + +`define _map_lane_pin_mode(X) ( lane_pin``X``_mode == "pin_ddr" ? `TO_STRING(lane_pin``X``_ddr) : ( \ + `TO_STRING(lane_pin``X``_unused) )) + +`define _map_pin_dynoct(X) ( pin``X``_dyn_oct == "dyn_oct_on" ? `TO_STRING(pin``X``_dyn_oct_on) : ( \ + `TO_STRING(pin``X``_dyn_oct_off) )) + +`define _map_db_pin_mode(X) ( \ + db_pin``X``_mode == "ac_hmc" ? `TO_STRING(pin``X``_ac_wdb_ddr4_hmc) : ( \ + db_pin``X``_mode == "dq_wdb_mode" ? `TO_STRING(pin``X``_dq_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "dm_wdb_mode" ? `TO_STRING(pin``X``_dm_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "dbi_wdb_mode" ? `TO_STRING(pin``X``_dbi_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "clk_wdb_mode" ? `TO_STRING(pin``X``_clk_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "clkb_wdb_mode" ? `TO_STRING(pin``X``_clkb_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "dqs_wdb_mode" ? `TO_STRING(pin``X``_dqs_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "dqsb_wdb_mode" ? `TO_STRING(pin``X``_dqsb_wdb_ddr4_mode) : ( \ + db_pin``X``_mode == "ac_in_core" ? `TO_STRING(pin``X``_ac_in_core) : ( \ + db_pin``X``_mode == "ac_core" ? `TO_STRING(pin``X``_ac_core) : ( \ + db_pin``X``_mode == "dq_mode" ? `TO_STRING(pin``X``_dq_mode) : ( \ + db_pin``X``_mode == "dm_mode" ? `TO_STRING(pin``X``_dm_mode) : ( \ + db_pin``X``_mode == "dbi_mode" ? `TO_STRING(pin``X``_dbi_mode) : ( \ + db_pin``X``_mode == "clk_mode" ? `TO_STRING(pin``X``_clk_mode) : ( \ + db_pin``X``_mode == "clkb_mode" ? `TO_STRING(pin``X``_clkb_mode) : ( \ + db_pin``X``_mode == "dqs_mode" ? `TO_STRING(pin``X``_dqs_mode) : ( \ + db_pin``X``_mode == "dqsb_mode" ? `TO_STRING(pin``X``_dqsb_mode) : ( \ + db_pin``X``_mode == "dqs_ddr4_mode" ? `TO_STRING(pin``X``_dqs_ddr4_mode) : ( \ + db_pin``X``_mode == "dqsb_ddr4_mode" ? `TO_STRING(pin``X``_dqsb_ddr4_mode) : ( \ + db_pin``X``_mode == "rdq_mode" ? `TO_STRING(pin``X``_rdq_mode) : ( \ + db_pin``X``_mode == "rdqs_mode" ? `TO_STRING(pin``X``_rdqs_mode) : ( \ + db_pin``X``_mode == "gpio_mode" ? `TO_STRING(pin``X``_gpio_mode) : ( \ + "UNMATCHED_DB_PIN_MODE" ))))))))))))))))))))))) + +`define _map_pin_mode_ddr(X) ( pin``X``_mode_ddr == "mode_sdr" ? `TO_STRING(pin``X``_mode_sdr) : ( \ + `TO_STRING(pin``X``_mode_ddr) )) + +`define _map_pin_dqs_mode(X) ( pin``X``_dqs_mode == "dqs_sampler_a" ? `TO_STRING(pin``X``_dqs_sampler_a) : ( \ + pin``X``_dqs_mode == "dqs_sampler_b" ? `TO_STRING(pin``X``_dqs_sampler_b) : ( \ + `TO_STRING(pin``X``_dqs_sampler_b_a_rise) ))) + +`define _map_pin_data_in_mode(X) ( pin``X``_data_in_mode == "ca" ? `TO_STRING(pin``X``_ca) : ( \ + pin``X``_data_in_mode == "clock" ? `TO_STRING(pin``X``_clock) : ( \ + pin``X``_data_in_mode == "dq" ? `TO_STRING(pin``X``_dq) : ( \ + pin``X``_data_in_mode == "dqs" ? `TO_STRING(pin``X``_dqs) : ( \ + pin``X``_data_in_mode == "dpa_slave" ? `TO_STRING(pin``X``_dpa_slave) : ( \ + pin``X``_data_in_mode == "dpa_master" ? `TO_STRING(pin``X``_dpa_master) : ( \ + pin``X``_data_in_mode == "dq_xor_a_loopback" ? `TO_STRING(pin``X``_dq_xor_a_loopback) : ( \ + pin``X``_data_in_mode == "dq_xor_b_loopback" ? `TO_STRING(pin``X``_dq_xor_b_loopback) : ( \ + `TO_STRING(pin``X``_dqs_xor_loopback) ))))))))) + +`define _map_pin_gpio_differential(X) ( pin``X``_gpio_differential == "gpio_single_ended" ? `TO_STRING(pin``X``_gpio_single_ended) : ( \ + `TO_STRING(pin``X``_gpio_differential) )) + +`define _map_pin_dq_in_select(X) ( pin``X``_dq_in_select == "dq_sstl_in" ? `TO_STRING(pin``X``_dq_sstl_in) : ( \ + pin``X``_dq_in_select == "dq_loopback_in" ? `TO_STRING(pin``X``_dq_loopback_in) : ( \ + pin``X``_dq_in_select == "dq_xor_loopback_in" ? `TO_STRING(pin``X``_dq_xor_loopback_in) : ( \ + pin``X``_dq_in_select == "dq_differential_in" ? `TO_STRING(pin``X``_dq_differential_in) : ( \ + `TO_STRING(pin``X``_dq_disabled) ))))) + +`define _map_lane_pin_ddr_mode(X) ( lane_pin``X``_ddr_mode == "ddr_notddr" ? `TO_STRING(lane_pin``X``_ddr_notddr) : ( \ + lane_pin``X``_ddr_mode == "ddr_dq" ? `TO_STRING(lane_pin``X``_ddr_dq) : ( \ + lane_pin``X``_ddr_mode == "ddr_dqs" ? `TO_STRING(lane_pin``X``_ddr_dqs) : ( \ + lane_pin``X``_ddr_mode == "ddr_dqsb" ? `TO_STRING(lane_pin``X``_ddr_dqsb) : ( \ + lane_pin``X``_ddr_mode == "ddr_dm" ? `TO_STRING(lane_pin``X``_ddr_dm) : ( \ + lane_pin``X``_ddr_mode == "ddr_ca_ddr" ? `TO_STRING(lane_pin``X``_ddr_ca_ddr) : ( \ + lane_pin``X``_ddr_mode == "ddr_ca_sdr" ? `TO_STRING(lane_pin``X``_ddr_ca_sdr) : ( \ + lane_pin``X``_ddr_mode == "ddr_phylite_data_qr" ? `TO_STRING(lane_pin``X``_ddr_phylite_data_qr) : ( \ + `TO_STRING(lane_pin``X``_ddr_phylite_data_hr) ))))))))) + +module altera_emif_arch_fm_io_lane_remap ( + input [1:0] phy_clk, + input [1:0] phy_clk_local_early, + input [1:0] phy_clk_local_late, + input [7:0] phy_clk_phs, + + input reset_n, + input pll_locked, + input dll_ref_clk, + output [5:0] ioereg_locked, + + input [47:0] oe_from_core, + input [95:0] data_from_core, + output [95:0] data_to_core, + input [15:0] mrnk_read_core, + input [15:0] mrnk_write_core, + input [3:0] rdata_en_full_core, + output [3:0] rdata_valid_core, + + input core2dbc_rd_data_rdy, + input core2dbc_wr_data_vld0, + input [12:0] core2dbc_wr_ecc_info, + output dbc2core_rd_data_vld0, + output dbc2core_rd_type, + output [11:0] dbc2core_wb_pointer, + output dbc2core_wr_data_rdy, + + input [95:0] ac_hmc, + output [5:0] afi_rlat_core, + output [5:0] afi_wlat_core, + input [17:0] cfg_dbc, + input [50:0] ctl2dbc0, + input [50:0] ctl2dbc1, + output [22:0] dbc2ctl, + + input [54:0] cal_avl_in, + output [31:0] cal_avl_readdata_out, + output [54:0] cal_avl_out, + input [31:0] cal_avl_readdata_in, + + input [1:0] dqs_in, + input [1:0] broadcast_in_bot, + input [1:0] broadcast_in_top, + output [1:0] broadcast_out_bot, + output [1:0] broadcast_out_top, + + input [11:0] data_in, + output [11:0] data_out, + output [11:0] data_oe, + output [11:0] oct_enable, + + input [2:0] core_dll, + output [12:0] dll_core, + + input sync_clk_bot_in, + output sync_clk_bot_out, + input sync_clk_top_in, + output sync_clk_top_out, + input sync_data_bot_in, + output sync_data_bot_out, + input sync_data_top_in, + output sync_data_top_out, + + output [1:0] dft_phy_clk +); +timeunit 1ps; +timeprecision 1ps; + + +parameter memory_controller = "smc"; +parameter memory_standard = "ddr4"; +parameter memory_burst_length = "bl8"; +parameter memory_width = "x8"; +parameter phy_clk_sel = 0; +parameter lane_mode = "lane_unused"; +parameter lane_ddr_mode = "lane_ddr_notddr"; +parameter logic [15:0] clock_period_ps = 'd0; + +parameter dqs_enable_delay = 6'd0; +parameter dqs_phase_shift_b = 13'd0; +parameter dqs_phase_shift_a = 13'd0; +parameter oct_size = 4'd0; +parameter rd_valid_delay = 7'd0; + +parameter mode_rate_in = "in_rate_1_4"; +parameter mode_rate_out = "out_rate_full"; +parameter logic [2:0] lock_speed = 3'h6; +parameter calibration = "skip"; + +parameter lane_pin0_mode = "lane_pin_unused"; +parameter lane_pin1_mode = "lane_pin_unused"; +parameter lane_pin2_mode = "lane_pin_unused"; +parameter lane_pin3_mode = "lane_pin_unused"; +parameter lane_pin4_mode = "lane_pin_unused"; +parameter lane_pin5_mode = "lane_pin_unused"; +parameter lane_pin6_mode = "lane_pin_unused"; +parameter lane_pin7_mode = "lane_pin_unused"; +parameter lane_pin8_mode = "lane_pin_unused"; +parameter lane_pin9_mode = "lane_pin_unused"; +parameter lane_pin10_mode = "lane_pin_unused"; +parameter lane_pin11_mode = "lane_pin_unused"; + +parameter lane_pin0_ddr_mode = "lane_pin_unused"; +parameter lane_pin1_ddr_mode = "lane_pin_unused"; +parameter lane_pin2_ddr_mode = "lane_pin_unused"; +parameter lane_pin3_ddr_mode = "lane_pin_unused"; +parameter lane_pin4_ddr_mode = "lane_pin_unused"; +parameter lane_pin5_ddr_mode = "lane_pin_unused"; +parameter lane_pin6_ddr_mode = "lane_pin_unused"; +parameter lane_pin7_ddr_mode = "lane_pin_unused"; +parameter lane_pin8_ddr_mode = "lane_pin_unused"; +parameter lane_pin9_ddr_mode = "lane_pin_unused"; +parameter lane_pin10_ddr_mode = "lane_pin_unused"; +parameter lane_pin11_ddr_mode = "lane_pin_unused"; + +parameter pin0_oct_rt = "static_oct_off"; +parameter pin1_oct_rt = "static_oct_off"; +parameter pin2_oct_rt = "static_oct_off"; +parameter pin3_oct_rt = "static_oct_off"; +parameter pin4_oct_rt = "static_oct_off"; +parameter pin5_oct_rt = "static_oct_off"; +parameter pin6_oct_rt = "static_oct_off"; +parameter pin7_oct_rt = "static_oct_off"; +parameter pin8_oct_rt = "static_oct_off"; +parameter pin9_oct_rt = "static_oct_off"; +parameter pin10_oct_rt = "static_oct_off"; +parameter pin11_oct_rt = "static_oct_off"; + +parameter pin0_initial_out = "initial_out_z"; +parameter pin1_initial_out = "initial_out_z"; +parameter pin2_initial_out = "initial_out_z"; +parameter pin3_initial_out = "initial_out_z"; +parameter pin4_initial_out = "initial_out_z"; +parameter pin5_initial_out = "initial_out_z"; +parameter pin6_initial_out = "initial_out_z"; +parameter pin7_initial_out = "initial_out_z"; +parameter pin8_initial_out = "initial_out_z"; +parameter pin9_initial_out = "initial_out_z"; +parameter pin10_initial_out = "initial_out_z"; +parameter pin11_initial_out = "initial_out_z"; + +parameter pin0_dyn_oct = "dyn_oct_off"; +parameter pin1_dyn_oct = "dyn_oct_off"; +parameter pin2_dyn_oct = "dyn_oct_off"; +parameter pin3_dyn_oct = "dyn_oct_off"; +parameter pin4_dyn_oct = "dyn_oct_off"; +parameter pin5_dyn_oct = "dyn_oct_off"; +parameter pin6_dyn_oct = "dyn_oct_off"; +parameter pin7_dyn_oct = "dyn_oct_off"; +parameter pin8_dyn_oct = "dyn_oct_off"; +parameter pin9_dyn_oct = "dyn_oct_off"; +parameter pin10_dyn_oct = "dyn_oct_off"; +parameter pin11_dyn_oct = "dyn_oct_off"; + +parameter pin0_dq_in_select = "dq_disabled"; +parameter pin1_dq_in_select = "dq_disabled"; +parameter pin2_dq_in_select = "dq_disabled"; +parameter pin3_dq_in_select = "dq_disabled"; +parameter pin4_dq_in_select = "dq_disabled"; +parameter pin5_dq_in_select = "dq_disabled"; +parameter pin6_dq_in_select = "dq_disabled"; +parameter pin7_dq_in_select = "dq_disabled"; +parameter pin8_dq_in_select = "dq_disabled"; +parameter pin9_dq_in_select = "dq_disabled"; +parameter pin10_dq_in_select = "dq_disabled"; +parameter pin11_dq_in_select = "dq_disabled"; + +parameter pin0_mode_ddr = "mode_ddr"; +parameter pin1_mode_ddr = "mode_ddr"; +parameter pin2_mode_ddr = "mode_ddr"; +parameter pin3_mode_ddr = "mode_ddr"; +parameter pin4_mode_ddr = "mode_ddr"; +parameter pin5_mode_ddr = "mode_ddr"; +parameter pin6_mode_ddr = "mode_ddr"; +parameter pin7_mode_ddr = "mode_ddr"; +parameter pin8_mode_ddr = "mode_ddr"; +parameter pin9_mode_ddr = "mode_ddr"; +parameter pin10_mode_ddr = "mode_ddr"; +parameter pin11_mode_ddr = "mode_ddr"; + +parameter pin0_dqs_mode = "dqs_sampler_a"; +parameter pin1_dqs_mode = "dqs_sampler_a"; +parameter pin2_dqs_mode = "dqs_sampler_a"; +parameter pin3_dqs_mode = "dqs_sampler_a"; +parameter pin4_dqs_mode = "dqs_sampler_a"; +parameter pin5_dqs_mode = "dqs_sampler_a"; +parameter pin6_dqs_mode = "dqs_sampler_a"; +parameter pin7_dqs_mode = "dqs_sampler_a"; +parameter pin8_dqs_mode = "dqs_sampler_a"; +parameter pin9_dqs_mode = "dqs_sampler_a"; +parameter pin10_dqs_mode = "dqs_sampler_a"; +parameter pin11_dqs_mode = "dqs_sampler_a"; + +parameter pin0_data_in_mode = "ca"; +parameter pin1_data_in_mode = "ca"; +parameter pin2_data_in_mode = "ca"; +parameter pin3_data_in_mode = "ca"; +parameter pin4_data_in_mode = "ca"; +parameter pin5_data_in_mode = "ca"; +parameter pin6_data_in_mode = "ca"; +parameter pin7_data_in_mode = "ca"; +parameter pin8_data_in_mode = "ca"; +parameter pin9_data_in_mode = "ca"; +parameter pin10_data_in_mode = "ca"; +parameter pin11_data_in_mode = "ca"; + +parameter db_pin0_mode = "pin_gpio_mode"; +parameter db_pin1_mode = "pin_gpio_mode"; +parameter db_pin2_mode = "pin_gpio_mode"; +parameter db_pin3_mode = "pin_gpio_mode"; +parameter db_pin4_mode = "pin_gpio_mode"; +parameter db_pin5_mode = "pin_gpio_mode"; +parameter db_pin6_mode = "pin_gpio_mode"; +parameter db_pin7_mode = "pin_gpio_mode"; +parameter db_pin8_mode = "pin_gpio_mode"; +parameter db_pin9_mode = "pin_gpio_mode"; +parameter db_pin10_mode = "pin_gpio_mode"; +parameter db_pin11_mode = "pin_gpio_mode"; + +parameter pin0_gpio_differential = "gpio_single_ended"; +parameter pin1_gpio_differential = "gpio_single_ended"; +parameter pin2_gpio_differential = "gpio_single_ended"; +parameter pin3_gpio_differential = "gpio_single_ended"; +parameter pin4_gpio_differential = "gpio_single_ended"; +parameter pin5_gpio_differential = "gpio_single_ended"; +parameter pin6_gpio_differential = "gpio_single_ended"; +parameter pin7_gpio_differential = "gpio_single_ended"; +parameter pin8_gpio_differential = "gpio_single_ended"; +parameter pin9_gpio_differential = "gpio_single_ended"; +parameter pin10_gpio_differential = "gpio_single_ended"; +parameter pin11_gpio_differential = "gpio_single_ended"; + +parameter db_hmc_or_core = "core"; +parameter db_dbi_sel = "dbi_dq0"; +parameter db_dbi_wr_en = "dbi_wr_dis"; +parameter db_dbi_rd_en = "dbi_rd_dis"; + +parameter db_avl_ena = "avl_disable"; +parameter db_avl_base_addr = 9'd0; +parameter db_avl_broadcast_en = "bc_disable"; + +parameter db_sel_core_clk = "phy_clk0"; + +parameter db_rwlat_mode = "avl_vlu"; +parameter db_ptr_pipeline_depth = "db_ptr_pipeline_depth_0"; +parameter db_preamble_mode = "preamble_one_cycle"; +parameter db_data_alignment_mode = "align_disable"; +parameter db_db2core_registered = "registered"; +parameter db_seq_rd_en_full_pipeline = "db_seq_rd_en_full_pipeline_0"; +parameter dll_rst_en = "dll_rst_dis"; +parameter dll_core_updnen = "core_updn_en"; +parameter dll_ctlsel = "ctl_static"; +parameter enable_toggler = "preamble_track_dqs_enable"; + +parameter dqs_select_a = "dqs_diff_in_1_a"; +parameter dqs_select_b = "dqs_diff_in_1_b"; + +parameter db_afi_wlat_vlu = 6'd0; +parameter db_afi_rlat_vlu = 6'd0; +parameter dbc_wb_reserved_entry = 5'd0; +parameter dll_ctl_static = 11'd0; +parameter db_mrnk_write_mode = "mrnk_write_enable"; + +parameter db_dbc_rb_readylat_en = "dbc_rb_readylat_disable"; +parameter db_dbc_wb_readylat_en = "dbc_wb_readylat_disable"; +parameter db_dbc_ctrl_rc_en_scalar = "dbc_rc_scalar_disable"; + +localparam l_phy_clk_sel = (phy_clk_sel == 0) ? "phy_clk_0" : "phy_clk_1"; + +localparam [15:0] clock_period_remap = clock_period_ps * 10; + +`define a_db_seq_rd_en_full_pipeline_remap(a_db_seq_rd_en_full_pipeline) \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_0") ? "db_seq_rd_en_full_pipeline_1": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_1") ? "db_seq_rd_en_full_pipeline_2": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_2") ? "db_seq_rd_en_full_pipeline_3": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_3") ? "db_seq_rd_en_full_pipeline_4": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_4") ? "db_seq_rd_en_full_pipeline_5": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_5") ? "db_seq_rd_en_full_pipeline_6": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_6") ? "db_seq_rd_en_full_pipeline_7": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_7") ? "db_seq_rd_en_full_pipeline_8": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_8") ? "db_seq_rd_en_full_pipeline_9": \ + (a_db_seq_rd_en_full_pipeline == "db_seq_rd_en_full_pipeline_9") ? "db_seq_rd_en_full_pipeline_10": \ + "db_seq_rd_en_full_pipeline_2" + + tennm_io_12_lane #( + .a_memory_standard (memory_standard), + .a_memory_burst_length (memory_burst_length), + .a_memory_controller (memory_controller), + .a_memory_width (memory_width), + + .a_mode_rate_in (mode_rate_in), + .a_mode_rate_out (mode_rate_out), + .a_clock_period (clock_period_remap), + .a_phy_clk_mode (l_phy_clk_sel), + .a_calibration (calibration), + .a_lock_speed (lock_speed), + .a_db_dbc_ctrl_rc_en_scalar (db_dbc_ctrl_rc_en_scalar), + .a_db_avl_base_addr (db_avl_base_addr), + .a_db_avl_broadcast_en (db_avl_broadcast_en), + .a_db_avl_ena (db_avl_ena), + .a_dqs_select_a (dqs_select_a), + .a_dqs_select_b (dqs_select_b), + + .a_memory_rank_size ("rank1"), + .a_output_phase (0), + .a_io_out_delay (0), + .a_board_delay (0), + .a_io_in_delay (0), + .a_pipe_latency (0), + .a_cas_latency (0), + .a_wl_latency (0), + .a_al_latency (0), + .a_register_latency (0), + .a_parity_latency (0), + .a_phy_wlat (0), + .a_dq_wl_remainder (0), + .a_ck_cmd (0), + .a_dqss (12'h40), + .a_dq_read_latency (0), + .a_dq_write_latency (0), + .a_cmd_core_to_codin (0), + .a_dq_min_core_to_codin (0), + .a_dq_rem_core_to_codin (0), + .a_struct_gate_delay (8'h0b), + .a_cmd_pipe_latency (0), + .a_cmd_add_phy_delay (0), + .a_mode_output ("oct_delayed"), + .a_dq_min_output_phase (0), + .a_cmd_min_output_phase (0), + + .a_lane_ddr_mode (lane_ddr_mode), + .a_lane_pin0_ddr_mode (`_map_lane_pin_ddr_mode(0)), + .a_lane_pin1_ddr_mode (`_map_lane_pin_ddr_mode(1)), + .a_lane_pin2_ddr_mode (`_map_lane_pin_ddr_mode(2)), + .a_lane_pin3_ddr_mode (`_map_lane_pin_ddr_mode(3)), + .a_lane_pin4_ddr_mode (`_map_lane_pin_ddr_mode(4)), + .a_lane_pin5_ddr_mode (`_map_lane_pin_ddr_mode(5)), + .a_lane_pin6_ddr_mode (`_map_lane_pin_ddr_mode(6)), + .a_lane_pin7_ddr_mode (`_map_lane_pin_ddr_mode(7)), + .a_lane_pin8_ddr_mode (`_map_lane_pin_ddr_mode(8)), + .a_lane_pin9_ddr_mode (`_map_lane_pin_ddr_mode(9)), + .a_lane_pin10_ddr_mode (`_map_lane_pin_ddr_mode(10)), + .a_lane_pin11_ddr_mode (`_map_lane_pin_ddr_mode(11)), + + .a_lane_mode (lane_mode), + .a_lane_pin0_mode (`_map_lane_pin_mode(0)), + .a_lane_pin1_mode (`_map_lane_pin_mode(1)), + .a_lane_pin2_mode (`_map_lane_pin_mode(2)), + .a_lane_pin3_mode (`_map_lane_pin_mode(3)), + .a_lane_pin4_mode (`_map_lane_pin_mode(4)), + .a_lane_pin5_mode (`_map_lane_pin_mode(5)), + .a_lane_pin6_mode (`_map_lane_pin_mode(6)), + .a_lane_pin7_mode (`_map_lane_pin_mode(7)), + .a_lane_pin8_mode (`_map_lane_pin_mode(8)), + .a_lane_pin9_mode (`_map_lane_pin_mode(9)), + .a_lane_pin10_mode (`_map_lane_pin_mode(10)), + .a_lane_pin11_mode (`_map_lane_pin_mode(11)), + + .a_lane_lvds0_mode ("lane_lvds0_notlvds"), + .a_lane_lvds1_mode ("lane_lvds1_notlvds"), + .a_lane_lvds2_mode ("lane_lvds2_notlvds"), + .a_lane_lvds3_mode ("lane_lvds3_notlvds"), + .a_lane_lvds4_mode ("lane_lvds4_notlvds"), + .a_lane_lvds5_mode ("lane_lvds5_notlvds"), + + .a_db_hmc_or_core (db_hmc_or_core), + .a_db_db2core_registered (db_db2core_registered), + .a_db_preamble_mode (db_preamble_mode), + .a_db_data_alignment_mode (db_data_alignment_mode), + + .a_db_pin0_mode (`_map_db_pin_mode(0)), + .a_db_pin1_mode (`_map_db_pin_mode(1)), + .a_db_pin2_mode (`_map_db_pin_mode(2)), + .a_db_pin3_mode (`_map_db_pin_mode(3)), + .a_db_pin4_mode (`_map_db_pin_mode(4)), + .a_db_pin5_mode (`_map_db_pin_mode(5)), + .a_db_pin6_mode (`_map_db_pin_mode(6)), + .a_db_pin7_mode (`_map_db_pin_mode(7)), + .a_db_pin8_mode (`_map_db_pin_mode(8)), + .a_db_pin9_mode (`_map_db_pin_mode(9)), + .a_db_pin10_mode (`_map_db_pin_mode(10)), + .a_db_pin11_mode (`_map_db_pin_mode(11)), + + + .a_pin0_octrt (`_map_pin_octrt(0)), + .a_pin1_octrt (`_map_pin_octrt(1)), + .a_pin2_octrt (`_map_pin_octrt(2)), + .a_pin3_octrt (`_map_pin_octrt(3)), + .a_pin4_octrt (`_map_pin_octrt(4)), + .a_pin5_octrt (`_map_pin_octrt(5)), + .a_pin6_octrt (`_map_pin_octrt(6)), + .a_pin7_octrt (`_map_pin_octrt(7)), + .a_pin8_octrt (`_map_pin_octrt(8)), + .a_pin9_octrt (`_map_pin_octrt(9)), + .a_pin10_octrt (`_map_pin_octrt(10)), + .a_pin11_octrt (`_map_pin_octrt(11)), + + .a_pin0_initial_out (`_map_pin_initial_out(0)), + .a_pin1_initial_out (`_map_pin_initial_out(1)), + .a_pin2_initial_out (`_map_pin_initial_out(2)), + .a_pin3_initial_out (`_map_pin_initial_out(3)), + .a_pin4_initial_out (`_map_pin_initial_out(4)), + .a_pin5_initial_out (`_map_pin_initial_out(5)), + .a_pin6_initial_out (`_map_pin_initial_out(6)), + .a_pin7_initial_out (`_map_pin_initial_out(7)), + .a_pin8_initial_out (`_map_pin_initial_out(8)), + .a_pin9_initial_out (`_map_pin_initial_out(9)), + .a_pin10_initial_out (`_map_pin_initial_out(10)), + .a_pin11_initial_out (`_map_pin_initial_out(11)), + + .a_pin0_dynoct (`_map_pin_dynoct(0)), + .a_pin1_dynoct (`_map_pin_dynoct(1)), + .a_pin2_dynoct (`_map_pin_dynoct(2)), + .a_pin3_dynoct (`_map_pin_dynoct(3)), + .a_pin4_dynoct (`_map_pin_dynoct(4)), + .a_pin5_dynoct (`_map_pin_dynoct(5)), + .a_pin6_dynoct (`_map_pin_dynoct(6)), + .a_pin7_dynoct (`_map_pin_dynoct(7)), + .a_pin8_dynoct (`_map_pin_dynoct(8)), + .a_pin9_dynoct (`_map_pin_dynoct(9)), + .a_pin10_dynoct (`_map_pin_dynoct(10)), + .a_pin11_dynoct (`_map_pin_dynoct(11)), + + .a_pin0_mode_ddr (`_map_pin_mode_ddr(0)), + .a_pin1_mode_ddr (`_map_pin_mode_ddr(1)), + .a_pin2_mode_ddr (`_map_pin_mode_ddr(2)), + .a_pin3_mode_ddr (`_map_pin_mode_ddr(3)), + .a_pin4_mode_ddr (`_map_pin_mode_ddr(4)), + .a_pin5_mode_ddr (`_map_pin_mode_ddr(5)), + .a_pin6_mode_ddr (`_map_pin_mode_ddr(6)), + .a_pin7_mode_ddr (`_map_pin_mode_ddr(7)), + .a_pin8_mode_ddr (`_map_pin_mode_ddr(8)), + .a_pin9_mode_ddr (`_map_pin_mode_ddr(9)), + .a_pin10_mode_ddr (`_map_pin_mode_ddr(10)), + .a_pin11_mode_ddr (`_map_pin_mode_ddr(11)), + + .a_pin0_dqs_mode (`_map_pin_dqs_mode(0)), + .a_pin1_dqs_mode (`_map_pin_dqs_mode(1)), + .a_pin2_dqs_mode (`_map_pin_dqs_mode(2)), + .a_pin3_dqs_mode (`_map_pin_dqs_mode(3)), + .a_pin4_dqs_mode (`_map_pin_dqs_mode(4)), + .a_pin5_dqs_mode (`_map_pin_dqs_mode(5)), + .a_pin6_dqs_mode (`_map_pin_dqs_mode(6)), + .a_pin7_dqs_mode (`_map_pin_dqs_mode(7)), + .a_pin8_dqs_mode (`_map_pin_dqs_mode(8)), + .a_pin9_dqs_mode (`_map_pin_dqs_mode(9)), + .a_pin10_dqs_mode (`_map_pin_dqs_mode(10)), + .a_pin11_dqs_mode (`_map_pin_dqs_mode(11)), + + .a_pin0_data_in_mode (`_map_pin_data_in_mode(0)), + .a_pin1_data_in_mode (`_map_pin_data_in_mode(1)), + .a_pin2_data_in_mode (`_map_pin_data_in_mode(2)), + .a_pin3_data_in_mode (`_map_pin_data_in_mode(3)), + .a_pin4_data_in_mode (`_map_pin_data_in_mode(4)), + .a_pin5_data_in_mode (`_map_pin_data_in_mode(5)), + .a_pin6_data_in_mode (`_map_pin_data_in_mode(6)), + .a_pin7_data_in_mode (`_map_pin_data_in_mode(7)), + .a_pin8_data_in_mode (`_map_pin_data_in_mode(8)), + .a_pin9_data_in_mode (`_map_pin_data_in_mode(9)), + .a_pin10_data_in_mode (`_map_pin_data_in_mode(10)), + .a_pin11_data_in_mode (`_map_pin_data_in_mode(11)), + + .a_pin0_gpio_differential ("pin0_gpio_single_ended"), + .a_pin1_gpio_differential ("pin1_gpio_single_ended"), + .a_pin2_gpio_differential ("pin2_gpio_single_ended"), + .a_pin3_gpio_differential ("pin3_gpio_single_ended"), + .a_pin4_gpio_differential ("pin4_gpio_single_ended"), + .a_pin5_gpio_differential ("pin5_gpio_single_ended"), + .a_pin6_gpio_differential ("pin6_gpio_single_ended"), + .a_pin7_gpio_differential ("pin7_gpio_single_ended"), + .a_pin8_gpio_differential ("pin8_gpio_single_ended"), + .a_pin9_gpio_differential ("pin9_gpio_single_ended"), + .a_pin10_gpio_differential ("pin10_gpio_single_ended"), + .a_pin11_gpio_differential ("pin11_gpio_single_ended"), + + .a_pin0_dq_in_select (`_map_pin_dq_in_select(0)), + .a_pin1_dq_in_select (`_map_pin_dq_in_select(1)), + .a_pin2_dq_in_select (`_map_pin_dq_in_select(2)), + .a_pin3_dq_in_select (`_map_pin_dq_in_select(3)), + .a_pin4_dq_in_select (`_map_pin_dq_in_select(4)), + .a_pin5_dq_in_select (`_map_pin_dq_in_select(5)), + .a_pin6_dq_in_select (`_map_pin_dq_in_select(6)), + .a_pin7_dq_in_select (`_map_pin_dq_in_select(7)), + .a_pin8_dq_in_select (`_map_pin_dq_in_select(8)), + .a_pin9_dq_in_select (`_map_pin_dq_in_select(9)), + .a_pin10_dq_in_select (`_map_pin_dq_in_select(10)), + .a_pin11_dq_in_select (`_map_pin_dq_in_select(11)), + + .a_db_afi_rlat_vlu (db_afi_rlat_vlu), + .a_db_afi_wlat_vlu (db_afi_wlat_vlu), + .a_db_sel_core_clk (db_sel_core_clk), + + .a_db_dbi_wr_en (db_dbi_wr_en), + .a_db_dbi_rd_en (db_dbi_rd_en), + .a_db_dbi_sel (db_dbi_sel), + .a_db_ptr_pipeline_depth (db_ptr_pipeline_depth), + .a_db_seq_rd_en_full_pipeline (`a_db_seq_rd_en_full_pipeline_remap(db_seq_rd_en_full_pipeline)), + + .a_pin0_output_phase (13'd0), + .a_pin1_output_phase (13'd0), + .a_pin2_output_phase (13'd0), + .a_pin3_output_phase (13'd0), + .a_pin4_output_phase (13'd0), + .a_pin5_output_phase (13'd0), + .a_pin6_output_phase (13'd0), + .a_pin7_output_phase (13'd0), + .a_pin8_output_phase (13'd0), + .a_pin9_output_phase (13'd0), + .a_pin10_output_phase (13'd0), + .a_pin11_output_phase (13'd0), + + .a_db_mrnk_write_mode (db_mrnk_write_mode), + .a_db_dbc_wb_reserved_entry (dbc_wb_reserved_entry), + + .a_db_dbc_rb_readylat_en (db_dbc_rb_readylat_en), + .a_db_dbc_wb_readylat_en (db_dbc_wb_readylat_en), + + .a_oct_size (oct_size), + .a_rd_valid_delay (rd_valid_delay), + + .a_dqs_enable_delay (dqs_enable_delay), + .a_dqs_phase_shift_b (dqs_phase_shift_b), + .a_dqs_phase_shift_a (dqs_phase_shift_a), + + .a_dll_rst_en (dll_rst_en), + .a_dll_core_updnen (dll_core_updnen), + .a_dll_ctlsel (dll_ctlsel), + .a_dll_ctl_static (dll_ctl_static) + ) lane_inst ( + .phy_clk (phy_clk), + .phy_clk_phs (phy_clk_phs), + + .phy_clk_local_early (phy_clk_local_early), + .phy_clk_local_late (phy_clk_local_late), + + .reset_n (reset_n), + .pll_locked (pll_locked), + .dll_ref_clk (dll_ref_clk), + .ioereg_locked (ioereg_locked), + + .oe_from_core (oe_from_core), + .data_from_core (data_from_core), + .data_to_core (data_to_core), + .mrnk_read_core (mrnk_read_core), + .mrnk_write_core (mrnk_write_core), + .rdata_en_full_core (rdata_en_full_core), + .rdata_valid_core (rdata_valid_core), + + .core2dbc_rd_data_rdy (core2dbc_rd_data_rdy), + .core2dbc_wr_data_vld0 (core2dbc_wr_data_vld0), + .core2dbc_wr_ecc_info (core2dbc_wr_ecc_info), + .dbc2core_rd_data_vld0 (dbc2core_rd_data_vld0), + + .dbc2core_rd_type (dbc2core_rd_type), + .dbc2core_wb_pointer (dbc2core_wb_pointer), + .dbc2core_wr_data_rdy (dbc2core_wr_data_rdy), + + .ac_hmc (ac_hmc), + .afi_rlat_core (afi_rlat_core), + .afi_wlat_core (afi_wlat_core), + .cfg_dbc (cfg_dbc), + .ctl2dbc0 (ctl2dbc0), + .ctl2dbc1 (ctl2dbc1), + .dbc2ctl (dbc2ctl), + + .cal_avl_in (cal_avl_in), + .cal_avl_readdata_out (cal_avl_readdata_out), + .cal_avl_out (cal_avl_out), + .cal_avl_readdata_in (cal_avl_readdata_in), + + .dqs_in (dqs_in), + .broadcast_in_bot (broadcast_in_bot), + .broadcast_in_top (broadcast_in_top), + .broadcast_out_bot (broadcast_out_bot), + .broadcast_out_top (broadcast_out_top), + + .data_in (data_in), + .data_out (data_out), + .data_oe (data_oe), + .oct_enable (oct_enable), + + .core_dll (core_dll), + .dll_core (dll_core), + + .sync_clk_bot_in (sync_clk_bot_in), + .sync_clk_bot_out (sync_clk_bot_out), + .sync_clk_top_in (sync_clk_top_in), + .sync_clk_top_out (sync_clk_top_out), + .sync_data_bot_in (sync_data_bot_in), + .sync_data_bot_out (sync_data_bot_out), + .sync_data_top_in (sync_data_top_in), + .sync_data_top_out (sync_data_top_out), + + .dft_phy_clk (dft_phy_clk) + ); +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3g0SiPR8kcBjSVqQUz5PhpyZlwQ0KE7yFCmS6UWWe6bYAtJe7R/CNCtXSfgRYjdyzTvn3hpT6XEuKJxVexm4sgKWi4fEBb2SYQcUMoty4NUzeyiKLKqJ8JoSO1tLz5y7YNTd/tTEX9XPflI5Wj1IJ7bRKo1Igi9hwG5VEL7LxXmlzfFkmP7zA3z8zQRgNkPrYvcYKwqA+8Ir5j64R8nZEsTD7DJFwlvvBGjSin5gFoAOZYEi/nJbQCW3M0s71wazi5WBL0QZrhIDyzhN5aQh2lDClozFaDCfCzdtcl/CZjKZ/hm+epLPKEj0pE4upDXeYPPbScqgzLrtj8IaZUobImsxrYFUccYOmEkIcAtykXuJGdPp1VhuzdbQZzSUORxUxHoD2bF/R8VW9rZFmcAV4WJ4WHJdFjPeZgNjTSn27d+p8V8SzLJ79XgNtCt5aBPfexMu5fQE9p/2aVBS4PvNVkF004IuXR3gmU8aQNq7qbz6WkU4XOEakacu3Bw4ZYWcJhpFhcCGUVg2VaQdT4VlIvwAHKudsJj93MfUZwuLR5mI7VWk37xQ/+QNrwgsc3k+WCnOUHJ52JlsHkKF5KoiT6JrmjOvsOYmV5nwCr94QJ2bRjKmnk4HD0M8b5gXy+IIfTkq7n1tGzd2smxz0rKOI1EiWucV+wrjDZyrUFUugUSyGTFcv8XOIJbf+JZ2Irjf0apfAQ2Q4qn1Th3aHCPVFn3f956kDnZG9UgERbQCBBF5C9/URKfU9CkAoxChlK1lkBnGGRBBJ5ZeJgEl96Nl9P" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles.sv new file mode 100644 index 0000000000..e674293226 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles.sv @@ -0,0 +1,2110 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// This module instantiates one or more x48 I/O tiles (along with +// the necessary x12 I/O lanes) that are required to build as single EMIF. +// +/////////////////////////////////////////////////////////////////////////////// + +// Index to signal buses used to implement a daisy chain of +// (L0->L1->T0->L2->L3)->(L0->L1->T1->L2->L3)->... +`define _get_chain_index_for_tile(_tile_i) ( _tile_i * (LANES_PER_TILE + 1) + 2 ) + +`define _get_chain_index_for_lane(_tile_i, _lane_i) ( (_lane_i < 2) ? (_tile_i * (LANES_PER_TILE + 1) + _lane_i) : ( \ + (_tile_i * (LANES_PER_TILE + 1) + _lane_i + 1 )) ) + +// Index to signal buses used to implement a daisy chain of +// (L0->L1->L2->L3)->(L0->L1->L2->L3)->... +`define _get_broadcast_chain_index(_tile_i, _lane_i) ( _tile_i * LANES_PER_TILE + _lane_i ) + +`define _get_lane_usage(_tile_i, _lane_i) ( LANES_USAGE[(_tile_i * LANES_PER_TILE + _lane_i) * 3 +: 3] ) + +`define _get_pin_oct_mode_raw(_tile_i, _lane_i, _pin_i) ( PINS_OCT_MODE[(_tile_i * LANES_PER_TILE * PINS_PER_LANE + _lane_i * PINS_PER_LANE + _pin_i)] ) + +`define _get_pin_ddr_raw(_tile_i, _lane_i, _pin_i) ( PINS_RATE[_tile_i * LANES_PER_TILE * PINS_PER_LANE + _lane_i * PINS_PER_LANE + _pin_i] ) +`define _get_pin_ddr_str(_tile_i, _lane_i, _pin_i) ( `_get_pin_ddr_raw(_tile_i, _lane_i, _pin_i) == PIN_RATE_DDR ? "mode_ddr" : "mode_sdr" ) + +`define _get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) ( LANE_PIN_USAGE[((_tile_i * LANES_PER_TILE * PINS_PER_LANE) + (_lane_i * PINS_PER_LANE) + _pin_i) * 4 +: 4] ) + +`define _get_lane_ddr_mode_str(_tile_i, _lane_i) ( `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_UNUSED ? "lane_ddr_notddr" : ( \ + `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_HMC ? "lane_ddr_ca_sdr" : ( \ + `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_CORE ? ((PROTOCOL_ENUM == "PROTOCOL_QDR4") ? "lane_ddr_ca_ddr" : "lane_ddr_ca_sdr") : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? "lane_ddr_ddr2x4" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV" ? "lane_ddr_qdrx10" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X18_DINV" ? "lane_ddr_qdrx10" : ( \ + "lane_ddr_ddrx8" ))))))) + +`define _get_dqs_group_width ( DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? "x4" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" ? "x8" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV" ? "x8" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X16_X18" ? "x16" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X18_DINV" ? "x16" : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X32_X36" ? "x32" : ( \ + "x8" ))))))) + +`define _get_lane_pin_mode_str(_tile_i, _lane_i, _pin_i) ( `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_UNUSED ? "pin_unused" : "pin_ddr" ) +`define _get_lane_pin_ddr_mode_str(_tile_i, _lane_i, _pin_i) ( `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_UNUSED ? "ddr_notddr" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_DQ ? "ddr_dq" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_DQS ? "ddr_dqs" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_DQSB ? "ddr_dqsb" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_CA_SDR ? "ddr_ca_sdr" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_CA_DDR ? "ddr_ca_ddr" : ( \ + `_get_lane_pin_usage_raw(_tile_i, _lane_i, _pin_i) == LANE_PIN_USAGE_MODE_DM ? "ddr_dm" : ( \ + "ddr_notddr" )))))))) + + +`define _get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) ( DB_PINS_PROC_MODE[(_tile_i * LANES_PER_TILE * PINS_PER_LANE + _lane_i * PINS_PER_LANE + _pin_i) * 5 +: 5] ) +`define _get_db_pin_proc_mode_str(_tile_i, _lane_i, _pin_i) ( `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_AC_CORE ? "ac_core" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_AC_IN_CORE ? "ac_in_core" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_AC ? "ac_hmc" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_DQ ? "dq_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_DBI ? "dbi_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_DM ? "dm_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_CLK ? "clk_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_CLKB ? "clkb_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_DQS ? "dqs_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_WDB_DQSB ? "dqsb_wdb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DQS ? "dqs_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DQSB ? "dqsb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DQ ? "dq_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DM ? "dm_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DBI ? "dbi_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_CLK ? "clk_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_CLKB ? "clkb_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DQS_DDR4 ? "dqs_ddr4_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_DQSB_DDR4 ? "dqsb_ddr4_mode": ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_RDQ ? "rdq_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_RDQS ? "rdqs_mode" : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_GPIO ? "gpio_mode" : ( \ + "dq_mode" ))))))))))))))))))))))) + +`define _get_pin_oct_rt_str(_tile_i, _lane_i, _pin_i) ( `_get_pin_oct_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_OCT_STATIC_OFF ? "static_oct_off" : ( \ + `_get_pin_oct_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_OCT_DYNAMIC ? "static_oct_off" : ( \ + "static_oct_on" ))) + +`define _get_pin_dyn_oct_str(_tile_i, _lane_i, _pin_i) ( `_get_pin_oct_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_OCT_DYNAMIC ? "dyn_oct_on" : ( \ + "dyn_oct_off" )) + +`define _get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) ( PINS_DATA_IN_MODE[(_tile_i * LANES_PER_TILE * PINS_PER_LANE + _lane_i * PINS_PER_LANE + _pin_i) * 3 +: 3] ) + +`define _get_pin_data_in_mode_str(_tile_i, _lane_i, _pin_i) ( `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_DISABLED ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_SSTL_IN ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_LOOPBACK_IN ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_XOR_LOOPBACK_IN ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_DIFF_IN ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_DIFF_IN_AVL_OUT ? "dq" : ( \ + `_get_pin_data_in_mode_raw(_tile_i, _lane_i, _pin_i) == PIN_DATA_IN_MODE_DIFF_IN_X12_OUT ? "dq" : ( \ + "dqs" )))))))) + +`define _get_pin_dqs_mode_str(_tile_i, _lane_i, _pin_i) ( (PROTOCOL_ENUM == "PROTOCOL_QDR2") ? "dqs_sampler_b_a_rise" : ( \ + (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4") && (_pin_i > 5) ? "dqs_sampler_b" : ( \ + "dqs_sampler_a" ))) + +// Given the tile and lane index of a lane, returns the index of the AC tile controlling +// this lane. For non-ping-pong, return value is always PRI_AC_TILE_INDEX. +// For ping-pong, return SEC_AC_TILE_INDEX for all tiles below tile at SEC_AC_TILE_INDEX, +// and for lane 2 and 3 of tile SEC_AC_TILE_INDEX; return PRI_AC_TILE_INDEX otherwise. +// This assumption must be consistent with the logical pin placement strategy in hwtcl. +`define _get_ac_tile_index(_tile_i, _lane_i) ( (PHY_PING_PONG_EN && (_tile_i < SEC_AC_TILE_INDEX || (_tile_i == SEC_AC_TILE_INDEX && _lane_i < 2))) ? SEC_AC_TILE_INDEX : PRI_AC_TILE_INDEX ) + +// The following account for latency incurred when cross tile boundaries +`define _get_dbc_pipe_lat(_tile_i, _lane_i) ( DBC_PIPE_LATS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] ) +`define _get_db_ptr_pipe_depth_str(_tile_i, _lane_i) ( DB_PTR_PIPELINE_DEPTHS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] == 4'b0000 ? "db_ptr_pipeline_depth_0" : \ + DB_PTR_PIPELINE_DEPTHS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] == 4'b0001 ? "db_ptr_pipeline_depth_1" : \ + DB_PTR_PIPELINE_DEPTHS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] == 4'b0010 ? "db_ptr_pipeline_depth_2" : \ + DB_PTR_PIPELINE_DEPTHS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] == 4'b0011 ? "db_ptr_pipeline_depth_3" : \ + DB_PTR_PIPELINE_DEPTHS[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] == 4'b0100 ? "db_ptr_pipeline_depth_4" : \ + "db_ptr_pipeline_depth_0") + +`define _get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) ( DB_SEQ_RD_EN_FULL_PIPELINES[(_tile_i * LANES_PER_TILE + _lane_i) * 4 +: 4] ) +`define _get_db_seq_rd_en_full_pipeline_str(_tile_i, _lane_i) ( `_get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) == 4'b0001 ? "db_seq_rd_en_full_pipeline_1" : \ + `_get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) == 4'b0010 ? "db_seq_rd_en_full_pipeline_2" : \ + `_get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) == 4'b0011 ? "db_seq_rd_en_full_pipeline_3" : \ + `_get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) == 4'b0100 ? "db_seq_rd_en_full_pipeline_4" : \ + `_get_db_seq_rd_en_full_pipeline_raw(_tile_i, _lane_i) == 4'b0000 ? "db_seq_rd_en_full_pipeline_0" : \ + "db_seq_rd_en_full_pipeline_1") + +`define _get_db_data_alignment_mode ( (NUM_OF_HMC_PORTS > 0) ? "align_ena" : "align_disable" ) + +`define _get_memory_standard ( PROTOCOL_ENUM == "PROTOCOL_DDR4" ? "ddr4" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "qdriv" : ( \ + "rldram3" ))) + +`define _get_lane_mode_rate_in ( PHY_HMC_CLK_RATIO == 4 ? "in_rate_1_4" : ( \ + PHY_HMC_CLK_RATIO == 2 ? "in_rate_1_2" : ( \ + "in_rate_full" ))) + +`define _get_lane_mode_rate_out ( PLL_VCO_TO_MEM_CLK_FREQ_RATIO == 8 ? "out_rate_1_8" : ( \ + PLL_VCO_TO_MEM_CLK_FREQ_RATIO == 4 ? "out_rate_1_4" : ( \ + PLL_VCO_TO_MEM_CLK_FREQ_RATIO == 2 ? "out_rate_1_2" : ( \ + "out_rate_full" )))) + +`define _get_hmc_ctrl_mem_type ( PROTOCOL_ENUM == "PROTOCOL_DDR3" ? "mem_type_ddr3" : ( \ + PROTOCOL_ENUM == "PROTOCOL_DDR4" ? "mem_type_ddr4" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "mem_type_default" : ( \ + "mem_type_lpddr3" )))) + +`define _get_hmc_or_smc ( NUM_OF_HMC_PORTS == 0 ? "smc" : "hmc" ) +`define _get_hmc_or_core ( NUM_OF_HMC_PORTS == 0 ? "db_core" : "db_hmc" ) +`define _get_hmc_or_core_physeq ( NUM_OF_HMC_PORTS == 0 ? "core" : "hmc" ) + +`define _get_hmc_cmd_rate ( PHY_HMC_CLK_RATIO == 4 ? "ctrl_cfg_cmd_rate_qr" : "ctrl_cfg_cmd_rate_hr" ) +`define _get_dbc0_cmd_rate ( PHY_HMC_CLK_RATIO == 4 ? "dbc0_cfg_cmd_rate_qr" : "dbc0_cfg_cmd_rate_hr" ) +`define _get_dbc1_cmd_rate ( PHY_HMC_CLK_RATIO == 4 ? "dbc1_cfg_cmd_rate_qr" : "dbc1_cfg_cmd_rate_hr" ) +`define _get_dbc2_cmd_rate ( PHY_HMC_CLK_RATIO == 4 ? "dbc2_cfg_cmd_rate_qr" : "dbc2_cfg_cmd_rate_hr" ) +`define _get_dbc3_cmd_rate ( PHY_HMC_CLK_RATIO == 4 ? "dbc3_cfg_cmd_rate_qr" : "dbc3_cfg_cmd_rate_hr" ) + +`define _get_hmc_protocol ( HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM" ? "ctrl_amm" : "ctrl_ast" ) +`define _get_dbc0_protocol ( HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM" ? "dbc0_amm" : "dbc0_ast" ) +`define _get_dbc1_protocol ( HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM" ? "dbc1_amm" : "dbc1_ast" ) +`define _get_dbc2_protocol ( HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM" ? "dbc2_amm" : "dbc2_ast" ) +`define _get_dbc3_protocol ( HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM" ? "dbc3_amm" : "dbc3_ast" ) + +`define _get_memory_burst_length ( PROTOCOL_ENUM == "PROTOCOL_RLD3" ? "bl2" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR2" ? "bl2" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "bl2" : ( \ + MEM_BURST_LENGTH == 2 ? "bl2" : ( \ + MEM_BURST_LENGTH == 4 ? "bl4" : ( \ + MEM_BURST_LENGTH == 8 ? "bl8" : ( \ + "" ))))))) + +`define _get_cpa_0_clk_divider ( (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 1 ? "core_clk0_div1" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 2 ? "core_clk0_div2" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 4 ? "core_clk0_div4" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 8 ? "core_clk0_div8" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 16 ? "core_clk0_div16" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 32 ? "core_clk0_div32" : ( \ + (USER_CLK_RATIO * PLL_VCO_TO_MEM_CLK_FREQ_RATIO) == 64 ? "core_clk0_div64" : ( \ + "core_clk0_div1" )))))))) + +// CPA output 0 - in HMC mode, matches emif_usr_clk; in non-HMC mode, since afi_half_clk is no longer used in FM, use the same clock ratio +`define _get_cpa_0_clk_ratio ( NUM_OF_HMC_PORTS > 0 ? USER_CLK_RATIO : (USER_CLK_RATIO) ) + +// CPA output 1 - always matches the C2P/P2C rate +`define _get_cpa_1_clk_ratio ( C2P_P2C_CLK_RATIO ) +`define _get_pa_exponent_1 ( (`_get_pa_exponent(`_get_cpa_1_clk_ratio)) ) + +// CPA output 0 - clock divider on PHY clock feedback. +// Enable divide-by-2 whenever the core clock needs to run at half the speed of the feedback clock +`define _get_pa_feedback_divider_p0 ( (`_get_cpa_0_clk_ratio == C2P_P2C_CLK_RATIO * 2) ? "fb_clk0_div2" : "fb_clk0_div1" ) + +// CPA output 0 - clock divider on core clock feedback. +// Enable divide-by-2 whenever the core clock needs to run at 2x the speed of the feedback clock +`define _get_pa_feedback_divider_c0 ( (`_get_cpa_0_clk_ratio * 2 == C2P_P2C_CLK_RATIO) ? "core_clk0_div2" : "core_clk0_div1" ) + +`define _get_dqsin(_tile_i, _lane_i) ( (`_get_lane_usage(_tile_i, _lane_i) != LANE_USAGE_RDATA && `_get_lane_usage(_tile_i, _lane_i) != LANE_USAGE_WDATA && `_get_lane_usage(_tile_i, _lane_i) != LANE_USAGE_WRDATA) ? 2'b0 : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? t2l_dqsbus_x4[_lane_i] : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" ? t2l_dqsbus_x8[_lane_i] : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV" ? t2l_dqsbus_x8[_lane_i] : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X16_X18" ? t2l_dqsbus_x18[_lane_i] : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X18_DINV" ? t2l_dqsbus_x18[_lane_i] : ( \ + DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X32_X36" ? t2l_dqsbus_x36[_lane_i] : ( \ + 2'b0 )))))))) + +`define _get_hmc_burst_length ( MEM_BURST_LENGTH == 2 ? 5'b00010 : ( \ + MEM_BURST_LENGTH == 4 ? 5'b00100 : ( \ + MEM_BURST_LENGTH == 8 ? 5'b01000 : ( \ + 5'b00000 )))) + +// DBC Mux Scheme (non-ping-pong): +// +// Tiles above : switch0 = don't-care dbc*_sel = switch1 (lower mux) +// switch1 = from lower +// +// AC Tile : switch0 = local dbc*_sel = switch0 (upper mux) +// switch1 = local +// +// Tiles below : switch0 = from upper dbc*_sel = switch0 (upper mux) +// switch1 = don't-care +// +`define _get_ctrl2dbc_switch_0_non_pp(_tile_i) ( (_tile_i == PRI_AC_TILE_INDEX) ? "local_tile_dbc0" : ( \ + (_tile_i <= PRI_AC_TILE_INDEX) ? "upper_tile_dbc0" : ( \ + "lower_tile_dbc0" ))) + +`define _get_ctrl2dbc_switch_1_non_pp(_tile_i) ( (_tile_i == PRI_AC_TILE_INDEX) ? "local_tile_dbc1" : ( \ + (_tile_i > PRI_AC_TILE_INDEX) ? "lower_tile_dbc1" : ( \ + "upper_tile_dbc1" ))) + +`define _get_ctrl2dbc_sel_0_non_pp(_tile_i) ( (_tile_i <= PRI_AC_TILE_INDEX) ? "upper_mux_dbc0" : "lower_mux_dbc0" ) +`define _get_ctrl2dbc_sel_1_non_pp(_tile_i) ( (_tile_i <= PRI_AC_TILE_INDEX) ? "upper_mux_dbc1" : "lower_mux_dbc1" ) +`define _get_ctrl2dbc_sel_2_non_pp(_tile_i) ( (_tile_i <= PRI_AC_TILE_INDEX) ? "upper_mux_dbc2" : "lower_mux_dbc2" ) +`define _get_ctrl2dbc_sel_3_non_pp(_tile_i) ( (_tile_i <= PRI_AC_TILE_INDEX) ? "upper_mux_dbc3" : "lower_mux_dbc3" ) + +// DBC Mux Scheme (ping-pong): +// +// Tiles above : switch0 = don't-care dbc*_sel = switch1 (lower mux) +// switch1 = from lower +// +// Primary AC Tile : switch0 = local dbc*_sel = switch1 (lower mux) +// switch1 = local +// +// Secondary AC Tile: switch0 = local dbc2_sel, dbc3_sel = switch0 (upper mux) +// switch1 = from upper dbc0_sel, dbc1_sel = switch1 (lower mux) +// +// Tiles below : switch0 = from upper dbc*_sel = switch0 (upper mux) +// switch1 = don't-care +// +`define _get_ctrl2dbc_switch_0_pp(_tile_i) ( (_tile_i == PRI_AC_TILE_INDEX) ? "local_tile_dbc0" : ( \ + (_tile_i == SEC_AC_TILE_INDEX) ? "local_tile_dbc0" : ( \ + (_tile_i < SEC_AC_TILE_INDEX) ? "upper_tile_dbc0" : ( \ + "lower_tile_dbc0" )))) + +`define _get_ctrl2dbc_switch_1_pp(_tile_i) ( (_tile_i == PRI_AC_TILE_INDEX) ? "local_tile_dbc1" : ( \ + (_tile_i == SEC_AC_TILE_INDEX) ? "upper_tile_dbc1" : ( \ + (_tile_i > PRI_AC_TILE_INDEX) ? "lower_tile_dbc1" : ( \ + "upper_tile_dbc1" )))) + +`define _get_ctrl2dbc_sel_0_pp(_tile_i) ( (_tile_i >= PRI_AC_TILE_INDEX) ? "lower_mux_dbc0" : ((_tile_i < SEC_AC_TILE_INDEX) ? "upper_mux_dbc0" : (`_get_ac_tile_index(_tile_i, 0) == PRI_AC_TILE_INDEX ? "lower_mux_dbc0" : "upper_mux_dbc0")) ) +`define _get_ctrl2dbc_sel_1_pp(_tile_i) ( (_tile_i >= PRI_AC_TILE_INDEX) ? "lower_mux_dbc1" : ((_tile_i < SEC_AC_TILE_INDEX) ? "upper_mux_dbc1" : (`_get_ac_tile_index(_tile_i, 1) == PRI_AC_TILE_INDEX ? "lower_mux_dbc1" : "upper_mux_dbc1")) ) +`define _get_ctrl2dbc_sel_2_pp(_tile_i) ( (_tile_i >= PRI_AC_TILE_INDEX) ? "lower_mux_dbc2" : ((_tile_i < SEC_AC_TILE_INDEX) ? "upper_mux_dbc2" : (`_get_ac_tile_index(_tile_i, 2) == PRI_AC_TILE_INDEX ? "lower_mux_dbc2" : "upper_mux_dbc2")) ) +`define _get_ctrl2dbc_sel_3_pp(_tile_i) ( (_tile_i >= PRI_AC_TILE_INDEX) ? "lower_mux_dbc3" : ((_tile_i < SEC_AC_TILE_INDEX) ? "upper_mux_dbc3" : (`_get_ac_tile_index(_tile_i, 3) == PRI_AC_TILE_INDEX ? "lower_mux_dbc3" : "upper_mux_dbc3")) ) + +// DBC Mux Scheme (ping-pong and non-ping-pong) +`define _get_ctrl2dbc_switch_0(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_switch_0_pp(_tile_i) : `_get_ctrl2dbc_switch_0_non_pp(_tile_i) ) +`define _get_ctrl2dbc_switch_1(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_switch_1_pp(_tile_i) : `_get_ctrl2dbc_switch_1_non_pp(_tile_i) ) +`define _get_ctrl2dbc_sel_0(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_sel_0_pp(_tile_i) : `_get_ctrl2dbc_sel_0_non_pp(_tile_i) ) +`define _get_ctrl2dbc_sel_1(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_sel_1_pp(_tile_i) : `_get_ctrl2dbc_sel_1_non_pp(_tile_i) ) +`define _get_ctrl2dbc_sel_2(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_sel_2_pp(_tile_i) : `_get_ctrl2dbc_sel_2_non_pp(_tile_i) ) +`define _get_ctrl2dbc_sel_3(_tile_i) ( PHY_PING_PONG_EN ? `_get_ctrl2dbc_sel_3_pp(_tile_i) : `_get_ctrl2dbc_sel_3_non_pp(_tile_i) ) + +// Select which DBC to use as shadow. +// For the primary HMC tile or non-Ping-Pong HMC tile, pick "dbc1_to_local" as it's guaranteed to be used by the interface (as an A/C lane). +// For the secondary HMC tile, which one we pick depends on which data lane in the tile belongs to the secondary interface. +`define _get_hmc_dbc2ctrl_sel_non_pp(_tile_i) ( PRI_HMC_DBC_SHADOW_LANE_INDEX == 0 ? "dbc0_to_local" : ( \ + PRI_HMC_DBC_SHADOW_LANE_INDEX == 1 ? "dbc1_to_local" : ( \ + PRI_HMC_DBC_SHADOW_LANE_INDEX == 2 ? "dbc2_to_local" : ( \ + "dbc3_to_local" )))) + +`define _get_hmc_dbc2ctrl_sel_pp(_tile_i) ( (_tile_i != SEC_AC_TILE_INDEX) ? `_get_hmc_dbc2ctrl_sel_non_pp(_tile_i) : ( \ + (`_get_ac_tile_index(SEC_AC_TILE_INDEX, 0) == SEC_AC_TILE_INDEX) ? "dbc0_to_local" : ( \ + (`_get_ac_tile_index(SEC_AC_TILE_INDEX, 1) == SEC_AC_TILE_INDEX) ? "dbc1_to_local" : ( \ + (`_get_ac_tile_index(SEC_AC_TILE_INDEX, 2) == SEC_AC_TILE_INDEX) ? "dbc2_to_local" : ( \ + "dbc3_to_local" ))))) +`define _get_hmc_dbc2ctrl_sel(_tile_i) ( PHY_PING_PONG_EN ? `_get_hmc_dbc2ctrl_sel_pp(_tile_i) : `_get_hmc_dbc2ctrl_sel_non_pp(_tile_i) ) + +// ac_hmc is hard connectivity between HMC and A/C lanes +// The Fitter uses ac_hmc as a special connection to locate the A/C tile and lanes, regardless of whether HMC is used. +// Normally, we only connect these to lanes that are used as A/C, regardless of HMC or SMC. +`define _get_ac_hmc(_tile_i, _lane_i) ( (`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_HMC || \ + `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_CORE) ? \ + t2l_ac_hmc[lane_i] : 96'b0 ) + +// The following is evaluated for simulation. Don't wait too long during simulation. +`define _get_core2dbc_wr_data_vld(_tile_i, _lane_i) ( ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) || \ + (_lane_i == 0 && `_get_lane_usage(_tile_i, 0) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc0_to_local") || \ + (_lane_i == 1 && `_get_lane_usage(_tile_i, 1) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc1_to_local") || \ + (_lane_i == 2 && `_get_lane_usage(_tile_i, 2) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc2_to_local") || \ + (_lane_i == 3 && `_get_lane_usage(_tile_i, 3) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc3_to_local")) ? \ + core2l_wr_data_vld_ast[_tile_i][_lane_i] : 1'b0 ) + +`define _get_core2dbc_wr_ecc_info(_tile_i, _lane_i) ( ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) || \ + (_lane_i == 0 && `_get_lane_usage(_tile_i, 0) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc0_to_local") || \ + (_lane_i == 1 && `_get_lane_usage(_tile_i, 1) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc1_to_local") || \ + (_lane_i == 2 && `_get_lane_usage(_tile_i, 2) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc2_to_local") || \ + (_lane_i == 3 && `_get_lane_usage(_tile_i, 3) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc3_to_local")) ? \ + core2l_wr_ecc_info[_tile_i][_lane_i] : 13'b0 ) + +`define _get_core2dbc_rd_data_rdy(_tile_i, _lane_i) ( ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) || \ + (_lane_i == 0 && `_get_lane_usage(_tile_i, 0) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc0_to_local") || \ + (_lane_i == 1 && `_get_lane_usage(_tile_i, 1) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc1_to_local") || \ + (_lane_i == 2 && `_get_lane_usage(_tile_i, 2) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc2_to_local") || \ + (_lane_i == 3 && `_get_lane_usage(_tile_i, 3) == LANE_USAGE_AC_HMC && `_get_hmc_dbc2ctrl_sel(_tile_i) == "dbc3_to_local")) ? \ + core2l_rd_data_rdy_ast[_tile_i][_lane_i] : 1'b1 ) + +// core2dbc_rd_data_rdy needs to fanout to every data lane and also the lane denoted as shadow by _get_hmc_dbc2ctrl_sel +`define _get_center_tid(_tile_i) ( CENTER_TIDS[_tile_i * 9 +: 9] ) +`define _get_hmc_tid(_tile_i) ( HMC_TIDS[_tile_i * 9 +: 9] ) +`define _get_lane_tid(_tile_i, _lane_i) ( LANE_TIDS[(_tile_i * LANES_PER_TILE + _lane_i) * 9 +: 9] ) + +`define _get_preamble_track_dqs_enable_mode ( PROTOCOL_ENUM == "PROTOCOL_DDR4" ? "preamble_track_dqs_enable" : ( \ + PROTOCOL_ENUM == "PROTOCOL_DDR3" ? "preamble_track_dqs_enable" : ( \ + PROTOCOL_ENUM == "PROTOCOL_LPDDR3" ? "preamble_track_dqs_enable" : ( \ + PROTOCOL_ENUM == "PROTOCOL_RLD3" ? "preamble_track_toggler" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR2" ? "preamble_track_toggler" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "preamble_track_toggler" : ( \ + "" ))))))) + +`define _get_pst_preamble_mode ( PROTOCOL_ENUM == "PROTOCOL_DDR4" ? "ddr4_preamble" : ( \ + PROTOCOL_ENUM == "PROTOCOL_DDR3" ? "ddr3_preamble" : ( \ + PROTOCOL_ENUM == "PROTOCOL_LPDDR3" ? "ddr3_preamble" : ( \ + PROTOCOL_ENUM == "PROTOCOL_RLD3" ? "ddr3_preamble" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR2" ? "ddr3_preamble" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "ddr3_preamble" : ( \ + "" ))))))) +`define _get_pst_en_shrink ( PROTOCOL_ENUM == "PROTOCOL_DDR4" ? "shrink_1_0" : ( \ + PROTOCOL_ENUM == "PROTOCOL_DDR3" ? "shrink_1_1" : ( \ + PROTOCOL_ENUM == "PROTOCOL_LPDDR3" ? "shrink_1_1" : ( \ + PROTOCOL_ENUM == "PROTOCOL_RLD3" ? "shrink_0_1" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR2" ? "shrink_0_1" : ( \ + PROTOCOL_ENUM == "PROTOCOL_QDR4" ? "shrink_0_1" : ( \ + "" ))))))) + +`define _get_pa_filter_code ( "freq_1600" ) + +`define _get_a_filter_code ( "freq_16ghz" ) + +`define _get_pa_track_speed ( 5'h0c ) + +// Enable the per-lane hard DBI circuitry. Only intended to be used by DDR4 data lanes. +`define _get_dbi_wr_en(_tile_i, _lane_i) ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) ? DBI_WR_ENABLE : "dbi_wr_dis") +`define _get_dbi_rd_en(_tile_i, _lane_i) ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) ? DBI_RD_ENABLE : "dbi_rd_dis") + +// Set it to enabled to data lanes (or multi-rank shadow would not work). +// Set it to disabled for address/command lanes. +`define _get_data_lane(_tile_i, _lane_i) ( ((`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WRDATA) || \ + (`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_WDATA) || \ + (`_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_RDATA)) ? 1 : 0 ) + +`define _get_mrnk_write_mode(_tile_i, _lane_i) ( (`_get_data_lane(_tile_i, _lane_i) == 1) ? "mrnk_write_enable" : "mrnk_write_disable" ) + +// Controls how early/late to enable Rt termination. +// Decimal to binary conversion required by Quartus. +`define _get_oct_size ( (OCT_SIZE == 0 ) ? 4'b0000 : ( \ + (OCT_SIZE == 1 ) ? 4'b0001 : ( \ + (OCT_SIZE == 2 ) ? 4'b0010 : ( \ + (OCT_SIZE == 3 ) ? 4'b0011 : ( \ + (OCT_SIZE == 4 ) ? 4'b0100 : ( \ + (OCT_SIZE == 5 ) ? 4'b0101 : ( \ + (OCT_SIZE == 6 ) ? 4'b0110 : ( \ + (OCT_SIZE == 7 ) ? 4'b0111 : ( \ + (OCT_SIZE == 8 ) ? 4'b1000 : ( \ + (OCT_SIZE == 9 ) ? 4'b1001 : ( \ + (OCT_SIZE == 10) ? 4'b1010 : ( \ + (OCT_SIZE == 11) ? 4'b1011 : ( \ + (OCT_SIZE == 12) ? 4'b1100 : ( \ + (OCT_SIZE == 13) ? 4'b1101 : ( \ + (OCT_SIZE == 14) ? 4'b1110 : ( \ + 4'b1111 )))))))))))))))) + +`define _get_hmc_cb_tbp_reload_fix_en_n ((PRI_HMC_3DS_EN == "enable") ? "disable" : "enable") + +// Select primary or secondary HMC config +// For non-ping-pong and primary HMC of ping-pong, select primary +// For secondary HMC of ping-pong, select secondary +// For everything else, select primary +`define _sel_hmc_tile(_tile_i, _pri, _sec) ( PHY_PING_PONG_EN ? (_tile_i <= SEC_AC_TILE_INDEX ? _sec : _pri) : _pri ) + +// Select primary/secondary/default HMC config +// For non-ping-pong and primary HMC of ping-pong, select primary +// For secondary HMC of ping-pong, select secondary +// For everything else, select default +`define _sel_hmc_default(_tile_i, _pri, _sec, _def) (_tile_i == SEC_AC_TILE_INDEX) ? _sec : ((_tile_i == PRI_AC_TILE_INDEX) ? _pri : _def) + +// Select primary or secondary HMC config, with lane dependence +// For non-ping-pong and primary HMC of ping-pong, select primary +// For secondary HMC of ping-pong, select primary or secondary based on lane affiliation +`define _sel_hmc_lane(_tile_i, _lane_i, _pri, _sec) ( (PHY_PING_PONG_EN && (_tile_i < SEC_AC_TILE_INDEX || (_tile_i == SEC_AC_TILE_INDEX && _lane_i < 2))) ? _sec : _pri ) + +module altera_emif_arch_fm_io_tiles #( + parameter DIAG_SYNTH_FOR_SIM = 0, + parameter DIAG_CPA_OUT_1_EN = 0, + parameter DIAG_FAST_SIM = 0, + parameter DIAG_SEQ_RESET_AUTO_RELEASE = "avl", + parameter DIAG_DB_RESET_AUTO_RELEASE = "avl_release", + parameter IS_HPS = 0, + parameter SILICON_REV = "", + parameter PROTOCOL_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter DQS_BUS_MODE_ENUM = "", + parameter USER_CLK_RATIO = 1, + parameter PHY_HMC_CLK_RATIO = 1, + parameter C2P_P2C_CLK_RATIO = 1, + parameter PLL_VCO_TO_MEM_CLK_FREQ_RATIO = 1, + parameter PLL_VCO_FREQ_MHZ_INT = 0, + parameter PLL_MEM_CLK_FREQ_PS = 0, + parameter MEM_BURST_LENGTH = 0, + parameter MEM_DATA_MASK_EN = 1, + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter PINS_IN_RTL_TILES = 1, + parameter LANES_IN_RTL_TILES = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter AC_PIN_MAP_SCHEME = "", + parameter PRI_AC_TILE_INDEX = -1, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_AC_TILE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + parameter PHY_MIMIC_HPS_EMIF = 0, + parameter CPA_FB_MUX_1_SEL = "", + + parameter PRI_HMC_DBC_SHADOW_LANE_INDEX = -1, + parameter NUM_OF_HMC_PORTS = 1, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter HMC_CTRL_DIMM_TYPE = "", + parameter PRI_HMC_CFG_PING_PONG_MODE = "", + parameter PRI_HMC_CFG_CS_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_COL_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ADDR_ORDER = "", + parameter PRI_HMC_CFG_ARBITER_TYPE = "", + parameter PRI_HMC_CFG_OPEN_PAGE_EN = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_RC = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter PRI_HMC_CFG_REORDER_DATA = "", + parameter PRI_HMC_CFG_REORDER_READ = "", + parameter PRI_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] PRI_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] PRI_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] PRI_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter PRI_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] PRI_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] PRI_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] PRI_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] PRI_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter PRI_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter PRI_HMC_CFG_USER_RFSH_EN = "", + parameter PRI_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] PRI_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] PRI_HMC_CFG_TCL = 0, + parameter [ 7: 0] PRI_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] PRI_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] PRI_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] PRI_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] PRI_HMC_CFG_MPR_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] PRI_HMC_CFG_MPS_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] PRI_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] PRI_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] PRI_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] PRI_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter PRI_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR5 = 0, + parameter PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter PRI_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter PRI_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] PRI_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] PRI_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] PRI_HMC_CFG_ZQCS_TO_VALID = 0, + parameter PRI_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_REFRESH_TYPE = 0, + parameter PRI_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter PRI_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] PRI_HMC_CHIP_ID = 0, + parameter [ 1: 0] PRI_HMC_CID_ADDR_WIDTH = 0, + parameter PRI_HMC_3DS_EN = "", + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM3 = 0, + parameter PRI_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] PRI_HMC_3DS_REF2REF_DLR = 0, + parameter PRI_HMC_3DSREF_ACK_ON_DONE = "", + parameter SEC_HMC_CFG_PING_PONG_MODE = "", + parameter SEC_HMC_CFG_CS_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_COL_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ADDR_ORDER = "", + parameter SEC_HMC_CFG_ARBITER_TYPE = "", + parameter SEC_HMC_CFG_OPEN_PAGE_EN = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_RC = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter SEC_HMC_CFG_REORDER_DATA = "", + parameter SEC_HMC_CFG_REORDER_READ = "", + parameter SEC_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] SEC_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] SEC_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] SEC_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter SEC_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] SEC_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] SEC_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] SEC_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] SEC_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter SEC_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter SEC_HMC_CFG_USER_RFSH_EN = "", + parameter SEC_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] SEC_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] SEC_HMC_CFG_TCL = 0, + parameter [ 7: 0] SEC_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] SEC_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] SEC_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] SEC_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] SEC_HMC_CFG_MPR_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] SEC_HMC_CFG_MPS_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] SEC_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] SEC_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] SEC_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] SEC_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter SEC_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR5 = 0, + parameter SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter SEC_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter SEC_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] SEC_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] SEC_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] SEC_HMC_CFG_ZQCS_TO_VALID = 0, + parameter SEC_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_REFRESH_TYPE = 0, + parameter SEC_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter SEC_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] SEC_HMC_CHIP_ID = 0, + parameter [ 1: 0] SEC_HMC_CID_ADDR_WIDTH = 0, + parameter SEC_HMC_3DS_EN = "", + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM3 = 0, + parameter SEC_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] SEC_HMC_3DS_REF2REF_DLR = 0, + parameter SEC_HMC_3DSREF_ACK_ON_DONE = "", + + parameter PORT_CALBUS_ADDRESS_WIDTH = 1, + parameter PORT_CALBUS_RDATA_WIDTH = 1, + parameter PORT_CALBUS_WDATA_WIDTH = 1, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 1, + + parameter SEQ_PT_CONTENT = "", + parameter LANES_USAGE = 0, + parameter PINS_USAGE = 0, + parameter LANE_PIN_USAGE = 0, + parameter PINS_RATE = 0, + parameter DB_PINS_PROC_MODE = 0, + parameter PINS_DATA_IN_MODE = 0, + parameter PINS_OCT_MODE = 0, + parameter PINS_DCC_SPLIT = 0, + parameter CENTER_TIDS = 0, + parameter HMC_TIDS = 0, + parameter LANE_TIDS = 0, + parameter DBC_EXTRA_PIPE_STAGE_EN = "", + parameter DBC_PIPE_LATS = 0, + parameter DB_PTR_PIPELINE_DEPTHS = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES = 0, + parameter PREAMBLE_MODE = "", + parameter DBI_WR_ENABLE = "", + parameter DBI_RD_ENABLE = "", + parameter SWAP_DQS_A_B = "", + parameter DQS_PACK_MODE = "", + parameter OCT_SIZE = "", + parameter DQSA_LGC_MODE = "", + parameter DQSB_LGC_MODE = "", + parameter [6:0] DBC_WB_RESERVED_ENTRY = 4, + parameter DLL_MODE = "", + parameter [10:0] DLL_CODEWORD = 0, + parameter PORT_MEM_DQ_WIDTH = 1, + parameter PORT_MEM_DQS_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH = 1, + + parameter DIAG_USE_ABSTRACT_PHY = 0 +) ( + // Reset related + input logic core2seq_reset_req, // For abstract phy support + + // Signals for various signals from PLL + input logic pll_locked, // Indicates PLL lock status + input logic pll_dll_clk, // PLL -> DLL output clock + input logic [7:0] phy_clk_phs, // FR PHY clock signals (8 phases, 45-deg apart) + input logic [1:0] phy_clk, // {phy_clk[1], phy_clk[0]} + input logic phy_fb_clk_to_tile, // PHY feedback clock (to tile) + output logic phy_fb_clk_to_pll_nonabphy, // PHY feedback clock (to PLL) + + output logic [1:0] global_phy_clk, // {phy_clk[1], phy_clk[0]} + + // Core clock signals from/to the Clock Phase Alignment (CPA) block + output logic [1:0] core_clks_from_cpa_pri_nonabphy, // Core clock signals from the CPA of primary interface + output logic [1:0] core_clks_locked_cpa_pri_nonabphy, // Core clock locked signals from the CPA of primary interface + input logic [1:0] core_clks_fb_to_cpa_pri, // Core clock feedback signals to the CPA of primary interface + output logic [1:0] core_clks_from_cpa_sec_nonabphy, // Core clock signals from the CPA of secondary interface (ping-pong only) + output logic [1:0] core_clks_locked_cpa_sec_nonabphy, // Core clock locked signals from the CPA of secondary interface (ping-pong only) + input logic [1:0] core_clks_fb_to_cpa_sec, // Core clock feedback signals to the CPA of secondary interface (ping-pong only) + + // Avalon interfaces between core and HMC + input logic [62:0] core2ctl_avl_0, + input logic [62:0] core2ctl_avl_1, + input logic core2ctl_avl_rd_data_ready_0, + input logic core2ctl_avl_rd_data_ready_1, + output logic ctl2core_avl_cmd_ready_0_nonabphy, + output logic ctl2core_avl_cmd_ready_1_nonabphy, + output logic [12:0] ctl2core_avl_rdata_id_0_nonabphy, + output logic [12:0] ctl2core_avl_rdata_id_1_nonabphy, + + // ECC signals between core and lanes + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_wr_data_vld_ast, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_rd_data_rdy_ast, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][12:0] core2l_wr_ecc_info, + + output logic l2core_rd_type_nonabphy, + output logic l2core_rd_data_vld_avl_nonabphy, + output logic l2core_wr_data_rdy_ast_nonabphy, + output logic [11:0] l2core_wb_pointer_for_ecc_nonabphy, + + // Signals between core and data lanes + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data_nonabphy, + + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_read, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_write, + + output logic [3:0] l2core_rdata_valid_nonabphy_pri, + output logic [3:0] l2core_rdata_valid_nonabphy_sec, + output logic [5:0] l2core_afi_rlat_nonabphy, + output logic [5:0] l2core_afi_wlat_nonabphy, + + // AFI signals between tile and core + input logic [17:0] c2t_afi, + output logic [26:0] t2c_afi_nonabphy, + + // Side-band signals between core and HMC + input logic [41:0] core2ctl_sideband_0, + output logic [13:0] ctl2core_sideband_0_nonabphy, + input logic [41:0] core2ctl_sideband_1, + output logic [13:0] ctl2core_sideband_1_nonabphy, + + // MMR signals between core and HMC + output logic [33:0] ctl2core_mmr_0_nonabphy, + input logic [50:0] core2ctl_mmr_0, + output logic [33:0] ctl2core_mmr_1_nonabphy, + input logic [50:0] core2ctl_mmr_1, + + // Signals between I/O buffers and lanes/tiles + output logic [PINS_IN_RTL_TILES-1:0] l2b_data_nonabphy, // lane-to-buffer data + output logic [PINS_IN_RTL_TILES-1:0] l2b_oe_nonabphy, // lane-to-buffer output-enable + output logic [PINS_IN_RTL_TILES-1:0] l2b_dtc_nonabphy, // lane-to-buffer dynamic-termination-control + input logic [PINS_IN_RTL_TILES-1:0] b2l_data, // buffer-to-lane data + input logic [LANES_IN_RTL_TILES-1:0] b2t_dqs, // buffer-to-tile DQS + input logic [LANES_IN_RTL_TILES-1:0] b2t_dqsb, // buffer-to-tile DQSb + + // Avalon-MM bus for the calibration commands between IOSSM and tiles + input logic cal_bus_clk, + input logic cal_bus_avl_read, + input logic cal_bus_avl_write, + input logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] cal_bus_avl_address, + output logic [PORT_CALBUS_RDATA_WIDTH-1:0] cal_bus_avl_read_data, + input logic [PORT_CALBUS_WDATA_WIDTH-1:0] cal_bus_avl_write_data, + output logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] cal_bus_seq_param_tbl, + + // Ports for internal test and debug + input logic pa_dprio_clk, + input logic pa_dprio_read, + input logic [PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH-1:0] pa_dprio_reg_addr, + input logic pa_dprio_rst_n, + input logic pa_dprio_write, + input logic [PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH-1:0] pa_dprio_writedata, + output logic pa_dprio_block_select_nonabphy, + output logic [PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] pa_dprio_readdata_nonabphy +); + timeunit 1ns; + timeprecision 1ps; + + // Enum that defines whether a lane is used or not, and in what mode. + // This enum type is used to encode the LANES_USAGE_MODE parameter + // passed into the io_tiles module. + typedef enum bit [2:0] { + LANE_USAGE_UNUSED = 3'b000, + LANE_USAGE_AC_HMC = 3'b001, + LANE_USAGE_AC_CORE = 3'b010, + LANE_USAGE_RDATA = 3'b011, + LANE_USAGE_WDATA = 3'b100, + LANE_USAGE_WRDATA = 3'b101 + } LANE_USAGE; + + // Enum that defines whether a pin is used by EMIF + // This enum type is used to encode the PINS_USAGE parameter + // passed into the io_tiles module. + typedef enum bit [0:0] { + PIN_USAGE_UNUSED = 1'b0, + PIN_USAGE_USED = 1'b1 + } PIN_USAGE; + + // Enum that defines whether an EMIF pin operates at SDR or DDR. + // This enum type is used to encode the PINS_RATE parameter + // passed into the io_tiles module. + typedef enum bit [0:0] { + PIN_RATE_DDR = 1'b0, + PIN_RATE_SDR = 1'b1 + } PIN_RATE; + + // Enum that defines the direction of an EMIF pin. + typedef enum bit [0:0] { + PIN_OCT_STATIC_OFF = 1'b0, + PIN_OCT_DYNAMIC = 1'b1 + } PIN_OCT_MODE; + + // Enum that defines the pin usage within a lane + typedef enum bit [3:0] { + LANE_PIN_USAGE_MODE_UNUSED = 4'b0000, + LANE_PIN_USAGE_MODE_DQ = 4'b0001, + LANE_PIN_USAGE_MODE_DQS = 4'b0010, + LANE_PIN_USAGE_MODE_DQSB = 4'b0011, + LANE_PIN_USAGE_MODE_CA_SDR = 4'b0100, + LANE_PIN_USAGE_MODE_CA_DDR = 4'b0101, + LANE_PIN_USAGE_MODE_DM = 4'b1000, + LANE_PIN_USAGE_MODE_DBI = 4'b1001 + } LANE_PIN_USAGE_MODE; + + // Enum that defines the write data buffer procedural mode of an EMIF pin. + // This enum type is used to encode the DB_PINS_PROC_MODE parameter + // passed into the io_tiles module. + typedef enum bit [4:0] { + DB_PIN_PROC_MODE_AC_CORE = 5'b00000, + DB_PIN_PROC_MODE_AC_IN_CORE = 5'b10100, + DB_PIN_PROC_MODE_WDB_AC = 5'b00001, + DB_PIN_PROC_MODE_WDB_DQ = 5'b00010, + DB_PIN_PROC_MODE_WDB_DBI = 5'b00011, + DB_PIN_PROC_MODE_WDB_DM = 5'b00100, + DB_PIN_PROC_MODE_WDB_CLK = 5'b00101, + DB_PIN_PROC_MODE_WDB_CLKB = 5'b00110, + DB_PIN_PROC_MODE_WDB_DQS = 5'b00111, + DB_PIN_PROC_MODE_WDB_DQSB = 5'b01000, + DB_PIN_PROC_MODE_DQS = 5'b01001, + DB_PIN_PROC_MODE_DQSB = 5'b01010, + DB_PIN_PROC_MODE_DQ = 5'b01011, + DB_PIN_PROC_MODE_DM = 5'b01100, + DB_PIN_PROC_MODE_DBI = 5'b01101, + DB_PIN_PROC_MODE_CLK = 5'b01110, + DB_PIN_PROC_MODE_CLKB = 5'b01111, + DB_PIN_PROC_MODE_DQS_DDR4 = 5'b10000, + DB_PIN_PROC_MODE_DQSB_DDR4 = 5'b10001, + DB_PIN_PROC_MODE_RDQ = 5'b10010, + DB_PIN_PROC_MODE_RDQS = 5'b10011, + DB_PIN_PROC_MODE_GPIO = 5'b11111 + } DB_PIN_PROC_MODE; + + // Enum that defines the pin data in mode of an EMIF pin. + // This enum type is used to encode the PINS_DATA_IN_MODE parameter + // passed into the io_tiles module. + typedef enum bit [2:0] { + PIN_DATA_IN_MODE_DISABLED = 3'b000, + PIN_DATA_IN_MODE_SSTL_IN = 3'b001, + PIN_DATA_IN_MODE_LOOPBACK_IN = 3'b010, + PIN_DATA_IN_MODE_XOR_LOOPBACK_IN = 3'b011, + PIN_DATA_IN_MODE_DIFF_IN = 3'b100, + PIN_DATA_IN_MODE_DIFF_IN_AVL_OUT = 3'b101, + PIN_DATA_IN_MODE_DIFF_IN_X12_OUT = 3'b110, + PIN_DATA_IN_MODE_DIFF_IN_AVL_X12_OUT = 3'b111 + } PIN_DATA_IN_MODE; + + // Is HMC rate converter or dual-port feature turned on? + // This can be inferred from the clock rates at core/periphery boundary and in HMC. + localparam USE_HMC_RC_OR_DP = (C2P_P2C_CLK_RATIO == PHY_HMC_CLK_RATIO) ? 0 : 1; + localparam LANE_DB_CLK_SEL = USE_HMC_RC_OR_DP ? "phy_clk1" : "phy_clk0"; + + // The phase alignment blocks have synchronization signals between them + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0] pa_sync_data_up_chain; + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0] pa_sync_data_dn_chain; + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0] pa_sync_clk_up_chain; + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0] pa_sync_clk_dn_chain; + assign pa_sync_data_dn_chain[NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)] = 1'b1; + assign pa_sync_clk_dn_chain [NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)] = 1'b1; + assign pa_sync_data_up_chain[0] = 1'b1; + assign pa_sync_clk_up_chain [0] = 1'b1; + + // The Avalon command bus signal daisy-chains one tile to another + // from bottom-to-top starting from the I/O aux. + logic [NUM_OF_RTL_TILES-1:0][PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] tile_param_tables; + + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0][54:0] cal_bus_avl_up_chain; + assign cal_bus_avl_up_chain[0][19:0] = cal_bus_avl_address; + assign cal_bus_avl_up_chain[0][51:20] = cal_bus_avl_write_data; + assign cal_bus_avl_up_chain[0][52] = cal_bus_avl_write; + assign cal_bus_avl_up_chain[0][53] = cal_bus_avl_read; + assign cal_bus_avl_up_chain[0][54] = cal_bus_clk; + + // The Avalon read data signal daisy-chains one tile to another + // from top-to-bottom ending at the I/O aux. + logic [(NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)):0][31:0] cal_bus_avl_read_data_dn_chain; + assign cal_bus_avl_read_data = cal_bus_avl_read_data_dn_chain[0]; + assign cal_bus_avl_read_data_dn_chain[NUM_OF_RTL_TILES * (LANES_PER_TILE + 1)] = 32'b0; + + // Broadcast signals that daisy-chain all lanes in upward and downward directions. + logic [(NUM_OF_RTL_TILES * LANES_PER_TILE):0][1:0] broadcast_up_chain; + logic [(NUM_OF_RTL_TILES * LANES_PER_TILE):0][1:0] broadcast_dn_chain; + assign broadcast_dn_chain[NUM_OF_RTL_TILES * LANES_PER_TILE] = 2'b11; + assign broadcast_up_chain[0] = 2'b11; + + // HMC-to-DBC signals going from tiles to lanes and between tiles + logic [NUM_OF_RTL_TILES:0][50:0] all_tiles_ctl2dbc0_dn_chain; + logic [NUM_OF_RTL_TILES:0][50:0] all_tiles_ctl2dbc1_up_chain; + assign all_tiles_ctl2dbc0_dn_chain[NUM_OF_RTL_TILES] = {51{1'b1}}; + assign all_tiles_ctl2dbc1_up_chain[0] = {51{1'b1}}; + + // Ping-Pong signals going up the column + logic [NUM_OF_RTL_TILES:0][101:0] all_tiles_ping_pong_up_chain; + assign all_tiles_ping_pong_up_chain[0] = {102{1'b1}}; + + // PHY clock signals going from tiles to lanes + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] all_tiles_t2l_phy_clk_phs; + + logic [LANES_PER_TILE-1:0][4:0] all_tiles_t2l_phy_clk; + + // DLL clock from tile_ctrl to lanes + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] all_tiles_dll_clk_out; + + // Outputs from the CPA inside each tile + // In the following arrays, only elements at tile index PRI_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + // In ping-pong configuration, the CPA inside the primary HMC tile is used, hence no need to account for secondary tile + logic [NUM_OF_RTL_TILES-1:0][1:0] all_tiles_core_clks_out; + logic [NUM_OF_RTL_TILES-1:0][1:0] all_tiles_core_clks_fb_in; + logic [NUM_OF_RTL_TILES-1:0][1:0] all_tiles_core_clks_locked; + + assign core_clks_from_cpa_pri_nonabphy = {1'b0, all_tiles_core_clks_out[PRI_AC_TILE_INDEX][0]}; + assign core_clks_locked_cpa_pri_nonabphy = all_tiles_core_clks_locked[PRI_AC_TILE_INDEX]; + assign all_tiles_core_clks_fb_in[PRI_AC_TILE_INDEX] = core_clks_fb_to_cpa_pri; + + assign core_clks_from_cpa_sec_nonabphy = PHY_PING_PONG_EN ? {1'b0,all_tiles_core_clks_out[SEC_AC_TILE_INDEX][0]} : '0; + assign core_clks_locked_cpa_sec_nonabphy = PHY_PING_PONG_EN ? all_tiles_core_clks_locked[SEC_AC_TILE_INDEX] : '0; + generate + if (PHY_PING_PONG_EN) begin + assign all_tiles_core_clks_fb_in[SEC_AC_TILE_INDEX] = core_clks_fb_to_cpa_sec; + end + endgenerate + + // Outputs from PHY clock tree back to PLL + // Physically, this connection needs to happen in every tile but + // in RTL we only make this connection for the A/C tile (since we + // only have one logical PLL) + + // Avalon signals between HMC and core + // In the following arrays, only elements at tile index *_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + logic [NUM_OF_RTL_TILES-1:0] all_tiles_ctl2core_avl_cmd_ready; + logic [NUM_OF_RTL_TILES-1:0][12:0] all_tiles_ctl2core_avl_rdata_id; + + assign ctl2core_avl_cmd_ready_0_nonabphy = all_tiles_ctl2core_avl_cmd_ready[PRI_AC_TILE_INDEX]; + assign ctl2core_avl_rdata_id_0_nonabphy = all_tiles_ctl2core_avl_rdata_id[PRI_AC_TILE_INDEX]; + + assign ctl2core_avl_cmd_ready_1_nonabphy = all_tiles_ctl2core_avl_cmd_ready[SEC_AC_TILE_INDEX]; + assign ctl2core_avl_rdata_id_1_nonabphy = all_tiles_ctl2core_avl_rdata_id[SEC_AC_TILE_INDEX]; + + // AFI signals between tile and core + // In the following arrays, only elements at tile index PRI_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + // Ping-Pong PHY doesn't support AFI interface so there's no need to account for SEC_AC_TILE_INDEX + logic [NUM_OF_RTL_TILES-1:0][17:0] all_tiles_c2t_afi; + logic [NUM_OF_RTL_TILES-1:0][26:0] all_tiles_t2c_afi; + + assign all_tiles_c2t_afi[PRI_AC_TILE_INDEX] = c2t_afi; + assign t2c_afi_nonabphy = all_tiles_t2c_afi[PRI_AC_TILE_INDEX]; + + // Sideband signals between HMC and core + // In the following arrays, only elements at tile index *_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + logic [NUM_OF_RTL_TILES-1:0][13:0] all_tiles_ctl2core_sideband; + + assign ctl2core_sideband_0_nonabphy = all_tiles_ctl2core_sideband[PRI_AC_TILE_INDEX]; + assign ctl2core_sideband_1_nonabphy = all_tiles_ctl2core_sideband[SEC_AC_TILE_INDEX]; + + // MMR signals between HMC and core + // In the following arrays, only elements at tile index *_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + logic [NUM_OF_RTL_TILES-1:0][33:0] all_tiles_ctl2core_mmr; + + assign ctl2core_mmr_0_nonabphy = all_tiles_ctl2core_mmr[PRI_AC_TILE_INDEX]; + assign ctl2core_mmr_1_nonabphy = all_tiles_ctl2core_mmr[SEC_AC_TILE_INDEX]; + + // CPA DPRIO signals (for internal debug) + // In the following arrays, only elements at tile index PRI_AC_TILE_INDEX, corresponding to the addr/cmd tile, are used + logic [NUM_OF_RTL_TILES-1:0] all_tiles_pa_dprio_block_select; + logic [NUM_OF_RTL_TILES-1:0][PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] all_tiles_pa_dprio_readdata; + + assign pa_dprio_readdata_nonabphy = all_tiles_pa_dprio_readdata[PRI_AC_TILE_INDEX]; + assign pa_dprio_block_select_nonabphy = all_tiles_pa_dprio_block_select[PRI_AC_TILE_INDEX]; + + // FM Tile PHYCLK Atom + logic [2:0] phy_fbclk_pa; + logic [1:0] phy_clk_hmc; + + // CPA DPRIO signals (for internal debug) + logic [LANES_PER_TILE-1:0][1:0] phy_clk_local_early; + logic [LANES_PER_TILE-1:0][1:0] phy_clk_local_late; + + logic phy_rxloaden_tp_loopback, phy_rxloaden_btm_loopback; + logic phy_rxclk_tp_loopback, phy_rxclk_btm_loopback; + logic phy_fb_tp_loopback, phy_fb_btm_loopback; + logic phy_txloaden_tp_loopback, phy_txloaden_btm_loopback; + logic phy_txclk_tp_loopback, phy_txclk_btm_loopback; + + + localparam VCO_FREQ_HZ_INT = PLL_VCO_FREQ_MHZ_INT * 1000000; + + `define cpa_clock_1_div_factor(vco_freq_mhz) \ + (vco_freq_mhz >= 600 && vco_freq_mhz < 800) ? "core_clk1_div2": \ + (vco_freq_mhz >= 800 && vco_freq_mhz < 1000) ? "core_clk1_div2p5": \ + (vco_freq_mhz >= 1000 && vco_freq_mhz < 1200) ? "core_clk1_div3": \ + "core_clk1_div4" + + tennm_io48_phyclk phyclk_inst ( + .loaden_0 (phy_clk[0]), // PHYCLK from the logical IOPLL + .lvds_clk_0 (phy_clk[1]), // PHYCLK from the logical IOPLL + .fblvds (phy_fb_clk_to_tile), // PLL signal going into PHY feedback clock; replaces tile_ctrl.pa_fbclk_in + .loaden_1 (1'b0), // Unused PHYCLK in an EMIF + .lvds_clk_1 (1'b0), // Unused PHYCLK in an EMIF + + // PHYCLK loopback timing paths + .phy_fb_match_btm (phy_fb_btm_loopback), + .phy_fb_match_tp (phy_fb_tp_loopback), + .phy_rxclk_from_btm (1'b0), + .phy_rxclk_from_left (1'b0), + .phy_rxclk_from_right (1'b0), + .phy_rxclk_from_tp (1'b0), + .phy_rxclk_match_btm (phy_rxclk_btm_loopback), + .phy_rxclk_match_tp (phy_rxclk_tp_loopback), + .phy_rxloaden_from_btm (1'b0), + .phy_rxloaden_from_left (1'b0), + .phy_rxloaden_from_right(1'b0), + .phy_rxloaden_from_tp (1'b0), + .phy_rxloaden_match_btm (phy_rxloaden_btm_loopback), + .phy_rxloaden_match_tp (phy_rxloaden_tp_loopback), + .phy_txclk_from_btm (1'b0), + .phy_txclk_from_left (1'b0), + .phy_txclk_from_right (1'b0), + .phy_txclk_from_tp (1'b0), + .phy_txclk_match_btm (phy_txclk_btm_loopback), + .phy_txclk_match_tp (phy_txclk_tp_loopback), + .phy_txloaden_from_btm (1'b0), + .phy_txloaden_from_left (1'b0), + .phy_txloaden_from_right(1'b0), + .phy_txloaden_from_tp (1'b0), + .phy_txloaden_match_btm (phy_txloaden_btm_loopback), + .phy_txloaden_match_tp (phy_txloaden_tp_loopback), + + .phy_clk_hmc (phy_clk_hmc), + .fbclk_pa (phy_fbclk_pa), + .fbclk_pll (phy_fb_clk_to_pll_nonabphy), // to IOPLL feedback; we have one logical PLL + + .phy_clk_local_early0 (phy_clk_local_early[0]), + .phy_clk_local_early1 (phy_clk_local_early[1]), + .phy_clk_local_early2 (phy_clk_local_early[2]), + .phy_clk_local_early3 (phy_clk_local_early[3]), + .phy_clk_local_late0 (phy_clk_local_late[0]), + .phy_clk_local_late1 (phy_clk_local_late[1]), + .phy_clk_local_late2 (phy_clk_local_late[2]), + .phy_clk_local_late3 (phy_clk_local_late[3]), + + .phy_clk_out_0 (all_tiles_t2l_phy_clk[0]), + .phy_clk_out_1 (all_tiles_t2l_phy_clk[1]), + .phy_clk_out_2 (all_tiles_t2l_phy_clk[2]), + .phy_clk_out_3 (all_tiles_t2l_phy_clk[3]), + + .phy_clk_ufi_0 (global_phy_clk[0]), // Global PHYCLK0 for C2P/P2C crossings + .phy_clk_ufi_1 (global_phy_clk[1]), // Global PHYCLK1 for C2P/P2C crossings + .phy_clk_ufi_3 (/*open*/), // Not used by EMIF (review NF EMIF Clock Topologies by Jimmy) + + // PHYCLK loopback timing paths + .phy_fb_to_btm (phy_fb_btm_loopback), + .phy_fb_to_tp (phy_fb_tp_loopback), + .phy_rxclk_to_left (/*open*/), + .phy_rxclk_to_right (/*open*/), + .phy_rxclk_to_tp (phy_rxclk_tp_loopback), + .phy_rxclk_to_btm (phy_rxclk_btm_loopback), + .phy_rxloaden_to_left (/*open*/), + .phy_rxloaden_to_right(/*open*/), + .phy_rxloaden_to_tp (phy_rxloaden_tp_loopback), + .phy_rxloaden_to_btm (phy_rxloaden_btm_loopback), + .phy_txclk_to_left (/*open*/), + .phy_txclk_to_right (/*open*/), + .phy_txclk_to_tp (phy_txclk_tp_loopback), + .phy_txclk_to_btm (phy_txclk_btm_loopback), + .phy_txloaden_to_left (/*open*/), + .phy_txloaden_to_right(/*open*/), + .phy_txloaden_to_tp (phy_txloaden_tp_loopback), + .phy_txloaden_to_btm (phy_txloaden_btm_loopback) + ); + + + //////////////////////////////////////////////////////////////////////////// + // Generate tiles and lanes. + //////////////////////////////////////////////////////////////////////////// + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][5:0] l2vio_afi_rlat; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][5:0] l2vio_afi_wlat; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] l2vio_rdata_valid; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] l2vio_rd_type; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] l2vio_rd_data_vld_avl; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] l2vio_wr_data_rdy_ast; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][11:0] l2vio_wb_pointer_for_ecc; + + + + localparam L2CORE_P2C_PER_IF_SIGS_TILE_INDEX = IS_HPS ? PRI_AC_TILE_INDEX : PRI_RDATA_TILE_INDEX; + localparam L2CORE_P2C_PER_IF_SIGS_LANE_INDEX = IS_HPS ? PRI_HMC_DBC_SHADOW_LANE_INDEX : PRI_RDATA_LANE_INDEX; + + assign l2core_afi_rlat_nonabphy = l2vio_afi_rlat[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + assign l2core_afi_wlat_nonabphy = l2vio_afi_wlat[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + + assign l2core_rdata_valid_nonabphy_pri = l2vio_rdata_valid[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + assign l2core_rdata_valid_nonabphy_sec = l2vio_rdata_valid[SEC_RDATA_TILE_INDEX][SEC_RDATA_LANE_INDEX]; + assign l2core_rd_data_vld_avl_nonabphy = l2vio_rd_data_vld_avl[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + assign l2core_rd_type_nonabphy = l2vio_rd_type[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + + assign l2core_wr_data_rdy_ast_nonabphy = l2vio_wr_data_rdy_ast[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + assign l2core_wb_pointer_for_ecc_nonabphy = l2vio_wb_pointer_for_ecc[L2CORE_P2C_PER_IF_SIGS_TILE_INDEX][L2CORE_P2C_PER_IF_SIGS_LANE_INDEX]; + + localparam PRI_HMC_CFG_NO_OF_REF_FOR_SELF_RFSH = (PRI_HMC_CFG_REFRESH_TYPE == 2'b01 ? 4'h2 : ( + PRI_HMC_CFG_REFRESH_TYPE == 2'b10 ? 4'h4 : ( + 4'h1 ))); + localparam SEC_HMC_CFG_NO_OF_REF_FOR_SELF_RFSH = (SEC_HMC_CFG_REFRESH_TYPE == 2'b01 ? 4'h2 : ( + SEC_HMC_CFG_REFRESH_TYPE == 2'b10 ? 4'h4 : ( + 4'h1 ))); + + // Select the param table data of the primary A/C tile + assign cal_bus_seq_param_tbl = tile_param_tables[PRI_AC_TILE_INDEX]; + generate + genvar tile_i, lane_i; + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) + begin: tile_gen + // DQS bus from tile to lanes + logic [1:0] t2l_dqsbus_x4 [LANES_PER_TILE-1:0]; + logic [1:0] t2l_dqsbus_x8 [LANES_PER_TILE-1:0]; + logic [1:0] t2l_dqsbus_x18 [LANES_PER_TILE-1:0]; + logic [1:0] t2l_dqsbus_x36 [LANES_PER_TILE-1:0]; + + // HMC AFI signals going to lanes. + logic [3:0][95:0] t2l_ac_hmc; + + // HMC to Data buffer control blocks in the lanes + logic [17:0] t2l_cfg_dbc [LANES_PER_TILE-1:0]; + + tennm_tile_ctrl # ( + .a_fmio96_hps_used (IS_HPS ? "A_FMIO96_HPS_USED" : "A_FMIO96_HPS_UNUSED"), + .mimic_hps (PHY_MIMIC_HPS_EMIF ? "true" : "false"), + .ioaux_param_table(SEQ_PT_CONTENT), + .param_table_valid((tile_i == PRI_AC_TILE_INDEX) ? "true" : "false"), + + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_wdata_driver_sel_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_prbs_ctrl_sel_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_loopback_en_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cmd_driver_sel_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbg_mode (4'b0000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbg_ctrl (32'b00000000000000000000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bist_cmd0_u (32'b00000000000000000000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bist_cmd0_l (32'b00000000000000000000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bist_cmd1_u (32'b00000000000000000000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bist_cmd1_l (32'b00000000000000000000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbg_out_sel (16'b0000000000000000), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_mem_type (`_get_hmc_ctrl_mem_type), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dimm_type (HMC_CTRL_DIMM_TYPE), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ac_pos (AC_PIN_MAP_SCHEME), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_addr_order (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ADDR_ORDER , SEC_HMC_CFG_ADDR_ORDER )), // (hmc_addr_order V) Mapping of Avalon address to physical address of the memory device + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_enable_ecc_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTRL_ENABLE_ECC , SEC_HMC_CFG_CTRL_ENABLE_ECC )), // Enable ECC + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_enable_ecc_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC0_ENABLE_ECC , SEC_HMC_CFG_DBC0_ENABLE_ECC )), // Enable ECC + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_enable_ecc_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC1_ENABLE_ECC , SEC_HMC_CFG_DBC1_ENABLE_ECC )), // Enable ECC + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_enable_ecc_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC2_ENABLE_ECC , SEC_HMC_CFG_DBC2_ENABLE_ECC )), // Enable ECC + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_enable_ecc_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC3_ENABLE_ECC , SEC_HMC_CFG_DBC3_ENABLE_ECC )), // Enable ECC + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_reorder_data_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_REORDER_DATA , SEC_HMC_CFG_REORDER_DATA )), // Enable command reodering + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_reorder_rdata_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTRL_REORDER_RDATA , SEC_HMC_CFG_CTRL_REORDER_RDATA )), // Enable in-order read data return when read command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_reorder_rdata_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC0_REORDER_RDATA , SEC_HMC_CFG_DBC0_REORDER_RDATA )), // Enable in-order read data return when read command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_reorder_rdata_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC1_REORDER_RDATA , SEC_HMC_CFG_DBC1_REORDER_RDATA )), // Enable in-order read data return when read command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_reorder_rdata_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC2_REORDER_RDATA , SEC_HMC_CFG_DBC2_REORDER_RDATA )), // Enable in-order read data return when read command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_reorder_rdata_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC3_REORDER_RDATA , SEC_HMC_CFG_DBC3_REORDER_RDATA )), // Enable in-order read data return when read command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_reorder_read_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_REORDER_READ , SEC_HMC_CFG_REORDER_READ )), // Enable read command reordering if command reordering is enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_starve_limit (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_STARVE_LIMIT , SEC_HMC_CFG_STARVE_LIMIT )), // When command reordering is enabled, specifies the number of commands that can be served before a starved command is starved. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dqstrk_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DQSTRK_EN , SEC_HMC_CFG_DQSTRK_EN )), // Enable DQS tracking + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_enable_dm_scalar (MEM_DATA_MASK_EN ? "enable" : "disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_enable_dm_scalar (MEM_DATA_MASK_EN ? "enable" : "disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_enable_dm_scalar (MEM_DATA_MASK_EN ? "enable" : "disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_enable_dm_scalar (MEM_DATA_MASK_EN ? "enable" : "disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_enable_dm_scalar (MEM_DATA_MASK_EN ? "enable" : "disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl2dbc_switch0 (`_get_ctrl2dbc_switch_0(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl2dbc_switch1 (`_get_ctrl2dbc_switch_1(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_ctrl_sel_scalar (`_get_ctrl2dbc_sel_0(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_ctrl_sel_scalar (`_get_ctrl2dbc_sel_1(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_ctrl_sel_scalar (`_get_ctrl2dbc_sel_2(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_ctrl_sel_scalar (`_get_ctrl2dbc_sel_3(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2ctrl_sel (`_get_hmc_dbc2ctrl_sel(tile_i)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_pipe_lat (3'(`_get_dbc_pipe_lat(tile_i, 0))), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_pipe_lat (3'(`_get_dbc_pipe_lat(tile_i, 1))), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_pipe_lat (3'(`_get_dbc_pipe_lat(tile_i, 2))), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_pipe_lat (3'(`_get_dbc_pipe_lat(tile_i, 3))), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_cmd_rate (`_get_hmc_cmd_rate), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_cmd_rate (`_get_dbc0_cmd_rate), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_cmd_rate (`_get_dbc1_cmd_rate), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_cmd_rate (`_get_dbc2_cmd_rate), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_cmd_rate (`_get_dbc3_cmd_rate), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_in_protocol_scalar (`_get_hmc_protocol), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_in_protocol_scalar (`_get_dbc0_protocol), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_in_protocol_scalar (`_get_dbc1_protocol), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_in_protocol_scalar (`_get_dbc2_protocol), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_in_protocol_scalar (`_get_dbc3_protocol), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_geardn_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_GEAR_DOWN_EN , SEC_HMC_CFG_GEAR_DOWN_EN )), // Gear-down (DDR4) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3dsref_ack_on_done_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_3DSREF_ACK_ON_DONE , SEC_HMC_3DSREF_ACK_ON_DONE )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cb_tbp_reload_fix_en_n_scalar (`_get_hmc_cb_tbp_reload_fix_en_n), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_tile_id (tile_i[4:0]), // HMC ID (0 for T0, 1 for T1, etc) - actual value set by Fitter based on placement + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_pingpong_mode ((tile_i == PRI_AC_TILE_INDEX) ? PRI_HMC_CFG_PING_PONG_MODE : ((tile_i == SEC_AC_TILE_INDEX ) ? SEC_HMC_CFG_PING_PONG_MODE : "pingpong_off")), // Ping-Pong PHY mode + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_slot_rotate_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN , SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN )), // Command slot rotation + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_slot_rotate_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN , SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN )), // Command slot rotation + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_slot_rotate_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN , SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN )), // Command slot rotation + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_slot_rotate_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN , SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN )), // Command slot rotation + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_slot_offset (`_sel_hmc_lane(tile_i, 0, PRI_HMC_CFG_DBC0_SLOT_OFFSET , SEC_HMC_CFG_DBC0_SLOT_OFFSET )), // Command slot offset + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_slot_offset (`_sel_hmc_lane(tile_i, 1, PRI_HMC_CFG_DBC1_SLOT_OFFSET , SEC_HMC_CFG_DBC1_SLOT_OFFSET )), // Command slot offset + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_slot_offset (`_sel_hmc_lane(tile_i, 2, PRI_HMC_CFG_DBC2_SLOT_OFFSET , SEC_HMC_CFG_DBC2_SLOT_OFFSET )), // Command slot offset + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_slot_offset (`_sel_hmc_lane(tile_i, 3, PRI_HMC_CFG_DBC3_SLOT_OFFSET , SEC_HMC_CFG_DBC3_SLOT_OFFSET )), // Command slot offset + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctrl_rc_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTRL_ENABLE_RC , SEC_HMC_CFG_CTRL_ENABLE_RC )), // Enable rate-conversion feature + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc0_rc_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC0_ENABLE_RC , SEC_HMC_CFG_DBC0_ENABLE_RC )), // Enable rate-conversion feature + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc1_rc_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC1_ENABLE_RC , SEC_HMC_CFG_DBC1_ENABLE_RC )), // Enable rate-conversion feature + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc2_rc_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC2_ENABLE_RC , SEC_HMC_CFG_DBC2_ENABLE_RC )), // Enable rate-conversion feature + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dbc3_rc_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DBC3_ENABLE_RC , SEC_HMC_CFG_DBC3_ENABLE_RC )), // Enable rate-conversion feature + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cs_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CS_TO_CHIP_MAPPING , SEC_HMC_CFG_CS_TO_CHIP_MAPPING )), // Chip select mapping scheme + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rb_reserved_entry (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RB_RESERVED_ENTRY , SEC_HMC_CFG_RB_RESERVED_ENTRY )), // Number of entries reserved in read buffer before almost full is asserted. Should be set to 4 + 2 * user_pipe_stages + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_wb_reserved_entry (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WB_RESERVED_ENTRY , SEC_HMC_CFG_WB_RESERVED_ENTRY )), // Number of entries reserved in write buffer before almost full is asserted. Should be set to 4 + 2 * user_pipe_stages + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_EN , SEC_HMC_3DS_EN )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ck_inv_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dfx_bypass_en_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_tcl (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_TCL , SEC_HMC_CFG_TCL )), // Memory CAS latency + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tcl (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_TCL , SEC_HMC_CFG_TCL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_power_saving_exit_cycles (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_POWER_SAVING_EXIT_CYC , SEC_HMC_CFG_POWER_SAVING_EXIT_CYC )), // The minimum number of cycles to stay in a low power state. This applies to both power down and self-refresh and should be set to the greater of tPD and tCKESR + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_mem_clk_disable_entry_cycles (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC, SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC )), // Set to a the number of clocks after the execution of an self-refresh to stop the clock. This register is generally set based on PHY design latency and should generally not be changed + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_write_odt_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WRITE_ODT_CHIP , SEC_HMC_CFG_WRITE_ODT_CHIP )), // ODT scheme setting for write command + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_read_odt_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_READ_ODT_CHIP , SEC_HMC_CFG_READ_ODT_CHIP )), // ODT scheme setting for read command + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rd_odt_on (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_ODT_ON , SEC_HMC_CFG_RD_ODT_ON )), // Indicates number of memory clock cycle gap between read command and ODT signal rising edge + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_wr_odt_period (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_ODT_PERIOD , SEC_HMC_CFG_WR_ODT_PERIOD )), // Indicates number of memory clock cycle write ODT signal should stay asserted after rising edge + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rd_odt_period (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_ODT_PERIOD , SEC_HMC_CFG_RD_ODT_PERIOD )), // Indicates number of memory clock cycle read ODT signal should stay asserted after rising edge + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_exit_pdn_for_dqstrk_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cb_revert_ref_qual_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_self_rfsh_dqstrk_en_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_srf_zqcal_disable_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SRF_ZQCAL_DISABLE , SEC_HMC_CFG_SRF_ZQCAL_DISABLE )), // Setting to disable ZQ Calibration after self refresh + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_mps_zqcal_disable_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPS_ZQCAL_DISABLE , SEC_HMC_CFG_MPS_ZQCAL_DISABLE )), // Setting to disable ZQ Calibration after Maximum Power Saving exit + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_mps_dqstrk_disable_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPS_DQSTRK_DISABLE , SEC_HMC_CFG_MPS_DQSTRK_DISABLE )), // Setting to disable DQS Tracking after Maximum Power Saving exit + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_sb_cg_disable_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SB_CG_DISABLE , SEC_HMC_CFG_SB_CG_DISABLE )), // Setting to disable mem_ck gating during self refresh and deep power down + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_user_rfsh_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_USER_RFSH_EN , SEC_HMC_CFG_USER_RFSH_EN )), // Setting to enable user refresh + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_srf_autoexit_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SRF_AUTOEXIT_EN , SEC_HMC_CFG_SRF_AUTOEXIT_EN )), // Setting to enable controller to exit Self Refresh when new command is detected + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_srf_entry_exit_block (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK , SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK )), // Blocking arbiter from issuing commands + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_sb_ddr4_mr3 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SB_DDR4_MR3 , SEC_HMC_CFG_SB_DDR4_MR3 )), // DDR4 MR3 + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_sb_ddr4_mr4 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SB_DDR4_MR4 , SEC_HMC_CFG_SB_DDR4_MR4 )), // DDR4 MR4 + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_short_dqstrk_ctrl_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN , SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_period_dqstrk_ctrl_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN , SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_period_dqstrk_interval (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL , SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_dqstrk_to_valid_last (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DQSTRK_TO_VALID_LAST , SEC_HMC_CFG_DQSTRK_TO_VALID_LAST )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_dqstrk_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DQSTRK_TO_VALID , SEC_HMC_CFG_DQSTRK_TO_VALID )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rfsh_warn_threshold (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RFSH_WARN_THRESHOLD , SEC_HMC_CFG_RFSH_WARN_THRESHOLD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_act_to_rdwr (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ACT_TO_RDWR , SEC_HMC_CFG_ACT_TO_RDWR )), // Activate to Read/write command timing (e.g. tRCD) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_act_to_pch (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ACT_TO_PCH , SEC_HMC_CFG_ACT_TO_PCH )), // Active to precharge (e.g. tRAS) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_act_to_act (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ACT_TO_ACT , SEC_HMC_CFG_ACT_TO_ACT )), // Active to activate timing on same bank (e.g. tRC) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_act_to_act_diff_bank (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK , SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK )), // Active to activate timing on different banks, for DDR4 same bank group (e.g. tRRD) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_act_to_act_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG , SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG )), // Active to activate timing on different bank groups, DDR4 only + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_rd (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_RD , SEC_HMC_CFG_RD_TO_RD )), // Read to read command timing on same bank (e.g. tCCD) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_rd_diff_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP , SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP )), // Read to read command timing on different chips + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_rd_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_RD_DIFF_BG , SEC_HMC_CFG_RD_TO_RD_DIFF_BG )), // Read to read command timing on different chips + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_wr (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_WR , SEC_HMC_CFG_RD_TO_WR )), // Read to write command timing on same bank + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_wr_diff_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP , SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP )), // Read to write command timing on different chips + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_wr_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_WR_DIFF_BG , SEC_HMC_CFG_RD_TO_WR_DIFF_BG )), // Read to write command timing on different bank groups + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_to_pch (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_TO_PCH , SEC_HMC_CFG_RD_TO_PCH )), // Read to precharge command timing (e.g. tRTP) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_rd_ap_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RD_AP_TO_VALID , SEC_HMC_CFG_RD_AP_TO_VALID )), // Read command with autoprecharge to data valid timing + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_wr (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_WR , SEC_HMC_CFG_WR_TO_WR )), // Write to write command timing on same bank. (e.g. tCCD) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_wr_diff_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP , SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP )), // Write to write command timing on different chips. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_wr_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_WR_DIFF_BG , SEC_HMC_CFG_WR_TO_WR_DIFF_BG )), // Write to write command timing on different bank groups. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_rd (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_RD , SEC_HMC_CFG_WR_TO_RD )), // Write to read command timing. (e.g. tWTR) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_rd_diff_chip (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP , SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP )), // Write to read command timing on different chips. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_rd_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_RD_DIFF_BG , SEC_HMC_CFG_WR_TO_RD_DIFF_BG )), // Write to read command timing on different bank groups + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_to_pch (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_TO_PCH , SEC_HMC_CFG_WR_TO_PCH )), // Write to precharge command timing. (e.g. tWR) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_wr_ap_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_AP_TO_VALID , SEC_HMC_CFG_WR_AP_TO_VALID )), // Write with autoprecharge to valid command timing. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_pch_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PCH_TO_VALID , SEC_HMC_CFG_PCH_TO_VALID )), // Precharge to valid command timing. (e.g. tRP) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_pch_all_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PCH_ALL_TO_VALID , SEC_HMC_CFG_PCH_ALL_TO_VALID )), // Precharge all to banks being ready for bank activation command. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_arf_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ARF_TO_VALID , SEC_HMC_CFG_ARF_TO_VALID )), // Auto Refresh to valid DRAM command window. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_pdn_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PDN_TO_VALID , SEC_HMC_CFG_PDN_TO_VALID )), // Power down to valid bank command window. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_srf_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SRF_TO_VALID , SEC_HMC_CFG_SRF_TO_VALID )), // Self-refresh to valid bank command window. (e.g. tRFC) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_srf_to_zq_cal (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SRF_TO_ZQ_CAL , SEC_HMC_CFG_SRF_TO_ZQ_CAL )), // Self refresh to ZQ calibration window + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_arf_period (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ARF_PERIOD , SEC_HMC_CFG_ARF_PERIOD )), // Auto-refresh period (e.g. tREFI) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_pdn_period (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PDN_PERIOD , SEC_HMC_CFG_PDN_PERIOD )), // Number of controller cycles before automatic power down. + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_zqcl_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ZQCL_TO_VALID , SEC_HMC_CFG_ZQCL_TO_VALID )), // Long ZQ calibration to valid + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_zqcs_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ZQCS_TO_VALID , SEC_HMC_CFG_ZQCS_TO_VALID )), // Short ZQ calibration to valid + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mrs_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MRS_TO_VALID , SEC_HMC_CFG_MRS_TO_VALID )), // Mode Register Setting to valid (e.g. tMRD) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mps_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPS_TO_VALID , SEC_HMC_CFG_MPS_TO_VALID )), // Max Power Saving to Valid + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mrr_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MRR_TO_VALID , SEC_HMC_CFG_MRR_TO_VALID )), // Mode Register Read to Valid + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mpr_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPR_TO_VALID , SEC_HMC_CFG_MPR_TO_VALID )), // Multi Purpose Register Read to Valid + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mps_exit_cs_to_cke (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE , SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE )), // Max Power Saving CS to CKE + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mps_exit_cke_to_cs (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS , SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS )), // Max Power Saving CKE to CS + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_mmr_cmd_to_valid (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MMR_CMD_TO_VALID , SEC_HMC_CFG_MMR_CMD_TO_VALID )), // MMR cmd to valid delay + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_t_param_4_act_to_act (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_4_ACT_TO_ACT , SEC_HMC_CFG_4_ACT_TO_ACT )), // The four-activate window timing parameter. (e.g. tFAW) + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_col_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_COL_ADDR_WIDTH , SEC_HMC_CFG_COL_ADDR_WIDTH )), // Column address width + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_row_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ROW_ADDR_WIDTH , SEC_HMC_CFG_ROW_ADDR_WIDTH )), // Row address width + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bank_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_BANK_ADDR_WIDTH , SEC_HMC_CFG_BANK_ADDR_WIDTH )), // Bank address width + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_bank_group_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH , SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH )), // Bank group address width + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cs_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CS_ADDR_WIDTH , SEC_HMC_CFG_CS_ADDR_WIDTH )), // Address width in bits required to access every CS in interface + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_sb_ddr4_mr5 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_SB_DDR4_MR5 , SEC_HMC_CFG_SB_DDR4_MR5 )), // DDR4 MR5 + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ddr4_mps_addrmirror_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR , SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR )), // DDR4 MPS Address Mirror + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_lr_num0 (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_LR_NUM0 , SEC_HMC_3DS_LR_NUM0 )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_lr_num1 (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_LR_NUM1 , SEC_HMC_3DS_LR_NUM1 )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_lr_num2 (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_LR_NUM2 , SEC_HMC_3DS_LR_NUM2 )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_lr_num3 (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_LR_NUM3 , SEC_HMC_3DS_LR_NUM3 )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cid_addr_width (`_sel_hmc_tile(tile_i, PRI_HMC_CID_ADDR_WIDTH , SEC_HMC_CID_ADDR_WIDTH )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_pr_stag_enable_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_PR_STAG_ENABLE , SEC_HMC_3DS_PR_STAG_ENABLE )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_3ds_ref2ref_dlr (`_sel_hmc_tile(tile_i, PRI_HMC_3DS_REF2REF_DLR , SEC_HMC_3DS_REF2REF_DLR )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_chip_id (`_sel_hmc_tile(tile_i, PRI_HMC_CHIP_ID , SEC_HMC_CHIP_ID )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_arbiter_reg_ena_scalar ("disable"), // Unused + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_wb_ptr_reg_ena_scalar ("disable"), // Intended for hard circuitry timing closure, but currently not necessary + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rb_ptr_reg_ena_scalar ("disable"), // Intended for hard circuitry timing closure, but currently not necessary + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctl2dbc_reg_ena_scalar ("enable"), // Unused + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctl2dbc_tile_reg_ena_scalar ("enable"), // Intended for hard circuitry timing closure, but currently not necessary + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ac_tile_reg_ena_scalar ("disable"), // Intended for hard circuitry timing closure, but currently not necessary + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tcwl (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TCWL , SEC_HMC_MEM_IF_TCWL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_al (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_AL , SEC_HMC_MEM_IF_AL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tpl (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TPL , SEC_HMC_MEM_IF_TPL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trcd (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRCD , SEC_HMC_MEM_IF_TRCD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tras (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRAS , SEC_HMC_MEM_IF_TRAS )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trp (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRP , SEC_HMC_MEM_IF_TRP )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trp_ab (32'd0), // DON'T CARE; drive to default + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trc (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRC , SEC_HMC_MEM_IF_TRC )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trrd (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRRD , SEC_HMC_MEM_IF_TRRD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tfaw (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TFAW , SEC_HMC_MEM_IF_TFAW )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trfc (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRFC , SEC_HMC_MEM_IF_TRFC )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_3ds_trfc_dlr (32'd0), // DON'T CARE; drive to default + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_txpdll (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TXPDLL , SEC_HMC_MEM_IF_TXPDLL )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_txsr (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TXSR , SEC_HMC_MEM_IF_TXSR )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tckesr (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TCKESR , SEC_HMC_MEM_IF_TCKESR )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tcksrx (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TCKSRX , SEC_HMC_MEM_IF_TCKSRX )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tccd (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TCCD , SEC_HMC_MEM_IF_TCCD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twr (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWR , SEC_HMC_MEM_IF_TWR )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tzqcs (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TZQCS , SEC_HMC_MEM_IF_TZQCS )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tzqoper (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TZQOPER , SEC_HMC_MEM_IF_TZQOPER )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tmod (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TMOD , SEC_HMC_MEM_IF_TMOD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trefi (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TREFI , SEC_HMC_MEM_IF_TREFI )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_auto_pd_cycles (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MEM_AUTO_PD_CYCLES , SEC_HMC_CFG_MEM_AUTO_PD_CYCLES )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trtp (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRTP , SEC_HMC_MEM_IF_TRTP )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twtr (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWTR , SEC_HMC_MEM_IF_TWTR )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_trrd_s (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TRRD_S , SEC_HMC_MEM_IF_TRRD_S )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tccd_s (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TCCD_S , SEC_HMC_MEM_IF_TCCD_S )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_wr_preamble (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_WR_PREAMBLE , SEC_HMC_MEM_IF_WR_PREAMBLE )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_rd_preamble (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_RD_PREAMBLE , SEC_HMC_MEM_IF_RD_PREAMBLE )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_wr_crc (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_WR_CRC , SEC_HMC_MEM_IF_WR_CRC )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twtr_l_crc_dm (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWTR_L_CRC_DM , SEC_HMC_MEM_IF_TWTR_L_CRC_DM )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twtr_s_crc_dm (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWTR_S_CRC_DM , SEC_HMC_MEM_IF_TWTR_S_CRC_DM )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twr_crc_dm (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWR_CRC_DM , SEC_HMC_MEM_IF_TWR_CRC_DM )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_twtr_s (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TWTR_S , SEC_HMC_MEM_IF_TWTR_S )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_txp (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TXP , SEC_HMC_MEM_IF_TXP )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_tdqsckmax (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_TDQSCKMAX , SEC_HMC_MEM_IF_TDQSCKMAX )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_ctl_odt_enabled (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTL_ODT_ENABLED , SEC_HMC_CFG_CTL_ODT_ENABLED )), // ODT enabled + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_cs_per_dimm (`_sel_hmc_tile(tile_i, PRI_HMC_MEM_IF_CS_PER_DIMM , SEC_HMC_MEM_IF_CS_PER_DIMM )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_enable_fast_exit_ppd (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD , SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_ctl_short_dqstrk_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN , SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_hmc_phy_delay_mismatch (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PHY_DELAY_MISMATCH , SEC_HMC_CFG_PHY_DELAY_MISMATCH )), + + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_va_cfg_hmc_mode ("prod"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cmd_fifo_reserve_entry (0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_ctl2dbc_io_pipeline_en_scalar (DBC_EXTRA_PIPE_STAGE_EN), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_livelock_breaker_en_scalar ("enable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_memclkgate_setting (0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_opportunistic_rfsh_en_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rfsh_idle_threshold (0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_core_wr_pipeline_wdata (0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_mem_if_lpasr (0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_ufi_pipeline_wdata (0), + + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_col_cmd_slot (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_COL_CMD_SLOT , SEC_HMC_CFG_COL_CMD_SLOT )), // Command slot for column commands + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_row_cmd_slot (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ROW_CMD_SLOT , SEC_HMC_CFG_ROW_CMD_SLOT )), // Command slot for row commands + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_col_to_row_offset (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_COL_TO_ROW_OFFSET , SEC_HMC_CFG_COL_TO_ROW_OFFSET )), // Command slot offset from col to row command + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_row_to_col_offset (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ROW_TO_COL_OFFSET , SEC_HMC_CFG_ROW_TO_COL_OFFSET )), // Command slot offset from row to col command + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_col_to_col_offset (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_COL_TO_COL_OFFSET , SEC_HMC_CFG_COL_TO_COL_OFFSET )), // Command slot offset from col to col command + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_col_to_diff_col_offset (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET , SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET )), // Command slot offset from col to col command (different columns) + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_row_to_row_offset (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ROW_TO_ROW_OFFSET , SEC_HMC_CFG_ROW_TO_ROW_OFFSET )), // Command slot offset from row to row commandr + .iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_ctl_width_ratio (PHY_HMC_CLK_RATIO == 2 ? 32'd4 : 32'd8), // Virtual setting. Unused + + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_wr_to_rd (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_WR_TO_RD , SEC_HMC_TEMP_WR_TO_RD )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_wr_to_rd_diff_chip (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP , SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_wr_to_rd_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_WR_TO_RD_DIFF_BG , SEC_HMC_TEMP_WR_TO_RD_DIFF_BG )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_wr_to_wr_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_WR_TO_WR_DIFF_BG , SEC_HMC_TEMP_WR_TO_WR_DIFF_BG )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_rd_to_rd_diff_bg (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_RD_TO_RD_DIFF_BG , SEC_HMC_TEMP_RD_TO_RD_DIFF_BG )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_temp_cfg_t_param_4_act_to_act (`_sel_hmc_tile(tile_i, PRI_HMC_TEMP_4_ACT_TO_ACT , SEC_HMC_TEMP_4_ACT_TO_ACT )), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_pipeline_wdata_path ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_pipeline_rdata_path ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_rd_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_wr_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_wr_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_rd_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_rd_diff_chip_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_wr_diff_chip_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_wr_diff_chip_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_rd_diff_chip_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_rd_diff_bg_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_wr_diff_bg_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_rd_to_wr_diff_bg_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_wr_to_rd_diff_bg_extra (32'd0), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_num_of_mem_clk_pair (32'd1), + + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_periodic_refresh_type (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_REFRESH_TYPE , SEC_HMC_CFG_REFRESH_TYPE)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_no_of_ref_for_self_rfsh (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_NO_OF_REF_FOR_SELF_RFSH , SEC_HMC_CFG_NO_OF_REF_FOR_SELF_RFSH)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_major_mode_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_MAJOR_MODE_EN , SEC_HMC_CFG_MAJOR_MODE_EN)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_post_rfsh_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_POST_REFRESH_EN , SEC_HMC_CFG_POST_REFRESH_EN)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rfsh_post_upper_limit (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT , SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rfsh_post_lower_limit (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT , SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_pre_rfsh_en_scalar (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PRE_REFRESH_EN , SEC_HMC_CFG_PRE_REFRESH_EN)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_rfsh_pre_upper_limit (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT , SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT)), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_cb_3ds_pdown_exit_for_ref_scalar ("disable"), + .u4_0_x0_iohmc_ctrl_inst_iohmc_ctrl_mmr_top_inst_cfg_dual_ping_pong_en_scalar ("disable"), + + .u4_0_x0_iophyseq_inst_a_rb_tile_id (`_get_center_tid(tile_i)), + .u4_0_x0_iophyseq_inst_a_rb_avl_ena ("avl_enable"), + .u4_0_x0_iophyseq_inst_a_rb_hmc_or_core (`_get_hmc_or_core_physeq), + .u4_0_x0_iophyseq_inst_a_rb_trk_mgr_mrnk_mode ("one_rank"), + .u4_0_x0_iophyseq_inst_a_rb_trk_mgr_read_monitor_ena ("disable"), // Must be disabled to avoid an issue with tracking manager (ICD) + .u4_0_x0_iophyseq_inst_a_rb_hmc_id (`_get_hmc_tid(tile_i)), // HMC tile ID - actual value is set by fitter based on placement + .u4_0_x0_iophyseq_inst_a_rb_reset_auto_release (DIAG_SEQ_RESET_AUTO_RELEASE), // Reset sequencer controlled via Avalon by Nios + .u4_0_x0_iophyseq_inst_a_rb_rwlat_mode ("avl_vlu"), // wlat/rlat set dynamically via Avalon by Nios (instead of through CSR) + .u4_0_x0_iophyseq_inst_a_rb_afi_rlat_vlu (6'b000000), // Unused - wlat set dynamically via Avalon by Nios + .u4_0_x0_iophyseq_inst_a_rb_afi_wlat_vlu (6'b000000), // Unused - rlat set dynamically via Avalon by Nios + .u4_0_x0_iophyseq_inst_a_rb_core_clk_sel (USE_HMC_RC_OR_DP ? "clk1" : "clk0"), // Use clk1 in rate-converter or dual-port mode, and clk0 otherwise + .u4_0_x0_iophyseq_inst_a_afi_seq_busy_extend ("extend_8cycles"), + .u4_0_x0_powermode_ac (tile_i == PRI_AC_TILE_INDEX ? "ac_tile" : "data_tile"), // + .u4_0_x0_powermode_dc ("powerup"), // Power-up this HMC + + .u1_0_x0_powermode_dc ("powerup"), + + .powermode_freq_hz_phs_clk (VCO_FREQ_HZ_INT), + + .u1_0_x0_xio_phase_align_pnr_a_rbpa_phase_offset_0 (12'b0), // Output clock phase degree = phase_offset / 128 * 360 + .u1_0_x0_xio_phase_align_pnr_a_rbpa_phase_offset_1 (12'b0), // Output clock phase degree = phase_offset / 128 * 360 + .u1_0_x0_xio_phase_align_pnr_a_rbpa_core_control_en_0 ("core_disable_0"), + .u1_0_x0_xio_phase_align_pnr_a_rbpa_core_control_en_1 ("core_disable_1"), + .u1_0_x0_xio_phase_align_pnr_a_rbpa_pa_reset_enable ("pa_reset_en"), + .u1_0_x0_xio_phase_align_pnr_a_dprio_base_addr (9'b000000000), + .u1_0_x0_xio_phase_align_pnr_a_rbpa_filter_code (`_get_pa_filter_code), + .u1_0_x0_xio_phase_align_pnr_a_support_dpa ("not_support_dpa"), // VALID only for LVDS + + .u1_0_x0_xio_phase_align_pnr_a_core_clk0_pll_vco_freq_divide (`_get_cpa_0_clk_divider), + .u1_0_x0_xio_phase_adjust_xio_pa_peri_fb_mux_0_a_rbpa_feedback_mux_sel ((PRI_HMC_CFG_CTRL_ENABLE_RC == "enable") ? "fb1_p_clk" : "fb0_p_clk"), + + .u1_0_x0_xio_phase_align_pnr_a_core_clk1_pll_vco_freq_divide (`cpa_clock_1_div_factor(PLL_VCO_FREQ_MHZ_INT)), + .u1_0_x0_xio_phase_align_pnr_a_dpa_clk_pll_vco_freq_divide ("dpa_clk_div1"), + .u1_0_x0_xio_phase_align_pnr_a_fb_core_clk0_phy_clk0_freq_divide (`_get_pa_feedback_divider_p0), + .u1_0_x0_xio_phase_adjust_xio_pa_peri_fb_mux_1_a_rbpa_feedback_mux_sel (CPA_FB_MUX_1_SEL), + .u1_0_x0_xio_phase_adjust_xio_pa_feedback_path_1_a_rbpa_feedback_path ("feedback_path_0"), + .u1_0_x0_xio_phase_adjust_xio_pa_feedback_gate_1_a_rbpa_feedback_gate_sel ("gate_skew_periphery"), + .u1_0_x0_xio_phase_adjust_xio_pa_feedback_gate_1_a_rbpa_feedback_gate ("feedback_gate_dly_0") + +/* +* Untouched ND params +* .hmc_dbc0_burst_length (`_get_hmc_burst_length), +* .hmc_dbc1_burst_length (`_get_hmc_burst_length), +* .hmc_dbc2_burst_length (`_get_hmc_burst_length), +* .hmc_dbc3_burst_length (`_get_hmc_burst_length), +* .hmc_wr_odt_on (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_WR_ODT_ON , SEC_HMC_CFG_WR_ODT_ON )), // Indicates number of memory clock cycle gap between write command and ODT signal rising edge +* .silicon_rev (SILICON_REV), +* .hps_ctrl_en (IS_HPS ? "hps_ctrl_en" : "hps_ctrl_dis"), +* .pa_exponent_0 (`_get_pa_exponent_0), // Output clock freq = VCO Freq / 2^exponent +* .pa_exponent_1 (`_get_pa_exponent_1), // Output clock freq = VCO Freq / 2^exponent +* .pa_feedback_divider_c0 (`_get_pa_feedback_divider_c0), // Core clock 0 divider (either 1 or 2) +* .pa_feedback_divider_c1 ("div_by_1"), // Core clock 1 divider (always 1) +* .pa_feedback_divider_p0 (`_get_pa_feedback_divider_p0), // PHY clock 0 divider (either 1 or 2) +* .pa_feedback_divider_p1 ("div_by_1"), // PHY clock 1 divider (always 1) +* .pa_feedback_mux_sel_0 ("fb2_p_clk"), // Use phy_clk[2] as feedback +* .pa_feedback_mux_sel_1 (DIAG_CPA_OUT_1_EN ? "fb0_p_clk" : "fb2_p_clk"), // Use phy_clk[2] as feedback, unless in dual-CPA characterization mode +* .pa_freq_track_speed (4'hd), +* .pa_track_speed (`_get_pa_track_speed), +* .pa_sync_control ("no_sync"), +* .pa_sync_latency (4'b0000), +* .pa_coreclk_override ("non_override"), // Override mechanism to use test clock as input +* .pa_couple_enable ("couple_en"), +* .pa_hps_clk_en (IS_HPS ? "fb_clk_hps" : "fb_clk_core"), // HPS or not? +* .physeq_bc_id_ena ("bc_enable"), // Enable broadcast mechanism +* .physeq_seq_feature (21'b000000000000000000000), +* .hmc_ac_pos (AC_PIN_MAP_SCHEME), +* .hmc_ctrl_output_regd ("disable"), // Engineering option. Unused. +* .hmc_dbc0_output_regd ("disable"), // Engineering option. Unused. +* .hmc_dbc1_output_regd ("disable"), // Engineering option. Unused. +* .hmc_dbc2_output_regd ("disable"), // Engineering option. Unused. +* .hmc_dbc3_output_regd ("disable"), // Engineering option. Unused. +* .hmc_ctrl_dualport_en ("disable"), // No dual-port mode support +* .hmc_dbc0_dualport_en ("disable"), // No dual-port mode support +* .hmc_dbc1_dualport_en ("disable"), // No dual-port mode support +* .hmc_dbc2_dualport_en ("disable"), // No dual-port mode support +* .hmc_dbc3_dualport_en ("disable"), // No dual-port mode support +* .hmc_avl_scg_en ("disable"), // Static clock gating +* .hmc_dbc_sw_scg_en ("disable"), // Static clock gating +* .hmc_core_scg_en ("disable"), // Static clock gating +* .hmc_dbg_scg_en ("disable"), // Static clock gating +* .hmc_scg_en ("disable"), // Static clock gating +* .hmc_mmr_scg_en ("disable"), // Static clock gating +* .hmc_pipe_scg_en ("disable"), // Static clock gating +* .hmc_seq_scg_en ("disable"), // Static clock gating +* +* .cfg_cb_3ds_mixed_height_ref_ack_disable ("disable"), // Set to 0 (same as "disable") to enable fix (case:384958) +* .cfg_cb_3ds_mixed_height_req_fix ("disable"), // Set to 0 (same as "disable") to enable fix (case:384958) +* .hmc_cb_seq_en_fix_en_n ("enable"), // Set to 0 (same as "enable") to enable fix (case:384958) +* .cfg_cb_memclk_gate_default ("disable"), // Set to 0 (same as "disable") to enable fix (case:384958) +* .cfg_cb_en_cmd_valid_ungate_fix ("enable"), // Set to 1 (same as "enable") to enable fix (case:384958) +* .cfg_cb_en_mrnk_rd_fix ("enable"), // Set to 1 (same as "enable") to enable fix (case:384958) +* .cfg_cb_pdqs_perf_fix_disable ("disable"), // Set to 0 (same as "disable") to enable fix (case:384958) +* +* +* .hmc_arbiter_type (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_ARBITER_TYPE , SEC_HMC_CFG_ARBITER_TYPE )), // Arbiter Type +* .hmc_open_page_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_OPEN_PAGE_EN , SEC_HMC_CFG_OPEN_PAGE_EN )), // Unused +* .hmc_ctrl_slot_rotate_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN , SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN )), // Command slot rotation +* .hmc_cmd_fifo_reserve_en (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_CMD_FIFO_RESERVE_EN , SEC_HMC_CFG_CMD_FIFO_RESERVE_EN )), // Command FIFO reserve enable +* .hmc_memclkgate_setting (`_sel_hmc_tile(tile_i, PRI_HMC_MEMCLKGATE_SETTING , SEC_HMC_MEMCLKGATE_SETTING )), +* .hmc_16_act_to_act (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_16_ACT_TO_ACT , SEC_HMC_CFG_16_ACT_TO_ACT )), // The 16-activate window timing parameter (RLD3) (e.g. tSAW) +* .hmc_rld3_multibank_ref_delay (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY , SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY )), // RLD3 multi-bank ref delay +* .hmc_rld3_refresh_seq0 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RLD3_REFRESH_SEQ0 , SEC_HMC_CFG_RLD3_REFRESH_SEQ0 )), // Banks to refresh for RLD3 in sequence 0. Must not be more than 4 banks +* .hmc_rld3_refresh_seq1 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RLD3_REFRESH_SEQ1 , SEC_HMC_CFG_RLD3_REFRESH_SEQ1 )), // Banks to refresh for RLD3 in sequence 1. Must not be more than 4 banks +* .hmc_rld3_refresh_seq2 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RLD3_REFRESH_SEQ2 , SEC_HMC_CFG_RLD3_REFRESH_SEQ2 )), // Banks to refresh for RLD3 in sequence 2. Must not be more than 4 banks +* .hmc_rld3_refresh_seq3 (`_sel_hmc_tile(tile_i, PRI_HMC_CFG_RLD3_REFRESH_SEQ3 , SEC_HMC_CFG_RLD3_REFRESH_SEQ3 )), // Banks to refresh for RLD3 in sequence 3. Must not be more than 4 banks +* .mode ("tile_ddr") +*/ + ) tile_ctrl_inst ( + // Reset + .global_reset_n (DIAG_USE_ABSTRACT_PHY == 1 ? (~core2seq_reset_req) : 1'b1), + + // PLL -> Tiles + .pll_locked_in (pll_locked), + .pll_vco_in (phy_clk_phs), // FR clocks routed on PHY clock tree + .phy_clk_in (phy_clk_hmc), // PHY clock tree inputs + + // Clock Phase Alignment + .pa_core_clk_in ({1'b0,all_tiles_core_clks_fb_in[tile_i][0]}), // Input to CPA through feedback path + .pa_core_clk_out (all_tiles_core_clks_out[tile_i]), // Output from CPA to core clock networks + .pa_locked (all_tiles_core_clks_locked[tile_i]), // Lock signal from CPA to core + .pa_reset_n (DIAG_USE_ABSTRACT_PHY == 1 ? (~core2seq_reset_req) : 1'b1), // Connected to global reset from core in non-HPS mode + .pa_core_in (12'b000000000000), // Control code word + + // ND_2_FM delta => PA feedback port expanded to 3 bits + .pa_fbclk_in (phy_fbclk_pa), // PLL signal going into PHY feedback clock + + .pa_sync_data_bot_in (pa_sync_data_up_chain[`_get_chain_index_for_tile(tile_i)]), + .pa_sync_data_top_out (pa_sync_data_up_chain[`_get_chain_index_for_tile(tile_i) + 1]), + .pa_sync_data_top_in (pa_sync_data_dn_chain[`_get_chain_index_for_tile(tile_i) + 1]), + .pa_sync_data_bot_out (pa_sync_data_dn_chain[`_get_chain_index_for_tile(tile_i)]), + .pa_sync_clk_bot_in (pa_sync_clk_up_chain [`_get_chain_index_for_tile(tile_i)]), + .pa_sync_clk_top_out (pa_sync_clk_up_chain [`_get_chain_index_for_tile(tile_i) + 1]), + .pa_sync_clk_top_in (pa_sync_clk_dn_chain [`_get_chain_index_for_tile(tile_i) + 1]), + .pa_sync_clk_bot_out (pa_sync_clk_dn_chain [`_get_chain_index_for_tile(tile_i)]), + .pa_dprio_rst_n ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_rst_n : 1'b0)), + .pa_dprio_clk ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_clk : 1'b0)), + .pa_dprio_read ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_read : 1'b0)), + .pa_dprio_reg_addr ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_reg_addr : 9'b0)), + .pa_dprio_write ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_write : 1'b0)), + .pa_dprio_writedata ((tile_i == PRI_AC_TILE_INDEX ? pa_dprio_writedata : 8'b0)), + .pa_dprio_block_select (all_tiles_pa_dprio_block_select[tile_i]), + .pa_dprio_readdata (all_tiles_pa_dprio_readdata[tile_i]), + + // PHY clock signals going from tiles to lanes + .phy_clk_phs_out0 (all_tiles_t2l_phy_clk_phs[tile_i][0]), // PHY vco clocks to lane 0 + .phy_clk_phs_out1 (all_tiles_t2l_phy_clk_phs[tile_i][1]), // PHY vco clocks to lane 1 + .phy_clk_phs_out2 (all_tiles_t2l_phy_clk_phs[tile_i][2]), // PHY vco clocks to lane 2 + .phy_clk_phs_out3 (all_tiles_t2l_phy_clk_phs[tile_i][3]), // PHY vco clocks to lane 3 + + // DLL Interface + .dll_clk_in (pll_dll_clk), // PLL clock feeding to DLL + .dll_clk_out0 (all_tiles_dll_clk_out[tile_i][0]), // DLL clock to lane 0 + .dll_clk_out1 (all_tiles_dll_clk_out[tile_i][1]), // DLL clock to lane 1 + .dll_clk_out2 (all_tiles_dll_clk_out[tile_i][2]), // DLL clock to lane 2 + .dll_clk_out3 (all_tiles_dll_clk_out[tile_i][3]), // DLL clock to lane 3 + + // Calibration bus between Nios and sequencer (a.k.a slow Avalon-MM bus) + .param_table_data (tile_param_tables[tile_i]), + .cal_avl_in (cal_bus_avl_up_chain [`_get_chain_index_for_tile(tile_i)]), + .cal_avl_out (cal_bus_avl_up_chain [`_get_chain_index_for_tile(tile_i) + 1]), + .cal_avl_rdata_in (cal_bus_avl_read_data_dn_chain[`_get_chain_index_for_tile(tile_i) + 1]), + .cal_avl_rdata_out (cal_bus_avl_read_data_dn_chain[`_get_chain_index_for_tile(tile_i)]), + + .core2ctl_avl ((tile_i == PRI_AC_TILE_INDEX) ? core2ctl_avl_0 : ((tile_i == SEC_AC_TILE_INDEX ) ? core2ctl_avl_1 : 63'd0)), + .core2ctl_avl_rd_data_ready ((tile_i == PRI_AC_TILE_INDEX) ? core2ctl_avl_rd_data_ready_0 : ((tile_i == SEC_AC_TILE_INDEX ) ? core2ctl_avl_rd_data_ready_1 : 1'b0)), + .ctl2core_avl_cmd_ready (all_tiles_ctl2core_avl_cmd_ready[tile_i]), + .ctl2core_avl_rdata_id (all_tiles_ctl2core_avl_rdata_id[tile_i]), + + .core2ctl_sideband ((tile_i == PRI_AC_TILE_INDEX) ? core2ctl_sideband_0 : ((tile_i == SEC_AC_TILE_INDEX ) ? core2ctl_sideband_1 : 42'd0)), + .ctl2core_sideband (all_tiles_ctl2core_sideband[tile_i]), + + // Interface between HMC and lanes + .afi_cmd_bus (t2l_ac_hmc), + + // DQS buses + // There are 8 x4 DQS buses per tile, with two pairs of input DQS per lane. + .dqs_in_x4_a_0 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqs[(tile_i * LANES_PER_TILE) + 0] : 1'b0), + .dqs_in_x4_a_1 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqs[(tile_i * LANES_PER_TILE) + 1] : 1'b0), + .dqs_in_x4_a_2 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqs[(tile_i * LANES_PER_TILE) + 2] : 1'b0), + .dqs_in_x4_a_3 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqs[(tile_i * LANES_PER_TILE) + 3] : 1'b0), + .dqs_in_x4_b_0 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqsb[(tile_i * LANES_PER_TILE) + 0] : 1'b0), + .dqs_in_x4_b_1 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqsb[(tile_i * LANES_PER_TILE) + 1] : 1'b0), + .dqs_in_x4_b_2 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqsb[(tile_i * LANES_PER_TILE) + 2] : 1'b0), + .dqs_in_x4_b_3 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X4" ? b2t_dqsb[(tile_i * LANES_PER_TILE) + 3] : 1'b0), + .dqs_out_x4_a_lane0 (t2l_dqsbus_x4[0][0]), + .dqs_out_x4_b_lane0 (t2l_dqsbus_x4[0][1]), + .dqs_out_x4_a_lane1 (t2l_dqsbus_x4[1][0]), + .dqs_out_x4_b_lane1 (t2l_dqsbus_x4[1][1]), + .dqs_out_x4_a_lane2 (t2l_dqsbus_x4[2][0]), + .dqs_out_x4_b_lane2 (t2l_dqsbus_x4[2][1]), + .dqs_out_x4_a_lane3 (t2l_dqsbus_x4[3][0]), + .dqs_out_x4_b_lane3 (t2l_dqsbus_x4[3][1]), + + // There are 4 x8/x9 DQS buses per tile, with one pair of input DQS per lane. + .dqs_in_x8_0 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 0], b2t_dqs[(tile_i * LANES_PER_TILE) + 0]} : 2'b0), + .dqs_in_x8_1 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 1], b2t_dqs[(tile_i * LANES_PER_TILE) + 1]} : 2'b0), + .dqs_in_x8_2 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 2], b2t_dqs[(tile_i * LANES_PER_TILE) + 2]} : 2'b0), + .dqs_in_x8_3 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X8_X9" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X9_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 3], b2t_dqs[(tile_i * LANES_PER_TILE) + 3]} : 2'b0), + .dqs_out_x8_lane0 (t2l_dqsbus_x8[0]), + .dqs_out_x8_lane1 (t2l_dqsbus_x8[1]), + .dqs_out_x8_lane2 (t2l_dqsbus_x8[2]), + .dqs_out_x8_lane3 (t2l_dqsbus_x8[3]), + + // There are 2 x16/x18 DQS buses per tile, and the input DQS must originate from lane 0 and 2 (Follow-on) + .dqs_in_x18_0 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X16_X18" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X18_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 0], b2t_dqs[(tile_i * LANES_PER_TILE) + 0]} : 2'b0), + .dqs_in_x18_1 ((DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X16_X18" || DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X18_DINV")? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 2], b2t_dqs[(tile_i * LANES_PER_TILE) + 2]} : 2'b0), + .dqs_out_x18_lane0 (t2l_dqsbus_x18[0]), + .dqs_out_x18_lane1 (t2l_dqsbus_x18[1]), + .dqs_out_x18_lane2 (t2l_dqsbus_x18[2]), + .dqs_out_x18_lane3 (t2l_dqsbus_x18[3]), + + // There is 1 x32/x36 DQS bus per tile, and the input DQS must originate from lane 1 + .dqs_in_x36 (DQS_BUS_MODE_ENUM == "DQS_BUS_MODE_X32_X36" ? {b2t_dqsb[(tile_i * LANES_PER_TILE) + 1], b2t_dqs[(tile_i * LANES_PER_TILE) + 1]} : 2'b0), + .dqs_out_x36_lane0 (t2l_dqsbus_x36[0]), + .dqs_out_x36_lane1 (t2l_dqsbus_x36[1]), + .dqs_out_x36_lane2 (t2l_dqsbus_x36[2]), + .dqs_out_x36_lane3 (t2l_dqsbus_x36[3]), + + // Data buffer control signals + .ctl2dbc0 (all_tiles_ctl2dbc0_dn_chain[tile_i]), + .ctl2dbc1 (all_tiles_ctl2dbc1_up_chain[tile_i + 1]), + .ctl2dbc_in_up (all_tiles_ctl2dbc0_dn_chain[tile_i + 1]), + .ctl2dbc_in_down (all_tiles_ctl2dbc1_up_chain[tile_i]), + .cfg_dbc0 (t2l_cfg_dbc[0]), + .cfg_dbc1 (t2l_cfg_dbc[1]), + .cfg_dbc2 (t2l_cfg_dbc[2]), + .cfg_dbc3 (t2l_cfg_dbc[3]), + + // Ping-Pong PHY related signals + .ping_pong_in (all_tiles_ping_pong_up_chain[tile_i]), + .ping_pong_out (all_tiles_ping_pong_up_chain[tile_i + 1]), + + // MMR-related signals + .mmr_in ((tile_i == PRI_AC_TILE_INDEX) ? core2ctl_mmr_0 : ((tile_i == SEC_AC_TILE_INDEX ) ? core2ctl_mmr_1 : 51'b0)), + .mmr_out (all_tiles_ctl2core_mmr[tile_i]), + + // Miscellaneous signals + .afi_core2ctl (all_tiles_c2t_afi[tile_i]), + .afi_ctl2core (all_tiles_t2c_afi[tile_i]), + .seq2core_reset_n (), + .ctl_mem_clk_disable (), + .rdata_en_full_core (4'b0), + .mrnk_read_core (16'b0), + .test_dbg_in (48'b000000000000000000000000000000000000000000000000), + .test_dbg_out () + ); + + + for (lane_i = 0; lane_i < LANES_PER_TILE; ++lane_i) + begin: lane_gen + (* altera_attribute = "-name MAX_WIRES_FOR_CORE_PERIPHERY_TRANSFER 1; -name MAX_WIRES_FOR_PERIPHERY_CORE_TRANSFER 1" *) + altera_emif_arch_fm_io_lane_remap #( + .memory_standard (`_get_memory_standard), + .memory_controller (`_get_hmc_or_smc), + .mode_rate_in (`_get_lane_mode_rate_in), + .mode_rate_out (`_get_lane_mode_rate_out), + .memory_burst_length (`_get_memory_burst_length), + .memory_width (`_get_dqs_group_width), + + .clock_period_ps ((`_get_lane_usage(tile_i, lane_i) == LANE_USAGE_UNUSED) ? 16'd0 : PLL_MEM_CLK_FREQ_PS), + .phy_clk_sel (0), + .calibration ("run"), + .lock_speed (3'h7), + + .db_dbc_ctrl_rc_en_scalar ((PRI_HMC_CFG_CTRL_ENABLE_RC == "enable") ? "dbc_rc_scalar_enable" : "dbc_rc_scalar_disable"), + .db_avl_base_addr (`_get_lane_tid(tile_i, lane_i)), + .db_avl_broadcast_en ("bc_enable"), + .db_avl_ena ("avl_enable"), + .dqs_select_a (DQSA_LGC_MODE), + .dqs_select_b (DQSB_LGC_MODE), + + .lane_ddr_mode (`_get_lane_ddr_mode_str(tile_i, lane_i)), + + .lane_pin0_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 0) ), + .lane_pin1_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 1) ), + .lane_pin2_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 2) ), + .lane_pin3_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 3) ), + .lane_pin4_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 4) ), + .lane_pin5_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 5) ), + .lane_pin6_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 6) ), + .lane_pin7_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 7) ), + .lane_pin8_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 8) ), + .lane_pin9_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 9) ), + .lane_pin10_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 10)), + .lane_pin11_ddr_mode (`_get_lane_pin_ddr_mode_str(tile_i, lane_i, 11)), + + .lane_mode ((`_get_lane_usage(tile_i, lane_i) == LANE_USAGE_UNUSED) ? "lane_unused" : "lane_ddr"), + .lane_pin0_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 0) ), + .lane_pin1_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 1) ), + .lane_pin2_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 2) ), + .lane_pin3_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 3) ), + .lane_pin4_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 4) ), + .lane_pin5_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 5) ), + .lane_pin6_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 6) ), + .lane_pin7_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 7) ), + .lane_pin8_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 8) ), + .lane_pin9_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 9) ), + .lane_pin10_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 10)), + .lane_pin11_mode (`_get_lane_pin_mode_str(tile_i, lane_i, 11)), + + + .db_hmc_or_core (`_get_hmc_or_core), + .db_db2core_registered ("registered"), + .db_preamble_mode (PREAMBLE_MODE), + .db_data_alignment_mode (`_get_db_data_alignment_mode), // Data alignment mode (enabled IFF HMC) + + .db_pin0_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 0) ), + .db_pin1_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 1) ), + .db_pin2_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 2) ), + .db_pin3_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 3) ), + .db_pin4_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 4) ), + .db_pin5_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 5) ), + .db_pin6_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 6) ), + .db_pin7_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 7) ), + .db_pin8_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 8) ), + .db_pin9_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 9) ), + .db_pin10_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 10)), + .db_pin11_mode (`_get_db_pin_proc_mode_str(tile_i, lane_i, 11)), + + .pin0_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 0) ), + .pin1_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 1) ), + .pin2_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 2) ), + .pin3_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 3) ), + .pin4_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 4) ), + .pin5_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 5) ), + .pin6_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 6) ), + .pin7_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 7) ), + .pin8_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 8) ), + .pin9_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 9) ), + .pin10_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 10)), + .pin11_oct_rt (`_get_pin_oct_rt_str(tile_i, lane_i, 11)), + + .pin0_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 0) ), + .pin1_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 1) ), + .pin2_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 2) ), + .pin3_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 3) ), + .pin4_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 4) ), + .pin5_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 5) ), + .pin6_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 6) ), + .pin7_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 7) ), + .pin8_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 8) ), + .pin9_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 9) ), + .pin10_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 10)), + .pin11_dyn_oct (`_get_pin_dyn_oct_str(tile_i, lane_i, 11)), + + .pin0_initial_out ("initial_out_z"), + .pin1_initial_out ("initial_out_z"), + .pin2_initial_out ("initial_out_z"), + .pin3_initial_out ("initial_out_z"), + .pin4_initial_out ("initial_out_z"), + .pin5_initial_out ("initial_out_z"), + .pin6_initial_out ("initial_out_z"), + .pin7_initial_out ("initial_out_z"), + .pin8_initial_out ("initial_out_z"), + .pin9_initial_out ("initial_out_z"), + .pin10_initial_out ("initial_out_z"), + .pin11_initial_out ("initial_out_z"), + + .pin0_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 0) ), + .pin1_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 1) ), + .pin2_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 2) ), + .pin3_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 3) ), + .pin4_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 4) ), + .pin5_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 5) ), + .pin6_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 6) ), + .pin7_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 7) ), + .pin8_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 8) ), + .pin9_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 9) ), + .pin10_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 10)), + .pin11_mode_ddr (`_get_pin_ddr_str(tile_i, lane_i, 11)), + + .pin0_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 0) ), + .pin1_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 1) ), + .pin2_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 2) ), + .pin3_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 3) ), + .pin4_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 4) ), + .pin5_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 5) ), + .pin6_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 6) ), + .pin7_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 7) ), + .pin8_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 8) ), + .pin9_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 9) ), + .pin10_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 10)), + .pin11_dqs_mode (`_get_pin_dqs_mode_str(tile_i, lane_i, 11)), + + .pin0_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 0) ), + .pin1_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 1) ), + .pin2_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 2) ), + .pin3_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 3) ), + .pin4_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 4) ), + .pin5_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 5) ), + .pin6_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 6) ), + .pin7_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 7) ), + .pin8_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 8) ), + .pin9_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 9) ), + .pin10_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 10)), + .pin11_data_in_mode (`_get_pin_data_in_mode_str(tile_i, lane_i, 11)), + + .db_afi_rlat_vlu (6'b000000), // Unused - rlat set dynamically via Avalon by Nios + .db_afi_wlat_vlu (6'b000000), // Unused - wlat set dynamically via Avalon by Nios + + // Use phy_clk1 if HMC dual-port or rate-converter is used, use phy_clk0 otherwise + .db_sel_core_clk ((`_get_lane_usage(tile_i, lane_i) == LANE_USAGE_UNUSED) ? "core_clk_disable" : LANE_DB_CLK_SEL ), + .db_dbi_wr_en (`_get_dbi_wr_en(tile_i, lane_i)), + .db_dbi_rd_en (`_get_dbi_rd_en(tile_i, lane_i)), + .db_dbi_sel ("dbi_dq6"), + .db_ptr_pipeline_depth (`_get_db_ptr_pipe_depth_str(tile_i, lane_i)), // Additional latency to compensate for distance from HMC + .db_seq_rd_en_full_pipeline (`_get_db_seq_rd_en_full_pipeline_str(tile_i, lane_i)), // Additional latency to compensate for distance from sequencer + .db_mrnk_write_mode (`_get_mrnk_write_mode(tile_i, lane_i)), + .dbc_wb_reserved_entry (DBC_WB_RESERVED_ENTRY[4:0]), + .db_dbc_rb_readylat_en (DBC_WB_RESERVED_ENTRY[6] ? "dbc_rb_readylat_enable" : "dbc_rb_readylat_disable"), + .db_dbc_wb_readylat_en (DBC_WB_RESERVED_ENTRY[5] ? "dbc_wb_readylat_enable" : "dbc_wb_readylat_disable"), + .oct_size (`_get_oct_size), + .rd_valid_delay (7'b0000000), // Don't-care - always set by calibration software + .dqs_enable_delay (6'b000000), // Don't-care - always set by calibration software + .dqs_phase_shift_b (13'b00000_0000_0000), // Delay to read clock/strobe gating signal. Overriden by Nios during calibration. + .dqs_phase_shift_a (13'b00000_0000_0000), // Delay to read clock/strobe gating signal. Overriden by Nios during calibration. + .dll_rst_en (IS_HPS ? "dll_rst_dis" : "dll_rst_en"), + .dll_core_updnen ("dll_core_updn_dis"), + .dll_ctlsel (DLL_MODE), + .dll_ctl_static (DLL_CODEWORD), + .enable_toggler (`_get_preamble_track_dqs_enable_mode) // Tracking Mode + ) lane_inst ( + + // PLL/DLL/PVT interface + .pll_locked (pll_locked), + .dll_ref_clk (all_tiles_dll_clk_out[tile_i][lane_i]), + .core_dll (3'b100), + .dll_core (), + .ioereg_locked (), + + // Clocks + .phy_clk (all_tiles_t2l_phy_clk[lane_i][1:0]), + .phy_clk_phs (all_tiles_t2l_phy_clk_phs[tile_i][lane_i]), + .phy_clk_local_early (phy_clk_local_early[lane_i]), + .phy_clk_local_late (phy_clk_local_late[lane_i]), + + // Clock Phase Alignment + .sync_data_bot_in (pa_sync_data_up_chain[`_get_chain_index_for_lane(tile_i, lane_i)]), + .sync_data_top_out (pa_sync_data_up_chain[`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .sync_data_top_in (pa_sync_data_dn_chain[`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .sync_data_bot_out (pa_sync_data_dn_chain[`_get_chain_index_for_lane(tile_i, lane_i)]), + .sync_clk_bot_in (pa_sync_clk_up_chain [`_get_chain_index_for_lane(tile_i, lane_i)]), + .sync_clk_top_out (pa_sync_clk_up_chain [`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .sync_clk_top_in (pa_sync_clk_dn_chain [`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .sync_clk_bot_out (pa_sync_clk_dn_chain [`_get_chain_index_for_lane(tile_i, lane_i)]), + + // DQS bus from tile. Connections are only made for the data lanes (as captured by the macro) + .dqs_in (`_get_dqsin(tile_i, lane_i)), + + // Interface to I/O bufers + .oct_enable (l2b_dtc_nonabphy [tile_i * PINS_PER_LANE * LANES_PER_TILE + lane_i * PINS_PER_LANE +: PINS_PER_LANE]), + .data_oe (l2b_oe_nonabphy [tile_i * PINS_PER_LANE * LANES_PER_TILE + lane_i * PINS_PER_LANE +: PINS_PER_LANE]), + .data_in (b2l_data[tile_i * PINS_PER_LANE * LANES_PER_TILE + lane_i * PINS_PER_LANE +: PINS_PER_LANE]), + .data_out (l2b_data_nonabphy[tile_i * PINS_PER_LANE * LANES_PER_TILE + lane_i * PINS_PER_LANE +: PINS_PER_LANE]), + + // Interface to core + .data_from_core (core2l_data[tile_i][lane_i]), + .data_to_core (l2core_data_nonabphy[tile_i][lane_i]), + + // core2l_oe is inverted before feeding into the lane because + // oe_invert is always set to true as required by HMC and sequencer + .oe_from_core (core2l_oe[tile_i][lane_i]), + .rdata_en_full_core (core2l_rdata_en_full[tile_i][lane_i]), + + // mrnk_(read|write) + .mrnk_read_core ((`_get_data_lane(tile_i,lane_i) == 1'b1 || PROTOCOL_ENUM == "PROTOCOL_QDR4" ) ? {8'd0, core2l_mrnk_read[tile_i][lane_i]} : 16'b0), + .mrnk_write_core ((`_get_data_lane(tile_i,lane_i) == 1'b1 || PROTOCOL_ENUM == "PROTOCOL_QDR4" ) ? {8'd0, core2l_mrnk_write[tile_i][lane_i]} : 16'b0), + + .rdata_valid_core (l2vio_rdata_valid[tile_i][lane_i]), + .afi_wlat_core (l2vio_afi_wlat[tile_i][lane_i]), + .afi_rlat_core (l2vio_afi_rlat[tile_i][lane_i]), + + // ECC signals between core and lanes + .dbc2core_rd_data_vld0 (l2vio_rd_data_vld_avl[tile_i][lane_i]), + .core2dbc_wr_data_vld0 (`_get_core2dbc_wr_data_vld(tile_i, lane_i)), + .dbc2core_wr_data_rdy (l2vio_wr_data_rdy_ast[tile_i][lane_i]), + .core2dbc_rd_data_rdy (`_get_core2dbc_rd_data_rdy(tile_i, lane_i)), + .dbc2core_wb_pointer (l2vio_wb_pointer_for_ecc[tile_i][lane_i]), + .core2dbc_wr_ecc_info (`_get_core2dbc_wr_ecc_info(tile_i, lane_i)), + .dbc2core_rd_type (l2vio_rd_type[tile_i][lane_i]), + + // Calibration bus between Nios and sequencer (a.k.a slow Avalon-MM bus) + .reset_n (DIAG_USE_ABSTRACT_PHY == 1 ? (~core2seq_reset_req) : 1'b1), + .cal_avl_in (cal_bus_avl_up_chain [`_get_chain_index_for_lane(tile_i, lane_i)]), + .cal_avl_out (cal_bus_avl_up_chain [`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .cal_avl_readdata_in (cal_bus_avl_read_data_dn_chain[`_get_chain_index_for_lane(tile_i, lane_i) + 1]), + .cal_avl_readdata_out (cal_bus_avl_read_data_dn_chain[`_get_chain_index_for_lane(tile_i, lane_i)]), + + // HMC interface + .ac_hmc (`_get_ac_hmc(tile_i, lane_i)), + .ctl2dbc0 (all_tiles_ctl2dbc0_dn_chain[tile_i]), + .ctl2dbc1 (all_tiles_ctl2dbc1_up_chain[tile_i + 1]), + .cfg_dbc (t2l_cfg_dbc[lane_i]), + + // Broadcast signals + .broadcast_in_bot (broadcast_up_chain[`_get_broadcast_chain_index(tile_i, lane_i)]), + .broadcast_out_top (broadcast_up_chain[`_get_broadcast_chain_index(tile_i, lane_i) + 1]), + .broadcast_in_top (broadcast_dn_chain[`_get_broadcast_chain_index(tile_i, lane_i) + 1]), + .broadcast_out_bot (broadcast_dn_chain[`_get_broadcast_chain_index(tile_i, lane_i)]), + + // Unused signals + .dft_phy_clk (/*open*/) + ); + + end + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm17Ies0Vsl/kcZ66hCa0cxXw4w0Fyjibd+1pmoa3KnGaTBErSNL1IdeYka0p/TnGQ4ny7EFj5kJWtiwMSWR77bb4RT4tneNfK8718tMGMCEFpnRfZt30Yov386tAL2EAtTvraGyRSnxswOaEM0Euq2RjTsYuUbDi3aIVMuM42NLmideJE3+qwxDbdlSsMKgL3mo3Gi0GC4+gK9WlKm83RIfmGU05QKXIW2H1WIAZGopr4HOg7vHShQgncu77Se1cRmI3JaQNNcZRcLkaCjGITBoBw1QHhDKcdePaqSYxf00G+4yT/HdROXWNd3pP1UNh8nfhvohVcHuVO5tydrpfWP1TP227pkZ+bkHe+aLHtx1qIbTg3KDF/48Jg4ZWRcWTC/Uoo1AqviAeOBrNH+zCoqQaUgZB9x0Clma48SPv3I3ZCDDD2JBxC+Cf+QXyVgX8obb27SRlxyIYMwUH88ohSg2RnlEM2xJDs1NXtIr1m/PhYPGFmI0pNQLApemuSi3bi5RTpa78Kpz4R3xmpJf8qiH57IBA9Yd1MDe4YOLbNZ9SPU2C2PbIYUHD4aHjPNDo4dz7JgZ+VUwSNUs0tZDTEyITg4TcEEFrzcDFBRlYeZzj0rGfa7ypkHecOfkGuiLkkKT2uYbr+RcJ2mqLYhj43BAZ0PwrUvIIYuiSDmGALWnPBp7xv/hO4ApUDCZEhAIm4pWFGmafrlADKhOnmxxBQv4cRN7Mk5RiPPDGpyCsmyU/X71RgZoYGMTEeNWwsZFyLcaQuWBzWu5R2O+ds7khwfU" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles_wrap.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles_wrap.sv new file mode 100644 index 0000000000..20f666945c --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles_wrap.sv @@ -0,0 +1,1864 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// +// Wrapper module for IO tiles +// +/////////////////////////////////////////////////////////////////////////////// + +module altera_emif_arch_fm_io_tiles_wrap #( + parameter DIAG_SYNTH_FOR_SIM = 0, + parameter DIAG_CPA_OUT_1_EN = 0, + parameter DIAG_FAST_SIM = 0, + parameter DIAG_SIM_VERBOSE_LEVEL = 2, + parameter DIAG_SEQ_RESET_AUTO_RELEASE = "avl", + parameter DIAG_DB_RESET_AUTO_RELEASE = "avl_release", + parameter IS_HPS = 0, + parameter SILICON_REV = "", + parameter PROTOCOL_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter DQS_BUS_MODE_ENUM = "", + parameter USER_CLK_RATIO = 1, + parameter PHY_HMC_CLK_RATIO = 1, + parameter C2P_P2C_CLK_RATIO = 1, + parameter PLL_VCO_TO_MEM_CLK_FREQ_RATIO = 1, + parameter PLL_VCO_FREQ_MHZ_INT = 0, + parameter PLL_MEM_CLK_FREQ_PS = 0, + parameter MEM_BURST_LENGTH = 0, + parameter MEM_DATA_MASK_EN = 1, + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter PINS_IN_RTL_TILES = 1, + parameter LANES_IN_RTL_TILES = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter AC_PIN_MAP_SCHEME = "", + parameter PRI_AC_TILE_INDEX = -1, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_AC_TILE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + parameter PRI_HMC_DBC_SHADOW_LANE_INDEX = -1, + parameter NUM_OF_HMC_PORTS = 1, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter HMC_CTRL_DIMM_TYPE = "", + parameter PHY_MIMIC_HPS_EMIF = 0, + parameter CPA_FB_MUX_1_SEL = "", + + parameter PRI_HMC_CFG_PING_PONG_MODE = "", + parameter PRI_HMC_CFG_CS_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_COL_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ADDR_ORDER = "", + parameter PRI_HMC_CFG_ARBITER_TYPE = "", + parameter PRI_HMC_CFG_OPEN_PAGE_EN = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_RC = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter PRI_HMC_CFG_REORDER_DATA = "", + parameter PRI_HMC_CFG_REORDER_READ = "", + parameter PRI_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] PRI_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] PRI_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] PRI_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter PRI_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] PRI_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] PRI_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] PRI_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] PRI_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter PRI_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter PRI_HMC_CFG_USER_RFSH_EN = "", + parameter PRI_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] PRI_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] PRI_HMC_CFG_TCL = 0, + parameter [ 7: 0] PRI_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] PRI_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] PRI_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] PRI_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] PRI_HMC_CFG_MPR_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] PRI_HMC_CFG_MPS_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] PRI_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] PRI_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] PRI_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] PRI_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter PRI_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR5 = 0, + parameter PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter PRI_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter PRI_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] PRI_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] PRI_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] PRI_HMC_CFG_ZQCS_TO_VALID = 0, + parameter PRI_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_REFRESH_TYPE = 0, + parameter PRI_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter PRI_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] PRI_HMC_CHIP_ID = 0, + parameter [ 1: 0] PRI_HMC_CID_ADDR_WIDTH = 0, + parameter PRI_HMC_3DS_EN = "", + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM3 = 0, + parameter PRI_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] PRI_HMC_3DS_REF2REF_DLR = 0, + parameter PRI_HMC_3DSREF_ACK_ON_DONE = "", + parameter SEC_HMC_CFG_PING_PONG_MODE = "", + parameter SEC_HMC_CFG_CS_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_COL_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ADDR_ORDER = "", + parameter SEC_HMC_CFG_ARBITER_TYPE = "", + parameter SEC_HMC_CFG_OPEN_PAGE_EN = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_RC = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter SEC_HMC_CFG_REORDER_DATA = "", + parameter SEC_HMC_CFG_REORDER_READ = "", + parameter SEC_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] SEC_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] SEC_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] SEC_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter SEC_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] SEC_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] SEC_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] SEC_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] SEC_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter SEC_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter SEC_HMC_CFG_USER_RFSH_EN = "", + parameter SEC_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] SEC_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] SEC_HMC_CFG_TCL = 0, + parameter [ 7: 0] SEC_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] SEC_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] SEC_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] SEC_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] SEC_HMC_CFG_MPR_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] SEC_HMC_CFG_MPS_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] SEC_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] SEC_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] SEC_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] SEC_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter SEC_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR5 = 0, + parameter SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter SEC_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter SEC_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] SEC_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] SEC_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] SEC_HMC_CFG_ZQCS_TO_VALID = 0, + parameter SEC_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_REFRESH_TYPE = 0, + parameter SEC_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter SEC_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] SEC_HMC_CHIP_ID = 0, + parameter [ 1: 0] SEC_HMC_CID_ADDR_WIDTH = 0, + parameter SEC_HMC_3DS_EN = "", + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM3 = 0, + parameter SEC_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] SEC_HMC_3DS_REF2REF_DLR = 0, + parameter SEC_HMC_3DSREF_ACK_ON_DONE = "", + + parameter SEQ_PT_CONTENT = "", + parameter LANES_USAGE = 0, + parameter LANE_PIN_USAGE = 0, + parameter PINS_USAGE = 0, + parameter PINS_RATE = 0, + parameter DB_PINS_PROC_MODE = 0, + parameter PINS_DATA_IN_MODE = 0, + parameter PINS_OCT_MODE = 0, + parameter PINS_DCC_SPLIT = 0, + parameter CENTER_TIDS = 0, + parameter HMC_TIDS = 0, + parameter LANE_TIDS = 0, + parameter DBC_EXTRA_PIPE_STAGE_EN = "", + parameter DBC_PIPE_LATS = 0, + parameter DB_PTR_PIPELINE_DEPTHS = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES = 0, + parameter PREAMBLE_MODE = "", + parameter DBI_WR_ENABLE = "", + parameter DBI_RD_ENABLE = "", + parameter SWAP_DQS_A_B = "", + parameter DQS_PACK_MODE = "", + parameter OCT_SIZE = "", + parameter DQSA_LGC_MODE = "", + parameter DQSB_LGC_MODE = "", + parameter [6:0] DBC_WB_RESERVED_ENTRY = 4, + parameter DLL_MODE = "", + parameter [10:0] DLL_CODEWORD = 0, + parameter PORT_MEM_DQ_WIDTH = 1, + parameter PORT_MEM_DQS_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH = 1, + + parameter PORT_CALBUS_ADDRESS_WIDTH = 1, + parameter PORT_CALBUS_RDATA_WIDTH = 1, + parameter PORT_CALBUS_WDATA_WIDTH = 1, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 1, + + + parameter PORT_MEM_A_PINLOC = 0, + parameter PORT_MEM_BA_PINLOC = 0, + parameter PORT_MEM_BG_PINLOC = 0, + parameter PORT_MEM_CS_N_PINLOC = 0, + parameter PORT_MEM_ACT_N_PINLOC = 0, + parameter PORT_MEM_DQ_PINLOC = 0, + parameter PORT_MEM_DM_PINLOC = 0, + parameter PORT_MEM_DBI_N_PINLOC = 0, + parameter PORT_MEM_RAS_N_PINLOC = 0, + parameter PORT_MEM_CAS_N_PINLOC = 0, + parameter PORT_MEM_WE_N_PINLOC = 0, + parameter PORT_MEM_REF_N_PINLOC = 0, + + parameter PORT_MEM_WPS_N_PINLOC = 0, + parameter PORT_MEM_RPS_N_PINLOC = 0, + parameter PORT_MEM_BWS_N_PINLOC = 0, + parameter PORT_MEM_DQA_PINLOC = 0, + parameter PORT_MEM_DQB_PINLOC = 0, + parameter PORT_MEM_Q_PINLOC = 0, + parameter PORT_MEM_D_PINLOC = 0, + parameter PORT_MEM_RWA_N_PINLOC = 0, + parameter PORT_MEM_RWB_N_PINLOC = 0, + parameter PORT_MEM_QKA_PINLOC = 0, + parameter PORT_MEM_QKB_PINLOC = 0, + parameter PORT_MEM_LDA_N_PINLOC = 0, + parameter PORT_MEM_LDB_N_PINLOC = 0, + parameter PORT_MEM_CK_PINLOC = 0, + parameter PORT_MEM_DINVA_PINLOC = 0, + parameter PORT_MEM_DINVB_PINLOC = 0, + parameter PORT_MEM_AINV_PINLOC = 0, + parameter PORT_MEM_DQS_PINLOC = 0, + parameter PORT_MEM_QK_PINLOC = 0, + parameter PORT_MEM_CQ_PINLOC = 0, + + parameter PORT_MEM_A_WIDTH = 0, + parameter PORT_MEM_BA_WIDTH = 0, + parameter PORT_MEM_BG_WIDTH = 0, + parameter PORT_MEM_CS_N_WIDTH = 0, + parameter PORT_MEM_ACT_N_WIDTH = 0, + parameter PORT_MEM_DBI_N_WIDTH = 0, + parameter PORT_MEM_RAS_N_WIDTH = 0, + parameter PORT_MEM_CAS_N_WIDTH = 0, + parameter PORT_MEM_WE_N_WIDTH = 0, + parameter PORT_MEM_DM_WIDTH = 0, + parameter PORT_MEM_REF_N_WIDTH = 0, + parameter PORT_MEM_WPS_N_WIDTH = 0, + parameter PORT_MEM_RPS_N_WIDTH = 0, + parameter PORT_MEM_BWS_N_WIDTH = 0, + parameter PORT_MEM_DQA_WIDTH = 0, + parameter PORT_MEM_DQB_WIDTH = 0, + parameter PORT_MEM_Q_WIDTH = 0, + parameter PORT_MEM_D_WIDTH = 0, + parameter PORT_MEM_RWA_N_WIDTH = 0, + parameter PORT_MEM_RWB_N_WIDTH = 0, + parameter PORT_MEM_QKA_WIDTH = 0, + parameter PORT_MEM_QKB_WIDTH = 0, + parameter PORT_MEM_LDA_N_WIDTH = 0, + parameter PORT_MEM_LDB_N_WIDTH = 0, + parameter PORT_MEM_CK_WIDTH = 0, + parameter PORT_MEM_DINVA_WIDTH = 0, + parameter PORT_MEM_DINVB_WIDTH = 0, + parameter PORT_MEM_AINV_WIDTH = 0, + parameter DIAG_USE_ABSTRACT_PHY = 0, + parameter DIAG_ABSTRACT_PHY_WLAT = 0, + parameter DIAG_ABSTRACT_PHY_RLAT = 0, + parameter ABPHY_WRITE_PROTOCOL = 1 +) ( + // Reset related + input logic core2seq_reset_req, // For abstract phy support + + // Signals for various signals from PLL + input logic pll_locked, // Indicates PLL lock status + input logic pll_dll_clk, // PLL -> DLL output clock + input logic [7:0] phy_clk_phs, // FR PHY clock signals (8 phases, 45-deg apart) + input logic [1:0] phy_clk, // {phy_clk[1], phy_clk[0]} + output logic [1:0] global_phy_clk, // {phy_clk[1], phy_clk[0]} + input logic phy_fb_clk_to_tile, // PHY feedback clock (to tile) + output logic phy_fb_clk_to_pll, // PHY feedback clock (to PLL) + + // Core clock signals from/to the Clock Phase Alignment (CPA) block + output logic [1:0] core_clks_from_cpa_pri, // Core clock signals from the CPA of primary interface + output logic [1:0] core_clks_locked_cpa_pri, // Core clock locked signals from the CPA of primary interface + input logic [1:0] core_clks_fb_to_cpa_pri, // Core clock feedback signals to the CPA of primary interface + output logic [1:0] core_clks_from_cpa_sec, // Core clock signals from the CPA of secondary interface (ping-pong only) + output logic [1:0] core_clks_locked_cpa_sec, // Core clock locked signals from the CPA of secondary interface (ping-pong only) + input logic [1:0] core_clks_fb_to_cpa_sec, // Core clock feedback signals to the CPA of secondary interface (ping-pong only) + + // Avalon interfaces between core and HMC + input logic [62:0] core2ctl_avl_0, + input logic [62:0] core2ctl_avl_1, + input logic core2ctl_avl_rd_data_ready_0, + input logic core2ctl_avl_rd_data_ready_1, + output logic ctl2core_avl_cmd_ready_0, + output logic ctl2core_avl_cmd_ready_1, + output logic [12:0] ctl2core_avl_rdata_id_0, + output logic [12:0] ctl2core_avl_rdata_id_1, + + // ECC signals between core and lanes + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_wr_data_vld_ast, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_rd_data_rdy_ast, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][12:0] core2l_wr_ecc_info, + + output logic [11:0] l2core_wb_pointer_for_ecc, + output logic l2core_rd_data_vld_avl, + output logic l2core_wr_data_rdy_ast, + + // Signals between core and data lanes + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_read, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_write, + output logic [3:0] l2core_rdata_valid_pri, + output logic [3:0] l2core_rdata_valid_sec, + output logic [5:0] l2core_afi_rlat, + output logic [5:0] l2core_afi_wlat, + + // AFI signals between tile and core + input [17:0] c2t_afi, + output [26:0] t2c_afi, + + // Side-band signals between core and HMC + input logic [41:0] core2ctl_sideband_0, + output logic [13:0] ctl2core_sideband_0, + input logic [41:0] core2ctl_sideband_1, + output logic [13:0] ctl2core_sideband_1, + + // MMR signals between core and HMC + output logic [33:0] ctl2core_mmr_0, + input logic [50:0] core2ctl_mmr_0, + output logic [33:0] ctl2core_mmr_1, + input logic [50:0] core2ctl_mmr_1, + output logic l2core_rd_type, + + // Signals between I/O buffers and lanes/tiles + output logic [PINS_IN_RTL_TILES-1:0] l2b_data, // lane-to-buffer data + output logic [PINS_IN_RTL_TILES-1:0] l2b_oe, // lane-to-buffer output-enable + output logic [PINS_IN_RTL_TILES-1:0] l2b_dtc, // lane-to-buffer dynamic-termination-control + input logic [PINS_IN_RTL_TILES-1:0] b2l_data, // buffer-to-lane data + input logic [LANES_IN_RTL_TILES-1:0] b2t_dqs, // buffer-to-tile DQS + input logic [LANES_IN_RTL_TILES-1:0] b2t_dqsb, // buffer-to-tile DQSb + + // Avalon-MM bus for the calibration commands between IOSSM and tiles + input logic cal_bus_clk, + input logic cal_bus_avl_read, + input logic cal_bus_avl_write, + input logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] cal_bus_avl_address, + output logic [PORT_CALBUS_RDATA_WIDTH-1:0] cal_bus_avl_read_data, + input logic [PORT_CALBUS_WDATA_WIDTH-1:0] cal_bus_avl_write_data, + output logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] cal_bus_seq_param_tbl, + + + // Ports for internal test and debug + input logic pa_dprio_clk, + input logic pa_dprio_read, + input logic [PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH-1:0] pa_dprio_reg_addr, + input logic pa_dprio_rst_n, + input logic pa_dprio_write, + input logic [PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH-1:0] pa_dprio_writedata, + output logic pa_dprio_block_select, + output logic [PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] pa_dprio_readdata, + + input logic afi_cal_success, + output logic runAbstractPhySim +); + timeunit 1ns; + timeprecision 1ps; + + logic phy_fb_clk_to_pll_abphy; + logic [1:0] core_clks_from_cpa_pri_abphy; + logic [1:0] core_clks_locked_cpa_pri_abphy; + logic [1:0] core_clks_from_cpa_sec_abphy; + logic [1:0] core_clks_locked_cpa_sec_abphy; + logic ctl2core_avl_cmd_ready_0_abphy; + logic ctl2core_avl_cmd_ready_1_abphy; + logic [12:0] ctl2core_avl_rdata_id_0_abphy; + logic [12:0] ctl2core_avl_rdata_id_1_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] l2core_rd_data_vld_avl_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] l2core_wr_data_rdy_ast_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][11:0] l2core_wb_pointer_for_ecc_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] l2core_rdata_valid_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][5:0] l2core_afi_rlat_abphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][5:0] l2core_afi_wlat_abphy; + logic [26:0] t2c_afi_abphy; + logic [13:0] ctl2core_sideband_0_abphy; + logic [13:0] ctl2core_sideband_1_abphy; + logic [33:0] ctl2core_mmr_0_abphy; + logic [33:0] ctl2core_mmr_1_abphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_data_abphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_oe_abphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_dtc_abphy; + logic pa_dprio_block_select_abphy; + logic [PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] pa_dprio_readdata_abphy; + + logic phy_fb_clk_to_pll_nonabphy; + logic [1:0] core_clks_from_cpa_pri_nonabphy; + logic [1:0] core_clks_locked_cpa_pri_nonabphy; + logic [1:0] core_clks_from_cpa_sec_nonabphy; + logic [1:0] core_clks_locked_cpa_sec_nonabphy; + logic ctl2core_avl_cmd_ready_0_nonabphy; + logic ctl2core_avl_cmd_ready_1_nonabphy; + logic [12:0] ctl2core_avl_rdata_id_0_nonabphy; + logic [12:0] ctl2core_avl_rdata_id_1_nonabphy; + + logic [11:0] l2core_wb_pointer_for_ecc_nonabphy; + logic l2core_rd_data_vld_avl_nonabphy; + logic l2core_wr_data_rdy_ast_nonabphy; + logic l2core_rd_type_nonabphy; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data_nonabphy; + logic [3:0] l2core_rdata_valid_nonabphy_pri; + logic [3:0] l2core_rdata_valid_nonabphy_sec; + logic [5:0] l2core_afi_rlat_nonabphy; + logic [5:0] l2core_afi_wlat_nonabphy; + + logic [26:0] t2c_afi_nonabphy; + logic [13:0] ctl2core_sideband_0_nonabphy; + logic [13:0] ctl2core_sideband_1_nonabphy; + logic [33:0] ctl2core_mmr_0_nonabphy; + logic [33:0] ctl2core_mmr_1_nonabphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_data_nonabphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_oe_nonabphy; + logic [PINS_IN_RTL_TILES-1:0] l2b_dtc_nonabphy; + logic pa_dprio_block_select_nonabphy; + logic [PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] pa_dprio_readdata_nonabphy; + + logic core2seq_reset_req_iotile_in; + logic pll_locked_iotile_in; + logic pll_dll_clk_iotile_in; + logic [7:0] phy_clk_phs_iotile_in; + logic [1:0] phy_clk_iotile_in; + logic phy_fb_clk_to_tile_iotile_in; + logic [1:0] core_clks_fb_to_cpa_pri_iotile_in; + logic [1:0] core_clks_fb_to_cpa_sec_iotile_in; + logic [62:0] core2ctl_avl_0_iotile_in; + logic [62:0] core2ctl_avl_1_iotile_in; + logic core2ctl_avl_rd_data_ready_0_iotile_in; + logic core2ctl_avl_rd_data_ready_1_iotile_in; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_wr_data_vld_ast_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] core2l_rd_data_rdy_ast_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][12:0] core2l_wr_ecc_info_iotile_in; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_read_iotile_in; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_write_iotile_in; + + logic [17:0] c2t_afi_iotile_in; + logic [41:0] core2ctl_sideband_0_iotile_in; + logic [41:0] core2ctl_sideband_1_iotile_in; + logic [50:0] core2ctl_mmr_0_iotile_in; + logic [50:0] core2ctl_mmr_1_iotile_in; + logic [PINS_IN_RTL_TILES-1:0] b2l_data_iotile_in; + logic [LANES_IN_RTL_TILES-1:0] b2t_dqs_iotile_in; + logic [LANES_IN_RTL_TILES-1:0] b2t_dqsb_iotile_in; + logic cal_bus_clk_iotile_in; + logic cal_bus_avl_read_iotile_in; + logic cal_bus_avl_write_iotile_in; + logic [19:0] cal_bus_avl_address_iotile_in; + logic [31:0] cal_bus_avl_write_data_iotile_in; + logic pa_dprio_clk_iotile_in; + logic pa_dprio_read_iotile_in; + logic [PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH-1:0] pa_dprio_reg_addr_iotile_in; + logic pa_dprio_rst_n_iotile_in; + logic pa_dprio_write_iotile_in; + logic [PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH-1:0] pa_dprio_writedata_iotile_in; + + + altera_emif_arch_fm_io_tiles #( + .DIAG_SYNTH_FOR_SIM (DIAG_SYNTH_FOR_SIM), + .DIAG_CPA_OUT_1_EN (DIAG_CPA_OUT_1_EN), + .DIAG_FAST_SIM (DIAG_FAST_SIM), + .DIAG_SEQ_RESET_AUTO_RELEASE (DIAG_SEQ_RESET_AUTO_RELEASE), + .DIAG_DB_RESET_AUTO_RELEASE (DIAG_DB_RESET_AUTO_RELEASE), + .IS_HPS (IS_HPS), + .SILICON_REV (SILICON_REV), + .PROTOCOL_ENUM (PROTOCOL_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .USER_CLK_RATIO (USER_CLK_RATIO), + .PHY_HMC_CLK_RATIO (PHY_HMC_CLK_RATIO), + .C2P_P2C_CLK_RATIO (C2P_P2C_CLK_RATIO), + .PLL_VCO_FREQ_MHZ_INT (PLL_VCO_FREQ_MHZ_INT), + .PLL_VCO_TO_MEM_CLK_FREQ_RATIO (PLL_VCO_TO_MEM_CLK_FREQ_RATIO), + .PLL_MEM_CLK_FREQ_PS (PLL_MEM_CLK_FREQ_PS), + .MEM_BURST_LENGTH (MEM_BURST_LENGTH), + .MEM_DATA_MASK_EN (MEM_DATA_MASK_EN), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .HMC_CTRL_DIMM_TYPE (HMC_CTRL_DIMM_TYPE), + .PHY_MIMIC_HPS_EMIF (PHY_MIMIC_HPS_EMIF), + .CPA_FB_MUX_1_SEL (CPA_FB_MUX_1_SEL), + + .PRI_HMC_CFG_PING_PONG_MODE (PRI_HMC_CFG_PING_PONG_MODE), + .PRI_HMC_CFG_CS_ADDR_WIDTH (PRI_HMC_CFG_CS_ADDR_WIDTH), + .PRI_HMC_CFG_COL_ADDR_WIDTH (PRI_HMC_CFG_COL_ADDR_WIDTH), + .PRI_HMC_CFG_ROW_ADDR_WIDTH (PRI_HMC_CFG_ROW_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_ADDR_WIDTH (PRI_HMC_CFG_BANK_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH (PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .PRI_HMC_CFG_ADDR_ORDER (PRI_HMC_CFG_ADDR_ORDER), + .PRI_HMC_CFG_ARBITER_TYPE (PRI_HMC_CFG_ARBITER_TYPE), + .PRI_HMC_CFG_OPEN_PAGE_EN (PRI_HMC_CFG_OPEN_PAGE_EN), + .PRI_HMC_CFG_CTRL_ENABLE_RC (PRI_HMC_CFG_CTRL_ENABLE_RC), + .PRI_HMC_CFG_DBC0_ENABLE_RC (PRI_HMC_CFG_DBC0_ENABLE_RC), + .PRI_HMC_CFG_DBC1_ENABLE_RC (PRI_HMC_CFG_DBC1_ENABLE_RC), + .PRI_HMC_CFG_DBC2_ENABLE_RC (PRI_HMC_CFG_DBC2_ENABLE_RC), + .PRI_HMC_CFG_DBC3_ENABLE_RC (PRI_HMC_CFG_DBC3_ENABLE_RC), + .PRI_HMC_CFG_CTRL_ENABLE_ECC (PRI_HMC_CFG_CTRL_ENABLE_ECC), + .PRI_HMC_CFG_DBC0_ENABLE_ECC (PRI_HMC_CFG_DBC0_ENABLE_ECC), + .PRI_HMC_CFG_DBC1_ENABLE_ECC (PRI_HMC_CFG_DBC1_ENABLE_ECC), + .PRI_HMC_CFG_DBC2_ENABLE_ECC (PRI_HMC_CFG_DBC2_ENABLE_ECC), + .PRI_HMC_CFG_DBC3_ENABLE_ECC (PRI_HMC_CFG_DBC3_ENABLE_ECC), + .PRI_HMC_CFG_REORDER_DATA (PRI_HMC_CFG_REORDER_DATA), + .PRI_HMC_CFG_REORDER_READ (PRI_HMC_CFG_REORDER_READ), + .PRI_HMC_CFG_CTRL_REORDER_RDATA (PRI_HMC_CFG_CTRL_REORDER_RDATA), + .PRI_HMC_CFG_DBC0_REORDER_RDATA (PRI_HMC_CFG_DBC0_REORDER_RDATA), + .PRI_HMC_CFG_DBC1_REORDER_RDATA (PRI_HMC_CFG_DBC1_REORDER_RDATA), + .PRI_HMC_CFG_DBC2_REORDER_RDATA (PRI_HMC_CFG_DBC2_REORDER_RDATA), + .PRI_HMC_CFG_DBC3_REORDER_RDATA (PRI_HMC_CFG_DBC3_REORDER_RDATA), + .PRI_HMC_CFG_CTRL_SLOT_OFFSET (PRI_HMC_CFG_CTRL_SLOT_OFFSET), + .PRI_HMC_CFG_DBC0_SLOT_OFFSET (PRI_HMC_CFG_DBC0_SLOT_OFFSET), + .PRI_HMC_CFG_DBC1_SLOT_OFFSET (PRI_HMC_CFG_DBC1_SLOT_OFFSET), + .PRI_HMC_CFG_DBC2_SLOT_OFFSET (PRI_HMC_CFG_DBC2_SLOT_OFFSET), + .PRI_HMC_CFG_DBC3_SLOT_OFFSET (PRI_HMC_CFG_DBC3_SLOT_OFFSET), + .PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN (PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .PRI_HMC_CFG_COL_CMD_SLOT (PRI_HMC_CFG_COL_CMD_SLOT), + .PRI_HMC_CFG_ROW_CMD_SLOT (PRI_HMC_CFG_ROW_CMD_SLOT), + .PRI_HMC_CFG_ROW_TO_COL_OFFSET (PRI_HMC_CFG_ROW_TO_COL_OFFSET), + .PRI_HMC_CFG_ROW_TO_ROW_OFFSET (PRI_HMC_CFG_ROW_TO_ROW_OFFSET), + .PRI_HMC_CFG_COL_TO_COL_OFFSET (PRI_HMC_CFG_COL_TO_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET (PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_ROW_OFFSET (PRI_HMC_CFG_COL_TO_ROW_OFFSET), + .PRI_HMC_CFG_SIDEBAND_OFFSET (PRI_HMC_CFG_SIDEBAND_OFFSET), + .PRI_HMC_CFG_CS_TO_CHIP_MAPPING (PRI_HMC_CFG_CS_TO_CHIP_MAPPING), + .PRI_HMC_CFG_CTL_ODT_ENABLED (PRI_HMC_CFG_CTL_ODT_ENABLED), + .PRI_HMC_CFG_RD_ODT_ON (PRI_HMC_CFG_RD_ODT_ON), + .PRI_HMC_CFG_RD_ODT_PERIOD (PRI_HMC_CFG_RD_ODT_PERIOD), + .PRI_HMC_CFG_READ_ODT_CHIP (PRI_HMC_CFG_READ_ODT_CHIP), + .PRI_HMC_CFG_WR_ODT_ON (PRI_HMC_CFG_WR_ODT_ON), + .PRI_HMC_CFG_WR_ODT_PERIOD (PRI_HMC_CFG_WR_ODT_PERIOD), + .PRI_HMC_CFG_WRITE_ODT_CHIP (PRI_HMC_CFG_WRITE_ODT_CHIP), + .PRI_HMC_CFG_CMD_FIFO_RESERVE_EN (PRI_HMC_CFG_CMD_FIFO_RESERVE_EN), + .PRI_HMC_CFG_RB_RESERVED_ENTRY (PRI_HMC_CFG_RB_RESERVED_ENTRY), + .PRI_HMC_CFG_WB_RESERVED_ENTRY (PRI_HMC_CFG_WB_RESERVED_ENTRY), + .PRI_HMC_CFG_STARVE_LIMIT (PRI_HMC_CFG_STARVE_LIMIT), + .PRI_HMC_CFG_PHY_DELAY_MISMATCH (PRI_HMC_CFG_PHY_DELAY_MISMATCH), + .PRI_HMC_CFG_DQSTRK_EN (PRI_HMC_CFG_DQSTRK_EN), + .PRI_HMC_CFG_DQSTRK_TO_VALID (PRI_HMC_CFG_DQSTRK_TO_VALID), + .PRI_HMC_CFG_DQSTRK_TO_VALID_LAST (PRI_HMC_CFG_DQSTRK_TO_VALID_LAST), + .PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN (PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL (PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN (PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD (PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .PRI_HMC_CFG_USER_RFSH_EN (PRI_HMC_CFG_USER_RFSH_EN), + .PRI_HMC_CFG_GEAR_DOWN_EN (PRI_HMC_CFG_GEAR_DOWN_EN), + .PRI_HMC_CFG_MEM_AUTO_PD_CYCLES (PRI_HMC_CFG_MEM_AUTO_PD_CYCLES), + .PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .PRI_HMC_MEMCLKGATE_SETTING (PRI_HMC_MEMCLKGATE_SETTING), + .PRI_HMC_CFG_TCL (PRI_HMC_CFG_TCL), + .PRI_HMC_CFG_16_ACT_TO_ACT (PRI_HMC_CFG_16_ACT_TO_ACT), + .PRI_HMC_CFG_4_ACT_TO_ACT (PRI_HMC_CFG_4_ACT_TO_ACT), + .PRI_HMC_MEM_IF_AL (PRI_HMC_MEM_IF_AL), + .PRI_HMC_MEM_IF_CS_PER_DIMM (PRI_HMC_MEM_IF_CS_PER_DIMM), + .PRI_HMC_MEM_IF_RD_PREAMBLE (PRI_HMC_MEM_IF_RD_PREAMBLE), + .PRI_HMC_MEM_IF_TCCD (PRI_HMC_MEM_IF_TCCD), + .PRI_HMC_MEM_IF_TCCD_S (PRI_HMC_MEM_IF_TCCD_S), + .PRI_HMC_MEM_IF_TCKESR (PRI_HMC_MEM_IF_TCKESR), + .PRI_HMC_MEM_IF_TCKSRX (PRI_HMC_MEM_IF_TCKSRX), + .PRI_HMC_MEM_IF_TCL (PRI_HMC_MEM_IF_TCL), + .PRI_HMC_MEM_IF_TCWL (PRI_HMC_MEM_IF_TCWL), + .PRI_HMC_MEM_IF_TDQSCKMAX (PRI_HMC_MEM_IF_TDQSCKMAX), + .PRI_HMC_MEM_IF_TFAW (PRI_HMC_MEM_IF_TFAW), + .PRI_HMC_MEM_IF_TMOD (PRI_HMC_MEM_IF_TMOD), + .PRI_HMC_MEM_IF_TPL (PRI_HMC_MEM_IF_TPL), + .PRI_HMC_MEM_IF_TRAS (PRI_HMC_MEM_IF_TRAS), + .PRI_HMC_MEM_IF_TRC (PRI_HMC_MEM_IF_TRC), + .PRI_HMC_MEM_IF_TRCD (PRI_HMC_MEM_IF_TRCD), + .PRI_HMC_MEM_IF_TREFI (PRI_HMC_MEM_IF_TREFI), + .PRI_HMC_MEM_IF_TRFC (PRI_HMC_MEM_IF_TRFC), + .PRI_HMC_MEM_IF_TRP (PRI_HMC_MEM_IF_TRP), + .PRI_HMC_MEM_IF_TRRD (PRI_HMC_MEM_IF_TRRD), + .PRI_HMC_MEM_IF_TRRD_S (PRI_HMC_MEM_IF_TRRD_S), + .PRI_HMC_MEM_IF_TRTP (PRI_HMC_MEM_IF_TRTP), + .PRI_HMC_MEM_IF_TWR (PRI_HMC_MEM_IF_TWR), + .PRI_HMC_MEM_IF_TWR_CRC_DM (PRI_HMC_MEM_IF_TWR_CRC_DM), + .PRI_HMC_MEM_IF_TWTR (PRI_HMC_MEM_IF_TWTR), + .PRI_HMC_MEM_IF_TWTR_L_CRC_DM (PRI_HMC_MEM_IF_TWTR_L_CRC_DM), + .PRI_HMC_MEM_IF_TWTR_S (PRI_HMC_MEM_IF_TWTR_S), + .PRI_HMC_MEM_IF_TWTR_S_CRC_DM (PRI_HMC_MEM_IF_TWTR_S_CRC_DM), + .PRI_HMC_MEM_IF_TXP (PRI_HMC_MEM_IF_TXP), + .PRI_HMC_MEM_IF_TXPDLL (PRI_HMC_MEM_IF_TXPDLL), + .PRI_HMC_MEM_IF_TXSR (PRI_HMC_MEM_IF_TXSR), + .PRI_HMC_MEM_IF_TZQCS (PRI_HMC_MEM_IF_TZQCS), + .PRI_HMC_MEM_IF_TZQOPER (PRI_HMC_MEM_IF_TZQOPER), + .PRI_HMC_MEM_IF_WR_CRC (PRI_HMC_MEM_IF_WR_CRC), + .PRI_HMC_MEM_IF_WR_PREAMBLE (PRI_HMC_MEM_IF_WR_PREAMBLE), + .PRI_HMC_CFG_ACT_TO_ACT (PRI_HMC_CFG_ACT_TO_ACT), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .PRI_HMC_CFG_ACT_TO_PCH (PRI_HMC_CFG_ACT_TO_PCH), + .PRI_HMC_CFG_ACT_TO_RDWR (PRI_HMC_CFG_ACT_TO_RDWR), + .PRI_HMC_CFG_ARF_PERIOD (PRI_HMC_CFG_ARF_PERIOD), + .PRI_HMC_CFG_ARF_TO_VALID (PRI_HMC_CFG_ARF_TO_VALID), + .PRI_HMC_CFG_MMR_CMD_TO_VALID (PRI_HMC_CFG_MMR_CMD_TO_VALID), + .PRI_HMC_CFG_MPR_TO_VALID (PRI_HMC_CFG_MPR_TO_VALID), + .PRI_HMC_CFG_MPS_DQSTRK_DISABLE (PRI_HMC_CFG_MPS_DQSTRK_DISABLE), + .PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS (PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE (PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .PRI_HMC_CFG_MPS_TO_VALID (PRI_HMC_CFG_MPS_TO_VALID), + .PRI_HMC_CFG_MPS_ZQCAL_DISABLE (PRI_HMC_CFG_MPS_ZQCAL_DISABLE), + .PRI_HMC_CFG_MRR_TO_VALID (PRI_HMC_CFG_MRR_TO_VALID), + .PRI_HMC_CFG_MRS_TO_VALID (PRI_HMC_CFG_MRS_TO_VALID), + .PRI_HMC_CFG_PCH_ALL_TO_VALID (PRI_HMC_CFG_PCH_ALL_TO_VALID), + .PRI_HMC_CFG_PCH_TO_VALID (PRI_HMC_CFG_PCH_TO_VALID), + .PRI_HMC_CFG_PDN_PERIOD (PRI_HMC_CFG_PDN_PERIOD), + .PRI_HMC_CFG_PDN_TO_VALID (PRI_HMC_CFG_PDN_TO_VALID), + .PRI_HMC_CFG_POWER_SAVING_EXIT_CYC (PRI_HMC_CFG_POWER_SAVING_EXIT_CYC), + .PRI_HMC_CFG_RD_AP_TO_VALID (PRI_HMC_CFG_RD_AP_TO_VALID), + .PRI_HMC_CFG_RD_TO_PCH (PRI_HMC_CFG_RD_TO_PCH), + .PRI_HMC_CFG_RD_TO_RD (PRI_HMC_CFG_RD_TO_RD), + .PRI_HMC_CFG_RD_TO_RD_DIFF_BG (PRI_HMC_CFG_RD_TO_RD_DIFF_BG), + .PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP (PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_RD_TO_WR (PRI_HMC_CFG_RD_TO_WR), + .PRI_HMC_CFG_RD_TO_WR_DIFF_BG (PRI_HMC_CFG_RD_TO_WR_DIFF_BG), + .PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP (PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_RFSH_WARN_THRESHOLD (PRI_HMC_CFG_RFSH_WARN_THRESHOLD), + .PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ0 (PRI_HMC_CFG_RLD3_REFRESH_SEQ0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ1 (PRI_HMC_CFG_RLD3_REFRESH_SEQ1), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ2 (PRI_HMC_CFG_RLD3_REFRESH_SEQ2), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ3 (PRI_HMC_CFG_RLD3_REFRESH_SEQ3), + .PRI_HMC_CFG_SB_CG_DISABLE (PRI_HMC_CFG_SB_CG_DISABLE), + .PRI_HMC_CFG_SB_DDR4_MR3 (PRI_HMC_CFG_SB_DDR4_MR3), + .PRI_HMC_CFG_SB_DDR4_MR4 (PRI_HMC_CFG_SB_DDR4_MR4), + .PRI_HMC_CFG_SB_DDR4_MR5 (PRI_HMC_CFG_SB_DDR4_MR5), + .PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR (PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .PRI_HMC_CFG_SRF_AUTOEXIT_EN (PRI_HMC_CFG_SRF_AUTOEXIT_EN), + .PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .PRI_HMC_CFG_SRF_TO_VALID (PRI_HMC_CFG_SRF_TO_VALID), + .PRI_HMC_CFG_SRF_TO_ZQ_CAL (PRI_HMC_CFG_SRF_TO_ZQ_CAL), + .PRI_HMC_CFG_SRF_ZQCAL_DISABLE (PRI_HMC_CFG_SRF_ZQCAL_DISABLE), + .PRI_HMC_TEMP_4_ACT_TO_ACT (PRI_HMC_TEMP_4_ACT_TO_ACT), + .PRI_HMC_TEMP_RD_TO_RD_DIFF_BG (PRI_HMC_TEMP_RD_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD (PRI_HMC_TEMP_WR_TO_RD), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_BG (PRI_HMC_TEMP_WR_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP (PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_TEMP_WR_TO_WR_DIFF_BG (PRI_HMC_TEMP_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_AP_TO_VALID (PRI_HMC_CFG_WR_AP_TO_VALID), + .PRI_HMC_CFG_WR_TO_PCH (PRI_HMC_CFG_WR_TO_PCH), + .PRI_HMC_CFG_WR_TO_RD (PRI_HMC_CFG_WR_TO_RD), + .PRI_HMC_CFG_WR_TO_RD_DIFF_BG (PRI_HMC_CFG_WR_TO_RD_DIFF_BG), + .PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP (PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_WR_TO_WR (PRI_HMC_CFG_WR_TO_WR), + .PRI_HMC_CFG_WR_TO_WR_DIFF_BG (PRI_HMC_CFG_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP (PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_ZQCL_TO_VALID (PRI_HMC_CFG_ZQCL_TO_VALID), + .PRI_HMC_CFG_ZQCS_TO_VALID (PRI_HMC_CFG_ZQCS_TO_VALID), + .PRI_HMC_CFG_MAJOR_MODE_EN (PRI_HMC_CFG_MAJOR_MODE_EN), + .PRI_HMC_CFG_REFRESH_TYPE (PRI_HMC_CFG_REFRESH_TYPE), + .PRI_HMC_CFG_POST_REFRESH_EN (PRI_HMC_CFG_POST_REFRESH_EN), + .PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT (PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .PRI_HMC_CFG_PRE_REFRESH_EN (PRI_HMC_CFG_PRE_REFRESH_EN), + .PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .PRI_HMC_CHIP_ID (PRI_HMC_CHIP_ID), + .PRI_HMC_CID_ADDR_WIDTH (PRI_HMC_CID_ADDR_WIDTH), + .PRI_HMC_3DS_EN (PRI_HMC_3DS_EN), + .PRI_HMC_3DS_LR_NUM0 (PRI_HMC_3DS_LR_NUM0), + .PRI_HMC_3DS_LR_NUM1 (PRI_HMC_3DS_LR_NUM1), + .PRI_HMC_3DS_LR_NUM2 (PRI_HMC_3DS_LR_NUM2), + .PRI_HMC_3DS_LR_NUM3 (PRI_HMC_3DS_LR_NUM3), + .PRI_HMC_3DS_PR_STAG_ENABLE (PRI_HMC_3DS_PR_STAG_ENABLE), + .PRI_HMC_3DS_REF2REF_DLR (PRI_HMC_3DS_REF2REF_DLR), + .PRI_HMC_3DSREF_ACK_ON_DONE (PRI_HMC_3DSREF_ACK_ON_DONE), + .SEC_HMC_CFG_PING_PONG_MODE (SEC_HMC_CFG_PING_PONG_MODE), + .SEC_HMC_CFG_CS_ADDR_WIDTH (SEC_HMC_CFG_CS_ADDR_WIDTH), + .SEC_HMC_CFG_COL_ADDR_WIDTH (SEC_HMC_CFG_COL_ADDR_WIDTH), + .SEC_HMC_CFG_ROW_ADDR_WIDTH (SEC_HMC_CFG_ROW_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_ADDR_WIDTH (SEC_HMC_CFG_BANK_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH (SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .SEC_HMC_CFG_ADDR_ORDER (SEC_HMC_CFG_ADDR_ORDER), + .SEC_HMC_CFG_ARBITER_TYPE (SEC_HMC_CFG_ARBITER_TYPE), + .SEC_HMC_CFG_OPEN_PAGE_EN (SEC_HMC_CFG_OPEN_PAGE_EN), + .SEC_HMC_CFG_CTRL_ENABLE_RC (SEC_HMC_CFG_CTRL_ENABLE_RC), + .SEC_HMC_CFG_DBC0_ENABLE_RC (SEC_HMC_CFG_DBC0_ENABLE_RC), + .SEC_HMC_CFG_DBC1_ENABLE_RC (SEC_HMC_CFG_DBC1_ENABLE_RC), + .SEC_HMC_CFG_DBC2_ENABLE_RC (SEC_HMC_CFG_DBC2_ENABLE_RC), + .SEC_HMC_CFG_DBC3_ENABLE_RC (SEC_HMC_CFG_DBC3_ENABLE_RC), + .SEC_HMC_CFG_CTRL_ENABLE_ECC (SEC_HMC_CFG_CTRL_ENABLE_ECC), + .SEC_HMC_CFG_DBC0_ENABLE_ECC (SEC_HMC_CFG_DBC0_ENABLE_ECC), + .SEC_HMC_CFG_DBC1_ENABLE_ECC (SEC_HMC_CFG_DBC1_ENABLE_ECC), + .SEC_HMC_CFG_DBC2_ENABLE_ECC (SEC_HMC_CFG_DBC2_ENABLE_ECC), + .SEC_HMC_CFG_DBC3_ENABLE_ECC (SEC_HMC_CFG_DBC3_ENABLE_ECC), + .SEC_HMC_CFG_REORDER_DATA (SEC_HMC_CFG_REORDER_DATA), + .SEC_HMC_CFG_REORDER_READ (SEC_HMC_CFG_REORDER_READ), + .SEC_HMC_CFG_CTRL_REORDER_RDATA (SEC_HMC_CFG_CTRL_REORDER_RDATA), + .SEC_HMC_CFG_DBC0_REORDER_RDATA (SEC_HMC_CFG_DBC0_REORDER_RDATA), + .SEC_HMC_CFG_DBC1_REORDER_RDATA (SEC_HMC_CFG_DBC1_REORDER_RDATA), + .SEC_HMC_CFG_DBC2_REORDER_RDATA (SEC_HMC_CFG_DBC2_REORDER_RDATA), + .SEC_HMC_CFG_DBC3_REORDER_RDATA (SEC_HMC_CFG_DBC3_REORDER_RDATA), + .SEC_HMC_CFG_CTRL_SLOT_OFFSET (SEC_HMC_CFG_CTRL_SLOT_OFFSET), + .SEC_HMC_CFG_DBC0_SLOT_OFFSET (SEC_HMC_CFG_DBC0_SLOT_OFFSET), + .SEC_HMC_CFG_DBC1_SLOT_OFFSET (SEC_HMC_CFG_DBC1_SLOT_OFFSET), + .SEC_HMC_CFG_DBC2_SLOT_OFFSET (SEC_HMC_CFG_DBC2_SLOT_OFFSET), + .SEC_HMC_CFG_DBC3_SLOT_OFFSET (SEC_HMC_CFG_DBC3_SLOT_OFFSET), + .SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN (SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .SEC_HMC_CFG_COL_CMD_SLOT (SEC_HMC_CFG_COL_CMD_SLOT), + .SEC_HMC_CFG_ROW_CMD_SLOT (SEC_HMC_CFG_ROW_CMD_SLOT), + .SEC_HMC_CFG_ROW_TO_COL_OFFSET (SEC_HMC_CFG_ROW_TO_COL_OFFSET), + .SEC_HMC_CFG_ROW_TO_ROW_OFFSET (SEC_HMC_CFG_ROW_TO_ROW_OFFSET), + .SEC_HMC_CFG_COL_TO_COL_OFFSET (SEC_HMC_CFG_COL_TO_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET (SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_ROW_OFFSET (SEC_HMC_CFG_COL_TO_ROW_OFFSET), + .SEC_HMC_CFG_SIDEBAND_OFFSET (SEC_HMC_CFG_SIDEBAND_OFFSET), + .SEC_HMC_CFG_CS_TO_CHIP_MAPPING (SEC_HMC_CFG_CS_TO_CHIP_MAPPING), + .SEC_HMC_CFG_CTL_ODT_ENABLED (SEC_HMC_CFG_CTL_ODT_ENABLED), + .SEC_HMC_CFG_RD_ODT_ON (SEC_HMC_CFG_RD_ODT_ON), + .SEC_HMC_CFG_RD_ODT_PERIOD (SEC_HMC_CFG_RD_ODT_PERIOD), + .SEC_HMC_CFG_READ_ODT_CHIP (SEC_HMC_CFG_READ_ODT_CHIP), + .SEC_HMC_CFG_WR_ODT_ON (SEC_HMC_CFG_WR_ODT_ON), + .SEC_HMC_CFG_WR_ODT_PERIOD (SEC_HMC_CFG_WR_ODT_PERIOD), + .SEC_HMC_CFG_WRITE_ODT_CHIP (SEC_HMC_CFG_WRITE_ODT_CHIP), + .SEC_HMC_CFG_CMD_FIFO_RESERVE_EN (SEC_HMC_CFG_CMD_FIFO_RESERVE_EN), + .SEC_HMC_CFG_RB_RESERVED_ENTRY (SEC_HMC_CFG_RB_RESERVED_ENTRY), + .SEC_HMC_CFG_WB_RESERVED_ENTRY (SEC_HMC_CFG_WB_RESERVED_ENTRY), + .SEC_HMC_CFG_STARVE_LIMIT (SEC_HMC_CFG_STARVE_LIMIT), + .SEC_HMC_CFG_PHY_DELAY_MISMATCH (SEC_HMC_CFG_PHY_DELAY_MISMATCH), + .SEC_HMC_CFG_DQSTRK_EN (SEC_HMC_CFG_DQSTRK_EN), + .SEC_HMC_CFG_DQSTRK_TO_VALID (SEC_HMC_CFG_DQSTRK_TO_VALID), + .SEC_HMC_CFG_DQSTRK_TO_VALID_LAST (SEC_HMC_CFG_DQSTRK_TO_VALID_LAST), + .SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN (SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL (SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN (SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD (SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .SEC_HMC_CFG_USER_RFSH_EN (SEC_HMC_CFG_USER_RFSH_EN), + .SEC_HMC_CFG_GEAR_DOWN_EN (SEC_HMC_CFG_GEAR_DOWN_EN), + .SEC_HMC_CFG_MEM_AUTO_PD_CYCLES (SEC_HMC_CFG_MEM_AUTO_PD_CYCLES), + .SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .SEC_HMC_MEMCLKGATE_SETTING (SEC_HMC_MEMCLKGATE_SETTING), + .SEC_HMC_CFG_TCL (SEC_HMC_CFG_TCL), + .SEC_HMC_CFG_16_ACT_TO_ACT (SEC_HMC_CFG_16_ACT_TO_ACT), + .SEC_HMC_CFG_4_ACT_TO_ACT (SEC_HMC_CFG_4_ACT_TO_ACT), + .SEC_HMC_MEM_IF_AL (SEC_HMC_MEM_IF_AL), + .SEC_HMC_MEM_IF_CS_PER_DIMM (SEC_HMC_MEM_IF_CS_PER_DIMM), + .SEC_HMC_MEM_IF_RD_PREAMBLE (SEC_HMC_MEM_IF_RD_PREAMBLE), + .SEC_HMC_MEM_IF_TCCD (SEC_HMC_MEM_IF_TCCD), + .SEC_HMC_MEM_IF_TCCD_S (SEC_HMC_MEM_IF_TCCD_S), + .SEC_HMC_MEM_IF_TCKESR (SEC_HMC_MEM_IF_TCKESR), + .SEC_HMC_MEM_IF_TCKSRX (SEC_HMC_MEM_IF_TCKSRX), + .SEC_HMC_MEM_IF_TCL (SEC_HMC_MEM_IF_TCL), + .SEC_HMC_MEM_IF_TCWL (SEC_HMC_MEM_IF_TCWL), + .SEC_HMC_MEM_IF_TDQSCKMAX (SEC_HMC_MEM_IF_TDQSCKMAX), + .SEC_HMC_MEM_IF_TFAW (SEC_HMC_MEM_IF_TFAW), + .SEC_HMC_MEM_IF_TMOD (SEC_HMC_MEM_IF_TMOD), + .SEC_HMC_MEM_IF_TPL (SEC_HMC_MEM_IF_TPL), + .SEC_HMC_MEM_IF_TRAS (SEC_HMC_MEM_IF_TRAS), + .SEC_HMC_MEM_IF_TRC (SEC_HMC_MEM_IF_TRC), + .SEC_HMC_MEM_IF_TRCD (SEC_HMC_MEM_IF_TRCD), + .SEC_HMC_MEM_IF_TREFI (SEC_HMC_MEM_IF_TREFI), + .SEC_HMC_MEM_IF_TRFC (SEC_HMC_MEM_IF_TRFC), + .SEC_HMC_MEM_IF_TRP (SEC_HMC_MEM_IF_TRP), + .SEC_HMC_MEM_IF_TRRD (SEC_HMC_MEM_IF_TRRD), + .SEC_HMC_MEM_IF_TRRD_S (SEC_HMC_MEM_IF_TRRD_S), + .SEC_HMC_MEM_IF_TRTP (SEC_HMC_MEM_IF_TRTP), + .SEC_HMC_MEM_IF_TWR (SEC_HMC_MEM_IF_TWR), + .SEC_HMC_MEM_IF_TWR_CRC_DM (SEC_HMC_MEM_IF_TWR_CRC_DM), + .SEC_HMC_MEM_IF_TWTR (SEC_HMC_MEM_IF_TWTR), + .SEC_HMC_MEM_IF_TWTR_L_CRC_DM (SEC_HMC_MEM_IF_TWTR_L_CRC_DM), + .SEC_HMC_MEM_IF_TWTR_S (SEC_HMC_MEM_IF_TWTR_S), + .SEC_HMC_MEM_IF_TWTR_S_CRC_DM (SEC_HMC_MEM_IF_TWTR_S_CRC_DM), + .SEC_HMC_MEM_IF_TXP (SEC_HMC_MEM_IF_TXP), + .SEC_HMC_MEM_IF_TXPDLL (SEC_HMC_MEM_IF_TXPDLL), + .SEC_HMC_MEM_IF_TXSR (SEC_HMC_MEM_IF_TXSR), + .SEC_HMC_MEM_IF_TZQCS (SEC_HMC_MEM_IF_TZQCS), + .SEC_HMC_MEM_IF_TZQOPER (SEC_HMC_MEM_IF_TZQOPER), + .SEC_HMC_MEM_IF_WR_CRC (SEC_HMC_MEM_IF_WR_CRC), + .SEC_HMC_MEM_IF_WR_PREAMBLE (SEC_HMC_MEM_IF_WR_PREAMBLE), + .SEC_HMC_CFG_ACT_TO_ACT (SEC_HMC_CFG_ACT_TO_ACT), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .SEC_HMC_CFG_ACT_TO_PCH (SEC_HMC_CFG_ACT_TO_PCH), + .SEC_HMC_CFG_ACT_TO_RDWR (SEC_HMC_CFG_ACT_TO_RDWR), + .SEC_HMC_CFG_ARF_PERIOD (SEC_HMC_CFG_ARF_PERIOD), + .SEC_HMC_CFG_ARF_TO_VALID (SEC_HMC_CFG_ARF_TO_VALID), + .SEC_HMC_CFG_MMR_CMD_TO_VALID (SEC_HMC_CFG_MMR_CMD_TO_VALID), + .SEC_HMC_CFG_MPR_TO_VALID (SEC_HMC_CFG_MPR_TO_VALID), + .SEC_HMC_CFG_MPS_DQSTRK_DISABLE (SEC_HMC_CFG_MPS_DQSTRK_DISABLE), + .SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS (SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE (SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .SEC_HMC_CFG_MPS_TO_VALID (SEC_HMC_CFG_MPS_TO_VALID), + .SEC_HMC_CFG_MPS_ZQCAL_DISABLE (SEC_HMC_CFG_MPS_ZQCAL_DISABLE), + .SEC_HMC_CFG_MRR_TO_VALID (SEC_HMC_CFG_MRR_TO_VALID), + .SEC_HMC_CFG_MRS_TO_VALID (SEC_HMC_CFG_MRS_TO_VALID), + .SEC_HMC_CFG_PCH_ALL_TO_VALID (SEC_HMC_CFG_PCH_ALL_TO_VALID), + .SEC_HMC_CFG_PCH_TO_VALID (SEC_HMC_CFG_PCH_TO_VALID), + .SEC_HMC_CFG_PDN_PERIOD (SEC_HMC_CFG_PDN_PERIOD), + .SEC_HMC_CFG_PDN_TO_VALID (SEC_HMC_CFG_PDN_TO_VALID), + .SEC_HMC_CFG_POWER_SAVING_EXIT_CYC (SEC_HMC_CFG_POWER_SAVING_EXIT_CYC), + .SEC_HMC_CFG_RD_AP_TO_VALID (SEC_HMC_CFG_RD_AP_TO_VALID), + .SEC_HMC_CFG_RD_TO_PCH (SEC_HMC_CFG_RD_TO_PCH), + .SEC_HMC_CFG_RD_TO_RD (SEC_HMC_CFG_RD_TO_RD), + .SEC_HMC_CFG_RD_TO_RD_DIFF_BG (SEC_HMC_CFG_RD_TO_RD_DIFF_BG), + .SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP (SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_RD_TO_WR (SEC_HMC_CFG_RD_TO_WR), + .SEC_HMC_CFG_RD_TO_WR_DIFF_BG (SEC_HMC_CFG_RD_TO_WR_DIFF_BG), + .SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP (SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_RFSH_WARN_THRESHOLD (SEC_HMC_CFG_RFSH_WARN_THRESHOLD), + .SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ0 (SEC_HMC_CFG_RLD3_REFRESH_SEQ0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ1 (SEC_HMC_CFG_RLD3_REFRESH_SEQ1), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ2 (SEC_HMC_CFG_RLD3_REFRESH_SEQ2), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ3 (SEC_HMC_CFG_RLD3_REFRESH_SEQ3), + .SEC_HMC_CFG_SB_CG_DISABLE (SEC_HMC_CFG_SB_CG_DISABLE), + .SEC_HMC_CFG_SB_DDR4_MR3 (SEC_HMC_CFG_SB_DDR4_MR3), + .SEC_HMC_CFG_SB_DDR4_MR4 (SEC_HMC_CFG_SB_DDR4_MR4), + .SEC_HMC_CFG_SB_DDR4_MR5 (SEC_HMC_CFG_SB_DDR4_MR5), + .SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR (SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .SEC_HMC_CFG_SRF_AUTOEXIT_EN (SEC_HMC_CFG_SRF_AUTOEXIT_EN), + .SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .SEC_HMC_CFG_SRF_TO_VALID (SEC_HMC_CFG_SRF_TO_VALID), + .SEC_HMC_CFG_SRF_TO_ZQ_CAL (SEC_HMC_CFG_SRF_TO_ZQ_CAL), + .SEC_HMC_CFG_SRF_ZQCAL_DISABLE (SEC_HMC_CFG_SRF_ZQCAL_DISABLE), + .SEC_HMC_TEMP_4_ACT_TO_ACT (SEC_HMC_TEMP_4_ACT_TO_ACT), + .SEC_HMC_TEMP_RD_TO_RD_DIFF_BG (SEC_HMC_TEMP_RD_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD (SEC_HMC_TEMP_WR_TO_RD), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_BG (SEC_HMC_TEMP_WR_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP (SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_TEMP_WR_TO_WR_DIFF_BG (SEC_HMC_TEMP_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_AP_TO_VALID (SEC_HMC_CFG_WR_AP_TO_VALID), + .SEC_HMC_CFG_WR_TO_PCH (SEC_HMC_CFG_WR_TO_PCH), + .SEC_HMC_CFG_WR_TO_RD (SEC_HMC_CFG_WR_TO_RD), + .SEC_HMC_CFG_WR_TO_RD_DIFF_BG (SEC_HMC_CFG_WR_TO_RD_DIFF_BG), + .SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP (SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_WR_TO_WR (SEC_HMC_CFG_WR_TO_WR), + .SEC_HMC_CFG_WR_TO_WR_DIFF_BG (SEC_HMC_CFG_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP (SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_ZQCL_TO_VALID (SEC_HMC_CFG_ZQCL_TO_VALID), + .SEC_HMC_CFG_ZQCS_TO_VALID (SEC_HMC_CFG_ZQCS_TO_VALID), + .SEC_HMC_CFG_MAJOR_MODE_EN (SEC_HMC_CFG_MAJOR_MODE_EN), + .SEC_HMC_CFG_REFRESH_TYPE (SEC_HMC_CFG_REFRESH_TYPE), + .SEC_HMC_CFG_POST_REFRESH_EN (SEC_HMC_CFG_POST_REFRESH_EN), + .SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT (SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .SEC_HMC_CFG_PRE_REFRESH_EN (SEC_HMC_CFG_PRE_REFRESH_EN), + .SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .SEC_HMC_CHIP_ID (SEC_HMC_CHIP_ID), + .SEC_HMC_CID_ADDR_WIDTH (SEC_HMC_CID_ADDR_WIDTH), + .SEC_HMC_3DS_EN (SEC_HMC_3DS_EN), + .SEC_HMC_3DS_LR_NUM0 (SEC_HMC_3DS_LR_NUM0), + .SEC_HMC_3DS_LR_NUM1 (SEC_HMC_3DS_LR_NUM1), + .SEC_HMC_3DS_LR_NUM2 (SEC_HMC_3DS_LR_NUM2), + .SEC_HMC_3DS_LR_NUM3 (SEC_HMC_3DS_LR_NUM3), + .SEC_HMC_3DS_PR_STAG_ENABLE (SEC_HMC_3DS_PR_STAG_ENABLE), + .SEC_HMC_3DS_REF2REF_DLR (SEC_HMC_3DS_REF2REF_DLR), + .SEC_HMC_3DSREF_ACK_ON_DONE (SEC_HMC_3DSREF_ACK_ON_DONE), + + .SEQ_PT_CONTENT (SEQ_PT_CONTENT), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .PINS_IN_RTL_TILES (PINS_IN_RTL_TILES), + .LANES_IN_RTL_TILES (LANES_IN_RTL_TILES), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .AC_PIN_MAP_SCHEME (AC_PIN_MAP_SCHEME), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .LANES_USAGE (LANES_USAGE), + .LANE_PIN_USAGE (LANE_PIN_USAGE), + .PINS_USAGE (PINS_USAGE), + .PINS_RATE (PINS_RATE), + .DB_PINS_PROC_MODE (DB_PINS_PROC_MODE), + .PINS_DATA_IN_MODE (PINS_DATA_IN_MODE), + .PINS_OCT_MODE (PINS_OCT_MODE), + .PINS_DCC_SPLIT (PINS_DCC_SPLIT), + .CENTER_TIDS (CENTER_TIDS), + .HMC_TIDS (HMC_TIDS), + .LANE_TIDS (LANE_TIDS), + .DBC_EXTRA_PIPE_STAGE_EN (DBC_EXTRA_PIPE_STAGE_EN), + .DBC_PIPE_LATS (DBC_PIPE_LATS), + .DB_PTR_PIPELINE_DEPTHS (DB_PTR_PIPELINE_DEPTHS), + .DB_SEQ_RD_EN_FULL_PIPELINES (DB_SEQ_RD_EN_FULL_PIPELINES), + .PREAMBLE_MODE (PREAMBLE_MODE), + .DBI_WR_ENABLE (DBI_WR_ENABLE), + .DBI_RD_ENABLE (DBI_RD_ENABLE), + .SWAP_DQS_A_B (SWAP_DQS_A_B), + .DQS_PACK_MODE (DQS_PACK_MODE), + .OCT_SIZE (OCT_SIZE), + .DQSA_LGC_MODE (DQSA_LGC_MODE), + .DQSB_LGC_MODE (DQSB_LGC_MODE), + .DBC_WB_RESERVED_ENTRY (DBC_WB_RESERVED_ENTRY), + .DLL_MODE (DLL_MODE), + .DLL_CODEWORD (DLL_CODEWORD), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH), + .PORT_CALBUS_ADDRESS_WIDTH (PORT_CALBUS_ADDRESS_WIDTH), + .PORT_CALBUS_RDATA_WIDTH (PORT_CALBUS_RDATA_WIDTH), + .PORT_CALBUS_WDATA_WIDTH (PORT_CALBUS_WDATA_WIDTH), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (PORT_CALBUS_SEQ_PARAM_TBL_WIDTH), + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY) + ) io_tiles_inst ( + .core2seq_reset_req (core2seq_reset_req_iotile_in), + .pll_locked (pll_locked_iotile_in), + .pll_dll_clk (pll_dll_clk_iotile_in), + .phy_clk_phs (phy_clk_phs_iotile_in), + .phy_clk (phy_clk_iotile_in), + .global_phy_clk (global_phy_clk), + .phy_fb_clk_to_tile (phy_fb_clk_to_tile_iotile_in), + .core_clks_fb_to_cpa_pri (core_clks_fb_to_cpa_pri_iotile_in), + .core_clks_fb_to_cpa_sec (core_clks_fb_to_cpa_sec_iotile_in), + .core2ctl_avl_0 (core2ctl_avl_0_iotile_in), + .core2ctl_avl_1 (core2ctl_avl_1_iotile_in), + .core2ctl_avl_rd_data_ready_0 (core2ctl_avl_rd_data_ready_0_iotile_in), + .core2ctl_avl_rd_data_ready_1 (core2ctl_avl_rd_data_ready_1_iotile_in), + + .core2l_wr_data_vld_ast (core2l_wr_data_vld_ast_iotile_in), + .core2l_rd_data_rdy_ast (core2l_rd_data_rdy_ast_iotile_in), + .core2l_wr_ecc_info (core2l_wr_ecc_info_iotile_in), + + .core2l_data (core2l_data_iotile_in), + .core2l_oe (core2l_oe_iotile_in), + .core2l_rdata_en_full (core2l_rdata_en_full_iotile_in), + .core2l_mrnk_read (core2l_mrnk_read_iotile_in), + .core2l_mrnk_write (core2l_mrnk_write_iotile_in), + .c2t_afi (c2t_afi_iotile_in), + .core2ctl_sideband_0 (core2ctl_sideband_0_iotile_in), + .core2ctl_sideband_1 (core2ctl_sideband_1_iotile_in), + .core2ctl_mmr_0 (core2ctl_mmr_0_iotile_in), + .core2ctl_mmr_1 (core2ctl_mmr_1_iotile_in), + .b2l_data (b2l_data_iotile_in), + .b2t_dqs (b2t_dqs_iotile_in), + .b2t_dqsb (b2t_dqsb_iotile_in), + .cal_bus_clk (cal_bus_clk_iotile_in), + .cal_bus_avl_read (cal_bus_avl_read_iotile_in), + .cal_bus_avl_write (cal_bus_avl_write_iotile_in), + .cal_bus_avl_address (cal_bus_avl_address_iotile_in), + .cal_bus_avl_write_data (cal_bus_avl_write_data_iotile_in), + .pa_dprio_clk (pa_dprio_clk_iotile_in), + .pa_dprio_read (pa_dprio_read_iotile_in), + .pa_dprio_reg_addr (pa_dprio_reg_addr_iotile_in), + .pa_dprio_rst_n (pa_dprio_rst_n_iotile_in), + .pa_dprio_write (pa_dprio_write_iotile_in), + .pa_dprio_writedata (pa_dprio_writedata_iotile_in), + .* + ); + + generate + if ( DIAG_USE_ABSTRACT_PHY==1 ) begin : abphy_tiles + altera_emif_arch_fm_io_tiles_abphy # ( + .DIAG_SYNTH_FOR_SIM (DIAG_SYNTH_FOR_SIM), + .DIAG_CPA_OUT_1_EN (DIAG_CPA_OUT_1_EN), + .DIAG_FAST_SIM (DIAG_FAST_SIM), + .MEM_ABPHY_VERBOSE (DIAG_SIM_VERBOSE_LEVEL >= 2), + .DIAG_SEQ_RESET_AUTO_RELEASE (DIAG_SEQ_RESET_AUTO_RELEASE), + .DIAG_DB_RESET_AUTO_RELEASE (DIAG_DB_RESET_AUTO_RELEASE), + .IS_HPS (IS_HPS), + .SILICON_REV (SILICON_REV), + .PROTOCOL_ENUM (PROTOCOL_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .USER_CLK_RATIO (USER_CLK_RATIO), + .PHY_HMC_CLK_RATIO (PHY_HMC_CLK_RATIO), + .C2P_P2C_CLK_RATIO (C2P_P2C_CLK_RATIO), + .PLL_VCO_FREQ_MHZ_INT (PLL_VCO_FREQ_MHZ_INT), + .PLL_VCO_TO_MEM_CLK_FREQ_RATIO (PLL_VCO_TO_MEM_CLK_FREQ_RATIO), + .MEM_BURST_LENGTH (MEM_BURST_LENGTH), + .MEM_DATA_MASK_EN (MEM_DATA_MASK_EN), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .HMC_CTRL_DIMM_TYPE (HMC_CTRL_DIMM_TYPE), + + .PRI_HMC_CFG_PING_PONG_MODE (PRI_HMC_CFG_PING_PONG_MODE), + .PRI_HMC_CFG_CS_ADDR_WIDTH (PRI_HMC_CFG_CS_ADDR_WIDTH), + .PRI_HMC_CFG_COL_ADDR_WIDTH (PRI_HMC_CFG_COL_ADDR_WIDTH), + .PRI_HMC_CFG_ROW_ADDR_WIDTH (PRI_HMC_CFG_ROW_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_ADDR_WIDTH (PRI_HMC_CFG_BANK_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH (PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .PRI_HMC_CFG_ADDR_ORDER (PRI_HMC_CFG_ADDR_ORDER), + .PRI_HMC_CFG_ARBITER_TYPE (PRI_HMC_CFG_ARBITER_TYPE), + .PRI_HMC_CFG_OPEN_PAGE_EN (PRI_HMC_CFG_OPEN_PAGE_EN), + .PRI_HMC_CFG_CTRL_ENABLE_RC (PRI_HMC_CFG_CTRL_ENABLE_RC), + .PRI_HMC_CFG_DBC0_ENABLE_RC (PRI_HMC_CFG_DBC0_ENABLE_RC), + .PRI_HMC_CFG_DBC1_ENABLE_RC (PRI_HMC_CFG_DBC1_ENABLE_RC), + .PRI_HMC_CFG_DBC2_ENABLE_RC (PRI_HMC_CFG_DBC2_ENABLE_RC), + .PRI_HMC_CFG_DBC3_ENABLE_RC (PRI_HMC_CFG_DBC3_ENABLE_RC), + .PRI_HMC_CFG_CTRL_ENABLE_ECC (PRI_HMC_CFG_CTRL_ENABLE_ECC), + .PRI_HMC_CFG_DBC0_ENABLE_ECC (PRI_HMC_CFG_DBC0_ENABLE_ECC), + .PRI_HMC_CFG_DBC1_ENABLE_ECC (PRI_HMC_CFG_DBC1_ENABLE_ECC), + .PRI_HMC_CFG_DBC2_ENABLE_ECC (PRI_HMC_CFG_DBC2_ENABLE_ECC), + .PRI_HMC_CFG_DBC3_ENABLE_ECC (PRI_HMC_CFG_DBC3_ENABLE_ECC), + .PRI_HMC_CFG_REORDER_DATA (PRI_HMC_CFG_REORDER_DATA), + .PRI_HMC_CFG_REORDER_READ (PRI_HMC_CFG_REORDER_READ), + .PRI_HMC_CFG_CTRL_REORDER_RDATA (PRI_HMC_CFG_CTRL_REORDER_RDATA), + .PRI_HMC_CFG_DBC0_REORDER_RDATA (PRI_HMC_CFG_DBC0_REORDER_RDATA), + .PRI_HMC_CFG_DBC1_REORDER_RDATA (PRI_HMC_CFG_DBC1_REORDER_RDATA), + .PRI_HMC_CFG_DBC2_REORDER_RDATA (PRI_HMC_CFG_DBC2_REORDER_RDATA), + .PRI_HMC_CFG_DBC3_REORDER_RDATA (PRI_HMC_CFG_DBC3_REORDER_RDATA), + .PRI_HMC_CFG_CTRL_SLOT_OFFSET (PRI_HMC_CFG_CTRL_SLOT_OFFSET), + .PRI_HMC_CFG_DBC0_SLOT_OFFSET (PRI_HMC_CFG_DBC0_SLOT_OFFSET), + .PRI_HMC_CFG_DBC1_SLOT_OFFSET (PRI_HMC_CFG_DBC1_SLOT_OFFSET), + .PRI_HMC_CFG_DBC2_SLOT_OFFSET (PRI_HMC_CFG_DBC2_SLOT_OFFSET), + .PRI_HMC_CFG_DBC3_SLOT_OFFSET (PRI_HMC_CFG_DBC3_SLOT_OFFSET), + .PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN (PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .PRI_HMC_CFG_COL_CMD_SLOT (PRI_HMC_CFG_COL_CMD_SLOT), + .PRI_HMC_CFG_ROW_CMD_SLOT (PRI_HMC_CFG_ROW_CMD_SLOT), + .PRI_HMC_CFG_ROW_TO_COL_OFFSET (PRI_HMC_CFG_ROW_TO_COL_OFFSET), + .PRI_HMC_CFG_ROW_TO_ROW_OFFSET (PRI_HMC_CFG_ROW_TO_ROW_OFFSET), + .PRI_HMC_CFG_COL_TO_COL_OFFSET (PRI_HMC_CFG_COL_TO_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET (PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_ROW_OFFSET (PRI_HMC_CFG_COL_TO_ROW_OFFSET), + .PRI_HMC_CFG_SIDEBAND_OFFSET (PRI_HMC_CFG_SIDEBAND_OFFSET), + .PRI_HMC_CFG_CS_TO_CHIP_MAPPING (PRI_HMC_CFG_CS_TO_CHIP_MAPPING), + .PRI_HMC_CFG_CTL_ODT_ENABLED (PRI_HMC_CFG_CTL_ODT_ENABLED), + .PRI_HMC_CFG_RD_ODT_ON (PRI_HMC_CFG_RD_ODT_ON), + .PRI_HMC_CFG_RD_ODT_PERIOD (PRI_HMC_CFG_RD_ODT_PERIOD), + .PRI_HMC_CFG_READ_ODT_CHIP (PRI_HMC_CFG_READ_ODT_CHIP), + .PRI_HMC_CFG_WR_ODT_ON (PRI_HMC_CFG_WR_ODT_ON), + .PRI_HMC_CFG_WR_ODT_PERIOD (PRI_HMC_CFG_WR_ODT_PERIOD), + .PRI_HMC_CFG_WRITE_ODT_CHIP (PRI_HMC_CFG_WRITE_ODT_CHIP), + .PRI_HMC_CFG_CMD_FIFO_RESERVE_EN (PRI_HMC_CFG_CMD_FIFO_RESERVE_EN), + .PRI_HMC_CFG_RB_RESERVED_ENTRY (PRI_HMC_CFG_RB_RESERVED_ENTRY), + .PRI_HMC_CFG_WB_RESERVED_ENTRY (PRI_HMC_CFG_WB_RESERVED_ENTRY), + .PRI_HMC_CFG_STARVE_LIMIT (PRI_HMC_CFG_STARVE_LIMIT), + .PRI_HMC_CFG_PHY_DELAY_MISMATCH (PRI_HMC_CFG_PHY_DELAY_MISMATCH), + .PRI_HMC_CFG_DQSTRK_EN (PRI_HMC_CFG_DQSTRK_EN), + .PRI_HMC_CFG_DQSTRK_TO_VALID (PRI_HMC_CFG_DQSTRK_TO_VALID), + .PRI_HMC_CFG_DQSTRK_TO_VALID_LAST (PRI_HMC_CFG_DQSTRK_TO_VALID_LAST), + .PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN (PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL (PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN (PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD (PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .PRI_HMC_CFG_USER_RFSH_EN (PRI_HMC_CFG_USER_RFSH_EN), + .PRI_HMC_CFG_GEAR_DOWN_EN (PRI_HMC_CFG_GEAR_DOWN_EN), + .PRI_HMC_CFG_MEM_AUTO_PD_CYCLES (PRI_HMC_CFG_MEM_AUTO_PD_CYCLES), + .PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .PRI_HMC_MEMCLKGATE_SETTING (PRI_HMC_MEMCLKGATE_SETTING), + .PRI_HMC_CFG_TCL (PRI_HMC_CFG_TCL), + .PRI_HMC_CFG_16_ACT_TO_ACT (PRI_HMC_CFG_16_ACT_TO_ACT), + .PRI_HMC_CFG_4_ACT_TO_ACT (PRI_HMC_CFG_4_ACT_TO_ACT), + .PRI_HMC_MEM_IF_AL (PRI_HMC_MEM_IF_AL), + .PRI_HMC_MEM_IF_CS_PER_DIMM (PRI_HMC_MEM_IF_CS_PER_DIMM), + .PRI_HMC_MEM_IF_RD_PREAMBLE (PRI_HMC_MEM_IF_RD_PREAMBLE), + .PRI_HMC_MEM_IF_TCCD (PRI_HMC_MEM_IF_TCCD), + .PRI_HMC_MEM_IF_TCCD_S (PRI_HMC_MEM_IF_TCCD_S), + .PRI_HMC_MEM_IF_TCKESR (PRI_HMC_MEM_IF_TCKESR), + .PRI_HMC_MEM_IF_TCKSRX (PRI_HMC_MEM_IF_TCKSRX), + .PRI_HMC_MEM_IF_TCL (PRI_HMC_MEM_IF_TCL), + .PRI_HMC_MEM_IF_TCWL (PRI_HMC_MEM_IF_TCWL), + .PRI_HMC_MEM_IF_TDQSCKMAX (PRI_HMC_MEM_IF_TDQSCKMAX), + .PRI_HMC_MEM_IF_TFAW (PRI_HMC_MEM_IF_TFAW), + .PRI_HMC_MEM_IF_TMOD (PRI_HMC_MEM_IF_TMOD), + .PRI_HMC_MEM_IF_TPL (PRI_HMC_MEM_IF_TPL), + .PRI_HMC_MEM_IF_TRAS (PRI_HMC_MEM_IF_TRAS), + .PRI_HMC_MEM_IF_TRC (PRI_HMC_MEM_IF_TRC), + .PRI_HMC_MEM_IF_TRCD (PRI_HMC_MEM_IF_TRCD), + .PRI_HMC_MEM_IF_TREFI (PRI_HMC_MEM_IF_TREFI), + .PRI_HMC_MEM_IF_TRFC (PRI_HMC_MEM_IF_TRFC), + .PRI_HMC_MEM_IF_TRP (PRI_HMC_MEM_IF_TRP), + .PRI_HMC_MEM_IF_TRRD (PRI_HMC_MEM_IF_TRRD), + .PRI_HMC_MEM_IF_TRRD_S (PRI_HMC_MEM_IF_TRRD_S), + .PRI_HMC_MEM_IF_TRTP (PRI_HMC_MEM_IF_TRTP), + .PRI_HMC_MEM_IF_TWR (PRI_HMC_MEM_IF_TWR), + .PRI_HMC_MEM_IF_TWR_CRC_DM (PRI_HMC_MEM_IF_TWR_CRC_DM), + .PRI_HMC_MEM_IF_TWTR (PRI_HMC_MEM_IF_TWTR), + .PRI_HMC_MEM_IF_TWTR_L_CRC_DM (PRI_HMC_MEM_IF_TWTR_L_CRC_DM), + .PRI_HMC_MEM_IF_TWTR_S (PRI_HMC_MEM_IF_TWTR_S), + .PRI_HMC_MEM_IF_TWTR_S_CRC_DM (PRI_HMC_MEM_IF_TWTR_S_CRC_DM), + .PRI_HMC_MEM_IF_TXP (PRI_HMC_MEM_IF_TXP), + .PRI_HMC_MEM_IF_TXPDLL (PRI_HMC_MEM_IF_TXPDLL), + .PRI_HMC_MEM_IF_TXSR (PRI_HMC_MEM_IF_TXSR), + .PRI_HMC_MEM_IF_TZQCS (PRI_HMC_MEM_IF_TZQCS), + .PRI_HMC_MEM_IF_TZQOPER (PRI_HMC_MEM_IF_TZQOPER), + .PRI_HMC_MEM_IF_WR_CRC (PRI_HMC_MEM_IF_WR_CRC), + .PRI_HMC_MEM_IF_WR_PREAMBLE (PRI_HMC_MEM_IF_WR_PREAMBLE), + .PRI_HMC_CFG_ACT_TO_ACT (PRI_HMC_CFG_ACT_TO_ACT), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .PRI_HMC_CFG_ACT_TO_PCH (PRI_HMC_CFG_ACT_TO_PCH), + .PRI_HMC_CFG_ACT_TO_RDWR (PRI_HMC_CFG_ACT_TO_RDWR), + .PRI_HMC_CFG_ARF_PERIOD (PRI_HMC_CFG_ARF_PERIOD), + .PRI_HMC_CFG_ARF_TO_VALID (PRI_HMC_CFG_ARF_TO_VALID), + .PRI_HMC_CFG_MMR_CMD_TO_VALID (PRI_HMC_CFG_MMR_CMD_TO_VALID), + .PRI_HMC_CFG_MPR_TO_VALID (PRI_HMC_CFG_MPR_TO_VALID), + .PRI_HMC_CFG_MPS_DQSTRK_DISABLE (PRI_HMC_CFG_MPS_DQSTRK_DISABLE), + .PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS (PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE (PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .PRI_HMC_CFG_MPS_TO_VALID (PRI_HMC_CFG_MPS_TO_VALID), + .PRI_HMC_CFG_MPS_ZQCAL_DISABLE (PRI_HMC_CFG_MPS_ZQCAL_DISABLE), + .PRI_HMC_CFG_MRR_TO_VALID (PRI_HMC_CFG_MRR_TO_VALID), + .PRI_HMC_CFG_MRS_TO_VALID (PRI_HMC_CFG_MRS_TO_VALID), + .PRI_HMC_CFG_PCH_ALL_TO_VALID (PRI_HMC_CFG_PCH_ALL_TO_VALID), + .PRI_HMC_CFG_PCH_TO_VALID (PRI_HMC_CFG_PCH_TO_VALID), + .PRI_HMC_CFG_PDN_PERIOD (PRI_HMC_CFG_PDN_PERIOD), + .PRI_HMC_CFG_PDN_TO_VALID (PRI_HMC_CFG_PDN_TO_VALID), + .PRI_HMC_CFG_POWER_SAVING_EXIT_CYC (PRI_HMC_CFG_POWER_SAVING_EXIT_CYC), + .PRI_HMC_CFG_RD_AP_TO_VALID (PRI_HMC_CFG_RD_AP_TO_VALID), + .PRI_HMC_CFG_RD_TO_PCH (PRI_HMC_CFG_RD_TO_PCH), + .PRI_HMC_CFG_RD_TO_RD (PRI_HMC_CFG_RD_TO_RD), + .PRI_HMC_CFG_RD_TO_RD_DIFF_BG (PRI_HMC_CFG_RD_TO_RD_DIFF_BG), + .PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP (PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_RD_TO_WR (PRI_HMC_CFG_RD_TO_WR), + .PRI_HMC_CFG_RD_TO_WR_DIFF_BG (PRI_HMC_CFG_RD_TO_WR_DIFF_BG), + .PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP (PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_RFSH_WARN_THRESHOLD (PRI_HMC_CFG_RFSH_WARN_THRESHOLD), + .PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ0 (PRI_HMC_CFG_RLD3_REFRESH_SEQ0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ1 (PRI_HMC_CFG_RLD3_REFRESH_SEQ1), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ2 (PRI_HMC_CFG_RLD3_REFRESH_SEQ2), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ3 (PRI_HMC_CFG_RLD3_REFRESH_SEQ3), + .PRI_HMC_CFG_SB_CG_DISABLE (PRI_HMC_CFG_SB_CG_DISABLE), + .PRI_HMC_CFG_SB_DDR4_MR3 (PRI_HMC_CFG_SB_DDR4_MR3), + .PRI_HMC_CFG_SB_DDR4_MR4 (PRI_HMC_CFG_SB_DDR4_MR4), + .PRI_HMC_CFG_SB_DDR4_MR5 (PRI_HMC_CFG_SB_DDR4_MR5), + .PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR (PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .PRI_HMC_CFG_SRF_AUTOEXIT_EN (PRI_HMC_CFG_SRF_AUTOEXIT_EN), + .PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .PRI_HMC_CFG_SRF_TO_VALID (PRI_HMC_CFG_SRF_TO_VALID), + .PRI_HMC_CFG_SRF_TO_ZQ_CAL (PRI_HMC_CFG_SRF_TO_ZQ_CAL), + .PRI_HMC_CFG_SRF_ZQCAL_DISABLE (PRI_HMC_CFG_SRF_ZQCAL_DISABLE), + .PRI_HMC_TEMP_4_ACT_TO_ACT (PRI_HMC_TEMP_4_ACT_TO_ACT), + .PRI_HMC_TEMP_RD_TO_RD_DIFF_BG (PRI_HMC_TEMP_RD_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD (PRI_HMC_TEMP_WR_TO_RD), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_BG (PRI_HMC_TEMP_WR_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP (PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_TEMP_WR_TO_WR_DIFF_BG (PRI_HMC_TEMP_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_AP_TO_VALID (PRI_HMC_CFG_WR_AP_TO_VALID), + .PRI_HMC_CFG_WR_TO_PCH (PRI_HMC_CFG_WR_TO_PCH), + .PRI_HMC_CFG_WR_TO_RD (PRI_HMC_CFG_WR_TO_RD), + .PRI_HMC_CFG_WR_TO_RD_DIFF_BG (PRI_HMC_CFG_WR_TO_RD_DIFF_BG), + .PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP (PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_WR_TO_WR (PRI_HMC_CFG_WR_TO_WR), + .PRI_HMC_CFG_WR_TO_WR_DIFF_BG (PRI_HMC_CFG_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP (PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_ZQCL_TO_VALID (PRI_HMC_CFG_ZQCL_TO_VALID), + .PRI_HMC_CFG_ZQCS_TO_VALID (PRI_HMC_CFG_ZQCS_TO_VALID), + .PRI_HMC_CHIP_ID (PRI_HMC_CHIP_ID), + .PRI_HMC_CID_ADDR_WIDTH (PRI_HMC_CID_ADDR_WIDTH), + .PRI_HMC_3DS_EN (PRI_HMC_3DS_EN), + .PRI_HMC_3DS_LR_NUM0 (PRI_HMC_3DS_LR_NUM0), + .PRI_HMC_3DS_LR_NUM1 (PRI_HMC_3DS_LR_NUM1), + .PRI_HMC_3DS_LR_NUM2 (PRI_HMC_3DS_LR_NUM2), + .PRI_HMC_3DS_LR_NUM3 (PRI_HMC_3DS_LR_NUM3), + .PRI_HMC_3DS_PR_STAG_ENABLE (PRI_HMC_3DS_PR_STAG_ENABLE), + .PRI_HMC_3DS_REF2REF_DLR (PRI_HMC_3DS_REF2REF_DLR), + .PRI_HMC_3DSREF_ACK_ON_DONE (PRI_HMC_3DSREF_ACK_ON_DONE), + .SEC_HMC_CFG_PING_PONG_MODE (SEC_HMC_CFG_PING_PONG_MODE), + .SEC_HMC_CFG_CS_ADDR_WIDTH (SEC_HMC_CFG_CS_ADDR_WIDTH), + .SEC_HMC_CFG_COL_ADDR_WIDTH (SEC_HMC_CFG_COL_ADDR_WIDTH), + .SEC_HMC_CFG_ROW_ADDR_WIDTH (SEC_HMC_CFG_ROW_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_ADDR_WIDTH (SEC_HMC_CFG_BANK_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH (SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .SEC_HMC_CFG_ADDR_ORDER (SEC_HMC_CFG_ADDR_ORDER), + .SEC_HMC_CFG_ARBITER_TYPE (SEC_HMC_CFG_ARBITER_TYPE), + .SEC_HMC_CFG_OPEN_PAGE_EN (SEC_HMC_CFG_OPEN_PAGE_EN), + .SEC_HMC_CFG_CTRL_ENABLE_RC (SEC_HMC_CFG_CTRL_ENABLE_RC), + .SEC_HMC_CFG_DBC0_ENABLE_RC (SEC_HMC_CFG_DBC0_ENABLE_RC), + .SEC_HMC_CFG_DBC1_ENABLE_RC (SEC_HMC_CFG_DBC1_ENABLE_RC), + .SEC_HMC_CFG_DBC2_ENABLE_RC (SEC_HMC_CFG_DBC2_ENABLE_RC), + .SEC_HMC_CFG_DBC3_ENABLE_RC (SEC_HMC_CFG_DBC3_ENABLE_RC), + .SEC_HMC_CFG_CTRL_ENABLE_ECC (SEC_HMC_CFG_CTRL_ENABLE_ECC), + .SEC_HMC_CFG_DBC0_ENABLE_ECC (SEC_HMC_CFG_DBC0_ENABLE_ECC), + .SEC_HMC_CFG_DBC1_ENABLE_ECC (SEC_HMC_CFG_DBC1_ENABLE_ECC), + .SEC_HMC_CFG_DBC2_ENABLE_ECC (SEC_HMC_CFG_DBC2_ENABLE_ECC), + .SEC_HMC_CFG_DBC3_ENABLE_ECC (SEC_HMC_CFG_DBC3_ENABLE_ECC), + .SEC_HMC_CFG_REORDER_DATA (SEC_HMC_CFG_REORDER_DATA), + .SEC_HMC_CFG_REORDER_READ (SEC_HMC_CFG_REORDER_READ), + .SEC_HMC_CFG_CTRL_REORDER_RDATA (SEC_HMC_CFG_CTRL_REORDER_RDATA), + .SEC_HMC_CFG_DBC0_REORDER_RDATA (SEC_HMC_CFG_DBC0_REORDER_RDATA), + .SEC_HMC_CFG_DBC1_REORDER_RDATA (SEC_HMC_CFG_DBC1_REORDER_RDATA), + .SEC_HMC_CFG_DBC2_REORDER_RDATA (SEC_HMC_CFG_DBC2_REORDER_RDATA), + .SEC_HMC_CFG_DBC3_REORDER_RDATA (SEC_HMC_CFG_DBC3_REORDER_RDATA), + .SEC_HMC_CFG_CTRL_SLOT_OFFSET (SEC_HMC_CFG_CTRL_SLOT_OFFSET), + .SEC_HMC_CFG_DBC0_SLOT_OFFSET (SEC_HMC_CFG_DBC0_SLOT_OFFSET), + .SEC_HMC_CFG_DBC1_SLOT_OFFSET (SEC_HMC_CFG_DBC1_SLOT_OFFSET), + .SEC_HMC_CFG_DBC2_SLOT_OFFSET (SEC_HMC_CFG_DBC2_SLOT_OFFSET), + .SEC_HMC_CFG_DBC3_SLOT_OFFSET (SEC_HMC_CFG_DBC3_SLOT_OFFSET), + .SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN (SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .SEC_HMC_CFG_COL_CMD_SLOT (SEC_HMC_CFG_COL_CMD_SLOT), + .SEC_HMC_CFG_ROW_CMD_SLOT (SEC_HMC_CFG_ROW_CMD_SLOT), + .SEC_HMC_CFG_ROW_TO_COL_OFFSET (SEC_HMC_CFG_ROW_TO_COL_OFFSET), + .SEC_HMC_CFG_ROW_TO_ROW_OFFSET (SEC_HMC_CFG_ROW_TO_ROW_OFFSET), + .SEC_HMC_CFG_COL_TO_COL_OFFSET (SEC_HMC_CFG_COL_TO_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET (SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_ROW_OFFSET (SEC_HMC_CFG_COL_TO_ROW_OFFSET), + .SEC_HMC_CFG_SIDEBAND_OFFSET (SEC_HMC_CFG_SIDEBAND_OFFSET), + .SEC_HMC_CFG_CS_TO_CHIP_MAPPING (SEC_HMC_CFG_CS_TO_CHIP_MAPPING), + .SEC_HMC_CFG_CTL_ODT_ENABLED (SEC_HMC_CFG_CTL_ODT_ENABLED), + .SEC_HMC_CFG_RD_ODT_ON (SEC_HMC_CFG_RD_ODT_ON), + .SEC_HMC_CFG_RD_ODT_PERIOD (SEC_HMC_CFG_RD_ODT_PERIOD), + .SEC_HMC_CFG_READ_ODT_CHIP (SEC_HMC_CFG_READ_ODT_CHIP), + .SEC_HMC_CFG_WR_ODT_ON (SEC_HMC_CFG_WR_ODT_ON), + .SEC_HMC_CFG_WR_ODT_PERIOD (SEC_HMC_CFG_WR_ODT_PERIOD), + .SEC_HMC_CFG_WRITE_ODT_CHIP (SEC_HMC_CFG_WRITE_ODT_CHIP), + .SEC_HMC_CFG_CMD_FIFO_RESERVE_EN (SEC_HMC_CFG_CMD_FIFO_RESERVE_EN), + .SEC_HMC_CFG_RB_RESERVED_ENTRY (SEC_HMC_CFG_RB_RESERVED_ENTRY), + .SEC_HMC_CFG_WB_RESERVED_ENTRY (SEC_HMC_CFG_WB_RESERVED_ENTRY), + .SEC_HMC_CFG_STARVE_LIMIT (SEC_HMC_CFG_STARVE_LIMIT), + .SEC_HMC_CFG_PHY_DELAY_MISMATCH (SEC_HMC_CFG_PHY_DELAY_MISMATCH), + .SEC_HMC_CFG_DQSTRK_EN (SEC_HMC_CFG_DQSTRK_EN), + .SEC_HMC_CFG_DQSTRK_TO_VALID (SEC_HMC_CFG_DQSTRK_TO_VALID), + .SEC_HMC_CFG_DQSTRK_TO_VALID_LAST (SEC_HMC_CFG_DQSTRK_TO_VALID_LAST), + .SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN (SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL (SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN (SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD (SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .SEC_HMC_CFG_USER_RFSH_EN (SEC_HMC_CFG_USER_RFSH_EN), + .SEC_HMC_CFG_GEAR_DOWN_EN (SEC_HMC_CFG_GEAR_DOWN_EN), + .SEC_HMC_CFG_MEM_AUTO_PD_CYCLES (SEC_HMC_CFG_MEM_AUTO_PD_CYCLES), + .SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .SEC_HMC_MEMCLKGATE_SETTING (SEC_HMC_MEMCLKGATE_SETTING), + .SEC_HMC_CFG_TCL (SEC_HMC_CFG_TCL), + .SEC_HMC_CFG_16_ACT_TO_ACT (SEC_HMC_CFG_16_ACT_TO_ACT), + .SEC_HMC_CFG_4_ACT_TO_ACT (SEC_HMC_CFG_4_ACT_TO_ACT), + .SEC_HMC_MEM_IF_AL (SEC_HMC_MEM_IF_AL), + .SEC_HMC_MEM_IF_CS_PER_DIMM (SEC_HMC_MEM_IF_CS_PER_DIMM), + .SEC_HMC_MEM_IF_RD_PREAMBLE (SEC_HMC_MEM_IF_RD_PREAMBLE), + .SEC_HMC_MEM_IF_TCCD (SEC_HMC_MEM_IF_TCCD), + .SEC_HMC_MEM_IF_TCCD_S (SEC_HMC_MEM_IF_TCCD_S), + .SEC_HMC_MEM_IF_TCKESR (SEC_HMC_MEM_IF_TCKESR), + .SEC_HMC_MEM_IF_TCKSRX (SEC_HMC_MEM_IF_TCKSRX), + .SEC_HMC_MEM_IF_TCL (SEC_HMC_MEM_IF_TCL), + .SEC_HMC_MEM_IF_TCWL (SEC_HMC_MEM_IF_TCWL), + .SEC_HMC_MEM_IF_TDQSCKMAX (SEC_HMC_MEM_IF_TDQSCKMAX), + .SEC_HMC_MEM_IF_TFAW (SEC_HMC_MEM_IF_TFAW), + .SEC_HMC_MEM_IF_TMOD (SEC_HMC_MEM_IF_TMOD), + .SEC_HMC_MEM_IF_TPL (SEC_HMC_MEM_IF_TPL), + .SEC_HMC_MEM_IF_TRAS (SEC_HMC_MEM_IF_TRAS), + .SEC_HMC_MEM_IF_TRC (SEC_HMC_MEM_IF_TRC), + .SEC_HMC_MEM_IF_TRCD (SEC_HMC_MEM_IF_TRCD), + .SEC_HMC_MEM_IF_TREFI (SEC_HMC_MEM_IF_TREFI), + .SEC_HMC_MEM_IF_TRFC (SEC_HMC_MEM_IF_TRFC), + .SEC_HMC_MEM_IF_TRP (SEC_HMC_MEM_IF_TRP), + .SEC_HMC_MEM_IF_TRRD (SEC_HMC_MEM_IF_TRRD), + .SEC_HMC_MEM_IF_TRRD_S (SEC_HMC_MEM_IF_TRRD_S), + .SEC_HMC_MEM_IF_TRTP (SEC_HMC_MEM_IF_TRTP), + .SEC_HMC_MEM_IF_TWR (SEC_HMC_MEM_IF_TWR), + .SEC_HMC_MEM_IF_TWR_CRC_DM (SEC_HMC_MEM_IF_TWR_CRC_DM), + .SEC_HMC_MEM_IF_TWTR (SEC_HMC_MEM_IF_TWTR), + .SEC_HMC_MEM_IF_TWTR_L_CRC_DM (SEC_HMC_MEM_IF_TWTR_L_CRC_DM), + .SEC_HMC_MEM_IF_TWTR_S (SEC_HMC_MEM_IF_TWTR_S), + .SEC_HMC_MEM_IF_TWTR_S_CRC_DM (SEC_HMC_MEM_IF_TWTR_S_CRC_DM), + .SEC_HMC_MEM_IF_TXP (SEC_HMC_MEM_IF_TXP), + .SEC_HMC_MEM_IF_TXPDLL (SEC_HMC_MEM_IF_TXPDLL), + .SEC_HMC_MEM_IF_TXSR (SEC_HMC_MEM_IF_TXSR), + .SEC_HMC_MEM_IF_TZQCS (SEC_HMC_MEM_IF_TZQCS), + .SEC_HMC_MEM_IF_TZQOPER (SEC_HMC_MEM_IF_TZQOPER), + .SEC_HMC_MEM_IF_WR_CRC (SEC_HMC_MEM_IF_WR_CRC), + .SEC_HMC_MEM_IF_WR_PREAMBLE (SEC_HMC_MEM_IF_WR_PREAMBLE), + .SEC_HMC_CFG_ACT_TO_ACT (SEC_HMC_CFG_ACT_TO_ACT), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .SEC_HMC_CFG_ACT_TO_PCH (SEC_HMC_CFG_ACT_TO_PCH), + .SEC_HMC_CFG_ACT_TO_RDWR (SEC_HMC_CFG_ACT_TO_RDWR), + .SEC_HMC_CFG_ARF_PERIOD (SEC_HMC_CFG_ARF_PERIOD), + .SEC_HMC_CFG_ARF_TO_VALID (SEC_HMC_CFG_ARF_TO_VALID), + .SEC_HMC_CFG_MMR_CMD_TO_VALID (SEC_HMC_CFG_MMR_CMD_TO_VALID), + .SEC_HMC_CFG_MPR_TO_VALID (SEC_HMC_CFG_MPR_TO_VALID), + .SEC_HMC_CFG_MPS_DQSTRK_DISABLE (SEC_HMC_CFG_MPS_DQSTRK_DISABLE), + .SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS (SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE (SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .SEC_HMC_CFG_MPS_TO_VALID (SEC_HMC_CFG_MPS_TO_VALID), + .SEC_HMC_CFG_MPS_ZQCAL_DISABLE (SEC_HMC_CFG_MPS_ZQCAL_DISABLE), + .SEC_HMC_CFG_MRR_TO_VALID (SEC_HMC_CFG_MRR_TO_VALID), + .SEC_HMC_CFG_MRS_TO_VALID (SEC_HMC_CFG_MRS_TO_VALID), + .SEC_HMC_CFG_PCH_ALL_TO_VALID (SEC_HMC_CFG_PCH_ALL_TO_VALID), + .SEC_HMC_CFG_PCH_TO_VALID (SEC_HMC_CFG_PCH_TO_VALID), + .SEC_HMC_CFG_PDN_PERIOD (SEC_HMC_CFG_PDN_PERIOD), + .SEC_HMC_CFG_PDN_TO_VALID (SEC_HMC_CFG_PDN_TO_VALID), + .SEC_HMC_CFG_POWER_SAVING_EXIT_CYC (SEC_HMC_CFG_POWER_SAVING_EXIT_CYC), + .SEC_HMC_CFG_RD_AP_TO_VALID (SEC_HMC_CFG_RD_AP_TO_VALID), + .SEC_HMC_CFG_RD_TO_PCH (SEC_HMC_CFG_RD_TO_PCH), + .SEC_HMC_CFG_RD_TO_RD (SEC_HMC_CFG_RD_TO_RD), + .SEC_HMC_CFG_RD_TO_RD_DIFF_BG (SEC_HMC_CFG_RD_TO_RD_DIFF_BG), + .SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP (SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_RD_TO_WR (SEC_HMC_CFG_RD_TO_WR), + .SEC_HMC_CFG_RD_TO_WR_DIFF_BG (SEC_HMC_CFG_RD_TO_WR_DIFF_BG), + .SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP (SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_RFSH_WARN_THRESHOLD (SEC_HMC_CFG_RFSH_WARN_THRESHOLD), + .SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ0 (SEC_HMC_CFG_RLD3_REFRESH_SEQ0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ1 (SEC_HMC_CFG_RLD3_REFRESH_SEQ1), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ2 (SEC_HMC_CFG_RLD3_REFRESH_SEQ2), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ3 (SEC_HMC_CFG_RLD3_REFRESH_SEQ3), + .SEC_HMC_CFG_SB_CG_DISABLE (SEC_HMC_CFG_SB_CG_DISABLE), + .SEC_HMC_CFG_SB_DDR4_MR3 (SEC_HMC_CFG_SB_DDR4_MR3), + .SEC_HMC_CFG_SB_DDR4_MR4 (SEC_HMC_CFG_SB_DDR4_MR4), + .SEC_HMC_CFG_SB_DDR4_MR5 (SEC_HMC_CFG_SB_DDR4_MR5), + .SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR (SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .SEC_HMC_CFG_SRF_AUTOEXIT_EN (SEC_HMC_CFG_SRF_AUTOEXIT_EN), + .SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .SEC_HMC_CFG_SRF_TO_VALID (SEC_HMC_CFG_SRF_TO_VALID), + .SEC_HMC_CFG_SRF_TO_ZQ_CAL (SEC_HMC_CFG_SRF_TO_ZQ_CAL), + .SEC_HMC_CFG_SRF_ZQCAL_DISABLE (SEC_HMC_CFG_SRF_ZQCAL_DISABLE), + .SEC_HMC_TEMP_4_ACT_TO_ACT (SEC_HMC_TEMP_4_ACT_TO_ACT), + .SEC_HMC_TEMP_RD_TO_RD_DIFF_BG (SEC_HMC_TEMP_RD_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD (SEC_HMC_TEMP_WR_TO_RD), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_BG (SEC_HMC_TEMP_WR_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP (SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_TEMP_WR_TO_WR_DIFF_BG (SEC_HMC_TEMP_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_AP_TO_VALID (SEC_HMC_CFG_WR_AP_TO_VALID), + .SEC_HMC_CFG_WR_TO_PCH (SEC_HMC_CFG_WR_TO_PCH), + .SEC_HMC_CFG_WR_TO_RD (SEC_HMC_CFG_WR_TO_RD), + .SEC_HMC_CFG_WR_TO_RD_DIFF_BG (SEC_HMC_CFG_WR_TO_RD_DIFF_BG), + .SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP (SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_WR_TO_WR (SEC_HMC_CFG_WR_TO_WR), + .SEC_HMC_CFG_WR_TO_WR_DIFF_BG (SEC_HMC_CFG_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP (SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_ZQCL_TO_VALID (SEC_HMC_CFG_ZQCL_TO_VALID), + .SEC_HMC_CFG_ZQCS_TO_VALID (SEC_HMC_CFG_ZQCS_TO_VALID), + .SEC_HMC_CHIP_ID (SEC_HMC_CHIP_ID), + .SEC_HMC_CID_ADDR_WIDTH (SEC_HMC_CID_ADDR_WIDTH), + .SEC_HMC_3DS_EN (SEC_HMC_3DS_EN), + .SEC_HMC_3DS_LR_NUM0 (SEC_HMC_3DS_LR_NUM0), + .SEC_HMC_3DS_LR_NUM1 (SEC_HMC_3DS_LR_NUM1), + .SEC_HMC_3DS_LR_NUM2 (SEC_HMC_3DS_LR_NUM2), + .SEC_HMC_3DS_LR_NUM3 (SEC_HMC_3DS_LR_NUM3), + .SEC_HMC_3DS_PR_STAG_ENABLE (SEC_HMC_3DS_PR_STAG_ENABLE), + .SEC_HMC_3DS_REF2REF_DLR (SEC_HMC_3DS_REF2REF_DLR), + .SEC_HMC_3DSREF_ACK_ON_DONE (SEC_HMC_3DSREF_ACK_ON_DONE), + + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .PINS_IN_RTL_TILES (PINS_IN_RTL_TILES), + .LANES_IN_RTL_TILES (LANES_IN_RTL_TILES), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .AC_PIN_MAP_SCHEME (AC_PIN_MAP_SCHEME), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .LANES_USAGE (LANES_USAGE), + .PINS_USAGE (PINS_USAGE), + .PINS_RATE (PINS_RATE), + .DB_PINS_PROC_MODE (DB_PINS_PROC_MODE), + .PINS_DATA_IN_MODE (PINS_DATA_IN_MODE), + .PINS_OCT_MODE (PINS_OCT_MODE), + .PINS_DCC_SPLIT (PINS_DCC_SPLIT), + .CENTER_TIDS (CENTER_TIDS), + .HMC_TIDS (HMC_TIDS), + .LANE_TIDS (LANE_TIDS), + .DBC_PIPE_LATS (DBC_PIPE_LATS), + .DB_PTR_PIPELINE_DEPTHS (DB_PTR_PIPELINE_DEPTHS), + .DB_SEQ_RD_EN_FULL_PIPELINES (DB_SEQ_RD_EN_FULL_PIPELINES), + .PREAMBLE_MODE (PREAMBLE_MODE), + .DBI_WR_ENABLE (DBI_WR_ENABLE), + .DBI_RD_ENABLE (DBI_RD_ENABLE), + .SWAP_DQS_A_B (SWAP_DQS_A_B), + .DQS_PACK_MODE (DQS_PACK_MODE), + .OCT_SIZE (OCT_SIZE), + .DQSA_LGC_MODE (DQSA_LGC_MODE), + .DQSB_LGC_MODE (DQSB_LGC_MODE), + .DBC_WB_RESERVED_ENTRY (DBC_WB_RESERVED_ENTRY), + .DLL_MODE (DLL_MODE), + .DLL_CODEWORD (DLL_CODEWORD), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH), + + .PORT_CALBUS_ADDRESS_WIDTH (PORT_CALBUS_ADDRESS_WIDTH), + .PORT_CALBUS_RDATA_WIDTH (PORT_CALBUS_RDATA_WIDTH), + .PORT_CALBUS_WDATA_WIDTH (PORT_CALBUS_WDATA_WIDTH), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (PORT_CALBUS_SEQ_PARAM_TBL_WIDTH), + + .PORT_MEM_A_PINLOC (PORT_MEM_A_PINLOC), + .PORT_MEM_BA_PINLOC (PORT_MEM_BA_PINLOC), + .PORT_MEM_BG_PINLOC (PORT_MEM_BG_PINLOC), + .PORT_MEM_CS_N_PINLOC (PORT_MEM_CS_N_PINLOC), + .PORT_MEM_ACT_N_PINLOC (PORT_MEM_ACT_N_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_RAS_N_PINLOC (PORT_MEM_RAS_N_PINLOC), + .PORT_MEM_CAS_N_PINLOC (PORT_MEM_CAS_N_PINLOC), + .PORT_MEM_WE_N_PINLOC (PORT_MEM_WE_N_PINLOC), + .PORT_MEM_REF_N_PINLOC (PORT_MEM_REF_N_PINLOC), + .PORT_MEM_WPS_N_PINLOC (PORT_MEM_WPS_N_PINLOC), + .PORT_MEM_RPS_N_PINLOC (PORT_MEM_RPS_N_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PORT_MEM_DQA_PINLOC (PORT_MEM_DQA_PINLOC), + .PORT_MEM_DQB_PINLOC (PORT_MEM_DQB_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_RWA_N_PINLOC (PORT_MEM_RWA_N_PINLOC), + .PORT_MEM_RWB_N_PINLOC (PORT_MEM_RWB_N_PINLOC), + .PORT_MEM_QKA_PINLOC (PORT_MEM_QKA_PINLOC), + .PORT_MEM_QKB_PINLOC (PORT_MEM_QKB_PINLOC), + .PORT_MEM_LDA_N_PINLOC (PORT_MEM_LDA_N_PINLOC), + .PORT_MEM_LDB_N_PINLOC (PORT_MEM_LDB_N_PINLOC), + .PORT_MEM_CK_PINLOC (PORT_MEM_CK_PINLOC), + .PORT_MEM_DINVA_PINLOC (PORT_MEM_DINVA_PINLOC), + .PORT_MEM_DINVB_PINLOC (PORT_MEM_DINVB_PINLOC), + .PORT_MEM_AINV_PINLOC (PORT_MEM_AINV_PINLOC), + .PORT_MEM_DQS_PINLOC (PORT_MEM_DQS_PINLOC), + .PORT_MEM_QK_PINLOC (PORT_MEM_QK_PINLOC), + .PORT_MEM_CQ_PINLOC (PORT_MEM_CQ_PINLOC), + .PORT_MEM_DM_WIDTH (PORT_MEM_DM_WIDTH), + .PORT_MEM_A_WIDTH (PORT_MEM_A_WIDTH), + .PORT_MEM_BA_WIDTH (PORT_MEM_BA_WIDTH), + .PORT_MEM_BG_WIDTH (PORT_MEM_BG_WIDTH), + .PORT_MEM_CS_N_WIDTH (PORT_MEM_CS_N_WIDTH), + .PORT_MEM_ACT_N_WIDTH (PORT_MEM_ACT_N_WIDTH), + .PORT_MEM_DBI_N_WIDTH (PORT_MEM_DBI_N_WIDTH), + .PORT_MEM_RAS_N_WIDTH (PORT_MEM_RAS_N_WIDTH), + .PORT_MEM_CAS_N_WIDTH (PORT_MEM_CAS_N_WIDTH), + .PORT_MEM_WE_N_WIDTH (PORT_MEM_WE_N_WIDTH), + .PORT_MEM_REF_N_WIDTH (PORT_MEM_REF_N_WIDTH), + .PORT_MEM_WPS_N_WIDTH (PORT_MEM_WPS_N_WIDTH), + .PORT_MEM_RPS_N_WIDTH (PORT_MEM_RPS_N_WIDTH), + .PORT_MEM_BWS_N_WIDTH (PORT_MEM_BWS_N_WIDTH), + .PORT_MEM_DQA_WIDTH (PORT_MEM_DQA_WIDTH), + .PORT_MEM_DQB_WIDTH (PORT_MEM_DQB_WIDTH), + .PORT_MEM_Q_WIDTH (PORT_MEM_Q_WIDTH), + .PORT_MEM_D_WIDTH (PORT_MEM_D_WIDTH), + .PORT_MEM_RWA_N_WIDTH (PORT_MEM_RWA_N_WIDTH), + .PORT_MEM_RWB_N_WIDTH (PORT_MEM_RWB_N_WIDTH), + .PORT_MEM_QKA_WIDTH (PORT_MEM_QKA_WIDTH), + .PORT_MEM_QKB_WIDTH (PORT_MEM_QKB_WIDTH), + .PORT_MEM_LDA_N_WIDTH (PORT_MEM_LDA_N_WIDTH), + .PORT_MEM_LDB_N_WIDTH (PORT_MEM_LDB_N_WIDTH), + .PORT_MEM_CK_WIDTH (PORT_MEM_CK_WIDTH), + .PORT_MEM_DINVA_WIDTH (PORT_MEM_DINVA_WIDTH), + .PORT_MEM_DINVB_WIDTH (PORT_MEM_DINVB_WIDTH), + .PORT_MEM_AINV_WIDTH (PORT_MEM_AINV_WIDTH), + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY), + .DIAG_ABSTRACT_PHY_WLAT (DIAG_ABSTRACT_PHY_WLAT), + .DIAG_ABSTRACT_PHY_RLAT (DIAG_ABSTRACT_PHY_RLAT), + .ABPHY_WRITE_PROTOCOL (ABPHY_WRITE_PROTOCOL) + ) io_tiles_abphy_inst ( + .* + ); + end + else begin : nonabphy_setoutputs + assign phy_fb_clk_to_pll_abphy = 'd0; + assign core_clks_from_cpa_pri_abphy = 'd0; + assign core_clks_locked_cpa_pri_abphy = 'd0; + assign core_clks_from_cpa_sec_abphy = 'd0; + assign core_clks_locked_cpa_sec_abphy = 'd0; + assign ctl2core_avl_cmd_ready_0_abphy = 'd0; + assign ctl2core_avl_cmd_ready_1_abphy = 'd0; + assign ctl2core_avl_rdata_id_0_abphy = 'd0; + assign ctl2core_avl_rdata_id_1_abphy = 'd0; + assign l2core_rd_data_vld_avl_abphy = 'd0; + assign l2core_wr_data_rdy_ast_abphy = 'd0; + assign l2core_wb_pointer_for_ecc_abphy = 'd0; + assign l2core_data_abphy = 'd0; + assign l2core_rdata_valid_abphy = 'd0; + assign l2core_afi_rlat_abphy = 'd0; + assign l2core_afi_wlat_abphy = 'd0; + assign t2c_afi_abphy = 'd0; + assign ctl2core_sideband_0_abphy = 'd0; + assign ctl2core_sideband_1_abphy = 'd0; + assign ctl2core_mmr_0_abphy = 'd0; + assign ctl2core_mmr_1_abphy = 'd0; + assign l2b_data_abphy = 'd0; + assign l2b_oe_abphy = 'd0; + assign l2b_dtc_abphy = 'd0; + assign pa_dprio_block_select_abphy = 'd0; + assign pa_dprio_readdata_abphy = 'd0; + assign runAbstractPhySim = 'd0; + end + endgenerate + +/* + altera_emif_arch_fm_abphy_mux #( + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .PINS_IN_RTL_TILES (PINS_IN_RTL_TILES), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH), + .LANES_IN_RTL_TILES (LANES_IN_RTL_TILES) + ) altera_emif_arch_fm_abphy_mux_inst ( + .* + ); +*/ + integer i, j; + + assign phy_fb_clk_to_pll = phy_fb_clk_to_pll_nonabphy; + assign core_clks_from_cpa_pri = core_clks_from_cpa_pri_nonabphy; + assign core_clks_locked_cpa_pri = core_clks_locked_cpa_pri_nonabphy; + assign core_clks_from_cpa_sec = core_clks_from_cpa_sec_nonabphy; + assign core_clks_locked_cpa_sec = core_clks_locked_cpa_sec_nonabphy; + assign ctl2core_avl_cmd_ready_0 = ctl2core_avl_cmd_ready_0_nonabphy; + assign ctl2core_avl_cmd_ready_1 = ctl2core_avl_cmd_ready_1_nonabphy; + assign ctl2core_avl_rdata_id_0 = ctl2core_avl_rdata_id_0_nonabphy; + assign ctl2core_avl_rdata_id_1 = ctl2core_avl_rdata_id_1_nonabphy; + assign l2core_rd_type = l2core_rd_type_nonabphy; + assign l2core_rd_data_vld_avl = l2core_rd_data_vld_avl_nonabphy; + assign l2core_wr_data_rdy_ast = l2core_wr_data_rdy_ast_nonabphy; + assign l2core_wb_pointer_for_ecc = l2core_wb_pointer_for_ecc_nonabphy; + assign l2core_data = l2core_data_nonabphy; + assign l2core_rdata_valid_pri = l2core_rdata_valid_nonabphy_pri; + assign l2core_rdata_valid_sec = l2core_rdata_valid_nonabphy_sec; + assign l2core_afi_rlat = l2core_afi_rlat_nonabphy; + assign l2core_afi_wlat = l2core_afi_wlat_nonabphy; + assign t2c_afi = t2c_afi_nonabphy; + assign ctl2core_sideband_0 = ctl2core_sideband_0_nonabphy; + assign ctl2core_sideband_1 = ctl2core_sideband_1_nonabphy; + assign ctl2core_mmr_0 = ctl2core_mmr_0_nonabphy; + assign ctl2core_mmr_1 = ctl2core_mmr_1_nonabphy; + assign l2b_data = l2b_data_nonabphy; + assign l2b_oe = l2b_oe_nonabphy; + assign l2b_dtc = l2b_dtc_nonabphy; + assign pa_dprio_block_select = pa_dprio_block_select_nonabphy; + assign pa_dprio_readdata = pa_dprio_readdata_nonabphy; + + assign core2seq_reset_req_iotile_in = core2seq_reset_req; + assign pll_locked_iotile_in = pll_locked; + assign pll_dll_clk_iotile_in = pll_dll_clk; + assign phy_clk_phs_iotile_in = phy_clk_phs; + assign phy_clk_iotile_in = phy_clk; + assign phy_fb_clk_to_tile_iotile_in = phy_fb_clk_to_tile; + assign core_clks_fb_to_cpa_pri_iotile_in = core_clks_fb_to_cpa_pri; + assign core_clks_fb_to_cpa_sec_iotile_in = core_clks_fb_to_cpa_sec; + assign core2ctl_avl_0_iotile_in = core2ctl_avl_0; + assign core2ctl_avl_1_iotile_in = core2ctl_avl_1; + assign core2ctl_avl_rd_data_ready_0_iotile_in = core2ctl_avl_rd_data_ready_0; + assign core2ctl_avl_rd_data_ready_1_iotile_in = core2ctl_avl_rd_data_ready_1; + assign core2l_wr_data_vld_ast_iotile_in = core2l_wr_data_vld_ast; + assign core2l_rd_data_rdy_ast_iotile_in = core2l_rd_data_rdy_ast; + + assign core2l_wr_ecc_info_iotile_in = core2l_wr_ecc_info; + + assign core2l_data_iotile_in = core2l_data; + assign core2l_oe_iotile_in = core2l_oe; + assign core2l_rdata_en_full_iotile_in = core2l_rdata_en_full; + assign core2l_mrnk_read_iotile_in = core2l_mrnk_read; + assign core2l_mrnk_write_iotile_in = core2l_mrnk_write; + assign c2t_afi_iotile_in = c2t_afi; + assign core2ctl_sideband_0_iotile_in = core2ctl_sideband_0; + assign core2ctl_sideband_1_iotile_in = core2ctl_sideband_1; + assign core2ctl_mmr_0_iotile_in = core2ctl_mmr_0; + assign core2ctl_mmr_1_iotile_in = core2ctl_mmr_1; + assign b2l_data_iotile_in = b2l_data; + assign b2t_dqs_iotile_in = b2t_dqs; + assign b2t_dqsb_iotile_in = b2t_dqsb; + assign cal_bus_clk_iotile_in = cal_bus_clk; + assign cal_bus_avl_read_iotile_in = cal_bus_avl_read; + assign cal_bus_avl_write_iotile_in = cal_bus_avl_write; + assign cal_bus_avl_address_iotile_in = cal_bus_avl_address; + assign cal_bus_avl_write_data_iotile_in = cal_bus_avl_write_data; + assign pa_dprio_clk_iotile_in = pa_dprio_clk; + assign pa_dprio_read_iotile_in = pa_dprio_read; + assign pa_dprio_reg_addr_iotile_in = pa_dprio_reg_addr; + assign pa_dprio_rst_n_iotile_in = pa_dprio_rst_n; + assign pa_dprio_write_iotile_in = pa_dprio_write; + assign pa_dprio_writedata_iotile_in = pa_dprio_writedata; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2/39q+AmDu8QJxXn7LyuCABXcorJ3Lyxu8VEEQLtH3S33YEzTsMstzJheypEkpInhXf0oEr5v4zdu23PCpjuwkKBG08tc5gKJR8RP2Pa+PDZeBPzWTHmPJjg45HpXlBwqsuFZu3CeWI7qaNyIAxriTgXWZ4x1+u59EYY7yOU40y7H5XC3dylKauTaR+LOTaJTNIBo0H0THmrcV10fKJdjujFviDoo+arc7eA/Z6jy6e6TSVSFSF28Kj82oPKJ+l7XdnXc31ojN3vjdjVtFflEr1J2kP6M3eAg3x3V4E/9w5X7A6+Lj1njPqCcYbBr9twy4ksR/pmpfYOi+SHlqKWtYhR2fYUhj6dNWOVeHJjbX2Lw/2PueiAgdBCLUwNNF973Zx3g5D7SsUmoxclHciXaoSAu7xZgqWQvrHYJ1DbutxRJBz9UO5/wvFII+n1ZvfI4s6l6jDripref1i1eoCcKRyyiXl4CMroWaNvh1mwe5vgPTB4UsFNfQYs72auRyuHm1X6zEQ2VEdUtVsr11+CdI98Eq1yLoxm3Csc6YuQndm+VrLvgJmFPuNQQtO/PIdQExPjZNbaZkdCthNOnzEWu1+2Xeerj6yz5zUz5q98gf4wlKO0/980xjxY/+Q+KJbPk7NDGs9KDB29tw8IpnJJW/WVENXpMphVBDykpqSP83CfDRO8T0sqIU2pRQakJA+WGu+4vu4RojNWe8/oG7fnhJHuYf6oxsRFar33ielWjVwaYfeqQAxsjoevbhg0kLatmSJZNdCb19t5anRcztLLhb" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_local_reset.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_local_reset.sv new file mode 100644 index 0000000000..9d20d6f358 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_local_reset.sv @@ -0,0 +1,167 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// Reset request sequencing state machine. +// +/////////////////////////////////////////////////////////////////////////////// +module altera_emif_arch_fm_local_reset # ( + parameter PHY_CONFIG_ENUM = "", + parameter IS_HPS = 0 +) ( + input logic afi_clk, + input logic afi_reset_n, + input logic emif_usr_clk, + input logic emif_usr_reset_n, + + input logic local_reset_req_int, + output logic core2seq_reset_req, + + output logic local_reset_done, + input logic seq2core_reset_done +); + timeunit 1ns; + timeprecision 1ps; + + typedef enum { + WAIT_RESET_DONE, + WAIT_USER_RESET_REQ_1ST_DEASSERT, + WAIT_USER_RESET_REQ_ASSERT, + WAIT_USER_RESET_REQ_2ND_DEASSERT, + ASSERT_CORE2SEQ_RESET_REQ + } state_t; + + generate + if (IS_HPS) begin: hps + assign core2seq_reset_req = 1'b0; + assign local_reset_done = 1'b0; + end else begin : non_hps + logic clk; + logic reset_n; + + if (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") begin : hmc + assign clk = emif_usr_clk; + assign reset_n = emif_usr_reset_n; + end else begin : non_hmc + assign clk = afi_clk; + assign reset_n = afi_reset_n; + end + + //////////////////////////////////////////////////////////////////// + // State machine + //////////////////////////////////////////////////////////////////// + state_t state /* synthesis ignore_power_up */; + logic core2seq_reset_req_r /* synthesis ignore_power_up dont_merge syn_noprune syn_preserve = 1 */; + logic local_reset_done_r /* synthesis ignore_power_up dont_merge syn_noprune syn_preserve = 1 */; + + always_ff @(posedge clk, negedge reset_n) + begin + if (!reset_n) begin + state <= WAIT_RESET_DONE; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b0; + end else begin + case (state) + WAIT_RESET_DONE: + begin + // Wait until sequencer signals it's ready to accept a reset request. + if (seq2core_reset_done) begin + if (local_reset_req_int == 1'b1) begin + state <= WAIT_USER_RESET_REQ_1ST_DEASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end else begin + state <= WAIT_USER_RESET_REQ_ASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end + end + else + begin + state <= WAIT_RESET_DONE; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b0; + end + end + + WAIT_USER_RESET_REQ_1ST_DEASSERT: + begin + if (~local_reset_req_int) begin + state <= WAIT_USER_RESET_REQ_ASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end else begin + state <= WAIT_USER_RESET_REQ_1ST_DEASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end + end + + WAIT_USER_RESET_REQ_ASSERT: + begin + if (local_reset_req_int) begin + state <= WAIT_USER_RESET_REQ_2ND_DEASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end else begin + state <= WAIT_USER_RESET_REQ_ASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end + + end + + WAIT_USER_RESET_REQ_2ND_DEASSERT: + begin + if (~local_reset_req_int) begin + state <= ASSERT_CORE2SEQ_RESET_REQ; + core2seq_reset_req_r <= 1'b1; + local_reset_done_r <= 1'b0; + end else begin + state <= WAIT_USER_RESET_REQ_2ND_DEASSERT; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b1; + end + end + + ASSERT_CORE2SEQ_RESET_REQ: + begin + state <= ASSERT_CORE2SEQ_RESET_REQ; + core2seq_reset_req_r <= 1'b1; + local_reset_done_r <= 1'b0; + end + default: + begin + state <= WAIT_RESET_DONE; + core2seq_reset_req_r <= 1'b0; + local_reset_done_r <= 1'b0; + end + endcase + end + end + + //////////////////////////////////////////////////////////////////// + // Output generation + //////////////////////////////////////////////////////////////////// + assign core2seq_reset_req = core2seq_reset_req_r; + + // Instead of passing seq2core_reset_done directly to user, we have the ability + // to acknowledge the reset request earlier, as soon as a local_reset_req pulse + // is detected. + assign local_reset_done = local_reset_done_r; + end + endgenerate +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm17Lw9A+Y1qL6DKmZb6gNVp9ibcm6scere9epDXTC/2vzfNVlWzB7JrJDsxI4z+NLDxVyeb/fRVHzbHATHTA+3LN523uM+Wv4CQEwz9JO1ReHQQBFMj9RERCsr65s4/Zk0DERrPpuIEeJVFGBx/Iqvp6YtXZNnQo8DTvrdTmC2geBEMESzW5fZ//rcOboyFXIWtfNWiy+OQwrLypjC4gUWVwvEpq/iP422FqxX09YuKbuoWpi6POlvLNJdhu5F6KT8u0vIL9+zxUCK/GUxoVl7QzvG5dYjDskh5DZ8yuSbEfnZZTvFPD3MauEbN7jnpgA8kXniSqCOpQjg83tp8Dmx0/AHba1qxSE6/ZmL8Oe0liDqw0b/zpJacWiNzXM0+ZLW+jL5iVbPRqXd7eq1E+e6s0TfSDeBFgHIwfusfMMTcsQt913WtGFxfK/e8Z2f86iM2RRSLJ3dJ6dBmrO/jj9v1B8skKwgnqZ0cncrNsd4FkHlu5/qNEXg8WjCeW3d7yHWUAreteELxypgp6N8D5qIHgdVrOU9bjt0zRGvfkMalGGC+Ic1bhQ/VekVN90ky6fSI74OJopRZBoYk7XFyjm/aB6v6Gd/iWTd0F8jjBHHPv0WgEGFCMTU2T3SUgu8Zx1AfEfxDiWqsjg3z3Bjag0vY45foDi55s22f2GjjgkrrxXmGALi4fbxAeF7vxUh+Ur8C9TjWBlU4CNO/yKX49Huugt6l728z9s18vUX8McJdSZnFPS2/fHF4CO/oKHMc8EV6RmeO7sEP36yoSAkymiIo" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_oct.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_oct.sv new file mode 100644 index 0000000000..cfaec4ffb7 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_oct.sv @@ -0,0 +1,36 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +module altera_emif_arch_fm_oct #( + parameter PHY_CALIBRATED_OCT = 0 +) ( + input logic oct_rzqin, + output logic oct_termin +); + localparam OCT_USER_OCT = "A_OCT_USER_OCT_OFF"; + + generate if (PHY_CALIBRATED_OCT == 1) begin + tennm_termination term_inst ( + .req_recal (1'b0), + .ack_recal (/*open*/), + .rzqin (oct_rzqin), + .serdataout(oct_termin) + ); + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm2RWhySuBXlG9AbE3HbTHwOJAj6ZCPGmwbYNUTcab+qWf8xi+J0WWjcXplRVhwNUN9uVKKovhRPcZFCZT0p4VJ+i7pZKiELwJm6gNtgjQYnKp27fN+/E3cPfzN++cxiL69ksN/50jhgNKTiyEWUDrgPUhyWHpocRzWJadcswBIgkDTLdfcoV5gprIoxRa7wjqc8juq1fzbDR+m63skC30xpYUENbeo1YO5W6FEh+vkiVOxEWEbS3LNxoGRAVYxzZyhnNH3tO+hgyIUBoERkTYUWIiMO2ZAibAveq0BO+aABmKflXAy4sWPAEya6W7BgtTc9zc5iHEndNqMzjdkB2U4ocnC4SHcaDorMptul7FS2h50DEnltLdli0p0Jz81ELdFLVt6J4faxiRwwIZe9o9c6ocykEqGeDESxpygDZ+UBwbwwa+lPRjesXc3SKg1Ev6udMGQfRQoRn35Hb+URaxUr0OWnWV/3wvpSJ2BRdTnBQ1PAkWbZKx82NSUg+mM+zwXNGXP0PZFEAykXbaDqKMK1xFjv5lLT0CCSWf8OwV6pSvIMBPMFGA+jIuYsYwBTNT+NR/+wbnZzVFecIcYYHoGqvwoAUemL0XvbhHH/zFo5+lSOBlbtG9AWnxPnS9mC1SM8QmAmVgBJoSEkuep9xwdgybpDJKNjYQHopTV8Zqh28fP7o5rTS7iBpE9SCaSeozSEtvq6laSHsWSIdyl05C5M4LcLPMAluCiVziuVK4ODvzm8ddEHqX4zl+TKPjzxptuCApz1L1cIWMFxnxEJEb0i" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_phylite_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_phylite_if.sv new file mode 100644 index 0000000000..a763d06199 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_phylite_if.sv @@ -0,0 +1,221 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing the data interfaces through which +// soft logic interacts with the Avalon MM port of the HMC +// +/////////////////////////////////////////////////////////////////////////////// + +`define _get_pin_count(_loc) ( _loc[ 9 : 0 ] ) +`define _get_pin_index(_loc, _port_i) ( _loc[ (_port_i + 1) * 10 +: 10 ] ) + +`define _get_tile(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) / (PINS_PER_LANE * LANES_PER_TILE) ) +`define _get_lane(_loc, _port_i) ( (`_get_pin_index(_loc, _port_i) / PINS_PER_LANE) % LANES_PER_TILE ) +`define _get_pin(_loc, _port_i) ( `_get_pin_index(_loc, _port_i) % PINS_PER_LANE ) + +`define _core2l_data(_port_i, _phase_i) core2l_data\ + [`_get_tile(WD_PINLOC, _port_i)]\ + [`_get_lane(WD_PINLOC, _port_i)]\ + [(`_get_pin(WD_PINLOC, _port_i) * 8) + _phase_i] + +`define _core2l_oe(_port_i, _phase_i) core2l_oe\ + [`_get_tile(WD_PINLOC, _port_i)]\ + [`_get_lane(WD_PINLOC, _port_i)]\ + [(`_get_pin(WD_PINLOC, _port_i) * 4) + _phase_i] + +`define _l2core_data(_port_i, _phase_i) l2core_data\ + [`_get_tile(RD_PINLOC, _port_i)]\ + [`_get_lane(RD_PINLOC, _port_i)]\ + [(`_get_pin(RD_PINLOC, _port_i) * 8) + _phase_i] + +`define _l2core_rdata_valid(_port_i) l2core_rdata_valid\ + [`_get_tile(WD_PINLOC, _port_i)]\ + [`_get_lane(WD_PINLOC, _port_i)] + +`define _unused_core2l_data(_pin_i) core2l_data\ + [_pin_i / (PINS_PER_LANE * LANES_PER_TILE)]\ + [(_pin_i / PINS_PER_LANE) % LANES_PER_TILE]\ + [((_pin_i % PINS_PER_LANE) * 8) +: 8] + +`define _unused_oe(_pin_i) core2l_oe\ + [_pin_i / (PINS_PER_LANE * LANES_PER_TILE)]\ + [(_pin_i / PINS_PER_LANE) % LANES_PER_TILE]\ + [((_pin_i % PINS_PER_LANE) * 4) +: 4] + +module altera_emif_arch_fm_phylite_if #( + parameter PINS_PER_LANE = 1, + parameter LANES_PER_TILE = 1, + parameter NUM_OF_RTL_TILES = 1, + parameter UFI_LATENCY = 2, + + // Pin indexes of data signals + parameter PORT_MEM_D_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQ_PINLOC = 10'b0000000000, + parameter PORT_MEM_Q_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_PINLOC = 10'b0000000000, + parameter PORT_MEM_DQS_N_PINLOC = 10'b0000000000, + + // Pin indexes of write data mask signals + parameter PORT_MEM_DM_PINLOC = 10'b0000000000, + parameter PORT_MEM_DBI_N_PINLOC = 10'b0000000000, + parameter PORT_MEM_BWS_N_PINLOC = 10'b0000000000, + + // Parameter indicating the core-2-lane connection of a pin is actually driven + parameter PINS_C2L_DRIVEN = 1'b0, + + // Definition of port widths for "phylite" interface (auto-generated) + parameter PORT_CTRL_DATA_OUT_WIDTH = 1, + parameter PORT_CTRL_DATA_IN_WIDTH = 1, + parameter PORT_CTRL_DATA_OE_WIDTH = 1, + parameter PORT_CTRL_STROBE_OE_WIDTH = 1, + parameter PORT_CTRL_STROBE_WIDTH = 1, + parameter PORT_CTRL_RDATA_VALID_WIDTH = 1, + parameter PORT_CTRL_RDATA_ENABLE_WIDTH = 1 +) ( + input logic pll_locked, + input logic emif_usr_clk, + input logic emif_usr_clk_sec, + input logic ufi_phy_clk, + + // Signals between core and data lanes + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 4 - 1:0] core2l_oe, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data, + input logic [3:0] l2core_rdata_valid, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full, + input logic [1:0] core_clks_locked_cpa_pri, + + // PHYLite interface + input logic [PORT_CTRL_STROBE_WIDTH-1:0] phylite_strobe, + input logic [PORT_CTRL_DATA_OE_WIDTH-1:0] phylite_data_oe, + input logic [PORT_CTRL_STROBE_OE_WIDTH-1:0] phylite_strobe_oe, + input logic [PORT_CTRL_DATA_OUT_WIDTH-1:0] phylite_data_from_core, + output logic [PORT_CTRL_DATA_IN_WIDTH-1:0] phylite_data_to_core, + output logic [PORT_CTRL_RDATA_VALID_WIDTH-1:0] phylite_rdata_valid, + input logic [PORT_CTRL_RDATA_ENABLE_WIDTH-1:0] phylite_rdata_en, + output logic phylite_interface_locked +); + timeunit 1ns; + timeprecision 1ps; + + localparam RD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_Q_PINLOC); + localparam WD_PINLOC = (`_get_pin_count(PORT_MEM_DQ_PINLOC) != 0 ? PORT_MEM_DQ_PINLOC : PORT_MEM_D_PINLOC); + + localparam NUM_RD_PINS = `_get_pin_count(RD_PINLOC); + localparam NUM_WD_PINS = `_get_pin_count(WD_PINLOC); + localparam NUM_DQS_PINS = `_get_pin_count(PORT_MEM_DQS_PINLOC); + localparam NUM_DQS_N_PINS = `_get_pin_count(PORT_MEM_DQS_N_PINLOC); + + localparam NUM_OF_RD_PHASES = PORT_CTRL_DATA_OUT_WIDTH / NUM_RD_PINS; + localparam NUM_OF_WD_PHASES = PORT_CTRL_DATA_IN_WIDTH / NUM_WD_PINS; + localparam NUM_OF_OE_PHASES = NUM_OF_WD_PHASES / 2; + + + logic [NUM_WD_PINS-1:0][NUM_OF_OE_PHASES-1:0] ufi_core2l_oe; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] ufi_core2l_rdata_en_full; + localparam UFI_MODE = (UFI_LATENCY == 2) ? "pin_ufi_use_delay_fifo_out_reg" : + (UFI_LATENCY == 1) ? "pin_ufi_use_in_direct_out_reg" : "pin_ufi_use_in_direct_out_direct"; + localparam P2C_UFI_MODE = (UFI_LATENCY == 2) ? "pin_ufi_use_fast_fifo_out_reg" : + (UFI_LATENCY == 1) ? "pin_ufi_use_in_direct_out_reg" : "pin_ufi_use_in_direct_out_direct"; + generate + genvar port_i, data_i, oe_i, phase_i, pin_i; + genvar tile_i, lane_i, sig_i; + + + // phylite_interface locked signal + assign phylite_interface_locked= pll_locked ; + + // phylite_data_from_core to lanes' write data bus + for (port_i = 0; port_i < NUM_WD_PINS; ++port_i) begin : wd_port + + for (data_i = 0; data_i < 8; ++data_i) + begin : data_phase + if (data_i < NUM_OF_WD_PHASES) begin + assign `_core2l_data(port_i, data_i) = phylite_data_from_core[data_i * NUM_WD_PINS + port_i]; + end else begin + assign `_core2l_data(port_i, data_i) = 1'b0; + end + end + + for (oe_i = 0; oe_i < 4; ++oe_i) + begin : oe_phase + if (oe_i < NUM_OF_OE_PHASES) begin + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 225"} *) + tennm_ufi # ( + .mode (UFI_MODE), + .datapath("c2p")) ufi_inst ( + .srcclk (emif_usr_clk), + .destclk(ufi_phy_clk), + .d (phylite_data_oe[oe_i]), + .dout (ufi_core2l_oe[port_i][oe_i]) + ); + assign `_core2l_oe(port_i, oe_i) = ufi_core2l_oe[port_i][oe_i]; + end else begin + assign `_core2l_oe(port_i, oe_i) = 1'b0; + end + end + end + + // Map lanes' read data bus to phylite_data_to_core + for (port_i = 0; port_i < NUM_RD_PINS; ++port_i) + begin : rd_port + for (phase_i = 0; phase_i < NUM_OF_RD_PHASES; ++phase_i) + begin : phase + assign phylite_data_to_core[phase_i * NUM_RD_PINS + port_i] = `_l2core_data(port_i, phase_i); + end + end + + // Map lanes' read_valid to phylite_rdata_valid + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 225"} *) + tennm_ufi # ( + .mode (P2C_UFI_MODE), + .datapath("p2c")) rdata_valid_ufi_inst [PORT_CTRL_RDATA_VALID_WIDTH - 1:0] ( + .srcclk (ufi_phy_clk), + .destclk(emif_usr_clk), + .d (l2core_rdata_valid[PORT_CTRL_RDATA_VALID_WIDTH - 1:0]), + .dout (phylite_rdata_valid[PORT_CTRL_RDATA_VALID_WIDTH - 1:0]) + ); + + // Map lanes' rdata_en + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) begin : tile_loop + for (lane_i = 0; lane_i < LANES_PER_TILE; ++lane_i) begin : lane_loop + for (sig_i = 0; sig_i < 4; ++sig_i) begin : sig_loop + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 225"} *) + tennm_ufi # ( + .mode (UFI_MODE), + .datapath("c2p")) ufi_inst ( + .srcclk (emif_usr_clk), + .destclk(ufi_phy_clk), + .d (phylite_rdata_en[sig_i]), + .dout (ufi_core2l_rdata_en_full[tile_i][lane_i][sig_i]) + ); + end + assign core2l_rdata_en_full[tile_i][lane_i] = {{(4 - PORT_CTRL_RDATA_ENABLE_WIDTH){1'b0}}, ufi_core2l_rdata_en_full[tile_i][lane_i]}; + end + end + + // Tie off core2l_data for unused connections + for (pin_i = 0; pin_i < (NUM_OF_RTL_TILES * LANES_PER_TILE * PINS_PER_LANE); ++pin_i) + begin : non_c2l_pin + if (PINS_C2L_DRIVEN[pin_i] == 1'b0) begin + assign `_unused_core2l_data(pin_i) = '0; + end + end + + endgenerate +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm17yDrEN5tN07/Ds5pM+c3mBk5k3/Lfm7OY8/PIK6tH8hCR1xx1LkZA5p5wr8GzWkhPjRqvFihOZsLCY2SSYu6dfDGX+NXNCvLPPzpk+UL/uyf0ZIhnc3u+v8Crd6t6w3bZWD7Lrt6E3meMlk8hPaaVS3NmzUOeKSnl8WhrTC0fFZ5L2rIXo3+VJSGckDSSuP+DHLQPfw9wz9LInvjy2bc4sjPMW3fo5/0Z1AKvV8SFi6hQgrXoxgyoq3EswUDaBqT8M9dcYzMPzpigsnGjayLg1R/L/ICLWoeLBl85aSP2o9LIx4iaZj0yXP4OJNgI05WgCi8jJ4JADLsD9pei8sVjuiRI8TSXomklraO35J0ZsPqq2YrBgWwTv2hfcGB4Y3GkjteBkw3hdBzvr8DPkZCF/aA1Rm/3Hgs4NWD2dmNOzCn+A+31PVMiIV2pQw3ohHwPzNSEmKlsTba02DpNPkJYrg46ysmllSTBLycV6RQjPfMQkQ3e68wieu4S6dmG031mZBy1ksFLu4nZzJ7NOglMtWtXOUHsurL1Nc/qqVnaTrBUQ1PIbpIT/ND7jI2sdIPEZT3Xgq0RC1EX66AMluedfLwa2kVXV3/TnrRRXbVAEhp3z5nts2RzwVCAPNtFctAenf5tN6QnNbfu3+pFz9LvIy6vowx2Q64tbv5qIm0aHzDAh5BZBfhQ3aI2ImqlG8eovH/ByB4xqjmcAgMPIScVBaZUCjr4MEdYoYH9c/MR9Sd1dmjpSo6RrTiki0GF709rkn+6aoKYRYRbenZkvit+" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll.sv new file mode 100644 index 0000000000..dab7ff4436 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll.sv @@ -0,0 +1,474 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// EMIF IOPLL instantiation for 20nm families +// +// The following table describes the usage of IOPLL by EMIF. +// +// PLL Counter Fanouts Usage +// ===================================================================================== +// VCO Outputs vcoph[7:0] -> phy_clk_phs[7:0] FR clocks, 8 phases (45-deg apart) +// vcoph[0] -> DLL FR clock to DLL +// C-counter 0 lvds_clk[0] -> phy_clk[1] Secondary PHY clock tree (C2P/P2C rate) +// C-counter 1 loaden[0] -> phy_clk[0] Primary PHY clock tree (PHY/HMC rate) +// C-counter 2 phy_clk[2] Feedback PHY clock tree (slowest phy clock in system) +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////////// + +module altera_emif_arch_fm_pll #( + parameter PORT_DFT_ND_PLL_CNTSEL_WIDTH = 1, + parameter PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH = 1, + parameter PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH = 1, + parameter PLL_REF_CLK_FREQ_PS_STR = "", + parameter PLL_VCO_FREQ_PS_STR = "", + parameter PLL_M_CNT_HIGH = 0, + parameter PLL_M_CNT_LOW = 0, + parameter PLL_N_CNT_HIGH = 0, + parameter PLL_N_CNT_LOW = 0, + parameter PLL_M_CNT_BYPASS_EN = "", + parameter PLL_N_CNT_BYPASS_EN = "", + parameter PLL_M_CNT_EVEN_DUTY_EN = "", + parameter PLL_N_CNT_EVEN_DUTY_EN = "", + parameter PLL_FBCLK_MUX_1 = "", + parameter PLL_FBCLK_MUX_2 = "", + parameter PLL_M_CNT_IN_SRC = "", + parameter PLL_CP_SETTING = "", + parameter PLL_BW_CTRL = "", + parameter PLL_BW_SEL = "", + parameter PLL_C_CNT_HIGH_0 = 0, + parameter PLL_C_CNT_LOW_0 = 0, + parameter PLL_C_CNT_PRST_0 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_0 = 0, + parameter PLL_C_CNT_BYPASS_EN_0 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_0 = "", + parameter PLL_C_CNT_HIGH_1 = 0, + parameter PLL_C_CNT_LOW_1 = 0, + parameter PLL_C_CNT_PRST_1 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_1 = 0, + parameter PLL_C_CNT_BYPASS_EN_1 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_1 = "", + parameter PLL_C_CNT_HIGH_2 = 0, + parameter PLL_C_CNT_LOW_2 = 0, + parameter PLL_C_CNT_PRST_2 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_2 = 0, + parameter PLL_C_CNT_BYPASS_EN_2 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_2 = "", + parameter PLL_C_CNT_HIGH_3 = 0, + parameter PLL_C_CNT_LOW_3 = 0, + parameter PLL_C_CNT_PRST_3 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_3 = 0, + parameter PLL_C_CNT_BYPASS_EN_3 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_3 = "", + parameter PLL_C_CNT_HIGH_4 = 0, + parameter PLL_C_CNT_LOW_4 = 0, + parameter PLL_C_CNT_PRST_4 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_4 = 0, + parameter PLL_C_CNT_BYPASS_EN_4 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_4 = "", + parameter PLL_C_CNT_HIGH_5 = 0, + parameter PLL_C_CNT_LOW_5 = 0, + parameter PLL_C_CNT_PRST_5 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_5 = 0, + parameter PLL_C_CNT_BYPASS_EN_5 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_5 = "", + parameter PLL_C_CNT_HIGH_6 = 0, + parameter PLL_C_CNT_LOW_6 = 0, + parameter PLL_C_CNT_PRST_6 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_6 = 0, + parameter PLL_C_CNT_BYPASS_EN_6 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_6 = "", + parameter PLL_C_CNT_HIGH_7 = 0, + parameter PLL_C_CNT_LOW_7 = 0, + parameter PLL_C_CNT_PRST_7 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_7 = 0, + parameter PLL_C_CNT_BYPASS_EN_7 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_7 = "", + parameter PLL_C_CNT_HIGH_8 = 0, + parameter PLL_C_CNT_LOW_8 = 0, + parameter PLL_C_CNT_PRST_8 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_8 = 0, + parameter PLL_C_CNT_BYPASS_EN_8 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_8 = "", + parameter PLL_C_CNT_FREQ_PS_STR_0 = "", + parameter PLL_C_CNT_PHASE_PS_STR_0 = "", + parameter PLL_C_CNT_DUTY_CYCLE_0 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_1 = "", + parameter PLL_C_CNT_PHASE_PS_STR_1 = "", + parameter PLL_C_CNT_DUTY_CYCLE_1 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_2 = "", + parameter PLL_C_CNT_PHASE_PS_STR_2 = "", + parameter PLL_C_CNT_DUTY_CYCLE_2 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_3 = "", + parameter PLL_C_CNT_PHASE_PS_STR_3 = "", + parameter PLL_C_CNT_DUTY_CYCLE_3 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_4 = "", + parameter PLL_C_CNT_PHASE_PS_STR_4 = "", + parameter PLL_C_CNT_DUTY_CYCLE_4 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_5 = "", + parameter PLL_C_CNT_PHASE_PS_STR_5 = "", + parameter PLL_C_CNT_DUTY_CYCLE_5 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_6 = "", + parameter PLL_C_CNT_PHASE_PS_STR_6 = "", + parameter PLL_C_CNT_DUTY_CYCLE_6 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_7 = "", + parameter PLL_C_CNT_PHASE_PS_STR_7 = "", + parameter PLL_C_CNT_DUTY_CYCLE_7 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_8 = "", + parameter PLL_C_CNT_PHASE_PS_STR_8 = "", + parameter PLL_C_CNT_DUTY_CYCLE_8 = 0, + parameter PLL_C_CNT_OUT_EN_0 = "", + parameter PLL_C_CNT_OUT_EN_1 = "", + parameter PLL_C_CNT_OUT_EN_2 = "", + parameter PLL_C_CNT_OUT_EN_3 = "", + parameter PLL_C_CNT_OUT_EN_4 = "", + parameter PLL_C_CNT_OUT_EN_5 = "", + parameter PLL_C_CNT_OUT_EN_6 = "", + parameter PLL_C_CNT_OUT_EN_7 = "", + parameter PLL_C_CNT_OUT_EN_8 = "", + + parameter PLL_REF_CLK_FREQ_MHZ_STR = "", + parameter PLL_VCO_FREQ_MHZ_STR = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_0 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_1 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_2 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_3 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_4 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_5 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_6 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_7 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_8 = "", + parameter IS_HPS = 0 + +) ( + input logic pll_ref_clk_int, + output logic pll_locked, + output logic pll_dll_clk, + output logic [7:0] phy_clk_phs, + output logic [1:0] phy_clk, + output logic phy_fb_clk_to_tile, + input logic phy_fb_clk_to_pll, + output logic [8:0] pll_c_counters, + input logic pll_phase_en, + input logic pll_up_dn, + input logic [PORT_DFT_ND_PLL_CNTSEL_WIDTH-1:0] pll_cnt_sel, + input logic [PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH-1:0] pll_num_phase_shifts, + output logic pll_phase_done, + input logic [PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH-1:0] pll_core_refclk +); + timeunit 1ns; + timeprecision 1ps; + + logic [7:0] pll_vcoph; + logic [1:0] pll_loaden; + logic [1:0] pll_lvds_clk; + + assign phy_clk_phs = pll_vcoph; + + assign phy_clk[0] = pll_loaden[0]; // C-cnt 1 drives phy_clk 0 through a delay chain (swapping is intentional) + assign phy_clk[1] = pll_lvds_clk[0]; // C-cnt 0 drives phy_clk 1 through a delay chain (swapping is intentional) + +`ifdef ALTERA_EMIF_ENABLE_ISSP + generate + if (IS_HPS == 0) begin : non_hps + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("PLLL"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) pll_lock_issp ( + .probe (pll_locked) + ); + end + endgenerate +`endif + + tennm_iopll # ( + + //////////////////////////////////// + // VCO and Ref clock + // fVCO = fRefClk * M * CCnt2 / N + //////////////////////////////////// + .prot_mode ("emif_mode"), + .refclk_time (PLL_REF_CLK_FREQ_PS_STR), + .vco (PLL_VCO_FREQ_PS_STR), + + // : N_CNT_BYPASS_EN is always on which means pfd_freq == ref_clk_freq / 1 + .pfd (PLL_REF_CLK_FREQ_PS_STR), + + //////////////////////////////////// + // M Counter + //////////////////////////////////// + .m_counter_bypass_en (PLL_M_CNT_BYPASS_EN), + .m_counter_even_duty_en (PLL_M_CNT_EVEN_DUTY_EN), + .m_counter_high (PLL_M_CNT_HIGH), + .m_counter_low (PLL_M_CNT_LOW), + .m_counter_coarse_dly ("0 ps"), + .m_counter_fine_dly ("0 ps"), + + //////////////////////////////////// + // N Counter (bypassed) + //////////////////////////////////// + .n_counter_bypass_en (PLL_N_CNT_BYPASS_EN), + .n_counter_odd_div_duty_en (PLL_N_CNT_EVEN_DUTY_EN), + .n_counter_high (PLL_N_CNT_HIGH), + .n_counter_low (PLL_N_CNT_LOW), + .n_counter_coarse_dly ("0 ps"), + .n_counter_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 0 (phy_clk[1]) + //////////////////////////////////// + .c0_out_en (PLL_C_CNT_OUT_EN_0), // C-counter driving phy_clk[1] + .outclk0 (PLL_C_CNT_FREQ_PS_STR_0), + .phase_shift_0 (PLL_C_CNT_PHASE_PS_STR_0), + .duty_cycle_0 (PLL_C_CNT_DUTY_CYCLE_0), + .c0_bypass_en (PLL_C_CNT_BYPASS_EN_0), + .c0_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_0), + .c0_high (PLL_C_CNT_HIGH_0), + .c0_low (PLL_C_CNT_LOW_0), + .c0_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_0), + .c0_prst (PLL_C_CNT_PRST_0), + .c0_coarse_dly ("0 ps"), + .c0_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 1 (phy_clk[0]) + //////////////////////////////////// + .c1_out_en (PLL_C_CNT_OUT_EN_1), // C-counter driving phy_clk[0] + .outclk1 (PLL_C_CNT_FREQ_PS_STR_1), + .phase_shift_1 (PLL_C_CNT_PHASE_PS_STR_1), + .duty_cycle_1 (PLL_C_CNT_DUTY_CYCLE_1), + .c1_bypass_en (PLL_C_CNT_BYPASS_EN_1), + .c1_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_1), + .c1_high (PLL_C_CNT_HIGH_1), + .c1_low (PLL_C_CNT_LOW_1), + .c1_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_1), + .c1_prst (PLL_C_CNT_PRST_1), + .c1_coarse_dly ("0 ps"), + .c1_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 2 (phy_clk[2]) + //////////////////////////////////// + .c2_out_en (PLL_C_CNT_OUT_EN_2), // C-counter driving phy_clk[2] + .outclk2 (PLL_C_CNT_FREQ_PS_STR_2), + .phase_shift_2 (PLL_C_CNT_PHASE_PS_STR_2), + .duty_cycle_2 (PLL_C_CNT_DUTY_CYCLE_2), + .c2_bypass_en (PLL_C_CNT_BYPASS_EN_2), + .c2_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_2), + .c2_high (PLL_C_CNT_HIGH_2), + .c2_low (PLL_C_CNT_LOW_2), + .c2_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_2), + .c2_prst (PLL_C_CNT_PRST_2), + .c2_coarse_dly ("0 ps"), + .c2_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 3 (unused) + //////////////////////////////////// + .c3_out_en (PLL_C_CNT_OUT_EN_3), // Not used by EMIF + .outclk3 (PLL_C_CNT_FREQ_PS_STR_3), + .phase_shift_3 (PLL_C_CNT_PHASE_PS_STR_3), + .duty_cycle_3 (PLL_C_CNT_DUTY_CYCLE_3), + .c3_bypass_en (PLL_C_CNT_BYPASS_EN_3), + .c3_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_3), + .c3_high (PLL_C_CNT_HIGH_3), + .c3_low (PLL_C_CNT_LOW_3), + .c3_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_3), + .c3_prst (PLL_C_CNT_PRST_3), + .c3_coarse_dly ("0 ps"), + .c3_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 4 (unused) + //////////////////////////////////// + .c4_out_en (PLL_C_CNT_OUT_EN_4), // Not used by EMIF + .outclk4 (PLL_C_CNT_FREQ_PS_STR_4), + .phase_shift_4 (PLL_C_CNT_PHASE_PS_STR_4), + .duty_cycle_4 (PLL_C_CNT_DUTY_CYCLE_4), + .c4_bypass_en (PLL_C_CNT_BYPASS_EN_4), + .c4_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_4), + .c4_high (PLL_C_CNT_HIGH_4), + .c4_low (PLL_C_CNT_LOW_4), + .c4_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_4), + .c4_prst (PLL_C_CNT_PRST_4), + .c4_coarse_dly ("0 ps"), + .c4_fine_dly ("0 ps"), + + //////////////////////////////////// + // C Counter 5 (unused) + //////////////////////////////////// + .c5_out_en (PLL_C_CNT_OUT_EN_5), // Not used by EMIF + .outclk5 (PLL_C_CNT_FREQ_PS_STR_5), + .phase_shift_5 (PLL_C_CNT_PHASE_PS_STR_5), // Don't care (unused c-counter) + .duty_cycle_5 (PLL_C_CNT_DUTY_CYCLE_5), // Don't care (unused c-counter) + .c5_bypass_en (PLL_C_CNT_BYPASS_EN_5), // Don't care (unused c-counter) + .c5_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_5), // Don't care (unused c-counter) + .c5_high (PLL_C_CNT_HIGH_5), // Don't care (unused c-counter) + .c5_low (PLL_C_CNT_LOW_5), // Don't care (unused c-counter) + .c5_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_5), // Don't care (unused c-counter) + .c5_prst (PLL_C_CNT_PRST_5), // Don't care (unused c-counter) + .c5_coarse_dly ("0 ps"), // Don't care (unused c-counter) + .c5_fine_dly ("0 ps"), // Don't care (unused c-counter) + + //////////////////////////////////// + // C Counter 6 (unused) + //////////////////////////////////// + .c6_out_en (PLL_C_CNT_OUT_EN_6), // Not used by EMIF + .outclk6 (PLL_C_CNT_FREQ_PS_STR_6), + .phase_shift_6 (PLL_C_CNT_PHASE_PS_STR_6), // Don't care (unused c-counter) + .duty_cycle_6 (PLL_C_CNT_DUTY_CYCLE_6), // Don't care (unused c-counter) + .c6_bypass_en (PLL_C_CNT_BYPASS_EN_6), // Don't care (unused c-counter) + .c6_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_6), // Don't care (unused c-counter) + .c6_high (PLL_C_CNT_HIGH_6), // Don't care (unused c-counter) + .c6_low (PLL_C_CNT_LOW_6), // Don't care (unused c-counter) + .c6_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_6), // Don't care (unused c-counter) + .c6_prst (PLL_C_CNT_PRST_6), // Don't care (unused c-counter) + .c6_coarse_dly ("0 ps"), // Don't care (unused c-counter) + .c6_fine_dly ("0 ps"), // Don't care (unused c-counter) + + //////////////////////////////////// + // C Counter 7 (unused) + //////////////////////////////////// + .c7_out_en (PLL_C_CNT_OUT_EN_7), // Not used by EMIF + .outclk7 (PLL_C_CNT_FREQ_PS_STR_7), + .phase_shift_7 (PLL_C_CNT_PHASE_PS_STR_7), // Don't care (unused c-counter) + .duty_cycle_7 (PLL_C_CNT_DUTY_CYCLE_7), // Don't care (unused c-counter) + .c7_bypass_en (PLL_C_CNT_BYPASS_EN_7), // Don't care (unused c-counter) + .c7_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_7), // Don't care (unused c-counter) + .c7_high (PLL_C_CNT_HIGH_7), // Don't care (unused c-counter) + .c7_low (PLL_C_CNT_LOW_7), // Don't care (unused c-counter) + .c7_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_7), // Don't care (unused c-counter) + .c7_prst (PLL_C_CNT_PRST_7), // Don't care (unused c-counter) + .c7_coarse_dly ("0 ps"), // Don't care (unused c-counter) + .c7_fine_dly ("0 ps"), // Don't care (unused c-counter) + + //////////////////////////////////// + // C Counter 8 (unused) + //////////////////////////////////// + .c8_out_en (PLL_C_CNT_OUT_EN_8), // Not used by EMIF + .outclk8 (PLL_C_CNT_FREQ_PS_STR_8), + .phase_shift_8 (PLL_C_CNT_PHASE_PS_STR_8), // Don't care (unused c-counter) + .duty_cycle_8 (PLL_C_CNT_DUTY_CYCLE_8), // Don't care (unused c-counter) + .c8_bypass_en (PLL_C_CNT_BYPASS_EN_8), // Don't care (unused c-counter) + .c8_even_duty_en (PLL_C_CNT_EVEN_DUTY_EN_8), // Don't care (unused c-counter) + .c8_high (PLL_C_CNT_HIGH_8), // Don't care (unused c-counter) + .c8_low (PLL_C_CNT_LOW_8), // Don't care (unused c-counter) + .c8_ph_mux_prst (PLL_C_CNT_PH_MUX_PRST_8), // Don't care (unused c-counter) + .c8_prst (PLL_C_CNT_PRST_8), // Don't care (unused c-counter) + .c8_coarse_dly ("0 ps"), // Don't care (unused c-counter) + .c8_fine_dly ("0 ps"), // Don't care (unused c-counter) + + //////////////////////////////////// + // Misc Delay Chains + //////////////////////////////////// + .ref_buf_dly ("0 ps"), + .cmp_buf_dly ("0 ps"), + + .lvdsclk_0_coarse_dly ("0 ps"), // Fine delay chain to skew phyclk[0] + .loaden_0_coarse_dly ("0 ps"), // Fine delay chain to skew phyclk[1] + .lvdsclk_1_coarse_dly ("0 ps"), // Fine delay chain to skew phyclk[2] + .loaden_1_coarse_dly ("0 ps"), // Fine delay chain to skew phyclk[3] + + .lvdsclk_0_fine_dly ("0 ps"), // Fine delay chain to skew phyclk[0] + .loaden_0_fine_dly ("0 ps"), // Fine delay chain to skew phyclk[1] + .lvdsclk_1_fine_dly ("0 ps"), // Fine delay chain to skew phyclk[2] + .loaden_1_fine_dly ("0 ps"), // Fine delay chain to skew phyclk[3] + + //////////////////////////////////// + // Misc PLL Modes and Features + //////////////////////////////////// + .feedback ("direct"), // EMIF doesn't need PLL compensation. Alignment of core clocks and PHY clocks is handled by CPA + + .extclk_0_enable ("false"), // EMIF PLL does not need to drive output clock pin + .extclk_1_enable ("false"), // EMIF PLL does not need to drive output clock pin + + .clkin_0_src ("refclkin"), // + .clkin_1_src ("refclkin"), // + .refclk_src_mux ("clk_0"), // + .auto_clk_sw_en ("false"), // EMIF PLL does not use the automatic clock switch-over feature + .manu_clk_sw_en ("false"), // EMIF PLL does not use the automatic clock switch-over feature + .merging_permitted ("true"), + + .bw_mode ("hi_bw"), // Bandwidth select + .lock_mode ("low_lock_time"), //__ACDS_USER_COMMNET__ lock_fltr_cfg 100 => "low_lock_time" + + //////////////////////////////////// + // To enable PLL calibration + //////////////////////////////////// + .uc_channel_base_addr(16'h0) + + ) pll_inst ( + + .refclk (pll_core_refclk), + .rst_n (1'b1), + .loaden (pll_loaden), + .lvds_clk (pll_lvds_clk), + .vcoph (pll_vcoph), + .fblvds_in (), + .fblvds_out (phy_fb_clk_to_tile), + .dll_output (pll_dll_clk), + .lock (pll_locked), + .outclk (pll_c_counters), + .fbclk_in (1'b0), + .fbclk_out (), + .zdb_in (1'b0), + .phase_done (pll_phase_done), + .pll_cascade_in (pll_ref_clk_int), + .pll_cascade_out (), + .extclk_output (), + .core_refclk (1'b0), + .dps_rst_n (1'b1), + .mdio_dis (1'b0), + .pfden (1'b1), + .phase_en (pll_phase_en), + .pma_csr_test_dis (1'b1), + .up_dn (pll_up_dn), + .extswitch (1'b0), + .clken (2'b00), // Don't care (extclk) + .cnt_sel (pll_cnt_sel), + .num_phase_shifts (pll_num_phase_shifts), + .clk0_bad (), + .clk1_bad (), + .clksel (), + .csr_clk (1'b1), + .csr_en (1'b1), + .csr_in (1'b1), + .csr_out (), + .dprio_clk (1'b0), + .dprio_rst_n (1'b1), + .dprio_address (9'b000000000), + .scan_mode_n (1'b1), + .scan_shift_n (1'b1), + .write (1'b0), + .read (1'b0), + .readdata (), + .writedata (8'b00000000), + .extclk_dft (), + .block_select (), + .lf_reset (), + .pipeline_global_en_n (), + .pll_pd (), + .vcop_en (), + .user_mode (1'b1) + ); + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm03/adeGfDnFvYrNFWP5b8KM0itmRZy+oB2JIV75ZMQZ1Tl7D0v4ikMe4xrpBpHUqXrV6jfjk0S7/nPE5IHNjYoNf5avFRpXLhXEFEv7vQrKo+Mg8KSKPQpX69tC7xEBelATHHx1TnRmQ7hA4jq+ThXSOxg+zToL8I3CnGhM2YYNGzaMUCxRuCSuPYVnP8mQlOdwf6mpNtx5deyV0S3rgLyGKrwhT+BRQ/pSvTyAI8dRjGQtzTTS0reTJp1Rt12sA/dAgr4SQA6V2iVzPqSg7JbGr01eXiFQIxI7nRp1wpeJVPdodOTFPj/3qBh/Un6qYhIlJcEyrd+fWcsEHoMK0zgSk5DHZ3tMEdtISaBSi3KGNe9EiVnV9KXHKQzL9aPv5Xego52m5YfN4AEuhrMNf2Th8GG1d7V8yEjpaclbedNfQlyIX87xgH7xhj9GBflSSzleMgrdzwa6Ogxs1Y8oA4O+lv6r/K1QxoCVTKS2PQ2GTmm0UXLGrDiTRNzv8CtcMahM+awrFJLuVfySUj5KXpwapBlvYJvtBqeZPWfPG7kBxfCd2Uv6l8b9Po6GnlQR9fheSvE4gmTPgCeh0Y7PC7hDzF/2bHQkBKGVvnwHgtdDBUtwQZPr6YzHpiy9IWyDakBxfABq9NhwMvwGVgikZxV5u6hIto8+qdIh/orxu1MA/fIcshm67Bae9cOn6VZE1dloaYHyBrYM9maLMMimc3tdPyWxt8KHSg/IYwaayAznD5bJQNAdVJrhPTyJTOSNUJqNjfd26wXn/XtyTu5xFxv" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_extra_clks.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_extra_clks.sv new file mode 100644 index 0000000000..8bccbbdeac --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_extra_clks.sv @@ -0,0 +1,79 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Expose extra core clocks from IOPLL +// +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +module altera_emif_arch_fm_pll_extra_clks #( + parameter PLL_NUM_OF_EXTRA_CLKS = 0, + parameter DIAG_SIM_REGTEST_MODE = 0 +) ( + input logic pll_locked, + input logic [8:0] pll_c_counters, + output logic pll_extra_clk_0, + output logic pll_extra_clk_1, + output logic pll_extra_clk_2, + output logic pll_extra_clk_3, + output logic pll_extra_clk_diag_ok +); + timeunit 1ns; + timeprecision 1ps; + + logic [3:0] pll_extra_clks; + + // Extra core clocks to user logic. + // These clocks are unrelated to EMIF core clock domains. The feature is intended as a + // way to reuse EMIF PLL to generate core clocks for designs in which physical PLLs are scarce. + assign pll_extra_clks = pll_c_counters[8:5]; + assign pll_extra_clk_0 = pll_extra_clks[0]; + assign pll_extra_clk_1 = pll_extra_clks[1]; + assign pll_extra_clk_2 = pll_extra_clks[2]; + assign pll_extra_clk_3 = pll_extra_clks[3]; + + // In internal test mode, generate additional counters clocked by the extra clocks + generate + genvar i; + + if (DIAG_SIM_REGTEST_MODE && PLL_NUM_OF_EXTRA_CLKS > 0) begin: test_mode + logic [PLL_NUM_OF_EXTRA_CLKS-1:0] pll_extra_clk_diag_done; + + for (i = 0; i < PLL_NUM_OF_EXTRA_CLKS; ++i) + begin : extra_clk + logic [9:0] counter; + + always_ff @(posedge pll_extra_clks[i] or negedge pll_locked) begin + if (~pll_locked) begin + counter <= '0; + pll_extra_clk_diag_done[i] <= 1'b0; + end else begin + if (~counter[9]) begin + counter <= counter + 1'b1; + end + pll_extra_clk_diag_done[i] <= counter[9]; + end + end + end + + assign pll_extra_clk_diag_ok = &pll_extra_clk_diag_done; + + end else begin : normal_mode + assign pll_extra_clk_diag_ok = 1'b1; + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3HRP669h4e40UGyQSmTgYw2cfdljNSKWm+e85+uUmrYb7ks40d95f32V/kNHxQ60Z2sgrLbN82EuwqRNCnBLceiw2KyJp1V6lFQfCeK/+4j5xx0J+YaCdrqWJaoHweHsGm1MzuNdJ29PzLVC1Daiwk0FO/SxEe43FbBCtor/DUhyOHcPWY5GviHXJTLOT/VvziOsd1mVPMCv2shs73BPOB2W7hlv5vI6tpIbpnRMaoAFmDABM9d3oZLnAzha5IqtSsZ+lOKd0z3kX4PbxyoIRj0TuF9/KOAP+ZO1/syjlZqM+haNQcO3RhdIeb7khdaeO0vau2e5t91/FAsb6JZBVnNaml890Rcqia/Maoz2YKSqPxjuyi5JEyc0bgMJEHf4Ao5UROTOu7apgZOTV7S1oqaveZuMv15cB8dv03AJlgE3J+okELao3UnDK7Eo3n5h7xGJ7HxJ2CpHRDKxyzTCugfXaZ7K+yJcv8bM4+HYAz3Ed8Kgc6IB4U0QDoBJKTrDsDkY9SJA1l9URiPs7v8ncr52BH1BMfztBPbLXsFXcwcjrxw4HkvPRkanirjX5XD4t9+FWAK/eE/VGbrxaSl4kx3XJ31VWosJDrAv5d8U2KCqhP4iHC2VA6jvDnT7tX8cKt/P6IJJ2DacCM/erNjsXsI5Vqle9G18OP9EEa/BSQ8DRfET6j6UMCn5XnwQ1S4JvtI6RZsw2lTMWlY1p9IwrEzX6tlPCgnunBFgagOC+5f17EInvqWYTEslTZhGwBtz1fUvNW1DxOsHTJVYIoUgwE" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_fast_sim.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_fast_sim.sv new file mode 100644 index 0000000000..4a776e2ec2 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_fast_sim.sv @@ -0,0 +1,118 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// EMIF IOPLL instantiation for 20nm families +// +// The following table describes the usage of IOPLL by EMIF. +// +// PLL Counter Fanouts Usage +// ===================================================================================== +// VCO Outputs vcoph[7:0] -> phy_clk_phs[7:0] FR clocks, 8 phases (45-deg apart) +// vcoph[0] -> DLL FR clock to DLL +// C-counter 0 lvds_clk[0] -> phy_clk[1] Secondary PHY clock tree (C2P/P2C rate) +// C-counter 1 loaden[0] -> phy_clk[0] Primary PHY clock tree (PHY/HMC rate) +// C-counter 2 phy_clk[2] Feedback PHY clock tree (slowest phy clock in system) +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +module altera_emif_arch_fm_pll_fast_sim #( + parameter PLL_SIM_VCO_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_0_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_1_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_FB_FREQ_PS = 0, + parameter PLL_SIM_PHY_CLK_VCO_PHASE_PS = 0, + parameter PORT_DFT_ND_PLL_CNTSEL_WIDTH = 1, + parameter PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH = 1, + parameter PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH = 1 + +) ( + input logic pll_ref_clk_int, + output logic pll_locked, + output logic pll_dll_clk, + output logic [7:0] phy_clk_phs, + output logic [1:0] phy_clk, + output logic phy_fb_clk_to_tile, + input logic phy_fb_clk_to_pll, + output logic [8:0] pll_c_counters, + input logic pll_phase_en, + input logic pll_up_dn, + input logic [PORT_DFT_ND_PLL_CNTSEL_WIDTH-1:0] pll_cnt_sel, + input logic [PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH-1:0] pll_num_phase_shifts, + output logic pll_phase_done, + input logic [PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH-1:0] pll_core_refclk +); + timeunit 1ps; + timeprecision 1ps; + + localparam VCO_PHASES = 8; + + reg vco_out, phyclk0_out, phyclk1_out, fbclk_out; + reg [4:0] pll_lock_count; + // synthesis translate_off + initial begin + vco_out <= 1'b1; + forever #(PLL_SIM_VCO_FREQ_PS/2) vco_out <= ~vco_out; + end + initial begin + phyclk0_out <= 1'b1; + #(PLL_SIM_VCO_FREQ_PS*PLL_SIM_PHY_CLK_VCO_PHASE_PS/VCO_PHASES); + forever #(PLL_SIM_PHYCLK_0_FREQ_PS/2) phyclk0_out <= ~phyclk0_out; + end + initial begin + phyclk1_out <= 1'b1; + #(PLL_SIM_VCO_FREQ_PS*PLL_SIM_PHY_CLK_VCO_PHASE_PS/VCO_PHASES); + forever #(PLL_SIM_PHYCLK_1_FREQ_PS/2) phyclk1_out <= ~phyclk1_out; + end + initial begin + fbclk_out <= 1'b1; + #(PLL_SIM_VCO_FREQ_PS*PLL_SIM_PHY_CLK_VCO_PHASE_PS/VCO_PHASES); + forever #(PLL_SIM_PHYCLK_FB_FREQ_PS/2) fbclk_out <= ~fbclk_out; + end + + initial begin + pll_lock_count <= 5'b0; + end + // synthesis translate_on + + always @ (posedge vco_out) begin + if (pll_lock_count != 5'b11111) begin + pll_lock_count <= pll_lock_count + 1; + end + end + + assign pll_locked = (pll_lock_count == 5'b11111); + assign pll_dll_clk = pll_locked & vco_out; + assign phy_clk_phs[0] = pll_locked & vco_out; + always @ (*) begin + phy_clk_phs[1] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[0]; + phy_clk_phs[2] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[1]; + phy_clk_phs[3] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[2]; + phy_clk_phs[4] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[3]; + phy_clk_phs[5] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[4]; + phy_clk_phs[6] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[5]; + phy_clk_phs[7] <= #(PLL_SIM_VCO_FREQ_PS/VCO_PHASES) phy_clk_phs[6]; + end + assign phy_clk = {pll_locked & phyclk1_out, pll_locked & phyclk0_out}; + assign phy_fb_clk_to_tile = pll_locked & fbclk_out; + assign pll_c_counters[0] = pll_locked & phyclk1_out; + assign pll_c_counters[1] = pll_locked & phyclk0_out; + assign pll_c_counters[2] = pll_locked & fbclk_out; + assign pll_c_counters[8:3] = 6'd0; + assign pll_phase_done = 1'b1; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3BGXk9lUcm5RF8HkFXhW2IR5/x+h8T5PbKTqwuwhus1/PoXI0qiAFflw54MC3ilxDPX80k62rh2cYxlerC4ZmDfBW+AOOM6AeHpIuZZWUvyPWYWXWrivxWPneu9rYZ2WrnHdZaQJpueIIQKhFVanmu0CdggAbNdVWGkffyupL0hJ2ZXdoiMn7ro+63lDA0Y1cE0pkahmZa2BD94Ih3FeHJSDmTmUnprODmyptruZuWjNzca0WZ99JaABDaU1De7O00OrFojm2rNW9D8FMfoeiVrsoGXOQiq6nF+rCQCPXvCRVjRQL2WR7SwJuFTMfCkxYt/p3gamgN1pQi6e4v1BU5cVfe895AiYHwmu+of3gtCzhVtHwvvsbJcU+iHZID4Oy8skadjkfj5VfopXg+q4WThbsBpevH2svYAJtqw735zAaP3yr8xTqf+B5y4mkbJM+Va2uyMLbKNfYyT6WVIH37gp7W6IZOVRfO0d+EAX3viymgSnc04cUmChs22J67SKR3NB4goS/+wvbMA8AfbDrtFNucsatvj+D4PK0jydwxQSwduLOlv/WWy8tMh55u9zpYYqrP883sUN+sO2NsQTEYNfCqDU0gOFl7HYK8Gc1t9M/4kmKPKXbvurDkVKAAS/oZfXZ+PZ0GqQgsbRm02JxXAq+hWuHwbIOJuSphyNSs65rF3/8E5JROZ53Ezii4rvOlHVWeDdBnkPjJlHnhS1UVrNVW8bQfEhgp1rS9u1YAZ041Tnh+zHgS/Jf/+XKkklzfi+7HnyYffrIKaVhJ4NSt" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_regs.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_regs.sv new file mode 100644 index 0000000000..9340eac3dc --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_regs.sv @@ -0,0 +1,63 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// This module handles the creation of a conditional register stage. +// This module may be used to implement a synchronizer (with properly selected +// REGISTER value) +/////////////////////////////////////////////////////////////////////////////// + +// The following ensures that the register stage isn't synthesized into +// RAM-based shift-regs (especially if customer logic implements another follow-on +// pipeline stage). RAM-based shift-regs can degrade timing for C2P/P2C transfers. +(* altera_attribute = "-name AUTO_SHIFT_REGISTER_RECOGNITION OFF" *) + + module altera_emif_arch_fm_regs #( + parameter REGISTER = 0, + parameter WIDTH = 0 +) ( + input logic clk, + input logic reset_n, + input logic [WIDTH-1:0] data_in, + output logic [WIDTH-1:0] data_out +) /* synthesis dont_merge */; + timeunit 1ns; + timeprecision 1ps; + + generate + genvar stage; + + if (REGISTER == 0) begin : no_reg + assign data_out = data_in; + end else begin : regs + logic [WIDTH-1:0] sr_out [(REGISTER > 0 ? REGISTER-1 : 0):0]; + + assign data_out = sr_out[REGISTER-1]; + + for (stage = 0; stage < REGISTER; stage = stage + 1) + begin : stage_gen + always_ff @(posedge clk or negedge reset_n) begin + if (~reset_n) begin + sr_out[stage] <= '0; + end else begin + sr_out[stage] <= (stage == 0) ? data_in : sr_out[stage-1]; + end + end + end + end + endgenerate +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm3tozkeL1uA0g6U2EUSXAyXVQSjpOKAZHctS0q08TSgBla5+tUOYiiDPSAb9bcqW8CStRlmK7HGvMwv9069DY1wUGZ0y07cixAGitu/K30eRibQpiV8iWJOIl7HtulD0SZbbsYF4CeOunjnp9tXrYEVMUG47w3LW0kccnee89uKQJPJn9ADtaqFPPGB7TwznwzJwUcoFZeLyAO94/WpewMNi2B30PWwBloh/zN9faAvH65NZU6lHEiMc+sGO2ngnIJvaoldVHvgyUDysucNk/o22crj3iWw6cRxRVauERE2To393Ivq2mpvI26hroo/pTqrE2AzpOI/4rVRmGQpoVEjmhraaJ1HuacA1lyOKf82oAhBKgVYwiX7MyfRYWiQn2sCtWSuZtgfSXXXDl5AVctMxRH0sA8UOjT3joWiY8F2YwG7xVC/BEjkNEeofaXqSBKcf0Fod6iNzCrVuYpG8J737B1PHgjVOR6Du6Pwl63RCgYc6QaJHH7R6DSd5IBJwPMpDZi9csIWAXHAxr6DIqDQFn00SEhKPqU3BWOZWjkztjQx5ik+m6hJGI7HUyMI5htPfFVfzwT6ZqEOn9FEU+i7gBSu4PYelN2HhfAPsn43lfngh6JnTjWrOXPqkckUU0uYQ09MRNQEq6b7DJHKuZdjCss0pc8acC4AWHdw46U2MXH38Xz2AVejtf8hRQSL32G4OsTq8uqVp+MDESDawj8M5b5tz+S7vTjdnXO/9TF3BajMmRKqcFi5uFJUy1ijWQUF2aVW9RM+mEbv4mLJXmdv" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_seq_if.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_seq_if.sv new file mode 100644 index 0000000000..70b49e98b3 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_seq_if.sv @@ -0,0 +1,248 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is responsible for exposing control signals from/to the +// sequencer. +// +/////////////////////////////////////////////////////////////////////////////// + +module altera_emif_arch_fm_seq_if #( + parameter PHY_CONFIG_ENUM = "", + parameter USER_CLK_RATIO = 1, + parameter REGISTER_AFI_C2P = 0, + parameter REGISTER_AFI_P2C = 0, + parameter PHY_USERMODE_OCT = 0, + parameter PORT_AFI_RLAT_WIDTH = 1, + parameter PORT_AFI_WLAT_WIDTH = 1, + parameter PORT_AFI_SEQ_BUSY_WIDTH = 1, + parameter PORT_HPS_EMIF_H2E_GP_WIDTH = 1, + parameter PORT_HPS_EMIF_E2H_GP_WIDTH = 1, + parameter PHY_PERIODIC_OCT_RECAL = 1, + parameter IS_HPS = 0 +) ( + input logic core2seq_reset_req, + output logic seq2core_reset_done, + input logic [1:0] core_clks_locked_cpa_pri, + + input logic afi_clk, + input logic afi_reset_n, + input logic emif_usr_clk, + input logic emif_usr_reset_n, + output logic afi_cal_success, + output logic afi_cal_fail, + output logic afi_cal_in_progress, + input logic afi_cal_req, + output logic [PORT_AFI_RLAT_WIDTH-1:0] afi_rlat, + output logic [PORT_AFI_WLAT_WIDTH-1:0] afi_wlat, + output logic afi_mps_ack, + output logic [PORT_AFI_SEQ_BUSY_WIDTH-1:0] afi_seq_busy, + input logic afi_ctl_refresh_done, + input logic afi_ctl_long_idle, + input logic afi_mps_req, + output logic [17:0] c2t_afi, + input logic [26:0] t2c_afi, + input logic [PORT_HPS_EMIF_H2E_GP_WIDTH-1:0] hps_to_emif_gp, + output logic [PORT_HPS_EMIF_E2H_GP_WIDTH-1:0] emif_to_hps_gp, + output logic seq2core_reset_n, + output logic ac_parity_err +); + timeunit 1ns; + timeprecision 1ps; + + logic clk; + logic reset_n; + + generate + if (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") begin : hmc + assign clk = emif_usr_clk; + assign reset_n = emif_usr_reset_n; + end else begin : non_hmc + assign clk = afi_clk; + assign reset_n = afi_reset_n; + end + endgenerate + + assign c2t_afi[4:0] = '0; + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (1) + ) core2seq_reset_req_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (core2seq_reset_req), + .data_out (c2t_afi[6]) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (1) + ) afi_cal_req_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (afi_cal_req), + .data_out (c2t_afi[8]) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (4) + ) afi_ctl_refresh_done_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in ({4{afi_ctl_refresh_done}}), + .data_out (c2t_afi[12:9]) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (4) + ) afi_ctl_long_idle_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in ({4{afi_ctl_long_idle}}), + .data_out (c2t_afi[16:13]) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_C2P), + .WIDTH (1) + ) afi_mps_reg_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (afi_mps_req), + .data_out (c2t_afi[17]) + ); + assign c2t_afi[7] = 1'b0; + assign c2t_afi[5] = 1'b0; + + + + logic [PORT_AFI_RLAT_WIDTH-1:0] pre_adjusted_afi_rlat; + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (6) + ) afi_rlat_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (t2c_afi[5:0]), + .data_out (pre_adjusted_afi_rlat) + ); + + assign afi_rlat = pre_adjusted_afi_rlat + REGISTER_AFI_P2C[PORT_AFI_RLAT_WIDTH-2:0] + REGISTER_AFI_C2P[PORT_AFI_RLAT_WIDTH-2:0]; + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (6) + ) afi_wlat_regs ( + .clk (clk), + .reset_n (1'b1), + .data_in (t2c_afi[11:6]), + .data_out (afi_wlat) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (4) + ) afi_seq_busy_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (t2c_afi[23:20]), + .data_out (afi_seq_busy) + ); + + altera_emif_arch_fm_regs # ( + .REGISTER (REGISTER_AFI_P2C), + .WIDTH (1) + ) afi_mps_ack_regs ( + .clk (clk), + .reset_n (reset_n), + .data_in (t2c_afi[26]), + .data_out (afi_mps_ack) + ); + + localparam SYNC_LENGTH = 3; + + generate + if (IS_HPS == 0) begin : non_hps + altera_std_synchronizer_nocut # ( + .depth (SYNC_LENGTH), + .rst_value (0) + ) afi_cal_success_sync_inst ( + .clk (clk), + .reset_n (reset_n), + .din (t2c_afi[24]), + .dout (afi_cal_success) + ); + + altera_std_synchronizer_nocut # ( + .depth (SYNC_LENGTH), + .rst_value (0) + ) afi_cal_fail_sync_inst ( + .clk (clk), + .reset_n (reset_n), + .din (t2c_afi[25]), + .dout (afi_cal_fail) + ); + + altera_std_synchronizer_nocut # ( + .depth (SYNC_LENGTH), + .rst_value (0) + ) seq2core_reset_done_sync_inst ( + .clk (clk), + .reset_n (reset_n), + .din (t2c_afi[17]), + .dout (seq2core_reset_done) + ); + + altera_std_synchronizer_nocut # ( + .depth (SYNC_LENGTH), + .rst_value (0) + ) afi_cal_in_progress_sync_inst ( + .clk (clk), + .reset_n (reset_n), + .din (t2c_afi[16]), + .dout (afi_cal_in_progress) + ); + + // Connects the parity error flag (t2c_afi[19]) to a register (ac_parity_err) + altera_std_synchronizer_nocut # ( + .depth (SYNC_LENGTH), + .rst_value (0) + ) seq2core_ac_parity_sync_inst ( + .clk (clk), + .reset_n (reset_n), + .din (t2c_afi[19]), + .dout (ac_parity_err) + ); + + assign seq2core_reset_n = t2c_afi[18]; + + end else begin : hps + assign afi_cal_success = 1'b0; + assign afi_cal_fail = 1'b0; + assign seq2core_reset_done= 1'b0; + assign afi_cal_in_progress= 1'b0; + assign ac_parity_err = 1'b0; + + assign seq2core_reset_n = 1'b1; + end + endgenerate + + assign emif_to_hps_gp = '0; +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm1xPg+0kVofVsQ0ajf7CL9sQuuXrLkzrYinBapdQUeX+zasYblbZBzzxN8Prs0KgkQiF40wIEqlZ5bt1k0xFkmNDG3GVlPBQao9X6CIeu9/DGSWi2Sa/sBOAlxDQhqLA6FJZlLE88e43fWMj21jVN0xAqFbw4AKkT/SJCqvotMe5HvaF+Y/5CahLNlZih/nR1VL3Ppx2WuBUUTQjJYB0YklEPqmJ5U3ihFAKsTOwBqMA07fi4/fDhrycEfjUg3quKIGhN0s71iSSrclarapOZJHtK5r42O73ta6MNvCGNc3JrEL05sS3NnIENyt6UDVoeIoGy3S7+BpPqQ6bNmbuKdpdAz98yrC4Z8nOxqOzZ/npf1XyWogDioIcDJxj/Zx6bnXm7ChVvkH0rHvzrY09XPiDSA8ni9mwo4JCmBEF5xjD7nb7CsrHKo43sqPGbXLOkQAQz1ZGpoF89UbROZLvYz3Cvc1+aEXJTY/zeIsPCyGPRF2x95vsqeHTF+efAMrs97ha276vWnjHCsYwm8hi9Wg2tBW/P0QJY0m1rhKhIdC5o/hU6+dC6aA6i9iceCiJusPMAEBtQzAimiWCJ/3NsRZBxTA3oSyBuUL1gllSJ7MyGfZTn9FvsxKuwEODOIrTOB/hmKzLmSZCgwpnixrhtQqIuBo0FVbhFVHc/CjU6kXX1U3sD/410DyEw1JEi41bYcK3qu/67QCsIuHYdvQ2S3qSpifdEHDjc+YEJ+ycD6vpRxVWbwpnwkzLN+P8x/mMnxCmoTwinHCzeWH1cuvTAcn" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufi_wrapper.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufi_wrapper.sv new file mode 100644 index 0000000000..cc41d3c365 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufi_wrapper.sv @@ -0,0 +1,102 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// UFI wrapper for FalconMesa EMIFs +/////////////////////////////////////////////////////////////////////////////// + +module altera_emif_arch_fm_ufi_wrapper #( + parameter MODE = "pin_ufi_use_in_direct_out_direct", + parameter IS_HPS = 1, + parameter IS_C2P = 1, + parameter HIPI_DELAY= 225, + parameter TIEOFF = 0 +) ( + input logic i_src_clk, + input logic i_dst_clk, + + input logic i_din, + output logic o_dout +); + generate + if (TIEOFF) begin + assign o_dout = i_din; + end else begin + if (IS_HPS && !IS_C2P) begin : hps_p2c_ufi + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_PERIPHERY_CORE_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 225; -name PRESERVE_FANOUT_FREE_WYSIWYG ON"} *) + tennm_ufi #( + .mode (MODE), + .datapath("p2c") + ) preserved_ufi_inst ( + .srcclk (i_src_clk), + .destclk(i_dst_clk), + .d (i_din), + .dout (o_dout) + ); + end else begin + if (!IS_C2P) begin : p2c_ufi + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_PERIPHERY_CORE_TRANSFER ON"} *) + tennm_ufi #( + .mode (MODE), + .datapath("p2c") + ) ufi_inst ( + .srcclk (i_src_clk), + .destclk(i_dst_clk), + .d (i_din), + .dout (o_dout) + ); + end else if (HIPI_DELAY == 350) begin : c2p_350_ufi + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 350"} *) + tennm_ufi #( + .mode (MODE), + .datapath("c2p") + ) ufi_inst ( + .srcclk (i_src_clk), + .destclk(i_dst_clk), + .d (i_din), + .dout (o_dout) + ); + end else if (HIPI_DELAY == 100) begin: c2p_100_ufi + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 100"} *) + tennm_ufi #( + .mode (MODE), + .datapath("c2p") + ) ufi_inst ( + .srcclk (i_src_clk), + .destclk(i_dst_clk), + .d (i_din), + .dout (o_dout) + ); + end else begin: c2p_225_ufi + (* altera_attribute = {"-name FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER ON; -name HYPER_REGISTER_DELAY_CHAIN 225"} *) + tennm_ufi #( + .mode (MODE), + .datapath("c2p") + ) ufi_inst ( + .srcclk (i_src_clk), + .destclk(i_dst_clk), + .d (i_din), + .dout (o_dout) + ); + end + + end + end + + endgenerate + + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm0lPb2rA9npgCsuUKWkVR8buKodsngmuaYUcPPhMbOy4jRLTU1fIhnf1XXGli+YcScsOTcDGnFg0QgpO1ZjPEQMROpWryoaCLxudrqQrP37YLNQ/2YNvnECYoVJJIknk8AWCKHsMT9mc9zLslnf3cVH31IdDO5oJNgTOVi6yzBMZP/RAHCYjtub/ZqEARvXmdZZhTCu67yxofqbfZ1bL8w/ohFyaVONGyYkpoHkGtwlOVCrlhjiV7TyUM5Cs5lf6g4zFVpIzNTxqkaAEZ9tjd8bQZfBh1NV5zxx45BOrjqZwnXhSE7Gv/FLJTPGLpF9Sr85EFvD4GCoKkbfKaP/flBh6Ets/BoHBUYCzraApBw4RV4NkvhQEyBMScP3UoCTEKaXYI1d9Bp+8ylaBFUnZ+zERTTuWvyUcBmhg96sZfE/kUEc8aVQGQvk/M9FY5ov/4i0D93djxvqQtRbQBRT710rFkCyHUIyJW5WNmdojB1ksSYSB1LAngcKswWZoiO92YkFrkUWrVl32H9ZNzuTm+7KxuXlWwwABXrKp4/1I0pur1ST4cHbXlO6thmj5CyozOJNHEa574S0wK3qyzNyTunkGkOL6r3dskvATLIy3Ki6QE9J5DZ8Xj/goIV6sXbPP0+DPLOlU+FfnQBuJsERlBrnO9I/EWxBzXLYgNFX9y7+Vr6hTaJWPVfGXhFsUKaaMA/CgSa/9GhKq5N3Aervm0DNR2Ev/UQEIb+0Sw254ikRpkElobm/IYV83iAsDXeDNUwoESDvt+QwOCjlt9gVfK13" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufis.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufis.sv new file mode 100644 index 0000000000..81ad823559 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufis.sv @@ -0,0 +1,784 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// Wrapper module for C2P/P2C UFIs +/////////////////////////////////////////////////////////////////////////////// + +`define _get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) ( DB_PINS_PROC_MODE[(_tile_i * LANES_PER_TILE * PINS_PER_LANE + _lane_i * PINS_PER_LANE + _pin_i) * 5 +: 5] ) +`define _get_pin_usage(_tile_i, _lane_i, _pin_i) ( LANE_PIN_USAGE[((_tile_i * LANES_PER_TILE * PINS_PER_LANE) + (_lane_i * PINS_PER_LANE) + _pin_i) * 4 +: 4] ) +`define _get_lane_usage(_tile_i, _lane_i) ( LANES_USAGE[(_tile_i * LANES_PER_TILE + _lane_i) * 3 +: 3] ) +`define _is_lane_ac_or_empty(_tile_i, _lane_i) ( `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_UNUSED ? 1 : ( \ + `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_HMC ? 1 : ( \ + `_get_lane_usage(_tile_i, _lane_i) == LANE_USAGE_AC_CORE ? 1 : ( \ + 0 )))) +`define _is_clk_pin(_tile_i, _lane_i, _pin_i) ( `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_CLK ? 1 : ( \ + `_get_db_pin_proc_mode_raw(_tile_i, _lane_i, _pin_i) == DB_PIN_PROC_MODE_CLKB ? 1 : ( \ + 0 ))) +module altera_emif_arch_fm_ufis #( + parameter NUM_OF_RTL_TILES = 1, + parameter LANES_PER_TILE = 1, + parameter PINS_PER_LANE = 1, + + parameter PROTOCOL_ENUM = "", + parameter AMM_C2P_UFI_MODE = "", + parameter AMM_P2C_UFI_MODE = "", + parameter MMR_C2P_UFI_MODE = "", + parameter MMR_P2C_UFI_MODE = "", + parameter SIDEBAND_C2P_UFI_MODE = "", + parameter SIDEBAND_P2C_UFI_MODE = "", + parameter SEQ_C2P_UFI_MODE = "", + parameter SEQ_P2C_UFI_MODE = "", + parameter ECC_C2P_UFI_MODE = "", + parameter ECC_P2C_UFI_MODE = "", + parameter LANE_C2P_UFI_MODE = "", + parameter LANE_P2C_UFI_MODE = "", + parameter LANE_PIN_USAGE = 0, + parameter LANES_USAGE = 0, + parameter DB_PINS_PROC_MODE = 0, + + parameter AMM_HIPI_DELAY = 225, + parameter MMR_HIPI_DELAY = 225, + parameter SIDEBAND_HIPI_DELAY = 225, + parameter SEQ_HIPI_DELAY = 225, + parameter ECC_HIPI_DELAY = 225, + parameter LANE_HIPI_DELAY = 225, + + parameter ENABLE_RD_TYPE = 0, + parameter PHY_PING_PONG_EN = 0, + parameter NUM_OF_HMC_PORTS = 1, + parameter PINS_C2L_DRIVEN = 0, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter IS_HPS = 0, + parameter PRI_HMC_DBC_SHADOW_LANE_INDEX = -1, + parameter PRI_AC_TILE_INDEX = -1 +) ( + input logic ufi_phy_clk, + input logic ufi_core_clk, + + // Avalon interfaces between core and HMC + input logic [62:0] i_core2ctl_avl_0, + input logic [62:0] i_core2ctl_avl_1, + input logic i_core2ctl_avl_rd_data_ready_0, + input logic i_core2ctl_avl_rd_data_ready_1, + input logic i_ctl2core_avl_cmd_ready_0, + input logic i_ctl2core_avl_cmd_ready_1, + input logic [12:0] i_ctl2core_avl_rdata_id_0, + input logic [12:0] i_ctl2core_avl_rdata_id_1, + output logic [62:0] actual_core2ctl_avl_0, + output logic actual_core2ctl_avl_rd_data_ready_0, + output logic [62:0] actual_core2ctl_avl_1, + output logic actual_core2ctl_avl_rd_data_ready_1, + output logic actual_ctl2core_avl_cmd_ready_0, + output logic actual_ctl2core_avl_cmd_ready_1, + output logic [12:0] actual_ctl2core_avl_rdata_id_0, + output logic [12:0] actual_ctl2core_avl_rdata_id_1, + + // MMR signals between core and HMC + input logic [33:0] i_ctl2core_mmr_0, + input logic [50:0] i_core2ctl_mmr_0, + input logic [33:0] i_ctl2core_mmr_1, + input logic [50:0] i_core2ctl_mmr_1, + output logic [33:0] actual_ctl2core_mmr_0, + output logic [50:0] actual_core2ctl_mmr_0, + output logic [33:0] actual_ctl2core_mmr_1, + output logic [50:0] actual_core2ctl_mmr_1, + + // Side-band signals between core and HMC + input logic [41:0] i_core2ctl_sideband_0, + input logic [13:0] i_ctl2core_sideband_0, + input logic [41:0] i_core2ctl_sideband_1, + input logic [13:0] i_ctl2core_sideband_1, + output logic [41:0] actual_core2ctl_sideband_0, + output logic [13:0] actual_ctl2core_sideband_0, + output logic [41:0] actual_core2ctl_sideband_1, + output logic [13:0] actual_ctl2core_sideband_1, + + // sequencer signals between tile and core + input logic [17:0] i_c2t_afi, + input logic [26:0] i_t2c_afi, + output logic [17:0] actual_c2t_afi, + output logic [26:0] actual_t2c_afi, + + // Signals between core and data lanes + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] i_core2l_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] i_l2core_data, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] i_core2l_oe, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] i_core2l_rdata_en_full, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] i_core2l_mrnk_read, + input logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] i_core2l_mrnk_write, + input logic i_l2core_rd_type, + input logic [3:0] i_l2core_rdata_valid_pri, + input logic [3:0] i_l2core_rdata_valid_sec, + + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] actual_l2core_data, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] actual_core2l_data, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] actual_core2l_oe, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] actual_core2l_rdata_en_full, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] actual_core2l_mrnk_read, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] actual_core2l_mrnk_write, + output logic actual_l2core_rd_type, + output logic [3:0] actual_l2core_rdata_valid_pri, + output logic [3:0] actual_l2core_rdata_valid_sec, + + // ECC signals between core and lanes + input logic i_core2l_wr_data_vld_ast, + input logic i_core2l_rd_data_rdy_ast, + input logic [12:0] i_core2l_wr_ecc_info, + input logic i_l2core_wr_data_rdy_ast, + input logic i_l2core_rd_data_vld_avl, + input logic [11:0] i_l2core_wb_pointer_for_ecc, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] actual_core2l_wr_data_vld_ast, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] actual_core2l_rd_data_rdy_ast, + output logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][12:0] actual_core2l_wr_ecc_info, + output logic [11:0] actual_l2core_wb_pointer_for_ecc, + output logic actual_l2core_wr_data_rdy_ast, + output logic actual_l2core_rd_data_vld_avl + +); + + localparam UFI_IN_OUT_DIRECT_L0 = "pin_ufi_use_in_direct_out_direct"; + localparam UFI_C2P_FIFO_OREG_L2 = "pin_ufi_use_delay_fifo_out_reg"; + localparam UFI_P2C_FIFO_OREG_L2 = "pin_ufi_use_fast_fifo_out_reg"; + + typedef enum bit [2:0] { + LANE_USAGE_UNUSED = 3'b000, + LANE_USAGE_AC_HMC = 3'b001, + LANE_USAGE_AC_CORE = 3'b010, + LANE_USAGE_RDATA = 3'b011, + LANE_USAGE_WDATA = 3'b100, + LANE_USAGE_WRDATA = 3'b101 + } LANE_USAGE; + + // Enum that defines the pin usage within a lane + typedef enum bit [3:0] { + LANE_PIN_USAGE_MODE_UNUSED = 4'b0000, + LANE_PIN_USAGE_MODE_DQ = 4'b0001, + LANE_PIN_USAGE_MODE_DQS = 4'b0010, + LANE_PIN_USAGE_MODE_DQSB = 4'b0011, + LANE_PIN_USAGE_MODE_CA_SDR = 4'b0100, + LANE_PIN_USAGE_MODE_CA_DDR = 4'b0101, + LANE_PIN_USAGE_MODE_DM = 4'b1000, + LANE_PIN_USAGE_MODE_DBI = 4'b1001 + } LANE_PIN_USAGE_MODE; + + typedef enum bit [4:0] { + DB_PIN_PROC_MODE_AC_CORE = 5'b00000, + DB_PIN_PROC_MODE_AC_IN_CORE = 5'b10100, + DB_PIN_PROC_MODE_WDB_AC = 5'b00001, + DB_PIN_PROC_MODE_WDB_DQ = 5'b00010, + DB_PIN_PROC_MODE_WDB_DBI = 5'b00011, + DB_PIN_PROC_MODE_WDB_DM = 5'b00100, + DB_PIN_PROC_MODE_WDB_CLK = 5'b00101, + DB_PIN_PROC_MODE_WDB_CLKB = 5'b00110, + DB_PIN_PROC_MODE_WDB_DQS = 5'b00111, + DB_PIN_PROC_MODE_WDB_DQSB = 5'b01000, + DB_PIN_PROC_MODE_DQS = 5'b01001, + DB_PIN_PROC_MODE_DQSB = 5'b01010, + DB_PIN_PROC_MODE_DQ = 5'b01011, + DB_PIN_PROC_MODE_DM = 5'b01100, + DB_PIN_PROC_MODE_DBI = 5'b01101, + DB_PIN_PROC_MODE_CLK = 5'b01110, + DB_PIN_PROC_MODE_CLKB = 5'b01111, + DB_PIN_PROC_MODE_DQS_DDR4 = 5'b10000, + DB_PIN_PROC_MODE_DQSB_DDR4 = 5'b10001, + DB_PIN_PROC_MODE_RDQ = 5'b10010, + DB_PIN_PROC_MODE_RDQS = 5'b10011, + DB_PIN_PROC_MODE_GPIO = 5'b11111 + } DB_PIN_PROC_MODE; + + + generate + genvar tile_i, lane_i, pin_i, phase_i, sig_i; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] ufi_core2l_data /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] ufi_core2l_oe /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] ufi_core2l_rdata_en_full /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] ufi_core2l_mrnk_read /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] ufi_core2l_mrnk_write /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] ufi_l2core_data /*synthesis dont_merge*/; + + logic [3:0] ufi_l2core_rdata_valid_pri /*synthesis dont_merge*/; + logic [3:0] ufi_l2core_rdata_valid_sec /*synthesis dont_merge*/; + logic ufi_l2core_rd_data_vld_avl /*synthesis dont_merge*/; + logic ufi_l2core_rd_type /*synthesis dont_merge*/; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] ufi_core2l_rd_data_rdy_ast /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] ufi_core2l_wr_data_vld_ast /* synthesis dont_merge*/; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] [12:0] ufi_core2l_wr_ecc_info /* synthesis dont_merge*/; + logic ufi_l2core_wr_data_rdy_ast /*synthesis dont_merge*/; + logic [11:0] ufi_l2core_wb_pointer_for_ecc /* synthesis dont_merge*/; + + logic [62:0] ufi_core2ctl_avl_0 /*synthesis dont_merge*/; + logic ufi_core2ctl_avl_rd_data_ready_0 /*synthesis dont_merge*/; + logic ufi_ctl2core_avl_cmd_ready_0 /*synthesis dont_merge*/; + logic [12:0] ufi_ctl2core_avl_rdata_id_0 /*synthesis dont_merge*/; + + logic [62:0] ufi_core2ctl_avl_1 /*synthesis dont_merge*/; + logic ufi_core2ctl_avl_rd_data_ready_1 /* synthesis dont_merge*/; + logic ufi_ctl2core_avl_cmd_ready_1 /*synthesis dont_merge*/; + logic [12:0] ufi_ctl2core_avl_rdata_id_1 /*synthesis dont_merge*/; + + logic [33:0] ufi_ctl2core_mmr_0 /*synthesis dont_merge*/; + logic [50:0] ufi_core2ctl_mmr_0 /*synthesis dont_merge*/; + logic [33:0] ufi_ctl2core_mmr_1 /*synthesis dont_merge*/; + logic [50:0] ufi_core2ctl_mmr_1 /*synthesis dont_merge*/; + + logic [41:0] ufi_core2ctl_sideband_0 /*synthesis dont_merge*/; + logic [13:0] ufi_ctl2core_sideband_0 /*synthesis dont_merge*/; + logic [41:0] ufi_core2ctl_sideband_1 /*synthesis dont_merge*/; + logic [13:0] ufi_ctl2core_sideband_1 /*synthesis dont_merge*/; + + logic [17:0] ufi_seq_core2ctl /*synthesis dont_merge*/; + logic [26:0] ufi_seq_ctl2core /*synthesis dont_merge*/; + + + for (sig_i = 0; sig_i < 18; ++sig_i) begin: sequencer_c2p_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((PROTOCOL_ENUM == "PROTOCOL_QDR4") ? "pin_ufi_use_in_direct_out_direct" : SEQ_C2P_UFI_MODE), + .HIPI_DELAY (SEQ_HIPI_DELAY), + .IS_C2P (1), + .IS_HPS (IS_HPS), + .TIEOFF (NUM_OF_HMC_PORTS > 0 && sig_i > 7) + ) core2ctl_seq_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk (ufi_phy_clk), + .i_din (i_c2t_afi[sig_i]), + .o_dout (ufi_seq_core2ctl[sig_i]) + ); + end + + for (sig_i = 0; sig_i < 27; ++sig_i) begin: sequencer_p2c_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (SEQ_P2C_UFI_MODE), + .IS_HPS (IS_HPS), + .IS_C2P (0) + ) ctl2core_seq_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk (ufi_core_clk), + .i_din (i_t2c_afi[sig_i]), + .o_dout (ufi_seq_ctl2core[sig_i]) + ); + end + + if (NUM_OF_HMC_PORTS == 0) begin: tie_off_hmc_ufis + assign ufi_core2ctl_avl_0 = '0; + assign ufi_core2ctl_avl_1 = '0; + assign ufi_core2ctl_avl_rd_data_ready_0 = '1; + assign ufi_ctl2core_avl_cmd_ready_0 = '1; + assign ufi_ctl2core_avl_rdata_id_0 = '0; + assign ufi_core2ctl_avl_rd_data_ready_1 = '1; + assign ufi_ctl2core_avl_cmd_ready_1 = '1; + assign ufi_ctl2core_avl_rdata_id_1 = '0; + + assign ufi_ctl2core_mmr_0 = '0; + assign ufi_ctl2core_mmr_1 = '0; + assign ufi_core2ctl_mmr_0 = '0; + assign ufi_core2ctl_mmr_1 = '0; + assign ufi_core2ctl_sideband_0 = '0; + assign ufi_core2ctl_sideband_1 = '0; + assign ufi_ctl2core_sideband_0 = '0; + assign ufi_ctl2core_sideband_1 = '0; + end else begin : generate_hmc_ufis + for (sig_i = 0; sig_i < 63; ++sig_i) begin: avl_ctl_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_C2P_UFI_MODE), + .HIPI_DELAY(AMM_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) avl0_amm_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk (ufi_phy_clk), + .i_din (i_core2ctl_avl_0[sig_i]), + .o_dout (ufi_core2ctl_avl_0[sig_i]) + ); + + if (PHY_PING_PONG_EN) begin : sec_avl_ctl_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_C2P_UFI_MODE), + .HIPI_DELAY(AMM_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) avl1_amm_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk (ufi_phy_clk), + .i_din (i_core2ctl_avl_1[sig_i]), + .o_dout (ufi_core2ctl_avl_1[sig_i]) + ); + end + end + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_C2P_UFI_MODE), + .HIPI_DELAY(AMM_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) avl_rd_data_ready_0_amm_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk (ufi_phy_clk), + .i_din (i_core2ctl_avl_rd_data_ready_0), + .o_dout (ufi_core2ctl_avl_rd_data_ready_0) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) avl_cmd_ready_0_amm_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk (ufi_core_clk), + .i_din (i_ctl2core_avl_cmd_ready_0), + .o_dout (ufi_ctl2core_avl_cmd_ready_0) + ); + + for (sig_i = 0; sig_i < 13; ++sig_i) begin : ctl2core_avl_rdata_id_0_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) rdata_id_amm_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk (ufi_core_clk), + .i_din (i_ctl2core_avl_rdata_id_0[sig_i]), + .o_dout (ufi_ctl2core_avl_rdata_id_0[sig_i]) + ); + end + + if (PHY_PING_PONG_EN) begin : sec_avl_cmd_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_C2P_UFI_MODE), + .HIPI_DELAY(AMM_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) avl_rd_data_ready_1_amm_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk (ufi_phy_clk), + .i_din (i_core2ctl_avl_rd_data_ready_1), + .o_dout (ufi_core2ctl_avl_rd_data_ready_1) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) avl_cmd_ready_1_amm_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk (ufi_core_clk), + .i_din (i_ctl2core_avl_cmd_ready_1), + .o_dout (ufi_ctl2core_avl_cmd_ready_1) + ); + + for (sig_i = 0; sig_i < 13; ++sig_i) begin : ctl2core_avl_rdata_id_1_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (AMM_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) rdata_id_amm_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_ctl2core_avl_rdata_id_1[sig_i]), + .o_dout (ufi_ctl2core_avl_rdata_id_1[sig_i]) + ); + end + end + + for (sig_i = 0; sig_i < 34; ++sig_i) begin: ctl2core_mmr_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (MMR_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) mmr_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_ctl2core_mmr_0[sig_i]), + .o_dout (ufi_ctl2core_mmr_0[sig_i]) + ); + + if (PHY_PING_PONG_EN) begin : sec_ctl2core_mmr_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (MMR_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) mmr_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_ctl2core_mmr_1[sig_i]), + .o_dout (ufi_ctl2core_mmr_1[sig_i]) + ); + end + end + + for (sig_i = 0; sig_i < 51; ++sig_i) begin: core2ctl_mmr_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (MMR_C2P_UFI_MODE), + .HIPI_DELAY(MMR_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) mmr_c2p_ufi_i( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2ctl_mmr_0[sig_i]), + .o_dout (ufi_core2ctl_mmr_0[sig_i]) + ); + + if (PHY_PING_PONG_EN) begin : sec_core2ctl_mmr_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (MMR_C2P_UFI_MODE), + .HIPI_DELAY(MMR_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) mmr_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2ctl_mmr_1[sig_i]), + .o_dout (ufi_core2ctl_mmr_1[sig_i]) + ); + end + end + + for (sig_i = 0; sig_i < 42; ++sig_i) begin: core2ctl_sideband_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((sig_i < 27) ? (sig_i == 20) ? UFI_IN_OUT_DIRECT_L0 : SIDEBAND_C2P_UFI_MODE : ECC_C2P_UFI_MODE), + .HIPI_DELAY((sig_i < 27) ? SIDEBAND_HIPI_DELAY : ECC_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) sideband_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2ctl_sideband_0[sig_i]), + .o_dout (ufi_core2ctl_sideband_0[sig_i]) + ); + + if (PHY_PING_PONG_EN) begin : sec_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((sig_i < 27) ? SIDEBAND_C2P_UFI_MODE : ECC_C2P_UFI_MODE), + .HIPI_DELAY((sig_i < 27) ? SIDEBAND_HIPI_DELAY : ECC_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) sideband_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2ctl_sideband_1[sig_i]), + .o_dout (ufi_core2ctl_sideband_1[sig_i]) + ); + end + end + + for (sig_i = 0; sig_i < 14; ++sig_i) begin: ctl2core_sideband_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((sig_i < 6 || sig_i == 12) ? ECC_P2C_UFI_MODE : SIDEBAND_P2C_UFI_MODE), + .IS_HPS (IS_HPS), + .IS_C2P (0) + ) sideband_p2c_ufi_i ( + .i_src_clk(ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_ctl2core_sideband_0[sig_i]), + .o_dout (ufi_ctl2core_sideband_0[sig_i]) + ); + if (PHY_PING_PONG_EN) begin : sec_ctl2core_sideband_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((sig_i < 6 || sig_i == 12) ? ECC_P2C_UFI_MODE : SIDEBAND_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) sideband_p2c_ufi_i ( + .i_src_clk(ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_ctl2core_sideband_1[sig_i]), + .o_dout (ufi_ctl2core_sideband_1[sig_i]) + ); + end + end + end + + + assign actual_core2ctl_avl_0 = ufi_core2ctl_avl_0; + assign actual_ctl2core_avl_cmd_ready_0 = ufi_ctl2core_avl_cmd_ready_0; + assign actual_ctl2core_avl_rdata_id_0 = ufi_ctl2core_avl_rdata_id_0; + assign actual_core2ctl_avl_rd_data_ready_0 = ufi_core2ctl_avl_rd_data_ready_0 ; + + assign actual_ctl2core_mmr_0 = ufi_ctl2core_mmr_0; + assign actual_core2ctl_mmr_0 = ufi_core2ctl_mmr_0; + assign actual_core2ctl_sideband_0 = ufi_core2ctl_sideband_0; + assign actual_ctl2core_sideband_0 = ufi_ctl2core_sideband_0; + + assign actual_c2t_afi = ufi_seq_core2ctl; + assign actual_t2c_afi = ufi_seq_ctl2core; + + if (PHY_PING_PONG_EN) begin : sec_tie_offs + assign actual_ctl2core_mmr_1 = ufi_ctl2core_mmr_1; + assign actual_core2ctl_mmr_1 = ufi_core2ctl_mmr_1; + assign actual_core2ctl_sideband_1 = ufi_core2ctl_sideband_1; + assign actual_ctl2core_sideband_1 = ufi_ctl2core_sideband_1; + assign actual_core2ctl_avl_1 = ufi_core2ctl_avl_1; + assign actual_ctl2core_avl_cmd_ready_1 = ufi_ctl2core_avl_cmd_ready_1; + assign actual_ctl2core_avl_rdata_id_1 = ufi_ctl2core_avl_rdata_id_1; + assign actual_core2ctl_avl_rd_data_ready_1 = ufi_core2ctl_avl_rd_data_ready_1; + end else begin : no_ufis + assign actual_ctl2core_mmr_1 = i_ctl2core_mmr_1; + assign actual_core2ctl_mmr_1 = i_core2ctl_mmr_1; + assign actual_core2ctl_sideband_1 = i_core2ctl_sideband_1; + assign actual_ctl2core_sideband_1 = i_ctl2core_sideband_1; + assign actual_core2ctl_avl_1 = i_core2ctl_avl_1; + assign actual_ctl2core_avl_cmd_ready_1 = i_ctl2core_avl_cmd_ready_1; + assign actual_ctl2core_avl_rdata_id_1 = i_ctl2core_avl_rdata_id_1; + assign actual_core2ctl_avl_rd_data_ready_1 = i_core2ctl_avl_rd_data_ready_1; + end + + if (NUM_OF_HMC_PORTS > 0) begin : p2c_per_if_hmc_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) rd_data_vld_avl_lane_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_rd_data_vld_avl), + .o_dout (ufi_l2core_rd_data_vld_avl) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0), + .TIEOFF(ENABLE_RD_TYPE) + ) rd_type_avl_lane_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk (ufi_core_clk), + .i_din (i_l2core_rd_type), + .o_dout (ufi_l2core_rd_type) + ); + + if (HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_ST") begin : p2c_ecc_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (ECC_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) wr_data_rdy_ast_ecc_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_wr_data_rdy_ast), + .o_dout (ufi_l2core_wr_data_rdy_ast) + ); + for (sig_i = 0; sig_i < 12; ++sig_i) begin : ecc_wb_ptr_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (ECC_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) wb_ptr_ecc_p2c_ufi_i( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_wb_pointer_for_ecc[sig_i]), + .o_dout (ufi_l2core_wb_pointer_for_ecc[sig_i]) + ); + end + end else begin : p2c_ecc_tie_off + assign ufi_l2core_wr_data_rdy_ast = i_l2core_wr_data_rdy_ast; + assign ufi_l2core_wb_pointer_for_ecc = 12'b0; + end + + assign ufi_l2core_rdata_valid_pri = '0; + assign ufi_l2core_rdata_valid_sec = '0; + + end else begin : p2c_per_if_smc + for (sig_i = 0; sig_i < 4; ++sig_i) begin: rvalid_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) pri_rvalid_lane_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_rdata_valid_pri[sig_i]), + .o_dout (ufi_l2core_rdata_valid_pri[sig_i]) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_P2C_UFI_MODE), + .IS_HPS(IS_HPS), + .IS_C2P(0) + ) sec_rvalid_lane_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_rdata_valid_sec[sig_i]), + .o_dout (ufi_l2core_rdata_valid_sec[sig_i]) + ); + end + + assign ufi_l2core_wb_pointer_for_ecc = '0; + assign ufi_l2core_wr_data_rdy_ast = '0; + assign ufi_l2core_rd_data_vld_avl = '0; + assign ufi_l2core_rd_type = '0; + end + + for (tile_i = 0; tile_i < NUM_OF_RTL_TILES; ++tile_i) begin: tile_gen + for (lane_i = 0; lane_i < LANES_PER_TILE; ++lane_i) begin: lane_gen + localparam AC_TIE_OFF = `_is_lane_ac_or_empty(tile_i, lane_i) || (NUM_OF_HMC_PORTS != 0); + + for (sig_i = 0; sig_i < 48; ++sig_i) begin: oe_ufi_gen + altera_emif_arch_fm_ufi_wrapper # ( + .MODE (LANE_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (AC_TIE_OFF) + ) oe_lane_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_oe[tile_i][lane_i][sig_i]), + .o_dout (ufi_core2l_oe[tile_i][lane_i][sig_i]) + ); + end + for (sig_i = 0; sig_i < 4; ++sig_i) begin: rdata_en_full_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (AC_TIE_OFF) + ) rdata_en_lane_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_rdata_en_full[tile_i][lane_i][sig_i]), + .o_dout (ufi_core2l_rdata_en_full[tile_i][lane_i][sig_i]) + ); + end + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (ECC_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (HMC_AVL_PROTOCOL_ENUM != "CTRL_AVL_PROTOCOL_ST") + ) wr_data_vld_ast_ecc_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_wr_data_vld_ast), + .o_dout (ufi_core2l_wr_data_vld_ast[tile_i][lane_i]) + ); + altera_emif_arch_fm_ufi_wrapper #( + .MODE (ECC_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (HMC_AVL_PROTOCOL_ENUM != "CTRL_AVL_PROTOCOL_ST") + ) rd_data_rdy_ast_ecc_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_rd_data_rdy_ast), + .o_dout (ufi_core2l_rd_data_rdy_ast[tile_i][lane_i]) + ); + + for (sig_i = 0; sig_i < 8; ++sig_i) begin: mrnk_ufi_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((PROTOCOL_ENUM == "PROTOCOL_QDR4") ? "pin_ufi_use_in_direct_out_direct" : LANE_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (NUM_OF_HMC_PORTS != 0) + ) mrnk_read_lane_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_mrnk_read[tile_i][lane_i][sig_i]), + .o_dout (ufi_core2l_mrnk_read[tile_i][lane_i][sig_i]) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE ((PROTOCOL_ENUM == "PROTOCOL_QDR4") ? "pin_ufi_use_in_direct_out_direct" : LANE_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1), + .TIEOFF (NUM_OF_HMC_PORTS != 0) + ) mrnk_write_lane_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_mrnk_write[tile_i][lane_i][sig_i]), + .o_dout (ufi_core2l_mrnk_write[tile_i][lane_i][sig_i]) + ); + end + + for (sig_i = 0; sig_i < 13; ++sig_i) begin: ecc_info_gen + altera_emif_arch_fm_ufi_wrapper #( + .MODE (ECC_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) info_ecc_c2p_ufi_i( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_wr_ecc_info[sig_i]), + .o_dout (ufi_core2l_wr_ecc_info[tile_i][lane_i][sig_i]) + ); + end + + for (pin_i = 0; pin_i < PINS_PER_LANE; ++pin_i) begin : pin_gen + localparam phase_size = ((`_get_pin_usage(tile_i, lane_i, pin_i) == LANE_PIN_USAGE_MODE_CA_SDR) || `_is_clk_pin(tile_i, lane_i, pin_i)) ? 4 : 8; + + for (phase_i = 0; phase_i < 8; ++phase_i) begin : phase_gen + if ( (phase_i < phase_size) && PINS_C2L_DRIVEN[(LANES_PER_TILE * PINS_PER_LANE) * tile_i + PINS_PER_LANE * lane_i + pin_i] ) begin + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_C2P_UFI_MODE), + .HIPI_DELAY(LANE_HIPI_DELAY), + .IS_HPS (IS_HPS), + .IS_C2P (1) + ) data_lane_c2p_ufi_i ( + .i_src_clk (ufi_core_clk), + .i_dst_clk(ufi_phy_clk), + .i_din (i_core2l_data[tile_i][lane_i][8 * pin_i + phase_i]), + .o_dout (ufi_core2l_data[tile_i][lane_i][8 * pin_i + phase_i]) + ); + + altera_emif_arch_fm_ufi_wrapper #( + .MODE (LANE_P2C_UFI_MODE), + .IS_HPS (IS_HPS), + .IS_C2P (0), + .TIEOFF (NUM_OF_HMC_PORTS != 0 && pin_i==6) + ) data_lane_p2c_ufi_i ( + .i_src_clk (ufi_phy_clk), + .i_dst_clk(ufi_core_clk), + .i_din (i_l2core_data[tile_i][lane_i][8 * pin_i + phase_i]), + .o_dout (ufi_l2core_data[tile_i][lane_i][8 * pin_i + phase_i]) + ); + assign actual_core2l_data[tile_i][lane_i][8 * pin_i + phase_i] = ufi_core2l_data[tile_i][lane_i][8 * pin_i + phase_i]; + assign actual_l2core_data[tile_i][lane_i][8 * pin_i + phase_i] = ufi_l2core_data[tile_i][lane_i][8 * pin_i + phase_i]; + end else begin + assign actual_core2l_data[tile_i][lane_i][8 * pin_i + phase_i] = i_core2l_data[tile_i][lane_i][8 * pin_i + phase_i]; + assign actual_l2core_data[tile_i][lane_i][8 * pin_i + phase_i] = i_l2core_data[tile_i][lane_i][8 * pin_i + phase_i]; + end + end + end + end + end + + assign actual_l2core_rd_type = ufi_l2core_rd_type; + assign actual_l2core_rd_data_vld_avl = ufi_l2core_rd_data_vld_avl; + assign actual_l2core_wr_data_rdy_ast = ufi_l2core_wr_data_rdy_ast; + assign actual_l2core_rdata_valid_pri = ufi_l2core_rdata_valid_pri; + assign actual_l2core_rdata_valid_sec = ufi_l2core_rdata_valid_sec; + + assign actual_core2l_oe = ufi_core2l_oe; + assign actual_core2l_rdata_en_full = ufi_core2l_rdata_en_full; + + assign actual_core2l_mrnk_read = ufi_core2l_mrnk_read; + assign actual_core2l_mrnk_write = ufi_core2l_mrnk_write; + + assign actual_l2core_wb_pointer_for_ecc = ufi_l2core_wb_pointer_for_ecc; + assign actual_core2l_wr_ecc_info = ufi_core2l_wr_ecc_info; + assign actual_core2l_wr_data_vld_ast = ufi_core2l_wr_data_vld_ast; + assign actual_core2l_rd_data_rdy_ast = ufi_core2l_rd_data_rdy_ast; + + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm1oKyPZcd5kjMwa4n0A4xOKz9qUQXFQ2gsapiCXVq166BU40pq//T1QzfJs0GctI4nj1Erpj72AJVYt0W8FNaE2gvqBYaEuLSKK/cLcX1Tn+Fb0zPvgXEferiTC0FmH7ol0/9R49qrKwsilR8ei8imZrClUbsh3B4IPMQtYL7e7CfVgbKutVRXtalZ8kdfT68CAGOHXQ5V4it1DsH/6Kf7AvcsrY62eBO/AlP2Q3JeGdm2BHTnE36CCYvoDW3yQ793/di9qQUSqqrTpormr8eaRUqjEe6rtm/qR1N6a17IoxQlTL+ZoDMM6LakoRclnHpoM60IF68B/0p/4hNI7TwOp5GOzYyDLU9pnj8Mx2DPfT5eFNFelCqHahy7A5P2UTufFNCgAjYu8SFcPTf0czESrnO+5zk9XWi9ZZLIodOsXF6cwXwLWeCQmFQq/JhnUI07M7ayhRgJ+7ZwHsLwCUeHgOGs2eSzzVhK4NLLcJq//nKVDUHgFVZiH7Pnh8ySAok5iYHp0J5JTaOj88VaARTKkxJ2DnSSbUzf/3XOQdo5++Y8fBmyvdD35EVRaCxGT2IJxALaRV26PDlFvyV7sMQ/YOarJBF8g1hpXFT2hWwNclFhG797zReIWGNubwKALfQ/bpf+JIg/X0IDSzVrKxT8J8A5t4XYReZTPnaK2DPRutkzLiUT5aFULtAn3KXV50b4rH/Ewgzsuvmaxyxd6faq71tgfcEwaEGMk8IB6KbbMZUWMEr/TDuxy7etlpm7LhEV44rbyhJ+IoePTiEccCIQ1" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_std_synchronizer_nocut.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_std_synchronizer_nocut.v new file mode 100644 index 0000000000..6193835c5b --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/altera_std_synchronizer_nocut.v @@ -0,0 +1,267 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// $Id: //acds/main/ip/sopc/components/primitives/altera_std_synchronizer/altera_std_synchronizer.v#8 $ +// $Revision: #8 $ +// $Date: 2009/02/18 $ +// $Author: pscheidt $ +//----------------------------------------------------------------------------- +// +// File: altera_std_synchronizer_nocut.v +// +// Abstract: Single bit clock domain crossing synchronizer. Exactly the same +// as altera_std_synchronizer.v, except that the embedded false +// path constraint is removed in this module. If you use this +// module, you will have to apply the appropriate timing +// constraints. +// +// We expect to make this a standard Quartus atom eventually. +// +// Composed of two or more flip flops connected in series. +// Random metastable condition is simulated when the +// __ALTERA_STD__METASTABLE_SIM macro is defined. +// Use +define+__ALTERA_STD__METASTABLE_SIM argument +// on the Verilog simulator compiler command line to +// enable this mode. In addition, define the macro +// __ALTERA_STD__METASTABLE_SIM_VERBOSE to get console output +// with every metastable event generated in the synchronizer. +// +// Copyright (C) Altera Corporation 2009, All Rights Reserved +//----------------------------------------------------------------------------- + +`timescale 1ns / 1ns + +module altera_std_synchronizer_nocut ( + clk, + reset_n, + din, + dout + ); + + parameter depth = 3; // This value must be >= 2 ! + parameter rst_value = 0; + + //when enabled, this will allow retiming for the sync depth >3. + parameter retiming_reg_en = 0; + + input clk; + input reset_n; + input din; + output dout; + + // QuartusII synthesis directives: + // 1. Preserve all registers ie. do not touch them. + // 2. Do not merge other flip-flops with synchronizer flip-flops. + // QuartusII TimeQuest directives: + // 1. Identify all flip-flops in this module as members of the synchronizer + // to enable automatic metastability MTBF analysis. + + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW; -name SYNCHRONIZER_IDENTIFICATION FORCED; -name DONT_MERGE_REGISTER ON; -name PRESERVE_REGISTER ON "} *) reg din_s1; + + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW; -name DONT_MERGE_REGISTER ON; -name PRESERVE_REGISTER ON"} *) reg [depth-2:0] dreg; + + //synthesis translate_off + `ifndef QUARTUS_CDC + initial begin + if (retiming_reg_en == 0 ) begin + if (depth <2) begin + $display("%m: Error: synchronizer length: %0d less than 2.", depth); + end + end + else begin + if (depth <4) begin + $display("%m: Error: synchronizer length: %0d less than 4 with retiming enabled.", depth); + end + end + end + `endif + + // the first synchronizer register is either a simple D flop for synthesis + // and non-metastable simulation or a D flop with a method to inject random + // metastable events resulting in random delay of [0,1] cycles + +`ifdef __ALTERA_STD__METASTABLE_SIM + + reg[31:0] RANDOM_SEED = 123456; + wire next_din_s1; + wire dout; + reg din_last; + reg random; + event metastable_event; // hook for debug monitoring + + initial begin + $display("%m: Info: Metastable event injection simulation mode enabled"); + random = $random; + end + + always @(posedge clk) begin + if (reset_n == 0) + random <= $random(RANDOM_SEED); + else + random <= $random; + end + + assign next_din_s1 = (din_last ^ din) ? random : din; + + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + din_last <= (rst_value == 0)? 1'b0 : 1'b1; + else + din_last <= din; + end + + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + din_s1 <= (rst_value == 0)? 1'b0 : 1'b1; + else + din_s1 <= next_din_s1; + end + +`else + + //synthesis translate_on + generate if (rst_value == 0) + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + din_s1 <= 1'b0; + else + din_s1 <= din; + end + endgenerate + + generate if (rst_value == 1) + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + din_s1 <= 1'b1; + else + din_s1 <= din; + end + endgenerate + //synthesis translate_off + +`endif + +`ifdef __ALTERA_STD__METASTABLE_SIM_VERBOSE + always @(*) begin + if (reset_n && (din_last != din) && (random != din)) begin + $display("%m: Verbose Info: metastable event @ time %t", $time); + ->metastable_event; + end + end +`endif + + //synthesis translate_on + + // the remaining synchronizer registers form a simple shift register + // of length depth-1 + generate if (rst_value == 0) begin + if (retiming_reg_en == 0) begin + if (depth < 3) begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg <= {depth-1{1'b0}}; + else + dreg <= din_s1; + end + end else begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg <= {depth-1{1'b0}}; + else + dreg <= {dreg[depth-3:0], din_s1}; + end + end + + assign dout = dreg[depth-2]; + end + + else begin //This part is enabled when we set retiming_reg_en =1 + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW; -name DONT_MERGE_REGISTER ON; -name PRESERVE_REGISTER ON"} *) reg [1:0] dreg1; + reg [depth-4:0] dreg2; + wire [depth-2:0] dreg3; + + assign dreg3 = {dreg2,dreg1}; + + if (depth <= 3) begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg1 <= {depth-1{1'b0}}; + else + dreg1 <= din_s1; + end + end + else begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + {dreg2,dreg1} <= {depth-1{1'b0}}; + else + {dreg2,dreg1} <= {dreg3[depth-3:0], din_s1}; + end + end + assign dout = dreg3[depth-2]; + end + end + + + else begin + if (retiming_reg_en == 0) begin + if (depth < 3) begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg <= {depth-1{1'b1}}; + else + dreg <= din_s1; + end + end else begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg <= {depth-1{1'b1}}; + else + dreg <= {dreg[depth-3:0], din_s1}; + end + end + assign dout = dreg[depth-2]; + end + + else begin + (* altera_attribute = {"-name ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW; -name DONT_MERGE_REGISTER ON; -name PRESERVE_REGISTER ON"} *) reg [1:0] dreg1; + reg [depth-4:0] dreg2; + wire [depth-2:0] dreg3; + + assign dreg3 = {dreg2,dreg1}; + + if (depth <= 3) begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + dreg1 <= {depth-1{1'b1}}; + else + dreg1 <= din_s1; + end + end + else begin + always @(posedge clk or negedge reset_n) begin + if (reset_n == 0) + {dreg2,dreg1} <= {depth-1{1'b1}}; + else + {dreg2,dreg1} <= {dreg3[depth-3:0], din_s1}; + end + end + assign dout = dreg3[depth-2]; + end + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "aBtvkOB0rVavpqYSnxGbfcYBNx6OkCwAi2K9gh9Y53caqg+VfzD4if1Wx+NybTLcpY+PnuQz6pp9KScOY4ye64zeX7CBjYAFsecofqjfk4a1c+382xda6/OF2dJrJri51Uq3eJPH2tWhlL9RydkIvKPJDVVgsS6+mu9Mhzg00gJFu3PHFz80h2m0h/O4E8aAn998tC3clvatEJIWGp/WDkQ+DABTXAmgzljq9l00wHHlQKp4dZWIzdPxUtrHxAa3x1dtnlScSyYYyx2fXHeg/nh3nZxYZ4QbQ7MBw0OMADXU0N8CpFFQljG99TZjQBJdLBLJRYSY71DTm85eCDqeM1MOSgf3F47ZHihaaJgfOK5Qy1myN8Un9uiKFilNXwp8mpHadYS4Z582GkRuV6zlovrdby/xESUQf1/DWgC0CF/vlTsP8Jpw3vTPq2h1bILGPzTrQpJqQFSASl6pC69qTXRxUAh5vV7FgwSd7BcKB24KtZcsMlqlEZvLfurZLUo+yj86zGm/S0rFIVbBSCuY+J9OMaOEloV7WkDREZ6lR6KN97Ry3IsHnr03SMgkFAPTubk1EEO+6cOkjYaxemUs6vsbyan5i9VbF88m1X5ITFRfOCNB4p5eWppdirYruL+EkSudlEj7XjY08nJg3IDo/8DRr5yqp7t9WybAm5vHsd3rgb7ruVFAjP8KoedXf5gwhkslO8NcZqADGNh/3I21On06VBJ0Tmh7mOQjzUKdeMLzyzRegco5pWDphgD51Iej5wZOoJLzyZbJkRN+h+o74LNmZE22KRWx6bdS2eNx08/dmLBAY2JB6P7xAgfxalYQY5FyWXWVlw9DiHqRuGOtJRI0Rf8hudKDET6LnVXRYnjAM5x/Kxw3VW8e1lX8zKCnP42NZ+Cs7+SMc3xkDdndFQOErW1eGLxV4poLgtp2LYn58ff9E21ixrxe6l6n73D6INSQXyh+399nt2zmXfmZ/CluDKJOOSHBulbzntO6ctpcKUjU+bz6yYn+oddPmMzo" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sdc b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sdc new file mode 100644 index 0000000000..3789a10c4e --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sdc @@ -0,0 +1,1100 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +##################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file specifies the timing constraints of the memory device and +# of the memory interface + +# ------------------------------------------- # +# - - # +# --- Some useful functions and variables --- # +# - - # +# ------------------------------------------- # + +set script_dir [file dirname [info script]] +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl" + +#--------------------------------------------# +# - - # +# --- Determine when SDC is being loaded --- # +# - - # +#--------------------------------------------# + +set syn_flow 0 +set sta_flow 0 +set fit_flow 0 +set pow_flow 0 +if { $::TimeQuestInfo(nameofexecutable) == "quartus_map" || $::TimeQuestInfo(nameofexecutable) == "quartus_syn" } { + set syn_flow 1 +} elseif { $::TimeQuestInfo(nameofexecutable) == "quartus_sta" } { + set sta_flow 1 +} elseif { $::TimeQuestInfo(nameofexecutable) == "quartus_fit" } { + set fit_flow 1 +} elseif { $::TimeQuestInfo(nameofexecutable) == "quartus_pow" } { + set pow_flow 1 +} +set ::io_only_analysis 0 + +# ------------------------ # +# - - # +# --- GENERAL SETTINGS --- # +# - - # +# ------------------------ # + +# This is a global setting and will apply to the whole design. +# This setting is required for the memory interface to be +# properly constrained. +derive_clock_uncertainty + +# Debug switch. Change to 1 to get more run-time debug information +set debug 0 + +# All timing requirements will be represented in nanoseconds with up to 3 decimal places of precision +set_time_format -unit ns -decimal_places 3 + +# Determine if entity names are on +set entity_names_on [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_are_entity_names_on ] + +# ---------------------- # +# - - # +# --- DERIVED TIMING --- # +# - - # +# ---------------------- # + +# PLL multiplier to mem clk +regexp {([0-9\.]+) ps} $var(PLL_REF_CLK_FREQ_PS_STR) match var(PHY_REF_CLK_FREQ_PS) +regexp {([0-9\.]+) ps} $var(PLL_VCO_FREQ_PS_STR) match var(PHY_VCO_FREQ_PS) +set pll_multiplier [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [expr $var(PHY_MEM_CLK_FREQ_MHZ)/$var(PHY_REF_CLK_FREQ_MHZ)] ] +set vco_multiplier [expr int($var(PHY_REF_CLK_FREQ_PS)/$var(PHY_VCO_FREQ_PS))] + +# Half of memory clock cycle +set half_period [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr $var(UI) / 2.0 ] ] + +# Half of reference clock +set ref_period [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr $var(PHY_REF_CLK_FREQ_PS)/1000.0] ] +set ref_half_period [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr $ref_period / 2.0 ] ] + +# Other clock periods +set tCK_AFI [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr 1000.0/$var(PHY_MEM_CLK_FREQ_MHZ)*$var(USER_CLK_RATIO) ] ] +set tCK_C2P_P2C [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr 1000.0/$var(PHY_MEM_CLK_FREQ_MHZ)*$var(C2P_P2C_CLK_RATIO) ] ] +set tCK_PHY [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr 1000.0/$var(PHY_MEM_CLK_FREQ_MHZ)*$var(PHY_HMC_CLK_RATIO) ] ] + +# Asymmetric uncertainties on address and command paths +set ac_min_delay [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr - $var(tIH) + $var(CA_TO_CK_BD_PKG_SKEW) ]] +set ac_max_delay [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [ expr $var(tIS) + $var(CA_TO_CK_BD_PKG_SKEW) ]] + +# ---------------------- # +# - - # +# --- INTERFACE RATE --- # +# - - # +# ---------------------- # + +# -------------------------------------------------------------------- # +# - - # +# --- This is the main call to the netlist traversal routines --- # +# --- that will automatically find all pins and registers required --- # +# --- to apply timing constraints. --- # +# --- During the fitter, the routines will be called only once --- # +# --- and cached data will be used in all subsequent calls. --- # +# - - # +# -------------------------------------------------------------------- # + +if { ! [ info exists ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sdc_cache ] } { + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_initialize_ddr_db ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ddr_db var + set ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sdc_cache 1 +} else { + if { $debug } { + post_message -type info "SDC: reusing cached DDR DB" + } +} + +# ------------------------------------------------------------- # +# - - # +# --- If multiple instances of this core are present in the --- # +# --- design they will all be constrained through the --- # +# --- following loop --- # +# - - # +# ------------------------------------------------------------- # + +set instances [ array names ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ddr_db ] +foreach { inst } $instances { + if { [ info exists pins ] } { + unset pins + } + array set pins $ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ddr_db($inst) + + # ----------------------- # + # - - # + # --- REFERENCE CLOCK --- # + # - - # + # ----------------------- # + + # First determine if a reference clock has already been created (i.e. Reference clock sharing) + set ref_clock_exists [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_does_ref_clk_exist $pins(pll_ref_clock) ] + if { $ref_clock_exists == 0 } { + # This is the reference clock used by the PLL to derive any other clock in the core + create_clock -period "$var(PHY_REF_CLK_FREQ_MHZ)MHz" -waveform [ list 0 $ref_half_period ] $pins(pll_ref_clock) -add -name ${inst}_ref_clock + } + set pins(ref_clock_name) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_name_from_pin_name $pins(pll_ref_clock)] + + # ------------------ # + # - - # + # --- PLL CLOCKS --- # + # - - # + # ------------------ # + + # VCO clock + #We also detect and save the index of the clocks that drive the CPAs + set is_master [expr {([string compare $inst $pins(master_instname)] == 0) ? 1 : 0}] + set i_vco_clock 0 + set i_cpa_clock_tile_pri -1 + set i_cpa_clock_tile_sec -1 + foreach { vco_clock } $pins(pll_vco_clock) { + + set suffix "_${i_vco_clock}" + if {$vco_clock == $pins(master_vco_clock)} { + set suffix "" + if {$is_master} { + set i_cpa_clock_tile_pri $i_vco_clock + } + } elseif {$vco_clock == $pins(master_vco_clock_sec)} { + if {$is_master} { + set i_cpa_clock_tile_sec $i_vco_clock + } + } + + set local_pll_vco_clk_${i_vco_clock} [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $vco_clock \ + -name "${inst}_vco_clk${suffix}" \ + -source $pins(pll_ref_clock) \ + -multiply_by [expr $vco_multiplier ] \ + -divide_by 1 \ + -phase 0 ] + incr i_vco_clock + } + + if {! $var(IS_HPS)} { + if {$is_master} { + if {$i_cpa_clock_tile_pri == -1} { + post_message -type critical_warning "Failed to find CPA clock index" + } + if {$i_cpa_clock_tile_sec == -1 && $var(PHY_PING_PONG_EN)} { + post_message -type critical_warning "Failed to find CPA clock index for secondary interface" + } + } + } + + # Core clocks + set core_clocks [list] + set core_clocks_local [list] + + # Skip if we're in HPS mode since there's no user accessible core clock + # and there's no transfers within core fabric to analyze + if {! $var(IS_HPS)} { + + set local_pll_master_vco_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $pins(master_vco_clock) \ + -name "${pins(master_instname)}_vco_clk" \ + -source $pins(pll_ref_clock) \ + -multiply_by [expr $vco_multiplier ] \ + -divide_by 1 \ + -phase 0 ] + + # emif_usr_clk + # Clock only exists when HMC is used. + set local_core_usr_clock "" + if {$pins(master_core_usr_clock) != ""} { + set name "core_usr_clk" + set master_core_clock $pins(master_core_usr_clock) + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO)}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_usr_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_usr_clock) + lappend core_clocks_local $local_core_usr_clock + } + + # emif_usr_clk_sec + # Clock only exists when ping-pong HMC is used + set local_core_usr_clock_sec "" + if {$pins(master_core_usr_clock_sec) != ""} { + set name "core_usr_clk_sec" + set master_core_clock_sec $pins(master_core_usr_clock_sec) + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO)}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_usr_clock_sec [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock_sec \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock_sec) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_usr_clock_sec) + lappend core_clocks_local $local_core_usr_clock_sec + } + + # emif_usr_half_clk + # Clock only exists when HMC is used and in 2x bridge mode + set local_core_usr_half_clock "" + if {$pins(master_core_usr_half_clock) != ""} { + set name "core_usr_half_clk" + set master_core_clock $pins(master_core_usr_half_clock) + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO) * 2}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_usr_half_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_usr_half_clock) + lappend core_clocks_local $local_core_usr_half_clock + } + + # emif_usr_half_clk + # Clock only exists when ping-pong HMC is used and in 2x bridge mode + set local_core_usr_half_clock_sec "" + if {$pins(master_core_usr_half_clock_sec) != ""} { + set name "core_usr_half_clk_sec" + set master_core_clock_sec $pins(master_core_usr_half_clock_sec) + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO) * 2}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_usr_half_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock_sec \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock_sec) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_usr_half_clock_sec) + lappend core_clocks_local $local_core_usr_half_clock + } + + # afi_clk + # Clock only exists when HMC isn't used. + set local_core_afi_clock "" + if {$pins(master_core_afi_clock) != ""} { + set name "core_afi_clk" + set master_core_clock $pins(master_core_afi_clock) + if {$var(USER_CLK_RATIO) == 8} { + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO) / 2}] + } else { + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO)}] + } + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_afi_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_afi_clock) + lappend core_clocks_local $local_core_afi_clock + } + + # extra CPA output for PE test purpose. + set local_core_dft_cpa_1_clock "" + if {$pins(master_core_dft_cpa_1_clock) != ""} { + set name "core_dft_cpa_1_clk" + set master_core_clock $pins(master_core_dft_cpa_1_clock) + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(USER_CLK_RATIO)}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_core_dft_cpa_1_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by\ + -phase $phase ] + + lappend core_clocks $pins(master_core_dft_cpa_1_clock) + lappend core_clocks_local $local_core_dft_cpa_1_clock + } + + # Calibration master logic clock + if {$pins(master_cal_master_clk) != ""} { + set pll_cal_master_clk [get_pins -nowarn $pins(master_cal_master_clk)] + + if {[get_collection_size $pll_cal_master_clk] > 0} { + set name "core_cal_master_clk" + set master_core_clock $pins(master_cal_master_clk) + set divide_by $var(pll_c4_cnt) + set phase [expr { [lindex $var(PLL_C_CNT_PHASE_PS_STR_4) 0] * 360.0 / $var(PHY_VCO_FREQ_PS) / $var(pll_c4_cnt) } ] + set duty_cyc $var(PLL_C_CNT_DUTY_CYCLE_4) + + set local_cal_master_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cyc ] + + lappend core_clocks $pins(master_cal_master_clk) + lappend core_clocks_local $local_cal_master_clock + } + } + + # Calibration slave logic clock + if {$pins(master_cal_slave_clk) != ""} { + set pll_cal_slave_clk [get_pins -nowarn $pins(master_cal_slave_clk)] + + if {[get_collection_size $pll_cal_slave_clk] > 0} { + set name "core_cal_slave_clk" + set master_core_clock $pins(master_cal_slave_clk) + set divide_by $var(pll_c3_cnt) + set phase [expr { [lindex $var(PLL_C_CNT_PHASE_PS_STR_3) 0] * 360.0 / $var(PHY_VCO_FREQ_PS) / $var(pll_c3_cnt) } ] + set duty_cyc $var(PLL_C_CNT_DUTY_CYCLE_3) + + set local_cal_slave_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cyc ] + + lappend core_clocks $pins(master_cal_slave_clk) + lappend core_clocks_local $local_cal_slave_clock + } + } + + # Optional PLL Extra clocks + for {set i_extra_clk 0} {$i_extra_clk < $var(PLL_NUM_OF_EXTRA_CLKS)} {incr i_extra_clk} { + set pll_extra_clk [get_pins -nowarn $pins(pll_extra_clk_${i_extra_clk})] + + # PLL counter may not exist if clock isn't actually connected and used + if {[get_collection_size $pll_extra_clk] > 0} { + set i_clk_cnt_num [expr {$i_extra_clk + $var(pll_num_of_reserved_cnts)}] + set name "core_extra_clk_${i_extra_clk}" + set master_core_clock $pins(pll_extra_clk_${i_extra_clk}) + set divide_by $var(pll_c${i_clk_cnt_num}_cnt) + set phase [expr { [lindex $var(PLL_C_CNT_PHASE_PS_STR_${i_clk_cnt_num}) 0] * 360.0 / $var(PHY_VCO_FREQ_PS) / $var(pll_c${i_clk_cnt_num}_cnt) } ] + set duty_cyc $var(PLL_C_CNT_DUTY_CYCLE_${i_clk_cnt_num}) + + set local_pll_extra_clock [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $master_core_clock \ + -name "${pins(master_instname)}_${name}" \ + -source $pins(master_vco_clock) \ + -multiply_by 1 \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cyc ] + } + } + } + + # Periphery clocks + set periphery_clocks [list] + set i_phy_clock 0 + foreach { phy_clock } $pins(pll_phy_clock) { + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(PHY_HMC_CLK_RATIO)}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_phy_clk_${i_phy_clock} [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $phy_clock \ + -name "${inst}_phy_clk_${i_phy_clock}" \ + -source [lindex $pins(pll_vco_clock) $i_phy_clock] \ + -multiply_by 1 \ + -divide_by $divide_by \ + -phase $phase ] + lappend periphery_clocks [set local_phy_clk_${i_phy_clock}] + incr i_phy_clock + } + + set i_phy_clock_l 0 + foreach { phy_clock_l } $pins(pll_phy_clock_l) { + set divide_by [expr {$var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) * $var(C2P_P2C_CLK_RATIO)}] + set phase [expr {$var(PLL_PHY_CLK_VCO_PHASE) * 45.0 / $divide_by}] + + set local_phy_clk_l_${i_phy_clock_l} [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target $phy_clock_l \ + -name "${inst}_phy_clk_l_${i_phy_clock_l}" \ + -source [lindex $pins(pll_vco_clock) $i_phy_clock_l] \ + -multiply_by 1 \ + -divide_by $divide_by \ + -phase $phase ] + lappend periphery_clocks [set local_phy_clk_l_${i_phy_clock_l}] + incr i_phy_clock_l + } + + # ------------------------ # + # - - # + # --- WRITE FIFO CLOCK --- # + # - - # + # ------------------------ # + + set write_fifo_clk [get_keepers ${inst}*|tile_gen[*].lane_gen[*].lane_inst|lane_inst~out_phy_reg] + + set i_wf_clock 0 + foreach_in_collection wf_clock $write_fifo_clk { + set vco_clock_id [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_vco_clk_id $wf_clock var] + if {$vco_clock_id == -1} { + post_message -type critical_warning "Failed to find VCO clock" + } else { + set local_wf_clk_${i_wf_clock} [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock \ + -target [get_node_info -name $wf_clock] \ + -name "${inst}_wf_clk_${i_wf_clock}" \ + -source [get_node_info -name $vco_clock_id] \ + -multiply_by 1 \ + -divide_by [expr $var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO)] \ + -phase 0 ] + } + incr i_wf_clock + } + + # ---------------- # + # - - # + # --- A/C PATH --- # + # - - # + # ---------------- # + + # Only during the Fitter do we need to have constraints to allow for auto-delay chain code to + # pick appropirate good settings + # Also, only need it if address/command is not calibrated + if {($fit_flow == 1) && ($var(CA_DESKEW) == 0)} { + + # First, define CK and CK#clocks because A/C timing is defined w.r.t. to these. + set master_ck_clock "" + foreach ac_clk_pin $pins(ac_clk) ac_clk_pin_n $pins(ac_clk_n) { + set master_ck_clock [get_fanins $ac_clk_pin] + foreach_in_collection check_pin $master_ck_clock { + set check_pin_name [get_node_info -name $check_pin] + if {[regexp {out_phy_reg$} $check_pin_name]} { + set master_ck_clock $check_pin_name + break + } + } + create_generated_clock -multiply_by 1 -source $master_ck_clock $ac_clk_pin -name $ac_clk_pin + create_generated_clock -multiply_by 1 -invert -source $master_ck_clock $ac_clk_pin_n -name $ac_clk_pin_n + } + + foreach { ac_clk_pin } $pins(ac_clk) { + # ac_pins can contain input ports such as mem_err_out_n + # Loop through each ac pin to make sure we only apply set_output_delay to output ports + foreach { ac_pin } $pins(ac_sync) { + set ac_port [ get_ports $ac_pin ] + if {[get_collection_size $ac_port] > 0} { + if [ get_port_info -is_output_port $ac_port ] { + # Specifies the minimum delay difference between the DQS pin and the address/control pins: + set_output_delay -min $ac_min_delay -clock [get_clocks $ac_clk_pin] $ac_port -add_delay + + # Specifies the maximum delay difference between the DQS pin and the address/control pins: + set_output_delay -max $ac_max_delay -clock [get_clocks $ac_clk_pin] $ac_port -add_delay + } + } + } + } + } else { + set_false_path -to $pins(ac_sync) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(ac_sync) + } + + + # ----------------- # + # - - # + # --- READ PATH --- # + # - - # + # ----------------- # + + foreach { read_clock } $pins(rclk) { + create_clock -period "$var(PHY_MEM_CLK_FREQ_MHZ)MHz" -waveform [ list 0 $half_period ] $read_clock -name ${read_clock}_IN -add + } + + # ------------------------------ # + # - - # + # --- MULTICYCLE CONSTRAINTS --- # + # - - # + # ------------------------------ # + + if {!$var(IS_HPS)} { + + # Relax timing to the input of the synchronizer for the local_reset_req signal + # setup=7 and hold=6 are somewhat arbitrary choices + if {$is_master} { + set tmp "${inst}|arch|arch_inst|non_hps.core_clks_rsts_inst|local_reset_req_sync_gen_master.local_reset_req_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # Soft reset synchronizers + # See RTL for the justification of setup=7 and hold=6 + set tmp "${inst}|arch|arch_inst|non_hps.core_clks_rsts_inst|*reset_sync*" + set tmp_pin [get_pins -nowarn ${inst}|arch|arch_inst|non_hps.core_clks_rsts_inst|*reset_sync*|clrn] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # seq2core_reset_done comes out of the PHY at up to 666MHz. Needs to be treated as async with synchronizer in the core. + # setup=7 and hold=6 are somewhat arbitrary choices + set tmp "${inst}|arch|arch_inst|seq_if_inst|non_hps.seq2core_reset_done_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # ac_parity_err + # setup=7 and hold=6 are somewhat arbitrary choices + set tmp "${inst}|arch|arch_inst|seq_if_inst|non_hps.seq2core_ac_parity_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # afi_cal_in_progress (used by cal_counter module) + # setup=7 and hold=6 are somewhat arbitrary choices + set tmp "${inst}|arch|arch_inst|seq_if_inst|non_hps.afi_cal_in_progress_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # afi_cal_success + # setup=7 and hold=6 are somewhat arbitrary choices + set tmp "${inst}|arch|arch_inst|seq_if_inst|non_hps.afi_cal_success_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # afi_cal_fail + # setup=7 and hold=6 are somewhat arbitrary choices + set tmp "${inst}|arch|arch_inst|seq_if_inst|non_hps.afi_cal_fail_sync_inst|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # cal_counter synchronizer for global_reset_n_int + set tmp "${inst}|arch|arch_inst|cal_counter_inst|non_hps.inst_sync_reset_n|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + # cal_counter synchronizer for afi_cal_in_progress + set tmp "${inst}|arch|arch_inst|cal_counter_inst|non_hps.inst_sync_cal_in_progress|din_s1" + set tmp_pin [get_pins -nowarn [list "${tmp}|d" "${tmp}|*data"]] + set tmp_reg [get_registers -nowarn $tmp] + if {[get_collection_size $tmp_pin] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through $tmp_pin -to $tmp -setup 7 -end + set_multicycle_path -through $tmp_pin -to $tmp -hold 6 -end + } else { + set_false_path -through $tmp_pin -to $tmp_reg + } + } + + set tmp [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_core2ctl[6]] + if {[get_collection_size $tmp] > 0} { + set_multicycle_path -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through $tmp -from [get_keepers *reset*] -setup 3 -end + set_multicycle_path -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through $tmp -from [get_keepers *reset*] -hold 2 -end + } + + if {$var(PHY_USERMODE_OCT)} { + set tmp [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_ctl2core[19]] + if {[get_collection_size $tmp] > 0} { + set_multicycle_path -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_ctl2core[19] -to *gen_oct_cal_req.gen_oct_cal_req_no_hps.oct_cal_req_regs* -setup 4 -start + set_multicycle_path -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_ctl2core[19] -to *gen_oct_cal_req.gen_oct_cal_req_no_hps.oct_cal_req_regs* -hold 3 -start + } + + set tmp [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_core2ctl[7]] + if {[get_collection_size $tmp] > 0} { + set_multicycle_path -from ${inst}|arch|arch_inst|seq_if_inst|gen_oct_cal_rdy.gen_oct_cal_rdy_no_hps.oct_cal_rdy_regs|regs.sr_out* -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_core2ctl[7] -setup 4 -start + set_multicycle_path -from ${inst}|arch|arch_inst|seq_if_inst|gen_oct_cal_rdy.gen_oct_cal_rdy_no_hps.oct_cal_rdy_regs|regs.sr_out* -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst~hmc_reg0 -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].tile_ctrl_inst|afi_core2ctl[7] -hold 3 -start + } + } + + set ufi_wr [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*ufi_write_reg] + set ufi_rd [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*ufi_read_reg] + + if {([get_collection_size $ufi_wr] > 0) && ([get_collection_size $ufi_rd] > 0)} { + set_multicycle_path -from $ufi_wr -to $ufi_rd -setup 1 -end + set_multicycle_path -from $ufi_wr -to $ufi_rd -hold 1 -end + } + } + + if {$var(AMM_C2P_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*amm_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(AMM_P2C_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*amm_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(MMR_C2P_UFI_MODE)!= "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*mmr_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(MMR_P2C_UFI_MODE)!= "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*mmr_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(SEQ_C2P_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*seq_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*hmc_reg* -0.200 + } + } + if {$var(SEQ_P2C_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*seq_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*hmc_reg* -0.200 + } + } + if {$var(ECC_C2P_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*ecc_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(ECC_P2C_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*ecc_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(LANE_C2P_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*lane_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(LANE_P2C_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*lane_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(SIDEBAND_C2P_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*sideband_c2p_ufi_i|*ufi_read_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -from $ufi_reg -to ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + if {$var(SIDEBAND_P2C_UFI_MODE) != "pin_ufi_use_in_direct_out_direct"} { + set ufi_reg [get_keepers -nowarn ${inst}|arch|arch_inst|fm_ufis|*sideband_p2c_ufi_i|*ufi_write_reg] + if {[get_collection_size $ufi_reg] > 0} { + set_min_delay -to $ufi_reg -from ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|*phy_reg* -0.200 + } + } + + foreach periphery_clock $periphery_clocks { + set_clock_uncertainty -10ps -add -enable_same_physical_edge -hold -from [get_clocks $periphery_clock] -to [get_clocks $periphery_clock] + } + + if {!$var(IS_HPS)} { + set dll_reset [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|core_dll[2]] + if {[get_collection_size $dll_reset] > 0} { + if {$fit_flow == 1} { + set_multicycle_path -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|core_dll[2] -setup 8 -end + set_multicycle_path -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|core_dll[2] -hold 7 -end + } else { + set_false_path -through ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|core_dll[2] + } + } + } + + # ------------------------------ # + # - - # + # --- FALSE PATH CONSTRAINTS --- # + # - - # + # ------------------------------ # + + if {$var(C2C_TG_FALSE_PATH)} { + set_false_path -from tg|tg|* -to tg|tg|* + } + + + foreach ac_buf_path [concat $var(PATTERNS_AC_CLK) $var(PATTERNS_AC_SYNC) $var(PATTERNS_AC_ASYNC)] { + set length [string length $ac_buf_path] + set last_char [string range $ac_buf_path [expr $length -1] [expr $length -1]] + + if {[string equal $last_char "o"] == 1} { + + set word_idx [string first "cal_oct" $ac_buf_path] + if {$word_idx == -1 } { + set word_idx [string first "no_oct" $ac_buf_path] + set suffix "no_oct.obuf" + } else { + set suffix "cal_oct.obuf" + } + set sub_path [string range $ac_buf_path 0 [expr {$word_idx - 1}]] + + set buf_path ${inst}|${sub_path}${suffix} + set oe_path "${buf_path}|oe" + + set_false_path -through $oe_path + set_disable_timing -from oe -to o $buf_path + } + } + + + foreach ac_n_buf_path $var(PATTERNS_AC_CLK_N) { + set length [string length $ac_n_buf_path] + set last_char [string range $ac_n_buf_path [expr $length -1] [expr $length -1]] + + if {[string equal $last_char "o"] == 1} { + + set word_idx [string first "cal_oct" $ac_n_buf_path] + if {$word_idx == -1 } { + set word_idx [string first "no_oct" $ac_n_buf_path] + set suffix "no_oct.obuf_bar" + } else { + set suffix "cal_oct.obuf_bar" + } + set sub_path [string range $ac_n_buf_path 0 [expr {$word_idx - 1}]] + + set buf_path ${inst}|${sub_path}${suffix} + set oe_path "${buf_path}|oe" + + set_false_path -through $oe_path + set_disable_timing -from oe -to o $buf_path + } + } + + + foreach dqdqs_buf_path [concat $var(PATTERNS_WCLK) $var(PATTERNS_WDATA) $var(PATTERNS_DBI) $var(PATTERNS_DM)] { + set length [string length $dqdqs_buf_path] + set last_char [string range $dqdqs_buf_path [expr $length -1] [expr $length -1]] + + if {[string equal $last_char "o"] == 1} { + set word_idx [string first "cal_oct" $dqdqs_buf_path] + set suffix "cal_oct.obuf" + + set sub_path [string range $dqdqs_buf_path 0 [expr {$word_idx - 1}]] + set buf_path ${inst}|${sub_path}${suffix} + set oe_path "${buf_path}|oe" + set_false_path -through $oe_path + set_disable_timing -from oe -to o $buf_path + } + } + + foreach dqdqs_buf_path $var(PATTERNS_WCLK_N) { + set length [string length $dqdqs_buf_path] + set last_char [string range $dqdqs_buf_path [expr $length -1] [expr $length -1]] + + if {[string equal $last_char "o"] == 1} { + set word_idx [string first "cal_oct" $dqdqs_buf_path] + set suffix "cal_oct.obuf_bar" + + set sub_path [string range $dqdqs_buf_path 0 [expr {$word_idx - 1}]] + set buf_path ${inst}|${sub_path}${suffix} + set oe_path "${buf_path}|oe" + set_false_path -through $oe_path + set_disable_timing -from oe -to o $buf_path + } + } + + # DQ/DQS pins are calibrated + set_false_path -to $pins(wdata) + set_false_path -from $pins(rdata) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(wdata) + set_input_delay -clock $pins(ref_clock_name) 0 $pins(rdata) + if {[llength $pins(dm)] > 0} { + set_false_path -to $pins(dm) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(dm) + } + if {[llength $pins(dbi)] > 0} { + set_false_path -to $pins(dbi) + set_false_path -from $pins(dbi) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(dbi) + set_input_delay -clock $pins(ref_clock_name) 0 $pins(dbi) + } + set_false_path -to $pins(wclk) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(wclk) + if {[llength $pins(wclk_n)] > 0} { + set_false_path -to $pins(wclk_n) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(wclk_n) + } + set_false_path -from $pins(rclk) + if {[llength $pins(rclk_n)] > 0} { + set_false_path -from $pins(rclk_n) + } + if {[llength $pins(ac_clk)] > 0} { + set_false_path -to $pins(ac_clk) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(ac_clk) -add + } + if {[llength $pins(ac_clk_n)] > 0} { + set_false_path -to $pins(ac_clk_n) + set_output_delay -clock $pins(ref_clock_name) 0 $pins(ac_clk_n) -add + } + + if {[llength $pins(ac_async)] > 0} { + set_false_path -to $pins(ac_async) + set_false_path -from $pins(ac_async) + foreach ac_async $pins(ac_async) { + if {[get_port_info -is_input $ac_async] || [get_port_info -is_inout $ac_async]} { + set_input_delay -clock $pins(ref_clock_name) 0 $ac_async + } + if {[get_port_info -is_output $ac_async] || [get_port_info -is_inout $ac_async]} { + set_output_delay -clock $pins(ref_clock_name) 0 $ac_async + } + } + } + + if {!$var(IS_HPS)} { + set tmp_pins_0 [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|core2dbc_rd_data_rdy] + set tmp_pins_1 [get_pins -nowarn ${inst}|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[*].lane_gen[*].lane_inst|lane_inst|dbc2core_rd_data_vld0] + if {[get_collection_size $tmp_pins_0] > 0 && [get_collection_size $tmp_pins_1] > 0} { + set_false_path -through $tmp_pins_0 -through $tmp_pins_1 + } + } + + # ------------------------- # + # - - # + # --- CLOCK UNCERTAINTY --- # + # - - # + # ------------------------- # + + if {!$var(IS_HPS) && ($fit_flow == 1 || $sta_flow == 1)} { + + ################################# + # C2P/P2C transfers + ################################# + + # Get P2C / C2P Multi-tile clock uncertainty + set p2c_c2p_multi_tile_clock_uncertainty [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_p2c_c2p_clock_uncertainty $inst var] + + # Get extra periphery clock uncertainty + set periphery_clock_uncertainty [list] + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_periphery_clock_uncertainty periphery_clock_uncertainty var + + # Get Fitter overconstraints + if {$fit_flow == 1} { + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_periphery_overconstraints periphery_overconstraints_st periphery_overconstraints_mt var + } else { + set periphery_overconstraints_st [list 0.0 0.0 0.0 0.0] + set periphery_overconstraints_mt [list 0.0 0.0 0.0 0.0] + } + + # Now loop over core/periphery clocks and set clock uncertainty + set i_core_clock 0 + foreach core_clock $core_clocks { + if {$core_clock != ""} { + + set local_core_clock [lindex $core_clocks_local $i_core_clock] + + if {$core_clock == $pins(master_core_usr_clock_sec) || $core_clock == $pins(master_core_usr_half_clock_sec)} { + set same_tile_index $i_cpa_clock_tile_sec + } else { + set same_tile_index $i_cpa_clock_tile_pri + } + + set i_phy_clock 0 + foreach { phy_clock } $pins(pll_phy_clock_l) { + + if {$i_phy_clock != $same_tile_index} { + # C2P/P2C where the periphery tile != CPA tile. + # For these transfers the SDC explicitly overrides the clock uncertainty values. + # Therefore, when overconstraining we must not use the "-add" option. + set add_to_derived "" + set c2p_su [expr {$p2c_c2p_multi_tile_clock_uncertainty + [lindex $periphery_overconstraints_mt 0] + [lindex $periphery_clock_uncertainty 0]}] + set c2p_h [expr {$p2c_c2p_multi_tile_clock_uncertainty + [lindex $periphery_overconstraints_mt 1] + [lindex $periphery_clock_uncertainty 1]}] + set p2c_su [expr {$p2c_c2p_multi_tile_clock_uncertainty + [lindex $periphery_overconstraints_mt 2] + [lindex $periphery_clock_uncertainty 2]}] + set p2c_h [expr {$p2c_c2p_multi_tile_clock_uncertainty + [lindex $periphery_overconstraints_mt 3] + [lindex $periphery_clock_uncertainty 3]}] + } else { + # C2P/P2C where the periphery tile == CPA tile + # For these transfers it is safe to use the -add option since we rely on + # derive_clock_uncertainty for the base value. + set add_to_derived "-add" + set c2p_su [expr [lindex $periphery_overconstraints_st 0] + [lindex $periphery_clock_uncertainty 0]] + set c2p_h [expr [lindex $periphery_overconstraints_st 1] + [lindex $periphery_clock_uncertainty 1]] + set p2c_su [expr [lindex $periphery_overconstraints_st 2] + [lindex $periphery_clock_uncertainty 2]] + set p2c_h [expr [lindex $periphery_overconstraints_st 3] + [lindex $periphery_clock_uncertainty 3]] + } + + set catch_exception [catch {set local_phy_clk_l_${i_phy_clock}} result] + if {$catch_exception == 0} { + set_clock_uncertainty -from [get_clocks $local_core_clock] -to [get_clocks [set local_phy_clk_l_${i_phy_clock}]] -suppress_warnings -setup {*}$add_to_derived $c2p_su + set_clock_uncertainty -from [get_clocks $local_core_clock] -to [get_clocks [set local_phy_clk_l_${i_phy_clock}]] -suppress_warnings -hold {*}$add_to_derived $c2p_h + set_clock_uncertainty -to [get_clocks $local_core_clock] -from [get_clocks [set local_phy_clk_l_${i_phy_clock}]] -suppress_warnings -setup {*}$add_to_derived $p2c_su + set_clock_uncertainty -to [get_clocks $local_core_clock] -from [get_clocks [set local_phy_clk_l_${i_phy_clock}]] -suppress_warnings -hold {*}$add_to_derived $p2c_h + + if {$sta_flow == 1 && $var(CUT_C2P_P2C_PATHS)} { + set_false_path -to [get_clocks [set local_phy_clk_l_${i_phy_clock}]] + set_false_path -from [get_clocks [set local_phy_clk_l_${i_phy_clock}]] + } + } + + set catch_exception [catch {set local_phy_clk_${i_phy_clock}} result] + if {$catch_exception == 0} { + set_clock_uncertainty -from [get_clocks $local_core_clock] -to [get_clocks [set local_phy_clk_${i_phy_clock}]] -suppress_warnings -setup {*}$add_to_derived $c2p_su + set_clock_uncertainty -from [get_clocks $local_core_clock] -to [get_clocks [set local_phy_clk_${i_phy_clock}]] -suppress_warnings -hold {*}$add_to_derived $c2p_h + set_clock_uncertainty -to [get_clocks $local_core_clock] -from [get_clocks [set local_phy_clk_${i_phy_clock}]] -suppress_warnings -setup {*}$add_to_derived $p2c_su + set_clock_uncertainty -to [get_clocks $local_core_clock] -from [get_clocks [set local_phy_clk_${i_phy_clock}]] -suppress_warnings -hold {*}$add_to_derived $p2c_h + + if {$sta_flow == 1 && $var(CUT_C2P_P2C_PATHS) } { + set_false_path -to [get_clocks [set local_phy_clk_${i_phy_clock}]] + set_false_path -from [get_clocks [set local_phy_clk_${i_phy_clock}]] + } + + } + + incr i_phy_clock + } + } + incr i_core_clock + } + + ################################# + # Within-core transfers + ################################# + + # Get extra core clock uncertainty + set core_clock_uncertainty [list] + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_clock_uncertainty core_clock_uncertainty var + + # Get Fitter overconstraints + if {$fit_flow == 1} { + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_overconstraints core_overconstraints var + } else { + set core_overconstraints [list 0.0 0.0 0.0 0.0] + } + + set c2c_same_su [expr [lindex $core_overconstraints 0] + [lindex $core_clock_uncertainty 0]] + set c2c_same_h [expr [lindex $core_overconstraints 1] + [lindex $core_clock_uncertainty 1]] + set c2c_diff_su [expr [lindex $core_overconstraints 2] + [lindex $core_clock_uncertainty 2]] + set c2c_diff_h [expr [lindex $core_overconstraints 3] + [lindex $core_clock_uncertainty 3]] + + # For these transfers it is safe to use the -add option of set_clock_uncertainty since + # we rely on derive_clock_uncertainty for the base value. + foreach src_core_clock_local $core_clocks_local { + if {$src_core_clock_local != ""} { + foreach dst_core_clock_local $core_clocks_local { + if {$dst_core_clock_local != ""} { + if {$src_core_clock_local == $dst_core_clock_local} { + # Same clock network transfers + set_clock_uncertainty -from $src_core_clock_local -to $dst_core_clock_local -setup -add $c2c_same_su + set_clock_uncertainty -from $src_core_clock_local -to $dst_core_clock_local -hold -enable_same_physical_edge -add $c2c_same_h + } else { + # Transfers between different core clock networks + set_clock_uncertainty -from $src_core_clock_local -to $dst_core_clock_local -setup -add $c2c_diff_su + set_clock_uncertainty -from $src_core_clock_local -to $dst_core_clock_local -hold -add $c2c_diff_h + } + } + } + } + } + + } + + # --------------------- # + # - - # + # --- ACTIVE CLOCKS --- # + # - - # + # --------------------- # + + if {(($::quartus(nameofexecutable) ne "quartus_fit") && ($::quartus(nameofexecutable) ne "quartus_map"))} { + + if {$var(C2P_P2C_PR) && [llength $periphery_clocks] > 0 && !$debug} { + post_sdc_message info "Setting periphery clocks as inactive; use Report DDR to timing analyze periphery clocks" + set_active_clocks [remove_from_collection [get_active_clocks] [get_clocks $periphery_clocks]] + } + } +} + +# -------------------------- # +# - - # +# --- REPORT DDR COMMAND --- # +# - - # +# -------------------------- # + +add_ddr_report_command "source [list [file join [file dirname [info script]] ${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename}_report_timing.tcl]]" + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sv new file mode 100644 index 0000000000..1292804d6e --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sv @@ -0,0 +1,4093 @@ +module ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy #( + parameter PROTOCOL_ENUM = "", + parameter PHY_TARGET_IS_ES = 0, + parameter PHY_TARGET_IS_ES2 = 0, + parameter PHY_TARGET_IS_PRODUCTION = 0, + parameter PHY_CONFIG_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter PHY_CORE_CLKS_SHARING_ENUM = "", + parameter PHY_CALIBRATED_OCT = 0, + parameter PHY_AC_CALIBRATED_OCT = 0, + parameter PHY_CK_CALIBRATED_OCT = 0, + parameter PHY_DATA_CALIBRATED_OCT = 0, + parameter PHY_MIMIC_HPS_EMIF = 0, + parameter PLL_NUM_OF_EXTRA_CLKS = 0, + parameter MEM_FORMAT_ENUM = "", + parameter MEM_BURST_LENGTH = 0, + parameter MEM_DATA_MASK_EN = 0, + parameter MEM_TTL_DATA_WIDTH = 0, + parameter MEM_TTL_NUM_OF_READ_GROUPS = 0, + parameter MEM_TTL_NUM_OF_WRITE_GROUPS = 0, + parameter DIAG_SIM_REGTEST_MODE = 0, + parameter DIAG_SYNTH_FOR_SIM = 0, + parameter DIAG_SEQ_RESET_AUTO_RELEASE = "", + parameter DIAG_DB_RESET_AUTO_RELEASE = "", + parameter DIAG_ECLIPSE_DEBUG = 0, + parameter DIAG_USE_ABSTRACT_PHY = 0, + parameter DIAG_SIM_VERBOSE_LEVEL = 0, + parameter DIAG_FAST_SIM = 0, + parameter SILICON_REV = "", + parameter IS_HPS = 0, + parameter USER_CLK_RATIO = 0, + parameter C2P_P2C_CLK_RATIO = 0, + parameter PHY_HMC_CLK_RATIO = 0, + parameter DIAG_ABSTRACT_PHY_WLAT = 0, + parameter DIAG_ABSTRACT_PHY_RLAT = 0, + parameter DIAG_CPA_OUT_1_EN = 0, + parameter DIAG_USE_CPA_LOCK = 0, + parameter DQS_BUS_MODE_ENUM = "", + parameter AC_PIN_MAP_SCHEME = "", + parameter NUM_OF_HMC_PORTS = 0, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter HMC_READY_LATENCY = 0, + parameter HMC_CTRL_DIMM_TYPE = "", + parameter SEQ_PT_SYN_CONTENT = "", + parameter SEQ_PT_SIM_CONTENT = "", + parameter REGISTER_AFI_C2P = 0, + parameter REGISTER_AFI_P2C = 0, + parameter REGISTER_AMM_P2C = 0, + parameter REGISTER_AMM_C2P = 0, + parameter NUM_OF_RTL_TILES = 0, + parameter PRI_RDATA_TILE_INDEX = 0, + parameter PRI_RDATA_LANE_INDEX = 0, + parameter PRI_WDATA_TILE_INDEX = 0, + parameter PRI_WDATA_LANE_INDEX = 0, + parameter PRI_AC_TILE_INDEX = 0, + parameter SEC_RDATA_TILE_INDEX = 0, + parameter SEC_RDATA_LANE_INDEX = 0, + parameter SEC_WDATA_TILE_INDEX = 0, + parameter SEC_WDATA_LANE_INDEX = 0, + parameter SEC_AC_TILE_INDEX = 0, + parameter LANES_USAGE_0 = 0, + parameter LANES_USAGE_1 = 0, + parameter LANES_USAGE_2 = 0, + parameter LANES_USAGE_3 = 0, + parameter LANES_USAGE_AUTOGEN_WCNT = 0, + parameter PINS_USAGE_0 = 0, + parameter PINS_USAGE_1 = 0, + parameter PINS_USAGE_2 = 0, + parameter PINS_USAGE_3 = 0, + parameter PINS_USAGE_4 = 0, + parameter PINS_USAGE_5 = 0, + parameter PINS_USAGE_6 = 0, + parameter PINS_USAGE_7 = 0, + parameter PINS_USAGE_8 = 0, + parameter PINS_USAGE_9 = 0, + parameter PINS_USAGE_10 = 0, + parameter PINS_USAGE_11 = 0, + parameter PINS_USAGE_12 = 0, + parameter PINS_USAGE_AUTOGEN_WCNT = 0, + parameter LANE_PIN_USAGE_0 = 0, + parameter LANE_PIN_USAGE_1 = 0, + parameter LANE_PIN_USAGE_2 = 0, + parameter LANE_PIN_USAGE_3 = 0, + parameter LANE_PIN_USAGE_4 = 0, + parameter LANE_PIN_USAGE_5 = 0, + parameter LANE_PIN_USAGE_6 = 0, + parameter LANE_PIN_USAGE_7 = 0, + parameter LANE_PIN_USAGE_8 = 0, + parameter LANE_PIN_USAGE_9 = 0, + parameter LANE_PIN_USAGE_10 = 0, + parameter LANE_PIN_USAGE_11 = 0, + parameter LANE_PIN_USAGE_12 = 0, + parameter LANE_PIN_USAGE_13 = 0, + parameter LANE_PIN_USAGE_14 = 0, + parameter LANE_PIN_USAGE_15 = 0, + parameter LANE_PIN_USAGE_16 = 0, + parameter LANE_PIN_USAGE_17 = 0, + parameter LANE_PIN_USAGE_18 = 0, + parameter LANE_PIN_USAGE_19 = 0, + parameter LANE_PIN_USAGE_20 = 0, + parameter LANE_PIN_USAGE_21 = 0, + parameter LANE_PIN_USAGE_22 = 0, + parameter LANE_PIN_USAGE_23 = 0, + parameter LANE_PIN_USAGE_24 = 0, + parameter LANE_PIN_USAGE_25 = 0, + parameter LANE_PIN_USAGE_26 = 0, + parameter LANE_PIN_USAGE_27 = 0, + parameter LANE_PIN_USAGE_28 = 0, + parameter LANE_PIN_USAGE_29 = 0, + parameter LANE_PIN_USAGE_30 = 0, + parameter LANE_PIN_USAGE_31 = 0, + parameter LANE_PIN_USAGE_32 = 0, + parameter LANE_PIN_USAGE_33 = 0, + parameter LANE_PIN_USAGE_34 = 0, + parameter LANE_PIN_USAGE_35 = 0, + parameter LANE_PIN_USAGE_36 = 0, + parameter LANE_PIN_USAGE_37 = 0, + parameter LANE_PIN_USAGE_38 = 0, + parameter LANE_PIN_USAGE_39 = 0, + parameter LANE_PIN_USAGE_40 = 0, + parameter LANE_PIN_USAGE_41 = 0, + parameter LANE_PIN_USAGE_42 = 0, + parameter LANE_PIN_USAGE_43 = 0, + parameter LANE_PIN_USAGE_44 = 0, + parameter LANE_PIN_USAGE_45 = 0, + parameter LANE_PIN_USAGE_46 = 0, + parameter LANE_PIN_USAGE_47 = 0, + parameter LANE_PIN_USAGE_48 = 0, + parameter LANE_PIN_USAGE_49 = 0, + parameter LANE_PIN_USAGE_50 = 0, + parameter LANE_PIN_USAGE_51 = 0, + parameter LANE_PIN_USAGE_AUTOGEN_WCNT = 0, + parameter PINS_RATE_0 = 0, + parameter PINS_RATE_1 = 0, + parameter PINS_RATE_2 = 0, + parameter PINS_RATE_3 = 0, + parameter PINS_RATE_4 = 0, + parameter PINS_RATE_5 = 0, + parameter PINS_RATE_6 = 0, + parameter PINS_RATE_7 = 0, + parameter PINS_RATE_8 = 0, + parameter PINS_RATE_9 = 0, + parameter PINS_RATE_10 = 0, + parameter PINS_RATE_11 = 0, + parameter PINS_RATE_12 = 0, + parameter PINS_RATE_AUTOGEN_WCNT = 0, + parameter DB_PINS_PROC_MODE_0 = 0, + parameter DB_PINS_PROC_MODE_1 = 0, + parameter DB_PINS_PROC_MODE_2 = 0, + parameter DB_PINS_PROC_MODE_3 = 0, + parameter DB_PINS_PROC_MODE_4 = 0, + parameter DB_PINS_PROC_MODE_5 = 0, + parameter DB_PINS_PROC_MODE_6 = 0, + parameter DB_PINS_PROC_MODE_7 = 0, + parameter DB_PINS_PROC_MODE_8 = 0, + parameter DB_PINS_PROC_MODE_9 = 0, + parameter DB_PINS_PROC_MODE_10 = 0, + parameter DB_PINS_PROC_MODE_11 = 0, + parameter DB_PINS_PROC_MODE_12 = 0, + parameter DB_PINS_PROC_MODE_13 = 0, + parameter DB_PINS_PROC_MODE_14 = 0, + parameter DB_PINS_PROC_MODE_15 = 0, + parameter DB_PINS_PROC_MODE_16 = 0, + parameter DB_PINS_PROC_MODE_17 = 0, + parameter DB_PINS_PROC_MODE_18 = 0, + parameter DB_PINS_PROC_MODE_19 = 0, + parameter DB_PINS_PROC_MODE_20 = 0, + parameter DB_PINS_PROC_MODE_21 = 0, + parameter DB_PINS_PROC_MODE_22 = 0, + parameter DB_PINS_PROC_MODE_23 = 0, + parameter DB_PINS_PROC_MODE_24 = 0, + parameter DB_PINS_PROC_MODE_25 = 0, + parameter DB_PINS_PROC_MODE_26 = 0, + parameter DB_PINS_PROC_MODE_27 = 0, + parameter DB_PINS_PROC_MODE_28 = 0, + parameter DB_PINS_PROC_MODE_29 = 0, + parameter DB_PINS_PROC_MODE_30 = 0, + parameter DB_PINS_PROC_MODE_31 = 0, + parameter DB_PINS_PROC_MODE_32 = 0, + parameter DB_PINS_PROC_MODE_33 = 0, + parameter DB_PINS_PROC_MODE_34 = 0, + parameter DB_PINS_PROC_MODE_35 = 0, + parameter DB_PINS_PROC_MODE_36 = 0, + parameter DB_PINS_PROC_MODE_37 = 0, + parameter DB_PINS_PROC_MODE_38 = 0, + parameter DB_PINS_PROC_MODE_39 = 0, + parameter DB_PINS_PROC_MODE_40 = 0, + parameter DB_PINS_PROC_MODE_41 = 0, + parameter DB_PINS_PROC_MODE_42 = 0, + parameter DB_PINS_PROC_MODE_43 = 0, + parameter DB_PINS_PROC_MODE_44 = 0, + parameter DB_PINS_PROC_MODE_45 = 0, + parameter DB_PINS_PROC_MODE_46 = 0, + parameter DB_PINS_PROC_MODE_47 = 0, + parameter DB_PINS_PROC_MODE_48 = 0, + parameter DB_PINS_PROC_MODE_49 = 0, + parameter DB_PINS_PROC_MODE_50 = 0, + parameter DB_PINS_PROC_MODE_51 = 0, + parameter DB_PINS_PROC_MODE_52 = 0, + parameter DB_PINS_PROC_MODE_53 = 0, + parameter DB_PINS_PROC_MODE_54 = 0, + parameter DB_PINS_PROC_MODE_55 = 0, + parameter DB_PINS_PROC_MODE_56 = 0, + parameter DB_PINS_PROC_MODE_57 = 0, + parameter DB_PINS_PROC_MODE_58 = 0, + parameter DB_PINS_PROC_MODE_59 = 0, + parameter DB_PINS_PROC_MODE_60 = 0, + parameter DB_PINS_PROC_MODE_61 = 0, + parameter DB_PINS_PROC_MODE_62 = 0, + parameter DB_PINS_PROC_MODE_63 = 0, + parameter DB_PINS_PROC_MODE_AUTOGEN_WCNT = 0, + parameter PINS_DATA_IN_MODE_0 = 0, + parameter PINS_DATA_IN_MODE_1 = 0, + parameter PINS_DATA_IN_MODE_2 = 0, + parameter PINS_DATA_IN_MODE_3 = 0, + parameter PINS_DATA_IN_MODE_4 = 0, + parameter PINS_DATA_IN_MODE_5 = 0, + parameter PINS_DATA_IN_MODE_6 = 0, + parameter PINS_DATA_IN_MODE_7 = 0, + parameter PINS_DATA_IN_MODE_8 = 0, + parameter PINS_DATA_IN_MODE_9 = 0, + parameter PINS_DATA_IN_MODE_10 = 0, + parameter PINS_DATA_IN_MODE_11 = 0, + parameter PINS_DATA_IN_MODE_12 = 0, + parameter PINS_DATA_IN_MODE_13 = 0, + parameter PINS_DATA_IN_MODE_14 = 0, + parameter PINS_DATA_IN_MODE_15 = 0, + parameter PINS_DATA_IN_MODE_16 = 0, + parameter PINS_DATA_IN_MODE_17 = 0, + parameter PINS_DATA_IN_MODE_18 = 0, + parameter PINS_DATA_IN_MODE_19 = 0, + parameter PINS_DATA_IN_MODE_20 = 0, + parameter PINS_DATA_IN_MODE_21 = 0, + parameter PINS_DATA_IN_MODE_22 = 0, + parameter PINS_DATA_IN_MODE_23 = 0, + parameter PINS_DATA_IN_MODE_24 = 0, + parameter PINS_DATA_IN_MODE_25 = 0, + parameter PINS_DATA_IN_MODE_26 = 0, + parameter PINS_DATA_IN_MODE_27 = 0, + parameter PINS_DATA_IN_MODE_28 = 0, + parameter PINS_DATA_IN_MODE_29 = 0, + parameter PINS_DATA_IN_MODE_30 = 0, + parameter PINS_DATA_IN_MODE_31 = 0, + parameter PINS_DATA_IN_MODE_32 = 0, + parameter PINS_DATA_IN_MODE_33 = 0, + parameter PINS_DATA_IN_MODE_34 = 0, + parameter PINS_DATA_IN_MODE_35 = 0, + parameter PINS_DATA_IN_MODE_36 = 0, + parameter PINS_DATA_IN_MODE_37 = 0, + parameter PINS_DATA_IN_MODE_38 = 0, + parameter PINS_DATA_IN_MODE_AUTOGEN_WCNT = 0, + parameter PINS_C2L_DRIVEN_0 = 0, + parameter PINS_C2L_DRIVEN_1 = 0, + parameter PINS_C2L_DRIVEN_2 = 0, + parameter PINS_C2L_DRIVEN_3 = 0, + parameter PINS_C2L_DRIVEN_4 = 0, + parameter PINS_C2L_DRIVEN_5 = 0, + parameter PINS_C2L_DRIVEN_6 = 0, + parameter PINS_C2L_DRIVEN_7 = 0, + parameter PINS_C2L_DRIVEN_8 = 0, + parameter PINS_C2L_DRIVEN_9 = 0, + parameter PINS_C2L_DRIVEN_10 = 0, + parameter PINS_C2L_DRIVEN_11 = 0, + parameter PINS_C2L_DRIVEN_12 = 0, + parameter PINS_C2L_DRIVEN_AUTOGEN_WCNT = 0, + parameter PINS_OCT_MODE_0 = 0, + parameter PINS_OCT_MODE_1 = 0, + parameter PINS_OCT_MODE_2 = 0, + parameter PINS_OCT_MODE_3 = 0, + parameter PINS_OCT_MODE_4 = 0, + parameter PINS_OCT_MODE_5 = 0, + parameter PINS_OCT_MODE_6 = 0, + parameter PINS_OCT_MODE_7 = 0, + parameter PINS_OCT_MODE_8 = 0, + parameter PINS_OCT_MODE_9 = 0, + parameter PINS_OCT_MODE_10 = 0, + parameter PINS_OCT_MODE_11 = 0, + parameter PINS_OCT_MODE_12 = 0, + parameter PINS_OCT_MODE_AUTOGEN_WCNT = 0, + parameter PINS_DCC_SPLIT_0 = 0, + parameter PINS_DCC_SPLIT_1 = 0, + parameter PINS_DCC_SPLIT_2 = 0, + parameter PINS_DCC_SPLIT_3 = 0, + parameter PINS_DCC_SPLIT_4 = 0, + parameter PINS_DCC_SPLIT_5 = 0, + parameter PINS_DCC_SPLIT_6 = 0, + parameter PINS_DCC_SPLIT_7 = 0, + parameter PINS_DCC_SPLIT_8 = 0, + parameter PINS_DCC_SPLIT_9 = 0, + parameter PINS_DCC_SPLIT_10 = 0, + parameter PINS_DCC_SPLIT_11 = 0, + parameter PINS_DCC_SPLIT_12 = 0, + parameter PINS_DCC_SPLIT_AUTOGEN_WCNT = 0, + parameter UNUSED_MEM_PINS_PINLOC_0 = 0, + parameter UNUSED_MEM_PINS_PINLOC_1 = 0, + parameter UNUSED_MEM_PINS_PINLOC_2 = 0, + parameter UNUSED_MEM_PINS_PINLOC_3 = 0, + parameter UNUSED_MEM_PINS_PINLOC_4 = 0, + parameter UNUSED_MEM_PINS_PINLOC_5 = 0, + parameter UNUSED_MEM_PINS_PINLOC_6 = 0, + parameter UNUSED_MEM_PINS_PINLOC_7 = 0, + parameter UNUSED_MEM_PINS_PINLOC_8 = 0, + parameter UNUSED_MEM_PINS_PINLOC_9 = 0, + parameter UNUSED_MEM_PINS_PINLOC_10 = 0, + parameter UNUSED_MEM_PINS_PINLOC_11 = 0, + parameter UNUSED_MEM_PINS_PINLOC_12 = 0, + parameter UNUSED_MEM_PINS_PINLOC_13 = 0, + parameter UNUSED_MEM_PINS_PINLOC_14 = 0, + parameter UNUSED_MEM_PINS_PINLOC_15 = 0, + parameter UNUSED_MEM_PINS_PINLOC_16 = 0, + parameter UNUSED_MEM_PINS_PINLOC_17 = 0, + parameter UNUSED_MEM_PINS_PINLOC_18 = 0, + parameter UNUSED_MEM_PINS_PINLOC_19 = 0, + parameter UNUSED_MEM_PINS_PINLOC_20 = 0, + parameter UNUSED_MEM_PINS_PINLOC_21 = 0, + parameter UNUSED_MEM_PINS_PINLOC_22 = 0, + parameter UNUSED_MEM_PINS_PINLOC_23 = 0, + parameter UNUSED_MEM_PINS_PINLOC_24 = 0, + parameter UNUSED_MEM_PINS_PINLOC_25 = 0, + parameter UNUSED_MEM_PINS_PINLOC_26 = 0, + parameter UNUSED_MEM_PINS_PINLOC_27 = 0, + parameter UNUSED_MEM_PINS_PINLOC_28 = 0, + parameter UNUSED_MEM_PINS_PINLOC_29 = 0, + parameter UNUSED_MEM_PINS_PINLOC_30 = 0, + parameter UNUSED_MEM_PINS_PINLOC_31 = 0, + parameter UNUSED_MEM_PINS_PINLOC_32 = 0, + parameter UNUSED_MEM_PINS_PINLOC_33 = 0, + parameter UNUSED_MEM_PINS_PINLOC_34 = 0, + parameter UNUSED_MEM_PINS_PINLOC_35 = 0, + parameter UNUSED_MEM_PINS_PINLOC_36 = 0, + parameter UNUSED_MEM_PINS_PINLOC_37 = 0, + parameter UNUSED_MEM_PINS_PINLOC_38 = 0, + parameter UNUSED_MEM_PINS_PINLOC_39 = 0, + parameter UNUSED_MEM_PINS_PINLOC_40 = 0, + parameter UNUSED_MEM_PINS_PINLOC_41 = 0, + parameter UNUSED_MEM_PINS_PINLOC_42 = 0, + parameter UNUSED_MEM_PINS_PINLOC_43 = 0, + parameter UNUSED_MEM_PINS_PINLOC_44 = 0, + parameter UNUSED_MEM_PINS_PINLOC_45 = 0, + parameter UNUSED_MEM_PINS_PINLOC_46 = 0, + parameter UNUSED_MEM_PINS_PINLOC_47 = 0, + parameter UNUSED_MEM_PINS_PINLOC_48 = 0, + parameter UNUSED_MEM_PINS_PINLOC_49 = 0, + parameter UNUSED_MEM_PINS_PINLOC_50 = 0, + parameter UNUSED_MEM_PINS_PINLOC_51 = 0, + parameter UNUSED_MEM_PINS_PINLOC_52 = 0, + parameter UNUSED_MEM_PINS_PINLOC_53 = 0, + parameter UNUSED_MEM_PINS_PINLOC_54 = 0, + parameter UNUSED_MEM_PINS_PINLOC_55 = 0, + parameter UNUSED_MEM_PINS_PINLOC_56 = 0, + parameter UNUSED_MEM_PINS_PINLOC_57 = 0, + parameter UNUSED_MEM_PINS_PINLOC_58 = 0, + parameter UNUSED_MEM_PINS_PINLOC_59 = 0, + parameter UNUSED_MEM_PINS_PINLOC_60 = 0, + parameter UNUSED_MEM_PINS_PINLOC_61 = 0, + parameter UNUSED_MEM_PINS_PINLOC_62 = 0, + parameter UNUSED_MEM_PINS_PINLOC_63 = 0, + parameter UNUSED_MEM_PINS_PINLOC_64 = 0, + parameter UNUSED_MEM_PINS_PINLOC_65 = 0, + parameter UNUSED_MEM_PINS_PINLOC_66 = 0, + parameter UNUSED_MEM_PINS_PINLOC_67 = 0, + parameter UNUSED_MEM_PINS_PINLOC_68 = 0, + parameter UNUSED_MEM_PINS_PINLOC_69 = 0, + parameter UNUSED_MEM_PINS_PINLOC_70 = 0, + parameter UNUSED_MEM_PINS_PINLOC_71 = 0, + parameter UNUSED_MEM_PINS_PINLOC_72 = 0, + parameter UNUSED_MEM_PINS_PINLOC_73 = 0, + parameter UNUSED_MEM_PINS_PINLOC_74 = 0, + parameter UNUSED_MEM_PINS_PINLOC_75 = 0, + parameter UNUSED_MEM_PINS_PINLOC_76 = 0, + parameter UNUSED_MEM_PINS_PINLOC_77 = 0, + parameter UNUSED_MEM_PINS_PINLOC_78 = 0, + parameter UNUSED_MEM_PINS_PINLOC_79 = 0, + parameter UNUSED_MEM_PINS_PINLOC_80 = 0, + parameter UNUSED_MEM_PINS_PINLOC_81 = 0, + parameter UNUSED_MEM_PINS_PINLOC_82 = 0, + parameter UNUSED_MEM_PINS_PINLOC_83 = 0, + parameter UNUSED_MEM_PINS_PINLOC_84 = 0, + parameter UNUSED_MEM_PINS_PINLOC_85 = 0, + parameter UNUSED_MEM_PINS_PINLOC_86 = 0, + parameter UNUSED_MEM_PINS_PINLOC_87 = 0, + parameter UNUSED_MEM_PINS_PINLOC_88 = 0, + parameter UNUSED_MEM_PINS_PINLOC_89 = 0, + parameter UNUSED_MEM_PINS_PINLOC_90 = 0, + parameter UNUSED_MEM_PINS_PINLOC_91 = 0, + parameter UNUSED_MEM_PINS_PINLOC_92 = 0, + parameter UNUSED_MEM_PINS_PINLOC_93 = 0, + parameter UNUSED_MEM_PINS_PINLOC_94 = 0, + parameter UNUSED_MEM_PINS_PINLOC_95 = 0, + parameter UNUSED_MEM_PINS_PINLOC_96 = 0, + parameter UNUSED_MEM_PINS_PINLOC_97 = 0, + parameter UNUSED_MEM_PINS_PINLOC_98 = 0, + parameter UNUSED_MEM_PINS_PINLOC_99 = 0, + parameter UNUSED_MEM_PINS_PINLOC_100 = 0, + parameter UNUSED_MEM_PINS_PINLOC_101 = 0, + parameter UNUSED_MEM_PINS_PINLOC_102 = 0, + parameter UNUSED_MEM_PINS_PINLOC_103 = 0, + parameter UNUSED_MEM_PINS_PINLOC_104 = 0, + parameter UNUSED_MEM_PINS_PINLOC_105 = 0, + parameter UNUSED_MEM_PINS_PINLOC_106 = 0, + parameter UNUSED_MEM_PINS_PINLOC_107 = 0, + parameter UNUSED_MEM_PINS_PINLOC_108 = 0, + parameter UNUSED_MEM_PINS_PINLOC_109 = 0, + parameter UNUSED_MEM_PINS_PINLOC_110 = 0, + parameter UNUSED_MEM_PINS_PINLOC_111 = 0, + parameter UNUSED_MEM_PINS_PINLOC_112 = 0, + parameter UNUSED_MEM_PINS_PINLOC_113 = 0, + parameter UNUSED_MEM_PINS_PINLOC_114 = 0, + parameter UNUSED_MEM_PINS_PINLOC_115 = 0, + parameter UNUSED_MEM_PINS_PINLOC_116 = 0, + parameter UNUSED_MEM_PINS_PINLOC_117 = 0, + parameter UNUSED_MEM_PINS_PINLOC_118 = 0, + parameter UNUSED_MEM_PINS_PINLOC_119 = 0, + parameter UNUSED_MEM_PINS_PINLOC_120 = 0, + parameter UNUSED_MEM_PINS_PINLOC_121 = 0, + parameter UNUSED_MEM_PINS_PINLOC_122 = 0, + parameter UNUSED_MEM_PINS_PINLOC_123 = 0, + parameter UNUSED_MEM_PINS_PINLOC_124 = 0, + parameter UNUSED_MEM_PINS_PINLOC_125 = 0, + parameter UNUSED_MEM_PINS_PINLOC_126 = 0, + parameter UNUSED_MEM_PINS_PINLOC_127 = 0, + parameter UNUSED_MEM_PINS_PINLOC_128 = 0, + parameter UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT = 0, + parameter UNUSED_DQS_BUSES_LANELOC_0 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_1 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_2 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_3 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_4 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_5 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_6 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_7 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_8 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_9 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_10 = 0, + parameter UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT = 0, + parameter DBC_EXTRA_PIPE_STAGE_EN = "", + parameter DBC_PIPE_LATS_0 = 0, + parameter DBC_PIPE_LATS_1 = 0, + parameter DBC_PIPE_LATS_2 = 0, + parameter DBC_PIPE_LATS_3 = 0, + parameter DBC_PIPE_LATS_4 = 0, + parameter DBC_PIPE_LATS_AUTOGEN_WCNT = 0, + parameter DB_PTR_PIPELINE_DEPTHS_0 = 0, + parameter DB_PTR_PIPELINE_DEPTHS_1 = 0, + parameter DB_PTR_PIPELINE_DEPTHS_2 = 0, + parameter DB_PTR_PIPELINE_DEPTHS_3 = 0, + parameter DB_PTR_PIPELINE_DEPTHS_4 = 0, + parameter DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_0 = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_1 = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_2 = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_3 = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_4 = 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT = 0, + parameter CENTER_TIDS_0 = 0, + parameter CENTER_TIDS_1 = 0, + parameter CENTER_TIDS_2 = 0, + parameter CENTER_TIDS_AUTOGEN_WCNT = 0, + parameter HMC_TIDS_0 = 0, + parameter HMC_TIDS_1 = 0, + parameter HMC_TIDS_2 = 0, + parameter HMC_TIDS_AUTOGEN_WCNT = 0, + parameter LANE_TIDS_0 = 0, + parameter LANE_TIDS_1 = 0, + parameter LANE_TIDS_2 = 0, + parameter LANE_TIDS_3 = 0, + parameter LANE_TIDS_4 = 0, + parameter LANE_TIDS_5 = 0, + parameter LANE_TIDS_6 = 0, + parameter LANE_TIDS_7 = 0, + parameter LANE_TIDS_8 = 0, + parameter LANE_TIDS_9 = 0, + parameter LANE_TIDS_AUTOGEN_WCNT = 0, + parameter PREAMBLE_MODE = "", + parameter DBI_WR_ENABLE = "", + parameter DBI_RD_ENABLE = "", + parameter SWAP_DQS_A_B = "", + parameter DQS_PACK_MODE = "", + parameter OCT_SIZE = 0, + parameter DQSA_LGC_MODE = "", + parameter DQSB_LGC_MODE = "", + parameter DBC_WB_RESERVED_ENTRY = 0, + parameter DLL_MODE = "", + parameter DLL_CODEWORD = 0, + parameter ABPHY_WRITE_PROTOCOL = 0, + parameter PHY_USERMODE_OCT = 0, + parameter PHY_PERIODIC_OCT_RECAL = 0, + parameter GENERATE_PHYLITE = 0, + parameter HPRX_CTLE_EN = "", + parameter HPRX_OFFSET_CAL = "", + parameter CPA_FB_MUX_1_SEL = "", + parameter ENABLE_RD_TYPE = 0, + parameter AMM_C2P_UFI_MODE = "", + parameter AMM_P2C_UFI_MODE = "", + parameter MMR_C2P_UFI_MODE = "", + parameter MMR_P2C_UFI_MODE = "", + parameter SIDEBAND_C2P_UFI_MODE = "", + parameter SIDEBAND_P2C_UFI_MODE = "", + parameter SEQ_C2P_UFI_MODE = "", + parameter SEQ_P2C_UFI_MODE = "", + parameter ECC_C2P_UFI_MODE = "", + parameter ECC_P2C_UFI_MODE = "", + parameter LANE_C2P_UFI_MODE = "", + parameter LANE_P2C_UFI_MODE = "", + parameter AMM_HIPI_DELAY = 0, + parameter MMR_HIPI_DELAY = 0, + parameter SIDEBAND_HIPI_DELAY = 0, + parameter SEQ_HIPI_DELAY = 0, + parameter ECC_HIPI_DELAY = 0, + parameter LANE_HIPI_DELAY = 0, + parameter PRI_HMC_CFG_PING_PONG_MODE = "", + parameter PRI_HMC_CFG_CS_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_COL_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ADDR_ORDER = "", + parameter PRI_HMC_CFG_ARBITER_TYPE = "", + parameter PRI_HMC_CFG_OPEN_PAGE_EN = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_RC = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter PRI_HMC_CFG_REORDER_DATA = "", + parameter PRI_HMC_CFG_REORDER_READ = "", + parameter PRI_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter PRI_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_COL_CMD_SLOT = 0, + parameter PRI_HMC_CFG_ROW_CMD_SLOT = 0, + parameter PRI_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter PRI_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter PRI_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter PRI_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter PRI_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter PRI_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter PRI_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter PRI_HMC_CFG_RD_ODT_ON = 0, + parameter PRI_HMC_CFG_RD_ODT_PERIOD = 0, + parameter PRI_HMC_CFG_READ_ODT_CHIP = 0, + parameter PRI_HMC_CFG_WR_ODT_ON = 0, + parameter PRI_HMC_CFG_WR_ODT_PERIOD = 0, + parameter PRI_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter PRI_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter PRI_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter PRI_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter PRI_HMC_CFG_STARVE_LIMIT = 0, + parameter PRI_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter PRI_HMC_CFG_DQSTRK_EN = "", + parameter PRI_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter PRI_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter PRI_HMC_CFG_USER_RFSH_EN = "", + parameter PRI_HMC_CFG_GEAR_DOWN_EN = "", + parameter PRI_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter PRI_HMC_MEMCLKGATE_SETTING = 0, + parameter PRI_HMC_CFG_TCL = 0, + parameter PRI_HMC_CFG_16_ACT_TO_ACT = 0, + parameter PRI_HMC_CFG_4_ACT_TO_ACT = 0, + parameter PRI_HMC_MEM_IF_AL = 0, + parameter PRI_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter PRI_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter PRI_HMC_MEM_IF_TCCD = 0, + parameter PRI_HMC_MEM_IF_TCCD_S = 0, + parameter PRI_HMC_MEM_IF_TCKESR = 0, + parameter PRI_HMC_MEM_IF_TCKSRX = 0, + parameter PRI_HMC_MEM_IF_TCL = 0, + parameter PRI_HMC_MEM_IF_TCWL = 0, + parameter PRI_HMC_MEM_IF_TDQSCKMAX = 0, + parameter PRI_HMC_MEM_IF_TFAW = 0, + parameter PRI_HMC_MEM_IF_TMOD = 0, + parameter PRI_HMC_MEM_IF_TPL = 0, + parameter PRI_HMC_MEM_IF_TRAS = 0, + parameter PRI_HMC_MEM_IF_TRC = 0, + parameter PRI_HMC_MEM_IF_TRCD = 0, + parameter PRI_HMC_MEM_IF_TREFI = 0, + parameter PRI_HMC_MEM_IF_TRFC = 0, + parameter PRI_HMC_MEM_IF_TRP = 0, + parameter PRI_HMC_MEM_IF_TRRD = 0, + parameter PRI_HMC_MEM_IF_TRRD_S = 0, + parameter PRI_HMC_MEM_IF_TRTP = 0, + parameter PRI_HMC_MEM_IF_TWR = 0, + parameter PRI_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter PRI_HMC_MEM_IF_TWTR = 0, + parameter PRI_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter PRI_HMC_MEM_IF_TWTR_S = 0, + parameter PRI_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter PRI_HMC_MEM_IF_TXP = 0, + parameter PRI_HMC_MEM_IF_TXPDLL = 0, + parameter PRI_HMC_MEM_IF_TXSR = 0, + parameter PRI_HMC_MEM_IF_TZQCS = 0, + parameter PRI_HMC_MEM_IF_TZQOPER = 0, + parameter PRI_HMC_MEM_IF_WR_CRC = 0, + parameter PRI_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter PRI_HMC_CFG_ACT_TO_ACT = 0, + parameter PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter PRI_HMC_CFG_ACT_TO_PCH = 0, + parameter PRI_HMC_CFG_ACT_TO_RDWR = 0, + parameter PRI_HMC_CFG_ARF_PERIOD = 0, + parameter PRI_HMC_CFG_ARF_TO_VALID = 0, + parameter PRI_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter PRI_HMC_CFG_MPR_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter PRI_HMC_CFG_MPS_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter PRI_HMC_CFG_MRR_TO_VALID = 0, + parameter PRI_HMC_CFG_MRS_TO_VALID = 0, + parameter PRI_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter PRI_HMC_CFG_PCH_TO_VALID = 0, + parameter PRI_HMC_CFG_PDN_PERIOD = 0, + parameter PRI_HMC_CFG_PDN_TO_VALID = 0, + parameter PRI_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter PRI_HMC_CFG_RD_AP_TO_VALID = 0, + parameter PRI_HMC_CFG_RD_TO_PCH = 0, + parameter PRI_HMC_CFG_RD_TO_RD = 0, + parameter PRI_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter PRI_HMC_CFG_RD_TO_WR = 0, + parameter PRI_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter PRI_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter PRI_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter PRI_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter PRI_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter PRI_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter PRI_HMC_CFG_SB_CG_DISABLE = "", + parameter PRI_HMC_CFG_SB_DDR4_MR3 = 0, + parameter PRI_HMC_CFG_SB_DDR4_MR4 = 0, + parameter PRI_HMC_CFG_SB_DDR4_MR5 = 0, + parameter PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter PRI_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter PRI_HMC_CFG_SRF_TO_VALID = 0, + parameter PRI_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter PRI_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter PRI_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter PRI_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter PRI_HMC_TEMP_WR_TO_RD = 0, + parameter PRI_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter PRI_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter PRI_HMC_CFG_WR_AP_TO_VALID = 0, + parameter PRI_HMC_CFG_WR_TO_PCH = 0, + parameter PRI_HMC_CFG_WR_TO_RD = 0, + parameter PRI_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter PRI_HMC_CFG_WR_TO_WR = 0, + parameter PRI_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter PRI_HMC_CFG_ZQCL_TO_VALID = 0, + parameter PRI_HMC_CFG_ZQCS_TO_VALID = 0, + parameter PRI_HMC_CHIP_ID = 0, + parameter PRI_HMC_CID_ADDR_WIDTH = 0, + parameter PRI_HMC_3DS_EN = "", + parameter PRI_HMC_3DS_LR_NUM0 = 0, + parameter PRI_HMC_3DS_LR_NUM1 = 0, + parameter PRI_HMC_3DS_LR_NUM2 = 0, + parameter PRI_HMC_3DS_LR_NUM3 = 0, + parameter PRI_HMC_3DS_PR_STAG_ENABLE = "", + parameter PRI_HMC_3DS_REF2REF_DLR = 0, + parameter PRI_HMC_3DSREF_ACK_ON_DONE = "", + parameter PRI_HMC_CFG_MAJOR_MODE_EN = "", + parameter PRI_HMC_CFG_REFRESH_TYPE = 0, + parameter PRI_HMC_CFG_PRE_REFRESH_EN = "", + parameter PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter PRI_HMC_CFG_POST_REFRESH_EN = "", + parameter PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter SEC_HMC_CFG_PING_PONG_MODE = "", + parameter SEC_HMC_CFG_CS_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_COL_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ADDR_ORDER = "", + parameter SEC_HMC_CFG_ARBITER_TYPE = "", + parameter SEC_HMC_CFG_OPEN_PAGE_EN = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_RC = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter SEC_HMC_CFG_REORDER_DATA = "", + parameter SEC_HMC_CFG_REORDER_READ = "", + parameter SEC_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter SEC_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_COL_CMD_SLOT = 0, + parameter SEC_HMC_CFG_ROW_CMD_SLOT = 0, + parameter SEC_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter SEC_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter SEC_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter SEC_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter SEC_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter SEC_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter SEC_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter SEC_HMC_CFG_RD_ODT_ON = 0, + parameter SEC_HMC_CFG_RD_ODT_PERIOD = 0, + parameter SEC_HMC_CFG_READ_ODT_CHIP = 0, + parameter SEC_HMC_CFG_WR_ODT_ON = 0, + parameter SEC_HMC_CFG_WR_ODT_PERIOD = 0, + parameter SEC_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter SEC_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter SEC_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter SEC_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter SEC_HMC_CFG_STARVE_LIMIT = 0, + parameter SEC_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter SEC_HMC_CFG_DQSTRK_EN = "", + parameter SEC_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter SEC_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter SEC_HMC_CFG_USER_RFSH_EN = "", + parameter SEC_HMC_CFG_GEAR_DOWN_EN = "", + parameter SEC_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter SEC_HMC_MEMCLKGATE_SETTING = 0, + parameter SEC_HMC_CFG_TCL = 0, + parameter SEC_HMC_CFG_16_ACT_TO_ACT = 0, + parameter SEC_HMC_CFG_4_ACT_TO_ACT = 0, + parameter SEC_HMC_MEM_IF_AL = 0, + parameter SEC_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter SEC_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter SEC_HMC_MEM_IF_TCCD = 0, + parameter SEC_HMC_MEM_IF_TCCD_S = 0, + parameter SEC_HMC_MEM_IF_TCKESR = 0, + parameter SEC_HMC_MEM_IF_TCKSRX = 0, + parameter SEC_HMC_MEM_IF_TCL = 0, + parameter SEC_HMC_MEM_IF_TCWL = 0, + parameter SEC_HMC_MEM_IF_TDQSCKMAX = 0, + parameter SEC_HMC_MEM_IF_TFAW = 0, + parameter SEC_HMC_MEM_IF_TMOD = 0, + parameter SEC_HMC_MEM_IF_TPL = 0, + parameter SEC_HMC_MEM_IF_TRAS = 0, + parameter SEC_HMC_MEM_IF_TRC = 0, + parameter SEC_HMC_MEM_IF_TRCD = 0, + parameter SEC_HMC_MEM_IF_TREFI = 0, + parameter SEC_HMC_MEM_IF_TRFC = 0, + parameter SEC_HMC_MEM_IF_TRP = 0, + parameter SEC_HMC_MEM_IF_TRRD = 0, + parameter SEC_HMC_MEM_IF_TRRD_S = 0, + parameter SEC_HMC_MEM_IF_TRTP = 0, + parameter SEC_HMC_MEM_IF_TWR = 0, + parameter SEC_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter SEC_HMC_MEM_IF_TWTR = 0, + parameter SEC_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter SEC_HMC_MEM_IF_TWTR_S = 0, + parameter SEC_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter SEC_HMC_MEM_IF_TXP = 0, + parameter SEC_HMC_MEM_IF_TXPDLL = 0, + parameter SEC_HMC_MEM_IF_TXSR = 0, + parameter SEC_HMC_MEM_IF_TZQCS = 0, + parameter SEC_HMC_MEM_IF_TZQOPER = 0, + parameter SEC_HMC_MEM_IF_WR_CRC = 0, + parameter SEC_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter SEC_HMC_CFG_ACT_TO_ACT = 0, + parameter SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter SEC_HMC_CFG_ACT_TO_PCH = 0, + parameter SEC_HMC_CFG_ACT_TO_RDWR = 0, + parameter SEC_HMC_CFG_ARF_PERIOD = 0, + parameter SEC_HMC_CFG_ARF_TO_VALID = 0, + parameter SEC_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter SEC_HMC_CFG_MPR_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter SEC_HMC_CFG_MPS_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter SEC_HMC_CFG_MRR_TO_VALID = 0, + parameter SEC_HMC_CFG_MRS_TO_VALID = 0, + parameter SEC_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter SEC_HMC_CFG_PCH_TO_VALID = 0, + parameter SEC_HMC_CFG_PDN_PERIOD = 0, + parameter SEC_HMC_CFG_PDN_TO_VALID = 0, + parameter SEC_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter SEC_HMC_CFG_RD_AP_TO_VALID = 0, + parameter SEC_HMC_CFG_RD_TO_PCH = 0, + parameter SEC_HMC_CFG_RD_TO_RD = 0, + parameter SEC_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter SEC_HMC_CFG_RD_TO_WR = 0, + parameter SEC_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter SEC_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter SEC_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter SEC_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter SEC_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter SEC_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter SEC_HMC_CFG_SB_CG_DISABLE = "", + parameter SEC_HMC_CFG_SB_DDR4_MR3 = 0, + parameter SEC_HMC_CFG_SB_DDR4_MR4 = 0, + parameter SEC_HMC_CFG_SB_DDR4_MR5 = 0, + parameter SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter SEC_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter SEC_HMC_CFG_SRF_TO_VALID = 0, + parameter SEC_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter SEC_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter SEC_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter SEC_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter SEC_HMC_TEMP_WR_TO_RD = 0, + parameter SEC_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter SEC_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter SEC_HMC_CFG_WR_AP_TO_VALID = 0, + parameter SEC_HMC_CFG_WR_TO_PCH = 0, + parameter SEC_HMC_CFG_WR_TO_RD = 0, + parameter SEC_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter SEC_HMC_CFG_WR_TO_WR = 0, + parameter SEC_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter SEC_HMC_CFG_ZQCL_TO_VALID = 0, + parameter SEC_HMC_CFG_ZQCS_TO_VALID = 0, + parameter SEC_HMC_CHIP_ID = 0, + parameter SEC_HMC_CID_ADDR_WIDTH = 0, + parameter SEC_HMC_3DS_EN = "", + parameter SEC_HMC_3DS_LR_NUM0 = 0, + parameter SEC_HMC_3DS_LR_NUM1 = 0, + parameter SEC_HMC_3DS_LR_NUM2 = 0, + parameter SEC_HMC_3DS_LR_NUM3 = 0, + parameter SEC_HMC_3DS_PR_STAG_ENABLE = "", + parameter SEC_HMC_3DS_REF2REF_DLR = 0, + parameter SEC_HMC_3DSREF_ACK_ON_DONE = "", + parameter SEC_HMC_CFG_MAJOR_MODE_EN = "", + parameter SEC_HMC_CFG_REFRESH_TYPE = 0, + parameter SEC_HMC_CFG_PRE_REFRESH_EN = "", + parameter SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter SEC_HMC_CFG_POST_REFRESH_EN = "", + parameter SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter PINS_PER_LANE = 0, + parameter LANES_PER_TILE = 0, + parameter OCT_CONTROL_WIDTH = 0, + parameter PORT_MEM_CK_WIDTH = 0, + parameter PORT_MEM_CK_PINLOC_0 = 0, + parameter PORT_MEM_CK_PINLOC_1 = 0, + parameter PORT_MEM_CK_PINLOC_2 = 0, + parameter PORT_MEM_CK_PINLOC_3 = 0, + parameter PORT_MEM_CK_PINLOC_4 = 0, + parameter PORT_MEM_CK_PINLOC_5 = 0, + parameter PORT_MEM_CK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_N_WIDTH = 0, + parameter PORT_MEM_CK_N_PINLOC_0 = 0, + parameter PORT_MEM_CK_N_PINLOC_1 = 0, + parameter PORT_MEM_CK_N_PINLOC_2 = 0, + parameter PORT_MEM_CK_N_PINLOC_3 = 0, + parameter PORT_MEM_CK_N_PINLOC_4 = 0, + parameter PORT_MEM_CK_N_PINLOC_5 = 0, + parameter PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_BIDIR_WIDTH = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_0 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_1 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_2 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_3 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_4 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_5 = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_BIDIR_N_WIDTH = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_0 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_1 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_2 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_3 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_4 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_5 = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DK_WIDTH = 0, + parameter PORT_MEM_DK_PINLOC_0 = 0, + parameter PORT_MEM_DK_PINLOC_1 = 0, + parameter PORT_MEM_DK_PINLOC_2 = 0, + parameter PORT_MEM_DK_PINLOC_3 = 0, + parameter PORT_MEM_DK_PINLOC_4 = 0, + parameter PORT_MEM_DK_PINLOC_5 = 0, + parameter PORT_MEM_DK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DK_N_WIDTH = 0, + parameter PORT_MEM_DK_N_PINLOC_0 = 0, + parameter PORT_MEM_DK_N_PINLOC_1 = 0, + parameter PORT_MEM_DK_N_PINLOC_2 = 0, + parameter PORT_MEM_DK_N_PINLOC_3 = 0, + parameter PORT_MEM_DK_N_PINLOC_4 = 0, + parameter PORT_MEM_DK_N_PINLOC_5 = 0, + parameter PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKA_WIDTH = 0, + parameter PORT_MEM_DKA_PINLOC_0 = 0, + parameter PORT_MEM_DKA_PINLOC_1 = 0, + parameter PORT_MEM_DKA_PINLOC_2 = 0, + parameter PORT_MEM_DKA_PINLOC_3 = 0, + parameter PORT_MEM_DKA_PINLOC_4 = 0, + parameter PORT_MEM_DKA_PINLOC_5 = 0, + parameter PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKA_N_WIDTH = 0, + parameter PORT_MEM_DKA_N_PINLOC_0 = 0, + parameter PORT_MEM_DKA_N_PINLOC_1 = 0, + parameter PORT_MEM_DKA_N_PINLOC_2 = 0, + parameter PORT_MEM_DKA_N_PINLOC_3 = 0, + parameter PORT_MEM_DKA_N_PINLOC_4 = 0, + parameter PORT_MEM_DKA_N_PINLOC_5 = 0, + parameter PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKB_WIDTH = 0, + parameter PORT_MEM_DKB_PINLOC_0 = 0, + parameter PORT_MEM_DKB_PINLOC_1 = 0, + parameter PORT_MEM_DKB_PINLOC_2 = 0, + parameter PORT_MEM_DKB_PINLOC_3 = 0, + parameter PORT_MEM_DKB_PINLOC_4 = 0, + parameter PORT_MEM_DKB_PINLOC_5 = 0, + parameter PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKB_N_WIDTH = 0, + parameter PORT_MEM_DKB_N_PINLOC_0 = 0, + parameter PORT_MEM_DKB_N_PINLOC_1 = 0, + parameter PORT_MEM_DKB_N_PINLOC_2 = 0, + parameter PORT_MEM_DKB_N_PINLOC_3 = 0, + parameter PORT_MEM_DKB_N_PINLOC_4 = 0, + parameter PORT_MEM_DKB_N_PINLOC_5 = 0, + parameter PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_K_WIDTH = 0, + parameter PORT_MEM_K_PINLOC_0 = 0, + parameter PORT_MEM_K_PINLOC_1 = 0, + parameter PORT_MEM_K_PINLOC_2 = 0, + parameter PORT_MEM_K_PINLOC_3 = 0, + parameter PORT_MEM_K_PINLOC_4 = 0, + parameter PORT_MEM_K_PINLOC_5 = 0, + parameter PORT_MEM_K_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_K_N_WIDTH = 0, + parameter PORT_MEM_K_N_PINLOC_0 = 0, + parameter PORT_MEM_K_N_PINLOC_1 = 0, + parameter PORT_MEM_K_N_PINLOC_2 = 0, + parameter PORT_MEM_K_N_PINLOC_3 = 0, + parameter PORT_MEM_K_N_PINLOC_4 = 0, + parameter PORT_MEM_K_N_PINLOC_5 = 0, + parameter PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_A_WIDTH = 0, + parameter PORT_MEM_A_PINLOC_0 = 0, + parameter PORT_MEM_A_PINLOC_1 = 0, + parameter PORT_MEM_A_PINLOC_2 = 0, + parameter PORT_MEM_A_PINLOC_3 = 0, + parameter PORT_MEM_A_PINLOC_4 = 0, + parameter PORT_MEM_A_PINLOC_5 = 0, + parameter PORT_MEM_A_PINLOC_6 = 0, + parameter PORT_MEM_A_PINLOC_7 = 0, + parameter PORT_MEM_A_PINLOC_8 = 0, + parameter PORT_MEM_A_PINLOC_9 = 0, + parameter PORT_MEM_A_PINLOC_10 = 0, + parameter PORT_MEM_A_PINLOC_11 = 0, + parameter PORT_MEM_A_PINLOC_12 = 0, + parameter PORT_MEM_A_PINLOC_13 = 0, + parameter PORT_MEM_A_PINLOC_14 = 0, + parameter PORT_MEM_A_PINLOC_15 = 0, + parameter PORT_MEM_A_PINLOC_16 = 0, + parameter PORT_MEM_A_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BA_WIDTH = 0, + parameter PORT_MEM_BA_PINLOC_0 = 0, + parameter PORT_MEM_BA_PINLOC_1 = 0, + parameter PORT_MEM_BA_PINLOC_2 = 0, + parameter PORT_MEM_BA_PINLOC_3 = 0, + parameter PORT_MEM_BA_PINLOC_4 = 0, + parameter PORT_MEM_BA_PINLOC_5 = 0, + parameter PORT_MEM_BA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BG_WIDTH = 0, + parameter PORT_MEM_BG_PINLOC_0 = 0, + parameter PORT_MEM_BG_PINLOC_1 = 0, + parameter PORT_MEM_BG_PINLOC_2 = 0, + parameter PORT_MEM_BG_PINLOC_3 = 0, + parameter PORT_MEM_BG_PINLOC_4 = 0, + parameter PORT_MEM_BG_PINLOC_5 = 0, + parameter PORT_MEM_BG_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_C_WIDTH = 0, + parameter PORT_MEM_C_PINLOC_0 = 0, + parameter PORT_MEM_C_PINLOC_1 = 0, + parameter PORT_MEM_C_PINLOC_2 = 0, + parameter PORT_MEM_C_PINLOC_3 = 0, + parameter PORT_MEM_C_PINLOC_4 = 0, + parameter PORT_MEM_C_PINLOC_5 = 0, + parameter PORT_MEM_C_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CKE_WIDTH = 0, + parameter PORT_MEM_CKE_PINLOC_0 = 0, + parameter PORT_MEM_CKE_PINLOC_1 = 0, + parameter PORT_MEM_CKE_PINLOC_2 = 0, + parameter PORT_MEM_CKE_PINLOC_3 = 0, + parameter PORT_MEM_CKE_PINLOC_4 = 0, + parameter PORT_MEM_CKE_PINLOC_5 = 0, + parameter PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CS_N_WIDTH = 0, + parameter PORT_MEM_CS_N_PINLOC_0 = 0, + parameter PORT_MEM_CS_N_PINLOC_1 = 0, + parameter PORT_MEM_CS_N_PINLOC_2 = 0, + parameter PORT_MEM_CS_N_PINLOC_3 = 0, + parameter PORT_MEM_CS_N_PINLOC_4 = 0, + parameter PORT_MEM_CS_N_PINLOC_5 = 0, + parameter PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RM_WIDTH = 0, + parameter PORT_MEM_RM_PINLOC_0 = 0, + parameter PORT_MEM_RM_PINLOC_1 = 0, + parameter PORT_MEM_RM_PINLOC_2 = 0, + parameter PORT_MEM_RM_PINLOC_3 = 0, + parameter PORT_MEM_RM_PINLOC_4 = 0, + parameter PORT_MEM_RM_PINLOC_5 = 0, + parameter PORT_MEM_RM_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ODT_WIDTH = 0, + parameter PORT_MEM_ODT_PINLOC_0 = 0, + parameter PORT_MEM_ODT_PINLOC_1 = 0, + parameter PORT_MEM_ODT_PINLOC_2 = 0, + parameter PORT_MEM_ODT_PINLOC_3 = 0, + parameter PORT_MEM_ODT_PINLOC_4 = 0, + parameter PORT_MEM_ODT_PINLOC_5 = 0, + parameter PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_REQ_N_WIDTH = 0, + parameter PORT_MEM_REQ_N_PINLOC_0 = 0, + parameter PORT_MEM_REQ_N_PINLOC_1 = 0, + parameter PORT_MEM_REQ_N_PINLOC_2 = 0, + parameter PORT_MEM_REQ_N_PINLOC_3 = 0, + parameter PORT_MEM_REQ_N_PINLOC_4 = 0, + parameter PORT_MEM_REQ_N_PINLOC_5 = 0, + parameter PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_GNT_N_WIDTH = 0, + parameter PORT_MEM_GNT_N_PINLOC_0 = 0, + parameter PORT_MEM_GNT_N_PINLOC_1 = 0, + parameter PORT_MEM_GNT_N_PINLOC_2 = 0, + parameter PORT_MEM_GNT_N_PINLOC_3 = 0, + parameter PORT_MEM_GNT_N_PINLOC_4 = 0, + parameter PORT_MEM_GNT_N_PINLOC_5 = 0, + parameter PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ERR_N_WIDTH = 0, + parameter PORT_MEM_ERR_N_PINLOC_0 = 0, + parameter PORT_MEM_ERR_N_PINLOC_1 = 0, + parameter PORT_MEM_ERR_N_PINLOC_2 = 0, + parameter PORT_MEM_ERR_N_PINLOC_3 = 0, + parameter PORT_MEM_ERR_N_PINLOC_4 = 0, + parameter PORT_MEM_ERR_N_PINLOC_5 = 0, + parameter PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RAS_N_WIDTH = 0, + parameter PORT_MEM_RAS_N_PINLOC_0 = 0, + parameter PORT_MEM_RAS_N_PINLOC_1 = 0, + parameter PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CAS_N_WIDTH = 0, + parameter PORT_MEM_CAS_N_PINLOC_0 = 0, + parameter PORT_MEM_CAS_N_PINLOC_1 = 0, + parameter PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_WE_N_WIDTH = 0, + parameter PORT_MEM_WE_N_PINLOC_0 = 0, + parameter PORT_MEM_WE_N_PINLOC_1 = 0, + parameter PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RESET_N_WIDTH = 0, + parameter PORT_MEM_RESET_N_PINLOC_0 = 0, + parameter PORT_MEM_RESET_N_PINLOC_1 = 0, + parameter PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ACT_N_WIDTH = 0, + parameter PORT_MEM_ACT_N_PINLOC_0 = 0, + parameter PORT_MEM_ACT_N_PINLOC_1 = 0, + parameter PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_PAR_WIDTH = 0, + parameter PORT_MEM_PAR_PINLOC_0 = 0, + parameter PORT_MEM_PAR_PINLOC_1 = 0, + parameter PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CA_WIDTH = 0, + parameter PORT_MEM_CA_PINLOC_0 = 0, + parameter PORT_MEM_CA_PINLOC_1 = 0, + parameter PORT_MEM_CA_PINLOC_2 = 0, + parameter PORT_MEM_CA_PINLOC_3 = 0, + parameter PORT_MEM_CA_PINLOC_4 = 0, + parameter PORT_MEM_CA_PINLOC_5 = 0, + parameter PORT_MEM_CA_PINLOC_6 = 0, + parameter PORT_MEM_CA_PINLOC_7 = 0, + parameter PORT_MEM_CA_PINLOC_8 = 0, + parameter PORT_MEM_CA_PINLOC_9 = 0, + parameter PORT_MEM_CA_PINLOC_10 = 0, + parameter PORT_MEM_CA_PINLOC_11 = 0, + parameter PORT_MEM_CA_PINLOC_12 = 0, + parameter PORT_MEM_CA_PINLOC_13 = 0, + parameter PORT_MEM_CA_PINLOC_14 = 0, + parameter PORT_MEM_CA_PINLOC_15 = 0, + parameter PORT_MEM_CA_PINLOC_16 = 0, + parameter PORT_MEM_CA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_REF_N_WIDTH = 0, + parameter PORT_MEM_REF_N_PINLOC_0 = 0, + parameter PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_WPS_N_WIDTH = 0, + parameter PORT_MEM_WPS_N_PINLOC_0 = 0, + parameter PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RPS_N_WIDTH = 0, + parameter PORT_MEM_RPS_N_PINLOC_0 = 0, + parameter PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DOFF_N_WIDTH = 0, + parameter PORT_MEM_DOFF_N_PINLOC_0 = 0, + parameter PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LDA_N_WIDTH = 0, + parameter PORT_MEM_LDA_N_PINLOC_0 = 0, + parameter PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LDB_N_WIDTH = 0, + parameter PORT_MEM_LDB_N_PINLOC_0 = 0, + parameter PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RWA_N_WIDTH = 0, + parameter PORT_MEM_RWA_N_PINLOC_0 = 0, + parameter PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RWB_N_WIDTH = 0, + parameter PORT_MEM_RWB_N_PINLOC_0 = 0, + parameter PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LBK0_N_WIDTH = 0, + parameter PORT_MEM_LBK0_N_PINLOC_0 = 0, + parameter PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LBK1_N_WIDTH = 0, + parameter PORT_MEM_LBK1_N_PINLOC_0 = 0, + parameter PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CFG_N_WIDTH = 0, + parameter PORT_MEM_CFG_N_PINLOC_0 = 0, + parameter PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_AP_WIDTH = 0, + parameter PORT_MEM_AP_PINLOC_0 = 0, + parameter PORT_MEM_AP_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_AINV_WIDTH = 0, + parameter PORT_MEM_AINV_PINLOC_0 = 0, + parameter PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DM_WIDTH = 0, + parameter PORT_MEM_DM_PINLOC_0 = 0, + parameter PORT_MEM_DM_PINLOC_1 = 0, + parameter PORT_MEM_DM_PINLOC_2 = 0, + parameter PORT_MEM_DM_PINLOC_3 = 0, + parameter PORT_MEM_DM_PINLOC_4 = 0, + parameter PORT_MEM_DM_PINLOC_5 = 0, + parameter PORT_MEM_DM_PINLOC_6 = 0, + parameter PORT_MEM_DM_PINLOC_7 = 0, + parameter PORT_MEM_DM_PINLOC_8 = 0, + parameter PORT_MEM_DM_PINLOC_9 = 0, + parameter PORT_MEM_DM_PINLOC_10 = 0, + parameter PORT_MEM_DM_PINLOC_11 = 0, + parameter PORT_MEM_DM_PINLOC_12 = 0, + parameter PORT_MEM_DM_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BWS_N_WIDTH = 0, + parameter PORT_MEM_BWS_N_PINLOC_0 = 0, + parameter PORT_MEM_BWS_N_PINLOC_1 = 0, + parameter PORT_MEM_BWS_N_PINLOC_2 = 0, + parameter PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_D_WIDTH = 0, + parameter PORT_MEM_D_PINLOC_0 = 0, + parameter PORT_MEM_D_PINLOC_1 = 0, + parameter PORT_MEM_D_PINLOC_2 = 0, + parameter PORT_MEM_D_PINLOC_3 = 0, + parameter PORT_MEM_D_PINLOC_4 = 0, + parameter PORT_MEM_D_PINLOC_5 = 0, + parameter PORT_MEM_D_PINLOC_6 = 0, + parameter PORT_MEM_D_PINLOC_7 = 0, + parameter PORT_MEM_D_PINLOC_8 = 0, + parameter PORT_MEM_D_PINLOC_9 = 0, + parameter PORT_MEM_D_PINLOC_10 = 0, + parameter PORT_MEM_D_PINLOC_11 = 0, + parameter PORT_MEM_D_PINLOC_12 = 0, + parameter PORT_MEM_D_PINLOC_13 = 0, + parameter PORT_MEM_D_PINLOC_14 = 0, + parameter PORT_MEM_D_PINLOC_15 = 0, + parameter PORT_MEM_D_PINLOC_16 = 0, + parameter PORT_MEM_D_PINLOC_17 = 0, + parameter PORT_MEM_D_PINLOC_18 = 0, + parameter PORT_MEM_D_PINLOC_19 = 0, + parameter PORT_MEM_D_PINLOC_20 = 0, + parameter PORT_MEM_D_PINLOC_21 = 0, + parameter PORT_MEM_D_PINLOC_22 = 0, + parameter PORT_MEM_D_PINLOC_23 = 0, + parameter PORT_MEM_D_PINLOC_24 = 0, + parameter PORT_MEM_D_PINLOC_25 = 0, + parameter PORT_MEM_D_PINLOC_26 = 0, + parameter PORT_MEM_D_PINLOC_27 = 0, + parameter PORT_MEM_D_PINLOC_28 = 0, + parameter PORT_MEM_D_PINLOC_29 = 0, + parameter PORT_MEM_D_PINLOC_30 = 0, + parameter PORT_MEM_D_PINLOC_31 = 0, + parameter PORT_MEM_D_PINLOC_32 = 0, + parameter PORT_MEM_D_PINLOC_33 = 0, + parameter PORT_MEM_D_PINLOC_34 = 0, + parameter PORT_MEM_D_PINLOC_35 = 0, + parameter PORT_MEM_D_PINLOC_36 = 0, + parameter PORT_MEM_D_PINLOC_37 = 0, + parameter PORT_MEM_D_PINLOC_38 = 0, + parameter PORT_MEM_D_PINLOC_39 = 0, + parameter PORT_MEM_D_PINLOC_40 = 0, + parameter PORT_MEM_D_PINLOC_41 = 0, + parameter PORT_MEM_D_PINLOC_42 = 0, + parameter PORT_MEM_D_PINLOC_43 = 0, + parameter PORT_MEM_D_PINLOC_44 = 0, + parameter PORT_MEM_D_PINLOC_45 = 0, + parameter PORT_MEM_D_PINLOC_46 = 0, + parameter PORT_MEM_D_PINLOC_47 = 0, + parameter PORT_MEM_D_PINLOC_48 = 0, + parameter PORT_MEM_D_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQ_WIDTH = 0, + parameter PORT_MEM_DQ_PINLOC_0 = 0, + parameter PORT_MEM_DQ_PINLOC_1 = 0, + parameter PORT_MEM_DQ_PINLOC_2 = 0, + parameter PORT_MEM_DQ_PINLOC_3 = 0, + parameter PORT_MEM_DQ_PINLOC_4 = 0, + parameter PORT_MEM_DQ_PINLOC_5 = 0, + parameter PORT_MEM_DQ_PINLOC_6 = 0, + parameter PORT_MEM_DQ_PINLOC_7 = 0, + parameter PORT_MEM_DQ_PINLOC_8 = 0, + parameter PORT_MEM_DQ_PINLOC_9 = 0, + parameter PORT_MEM_DQ_PINLOC_10 = 0, + parameter PORT_MEM_DQ_PINLOC_11 = 0, + parameter PORT_MEM_DQ_PINLOC_12 = 0, + parameter PORT_MEM_DQ_PINLOC_13 = 0, + parameter PORT_MEM_DQ_PINLOC_14 = 0, + parameter PORT_MEM_DQ_PINLOC_15 = 0, + parameter PORT_MEM_DQ_PINLOC_16 = 0, + parameter PORT_MEM_DQ_PINLOC_17 = 0, + parameter PORT_MEM_DQ_PINLOC_18 = 0, + parameter PORT_MEM_DQ_PINLOC_19 = 0, + parameter PORT_MEM_DQ_PINLOC_20 = 0, + parameter PORT_MEM_DQ_PINLOC_21 = 0, + parameter PORT_MEM_DQ_PINLOC_22 = 0, + parameter PORT_MEM_DQ_PINLOC_23 = 0, + parameter PORT_MEM_DQ_PINLOC_24 = 0, + parameter PORT_MEM_DQ_PINLOC_25 = 0, + parameter PORT_MEM_DQ_PINLOC_26 = 0, + parameter PORT_MEM_DQ_PINLOC_27 = 0, + parameter PORT_MEM_DQ_PINLOC_28 = 0, + parameter PORT_MEM_DQ_PINLOC_29 = 0, + parameter PORT_MEM_DQ_PINLOC_30 = 0, + parameter PORT_MEM_DQ_PINLOC_31 = 0, + parameter PORT_MEM_DQ_PINLOC_32 = 0, + parameter PORT_MEM_DQ_PINLOC_33 = 0, + parameter PORT_MEM_DQ_PINLOC_34 = 0, + parameter PORT_MEM_DQ_PINLOC_35 = 0, + parameter PORT_MEM_DQ_PINLOC_36 = 0, + parameter PORT_MEM_DQ_PINLOC_37 = 0, + parameter PORT_MEM_DQ_PINLOC_38 = 0, + parameter PORT_MEM_DQ_PINLOC_39 = 0, + parameter PORT_MEM_DQ_PINLOC_40 = 0, + parameter PORT_MEM_DQ_PINLOC_41 = 0, + parameter PORT_MEM_DQ_PINLOC_42 = 0, + parameter PORT_MEM_DQ_PINLOC_43 = 0, + parameter PORT_MEM_DQ_PINLOC_44 = 0, + parameter PORT_MEM_DQ_PINLOC_45 = 0, + parameter PORT_MEM_DQ_PINLOC_46 = 0, + parameter PORT_MEM_DQ_PINLOC_47 = 0, + parameter PORT_MEM_DQ_PINLOC_48 = 0, + parameter PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DBI_N_WIDTH = 0, + parameter PORT_MEM_DBI_N_PINLOC_0 = 0, + parameter PORT_MEM_DBI_N_PINLOC_1 = 0, + parameter PORT_MEM_DBI_N_PINLOC_2 = 0, + parameter PORT_MEM_DBI_N_PINLOC_3 = 0, + parameter PORT_MEM_DBI_N_PINLOC_4 = 0, + parameter PORT_MEM_DBI_N_PINLOC_5 = 0, + parameter PORT_MEM_DBI_N_PINLOC_6 = 0, + parameter PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQA_WIDTH = 0, + parameter PORT_MEM_DQA_PINLOC_0 = 0, + parameter PORT_MEM_DQA_PINLOC_1 = 0, + parameter PORT_MEM_DQA_PINLOC_2 = 0, + parameter PORT_MEM_DQA_PINLOC_3 = 0, + parameter PORT_MEM_DQA_PINLOC_4 = 0, + parameter PORT_MEM_DQA_PINLOC_5 = 0, + parameter PORT_MEM_DQA_PINLOC_6 = 0, + parameter PORT_MEM_DQA_PINLOC_7 = 0, + parameter PORT_MEM_DQA_PINLOC_8 = 0, + parameter PORT_MEM_DQA_PINLOC_9 = 0, + parameter PORT_MEM_DQA_PINLOC_10 = 0, + parameter PORT_MEM_DQA_PINLOC_11 = 0, + parameter PORT_MEM_DQA_PINLOC_12 = 0, + parameter PORT_MEM_DQA_PINLOC_13 = 0, + parameter PORT_MEM_DQA_PINLOC_14 = 0, + parameter PORT_MEM_DQA_PINLOC_15 = 0, + parameter PORT_MEM_DQA_PINLOC_16 = 0, + parameter PORT_MEM_DQA_PINLOC_17 = 0, + parameter PORT_MEM_DQA_PINLOC_18 = 0, + parameter PORT_MEM_DQA_PINLOC_19 = 0, + parameter PORT_MEM_DQA_PINLOC_20 = 0, + parameter PORT_MEM_DQA_PINLOC_21 = 0, + parameter PORT_MEM_DQA_PINLOC_22 = 0, + parameter PORT_MEM_DQA_PINLOC_23 = 0, + parameter PORT_MEM_DQA_PINLOC_24 = 0, + parameter PORT_MEM_DQA_PINLOC_25 = 0, + parameter PORT_MEM_DQA_PINLOC_26 = 0, + parameter PORT_MEM_DQA_PINLOC_27 = 0, + parameter PORT_MEM_DQA_PINLOC_28 = 0, + parameter PORT_MEM_DQA_PINLOC_29 = 0, + parameter PORT_MEM_DQA_PINLOC_30 = 0, + parameter PORT_MEM_DQA_PINLOC_31 = 0, + parameter PORT_MEM_DQA_PINLOC_32 = 0, + parameter PORT_MEM_DQA_PINLOC_33 = 0, + parameter PORT_MEM_DQA_PINLOC_34 = 0, + parameter PORT_MEM_DQA_PINLOC_35 = 0, + parameter PORT_MEM_DQA_PINLOC_36 = 0, + parameter PORT_MEM_DQA_PINLOC_37 = 0, + parameter PORT_MEM_DQA_PINLOC_38 = 0, + parameter PORT_MEM_DQA_PINLOC_39 = 0, + parameter PORT_MEM_DQA_PINLOC_40 = 0, + parameter PORT_MEM_DQA_PINLOC_41 = 0, + parameter PORT_MEM_DQA_PINLOC_42 = 0, + parameter PORT_MEM_DQA_PINLOC_43 = 0, + parameter PORT_MEM_DQA_PINLOC_44 = 0, + parameter PORT_MEM_DQA_PINLOC_45 = 0, + parameter PORT_MEM_DQA_PINLOC_46 = 0, + parameter PORT_MEM_DQA_PINLOC_47 = 0, + parameter PORT_MEM_DQA_PINLOC_48 = 0, + parameter PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQB_WIDTH = 0, + parameter PORT_MEM_DQB_PINLOC_0 = 0, + parameter PORT_MEM_DQB_PINLOC_1 = 0, + parameter PORT_MEM_DQB_PINLOC_2 = 0, + parameter PORT_MEM_DQB_PINLOC_3 = 0, + parameter PORT_MEM_DQB_PINLOC_4 = 0, + parameter PORT_MEM_DQB_PINLOC_5 = 0, + parameter PORT_MEM_DQB_PINLOC_6 = 0, + parameter PORT_MEM_DQB_PINLOC_7 = 0, + parameter PORT_MEM_DQB_PINLOC_8 = 0, + parameter PORT_MEM_DQB_PINLOC_9 = 0, + parameter PORT_MEM_DQB_PINLOC_10 = 0, + parameter PORT_MEM_DQB_PINLOC_11 = 0, + parameter PORT_MEM_DQB_PINLOC_12 = 0, + parameter PORT_MEM_DQB_PINLOC_13 = 0, + parameter PORT_MEM_DQB_PINLOC_14 = 0, + parameter PORT_MEM_DQB_PINLOC_15 = 0, + parameter PORT_MEM_DQB_PINLOC_16 = 0, + parameter PORT_MEM_DQB_PINLOC_17 = 0, + parameter PORT_MEM_DQB_PINLOC_18 = 0, + parameter PORT_MEM_DQB_PINLOC_19 = 0, + parameter PORT_MEM_DQB_PINLOC_20 = 0, + parameter PORT_MEM_DQB_PINLOC_21 = 0, + parameter PORT_MEM_DQB_PINLOC_22 = 0, + parameter PORT_MEM_DQB_PINLOC_23 = 0, + parameter PORT_MEM_DQB_PINLOC_24 = 0, + parameter PORT_MEM_DQB_PINLOC_25 = 0, + parameter PORT_MEM_DQB_PINLOC_26 = 0, + parameter PORT_MEM_DQB_PINLOC_27 = 0, + parameter PORT_MEM_DQB_PINLOC_28 = 0, + parameter PORT_MEM_DQB_PINLOC_29 = 0, + parameter PORT_MEM_DQB_PINLOC_30 = 0, + parameter PORT_MEM_DQB_PINLOC_31 = 0, + parameter PORT_MEM_DQB_PINLOC_32 = 0, + parameter PORT_MEM_DQB_PINLOC_33 = 0, + parameter PORT_MEM_DQB_PINLOC_34 = 0, + parameter PORT_MEM_DQB_PINLOC_35 = 0, + parameter PORT_MEM_DQB_PINLOC_36 = 0, + parameter PORT_MEM_DQB_PINLOC_37 = 0, + parameter PORT_MEM_DQB_PINLOC_38 = 0, + parameter PORT_MEM_DQB_PINLOC_39 = 0, + parameter PORT_MEM_DQB_PINLOC_40 = 0, + parameter PORT_MEM_DQB_PINLOC_41 = 0, + parameter PORT_MEM_DQB_PINLOC_42 = 0, + parameter PORT_MEM_DQB_PINLOC_43 = 0, + parameter PORT_MEM_DQB_PINLOC_44 = 0, + parameter PORT_MEM_DQB_PINLOC_45 = 0, + parameter PORT_MEM_DQB_PINLOC_46 = 0, + parameter PORT_MEM_DQB_PINLOC_47 = 0, + parameter PORT_MEM_DQB_PINLOC_48 = 0, + parameter PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DINVA_WIDTH = 0, + parameter PORT_MEM_DINVA_PINLOC_0 = 0, + parameter PORT_MEM_DINVA_PINLOC_1 = 0, + parameter PORT_MEM_DINVA_PINLOC_2 = 0, + parameter PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DINVB_WIDTH = 0, + parameter PORT_MEM_DINVB_PINLOC_0 = 0, + parameter PORT_MEM_DINVB_PINLOC_1 = 0, + parameter PORT_MEM_DINVB_PINLOC_2 = 0, + parameter PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_Q_WIDTH = 0, + parameter PORT_MEM_Q_PINLOC_0 = 0, + parameter PORT_MEM_Q_PINLOC_1 = 0, + parameter PORT_MEM_Q_PINLOC_2 = 0, + parameter PORT_MEM_Q_PINLOC_3 = 0, + parameter PORT_MEM_Q_PINLOC_4 = 0, + parameter PORT_MEM_Q_PINLOC_5 = 0, + parameter PORT_MEM_Q_PINLOC_6 = 0, + parameter PORT_MEM_Q_PINLOC_7 = 0, + parameter PORT_MEM_Q_PINLOC_8 = 0, + parameter PORT_MEM_Q_PINLOC_9 = 0, + parameter PORT_MEM_Q_PINLOC_10 = 0, + parameter PORT_MEM_Q_PINLOC_11 = 0, + parameter PORT_MEM_Q_PINLOC_12 = 0, + parameter PORT_MEM_Q_PINLOC_13 = 0, + parameter PORT_MEM_Q_PINLOC_14 = 0, + parameter PORT_MEM_Q_PINLOC_15 = 0, + parameter PORT_MEM_Q_PINLOC_16 = 0, + parameter PORT_MEM_Q_PINLOC_17 = 0, + parameter PORT_MEM_Q_PINLOC_18 = 0, + parameter PORT_MEM_Q_PINLOC_19 = 0, + parameter PORT_MEM_Q_PINLOC_20 = 0, + parameter PORT_MEM_Q_PINLOC_21 = 0, + parameter PORT_MEM_Q_PINLOC_22 = 0, + parameter PORT_MEM_Q_PINLOC_23 = 0, + parameter PORT_MEM_Q_PINLOC_24 = 0, + parameter PORT_MEM_Q_PINLOC_25 = 0, + parameter PORT_MEM_Q_PINLOC_26 = 0, + parameter PORT_MEM_Q_PINLOC_27 = 0, + parameter PORT_MEM_Q_PINLOC_28 = 0, + parameter PORT_MEM_Q_PINLOC_29 = 0, + parameter PORT_MEM_Q_PINLOC_30 = 0, + parameter PORT_MEM_Q_PINLOC_31 = 0, + parameter PORT_MEM_Q_PINLOC_32 = 0, + parameter PORT_MEM_Q_PINLOC_33 = 0, + parameter PORT_MEM_Q_PINLOC_34 = 0, + parameter PORT_MEM_Q_PINLOC_35 = 0, + parameter PORT_MEM_Q_PINLOC_36 = 0, + parameter PORT_MEM_Q_PINLOC_37 = 0, + parameter PORT_MEM_Q_PINLOC_38 = 0, + parameter PORT_MEM_Q_PINLOC_39 = 0, + parameter PORT_MEM_Q_PINLOC_40 = 0, + parameter PORT_MEM_Q_PINLOC_41 = 0, + parameter PORT_MEM_Q_PINLOC_42 = 0, + parameter PORT_MEM_Q_PINLOC_43 = 0, + parameter PORT_MEM_Q_PINLOC_44 = 0, + parameter PORT_MEM_Q_PINLOC_45 = 0, + parameter PORT_MEM_Q_PINLOC_46 = 0, + parameter PORT_MEM_Q_PINLOC_47 = 0, + parameter PORT_MEM_Q_PINLOC_48 = 0, + parameter PORT_MEM_Q_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQS_WIDTH = 0, + parameter PORT_MEM_DQS_PINLOC_0 = 0, + parameter PORT_MEM_DQS_PINLOC_1 = 0, + parameter PORT_MEM_DQS_PINLOC_2 = 0, + parameter PORT_MEM_DQS_PINLOC_3 = 0, + parameter PORT_MEM_DQS_PINLOC_4 = 0, + parameter PORT_MEM_DQS_PINLOC_5 = 0, + parameter PORT_MEM_DQS_PINLOC_6 = 0, + parameter PORT_MEM_DQS_PINLOC_7 = 0, + parameter PORT_MEM_DQS_PINLOC_8 = 0, + parameter PORT_MEM_DQS_PINLOC_9 = 0, + parameter PORT_MEM_DQS_PINLOC_10 = 0, + parameter PORT_MEM_DQS_PINLOC_11 = 0, + parameter PORT_MEM_DQS_PINLOC_12 = 0, + parameter PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQS_N_WIDTH = 0, + parameter PORT_MEM_DQS_N_PINLOC_0 = 0, + parameter PORT_MEM_DQS_N_PINLOC_1 = 0, + parameter PORT_MEM_DQS_N_PINLOC_2 = 0, + parameter PORT_MEM_DQS_N_PINLOC_3 = 0, + parameter PORT_MEM_DQS_N_PINLOC_4 = 0, + parameter PORT_MEM_DQS_N_PINLOC_5 = 0, + parameter PORT_MEM_DQS_N_PINLOC_6 = 0, + parameter PORT_MEM_DQS_N_PINLOC_7 = 0, + parameter PORT_MEM_DQS_N_PINLOC_8 = 0, + parameter PORT_MEM_DQS_N_PINLOC_9 = 0, + parameter PORT_MEM_DQS_N_PINLOC_10 = 0, + parameter PORT_MEM_DQS_N_PINLOC_11 = 0, + parameter PORT_MEM_DQS_N_PINLOC_12 = 0, + parameter PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QK_WIDTH = 0, + parameter PORT_MEM_QK_PINLOC_0 = 0, + parameter PORT_MEM_QK_PINLOC_1 = 0, + parameter PORT_MEM_QK_PINLOC_2 = 0, + parameter PORT_MEM_QK_PINLOC_3 = 0, + parameter PORT_MEM_QK_PINLOC_4 = 0, + parameter PORT_MEM_QK_PINLOC_5 = 0, + parameter PORT_MEM_QK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QK_N_WIDTH = 0, + parameter PORT_MEM_QK_N_PINLOC_0 = 0, + parameter PORT_MEM_QK_N_PINLOC_1 = 0, + parameter PORT_MEM_QK_N_PINLOC_2 = 0, + parameter PORT_MEM_QK_N_PINLOC_3 = 0, + parameter PORT_MEM_QK_N_PINLOC_4 = 0, + parameter PORT_MEM_QK_N_PINLOC_5 = 0, + parameter PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKA_WIDTH = 0, + parameter PORT_MEM_QKA_PINLOC_0 = 0, + parameter PORT_MEM_QKA_PINLOC_1 = 0, + parameter PORT_MEM_QKA_PINLOC_2 = 0, + parameter PORT_MEM_QKA_PINLOC_3 = 0, + parameter PORT_MEM_QKA_PINLOC_4 = 0, + parameter PORT_MEM_QKA_PINLOC_5 = 0, + parameter PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKA_N_WIDTH = 0, + parameter PORT_MEM_QKA_N_PINLOC_0 = 0, + parameter PORT_MEM_QKA_N_PINLOC_1 = 0, + parameter PORT_MEM_QKA_N_PINLOC_2 = 0, + parameter PORT_MEM_QKA_N_PINLOC_3 = 0, + parameter PORT_MEM_QKA_N_PINLOC_4 = 0, + parameter PORT_MEM_QKA_N_PINLOC_5 = 0, + parameter PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKB_WIDTH = 0, + parameter PORT_MEM_QKB_PINLOC_0 = 0, + parameter PORT_MEM_QKB_PINLOC_1 = 0, + parameter PORT_MEM_QKB_PINLOC_2 = 0, + parameter PORT_MEM_QKB_PINLOC_3 = 0, + parameter PORT_MEM_QKB_PINLOC_4 = 0, + parameter PORT_MEM_QKB_PINLOC_5 = 0, + parameter PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKB_N_WIDTH = 0, + parameter PORT_MEM_QKB_N_PINLOC_0 = 0, + parameter PORT_MEM_QKB_N_PINLOC_1 = 0, + parameter PORT_MEM_QKB_N_PINLOC_2 = 0, + parameter PORT_MEM_QKB_N_PINLOC_3 = 0, + parameter PORT_MEM_QKB_N_PINLOC_4 = 0, + parameter PORT_MEM_QKB_N_PINLOC_5 = 0, + parameter PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CQ_WIDTH = 0, + parameter PORT_MEM_CQ_PINLOC_0 = 0, + parameter PORT_MEM_CQ_PINLOC_1 = 0, + parameter PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CQ_N_WIDTH = 0, + parameter PORT_MEM_CQ_N_PINLOC_0 = 0, + parameter PORT_MEM_CQ_N_PINLOC_1 = 0, + parameter PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ALERT_N_WIDTH = 0, + parameter PORT_MEM_ALERT_N_PINLOC_0 = 0, + parameter PORT_MEM_ALERT_N_PINLOC_1 = 0, + parameter PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_PE_N_WIDTH = 0, + parameter PORT_MEM_PE_N_PINLOC_0 = 0, + parameter PORT_MEM_PE_N_PINLOC_1 = 0, + parameter PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_CLKS_SHARING_MASTER_OUT_WIDTH = 0, + parameter PORT_CLKS_SHARING_SLAVE_IN_WIDTH = 0, + parameter PORT_CLKS_SHARING_SLAVE_OUT_WIDTH = 0, + parameter PORT_AFI_RLAT_WIDTH = 0, + parameter PORT_AFI_WLAT_WIDTH = 0, + parameter PORT_AFI_SEQ_BUSY_WIDTH = 0, + parameter PORT_AFI_ADDR_WIDTH = 0, + parameter PORT_AFI_BA_WIDTH = 0, + parameter PORT_AFI_BG_WIDTH = 0, + parameter PORT_AFI_C_WIDTH = 0, + parameter PORT_AFI_CKE_WIDTH = 0, + parameter PORT_AFI_CS_N_WIDTH = 0, + parameter PORT_AFI_RM_WIDTH = 0, + parameter PORT_AFI_ODT_WIDTH = 0, + parameter PORT_AFI_RAS_N_WIDTH = 0, + parameter PORT_AFI_CAS_N_WIDTH = 0, + parameter PORT_AFI_WE_N_WIDTH = 0, + parameter PORT_AFI_RST_N_WIDTH = 0, + parameter PORT_AFI_ACT_N_WIDTH = 0, + parameter PORT_AFI_REQ_N_WIDTH = 0, + parameter PORT_AFI_GNT_N_WIDTH = 0, + parameter PORT_AFI_ERR_N_WIDTH = 0, + parameter PORT_AFI_PAR_WIDTH = 0, + parameter PORT_AFI_CA_WIDTH = 0, + parameter PORT_AFI_REF_N_WIDTH = 0, + parameter PORT_AFI_WPS_N_WIDTH = 0, + parameter PORT_AFI_RPS_N_WIDTH = 0, + parameter PORT_AFI_DOFF_N_WIDTH = 0, + parameter PORT_AFI_LD_N_WIDTH = 0, + parameter PORT_AFI_RW_N_WIDTH = 0, + parameter PORT_AFI_LBK0_N_WIDTH = 0, + parameter PORT_AFI_LBK1_N_WIDTH = 0, + parameter PORT_AFI_CFG_N_WIDTH = 0, + parameter PORT_AFI_AP_WIDTH = 0, + parameter PORT_AFI_AINV_WIDTH = 0, + parameter PORT_AFI_DM_WIDTH = 0, + parameter PORT_AFI_DM_N_WIDTH = 0, + parameter PORT_AFI_BWS_N_WIDTH = 0, + parameter PORT_AFI_RDATA_DBI_N_WIDTH = 0, + parameter PORT_AFI_WDATA_DBI_N_WIDTH = 0, + parameter PORT_AFI_RDATA_DINV_WIDTH = 0, + parameter PORT_AFI_WDATA_DINV_WIDTH = 0, + parameter PORT_AFI_DQS_BURST_WIDTH = 0, + parameter PORT_AFI_WDATA_VALID_WIDTH = 0, + parameter PORT_AFI_WDATA_WIDTH = 0, + parameter PORT_AFI_RDATA_EN_FULL_WIDTH = 0, + parameter PORT_AFI_RDATA_WIDTH = 0, + parameter PORT_AFI_RDATA_VALID_WIDTH = 0, + parameter PORT_AFI_RRANK_WIDTH = 0, + parameter PORT_AFI_WRANK_WIDTH = 0, + parameter PORT_AFI_ALERT_N_WIDTH = 0, + parameter PORT_AFI_PE_N_WIDTH = 0, + parameter PORT_CTRL_AST_CMD_DATA_WIDTH = 0, + parameter PORT_CTRL_AST_WR_DATA_WIDTH = 0, + parameter PORT_CTRL_AST_RD_DATA_WIDTH = 0, + parameter PORT_CTRL_AMM_ADDRESS_WIDTH = 0, + parameter PORT_CTRL_AMM_RDATA_WIDTH = 0, + parameter PORT_CTRL_AMM_WDATA_WIDTH = 0, + parameter PORT_CTRL_AMM_BCOUNT_WIDTH = 0, + parameter PORT_CTRL_AMM_BYTEEN_WIDTH = 0, + parameter PORT_CTRL_STROBE_WIDTH = 0, + parameter PORT_CTRL_STROBE_OE_WIDTH = 0, + parameter PORT_CTRL_DATA_OE_WIDTH = 0, + parameter PORT_CTRL_DATA_OUT_WIDTH = 0, + parameter PORT_CTRL_DATA_IN_WIDTH = 0, + parameter PORT_CTRL_RDATA_VALID_WIDTH = 0, + parameter PORT_CTRL_LOCKED_WIDTH = 0, + parameter PORT_CTRL_RDATA_ENABLE_WIDTH = 0, + parameter PORT_CTRL_USER_REFRESH_REQ_WIDTH = 0, + parameter PORT_CTRL_USER_REFRESH_BANK_WIDTH = 0, + parameter PORT_CTRL_SELF_REFRESH_REQ_WIDTH = 0, + parameter PORT_CTRL_ECC_WRITE_INFO_WIDTH = 0, + parameter PORT_CTRL_ECC_RDATA_ID_WIDTH = 0, + parameter PORT_CTRL_ECC_READ_INFO_WIDTH = 0, + parameter PORT_CTRL_ECC_CMD_INFO_WIDTH = 0, + parameter PORT_CTRL_ECC_WB_POINTER_WIDTH = 0, + parameter PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH = 0, + parameter PORT_CTRL_MMR_SLAVE_RDATA_WIDTH = 0, + parameter PORT_CTRL_MMR_SLAVE_WDATA_WIDTH = 0, + parameter PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH = 0, + parameter PORT_HPS_EMIF_H2E_WIDTH = 0, + parameter PORT_HPS_EMIF_E2H_WIDTH = 0, + parameter PORT_HPS_EMIF_H2E_GP_WIDTH = 0, + parameter PORT_HPS_EMIF_E2H_GP_WIDTH = 0, + parameter PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH = 0, + parameter PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH = 0, + parameter PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH = 0, + parameter PORT_DFT_ND_PLL_CNTSEL_WIDTH = 0, + parameter PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH = 0, + parameter PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH = 0, + parameter PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH = 0, + parameter PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH = 0, + parameter PORT_CALBUS_ADDRESS_WIDTH = 0, + parameter PORT_CALBUS_WDATA_WIDTH = 0, + parameter PORT_CALBUS_RDATA_WIDTH = 0, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 0, + parameter PLL_VCO_FREQ_MHZ_INT = 0, + parameter PLL_VCO_TO_MEM_CLK_FREQ_RATIO = 0, + parameter PLL_MEM_CLK_FREQ_PS = 0, + parameter PLL_PHY_CLK_VCO_PHASE = 0, + parameter PLL_VCO_FREQ_PS_STR = "", + parameter PLL_VCO_FREQ_MHZ_STR = "", + parameter PLL_REF_CLK_FREQ_PS_STR = "", + parameter PLL_REF_CLK_FREQ_MHZ_STR = "", + parameter PLL_REF_CLK_FREQ_PS = 0, + parameter PLL_SIM_VCO_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_0_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_1_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_FB_FREQ_PS = 0, + parameter PLL_SIM_PHY_CLK_VCO_PHASE_PS = 0, + parameter PLL_M_CNT_HIGH = 0, + parameter PLL_M_CNT_LOW = 0, + parameter PLL_N_CNT_HIGH = 0, + parameter PLL_N_CNT_LOW = 0, + parameter PLL_M_CNT_BYPASS_EN = "", + parameter PLL_N_CNT_BYPASS_EN = "", + parameter PLL_M_CNT_EVEN_DUTY_EN = "", + parameter PLL_N_CNT_EVEN_DUTY_EN = "", + parameter PLL_FBCLK_MUX_1 = "", + parameter PLL_FBCLK_MUX_2 = "", + parameter PLL_M_CNT_IN_SRC = "", + parameter PLL_CP_SETTING = "", + parameter PLL_BW_CTRL = "", + parameter PLL_BW_SEL = "", + parameter PLL_C_CNT_HIGH_0 = 0, + parameter PLL_C_CNT_LOW_0 = 0, + parameter PLL_C_CNT_PRST_0 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_0 = 0, + parameter PLL_C_CNT_BYPASS_EN_0 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_0 = "", + parameter PLL_C_CNT_FREQ_PS_STR_0 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_0 = "", + parameter PLL_C_CNT_PHASE_PS_STR_0 = "", + parameter PLL_C_CNT_DUTY_CYCLE_0 = 0, + parameter PLL_C_CNT_OUT_EN_0 = "", + parameter PLL_C_CNT_HIGH_1 = 0, + parameter PLL_C_CNT_LOW_1 = 0, + parameter PLL_C_CNT_PRST_1 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_1 = 0, + parameter PLL_C_CNT_BYPASS_EN_1 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_1 = "", + parameter PLL_C_CNT_FREQ_PS_STR_1 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_1 = "", + parameter PLL_C_CNT_PHASE_PS_STR_1 = "", + parameter PLL_C_CNT_DUTY_CYCLE_1 = 0, + parameter PLL_C_CNT_OUT_EN_1 = "", + parameter PLL_C_CNT_HIGH_2 = 0, + parameter PLL_C_CNT_LOW_2 = 0, + parameter PLL_C_CNT_PRST_2 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_2 = 0, + parameter PLL_C_CNT_BYPASS_EN_2 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_2 = "", + parameter PLL_C_CNT_FREQ_PS_STR_2 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_2 = "", + parameter PLL_C_CNT_PHASE_PS_STR_2 = "", + parameter PLL_C_CNT_DUTY_CYCLE_2 = 0, + parameter PLL_C_CNT_OUT_EN_2 = "", + parameter PLL_C_CNT_HIGH_3 = 0, + parameter PLL_C_CNT_LOW_3 = 0, + parameter PLL_C_CNT_PRST_3 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_3 = 0, + parameter PLL_C_CNT_BYPASS_EN_3 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_3 = "", + parameter PLL_C_CNT_FREQ_PS_STR_3 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_3 = "", + parameter PLL_C_CNT_PHASE_PS_STR_3 = "", + parameter PLL_C_CNT_DUTY_CYCLE_3 = 0, + parameter PLL_C_CNT_OUT_EN_3 = "", + parameter PLL_C_CNT_HIGH_4 = 0, + parameter PLL_C_CNT_LOW_4 = 0, + parameter PLL_C_CNT_PRST_4 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_4 = 0, + parameter PLL_C_CNT_BYPASS_EN_4 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_4 = "", + parameter PLL_C_CNT_FREQ_PS_STR_4 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_4 = "", + parameter PLL_C_CNT_PHASE_PS_STR_4 = "", + parameter PLL_C_CNT_DUTY_CYCLE_4 = 0, + parameter PLL_C_CNT_OUT_EN_4 = "", + parameter PLL_C_CNT_HIGH_5 = 0, + parameter PLL_C_CNT_LOW_5 = 0, + parameter PLL_C_CNT_PRST_5 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_5 = 0, + parameter PLL_C_CNT_BYPASS_EN_5 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_5 = "", + parameter PLL_C_CNT_FREQ_PS_STR_5 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_5 = "", + parameter PLL_C_CNT_PHASE_PS_STR_5 = "", + parameter PLL_C_CNT_DUTY_CYCLE_5 = 0, + parameter PLL_C_CNT_OUT_EN_5 = "", + parameter PLL_C_CNT_HIGH_6 = 0, + parameter PLL_C_CNT_LOW_6 = 0, + parameter PLL_C_CNT_PRST_6 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_6 = 0, + parameter PLL_C_CNT_BYPASS_EN_6 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_6 = "", + parameter PLL_C_CNT_FREQ_PS_STR_6 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_6 = "", + parameter PLL_C_CNT_PHASE_PS_STR_6 = "", + parameter PLL_C_CNT_DUTY_CYCLE_6 = 0, + parameter PLL_C_CNT_OUT_EN_6 = "", + parameter PLL_C_CNT_HIGH_7 = 0, + parameter PLL_C_CNT_LOW_7 = 0, + parameter PLL_C_CNT_PRST_7 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_7 = 0, + parameter PLL_C_CNT_BYPASS_EN_7 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_7 = "", + parameter PLL_C_CNT_FREQ_PS_STR_7 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_7 = "", + parameter PLL_C_CNT_PHASE_PS_STR_7 = "", + parameter PLL_C_CNT_DUTY_CYCLE_7 = 0, + parameter PLL_C_CNT_OUT_EN_7 = "", + parameter PLL_C_CNT_HIGH_8 = 0, + parameter PLL_C_CNT_LOW_8 = 0, + parameter PLL_C_CNT_PRST_8 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_8 = 0, + parameter PLL_C_CNT_BYPASS_EN_8 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_8 = "", + parameter PLL_C_CNT_FREQ_PS_STR_8 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_8 = "", + parameter PLL_C_CNT_PHASE_PS_STR_8 = "", + parameter PLL_C_CNT_DUTY_CYCLE_8 = 0, + parameter PLL_C_CNT_OUT_EN_8 = "" +) ( + input logic local_reset_req, + output logic local_reset_done, + input logic pll_ref_clk, + output logic pll_ref_clk_out, + output logic pll_locked, + output logic pll_extra_clk_0, + output logic pll_extra_clk_1, + output logic pll_extra_clk_2, + output logic pll_extra_clk_3, + output logic ac_parity_err, + input logic oct_rzqin, + output logic [0:0] mem_ck, + output logic [0:0] mem_ck_n, + output logic [16:0] mem_a, + output logic [0:0] mem_act_n, + output logic [1:0] mem_ba, + output logic [1:0] mem_bg, + output logic [0:0] mem_c, + output logic [0:0] mem_cke, + output logic [0:0] mem_cs_n, + output logic [0:0] mem_rm, + output logic [0:0] mem_odt, + output logic [0:0] mem_reset_n, + output logic [0:0] mem_par, + input logic [0:0] mem_alert_n, + inout tri [8:0] mem_dqs, + inout tri [8:0] mem_dqs_n, + inout tri [71:0] mem_dq, + inout tri [8:0] mem_dbi_n, + inout tri [0:0] mem_ck_bidir, + inout tri [0:0] mem_ck_bidir_n, + output logic [0:0] mem_dk, + output logic [0:0] mem_dk_n, + output logic [0:0] mem_dka, + output logic [0:0] mem_dka_n, + output logic [0:0] mem_dkb, + output logic [0:0] mem_dkb_n, + output logic [0:0] mem_k, + output logic [0:0] mem_k_n, + input logic [0:0] mem_req_n, + output logic [0:0] mem_gnt_n, + input logic [0:0] mem_err_n, + output logic [0:0] mem_ras_n, + output logic [0:0] mem_cas_n, + output logic [0:0] mem_we_n, + output logic [0:0] mem_ca, + output logic [0:0] mem_ref_n, + output logic [0:0] mem_wps_n, + output logic [0:0] mem_rps_n, + output logic [0:0] mem_doff_n, + output logic [0:0] mem_lda_n, + output logic [0:0] mem_ldb_n, + output logic [0:0] mem_rwa_n, + output logic [0:0] mem_rwb_n, + output logic [0:0] mem_lbk0_n, + output logic [0:0] mem_lbk1_n, + output logic [0:0] mem_cfg_n, + output logic [0:0] mem_ap, + output logic [0:0] mem_ainv, + output logic [0:0] mem_dm, + output logic [0:0] mem_bws_n, + output logic [0:0] mem_d, + inout tri [0:0] mem_dqa, + inout tri [0:0] mem_dqb, + inout tri [0:0] mem_dinva, + inout tri [0:0] mem_dinvb, + input logic [0:0] mem_q, + input logic [0:0] mem_qk, + input logic [0:0] mem_qk_n, + input logic [0:0] mem_qka, + input logic [0:0] mem_qka_n, + input logic [0:0] mem_qkb, + input logic [0:0] mem_qkb_n, + input logic [0:0] mem_cq, + input logic [0:0] mem_cq_n, + input logic [0:0] mem_pe_n, + output logic local_cal_success, + output logic local_cal_fail, + output logic afi_reset_n, + output logic afi_clk, + output logic afi_half_clk, + output logic emif_usr_reset_n, + output logic emif_usr_clk, + output logic emif_usr_half_clk, + output logic emif_usr_reset_n_sec, + output logic emif_usr_clk_sec, + output logic emif_usr_half_clk_sec, + output logic [31:0] clks_sharing_master_out, + input logic [31:0] clks_sharing_slave_in, + output logic [31:0] clks_sharing_slave_out, + output logic afi_cal_success, + output logic afi_cal_fail, + input logic afi_cal_req, + output logic [5:0] afi_rlat, + output logic [5:0] afi_wlat, + output logic [3:0] afi_seq_busy, + input logic afi_ctl_refresh_done, + input logic afi_ctl_long_idle, + input logic afi_mps_req, + output logic afi_mps_ack, + input logic [0:0] afi_addr, + input logic [0:0] afi_ba, + input logic [0:0] afi_bg, + input logic [0:0] afi_c, + input logic [0:0] afi_cke, + input logic [0:0] afi_cs_n, + input logic [0:0] afi_rm, + input logic [0:0] afi_odt, + input logic [0:0] afi_ras_n, + input logic [0:0] afi_cas_n, + input logic [0:0] afi_we_n, + input logic [0:0] afi_rst_n, + input logic [0:0] afi_act_n, + output logic [0:0] afi_req_n, + input logic [0:0] afi_gnt_n, + output logic [0:0] afi_err_n, + input logic [0:0] afi_par, + input logic [0:0] afi_ca, + input logic [0:0] afi_ref_n, + input logic [0:0] afi_wps_n, + input logic [0:0] afi_rps_n, + input logic [0:0] afi_doff_n, + input logic [0:0] afi_ld_n, + input logic [0:0] afi_rw_n, + input logic [0:0] afi_lbk0_n, + input logic [0:0] afi_lbk1_n, + input logic [0:0] afi_cfg_n, + input logic [0:0] afi_ap, + input logic [0:0] afi_ainv, + input logic [0:0] afi_dm, + input logic [0:0] afi_dm_n, + input logic [0:0] afi_bws_n, + output logic [0:0] afi_rdata_dbi_n, + input logic [0:0] afi_wdata_dbi_n, + output logic [0:0] afi_rdata_dinv, + input logic [0:0] afi_wdata_dinv, + input logic [0:0] afi_dqs_burst, + input logic [0:0] afi_wdata_valid, + input logic [0:0] afi_wdata, + input logic [0:0] afi_rdata_en_full, + output logic [0:0] afi_rdata, + output logic [0:0] afi_rdata_valid, + input logic [0:0] afi_rrank, + input logic [0:0] afi_wrank, + output logic [0:0] afi_alert_n, + output logic [0:0] afi_pe_n, + input logic ast_cmd_valid_0, + output logic ast_cmd_ready_0, + input logic [60:0] ast_cmd_data_0, + input logic ast_cmd_valid_1, + output logic ast_cmd_ready_1, + input logic [60:0] ast_cmd_data_1, + input logic ast_wr_valid_0, + output logic ast_wr_ready_0, + input logic [647:0] ast_wr_data_0, + input logic ast_wr_valid_1, + output logic ast_wr_ready_1, + input logic [647:0] ast_wr_data_1, + output logic ast_rd_valid_0, + input logic ast_rd_ready_0, + output logic [575:0] ast_rd_data_0, + output logic ast_rd_valid_1, + input logic ast_rd_ready_1, + output logic [575:0] ast_rd_data_1, + output logic amm_ready_0, + input logic amm_read_0, + input logic amm_write_0, + input logic [0:0] amm_address_0, + output logic [0:0] amm_readdata_0, + input logic [0:0] amm_writedata_0, + input logic [0:0] amm_burstcount_0, + input logic [0:0] amm_byteenable_0, + input logic amm_beginbursttransfer_0, + output logic amm_readdatavalid_0, + output logic amm_ready_1, + input logic amm_read_1, + input logic amm_write_1, + input logic [0:0] amm_address_1, + output logic [0:0] amm_readdata_1, + input logic [0:0] amm_writedata_1, + input logic [0:0] amm_burstcount_1, + input logic [0:0] amm_byteenable_1, + input logic amm_beginbursttransfer_1, + output logic amm_readdatavalid_1, + output logic amm_early_ready_0, + output logic amm_early_ready_1, + output logic amm_rd_type_0, + output logic amm_rd_type_1, + input logic [0:0] phylite_strobe, + input logic [0:0] phylite_strobe_oe, + input logic [0:0] phylite_data_oe, + input logic [0:0] phylite_data_from_core, + output logic [0:0] phylite_data_to_core, + output logic [0:0] phylite_rdata_valid, + output logic [0:0] phylite_interface_locked, + input logic [0:0] phylite_rdata_en, + input logic ctrl_user_priority_hi_0, + input logic ctrl_user_priority_hi_1, + input logic ctrl_auto_precharge_req_0, + input logic ctrl_auto_precharge_req_1, + input logic [3:0] ctrl_user_refresh_req, + input logic [15:0] ctrl_user_refresh_bank, + output logic ctrl_user_refresh_ack, + input logic [3:0] ctrl_self_refresh_req, + output logic ctrl_self_refresh_ack, + output logic ctrl_will_refresh, + input logic ctrl_deep_power_down_req, + output logic ctrl_deep_power_down_ack, + output logic ctrl_power_down_ack, + input logic ctrl_zq_cal_long_req, + input logic ctrl_zq_cal_short_req, + output logic ctrl_zq_cal_ack, + input logic [14:0] ctrl_ecc_write_info_0, + output logic [12:0] ctrl_ecc_rdata_id_0, + output logic [2:0] ctrl_ecc_read_info_0, + output logic [2:0] ctrl_ecc_cmd_info_0, + output logic ctrl_ecc_idle_0, + output logic [11:0] ctrl_ecc_wr_pointer_info_0, + input logic [14:0] ctrl_ecc_write_info_1, + output logic [12:0] ctrl_ecc_rdata_id_1, + output logic [2:0] ctrl_ecc_read_info_1, + output logic [2:0] ctrl_ecc_cmd_info_1, + output logic ctrl_ecc_idle_1, + output logic [11:0] ctrl_ecc_wr_pointer_info_1, + output logic mmr_slave_waitrequest_0, + input logic mmr_slave_read_0, + input logic mmr_slave_write_0, + input logic [9:0] mmr_slave_address_0, + output logic [31:0] mmr_slave_readdata_0, + input logic [31:0] mmr_slave_writedata_0, + input logic [1:0] mmr_slave_burstcount_0, + input logic mmr_slave_beginbursttransfer_0, + output logic mmr_slave_readdatavalid_0, + output logic mmr_slave_waitrequest_1, + input logic mmr_slave_read_1, + input logic mmr_slave_write_1, + input logic [9:0] mmr_slave_address_1, + output logic [31:0] mmr_slave_readdata_1, + input logic [31:0] mmr_slave_writedata_1, + input logic [1:0] mmr_slave_burstcount_1, + input logic mmr_slave_beginbursttransfer_1, + output logic mmr_slave_readdatavalid_1, + input logic [4095:0] hps_to_emif, + output logic [4095:0] emif_to_hps, + input logic [1:0] hps_to_emif_gp, + output logic [0:0] emif_to_hps_gp, + input logic pa_dprio_clk, + input logic pa_dprio_read, + input logic [8:0] pa_dprio_reg_addr, + input logic pa_dprio_rst_n, + input logic pa_dprio_write, + input logic [7:0] pa_dprio_writedata, + output logic pa_dprio_block_select, + output logic [7:0] pa_dprio_readdata, + input logic pll_phase_en, + input logic pll_up_dn, + input logic [3:0] pll_cnt_sel, + input logic [2:0] pll_num_phase_shifts, + output logic pll_phase_done, + input logic [3:0] pll_core_refclk, + output logic [1:0] dft_core_clk_buf_out, + output logic [1:0] dft_core_clk_locked, + input logic calbus_read, + input logic calbus_write, + input logic [19:0] calbus_address, + input logic [31:0] calbus_wdata, + output logic [31:0] calbus_rdata, + output logic [4095:0] calbus_seq_param_tbl, + input logic calbus_clk +); + timeunit 1ns; + timeprecision 1ps; + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top # ( + .PROTOCOL_ENUM (PROTOCOL_ENUM), + .PHY_TARGET_IS_ES (PHY_TARGET_IS_ES), + .PHY_TARGET_IS_ES2 (PHY_TARGET_IS_ES2), + .PHY_TARGET_IS_PRODUCTION (PHY_TARGET_IS_PRODUCTION), + .PHY_CONFIG_ENUM (PHY_CONFIG_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .PHY_CORE_CLKS_SHARING_ENUM (PHY_CORE_CLKS_SHARING_ENUM), + .PHY_CALIBRATED_OCT (PHY_CALIBRATED_OCT), + .PHY_AC_CALIBRATED_OCT (PHY_AC_CALIBRATED_OCT), + .PHY_CK_CALIBRATED_OCT (PHY_CK_CALIBRATED_OCT), + .PHY_DATA_CALIBRATED_OCT (PHY_DATA_CALIBRATED_OCT), + .PHY_MIMIC_HPS_EMIF (PHY_MIMIC_HPS_EMIF), + .PLL_NUM_OF_EXTRA_CLKS (PLL_NUM_OF_EXTRA_CLKS), + .MEM_FORMAT_ENUM (MEM_FORMAT_ENUM), + .MEM_BURST_LENGTH (MEM_BURST_LENGTH), + .MEM_DATA_MASK_EN (MEM_DATA_MASK_EN), + .MEM_TTL_DATA_WIDTH (MEM_TTL_DATA_WIDTH), + .MEM_TTL_NUM_OF_READ_GROUPS (MEM_TTL_NUM_OF_READ_GROUPS), + .MEM_TTL_NUM_OF_WRITE_GROUPS (MEM_TTL_NUM_OF_WRITE_GROUPS), + .DIAG_SIM_REGTEST_MODE (DIAG_SIM_REGTEST_MODE), + .DIAG_SYNTH_FOR_SIM (DIAG_SYNTH_FOR_SIM), + .DIAG_SEQ_RESET_AUTO_RELEASE (DIAG_SEQ_RESET_AUTO_RELEASE), + .DIAG_DB_RESET_AUTO_RELEASE (DIAG_DB_RESET_AUTO_RELEASE), + .DIAG_ECLIPSE_DEBUG (DIAG_ECLIPSE_DEBUG), + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY), + .DIAG_SIM_VERBOSE_LEVEL (DIAG_SIM_VERBOSE_LEVEL), + .DIAG_FAST_SIM (DIAG_FAST_SIM), + .SILICON_REV (SILICON_REV), + .IS_HPS (IS_HPS), + .USER_CLK_RATIO (USER_CLK_RATIO), + .C2P_P2C_CLK_RATIO (C2P_P2C_CLK_RATIO), + .PHY_HMC_CLK_RATIO (PHY_HMC_CLK_RATIO), + .DIAG_ABSTRACT_PHY_WLAT (DIAG_ABSTRACT_PHY_WLAT), + .DIAG_ABSTRACT_PHY_RLAT (DIAG_ABSTRACT_PHY_RLAT), + .DIAG_CPA_OUT_1_EN (DIAG_CPA_OUT_1_EN), + .DIAG_USE_CPA_LOCK (DIAG_USE_CPA_LOCK), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .AC_PIN_MAP_SCHEME (AC_PIN_MAP_SCHEME), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .HMC_READY_LATENCY (HMC_READY_LATENCY), + .HMC_CTRL_DIMM_TYPE (HMC_CTRL_DIMM_TYPE), + .SEQ_PT_SYN_CONTENT (SEQ_PT_SYN_CONTENT), + .SEQ_PT_SIM_CONTENT (SEQ_PT_SIM_CONTENT), + .REGISTER_AFI_C2P (REGISTER_AFI_C2P), + .REGISTER_AFI_P2C (REGISTER_AFI_P2C), + .REGISTER_AMM_P2C (REGISTER_AMM_P2C), + .REGISTER_AMM_C2P (REGISTER_AMM_C2P), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .LANES_USAGE_0 (LANES_USAGE_0), + .LANES_USAGE_1 (LANES_USAGE_1), + .LANES_USAGE_2 (LANES_USAGE_2), + .LANES_USAGE_3 (LANES_USAGE_3), + .LANES_USAGE_AUTOGEN_WCNT (LANES_USAGE_AUTOGEN_WCNT), + .PINS_USAGE_0 (PINS_USAGE_0), + .PINS_USAGE_1 (PINS_USAGE_1), + .PINS_USAGE_2 (PINS_USAGE_2), + .PINS_USAGE_3 (PINS_USAGE_3), + .PINS_USAGE_4 (PINS_USAGE_4), + .PINS_USAGE_5 (PINS_USAGE_5), + .PINS_USAGE_6 (PINS_USAGE_6), + .PINS_USAGE_7 (PINS_USAGE_7), + .PINS_USAGE_8 (PINS_USAGE_8), + .PINS_USAGE_9 (PINS_USAGE_9), + .PINS_USAGE_10 (PINS_USAGE_10), + .PINS_USAGE_11 (PINS_USAGE_11), + .PINS_USAGE_12 (PINS_USAGE_12), + .PINS_USAGE_AUTOGEN_WCNT (PINS_USAGE_AUTOGEN_WCNT), + .LANE_PIN_USAGE_0 (LANE_PIN_USAGE_0), + .LANE_PIN_USAGE_1 (LANE_PIN_USAGE_1), + .LANE_PIN_USAGE_2 (LANE_PIN_USAGE_2), + .LANE_PIN_USAGE_3 (LANE_PIN_USAGE_3), + .LANE_PIN_USAGE_4 (LANE_PIN_USAGE_4), + .LANE_PIN_USAGE_5 (LANE_PIN_USAGE_5), + .LANE_PIN_USAGE_6 (LANE_PIN_USAGE_6), + .LANE_PIN_USAGE_7 (LANE_PIN_USAGE_7), + .LANE_PIN_USAGE_8 (LANE_PIN_USAGE_8), + .LANE_PIN_USAGE_9 (LANE_PIN_USAGE_9), + .LANE_PIN_USAGE_10 (LANE_PIN_USAGE_10), + .LANE_PIN_USAGE_11 (LANE_PIN_USAGE_11), + .LANE_PIN_USAGE_12 (LANE_PIN_USAGE_12), + .LANE_PIN_USAGE_13 (LANE_PIN_USAGE_13), + .LANE_PIN_USAGE_14 (LANE_PIN_USAGE_14), + .LANE_PIN_USAGE_15 (LANE_PIN_USAGE_15), + .LANE_PIN_USAGE_16 (LANE_PIN_USAGE_16), + .LANE_PIN_USAGE_17 (LANE_PIN_USAGE_17), + .LANE_PIN_USAGE_18 (LANE_PIN_USAGE_18), + .LANE_PIN_USAGE_19 (LANE_PIN_USAGE_19), + .LANE_PIN_USAGE_20 (LANE_PIN_USAGE_20), + .LANE_PIN_USAGE_21 (LANE_PIN_USAGE_21), + .LANE_PIN_USAGE_22 (LANE_PIN_USAGE_22), + .LANE_PIN_USAGE_23 (LANE_PIN_USAGE_23), + .LANE_PIN_USAGE_24 (LANE_PIN_USAGE_24), + .LANE_PIN_USAGE_25 (LANE_PIN_USAGE_25), + .LANE_PIN_USAGE_26 (LANE_PIN_USAGE_26), + .LANE_PIN_USAGE_27 (LANE_PIN_USAGE_27), + .LANE_PIN_USAGE_28 (LANE_PIN_USAGE_28), + .LANE_PIN_USAGE_29 (LANE_PIN_USAGE_29), + .LANE_PIN_USAGE_30 (LANE_PIN_USAGE_30), + .LANE_PIN_USAGE_31 (LANE_PIN_USAGE_31), + .LANE_PIN_USAGE_32 (LANE_PIN_USAGE_32), + .LANE_PIN_USAGE_33 (LANE_PIN_USAGE_33), + .LANE_PIN_USAGE_34 (LANE_PIN_USAGE_34), + .LANE_PIN_USAGE_35 (LANE_PIN_USAGE_35), + .LANE_PIN_USAGE_36 (LANE_PIN_USAGE_36), + .LANE_PIN_USAGE_37 (LANE_PIN_USAGE_37), + .LANE_PIN_USAGE_38 (LANE_PIN_USAGE_38), + .LANE_PIN_USAGE_39 (LANE_PIN_USAGE_39), + .LANE_PIN_USAGE_40 (LANE_PIN_USAGE_40), + .LANE_PIN_USAGE_41 (LANE_PIN_USAGE_41), + .LANE_PIN_USAGE_42 (LANE_PIN_USAGE_42), + .LANE_PIN_USAGE_43 (LANE_PIN_USAGE_43), + .LANE_PIN_USAGE_44 (LANE_PIN_USAGE_44), + .LANE_PIN_USAGE_45 (LANE_PIN_USAGE_45), + .LANE_PIN_USAGE_46 (LANE_PIN_USAGE_46), + .LANE_PIN_USAGE_47 (LANE_PIN_USAGE_47), + .LANE_PIN_USAGE_48 (LANE_PIN_USAGE_48), + .LANE_PIN_USAGE_49 (LANE_PIN_USAGE_49), + .LANE_PIN_USAGE_50 (LANE_PIN_USAGE_50), + .LANE_PIN_USAGE_51 (LANE_PIN_USAGE_51), + .LANE_PIN_USAGE_AUTOGEN_WCNT (LANE_PIN_USAGE_AUTOGEN_WCNT), + .PINS_RATE_0 (PINS_RATE_0), + .PINS_RATE_1 (PINS_RATE_1), + .PINS_RATE_2 (PINS_RATE_2), + .PINS_RATE_3 (PINS_RATE_3), + .PINS_RATE_4 (PINS_RATE_4), + .PINS_RATE_5 (PINS_RATE_5), + .PINS_RATE_6 (PINS_RATE_6), + .PINS_RATE_7 (PINS_RATE_7), + .PINS_RATE_8 (PINS_RATE_8), + .PINS_RATE_9 (PINS_RATE_9), + .PINS_RATE_10 (PINS_RATE_10), + .PINS_RATE_11 (PINS_RATE_11), + .PINS_RATE_12 (PINS_RATE_12), + .PINS_RATE_AUTOGEN_WCNT (PINS_RATE_AUTOGEN_WCNT), + .DB_PINS_PROC_MODE_0 (DB_PINS_PROC_MODE_0), + .DB_PINS_PROC_MODE_1 (DB_PINS_PROC_MODE_1), + .DB_PINS_PROC_MODE_2 (DB_PINS_PROC_MODE_2), + .DB_PINS_PROC_MODE_3 (DB_PINS_PROC_MODE_3), + .DB_PINS_PROC_MODE_4 (DB_PINS_PROC_MODE_4), + .DB_PINS_PROC_MODE_5 (DB_PINS_PROC_MODE_5), + .DB_PINS_PROC_MODE_6 (DB_PINS_PROC_MODE_6), + .DB_PINS_PROC_MODE_7 (DB_PINS_PROC_MODE_7), + .DB_PINS_PROC_MODE_8 (DB_PINS_PROC_MODE_8), + .DB_PINS_PROC_MODE_9 (DB_PINS_PROC_MODE_9), + .DB_PINS_PROC_MODE_10 (DB_PINS_PROC_MODE_10), + .DB_PINS_PROC_MODE_11 (DB_PINS_PROC_MODE_11), + .DB_PINS_PROC_MODE_12 (DB_PINS_PROC_MODE_12), + .DB_PINS_PROC_MODE_13 (DB_PINS_PROC_MODE_13), + .DB_PINS_PROC_MODE_14 (DB_PINS_PROC_MODE_14), + .DB_PINS_PROC_MODE_15 (DB_PINS_PROC_MODE_15), + .DB_PINS_PROC_MODE_16 (DB_PINS_PROC_MODE_16), + .DB_PINS_PROC_MODE_17 (DB_PINS_PROC_MODE_17), + .DB_PINS_PROC_MODE_18 (DB_PINS_PROC_MODE_18), + .DB_PINS_PROC_MODE_19 (DB_PINS_PROC_MODE_19), + .DB_PINS_PROC_MODE_20 (DB_PINS_PROC_MODE_20), + .DB_PINS_PROC_MODE_21 (DB_PINS_PROC_MODE_21), + .DB_PINS_PROC_MODE_22 (DB_PINS_PROC_MODE_22), + .DB_PINS_PROC_MODE_23 (DB_PINS_PROC_MODE_23), + .DB_PINS_PROC_MODE_24 (DB_PINS_PROC_MODE_24), + .DB_PINS_PROC_MODE_25 (DB_PINS_PROC_MODE_25), + .DB_PINS_PROC_MODE_26 (DB_PINS_PROC_MODE_26), + .DB_PINS_PROC_MODE_27 (DB_PINS_PROC_MODE_27), + .DB_PINS_PROC_MODE_28 (DB_PINS_PROC_MODE_28), + .DB_PINS_PROC_MODE_29 (DB_PINS_PROC_MODE_29), + .DB_PINS_PROC_MODE_30 (DB_PINS_PROC_MODE_30), + .DB_PINS_PROC_MODE_31 (DB_PINS_PROC_MODE_31), + .DB_PINS_PROC_MODE_32 (DB_PINS_PROC_MODE_32), + .DB_PINS_PROC_MODE_33 (DB_PINS_PROC_MODE_33), + .DB_PINS_PROC_MODE_34 (DB_PINS_PROC_MODE_34), + .DB_PINS_PROC_MODE_35 (DB_PINS_PROC_MODE_35), + .DB_PINS_PROC_MODE_36 (DB_PINS_PROC_MODE_36), + .DB_PINS_PROC_MODE_37 (DB_PINS_PROC_MODE_37), + .DB_PINS_PROC_MODE_38 (DB_PINS_PROC_MODE_38), + .DB_PINS_PROC_MODE_39 (DB_PINS_PROC_MODE_39), + .DB_PINS_PROC_MODE_40 (DB_PINS_PROC_MODE_40), + .DB_PINS_PROC_MODE_41 (DB_PINS_PROC_MODE_41), + .DB_PINS_PROC_MODE_42 (DB_PINS_PROC_MODE_42), + .DB_PINS_PROC_MODE_43 (DB_PINS_PROC_MODE_43), + .DB_PINS_PROC_MODE_44 (DB_PINS_PROC_MODE_44), + .DB_PINS_PROC_MODE_45 (DB_PINS_PROC_MODE_45), + .DB_PINS_PROC_MODE_46 (DB_PINS_PROC_MODE_46), + .DB_PINS_PROC_MODE_47 (DB_PINS_PROC_MODE_47), + .DB_PINS_PROC_MODE_48 (DB_PINS_PROC_MODE_48), + .DB_PINS_PROC_MODE_49 (DB_PINS_PROC_MODE_49), + .DB_PINS_PROC_MODE_50 (DB_PINS_PROC_MODE_50), + .DB_PINS_PROC_MODE_51 (DB_PINS_PROC_MODE_51), + .DB_PINS_PROC_MODE_52 (DB_PINS_PROC_MODE_52), + .DB_PINS_PROC_MODE_53 (DB_PINS_PROC_MODE_53), + .DB_PINS_PROC_MODE_54 (DB_PINS_PROC_MODE_54), + .DB_PINS_PROC_MODE_55 (DB_PINS_PROC_MODE_55), + .DB_PINS_PROC_MODE_56 (DB_PINS_PROC_MODE_56), + .DB_PINS_PROC_MODE_57 (DB_PINS_PROC_MODE_57), + .DB_PINS_PROC_MODE_58 (DB_PINS_PROC_MODE_58), + .DB_PINS_PROC_MODE_59 (DB_PINS_PROC_MODE_59), + .DB_PINS_PROC_MODE_60 (DB_PINS_PROC_MODE_60), + .DB_PINS_PROC_MODE_61 (DB_PINS_PROC_MODE_61), + .DB_PINS_PROC_MODE_62 (DB_PINS_PROC_MODE_62), + .DB_PINS_PROC_MODE_63 (DB_PINS_PROC_MODE_63), + .DB_PINS_PROC_MODE_AUTOGEN_WCNT (DB_PINS_PROC_MODE_AUTOGEN_WCNT), + .PINS_DATA_IN_MODE_0 (PINS_DATA_IN_MODE_0), + .PINS_DATA_IN_MODE_1 (PINS_DATA_IN_MODE_1), + .PINS_DATA_IN_MODE_2 (PINS_DATA_IN_MODE_2), + .PINS_DATA_IN_MODE_3 (PINS_DATA_IN_MODE_3), + .PINS_DATA_IN_MODE_4 (PINS_DATA_IN_MODE_4), + .PINS_DATA_IN_MODE_5 (PINS_DATA_IN_MODE_5), + .PINS_DATA_IN_MODE_6 (PINS_DATA_IN_MODE_6), + .PINS_DATA_IN_MODE_7 (PINS_DATA_IN_MODE_7), + .PINS_DATA_IN_MODE_8 (PINS_DATA_IN_MODE_8), + .PINS_DATA_IN_MODE_9 (PINS_DATA_IN_MODE_9), + .PINS_DATA_IN_MODE_10 (PINS_DATA_IN_MODE_10), + .PINS_DATA_IN_MODE_11 (PINS_DATA_IN_MODE_11), + .PINS_DATA_IN_MODE_12 (PINS_DATA_IN_MODE_12), + .PINS_DATA_IN_MODE_13 (PINS_DATA_IN_MODE_13), + .PINS_DATA_IN_MODE_14 (PINS_DATA_IN_MODE_14), + .PINS_DATA_IN_MODE_15 (PINS_DATA_IN_MODE_15), + .PINS_DATA_IN_MODE_16 (PINS_DATA_IN_MODE_16), + .PINS_DATA_IN_MODE_17 (PINS_DATA_IN_MODE_17), + .PINS_DATA_IN_MODE_18 (PINS_DATA_IN_MODE_18), + .PINS_DATA_IN_MODE_19 (PINS_DATA_IN_MODE_19), + .PINS_DATA_IN_MODE_20 (PINS_DATA_IN_MODE_20), + .PINS_DATA_IN_MODE_21 (PINS_DATA_IN_MODE_21), + .PINS_DATA_IN_MODE_22 (PINS_DATA_IN_MODE_22), + .PINS_DATA_IN_MODE_23 (PINS_DATA_IN_MODE_23), + .PINS_DATA_IN_MODE_24 (PINS_DATA_IN_MODE_24), + .PINS_DATA_IN_MODE_25 (PINS_DATA_IN_MODE_25), + .PINS_DATA_IN_MODE_26 (PINS_DATA_IN_MODE_26), + .PINS_DATA_IN_MODE_27 (PINS_DATA_IN_MODE_27), + .PINS_DATA_IN_MODE_28 (PINS_DATA_IN_MODE_28), + .PINS_DATA_IN_MODE_29 (PINS_DATA_IN_MODE_29), + .PINS_DATA_IN_MODE_30 (PINS_DATA_IN_MODE_30), + .PINS_DATA_IN_MODE_31 (PINS_DATA_IN_MODE_31), + .PINS_DATA_IN_MODE_32 (PINS_DATA_IN_MODE_32), + .PINS_DATA_IN_MODE_33 (PINS_DATA_IN_MODE_33), + .PINS_DATA_IN_MODE_34 (PINS_DATA_IN_MODE_34), + .PINS_DATA_IN_MODE_35 (PINS_DATA_IN_MODE_35), + .PINS_DATA_IN_MODE_36 (PINS_DATA_IN_MODE_36), + .PINS_DATA_IN_MODE_37 (PINS_DATA_IN_MODE_37), + .PINS_DATA_IN_MODE_38 (PINS_DATA_IN_MODE_38), + .PINS_DATA_IN_MODE_AUTOGEN_WCNT (PINS_DATA_IN_MODE_AUTOGEN_WCNT), + .PINS_C2L_DRIVEN_0 (PINS_C2L_DRIVEN_0), + .PINS_C2L_DRIVEN_1 (PINS_C2L_DRIVEN_1), + .PINS_C2L_DRIVEN_2 (PINS_C2L_DRIVEN_2), + .PINS_C2L_DRIVEN_3 (PINS_C2L_DRIVEN_3), + .PINS_C2L_DRIVEN_4 (PINS_C2L_DRIVEN_4), + .PINS_C2L_DRIVEN_5 (PINS_C2L_DRIVEN_5), + .PINS_C2L_DRIVEN_6 (PINS_C2L_DRIVEN_6), + .PINS_C2L_DRIVEN_7 (PINS_C2L_DRIVEN_7), + .PINS_C2L_DRIVEN_8 (PINS_C2L_DRIVEN_8), + .PINS_C2L_DRIVEN_9 (PINS_C2L_DRIVEN_9), + .PINS_C2L_DRIVEN_10 (PINS_C2L_DRIVEN_10), + .PINS_C2L_DRIVEN_11 (PINS_C2L_DRIVEN_11), + .PINS_C2L_DRIVEN_12 (PINS_C2L_DRIVEN_12), + .PINS_C2L_DRIVEN_AUTOGEN_WCNT (PINS_C2L_DRIVEN_AUTOGEN_WCNT), + .PINS_OCT_MODE_0 (PINS_OCT_MODE_0), + .PINS_OCT_MODE_1 (PINS_OCT_MODE_1), + .PINS_OCT_MODE_2 (PINS_OCT_MODE_2), + .PINS_OCT_MODE_3 (PINS_OCT_MODE_3), + .PINS_OCT_MODE_4 (PINS_OCT_MODE_4), + .PINS_OCT_MODE_5 (PINS_OCT_MODE_5), + .PINS_OCT_MODE_6 (PINS_OCT_MODE_6), + .PINS_OCT_MODE_7 (PINS_OCT_MODE_7), + .PINS_OCT_MODE_8 (PINS_OCT_MODE_8), + .PINS_OCT_MODE_9 (PINS_OCT_MODE_9), + .PINS_OCT_MODE_10 (PINS_OCT_MODE_10), + .PINS_OCT_MODE_11 (PINS_OCT_MODE_11), + .PINS_OCT_MODE_12 (PINS_OCT_MODE_12), + .PINS_OCT_MODE_AUTOGEN_WCNT (PINS_OCT_MODE_AUTOGEN_WCNT), + .PINS_DCC_SPLIT_0 (PINS_DCC_SPLIT_0), + .PINS_DCC_SPLIT_1 (PINS_DCC_SPLIT_1), + .PINS_DCC_SPLIT_2 (PINS_DCC_SPLIT_2), + .PINS_DCC_SPLIT_3 (PINS_DCC_SPLIT_3), + .PINS_DCC_SPLIT_4 (PINS_DCC_SPLIT_4), + .PINS_DCC_SPLIT_5 (PINS_DCC_SPLIT_5), + .PINS_DCC_SPLIT_6 (PINS_DCC_SPLIT_6), + .PINS_DCC_SPLIT_7 (PINS_DCC_SPLIT_7), + .PINS_DCC_SPLIT_8 (PINS_DCC_SPLIT_8), + .PINS_DCC_SPLIT_9 (PINS_DCC_SPLIT_9), + .PINS_DCC_SPLIT_10 (PINS_DCC_SPLIT_10), + .PINS_DCC_SPLIT_11 (PINS_DCC_SPLIT_11), + .PINS_DCC_SPLIT_12 (PINS_DCC_SPLIT_12), + .PINS_DCC_SPLIT_AUTOGEN_WCNT (PINS_DCC_SPLIT_AUTOGEN_WCNT), + .UNUSED_MEM_PINS_PINLOC_0 (UNUSED_MEM_PINS_PINLOC_0), + .UNUSED_MEM_PINS_PINLOC_1 (UNUSED_MEM_PINS_PINLOC_1), + .UNUSED_MEM_PINS_PINLOC_2 (UNUSED_MEM_PINS_PINLOC_2), + .UNUSED_MEM_PINS_PINLOC_3 (UNUSED_MEM_PINS_PINLOC_3), + .UNUSED_MEM_PINS_PINLOC_4 (UNUSED_MEM_PINS_PINLOC_4), + .UNUSED_MEM_PINS_PINLOC_5 (UNUSED_MEM_PINS_PINLOC_5), + .UNUSED_MEM_PINS_PINLOC_6 (UNUSED_MEM_PINS_PINLOC_6), + .UNUSED_MEM_PINS_PINLOC_7 (UNUSED_MEM_PINS_PINLOC_7), + .UNUSED_MEM_PINS_PINLOC_8 (UNUSED_MEM_PINS_PINLOC_8), + .UNUSED_MEM_PINS_PINLOC_9 (UNUSED_MEM_PINS_PINLOC_9), + .UNUSED_MEM_PINS_PINLOC_10 (UNUSED_MEM_PINS_PINLOC_10), + .UNUSED_MEM_PINS_PINLOC_11 (UNUSED_MEM_PINS_PINLOC_11), + .UNUSED_MEM_PINS_PINLOC_12 (UNUSED_MEM_PINS_PINLOC_12), + .UNUSED_MEM_PINS_PINLOC_13 (UNUSED_MEM_PINS_PINLOC_13), + .UNUSED_MEM_PINS_PINLOC_14 (UNUSED_MEM_PINS_PINLOC_14), + .UNUSED_MEM_PINS_PINLOC_15 (UNUSED_MEM_PINS_PINLOC_15), + .UNUSED_MEM_PINS_PINLOC_16 (UNUSED_MEM_PINS_PINLOC_16), + .UNUSED_MEM_PINS_PINLOC_17 (UNUSED_MEM_PINS_PINLOC_17), + .UNUSED_MEM_PINS_PINLOC_18 (UNUSED_MEM_PINS_PINLOC_18), + .UNUSED_MEM_PINS_PINLOC_19 (UNUSED_MEM_PINS_PINLOC_19), + .UNUSED_MEM_PINS_PINLOC_20 (UNUSED_MEM_PINS_PINLOC_20), + .UNUSED_MEM_PINS_PINLOC_21 (UNUSED_MEM_PINS_PINLOC_21), + .UNUSED_MEM_PINS_PINLOC_22 (UNUSED_MEM_PINS_PINLOC_22), + .UNUSED_MEM_PINS_PINLOC_23 (UNUSED_MEM_PINS_PINLOC_23), + .UNUSED_MEM_PINS_PINLOC_24 (UNUSED_MEM_PINS_PINLOC_24), + .UNUSED_MEM_PINS_PINLOC_25 (UNUSED_MEM_PINS_PINLOC_25), + .UNUSED_MEM_PINS_PINLOC_26 (UNUSED_MEM_PINS_PINLOC_26), + .UNUSED_MEM_PINS_PINLOC_27 (UNUSED_MEM_PINS_PINLOC_27), + .UNUSED_MEM_PINS_PINLOC_28 (UNUSED_MEM_PINS_PINLOC_28), + .UNUSED_MEM_PINS_PINLOC_29 (UNUSED_MEM_PINS_PINLOC_29), + .UNUSED_MEM_PINS_PINLOC_30 (UNUSED_MEM_PINS_PINLOC_30), + .UNUSED_MEM_PINS_PINLOC_31 (UNUSED_MEM_PINS_PINLOC_31), + .UNUSED_MEM_PINS_PINLOC_32 (UNUSED_MEM_PINS_PINLOC_32), + .UNUSED_MEM_PINS_PINLOC_33 (UNUSED_MEM_PINS_PINLOC_33), + .UNUSED_MEM_PINS_PINLOC_34 (UNUSED_MEM_PINS_PINLOC_34), + .UNUSED_MEM_PINS_PINLOC_35 (UNUSED_MEM_PINS_PINLOC_35), + .UNUSED_MEM_PINS_PINLOC_36 (UNUSED_MEM_PINS_PINLOC_36), + .UNUSED_MEM_PINS_PINLOC_37 (UNUSED_MEM_PINS_PINLOC_37), + .UNUSED_MEM_PINS_PINLOC_38 (UNUSED_MEM_PINS_PINLOC_38), + .UNUSED_MEM_PINS_PINLOC_39 (UNUSED_MEM_PINS_PINLOC_39), + .UNUSED_MEM_PINS_PINLOC_40 (UNUSED_MEM_PINS_PINLOC_40), + .UNUSED_MEM_PINS_PINLOC_41 (UNUSED_MEM_PINS_PINLOC_41), + .UNUSED_MEM_PINS_PINLOC_42 (UNUSED_MEM_PINS_PINLOC_42), + .UNUSED_MEM_PINS_PINLOC_43 (UNUSED_MEM_PINS_PINLOC_43), + .UNUSED_MEM_PINS_PINLOC_44 (UNUSED_MEM_PINS_PINLOC_44), + .UNUSED_MEM_PINS_PINLOC_45 (UNUSED_MEM_PINS_PINLOC_45), + .UNUSED_MEM_PINS_PINLOC_46 (UNUSED_MEM_PINS_PINLOC_46), + .UNUSED_MEM_PINS_PINLOC_47 (UNUSED_MEM_PINS_PINLOC_47), + .UNUSED_MEM_PINS_PINLOC_48 (UNUSED_MEM_PINS_PINLOC_48), + .UNUSED_MEM_PINS_PINLOC_49 (UNUSED_MEM_PINS_PINLOC_49), + .UNUSED_MEM_PINS_PINLOC_50 (UNUSED_MEM_PINS_PINLOC_50), + .UNUSED_MEM_PINS_PINLOC_51 (UNUSED_MEM_PINS_PINLOC_51), + .UNUSED_MEM_PINS_PINLOC_52 (UNUSED_MEM_PINS_PINLOC_52), + .UNUSED_MEM_PINS_PINLOC_53 (UNUSED_MEM_PINS_PINLOC_53), + .UNUSED_MEM_PINS_PINLOC_54 (UNUSED_MEM_PINS_PINLOC_54), + .UNUSED_MEM_PINS_PINLOC_55 (UNUSED_MEM_PINS_PINLOC_55), + .UNUSED_MEM_PINS_PINLOC_56 (UNUSED_MEM_PINS_PINLOC_56), + .UNUSED_MEM_PINS_PINLOC_57 (UNUSED_MEM_PINS_PINLOC_57), + .UNUSED_MEM_PINS_PINLOC_58 (UNUSED_MEM_PINS_PINLOC_58), + .UNUSED_MEM_PINS_PINLOC_59 (UNUSED_MEM_PINS_PINLOC_59), + .UNUSED_MEM_PINS_PINLOC_60 (UNUSED_MEM_PINS_PINLOC_60), + .UNUSED_MEM_PINS_PINLOC_61 (UNUSED_MEM_PINS_PINLOC_61), + .UNUSED_MEM_PINS_PINLOC_62 (UNUSED_MEM_PINS_PINLOC_62), + .UNUSED_MEM_PINS_PINLOC_63 (UNUSED_MEM_PINS_PINLOC_63), + .UNUSED_MEM_PINS_PINLOC_64 (UNUSED_MEM_PINS_PINLOC_64), + .UNUSED_MEM_PINS_PINLOC_65 (UNUSED_MEM_PINS_PINLOC_65), + .UNUSED_MEM_PINS_PINLOC_66 (UNUSED_MEM_PINS_PINLOC_66), + .UNUSED_MEM_PINS_PINLOC_67 (UNUSED_MEM_PINS_PINLOC_67), + .UNUSED_MEM_PINS_PINLOC_68 (UNUSED_MEM_PINS_PINLOC_68), + .UNUSED_MEM_PINS_PINLOC_69 (UNUSED_MEM_PINS_PINLOC_69), + .UNUSED_MEM_PINS_PINLOC_70 (UNUSED_MEM_PINS_PINLOC_70), + .UNUSED_MEM_PINS_PINLOC_71 (UNUSED_MEM_PINS_PINLOC_71), + .UNUSED_MEM_PINS_PINLOC_72 (UNUSED_MEM_PINS_PINLOC_72), + .UNUSED_MEM_PINS_PINLOC_73 (UNUSED_MEM_PINS_PINLOC_73), + .UNUSED_MEM_PINS_PINLOC_74 (UNUSED_MEM_PINS_PINLOC_74), + .UNUSED_MEM_PINS_PINLOC_75 (UNUSED_MEM_PINS_PINLOC_75), + .UNUSED_MEM_PINS_PINLOC_76 (UNUSED_MEM_PINS_PINLOC_76), + .UNUSED_MEM_PINS_PINLOC_77 (UNUSED_MEM_PINS_PINLOC_77), + .UNUSED_MEM_PINS_PINLOC_78 (UNUSED_MEM_PINS_PINLOC_78), + .UNUSED_MEM_PINS_PINLOC_79 (UNUSED_MEM_PINS_PINLOC_79), + .UNUSED_MEM_PINS_PINLOC_80 (UNUSED_MEM_PINS_PINLOC_80), + .UNUSED_MEM_PINS_PINLOC_81 (UNUSED_MEM_PINS_PINLOC_81), + .UNUSED_MEM_PINS_PINLOC_82 (UNUSED_MEM_PINS_PINLOC_82), + .UNUSED_MEM_PINS_PINLOC_83 (UNUSED_MEM_PINS_PINLOC_83), + .UNUSED_MEM_PINS_PINLOC_84 (UNUSED_MEM_PINS_PINLOC_84), + .UNUSED_MEM_PINS_PINLOC_85 (UNUSED_MEM_PINS_PINLOC_85), + .UNUSED_MEM_PINS_PINLOC_86 (UNUSED_MEM_PINS_PINLOC_86), + .UNUSED_MEM_PINS_PINLOC_87 (UNUSED_MEM_PINS_PINLOC_87), + .UNUSED_MEM_PINS_PINLOC_88 (UNUSED_MEM_PINS_PINLOC_88), + .UNUSED_MEM_PINS_PINLOC_89 (UNUSED_MEM_PINS_PINLOC_89), + .UNUSED_MEM_PINS_PINLOC_90 (UNUSED_MEM_PINS_PINLOC_90), + .UNUSED_MEM_PINS_PINLOC_91 (UNUSED_MEM_PINS_PINLOC_91), + .UNUSED_MEM_PINS_PINLOC_92 (UNUSED_MEM_PINS_PINLOC_92), + .UNUSED_MEM_PINS_PINLOC_93 (UNUSED_MEM_PINS_PINLOC_93), + .UNUSED_MEM_PINS_PINLOC_94 (UNUSED_MEM_PINS_PINLOC_94), + .UNUSED_MEM_PINS_PINLOC_95 (UNUSED_MEM_PINS_PINLOC_95), + .UNUSED_MEM_PINS_PINLOC_96 (UNUSED_MEM_PINS_PINLOC_96), + .UNUSED_MEM_PINS_PINLOC_97 (UNUSED_MEM_PINS_PINLOC_97), + .UNUSED_MEM_PINS_PINLOC_98 (UNUSED_MEM_PINS_PINLOC_98), + .UNUSED_MEM_PINS_PINLOC_99 (UNUSED_MEM_PINS_PINLOC_99), + .UNUSED_MEM_PINS_PINLOC_100 (UNUSED_MEM_PINS_PINLOC_100), + .UNUSED_MEM_PINS_PINLOC_101 (UNUSED_MEM_PINS_PINLOC_101), + .UNUSED_MEM_PINS_PINLOC_102 (UNUSED_MEM_PINS_PINLOC_102), + .UNUSED_MEM_PINS_PINLOC_103 (UNUSED_MEM_PINS_PINLOC_103), + .UNUSED_MEM_PINS_PINLOC_104 (UNUSED_MEM_PINS_PINLOC_104), + .UNUSED_MEM_PINS_PINLOC_105 (UNUSED_MEM_PINS_PINLOC_105), + .UNUSED_MEM_PINS_PINLOC_106 (UNUSED_MEM_PINS_PINLOC_106), + .UNUSED_MEM_PINS_PINLOC_107 (UNUSED_MEM_PINS_PINLOC_107), + .UNUSED_MEM_PINS_PINLOC_108 (UNUSED_MEM_PINS_PINLOC_108), + .UNUSED_MEM_PINS_PINLOC_109 (UNUSED_MEM_PINS_PINLOC_109), + .UNUSED_MEM_PINS_PINLOC_110 (UNUSED_MEM_PINS_PINLOC_110), + .UNUSED_MEM_PINS_PINLOC_111 (UNUSED_MEM_PINS_PINLOC_111), + .UNUSED_MEM_PINS_PINLOC_112 (UNUSED_MEM_PINS_PINLOC_112), + .UNUSED_MEM_PINS_PINLOC_113 (UNUSED_MEM_PINS_PINLOC_113), + .UNUSED_MEM_PINS_PINLOC_114 (UNUSED_MEM_PINS_PINLOC_114), + .UNUSED_MEM_PINS_PINLOC_115 (UNUSED_MEM_PINS_PINLOC_115), + .UNUSED_MEM_PINS_PINLOC_116 (UNUSED_MEM_PINS_PINLOC_116), + .UNUSED_MEM_PINS_PINLOC_117 (UNUSED_MEM_PINS_PINLOC_117), + .UNUSED_MEM_PINS_PINLOC_118 (UNUSED_MEM_PINS_PINLOC_118), + .UNUSED_MEM_PINS_PINLOC_119 (UNUSED_MEM_PINS_PINLOC_119), + .UNUSED_MEM_PINS_PINLOC_120 (UNUSED_MEM_PINS_PINLOC_120), + .UNUSED_MEM_PINS_PINLOC_121 (UNUSED_MEM_PINS_PINLOC_121), + .UNUSED_MEM_PINS_PINLOC_122 (UNUSED_MEM_PINS_PINLOC_122), + .UNUSED_MEM_PINS_PINLOC_123 (UNUSED_MEM_PINS_PINLOC_123), + .UNUSED_MEM_PINS_PINLOC_124 (UNUSED_MEM_PINS_PINLOC_124), + .UNUSED_MEM_PINS_PINLOC_125 (UNUSED_MEM_PINS_PINLOC_125), + .UNUSED_MEM_PINS_PINLOC_126 (UNUSED_MEM_PINS_PINLOC_126), + .UNUSED_MEM_PINS_PINLOC_127 (UNUSED_MEM_PINS_PINLOC_127), + .UNUSED_MEM_PINS_PINLOC_128 (UNUSED_MEM_PINS_PINLOC_128), + .UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT (UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT), + .UNUSED_DQS_BUSES_LANELOC_0 (UNUSED_DQS_BUSES_LANELOC_0), + .UNUSED_DQS_BUSES_LANELOC_1 (UNUSED_DQS_BUSES_LANELOC_1), + .UNUSED_DQS_BUSES_LANELOC_2 (UNUSED_DQS_BUSES_LANELOC_2), + .UNUSED_DQS_BUSES_LANELOC_3 (UNUSED_DQS_BUSES_LANELOC_3), + .UNUSED_DQS_BUSES_LANELOC_4 (UNUSED_DQS_BUSES_LANELOC_4), + .UNUSED_DQS_BUSES_LANELOC_5 (UNUSED_DQS_BUSES_LANELOC_5), + .UNUSED_DQS_BUSES_LANELOC_6 (UNUSED_DQS_BUSES_LANELOC_6), + .UNUSED_DQS_BUSES_LANELOC_7 (UNUSED_DQS_BUSES_LANELOC_7), + .UNUSED_DQS_BUSES_LANELOC_8 (UNUSED_DQS_BUSES_LANELOC_8), + .UNUSED_DQS_BUSES_LANELOC_9 (UNUSED_DQS_BUSES_LANELOC_9), + .UNUSED_DQS_BUSES_LANELOC_10 (UNUSED_DQS_BUSES_LANELOC_10), + .UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT (UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT), + .DBC_EXTRA_PIPE_STAGE_EN (DBC_EXTRA_PIPE_STAGE_EN), + .DBC_PIPE_LATS_0 (DBC_PIPE_LATS_0), + .DBC_PIPE_LATS_1 (DBC_PIPE_LATS_1), + .DBC_PIPE_LATS_2 (DBC_PIPE_LATS_2), + .DBC_PIPE_LATS_3 (DBC_PIPE_LATS_3), + .DBC_PIPE_LATS_4 (DBC_PIPE_LATS_4), + .DBC_PIPE_LATS_AUTOGEN_WCNT (DBC_PIPE_LATS_AUTOGEN_WCNT), + .DB_PTR_PIPELINE_DEPTHS_0 (DB_PTR_PIPELINE_DEPTHS_0), + .DB_PTR_PIPELINE_DEPTHS_1 (DB_PTR_PIPELINE_DEPTHS_1), + .DB_PTR_PIPELINE_DEPTHS_2 (DB_PTR_PIPELINE_DEPTHS_2), + .DB_PTR_PIPELINE_DEPTHS_3 (DB_PTR_PIPELINE_DEPTHS_3), + .DB_PTR_PIPELINE_DEPTHS_4 (DB_PTR_PIPELINE_DEPTHS_4), + .DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT (DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT), + .DB_SEQ_RD_EN_FULL_PIPELINES_0 (DB_SEQ_RD_EN_FULL_PIPELINES_0), + .DB_SEQ_RD_EN_FULL_PIPELINES_1 (DB_SEQ_RD_EN_FULL_PIPELINES_1), + .DB_SEQ_RD_EN_FULL_PIPELINES_2 (DB_SEQ_RD_EN_FULL_PIPELINES_2), + .DB_SEQ_RD_EN_FULL_PIPELINES_3 (DB_SEQ_RD_EN_FULL_PIPELINES_3), + .DB_SEQ_RD_EN_FULL_PIPELINES_4 (DB_SEQ_RD_EN_FULL_PIPELINES_4), + .DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT (DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT), + .CENTER_TIDS_0 (CENTER_TIDS_0), + .CENTER_TIDS_1 (CENTER_TIDS_1), + .CENTER_TIDS_2 (CENTER_TIDS_2), + .CENTER_TIDS_AUTOGEN_WCNT (CENTER_TIDS_AUTOGEN_WCNT), + .HMC_TIDS_0 (HMC_TIDS_0), + .HMC_TIDS_1 (HMC_TIDS_1), + .HMC_TIDS_2 (HMC_TIDS_2), + .HMC_TIDS_AUTOGEN_WCNT (HMC_TIDS_AUTOGEN_WCNT), + .LANE_TIDS_0 (LANE_TIDS_0), + .LANE_TIDS_1 (LANE_TIDS_1), + .LANE_TIDS_2 (LANE_TIDS_2), + .LANE_TIDS_3 (LANE_TIDS_3), + .LANE_TIDS_4 (LANE_TIDS_4), + .LANE_TIDS_5 (LANE_TIDS_5), + .LANE_TIDS_6 (LANE_TIDS_6), + .LANE_TIDS_7 (LANE_TIDS_7), + .LANE_TIDS_8 (LANE_TIDS_8), + .LANE_TIDS_9 (LANE_TIDS_9), + .LANE_TIDS_AUTOGEN_WCNT (LANE_TIDS_AUTOGEN_WCNT), + .PREAMBLE_MODE (PREAMBLE_MODE), + .DBI_WR_ENABLE (DBI_WR_ENABLE), + .DBI_RD_ENABLE (DBI_RD_ENABLE), + .SWAP_DQS_A_B (SWAP_DQS_A_B), + .DQS_PACK_MODE (DQS_PACK_MODE), + .OCT_SIZE (OCT_SIZE), + .DQSA_LGC_MODE (DQSA_LGC_MODE), + .DQSB_LGC_MODE (DQSB_LGC_MODE), + .DBC_WB_RESERVED_ENTRY (DBC_WB_RESERVED_ENTRY), + .DLL_MODE (DLL_MODE), + .DLL_CODEWORD (DLL_CODEWORD), + .ABPHY_WRITE_PROTOCOL (ABPHY_WRITE_PROTOCOL), + .PHY_USERMODE_OCT (PHY_USERMODE_OCT), + .PHY_PERIODIC_OCT_RECAL (PHY_PERIODIC_OCT_RECAL), + .GENERATE_PHYLITE (GENERATE_PHYLITE), + .HPRX_CTLE_EN (HPRX_CTLE_EN), + .HPRX_OFFSET_CAL (HPRX_OFFSET_CAL), + .CPA_FB_MUX_1_SEL (CPA_FB_MUX_1_SEL), + .ENABLE_RD_TYPE (ENABLE_RD_TYPE), + .AMM_C2P_UFI_MODE (AMM_C2P_UFI_MODE), + .AMM_P2C_UFI_MODE (AMM_P2C_UFI_MODE), + .MMR_C2P_UFI_MODE (MMR_C2P_UFI_MODE), + .MMR_P2C_UFI_MODE (MMR_P2C_UFI_MODE), + .SIDEBAND_C2P_UFI_MODE (SIDEBAND_C2P_UFI_MODE), + .SIDEBAND_P2C_UFI_MODE (SIDEBAND_P2C_UFI_MODE), + .SEQ_C2P_UFI_MODE (SEQ_C2P_UFI_MODE), + .SEQ_P2C_UFI_MODE (SEQ_P2C_UFI_MODE), + .ECC_C2P_UFI_MODE (ECC_C2P_UFI_MODE), + .ECC_P2C_UFI_MODE (ECC_P2C_UFI_MODE), + .LANE_C2P_UFI_MODE (LANE_C2P_UFI_MODE), + .LANE_P2C_UFI_MODE (LANE_P2C_UFI_MODE), + .AMM_HIPI_DELAY (AMM_HIPI_DELAY), + .MMR_HIPI_DELAY (MMR_HIPI_DELAY), + .SIDEBAND_HIPI_DELAY (SIDEBAND_HIPI_DELAY), + .SEQ_HIPI_DELAY (SEQ_HIPI_DELAY), + .ECC_HIPI_DELAY (ECC_HIPI_DELAY), + .LANE_HIPI_DELAY (LANE_HIPI_DELAY), + .PRI_HMC_CFG_PING_PONG_MODE (PRI_HMC_CFG_PING_PONG_MODE), + .PRI_HMC_CFG_CS_ADDR_WIDTH (PRI_HMC_CFG_CS_ADDR_WIDTH), + .PRI_HMC_CFG_COL_ADDR_WIDTH (PRI_HMC_CFG_COL_ADDR_WIDTH), + .PRI_HMC_CFG_ROW_ADDR_WIDTH (PRI_HMC_CFG_ROW_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_ADDR_WIDTH (PRI_HMC_CFG_BANK_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH (PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .PRI_HMC_CFG_ADDR_ORDER (PRI_HMC_CFG_ADDR_ORDER), + .PRI_HMC_CFG_ARBITER_TYPE (PRI_HMC_CFG_ARBITER_TYPE), + .PRI_HMC_CFG_OPEN_PAGE_EN (PRI_HMC_CFG_OPEN_PAGE_EN), + .PRI_HMC_CFG_CTRL_ENABLE_RC (PRI_HMC_CFG_CTRL_ENABLE_RC), + .PRI_HMC_CFG_DBC0_ENABLE_RC (PRI_HMC_CFG_DBC0_ENABLE_RC), + .PRI_HMC_CFG_DBC1_ENABLE_RC (PRI_HMC_CFG_DBC1_ENABLE_RC), + .PRI_HMC_CFG_DBC2_ENABLE_RC (PRI_HMC_CFG_DBC2_ENABLE_RC), + .PRI_HMC_CFG_DBC3_ENABLE_RC (PRI_HMC_CFG_DBC3_ENABLE_RC), + .PRI_HMC_CFG_CTRL_ENABLE_ECC (PRI_HMC_CFG_CTRL_ENABLE_ECC), + .PRI_HMC_CFG_DBC0_ENABLE_ECC (PRI_HMC_CFG_DBC0_ENABLE_ECC), + .PRI_HMC_CFG_DBC1_ENABLE_ECC (PRI_HMC_CFG_DBC1_ENABLE_ECC), + .PRI_HMC_CFG_DBC2_ENABLE_ECC (PRI_HMC_CFG_DBC2_ENABLE_ECC), + .PRI_HMC_CFG_DBC3_ENABLE_ECC (PRI_HMC_CFG_DBC3_ENABLE_ECC), + .PRI_HMC_CFG_REORDER_DATA (PRI_HMC_CFG_REORDER_DATA), + .PRI_HMC_CFG_REORDER_READ (PRI_HMC_CFG_REORDER_READ), + .PRI_HMC_CFG_CTRL_REORDER_RDATA (PRI_HMC_CFG_CTRL_REORDER_RDATA), + .PRI_HMC_CFG_DBC0_REORDER_RDATA (PRI_HMC_CFG_DBC0_REORDER_RDATA), + .PRI_HMC_CFG_DBC1_REORDER_RDATA (PRI_HMC_CFG_DBC1_REORDER_RDATA), + .PRI_HMC_CFG_DBC2_REORDER_RDATA (PRI_HMC_CFG_DBC2_REORDER_RDATA), + .PRI_HMC_CFG_DBC3_REORDER_RDATA (PRI_HMC_CFG_DBC3_REORDER_RDATA), + .PRI_HMC_CFG_CTRL_SLOT_OFFSET (PRI_HMC_CFG_CTRL_SLOT_OFFSET), + .PRI_HMC_CFG_DBC0_SLOT_OFFSET (PRI_HMC_CFG_DBC0_SLOT_OFFSET), + .PRI_HMC_CFG_DBC1_SLOT_OFFSET (PRI_HMC_CFG_DBC1_SLOT_OFFSET), + .PRI_HMC_CFG_DBC2_SLOT_OFFSET (PRI_HMC_CFG_DBC2_SLOT_OFFSET), + .PRI_HMC_CFG_DBC3_SLOT_OFFSET (PRI_HMC_CFG_DBC3_SLOT_OFFSET), + .PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN (PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .PRI_HMC_CFG_COL_CMD_SLOT (PRI_HMC_CFG_COL_CMD_SLOT), + .PRI_HMC_CFG_ROW_CMD_SLOT (PRI_HMC_CFG_ROW_CMD_SLOT), + .PRI_HMC_CFG_ROW_TO_COL_OFFSET (PRI_HMC_CFG_ROW_TO_COL_OFFSET), + .PRI_HMC_CFG_ROW_TO_ROW_OFFSET (PRI_HMC_CFG_ROW_TO_ROW_OFFSET), + .PRI_HMC_CFG_COL_TO_COL_OFFSET (PRI_HMC_CFG_COL_TO_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET (PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_ROW_OFFSET (PRI_HMC_CFG_COL_TO_ROW_OFFSET), + .PRI_HMC_CFG_SIDEBAND_OFFSET (PRI_HMC_CFG_SIDEBAND_OFFSET), + .PRI_HMC_CFG_CS_TO_CHIP_MAPPING (PRI_HMC_CFG_CS_TO_CHIP_MAPPING), + .PRI_HMC_CFG_CTL_ODT_ENABLED (PRI_HMC_CFG_CTL_ODT_ENABLED), + .PRI_HMC_CFG_RD_ODT_ON (PRI_HMC_CFG_RD_ODT_ON), + .PRI_HMC_CFG_RD_ODT_PERIOD (PRI_HMC_CFG_RD_ODT_PERIOD), + .PRI_HMC_CFG_READ_ODT_CHIP (PRI_HMC_CFG_READ_ODT_CHIP), + .PRI_HMC_CFG_WR_ODT_ON (PRI_HMC_CFG_WR_ODT_ON), + .PRI_HMC_CFG_WR_ODT_PERIOD (PRI_HMC_CFG_WR_ODT_PERIOD), + .PRI_HMC_CFG_WRITE_ODT_CHIP (PRI_HMC_CFG_WRITE_ODT_CHIP), + .PRI_HMC_CFG_CMD_FIFO_RESERVE_EN (PRI_HMC_CFG_CMD_FIFO_RESERVE_EN), + .PRI_HMC_CFG_RB_RESERVED_ENTRY (PRI_HMC_CFG_RB_RESERVED_ENTRY), + .PRI_HMC_CFG_WB_RESERVED_ENTRY (PRI_HMC_CFG_WB_RESERVED_ENTRY), + .PRI_HMC_CFG_STARVE_LIMIT (PRI_HMC_CFG_STARVE_LIMIT), + .PRI_HMC_CFG_PHY_DELAY_MISMATCH (PRI_HMC_CFG_PHY_DELAY_MISMATCH), + .PRI_HMC_CFG_DQSTRK_EN (PRI_HMC_CFG_DQSTRK_EN), + .PRI_HMC_CFG_DQSTRK_TO_VALID (PRI_HMC_CFG_DQSTRK_TO_VALID), + .PRI_HMC_CFG_DQSTRK_TO_VALID_LAST (PRI_HMC_CFG_DQSTRK_TO_VALID_LAST), + .PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN (PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL (PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN (PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD (PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .PRI_HMC_CFG_USER_RFSH_EN (PRI_HMC_CFG_USER_RFSH_EN), + .PRI_HMC_CFG_GEAR_DOWN_EN (PRI_HMC_CFG_GEAR_DOWN_EN), + .PRI_HMC_CFG_MEM_AUTO_PD_CYCLES (PRI_HMC_CFG_MEM_AUTO_PD_CYCLES), + .PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .PRI_HMC_MEMCLKGATE_SETTING (PRI_HMC_MEMCLKGATE_SETTING), + .PRI_HMC_CFG_TCL (PRI_HMC_CFG_TCL), + .PRI_HMC_CFG_16_ACT_TO_ACT (PRI_HMC_CFG_16_ACT_TO_ACT), + .PRI_HMC_CFG_4_ACT_TO_ACT (PRI_HMC_CFG_4_ACT_TO_ACT), + .PRI_HMC_MEM_IF_AL (PRI_HMC_MEM_IF_AL), + .PRI_HMC_MEM_IF_CS_PER_DIMM (PRI_HMC_MEM_IF_CS_PER_DIMM), + .PRI_HMC_MEM_IF_RD_PREAMBLE (PRI_HMC_MEM_IF_RD_PREAMBLE), + .PRI_HMC_MEM_IF_TCCD (PRI_HMC_MEM_IF_TCCD), + .PRI_HMC_MEM_IF_TCCD_S (PRI_HMC_MEM_IF_TCCD_S), + .PRI_HMC_MEM_IF_TCKESR (PRI_HMC_MEM_IF_TCKESR), + .PRI_HMC_MEM_IF_TCKSRX (PRI_HMC_MEM_IF_TCKSRX), + .PRI_HMC_MEM_IF_TCL (PRI_HMC_MEM_IF_TCL), + .PRI_HMC_MEM_IF_TCWL (PRI_HMC_MEM_IF_TCWL), + .PRI_HMC_MEM_IF_TDQSCKMAX (PRI_HMC_MEM_IF_TDQSCKMAX), + .PRI_HMC_MEM_IF_TFAW (PRI_HMC_MEM_IF_TFAW), + .PRI_HMC_MEM_IF_TMOD (PRI_HMC_MEM_IF_TMOD), + .PRI_HMC_MEM_IF_TPL (PRI_HMC_MEM_IF_TPL), + .PRI_HMC_MEM_IF_TRAS (PRI_HMC_MEM_IF_TRAS), + .PRI_HMC_MEM_IF_TRC (PRI_HMC_MEM_IF_TRC), + .PRI_HMC_MEM_IF_TRCD (PRI_HMC_MEM_IF_TRCD), + .PRI_HMC_MEM_IF_TREFI (PRI_HMC_MEM_IF_TREFI), + .PRI_HMC_MEM_IF_TRFC (PRI_HMC_MEM_IF_TRFC), + .PRI_HMC_MEM_IF_TRP (PRI_HMC_MEM_IF_TRP), + .PRI_HMC_MEM_IF_TRRD (PRI_HMC_MEM_IF_TRRD), + .PRI_HMC_MEM_IF_TRRD_S (PRI_HMC_MEM_IF_TRRD_S), + .PRI_HMC_MEM_IF_TRTP (PRI_HMC_MEM_IF_TRTP), + .PRI_HMC_MEM_IF_TWR (PRI_HMC_MEM_IF_TWR), + .PRI_HMC_MEM_IF_TWR_CRC_DM (PRI_HMC_MEM_IF_TWR_CRC_DM), + .PRI_HMC_MEM_IF_TWTR (PRI_HMC_MEM_IF_TWTR), + .PRI_HMC_MEM_IF_TWTR_L_CRC_DM (PRI_HMC_MEM_IF_TWTR_L_CRC_DM), + .PRI_HMC_MEM_IF_TWTR_S (PRI_HMC_MEM_IF_TWTR_S), + .PRI_HMC_MEM_IF_TWTR_S_CRC_DM (PRI_HMC_MEM_IF_TWTR_S_CRC_DM), + .PRI_HMC_MEM_IF_TXP (PRI_HMC_MEM_IF_TXP), + .PRI_HMC_MEM_IF_TXPDLL (PRI_HMC_MEM_IF_TXPDLL), + .PRI_HMC_MEM_IF_TXSR (PRI_HMC_MEM_IF_TXSR), + .PRI_HMC_MEM_IF_TZQCS (PRI_HMC_MEM_IF_TZQCS), + .PRI_HMC_MEM_IF_TZQOPER (PRI_HMC_MEM_IF_TZQOPER), + .PRI_HMC_MEM_IF_WR_CRC (PRI_HMC_MEM_IF_WR_CRC), + .PRI_HMC_MEM_IF_WR_PREAMBLE (PRI_HMC_MEM_IF_WR_PREAMBLE), + .PRI_HMC_CFG_ACT_TO_ACT (PRI_HMC_CFG_ACT_TO_ACT), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .PRI_HMC_CFG_ACT_TO_PCH (PRI_HMC_CFG_ACT_TO_PCH), + .PRI_HMC_CFG_ACT_TO_RDWR (PRI_HMC_CFG_ACT_TO_RDWR), + .PRI_HMC_CFG_ARF_PERIOD (PRI_HMC_CFG_ARF_PERIOD), + .PRI_HMC_CFG_ARF_TO_VALID (PRI_HMC_CFG_ARF_TO_VALID), + .PRI_HMC_CFG_MMR_CMD_TO_VALID (PRI_HMC_CFG_MMR_CMD_TO_VALID), + .PRI_HMC_CFG_MPR_TO_VALID (PRI_HMC_CFG_MPR_TO_VALID), + .PRI_HMC_CFG_MPS_DQSTRK_DISABLE (PRI_HMC_CFG_MPS_DQSTRK_DISABLE), + .PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS (PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE (PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .PRI_HMC_CFG_MPS_TO_VALID (PRI_HMC_CFG_MPS_TO_VALID), + .PRI_HMC_CFG_MPS_ZQCAL_DISABLE (PRI_HMC_CFG_MPS_ZQCAL_DISABLE), + .PRI_HMC_CFG_MRR_TO_VALID (PRI_HMC_CFG_MRR_TO_VALID), + .PRI_HMC_CFG_MRS_TO_VALID (PRI_HMC_CFG_MRS_TO_VALID), + .PRI_HMC_CFG_PCH_ALL_TO_VALID (PRI_HMC_CFG_PCH_ALL_TO_VALID), + .PRI_HMC_CFG_PCH_TO_VALID (PRI_HMC_CFG_PCH_TO_VALID), + .PRI_HMC_CFG_PDN_PERIOD (PRI_HMC_CFG_PDN_PERIOD), + .PRI_HMC_CFG_PDN_TO_VALID (PRI_HMC_CFG_PDN_TO_VALID), + .PRI_HMC_CFG_POWER_SAVING_EXIT_CYC (PRI_HMC_CFG_POWER_SAVING_EXIT_CYC), + .PRI_HMC_CFG_RD_AP_TO_VALID (PRI_HMC_CFG_RD_AP_TO_VALID), + .PRI_HMC_CFG_RD_TO_PCH (PRI_HMC_CFG_RD_TO_PCH), + .PRI_HMC_CFG_RD_TO_RD (PRI_HMC_CFG_RD_TO_RD), + .PRI_HMC_CFG_RD_TO_RD_DIFF_BG (PRI_HMC_CFG_RD_TO_RD_DIFF_BG), + .PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP (PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_RD_TO_WR (PRI_HMC_CFG_RD_TO_WR), + .PRI_HMC_CFG_RD_TO_WR_DIFF_BG (PRI_HMC_CFG_RD_TO_WR_DIFF_BG), + .PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP (PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_RFSH_WARN_THRESHOLD (PRI_HMC_CFG_RFSH_WARN_THRESHOLD), + .PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ0 (PRI_HMC_CFG_RLD3_REFRESH_SEQ0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ1 (PRI_HMC_CFG_RLD3_REFRESH_SEQ1), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ2 (PRI_HMC_CFG_RLD3_REFRESH_SEQ2), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ3 (PRI_HMC_CFG_RLD3_REFRESH_SEQ3), + .PRI_HMC_CFG_SB_CG_DISABLE (PRI_HMC_CFG_SB_CG_DISABLE), + .PRI_HMC_CFG_SB_DDR4_MR3 (PRI_HMC_CFG_SB_DDR4_MR3), + .PRI_HMC_CFG_SB_DDR4_MR4 (PRI_HMC_CFG_SB_DDR4_MR4), + .PRI_HMC_CFG_SB_DDR4_MR5 (PRI_HMC_CFG_SB_DDR4_MR5), + .PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR (PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .PRI_HMC_CFG_SRF_AUTOEXIT_EN (PRI_HMC_CFG_SRF_AUTOEXIT_EN), + .PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .PRI_HMC_CFG_SRF_TO_VALID (PRI_HMC_CFG_SRF_TO_VALID), + .PRI_HMC_CFG_SRF_TO_ZQ_CAL (PRI_HMC_CFG_SRF_TO_ZQ_CAL), + .PRI_HMC_CFG_SRF_ZQCAL_DISABLE (PRI_HMC_CFG_SRF_ZQCAL_DISABLE), + .PRI_HMC_TEMP_4_ACT_TO_ACT (PRI_HMC_TEMP_4_ACT_TO_ACT), + .PRI_HMC_TEMP_RD_TO_RD_DIFF_BG (PRI_HMC_TEMP_RD_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD (PRI_HMC_TEMP_WR_TO_RD), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_BG (PRI_HMC_TEMP_WR_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP (PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_TEMP_WR_TO_WR_DIFF_BG (PRI_HMC_TEMP_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_AP_TO_VALID (PRI_HMC_CFG_WR_AP_TO_VALID), + .PRI_HMC_CFG_WR_TO_PCH (PRI_HMC_CFG_WR_TO_PCH), + .PRI_HMC_CFG_WR_TO_RD (PRI_HMC_CFG_WR_TO_RD), + .PRI_HMC_CFG_WR_TO_RD_DIFF_BG (PRI_HMC_CFG_WR_TO_RD_DIFF_BG), + .PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP (PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_WR_TO_WR (PRI_HMC_CFG_WR_TO_WR), + .PRI_HMC_CFG_WR_TO_WR_DIFF_BG (PRI_HMC_CFG_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP (PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_ZQCL_TO_VALID (PRI_HMC_CFG_ZQCL_TO_VALID), + .PRI_HMC_CFG_ZQCS_TO_VALID (PRI_HMC_CFG_ZQCS_TO_VALID), + .PRI_HMC_CHIP_ID (PRI_HMC_CHIP_ID), + .PRI_HMC_CID_ADDR_WIDTH (PRI_HMC_CID_ADDR_WIDTH), + .PRI_HMC_3DS_EN (PRI_HMC_3DS_EN), + .PRI_HMC_3DS_LR_NUM0 (PRI_HMC_3DS_LR_NUM0), + .PRI_HMC_3DS_LR_NUM1 (PRI_HMC_3DS_LR_NUM1), + .PRI_HMC_3DS_LR_NUM2 (PRI_HMC_3DS_LR_NUM2), + .PRI_HMC_3DS_LR_NUM3 (PRI_HMC_3DS_LR_NUM3), + .PRI_HMC_3DS_PR_STAG_ENABLE (PRI_HMC_3DS_PR_STAG_ENABLE), + .PRI_HMC_3DS_REF2REF_DLR (PRI_HMC_3DS_REF2REF_DLR), + .PRI_HMC_3DSREF_ACK_ON_DONE (PRI_HMC_3DSREF_ACK_ON_DONE), + .PRI_HMC_CFG_MAJOR_MODE_EN (PRI_HMC_CFG_MAJOR_MODE_EN), + .PRI_HMC_CFG_REFRESH_TYPE (PRI_HMC_CFG_REFRESH_TYPE), + .PRI_HMC_CFG_PRE_REFRESH_EN (PRI_HMC_CFG_PRE_REFRESH_EN), + .PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .PRI_HMC_CFG_POST_REFRESH_EN (PRI_HMC_CFG_POST_REFRESH_EN), + .PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT (PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .SEC_HMC_CFG_PING_PONG_MODE (SEC_HMC_CFG_PING_PONG_MODE), + .SEC_HMC_CFG_CS_ADDR_WIDTH (SEC_HMC_CFG_CS_ADDR_WIDTH), + .SEC_HMC_CFG_COL_ADDR_WIDTH (SEC_HMC_CFG_COL_ADDR_WIDTH), + .SEC_HMC_CFG_ROW_ADDR_WIDTH (SEC_HMC_CFG_ROW_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_ADDR_WIDTH (SEC_HMC_CFG_BANK_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH (SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .SEC_HMC_CFG_ADDR_ORDER (SEC_HMC_CFG_ADDR_ORDER), + .SEC_HMC_CFG_ARBITER_TYPE (SEC_HMC_CFG_ARBITER_TYPE), + .SEC_HMC_CFG_OPEN_PAGE_EN (SEC_HMC_CFG_OPEN_PAGE_EN), + .SEC_HMC_CFG_CTRL_ENABLE_RC (SEC_HMC_CFG_CTRL_ENABLE_RC), + .SEC_HMC_CFG_DBC0_ENABLE_RC (SEC_HMC_CFG_DBC0_ENABLE_RC), + .SEC_HMC_CFG_DBC1_ENABLE_RC (SEC_HMC_CFG_DBC1_ENABLE_RC), + .SEC_HMC_CFG_DBC2_ENABLE_RC (SEC_HMC_CFG_DBC2_ENABLE_RC), + .SEC_HMC_CFG_DBC3_ENABLE_RC (SEC_HMC_CFG_DBC3_ENABLE_RC), + .SEC_HMC_CFG_CTRL_ENABLE_ECC (SEC_HMC_CFG_CTRL_ENABLE_ECC), + .SEC_HMC_CFG_DBC0_ENABLE_ECC (SEC_HMC_CFG_DBC0_ENABLE_ECC), + .SEC_HMC_CFG_DBC1_ENABLE_ECC (SEC_HMC_CFG_DBC1_ENABLE_ECC), + .SEC_HMC_CFG_DBC2_ENABLE_ECC (SEC_HMC_CFG_DBC2_ENABLE_ECC), + .SEC_HMC_CFG_DBC3_ENABLE_ECC (SEC_HMC_CFG_DBC3_ENABLE_ECC), + .SEC_HMC_CFG_REORDER_DATA (SEC_HMC_CFG_REORDER_DATA), + .SEC_HMC_CFG_REORDER_READ (SEC_HMC_CFG_REORDER_READ), + .SEC_HMC_CFG_CTRL_REORDER_RDATA (SEC_HMC_CFG_CTRL_REORDER_RDATA), + .SEC_HMC_CFG_DBC0_REORDER_RDATA (SEC_HMC_CFG_DBC0_REORDER_RDATA), + .SEC_HMC_CFG_DBC1_REORDER_RDATA (SEC_HMC_CFG_DBC1_REORDER_RDATA), + .SEC_HMC_CFG_DBC2_REORDER_RDATA (SEC_HMC_CFG_DBC2_REORDER_RDATA), + .SEC_HMC_CFG_DBC3_REORDER_RDATA (SEC_HMC_CFG_DBC3_REORDER_RDATA), + .SEC_HMC_CFG_CTRL_SLOT_OFFSET (SEC_HMC_CFG_CTRL_SLOT_OFFSET), + .SEC_HMC_CFG_DBC0_SLOT_OFFSET (SEC_HMC_CFG_DBC0_SLOT_OFFSET), + .SEC_HMC_CFG_DBC1_SLOT_OFFSET (SEC_HMC_CFG_DBC1_SLOT_OFFSET), + .SEC_HMC_CFG_DBC2_SLOT_OFFSET (SEC_HMC_CFG_DBC2_SLOT_OFFSET), + .SEC_HMC_CFG_DBC3_SLOT_OFFSET (SEC_HMC_CFG_DBC3_SLOT_OFFSET), + .SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN (SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .SEC_HMC_CFG_COL_CMD_SLOT (SEC_HMC_CFG_COL_CMD_SLOT), + .SEC_HMC_CFG_ROW_CMD_SLOT (SEC_HMC_CFG_ROW_CMD_SLOT), + .SEC_HMC_CFG_ROW_TO_COL_OFFSET (SEC_HMC_CFG_ROW_TO_COL_OFFSET), + .SEC_HMC_CFG_ROW_TO_ROW_OFFSET (SEC_HMC_CFG_ROW_TO_ROW_OFFSET), + .SEC_HMC_CFG_COL_TO_COL_OFFSET (SEC_HMC_CFG_COL_TO_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET (SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_ROW_OFFSET (SEC_HMC_CFG_COL_TO_ROW_OFFSET), + .SEC_HMC_CFG_SIDEBAND_OFFSET (SEC_HMC_CFG_SIDEBAND_OFFSET), + .SEC_HMC_CFG_CS_TO_CHIP_MAPPING (SEC_HMC_CFG_CS_TO_CHIP_MAPPING), + .SEC_HMC_CFG_CTL_ODT_ENABLED (SEC_HMC_CFG_CTL_ODT_ENABLED), + .SEC_HMC_CFG_RD_ODT_ON (SEC_HMC_CFG_RD_ODT_ON), + .SEC_HMC_CFG_RD_ODT_PERIOD (SEC_HMC_CFG_RD_ODT_PERIOD), + .SEC_HMC_CFG_READ_ODT_CHIP (SEC_HMC_CFG_READ_ODT_CHIP), + .SEC_HMC_CFG_WR_ODT_ON (SEC_HMC_CFG_WR_ODT_ON), + .SEC_HMC_CFG_WR_ODT_PERIOD (SEC_HMC_CFG_WR_ODT_PERIOD), + .SEC_HMC_CFG_WRITE_ODT_CHIP (SEC_HMC_CFG_WRITE_ODT_CHIP), + .SEC_HMC_CFG_CMD_FIFO_RESERVE_EN (SEC_HMC_CFG_CMD_FIFO_RESERVE_EN), + .SEC_HMC_CFG_RB_RESERVED_ENTRY (SEC_HMC_CFG_RB_RESERVED_ENTRY), + .SEC_HMC_CFG_WB_RESERVED_ENTRY (SEC_HMC_CFG_WB_RESERVED_ENTRY), + .SEC_HMC_CFG_STARVE_LIMIT (SEC_HMC_CFG_STARVE_LIMIT), + .SEC_HMC_CFG_PHY_DELAY_MISMATCH (SEC_HMC_CFG_PHY_DELAY_MISMATCH), + .SEC_HMC_CFG_DQSTRK_EN (SEC_HMC_CFG_DQSTRK_EN), + .SEC_HMC_CFG_DQSTRK_TO_VALID (SEC_HMC_CFG_DQSTRK_TO_VALID), + .SEC_HMC_CFG_DQSTRK_TO_VALID_LAST (SEC_HMC_CFG_DQSTRK_TO_VALID_LAST), + .SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN (SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL (SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN (SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD (SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .SEC_HMC_CFG_USER_RFSH_EN (SEC_HMC_CFG_USER_RFSH_EN), + .SEC_HMC_CFG_GEAR_DOWN_EN (SEC_HMC_CFG_GEAR_DOWN_EN), + .SEC_HMC_CFG_MEM_AUTO_PD_CYCLES (SEC_HMC_CFG_MEM_AUTO_PD_CYCLES), + .SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .SEC_HMC_MEMCLKGATE_SETTING (SEC_HMC_MEMCLKGATE_SETTING), + .SEC_HMC_CFG_TCL (SEC_HMC_CFG_TCL), + .SEC_HMC_CFG_16_ACT_TO_ACT (SEC_HMC_CFG_16_ACT_TO_ACT), + .SEC_HMC_CFG_4_ACT_TO_ACT (SEC_HMC_CFG_4_ACT_TO_ACT), + .SEC_HMC_MEM_IF_AL (SEC_HMC_MEM_IF_AL), + .SEC_HMC_MEM_IF_CS_PER_DIMM (SEC_HMC_MEM_IF_CS_PER_DIMM), + .SEC_HMC_MEM_IF_RD_PREAMBLE (SEC_HMC_MEM_IF_RD_PREAMBLE), + .SEC_HMC_MEM_IF_TCCD (SEC_HMC_MEM_IF_TCCD), + .SEC_HMC_MEM_IF_TCCD_S (SEC_HMC_MEM_IF_TCCD_S), + .SEC_HMC_MEM_IF_TCKESR (SEC_HMC_MEM_IF_TCKESR), + .SEC_HMC_MEM_IF_TCKSRX (SEC_HMC_MEM_IF_TCKSRX), + .SEC_HMC_MEM_IF_TCL (SEC_HMC_MEM_IF_TCL), + .SEC_HMC_MEM_IF_TCWL (SEC_HMC_MEM_IF_TCWL), + .SEC_HMC_MEM_IF_TDQSCKMAX (SEC_HMC_MEM_IF_TDQSCKMAX), + .SEC_HMC_MEM_IF_TFAW (SEC_HMC_MEM_IF_TFAW), + .SEC_HMC_MEM_IF_TMOD (SEC_HMC_MEM_IF_TMOD), + .SEC_HMC_MEM_IF_TPL (SEC_HMC_MEM_IF_TPL), + .SEC_HMC_MEM_IF_TRAS (SEC_HMC_MEM_IF_TRAS), + .SEC_HMC_MEM_IF_TRC (SEC_HMC_MEM_IF_TRC), + .SEC_HMC_MEM_IF_TRCD (SEC_HMC_MEM_IF_TRCD), + .SEC_HMC_MEM_IF_TREFI (SEC_HMC_MEM_IF_TREFI), + .SEC_HMC_MEM_IF_TRFC (SEC_HMC_MEM_IF_TRFC), + .SEC_HMC_MEM_IF_TRP (SEC_HMC_MEM_IF_TRP), + .SEC_HMC_MEM_IF_TRRD (SEC_HMC_MEM_IF_TRRD), + .SEC_HMC_MEM_IF_TRRD_S (SEC_HMC_MEM_IF_TRRD_S), + .SEC_HMC_MEM_IF_TRTP (SEC_HMC_MEM_IF_TRTP), + .SEC_HMC_MEM_IF_TWR (SEC_HMC_MEM_IF_TWR), + .SEC_HMC_MEM_IF_TWR_CRC_DM (SEC_HMC_MEM_IF_TWR_CRC_DM), + .SEC_HMC_MEM_IF_TWTR (SEC_HMC_MEM_IF_TWTR), + .SEC_HMC_MEM_IF_TWTR_L_CRC_DM (SEC_HMC_MEM_IF_TWTR_L_CRC_DM), + .SEC_HMC_MEM_IF_TWTR_S (SEC_HMC_MEM_IF_TWTR_S), + .SEC_HMC_MEM_IF_TWTR_S_CRC_DM (SEC_HMC_MEM_IF_TWTR_S_CRC_DM), + .SEC_HMC_MEM_IF_TXP (SEC_HMC_MEM_IF_TXP), + .SEC_HMC_MEM_IF_TXPDLL (SEC_HMC_MEM_IF_TXPDLL), + .SEC_HMC_MEM_IF_TXSR (SEC_HMC_MEM_IF_TXSR), + .SEC_HMC_MEM_IF_TZQCS (SEC_HMC_MEM_IF_TZQCS), + .SEC_HMC_MEM_IF_TZQOPER (SEC_HMC_MEM_IF_TZQOPER), + .SEC_HMC_MEM_IF_WR_CRC (SEC_HMC_MEM_IF_WR_CRC), + .SEC_HMC_MEM_IF_WR_PREAMBLE (SEC_HMC_MEM_IF_WR_PREAMBLE), + .SEC_HMC_CFG_ACT_TO_ACT (SEC_HMC_CFG_ACT_TO_ACT), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .SEC_HMC_CFG_ACT_TO_PCH (SEC_HMC_CFG_ACT_TO_PCH), + .SEC_HMC_CFG_ACT_TO_RDWR (SEC_HMC_CFG_ACT_TO_RDWR), + .SEC_HMC_CFG_ARF_PERIOD (SEC_HMC_CFG_ARF_PERIOD), + .SEC_HMC_CFG_ARF_TO_VALID (SEC_HMC_CFG_ARF_TO_VALID), + .SEC_HMC_CFG_MMR_CMD_TO_VALID (SEC_HMC_CFG_MMR_CMD_TO_VALID), + .SEC_HMC_CFG_MPR_TO_VALID (SEC_HMC_CFG_MPR_TO_VALID), + .SEC_HMC_CFG_MPS_DQSTRK_DISABLE (SEC_HMC_CFG_MPS_DQSTRK_DISABLE), + .SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS (SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE (SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .SEC_HMC_CFG_MPS_TO_VALID (SEC_HMC_CFG_MPS_TO_VALID), + .SEC_HMC_CFG_MPS_ZQCAL_DISABLE (SEC_HMC_CFG_MPS_ZQCAL_DISABLE), + .SEC_HMC_CFG_MRR_TO_VALID (SEC_HMC_CFG_MRR_TO_VALID), + .SEC_HMC_CFG_MRS_TO_VALID (SEC_HMC_CFG_MRS_TO_VALID), + .SEC_HMC_CFG_PCH_ALL_TO_VALID (SEC_HMC_CFG_PCH_ALL_TO_VALID), + .SEC_HMC_CFG_PCH_TO_VALID (SEC_HMC_CFG_PCH_TO_VALID), + .SEC_HMC_CFG_PDN_PERIOD (SEC_HMC_CFG_PDN_PERIOD), + .SEC_HMC_CFG_PDN_TO_VALID (SEC_HMC_CFG_PDN_TO_VALID), + .SEC_HMC_CFG_POWER_SAVING_EXIT_CYC (SEC_HMC_CFG_POWER_SAVING_EXIT_CYC), + .SEC_HMC_CFG_RD_AP_TO_VALID (SEC_HMC_CFG_RD_AP_TO_VALID), + .SEC_HMC_CFG_RD_TO_PCH (SEC_HMC_CFG_RD_TO_PCH), + .SEC_HMC_CFG_RD_TO_RD (SEC_HMC_CFG_RD_TO_RD), + .SEC_HMC_CFG_RD_TO_RD_DIFF_BG (SEC_HMC_CFG_RD_TO_RD_DIFF_BG), + .SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP (SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_RD_TO_WR (SEC_HMC_CFG_RD_TO_WR), + .SEC_HMC_CFG_RD_TO_WR_DIFF_BG (SEC_HMC_CFG_RD_TO_WR_DIFF_BG), + .SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP (SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_RFSH_WARN_THRESHOLD (SEC_HMC_CFG_RFSH_WARN_THRESHOLD), + .SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ0 (SEC_HMC_CFG_RLD3_REFRESH_SEQ0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ1 (SEC_HMC_CFG_RLD3_REFRESH_SEQ1), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ2 (SEC_HMC_CFG_RLD3_REFRESH_SEQ2), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ3 (SEC_HMC_CFG_RLD3_REFRESH_SEQ3), + .SEC_HMC_CFG_SB_CG_DISABLE (SEC_HMC_CFG_SB_CG_DISABLE), + .SEC_HMC_CFG_SB_DDR4_MR3 (SEC_HMC_CFG_SB_DDR4_MR3), + .SEC_HMC_CFG_SB_DDR4_MR4 (SEC_HMC_CFG_SB_DDR4_MR4), + .SEC_HMC_CFG_SB_DDR4_MR5 (SEC_HMC_CFG_SB_DDR4_MR5), + .SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR (SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .SEC_HMC_CFG_SRF_AUTOEXIT_EN (SEC_HMC_CFG_SRF_AUTOEXIT_EN), + .SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .SEC_HMC_CFG_SRF_TO_VALID (SEC_HMC_CFG_SRF_TO_VALID), + .SEC_HMC_CFG_SRF_TO_ZQ_CAL (SEC_HMC_CFG_SRF_TO_ZQ_CAL), + .SEC_HMC_CFG_SRF_ZQCAL_DISABLE (SEC_HMC_CFG_SRF_ZQCAL_DISABLE), + .SEC_HMC_TEMP_4_ACT_TO_ACT (SEC_HMC_TEMP_4_ACT_TO_ACT), + .SEC_HMC_TEMP_RD_TO_RD_DIFF_BG (SEC_HMC_TEMP_RD_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD (SEC_HMC_TEMP_WR_TO_RD), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_BG (SEC_HMC_TEMP_WR_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP (SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_TEMP_WR_TO_WR_DIFF_BG (SEC_HMC_TEMP_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_AP_TO_VALID (SEC_HMC_CFG_WR_AP_TO_VALID), + .SEC_HMC_CFG_WR_TO_PCH (SEC_HMC_CFG_WR_TO_PCH), + .SEC_HMC_CFG_WR_TO_RD (SEC_HMC_CFG_WR_TO_RD), + .SEC_HMC_CFG_WR_TO_RD_DIFF_BG (SEC_HMC_CFG_WR_TO_RD_DIFF_BG), + .SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP (SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_WR_TO_WR (SEC_HMC_CFG_WR_TO_WR), + .SEC_HMC_CFG_WR_TO_WR_DIFF_BG (SEC_HMC_CFG_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP (SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_ZQCL_TO_VALID (SEC_HMC_CFG_ZQCL_TO_VALID), + .SEC_HMC_CFG_ZQCS_TO_VALID (SEC_HMC_CFG_ZQCS_TO_VALID), + .SEC_HMC_CHIP_ID (SEC_HMC_CHIP_ID), + .SEC_HMC_CID_ADDR_WIDTH (SEC_HMC_CID_ADDR_WIDTH), + .SEC_HMC_3DS_EN (SEC_HMC_3DS_EN), + .SEC_HMC_3DS_LR_NUM0 (SEC_HMC_3DS_LR_NUM0), + .SEC_HMC_3DS_LR_NUM1 (SEC_HMC_3DS_LR_NUM1), + .SEC_HMC_3DS_LR_NUM2 (SEC_HMC_3DS_LR_NUM2), + .SEC_HMC_3DS_LR_NUM3 (SEC_HMC_3DS_LR_NUM3), + .SEC_HMC_3DS_PR_STAG_ENABLE (SEC_HMC_3DS_PR_STAG_ENABLE), + .SEC_HMC_3DS_REF2REF_DLR (SEC_HMC_3DS_REF2REF_DLR), + .SEC_HMC_3DSREF_ACK_ON_DONE (SEC_HMC_3DSREF_ACK_ON_DONE), + .SEC_HMC_CFG_MAJOR_MODE_EN (SEC_HMC_CFG_MAJOR_MODE_EN), + .SEC_HMC_CFG_REFRESH_TYPE (SEC_HMC_CFG_REFRESH_TYPE), + .SEC_HMC_CFG_PRE_REFRESH_EN (SEC_HMC_CFG_PRE_REFRESH_EN), + .SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .SEC_HMC_CFG_POST_REFRESH_EN (SEC_HMC_CFG_POST_REFRESH_EN), + .SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT (SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .OCT_CONTROL_WIDTH (OCT_CONTROL_WIDTH), + .PORT_MEM_CK_WIDTH (PORT_MEM_CK_WIDTH), + .PORT_MEM_CK_PINLOC_0 (PORT_MEM_CK_PINLOC_0), + .PORT_MEM_CK_PINLOC_1 (PORT_MEM_CK_PINLOC_1), + .PORT_MEM_CK_PINLOC_2 (PORT_MEM_CK_PINLOC_2), + .PORT_MEM_CK_PINLOC_3 (PORT_MEM_CK_PINLOC_3), + .PORT_MEM_CK_PINLOC_4 (PORT_MEM_CK_PINLOC_4), + .PORT_MEM_CK_PINLOC_5 (PORT_MEM_CK_PINLOC_5), + .PORT_MEM_CK_PINLOC_AUTOGEN_WCNT (PORT_MEM_CK_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CK_N_WIDTH (PORT_MEM_CK_N_WIDTH), + .PORT_MEM_CK_N_PINLOC_0 (PORT_MEM_CK_N_PINLOC_0), + .PORT_MEM_CK_N_PINLOC_1 (PORT_MEM_CK_N_PINLOC_1), + .PORT_MEM_CK_N_PINLOC_2 (PORT_MEM_CK_N_PINLOC_2), + .PORT_MEM_CK_N_PINLOC_3 (PORT_MEM_CK_N_PINLOC_3), + .PORT_MEM_CK_N_PINLOC_4 (PORT_MEM_CK_N_PINLOC_4), + .PORT_MEM_CK_N_PINLOC_5 (PORT_MEM_CK_N_PINLOC_5), + .PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CK_BIDIR_WIDTH (PORT_MEM_CK_BIDIR_WIDTH), + .PORT_MEM_CK_BIDIR_PINLOC_0 (PORT_MEM_CK_BIDIR_PINLOC_0), + .PORT_MEM_CK_BIDIR_PINLOC_1 (PORT_MEM_CK_BIDIR_PINLOC_1), + .PORT_MEM_CK_BIDIR_PINLOC_2 (PORT_MEM_CK_BIDIR_PINLOC_2), + .PORT_MEM_CK_BIDIR_PINLOC_3 (PORT_MEM_CK_BIDIR_PINLOC_3), + .PORT_MEM_CK_BIDIR_PINLOC_4 (PORT_MEM_CK_BIDIR_PINLOC_4), + .PORT_MEM_CK_BIDIR_PINLOC_5 (PORT_MEM_CK_BIDIR_PINLOC_5), + .PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT (PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CK_BIDIR_N_WIDTH (PORT_MEM_CK_BIDIR_N_WIDTH), + .PORT_MEM_CK_BIDIR_N_PINLOC_0 (PORT_MEM_CK_BIDIR_N_PINLOC_0), + .PORT_MEM_CK_BIDIR_N_PINLOC_1 (PORT_MEM_CK_BIDIR_N_PINLOC_1), + .PORT_MEM_CK_BIDIR_N_PINLOC_2 (PORT_MEM_CK_BIDIR_N_PINLOC_2), + .PORT_MEM_CK_BIDIR_N_PINLOC_3 (PORT_MEM_CK_BIDIR_N_PINLOC_3), + .PORT_MEM_CK_BIDIR_N_PINLOC_4 (PORT_MEM_CK_BIDIR_N_PINLOC_4), + .PORT_MEM_CK_BIDIR_N_PINLOC_5 (PORT_MEM_CK_BIDIR_N_PINLOC_5), + .PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DK_WIDTH (PORT_MEM_DK_WIDTH), + .PORT_MEM_DK_PINLOC_0 (PORT_MEM_DK_PINLOC_0), + .PORT_MEM_DK_PINLOC_1 (PORT_MEM_DK_PINLOC_1), + .PORT_MEM_DK_PINLOC_2 (PORT_MEM_DK_PINLOC_2), + .PORT_MEM_DK_PINLOC_3 (PORT_MEM_DK_PINLOC_3), + .PORT_MEM_DK_PINLOC_4 (PORT_MEM_DK_PINLOC_4), + .PORT_MEM_DK_PINLOC_5 (PORT_MEM_DK_PINLOC_5), + .PORT_MEM_DK_PINLOC_AUTOGEN_WCNT (PORT_MEM_DK_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DK_N_WIDTH (PORT_MEM_DK_N_WIDTH), + .PORT_MEM_DK_N_PINLOC_0 (PORT_MEM_DK_N_PINLOC_0), + .PORT_MEM_DK_N_PINLOC_1 (PORT_MEM_DK_N_PINLOC_1), + .PORT_MEM_DK_N_PINLOC_2 (PORT_MEM_DK_N_PINLOC_2), + .PORT_MEM_DK_N_PINLOC_3 (PORT_MEM_DK_N_PINLOC_3), + .PORT_MEM_DK_N_PINLOC_4 (PORT_MEM_DK_N_PINLOC_4), + .PORT_MEM_DK_N_PINLOC_5 (PORT_MEM_DK_N_PINLOC_5), + .PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DKA_WIDTH (PORT_MEM_DKA_WIDTH), + .PORT_MEM_DKA_PINLOC_0 (PORT_MEM_DKA_PINLOC_0), + .PORT_MEM_DKA_PINLOC_1 (PORT_MEM_DKA_PINLOC_1), + .PORT_MEM_DKA_PINLOC_2 (PORT_MEM_DKA_PINLOC_2), + .PORT_MEM_DKA_PINLOC_3 (PORT_MEM_DKA_PINLOC_3), + .PORT_MEM_DKA_PINLOC_4 (PORT_MEM_DKA_PINLOC_4), + .PORT_MEM_DKA_PINLOC_5 (PORT_MEM_DKA_PINLOC_5), + .PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT (PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DKA_N_WIDTH (PORT_MEM_DKA_N_WIDTH), + .PORT_MEM_DKA_N_PINLOC_0 (PORT_MEM_DKA_N_PINLOC_0), + .PORT_MEM_DKA_N_PINLOC_1 (PORT_MEM_DKA_N_PINLOC_1), + .PORT_MEM_DKA_N_PINLOC_2 (PORT_MEM_DKA_N_PINLOC_2), + .PORT_MEM_DKA_N_PINLOC_3 (PORT_MEM_DKA_N_PINLOC_3), + .PORT_MEM_DKA_N_PINLOC_4 (PORT_MEM_DKA_N_PINLOC_4), + .PORT_MEM_DKA_N_PINLOC_5 (PORT_MEM_DKA_N_PINLOC_5), + .PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DKB_WIDTH (PORT_MEM_DKB_WIDTH), + .PORT_MEM_DKB_PINLOC_0 (PORT_MEM_DKB_PINLOC_0), + .PORT_MEM_DKB_PINLOC_1 (PORT_MEM_DKB_PINLOC_1), + .PORT_MEM_DKB_PINLOC_2 (PORT_MEM_DKB_PINLOC_2), + .PORT_MEM_DKB_PINLOC_3 (PORT_MEM_DKB_PINLOC_3), + .PORT_MEM_DKB_PINLOC_4 (PORT_MEM_DKB_PINLOC_4), + .PORT_MEM_DKB_PINLOC_5 (PORT_MEM_DKB_PINLOC_5), + .PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT (PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DKB_N_WIDTH (PORT_MEM_DKB_N_WIDTH), + .PORT_MEM_DKB_N_PINLOC_0 (PORT_MEM_DKB_N_PINLOC_0), + .PORT_MEM_DKB_N_PINLOC_1 (PORT_MEM_DKB_N_PINLOC_1), + .PORT_MEM_DKB_N_PINLOC_2 (PORT_MEM_DKB_N_PINLOC_2), + .PORT_MEM_DKB_N_PINLOC_3 (PORT_MEM_DKB_N_PINLOC_3), + .PORT_MEM_DKB_N_PINLOC_4 (PORT_MEM_DKB_N_PINLOC_4), + .PORT_MEM_DKB_N_PINLOC_5 (PORT_MEM_DKB_N_PINLOC_5), + .PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_K_WIDTH (PORT_MEM_K_WIDTH), + .PORT_MEM_K_PINLOC_0 (PORT_MEM_K_PINLOC_0), + .PORT_MEM_K_PINLOC_1 (PORT_MEM_K_PINLOC_1), + .PORT_MEM_K_PINLOC_2 (PORT_MEM_K_PINLOC_2), + .PORT_MEM_K_PINLOC_3 (PORT_MEM_K_PINLOC_3), + .PORT_MEM_K_PINLOC_4 (PORT_MEM_K_PINLOC_4), + .PORT_MEM_K_PINLOC_5 (PORT_MEM_K_PINLOC_5), + .PORT_MEM_K_PINLOC_AUTOGEN_WCNT (PORT_MEM_K_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_K_N_WIDTH (PORT_MEM_K_N_WIDTH), + .PORT_MEM_K_N_PINLOC_0 (PORT_MEM_K_N_PINLOC_0), + .PORT_MEM_K_N_PINLOC_1 (PORT_MEM_K_N_PINLOC_1), + .PORT_MEM_K_N_PINLOC_2 (PORT_MEM_K_N_PINLOC_2), + .PORT_MEM_K_N_PINLOC_3 (PORT_MEM_K_N_PINLOC_3), + .PORT_MEM_K_N_PINLOC_4 (PORT_MEM_K_N_PINLOC_4), + .PORT_MEM_K_N_PINLOC_5 (PORT_MEM_K_N_PINLOC_5), + .PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_A_WIDTH (PORT_MEM_A_WIDTH), + .PORT_MEM_A_PINLOC_0 (PORT_MEM_A_PINLOC_0), + .PORT_MEM_A_PINLOC_1 (PORT_MEM_A_PINLOC_1), + .PORT_MEM_A_PINLOC_2 (PORT_MEM_A_PINLOC_2), + .PORT_MEM_A_PINLOC_3 (PORT_MEM_A_PINLOC_3), + .PORT_MEM_A_PINLOC_4 (PORT_MEM_A_PINLOC_4), + .PORT_MEM_A_PINLOC_5 (PORT_MEM_A_PINLOC_5), + .PORT_MEM_A_PINLOC_6 (PORT_MEM_A_PINLOC_6), + .PORT_MEM_A_PINLOC_7 (PORT_MEM_A_PINLOC_7), + .PORT_MEM_A_PINLOC_8 (PORT_MEM_A_PINLOC_8), + .PORT_MEM_A_PINLOC_9 (PORT_MEM_A_PINLOC_9), + .PORT_MEM_A_PINLOC_10 (PORT_MEM_A_PINLOC_10), + .PORT_MEM_A_PINLOC_11 (PORT_MEM_A_PINLOC_11), + .PORT_MEM_A_PINLOC_12 (PORT_MEM_A_PINLOC_12), + .PORT_MEM_A_PINLOC_13 (PORT_MEM_A_PINLOC_13), + .PORT_MEM_A_PINLOC_14 (PORT_MEM_A_PINLOC_14), + .PORT_MEM_A_PINLOC_15 (PORT_MEM_A_PINLOC_15), + .PORT_MEM_A_PINLOC_16 (PORT_MEM_A_PINLOC_16), + .PORT_MEM_A_PINLOC_AUTOGEN_WCNT (PORT_MEM_A_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_BA_WIDTH (PORT_MEM_BA_WIDTH), + .PORT_MEM_BA_PINLOC_0 (PORT_MEM_BA_PINLOC_0), + .PORT_MEM_BA_PINLOC_1 (PORT_MEM_BA_PINLOC_1), + .PORT_MEM_BA_PINLOC_2 (PORT_MEM_BA_PINLOC_2), + .PORT_MEM_BA_PINLOC_3 (PORT_MEM_BA_PINLOC_3), + .PORT_MEM_BA_PINLOC_4 (PORT_MEM_BA_PINLOC_4), + .PORT_MEM_BA_PINLOC_5 (PORT_MEM_BA_PINLOC_5), + .PORT_MEM_BA_PINLOC_AUTOGEN_WCNT (PORT_MEM_BA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_BG_WIDTH (PORT_MEM_BG_WIDTH), + .PORT_MEM_BG_PINLOC_0 (PORT_MEM_BG_PINLOC_0), + .PORT_MEM_BG_PINLOC_1 (PORT_MEM_BG_PINLOC_1), + .PORT_MEM_BG_PINLOC_2 (PORT_MEM_BG_PINLOC_2), + .PORT_MEM_BG_PINLOC_3 (PORT_MEM_BG_PINLOC_3), + .PORT_MEM_BG_PINLOC_4 (PORT_MEM_BG_PINLOC_4), + .PORT_MEM_BG_PINLOC_5 (PORT_MEM_BG_PINLOC_5), + .PORT_MEM_BG_PINLOC_AUTOGEN_WCNT (PORT_MEM_BG_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_C_WIDTH (PORT_MEM_C_WIDTH), + .PORT_MEM_C_PINLOC_0 (PORT_MEM_C_PINLOC_0), + .PORT_MEM_C_PINLOC_1 (PORT_MEM_C_PINLOC_1), + .PORT_MEM_C_PINLOC_2 (PORT_MEM_C_PINLOC_2), + .PORT_MEM_C_PINLOC_3 (PORT_MEM_C_PINLOC_3), + .PORT_MEM_C_PINLOC_4 (PORT_MEM_C_PINLOC_4), + .PORT_MEM_C_PINLOC_5 (PORT_MEM_C_PINLOC_5), + .PORT_MEM_C_PINLOC_AUTOGEN_WCNT (PORT_MEM_C_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CKE_WIDTH (PORT_MEM_CKE_WIDTH), + .PORT_MEM_CKE_PINLOC_0 (PORT_MEM_CKE_PINLOC_0), + .PORT_MEM_CKE_PINLOC_1 (PORT_MEM_CKE_PINLOC_1), + .PORT_MEM_CKE_PINLOC_2 (PORT_MEM_CKE_PINLOC_2), + .PORT_MEM_CKE_PINLOC_3 (PORT_MEM_CKE_PINLOC_3), + .PORT_MEM_CKE_PINLOC_4 (PORT_MEM_CKE_PINLOC_4), + .PORT_MEM_CKE_PINLOC_5 (PORT_MEM_CKE_PINLOC_5), + .PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT (PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CS_N_WIDTH (PORT_MEM_CS_N_WIDTH), + .PORT_MEM_CS_N_PINLOC_0 (PORT_MEM_CS_N_PINLOC_0), + .PORT_MEM_CS_N_PINLOC_1 (PORT_MEM_CS_N_PINLOC_1), + .PORT_MEM_CS_N_PINLOC_2 (PORT_MEM_CS_N_PINLOC_2), + .PORT_MEM_CS_N_PINLOC_3 (PORT_MEM_CS_N_PINLOC_3), + .PORT_MEM_CS_N_PINLOC_4 (PORT_MEM_CS_N_PINLOC_4), + .PORT_MEM_CS_N_PINLOC_5 (PORT_MEM_CS_N_PINLOC_5), + .PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RM_WIDTH (PORT_MEM_RM_WIDTH), + .PORT_MEM_RM_PINLOC_0 (PORT_MEM_RM_PINLOC_0), + .PORT_MEM_RM_PINLOC_1 (PORT_MEM_RM_PINLOC_1), + .PORT_MEM_RM_PINLOC_2 (PORT_MEM_RM_PINLOC_2), + .PORT_MEM_RM_PINLOC_3 (PORT_MEM_RM_PINLOC_3), + .PORT_MEM_RM_PINLOC_4 (PORT_MEM_RM_PINLOC_4), + .PORT_MEM_RM_PINLOC_5 (PORT_MEM_RM_PINLOC_5), + .PORT_MEM_RM_PINLOC_AUTOGEN_WCNT (PORT_MEM_RM_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_ODT_WIDTH (PORT_MEM_ODT_WIDTH), + .PORT_MEM_ODT_PINLOC_0 (PORT_MEM_ODT_PINLOC_0), + .PORT_MEM_ODT_PINLOC_1 (PORT_MEM_ODT_PINLOC_1), + .PORT_MEM_ODT_PINLOC_2 (PORT_MEM_ODT_PINLOC_2), + .PORT_MEM_ODT_PINLOC_3 (PORT_MEM_ODT_PINLOC_3), + .PORT_MEM_ODT_PINLOC_4 (PORT_MEM_ODT_PINLOC_4), + .PORT_MEM_ODT_PINLOC_5 (PORT_MEM_ODT_PINLOC_5), + .PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT (PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_REQ_N_WIDTH (PORT_MEM_REQ_N_WIDTH), + .PORT_MEM_REQ_N_PINLOC_0 (PORT_MEM_REQ_N_PINLOC_0), + .PORT_MEM_REQ_N_PINLOC_1 (PORT_MEM_REQ_N_PINLOC_1), + .PORT_MEM_REQ_N_PINLOC_2 (PORT_MEM_REQ_N_PINLOC_2), + .PORT_MEM_REQ_N_PINLOC_3 (PORT_MEM_REQ_N_PINLOC_3), + .PORT_MEM_REQ_N_PINLOC_4 (PORT_MEM_REQ_N_PINLOC_4), + .PORT_MEM_REQ_N_PINLOC_5 (PORT_MEM_REQ_N_PINLOC_5), + .PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_GNT_N_WIDTH (PORT_MEM_GNT_N_WIDTH), + .PORT_MEM_GNT_N_PINLOC_0 (PORT_MEM_GNT_N_PINLOC_0), + .PORT_MEM_GNT_N_PINLOC_1 (PORT_MEM_GNT_N_PINLOC_1), + .PORT_MEM_GNT_N_PINLOC_2 (PORT_MEM_GNT_N_PINLOC_2), + .PORT_MEM_GNT_N_PINLOC_3 (PORT_MEM_GNT_N_PINLOC_3), + .PORT_MEM_GNT_N_PINLOC_4 (PORT_MEM_GNT_N_PINLOC_4), + .PORT_MEM_GNT_N_PINLOC_5 (PORT_MEM_GNT_N_PINLOC_5), + .PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_ERR_N_WIDTH (PORT_MEM_ERR_N_WIDTH), + .PORT_MEM_ERR_N_PINLOC_0 (PORT_MEM_ERR_N_PINLOC_0), + .PORT_MEM_ERR_N_PINLOC_1 (PORT_MEM_ERR_N_PINLOC_1), + .PORT_MEM_ERR_N_PINLOC_2 (PORT_MEM_ERR_N_PINLOC_2), + .PORT_MEM_ERR_N_PINLOC_3 (PORT_MEM_ERR_N_PINLOC_3), + .PORT_MEM_ERR_N_PINLOC_4 (PORT_MEM_ERR_N_PINLOC_4), + .PORT_MEM_ERR_N_PINLOC_5 (PORT_MEM_ERR_N_PINLOC_5), + .PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RAS_N_WIDTH (PORT_MEM_RAS_N_WIDTH), + .PORT_MEM_RAS_N_PINLOC_0 (PORT_MEM_RAS_N_PINLOC_0), + .PORT_MEM_RAS_N_PINLOC_1 (PORT_MEM_RAS_N_PINLOC_1), + .PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CAS_N_WIDTH (PORT_MEM_CAS_N_WIDTH), + .PORT_MEM_CAS_N_PINLOC_0 (PORT_MEM_CAS_N_PINLOC_0), + .PORT_MEM_CAS_N_PINLOC_1 (PORT_MEM_CAS_N_PINLOC_1), + .PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_WE_N_WIDTH (PORT_MEM_WE_N_WIDTH), + .PORT_MEM_WE_N_PINLOC_0 (PORT_MEM_WE_N_PINLOC_0), + .PORT_MEM_WE_N_PINLOC_1 (PORT_MEM_WE_N_PINLOC_1), + .PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RESET_N_WIDTH (PORT_MEM_RESET_N_WIDTH), + .PORT_MEM_RESET_N_PINLOC_0 (PORT_MEM_RESET_N_PINLOC_0), + .PORT_MEM_RESET_N_PINLOC_1 (PORT_MEM_RESET_N_PINLOC_1), + .PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_ACT_N_WIDTH (PORT_MEM_ACT_N_WIDTH), + .PORT_MEM_ACT_N_PINLOC_0 (PORT_MEM_ACT_N_PINLOC_0), + .PORT_MEM_ACT_N_PINLOC_1 (PORT_MEM_ACT_N_PINLOC_1), + .PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_PAR_WIDTH (PORT_MEM_PAR_WIDTH), + .PORT_MEM_PAR_PINLOC_0 (PORT_MEM_PAR_PINLOC_0), + .PORT_MEM_PAR_PINLOC_1 (PORT_MEM_PAR_PINLOC_1), + .PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT (PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CA_WIDTH (PORT_MEM_CA_WIDTH), + .PORT_MEM_CA_PINLOC_0 (PORT_MEM_CA_PINLOC_0), + .PORT_MEM_CA_PINLOC_1 (PORT_MEM_CA_PINLOC_1), + .PORT_MEM_CA_PINLOC_2 (PORT_MEM_CA_PINLOC_2), + .PORT_MEM_CA_PINLOC_3 (PORT_MEM_CA_PINLOC_3), + .PORT_MEM_CA_PINLOC_4 (PORT_MEM_CA_PINLOC_4), + .PORT_MEM_CA_PINLOC_5 (PORT_MEM_CA_PINLOC_5), + .PORT_MEM_CA_PINLOC_6 (PORT_MEM_CA_PINLOC_6), + .PORT_MEM_CA_PINLOC_7 (PORT_MEM_CA_PINLOC_7), + .PORT_MEM_CA_PINLOC_8 (PORT_MEM_CA_PINLOC_8), + .PORT_MEM_CA_PINLOC_9 (PORT_MEM_CA_PINLOC_9), + .PORT_MEM_CA_PINLOC_10 (PORT_MEM_CA_PINLOC_10), + .PORT_MEM_CA_PINLOC_11 (PORT_MEM_CA_PINLOC_11), + .PORT_MEM_CA_PINLOC_12 (PORT_MEM_CA_PINLOC_12), + .PORT_MEM_CA_PINLOC_13 (PORT_MEM_CA_PINLOC_13), + .PORT_MEM_CA_PINLOC_14 (PORT_MEM_CA_PINLOC_14), + .PORT_MEM_CA_PINLOC_15 (PORT_MEM_CA_PINLOC_15), + .PORT_MEM_CA_PINLOC_16 (PORT_MEM_CA_PINLOC_16), + .PORT_MEM_CA_PINLOC_AUTOGEN_WCNT (PORT_MEM_CA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_REF_N_WIDTH (PORT_MEM_REF_N_WIDTH), + .PORT_MEM_REF_N_PINLOC_0 (PORT_MEM_REF_N_PINLOC_0), + .PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_WPS_N_WIDTH (PORT_MEM_WPS_N_WIDTH), + .PORT_MEM_WPS_N_PINLOC_0 (PORT_MEM_WPS_N_PINLOC_0), + .PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RPS_N_WIDTH (PORT_MEM_RPS_N_WIDTH), + .PORT_MEM_RPS_N_PINLOC_0 (PORT_MEM_RPS_N_PINLOC_0), + .PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DOFF_N_WIDTH (PORT_MEM_DOFF_N_WIDTH), + .PORT_MEM_DOFF_N_PINLOC_0 (PORT_MEM_DOFF_N_PINLOC_0), + .PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_LDA_N_WIDTH (PORT_MEM_LDA_N_WIDTH), + .PORT_MEM_LDA_N_PINLOC_0 (PORT_MEM_LDA_N_PINLOC_0), + .PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_LDB_N_WIDTH (PORT_MEM_LDB_N_WIDTH), + .PORT_MEM_LDB_N_PINLOC_0 (PORT_MEM_LDB_N_PINLOC_0), + .PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RWA_N_WIDTH (PORT_MEM_RWA_N_WIDTH), + .PORT_MEM_RWA_N_PINLOC_0 (PORT_MEM_RWA_N_PINLOC_0), + .PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_RWB_N_WIDTH (PORT_MEM_RWB_N_WIDTH), + .PORT_MEM_RWB_N_PINLOC_0 (PORT_MEM_RWB_N_PINLOC_0), + .PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_LBK0_N_WIDTH (PORT_MEM_LBK0_N_WIDTH), + .PORT_MEM_LBK0_N_PINLOC_0 (PORT_MEM_LBK0_N_PINLOC_0), + .PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_LBK1_N_WIDTH (PORT_MEM_LBK1_N_WIDTH), + .PORT_MEM_LBK1_N_PINLOC_0 (PORT_MEM_LBK1_N_PINLOC_0), + .PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CFG_N_WIDTH (PORT_MEM_CFG_N_WIDTH), + .PORT_MEM_CFG_N_PINLOC_0 (PORT_MEM_CFG_N_PINLOC_0), + .PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_AP_WIDTH (PORT_MEM_AP_WIDTH), + .PORT_MEM_AP_PINLOC_0 (PORT_MEM_AP_PINLOC_0), + .PORT_MEM_AP_PINLOC_AUTOGEN_WCNT (PORT_MEM_AP_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_AINV_WIDTH (PORT_MEM_AINV_WIDTH), + .PORT_MEM_AINV_PINLOC_0 (PORT_MEM_AINV_PINLOC_0), + .PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT (PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DM_WIDTH (PORT_MEM_DM_WIDTH), + .PORT_MEM_DM_PINLOC_0 (PORT_MEM_DM_PINLOC_0), + .PORT_MEM_DM_PINLOC_1 (PORT_MEM_DM_PINLOC_1), + .PORT_MEM_DM_PINLOC_2 (PORT_MEM_DM_PINLOC_2), + .PORT_MEM_DM_PINLOC_3 (PORT_MEM_DM_PINLOC_3), + .PORT_MEM_DM_PINLOC_4 (PORT_MEM_DM_PINLOC_4), + .PORT_MEM_DM_PINLOC_5 (PORT_MEM_DM_PINLOC_5), + .PORT_MEM_DM_PINLOC_6 (PORT_MEM_DM_PINLOC_6), + .PORT_MEM_DM_PINLOC_7 (PORT_MEM_DM_PINLOC_7), + .PORT_MEM_DM_PINLOC_8 (PORT_MEM_DM_PINLOC_8), + .PORT_MEM_DM_PINLOC_9 (PORT_MEM_DM_PINLOC_9), + .PORT_MEM_DM_PINLOC_10 (PORT_MEM_DM_PINLOC_10), + .PORT_MEM_DM_PINLOC_11 (PORT_MEM_DM_PINLOC_11), + .PORT_MEM_DM_PINLOC_12 (PORT_MEM_DM_PINLOC_12), + .PORT_MEM_DM_PINLOC_AUTOGEN_WCNT (PORT_MEM_DM_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_BWS_N_WIDTH (PORT_MEM_BWS_N_WIDTH), + .PORT_MEM_BWS_N_PINLOC_0 (PORT_MEM_BWS_N_PINLOC_0), + .PORT_MEM_BWS_N_PINLOC_1 (PORT_MEM_BWS_N_PINLOC_1), + .PORT_MEM_BWS_N_PINLOC_2 (PORT_MEM_BWS_N_PINLOC_2), + .PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_D_WIDTH (PORT_MEM_D_WIDTH), + .PORT_MEM_D_PINLOC_0 (PORT_MEM_D_PINLOC_0), + .PORT_MEM_D_PINLOC_1 (PORT_MEM_D_PINLOC_1), + .PORT_MEM_D_PINLOC_2 (PORT_MEM_D_PINLOC_2), + .PORT_MEM_D_PINLOC_3 (PORT_MEM_D_PINLOC_3), + .PORT_MEM_D_PINLOC_4 (PORT_MEM_D_PINLOC_4), + .PORT_MEM_D_PINLOC_5 (PORT_MEM_D_PINLOC_5), + .PORT_MEM_D_PINLOC_6 (PORT_MEM_D_PINLOC_6), + .PORT_MEM_D_PINLOC_7 (PORT_MEM_D_PINLOC_7), + .PORT_MEM_D_PINLOC_8 (PORT_MEM_D_PINLOC_8), + .PORT_MEM_D_PINLOC_9 (PORT_MEM_D_PINLOC_9), + .PORT_MEM_D_PINLOC_10 (PORT_MEM_D_PINLOC_10), + .PORT_MEM_D_PINLOC_11 (PORT_MEM_D_PINLOC_11), + .PORT_MEM_D_PINLOC_12 (PORT_MEM_D_PINLOC_12), + .PORT_MEM_D_PINLOC_13 (PORT_MEM_D_PINLOC_13), + .PORT_MEM_D_PINLOC_14 (PORT_MEM_D_PINLOC_14), + .PORT_MEM_D_PINLOC_15 (PORT_MEM_D_PINLOC_15), + .PORT_MEM_D_PINLOC_16 (PORT_MEM_D_PINLOC_16), + .PORT_MEM_D_PINLOC_17 (PORT_MEM_D_PINLOC_17), + .PORT_MEM_D_PINLOC_18 (PORT_MEM_D_PINLOC_18), + .PORT_MEM_D_PINLOC_19 (PORT_MEM_D_PINLOC_19), + .PORT_MEM_D_PINLOC_20 (PORT_MEM_D_PINLOC_20), + .PORT_MEM_D_PINLOC_21 (PORT_MEM_D_PINLOC_21), + .PORT_MEM_D_PINLOC_22 (PORT_MEM_D_PINLOC_22), + .PORT_MEM_D_PINLOC_23 (PORT_MEM_D_PINLOC_23), + .PORT_MEM_D_PINLOC_24 (PORT_MEM_D_PINLOC_24), + .PORT_MEM_D_PINLOC_25 (PORT_MEM_D_PINLOC_25), + .PORT_MEM_D_PINLOC_26 (PORT_MEM_D_PINLOC_26), + .PORT_MEM_D_PINLOC_27 (PORT_MEM_D_PINLOC_27), + .PORT_MEM_D_PINLOC_28 (PORT_MEM_D_PINLOC_28), + .PORT_MEM_D_PINLOC_29 (PORT_MEM_D_PINLOC_29), + .PORT_MEM_D_PINLOC_30 (PORT_MEM_D_PINLOC_30), + .PORT_MEM_D_PINLOC_31 (PORT_MEM_D_PINLOC_31), + .PORT_MEM_D_PINLOC_32 (PORT_MEM_D_PINLOC_32), + .PORT_MEM_D_PINLOC_33 (PORT_MEM_D_PINLOC_33), + .PORT_MEM_D_PINLOC_34 (PORT_MEM_D_PINLOC_34), + .PORT_MEM_D_PINLOC_35 (PORT_MEM_D_PINLOC_35), + .PORT_MEM_D_PINLOC_36 (PORT_MEM_D_PINLOC_36), + .PORT_MEM_D_PINLOC_37 (PORT_MEM_D_PINLOC_37), + .PORT_MEM_D_PINLOC_38 (PORT_MEM_D_PINLOC_38), + .PORT_MEM_D_PINLOC_39 (PORT_MEM_D_PINLOC_39), + .PORT_MEM_D_PINLOC_40 (PORT_MEM_D_PINLOC_40), + .PORT_MEM_D_PINLOC_41 (PORT_MEM_D_PINLOC_41), + .PORT_MEM_D_PINLOC_42 (PORT_MEM_D_PINLOC_42), + .PORT_MEM_D_PINLOC_43 (PORT_MEM_D_PINLOC_43), + .PORT_MEM_D_PINLOC_44 (PORT_MEM_D_PINLOC_44), + .PORT_MEM_D_PINLOC_45 (PORT_MEM_D_PINLOC_45), + .PORT_MEM_D_PINLOC_46 (PORT_MEM_D_PINLOC_46), + .PORT_MEM_D_PINLOC_47 (PORT_MEM_D_PINLOC_47), + .PORT_MEM_D_PINLOC_48 (PORT_MEM_D_PINLOC_48), + .PORT_MEM_D_PINLOC_AUTOGEN_WCNT (PORT_MEM_D_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_MEM_DQ_PINLOC_0 (PORT_MEM_DQ_PINLOC_0), + .PORT_MEM_DQ_PINLOC_1 (PORT_MEM_DQ_PINLOC_1), + .PORT_MEM_DQ_PINLOC_2 (PORT_MEM_DQ_PINLOC_2), + .PORT_MEM_DQ_PINLOC_3 (PORT_MEM_DQ_PINLOC_3), + .PORT_MEM_DQ_PINLOC_4 (PORT_MEM_DQ_PINLOC_4), + .PORT_MEM_DQ_PINLOC_5 (PORT_MEM_DQ_PINLOC_5), + .PORT_MEM_DQ_PINLOC_6 (PORT_MEM_DQ_PINLOC_6), + .PORT_MEM_DQ_PINLOC_7 (PORT_MEM_DQ_PINLOC_7), + .PORT_MEM_DQ_PINLOC_8 (PORT_MEM_DQ_PINLOC_8), + .PORT_MEM_DQ_PINLOC_9 (PORT_MEM_DQ_PINLOC_9), + .PORT_MEM_DQ_PINLOC_10 (PORT_MEM_DQ_PINLOC_10), + .PORT_MEM_DQ_PINLOC_11 (PORT_MEM_DQ_PINLOC_11), + .PORT_MEM_DQ_PINLOC_12 (PORT_MEM_DQ_PINLOC_12), + .PORT_MEM_DQ_PINLOC_13 (PORT_MEM_DQ_PINLOC_13), + .PORT_MEM_DQ_PINLOC_14 (PORT_MEM_DQ_PINLOC_14), + .PORT_MEM_DQ_PINLOC_15 (PORT_MEM_DQ_PINLOC_15), + .PORT_MEM_DQ_PINLOC_16 (PORT_MEM_DQ_PINLOC_16), + .PORT_MEM_DQ_PINLOC_17 (PORT_MEM_DQ_PINLOC_17), + .PORT_MEM_DQ_PINLOC_18 (PORT_MEM_DQ_PINLOC_18), + .PORT_MEM_DQ_PINLOC_19 (PORT_MEM_DQ_PINLOC_19), + .PORT_MEM_DQ_PINLOC_20 (PORT_MEM_DQ_PINLOC_20), + .PORT_MEM_DQ_PINLOC_21 (PORT_MEM_DQ_PINLOC_21), + .PORT_MEM_DQ_PINLOC_22 (PORT_MEM_DQ_PINLOC_22), + .PORT_MEM_DQ_PINLOC_23 (PORT_MEM_DQ_PINLOC_23), + .PORT_MEM_DQ_PINLOC_24 (PORT_MEM_DQ_PINLOC_24), + .PORT_MEM_DQ_PINLOC_25 (PORT_MEM_DQ_PINLOC_25), + .PORT_MEM_DQ_PINLOC_26 (PORT_MEM_DQ_PINLOC_26), + .PORT_MEM_DQ_PINLOC_27 (PORT_MEM_DQ_PINLOC_27), + .PORT_MEM_DQ_PINLOC_28 (PORT_MEM_DQ_PINLOC_28), + .PORT_MEM_DQ_PINLOC_29 (PORT_MEM_DQ_PINLOC_29), + .PORT_MEM_DQ_PINLOC_30 (PORT_MEM_DQ_PINLOC_30), + .PORT_MEM_DQ_PINLOC_31 (PORT_MEM_DQ_PINLOC_31), + .PORT_MEM_DQ_PINLOC_32 (PORT_MEM_DQ_PINLOC_32), + .PORT_MEM_DQ_PINLOC_33 (PORT_MEM_DQ_PINLOC_33), + .PORT_MEM_DQ_PINLOC_34 (PORT_MEM_DQ_PINLOC_34), + .PORT_MEM_DQ_PINLOC_35 (PORT_MEM_DQ_PINLOC_35), + .PORT_MEM_DQ_PINLOC_36 (PORT_MEM_DQ_PINLOC_36), + .PORT_MEM_DQ_PINLOC_37 (PORT_MEM_DQ_PINLOC_37), + .PORT_MEM_DQ_PINLOC_38 (PORT_MEM_DQ_PINLOC_38), + .PORT_MEM_DQ_PINLOC_39 (PORT_MEM_DQ_PINLOC_39), + .PORT_MEM_DQ_PINLOC_40 (PORT_MEM_DQ_PINLOC_40), + .PORT_MEM_DQ_PINLOC_41 (PORT_MEM_DQ_PINLOC_41), + .PORT_MEM_DQ_PINLOC_42 (PORT_MEM_DQ_PINLOC_42), + .PORT_MEM_DQ_PINLOC_43 (PORT_MEM_DQ_PINLOC_43), + .PORT_MEM_DQ_PINLOC_44 (PORT_MEM_DQ_PINLOC_44), + .PORT_MEM_DQ_PINLOC_45 (PORT_MEM_DQ_PINLOC_45), + .PORT_MEM_DQ_PINLOC_46 (PORT_MEM_DQ_PINLOC_46), + .PORT_MEM_DQ_PINLOC_47 (PORT_MEM_DQ_PINLOC_47), + .PORT_MEM_DQ_PINLOC_48 (PORT_MEM_DQ_PINLOC_48), + .PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT (PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DBI_N_WIDTH (PORT_MEM_DBI_N_WIDTH), + .PORT_MEM_DBI_N_PINLOC_0 (PORT_MEM_DBI_N_PINLOC_0), + .PORT_MEM_DBI_N_PINLOC_1 (PORT_MEM_DBI_N_PINLOC_1), + .PORT_MEM_DBI_N_PINLOC_2 (PORT_MEM_DBI_N_PINLOC_2), + .PORT_MEM_DBI_N_PINLOC_3 (PORT_MEM_DBI_N_PINLOC_3), + .PORT_MEM_DBI_N_PINLOC_4 (PORT_MEM_DBI_N_PINLOC_4), + .PORT_MEM_DBI_N_PINLOC_5 (PORT_MEM_DBI_N_PINLOC_5), + .PORT_MEM_DBI_N_PINLOC_6 (PORT_MEM_DBI_N_PINLOC_6), + .PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DQA_WIDTH (PORT_MEM_DQA_WIDTH), + .PORT_MEM_DQA_PINLOC_0 (PORT_MEM_DQA_PINLOC_0), + .PORT_MEM_DQA_PINLOC_1 (PORT_MEM_DQA_PINLOC_1), + .PORT_MEM_DQA_PINLOC_2 (PORT_MEM_DQA_PINLOC_2), + .PORT_MEM_DQA_PINLOC_3 (PORT_MEM_DQA_PINLOC_3), + .PORT_MEM_DQA_PINLOC_4 (PORT_MEM_DQA_PINLOC_4), + .PORT_MEM_DQA_PINLOC_5 (PORT_MEM_DQA_PINLOC_5), + .PORT_MEM_DQA_PINLOC_6 (PORT_MEM_DQA_PINLOC_6), + .PORT_MEM_DQA_PINLOC_7 (PORT_MEM_DQA_PINLOC_7), + .PORT_MEM_DQA_PINLOC_8 (PORT_MEM_DQA_PINLOC_8), + .PORT_MEM_DQA_PINLOC_9 (PORT_MEM_DQA_PINLOC_9), + .PORT_MEM_DQA_PINLOC_10 (PORT_MEM_DQA_PINLOC_10), + .PORT_MEM_DQA_PINLOC_11 (PORT_MEM_DQA_PINLOC_11), + .PORT_MEM_DQA_PINLOC_12 (PORT_MEM_DQA_PINLOC_12), + .PORT_MEM_DQA_PINLOC_13 (PORT_MEM_DQA_PINLOC_13), + .PORT_MEM_DQA_PINLOC_14 (PORT_MEM_DQA_PINLOC_14), + .PORT_MEM_DQA_PINLOC_15 (PORT_MEM_DQA_PINLOC_15), + .PORT_MEM_DQA_PINLOC_16 (PORT_MEM_DQA_PINLOC_16), + .PORT_MEM_DQA_PINLOC_17 (PORT_MEM_DQA_PINLOC_17), + .PORT_MEM_DQA_PINLOC_18 (PORT_MEM_DQA_PINLOC_18), + .PORT_MEM_DQA_PINLOC_19 (PORT_MEM_DQA_PINLOC_19), + .PORT_MEM_DQA_PINLOC_20 (PORT_MEM_DQA_PINLOC_20), + .PORT_MEM_DQA_PINLOC_21 (PORT_MEM_DQA_PINLOC_21), + .PORT_MEM_DQA_PINLOC_22 (PORT_MEM_DQA_PINLOC_22), + .PORT_MEM_DQA_PINLOC_23 (PORT_MEM_DQA_PINLOC_23), + .PORT_MEM_DQA_PINLOC_24 (PORT_MEM_DQA_PINLOC_24), + .PORT_MEM_DQA_PINLOC_25 (PORT_MEM_DQA_PINLOC_25), + .PORT_MEM_DQA_PINLOC_26 (PORT_MEM_DQA_PINLOC_26), + .PORT_MEM_DQA_PINLOC_27 (PORT_MEM_DQA_PINLOC_27), + .PORT_MEM_DQA_PINLOC_28 (PORT_MEM_DQA_PINLOC_28), + .PORT_MEM_DQA_PINLOC_29 (PORT_MEM_DQA_PINLOC_29), + .PORT_MEM_DQA_PINLOC_30 (PORT_MEM_DQA_PINLOC_30), + .PORT_MEM_DQA_PINLOC_31 (PORT_MEM_DQA_PINLOC_31), + .PORT_MEM_DQA_PINLOC_32 (PORT_MEM_DQA_PINLOC_32), + .PORT_MEM_DQA_PINLOC_33 (PORT_MEM_DQA_PINLOC_33), + .PORT_MEM_DQA_PINLOC_34 (PORT_MEM_DQA_PINLOC_34), + .PORT_MEM_DQA_PINLOC_35 (PORT_MEM_DQA_PINLOC_35), + .PORT_MEM_DQA_PINLOC_36 (PORT_MEM_DQA_PINLOC_36), + .PORT_MEM_DQA_PINLOC_37 (PORT_MEM_DQA_PINLOC_37), + .PORT_MEM_DQA_PINLOC_38 (PORT_MEM_DQA_PINLOC_38), + .PORT_MEM_DQA_PINLOC_39 (PORT_MEM_DQA_PINLOC_39), + .PORT_MEM_DQA_PINLOC_40 (PORT_MEM_DQA_PINLOC_40), + .PORT_MEM_DQA_PINLOC_41 (PORT_MEM_DQA_PINLOC_41), + .PORT_MEM_DQA_PINLOC_42 (PORT_MEM_DQA_PINLOC_42), + .PORT_MEM_DQA_PINLOC_43 (PORT_MEM_DQA_PINLOC_43), + .PORT_MEM_DQA_PINLOC_44 (PORT_MEM_DQA_PINLOC_44), + .PORT_MEM_DQA_PINLOC_45 (PORT_MEM_DQA_PINLOC_45), + .PORT_MEM_DQA_PINLOC_46 (PORT_MEM_DQA_PINLOC_46), + .PORT_MEM_DQA_PINLOC_47 (PORT_MEM_DQA_PINLOC_47), + .PORT_MEM_DQA_PINLOC_48 (PORT_MEM_DQA_PINLOC_48), + .PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT (PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DQB_WIDTH (PORT_MEM_DQB_WIDTH), + .PORT_MEM_DQB_PINLOC_0 (PORT_MEM_DQB_PINLOC_0), + .PORT_MEM_DQB_PINLOC_1 (PORT_MEM_DQB_PINLOC_1), + .PORT_MEM_DQB_PINLOC_2 (PORT_MEM_DQB_PINLOC_2), + .PORT_MEM_DQB_PINLOC_3 (PORT_MEM_DQB_PINLOC_3), + .PORT_MEM_DQB_PINLOC_4 (PORT_MEM_DQB_PINLOC_4), + .PORT_MEM_DQB_PINLOC_5 (PORT_MEM_DQB_PINLOC_5), + .PORT_MEM_DQB_PINLOC_6 (PORT_MEM_DQB_PINLOC_6), + .PORT_MEM_DQB_PINLOC_7 (PORT_MEM_DQB_PINLOC_7), + .PORT_MEM_DQB_PINLOC_8 (PORT_MEM_DQB_PINLOC_8), + .PORT_MEM_DQB_PINLOC_9 (PORT_MEM_DQB_PINLOC_9), + .PORT_MEM_DQB_PINLOC_10 (PORT_MEM_DQB_PINLOC_10), + .PORT_MEM_DQB_PINLOC_11 (PORT_MEM_DQB_PINLOC_11), + .PORT_MEM_DQB_PINLOC_12 (PORT_MEM_DQB_PINLOC_12), + .PORT_MEM_DQB_PINLOC_13 (PORT_MEM_DQB_PINLOC_13), + .PORT_MEM_DQB_PINLOC_14 (PORT_MEM_DQB_PINLOC_14), + .PORT_MEM_DQB_PINLOC_15 (PORT_MEM_DQB_PINLOC_15), + .PORT_MEM_DQB_PINLOC_16 (PORT_MEM_DQB_PINLOC_16), + .PORT_MEM_DQB_PINLOC_17 (PORT_MEM_DQB_PINLOC_17), + .PORT_MEM_DQB_PINLOC_18 (PORT_MEM_DQB_PINLOC_18), + .PORT_MEM_DQB_PINLOC_19 (PORT_MEM_DQB_PINLOC_19), + .PORT_MEM_DQB_PINLOC_20 (PORT_MEM_DQB_PINLOC_20), + .PORT_MEM_DQB_PINLOC_21 (PORT_MEM_DQB_PINLOC_21), + .PORT_MEM_DQB_PINLOC_22 (PORT_MEM_DQB_PINLOC_22), + .PORT_MEM_DQB_PINLOC_23 (PORT_MEM_DQB_PINLOC_23), + .PORT_MEM_DQB_PINLOC_24 (PORT_MEM_DQB_PINLOC_24), + .PORT_MEM_DQB_PINLOC_25 (PORT_MEM_DQB_PINLOC_25), + .PORT_MEM_DQB_PINLOC_26 (PORT_MEM_DQB_PINLOC_26), + .PORT_MEM_DQB_PINLOC_27 (PORT_MEM_DQB_PINLOC_27), + .PORT_MEM_DQB_PINLOC_28 (PORT_MEM_DQB_PINLOC_28), + .PORT_MEM_DQB_PINLOC_29 (PORT_MEM_DQB_PINLOC_29), + .PORT_MEM_DQB_PINLOC_30 (PORT_MEM_DQB_PINLOC_30), + .PORT_MEM_DQB_PINLOC_31 (PORT_MEM_DQB_PINLOC_31), + .PORT_MEM_DQB_PINLOC_32 (PORT_MEM_DQB_PINLOC_32), + .PORT_MEM_DQB_PINLOC_33 (PORT_MEM_DQB_PINLOC_33), + .PORT_MEM_DQB_PINLOC_34 (PORT_MEM_DQB_PINLOC_34), + .PORT_MEM_DQB_PINLOC_35 (PORT_MEM_DQB_PINLOC_35), + .PORT_MEM_DQB_PINLOC_36 (PORT_MEM_DQB_PINLOC_36), + .PORT_MEM_DQB_PINLOC_37 (PORT_MEM_DQB_PINLOC_37), + .PORT_MEM_DQB_PINLOC_38 (PORT_MEM_DQB_PINLOC_38), + .PORT_MEM_DQB_PINLOC_39 (PORT_MEM_DQB_PINLOC_39), + .PORT_MEM_DQB_PINLOC_40 (PORT_MEM_DQB_PINLOC_40), + .PORT_MEM_DQB_PINLOC_41 (PORT_MEM_DQB_PINLOC_41), + .PORT_MEM_DQB_PINLOC_42 (PORT_MEM_DQB_PINLOC_42), + .PORT_MEM_DQB_PINLOC_43 (PORT_MEM_DQB_PINLOC_43), + .PORT_MEM_DQB_PINLOC_44 (PORT_MEM_DQB_PINLOC_44), + .PORT_MEM_DQB_PINLOC_45 (PORT_MEM_DQB_PINLOC_45), + .PORT_MEM_DQB_PINLOC_46 (PORT_MEM_DQB_PINLOC_46), + .PORT_MEM_DQB_PINLOC_47 (PORT_MEM_DQB_PINLOC_47), + .PORT_MEM_DQB_PINLOC_48 (PORT_MEM_DQB_PINLOC_48), + .PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT (PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DINVA_WIDTH (PORT_MEM_DINVA_WIDTH), + .PORT_MEM_DINVA_PINLOC_0 (PORT_MEM_DINVA_PINLOC_0), + .PORT_MEM_DINVA_PINLOC_1 (PORT_MEM_DINVA_PINLOC_1), + .PORT_MEM_DINVA_PINLOC_2 (PORT_MEM_DINVA_PINLOC_2), + .PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT (PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DINVB_WIDTH (PORT_MEM_DINVB_WIDTH), + .PORT_MEM_DINVB_PINLOC_0 (PORT_MEM_DINVB_PINLOC_0), + .PORT_MEM_DINVB_PINLOC_1 (PORT_MEM_DINVB_PINLOC_1), + .PORT_MEM_DINVB_PINLOC_2 (PORT_MEM_DINVB_PINLOC_2), + .PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT (PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_Q_WIDTH (PORT_MEM_Q_WIDTH), + .PORT_MEM_Q_PINLOC_0 (PORT_MEM_Q_PINLOC_0), + .PORT_MEM_Q_PINLOC_1 (PORT_MEM_Q_PINLOC_1), + .PORT_MEM_Q_PINLOC_2 (PORT_MEM_Q_PINLOC_2), + .PORT_MEM_Q_PINLOC_3 (PORT_MEM_Q_PINLOC_3), + .PORT_MEM_Q_PINLOC_4 (PORT_MEM_Q_PINLOC_4), + .PORT_MEM_Q_PINLOC_5 (PORT_MEM_Q_PINLOC_5), + .PORT_MEM_Q_PINLOC_6 (PORT_MEM_Q_PINLOC_6), + .PORT_MEM_Q_PINLOC_7 (PORT_MEM_Q_PINLOC_7), + .PORT_MEM_Q_PINLOC_8 (PORT_MEM_Q_PINLOC_8), + .PORT_MEM_Q_PINLOC_9 (PORT_MEM_Q_PINLOC_9), + .PORT_MEM_Q_PINLOC_10 (PORT_MEM_Q_PINLOC_10), + .PORT_MEM_Q_PINLOC_11 (PORT_MEM_Q_PINLOC_11), + .PORT_MEM_Q_PINLOC_12 (PORT_MEM_Q_PINLOC_12), + .PORT_MEM_Q_PINLOC_13 (PORT_MEM_Q_PINLOC_13), + .PORT_MEM_Q_PINLOC_14 (PORT_MEM_Q_PINLOC_14), + .PORT_MEM_Q_PINLOC_15 (PORT_MEM_Q_PINLOC_15), + .PORT_MEM_Q_PINLOC_16 (PORT_MEM_Q_PINLOC_16), + .PORT_MEM_Q_PINLOC_17 (PORT_MEM_Q_PINLOC_17), + .PORT_MEM_Q_PINLOC_18 (PORT_MEM_Q_PINLOC_18), + .PORT_MEM_Q_PINLOC_19 (PORT_MEM_Q_PINLOC_19), + .PORT_MEM_Q_PINLOC_20 (PORT_MEM_Q_PINLOC_20), + .PORT_MEM_Q_PINLOC_21 (PORT_MEM_Q_PINLOC_21), + .PORT_MEM_Q_PINLOC_22 (PORT_MEM_Q_PINLOC_22), + .PORT_MEM_Q_PINLOC_23 (PORT_MEM_Q_PINLOC_23), + .PORT_MEM_Q_PINLOC_24 (PORT_MEM_Q_PINLOC_24), + .PORT_MEM_Q_PINLOC_25 (PORT_MEM_Q_PINLOC_25), + .PORT_MEM_Q_PINLOC_26 (PORT_MEM_Q_PINLOC_26), + .PORT_MEM_Q_PINLOC_27 (PORT_MEM_Q_PINLOC_27), + .PORT_MEM_Q_PINLOC_28 (PORT_MEM_Q_PINLOC_28), + .PORT_MEM_Q_PINLOC_29 (PORT_MEM_Q_PINLOC_29), + .PORT_MEM_Q_PINLOC_30 (PORT_MEM_Q_PINLOC_30), + .PORT_MEM_Q_PINLOC_31 (PORT_MEM_Q_PINLOC_31), + .PORT_MEM_Q_PINLOC_32 (PORT_MEM_Q_PINLOC_32), + .PORT_MEM_Q_PINLOC_33 (PORT_MEM_Q_PINLOC_33), + .PORT_MEM_Q_PINLOC_34 (PORT_MEM_Q_PINLOC_34), + .PORT_MEM_Q_PINLOC_35 (PORT_MEM_Q_PINLOC_35), + .PORT_MEM_Q_PINLOC_36 (PORT_MEM_Q_PINLOC_36), + .PORT_MEM_Q_PINLOC_37 (PORT_MEM_Q_PINLOC_37), + .PORT_MEM_Q_PINLOC_38 (PORT_MEM_Q_PINLOC_38), + .PORT_MEM_Q_PINLOC_39 (PORT_MEM_Q_PINLOC_39), + .PORT_MEM_Q_PINLOC_40 (PORT_MEM_Q_PINLOC_40), + .PORT_MEM_Q_PINLOC_41 (PORT_MEM_Q_PINLOC_41), + .PORT_MEM_Q_PINLOC_42 (PORT_MEM_Q_PINLOC_42), + .PORT_MEM_Q_PINLOC_43 (PORT_MEM_Q_PINLOC_43), + .PORT_MEM_Q_PINLOC_44 (PORT_MEM_Q_PINLOC_44), + .PORT_MEM_Q_PINLOC_45 (PORT_MEM_Q_PINLOC_45), + .PORT_MEM_Q_PINLOC_46 (PORT_MEM_Q_PINLOC_46), + .PORT_MEM_Q_PINLOC_47 (PORT_MEM_Q_PINLOC_47), + .PORT_MEM_Q_PINLOC_48 (PORT_MEM_Q_PINLOC_48), + .PORT_MEM_Q_PINLOC_AUTOGEN_WCNT (PORT_MEM_Q_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQS_PINLOC_0 (PORT_MEM_DQS_PINLOC_0), + .PORT_MEM_DQS_PINLOC_1 (PORT_MEM_DQS_PINLOC_1), + .PORT_MEM_DQS_PINLOC_2 (PORT_MEM_DQS_PINLOC_2), + .PORT_MEM_DQS_PINLOC_3 (PORT_MEM_DQS_PINLOC_3), + .PORT_MEM_DQS_PINLOC_4 (PORT_MEM_DQS_PINLOC_4), + .PORT_MEM_DQS_PINLOC_5 (PORT_MEM_DQS_PINLOC_5), + .PORT_MEM_DQS_PINLOC_6 (PORT_MEM_DQS_PINLOC_6), + .PORT_MEM_DQS_PINLOC_7 (PORT_MEM_DQS_PINLOC_7), + .PORT_MEM_DQS_PINLOC_8 (PORT_MEM_DQS_PINLOC_8), + .PORT_MEM_DQS_PINLOC_9 (PORT_MEM_DQS_PINLOC_9), + .PORT_MEM_DQS_PINLOC_10 (PORT_MEM_DQS_PINLOC_10), + .PORT_MEM_DQS_PINLOC_11 (PORT_MEM_DQS_PINLOC_11), + .PORT_MEM_DQS_PINLOC_12 (PORT_MEM_DQS_PINLOC_12), + .PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT (PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_DQS_N_WIDTH (PORT_MEM_DQS_N_WIDTH), + .PORT_MEM_DQS_N_PINLOC_0 (PORT_MEM_DQS_N_PINLOC_0), + .PORT_MEM_DQS_N_PINLOC_1 (PORT_MEM_DQS_N_PINLOC_1), + .PORT_MEM_DQS_N_PINLOC_2 (PORT_MEM_DQS_N_PINLOC_2), + .PORT_MEM_DQS_N_PINLOC_3 (PORT_MEM_DQS_N_PINLOC_3), + .PORT_MEM_DQS_N_PINLOC_4 (PORT_MEM_DQS_N_PINLOC_4), + .PORT_MEM_DQS_N_PINLOC_5 (PORT_MEM_DQS_N_PINLOC_5), + .PORT_MEM_DQS_N_PINLOC_6 (PORT_MEM_DQS_N_PINLOC_6), + .PORT_MEM_DQS_N_PINLOC_7 (PORT_MEM_DQS_N_PINLOC_7), + .PORT_MEM_DQS_N_PINLOC_8 (PORT_MEM_DQS_N_PINLOC_8), + .PORT_MEM_DQS_N_PINLOC_9 (PORT_MEM_DQS_N_PINLOC_9), + .PORT_MEM_DQS_N_PINLOC_10 (PORT_MEM_DQS_N_PINLOC_10), + .PORT_MEM_DQS_N_PINLOC_11 (PORT_MEM_DQS_N_PINLOC_11), + .PORT_MEM_DQS_N_PINLOC_12 (PORT_MEM_DQS_N_PINLOC_12), + .PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QK_WIDTH (PORT_MEM_QK_WIDTH), + .PORT_MEM_QK_PINLOC_0 (PORT_MEM_QK_PINLOC_0), + .PORT_MEM_QK_PINLOC_1 (PORT_MEM_QK_PINLOC_1), + .PORT_MEM_QK_PINLOC_2 (PORT_MEM_QK_PINLOC_2), + .PORT_MEM_QK_PINLOC_3 (PORT_MEM_QK_PINLOC_3), + .PORT_MEM_QK_PINLOC_4 (PORT_MEM_QK_PINLOC_4), + .PORT_MEM_QK_PINLOC_5 (PORT_MEM_QK_PINLOC_5), + .PORT_MEM_QK_PINLOC_AUTOGEN_WCNT (PORT_MEM_QK_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QK_N_WIDTH (PORT_MEM_QK_N_WIDTH), + .PORT_MEM_QK_N_PINLOC_0 (PORT_MEM_QK_N_PINLOC_0), + .PORT_MEM_QK_N_PINLOC_1 (PORT_MEM_QK_N_PINLOC_1), + .PORT_MEM_QK_N_PINLOC_2 (PORT_MEM_QK_N_PINLOC_2), + .PORT_MEM_QK_N_PINLOC_3 (PORT_MEM_QK_N_PINLOC_3), + .PORT_MEM_QK_N_PINLOC_4 (PORT_MEM_QK_N_PINLOC_4), + .PORT_MEM_QK_N_PINLOC_5 (PORT_MEM_QK_N_PINLOC_5), + .PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QKA_WIDTH (PORT_MEM_QKA_WIDTH), + .PORT_MEM_QKA_PINLOC_0 (PORT_MEM_QKA_PINLOC_0), + .PORT_MEM_QKA_PINLOC_1 (PORT_MEM_QKA_PINLOC_1), + .PORT_MEM_QKA_PINLOC_2 (PORT_MEM_QKA_PINLOC_2), + .PORT_MEM_QKA_PINLOC_3 (PORT_MEM_QKA_PINLOC_3), + .PORT_MEM_QKA_PINLOC_4 (PORT_MEM_QKA_PINLOC_4), + .PORT_MEM_QKA_PINLOC_5 (PORT_MEM_QKA_PINLOC_5), + .PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT (PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QKA_N_WIDTH (PORT_MEM_QKA_N_WIDTH), + .PORT_MEM_QKA_N_PINLOC_0 (PORT_MEM_QKA_N_PINLOC_0), + .PORT_MEM_QKA_N_PINLOC_1 (PORT_MEM_QKA_N_PINLOC_1), + .PORT_MEM_QKA_N_PINLOC_2 (PORT_MEM_QKA_N_PINLOC_2), + .PORT_MEM_QKA_N_PINLOC_3 (PORT_MEM_QKA_N_PINLOC_3), + .PORT_MEM_QKA_N_PINLOC_4 (PORT_MEM_QKA_N_PINLOC_4), + .PORT_MEM_QKA_N_PINLOC_5 (PORT_MEM_QKA_N_PINLOC_5), + .PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QKB_WIDTH (PORT_MEM_QKB_WIDTH), + .PORT_MEM_QKB_PINLOC_0 (PORT_MEM_QKB_PINLOC_0), + .PORT_MEM_QKB_PINLOC_1 (PORT_MEM_QKB_PINLOC_1), + .PORT_MEM_QKB_PINLOC_2 (PORT_MEM_QKB_PINLOC_2), + .PORT_MEM_QKB_PINLOC_3 (PORT_MEM_QKB_PINLOC_3), + .PORT_MEM_QKB_PINLOC_4 (PORT_MEM_QKB_PINLOC_4), + .PORT_MEM_QKB_PINLOC_5 (PORT_MEM_QKB_PINLOC_5), + .PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT (PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_QKB_N_WIDTH (PORT_MEM_QKB_N_WIDTH), + .PORT_MEM_QKB_N_PINLOC_0 (PORT_MEM_QKB_N_PINLOC_0), + .PORT_MEM_QKB_N_PINLOC_1 (PORT_MEM_QKB_N_PINLOC_1), + .PORT_MEM_QKB_N_PINLOC_2 (PORT_MEM_QKB_N_PINLOC_2), + .PORT_MEM_QKB_N_PINLOC_3 (PORT_MEM_QKB_N_PINLOC_3), + .PORT_MEM_QKB_N_PINLOC_4 (PORT_MEM_QKB_N_PINLOC_4), + .PORT_MEM_QKB_N_PINLOC_5 (PORT_MEM_QKB_N_PINLOC_5), + .PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CQ_WIDTH (PORT_MEM_CQ_WIDTH), + .PORT_MEM_CQ_PINLOC_0 (PORT_MEM_CQ_PINLOC_0), + .PORT_MEM_CQ_PINLOC_1 (PORT_MEM_CQ_PINLOC_1), + .PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT (PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_CQ_N_WIDTH (PORT_MEM_CQ_N_WIDTH), + .PORT_MEM_CQ_N_PINLOC_0 (PORT_MEM_CQ_N_PINLOC_0), + .PORT_MEM_CQ_N_PINLOC_1 (PORT_MEM_CQ_N_PINLOC_1), + .PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_ALERT_N_WIDTH (PORT_MEM_ALERT_N_WIDTH), + .PORT_MEM_ALERT_N_PINLOC_0 (PORT_MEM_ALERT_N_PINLOC_0), + .PORT_MEM_ALERT_N_PINLOC_1 (PORT_MEM_ALERT_N_PINLOC_1), + .PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT), + .PORT_MEM_PE_N_WIDTH (PORT_MEM_PE_N_WIDTH), + .PORT_MEM_PE_N_PINLOC_0 (PORT_MEM_PE_N_PINLOC_0), + .PORT_MEM_PE_N_PINLOC_1 (PORT_MEM_PE_N_PINLOC_1), + .PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT (PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT), + .PORT_CLKS_SHARING_MASTER_OUT_WIDTH (PORT_CLKS_SHARING_MASTER_OUT_WIDTH), + .PORT_CLKS_SHARING_SLAVE_IN_WIDTH (PORT_CLKS_SHARING_SLAVE_IN_WIDTH), + .PORT_CLKS_SHARING_SLAVE_OUT_WIDTH (PORT_CLKS_SHARING_SLAVE_OUT_WIDTH), + .PORT_AFI_RLAT_WIDTH (PORT_AFI_RLAT_WIDTH), + .PORT_AFI_WLAT_WIDTH (PORT_AFI_WLAT_WIDTH), + .PORT_AFI_SEQ_BUSY_WIDTH (PORT_AFI_SEQ_BUSY_WIDTH), + .PORT_AFI_ADDR_WIDTH (PORT_AFI_ADDR_WIDTH), + .PORT_AFI_BA_WIDTH (PORT_AFI_BA_WIDTH), + .PORT_AFI_BG_WIDTH (PORT_AFI_BG_WIDTH), + .PORT_AFI_C_WIDTH (PORT_AFI_C_WIDTH), + .PORT_AFI_CKE_WIDTH (PORT_AFI_CKE_WIDTH), + .PORT_AFI_CS_N_WIDTH (PORT_AFI_CS_N_WIDTH), + .PORT_AFI_RM_WIDTH (PORT_AFI_RM_WIDTH), + .PORT_AFI_ODT_WIDTH (PORT_AFI_ODT_WIDTH), + .PORT_AFI_RAS_N_WIDTH (PORT_AFI_RAS_N_WIDTH), + .PORT_AFI_CAS_N_WIDTH (PORT_AFI_CAS_N_WIDTH), + .PORT_AFI_WE_N_WIDTH (PORT_AFI_WE_N_WIDTH), + .PORT_AFI_RST_N_WIDTH (PORT_AFI_RST_N_WIDTH), + .PORT_AFI_ACT_N_WIDTH (PORT_AFI_ACT_N_WIDTH), + .PORT_AFI_REQ_N_WIDTH (PORT_AFI_REQ_N_WIDTH), + .PORT_AFI_GNT_N_WIDTH (PORT_AFI_GNT_N_WIDTH), + .PORT_AFI_ERR_N_WIDTH (PORT_AFI_ERR_N_WIDTH), + .PORT_AFI_PAR_WIDTH (PORT_AFI_PAR_WIDTH), + .PORT_AFI_CA_WIDTH (PORT_AFI_CA_WIDTH), + .PORT_AFI_REF_N_WIDTH (PORT_AFI_REF_N_WIDTH), + .PORT_AFI_WPS_N_WIDTH (PORT_AFI_WPS_N_WIDTH), + .PORT_AFI_RPS_N_WIDTH (PORT_AFI_RPS_N_WIDTH), + .PORT_AFI_DOFF_N_WIDTH (PORT_AFI_DOFF_N_WIDTH), + .PORT_AFI_LD_N_WIDTH (PORT_AFI_LD_N_WIDTH), + .PORT_AFI_RW_N_WIDTH (PORT_AFI_RW_N_WIDTH), + .PORT_AFI_LBK0_N_WIDTH (PORT_AFI_LBK0_N_WIDTH), + .PORT_AFI_LBK1_N_WIDTH (PORT_AFI_LBK1_N_WIDTH), + .PORT_AFI_CFG_N_WIDTH (PORT_AFI_CFG_N_WIDTH), + .PORT_AFI_AP_WIDTH (PORT_AFI_AP_WIDTH), + .PORT_AFI_AINV_WIDTH (PORT_AFI_AINV_WIDTH), + .PORT_AFI_DM_WIDTH (PORT_AFI_DM_WIDTH), + .PORT_AFI_DM_N_WIDTH (PORT_AFI_DM_N_WIDTH), + .PORT_AFI_BWS_N_WIDTH (PORT_AFI_BWS_N_WIDTH), + .PORT_AFI_RDATA_DBI_N_WIDTH (PORT_AFI_RDATA_DBI_N_WIDTH), + .PORT_AFI_WDATA_DBI_N_WIDTH (PORT_AFI_WDATA_DBI_N_WIDTH), + .PORT_AFI_RDATA_DINV_WIDTH (PORT_AFI_RDATA_DINV_WIDTH), + .PORT_AFI_WDATA_DINV_WIDTH (PORT_AFI_WDATA_DINV_WIDTH), + .PORT_AFI_DQS_BURST_WIDTH (PORT_AFI_DQS_BURST_WIDTH), + .PORT_AFI_WDATA_VALID_WIDTH (PORT_AFI_WDATA_VALID_WIDTH), + .PORT_AFI_WDATA_WIDTH (PORT_AFI_WDATA_WIDTH), + .PORT_AFI_RDATA_EN_FULL_WIDTH (PORT_AFI_RDATA_EN_FULL_WIDTH), + .PORT_AFI_RDATA_WIDTH (PORT_AFI_RDATA_WIDTH), + .PORT_AFI_RDATA_VALID_WIDTH (PORT_AFI_RDATA_VALID_WIDTH), + .PORT_AFI_RRANK_WIDTH (PORT_AFI_RRANK_WIDTH), + .PORT_AFI_WRANK_WIDTH (PORT_AFI_WRANK_WIDTH), + .PORT_AFI_ALERT_N_WIDTH (PORT_AFI_ALERT_N_WIDTH), + .PORT_AFI_PE_N_WIDTH (PORT_AFI_PE_N_WIDTH), + .PORT_CTRL_AST_CMD_DATA_WIDTH (PORT_CTRL_AST_CMD_DATA_WIDTH), + .PORT_CTRL_AST_WR_DATA_WIDTH (PORT_CTRL_AST_WR_DATA_WIDTH), + .PORT_CTRL_AST_RD_DATA_WIDTH (PORT_CTRL_AST_RD_DATA_WIDTH), + .PORT_CTRL_AMM_ADDRESS_WIDTH (PORT_CTRL_AMM_ADDRESS_WIDTH), + .PORT_CTRL_AMM_RDATA_WIDTH (PORT_CTRL_AMM_RDATA_WIDTH), + .PORT_CTRL_AMM_WDATA_WIDTH (PORT_CTRL_AMM_WDATA_WIDTH), + .PORT_CTRL_AMM_BCOUNT_WIDTH (PORT_CTRL_AMM_BCOUNT_WIDTH), + .PORT_CTRL_AMM_BYTEEN_WIDTH (PORT_CTRL_AMM_BYTEEN_WIDTH), + .PORT_CTRL_STROBE_WIDTH (PORT_CTRL_STROBE_WIDTH), + .PORT_CTRL_STROBE_OE_WIDTH (PORT_CTRL_STROBE_OE_WIDTH), + .PORT_CTRL_DATA_OE_WIDTH (PORT_CTRL_DATA_OE_WIDTH), + .PORT_CTRL_DATA_OUT_WIDTH (PORT_CTRL_DATA_OUT_WIDTH), + .PORT_CTRL_DATA_IN_WIDTH (PORT_CTRL_DATA_IN_WIDTH), + .PORT_CTRL_RDATA_VALID_WIDTH (PORT_CTRL_RDATA_VALID_WIDTH), + .PORT_CTRL_LOCKED_WIDTH (PORT_CTRL_LOCKED_WIDTH), + .PORT_CTRL_RDATA_ENABLE_WIDTH (PORT_CTRL_RDATA_ENABLE_WIDTH), + .PORT_CTRL_USER_REFRESH_REQ_WIDTH (PORT_CTRL_USER_REFRESH_REQ_WIDTH), + .PORT_CTRL_USER_REFRESH_BANK_WIDTH (PORT_CTRL_USER_REFRESH_BANK_WIDTH), + .PORT_CTRL_SELF_REFRESH_REQ_WIDTH (PORT_CTRL_SELF_REFRESH_REQ_WIDTH), + .PORT_CTRL_ECC_WRITE_INFO_WIDTH (PORT_CTRL_ECC_WRITE_INFO_WIDTH), + .PORT_CTRL_ECC_RDATA_ID_WIDTH (PORT_CTRL_ECC_RDATA_ID_WIDTH), + .PORT_CTRL_ECC_READ_INFO_WIDTH (PORT_CTRL_ECC_READ_INFO_WIDTH), + .PORT_CTRL_ECC_CMD_INFO_WIDTH (PORT_CTRL_ECC_CMD_INFO_WIDTH), + .PORT_CTRL_ECC_WB_POINTER_WIDTH (PORT_CTRL_ECC_WB_POINTER_WIDTH), + .PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH (PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH), + .PORT_CTRL_MMR_SLAVE_RDATA_WIDTH (PORT_CTRL_MMR_SLAVE_RDATA_WIDTH), + .PORT_CTRL_MMR_SLAVE_WDATA_WIDTH (PORT_CTRL_MMR_SLAVE_WDATA_WIDTH), + .PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH (PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH), + .PORT_HPS_EMIF_H2E_WIDTH (PORT_HPS_EMIF_H2E_WIDTH), + .PORT_HPS_EMIF_E2H_WIDTH (PORT_HPS_EMIF_E2H_WIDTH), + .PORT_HPS_EMIF_H2E_GP_WIDTH (PORT_HPS_EMIF_H2E_GP_WIDTH), + .PORT_HPS_EMIF_E2H_GP_WIDTH (PORT_HPS_EMIF_E2H_GP_WIDTH), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH), + .PORT_DFT_ND_PLL_CNTSEL_WIDTH (PORT_DFT_ND_PLL_CNTSEL_WIDTH), + .PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH (PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH), + .PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH (PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH), + .PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH (PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH), + .PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH (PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH), + .PORT_CALBUS_ADDRESS_WIDTH (PORT_CALBUS_ADDRESS_WIDTH), + .PORT_CALBUS_WDATA_WIDTH (PORT_CALBUS_WDATA_WIDTH), + .PORT_CALBUS_RDATA_WIDTH (PORT_CALBUS_RDATA_WIDTH), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (PORT_CALBUS_SEQ_PARAM_TBL_WIDTH), + .PLL_VCO_FREQ_MHZ_INT (PLL_VCO_FREQ_MHZ_INT), + .PLL_VCO_TO_MEM_CLK_FREQ_RATIO (PLL_VCO_TO_MEM_CLK_FREQ_RATIO), + .PLL_MEM_CLK_FREQ_PS (PLL_MEM_CLK_FREQ_PS), + .PLL_PHY_CLK_VCO_PHASE (PLL_PHY_CLK_VCO_PHASE), + .PLL_VCO_FREQ_PS_STR (PLL_VCO_FREQ_PS_STR), + .PLL_VCO_FREQ_MHZ_STR (PLL_VCO_FREQ_MHZ_STR), + .PLL_REF_CLK_FREQ_PS_STR (PLL_REF_CLK_FREQ_PS_STR), + .PLL_REF_CLK_FREQ_MHZ_STR (PLL_REF_CLK_FREQ_MHZ_STR), + .PLL_REF_CLK_FREQ_PS (PLL_REF_CLK_FREQ_PS), + .PLL_SIM_VCO_FREQ_PS (PLL_SIM_VCO_FREQ_PS), + .PLL_SIM_PHYCLK_0_FREQ_PS (PLL_SIM_PHYCLK_0_FREQ_PS), + .PLL_SIM_PHYCLK_1_FREQ_PS (PLL_SIM_PHYCLK_1_FREQ_PS), + .PLL_SIM_PHYCLK_FB_FREQ_PS (PLL_SIM_PHYCLK_FB_FREQ_PS), + .PLL_SIM_PHY_CLK_VCO_PHASE_PS (PLL_SIM_PHY_CLK_VCO_PHASE_PS), + .PLL_M_CNT_HIGH (PLL_M_CNT_HIGH), + .PLL_M_CNT_LOW (PLL_M_CNT_LOW), + .PLL_N_CNT_HIGH (PLL_N_CNT_HIGH), + .PLL_N_CNT_LOW (PLL_N_CNT_LOW), + .PLL_M_CNT_BYPASS_EN (PLL_M_CNT_BYPASS_EN), + .PLL_N_CNT_BYPASS_EN (PLL_N_CNT_BYPASS_EN), + .PLL_M_CNT_EVEN_DUTY_EN (PLL_M_CNT_EVEN_DUTY_EN), + .PLL_N_CNT_EVEN_DUTY_EN (PLL_N_CNT_EVEN_DUTY_EN), + .PLL_FBCLK_MUX_1 (PLL_FBCLK_MUX_1), + .PLL_FBCLK_MUX_2 (PLL_FBCLK_MUX_2), + .PLL_M_CNT_IN_SRC (PLL_M_CNT_IN_SRC), + .PLL_CP_SETTING (PLL_CP_SETTING), + .PLL_BW_CTRL (PLL_BW_CTRL), + .PLL_BW_SEL (PLL_BW_SEL), + .PLL_C_CNT_HIGH_0 (PLL_C_CNT_HIGH_0), + .PLL_C_CNT_LOW_0 (PLL_C_CNT_LOW_0), + .PLL_C_CNT_PRST_0 (PLL_C_CNT_PRST_0), + .PLL_C_CNT_PH_MUX_PRST_0 (PLL_C_CNT_PH_MUX_PRST_0), + .PLL_C_CNT_BYPASS_EN_0 (PLL_C_CNT_BYPASS_EN_0), + .PLL_C_CNT_EVEN_DUTY_EN_0 (PLL_C_CNT_EVEN_DUTY_EN_0), + .PLL_C_CNT_FREQ_PS_STR_0 (PLL_C_CNT_FREQ_PS_STR_0), + .PLL_C_CNT_FREQ_MHZ_STR_0 (PLL_C_CNT_FREQ_MHZ_STR_0), + .PLL_C_CNT_PHASE_PS_STR_0 (PLL_C_CNT_PHASE_PS_STR_0), + .PLL_C_CNT_DUTY_CYCLE_0 (PLL_C_CNT_DUTY_CYCLE_0), + .PLL_C_CNT_OUT_EN_0 (PLL_C_CNT_OUT_EN_0), + .PLL_C_CNT_HIGH_1 (PLL_C_CNT_HIGH_1), + .PLL_C_CNT_LOW_1 (PLL_C_CNT_LOW_1), + .PLL_C_CNT_PRST_1 (PLL_C_CNT_PRST_1), + .PLL_C_CNT_PH_MUX_PRST_1 (PLL_C_CNT_PH_MUX_PRST_1), + .PLL_C_CNT_BYPASS_EN_1 (PLL_C_CNT_BYPASS_EN_1), + .PLL_C_CNT_EVEN_DUTY_EN_1 (PLL_C_CNT_EVEN_DUTY_EN_1), + .PLL_C_CNT_FREQ_PS_STR_1 (PLL_C_CNT_FREQ_PS_STR_1), + .PLL_C_CNT_FREQ_MHZ_STR_1 (PLL_C_CNT_FREQ_MHZ_STR_1), + .PLL_C_CNT_PHASE_PS_STR_1 (PLL_C_CNT_PHASE_PS_STR_1), + .PLL_C_CNT_DUTY_CYCLE_1 (PLL_C_CNT_DUTY_CYCLE_1), + .PLL_C_CNT_OUT_EN_1 (PLL_C_CNT_OUT_EN_1), + .PLL_C_CNT_HIGH_2 (PLL_C_CNT_HIGH_2), + .PLL_C_CNT_LOW_2 (PLL_C_CNT_LOW_2), + .PLL_C_CNT_PRST_2 (PLL_C_CNT_PRST_2), + .PLL_C_CNT_PH_MUX_PRST_2 (PLL_C_CNT_PH_MUX_PRST_2), + .PLL_C_CNT_BYPASS_EN_2 (PLL_C_CNT_BYPASS_EN_2), + .PLL_C_CNT_EVEN_DUTY_EN_2 (PLL_C_CNT_EVEN_DUTY_EN_2), + .PLL_C_CNT_FREQ_PS_STR_2 (PLL_C_CNT_FREQ_PS_STR_2), + .PLL_C_CNT_FREQ_MHZ_STR_2 (PLL_C_CNT_FREQ_MHZ_STR_2), + .PLL_C_CNT_PHASE_PS_STR_2 (PLL_C_CNT_PHASE_PS_STR_2), + .PLL_C_CNT_DUTY_CYCLE_2 (PLL_C_CNT_DUTY_CYCLE_2), + .PLL_C_CNT_OUT_EN_2 (PLL_C_CNT_OUT_EN_2), + .PLL_C_CNT_HIGH_3 (PLL_C_CNT_HIGH_3), + .PLL_C_CNT_LOW_3 (PLL_C_CNT_LOW_3), + .PLL_C_CNT_PRST_3 (PLL_C_CNT_PRST_3), + .PLL_C_CNT_PH_MUX_PRST_3 (PLL_C_CNT_PH_MUX_PRST_3), + .PLL_C_CNT_BYPASS_EN_3 (PLL_C_CNT_BYPASS_EN_3), + .PLL_C_CNT_EVEN_DUTY_EN_3 (PLL_C_CNT_EVEN_DUTY_EN_3), + .PLL_C_CNT_FREQ_PS_STR_3 (PLL_C_CNT_FREQ_PS_STR_3), + .PLL_C_CNT_FREQ_MHZ_STR_3 (PLL_C_CNT_FREQ_MHZ_STR_3), + .PLL_C_CNT_PHASE_PS_STR_3 (PLL_C_CNT_PHASE_PS_STR_3), + .PLL_C_CNT_DUTY_CYCLE_3 (PLL_C_CNT_DUTY_CYCLE_3), + .PLL_C_CNT_OUT_EN_3 (PLL_C_CNT_OUT_EN_3), + .PLL_C_CNT_HIGH_4 (PLL_C_CNT_HIGH_4), + .PLL_C_CNT_LOW_4 (PLL_C_CNT_LOW_4), + .PLL_C_CNT_PRST_4 (PLL_C_CNT_PRST_4), + .PLL_C_CNT_PH_MUX_PRST_4 (PLL_C_CNT_PH_MUX_PRST_4), + .PLL_C_CNT_BYPASS_EN_4 (PLL_C_CNT_BYPASS_EN_4), + .PLL_C_CNT_EVEN_DUTY_EN_4 (PLL_C_CNT_EVEN_DUTY_EN_4), + .PLL_C_CNT_FREQ_PS_STR_4 (PLL_C_CNT_FREQ_PS_STR_4), + .PLL_C_CNT_FREQ_MHZ_STR_4 (PLL_C_CNT_FREQ_MHZ_STR_4), + .PLL_C_CNT_PHASE_PS_STR_4 (PLL_C_CNT_PHASE_PS_STR_4), + .PLL_C_CNT_DUTY_CYCLE_4 (PLL_C_CNT_DUTY_CYCLE_4), + .PLL_C_CNT_OUT_EN_4 (PLL_C_CNT_OUT_EN_4), + .PLL_C_CNT_HIGH_5 (PLL_C_CNT_HIGH_5), + .PLL_C_CNT_LOW_5 (PLL_C_CNT_LOW_5), + .PLL_C_CNT_PRST_5 (PLL_C_CNT_PRST_5), + .PLL_C_CNT_PH_MUX_PRST_5 (PLL_C_CNT_PH_MUX_PRST_5), + .PLL_C_CNT_BYPASS_EN_5 (PLL_C_CNT_BYPASS_EN_5), + .PLL_C_CNT_EVEN_DUTY_EN_5 (PLL_C_CNT_EVEN_DUTY_EN_5), + .PLL_C_CNT_FREQ_PS_STR_5 (PLL_C_CNT_FREQ_PS_STR_5), + .PLL_C_CNT_FREQ_MHZ_STR_5 (PLL_C_CNT_FREQ_MHZ_STR_5), + .PLL_C_CNT_PHASE_PS_STR_5 (PLL_C_CNT_PHASE_PS_STR_5), + .PLL_C_CNT_DUTY_CYCLE_5 (PLL_C_CNT_DUTY_CYCLE_5), + .PLL_C_CNT_OUT_EN_5 (PLL_C_CNT_OUT_EN_5), + .PLL_C_CNT_HIGH_6 (PLL_C_CNT_HIGH_6), + .PLL_C_CNT_LOW_6 (PLL_C_CNT_LOW_6), + .PLL_C_CNT_PRST_6 (PLL_C_CNT_PRST_6), + .PLL_C_CNT_PH_MUX_PRST_6 (PLL_C_CNT_PH_MUX_PRST_6), + .PLL_C_CNT_BYPASS_EN_6 (PLL_C_CNT_BYPASS_EN_6), + .PLL_C_CNT_EVEN_DUTY_EN_6 (PLL_C_CNT_EVEN_DUTY_EN_6), + .PLL_C_CNT_FREQ_PS_STR_6 (PLL_C_CNT_FREQ_PS_STR_6), + .PLL_C_CNT_FREQ_MHZ_STR_6 (PLL_C_CNT_FREQ_MHZ_STR_6), + .PLL_C_CNT_PHASE_PS_STR_6 (PLL_C_CNT_PHASE_PS_STR_6), + .PLL_C_CNT_DUTY_CYCLE_6 (PLL_C_CNT_DUTY_CYCLE_6), + .PLL_C_CNT_OUT_EN_6 (PLL_C_CNT_OUT_EN_6), + .PLL_C_CNT_HIGH_7 (PLL_C_CNT_HIGH_7), + .PLL_C_CNT_LOW_7 (PLL_C_CNT_LOW_7), + .PLL_C_CNT_PRST_7 (PLL_C_CNT_PRST_7), + .PLL_C_CNT_PH_MUX_PRST_7 (PLL_C_CNT_PH_MUX_PRST_7), + .PLL_C_CNT_BYPASS_EN_7 (PLL_C_CNT_BYPASS_EN_7), + .PLL_C_CNT_EVEN_DUTY_EN_7 (PLL_C_CNT_EVEN_DUTY_EN_7), + .PLL_C_CNT_FREQ_PS_STR_7 (PLL_C_CNT_FREQ_PS_STR_7), + .PLL_C_CNT_FREQ_MHZ_STR_7 (PLL_C_CNT_FREQ_MHZ_STR_7), + .PLL_C_CNT_PHASE_PS_STR_7 (PLL_C_CNT_PHASE_PS_STR_7), + .PLL_C_CNT_DUTY_CYCLE_7 (PLL_C_CNT_DUTY_CYCLE_7), + .PLL_C_CNT_OUT_EN_7 (PLL_C_CNT_OUT_EN_7), + .PLL_C_CNT_HIGH_8 (PLL_C_CNT_HIGH_8), + .PLL_C_CNT_LOW_8 (PLL_C_CNT_LOW_8), + .PLL_C_CNT_PRST_8 (PLL_C_CNT_PRST_8), + .PLL_C_CNT_PH_MUX_PRST_8 (PLL_C_CNT_PH_MUX_PRST_8), + .PLL_C_CNT_BYPASS_EN_8 (PLL_C_CNT_BYPASS_EN_8), + .PLL_C_CNT_EVEN_DUTY_EN_8 (PLL_C_CNT_EVEN_DUTY_EN_8), + .PLL_C_CNT_FREQ_PS_STR_8 (PLL_C_CNT_FREQ_PS_STR_8), + .PLL_C_CNT_FREQ_MHZ_STR_8 (PLL_C_CNT_FREQ_MHZ_STR_8), + .PLL_C_CNT_PHASE_PS_STR_8 (PLL_C_CNT_PHASE_PS_STR_8), + .PLL_C_CNT_DUTY_CYCLE_8 (PLL_C_CNT_DUTY_CYCLE_8), + .PLL_C_CNT_OUT_EN_8 (PLL_C_CNT_OUT_EN_8), + .SEQ_USE_SIM_PARAMS ("off") + ) arch_inst ( + .local_reset_req (local_reset_req), + .local_reset_done (local_reset_done), + .pll_ref_clk (pll_ref_clk), + .pll_ref_clk_out (pll_ref_clk_out), + .pll_locked (pll_locked), + .pll_extra_clk_0 (pll_extra_clk_0), + .pll_extra_clk_1 (pll_extra_clk_1), + .pll_extra_clk_2 (pll_extra_clk_2), + .pll_extra_clk_3 (pll_extra_clk_3), + .ac_parity_err (ac_parity_err), + .oct_rzqin (oct_rzqin), + .mem_ck (mem_ck), + .mem_ck_n (mem_ck_n), + .mem_a (mem_a), + .mem_act_n (mem_act_n), + .mem_ba (mem_ba), + .mem_bg (mem_bg), + .mem_c (mem_c), + .mem_cke (mem_cke), + .mem_cs_n (mem_cs_n), + .mem_rm (mem_rm), + .mem_odt (mem_odt), + .mem_reset_n (mem_reset_n), + .mem_par (mem_par), + .mem_alert_n (mem_alert_n), + .mem_dqs (mem_dqs), + .mem_dqs_n (mem_dqs_n), + .mem_dq (mem_dq), + .mem_dbi_n (mem_dbi_n), + .mem_ck_bidir (mem_ck_bidir), + .mem_ck_bidir_n (mem_ck_bidir_n), + .mem_dk (mem_dk), + .mem_dk_n (mem_dk_n), + .mem_dka (mem_dka), + .mem_dka_n (mem_dka_n), + .mem_dkb (mem_dkb), + .mem_dkb_n (mem_dkb_n), + .mem_k (mem_k), + .mem_k_n (mem_k_n), + .mem_req_n (mem_req_n), + .mem_gnt_n (mem_gnt_n), + .mem_err_n (mem_err_n), + .mem_ras_n (mem_ras_n), + .mem_cas_n (mem_cas_n), + .mem_we_n (mem_we_n), + .mem_ca (mem_ca), + .mem_ref_n (mem_ref_n), + .mem_wps_n (mem_wps_n), + .mem_rps_n (mem_rps_n), + .mem_doff_n (mem_doff_n), + .mem_lda_n (mem_lda_n), + .mem_ldb_n (mem_ldb_n), + .mem_rwa_n (mem_rwa_n), + .mem_rwb_n (mem_rwb_n), + .mem_lbk0_n (mem_lbk0_n), + .mem_lbk1_n (mem_lbk1_n), + .mem_cfg_n (mem_cfg_n), + .mem_ap (mem_ap), + .mem_ainv (mem_ainv), + .mem_dm (mem_dm), + .mem_bws_n (mem_bws_n), + .mem_d (mem_d), + .mem_dqa (mem_dqa), + .mem_dqb (mem_dqb), + .mem_dinva (mem_dinva), + .mem_dinvb (mem_dinvb), + .mem_q (mem_q), + .mem_qk (mem_qk), + .mem_qk_n (mem_qk_n), + .mem_qka (mem_qka), + .mem_qka_n (mem_qka_n), + .mem_qkb (mem_qkb), + .mem_qkb_n (mem_qkb_n), + .mem_cq (mem_cq), + .mem_cq_n (mem_cq_n), + .mem_pe_n (mem_pe_n), + .local_cal_success (local_cal_success), + .local_cal_fail (local_cal_fail), + .afi_reset_n (afi_reset_n), + .afi_clk (afi_clk), + .afi_half_clk (afi_half_clk), + .emif_usr_reset_n (emif_usr_reset_n), + .emif_usr_clk (emif_usr_clk), + .emif_usr_half_clk (emif_usr_half_clk), + .emif_usr_reset_n_sec (emif_usr_reset_n_sec), + .emif_usr_clk_sec (emif_usr_clk_sec), + .emif_usr_half_clk_sec (emif_usr_half_clk_sec), + .clks_sharing_master_out (clks_sharing_master_out), + .clks_sharing_slave_in (clks_sharing_slave_in), + .clks_sharing_slave_out (clks_sharing_slave_out), + .afi_cal_success (afi_cal_success), + .afi_cal_fail (afi_cal_fail), + .afi_cal_req (afi_cal_req), + .afi_rlat (afi_rlat), + .afi_wlat (afi_wlat), + .afi_seq_busy (afi_seq_busy), + .afi_ctl_refresh_done (afi_ctl_refresh_done), + .afi_ctl_long_idle (afi_ctl_long_idle), + .afi_mps_req (afi_mps_req), + .afi_mps_ack (afi_mps_ack), + .afi_addr (afi_addr), + .afi_ba (afi_ba), + .afi_bg (afi_bg), + .afi_c (afi_c), + .afi_cke (afi_cke), + .afi_cs_n (afi_cs_n), + .afi_rm (afi_rm), + .afi_odt (afi_odt), + .afi_ras_n (afi_ras_n), + .afi_cas_n (afi_cas_n), + .afi_we_n (afi_we_n), + .afi_rst_n (afi_rst_n), + .afi_act_n (afi_act_n), + .afi_req_n (afi_req_n), + .afi_gnt_n (afi_gnt_n), + .afi_err_n (afi_err_n), + .afi_par (afi_par), + .afi_ca (afi_ca), + .afi_ref_n (afi_ref_n), + .afi_wps_n (afi_wps_n), + .afi_rps_n (afi_rps_n), + .afi_doff_n (afi_doff_n), + .afi_ld_n (afi_ld_n), + .afi_rw_n (afi_rw_n), + .afi_lbk0_n (afi_lbk0_n), + .afi_lbk1_n (afi_lbk1_n), + .afi_cfg_n (afi_cfg_n), + .afi_ap (afi_ap), + .afi_ainv (afi_ainv), + .afi_dm (afi_dm), + .afi_dm_n (afi_dm_n), + .afi_bws_n (afi_bws_n), + .afi_rdata_dbi_n (afi_rdata_dbi_n), + .afi_wdata_dbi_n (afi_wdata_dbi_n), + .afi_rdata_dinv (afi_rdata_dinv), + .afi_wdata_dinv (afi_wdata_dinv), + .afi_dqs_burst (afi_dqs_burst), + .afi_wdata_valid (afi_wdata_valid), + .afi_wdata (afi_wdata), + .afi_rdata_en_full (afi_rdata_en_full), + .afi_rdata (afi_rdata), + .afi_rdata_valid (afi_rdata_valid), + .afi_rrank (afi_rrank), + .afi_wrank (afi_wrank), + .afi_alert_n (afi_alert_n), + .afi_pe_n (afi_pe_n), + .ast_cmd_valid_0 (ast_cmd_valid_0), + .ast_cmd_ready_0 (ast_cmd_ready_0), + .ast_cmd_data_0 (ast_cmd_data_0), + .ast_cmd_valid_1 (ast_cmd_valid_1), + .ast_cmd_ready_1 (ast_cmd_ready_1), + .ast_cmd_data_1 (ast_cmd_data_1), + .ast_wr_valid_0 (ast_wr_valid_0), + .ast_wr_ready_0 (ast_wr_ready_0), + .ast_wr_data_0 (ast_wr_data_0), + .ast_wr_valid_1 (ast_wr_valid_1), + .ast_wr_ready_1 (ast_wr_ready_1), + .ast_wr_data_1 (ast_wr_data_1), + .ast_rd_valid_0 (ast_rd_valid_0), + .ast_rd_ready_0 (ast_rd_ready_0), + .ast_rd_data_0 (ast_rd_data_0), + .ast_rd_valid_1 (ast_rd_valid_1), + .ast_rd_ready_1 (ast_rd_ready_1), + .ast_rd_data_1 (ast_rd_data_1), + .amm_ready_0 (amm_ready_0), + .amm_read_0 (amm_read_0), + .amm_write_0 (amm_write_0), + .amm_address_0 (amm_address_0), + .amm_readdata_0 (amm_readdata_0), + .amm_writedata_0 (amm_writedata_0), + .amm_burstcount_0 (amm_burstcount_0), + .amm_byteenable_0 (amm_byteenable_0), + .amm_beginbursttransfer_0 (amm_beginbursttransfer_0), + .amm_readdatavalid_0 (amm_readdatavalid_0), + .amm_ready_1 (amm_ready_1), + .amm_read_1 (amm_read_1), + .amm_write_1 (amm_write_1), + .amm_address_1 (amm_address_1), + .amm_readdata_1 (amm_readdata_1), + .amm_writedata_1 (amm_writedata_1), + .amm_burstcount_1 (amm_burstcount_1), + .amm_byteenable_1 (amm_byteenable_1), + .amm_beginbursttransfer_1 (amm_beginbursttransfer_1), + .amm_readdatavalid_1 (amm_readdatavalid_1), + .amm_early_ready_0 (amm_early_ready_0), + .amm_early_ready_1 (amm_early_ready_1), + .amm_rd_type_0 (amm_rd_type_0), + .amm_rd_type_1 (amm_rd_type_1), + .phylite_strobe (phylite_strobe), + .phylite_strobe_oe (phylite_strobe_oe), + .phylite_data_oe (phylite_data_oe), + .phylite_data_from_core (phylite_data_from_core), + .phylite_data_to_core (phylite_data_to_core), + .phylite_rdata_valid (phylite_rdata_valid), + .phylite_interface_locked (phylite_interface_locked), + .phylite_rdata_en (phylite_rdata_en), + .ctrl_user_priority_hi_0 (ctrl_user_priority_hi_0), + .ctrl_user_priority_hi_1 (ctrl_user_priority_hi_1), + .ctrl_auto_precharge_req_0 (ctrl_auto_precharge_req_0), + .ctrl_auto_precharge_req_1 (ctrl_auto_precharge_req_1), + .ctrl_user_refresh_req (ctrl_user_refresh_req), + .ctrl_user_refresh_bank (ctrl_user_refresh_bank), + .ctrl_user_refresh_ack (ctrl_user_refresh_ack), + .ctrl_self_refresh_req (ctrl_self_refresh_req), + .ctrl_self_refresh_ack (ctrl_self_refresh_ack), + .ctrl_will_refresh (ctrl_will_refresh), + .ctrl_deep_power_down_req (ctrl_deep_power_down_req), + .ctrl_deep_power_down_ack (ctrl_deep_power_down_ack), + .ctrl_power_down_ack (ctrl_power_down_ack), + .ctrl_zq_cal_long_req (ctrl_zq_cal_long_req), + .ctrl_zq_cal_short_req (ctrl_zq_cal_short_req), + .ctrl_zq_cal_ack (ctrl_zq_cal_ack), + .ctrl_ecc_write_info_0 (ctrl_ecc_write_info_0), + .ctrl_ecc_rdata_id_0 (ctrl_ecc_rdata_id_0), + .ctrl_ecc_read_info_0 (ctrl_ecc_read_info_0), + .ctrl_ecc_cmd_info_0 (ctrl_ecc_cmd_info_0), + .ctrl_ecc_idle_0 (ctrl_ecc_idle_0), + .ctrl_ecc_wr_pointer_info_0 (ctrl_ecc_wr_pointer_info_0), + .ctrl_ecc_write_info_1 (ctrl_ecc_write_info_1), + .ctrl_ecc_rdata_id_1 (ctrl_ecc_rdata_id_1), + .ctrl_ecc_read_info_1 (ctrl_ecc_read_info_1), + .ctrl_ecc_cmd_info_1 (ctrl_ecc_cmd_info_1), + .ctrl_ecc_idle_1 (ctrl_ecc_idle_1), + .ctrl_ecc_wr_pointer_info_1 (ctrl_ecc_wr_pointer_info_1), + .mmr_slave_waitrequest_0 (mmr_slave_waitrequest_0), + .mmr_slave_read_0 (mmr_slave_read_0), + .mmr_slave_write_0 (mmr_slave_write_0), + .mmr_slave_address_0 (mmr_slave_address_0), + .mmr_slave_readdata_0 (mmr_slave_readdata_0), + .mmr_slave_writedata_0 (mmr_slave_writedata_0), + .mmr_slave_burstcount_0 (mmr_slave_burstcount_0), + .mmr_slave_beginbursttransfer_0 (mmr_slave_beginbursttransfer_0), + .mmr_slave_readdatavalid_0 (mmr_slave_readdatavalid_0), + .mmr_slave_waitrequest_1 (mmr_slave_waitrequest_1), + .mmr_slave_read_1 (mmr_slave_read_1), + .mmr_slave_write_1 (mmr_slave_write_1), + .mmr_slave_address_1 (mmr_slave_address_1), + .mmr_slave_readdata_1 (mmr_slave_readdata_1), + .mmr_slave_writedata_1 (mmr_slave_writedata_1), + .mmr_slave_burstcount_1 (mmr_slave_burstcount_1), + .mmr_slave_beginbursttransfer_1 (mmr_slave_beginbursttransfer_1), + .mmr_slave_readdatavalid_1 (mmr_slave_readdatavalid_1), + .hps_to_emif (hps_to_emif), + .emif_to_hps (emif_to_hps), + .hps_to_emif_gp (hps_to_emif_gp), + .emif_to_hps_gp (emif_to_hps_gp), + .pa_dprio_clk (pa_dprio_clk), + .pa_dprio_read (pa_dprio_read), + .pa_dprio_reg_addr (pa_dprio_reg_addr), + .pa_dprio_rst_n (pa_dprio_rst_n), + .pa_dprio_write (pa_dprio_write), + .pa_dprio_writedata (pa_dprio_writedata), + .pa_dprio_block_select (pa_dprio_block_select), + .pa_dprio_readdata (pa_dprio_readdata), + .pll_phase_en (pll_phase_en), + .pll_up_dn (pll_up_dn), + .pll_cnt_sel (pll_cnt_sel), + .pll_num_phase_shifts (pll_num_phase_shifts), + .pll_phase_done (pll_phase_done), + .pll_core_refclk (pll_core_refclk), + .dft_core_clk_buf_out (dft_core_clk_buf_out), + .dft_core_clk_locked (dft_core_clk_locked), + .calbus_read (calbus_read), + .calbus_write (calbus_write), + .calbus_address (calbus_address), + .calbus_wdata (calbus_wdata), + .calbus_rdata (calbus_rdata), + .calbus_seq_param_tbl (calbus_seq_param_tbl), + .calbus_clk (calbus_clk) + ); +endmodule diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.dat b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.dat new file mode 100644 index 0000000000..07691f07c1 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.dat @@ -0,0 +1,438 @@ +********************************************************************* +* +* THIS IS AN AUTO-GENERATED FILE! +* ------------------------------- +* If you modify this files, all your changes will be lost if you +* regenerate the core! +* +* FILE DESCRIPTION +* ---------------- +* This file specifies the properties of the memory device and +* of the memory interface + + +* Auto-generated contents start below... +.param emif_corename=str('ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy') + +.param PROTOCOL = str('DDR4') +.param NUM_RANKS = 1 +.param SLEW_RATE_DRAM = 4.0 +.param SLEW_RATE_DRAM_CLOCK = 4.0 +.param VIN_Ms = 0.13 +.param VIN_Mh = 0.065 +.param SLEW_RATE_PHY = 2.0 +.param SLEW_RATE_PHY_CLOCK = 2.0 +.param SLEW_RATE_CA = 2.0 +.param SLEW_RATE_CLOCK = 4.0 +.param UI = 0.833 +.param tCK = 0.75 +.param tDQSQ = 0.052500000000000005 +.param tQH = 0.43 +.param tDS = 0.04166666666666667 +.param tDH = 0.04166666666666667 +.param tIS = 0.062 +.param tIH = 0.087 +.param tDQSCK = 0.175 +.param tDQSS = 0.27 +.param tWLS = 0.108 +.param tWLH = 0.108 +.param tDSS = 0.04166666666666667 +.param tDSH = 0.04166666666666667 +.param BD_PKG_SKEW = 0.02 +.param CA_BD_PKG_SKEW = 0.18 +.param CA_TO_CK_BD_PKG_SKEW = 0.0 +.param DQS_BOARD_SKEW = 0.02 +.param DQS_TO_CK_BOARD_SKEW = 0.02 +.param RD_ISI = 0.12 +.param WR_ISI = 0.13 +.param CA_ISI = 0.15 +.param DQSG_ISI = 0.15 +.param WL_ISI = 0.06 +.param X4 = 0 +.param RDBI = 1 +.param WDBI = 0 +.param MEM_VCC = 1.2 +.param MEM_AC_FREQ_PS = 833.3333333333334 +.param MEM_DQ_FREQ_PS = 833.3333333333334 +.param MEMCLK_IBIS = str('dsstl12_io_s2r40c_doff') +.param MEMCLK_COMP_IBIS = str('CLKIN') +.param MEMCLK_DIFF_SE = str('true') +.param MEMCLK_PHASE = 90 +.param MEMAC_IBIS = str('sstl12_io_s2r40c_doff') +.param MEMAC_COMP_IBIS = str('INPUT') +.param MEMAC_RANKS = 1 +.param MEMAC_COMPS_PER_RANK = 8 +.param MEM_DQ_RANKS = 1 +.param FPGA_DQ_WR_IBIS = str('pod12_io_s2r40c_dh') +.param FPGA_DBI_WR_IBIS = str('pod12_io_s2r40c_dh') +.param FPGA_DQS_WR_IBIS = str('dpod12_io_s2r40c_dh') +.param FPGA_DQS_WR_PHASE = 90 +.param WR_MEM_T0_R0_DQ_IBIS = str('DQ_IN_ODT60_3200') +.param WR_MEM_T0_R1_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R2_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R3_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R0_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R1_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R2_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R3_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R0_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R1_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R2_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R3_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R0_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R1_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R2_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R3_DQ_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R0_DQS_IBIS = str('DQS_IN_ODT60_3200') +.param WR_MEM_T0_R1_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R2_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R3_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R0_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R1_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R2_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R3_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R0_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R1_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R2_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R3_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R0_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R1_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R2_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R3_DQS_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R0_DBI_IBIS = str('DM_ODT60_3200') +.param WR_MEM_T0_R1_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R2_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T0_R3_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R0_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R1_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R2_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T1_R3_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R0_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R1_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R2_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T2_R3_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R0_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R1_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R2_DBI_IBIS = str('NF_INPUT') +.param WR_MEM_T3_R3_DBI_IBIS = str('NF_INPUT') +.param FPGA_DQ_RD_IBIS = str('pod12_in_g60c') +.param FPGA_DBI_RD_IBIS = str('pod12_in_g60c') +.param FPGA_DQS_RD_IBIS = str('dpod12_in_g60c') +.param FPGA_DQS_RD_PHASE = 0 +.param RD_MEM_T0_R0_DQ_IBIS = str('DQ_34_3200') +.param RD_MEM_T0_R1_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R2_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R3_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R0_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R1_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R2_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R3_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R0_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R1_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R2_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R3_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R0_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R1_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R2_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R3_DQ_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R0_DQS_IBIS = str('DQS_34_3200') +.param RD_MEM_T0_R1_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R2_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R3_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R0_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R1_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R2_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R3_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R0_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R1_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R2_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R3_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R0_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R1_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R2_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R3_DQS_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R0_DBI_IBIS = str('DQ_34_3200') +.param RD_MEM_T0_R1_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R2_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T0_R3_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R0_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R1_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R2_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T1_R3_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R0_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R1_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R2_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T2_R3_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R0_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R1_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R2_DBI_IBIS = str('NF_INPUT') +.param RD_MEM_T3_R3_DBI_IBIS = str('NF_INPUT') +.param AC_MASK_P1X = 0.16899999999999998 +.param AC_MASK_P1Y = 0.51 +.param AC_MASK_P2X = 0.16899999999999998 +.param AC_MASK_P2Y = 0.6 +.param AC_MASK_P3X = 0.16899999999999998 +.param AC_MASK_P3Y = 0.69 +.param AC_MASK_P4X = 0.831 +.param AC_MASK_P4Y = 0.69 +.param AC_MASK_P5X = 0.831 +.param AC_MASK_P5Y = 0.6 +.param AC_MASK_P6X = 0.831 +.param AC_MASK_P6Y = 0.51 +.param DQ_WR_MASK_P1X = 0.1795 +.param DQ_WR_MASK_P1Y = 0.775 +.param DQ_WR_MASK_P2X = 0.1795 +.param DQ_WR_MASK_P2Y = 0.875 +.param DQ_WR_MASK_P3X = 0.1795 +.param DQ_WR_MASK_P3Y = 0.975 +.param DQ_WR_MASK_P4X = 0.8205 +.param DQ_WR_MASK_P4Y = 0.975 +.param DQ_WR_MASK_P5X = 0.8205 +.param DQ_WR_MASK_P5Y = 0.875 +.param DQ_WR_MASK_P6X = 0.8205 +.param DQ_WR_MASK_P6Y = 0.775 +.param DQ_RD_MASK_P1X = 0.19199999999999995 +.param DQ_RD_MASK_P1Y = 0.885 +.param DQ_RD_MASK_P2X = 0.19199999999999995 +.param DQ_RD_MASK_P2Y = 0.985 +.param DQ_RD_MASK_P3X = 0.19199999999999995 +.param DQ_RD_MASK_P3Y = 1.085 +.param DQ_RD_MASK_P4X = 0.808 +.param DQ_RD_MASK_P4Y = 1.085 +.param DQ_RD_MASK_P5X = 0.808 +.param DQ_RD_MASK_P5Y = 0.985 +.param DQ_RD_MASK_P6X = 0.808 +.param DQ_RD_MASK_P6Y = 0.885 +.param AC_F_P0_BUFTYPE = 0 +.param AC_F_P0_DATATYPE = 0 +.param AC_F_P0_DATAPHASE = 0 +.param AC_F_P0_IBISTYPE = 4 +.param AC_F_P1_BUFTYPE = 0 +.param AC_F_P1_DATATYPE = 0 +.param AC_F_P1_DATAPHASE = 0 +.param AC_F_P1_IBISTYPE = 4 +.param AC_F_P2_BUFTYPE = 0 +.param AC_F_P2_DATATYPE = 0 +.param AC_F_P2_DATAPHASE = 0 +.param AC_F_P2_IBISTYPE = 4 +.param AC_F_P3_BUFTYPE = 0 +.param AC_F_P3_DATATYPE = 0 +.param AC_F_P3_DATAPHASE = 0 +.param AC_F_P3_IBISTYPE = 4 +.param AC_F_P4_BUFTYPE = 0 +.param AC_F_P4_DATATYPE = 0 +.param AC_F_P4_DATAPHASE = 0 +.param AC_F_P4_IBISTYPE = 4 +.param AC_F_P5_BUFTYPE = 0 +.param AC_F_P5_DATATYPE = 2 +.param AC_F_P5_DATAPHASE = 0 +.param AC_F_P5_IBISTYPE = 4 +.param AC_F_P6_BUFTYPE = 0 +.param AC_F_P6_DATATYPE = 0 +.param AC_F_P6_DATAPHASE = 0 +.param AC_F_P6_IBISTYPE = 4 +.param AC_F_P7_BUFTYPE = 0 +.param AC_F_P7_DATATYPE = 0 +.param AC_F_P7_DATAPHASE = 0 +.param AC_F_P7_IBISTYPE = 4 +.param AC_F_P8_BUFTYPE = 1 +.param AC_F_P8_DATATYPE = 4 +.param AC_F_P8_DATAPHASE = 270 +.param AC_F_P8_IBISTYPE = 4 +.param AC_F_P9_BUFTYPE = 1 +.param AC_F_P9_DATATYPE = 4 +.param AC_F_P9_DATAPHASE = 90 +.param AC_F_P9_IBISTYPE = 4 +.param AC_F_P10_BUFTYPE = 0 +.param AC_F_P10_DATATYPE = 0 +.param AC_F_P10_DATAPHASE = 0 +.param AC_F_P10_IBISTYPE = 4 +.param AC_F_P11_BUFTYPE = 0 +.param AC_F_P11_DATATYPE = 0 +.param AC_F_P11_DATAPHASE = 0 +.param AC_F_P11_IBISTYPE = 4 +.param AC_M_P0_BUFTYPE = 0 +.param AC_M_P0_IBISTYPE = 1 +.param AC_M_P1_BUFTYPE = 0 +.param AC_M_P1_IBISTYPE = 1 +.param AC_M_P2_BUFTYPE = 0 +.param AC_M_P2_IBISTYPE = 1 +.param AC_M_P3_BUFTYPE = 0 +.param AC_M_P3_IBISTYPE = 1 +.param AC_M_P4_BUFTYPE = 0 +.param AC_M_P4_IBISTYPE = 1 +.param AC_M_P5_BUFTYPE = 0 +.param AC_M_P5_IBISTYPE = 1 +.param AC_M_P6_BUFTYPE = 0 +.param AC_M_P6_IBISTYPE = 1 +.param AC_M_P7_BUFTYPE = 0 +.param AC_M_P7_IBISTYPE = 1 +.param AC_M_P8_BUFTYPE = 1 +.param AC_M_P8_IBISTYPE = 1 +.param AC_M_P9_BUFTYPE = 1 +.param AC_M_P9_IBISTYPE = 1 +.param AC_M_P10_BUFTYPE = 0 +.param AC_M_P10_IBISTYPE = 1 +.param AC_M_P11_BUFTYPE = 0 +.param AC_M_P11_IBISTYPE = 1 +.param DQ_WR_F_P0_BUFTYPE = 0 +.param DQ_WR_F_P0_DATATYPE = 1 +.param DQ_WR_F_P0_DATAPHASE = 0 +.param DQ_WR_F_P0_IBISTYPE = 4 +.param DQ_WR_F_P1_BUFTYPE = 0 +.param DQ_WR_F_P1_DATATYPE = 1 +.param DQ_WR_F_P1_DATAPHASE = 0 +.param DQ_WR_F_P1_IBISTYPE = 4 +.param DQ_WR_F_P2_BUFTYPE = 0 +.param DQ_WR_F_P2_DATATYPE = 3 +.param DQ_WR_F_P2_DATAPHASE = 0 +.param DQ_WR_F_P2_IBISTYPE = 4 +.param DQ_WR_F_P3_BUFTYPE = 0 +.param DQ_WR_F_P3_DATATYPE = 1 +.param DQ_WR_F_P3_DATAPHASE = 0 +.param DQ_WR_F_P3_IBISTYPE = 4 +.param DQ_WR_F_P4_BUFTYPE = 1 +.param DQ_WR_F_P4_DATATYPE = 4 +.param DQ_WR_F_P4_DATAPHASE = 270 +.param DQ_WR_F_P4_IBISTYPE = 4 +.param DQ_WR_F_P5_BUFTYPE = 1 +.param DQ_WR_F_P5_DATATYPE = 4 +.param DQ_WR_F_P5_DATAPHASE = 90 +.param DQ_WR_F_P5_IBISTYPE = 4 +.param DQ_WR_F_P6_BUFTYPE = 0 +.param DQ_WR_F_P6_DATATYPE = 1 +.param DQ_WR_F_P6_DATAPHASE = 0 +.param DQ_WR_F_P6_IBISTYPE = 4 +.param DQ_WR_F_P7_BUFTYPE = 0 +.param DQ_WR_F_P7_DATATYPE = 5 +.param DQ_WR_F_P7_DATAPHASE = 0 +.param DQ_WR_F_P7_IBISTYPE = 4 +.param DQ_WR_F_P8_BUFTYPE = 0 +.param DQ_WR_F_P8_DATATYPE = 1 +.param DQ_WR_F_P8_DATAPHASE = 0 +.param DQ_WR_F_P8_IBISTYPE = 4 +.param DQ_WR_F_P9_BUFTYPE = 0 +.param DQ_WR_F_P9_DATATYPE = 1 +.param DQ_WR_F_P9_DATAPHASE = 0 +.param DQ_WR_F_P9_IBISTYPE = 4 +.param DQ_WR_F_P10_BUFTYPE = 0 +.param DQ_WR_F_P10_DATATYPE = 1 +.param DQ_WR_F_P10_DATAPHASE = 0 +.param DQ_WR_F_P10_IBISTYPE = 4 +.param DQ_WR_F_P11_BUFTYPE = 0 +.param DQ_WR_F_P11_DATATYPE = 1 +.param DQ_WR_F_P11_DATAPHASE = 0 +.param DQ_WR_F_P11_IBISTYPE = 4 +.param DQ_WR_M_P0_BUFTYPE = 0 +.param DQ_WR_M_P0_IBISTYPE = 1 +.param DQ_WR_M_P1_BUFTYPE = 0 +.param DQ_WR_M_P1_IBISTYPE = 1 +.param DQ_WR_M_P2_BUFTYPE = 0 +.param DQ_WR_M_P2_IBISTYPE = 1 +.param DQ_WR_M_P3_BUFTYPE = 0 +.param DQ_WR_M_P3_IBISTYPE = 1 +.param DQ_WR_M_P4_BUFTYPE = 1 +.param DQ_WR_M_P4_IBISTYPE = 1 +.param DQ_WR_M_P5_BUFTYPE = 1 +.param DQ_WR_M_P5_IBISTYPE = 1 +.param DQ_WR_M_P6_BUFTYPE = 2 +.param DQ_WR_M_P6_IBISTYPE = 1 +.param DQ_WR_M_P7_BUFTYPE = 999 +.param DQ_WR_M_P7_IBISTYPE = 1 +.param DQ_WR_M_P8_BUFTYPE = 0 +.param DQ_WR_M_P8_IBISTYPE = 1 +.param DQ_WR_M_P9_BUFTYPE = 0 +.param DQ_WR_M_P9_IBISTYPE = 1 +.param DQ_WR_M_P10_BUFTYPE = 0 +.param DQ_WR_M_P10_IBISTYPE = 1 +.param DQ_WR_M_P11_BUFTYPE = 0 +.param DQ_WR_M_P11_IBISTYPE = 1 +.param DQ_RD_M_P0_BUFTYPE = 0 +.param DQ_RD_M_P0_DATATYPE = 1 +.param DQ_RD_M_P0_DATAPHASE = 0 +.param DQ_RD_M_P0_IBISTYPE = 3 +.param DQ_RD_M_P1_BUFTYPE = 0 +.param DQ_RD_M_P1_DATATYPE = 1 +.param DQ_RD_M_P1_DATAPHASE = 0 +.param DQ_RD_M_P1_IBISTYPE = 3 +.param DQ_RD_M_P2_BUFTYPE = 0 +.param DQ_RD_M_P2_DATATYPE = 3 +.param DQ_RD_M_P2_DATAPHASE = 0 +.param DQ_RD_M_P2_IBISTYPE = 3 +.param DQ_RD_M_P3_BUFTYPE = 0 +.param DQ_RD_M_P3_DATATYPE = 1 +.param DQ_RD_M_P3_DATAPHASE = 0 +.param DQ_RD_M_P3_IBISTYPE = 3 +.param DQ_RD_M_P4_BUFTYPE = 1 +.param DQ_RD_M_P4_DATATYPE = 4 +.param DQ_RD_M_P4_DATAPHASE = 0 +.param DQ_RD_M_P4_IBISTYPE = 3 +.param DQ_RD_M_P5_BUFTYPE = 1 +.param DQ_RD_M_P5_DATATYPE = 4 +.param DQ_RD_M_P5_DATAPHASE = 180 +.param DQ_RD_M_P5_IBISTYPE = 3 +.param DQ_RD_M_P6_BUFTYPE = 999 +.param DQ_RD_M_P6_DATATYPE = 5 +.param DQ_RD_M_P6_DATAPHASE = 0 +.param DQ_RD_M_P6_IBISTYPE = 3 +.param DQ_RD_M_P7_BUFTYPE = 999 +.param DQ_RD_M_P7_DATATYPE = 5 +.param DQ_RD_M_P7_DATAPHASE = 0 +.param DQ_RD_M_P7_IBISTYPE = 3 +.param DQ_RD_M_P8_BUFTYPE = 0 +.param DQ_RD_M_P8_DATATYPE = 1 +.param DQ_RD_M_P8_DATAPHASE = 0 +.param DQ_RD_M_P8_IBISTYPE = 3 +.param DQ_RD_M_P9_BUFTYPE = 0 +.param DQ_RD_M_P9_DATATYPE = 1 +.param DQ_RD_M_P9_DATAPHASE = 0 +.param DQ_RD_M_P9_IBISTYPE = 3 +.param DQ_RD_M_P10_BUFTYPE = 0 +.param DQ_RD_M_P10_DATATYPE = 1 +.param DQ_RD_M_P10_DATAPHASE = 0 +.param DQ_RD_M_P10_IBISTYPE = 3 +.param DQ_RD_M_P11_BUFTYPE = 0 +.param DQ_RD_M_P11_DATATYPE = 1 +.param DQ_RD_M_P11_DATAPHASE = 0 +.param DQ_RD_M_P11_IBISTYPE = 3 +.param DQ_RD_F_P0_BUFTYPE = 0 +.param DQ_RD_F_P0_IBISTYPE = 1 +.param DQ_RD_F_P1_BUFTYPE = 0 +.param DQ_RD_F_P1_IBISTYPE = 1 +.param DQ_RD_F_P2_BUFTYPE = 0 +.param DQ_RD_F_P2_IBISTYPE = 1 +.param DQ_RD_F_P3_BUFTYPE = 0 +.param DQ_RD_F_P3_IBISTYPE = 1 +.param DQ_RD_F_P4_BUFTYPE = 1 +.param DQ_RD_F_P4_IBISTYPE = 1 +.param DQ_RD_F_P5_BUFTYPE = 1 +.param DQ_RD_F_P5_IBISTYPE = 1 +.param DQ_RD_F_P6_BUFTYPE = 999 +.param DQ_RD_F_P6_IBISTYPE = 1 +.param DQ_RD_F_P7_BUFTYPE = 999 +.param DQ_RD_F_P7_IBISTYPE = 1 +.param DQ_RD_F_P8_BUFTYPE = 0 +.param DQ_RD_F_P8_IBISTYPE = 1 +.param DQ_RD_F_P9_BUFTYPE = 0 +.param DQ_RD_F_P9_IBISTYPE = 1 +.param DQ_RD_F_P10_BUFTYPE = 0 +.param DQ_RD_F_P10_IBISTYPE = 1 +.param DQ_RD_F_P11_BUFTYPE = 0 +.param DQ_RD_F_P11_IBISTYPE = 1 +.param IBIS_MODEL_DIRECTORY = str('""') +.param FPGA_IBIS_MODEL_FILE = str('""') +.param MEM_IBIS_MODEL_FILE = str('""') +.param USE_AC_PCB_EXTRACTION = 0 +.param AC_PCB_EXTRACTION_FILE = str('"null"') +.param USE_DQ_PCB_EXTRACTION = 0 +.param DQ_PCB_EXTRACTION_FILE = str('"null"') +.param USE_AC_MULTIRANK_CONNECTOR_EXTRACTION = 0 +.param AC_MULTIRANK_CONNECTOR_EXTRACTION_FILE = str('"null"') +.param USE_DQ_MULTIRANK_CONNECTOR_EXTRACTION = 0 +.param DQ_MULTIRANK_CONNECTOR_EXTRACTION_FILE = str('"null"') +.param USE_AC_FLYBY_EXTRACTION = 0 +.param AC_FLYBY_EXTRACTION_FILE = str('"null"') + +.param MEM_FORMAT_ENUM = str('MEM_FORMAT_RDIMM') +.param MEM_DATA_MASK_EN = str('true') + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl new file mode 100644 index 0000000000..bb83e85ae1 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl @@ -0,0 +1,375 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +##################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file specifies the timing properties of the memory device and +# of the memory interface + +package require ::quartus::clock_uncertainty + + +set ::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy + +set var(PROTOCOL) DDR4 +set var(NUM_RANKS) 1 +set var(SLEW_RATE_DRAM) 4.0 +set var(SLEW_RATE_DRAM_CLOCK) 8.0 +set var(VIN_Ms) 0.13 +set var(VIN_Mh) 0.065 +set var(SLEW_RATE_PHY) 2.0 +set var(SLEW_RATE_PHY_CLOCK) 4.0 +set var(SLEW_RATE_CA) 2.0 +set var(SLEW_RATE_CLOCK) 4.0 +set var(UI) 0.833 +set var(tCK) 0.75 +set var(tDQSQ) 0.052500000000000005 +set var(tQH) 0.43 +set var(tDS) 0.04166666666666667 +set var(tDH) 0.04166666666666667 +set var(tIS) 0.062 +set var(tIH) 0.087 +set var(tDQSCK) 0.175 +set var(tDQSS) 0.27 +set var(tWLS) 0.108 +set var(tWLH) 0.108 +set var(tDSS) 0.18 +set var(tDSH) 0.18 +set var(BD_PKG_SKEW) 0.02 +set var(CA_BD_PKG_SKEW) 0.18 +set var(CA_TO_CK_BD_PKG_SKEW) 0.0 +set var(DQS_BOARD_SKEW) 0.02 +set var(DQS_TO_CK_BOARD_SKEW) 0.02 +set var(RD_ISI) 0.12 +set var(WR_ISI) 0.13 +set var(CA_ISI) 0.15 +set var(DQSG_ISI) 0.15 +set var(WL_ISI) 0.06 +set var(X4) 0 +set var(IS_DLL_ON) 1 +set var(OCT_RECAL) 1 +set var(RDBI) 1 +set var(WDBI) 1 +set var(CUT_C2P_P2C_PATHS) 0 +set var(CA_DESKEW) 1 + +set var(PHY_TARGET_SPEEDGRADE) E2V +set var(PHY_TARGET_IS_ES) false +set var(PHY_TARGET_IS_ES2) false +set var(PHY_TARGET_IS_ES3) true +set var(PHY_TARGET_IS_PRODUCTION) false +set var(PHY_CORE_CLKS_SHARING_ENUM) CORE_CLKS_SHARING_DISABLED +set var(PHY_CONFIG_ENUM) CONFIG_PHY_AND_HARD_CTRL +set var(PHY_PING_PONG_EN) false +set var(IS_HPS) false +set var(PHY_MEM_CLK_FREQ_MHZ) 1200.0 +set var(PHY_REF_CLK_FREQ_MHZ) 33.333 +set var(PHY_REF_CLK_JITTER_PS) 10.0 +set var(PLL_REF_CLK_FREQ_PS_STR) "30024 ps" +set var(PLL_VCO_FREQ_PS_STR) "834 ps" +set var(PLL_VCO_TO_MEM_CLK_FREQ_RATIO) 1 +set var(PLL_PHY_CLK_VCO_PHASE) 0 +set var(USER_CLK_RATIO) 4 +set var(C2P_P2C_CLK_RATIO) 4 +set var(PHY_HMC_CLK_RATIO) 2 +set var(MEM_FORMAT_ENUM) MEM_FORMAT_RDIMM +set var(MEM_DATA_MASK_EN) true +set var(DIAG_TIMING_REGTEST_MODE) false +set var(DIAG_CPA_OUT_1_EN) false +set var(DIAG_USE_CPA_LOCK) true +set var(PHY_USERMODE_OCT) false +set var(AMM_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(AMM_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(MMR_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(MMR_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(SIDEBAND_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(SIDEBAND_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(SEQ_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(SEQ_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(ECC_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(ECC_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(LANE_C2P_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(LANE_P2C_UFI_MODE) pin_ufi_use_in_direct_out_direct +set var(PLL_NUM_OF_EXTRA_CLKS) 0 +set var(PLL_C_CNT_LOW_3) 1 +set var(PLL_C_CNT_HIGH_3) 1 +set var(PLL_C_CNT_BYPASS_EN_3) false +set var(PLL_C_CNT_PHASE_PS_STR_3) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_3) 50 +set var(PLL_C_CNT_LOW_4) 2 +set var(PLL_C_CNT_HIGH_4) 2 +set var(PLL_C_CNT_BYPASS_EN_4) false +set var(PLL_C_CNT_PHASE_PS_STR_4) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_4) 50 +set var(PLL_C_CNT_LOW_5) 256 +set var(PLL_C_CNT_HIGH_5) 256 +set var(PLL_C_CNT_BYPASS_EN_5) true +set var(PLL_C_CNT_PHASE_PS_STR_5) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_5) 50 +set var(PLL_C_CNT_LOW_6) 256 +set var(PLL_C_CNT_HIGH_6) 256 +set var(PLL_C_CNT_BYPASS_EN_6) true +set var(PLL_C_CNT_PHASE_PS_STR_6) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_6) 50 +set var(PLL_C_CNT_LOW_7) 256 +set var(PLL_C_CNT_HIGH_7) 256 +set var(PLL_C_CNT_BYPASS_EN_7) true +set var(PLL_C_CNT_PHASE_PS_STR_7) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_7) 50 +set var(PLL_C_CNT_LOW_8) 256 +set var(PLL_C_CNT_HIGH_8) 256 +set var(PLL_C_CNT_BYPASS_EN_8) true +set var(PLL_C_CNT_PHASE_PS_STR_8) "0 ps" +set var(PLL_C_CNT_DUTY_CYCLE_8) 50 + +set var(C2P_SETUP_OC_NS) 0.000 +set var(C2P_HOLD_OC_NS) 0.000 +set var(P2C_SETUP_OC_NS) 0.000 +set var(P2C_HOLD_OC_NS) 0.000 +set var(C2C_SAME_CLK_SETUP_OC_NS) 0.000 +set var(C2C_SAME_CLK_HOLD_OC_NS) 0.000 +set var(C2C_DIFF_CLK_SETUP_OC_NS) 0.000 +set var(C2C_DIFF_CLK_HOLD_OC_NS) 0.000 +set var(C2C_TG_FALSE_PATH) false +set var(C2P_P2C_PR) false + +set var(PATTERNS_AC_CLK) [list arch|arch_inst|bufs_inst|gen_mem_ck.inst[0].b|cal_oct.obuf|o] +set var(PATTERNS_AC_CLK_N) [list arch|arch_inst|bufs_inst|gen_mem_ck.inst[0].b|cal_oct.obuf_bar|o] +set var(PATTERNS_AC_SYNC) [list arch|arch_inst|bufs_inst|gen_mem_a.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[8].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[9].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[10].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[11].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[12].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[13].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[14].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[15].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_a.inst[16].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_act_n.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_ba.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_ba.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_bg.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_bg.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_cke.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_cs_n.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_odt.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_par.inst[0].b|cal_oct.obuf|o] +set var(PATTERNS_AC_ASYNC) [list arch|arch_inst|bufs_inst|gen_mem_reset_n.inst[0].b|no_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_alert_n.inst[0].b|no_oct.ibuf|i] +set var(PATTERNS_RCLK) [list arch|arch_inst|bufs_inst|gen_mem_dqs.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[8].b|cal_oct.obuf|o] +set var(PATTERNS_RCLK_N) [list arch|arch_inst|bufs_inst|gen_mem_dqs.inst[0].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[1].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[2].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[3].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[4].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[5].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[6].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[7].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[8].b|cal_oct.obuf_bar|o] +set var(PATTERNS_WCLK) [list arch|arch_inst|bufs_inst|gen_mem_dqs.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[8].b|cal_oct.obuf|o] +set var(PATTERNS_WCLK_N) [list arch|arch_inst|bufs_inst|gen_mem_dqs.inst[0].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[1].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[2].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[3].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[4].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[5].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[6].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[7].b|cal_oct.obuf_bar|o \ + arch|arch_inst|bufs_inst|gen_mem_dqs.inst[8].b|cal_oct.obuf_bar|o] +set var(PATTERNS_RDATA) [list arch|arch_inst|bufs_inst|gen_mem_dq.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[8].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[9].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[10].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[11].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[12].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[13].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[14].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[15].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[16].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[17].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[18].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[19].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[20].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[21].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[22].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[23].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[24].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[25].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[26].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[27].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[28].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[29].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[30].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[31].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[32].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[33].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[34].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[35].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[36].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[37].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[38].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[39].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[40].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[41].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[42].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[43].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[44].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[45].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[46].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[47].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[48].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[49].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[50].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[51].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[52].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[53].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[54].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[55].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[56].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[57].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[58].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[59].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[60].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[61].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[62].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[63].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[64].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[65].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[66].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[67].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[68].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[69].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[70].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[71].b|cal_oct.obuf|o] +set var(PATTERNS_WDATA) [list arch|arch_inst|bufs_inst|gen_mem_dq.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[8].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[9].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[10].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[11].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[12].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[13].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[14].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[15].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[16].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[17].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[18].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[19].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[20].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[21].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[22].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[23].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[24].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[25].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[26].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[27].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[28].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[29].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[30].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[31].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[32].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[33].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[34].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[35].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[36].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[37].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[38].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[39].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[40].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[41].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[42].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[43].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[44].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[45].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[46].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[47].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[48].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[49].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[50].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[51].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[52].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[53].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[54].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[55].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[56].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[57].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[58].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[59].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[60].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[61].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[62].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[63].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[64].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[65].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[66].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[67].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[68].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[69].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[70].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dq.inst[71].b|cal_oct.obuf|o] +set var(PATTERNS_DM) [list ] +set var(PATTERNS_DBI) [list arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[0].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[1].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[2].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[3].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[4].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[5].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[6].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[7].b|cal_oct.obuf|o \ + arch|arch_inst|bufs_inst|gen_mem_dbi_n.inst[8].b|cal_oct.obuf|o] +set var(PATTERNS_ALERT_N) [list arch|arch_inst|bufs_inst|gen_mem_alert_n.inst[0].b|no_oct.ibuf|i] + +initialize_clock_uncertainty_data diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl new file mode 100644 index 0000000000..334b6b9459 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl @@ -0,0 +1,28 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +##################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file specifies the timing properties of the memory device and +# of the memory interface +# Note - this file is no longer used and will be blank + + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl new file mode 100644 index 0000000000..878740f6f2 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl @@ -0,0 +1,861 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +set script_dir [file dirname [info script]] +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl" + +load_package sdc_ext + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_ddr_pins { instname allpins var_array_name} { + # We need to make a local copy of the allpins associative array + upvar allpins pins + upvar 1 $var_array_name var + set debug 0 + + set var(pll_inclock_search_depth) 30 + set var(pll_outclock_search_depth) 20 + set var(pll_vcoclock_search_depth) 5 + + # ######################################## + # 1.0 find all of the PLL output clocks + + + set pll_c0_periph_clock_pin_name "lvds_clk\[0\]" + set pll_c1_periph_clock_pin_name "loaden\[0\]" + set vco_clock_pin_name "vcoph\[0\]" + + # C0 output in the periphery + set pins(pll_c0_periph_clock) [list] + set pins(pll_c0_periph_clock_pin_id) [get_pins -nowarn [list ${instname}|arch|arch_inst|pll_inst|pll_inst*|$pll_c0_periph_clock_pin_name]] + + foreach_in_collection c $pins(pll_c0_periph_clock_pin_id) { + set pin_info [get_pin_info -net $c] + set net_name [get_net_info -name $pin_info] + + if {$debug} { + puts "PLL pin -> PLL Net: [get_node_info -name $c] -> $net_name" + } + lappend pins(pll_c0_periph_clock) [regsub -all {\\} $net_name {\\\\}] + } + set pins(pll_c0_periph_clock) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_duplicate_names $pins(pll_c0_periph_clock)] + + # C1 output in the periphery + set pins(pll_c1_periph_clock) [list] + set pins(pll_c1_periph_clock_pin_id) [get_pins -nowarn [list ${instname}|arch|arch_inst|pll_inst|pll_inst*|$pll_c1_periph_clock_pin_name]] + + foreach_in_collection c $pins(pll_c1_periph_clock_pin_id) { + set pin_info [get_pin_info -net $c] + set net_name [get_net_info -name $pin_info] + + if {$debug} { + puts "PLL pin -> PLL Net: [get_node_info -name $c] -> $net_name" + } + + lappend pins(pll_c1_periph_clock) [regsub -all {\\} $net_name {\\\\}] + } + set pins(pll_c1_periph_clock) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_duplicate_names $pins(pll_c1_periph_clock)] + + # VCO clock (used for the system clock) + set pins(vco_clock) [list] + set pins(vco_clock_pin_id) [get_pins -nowarn [list ${instname}|arch|arch_inst|pll_inst|pll_inst*|$vco_clock_pin_name]] + + foreach_in_collection c $pins(vco_clock_pin_id) { + set pin_info [get_pin_info -net $c] + set net_name [get_net_info -name $pin_info] + + if {$debug} { + puts "PLL pin -> PLL Net: [get_node_info -name $c] -> $net_name" + } + + lappend pins(vco_clock) [regsub -all {\\} $net_name {\\\\}] + } + set pins(vco_clock) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_duplicate_names $pins(vco_clock)] + set pins(pll_vco_clock) $pins(vco_clock) + set pins(pll_phy_clock) $pins(pll_c1_periph_clock) + set pins(pll_phy_clock_l) $pins(pll_c0_periph_clock) + + if {$debug == 1} { + puts "VCO: $pins(pll_vco_clock)" + puts "PHY: $pins(pll_phy_clock)" + puts "PHY_L: $pins(pll_phy_clock_l)" + puts "" + } + + ######################################### + # 2.0 Find the actual master core clock + # As it could come from another interface + # In master/slave configurations + # + # Skip this if we're in HPS mode as core clocks don't exist + + set pins(master_vco_clock) "" + set pins(master_vco_clock_sec) "" + set pins(master_core_usr_clock) "" + set pins(master_core_usr_half_clock) "" + set pins(master_core_usr_clock_sec) "" + set pins(master_core_usr_half_clock_sec) "" + set pins(master_core_afi_clock) "" + set pins(master_core_dft_cpa_1_clock) "" + set pins(master_cal_master_clk) "" + set pins(master_cal_slave_clk) "" + + if {$var(IS_HPS)} { + set pins(master_instname) $instname + + } else { + set msg_list [ list ] + + set num_of_cpa_blocks [expr {$var(PHY_PING_PONG_EN) ? 2 : 1}] + + for {set cpa_idx 0} {$cpa_idx < $num_of_cpa_blocks} {incr cpa_idx} { + + if {$cpa_idx == 0} { + set sync_reset_reg ${instname}|arch|arch_inst|non_hps.core_clks_rsts_inst|reset_sync_pri_sdc_anchor + } else { + set sync_reset_reg ${instname}|arch|arch_inst|non_hps.core_clks_rsts_inst|pp.reset_sync_sec_sdc_anchor + } + + set core_reset_sync_clock "_UNDEFINED_PIN_" + set core_reset_sync_clock_id [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_output_clock_id $sync_reset_reg "Usr clock" msg_list var] + if {$core_reset_sync_clock_id == -1} { + foreach {msg_type msg} $msg_list { + post_message -type $msg_type "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: $msg" + } + post_message -type error "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: Failed to find clock source for register $sync_reset_reg" + + if {$var(PHY_CORE_CLKS_SHARING_ENUM) == "CORE_CLKS_SHARING_SLAVE"} { + post_message -type error "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: This is a clock sharing SLAVE interface. Please ensure that the clks_sharing_master_out port of the master is connected to the clks_sharing_master_in port of the slave(s)." + if {$cpa_idx > 0} { + post_message -type error "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: This clock sharing slave interface uses a Ping-Pong PHY and has extra clock/reset requirements. Please ensure that the master interface is also a ping-pong interface. A ping-pong interface can act as clock sharing master for both ping-pong and non-ping-pong interfaces." + } + } else { + post_message -type error "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: Please ensure that the register has not been removed or optimized away." + } + } else { + set core_reset_sync_clock [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_pll_clock_name $core_reset_sync_clock_id] + } + + if {[regexp {(^.*)\|arch\|arch_inst\|io_tiles_wrap_inst\|io_tiles_inst\|tile_gen\[([0-9])\].tile_ctrl_inst(.*)\|pa_core_clk_out\[[0-9]\]$} $core_reset_sync_clock matched pins(master_instname) tilegen_num tile_instnum] == 1} { + if {$var(PHY_CONFIG_ENUM) == "CONFIG_PHY_AND_HARD_CTRL"} { + if {$var(USER_CLK_RATIO) == 2 && $var(C2P_P2C_CLK_RATIO) == 4} { + if {$cpa_idx == 0} { + set pins(master_core_usr_clock) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[0\]" + set pins(master_core_usr_half_clock) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[1\]" + } else { + set pins(master_core_usr_clock_sec) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[0\]" + set pins(master_core_usr_half_clock_sec) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[1\]" + } + } else { + if {$cpa_idx == 0} { + set pins(master_core_usr_clock) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[0\]" + } else { + set pins(master_core_usr_clock_sec) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[0\]" + } + } + set pins(master_core_dft_cpa_1_clock) [expr {$var(DIAG_CPA_OUT_1_EN) ? "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[1\]" : ""}] + + } else { + set pins(master_core_afi_clock) "$pins(master_instname)|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen\[${tilegen_num}\].tile_ctrl_inst${tile_instnum}|pa_core_clk_out\[0\]" + } + + if { $::TimeQuestInfo(nameofexecutable) == "quartus_map" || $::TimeQuestInfo(nameofexecutable) == "quartus_syn"} { + set vco_clock_name "_UNDEFINED_PIN_" + } else { + set vco_clock_id [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_vco_clk_id $core_reset_sync_clock_id var] + set vco_clock_name [get_net_info -name [get_pin_info -net $vco_clock_id]] + } + if {$cpa_idx == 0} { + set pins(master_vco_clock) $vco_clock_name + } else { + set pins(master_vco_clock_sec) $vco_clock_name + } + + } else { + post_message -type error "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: Failed to find CPA outputs." + } + } + + if {!$var(DIAG_USE_CPA_LOCK)} { + set pins(counter_lock_reg) $pins(master_instname)|arch|arch_inst|non_hps.core_clks_rsts_inst|counter_lock + } + + set pll_master_user_clock_base [string range $pins(master_vco_clock) 0 [string last "|" $pins(master_vco_clock)] ]pll_inst|outclk + + set var(pll_c3_cnt) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_calculate_counter_value $var(PLL_C_CNT_HIGH_3) $var(PLL_C_CNT_LOW_3) $var(PLL_C_CNT_BYPASS_EN_3)] + set pins(master_cal_slave_clk) "$pll_master_user_clock_base\[3\]" + + set var(pll_c4_cnt) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_calculate_counter_value $var(PLL_C_CNT_HIGH_4) $var(PLL_C_CNT_LOW_4) $var(PLL_C_CNT_BYPASS_EN_4)] + set pins(master_cal_master_clk) "$pll_master_user_clock_base\[4\]" + } + + if {$debug == 1} { + puts "Master VCO : $pins(master_vco_clock)" + puts "Master Core USR : $pins(master_core_usr_clock)" + puts "Master Core USR Half : $pins(master_core_usr_half_clock)" + puts "Master Core AFI : $pins(master_core_afi_clock)" + puts "Master VCO (SECONDARY) : $pins(master_vco_clock_sec)" + puts "Master Core USR (SECONDARY) : $pins(master_core_usr_clock_sec)" + puts "Master Core USR Half (SECONDARY) : $pins(master_core_usr_half_clock_sec)" + puts "" + } + + # ######################################## + # 2.5 Find the reference clock input of the PLL + + set pins(pll_cascade_in_id) [get_pins -nowarn -compatibility_mode $pins(master_instname)|arch|arch_inst|pll_inst|pll_inst|pll_cascade_in] + if {[get_collection_size $pins(pll_cascade_in_id)] == 0} { + set pins(pll_cascade_in_id) [get_pins -compatibility_mode $pins(master_instname)|arch|arch_inst|pll_inst|pll_inst|core_refclk] + } + set pll_ref_clock_id [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_input_clk_id $pins(pll_cascade_in_id) var] + if {$pll_ref_clock_id == -1} { + post_message -type critical_warning "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl: Failed to find PLL reference clock" + } else { + set pll_ref_clock [get_node_info -name $pll_ref_clock_id] + } + set pins(pll_ref_clock) $pll_ref_clock + + if {$debug == 1} { + puts "REF: $pins(pll_ref_clock)" + puts "" + } + + ######################################### + # 3.0 find the FPGA pins + + # The hierarchy paths to all the pins are stored in the *_ip_parameters.tcl + # file which is a generated file. Pins are divided into the following + # protocol-agnostic categories. For each pin category, we need to + # fully-resolve the hierarchy path patterns and store the results into + # the "pins" arrays. + + set pin_categories [list ac_clk \ + ac_clk_n \ + ac_sync \ + ac_async \ + rclk \ + rclk_n \ + wclk \ + wclk_n \ + rdata \ + wdata \ + dm \ + dbi ] + + set patterns [ list ] + foreach pin_category $pin_categories { + set pins($pin_category) [list] + + foreach pattern $var(PATTERNS_[string toupper $pin_category]) { + set pattern "${instname}|$pattern" + lappend patterns $pin_category $pattern + } + } + + foreach {pin_type pattern} $patterns { + if {[string match "*|o" $pattern]} { + set local_pins [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_names_in_collection [ get_fanouts $pattern ] ] + } else { + set local_pins [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_names_in_collection [ get_fanins $pattern ] ] + } + + if {[llength $local_pins] == 0} { + post_message -type critical_warning "Could not find pin of type $pin_type from pattern $pattern" + } else { + foreach pin [lsort -unique $local_pins] { + lappend pins($pin_type) $pin + } + } + } + + + ######################################### + # 4.0 setup extra PLL clocks parameters + + # User can use remaining PLL clocks from EMIF GUI and this is to + # setup the parameters for those clocks such as multiply_by + # and divide_by + + if {$var(PLL_NUM_OF_EXTRA_CLKS) > 0} { + + set pll_master_user_clock_base [string range $pins(master_vco_clock) 0 [string last "|" $pins(master_vco_clock)] ]pll_inst|outclk + + set var(pll_num_of_reserved_cnts) 5 + + for {set i 0} {$i < $var(PLL_NUM_OF_EXTRA_CLKS)} {incr i} { + set i_cnt_num [expr $i + $var(pll_num_of_reserved_cnts)] + set var(pll_c${i_cnt_num}_cnt) [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_calculate_counter_value $var(PLL_C_CNT_HIGH_${i_cnt_num}) $var(PLL_C_CNT_LOW_${i_cnt_num}) $var(PLL_C_CNT_BYPASS_EN_${i_cnt_num})] + set pins(pll_extra_clk_${i}) "$pll_master_user_clock_base\[$i_cnt_num\]" + } + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_initialize_ddr_db { ddr_db_par var_array_name} { + upvar $ddr_db_par local_ddr_db + upvar 1 $var_array_name var + + global ::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename + global ::io_only_analysis + + post_sdc_message info "Initializing DDR database for CORE $::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename" + set instance_list [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_instance_list $::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename] + + foreach instname $instance_list { + + if {$::io_only_analysis == 0} { + post_sdc_message info "Finding port-to-pin mapping for CORE: $::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename INSTANCE: $instname" + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_ddr_pins $instname allpins var + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_verify_ddr_pins allpins var + } + + set local_ddr_db($instname) [ array get allpins ] + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_verify_ddr_pins { pins_par var_array_name} { + + upvar 1 $var_array_name var + upvar $pins_par pins + + if { [ llength $pins(pll_phy_clock) ] != [ llength $pins(pll_vco_clock) ] } { + post_message -type critical_warning "Found different amounts of the phy_clocks compared to the vco_clocks" + } + if {!$var(IS_HPS)} { + if {$var(PHY_CONFIG_ENUM) == "CONFIG_PHY_AND_HARD_CTRL"} { + if { [ llength $pins(master_core_usr_clock) ] != 1 } { + post_message -type critical_warning "Found [ llength $pins(master_core_usr_clock) ] of master_core_usr_clock when there should be 1" + } + + if {$var(USER_CLK_RATIO) == 2 && $var(C2P_P2C_CLK_RATIO) == 4} { + if { [ llength $pins(master_core_usr_half_clock) ] != 1 } { + post_message -type critical_warning "Found [ llength $pins(master_core_usr_half_clock) ] of master_core_usr_half_clock when there should be 1" + } + } + + if {$var(PHY_PING_PONG_EN)} { + if { [ llength $pins(master_core_usr_clock_sec) ] != 1 } { + post_message -type critical_warning "Found [ llength $pins(master_core_usr_clock_sec) ] of master_core_usr_clock_sec when there should be 1" + } + + if {$var(USER_CLK_RATIO) == 2 && $var(C2P_P2C_CLK_RATIO) == 4} { + if { [ llength $pins(master_core_usr_half_clock_sec) ] != 1 } { + post_message -type critical_warning "Found [ llength $pins(master_core_usr_half_clock_sec) ] of master_core_usr_half_clock_sec when there should be 1" + } + } + } + } else { + if { [ llength $pins(master_core_afi_clock) ] != 1 } { + post_message -type critical_warning "Found [ llength $pins(master_core_afi_clock) ] of master_core_afi_clock when there should be 1" + } + } + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_all_instances_dqs_pins { ddr_db_par } { + upvar $ddr_db_par local_ddr_db + + set dqs_pins [ list ] + set instnames [ array names local_ddr_db ] + foreach instance $instnames { + array set pins $local_ddr_db($instance) + + foreach { dqs_pin } $pins(dqs_pins) { + lappend dqs_pins ${dqs_pin}_IN + lappend dqs_pins ${dqs_pin}_OUT + } + foreach { dqsn_pin } $pins(dqsn_pins) { + lappend dqs_pins ${dqsn_pin}_OUT + } + foreach { ck_pin } $pins(ck_pins) { + lappend dqs_pins $ck_pin + } + } + + return $dqs_pins +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_calculate_counter_value { cnt_hi cnt_lo cnt_bypass } { + if {$cnt_bypass} { + set result 1 + } else { + set result [expr {$cnt_hi + $cnt_lo}] + } + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_input_clk_id { pll_inclk_id var_array_name} { + upvar 1 $var_array_name var + + array set results_array [list] + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_fanin_up_to_depth $pll_inclk_id ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_pin clock results_array $var(pll_inclock_search_depth) + if {[array size results_array] == 1} { + set pin_id [lindex [array names results_array] 0] + set result $pin_id + } else { + post_message -type critical_warning "Could not find PLL clock for [get_node_info -name $pll_inclk_id]" + set result -1 + } + + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_output_clock_id { pin_list pin_type msg_list_name var_array_name} { + upvar 1 $msg_list_name msg_list + upvar 1 $var_array_name var + set output_clock_id -1 + + set output_id_list [list] + set pin_collection [get_keepers -no_duplicates $pin_list] + if {[get_collection_size $pin_collection] == [llength $pin_list]} { + foreach_in_collection id $pin_collection { + lappend output_id_list $id + } + } elseif {[get_collection_size $pin_collection] == 0} { + lappend msg_list "warning" "Could not find any $pin_type pins" + } else { + lappend msg_list "warning" "Could not find all $pin_type pins" + } + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_pll_clock $output_id_list $pin_type output_clock_id $var(pll_outclock_search_depth) + return $output_clock_id +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_pll_clock { dest_id_list node_type clock_id_name search_depth} { + if {$clock_id_name != ""} { + upvar 1 $clock_id_name clock_id + } + set clock_id -1 + + array set clk_array [list] + foreach node_id $dest_id_list { + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_fanin_up_to_depth $node_id ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_pll_clk clock clk_array $search_depth + } + if {[array size clk_array] == 1} { + set clock_id [lindex [array names clk_array] 0] + set clk [get_node_info -name $clock_id] + } elseif {[array size clk_array] > 1} { + puts "Found more than 1 clock driving the $node_type" + set clk "" + } else { + set clk "" + } + + return $clk +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_vco_clk_id { wf_clock_id var_array_name} { + upvar 1 $var_array_name var + + array set results_array [list] + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_fanin_up_to_depth $wf_clock_id ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_vco clock results_array $var(pll_vcoclock_search_depth) + if {[array size results_array] == 1} { + set pin_id [lindex [array names results_array] 0] + set result $pin_id + } else { + post_message -type critical_warning "Could not find VCO clock for [get_node_info -name $wf_clock_id]" + set result -1 + } + + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_pll_clk { node_id } { + set cell_id [get_node_info -cell $node_id] + + if {$cell_id == ""} { + set result 0 + } else { + set atom_type [get_cell_info -atom_type $cell_id] + if {$atom_type == "IOPLL"} { + set node_name [get_node_info -name $node_id] + + if {[regexp {pll_inst~.*OUTCLK[0-9]$} $node_name]} { + set result 1 + } else { + set result 0 + } + } elseif {$atom_type == "TILE_CTRL"} { + set node_name [get_node_info -name $node_id] + + if {[regexp {tile_ctrl_inst.*\|pa_core_clk_out\[[0-9]\]$} $node_name]} { + set result 1 + } else { + set result 0 + } + } else { + set result 0 + } + } + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_vco { node_id } { + set cell_id [get_node_info -cell $node_id] + + if {$cell_id == ""} { + set result 0 + } else { + set atom_type [get_cell_info -atom_type $cell_id] + if {$atom_type == "IOPLL"} { + set node_name [get_node_info -name $node_id] + + if {[regexp {pll_inst.*\|.*vcoph\[0\]$} $node_name]} { + set result 1 + } elseif {[regexp {pll_inst.*VCOPH0$} $node_name]} { + set result 1 + } else { + set result 0 + } + } else { + set result 0 + } + } + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_does_ref_clk_exist { ref_clk_name } { + + set ref_clock_found 0 + foreach_in_collection iclk [get_clocks -nowarn] { + if { ![is_clock_defined $iclk] } { + continue + } + set clk_targets [get_clock_info -target $iclk] + foreach_in_collection itgt $clk_targets { + set node_name [get_node_info -name $itgt] + if {[string compare $node_name $ref_clk_name] == 0} { + set ref_clock_found 1 + break + } + } + if {$ref_clock_found == 1} { + break; + } + } + + return $ref_clock_found +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_p2c_c2p_clock_uncertainty { instname var_array_name } { + + set success 1 + set error_message "" + set clock_uncertainty 0 + set debug 0 + + package require ::quartus::atoms + upvar 1 $var_array_name var + + catch {read_atom_netlist} read_atom_netlist_out + set read_atom_netlist_error [regexp "ERROR" $read_atom_netlist_out] + + if {$read_atom_netlist_error == 0} { + if {[ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_are_entity_names_on]} { + regsub -all {\|} $instname "|*:" instname + } + regsub -all {\\} $instname {\\\\} instname + regsub -all {\[} $instname "\\\[" instname + regsub -all {\]} $instname "\\\]" instname + + # Find the IOPLLs + if {$success == 1} { + if {[ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_are_entity_names_on]} { + set pll_atoms [get_atom_nodes -matching *${instname}|*:arch|*:arch_inst|*:pll_inst|* -type IOPLL] + } else { + set pll_atoms [get_atom_nodes -matching *${instname}|arch|arch_inst|pll_inst|* -type IOPLL] + } + set num_pll_inst [get_collection_size $pll_atoms] + + if {$num_pll_inst == 0} { + set success 0 + post_message -type critical_warning "The auto-constraining script was not able to detect any PLLs in the < $instname > memory interface." + } + } + + # Get atom parameters + if {$success == 1} { + + set mcnt_list [list] + set bw_list [list] + set cp_setting_list [list] + set vco_period_list [list] + + foreach_in_collection pll_atom $pll_atoms { + + # M-counter value + if {[get_atom_node_info -node $pll_atom -key BOOL_IOPLL_M_COUNTER_BYPASS_EN] == 1} { + set mcnt 1 + } else { + set mcnt [expr [get_atom_node_info -node $pll_atom -key INT_IOPLL_M_COUNTER_HIGH] + [get_atom_node_info -node $pll_atom -key INT_IOPLL_M_COUNTER_LOW]] + } + lappend mcnt_list $mcnt + + # BW + set bw [get_atom_node_info -node $pll_atom -key ENUM_IOPLL_BW_MODE] + if {[string compare -nocase $bw "AUTO"] == 0} { + set bw "LBW" + } elseif {[string compare -nocase $bw "LOW_BW"] == 0} { + set bw "LBW" + } elseif {[string compare -nocase $bw "MID_BW"] == 0} { + set bw "MBW" + } elseif {[string compare -nocase $bw "HI_BW"] == 0} { + set bw "HBW" + } + lappend bw_list $bw + + # CP current setting (stubbed out for now as this is set internally) + set cp_setting PLL_CP_SETTING0 + lappend cp_setting_list $cp_setting + + # VCO frequency setting + set vco_period [get_atom_node_info -node $pll_atom -key TIME_IOPLL_VCO] + lappend vco_period_list $vco_period + } + + # Make sure all IOPLL parameters are the same + for {set i [expr [llength $mcnt_list] - 1]} {$i > 0} {set i [expr $i - 1]} { + if {[lindex $mcnt_list $i] != [lindex $mcnt_list [expr $i - 1]]} { + set success 0 + post_message -type critical_warning "The auto-constraining script found multiple PLLs in the < $instname > memory interface with different parameters." + } + } + for {set i [expr [llength $bw_list] - 1]} {$i > 0} {set i [expr $i - 1]} { + set bw_a [lindex $bw_list $i] + set bw_b [lindex $bw_list [expr $i - 1]] + if {[string compare -nocase $bw_a $bw_b] != 0} { + set success 0 + post_message -type critical_warning "The auto-constraining script found multiple PLLs in the < $instname > memory interface with different parameters." + } + } + for {set i [expr [llength $cp_setting_list] - 1]} {$i > 0} {set i [expr $i - 1]} { + set cp_a [lindex $cp_setting_list $i] + set cp_b [lindex $cp_setting_list [expr $i - 1]] + if {[string compare -nocase $cp_a $cp_b] != 0} { + set success 0 + post_message -type critical_warning "The auto-constraining script found multiple PLLs in the < $instname > memory interface with different parameters." + } + } + + for {set i [expr [llength $vco_period_list] - 1]} {$i > 0} {set i [expr $i - 1]} { + set vco_a [lindex $vco_period_list $i] + set vco_b [lindex $vco_period_list [expr $i - 1]] + if {[string compare -nocase $vco_a $vco_b] != 0} { + set success 0 + post_message -type critical_warning "The auto-constraining script found multiple PLLs in the < $instname > memory interface with different parameters." + } + } + } + + # Calculate clock uncertainty + if {$success == 1} { + + set mcnt [lindex $mcnt_list 0] + set bw [string toupper [lindex $bw_list 0]] + set cp_setting [lindex $cp_setting_list 0] + set cp_current [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_cp_current_from_setting $cp_setting] + set vco_period [lindex $vco_period_list 0] + if {[regexp {([0-9]+) ps} $vco_period matched vco_period] == 1} { + } else { + post_message -type critical_warning "The auto-constraining script was not able to read the netlist." + set success 0 + } + set vco_frequency_in_mhz [expr 1000000 / $vco_period] + + if {$debug} { + puts "MCNT : $mcnt" + puts "BW : $bw" + puts "CP : $cp_setting ($cp_current)" + puts "VCO : $vco_period" + } + + set HFR [get_clock_frequency_uncertainty_data PLL $vco_frequency_in_mhz $bw OFFSET${mcnt} HFR] + set LFD [get_clock_frequency_uncertainty_data PLL $vco_frequency_in_mhz $bw OFFSET${mcnt} LFD] + set SPE [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_spe_from_cp_current $cp_current] + + if {$success == 1} { + set clock_uncertainty_sqrt [expr sqrt(($LFD/2)*($LFD/2) + ($LFD/2)*($LFD/2))] + set clock_uncertainty [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp [expr ($clock_uncertainty_sqrt + $SPE)*1e9]] + + if {$debug} { + puts "HFR : $HFR" + puts "LFD : $LFD" + puts "SPE : $SPE" + puts "TOTAL: $clock_uncertainty" + } + } + } + + } else { + set success 0 + post_message -type critical_warning "The auto-constraining script was not able to read the netlist." + } + + # Output warning in the case that clock uncertainty can't be determined + if {$success == 0} { + post_message -type critical_warning "Verify the following:" + post_message -type critical_warning " The core < $instname > is instantiated within another component (wrapper)" + post_message -type critical_warning " The core is not the top-level of the project" + post_message -type critical_warning " The memory interface pins are exported to the top-level of the project" + post_message -type critical_warning " The core < $instname > RTL has not been modified manually" + } + + return $clock_uncertainty +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_cp_current_from_setting { cp_setting } { + + set cp_current 0 + + if {[string compare -nocase $cp_setting "PLL_CP_SETTING0"] == 0} { + set cp_current 0 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING1"] == 0} { + set cp_current 5 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING2"] == 0} { + set cp_current 10 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING3"] == 0} { + set cp_current 15 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING4"] == 0} { + set cp_current 20 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING5"] == 0} { + set cp_current 25 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING6"] == 0} { + set cp_current 30 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING7"] == 0} { + set cp_current 35 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING8"] == 0} { + set cp_current 40 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING9"] == 0} { + set cp_current 45 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING10"] == 0} { + set cp_current 50 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING11"] == 0} { + set cp_current 55 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING12"] == 0} { + set cp_current 60 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING13"] == 0} { + set cp_current 65 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING14"] == 0} { + set cp_current 70 + } elseif {[string compare -nocase $cp_setting "PLL_CP_SETTING15"] == 0} { + set cp_current 75 + } else { + set cp_current 0 + } + + return $cp_current +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_spe_from_cp_current { cp_current } { + + set spe 158.0e-12 + + if {$cp_current <= 15} { + set spe 158e-012 + } elseif {$cp_current <= 20} { + set spe 130.62e-12 + } elseif {$cp_current <= 25} { + set spe 117.3e-12 + } elseif {$cp_current <= 30} { + set spe 109.5e-12 + } elseif {$cp_current <= 35} { + set spe 104.5e-12 + } elseif {$cp_current <= 40} { + set spe 100.9e-12 + } elseif {$cp_current <= 60} { + set spe 93.3e-12 + } else { + set spe 93.3e-12 + } + + return $spe +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_periphery_clock_uncertainty { results_array_name var_array_name } { + upvar 1 $results_array_name results + upvar 1 $var_array_name var + + if {$var(DIAG_TIMING_REGTEST_MODE)} { + set c2p_setup 0.050 + set c2p_hold 0.0 + set p2c_setup 0.050 + set p2c_hold 0.0 + } else { + set c2p_setup 0.0 + set c2p_hold 0.0 + set p2c_setup 0.0 + set p2c_hold 0.0 + } + + set results [list $c2p_setup $c2p_hold $p2c_setup $p2c_hold] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_clock_uncertainty { results_array_name var_array_name } { + upvar 1 $results_array_name results + upvar 1 $var_array_name var + + set c2c_same_setup 0 + set c2c_same_hold 0 + set c2c_diff_setup 0 + set c2c_diff_hold 0 + + set results [list $c2c_same_setup $c2c_same_hold $c2c_diff_setup $c2c_diff_hold] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_overconstraints { results_array_name var_array_name } { + upvar 1 $results_array_name results + upvar 1 $var_array_name var + + set results [list $var(C2C_SAME_CLK_SETUP_OC_NS) $var(C2C_SAME_CLK_HOLD_OC_NS) $var(C2C_DIFF_CLK_SETUP_OC_NS) $var(C2C_DIFF_CLK_HOLD_OC_NS)] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_periphery_overconstraints { results_st_array_name results_mt_array_name var_array_name } { + upvar 1 $results_st_array_name results_st + upvar 1 $results_mt_array_name results_mt + upvar 1 $var_array_name var + + set c2p_p2c_frequency [expr $var(PHY_MEM_CLK_FREQ_MHZ)/$var(C2P_P2C_CLK_RATIO)] + + set results_st [list $var(C2P_SETUP_OC_NS) $var(C2P_HOLD_OC_NS) $var(P2C_SETUP_OC_NS) $var(P2C_HOLD_OC_NS)] + set results_mt [list [expr $var(C2P_SETUP_OC_NS) + 0.000] [expr $var(C2P_HOLD_OC_NS) + 0.000] [expr $var(P2C_SETUP_OC_NS) + 0.000] [expr $var(P2C_HOLD_OC_NS) + 0.000]] + +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_duplicate_names { names_array } { + + set main_name "" + set duplicate_names [list] + + # Find the main name as opposed to all the duplicate names + foreach { name } $names_array { + if {[regexp {Duplicate} $name]} { + lappend duplicate_names $name + } else { + if {$main_name == ""} { + set main_name $name + } else { + post_message -type error "More than one main tile name ($main_name and $name). Please verify the connectivity of these pins." + } + } + } + + # Now sort the duplicate names + set duplicate_names [lsort -decreasing $duplicate_names] + + # Prepend the main name and then return + set result [join [linsert $duplicate_names 0 $main_name]] + + return $result +} + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_readme.txt b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_readme.txt new file mode 100644 index 0000000000..a34cc42be4 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_readme.txt @@ -0,0 +1,1374 @@ +--------------------- +; Table of Contents ; +--------------------- + 1. About this file + 2. Outputs of IP generation + 3. Instantiating IP in a Quartus Prime project + 4. Board Signal Integrity Analysis + 5. I/O assignments + 6. Pin locations + 7. Sharing core clocks between interfaces + 8. Sharing PLL reference clock pin between interfaces + 9. Local reset request. Output signal from local_reset_combiner + 10. Local reset status. Input signal to the local_reset_combiner + 11. PLL reference clock input + 12. PLL locked signal + 13. On-Chip Termination (OCT) interface + 14. Interface between FPGA and external memory + 15. PHY calibration status interface + 16. User clock domain reset interface + 17. User clock interface + 18. Controller Avalon Streaming command interface 0 + 19. Controller Avalon Streaming write data interface 0 + 20. Controller Avalon Streaming read data interface 0 + 21. Controller ECC interface 0 + 22. EMIF calibration component interface + 23. EMIF calibration component clock input interface + 24. Instantiating IP in a simulation project + 25. Full-calibration versus skip-calibration simulation + 26. IP Settings + + +------------------------ +; 1. About this file ; +------------------------ + + This is the readme file for the Intel External Memory Interface (EMIF) IP v24.1. + + The file provides a high-level overview of the IP. For details, refer to the + handbook chapter on Agilex DDR4 External Memory Interface. + + This file was auto-generated. + + +--------------------------------- +; 2. Outputs of IP generation ; +--------------------------------- + + IP generation supports the following output filesets: + + Synthesis - This is the fileset you should use when instantiating the IP in + your Quartus Prime project. RTL files in this fileset can be + simulated, but your simulator must support SystemVerilog. + Simulating the synthesis files yields identical results as + simulating the simulation files. + + Simulation - This fileset contains scripts and source files to help you + integrate the IP into your simulation project targeting a + 3rd-party simulator of your choice. If you select VHDL + during IP generation, the fileset contains IEEE-encrypted + Verilog files that can be used in VHDL-only simulators, such + as ModelSim - Intel FPGA edition. All source files in the simulation + filesets are functionally equivalent to the synthesis fileset. + + Signal Integrity - This fileset contains SPICE simulation decks and compliance + mask information for evaluating if your PCB meets the signal + integrity requirements of your desired interface. It is + strongly recommended that customers obtain 12-line extractions of + their PCBs and evaluate them using this flow in order to + reduce the risk of encountering signal-integrity issues + in their memory interface design. SPICE decks are provided to + generate eye diagrams at the receiver for the address/command + channel, the data write channel, and the data read channel. + + Example Design - This fileset contains scripts to generate example Quartus Prime project + and simulation projects for 3rd-party simulators. An example + design contains an instantiation of the IP, a simple traffic + generator, and in the case of a simulation example design, a + simple memory model. + + +---------------------------------------------------- +; 3. Instantiating IP in a Quartus Prime project ; +---------------------------------------------------- + + If you instantiate the IP as part of a Platform Designer system, follow the Platform Designer + documentation on how to instantiate the system in a Quartus Prime project. + + If the IP was generated as a standalone component, it is sufficient to add + the generated .qip file from the synthesis fileset to your Quartus Prime project. + The .qip file allows the Quartus Prime software to locate all the files of + the IP, including RTL files, SDC files, hex files, and timing scripts. Once the + .qip file is added, you can instantiate the memory interface in your RTL. + + +---------------------------------------- +; 4. Board Signal Integrity Analysis ; +---------------------------------------- + + The Board Signal Integrity analysis allows you to evaluate whether or not your + External Memory Interface channel meets the impedance, crosstalk and ISI requirements + to operate your memory interface at the target frequency while meeting the minimum + data eye height and width requirements for reliable data capture. + The analysis environment takes into account the signal integrity settings you have + selected in the IP GUI for FPGA-side drive/receive strength, memory-side termination + settings, and where applicable, termination settings for channels with multiple memory + ranks (including the associated dynamic/nominal/park termination settings). + Customers must supply the location of the FPGA and memory IBIS models, as well as the + location of the 12-line PCB extraction models for the interface address/command and + data channel models. Package RLC values for the FPGA and memory must also be specified + for accurate simulation. + + To run signal integrity analysis: + + 1) Open the EMIF IP GUI + 2) Select all of the FPGA and Memory drive strength and termination settings for your design + 3) Select the "Signal Integrity" checkbox under the "Example Designs" tab + 4) Generate the IP or click the "Generate Example Design" button + 5) Locate the *_spice_files.zip and *_ip_parameters.dat files + 6) Update the *_ip_parameters.dat file with the location of your IBIS models and RLC values + 7) Unzip the *_spice_files.zip file, update the top-level SPICE decks to include the *.dat file + above, and run the simulations for Address/Command, Data Write and Data Read channels. + + Note that most of the settings that are relevant to this instance of IP are contained within the + auto-generated *_ip_parameters.dat file. If you modify this file, please be sure to save a backup + copy in case you need to restore the original simulation parameters. The *_spice_files.zip file + contails files that are common to all instances of IP, with the exception of the file + "pin_parasitics.dat", which must be updated with the pin RLC parasitic information for both the + FPGA and memory devices. Consult the EMIF IP Handbook for further details. + + +------------------------ +; 5. I/O assignments ; +------------------------ + + The generated .qip file in the synthesis fileset contains the I/O standard and input/output + termination assignments required by the memory interface pins to function correctly. + The values to the assignments are based on user inputs provided during generation. + + Unlike previous EMIF IP, there is no need to manually run a *_pin_assignments.tcl + script to annotate the assignments into the project's .qsf file. + Assignments in the .qip file are read and applied during every compilation, regardless + of how you name the memory interface pins in your design top-level component. No new + assignment is created in the project's .qsf file during the process. + + You should never edit the generated .qip file, because changes made to this file + are overwritten when you regenerate the IP. To override an I/O assignment made in + the .qip file, simply add an assignment to the project's .qsf file. Assignments in + the .qsf file always take precedence over those in the .qip file. Note that I/O + assignments in the .qsf file must specify the names of your top-level pins as + target (i.e. -to), and you must not use the -entity and -library options. + + Consult the .qip file for the set of I/O assignments that come with the IP. + + +---------------------- +; 6. Pin locations ; +---------------------- + + The Agilex I/O subsystem is located in the I/O rows. + + The pins of a memory interface must be placed within a single I/O row. A memory + interface can occupy one or more banks. When multiple banks are needed, the banks must + be consecutive. + + All address/command pins of a memory interface must be placed within a single bank. + This bank is denoted as the "address/command" bank. While any physical bank within + an I/O row can be used as an "address/command" bank, for a multi-bank memory + interface, the "address/command" bank must be at the center of the interface. + + Address/command pins within the "address/command" bank must follow a fixed pinout + scheme within the bank. Note that the pinout scheme used is dependent on the topology + of the memory interface, and is a hardware requirement. An I/O lane unused in the + "address/command" bank can be used to implement a data group (e.g. a x8 DQS group). + + A read data group must be placed based on the DQS/CQ/QK grouping in the pin table. + Specifically, read data strobes/clocks must be placed at physical pins capable of + functioning as DQS/CK/QK for a specific read data group size, and the associated + data pins must be placed within the same group. + A x8/x9 read data group occupies one lane; a x16/x18 read data group occupies either + the top or bottom 2 lanes of a bank; a x36 read data group occupies all four lanes of + a bank. For protocols/topologies where a write data group consists of multiple read data + groups, the read data groups should be placed in the same bank to improve I/O timing. + + I/Os that are unused by memory interface pins can be used as general-purpose I/Os with + compatible I/O standard and termination settings. + + The following shows one possible grouping of memory interface pins into logical banks. To + implement the scheme in your Quartus Prime project, you need to: + + 1) Decide which physical I/O banks the logical banks occupy. + 2) Add location assignments for the following pins: + All read data strobes/clocks (e.g. DQS/CQ/DQ) + One of the address/command pins + PLL reference clock pins (unless using a shared PLL reference clock pin in another interface) + RZQ pin + The Quartus Prime Fitter automatically places the remaining pins. + + The current memory interface occupies 4 banks. + + Note that this is only an example and other possible schemes may exist. The example + is functionally correct and legal, but is not necessarily optimal from the resource + consumption, timing, and board routability perspective. + + Logical bank 3: + ---------------------- + + Lane index Pin index Port + ------------------------------------------------------- + 3 47 - + . 46 - + . 45 - + . 44 - + . 43 - + . 42 - + . 41 - + . 40 - + . 39 - + . 38 - + . 37 - + . 36 - + 2 35 - + . 34 - + . 33 - + . 32 - + . 31 - + . 30 - + . 29 - + . 28 - + . 27 - + . 26 - + . 25 - + . 24 - + 1 23 - + . 22 - + . 21 - + . 20 - + . 19 - + . 18 - + . 17 - + . 16 - + . 15 - + . 14 - + . 13 - + . 12 - + 0 11 mem_dq[71] + . 10 mem_dq[70] + . 9 mem_dq[69] + . 8 mem_dq[68] + . 7 - + . 6 mem_dbi_n[8] + . 5 mem_dqs_n[8] + . 4 mem_dqs[8] + . 3 mem_dq[67] + . 2 mem_dq[66] + . 1 mem_dq[65] + . 0 mem_dq[64] + + Logical bank 2: + ---------------------- + + Lane index Pin index Port + ------------------------------------------------------- + 3 47 mem_dq[63] + . 46 mem_dq[62] + . 45 mem_dq[61] + . 44 mem_dq[60] + . 43 - + . 42 mem_dbi_n[7] + . 41 mem_dqs_n[7] + . 40 mem_dqs[7] + . 39 mem_dq[59] + . 38 mem_dq[58] + . 37 mem_dq[57] + . 36 mem_dq[56] + 2 35 mem_dq[55] + . 34 mem_dq[54] + . 33 mem_dq[53] + . 32 mem_dq[52] + . 31 - + . 30 mem_dbi_n[6] + . 29 mem_dqs_n[6] + . 28 mem_dqs[6] + . 27 mem_dq[51] + . 26 mem_dq[50] + . 25 mem_dq[49] + . 24 mem_dq[48] + 1 23 mem_dq[47] + . 22 mem_dq[46] + . 21 mem_dq[45] + . 20 mem_dq[44] + . 19 - + . 18 mem_dbi_n[5] + . 17 mem_dqs_n[5] + . 16 mem_dqs[5] + . 15 mem_dq[43] + . 14 mem_dq[42] + . 13 mem_dq[41] + . 12 mem_dq[40] + 0 11 mem_dq[39] + . 10 mem_dq[38] + . 9 mem_dq[37] + . 8 mem_dq[36] + . 7 - + . 6 mem_dbi_n[4] + . 5 mem_dqs_n[4] + . 4 mem_dqs[4] + . 3 mem_dq[35] + . 2 mem_dq[34] + . 1 mem_dq[33] + . 0 mem_dq[32] + + Logical bank 1 (address/command bank): + -------------------------------------------- + + Address/command pinout scheme : DDR4 Scheme 1A: Component and DIMM (with A17) + Number of address/command lanes: 4 + + Lane index Pin index Port + ------------------------------------------------------- + 3 47 - + . 46 - + . 45 - + . 44 mem_alert_n[0] + . 43 - + . 42 - + . 41 - + . 40 - + . 39 - + . 38 - + . 37 - + . 36 - + 2 35 mem_bg[0] + . 34 mem_ba[1] + . 33 mem_ba[0] + . 32 - + . 31 mem_a[16] + . 30 mem_a[15] + . 29 mem_a[14] + . 28 mem_a[13] + . 27 mem_a[12] + . 26 oct_rzqin - if needed + . 25 pll_ref_clk (negative leg) - if needed + . 24 pll_ref_clk (positive leg) - if needed + 1 23 mem_a[11] + . 22 mem_a[10] + . 21 mem_a[9] + . 20 mem_a[8] + . 19 mem_a[7] + . 18 mem_a[6] + . 17 mem_a[5] + . 16 mem_a[4] + . 15 mem_a[3] + . 14 mem_a[2] + . 13 mem_a[1] + . 12 mem_a[0] + 0 11 mem_par[0] + . 10 - + . 9 mem_ck_n[0] + . 8 mem_ck[0] + . 7 - + . 6 mem_cke[0] + . 5 - + . 4 mem_odt[0] + . 3 mem_act_n[0] + . 2 mem_cs_n[0] + . 1 mem_reset_n[0] + . 0 mem_bg[1] + + Logical bank 0: + ---------------------- + + Lane index Pin index Port + ------------------------------------------------------- + 3 47 mem_dq[31] + . 46 mem_dq[30] + . 45 mem_dq[29] + . 44 mem_dq[28] + . 43 - + . 42 mem_dbi_n[3] + . 41 mem_dqs_n[3] + . 40 mem_dqs[3] + . 39 mem_dq[27] + . 38 mem_dq[26] + . 37 mem_dq[25] + . 36 mem_dq[24] + 2 35 mem_dq[23] + . 34 mem_dq[22] + . 33 mem_dq[21] + . 32 mem_dq[20] + . 31 - + . 30 mem_dbi_n[2] + . 29 mem_dqs_n[2] + . 28 mem_dqs[2] + . 27 mem_dq[19] + . 26 mem_dq[18] + . 25 mem_dq[17] + . 24 mem_dq[16] + 1 23 mem_dq[15] + . 22 mem_dq[14] + . 21 mem_dq[13] + . 20 mem_dq[12] + . 19 - + . 18 mem_dbi_n[1] + . 17 mem_dqs_n[1] + . 16 mem_dqs[1] + . 15 mem_dq[11] + . 14 mem_dq[10] + . 13 mem_dq[9] + . 12 mem_dq[8] + 0 11 mem_dq[7] + . 10 mem_dq[6] + . 9 mem_dq[5] + . 8 mem_dq[4] + . 7 - + . 6 mem_dbi_n[0] + . 5 mem_dqs_n[0] + . 4 mem_dqs[0] + . 3 mem_dq[3] + . 2 mem_dq[2] + . 1 mem_dq[1] + . 0 mem_dq[0] + + +----------------------------------------------- +; 7. Sharing core clocks between interfaces ; +----------------------------------------------- + + When a design contains multiple memory interfaces of the same protocol, rate, + frequency, and PLL reference clock source, it is possible for these interfaces + to share a common set of core clock signals. Core clocks sharing allows your + logic to use a single clock domain to synchronously access all interfaces. + The feature also reduces the number of core clock networks required. + + In order for multiple memory interfaces to share core clocks, one of the interfaces + must be specified as "Master" using the "Core clocks sharing" setting during + generation, and the remaining interfaces must be denoted as "Slave". There is no + preference to which interface needs to be a master. In the RTL, connect the + clks_sharing_master_out signal from the master interface to the clks_sharing_slave_in + signal of all the slave interfaces. Note that both the master and slave interfaces + expose their own output clock ports in the RTL (e.g. emif_usr_clk, afi_clk), but the + physical signals are equivalent and so it does not matter whether a clock port from a + master or a slave is used. + + Core clocks sharing necessitates PLL reference clock sharing. Therefore, + only the master interface exposes an input port for the PLL reference clock. The + same PLL reference clock signal is used by all the slave interfaces. See section + on PLL reference clock sharing for additional requirements. + + The core clocks sharing mode of the current IP is "No Sharing" + + +----------------------------------------------------------- +; 8. Sharing PLL reference clock pin between interfaces ; +----------------------------------------------------------- + + To share a single PLL reference clock signal between multiple memory interfaces, + simply connect the same PLL reference clock signal to all interfaces in the RTL. + + Interfaces that share the same PLL reference clock signal must be placed in the + same I/O row and must occupy consecutive banks. + + +---------------------------------------------------------------------- +; 9. Local reset request. Output signal from local_reset_combiner ; +---------------------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + local_reset_req 1 input Signal from user logic to request the memory interface to be reset and recalibrated. Reset request is sent by transitioning the local_reset_req signal from low to high, then keeping the signal at the high state for a minimum of 2 EMIF core clock cycles, then transitioning the signal from high to low. local_reset_req is asynchronous in that there is no setup/hold timing to meet, but it must meet the minimum pulse width requirement of 2 EMIF core clock cycles. + + +--------------------------------------------------------------------- +; 10. Local reset status. Input signal to the local_reset_combiner ; +--------------------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + local_reset_done 1 output Signal from memory interface to indicate whether it has completed a reset sequence, is currently out of reset, and is ready for a new reset request. When local_reset_done is low, the memory interface is in reset. + + +---------------------------------- +; 11. PLL reference clock input ; +---------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + pll_ref_clk 1 input PLL reference clock input + + +-------------------------- +; 12. PLL locked signal ; +-------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + pll_locked 1 output PLL lock signal to indicate whether the PLL has locked + + +-------------------------------------------- +; 13. On-Chip Termination (OCT) interface ; +-------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + oct_rzqin 1 input Calibrated On-Chip Termination (OCT) RZQ input pin + + +--------------------------------------------------- +; 14. Interface between FPGA and external memory ; +--------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + mem_ck 1 output CK clock + mem_ck_n 1 output CK clock (negative leg) + mem_a 17 output Address + mem_act_n 1 output Activation command + mem_ba 2 output Bank address + mem_bg 2 output Bank group + mem_cke 1 output Clock enable + mem_cs_n 1 output Chip select + mem_odt 1 output On-die termination + mem_reset_n 1 output Asynchronous reset + mem_par 1 output Command and address parity + mem_alert_n 1 input Alert flag + mem_dqs 9 bidir Data strobe + mem_dqs_n 9 bidir Data strobe (negative leg) + mem_dq 72 bidir Read/write data + mem_dbi_n 9 bidir Acts as either the data bus inversion pin, or the data mask pin, depending on configuration. + + +----------------------------------------- +; 15. PHY calibration status interface ; +----------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + local_cal_success 1 output When high, indicates that PHY calibration was successful + local_cal_fail 1 output When high, indicates that PHY calibration failed + + +------------------------------------------ +; 16. User clock domain reset interface ; +------------------------------------------ + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + emif_usr_reset_n 1 output Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + + +----------------------------- +; 17. User clock interface ; +----------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + emif_usr_clk 1 output User clock domain + + +-------------------------------------------------------- +; 18. Controller Avalon Streaming command interface 0 ; +-------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + ast_cmd_valid_0 1 input Indicates whether command is valid + ast_cmd_ready_0 1 output Comand request signal + ast_cmd_data_0 61 input Command data + + +----------------------------------------------------------- +; 19. Controller Avalon Streaming write data interface 0 ; +----------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + ast_wr_valid_0 1 input Indicates whether write data is valid + ast_wr_ready_0 1 output Write request signal + ast_wr_data_0 648 input Write data + + +---------------------------------------------------------- +; 20. Controller Avalon Streaming read data interface 0 ; +---------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + ast_rd_valid_0 1 output Read request signal + ast_rd_ready_0 1 input Indicates whether read data is valid + ast_rd_data_0 576 output Read data + + +----------------------------------- +; 21. Controller ECC interface 0 ; +----------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + ctrl_ecc_write_info_0 15 input ctrl_ecc_write_info_0 + ctrl_ecc_rdata_id_0 13 output ctrl_ecc_rdata_id_0 + ctrl_ecc_read_info_0 3 output ctrl_ecc_read_info_0 + ctrl_ecc_cmd_info_0 3 output ctrl_ecc_cmd_info_0 + ctrl_ecc_idle_0 1 output ctrl_ecc_idle_0 + ctrl_ecc_wr_pointer_info_0 12 output ctrl_ecc_wr_pointer_info_0 + + +--------------------------------------------- +; 22. EMIF calibration component interface ; +--------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + calbus_read 1 output EMIF Calibration component bus for read + calbus_write 1 output EMIF Calibration component bus for write + calbus_address 20 output EMIF Calibration component bus for address + calbus_wdata 32 output EMIF Calibration component bus for write data + calbus_rdata 32 input EMIF Calibration component bus for read data + calbus_seq_param_tbl 4096 input EMIF Calibration component bus for parameter table data + + +--------------------------------------------------------- +; 23. EMIF calibration component clock input interface ; +--------------------------------------------------------- + + Port Width Direction Description + ------------------------------------------------------------------------------------------------------ + calbus_clk 1 output EMIF Calibration component bus for the clock + + +------------------------------------------------- +; 24. Instantiating IP in a simulation project ; +------------------------------------------------- + + The simulation fileset as well as the simulation example design contain scripts + that illustrate what files are required when including the EMIF IP for simulation. + The scripts are customized for all the 3rd-party simulators supported. It is highly + recommended that you use these scripts as reference when setting up your simulation + environment. + + +------------------------------------------------------------ +; 25. Full-calibration versus skip-calibration simulation ; +------------------------------------------------------------ + + During generation, you can specify the default RTL simulation behavior for PHY calibration. + If you specify full-calibration simulation, the simulation time can take a very long time + because all the stages and the detailed behavior of PHY calibration are simulated. If you + specify skip-calibration simulation, the detailed behavior of PHY calibration is not + simulated. Skip-calibration simulation is recommended unless you suspect a functional + issue with the PHY calibration algorithm. Note however, that RTL simulation is a zero-delay + simulation, and so timing-related calibration failures on hardware do not manifest themselves + during RTL simulations. + + The setting that controls the calibration mode is encoded within the *_seq_params_sim.hex file + and the *_seq_params_synth.hex file. When the IP is compiled under the Quartus Prime software, + synthesis-directive causes the *_seq_params_synth.hex file to always be used. Outside of the + Quartus Prime software (e.g. 3rd-party simulator), the *_seq_params_sim.hex file is always used. + The behavior is the same regardless of which fileset is being synthesized or simulated. + The calibration mode setting specified during generation only affects the *_seq_params_sim.hex + file. The *_seq_params_synth.hex file always specifies full-calibration since full calibration + is key to functional hardware. + The RTL simulation behavior of the current IP is "Skip Calibration" + + +-------------------- +; 26. IP Settings ; +-------------------- + + SYS_INFO_DEVICE_FAMILY : Agilex 7 + SYS_INFO_DEVICE : AGFB014R24B2E2V + SYS_INFO_DEVICE_SPEEDGRADE : 2 + SYS_INFO_DEVICE_TEMPERATURE_GRADE : EXTENDED + SYS_INFO_DEVICE_POWER_MODEL : STANDARD_POWER + SYS_INFO_DEVICE_DIE_REVISIONS : HSSI_WHR_REVA HSSI_CRETE3_REVA MAIN_FM6_REVB + FAMILY_ENUM : FAMILY_AGILEX + TRAIT_SUPPORTS_VID : 1 + TRAIT_IOBANK_REVISION : IO96A_REVB2 + PROTOCOL_ENUM : PROTOCOL_DDR4 + IS_ED_SLAVE : false + INTERNAL_TESTING_MODE : false + CAL_DEBUG_CLOCK_FREQUENCY : 50000000 + SYS_INFO_UNIQUE_ID : ed_synth_emif_fm_0_emif_fm_0 + PREV_PROTOCOL_ENUM : PROTOCOL_DDR4 + PHY_FPGA_SPEEDGRADE_GUI : E2V (ES3) - change device under 'View'->'Device Family' + PHY_TARGET_SPEEDGRADE : E2V + PHY_TARGET_IS_ES : false + PHY_TARGET_IS_ES2 : false + PHY_TARGET_IS_ES3 : true + PHY_TARGET_IS_PRODUCTION : false + PHY_CONFIG_ENUM : CONFIG_PHY_AND_HARD_CTRL + PHY_PING_PONG_EN : false + PHY_CLAMSHELL_EN : false + PHY_RATE_ENUM : RATE_QUARTER + PHY_MEM_CLK_FREQ_MHZ : 1200.0 + PHY_REF_CLK_FREQ_MHZ : 33.333 + PHY_REF_CLK_JITTER_PS : 10.0 + PHY_DLL_CORE_UPDN_EN : false + PHY_CORE_CLKS_SHARING_ENUM : CORE_CLKS_SHARING_DISABLED + PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT : false + PHY_CALIBRATED_OCT : true + PHY_AC_CALIBRATED_OCT : true + PHY_CK_CALIBRATED_OCT : true + PHY_DATA_CALIBRATED_OCT : true + PHY_RZQ : 240 + PHY_HPS_ENABLE_EARLY_RELEASE : false + PHY_USER_PERIODIC_OCT_RECAL_ENUM : PERIODIC_OCT_RECAL_AUTO + PHY_AC_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_CK_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_DATA_IO_STD_ENUM : IO_STD_POD_12 + PHY_AC_MODE_ENUM : OUT_OCT_40_CAL + PHY_CK_MODE_ENUM : OUT_OCT_40_CAL + PHY_AC_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_OFF + PHY_CK_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_OFF + PHY_DATA_OUT_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_HIGH + PHY_DATA_OUT_SLEW_RATE_ENUM : + PHY_DATA_OUT_MODE_ENUM : OUT_OCT_40_CAL + PHY_MIMIC_HPS_EMIF : false + PLL_ADD_EXTRA_CLKS : false + PLL_USER_NUM_OF_EXTRA_CLKS : 0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 : 50.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 : 0.0 + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 : 0.0 + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 : ps + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 : 0.0 + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 : 50.0 + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 : 50.0 + PLL_VCO_CLK_FREQ_MHZ : 1200.0 + PLL_NUM_OF_EXTRA_CLKS : 0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4 : 0.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5 : 1200.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6 : 1200.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7 : 1200.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7 : 0.0 + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8 : 1200.0 + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8 : 0.0 + PHY_DDR4_CONFIG_ENUM : CONFIG_PHY_AND_HARD_CTRL + PHY_DDR4_USER_PING_PONG_EN : false + PHY_DDR4_USER_CLAMSHELL_EN : false + PHY_DDR4_USER_DLL_CORE_UPDN_EN : true + PHY_DDR4_MEM_CLK_FREQ_MHZ : 1200.0 + PHY_DDR4_DEFAULT_REF_CLK_FREQ : false + PHY_DDR4_USER_REF_CLK_FREQ_MHZ : 33.333 + PHY_DDR4_REF_CLK_JITTER_PS : 10.0 + PHY_DDR4_RATE_ENUM : RATE_QUARTER + PHY_DDR4_CORE_CLKS_SHARING_ENUM : CORE_CLKS_SHARING_DISABLED + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT : false + PHY_DDR4_IO_VOLTAGE : 1.2 + PHY_DDR4_DEFAULT_IO : false + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE : false + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM : PERIODIC_OCT_RECAL_AUTO + PHY_DDR4_MIMIC_HPS_EMIF : false + PHY_DDR4_ALLOW_72_DQ_WIDTH : false + PHY_DDR4_REF_CLK_FREQ_MHZ : 33.333 + PHY_DDR4_PING_PONG_EN : false + PHY_DDR4_CLAMSHELL_EN : false + PHY_DDR4_USER_AC_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_DDR4_USER_AC_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_USER_AC_SLEW_RATE_ENUM : unset + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM : unset + PHY_DDR4_USER_CK_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_DDR4_USER_CK_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_USER_CK_SLEW_RATE_ENUM : unset + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM : unset + PHY_DDR4_USER_DATA_IO_STD_ENUM : IO_STD_POD_12 + PHY_DDR4_USER_DATA_OUT_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM : unset + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM : unset + PHY_DDR4_USER_DATA_IN_MODE_ENUM : IN_OCT_60_CAL + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN : true + PHY_DDR4_USER_STARTING_VREFIN : 70.0 + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM : IO_STD_TRUE_DIFF_SIGNALING + PHY_DDR4_USER_RZQ_IO_STD_ENUM : IO_STD_CMOS_12 + PHY_DDR4_AC_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_DDR4_AC_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_AC_SLEW_RATE_ENUM : SLEW_RATE_FM_FAST + PHY_DDR4_AC_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_OFF + PHY_DDR4_CK_IO_STD_ENUM : IO_STD_SSTL_12 + PHY_DDR4_CK_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_CK_SLEW_RATE_ENUM : SLEW_RATE_FM_FAST + PHY_DDR4_CK_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_OFF + PHY_DDR4_DATA_IO_STD_ENUM : IO_STD_POD_12 + PHY_DDR4_DATA_OUT_MODE_ENUM : OUT_OCT_40_CAL + PHY_DDR4_DATA_OUT_SLEW_RATE_ENUM : SLEW_RATE_FM_FAST + PHY_DDR4_DATA_OUT_DEEMPHASIS_ENUM : DEEMPHASIS_MODE_HIGH + PHY_DDR4_DATA_IN_MODE_ENUM : IN_OCT_60_CAL + PHY_DDR4_AUTO_STARTING_VREFIN_EN : true + PHY_DDR4_STARTING_VREFIN : 68.0 + PHY_DDR4_PLL_REF_CLK_IO_STD_ENUM : IO_STD_TRUE_DIFF_SIGNALING + PHY_DDR4_RZQ_IO_STD_ENUM : IO_STD_CMOS_12 + MEM_FORMAT_ENUM : MEM_FORMAT_RDIMM + MEM_READ_LATENCY : 23.0 + MEM_WRITE_LATENCY : 18 + MEM_BURST_LENGTH : 8 + MEM_DATA_MASK_EN : true + MEM_HAS_SIM_SUPPORT : true + MEM_HAS_BSI_SUPPORT : true + MEM_NUM_OF_PHYSICAL_RANKS : 1 + MEM_NUM_OF_LOGICAL_RANKS : 1 + MEM_NUM_OF_DATA_ENDPOINTS : 1 + MEM_TTL_DATA_WIDTH : 72 + MEM_TTL_NUM_OF_READ_GROUPS : 9 + MEM_TTL_NUM_OF_WRITE_GROUPS : 9 + MEM_DDR4_FORMAT_ENUM : MEM_FORMAT_RDIMM + MEM_DDR4_DQ_WIDTH : 72 + MEM_DDR4_DQ_PER_DQS : 8 + MEM_DDR4_DISCRETE_CS_WIDTH : 1 + MEM_DDR4_NUM_OF_DIMMS : 1 + MEM_DDR4_CHIP_ID_WIDTH : 0 + MEM_DDR4_RANKS_PER_DIMM : 1 + MEM_DDR4_CKE_PER_DIMM : 1 + MEM_DDR4_CK_WIDTH : 1 + MEM_DDR4_ROW_ADDR_WIDTH : 16 + MEM_DDR4_COL_ADDR_WIDTH : 10 + MEM_DDR4_BANK_ADDR_WIDTH : 2 + MEM_DDR4_BANK_GROUP_WIDTH : 2 + MEM_DDR4_DM_EN : true + MEM_DDR4_ALERT_PAR_EN : true + MEM_DDR4_ALERT_N_PLACEMENT_ENUM : DDR4_ALERT_N_PLACEMENT_FM_LANE3 + MEM_DDR4_ALERT_N_DQS_GROUP : 0 + MEM_DDR4_ALERT_N_AC_LANE : 3 + MEM_DDR4_ALERT_N_AC_PIN : 8 + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN : false + MEM_DDR4_MIRROR_ADDRESSING_EN : true + MEM_DDR4_HIDE_ADV_MR_SETTINGS : true + MEM_DDR4_INTEL_DEFAULT_TERM : true + MEM_DDR4_BL_ENUM : DDR4_BL_BL8 + MEM_DDR4_BT_ENUM : DDR4_BT_SEQUENTIAL + MEM_DDR4_TCL : 21 + MEM_DDR4_RTT_NOM_ENUM : DDR4_RTT_NOM_RZQ_4 + MEM_DDR4_DLL_EN : true + MEM_DDR4_ATCL_ENUM : DDR4_ATCL_DISABLED + MEM_DDR4_DRV_STR_ENUM : DDR4_DRV_STR_RZQ_7 + MEM_DDR4_ASR_ENUM : DDR4_ASR_MANUAL_NORMAL + MEM_DDR4_RTT_WR_ENUM : DDR4_RTT_WR_ODT_DISABLED + MEM_DDR4_WTCL : 16 + MEM_DDR4_WRITE_CRC : false + MEM_DDR4_GEARDOWN : DDR4_GEARDOWN_HR + MEM_DDR4_PER_DRAM_ADDR : false + MEM_DDR4_TEMP_SENSOR_READOUT : false + MEM_DDR4_FINE_GRANULARITY_REFRESH : DDR4_FINE_REFRESH_FIXED_1X + MEM_DDR4_MPR_READ_FORMAT : DDR4_MPR_READ_FORMAT_SERIAL + MEM_DDR4_MAX_POWERDOWN : false + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE : DDR4_TEMP_CONTROLLED_RFSH_NORMAL + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA : false + MEM_DDR4_INTERNAL_VREFDQ_MONITOR : false + MEM_DDR4_CAL_MODE : 0 + MEM_DDR4_SELF_RFSH_ABORT : false + MEM_DDR4_READ_PREAMBLE_TRAINING : false + MEM_DDR4_READ_PREAMBLE : 2 + MEM_DDR4_WRITE_PREAMBLE : 1 + MEM_DDR4_AC_PARITY_LATENCY : DDR4_AC_PARITY_LATENCY_DISABLE + MEM_DDR4_ODT_IN_POWERDOWN : true + MEM_DDR4_RTT_PARK : DDR4_RTT_PARK_ODT_DISABLED + MEM_DDR4_AC_PERSISTENT_ERROR : false + MEM_DDR4_WRITE_DBI : false + MEM_DDR4_READ_DBI : true + MEM_DDR4_DEFAULT_VREFOUT : true + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE : 56.0 + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE : DDR4_VREFDQ_TRAINING_RANGE_1 + MEM_DDR4_RCD_CA_IBT_ENUM : DDR4_RCD_CA_IBT_100 + MEM_DDR4_RCD_CS_IBT_ENUM : DDR4_RCD_CS_IBT_100 + MEM_DDR4_RCD_CKE_IBT_ENUM : DDR4_RCD_CKE_IBT_100 + MEM_DDR4_RCD_ODT_IBT_ENUM : DDR4_RCD_ODT_IBT_100 + MEM_DDR4_DB_RTT_NOM_ENUM : DDR4_DB_RTT_NOM_ODT_DISABLED + MEM_DDR4_DB_RTT_WR_ENUM : DDR4_DB_RTT_WR_RZQ_3 + MEM_DDR4_DB_RTT_PARK_ENUM : DDR4_DB_RTT_PARK_ODT_DISABLED + MEM_DDR4_DB_DQ_DRV_ENUM : DDR4_DB_DRV_STR_RZQ_7 + MEM_DDR4_SPD_137_RCD_CA_DRV : 101 + MEM_DDR4_SPD_138_RCD_CK_DRV : 5 + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 : 29 + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 : 29 + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 : 29 + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 : 29 + MEM_DDR4_SPD_144_DB_VREFDQ : 37 + MEM_DDR4_SPD_145_DB_MDQ_DRV : 21 + MEM_DDR4_SPD_148_DRAM_DRV : 0 + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM : 20 + MEM_DDR4_SPD_152_DRAM_RTT_PARK : 39 + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE : 0 + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB : 0 + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB : 0 + MEM_DDR4_SPD_135_RCD_REV : 0 + MEM_DDR4_SPD_139_DB_REV : 0 + MEM_DDR4_LRDIMM_ODT_LESS_BS : true + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM : 240 + MEM_DDR4_DQS_WIDTH : 9 + MEM_DDR4_CS_WIDTH : 1 + MEM_DDR4_CS_PER_DIMM : 1 + MEM_DDR4_CKE_WIDTH : 1 + MEM_DDR4_ODT_WIDTH : 1 + MEM_DDR4_ADDR_WIDTH : 17 + MEM_DDR4_RM_WIDTH : 0 + MEM_DDR4_NUM_OF_PHYSICAL_RANKS : 1 + MEM_DDR4_NUM_OF_LOGICAL_RANKS : 1 + MEM_DDR4_IDEAL_VREF_IN_PCT : 68.0 + MEM_DDR4_IDEAL_VREF_OUT_PCT : 70.0 + MEM_DDR4_VREFDQ_TRAINING_VALUE : 70.0 + MEM_DDR4_VREFDQ_TRAINING_RANGE : DDR4_VREFDQ_TRAINING_RANGE_0 + MEM_DDR4_VREFDQ_TRAINING_RANGE_DISP : Range 1 - 60% to 92.5% + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM : DDR4_DRV_STR_RZQ_7 + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM : DDR4_RTT_WR_ODT_DISABLED + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM : DDR4_RTT_NOM_ODT_DISABLED + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM : DDR4_RTT_PARK_RZQ_4 + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISP : RZQ/7 (34 Ohm) + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISP : Dynamic ODT off + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISP : ODT Disabled + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISP : RZQ/4 (60 Ohm) + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM : DDR4_DB_RTT_NOM_ODT_DISABLED + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM : DDR4_DB_RTT_WR_RZQ_3 + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM : DDR4_DB_RTT_PARK_ODT_DISABLED + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM : DDR4_DB_DRV_STR_RZQ_7 + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM_DISP : RTT_NOM disabled + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM_DISP : RZQ/3 (80 Ohm) + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM_DISP : RTT_PARK disabled + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM_DISP : RZQ/7 (34 Ohm) + MEM_DDR4_TTL_DQS_WIDTH : 9 + MEM_DDR4_TTL_DQ_WIDTH : 72 + MEM_DDR4_TTL_CS_WIDTH : 1 + MEM_DDR4_TTL_CK_WIDTH : 1 + MEM_DDR4_TTL_CKE_WIDTH : 1 + MEM_DDR4_TTL_ODT_WIDTH : 1 + MEM_DDR4_TTL_BANK_ADDR_WIDTH : 2 + MEM_DDR4_TTL_BANK_GROUP_WIDTH : 2 + MEM_DDR4_TTL_CHIP_ID_WIDTH : 0 + MEM_DDR4_TTL_ADDR_WIDTH : 17 + MEM_DDR4_TTL_RM_WIDTH : 0 + MEM_DDR4_TTL_NUM_OF_DIMMS : 1 + MEM_DDR4_TTL_NUM_OF_PHYSICAL_RANKS : 1 + MEM_DDR4_TTL_NUM_OF_LOGICAL_RANKS : 1 + MEM_DDR4_MR0 : 0x874 + MEM_DDR4_MR1 : 0x10001 + MEM_DDR4_MR2 : 0x20028 + MEM_DDR4_MR3 : 0x30400 + MEM_DDR4_MR4 : 0x40800 + MEM_DDR4_MR5 : 0x51460 + MEM_DDR4_MR6 : 0x6080f + MEM_DDR4_RDIMM_CONFIG : 00000020000000003900000D40030B0F556000 + MEM_DDR4_LRDIMM_EXTENDED_CONFIG : + MEM_DDR4_ADDRESS_MIRROR_BITVEC : 0 + MEM_DDR4_RCD_PARITY_CONTROL_WORD : 13 + MEM_DDR4_RCD_COMMAND_LATENCY : 1 + MEM_DDR4_USE_DEFAULT_ODT : true + MEM_DDR4_R_ODTN_1X1 : {Rank 0} + MEM_DDR4_R_ODT0_1X1 : off + MEM_DDR4_W_ODTN_1X1 : {Rank 0} + MEM_DDR4_W_ODT0_1X1 : on + MEM_DDR4_R_ODTN_2X2 : {Rank 0} {Rank 1} + MEM_DDR4_R_ODT0_2X2 : off off + MEM_DDR4_R_ODT1_2X2 : off off + MEM_DDR4_W_ODTN_2X2 : {Rank 0} {Rank 1} + MEM_DDR4_W_ODT0_2X2 : on off + MEM_DDR4_W_ODT1_2X2 : off on + MEM_DDR4_R_ODTN_4X2 : {Rank 0} {Rank 1} {Rank 2} {Rank 3} + MEM_DDR4_R_ODT0_4X2 : off off on on + MEM_DDR4_R_ODT1_4X2 : on on off off + MEM_DDR4_W_ODTN_4X2 : {Rank 0} {Rank 1} {Rank 2} {Rank 3} + MEM_DDR4_W_ODT0_4X2 : off off on on + MEM_DDR4_W_ODT1_4X2 : on on off off + MEM_DDR4_R_ODTN_4X4 : {Rank 0} {Rank 1} {Rank 2} {Rank 3} + MEM_DDR4_R_ODT0_4X4 : off off on off + MEM_DDR4_R_ODT1_4X4 : off off off on + MEM_DDR4_R_ODT2_4X4 : on off off off + MEM_DDR4_R_ODT3_4X4 : off on off off + MEM_DDR4_W_ODTN_4X4 : {Rank 0} {Rank 1} {Rank 2} {Rank 3} + MEM_DDR4_W_ODT0_4X4 : on off on off + MEM_DDR4_W_ODT1_4X4 : off on off on + MEM_DDR4_W_ODT2_4X4 : on off on off + MEM_DDR4_W_ODT3_4X4 : off on off on + MEM_DDR4_R_DERIVED_ODTN : {Rank 0} - - - + MEM_DDR4_R_DERIVED_ODT0 : {(Drive) RZQ/7 (34 Ohm)} - - - + MEM_DDR4_R_DERIVED_ODT1 : - - - - + MEM_DDR4_R_DERIVED_ODT2 : - - - - + MEM_DDR4_R_DERIVED_ODT3 : - - - - + MEM_DDR4_R_DERIVED_BODTN : + MEM_DDR4_R_DERIVED_BODT0 : + MEM_DDR4_R_DERIVED_BODT1 : + MEM_DDR4_W_DERIVED_ODTN : {Rank 0} - - - + MEM_DDR4_W_DERIVED_ODT0 : {(Park) RZQ/4 (60 Ohm)} - - - + MEM_DDR4_W_DERIVED_ODT1 : - - - - + MEM_DDR4_W_DERIVED_ODT2 : - - - - + MEM_DDR4_W_DERIVED_ODT3 : - - - - + MEM_DDR4_W_DERIVED_BODTN : + MEM_DDR4_W_DERIVED_BODT0 : + MEM_DDR4_W_DERIVED_BODT1 : + MEM_DDR4_SEQ_ODT_TABLE_LO : 0 + MEM_DDR4_SEQ_ODT_TABLE_HI : 0 + MEM_DDR4_CTRL_CFG_READ_ODT_CHIP : 0 + MEM_DDR4_CTRL_CFG_WRITE_ODT_CHIP : 0 + MEM_DDR4_CTRL_CFG_READ_ODT_RANK : 0 + MEM_DDR4_CTRL_CFG_WRITE_ODT_RANK : 0 + MEM_DDR4_SPEEDBIN_ENUM : DDR4_SPEEDBIN_2666 + MEM_DDR4_TIS_PS : 62 + MEM_DDR4_TIS_AC_MV : 100 + MEM_DDR4_TIH_PS : 87 + MEM_DDR4_TIH_DC_MV : 75 + MEM_DDR4_TDIVW_TOTAL_UI : 0.2 + MEM_DDR4_VDIVW_TOTAL : 130 + MEM_DDR4_TDQSQ_UI : 0.14 + MEM_DDR4_TQH_UI : 0.74 + MEM_DDR4_TDVWP_UI : 0.72 + MEM_DDR4_TDQSCK_PS : 175 + MEM_DDR4_TDQSS_CYC : 0.27 + MEM_DDR4_TQSH_CYC : 0.4 + MEM_DDR4_TDSH_CYC : 0.18 + MEM_DDR4_TDSS_CYC : 0.18 + MEM_DDR4_TWLS_CYC : 0.13 + MEM_DDR4_TWLH_CYC : 0.13 + MEM_DDR4_TINIT_US : 500 + MEM_DDR4_TMRD_CK_CYC : 8 + MEM_DDR4_TRAS_NS : 32.0 + MEM_DDR4_TRCD_NS : 14.16 + MEM_DDR4_TRP_NS : 14.16 + MEM_DDR4_TREFI_US : 7.8 + MEM_DDR4_TRFC_NS : 350.0 + MEM_DDR4_TWR_NS : 15.0 + MEM_DDR4_TWTR_L_CYC : 9 + MEM_DDR4_TWTR_S_CYC : 3 + MEM_DDR4_TFAW_NS : 21.0 + MEM_DDR4_TRRD_L_CYC : 6 + MEM_DDR4_TRRD_S_CYC : 4 + MEM_DDR4_TCCD_L_CYC : 6 + MEM_DDR4_TCCD_S_CYC : 4 + MEM_DDR4_TRFC_DLR_NS : 90.0 + MEM_DDR4_TFAW_DLR_CYC : 16 + MEM_DDR4_TRRD_DLR_CYC : 4 + MEM_DDR4_TDIVW_DJ_CYC : 0.1 + MEM_DDR4_TDQSQ_PS : 66 + MEM_DDR4_TQH_CYC : 0.38 + MEM_DDR4_TINIT_CK : 600000 + MEM_DDR4_TDQSCK_DERV_PS : 2 + MEM_DDR4_TDQSCKDS : 450 + MEM_DDR4_TDQSCKDM : 900 + MEM_DDR4_TDQSCKDL : 1200 + MEM_DDR4_TRAS_CYC : 39 + MEM_DDR4_TRCD_CYC : 17 + MEM_DDR4_TRP_CYC : 17 + MEM_DDR4_TRFC_CYC : 420 + MEM_DDR4_TWR_CYC : 18 + MEM_DDR4_TRTP_CYC : 9 + MEM_DDR4_TFAW_CYC : 26 + MEM_DDR4_TREFI_CYC : 9360 + MEM_DDR4_WRITE_CMD_LATENCY : 6 + MEM_DDR4_TRFC_DLR_CYC : 108 + MEM_DDR4_CFG_GEN_SBE : false + MEM_DDR4_CFG_GEN_DBE : false + MEM_DDR4_LRDIMM_VREFDQ_VALUE : + MEM_DDR4_TWLS_PS : 0.0 + MEM_DDR4_TWLH_PS : 0.0 + BOARD_DDR4_USE_DEFAULT_SLEW_RATES : true + BOARD_DDR4_USE_DEFAULT_ISI_VALUES : true + BOARD_DDR4_USER_CK_SLEW_RATE : 4.0 + BOARD_DDR4_USER_AC_SLEW_RATE : 2.0 + BOARD_DDR4_USER_RCLK_SLEW_RATE : 8.0 + BOARD_DDR4_USER_WCLK_SLEW_RATE : 4.0 + BOARD_DDR4_USER_RDATA_SLEW_RATE : 4.0 + BOARD_DDR4_USER_WDATA_SLEW_RATE : 2.0 + BOARD_DDR4_USER_AC_ISI_NS : 0.0 + BOARD_DDR4_USER_RCLK_ISI_NS : 0.0 + BOARD_DDR4_USER_WCLK_ISI_NS : 0.0 + BOARD_DDR4_USER_RDATA_ISI_NS : 0.0 + BOARD_DDR4_USER_WDATA_ISI_NS : 0.0 + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED : true + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS : 0.02 + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS : 0.02 + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED : false + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS : 0.02 + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS : 0.02 + BOARD_DDR4_DQS_TO_CK_SKEW_NS : 0.02 + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS : 0.05 + BOARD_DDR4_SKEW_BETWEEN_DQS_NS : 0.02 + BOARD_DDR4_AC_TO_CK_SKEW_NS : 0.0 + BOARD_DDR4_MAX_CK_DELAY_NS : 0.6 + BOARD_DDR4_MAX_DQS_DELAY_NS : 0.6 + BOARD_DDR4_TIS_DERATING_PS : 0 + BOARD_DDR4_TIH_DERATING_PS : 0 + BOARD_DDR4_CK_SLEW_RATE : 4.0 + BOARD_DDR4_AC_SLEW_RATE : 2.0 + BOARD_DDR4_RCLK_SLEW_RATE : 8.0 + BOARD_DDR4_WCLK_SLEW_RATE : 4.0 + BOARD_DDR4_RDATA_SLEW_RATE : 4.0 + BOARD_DDR4_WDATA_SLEW_RATE : 2.0 + BOARD_DDR4_AC_ISI_NS : 0.15 + BOARD_DDR4_RCLK_ISI_NS : 0.15 + BOARD_DDR4_WCLK_ISI_NS : 0.06 + BOARD_DDR4_RDATA_ISI_NS : 0.12 + BOARD_DDR4_WDATA_ISI_NS : 0.13 + BOARD_DDR4_SKEW_WITHIN_DQS_NS : 0.02 + BOARD_DDR4_SKEW_WITHIN_AC_NS : 0.18 + CTRL_ECC_EN : true + CTRL_MMR_EN : false + CTRL_AUTO_PRECHARGE_EN : false + CTRL_USER_PRIORITY_EN : false + CTRL_REORDER_EN : true + CTRL_ECC_READDATAERROR_EN : false + CTRL_ECC_STATUS_EN : false + CTRL_DDR4_AVL_PROTOCOL_ENUM : CTRL_AVL_PROTOCOL_MM + CTRL_DDR4_SELF_REFRESH_EN : false + CTRL_DDR4_AUTO_POWER_DOWN_EN : false + CTRL_DDR4_AUTO_POWER_DOWN_CYCS : 32 + CTRL_DDR4_USER_REFRESH_EN : false + CTRL_DDR4_USER_PRIORITY_EN : false + CTRL_DDR4_AUTO_PRECHARGE_EN : false + CTRL_DDR4_ADDR_ORDER_ENUM : DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + CTRL_DDR4_ECC_EN : true + CTRL_DDR4_ECC_AUTO_CORRECTION_EN : false + CTRL_DDR4_ECC_READDATAERROR_EN : false + CTRL_DDR4_ECC_STATUS_EN : false + CTRL_DDR4_REORDER_EN : true + CTRL_DDR4_STARVE_LIMIT : 10 + CTRL_DDR4_MMR_EN : false + CTRL_DDR4_MAJOR_MODE_EN : false + CTRL_DDR4_POST_REFRESH_EN : true + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT : 0 + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT : 2 + CTRL_DDR4_PRE_REFRESH_EN : false + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT : 1 + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS : 0 + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS : 0 + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS : 0 + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS : 0 + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS : 0 + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS : 0 + DIAG_SIM_REGTEST_MODE : false + DIAG_TIMING_REGTEST_MODE : false + DIAG_SYNTH_FOR_SIM : false + DIAG_FAST_SIM_OVERRIDE : FAST_SIM_OVERRIDE_DEFAULT + DIAG_SEQ_RESET_AUTO_RELEASE : avl + DIAG_DB_RESET_AUTO_RELEASE : avl_release + DIAG_ADD_READY_PIPELINE : true + DIAG_EXPOSE_EARLY_READY : false + DIAG_EXPOSE_RD_TYPE : false + DIAG_VERBOSE_IOAUX : false + DIAG_ECLIPSE_DEBUG : false + DIAG_EXPORT_VJI : false + DIAG_ENABLE_JTAG_UART : false + DIAG_ENABLE_JTAG_UART_HEX : false + DIAG_ENABLE_HPS_EMIF_DEBUG : false + DIAG_SOFT_NIOS_MODE : SOFT_NIOS_MODE_DISABLED + DIAG_SOFT_NIOS_CLOCK_FREQUENCY : 100 + DIAG_USE_RS232_UART : false + DIAG_RS232_UART_BAUDRATE : 57600 + DIAG_EX_DESIGN_ADD_TEST_EMIFS : + DIAG_EX_DESIGN_SEPARATE_RESETS : false + DIAG_EXPOSE_DFT_SIGNALS : false + DIAG_EXTRA_CONFIGS : + DIAG_USE_BOARD_DELAY_MODEL : false + DIAG_BOARD_DELAY_CONFIG_STR : + DIAG_TG_AVL_2_NUM_CFG_INTERFACES : 0 + DIAG_EXPORT_PLL_REF_CLK_OUT : false + DIAG_EXPORT_PLL_LOCKED : true + DIAG_HMC_HRC : auto + SHORT_QSYS_INTERFACE_NAMES : true + DIAG_EXT_DOCS : false + DIAG_SIM_CAL_MODE_ENUM : SIM_CAL_MODE_SKIP + DIAG_EXPORT_SEQ_AVALON_SLAVE : CAL_DEBUG_EXPORT_MODE_JTAG + DIAG_EXPORT_SEQ_AVALON_MASTER : false + DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN : true + DIAG_EX_DESIGN_NUM_OF_SLAVES : 1 + DIAG_EX_DESIGN_ISSP_EN : true + DIAG_INTERFACE_ID : 0 + DIAG_EFFICIENCY_MONITOR : EFFMON_MODE_DISABLED + DIAG_USE_NEW_EFFMON_S10 : false + DIAG_USE_ABSTRACT_PHY : false + DIAG_SIM_MEMORY_PRELOAD : false + DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE : + DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE : + DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE : + DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE : + DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE : + DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE : + DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE : + DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE : + DIAG_USE_SIM_MEMORY_VALIDATION_TG : false + DIAG_SIM_VERBOSE_LEVEL : 5 + DIAG_FAST_SIM : true + DIAG_USE_TG_AVL_2 : false + DIAG_TG2_TEST_DURATION : SHORT + DIAG_USE_TG_HBM : false + DIAG_EXPORT_TG_CFG_AVALON_SLAVE : TG_CFG_AMM_EXPORT_MODE_EXPORT + DIAG_ENABLE_DEFAULT_MODE : false + DIAG_ENABLE_USER_MODE : true + DIAG_ENABLE_SOFT_M20K : false + DIAG_SIM_CHECKER_SKIP_TG : false + DIAG_AC_PARITY_ERR : false + DIAG_DISABLE_AFI_P2C_REGISTERS : false + DIAG_EX_DESIGN_SEPARATE_RZQS : true + DIAG_DDR4_SIM_CAL_MODE_ENUM : SIM_CAL_MODE_SKIP + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE : CAL_DEBUG_EXPORT_MODE_JTAG + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER : false + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN : true + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES : 1 + DIAG_DDR4_EX_DESIGN_ISSP_EN : true + DIAG_DDR4_INTERFACE_ID : 0 + DIAG_DDR4_EFFICIENCY_MONITOR : EFFMON_MODE_DISABLED + DIAG_DDR4_USE_NEW_EFFMON_S10 : false + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD : false + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE : EMIF_PRI_PRELOAD.txt + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE : EMIF_SEC_PRELOAD.txt + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG : true + DIAG_DDR4_USE_TG_AVL_2 : false + DIAG_DDR4_USE_TG_HBM : false + DIAG_DDR4_ABSTRACT_PHY : false + DIAG_DDR4_ENABLE_DEFAULT_MODE : false + DIAG_DDR4_ENABLE_USER_MODE : true + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE : TG_CFG_AMM_EXPORT_MODE_EXPORT + DIAG_DDR4_TG2_TEST_DURATION : SHORT + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS : false + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS : false + DIAG_DDR4_AC_PARITY_ERR : false + DIAG_DDR4_SIM_MEMORY_PRELOAD : false + DIAG_DDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE : + DIAG_DDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE : + DIAG_DDR4_USE_SIM_MEMORY_VALIDATION_TG : false + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS : true + DIAG_DDR4_SIM_VERBOSE : true + DIAG_DDR4_SKIP_CA_LEVEL : false + DIAG_DDR4_SKIP_CA_DESKEW : false + DIAG_DDR4_SKIP_VREF_CAL : false + DIAG_DDR4_SKIP_AC_PARITY_CHECK : false + DIAG_DDR4_CAL_ADDR0 : 0 + DIAG_DDR4_CAL_ADDR1 : 8 + DIAG_DDR4_CAL_ENABLE_NON_DES : false + DIAG_DDR4_CAL_FULL_CAL_ON_RESET : true + NUM_IPS : 1 + EMIF_0_CONN_TO_CALIP : CALIP_0 + EMIF_0_STORED_PARAM : + EMIF_0_REF_CLK_SHARING : EXPORTED + EMIF_1_CONN_TO_CALIP : CALIP_0 + EMIF_1_STORED_PARAM : + EMIF_1_REF_CLK_SHARING : EXPORTED + EMIF_2_CONN_TO_CALIP : CALIP_0 + EMIF_2_STORED_PARAM : + EMIF_2_REF_CLK_SHARING : EXPORTED + EMIF_3_CONN_TO_CALIP : CALIP_0 + EMIF_3_STORED_PARAM : + EMIF_3_REF_CLK_SHARING : EXPORTED + EMIF_4_CONN_TO_CALIP : CALIP_0 + EMIF_4_STORED_PARAM : + EMIF_4_REF_CLK_SHARING : EXPORTED + EMIF_5_CONN_TO_CALIP : CALIP_0 + EMIF_5_STORED_PARAM : + EMIF_5_REF_CLK_SHARING : EXPORTED + EMIF_6_CONN_TO_CALIP : CALIP_0 + EMIF_6_STORED_PARAM : + EMIF_6_REF_CLK_SHARING : EXPORTED + EMIF_7_CONN_TO_CALIP : CALIP_0 + EMIF_7_STORED_PARAM : + EMIF_7_REF_CLK_SHARING : EXPORTED + EMIF_8_CONN_TO_CALIP : CALIP_0 + EMIF_8_STORED_PARAM : + EMIF_8_REF_CLK_SHARING : EXPORTED + EMIF_9_CONN_TO_CALIP : CALIP_0 + EMIF_9_STORED_PARAM : + EMIF_9_REF_CLK_SHARING : EXPORTED + EMIF_10_CONN_TO_CALIP : CALIP_0 + EMIF_10_STORED_PARAM : + EMIF_10_REF_CLK_SHARING : EXPORTED + EMIF_11_CONN_TO_CALIP : CALIP_0 + EMIF_11_STORED_PARAM : + EMIF_11_REF_CLK_SHARING : EXPORTED + EMIF_12_CONN_TO_CALIP : CALIP_0 + EMIF_12_STORED_PARAM : + EMIF_12_REF_CLK_SHARING : EXPORTED + EMIF_13_CONN_TO_CALIP : CALIP_0 + EMIF_13_STORED_PARAM : + EMIF_13_REF_CLK_SHARING : EXPORTED + EMIF_14_CONN_TO_CALIP : CALIP_0 + EMIF_14_STORED_PARAM : + EMIF_14_REF_CLK_SHARING : EXPORTED + EMIF_15_CONN_TO_CALIP : CALIP_0 + EMIF_15_STORED_PARAM : + EMIF_15_REF_CLK_SHARING : EXPORTED + EX_DESIGN_GUI_GEN_SIM : true + EX_DESIGN_GUI_GEN_SYNTH : true + EX_DESIGN_GUI_GEN_BSI : false + EX_DESIGN_GUI_GEN_CDC : false + EX_DESIGN_GUI_TARGET_DEV_KIT : TARGET_DEV_KIT_NONE + NUM_IPS_SAVED : 0 + EX_DESIGN_GUI_PREV_PRESET : TARGET_DEV_KIT_NONE + EX_DESIGN_GUI_DDR4_SEL_DESIGN : AVAIL_EX_DESIGNS_GEN_DESIGN + EX_DESIGN_GUI_DDR4_GEN_SIM : true + EX_DESIGN_GUI_DDR4_GEN_SYNTH : true + EX_DESIGN_GUI_DDR4_GEN_BSI : false + EX_DESIGN_GUI_DDR4_GEN_CDC : false + EX_DESIGN_GUI_DDR4_HDL_FORMAT : HDL_FORMAT_VERILOG + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT : TARGET_DEV_KIT_NONE + EX_DESIGN_GUI_DDR4_PREV_PRESET : TARGET_DEV_KIT_NONE + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_io_timing.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_io_timing.tcl new file mode 100644 index 0000000000..b3b43969e2 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_io_timing.tcl @@ -0,0 +1,221 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +#################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file contains the routines to generate the early external memory +# interface timing report at the before the start of the compile flow. +# +# These routines are only meant to be used in this specific context. +# Trying to using them in a different context can have unexpected +# results. +# +# In performing the above timing analysis, the script +# calls procedures that are found in a separate file (report_timing_core.tcl) +# that has all the details of the timing analysis, and this +# file only serves as the top-level timing analysis flow. +# +# To reduce data lookups in all the procuedures that perform +# the individual timing analysis, data that is needed for +# multiple procedures is lookup up in this file and passed +# to the various parameters. These data include both values +# that are applicable over all operating conditions, and those +# that are applicable to only one operating condition. +# +############################################################# + +# Determin if only doing IO analysis +set ::io_only_analysis 1 + +############################################################# +# Initialize the environment / Error Checking +############################################################# + +if { ![info exists quartus(nameofexecutable)] || $quartus(nameofexecutable) != "quartus_sta" } { + post_message -type error "This script must be run from quartus_sta" + return 1 +} + +# Check the project +if { ! [ is_project_open ] } { + if { [ llength $quartus(args) ] > 0 } { + set project_name [lindex $quartus(args) 0] + project_open -revision [ get_current_revision $project_name ] $project_name + } else { + post_message -type error "Missing project_name argument" + return 1 + } +} + + +# Load the timing netlist if required +if { ! [timing_netlist_exist] } { + # In IO only flow, check to see if we could even create a timing nelist + # First try to see if we could even create a + catch {create_timing_netlist} create_timing_netlist_out + set create_timing_netlist_error [regexp "ERROR" $create_timing_netlist_out] + + # If create timing netlist cannot run, then the IO flow is a valid flow + if {$create_timing_netlist_error == 1} { + create_emif_netlist -revision $::quartus(project) + sta_create_empty_report + } else { + delete_timing_netlist + post_message -type error "Early EMIF IO timing estimate cannot be run once the Fitter has been run" + return 1 + } + +} else { + post_message -type error "Early EMIF IO timing estimate cannot be run once the Fitter has been run" + return 1 +} + +# Load the reports +load_package report +set current_timing_report_type [get_current_report_type] +if { [catch {load_report_database -type_name $current_timing_report_type} load_report_out ] } { + create_report_database -type_name $current_timing_report_type +} + +############################################################# +# Some useful functions +############################################################# +set script_dir [file dirname [info script]] +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl" + + +if [ info exists ddr_db ] { + unset ddr_db +} +ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_initialize_ddr_db ddr_db var + + +# If multiple instances of this core are present in the +# design they will all be analyzed through the +# following loop +set instances [ array names ddr_db ] +set inst_id 0 +foreach inst $instances { + + if { [ info exists pins ] } { + # Clean-up stale content + unset pins + } + array set pins $ddr_db($inst) + + ################################################################################# + # Find some design values and parameters that will used during the timing analysis + # that do not change accross the operating conditions + + set fname "" + set fbasename "" + if {[llength $instances] <= 1} { + set fbasename "${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename}" + } else { + set fbasename "${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename}_${inst_id}" + } + + ################################################################################# + # Now loop the timing analysis over the various operating conditions + set summary [list] + + set opcname "All conditions" + set opcname [string trim $opcname] + + ####################################### + # PHY Analyses + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_perform_core_analysis $opcname $inst pins var summary + + ####################################### + # Print out the Summary Panel for this instance + + set summary [lsort -command ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_proc $summary] + + post_message -type info "Core: ${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename} - Instance: $inst" + post_message -type info " setup hold" + set panel_name "[get_report_folder -relative]||$inst" + # Delete any pre-existing summary panel + set panel_id [get_report_panel_id $panel_name] + if {$panel_id != -1} { + delete_report_panel -id $panel_id + } + + # Create summary panel + set total_failures 0 + set rows [list] + lappend rows "add_row_to_table -id \$panel_id \[list \"Path\" \"Operating Condition\" \"Setup Slack\" \"Hold Slack\"\]" + foreach summary_line $summary { + foreach {corner order path su hold num_su num_hold} $summary_line { } + if {($num_su == 0) || ([string trim $su] == "")} { + set su "--" + } + if {($num_hold == 0) || ([string trim $hold] == "")} { + set hold "--" + } + + + if { ($su != "--" && $su < 0) || ($hold != "--" && $hold < 0) } { + incr total_failures + set type warning + set offset 50 + } else { + set type info + set offset 53 + } + if {$su != "--"} { + set su [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp $su] + } + if {$hold != "--"} { + set hold [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp $hold] + } + post_message -type $type [format "%-${offset}s | %6s %6s" $path $su $hold] + set fg_colours [list black black] + if { $su != "--" && $su < 0 } { + lappend fg_colours red + } else { + lappend fg_colours black + } + + if { $hold != "" && $hold < 0 } { + lappend fg_colours red + } else { + lappend fg_colours black + } + lappend rows "add_row_to_table -id \$panel_id -fcolors \"$fg_colours\" \[list \"$path\" \"$corner\" \"$su\" \"$hold\"\]" + } + if {$total_failures > 0} { + post_message -type critical_warning "DDR Timing requirements not met" + set panel_id [create_report_panel -table $panel_name -color red] + } else { + set panel_id [create_report_panel -table $panel_name] + } + foreach row $rows { + eval $row + } + + incr inst_id +} +# end foreach inst + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing.tcl new file mode 100644 index 0000000000..a775dd45ba --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing.tcl @@ -0,0 +1,273 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +#################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file contains the routines to generate the external memory +# interface timing report at the end of the compile flow. +# +# These routines are only meant to be used in this specific context. +# Trying to using them in a different context can have unexpected +# results. +# +# In performing the above timing analysis, the script +# calls procedures that are found in a separate file (report_timing_core.tcl) +# that has all the details of the timing analysis, and this +# file only serves as the top-level timing analysis flow. +# +# To reduce data lookups in all the procuedures that perform +# the individual timing analysis, data that is needed for +# multiple procedures is lookup up in this file and passed +# to the various parameters. These data include both values +# that are applicable over all operating conditions, and those +# that are applicable to only one operating condition. +# +############################################################# + +# Determine if only doing IO analysis +set ::io_only_analysis 0 + +############################################################# +# Initialize the environment / Error Checking +############################################################# + +proc get_speedgrade_from_opn {part} { + set temp_grade [get_part_info -temperature_grade $part] + set speed_grade [get_part_info -speed_grade $part] + set power_model [get_part_info -power_model $part] + + if {$temp_grade == "Extended"} { + set temp_grade "E" + } elseif {$temp_grade == "Industrial"} { + set temp_grade "I" + } elseif {$temp_grade == "Commercial"} { + set temp_grade "C" + } else { + set temp_grade [string index $part 12] + } + + if {$power_model == "{Standard Power}"} { + set power_model "V" + } elseif {$power_model == "{Lower Power}"} { + set power_model "E" + } elseif {$power_model == "{Extreme Low Power}"} { + set power_model "X" + } elseif {$power_model == "{Fixed Voltage}"} { + set power_model "F" + } else { + set power_model [string index $part 14] + } + + set retval $temp_grade + append retval $speed_grade + append retval $power_model + return $retval +} + +if { ![info exists quartus(nameofexecutable)] || $quartus(nameofexecutable) != "quartus_sta" } { + post_message -type error "This script must be run from quartus_sta" + return 1 +} + +# Check the project +if { ! [ is_project_open ] } { + if { [ llength $quartus(args) ] > 0 } { + set project_name [lindex $quartus(args) 0] + project_open -revision [ get_current_revision $project_name ] $project_name + } else { + post_message -type error "Missing project_name argument" + return 1 + } +} + + +# Load the timing netlist if required +if { ! [timing_netlist_exist] } { + create_timing_netlist + read_sdc + update_timing_netlist + + set script_dir [file dirname [info script]] + source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl" + source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl" + source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl" + source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl" + if { ! [timing_netlist_exist] } { + post_message -type error "Timing Netlist has not been created. Run the 'Update Timing Netlist' task first." + return 1 + } +} + + +# Load the atom netlist if required +load_package atoms +read_atom_netlist + +# Load the reports +load_package report +set current_timing_report_type [get_current_report_type] +load_report_database -type_name $current_timing_report_type + +############################################################# +# Some useful functions +############################################################# +set script_dir [file dirname [info script]] +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl" +source "$script_dir/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl" + +############################################### +# This is the main call to the netlist traversal routines +# that will automatically find all pins and registers required +# to timing analyze the Core. + +if [ info exists ddr_db ] { + unset ddr_db +} +ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_initialize_ddr_db ddr_db var + +set old_active_clocks [get_active_clocks] +set_active_clocks [all_clocks] + +# If multiple instances of this core are present in the +# design they will all be analyzed through the +# following loop +set instances [ array names ddr_db ] +set inst_id 0 +foreach inst $instances { + + if { [ info exists pins ] } { + # Clean-up stale content + unset pins + } + array set pins $ddr_db($inst) + + ################################################################################# + # Find some design values and parameters that will used during the timing analysis + # that do not change accross the operating conditions + + set fname "" + set fbasename "" + if {[llength $instances] <= 1} { + set fbasename "${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename}" + } else { + set fbasename "${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename}_${inst_id}" + } + + ################################################################################# + # Now loop the timing analysis over the various operating conditions + set summary [list] + + set opcname [get_operating_conditions_info [get_operating_conditions] -display_name] + set hold_only_corner [get_operating_conditions_info [get_operating_conditions] -is_hold_only] + set opcname [string trim $opcname] + + if {$hold_only_corner} { + set opcname "${opcname}, Hold Only" + } + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_perform_core_analysis $opcname $inst pins var summary + + + set summary [lsort -command ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_proc $summary] + + post_message -type info "Core: ${::GLOBAL_ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_corename} - Instance: $inst" + post_message -type info " setup hold" + set panel_name "[get_report_folder -relative]||$inst" + # Delete any pre-existing summary panel + set panel_id [get_report_panel_id $panel_name] + if {$panel_id != -1} { + delete_report_panel -id $panel_id + } + + # Create summary panel + set total_failures 0 + set rows [list] + lappend rows "add_row_to_table -id \$panel_id \[list \"Path\" \"Operating Condition\" \"Setup Slack\" \"Hold Slack\"\]" + foreach summary_line $summary { + foreach {corner order path su hold num_su num_hold} $summary_line { } + if {($num_su == 0) || ([string trim $su] == "")} { + set su "--" + } + if {($num_hold == 0) || ([string trim $hold] == "")} { + set hold "--" + } + + set type info + set offset 59 + + if { ($su != "--" && $su < 0) || ($hold != "--" && $hold < 0) } { + incr total_failures + } + if {$su != "--"} { + set su [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp $su] + } + if {$hold != "--"} { + set hold [ ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp $hold] + } + post_message -type $type [format "%-${offset}s | %6s %6s" $path $su $hold] + set fg_colours [list black black] + if { $su != "--" && $su < 0 } { + lappend fg_colours red + } else { + lappend fg_colours black + } + + if { $hold != "" && $hold < 0 } { + lappend fg_colours red + } else { + lappend fg_colours black + } + lappend rows "add_row_to_table -id \$panel_id -fcolors \"$fg_colours\" \[list \"$path\" \"$corner\" \"$su\" \"$hold\"\]" + } + if {$total_failures > 0} { + post_message -type critical_warning "DDR Timing requirements not met" + set panel_id [create_report_panel -table $panel_name -color red] + } else { + set panel_id [create_report_panel -table $panel_name] + } + foreach row $rows { + eval $row + } + + incr inst_id +} +# end foreach inst + + +set_active_clocks $old_active_clocks + +set curr_part $::TimeQuestInfo(part) +set curr_speedgrade [get_speedgrade_from_opn $curr_part] + +if {![test_part_trait_of $curr_part -trait FINAL_TIMING_MODEL]} { + post_message -type critical_warning "Timing analysis was performed using a non-final timing model and/or constraints. You must regenerate the external memory interface IP and recheck timing closure in a future version of Quartus Prime." +} + +if {$var(PHY_TARGET_SPEEDGRADE) == ""} { + set effective_target_speedgrade "E1" +} else { + set effective_target_speedgrade $var(PHY_TARGET_SPEEDGRADE) +} + +if {$curr_speedgrade != $effective_target_speedgrade} { + post_message -type critical_warning "This External Memory Interface IP core was generated for a speed grade $effective_target_speedgrade device, but the speed grade of $curr_part is $curr_speedgrade. You should regenerate the IP core to match the target device to avoid hardware issue." +} diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl new file mode 100644 index 0000000000..e08f659c8b --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl @@ -0,0 +1,257 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + + + +################################################################ +# Helper function to add a report_timing-based analysis section +################################################################ +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_report_timing_analysis {opcname inst var_array_name summary_name title from_clks to_clks from_nodes to_nodes } { + + ####################################### + # Need access to global variables + upvar 1 $summary_name global_summary + upvar 1 $var_array_name var + + set num_failing_path 10 + + set setup_margin 999.9 + set hold_margin 999.9 + set recovery_margin 999.9 + set removal_margin 999.9 + + set hold_only_corner [get_operating_conditions_info [get_operating_conditions] -is_hold_only] + + if {!$hold_only_corner && ([get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -setup]] > 0)} { + set res_0 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name "$inst $title (setup)" -setup] + set setup_margin [lindex $res_0 1] + } else { + set setup_margin "--" + } + + if {[get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -hold]] > 0} { + set res_1 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name "$inst $title (hold)" -hold] + set hold_margin [lindex $res_1 1] + } + + if {$var(DIAG_TIMING_REGTEST_MODE)} { + lappend global_summary [list $opcname 0 "$title ($opcname)" $setup_margin $hold_margin] + } + + if {!$hold_only_corner && ([get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -recovery]] > 0)} { + set res_0 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name "$inst $title (recovery)" -recovery] + set recovery_margin [lindex $res_0 1] + } else { + set recovery_margin "--" + } + + if {[get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -removal]] > 0} { + set res_1 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name "$inst $title (removal)" -removal] + set removal_margin [lindex $res_1 1] + } else { + set removal_margin "--" + } + + if {$var(DIAG_TIMING_REGTEST_MODE)} { + lappend global_summary [list $opcname 0 "$title Recovery/Removal ($opcname)" $recovery_margin $removal_margin] + } + + return [list $setup_margin $hold_margin $recovery_margin $removal_margin] +} + +############################################################# +# Other Core-Logic related Timing Analysis +############################################################# + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_c2p_p2c_report_timing_analysis {opcname inst pin_array_name var_array_name summary_name title from_clks to_clks from_nodes to_nodes p2c} { + + ####################################### + # Need access to global variables + upvar 1 $summary_name global_summary + upvar 1 $var_array_name var + upvar 1 $pin_array_name pins + + set num_failing_path 10 + + set setup_margin 999.9 + set hold_margin 999.9 + set recovery_margin 999.9 + set removal_margin 999.9 + set debug 0 + + set hold_only_corner [get_operating_conditions_info [get_operating_conditions] -is_hold_only] + + set positive_fcolour [list "black" "blue" "blue"] + set negative_fcolour [list "black" "red" "red"] + set summary [list] + + # Get the periphery clocks + if {$p2c} { + set phyclks $from_clks + } else { + set phyclks $to_clks + } + + # Set panel names + set panel_name_setup "$inst $title (setup)" + set panel_name_hold "$inst $title (hold)" + set panel_name_recovery "$inst $title (recovery)" + set panel_name_removal "$inst $title (removal)" + set disable_panel_color_flag "" + set quiet_flag "" + + # Generate the default margins + if {!$hold_only_corner} { + set res_0 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name $panel_name_setup -setup $disable_panel_color_flag $quiet_flag] + set setup_margin [lindex $res_0 1] + } else { + set setup_margin "--" + } + set res_1 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name $panel_name_hold -hold $disable_panel_color_flag $quiet_flag] + set hold_margin [lindex $res_1 1] + + set recovery_paths 0 + set removal_paths 0 + + if {!$hold_only_corner && ([get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -recovery]] > 0)} { + set recovery_paths 1 + set res_2 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name $panel_name_recovery -recovery $disable_panel_color_flag $quiet_flag] + set recovery_margin [lindex $res_2 1] + } else { + set recovery_margin "--" + } + + if {[get_collection_size [get_timing_paths -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths 1 -removal]] > 0} { + set removal_paths 1 + set res_3 [report_timing -quiet -detail full_path -from_clock $from_clks -to_clock $to_clks -from $from_nodes -to $to_nodes -npaths $num_failing_path -panel_name $panel_name_removal -removal $disable_panel_color_flag $quiet_flag] + set removal_margin [lindex $res_3 1] + } else { + set removal_margin "--" + } + + if {$var(DIAG_TIMING_REGTEST_MODE)} { + lappend global_summary [list $opcname 0 "$title ($opcname)" $setup_margin $hold_margin] + if {($recovery_paths == 1) || ($removal_paths == 1)} { + lappend global_summary [list $opcname 0 "$title Recovery/Removal ($opcname)" $recovery_margin $hold_margin] + } + } + + return [list $setup_margin $hold_margin $recovery_margin $removal_margin] +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_perform_core_analysis {opcname inst pin_array_name var_array_name summary_name} { + + ####################################### + # Need access to global variables + upvar 1 $summary_name global_summary + upvar 1 $var_array_name var + upvar 1 $pin_array_name pins + global ::io_only_analysis + + # Debug switch. Change to 1 to get more run-time debug information + set debug 0 + set result 1 + + ############################### + # PHY analysis + ############################### + + set analysis_name "Core" + + if {$::io_only_analysis == 1} { + set setup_slack "--" + set hold_slack "--" + lappend global_summary [list $opcname 0 "$analysis_name ($opcname)" $setup_slack $hold_slack] + post_message -type warning "Early EMIF IO timing estimate does not include core FPGA timing" + } elseif {$var(IS_HPS)} { + # No core timing analysis required by HPS interface + set setup_slack "--" + set hold_slack "--" + lappend global_summary [list $opcname 0 "$analysis_name ($opcname)" $setup_slack $hold_slack] + lappend global_summary [list $opcname 0 "$analysis_name Recovery/Removal ($opcname)" $setup_slack $hold_slack] + } else { + + set master_instname $pins(master_instname) + set coreclkname [list ${master_instname}_core_usr_* ${master_instname}_core_afi_* ${master_instname}_core_dft_* ${master_instname}_ref_clock ${master_instname}_core_nios_clk [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_name_from_pin_name $pins(pll_ref_clock)]] + set coreclks [get_clocks -nowarn $coreclkname] + + set phyclkname [list ${inst}_phy_*] + set phyclks [get_clocks -nowarn $phyclkname] + + set emif_regs [get_registers $inst|*] + set rest_regs [remove_from_collection [all_registers] $emif_regs] + + set setup_margin 999.9 + set hold_margin 999.9 + set recovery_margin 999.9 + set removal_margin 999.9 + + # Core/periphery transfers + + # Core-to-periphery + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_c2p_p2c_report_timing_analysis $opcname $inst $pin_array_name var global_summary "Core To Periphery" $coreclks $phyclks "*" $emif_regs 0] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + + # Periphery-to-core + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_c2p_p2c_report_timing_analysis $opcname $inst $pin_array_name var global_summary "Periphery To Core" $phyclks $coreclks $emif_regs "*" 1] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + + # Pure Core transfers + + set_active_clocks [remove_from_collection [all_clocks] $phyclks] + + # EMIF logic within FPGA core + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_report_timing_analysis $opcname $inst var global_summary "Within Core" $coreclks $coreclks $emif_regs $emif_regs] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + + # Transfers between EMIF and user logic + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_report_timing_analysis $opcname $inst var global_summary "IP to User Logic" "*" "*" $emif_regs $rest_regs] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + + # Transfers between user and EMIF logic + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_report_timing_analysis $opcname $inst var global_summary "User Logic to IP" "*" "*" $rest_regs $emif_regs] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + + # Transfers within non-EMIF logic (not reported by default since they are irrelevant to EMIF IP) + if {$var(DIAG_TIMING_REGTEST_MODE)} { + set res [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_add_report_timing_analysis $opcname $inst var global_summary "Within User Logic" $coreclks $coreclks $rest_regs $rest_regs] + set setup_margin [min $setup_margin [lindex $res 0]] + set hold_margin [min $hold_margin [lindex $res 1]] + set recovery_margin [min $recovery_margin [lindex $res 2]] + set removal_margin [min $removal_margin [lindex $res 3]] + } + + set_active_clocks [all_clocks] + + lappend global_summary [list $opcname 0 "$analysis_name ($opcname)" $setup_margin $hold_margin] + lappend global_summary [list $opcname 0 "$analysis_name Recovery/Removal ($opcname)" $recovery_margin $removal_margin] + } +} + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_sim.txt b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_sim.txt new file mode 100644 index 0000000000..4fd22e31c2 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_sim.txt @@ -0,0 +1,239 @@ +// This file is dynamically generated and is for information purposes only. +// It is not used during compilation or simulation. + +SEQ_PT + 0x7419 SEQ_PT_IP_VER : 19520 0x4C40 + 0x741B SEQ_PT_INTERFACE_PAR_VER : 2 0x0002 + 0x741D SEQ_PT_DEBUG_DATA_PTR : 0 0x0000 + 0x741F SEQ_PT_USER_COMMAND_PTR : 0 0x0000 + 0x7421 SEQ_PT_MEMORY_TYPE : 1 0x01 + 0x7422 SEQ_PT_DIMM_TYPE : 2 0x02 + 0x7423 SEQ_PT_CONTROLLER_TYPE : 0 0x00 + 0x7424 SEQ_PT_RESERVED : 0 0x00 + 0x7425 SEQ_PT_AFI_CLK_FREQ_KHZ : 600000 0x000927C0 + 0x7429 SEQ_PT_BURST_LEN : 8 0x08 + 0x742A SEQ_PT_READ_LATENCY : 23 0x17 + 0x742B SEQ_PT_WRITE_LATENCY : 18 0x12 + 0x742C SEQ_PT_NUM_RANKS : 1 0x01 + 0x742D SEQ_PT_NUM_DIMMS : 1 0x01 + 0x742E SEQ_PT_NUM_DQS_WR : 9 0x09 + 0x742F SEQ_PT_NUM_DQS_RD : 9 0x09 + 0x7430 SEQ_PT_NUM_DQ : 72 0x48 + 0x7431 SEQ_PT_NUM_DM : 9 0x09 + 0x7432 SEQ_PT_ADDR_WIDTH : 17 0x11 + 0x7433 SEQ_PT_BANK_WIDTH : 2 0x02 + 0x7434 SEQ_PT_CS_WIDTH : 1 0x01 + 0x7435 SEQ_PT_CKE_WIDTH : 1 0x01 + 0x7436 SEQ_PT_ODT_WIDTH : 1 0x01 + 0x7437 SEQ_PT_C_WIDTH : 0 0x00 + 0x7438 SEQ_PT_BANK_GROUP_WIDTH : 2 0x02 + 0x7439 SEQ_PT_ADDR_MIRROR : 0 0x00 + 0x743A SEQ_PT_CK_WIDTH : 1 0x01 + 0x743B SEQ_PT_CAL_DATA_SIZE : 20 0x14 + 0x743C SEQ_PT_NUM_LRDIMM_CFG : 5 0x05 + 0x743D SEQ_PT_NUM_AC_ROM_ENUMS : 52 0x34 + 0x743E SEQ_PT_NUM_CENTERS : 4 0x04 + 0x743F SEQ_PT_NUM_CA_LANES : 4 0x04 + 0x7440 SEQ_PT_NUM_DATA_LANES : 9 0x09 + 0x7441 SEQ_PT_ODT_TABLE_LO : 0 0x00000000 + 0x7445 SEQ_PT_ODT_TABLE_HI : 0 0x00000000 + 0x7449 SEQ_PT_CAL_CONFIG : 220258433 0x0D20E081 + 0x744D SEQ_PT_FILLER : 0 0x0000 + 0x744F SEQ_PT_CAL_DATA_PTR : 176 0x00B0 + 0x00B0 STARTING_VREFIN : 291 0x00000123 (Range 2 - 45%-77.5%, setting = 35) + 0x00B4 CAL_TREFI : 7800 0x00001E78 7800 + 0x00B8 CAL_TRFC : 350 0x0000015E 350 + 0x00BC CAL_ADDR0 : 0 0x00000000 0 + 0x00C0 CAL_ADDR1 : 8 0x00000008 8 + 0x7451 SEQ_PT_DBG_SKIP_RANKS : 0 0x00000000 + 0x7455 SEQ_PT_DBG_SKIP_GROUPS : 0 0x00000000 + 0x7459 SEQ_PT_DBG_SKIP_STEPS : 1350030720 0x5077D580 + 0x745D SEQ_PT_NUM_MR : 12 0x0C + 0x745E SEQ_PT_NUM_DIMM_MR : 7 0x07 + 0x745F SEQ_PT_TILE_ID_PTR : 196 0x00C4 + 0x00C4 TILE [0] : 12 0x0C (T) = (1) + 0x00C5 TILE [1] : 4 0x04 (T) = (0) + 0x00C6 TILE [2] : 20 0x14 (T) = (2) + 0x00C7 TILE [3] : 28 0x1C (T) = (3) + 0x00C8 AC_LANE [0] : 8 0x08 (T L) = (1 0) + 0x00C9 AC_LANE [1] : 9 0x09 (T L) = (1 1) + 0x00CA AC_LANE [2] : 10 0x0A (T L) = (1 2) + 0x00CB AC_LANE [3] : 11 0x0B (T L) = (1 3) + 0x00CC DATA_LANE [0] : 0 0x00 (T L) = (0 0) + 0x00CD DATA_LANE [1] : 1 0x01 (T L) = (0 1) + 0x00CE DATA_LANE [2] : 2 0x02 (T L) = (0 2) + 0x00CF DATA_LANE [3] : 3 0x03 (T L) = (0 3) + 0x00D0 DATA_LANE [4] : 16 0x10 (T L) = (2 0) + 0x00D1 DATA_LANE [5] : 17 0x11 (T L) = (2 1) + 0x00D2 DATA_LANE [6] : 18 0x12 (T L) = (2 2) + 0x00D3 DATA_LANE [7] : 19 0x13 (T L) = (2 3) + 0x00D4 DATA_LANE [8] : 24 0x18 (T L) = (3 0) + 0x00D5 ALIGN_PAD : 0 0x00 + 0x00D6 ALIGN_PAD : 0 0x00 + 0x00D7 ALIGN_PAD : 0 0x00 + 0x7461 SEQ_PT_PIN_ADDR_PTR : 216 0x00D8 + 0x00D8 PORT_MEM_CKE [0] : 6 0x06 (T L P) = (1 0 6 ) AC_LANE [0] + 0x00D9 : 0 0x00 UNUSED_AC_PORT + 0x00DA : 0 0x00 UNUSED_AC_PORT + 0x00DB : 0 0x00 UNUSED_AC_PORT + 0x00DC PORT_MEM_ODT [0] : 4 0x04 (T L P) = (1 0 4 ) AC_LANE [0] + 0x00DD : 0 0x00 UNUSED_AC_PORT + 0x00DE : 0 0x00 UNUSED_AC_PORT + 0x00DF : 0 0x00 UNUSED_AC_PORT + 0x00E0 PORT_MEM_RESET_N [0] : 1 0x01 (T L P) = (1 0 1 ) AC_LANE [0] + 0x00E1 PORT_MEM_ACT_N [0] : 3 0x03 (T L P) = (1 0 3 ) AC_LANE [0] + 0x00E2 PORT_MEM_CS_N [0] : 2 0x02 (T L P) = (1 0 2 ) AC_LANE [0] + 0x00E3 : 0 0x00 UNUSED_AC_PORT + 0x00E4 : 0 0x00 UNUSED_AC_PORT + 0x00E5 : 0 0x00 UNUSED_AC_PORT + 0x00E6 : 0 0x00 UNUSED_AC_PORT + 0x00E7 : 0 0x00 UNUSED_AC_PORT + 0x00E8 : 0 0x00 UNUSED_AC_PORT + 0x00E9 PORT_MEM_BA [0] : 41 0x29 (T L P) = (1 2 9 ) AC_LANE [2] + 0x00EA PORT_MEM_BA [1] : 42 0x2A (T L P) = (1 2 10) AC_LANE [2] + 0x00EB PORT_MEM_BG [0] : 43 0x2B (T L P) = (1 2 11) AC_LANE [2] + 0x00EC PORT_MEM_BG [1] : 0 0x00 (T L P) = (1 0 0 ) AC_LANE [0] + 0x00ED PORT_MEM_A [0] : 16 0x10 (T L P) = (1 1 0 ) AC_LANE [1] + 0x00EE PORT_MEM_A [1] : 17 0x11 (T L P) = (1 1 1 ) AC_LANE [1] + 0x00EF PORT_MEM_A [2] : 18 0x12 (T L P) = (1 1 2 ) AC_LANE [1] + 0x00F0 PORT_MEM_A [3] : 19 0x13 (T L P) = (1 1 3 ) AC_LANE [1] + 0x00F1 PORT_MEM_A [4] : 20 0x14 (T L P) = (1 1 4 ) AC_LANE [1] + 0x00F2 PORT_MEM_A [5] : 21 0x15 (T L P) = (1 1 5 ) AC_LANE [1] + 0x00F3 PORT_MEM_A [6] : 22 0x16 (T L P) = (1 1 6 ) AC_LANE [1] + 0x00F4 PORT_MEM_A [7] : 23 0x17 (T L P) = (1 1 7 ) AC_LANE [1] + 0x00F5 PORT_MEM_A [8] : 24 0x18 (T L P) = (1 1 8 ) AC_LANE [1] + 0x00F6 PORT_MEM_A [9] : 25 0x19 (T L P) = (1 1 9 ) AC_LANE [1] + 0x00F7 PORT_MEM_A [10] : 26 0x1A (T L P) = (1 1 10) AC_LANE [1] + 0x00F8 PORT_MEM_A [11] : 27 0x1B (T L P) = (1 1 11) AC_LANE [1] + 0x00F9 PORT_MEM_A [12] : 35 0x23 (T L P) = (1 2 3 ) AC_LANE [2] + 0x00FA PORT_MEM_A [13] : 36 0x24 (T L P) = (1 2 4 ) AC_LANE [2] + 0x00FB PORT_MEM_A [14] : 37 0x25 (T L P) = (1 2 5 ) AC_LANE [2] + 0x00FC PORT_MEM_A [15] : 38 0x26 (T L P) = (1 2 6 ) AC_LANE [2] + 0x00FD PORT_MEM_A [16] : 39 0x27 (T L P) = (1 2 7 ) AC_LANE [2] + 0x00FE : 0 0x00 UNUSED_AC_PORT + 0x00FF : 0 0x00 UNUSED_AC_PORT + 0x0100 : 0 0x00 UNUSED_AC_PORT + 0x0101 PORT_MEM_PAR [0] : 11 0x0B (T L P) = (1 0 11) AC_LANE [0] + 0x0102 PORT_MEM_ALERT_N [0] : 56 0x38 (T L P) = (1 3 8 ) AC_LANE [3] + 0x0103 : 0 0x00 UNUSED_AC_PORT + 0x0104 PORT_MEM_CK [0] : 8 0x08 (T L P) = (1 0 8 ) AC_LANE [0] + 0x0105 PORT_MEM_CK_N [0] : 9 0x09 (T L P) = (1 0 9 ) AC_LANE [0] + 0x0106 : 0 0x00 UNUSED_AC_PORT + 0x0107 : 0 0x00 UNUSED_AC_PORT + 0x0108 : 0 0x00 UNUSED_AC_PORT + 0x0109 : 0 0x00 UNUSED_AC_PORT + 0x010A : 0 0x00 UNUSED_AC_PORT + 0x010B : 0 0x00 UNUSED_AC_PORT + 0x010C PORT_MEM_DQS [0] : 4 0x04 (T L P) = (0 0 4 ) DATA_LANE [0] + 0x010D PORT_MEM_DQS [1] : 20 0x14 (T L P) = (0 1 4 ) DATA_LANE [1] + 0x010E PORT_MEM_DQS [2] : 36 0x24 (T L P) = (0 2 4 ) DATA_LANE [2] + 0x010F PORT_MEM_DQS [3] : 52 0x34 (T L P) = (0 3 4 ) DATA_LANE [3] + 0x0110 PORT_MEM_DQS [4] : 68 0x44 (T L P) = (2 0 4 ) DATA_LANE [4] + 0x0111 PORT_MEM_DQS [5] : 84 0x54 (T L P) = (2 1 4 ) DATA_LANE [5] + 0x0112 PORT_MEM_DQS [6] : 100 0x64 (T L P) = (2 2 4 ) DATA_LANE [6] + 0x0113 PORT_MEM_DQS [7] : 116 0x74 (T L P) = (2 3 4 ) DATA_LANE [7] + 0x0114 PORT_MEM_DQS [8] : 132 0x84 (T L P) = (3 0 4 ) DATA_LANE [8] + 0x0115 PORT_MEM_DQS_N [0] : 5 0x05 (T L P) = (0 0 5 ) DATA_LANE [0] + 0x0116 PORT_MEM_DQS_N [1] : 21 0x15 (T L P) = (0 1 5 ) DATA_LANE [1] + 0x0117 PORT_MEM_DQS_N [2] : 37 0x25 (T L P) = (0 2 5 ) DATA_LANE [2] + 0x0118 PORT_MEM_DQS_N [3] : 53 0x35 (T L P) = (0 3 5 ) DATA_LANE [3] + 0x0119 PORT_MEM_DQS_N [4] : 69 0x45 (T L P) = (2 0 5 ) DATA_LANE [4] + 0x011A PORT_MEM_DQS_N [5] : 85 0x55 (T L P) = (2 1 5 ) DATA_LANE [5] + 0x011B PORT_MEM_DQS_N [6] : 101 0x65 (T L P) = (2 2 5 ) DATA_LANE [6] + 0x011C PORT_MEM_DQS_N [7] : 117 0x75 (T L P) = (2 3 5 ) DATA_LANE [7] + 0x011D PORT_MEM_DQS_N [8] : 133 0x85 (T L P) = (3 0 5 ) DATA_LANE [8] + 0x011E PORT_MEM_DBI_N [0] : 6 0x06 (T L P) = (0 0 6 ) DATA_LANE [0] + 0x011F PORT_MEM_DBI_N [1] : 22 0x16 (T L P) = (0 1 6 ) DATA_LANE [1] + 0x0120 PORT_MEM_DBI_N [2] : 38 0x26 (T L P) = (0 2 6 ) DATA_LANE [2] + 0x0121 PORT_MEM_DBI_N [3] : 54 0x36 (T L P) = (0 3 6 ) DATA_LANE [3] + 0x0122 PORT_MEM_DBI_N [4] : 70 0x46 (T L P) = (2 0 6 ) DATA_LANE [4] + 0x0123 PORT_MEM_DBI_N [5] : 86 0x56 (T L P) = (2 1 6 ) DATA_LANE [5] + 0x0124 PORT_MEM_DBI_N [6] : 102 0x66 (T L P) = (2 2 6 ) DATA_LANE [6] + 0x0125 PORT_MEM_DBI_N [7] : 118 0x76 (T L P) = (2 3 6 ) DATA_LANE [7] + 0x0126 PORT_MEM_DBI_N [8] : 134 0x86 (T L P) = (3 0 6 ) DATA_LANE [8] + 0x0127 PORT_MEM_DQ [0] : 0 0x00 (T L P) = (0 0 0 ) DATA_LANE [0] + 0x0128 PORT_MEM_DQ [1] : 1 0x01 (T L P) = (0 0 1 ) DATA_LANE [0] + 0x0129 PORT_MEM_DQ [2] : 2 0x02 (T L P) = (0 0 2 ) DATA_LANE [0] + 0x012A PORT_MEM_DQ [3] : 3 0x03 (T L P) = (0 0 3 ) DATA_LANE [0] + 0x012B PORT_MEM_DQ [4] : 8 0x08 (T L P) = (0 0 8 ) DATA_LANE [0] + 0x012C PORT_MEM_DQ [5] : 9 0x09 (T L P) = (0 0 9 ) DATA_LANE [0] + 0x012D PORT_MEM_DQ [6] : 10 0x0A (T L P) = (0 0 10) DATA_LANE [0] + 0x012E PORT_MEM_DQ [7] : 11 0x0B (T L P) = (0 0 11) DATA_LANE [0] + 0x012F PORT_MEM_DQ [8] : 16 0x10 (T L P) = (0 1 0 ) DATA_LANE [1] + 0x0130 PORT_MEM_DQ [9] : 17 0x11 (T L P) = (0 1 1 ) DATA_LANE [1] + 0x0131 PORT_MEM_DQ [10] : 18 0x12 (T L P) = (0 1 2 ) DATA_LANE [1] + 0x0132 PORT_MEM_DQ [11] : 19 0x13 (T L P) = (0 1 3 ) DATA_LANE [1] + 0x0133 PORT_MEM_DQ [12] : 24 0x18 (T L P) = (0 1 8 ) DATA_LANE [1] + 0x0134 PORT_MEM_DQ [13] : 25 0x19 (T L P) = (0 1 9 ) DATA_LANE [1] + 0x0135 PORT_MEM_DQ [14] : 26 0x1A (T L P) = (0 1 10) DATA_LANE [1] + 0x0136 PORT_MEM_DQ [15] : 27 0x1B (T L P) = (0 1 11) DATA_LANE [1] + 0x0137 PORT_MEM_DQ [16] : 32 0x20 (T L P) = (0 2 0 ) DATA_LANE [2] + 0x0138 PORT_MEM_DQ [17] : 33 0x21 (T L P) = (0 2 1 ) DATA_LANE [2] + 0x0139 PORT_MEM_DQ [18] : 34 0x22 (T L P) = (0 2 2 ) DATA_LANE [2] + 0x013A PORT_MEM_DQ [19] : 35 0x23 (T L P) = (0 2 3 ) DATA_LANE [2] + 0x013B PORT_MEM_DQ [20] : 40 0x28 (T L P) = (0 2 8 ) DATA_LANE [2] + 0x013C PORT_MEM_DQ [21] : 41 0x29 (T L P) = (0 2 9 ) DATA_LANE [2] + 0x013D PORT_MEM_DQ [22] : 42 0x2A (T L P) = (0 2 10) DATA_LANE [2] + 0x013E PORT_MEM_DQ [23] : 43 0x2B (T L P) = (0 2 11) DATA_LANE [2] + 0x013F PORT_MEM_DQ [24] : 48 0x30 (T L P) = (0 3 0 ) DATA_LANE [3] + 0x0140 PORT_MEM_DQ [25] : 49 0x31 (T L P) = (0 3 1 ) DATA_LANE [3] + 0x0141 PORT_MEM_DQ [26] : 50 0x32 (T L P) = (0 3 2 ) DATA_LANE [3] + 0x0142 PORT_MEM_DQ [27] : 51 0x33 (T L P) = (0 3 3 ) DATA_LANE [3] + 0x0143 PORT_MEM_DQ [28] : 56 0x38 (T L P) = (0 3 8 ) DATA_LANE [3] + 0x0144 PORT_MEM_DQ [29] : 57 0x39 (T L P) = (0 3 9 ) DATA_LANE [3] + 0x0145 PORT_MEM_DQ [30] : 58 0x3A (T L P) = (0 3 10) DATA_LANE [3] + 0x0146 PORT_MEM_DQ [31] : 59 0x3B (T L P) = (0 3 11) DATA_LANE [3] + 0x0147 PORT_MEM_DQ [32] : 64 0x40 (T L P) = (2 0 0 ) DATA_LANE [4] + 0x0148 PORT_MEM_DQ [33] : 65 0x41 (T L P) = (2 0 1 ) DATA_LANE [4] + 0x0149 PORT_MEM_DQ [34] : 66 0x42 (T L P) = (2 0 2 ) DATA_LANE [4] + 0x014A PORT_MEM_DQ [35] : 67 0x43 (T L P) = (2 0 3 ) DATA_LANE [4] + 0x014B PORT_MEM_DQ [36] : 72 0x48 (T L P) = (2 0 8 ) DATA_LANE [4] + 0x014C PORT_MEM_DQ [37] : 73 0x49 (T L P) = (2 0 9 ) DATA_LANE [4] + 0x014D PORT_MEM_DQ [38] : 74 0x4A (T L P) = (2 0 10) DATA_LANE [4] + 0x014E PORT_MEM_DQ [39] : 75 0x4B (T L P) = (2 0 11) DATA_LANE [4] + 0x014F PORT_MEM_DQ [40] : 80 0x50 (T L P) = (2 1 0 ) DATA_LANE [5] + 0x0150 PORT_MEM_DQ [41] : 81 0x51 (T L P) = (2 1 1 ) DATA_LANE [5] + 0x0151 PORT_MEM_DQ [42] : 82 0x52 (T L P) = (2 1 2 ) DATA_LANE [5] + 0x0152 PORT_MEM_DQ [43] : 83 0x53 (T L P) = (2 1 3 ) DATA_LANE [5] + 0x0153 PORT_MEM_DQ [44] : 88 0x58 (T L P) = (2 1 8 ) DATA_LANE [5] + 0x0154 PORT_MEM_DQ [45] : 89 0x59 (T L P) = (2 1 9 ) DATA_LANE [5] + 0x0155 PORT_MEM_DQ [46] : 90 0x5A (T L P) = (2 1 10) DATA_LANE [5] + 0x0156 PORT_MEM_DQ [47] : 91 0x5B (T L P) = (2 1 11) DATA_LANE [5] + 0x0157 PORT_MEM_DQ [48] : 96 0x60 (T L P) = (2 2 0 ) DATA_LANE [6] + 0x0158 PORT_MEM_DQ [49] : 97 0x61 (T L P) = (2 2 1 ) DATA_LANE [6] + 0x0159 PORT_MEM_DQ [50] : 98 0x62 (T L P) = (2 2 2 ) DATA_LANE [6] + 0x015A PORT_MEM_DQ [51] : 99 0x63 (T L P) = (2 2 3 ) DATA_LANE [6] + 0x015B PORT_MEM_DQ [52] : 104 0x68 (T L P) = (2 2 8 ) DATA_LANE [6] + 0x015C PORT_MEM_DQ [53] : 105 0x69 (T L P) = (2 2 9 ) DATA_LANE [6] + 0x015D PORT_MEM_DQ [54] : 106 0x6A (T L P) = (2 2 10) DATA_LANE [6] + 0x015E PORT_MEM_DQ [55] : 107 0x6B (T L P) = (2 2 11) DATA_LANE [6] + 0x015F PORT_MEM_DQ [56] : 112 0x70 (T L P) = (2 3 0 ) DATA_LANE [7] + 0x0160 PORT_MEM_DQ [57] : 113 0x71 (T L P) = (2 3 1 ) DATA_LANE [7] + 0x0161 PORT_MEM_DQ [58] : 114 0x72 (T L P) = (2 3 2 ) DATA_LANE [7] + 0x0162 PORT_MEM_DQ [59] : 115 0x73 (T L P) = (2 3 3 ) DATA_LANE [7] + 0x0163 PORT_MEM_DQ [60] : 120 0x78 (T L P) = (2 3 8 ) DATA_LANE [7] + 0x0164 PORT_MEM_DQ [61] : 121 0x79 (T L P) = (2 3 9 ) DATA_LANE [7] + 0x0165 PORT_MEM_DQ [62] : 122 0x7A (T L P) = (2 3 10) DATA_LANE [7] + 0x0166 PORT_MEM_DQ [63] : 123 0x7B (T L P) = (2 3 11) DATA_LANE [7] + 0x0167 PORT_MEM_DQ [64] : 128 0x80 (T L P) = (3 0 0 ) DATA_LANE [8] + 0x0168 PORT_MEM_DQ [65] : 129 0x81 (T L P) = (3 0 1 ) DATA_LANE [8] + 0x0169 PORT_MEM_DQ [66] : 130 0x82 (T L P) = (3 0 2 ) DATA_LANE [8] + 0x016A PORT_MEM_DQ [67] : 131 0x83 (T L P) = (3 0 3 ) DATA_LANE [8] + 0x016B PORT_MEM_DQ [68] : 136 0x88 (T L P) = (3 0 8 ) DATA_LANE [8] + 0x016C PORT_MEM_DQ [69] : 137 0x89 (T L P) = (3 0 9 ) DATA_LANE [8] + 0x016D PORT_MEM_DQ [70] : 138 0x8A (T L P) = (3 0 10) DATA_LANE [8] + 0x016E PORT_MEM_DQ [71] : 139 0x8B (T L P) = (3 0 11) DATA_LANE [8] + 0x016F ALIGN_PAD : 0 0x00 + 0x7463 SEQ_PT_MR_PTR : 368 0x0170 + 0x0170 MR0 : 2164 0x00000874 00000000100001110100 + 0x0174 MR1 : 65537 0x00010001 00010000000000000001 + 0x0178 MR2 : 131112 0x00020028 00100000000000101000 + 0x017C MR3 : 197632 0x00030400 00110000010000000000 + 0x0180 MR4 : 264192 0x00040800 01000000100000000000 + 0x0184 MR5 : 332896 0x00051460 01010001010001100000 + 0x0188 MR6 : 395279 0x0006080F 01100000100000001111 + 0x018C RDIMM CONTROL WORD : 257253376 0x0F556000 00001111010101010110000000000000 + 0x0190 RDIMM CONTROL WORD : 222298891 0x0D40030B 00001101010000000000001100001011 + 0x0194 RDIMM CONTROL WORD : 3735552 0x00390000 00000000001110010000000000000000 + 0x0198 RDIMM CONTROL WORD : 536870912 0x20000000 00100000000000000000000000000000 + 0x019C RDIMM CONTROL WORD : 0 0x00000000 00000000000000000000000000000000 diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.hex b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.hex new file mode 100644 index 0000000000..0f151abb02 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.hex @@ -0,0 +1,80 @@ +:0474190000024C40E1 +:04741A00000000006E +:04741B00000002016A +:04741C00000927C07C +:04741D000112170839 +:04741E00480909010F +:04741F00010211094C +:047420000200010164 +:04742100051401004D +:047422000904043421 +:047423000000000065 +:047424000000000064 +:047425000D00C08115 +:0474260000B00000B2 +:047427000000000061 +:047428000000000060 +:047429005066008029 +:04742A0000C4070C87 +:04742B00017000D814 +:04742C000000012338 +:04742D0000001E78C5 +:04742E000000015EFB +:04742F000000000059 +:047430000000000850 +:047431001C14040C17 +:047432000B0A090830 +:04743300030201004F +:04743400131211100E +:04743500000000183B +:04743600000000064C +:04743700000000044D +:04743800000203014A +:04743900000000004F +:04743A002B2A2900D0 +:04743B00121110001A +:04743C0016151413FA +:04743D001A191817E9 +:04743E002524231BC3 +:04743F0000002726FC +:0474400000380B0005 +:047441000000090836 +:047442000000000046 +:0474430034241404D5 +:0474440074645444D4 +:047445002515058480 +:04744600655545350E +:04744700160685752B +:047448005646362648 +:0474490000867666DD +:04744A000803020130 +:04744B00100B0A090F +:04744C0018131211EE +:04744D00201B1A19CD +:04744E0028232221AC +:04744F00302B2A298B +:04745000383332316A +:04745100403B3A3949 +:047452004843424128 +:04745300504B4A4907 +:0474540058535251E6 +:04745500605B5A59C5 +:0474560068636261A4 +:04745700706B6A6983 +:047458007873727162 +:04745900807B7A7941 +:04745A008883828120 +:04745B00008B8A898F +:04745C0000000874B0 +:04745D000001000129 +:04745E000002002800 +:04745F000003040022 +:04746000000408001C +:0474610000051460AE +:047462000006080F09 +:047463000F55600061 +:047464000D40030BC9 +:0474650000390000EA +:047466002000000002 +:047467000000000021 +:00000001FF diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.txt b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.txt new file mode 100644 index 0000000000..20ddc02529 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.txt @@ -0,0 +1,239 @@ +// This file is dynamically generated and is for information purposes only. +// It is not used during compilation or simulation. + +SEQ_PT + 0x7419 SEQ_PT_IP_VER : 19520 0x4C40 + 0x741B SEQ_PT_INTERFACE_PAR_VER : 2 0x0002 + 0x741D SEQ_PT_DEBUG_DATA_PTR : 0 0x0000 + 0x741F SEQ_PT_USER_COMMAND_PTR : 0 0x0000 + 0x7421 SEQ_PT_MEMORY_TYPE : 1 0x01 + 0x7422 SEQ_PT_DIMM_TYPE : 2 0x02 + 0x7423 SEQ_PT_CONTROLLER_TYPE : 0 0x00 + 0x7424 SEQ_PT_RESERVED : 0 0x00 + 0x7425 SEQ_PT_AFI_CLK_FREQ_KHZ : 600000 0x000927C0 + 0x7429 SEQ_PT_BURST_LEN : 8 0x08 + 0x742A SEQ_PT_READ_LATENCY : 23 0x17 + 0x742B SEQ_PT_WRITE_LATENCY : 18 0x12 + 0x742C SEQ_PT_NUM_RANKS : 1 0x01 + 0x742D SEQ_PT_NUM_DIMMS : 1 0x01 + 0x742E SEQ_PT_NUM_DQS_WR : 9 0x09 + 0x742F SEQ_PT_NUM_DQS_RD : 9 0x09 + 0x7430 SEQ_PT_NUM_DQ : 72 0x48 + 0x7431 SEQ_PT_NUM_DM : 9 0x09 + 0x7432 SEQ_PT_ADDR_WIDTH : 17 0x11 + 0x7433 SEQ_PT_BANK_WIDTH : 2 0x02 + 0x7434 SEQ_PT_CS_WIDTH : 1 0x01 + 0x7435 SEQ_PT_CKE_WIDTH : 1 0x01 + 0x7436 SEQ_PT_ODT_WIDTH : 1 0x01 + 0x7437 SEQ_PT_C_WIDTH : 0 0x00 + 0x7438 SEQ_PT_BANK_GROUP_WIDTH : 2 0x02 + 0x7439 SEQ_PT_ADDR_MIRROR : 0 0x00 + 0x743A SEQ_PT_CK_WIDTH : 1 0x01 + 0x743B SEQ_PT_CAL_DATA_SIZE : 20 0x14 + 0x743C SEQ_PT_NUM_LRDIMM_CFG : 5 0x05 + 0x743D SEQ_PT_NUM_AC_ROM_ENUMS : 52 0x34 + 0x743E SEQ_PT_NUM_CENTERS : 4 0x04 + 0x743F SEQ_PT_NUM_CA_LANES : 4 0x04 + 0x7440 SEQ_PT_NUM_DATA_LANES : 9 0x09 + 0x7441 SEQ_PT_ODT_TABLE_LO : 0 0x00000000 + 0x7445 SEQ_PT_ODT_TABLE_HI : 0 0x00000000 + 0x7449 SEQ_PT_CAL_CONFIG : 218153089 0x0D00C081 + 0x744D SEQ_PT_FILLER : 0 0x0000 + 0x744F SEQ_PT_CAL_DATA_PTR : 176 0x00B0 + 0x00B0 STARTING_VREFIN : 291 0x00000123 (Range 2 - 45%-77.5%, setting = 35) + 0x00B4 CAL_TREFI : 7800 0x00001E78 7800 + 0x00B8 CAL_TRFC : 350 0x0000015E 350 + 0x00BC CAL_ADDR0 : 0 0x00000000 0 + 0x00C0 CAL_ADDR1 : 8 0x00000008 8 + 0x7451 SEQ_PT_DBG_SKIP_RANKS : 0 0x00000000 + 0x7455 SEQ_PT_DBG_SKIP_GROUPS : 0 0x00000000 + 0x7459 SEQ_PT_DBG_SKIP_STEPS : 1348862080 0x50660080 + 0x745D SEQ_PT_NUM_MR : 12 0x0C + 0x745E SEQ_PT_NUM_DIMM_MR : 7 0x07 + 0x745F SEQ_PT_TILE_ID_PTR : 196 0x00C4 + 0x00C4 TILE [0] : 12 0x0C (T) = (1) + 0x00C5 TILE [1] : 4 0x04 (T) = (0) + 0x00C6 TILE [2] : 20 0x14 (T) = (2) + 0x00C7 TILE [3] : 28 0x1C (T) = (3) + 0x00C8 AC_LANE [0] : 8 0x08 (T L) = (1 0) + 0x00C9 AC_LANE [1] : 9 0x09 (T L) = (1 1) + 0x00CA AC_LANE [2] : 10 0x0A (T L) = (1 2) + 0x00CB AC_LANE [3] : 11 0x0B (T L) = (1 3) + 0x00CC DATA_LANE [0] : 0 0x00 (T L) = (0 0) + 0x00CD DATA_LANE [1] : 1 0x01 (T L) = (0 1) + 0x00CE DATA_LANE [2] : 2 0x02 (T L) = (0 2) + 0x00CF DATA_LANE [3] : 3 0x03 (T L) = (0 3) + 0x00D0 DATA_LANE [4] : 16 0x10 (T L) = (2 0) + 0x00D1 DATA_LANE [5] : 17 0x11 (T L) = (2 1) + 0x00D2 DATA_LANE [6] : 18 0x12 (T L) = (2 2) + 0x00D3 DATA_LANE [7] : 19 0x13 (T L) = (2 3) + 0x00D4 DATA_LANE [8] : 24 0x18 (T L) = (3 0) + 0x00D5 ALIGN_PAD : 0 0x00 + 0x00D6 ALIGN_PAD : 0 0x00 + 0x00D7 ALIGN_PAD : 0 0x00 + 0x7461 SEQ_PT_PIN_ADDR_PTR : 216 0x00D8 + 0x00D8 PORT_MEM_CKE [0] : 6 0x06 (T L P) = (1 0 6 ) AC_LANE [0] + 0x00D9 : 0 0x00 UNUSED_AC_PORT + 0x00DA : 0 0x00 UNUSED_AC_PORT + 0x00DB : 0 0x00 UNUSED_AC_PORT + 0x00DC PORT_MEM_ODT [0] : 4 0x04 (T L P) = (1 0 4 ) AC_LANE [0] + 0x00DD : 0 0x00 UNUSED_AC_PORT + 0x00DE : 0 0x00 UNUSED_AC_PORT + 0x00DF : 0 0x00 UNUSED_AC_PORT + 0x00E0 PORT_MEM_RESET_N [0] : 1 0x01 (T L P) = (1 0 1 ) AC_LANE [0] + 0x00E1 PORT_MEM_ACT_N [0] : 3 0x03 (T L P) = (1 0 3 ) AC_LANE [0] + 0x00E2 PORT_MEM_CS_N [0] : 2 0x02 (T L P) = (1 0 2 ) AC_LANE [0] + 0x00E3 : 0 0x00 UNUSED_AC_PORT + 0x00E4 : 0 0x00 UNUSED_AC_PORT + 0x00E5 : 0 0x00 UNUSED_AC_PORT + 0x00E6 : 0 0x00 UNUSED_AC_PORT + 0x00E7 : 0 0x00 UNUSED_AC_PORT + 0x00E8 : 0 0x00 UNUSED_AC_PORT + 0x00E9 PORT_MEM_BA [0] : 41 0x29 (T L P) = (1 2 9 ) AC_LANE [2] + 0x00EA PORT_MEM_BA [1] : 42 0x2A (T L P) = (1 2 10) AC_LANE [2] + 0x00EB PORT_MEM_BG [0] : 43 0x2B (T L P) = (1 2 11) AC_LANE [2] + 0x00EC PORT_MEM_BG [1] : 0 0x00 (T L P) = (1 0 0 ) AC_LANE [0] + 0x00ED PORT_MEM_A [0] : 16 0x10 (T L P) = (1 1 0 ) AC_LANE [1] + 0x00EE PORT_MEM_A [1] : 17 0x11 (T L P) = (1 1 1 ) AC_LANE [1] + 0x00EF PORT_MEM_A [2] : 18 0x12 (T L P) = (1 1 2 ) AC_LANE [1] + 0x00F0 PORT_MEM_A [3] : 19 0x13 (T L P) = (1 1 3 ) AC_LANE [1] + 0x00F1 PORT_MEM_A [4] : 20 0x14 (T L P) = (1 1 4 ) AC_LANE [1] + 0x00F2 PORT_MEM_A [5] : 21 0x15 (T L P) = (1 1 5 ) AC_LANE [1] + 0x00F3 PORT_MEM_A [6] : 22 0x16 (T L P) = (1 1 6 ) AC_LANE [1] + 0x00F4 PORT_MEM_A [7] : 23 0x17 (T L P) = (1 1 7 ) AC_LANE [1] + 0x00F5 PORT_MEM_A [8] : 24 0x18 (T L P) = (1 1 8 ) AC_LANE [1] + 0x00F6 PORT_MEM_A [9] : 25 0x19 (T L P) = (1 1 9 ) AC_LANE [1] + 0x00F7 PORT_MEM_A [10] : 26 0x1A (T L P) = (1 1 10) AC_LANE [1] + 0x00F8 PORT_MEM_A [11] : 27 0x1B (T L P) = (1 1 11) AC_LANE [1] + 0x00F9 PORT_MEM_A [12] : 35 0x23 (T L P) = (1 2 3 ) AC_LANE [2] + 0x00FA PORT_MEM_A [13] : 36 0x24 (T L P) = (1 2 4 ) AC_LANE [2] + 0x00FB PORT_MEM_A [14] : 37 0x25 (T L P) = (1 2 5 ) AC_LANE [2] + 0x00FC PORT_MEM_A [15] : 38 0x26 (T L P) = (1 2 6 ) AC_LANE [2] + 0x00FD PORT_MEM_A [16] : 39 0x27 (T L P) = (1 2 7 ) AC_LANE [2] + 0x00FE : 0 0x00 UNUSED_AC_PORT + 0x00FF : 0 0x00 UNUSED_AC_PORT + 0x0100 : 0 0x00 UNUSED_AC_PORT + 0x0101 PORT_MEM_PAR [0] : 11 0x0B (T L P) = (1 0 11) AC_LANE [0] + 0x0102 PORT_MEM_ALERT_N [0] : 56 0x38 (T L P) = (1 3 8 ) AC_LANE [3] + 0x0103 : 0 0x00 UNUSED_AC_PORT + 0x0104 PORT_MEM_CK [0] : 8 0x08 (T L P) = (1 0 8 ) AC_LANE [0] + 0x0105 PORT_MEM_CK_N [0] : 9 0x09 (T L P) = (1 0 9 ) AC_LANE [0] + 0x0106 : 0 0x00 UNUSED_AC_PORT + 0x0107 : 0 0x00 UNUSED_AC_PORT + 0x0108 : 0 0x00 UNUSED_AC_PORT + 0x0109 : 0 0x00 UNUSED_AC_PORT + 0x010A : 0 0x00 UNUSED_AC_PORT + 0x010B : 0 0x00 UNUSED_AC_PORT + 0x010C PORT_MEM_DQS [0] : 4 0x04 (T L P) = (0 0 4 ) DATA_LANE [0] + 0x010D PORT_MEM_DQS [1] : 20 0x14 (T L P) = (0 1 4 ) DATA_LANE [1] + 0x010E PORT_MEM_DQS [2] : 36 0x24 (T L P) = (0 2 4 ) DATA_LANE [2] + 0x010F PORT_MEM_DQS [3] : 52 0x34 (T L P) = (0 3 4 ) DATA_LANE [3] + 0x0110 PORT_MEM_DQS [4] : 68 0x44 (T L P) = (2 0 4 ) DATA_LANE [4] + 0x0111 PORT_MEM_DQS [5] : 84 0x54 (T L P) = (2 1 4 ) DATA_LANE [5] + 0x0112 PORT_MEM_DQS [6] : 100 0x64 (T L P) = (2 2 4 ) DATA_LANE [6] + 0x0113 PORT_MEM_DQS [7] : 116 0x74 (T L P) = (2 3 4 ) DATA_LANE [7] + 0x0114 PORT_MEM_DQS [8] : 132 0x84 (T L P) = (3 0 4 ) DATA_LANE [8] + 0x0115 PORT_MEM_DQS_N [0] : 5 0x05 (T L P) = (0 0 5 ) DATA_LANE [0] + 0x0116 PORT_MEM_DQS_N [1] : 21 0x15 (T L P) = (0 1 5 ) DATA_LANE [1] + 0x0117 PORT_MEM_DQS_N [2] : 37 0x25 (T L P) = (0 2 5 ) DATA_LANE [2] + 0x0118 PORT_MEM_DQS_N [3] : 53 0x35 (T L P) = (0 3 5 ) DATA_LANE [3] + 0x0119 PORT_MEM_DQS_N [4] : 69 0x45 (T L P) = (2 0 5 ) DATA_LANE [4] + 0x011A PORT_MEM_DQS_N [5] : 85 0x55 (T L P) = (2 1 5 ) DATA_LANE [5] + 0x011B PORT_MEM_DQS_N [6] : 101 0x65 (T L P) = (2 2 5 ) DATA_LANE [6] + 0x011C PORT_MEM_DQS_N [7] : 117 0x75 (T L P) = (2 3 5 ) DATA_LANE [7] + 0x011D PORT_MEM_DQS_N [8] : 133 0x85 (T L P) = (3 0 5 ) DATA_LANE [8] + 0x011E PORT_MEM_DBI_N [0] : 6 0x06 (T L P) = (0 0 6 ) DATA_LANE [0] + 0x011F PORT_MEM_DBI_N [1] : 22 0x16 (T L P) = (0 1 6 ) DATA_LANE [1] + 0x0120 PORT_MEM_DBI_N [2] : 38 0x26 (T L P) = (0 2 6 ) DATA_LANE [2] + 0x0121 PORT_MEM_DBI_N [3] : 54 0x36 (T L P) = (0 3 6 ) DATA_LANE [3] + 0x0122 PORT_MEM_DBI_N [4] : 70 0x46 (T L P) = (2 0 6 ) DATA_LANE [4] + 0x0123 PORT_MEM_DBI_N [5] : 86 0x56 (T L P) = (2 1 6 ) DATA_LANE [5] + 0x0124 PORT_MEM_DBI_N [6] : 102 0x66 (T L P) = (2 2 6 ) DATA_LANE [6] + 0x0125 PORT_MEM_DBI_N [7] : 118 0x76 (T L P) = (2 3 6 ) DATA_LANE [7] + 0x0126 PORT_MEM_DBI_N [8] : 134 0x86 (T L P) = (3 0 6 ) DATA_LANE [8] + 0x0127 PORT_MEM_DQ [0] : 0 0x00 (T L P) = (0 0 0 ) DATA_LANE [0] + 0x0128 PORT_MEM_DQ [1] : 1 0x01 (T L P) = (0 0 1 ) DATA_LANE [0] + 0x0129 PORT_MEM_DQ [2] : 2 0x02 (T L P) = (0 0 2 ) DATA_LANE [0] + 0x012A PORT_MEM_DQ [3] : 3 0x03 (T L P) = (0 0 3 ) DATA_LANE [0] + 0x012B PORT_MEM_DQ [4] : 8 0x08 (T L P) = (0 0 8 ) DATA_LANE [0] + 0x012C PORT_MEM_DQ [5] : 9 0x09 (T L P) = (0 0 9 ) DATA_LANE [0] + 0x012D PORT_MEM_DQ [6] : 10 0x0A (T L P) = (0 0 10) DATA_LANE [0] + 0x012E PORT_MEM_DQ [7] : 11 0x0B (T L P) = (0 0 11) DATA_LANE [0] + 0x012F PORT_MEM_DQ [8] : 16 0x10 (T L P) = (0 1 0 ) DATA_LANE [1] + 0x0130 PORT_MEM_DQ [9] : 17 0x11 (T L P) = (0 1 1 ) DATA_LANE [1] + 0x0131 PORT_MEM_DQ [10] : 18 0x12 (T L P) = (0 1 2 ) DATA_LANE [1] + 0x0132 PORT_MEM_DQ [11] : 19 0x13 (T L P) = (0 1 3 ) DATA_LANE [1] + 0x0133 PORT_MEM_DQ [12] : 24 0x18 (T L P) = (0 1 8 ) DATA_LANE [1] + 0x0134 PORT_MEM_DQ [13] : 25 0x19 (T L P) = (0 1 9 ) DATA_LANE [1] + 0x0135 PORT_MEM_DQ [14] : 26 0x1A (T L P) = (0 1 10) DATA_LANE [1] + 0x0136 PORT_MEM_DQ [15] : 27 0x1B (T L P) = (0 1 11) DATA_LANE [1] + 0x0137 PORT_MEM_DQ [16] : 32 0x20 (T L P) = (0 2 0 ) DATA_LANE [2] + 0x0138 PORT_MEM_DQ [17] : 33 0x21 (T L P) = (0 2 1 ) DATA_LANE [2] + 0x0139 PORT_MEM_DQ [18] : 34 0x22 (T L P) = (0 2 2 ) DATA_LANE [2] + 0x013A PORT_MEM_DQ [19] : 35 0x23 (T L P) = (0 2 3 ) DATA_LANE [2] + 0x013B PORT_MEM_DQ [20] : 40 0x28 (T L P) = (0 2 8 ) DATA_LANE [2] + 0x013C PORT_MEM_DQ [21] : 41 0x29 (T L P) = (0 2 9 ) DATA_LANE [2] + 0x013D PORT_MEM_DQ [22] : 42 0x2A (T L P) = (0 2 10) DATA_LANE [2] + 0x013E PORT_MEM_DQ [23] : 43 0x2B (T L P) = (0 2 11) DATA_LANE [2] + 0x013F PORT_MEM_DQ [24] : 48 0x30 (T L P) = (0 3 0 ) DATA_LANE [3] + 0x0140 PORT_MEM_DQ [25] : 49 0x31 (T L P) = (0 3 1 ) DATA_LANE [3] + 0x0141 PORT_MEM_DQ [26] : 50 0x32 (T L P) = (0 3 2 ) DATA_LANE [3] + 0x0142 PORT_MEM_DQ [27] : 51 0x33 (T L P) = (0 3 3 ) DATA_LANE [3] + 0x0143 PORT_MEM_DQ [28] : 56 0x38 (T L P) = (0 3 8 ) DATA_LANE [3] + 0x0144 PORT_MEM_DQ [29] : 57 0x39 (T L P) = (0 3 9 ) DATA_LANE [3] + 0x0145 PORT_MEM_DQ [30] : 58 0x3A (T L P) = (0 3 10) DATA_LANE [3] + 0x0146 PORT_MEM_DQ [31] : 59 0x3B (T L P) = (0 3 11) DATA_LANE [3] + 0x0147 PORT_MEM_DQ [32] : 64 0x40 (T L P) = (2 0 0 ) DATA_LANE [4] + 0x0148 PORT_MEM_DQ [33] : 65 0x41 (T L P) = (2 0 1 ) DATA_LANE [4] + 0x0149 PORT_MEM_DQ [34] : 66 0x42 (T L P) = (2 0 2 ) DATA_LANE [4] + 0x014A PORT_MEM_DQ [35] : 67 0x43 (T L P) = (2 0 3 ) DATA_LANE [4] + 0x014B PORT_MEM_DQ [36] : 72 0x48 (T L P) = (2 0 8 ) DATA_LANE [4] + 0x014C PORT_MEM_DQ [37] : 73 0x49 (T L P) = (2 0 9 ) DATA_LANE [4] + 0x014D PORT_MEM_DQ [38] : 74 0x4A (T L P) = (2 0 10) DATA_LANE [4] + 0x014E PORT_MEM_DQ [39] : 75 0x4B (T L P) = (2 0 11) DATA_LANE [4] + 0x014F PORT_MEM_DQ [40] : 80 0x50 (T L P) = (2 1 0 ) DATA_LANE [5] + 0x0150 PORT_MEM_DQ [41] : 81 0x51 (T L P) = (2 1 1 ) DATA_LANE [5] + 0x0151 PORT_MEM_DQ [42] : 82 0x52 (T L P) = (2 1 2 ) DATA_LANE [5] + 0x0152 PORT_MEM_DQ [43] : 83 0x53 (T L P) = (2 1 3 ) DATA_LANE [5] + 0x0153 PORT_MEM_DQ [44] : 88 0x58 (T L P) = (2 1 8 ) DATA_LANE [5] + 0x0154 PORT_MEM_DQ [45] : 89 0x59 (T L P) = (2 1 9 ) DATA_LANE [5] + 0x0155 PORT_MEM_DQ [46] : 90 0x5A (T L P) = (2 1 10) DATA_LANE [5] + 0x0156 PORT_MEM_DQ [47] : 91 0x5B (T L P) = (2 1 11) DATA_LANE [5] + 0x0157 PORT_MEM_DQ [48] : 96 0x60 (T L P) = (2 2 0 ) DATA_LANE [6] + 0x0158 PORT_MEM_DQ [49] : 97 0x61 (T L P) = (2 2 1 ) DATA_LANE [6] + 0x0159 PORT_MEM_DQ [50] : 98 0x62 (T L P) = (2 2 2 ) DATA_LANE [6] + 0x015A PORT_MEM_DQ [51] : 99 0x63 (T L P) = (2 2 3 ) DATA_LANE [6] + 0x015B PORT_MEM_DQ [52] : 104 0x68 (T L P) = (2 2 8 ) DATA_LANE [6] + 0x015C PORT_MEM_DQ [53] : 105 0x69 (T L P) = (2 2 9 ) DATA_LANE [6] + 0x015D PORT_MEM_DQ [54] : 106 0x6A (T L P) = (2 2 10) DATA_LANE [6] + 0x015E PORT_MEM_DQ [55] : 107 0x6B (T L P) = (2 2 11) DATA_LANE [6] + 0x015F PORT_MEM_DQ [56] : 112 0x70 (T L P) = (2 3 0 ) DATA_LANE [7] + 0x0160 PORT_MEM_DQ [57] : 113 0x71 (T L P) = (2 3 1 ) DATA_LANE [7] + 0x0161 PORT_MEM_DQ [58] : 114 0x72 (T L P) = (2 3 2 ) DATA_LANE [7] + 0x0162 PORT_MEM_DQ [59] : 115 0x73 (T L P) = (2 3 3 ) DATA_LANE [7] + 0x0163 PORT_MEM_DQ [60] : 120 0x78 (T L P) = (2 3 8 ) DATA_LANE [7] + 0x0164 PORT_MEM_DQ [61] : 121 0x79 (T L P) = (2 3 9 ) DATA_LANE [7] + 0x0165 PORT_MEM_DQ [62] : 122 0x7A (T L P) = (2 3 10) DATA_LANE [7] + 0x0166 PORT_MEM_DQ [63] : 123 0x7B (T L P) = (2 3 11) DATA_LANE [7] + 0x0167 PORT_MEM_DQ [64] : 128 0x80 (T L P) = (3 0 0 ) DATA_LANE [8] + 0x0168 PORT_MEM_DQ [65] : 129 0x81 (T L P) = (3 0 1 ) DATA_LANE [8] + 0x0169 PORT_MEM_DQ [66] : 130 0x82 (T L P) = (3 0 2 ) DATA_LANE [8] + 0x016A PORT_MEM_DQ [67] : 131 0x83 (T L P) = (3 0 3 ) DATA_LANE [8] + 0x016B PORT_MEM_DQ [68] : 136 0x88 (T L P) = (3 0 8 ) DATA_LANE [8] + 0x016C PORT_MEM_DQ [69] : 137 0x89 (T L P) = (3 0 9 ) DATA_LANE [8] + 0x016D PORT_MEM_DQ [70] : 138 0x8A (T L P) = (3 0 10) DATA_LANE [8] + 0x016E PORT_MEM_DQ [71] : 139 0x8B (T L P) = (3 0 11) DATA_LANE [8] + 0x016F ALIGN_PAD : 0 0x00 + 0x7463 SEQ_PT_MR_PTR : 368 0x0170 + 0x0170 MR0 : 2164 0x00000874 00000000100001110100 + 0x0174 MR1 : 65537 0x00010001 00010000000000000001 + 0x0178 MR2 : 131112 0x00020028 00100000000000101000 + 0x017C MR3 : 197632 0x00030400 00110000010000000000 + 0x0180 MR4 : 264192 0x00040800 01000000100000000000 + 0x0184 MR5 : 332896 0x00051460 01010001010001100000 + 0x0188 MR6 : 395279 0x0006080F 01100000100000001111 + 0x018C RDIMM CONTROL WORD : 257253376 0x0F556000 00001111010101010110000000000000 + 0x0190 RDIMM CONTROL WORD : 222298891 0x0D40030B 00001101010000000000001100001011 + 0x0194 RDIMM CONTROL WORD : 3735552 0x00390000 00000000001110010000000000000000 + 0x0198 RDIMM CONTROL WORD : 536870912 0x20000000 00100000000000000000000000000000 + 0x019C RDIMM CONTROL WORD : 0 0x00000000 00000000000000000000000000000000 diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_spice_files.zip b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_spice_files.zip new file mode 100644 index 0000000000000000000000000000000000000000..456f960d9d5c9f571ca4d72f251d8046f3f9dce5 GIT binary patch literal 168507 zcmbrlb9i3c_68bTO&T}0ZKttqJB@8MYS`GeZKI7EG`4M9_bc|Ttf`YvT0s?{pI+J)Kzg9pP?*$74^i~512m>J1H`FyUx3bbTv2-(V z({-`ex3x94r**JBPSdto6hR9*y{3X_pC?XjNwIPFqh4DW?I}vfs0Ow4Ao`AM>_8O_ zB2F^$@{ms8CQ{c|GFE*2HHS(!Pc&tG{hQk^Cfu%=*JV&Ur}xMg*WpfdLk1I5;aHkE zJN5D*N~?<+c0JKB@Y0LL)&dh{71QZNOJ{ob%b;hi3aW+*CY906&(HZLwPm9=urqPn zIo{vUwyk)LFP#{!M_44oFsV{o%M5r`wMSDc&ExBBZZpsHPiWm8?c4@c%%|U0T&kp0 zsA_l`ZnvnHr?Sp->l(47s&3a*^Mb(Sw>O^4Z( z>8w6cr8>i;*2GU4P1j(Dn5z$8SnIhrFMrZ;?wM;=RBy`e&{&VL!43YUrDXnWD}Mpm^{m{-~cO+D3c+(nvAyBDh6Sod;g6u#oHez^6~^AM~6 z{t@D3w;pdv#c4PHTdPKE@%NF4^)=@kr(B&{V~w)i{W^73YjT^8YnQeD-fgqh^ZOQ; z=ed@_sEYIy%GXA`$2RMdCzItkWv{NeZ9>Uq@KVc@lPbKma%_0Exr6k|QfFop_1K-T z2R&wcuZ&BZEm}9PT~RXKI)@|4lO(<3ORr}8%hL2%%a)2%`()*M^mHz~l0GL)scvJA z%UizN{e{$&k*Bx^eGS?~@3NgR8|%CR7jyZ#XV1bmd!{kzN#J z4ll)rQWpvnW0gncL7#^*#pTu8`Ol`R+GLHy@nz)8XEKG`Et%k@jt>^@hy3Yd%gfV8 z$~T$^OM@?cGBUJYth2ih7CLEL$=DyaOQ@Hg&P)AT12mUTo`{3TZfchK9iN)IZBeK% zTL90DnbS6G@JiK(C|12gOJ;$B{$8W`{)Dv7q2SJm(Zs8Z00~J9>MfZ2mFi8aj};xL zUm(8U8WIR^kS|}tB;xMe;SmUepD({)7QU;J>Ffx<9)TD>J6t06dtc-s0dmOfcLDZD z0MZY=jUVSPhakuS1t3I$Fi4dAML^jg0RUnv2o8mcujDHS{DX*PBL_$zQ3@1+{UB*_ z(1IjT@%Ty~e-MQtkZhO$N~9A0AB0TFPYzrV6-pT&Kmy;E2oynNV+DLb0+2rFX?!Jr zIe0-9C;%Y}#6tSOUj&>D5da{zg78o*_*1@epg)LMHd=rN(g%Se@E;^i4pxu`svdvp z;}4=>1|o=pl;ZmxEPxcBxf@!V|1SclY~7TC#d0a@u;jz1`vXUNM{YNtm&?z5vNEr3 z&-;6K4@aAjeJj<~7T#Ir7cWOoQ!K6NtEH!**9Pay7PIFYS3TD}FRpfOEX~}{%=eC0 z>tvY$d@Z@y?fQwui)kj-HcEU8_j=opHL;VoqM2irWV5@mhbS(XJUTqzuf8=|Em+?> zdX3Ea)AaB1Nk=}HmmTxcREXvnRT`f6xK9yMi}Y&d;NFjma=!o>jev~ zG-OL%=^47|55Oxdwi~ZjYo21ub^`pXiad$Z_BNA}3tR6GPS8LeUap%-0~cgNY44b% zVDJ<&HSx3flDTK!PCZi0fdekcJ&L{e2bXkUS7b}ODQ6~p>#cfx>yK+bjy;c2?jJyb zpS5)mfsgEUUtC>lvRSKo5d?LCU+X@NEOzB-*}3gwY+CI2dfNFlWxnx^#S=}Ekr zS4%eN;yydi^7qDL$B!A-dpFLU;<9XMM2q`xd6sQWtO_Tu9DDDZ(nr5f!keBub4mh~ zkBj@r?kxlii~9)s`$1{Klde*-Y*|ba{pS1b4L;~r``-~#QE_u=_RNB55I>KjIo9>| zh4h=jaxUmUel@HE$2qPF*<@Jw80kC*bAe$cAj)M)?iSvVm5bAm&n=?)eH zF~u+Bru>CUR6o!P+AIvi>YmWdBG}m#E|Fm&G}75M=@+siNBx|$tNq4|-?;S~DWiYs zZGU6KZ+!ZVf-yhz4Ip*K;SKI@>LT8ArMVSjSV@a=rKSDG&fmE48^KF{>B)bi5(?u61m+^vAE0B*Wq$M1uk$Xr~8E)WCqD?C=D@W_s{#ZZTE#epo8I zL|$g8JjiACcP@T^7I9gl61^LG(_tS_`ELE6=#zNIkVgkhKqbg}DgPZM(m&FSt(211e$GO9k&rkp7VZ0yXcJirkgF>G%*(iM9Su^g+C1 z!J`8!pb}!eRN(Fd(m&FSEercG)v&W^LeF|AU7DVMqQ|kGJZ-xcAJ13>?o#kQrI9*F zp>$CKDxrI3!Pfs2<6b%$+Num61izkU=Z^aT$^EBgzX!DJhSFfIJrF=Z==eZDsJ~iv zD|=l-8*A&o_Ur1>4vVZv?T4y*?!}vPl)!hFS^gis;YdGcSH~x_qQeUdB4fv_0qMQF zoplk=6W4Gw6rV0eNuSX=TVFpmP^H4djqxu<3;+k_F#(1hU}qyFQB^=y2qcYm%Y>VZ zD>7e4yO$K0S+iqL37pp!uZbsQaiMtF~v9j6!5w@>z^BQCtYk7+1ZKR38_` zTt)CrSpIeocd&%g=V$C0DZR<{Wh22*x#V|fmEBFs`Y(b;=AjcxdSS$X z`U$qQ=1ck|6jV@9o8A+O)z@;hRy7c7c|ppiC9|-@o?WF`V%SUjHzEZ}_}fokGrJCe zF{V+%b~7}r2rzq)=Zdy$O1*L-BzE$nC2paU^9TdrVd3aSGqAS&LvL4XTgvl{oC z$G|c+KTKDmu7<;udWZ<&Zfb`Ss=I?TY(%v;pWQA{=|XLj2aQw9)L1r%>F&_gnt~Gm zkLdd|q9WB-f4h+~QfRg%L$U@}ClE7_c}r-8O0~9;Vo3Cv3RKnvMV>$KydP93H4I-H z_?D(l4}59buvVc)tKwm+yYG=>e4}VcQ?VaHtXEh%KVA^6W@v)GK4}o7?7*n~puqFZ zmb<5msN)-v4vo4E;30IzM(Bj0DoT1rA1Y=v3!M*|BDeSZ*AH^WIdpv`8O6yFk~GcF z{AVh)K=7du@BMS_KK7ZP65XE^YB&Y;abTgFY2^rjGVggLseJ3YaD)){&+Z;)7ueL! zu%5@n+BMV4vQxJ~&#HbSA1XwFoG%tf2q60=e{z5j8`)SajzB(02=fQA68V!8$Ttwk zM+$KuZ;Qnd0m!|{pBx~>M*4bKAF%ioy%cd0q*~j*{(LG6`gl-SI1Y!qz$5tKjN)FkV;4E2WO@Z9QdqhoTs=%^M}dc+ef9-C@Dd+W)R9^ zZx_4HDvQDEJrgJ)lgY*Ts}#5abGf$lhj&U9(&S6?q&3|)9Srpn2_6?h1+tUDkMdqG zBY7ZR51ZKbRq{{+di;CAE7>0TsKTeN8m26{tOEGfTyYA_4V4MbV^*+)Sc{2mv&HG# zQDXiwuI|s{$CG>T({q|7)vui&W|kTNkISq6)rNu7jY@=!&!BDB@w>tmyP3RZhcvf-x7eFeyAvGr5f*wZG4+3~~X0=I`L#^T1W{@3p%oe@th=xfcP`TJ5gOAJY}^ zwmIM`C(#z)L@uC)lNsy~oFkyQr9n2J{RH3DM_MISiA(BbS?TFhww8zZ{%2;)m!gbC zl`+wl3e;uIHQ1|k^7L_Rr;o15e9jbpat#dD& zrtdh_>AmYnh2MNUVGTcRT?Poe0Rn6UfPft!*aiqPepvhvaH82AHeAk0`CdErdE!`_ z^tkI7b|AAV8t`;8=)$HpS7+=eRR)a^tIN6#&-R)$l$=r#6Lor7VN{b_~sk zs^k7>&KanoRypnlOX?2Y4l#Mxat>T3m+vU2rua1-zaa?1yNJ(66O`fubpw9pHzsCxNf~n;P(#dnBf@12_2|3FSrne9sI^R#pV1bNCnUt*ylW&oDa5l` z*MD%%+4Nl(?i1Edq(li*fC#T~LdBkC3yNG4(K6Im~` z)FMD3WaT&*u^m>%RTN+i6Mf%D7$4@83ViN|p&xj*L1`CefCMjMIKBF%-F~G+cr(HY z)YqH>T*u7V53>QxhU6hZ?^C0hr5;hDPSFH>449Yq4qZ2uDV2d}ynrDcj0XtVOnZsE zu0U)Q%V?^EhNu8lng8|PM6{l<{ZJ=9yTk`}PKx-xt&6n0YhEU0;WX(}ZwoK~t3j4e z+1nuJZJgDDJ|tPkz3XfELD&NCRB*z43Br)KHM1t<)38WEPG$VuHRCE!W?79IkTn!} zaI7lzNpy^CwbtpQ5o*8SdduThj|-CS$$ct!8~{^zYk~SPF}~VjKqA(Q2cpakjuGZF zp*_7PpS#b{a&I-#k~4Sm_o}G8r8EPNcw_NPYG?)6LL7utWcCdY>9#5M6`7}@6q9Cqq2aM7l0l$dy_@(@zRFtg ze&8pngZ!jIOSpNAYP+F6Ozhpk%CpMOHK*=A5^PmVty%`Dd5n{ux9SZr`VfW#eV-x} zSx4vQFip-{^fqH6s8}oJv*>fHnWPL{iya(2ys^gY_=o#_hP^x6Q+YhS^PaKA>?%8X zJAIPEdvPOY{apn3PZ3;3`?jD8K>FLhh>jdP;!bVB;`QA&j>XPaVs)aEQk03;L(xGKVqAk}|b$9T#=b%!%l>0r7V3*Itvf?=!sZ4oV;0 z_k+I$!ggw@gk)U+J*u1R=Bb+G=^Eu!%z|`ofSluyjj^h_Iu;WCEcLd1rA3-m29zCUN(-Jv*X zd&FacF+e5XE@kzKlsNk0Zhbw&Bx{Pp``eAq`4--vy*?VC>`fmiX@O~n~> zDRwst&l1EV3^BEqsv|E`FO^+ zKZS&Lh+HgIo4+5j@6M8%8d+>B{don0-Z`IKwWRd40r8$W)yCO!vyfVvrMvauQ&{RN zR_(Xc zO7FaI$xCT_E%7kzAn%`RY;GY_%c*#@&+Sv?Af0ziML#r7*~W5@HF19`;*4N06A5TY z7&dWde&*GtOWdxyPbpJraTvn7l!9ktDNq^wNHe+3>7gEKo& zVx!}%{P5n%v?V1Wky>A?O?Oyz1a!`xhiO)TC5B}Cxj%Gktd3cE#Y#1V)4)j77V@Zi zKUSUdSuuj<+EPBzvHUd2yhbgFig!d|nd?K;+sp08t$p!DdHB^O?>qQmr+on?-W-0rb-&k>>xcz z%v5~(cDr^6!*h;xbV94ZX3!w@1Q*$7Y1KmWfrC*uc~Vh3pEj?BWR6+AxIz7eXL*ll zoIG$6{ekd^^TV)-cy!g3db&f*YcUt)>H#+S^k*Zd`zzGR_PF5*ADe4%4bu78li-{H z2Gwkd*HTbp?1Ula}eFw9_alLu1#)ukn1>K>D|dx2n5GrYyHUqWxdn zAP=mJ=mD=T@z|525u&Tc$U(r#B6Dh`X<_BYr7I(Es@77* ztAoA6Ef*e(cYm(xBU9eTPIVvE*u8XQ(1Yq`)tCOp{kZCj&(`t#XfNzsiuc0V7uT7L zugc12t!Cz5pZBBh)-NKxhOZO@z2t5$WD)PHTi=pISYO&*#z~2o^p1!mMKEKJS$ft& z50f&d4p_>R^p<0e9ymw71HM1|b ze!j4s7CzY6t6>|#diNns`?*(1-h|h)qlvvUUCXnBcXG^kaAZ$OSGzvFDCd!mZFhL) zp1lL_Fx&(u6*AuX#ly2vwRCt%d2*z+!BPhswerI`Zb^#_9_q|NPKm{}d`L;cUUtdh zmArmAZAps?UVPby!M_=}DbrL2msCuO2G+L}9cXwdc`JWA{i}zv+%$}P(E+EIl3Hn4 zNyW4%s!Dy&-$Dp0mlypl1etPq>|ZT-g^zm^Zh4kd>mLS|+|$P2onCbyEY7fO)^dAGDA?IBqQ#&JNp={a6!pO2e7 z2{R9+emY(>_cOGT0-+iVQ`+c85v+l|UK4R-u(rQNV`LFYA(QA688=m)CO za#gG657G)dj(f1g%0dbD^zsTn~Z$xLH zIbc0VUmT$SBA;-s^n!hHK%AlG2>y$Fn$t&g2Ag}MC+dp>{9oh~&awU>9cH}!+$*kf zSa4V=9bN~siFKb$YiPKLt;4rs9UP_ok24z@&}m+wHYcQPyN&q>-y`a`@s#mIuh=M9 z6lFzQ>4>i}5j~NOTT$j-4{|!GkG&lCAA52*rwD!}hZW-GWKjvbe|Hv- zj_yHL<0!q(jAP%gljHS3{9Ai$0u33@*{$_Nd>)m!YD@*OwmD67g^*+(m9Cg7ZVpEq z&&YbcS)?D=h`2-44*rNhia&F3y-*4$P4o^%)Xv#0bMR^o2gJ+QRAxwXgo$@~9AXY? zl6f58k9l&T(4A)*OL;#MzEy_qH-kF6k_xm!7HWhO8pp7t`y|R$~4E@t$ z2H6~;PAJ8YKZR&v@|}Fx4#u4z!>`akZb2XL(fojq&{1=^3Zz+=7FGz7rAVY<@lVF^ z(?_S6-xhb)kI{}XLMNIx7IOxU(RMdN$C=+2;i-0&sz7_2tDQ^wm4F1FgkW1>C|C)o z7)jwxo(%q1oFtilTzFL+2DjJ0*4h6qyhZ=yB*uSQc2y(>jgU+X#(!OHe_4M7&K~qA ziaYCwD1ThCVF^8sT?q-z1NvR{yR~MWAO#p~IjwP{-rI0Oi(i^|ZX~KWXpx%hB z!E~_Bf8SEYfepaD8n)7s-Hl2m)&;m=1vs0Ni zx`pbOh59OI)H3bY7R~zw+*0|t7K1vAsXX>Pusq^CZn66)7<^Pg%8ygfc}<{`A%E8N zzZQAXqZ{9h0;%5>{qLFPH|OOq^t+z_y}*ae9Ru@7|7&?)#{E7ScmHn%{)emjzm@o( zu7UqnApv>BfIqSharIV)UzVvF@rkeRj~x434YLLP zbtiy4JYD(cJOt(mMEU+B4|Pk0|EZ1z|K~o>0%!h@5T9cN|2KrBMPw%ARh$(t4+-F> z(denrtF}-*DnV`4`C6e=ZJ~5@@V1rqYlT>~g}igA+=4&ukb-Ksb41G9;5gs7fH+7B zJO$u9K{4SdPQSMWch3seT;==E(=VleF_LGWiSas6VpIuU^O-v`)y|AN>;hNswQ5 zAMiMt9=deB!~rD?zghs0X+iZu27v8r&XuA1{L&{J@cJcwB;p+8Nh9h1tbf2J)C<2y zk?#Amgov8{a|!Xyn1J5IJ%PMpPasN>+E$aU*O@H5K z$M=7!xc>cN>{vu zi%?k|P3}IXj@@>CkicFvIt-5U@_4?9Xvn=o;BC0);*?RX&CQ%Xc)@x8%L!jN;Dm4a z5#jC);0w69Qb0h+fD=9=J6%S5eQOI{dn4W7M}1n0)|)M;Ubm`9myF^mO$A$r?{VKP znn#F4em;idl>JCJ8OhlKPqIBxc}hy6k!Q>>*qudQz(^l_wX?AxnTl>V+1=d4ZyM`h zF$G@&Suk_3VY#J=e>FEehnj$VLAljS z`g;QL3a^m)+xtP1i`@3z9Bs6gG7bTmCSmypA#wvP@j6M}cM?s_d)+0t>^Pd=NJ4Q^ zf`E8)2IXb$f^w)MYU5&$xig8)M04?N<_XUHo!^i=4#3{-4Z~{lE!G?)aC^`SFhtx; zL4%ltl1sGVU)~$WdG6*@k%<$|Iw;f#FAj`=AQy08w73)8L0?oJxeZvr2}nM%#Tk8m zCA6-fk7&w^`;PxP06S2V4pEAL?eiWZde8~KF;upW>E{s1_PZ>rw!#2<@I>Lyi`%Px zW*yvDQ9$@~pPNwnJ9arg^RB=126mFzBM?m7`zo1<-{cF^_QXLakQJN5#_*!k^YNSV zt|4@r9fTr5Cbqrp<@&eWjI1u`+Vsr=%s@Hb4piB$4d8c6J$Lq0VKh<@WS}flk8EM> ziFs2V!xNuKtpXBw?Yam^xLkV(yF?M)UHL0q66J9tXvA^GWEaZO^t`tV!D-oKsW~&o zcIRp#EkHQvPXypD!^Xt7OvJIk14yMDrN~qHe4}^tc!@BuNf5XjV>v%3Cz0a@azLO^ zIC{Q~!q2gxcRj<|kie(J{`64@y!R`Z-e$>HNM0q4doWq#q;Y6OJhwok*zeoDds*9C zA|jCE37=sN8Cz7VE)+=vIX%sDrtSrL3{Yz-@J%EPkT0D27cyO?CI%v&B!#$n(c}j* zV@C=Sp{k#I&rv#}^a79CcrqzuVjy!|wUWTciTujfwnM%qpDQ4<>p(?fV4h69sVkh(QLdV#uxCl^<3C4V!xXM}QlMiydc$wh3|^hK8Ophi$edo$q7WA& zNxSFWA}|)2DWDgd)U+~cI2K(K*g{rSX-91cYSLqTQ7qYDKpHIXTA#nd1dDqKdV%(a zngY_G(Qyy4!AN~AbI|P#)F=ecw$A+>lST2zZw8=k3zkRw2iU8N^PP4a%SdiSRT{B) zmgQvX6eC`QCy2Ze=`{Dr)f_nNj;GbLBBA_vV1!L?71-YcUE-(+4dtG0U#_j?&OKcq zq4)Of4>I{>n~dRa=v0(}-HY4lZ;Q-_}8EJr}s8A%X>fotQmJ^-_me&OE0{+2#Hd+~nx$Upo^@q5q9S(0l5 z`l7A7EeNZcICjB8Vh+!Z;7Uwa>a4N`KDQM1Na?3?H_N5doD z46{%Bh6bCF&mUC6dGdV>I@!mB7{^r~85WP8tapk#A< zYFOb4)dj{!M;%r^>pY=$9KBmb*IhHVTlN!P=d!tLA>ushwYm=!4wj=^(DA7^N#J?z z?a&^1sY*QT+=#p~cj-{k>C5uMZ13VSfZs)6=TTbdwse#FzNcG?b}uA8Z#e~0wYo3nKjeitM@mGcHf#W^GhSWVh3(*ZMx zs_I%i%`Ut(8P9g@ZfE_*xuM1e4-KV(V(#0h)5#fH32U8o2c0Rs2FSnz!{i&eBw2b zr}lgQ(O!}Mbm_a0(pdsRURMJ83FGitgipDWVFtJ8_1_z-D6@SR5 zP-uAK#cQafVxB)0(`h_V#u}+65kJ0}c#!RIt%>H$x;5?(j^9wf%A z-sGL-(aNvu(=_gAWEjMw^kQiSQSANrb}<4Q)I=Y=w)pwyP%$7#71HpZuXFOP|X!Ih(MJtAXsz=4a8XfcOK#&&a*nL3?xnmaoT z2AZbAvbEw5Z0hwpVKxm6|fBC@E(G zH9n*0>W|=1Tsig=ENB(gwh@6A)LMq?Sg^BdO?^Foh_p5rkSgHU|7D24nk}%kg88>0 z!&aL*E0?-iO{fZ{EVy;VlSSvLH)Dwot#)w7+sQzCU%u;xRz%$$&$lKoe?St`){Dl+ zJo_`XlCzMY;!w@tt;4|V`yuPeQ35+7d1ERPIy-qRVRJO&Msg3~dAcD1d4w=~VpoI! zVdUftDZ+UaNle_&FqHN;?{8L0Bq`VP2B28a3XZC}lo>^|!n7?WB~jtbNg*>i7cUy= z{HZuhfKwycHlK`2y8_g^X5a^l7I zx<=DW=;|!D!Ya#NZyX#BIzBDRE}`2!4n7i=?sN>4G}G05I1MXH`8{n1OizAIZ+>e5 z(}n+!#@~3obmJCFZ-twmr@W$#Gdt*pj;9}UmNHh+wX+_VPbjxL<x?zDL4;IR01FX6e z63z|evPzxTl2`KUt6uc8HoH4-E4xj-#_{>GNrPb1wN9h#OMv2F6=&yZCFdPV=fT?8 zQ;C17u2YFkm!V#)K6IdTP`><}k(zXnlNjtaTBxCgf>g&#EeXAEb z@A2-;J7Gwl9dw+fryNBuymz3fp6|&mFCs`+qu#RKi^SS6-}l{;uA2Rj$R&G^dFD=M z&=gP~`)>4hb`E5!q@KNcjb`4}y@3AtC-NT+bbW((|BnV*U*NwQXczlG8fZ;Pmkmzj zl}jo|_epV5{i;ESXmDW0-sU&!Ap6NW_v{TovX9d->HSX+#W6Hh^!8$z86!NddG>iX;HZ^4AopXhr=gxIEO-UM`l$ zqFnF{atwkK4d!?+stS0Lel(V*C8mWt47g2LF>C2Ao!Bj5Cz)6ii~z-`JGKZz9qIdfG-%Ur#Gewk$Un8y z-&P;iCUzMTZx6<_$_L~Gpu7=sBgZrBb!n5|hKY9dOJ&Hs3rQ5E9)+P_!upa$M(MqA zS=IP9jkL#w@M8CszOss5GEW?HQ+^$qF624OR?6IZeOz20!wrba(Ds_z2Mrf-qTZ^V z#1xK(o#wPD^C?$UB=#By6(~v7bxC@X{%mPCN<6YEpapwx;eFv2%Ye$77Qe8-d0L@f zR%)~h%c~#%u0&~AGuR4qupGHT?!l751570>a5P%*ph*&NXm9*1E4h7JJ=q*G z9Z)HNgYo^vLYJe2s3q>WhH;-D`WbD%y<3u7|9B4q8}+SbtOtJv!q^uU_zg|o;~aKV z($|bMkwmEn7iGt|JA0j|VO~D}_{?mQrFh9$qZ355#8M<1a7_qm<7zDz_Kq0dL1a2; zS!mcTE#hiVnec+yfVG$PAVFGUHG(ib3Zk#5`9wqgf%IY-m`C81RF2HZ4rt8+a4B1{ z&Qeksi(t6qunJ9fjP0oc;na5Bf>P1BsRwkn2r)S7U?16Fa}1ZjBqEtk`uGO) z=y@ue#M31FaUmTpHi9@@Rq}>m(SUiyf~cGZ^$cUxj6h9DN8+l#*|L41l~st;L=eCM zF;S}tbxFz;!<;Dn0;zwxhNt?}HBE5=pV(-yf{5u_G3LD^hS}_ixh9hNMlDaz&5@Eu zJs$3j5cwBd(q-ijI)~(qr9EW%nIt?O`t)pO6*V@sXkbU=OD&@Fp)TyeCx;J~FC&nWMooAr>B*|HR94wUgV=kbG6Z z!w4h^e)p^e@Nq@$a|ZQ%!0Z|Ws_B|bf$&f~5UsAZSKhFoj4zLy8Fvc~_?klLrkTlXiVob!?5ja8DML;*q8F zr4XsdU*;E^TF0>KwY!rYtziRizdPwUzIZVb!?5m+c#zM1q^J%` zeX3s%~cE>+BzhRW{gz_1!2N!m_5S z71$Y@dP+|kZN`@rmPIc%a2I>c?QbS$fZy!Qs^t7x)YU*!sHc3T(R8eR6XDT5RFT43 z@W%#XRSou(!k?A=?Sov~fpyr_in>#%%YdcPK6H`7+OT$|Lcp@9#Rjru4GO}~H5sbj zIG661*MM8r*h5Y=*&Kcsku3G_+*}lfWYy3J#-f?dMwM(P8tcLN=PEE`jcgnC5yqK6l!yyQnU?&)3lhXX~_UfL8xcgzE(uq ze-zq9(Xi>ogtJMM7c>QuEcV4r%3D~9!W~~7^F=Bg3qrLFO9mQ~Dy9eON0p*2q)_kC zCL^$#$CD}TBZ>)E4JcI(+qFt!hDyJYD61vfd~M1Xq5c)le(*{^5_m8L`%8_&jBc~t zupr|%S6az5yp<;v(i|N()8urd_)MhuY^3;Hr1*TK_`;%<`~$7x(fWg>GEA-#L%+{g z-(L62^Q`BqmHJiED-P01N54KaNKQ8^q+3ikt1~$(6;@y~G4YT=4xpT*J#(4fo!-}x zvF&QU?S9%*@ICk_eWBcowm;kNq?@LqzLsj>he&qo5UY`Z>%Cmr*;}s0b&z$CV^|zn z&Z#}kp_&dm-K>;OHQlU|p30&x>f~I~5cff{_+N%^Sqmy9R{8%n_#ad#EGw6^N;s(& zpHNO~=eLw9xy1iR=n{Nj4{jCTHlz&p&6k&FSafpb4zci+9T)NOvVT7^a5@~M0g+*0 zVG%SG{8P<9K-aw0wP=`U)11seoSRfazzkKLiet(0G^OO^M^s(fENmfj^3JymnOh*8 zYFD^By%cYfQ^noR>$^1vL9Tn?UGG+UC@%<&Y=FIO?1k?G{qwocx7fhS>HZW8kz24eOiqUmg)>qZpNU*=76nxi{AA+ZlESIy;& z4%vCWz0V%smP|-TQ;_7%!mFtv49XV?c9{`ofTLU@51paZY_)7P_RwiSH}+6(P&M|@ zZeR;Fl~zL=xElq*l(}>EDl?`G?rz37cVI_%q?bzhV4yjtZm2H>xf;P+5h-8J*|14m z34B{@B44O6@}Y=#+^bYpsg##RDQvG}ny^GU46B68arFRUx`YdU8l%OACFsL+QqTeP za-+Lo{ek%VdjAv6<1CH(+-y#P+j1GXa?Wu%>8wW;lp+;rvw@fWm3hA9VFUdTvAs3oKwyS{UyEC2exIQh(8D= z@4Hg(*Xn~xg@tNfdBCN(P>qnE-ix_q3&D{luY(tcH{ zR7o9teSCyfJ@omrfsOz)(9SM|!+G#PK;PH@(?B!-*9o+?q(d$z+RCG9(MbVU@<}+j zH*JmWE<GI`6hp6{#m^N@*q-Vsq)rAex z>Jw|k+dRfZkw`u{iA|8h#MlsjntAzH=DhwQ`!tX&|>n8{OXFH4G3+5xr3u+K^5N5q?YiOwGW!M4h`yO>Yk?9~5=4f5M>t<;59q z(F}*FkLZr{vIO0*T*f851XcA z_wXQB3Ks!xh7xST=eT{G!k~HZ!hga2w;m5L```ynw?wP|*EK=Fp9j?bZoxK~!zL~m2M~LqUo$1y*taH?y(Koc0q200Q3%?c<`bubOQ$TOs z^Hw{NMp+gi_w14JCe!Vr2@mR&_9Nh15+{8+Php7a8F!}6geU}aYckIjWzWqlp9KTH zV!JY?HYdhr8d&f8h`6~B9Yu7TNqe7HXB=I8N0YTYmvl6=8GM;L=WRdVs2@v=h~xK+ z`ZU6Z8mc$P?-TqcI`rsKop0_jDpohaVBYd$1`m_jhZi`?)B6DlJ@1W4@XgPSZ*9v{ zJNP@1+X+XJTQ??WZuV*XLI?)zDX`Go;}I28n}$J>iVcCG2yLJv2HL(V&gi--l2S_( z6naK%IEM$?WV-e*4fz7)#dZ6)4Fo6(FI+JZwy~} zBX#uRlX@@$Z-XbUGsnWf2{!0X;%p)L=xA4T=ltAy(BMpD@ntvDT}dd;@tP#ttVZzfLbQMIU#e+%_ifvYhfw^3z|+w#`%A!6gRE}+H3 z-K|3K-ac>Y*;>-oSq_CIgNaXGIKhECeg{uO-~9GAZI52#qcq}18R1F)2rgu#54V=C zuJqDja4Re?Rnz8;+s+wQ39VN8NWbcLEtrAR%>od)WJJKXgv2Z`;q`EG<3YogZ#;aBQ50AS~utaLzyG8SRMUjWT+Xc-}lb;mBx+*r-u4 zRl*=(MmnOSS2K;eXf$yI5oWCnYpz)Zyr`^zNrPxUqX&%$XNh2?l_QF zW*YSaqq(!ccr9!JVp|-0mRF!!r|U%z67$1L{LXT!?)JAs!4(Q!y-)6e1P3HRMY9+= zI!2$|w+5c5U)8vwS91iFzbc?=Dsz@hEU(Te#&?v!DH%7J zT9!)8v-!9&t!@He&i`nJB4yq zskvZ?MY*EbUOL{QMC%U`Y6Z>qg2KNICAL;nvkmtDGTZ>q+5@2~)w~m;he-=woF6fA zyrsL{csV&aFmUGMpszUiaZKHZ0XU|%A0c$2fRq`#rlYwapcvGR9xxuB-g?BkaH^bN zZfZx5@^@)M|a5Pa>(2fUD+gv=nQklK`Ryk2aAZ7czL06|@^! zM!_A8PAKxM-O*SgOwvYS|NUcGoK;41jDBAHqFH$xb2kAK*u!LNxvCe(>SPkKGe=5z z4Vwl?!6>-(%f!?TqTHedbLqAG*fC~GJ!&>kX=oK_S;*vvc@fh+{!&swkS`c|P^xIz zKxLtm<37&Pe&A)aJ;+s*f*`6GdSnpJ=7h|;PDlygl##HyS|D3Fsx(mksbq1)r#%G{ zPF2f~L|54lyo$ER8~$`b*tF}IkQ%6zkolVv(ytrhU-{T3fdsN3VO6z2N&=?*aJpw< zetBRw(M&#k@ZjDriZoSf?557!^=TM9fbyIMAL&Wct0M73+2S z)^L{TkncdAMS8q#I|qvw>Fg=*Leqv{2@CcABJV@fLjEFG|8Rei_WwVH?GVl}jP9#~2l=O93}RzGDIhF? zLyl=FxlXJt=~~i|G^LSuml>y7a5B!5q-0#=8K>lx@FD~y2xy;55R~xM{fc za-aBbeU5t#Ic09`DBt%OE|0(V6>^&TD&p1+6~l)Vat@yeAO*P#i3GWW+yo6#UdsoOgtH;I;I5=kYcCsU`wgFXs08|-J za6pxRmphUp1OXMFoEK1KRQ${%xxlqez_BYA7#_$uY$1pglmcjiUyY3Z>5pype`S`n zPoK;iywASvi|gzQIAVQqS@8fZ4JATg4v+R*6427W1(R|C2KGq-wDgxThG*13&Qox} zK^n+u$vrEtjR5FX*nnOIXj?$90yHguJA)XY&VV)t^eXqA)8n5pr4dtWht9n1$uXfG zKR&K$$qXF@@|M@43WH>ySpk2oU&(%`9_qDxp|_CeA8N3>863P`m_Zo_srGu%ex2bo z*s8h3JKik3<@@)Xj#24!X&3gxhv&loHmCc0QABIZWt$zj^IGL_EWfq(h`MG7A`l1i zQ)^o|GWZ~1zrqB=ch{9cyp>&p_a~YmWYurD+;ki_ZCBYO5_=`~N4=etD%$wC(Uq?@ zeP)eEE`?`xLvp*^gs<$<+p`nBs%cT$sL{-t+*wyh2Z;Kz)IZ0K%XzOiSsP2lSi7 z;yWV8bcr#jg~Tw4rJs2QMAsX`DfvdW32q#CiE7zZX_^ONjGI_cvrN=p;wE}^P;AxF z+oLUSA9V0g(f6wvDGrWmE`$+7)l}Imwq=&2^iq z8+J@jVv(?7CtMP+y4qWIeBwFu7x+XKhQcXx8&wrNj#An^FHmVPnj=-N;|BDT6GN%V z@AR?b%3m-XpzLGOsQvY=;?gywbhd88sJ*IFo&`E2y5l2lo}lvh_ycl2yMZY`p`-hD z0$WU9e4W16ODNphp^Th4^^214^O8%t;^5A9zL@u|z?WO%(#apjX3BWhi%YLl@4Ajw zfl-pl%ya4aTwZ;Ecn5l^x1I=9MpsWNUNwB>3V2T#EB!*L0)LaDyjx%7vl*Qkq|4aL z>Q~L=c;terL0u9kK0?Wkuo<=_o(H&yz0CxQrfg!EeHiMfnxbnSXn&R>bk~ILknyM8$#Oqrqi68#d@aix%+I71 zbelW?Wu;K<;Qo@pZ3ZQ&nq3v(ut!_&RxX6E;xAj58SnZws%M?oJkT+wJ-8_xjh!}f z%dU8u?|%zSB_M5}?y66Vkg|J3<6Dk{1~137CCP__(aZh4mPHv>{&b@2WECMJ1S+9p z!ZoAUKFWr~?YO5$Xf5+h{>7Kv$Vy z5+&&#t3M!gXKWpbC&Y;+7DIUGoZ?G;|G@(y{*>fach=s*)u(v!HtKPi=@uN<;T~D~ zxEhmio-NX`sr@FAZl!K+x~Vvi4FJO1dooWaCyV)L86KwN&A}zz(G}T@FR~Ajc9Cec zh!*`WO1H8f;GbmW{rUWYIm{$cXYrfcLZ>_1PIu+H>6ObetrpoCU2CNry*FxS*ATCd z7WDZ``sGH3?>EHT$XSWJfQ_eDmyLe=d@VS#T~4^ItWPRcbnESVPG^?+awVx`FdG&a za5PwjrmHzesAFbRX=r0^Q<|vKDjU{)ay3&kPpOPEv8`Lk+DbYkyw|9~YdQ$lb6spX zudR1=&E=bB9xhe&zZXwD%KSX3YNv1;hO~K2QqRqs_Cfkp5ZKs!t6i>b7ZMAj|Zth)?c|2wm`MSAU7RnzJ@wWeNG zqwIcF6FryS#q#P&{nA?7!0KVa(CWKB+Vr!!pXD_G<{sYsu)~URd3~Mdz(R+X<$$`R ziy9S8y_#e~K}JuH72!wgT`Kz*jq`*k-N1E~8`D52R_(KK6rO)=G zK?ahPQ#9fL+z8@@u%?DQEExoFW}k`mLc4B(&^-sDOZW$(K% z-9(H-Gw~Ak9Uj-E@WLQog%L7A!LmWYazVlJLBR?^!HQDnqmJX!2R)807Qt3C*_%Yq zDX&P}6l*0y(mxn*7aTbY99lZg{wcFGM?=KKMGBDs;bwnV+1CBFU?+n!jgACr|3?9E zsq`YK4p*DV!>#weicG1*Ww=p@tc-On0J1BP?|dQBwsaJ?KL0r9Z|&xsCIt@GoEQZ& zS}>NWemG{ zDCpWlb+M}gSB`8~Tb~mbIy+mjZwl{sc(6+|VDj2W49?m?RE>ZI$&!h8c57a8Mb_6W z#SBM5Dij1ya9d&>mzzuTV`o0nb!hRkX_7`ied#kXj32T=Z(ljmm8w~tKx=h9lol!| zofD(DIvLJHBb#u^NolB)^Afn30h@?KVE4H3+^r%>YS#u6gtLIODmAE(V+_khO>r_{6rv1|z4r{O{%pY^Rg6 zaJ33-EXC-~rX~Jr#R)01kX+0xJ!P|>r73-JQ-*cFQ09`}cEL;Y&{N&Y#Zu}97C+e5EQL%| z69KS#f3rdWtbpGvGyn_s4-1g$BW>+379bU)rtvQpAeGU76b}E73gdhB7{RmA!L!$~ zYER~;%1c)wtYw`%3RWD}v=19Bb}heuo9H5_0|L*MriT=P{f-IB0I84IN030=M_?o# zB)|*o%Z?6i*XDF3(->i`wdU;TQL@6cmT__?*r-Kh5)1bN3%kwSMIeI$yG;Nt@Lvif zk@cf$04nf(1T$M_|(fxzujbrCWC ztE75Q6k8fD~rHkJNvo{5St!8Ztu#y!QcV1w?{Z@^bq6Ly&(N z;J5N$c8HqjC*X4c@Un9HtQ6$8^+llmZK59rQS(EaKh@v(I45ylz8=I?&O>3;&U1G~pqRq{_HWw*vExlKtHB}b9 zwjUNxiXY5n9&Wyxpgg%pfx@l>ft6sGoe%)vk$y5%lHnMp#DaThTIFzst( zC~qb?N=L*Ylpr`ysv4(nY)Ro%<3_ee z)he#R2ol;iFtj1=apW6o1v~#p(IxRI_d7h-u`S(2s3-!Qafg})ip$EodrDl<|?_g#%ZeG~Oj>Xm_3o!-v7I*jDy#QW}Fy4${sfMK9%e!0kY zLwMKXI4=2q0&Pv%RIbZgs{5usp65}J{I?9{7><*2w-Xo}+Ul1mQ}heUu`*j5Q0W&` zxaLj#61IP0tZ?RwR1J-YL1_hZSxfRg8xKug*f{D z9(R~jG5>HN##i7{2wf#v>I@I_dVfPmN!{F-&a%5;R!TSWaHSTpL1MH|mPLIyGKXN= zoTgq~A?IyM@mSULdNIe^h+QdG-oT6YPo{I?)096tNNveJL)uM14^~o=i7S~CF=f}0 zr1Rs%`H+;Ojv87{@HN`r$!*dP`9NQj0RTpKCjEA^K^aQ4(iMd+_$942ful{>E2}JM z(2XE|;fiv+5BfHTd8@uu%_1e1;P<6%NA&2XvARedxA zO&F9o@N8I#e{z6!i78rqFDIS94vpBKAYWVovJS26n}-E_7_uwq~A--F4p{lpZberl)VLuZE2mHoDYK+03+VJvw@N zFdg;|BdCng{!qyUVs1>AbxSVDbmp^^>c&g%rKbxxOBDyi-|#I*4*JkZAZLK-cxHo63-$ zz>#gyp|Y;`kmr7+jld8)PM&$bGLH4r0!@Hvna)pbz>=~MG8|_%lzVRJ^OVN->i2Zr zdCf+!tZMJ*_rxuZ7rcyjW^O>tSWdM!QT={PJ97AK>sCpzivvSP-R6C$;Ud?@c9^y4TKVuZI(y!T^mGu? zx7tUb((|F>C)Tlyj@g{VlW60e5DJ3!SG%Wa{I;hSLm&+-7oa2XZ{>@QKudri$rjzyU-!03v1p z5n8_@a6_A%H<~R1y4?8TH42QMInOSNr zk?Cp0vakGfZa&x^&{q2C9_y+iVAW#q|1uIstlu09p~P)9Rbb-nI>PZ?2=xW-Z=aAI z@Ke`tZ4GAv_ThsP!XH>sz)#(OgB4ZzFC6XPu%aw6FJ2ejw_>79GC5y{rBXw|2?e0w zpy)rCioM=?!62gV86GR4XtxofBedFV&>s4NEVnKdPU+HfW5J1nU|G;fwlFlXesMK& z%&ZuRDO0a#Bce*Li)1{%hlf9;n^84SBUbcmJ;M~%1i3uJU z0&qq3f8mM}m%&!9;964RxW8I6W&?0Vw_bpM;fj*}2Uk=HfGZmR-4-5gU^rjiUED*$ z#3;5lc|x@Rvxnw48A(-=y``pr8-nexXH^>Df_w{g>|=ydX- z9by%V1J`5_CjmELPlKp1nFxA9?k8aH?7$UKIJG$7oGWgvjOG>LZiSN@hrxW*E(B!d z6ko;35dS1DhOcE<2k~sM7z22Tf zY!7sv{SPU8k!w}-J^N<+G}yLC_J#4Tao-XLXX5hRzJCqq?lLSB(p+X9L0f=6%TFkS z=2b=q3lK>HPi7f+llP90G7DB~<3}LKu_UQWAX#-(3e-m#%BA{@mIvpa+zRUi6kWp4 z)JKs^0%6U5DX|-ag3zh~)fbX*!YYR0fD@rFz{cs2(^K^H%|D+-dW_+6HneNhGz&&? zG!<5eM=8YmYo_QudV)(_4{fuJ3gIjRf50(2EdD64F3D@)LaP0CSr-GHlLQwo$`xd< zszJ~Bqf_{}VWa2FKN<(Dw=1o{h5;;%0XTa!GpOaLMPn( z!lFcd-p>Q{A9D?H$aaW77Pjjg@nvp0C4^lYY7*}-e(V)s45-xG*Qrs4WWww<42!W# z3yU>u!!o|$lpJtlq>ZslhJ|Osstg!{rE`LBjGSrZ2pE0&IkAMlz*c)1c;DtN0#atx znYj^(|FZ|nI;ova543&h>#h5tz!5N8x?jX<>G*4k*U{b2x2K(6OJ0wp32Qq--hS{~ z7j!%AJEmc-9_Ls!GQm|eU`49*3LP4{0=T|~ zbFMXlu`UChHqCTv=>FjPmhM>4g}yihuUlvq(+0}526S4+WZTd+?)-u49JZXM>KYdS zfa+@lbE*$fH8Os&3f#I11dDR!_Q599xe8>F9_}(xxAz@v{$ztk>U?q(-!8l0e0IE0 z!-leE?6eE>b^lnRJ=QQ2HMK9nF-9V-BsNGo&GKiSO-1@_cyY7>0`Vj19?4Xmd!YhJ z0^7a#2x6IpL5hx*^k>q&*RzL?AF?{fIPZtnYdh^<|1nb+1dPf(x;KimkRLvLC;adM zu!#8!6X8E-2<2)T4uH*E-Ulj0`y`36RY|M(SNtE&6wr|2ql(kX605+b1{$MJHSZQ| zBpa&yqkEP(mBv)-c)gxh&BfPtZ%}a&WaT;+uE(F-y%D5i(nL*@uBi8jP0Xf6e8~mV zth60`*wNxTXR1~>ctkp!yP4nPCMpq2^qt4 zP>97y=AFFw+LnyYK`t56AL(+YW`|vH16{yN2NMoqNQ81z*^4w7BcYj&%`}~=5hX#C zE6T7@NU|O#kq9XH)qI?GL6?iWbnF$!kyIRx*0n<_UMPB$IW7)DH0$~-BZOKYfHXr) z*G(TsLNBZ79e*yw$7Gul)DcDgFG%_TkvQ^u7D(+~XGM|LqrNHBwxIUz(PS$P50JdOdps&CNa zU`nII_uL>p#9}(`ugOv4$|WQ9pzCGd~EFZeQqFZ z$wPOk%BKOFxbi-*q`j&HizMNG3!@_K@JU2 z_}r6nsG)JnVFqIQ@=JX7)5j`&fk8*;@YSJkHGe;eQQW{KV8E+GcG6;Z z;lf3)M*;g|DN`7U2FCKS(w2=$M z&e1`2E_IFd&_b=R+l&Xdp$rrM{1t<-z@UdsN*kL4*lRQBK}u2{mZ6X9G)U7eGv2N$ zJ(u%E0z+k_;P8mcKR@A|;Py2gfAQ9oLyb3L%4P7baAr&mJ{#rj&h7BPjC2S+_Gn~B zm&46lu(sQi9+&RNbwAK9mqDh>SvqyvxA6bZ$6&9Z>^6 zvdA5fk8_1N{^1SCqbA7+3-rMhICMEM7I(SF6RJ7xpqhFvgYBL6SMBc7F3pyJk?^!r*$@G+t0h(QKRY3I|?BzW2)W= z+l4qJd!KWUT#qB)ZZ17v3i&i%dQVt**Vg4vzJQ$7-hjZbfN5^p!Zkj9?SKFhJm%w| zh(US5f$wa`Gs@zTLN^5^gBKobyqGA@^jcTE9$M zAo~i7z{{vu{E0oGSgu?D6mV4op~HoSOOn)sF;z7EpaorNz8No+4dg&!31kHgmnFI7 z1lQ(F&a6x8Pm?8`4dh7CR_wzD?+-qjUjlGvz5sRtVVAr8|Zj9LQim#0iiq@cjxG= z2-sH^pbUMnVo@)*t?!sS{$im~ZdqS3m-9tZoyN32&7GmNUig-~++69{EIxPsSTS4d z_{|P21I@A;V_~CTpuE_w!X5>CZ$G1S>I0qvo_?nq9_KKJrzuBZxc#`i_m_Fi}{PIq7e(IUAR&K?MFooAQm_Xq^( ziR$PKu4yw*Th8$Nf*B8F9Z%Qo(0kGj4+W)DDfwy=k^Tf!v=s#S?n{vU-7>9V&!U$+g=M7oR>7x;c zhuWJmHl1(5C?ca)1&Xqu>kJ}{BQ5) zKW}Z7tBp7xb0Vi-qt%ZSN6MI{wn2PE6l_tWl4#Worw{GjT2Jp*`U%uTTXEUOcEE0Fyzgbtr}e+2KxOk4SB@ zolet|zGLtZp8!0ZCeUJuz%{7XZQmi0^?8Pz&xc&=5;4IDdH5%eY0bAfS0i9zl?>WY z1j;1F1tP=Pojfl_JRwn$Xad*J0>PKdXEnsAkRww#Q41b`OKwm@=kJIWQYE>qf8o+{3g;ZkmyTI%gj>0(lL!YpytSr!QCT@ZBIQ_VpkZntS< z;%cD$yJf?>Ye@Bz&_nd?SD1!9W74Gt#L+RRL9N9 zc6h1u20l_LtleQ1h2L&%2X;rYpV-exJC6aS88w~Z(+&hfIA$54V2u}KL@s(=*0q8d zGzO+2rZ`kMfw3KBhwbeJ8)rhchVfwlI7S5qWt67(IrDb#R53931VfI)9`9W+t+9Af zLUfO-?Sk-+Bf;`e;*<2u?Qyz1WP!PPzwaH@dF%f6Od>UZl8qoj%R6q^{t zRKq>+gH70Oy4th#W2z0og))EzvW@8+;)pvRf`Hp}?-02`rbvd}Ge3sdmhQ+z3p6SP zir0iJ7H17<^m@44c2*a3bzCHyzL5rBDGboY7Jl-pr1n%abnNy{WV8qDcGbii2iqJF zTz(Lq9x_pZWe`ORp`0bU8eTc!I3_A^k6304$!KS~DU74Mea*+PrcDYrjud);U+Umo z`;Kuq-haL+1S*muUUL-G#(ig!dq9SHPv*s#21ho-GuSx58@Xqd>GMMY5-;q+Aov+P zk@52!N1Eggf;g8u7I()g!j|3*`)aJb77I-|<@*Sqa$> zHWAaCECY1z2;WmHf4m;W$YARX7IyoTJ@`hkOP2rm=3 z*az7CJ$th%G%iadX;nGTr*^Bp^C{4XO!@UpUY|+_4Z7omn&cdvx1%_TXAC*aUi3q?eP%&Ct}M z!L=Rlt2Ammag|yh%$?=5XnkocJ$BYwvp(KR83-KXPVb~h_F08%bQQ%Po+Xwez4GMq zRKgXLdv-Z9<0}x4x)ch(>Z9)Y>4GaHmh(pDZN45%!Pu`C``;Wf!+7MeoXIg5(Q1jwx$wv_!&M zhUFomy-o=9X9Xf!{7*F+5p%8WWiWf zi-|KO`oAf@UoJQ@`*$;adM$kRde@sdLjO*>>7fRHmH8o<*uy(HT*vrpg2Zd0;M+O! zIzproWq?#~;d8qfTcu25@mIMwe3gTLY$lcmI4@0Z*3PDYmn?7r57hynJb*_x4mvJ+ z&PKEjw&hAA)+_XgZ6{QB`(ilC4O0g20nhy3K;=#f_+`PQD-2mti?8$+UY}^imEl+M zgu1>pajm9*q~*!%b>#9@R;IC0nJfA3aVFnAzqqctpFc%n83#neABT0`Oj-TO6C>cgEE05V~B3%>k^!_ zU_ZjhI17+`Omwf6q}os0ig80FfJMMH&+K+oGC!W#vzqnobY~nZW@@T>_u*!`A(g)} zZ9N5LQy;V(R__PE5^W?G*=EKxTL~Vyk zOl^CQk`SDnvrhy(%_i}y&nSr!S?xF&k|Eys*K?f~Q)~V7^O)m1AJI<}1CkEcw?+%N zj#7aEcKFn4&3p*ZIrvIMBKqw(;p@}%Rs5D^FSzZA;~LEf>#8civ(O(|>K3DVx;Lq^ zbG!N)p;((gO)?d0s-gP1jVa5G&;=ewD47jJ#H@o>vFq@Nta~lDFH!bpW{ad)i3)D_ zx{oQNl8oVgy(92$IVW@Odyvbb3Bg8O7u0mA(yn|)HLUWx?gp|I(*WT5TvXJP(nUf@itn2HBhUcp+_;F$2+OruU#v{NtbXVeH&C_Pm4_0rQD&9u; zdxggk&>B~$Km#+tirl}3 zRDk8>1l4H9=9VX0R>k4u@~hG}97C10CW?_=I&R zkAyIn+R>HmPboVSQJ4hd$Suz;>!`r2N^C1n^@EO8x8V)dLcE^;Q#Wg*;`OkYZ&d8u z;aK@8GvS^nKbfCqRU+NKWe%>RSJTUHGR;3Ij&Sbv_ITIyLF>Daq6Faqwr zwWKkdTz1s1^GB+T{TjdmU%#irVD^l-O7yZ!-3-Sl1);9O`4tH^=h)k=h0ynI(qhar zD4E@M{QXChk;A=x@QR<6-Kx}+_yawvU7S>Q!1o+9_E>Sm6Z^J_#QZ~V^@jWmy*F@T z*Gpq?FN0LjXuVNCo(wt}g6N5!VTZY87ioweGyD)$)X1k{zf*s2^Xy0MQ>Bg^$pq?m zdU)__B6-Pokxhj|1)^bsr|M-^iozwR9L}LU>DG_Y1!owWAw>cCiqOZ=|D0y%(L|`0 zq!is0et`|efXcivLm(|eUfA_no#d8z*LC4a8OXrx^LJ!1#67+E?J`TqqRZI`Vo7qqHNN77lWmvO~*EK5&m(gR#q+^ zA=O2jcMpBN`x9KMHp^t3ALuF>@K8krdvp^w-NSZ+z>%%s)_P_S6q{EclK_gF_3R86A5)zBdH)Z{DdUD(I@A2tnUkr=d5(5xSg zAt|-tNZz6E{o>uT9(PA!Z2jeH}vI2mWs`g>$*CfD0 z%q$ef8uJdkJ-BT=>wU7T-(9Zc6;V#X+c*5dtCbletJ7JA*BE+sy*7iS;BY87-W0_& zw|a1nfKb}mfUuEyt~0Nb*_hgI4`d4+N~Ys&`NhdKNVJz3s~}u&8M9zaZyBecTyGhx z;7o5BuOMA-`D4MF-ZE}MyWTQ(!K>afUoGdY{&A^;HNzDBdKu{&I`Im+{-E4C=~=mO z6yVQ27ZaI*Slmhxw|zwjH#slDfdwt-yyM0}-?c zD{19WcXY>Z@im=qyzcOEMmjWu?-X!RD;o-3hu*?{b{2a^67QpaeO0$-GU*h~ykJ^) za(6<1s{ZaO)ytxwMKs59+{((lFkrecV60lM^Y^CMARzSADte~Y)Vo`d&Jg>QutF@A-)p!)#+@QSBaJ>Ap)tPx= z+;n05k4oIR`rH=hrwXmHdamVqk3T9^oX$!r);cU?9nQj?&;C-WsO3>&QF*?+p!uAu z_54TWo$^A*@v@40vOj4nRCrA|uPN@7l80CxOXTMhyy#_K_?yViNq+BH0htE>S&z@{ z!KhlhaAg^tFFo%a+nG9PB9?bZ&TlEN5PuIbo`4~S0l7qw81UOZL-3Cw#_`V(vzI(# z4;W$s?!7}4+mjthcLZ0}T(`!J29(8@S;Xnw_j(ApQo4hXqa^uWA*-SZp?>^KiBAoW z9-o-l@{IA{yLMo2eSvK-%I32iY0ynjVfU3Bh92Gyne>F6p#~A1msN&>O-$n1apdOY z3p}qgmP^Dul;}KdL{`v@ae_z7S91gUs1*zP#VLb%3wfIxOr1v$JX}RwWlnO`cBQ>N zhlAv$V5apECnQOk1A~e+opOBR+q|;8O8HWVVUr(PZYpgJus6P{e8587t_3@hTg;r9 zL&~;Ej4nB*R;_ETSqr&ujOB5e7wp!(+A1ZjWJ*+14@DkxF&ld&Cqrl4?h9{f#S%Ay zH;wDm@G0D|`y+x(3oO-gfs$Us5oPowH;ESD!Wk{yCAgbrg7F~VyC~79=kwG7s}@sO zDlBb-%IfHQT94(r&L=2Wcdh=NoWak?bWE%6h8kwnd0zgsoBm3&ZB3f>pVl0-FF<#o z*PUO)mrxtWS`3D~LQ@d@tt|)p&n}#l>GV(zZYgC-QZ5x}HyUIoXMH{Dc*1oSR%R0r z0-E-h=&y2%c_^qv6P!fUIKY!k*!S5CUHda_HFWm`o*^u+wdTsoMMFxH4EJ1_w^QD) zF};Y{e{LRi@0?!VVeu*)|1cd5)VZQ7#5{17Zzsgghy~4%lMD1t~RiL?DWpPXT9chLnA4ASH-jW6T8<7Z|AzRWczhz0fK}}tP>rp8c{6^qXtnf;Iv|F zv0`b3U2audZ_wa8Iv+8$%%IU~Y_VW@hE=XrTW`{EH#(m&waldPY;3V%d4^r?RqLeN z06#kKGsQ`-5omleX^D$fE>!De*bp%~A3ep1mBa`#g9JA!W|$FWYAOmZJ(SJCK~K@D zHiQl~gdq|uNGMbLrt~=~ir|ymfj&$y4RHgtonIdkvRFcs;5KwHl_dA4OTWHYl8&ec z!R?V4{?EXlpbW*yiL;~pYKW0zK7Y<}$&Vcl&3nqZ2TP!$PHZZ^G`&%8r%kvG>7-+R zSOG&?CIKw8MdN#E;ncDvPck$vh=2r_RkrQ#rxa{#L)f zb*l=v$f#e}Uhd?)DJPvRpNReG+o+))yVkdqokl-3#h7-wA1j4qhB`Hcn&0T77ZPF` zr2jr|Sg;rk!c6yhVwz@DOS z`#U>^#oyWW^XFq0p@Jmq7sKrAm}aQCxfG&*vdjIGU6@ix zv;>3ued)$Dy|b2>oiK#eMo~$(&KthvW|oc-1caFe`{$Kjfpa!H*j9GF>Trie-tlZ~ z4*av-7e)<^C+&!iWZx7%%F6Rf?`@mm{YZ(l!o5SHr3;3qe>kV{Qb_VE?xnIxfZ0+u zU_`|PIHy)dR{9QRI%c*ywtDt@Rz{9S_71d$dXB%RPW-TdsS~6Q7Iwtet^zY8Fs6V4 zrs)SX-aXH$5FGfx+LW=)V>{@^k-f3ovnyvPi!=G2 z-0Jq~p4cfERdJ|d~;y-fq( z`^>AJ!XCj_d|qH=zO3%%nS*R+Nk^0DkE-7M43<35v?)zj?&nZIx>fBnFe{LK$B`^4 z?tmY!v%~Frs>VzvyV-LGF`t~x791m1T7z6a1!trO4!}lXMDev5Rj8d!t#Yc*_ug$d zrq(y4$EVB~siaa(H0VzSEl5Pe@S-b5*9e9Zf-l~V;iO~^1bM^_9Z?IpN^>A3=S~}c zCd25LF1x1v*oa{1e;VGny?<*ohfAIh@im;zW~|v5$WYh^6X0& zChCJ4mk*LZG>v>}Lu4hLG02DrWJ5ah4B!eBirta||3btH0-If{ElYQDfY}kk)t@WZ z-p3(j-LWcFfOJHoo^i^aUrPkI>T!6hKWGO z+}zb^He);o<10%KUuMq3KVGI&1Na8c%I5Gjfa%96&Yw-^wr1A9`>}(WqnW{3iZB`r%`jSqLx>Se@_^HL*NFG4apBjcjs`^**0qf1A|^hqsTM{$P}tP>^r2HtEnwHT&Sr;FXXg`a8%WDo$+ zN-NxY?N}OK?Yq!IO^@0V3RR6KBFeL2L!~+=^v=7y<1|ZE3o$!do6w7#w4VXbRNERv z1x(u1Me?+>gx+k@3dQb14RF%fEkn?X=Cb~^%1;FZm)Sj>?KK73Qy7XSMyWp=i`ND(E@VDbG(I|8PEHGD)$rs*RuF{9-$+b7^&X z5cU&&g~}OJLHoGLJO!{?sdj7~QIlB0cGMswcB9{;os_{%j8j140$s@rpi);^Tf{iez$295-PDBd=$Sa<3F&xa+wq@ix_UJ(`@(lU=3HSvBcsl%2xV7^mqSCkCIRbN-*9z}%J_T#lSRP3;YOh<=+9W87c3USt>)}KtR$=bbS z$9q)Y+NEfM)yGx*xa(BBhajZMD(#)0c3W~Z+#lOhTWB7&yMJCY zSm+E&%Y2L(ld%f(r(1{SD^Sb$p>em+TwbzR==zq1qv$1kUoy|k!5$1#Zp!-g>8>t` z`}KC>G-JKf`?)C9x8-@lkq=r{U`KKC0hJ}=`+(x4YY0}R&wxqRpaQ_o;59iIV}tV=X=PdF?c-+_gqOE^ zCfoClklBY_N^E^5%5(ef@yG{yFDwbtir4&cwD!LLQ04EF-L<@F)}e!3A7ghk$QOFB zxtA^LUev1Lmu7tqIjP+s{|q@P-o5B8ax!%A6ne7IV>5cPRpaWnAMcyfok{q=#&-h3 zZ8)2<=WWM~8Ji8}&Vc_hafYL_ImL9%YEw6P=&;YZ0->rj#HS-y<3W~Qf2I3AwtZ8Fsoo$wxR zdN6tIRB?H-vM6xDv_g1+Cd zz~I3v-Lbx%6P~}gdoAua?P_fFRyOhWDjFzfv^4dEzA11p?RDs$7>}=yYe@IZbCp%j z^N1YEtGvJaf*AZCZ6czLEgx!sl{GOPk-IGBnrYN9?zy<@{Z3PvIPVy(*qJ7Eo!(v( zC(D)8MKxo*0~*;p z2ROZkf7EOnck%Iz&M(NR&wKm2vsTGL@BXm$L|@ydRg)uqIW98yMZ2pSW%afAQ%}~X zPLAc6dS`aJ#_`6l@N#-K*|L0~GNDF>lq$h{-hfz5y3^t+DR+Lc)!W6Lz(e zonqrn47JfI#CTWQhqyLQw4WOq&T|;7 zjQ6_}Wtt(PKGq$l@6(|^UP+znG$Q}z(^bcjFskZM>4e>cdVR~=7d;1#JW^JT_}KYwf0~fAl>_mRtv2Q&;oiaL;Y7aNaQ9?jiA!H@8bPOcl3j zrmQSKtG`(@od5oi!jL2!HI!@-Qy$LCW3`c+I5YoL%PN0kzSmc8%yP-|xM! zCFg3<-g|xFc4Zt7lNnX_9nue9z(o*(C!5!lV7gH4RIBmD=hrx-O+IrOLzK zrBsU=uQHCyspVaIsX<#>yV|;1yUGPsx~n`ke%jYy_Ho~vrXOL3g6a$1FRBkRWPkCM z&MJTNzA*f3d=~s&s_!S5Wz)AwQZ~VDO|NtF{vPM%yxfz&YQ|DBy{lIbi4Qrp`nCE6 z^ZM~hX%=b}Y79m@?zo{9U0xLq2lBQ2q+I$ko9=le}D+R>QEw<7{gB z#o@6lY!P;4f7QkwOV-eewDXBgOTRRH#96Z^$@-0*gX44COVvqz?ne|DBWyG-P&qL7Gf z@IOK=HY)?17Bfg`Uck7q&TQkh5*h16}d zS_QRjv^!QlJNiPW0s3U{bGml1O&t;MQwXv6hc*6eh>*Bwu)Z$+jr5>oP5 zy4IFj-QiL?aiy*Oq$RD`s(W^_Efslic~pI3^{S}xywVHzIl~PUQ}@$?itM85ldA2a zMAX!%)Xt8Y>c=z->q>e;jIo-U7frh8EN!XvZhA+8RF7Co=Yt=G~KURVCBJ^a%uK+lL)p$_bK{@J>K9uk8M z#?`?!*ILJVkFwt?yC>JVJGnaHOefc3>veG0GJJ0OJF}gZw~am)eL1=*Qt^^}NAwF} z6}LdQ&6L(8`hk$>opyg&7g|5KbDCb*8LiDYW$)O}^@&T>`ngIDeUS_OFZy#hF1fH> zmtPh$&*Z08uD4tRkFsJF9p%HEXxF)4bG_o?w0?5^w4hR^+7egyoB;V}#{^&8i#B`9 z^|SRdYjODdAfCGk9=aTL430I?DSyhJlfO}PUH%#zwlT+IwBK|6V!cOo0~{8MjMZ|Q z7rlWa!Dg0*Ma<;U8~V!SZ4n>g=!sA$vowxsj(8KH-mKeEQd+0kqWej=;_<;w-9y&) zZC0k}wNLbGu2L>i?KQvCk>ip34bECivna(f_~a(#CRHl`Sl+nm#%uW(^2p!%Dk=Ci zf)-J4;I$R>Yt$RODh3+m4G{zM+_FcmH`3+9-zC@@XoojP%#2hlyXJo5D7>LpzF+=e zEJxh(IF2}#CqEC+&z1R?!5}iW{F>o45g#H}+QL8KPWm!)+iR{-Zq(Myrq8A?pj+;Z zdK!TpPa-rKx_?+VTh*xks(iA>@F^Tm3@hk~Q~_R9PG#hP^A&I|iGJm-ZFhnn@n2dkP^Dkg1eS-IG{TKQMSlg|u0Y>K_?3{}w2w+(N?_nZoF`XU@M z@bOoL;%A1x)905W$HyG)P3}e=UA5{-JG+Bc@DDHhpVw*YXjK&gRsvS% ztq!ShD=Q|aZX zSxQ0nJQp74=+EJPD_p4J_Dba_Wd`Gc1J7IGjzd9Slqw~5FUoVJAV;3jwta?b$i*IQ z#ya}3=vgZ4cJST4oodUXauQXBHg<-VX5FUVYDukWo|_N!L{n}u9#D9Og?m(5DJ%V27_Z81#f4{v$~94*F)R($UQ=GG zNW1C9x#)e0R(~J;M&*5UIb9`>a)L3tj3d@S9j^68H>(_s2|wKFVyyO%V$R5=--iqPLgPs?FF~ zR&<35|8MhF#w+^Px6xe(r9EokUv)-ww#qTeT*dTl*QleTdp@NiuX&#Y4}v5a)U6D2(^T77 zPF2D7n*F^-FH=^=7H3{e%%vP-Bp#6wJ1jF~^m|!eJ~f!}aR{3#F7IWY{~5na}eq=mBvjcuUPxF!Y-eO#Fm5HUu*f7lZryhtoS&oBCCbBx#_DZG*(vY>7s~s#Bp=_t{&qcSA?efMT|xm{iYotQp2B8wyIuMqjgz! z(Vu#3dFpyi|BSF}hlX>*3w7r=+C%%^m<_DPnkvMR!+87&K#9{TNg^%K<8FT?i>qo5SrDfNZG(hIxD1-O!YQUd{gI7v7rm8 zD7B(@-E-d-`+jVq(8-U%7AxdtA5&G6a*$EM(Xc4l**+`Huj*+^Kpz`@)kW9U-QrZf zy$Z>a)cHbkN`-aelwafTMMPQIZ?!L~J5iSx*R)r~p|tMAyU>(Bi%uT2nm7s_QH%QL}fK+J$*K=dGcXmvmN_bf1Y%vO5%oEENlFM}ZIBwxS(U%(FdS%|}~qReL<$X-7@| zrh`JW94=Nbi#nYMrzNaB1o~1Ptg2CVgglzm_E*#_hp_{SBUV=(;7dDCnvgJ1nJ@dQw-U9H}VeX0CxAs0`duMWHw)F+yM5B7q;OY7*(So z&s?eA2!v=>DO;r7JR|w2P4ErvpyI2J+toX0SFKz()tb?AtS*$wM2RSl#-4Sp2L`k} z(pVAb(p9T1r6G}C77ZebYMW>V3Tg+aFFGz&3khDoV-Xq1K6}l{#F{ace)Ve65G7eKpXj z@Hgj6d7@y%{j|LZmlB-is#S|}EaT_YTB~F`_=2zm2CJ=25dxU+Bpq^*XMkN0%dyMVd8nB|mD) zDZSV_P;E8GS{Ht2x&2$N71rBTHmJ;kzkV8aa}b7AuUn^ESE3=Wzry-w>k&u!>*!$@ z6CAVkz3wm8f2bP3QO+KHE9PLYZVw!lkAq{Y=|1bqrK1n_=?=p&q#J3Sn6M4GEb1gh zy%ERzOPrI`5nxh}s8WyR#~rsP-bb$uNr>X?q?Y5XX_gE@&LQU2iv0HlYu(F zdU#tzO@xeX`G<&iz=YmK*xQDmwo81t4H?zO`Zu-mpy*q%2fKAWtedTC)PQPvsxC9G zzTqpCC;y{@UF_CA-5<6^!nF_9FV*=q4K(>RDNZ{(Vi2xXl$~T$CEzLWnD&acrwaZV z+PA&4O!k+D39D4CQ|_%oh*8tZq{r8zup=PqEd^yy=kL+{X*YpCp$w`MNKfx2+EMiI zryYm^R@J`p59=nY9je7IQ6hGpJ`;{aiU4Qre7d>CUIqFUr}L+2mb9DEc^OG{mFNFN zKVOdwh=lLg!RdgAfQYw=@NpyUZuF+Nz^sr%OZfLkK)8U_J*Mrc05Pg6fKuI~4LNQ% zR0VQoXJ=+*W_8eNxcbt}(ksqzEwyH5sYGN>SvmYC!Yggq5AZw}zNE5_aHz)+zQEs+vFTEV;x2?0s;R;tx+azs3@lJ(8G1bI$_vKh`p6s1F3=Itj_xU;H z*w4*6>z^gQRBWl|;6z5mBEv;}w@Mycq;Lq9p#me-orb8i57paHr2iIOZEBhRBRyP$?M z%UwcQcH+6ago>;rBcK%#VGf-$?vSi-l;D|CPM;kfYZPTYZ>L|36m%#(`OqD{6O9sd z?lZSHQCCD>^CpciTF|erxjS00td#SGdv6e((?`N(jjF77LV9S7AgwPO#--S0F>12k ztsFDi>*gfjZ>{Yn;C*k^*dKd`9w)8V;=E7yov~`{I_=E`y6+v@8wdZn-i(#HW!X`* z)ta2m@a1HWk5j9)nYTcjb(W9Bb#YD37TOyNJF_DKbUvr78$xx1WwZ# zVrx`5!)W5jmp82|$Mp6N$y;l?2#Cf6_(=Tjc39w=H4JJJ^P`pve9Q`}$?jP>be*RRNZ0XmHSc+hZ~I2Pibdk zm1N7{*}kaG)5U$8JsVDyMZwLjjMHOj?(Pj-&!c`g(%0>8FC3>7QYKWuI6aisTRM>6 ziM+=9VY<6V!;rZL_OjwWE6)aX4TsoRrJ0}d%c7M&_T}G?R?@6$7~1C{ukH}YDAi9= z@@`9;7ps)hhlptjPySf1?b{_@?MQt#FkZAPsr!z>b`i;1SLeA=ewG_t=HB+3{aQQG zOFG_GM^F23D10?@4ZWnM^ISyo9Zy*2sI^`-Uv#3^WXWIrpOz zo0=CqVlN7;I>-HR`8(eEpV&D@{QSq^b#d^B^$pv`h~+DJv6p1<>Q%#EGfLgj49485eFvwgATGVZWWH5oXq81Scd_A_y_ z{h_vnzgG7&Zk>0YjpJ7k-~3r%?zzsbapD)*G6g=^{lbOI2Q=8b_Y7G1x9DIXd`oxmp=BW?$us|VL^=5}d=g5U4b5dX7`^u6M3hq-SEctQ#g0^q7_`Dl1rP***Ss~!^@;TcCV4UY0 z9YQZD={y&b^j%>PdeL`9_;u|iV~WKU;@UQ$!l!gA*ov}B)O(6=JW$pN>5fzUFm zL0ly?f}MBUCpHcbzt(*RM7g%1qP70TUgH8xAstJm^gYdiKzeJFTf zo$VD>9k4PuF=}P-bnq2W2h5VkD3bj*{yaoRGt@kw$z?qA!NaqjtMf&&Pe|(U+>pAB zLl_+qgnyG7q$58ZpJEbT%ep7sby!V`W4QXYQ(>Dtac zHI`2BX8Nq^q8f2CyHH6h=_7uUYt;B@plz_n)}e#)5-R**@@rIH2uXHuhxxba>eBu7 zA92JT;GZa7mR%#R4Npl~n>$M(UlN(7Meci|#IN;2N>ciypMRcqSdX-Jn4{AbWu5tO z(j*%7%&pC3Q5@9~LuVD6T6GKc6xg?}r%G8`n0f!oD@TG{TXRh{6#^by2hU))Kn^RTwJF(M4)(YpA3oGB?loO{hQVjXiO1 zUa@MgU+cz0i3&P<7E7+=4&(Qk=khVRG(5}wql2&B*fzese*X8gots-N4~9nT(8G&@ zUy7TdAgkBb7F?%(HmZYbK9#Mgs8xNqrLE{4SSI=uJ$$$H3BT6d7w*mP)ZJZTPw5G; z7Zr&qR|`u@^Oo^91-FT-45tWSjxo$Bo$BXbubtf`t}-u9T1FrIGzw&LiyaCEl{kOw z_S*x`z3j_n)P!3zf@yuNV(c+PCLVI?V8(ac^FOf_1;5*97y1D8h`ZeLAs&i&lcY7P z5*2myOk%;(FeK^{aEo4SEWFF|$Q35yqL25$f;9KX!pD0R+i)>nS1u zEeXpaR=%KmxmgN*A4{I7%gwrgZ*gk zkfSr-(9%&dlp_w|c*JjZx^~#`W5uP)Ab&(wMDJroc_n#@ygXvzMJW-(YS#I$K}AJr zs&E2xE-QOv@G`yg>|67BW8R_0-s}h-DwhDR2KoZX02kM$gj$NmM5F|FiDRfG=Zl3O z#G|F>!_p_p@-p<2li}bIPR^hKxy;H$n5Bh$ODl828I^DvkOtK&K!@Z~1^Er~eXS+R zDv*vME`w8H;V%=|mPf-7Eye9HNCzoM@V?$T_M*J2ed`aH4E^CDAuo#nbZc`XoADe3 zevr?}e@sD(v&35PZNc@(-E&GgF9%nMr?}ZcD9HFjoIf3zz767L z4xvUmrJR*g;I_?=-Pf!I9SZs|KzaZ_nT9Aq^S<@AFa;Tet6QRej-1V`FqxwVSd~|| zkrHZDQhHL%Ms_0LIZ*S^=w-ZNoLQL0Am7P&-T}*DurAoO4a^TxXBYed4+p$~7aHm4 zy<#g0Xx(TNYJ_t27mFkz1YFoS)cj`0XlK*K&8$No$m`6tp!HO(EZl~&4Hk?&P|%s{ z!&s@Vv_nWT07&du0H2MY|6^@m)IAr}MFqs!aB5a2uGN{FSt(!w>>6|21t?#K-zl*? zO%;?Dkm&+QJvV{wn>p|2p%~g~4NeEl&mi?=qkgcUP5KT(&j5^Tr#5n)fk~%Y4}w zTkbF+X+~-HqXWnX>0c0>_eFuFj!Q3zt*Eq7#X$?Nf!ERt7sFp5zM z?`xBdfx(1=7^ic>!C6`;ouzNm=0&5aqo}l)AI<@9A3MBC&9BwU5fIKEh<?*@5D_gZ?!jxRho4U)ozNDCzua-gHm%} zKGXuqjB%0Jf?yX z-KHwM3hW}agY30_dD;bmJ?e^{i5lBQTrR1;+jsc+LkV?WD!WJrkLq(crS`7Mkt$j{ zC|zqYnxV=IuK)rsYRjXlxRG(}!=+iTwF?Gfq6-3B)!_xUI&{B!ZT6>rJTB}a?~tM5 zRL*c`x!X2sQACBD`}Vm$Kh||=7J5qvcc!zbkPLlRCx}o5g0>x-xHM~An|;KOX8@6| z2p)?-|2|NESC!$@rVfl9=EqC-E7fL?^b6r;XFT-U(w5bB$wG*i?$e(+e#U1)fAVA8 z#Ke}#&dKo$nG=nZ{r4xUlPBM5O;*AUnPbwE?UTJ)lWSWW$NGFGGAGI>2lZ<+Co?De zd?w>Ft;gGaMk^<6C!2i63OXCdM|~!=CgXgD9VW+3C!~j!CP$Pe%S`1b%mREyk|)Px zC&%L^hD|4mGe<`!C+|;oXpQy9P4xQ=m`>!FPBJF#2QsrxW}8lyvyGjZd=fNIeXh^a zu?s%8C)+2+VhG1#+OA~!LwD98}%kz=FUmE_glj9i3!)n`A=_@`D+Nj*5ugN!R?aQJE-L$ znaKUJ?5N|OQOR`@r~BCF4xfK_a)fJ6!DIcI3%0b39W$R(UM%xLUR=0JlVkg}{NY)f zMzA}!B*7il=pC=j1^XBA@z}-9UgiuZmiYYoX_FV5zeTO|4=3(8O{`nv|G^Hu!yfMV z1@5@wiQRD(xg!<1V|M$5(O;_Tva378|2mw!mcBN?HuU*6FDV^`w3zvSRSCVD+0yN^ zR;Q!o%7;;{(0Wmhbvij?S)9i0{w%dExeY=TV|TBO%6;MXs!~!3^yq^S9gZZ$ZuG8!9>{N zL7UT#{&BHF`!ln}ubEA}30QYU_Jh1cY`qM}K4ET`&b)ZBX*QZ&F0@7z zGyBfPt4}hR1|Vn`9R}0xt~Fa=Llb*q?b08Pzg+FpbA_OkI!q~T%O=va& zDQ-PtqB)WyFdxiUUaYG$;mSHfP#nQ?QN^L2JJ#YrSx`BMj&!sTv5y?#C9l7D$wBb# z9hm#0FX=*jn`;+kflq@eQ`}0#6O4o;UBIDstEU>Hq4x5m4RY7iNTG<&5vQ$ydSxVT zW>RU1uOJonRMw%8=8*|Bg7~gOaBRY&85QG+5E{+lDkrqMi;?)rRoYm+xUJ@7qV{@- z=k0iqos-xDceQ_s3g~;7s6e>m8ZsRYf@9l)V+ZcrhC36vCrm<aE$* zYaC^8rK$7W(2b#XExSvUQ)QXHf%docs*?A3j;_^7T+uoEZJz@hH$||$Z{N|>wZ|n+ zs8U+{&Rpv4xXp8X(-Tua@t|y(v4tP|7o^@9QD4|>&uuQb$$0oIc0(R=Lp*YW+<u!cy?yyY3tpG z*R7%$ub)28cJF#6UYPKJqLnZ6 zsJ!mkhWYG!!34H;rQ7FAcrq1M>Io^+cz4K zqol^%b!S{bUtPTRsk=83|` zx|ZslB7Ag8Je#(Cfbq~8OS`1{1O4ugj-qmAC4Ja8I=1w{CwNKLT*XW_ZE8Tw=$e76 z`#sc>8NKR*2l+OD7(s-$@G#$!Oz{vcqr|bT34?j)Ja?n+WcTl@yQLj!U?%9zWf;}j zSr_|tIX6^Tu|^>1Q@JdLrOyFsLfO^pw)Wingrly2jfBcSR(2Y(&$g)^TRgk^Cu&zg zRm6GLC|o;U{V9eS1$~Li0@Nr2RQs|P_pWmB&A-8Qj>TmOAC5Z4s;!;l{BuY4nKd@7 z=f9%On%WeNGmI2{zlEE2?Dk$jFxNdWS0I?H(U_Am3}K>{1a)0Uz56js5huWFmJz&WFX}aWQFU_GgE|XQb=Foq zL#13%&yq5ESI3lVks3Ypab5$x6AJ+y2!W;AcnIhr&O6aK?~nsy0ERXH=hh`r&mCMoRB%hZ>tP zyicXuCbK+80<^UOg+@#lD0U_eB(aP}CMK7mM=eWPWLAeD!J`autGNWX*)`=hnrF^u zrK~;b}_)J#;H?2IXGCM4CeX3GaQlOXuc2JjuCws45Y=7B;yL0g50S8Tw& zLI&{)t9vXxkVa5pjaPdC#Yg6aw{mj6QsAo(k9TgUV~Fk8aABvk&Ry{?!Nro*e-6a7 z_UUgv?N#+>1`py+3$9#Sq2-T+k^lBflk5E?gI?0%x9V`ONxgkP2T2Q?etY?+STNy+ zc;tpHr*k@PGv8pi6$0rHqzV4@$0j(r!;F4W8*Ev;HmrK5mk0vu%TI(sB)tOsmG+-G z4pOB2N$m-FJt-p>@!|hH#hE#;ahQhG=Oa@^?J<6!>GHZEeSR4 zNV3t9_ytUV6T(36cw5SDOwQGY9udZ`E0HV^x@7tLXJ~%Qu2L<`Bl&4&zuBH zkqi^=usTq9j^(|SnD%xzt!RT;3kncHLryRD0%c4Yp8BD{EU}`F-gy{Fz1R3)wi2jK zHulxs(GJ^ikl}st?poF?!oX%agzE;MT~CDTg@o(Bes&$VIrjd&aQ&3wiZ*HjQ<>Mc zZH1Vqx4Zqqb*FUh+-C2~+F`~Auu%TQhAv8JH|Ua@os1WF8F zDdj%fR=w*$4y^9sFTkDiihI{<@uKUGfaKi$iKXl-%Rt%d3Cc#@<`0TmWo56oay;8I zIwEJZ(Ap7*kUiRUvI+>Pdv&H9(Kpi`T_mf%@P1g$p2uUjJ5Z{esCb8reuT+=BTV)=VS+hw$$AG z%;rW?Hl>|)CTN__-2r$*Fo+6xe^3z^WGXsHhEye(Q%5 zi3k`yOx^am$seZL>9e9Z0Q`oR5QD-HgTQ?)zoSgW2$pM;d*(LQ2%8W^1fal+`TmN| zI^OWdcm&l&g~^OPQ91T=UIw_!$bicb zuP=k^R|zgt9dHcwYuIeK0T)0e`yUbqXL0Vc`csudTK~A z?Tb9LFE$lW5sP$vvOI*{fWc-NSswCr?}9O~P}c}2$wRaI>h5WWA((XWu0|;f;5!hF zVv^SSAJB^4>nEA|Qg0m2Fx=DtT>r*Ar08I^JB|rSmIf~a#BQXnLYUI}M`CoC3WA&$ zyOL~K?spvUnU4^Omr>j+#k~tp>%=TXV}aV)KOxE7z>^G;)xp8>5y(&pMYR!TQhx|> z#9Ll}9wAB+Q)V~N(skXd$U+pdWJv&n6W1VV&nG0)-_fMa0*kLCb^JQQZsro6--RY) z6Fi8}Gz6M!Z>J{kUm16_$B;9}CE1vztFOd*@prON=YEzo$PgZoRgR?xvUG{2Vlc9V5-Bq|UTajD| z%KUg(t&#(wp%{-dds=&fUZj&g#NtP#FTk17#* z1a3I|6aZ;jnB&Ca@8L%tQLI$CL-Ak6L!h}XDAx6k59Fkv-K19#P*k|-oAk)xo5>QA zT{25oUy1TsmTQwCJemQfvZV(GMx7I1C=(xr%;rP_^dBKeiMtdjYCb0M2qkWbTJpN> z@nJ2a#i_NwZveu1ZOZKQF&zunDBG6KyI8qHi1mvM00Shiw=7(n%c^#8_r$Uc5=8VJ zEvs4e67HT@o2l95!27BOUa zbjlEZaAA590@b1P1CRAJ)Z`+27VeQDQvTg~9G}VXeOj?ZBIvYYiHy#nbZ?5khai|F zjPds=qw9?;6LAeMfmuZcO0=c`ha^=_yG|nGwCf~94(0$@GZjORh>Q~#a$#!i#*%OG zVhCk(mafTyXd!JE>jk8_(xL)K=I`Pr1Hnx?R#xJ)Bbtz}|0ePtgqObV2po~SC0^)| zyQK!MDss0JWif(HBqj%w;#^5X}q`sGe zpx$D3BFJitHCA@`2xM3^jT#E2uRz4MG+t2obcptRC7}So0_TBJ{bCMHFJ6 z3%dat7Jvf`GiY?7Zy>~Zmb$AA*66aRh%I8JFr3F>DGaO9V{vRBVDdPS)NXo#LHWB= zP?QqwP8qY!g%s-ll>)<}!s>hOS^Yit#7mg(x@Q$e-HT0=DKUIgX1|3LaNi_y(^ANP zCI!jjZLXIXC$8=Pg1XDFbVb%pSYt&fbI4N=q0IS80|{@6;I8?V29iBAkdWf+3uSiV zfI$XHge3JJDk=qVWq$lG78s`t_kJ%2!6;LWFp@?W00CaY5Qrw)8^wqww1B5*hYd#E z?|FXFN5EMHS*j!^DVz>t2K%3>Dbq_kjZ6zho1zzATE^_j48kg#G){++T9`#6380Df z{xQ(R3lK6s49yI@%pp%gopvmC_1$hqItE7Q^3`Sj4sp@h?7tWd)GoAK4J8O%nk7vi6zo6)8=-an#-KSruG zw2mQEYv@V{Qmy4!cJ5~_`j8PhDVvk5ItLdLTc*I4G15z?3Mn#9436U^&#KlW5dQ?G z{`+V2<6&xN)%P3}U()%CgVuj14RzwB)^{BgX~&(hz}DFCEJSRLli@qD+eMwWbV#yS}js zIBh|P4Bqqa5-KIKRaJ`$LZyU9Ir%Dv5xR<@_*omlDT1&Ti9->#a*IIGe?Ff>2{YA0 zc!uQjsfAy>Nes(tYGJHa8d;NTA&s!$L#|80f)BZ0LP7TLuKNxma&~=Qpw|&}MV2Xv z5J0|){@-3*i%*Hsx_=+*#5LbWGf=Thatv&s;!l|BchJY4=(^UbG|)#>k=ajXYKvgXprI~1=ezqbyeuP>#}kf0g%4YiUYa{lG;yS z9fo1i{sbGr9b`gcT!l_rzC>$S~>4Z3)nK z|FTt#ms@`aMFPZw3WS)0pzn@sk|VSekiI)!rjT?Dq5T8p)D$--S)>MTet~6;uk_vV zB_)Dul9P8d2i-{R9QmT}j*miS^Z$6?9bLsHfNjQ*`01gpGnzgPssH;Vi{LUwFG)>@E#x;g|ZhpreQYb`CpYk9tzhMsIb zZOLlb;fvH*sf8?3OWEk-jjmB7uMd2l*E^(akhbABcFoijL$bs+Qjwv%ZiN7A_Zyxo zvF&x(9wd*bsqJ-SW(PzYwW9XBW1EoHf0exNtzr2e8UKLS{8I=qcdbp~=GS#OpOs|D z5NX=pH!_}htiE?B&B))6~`wZXX zJKM-gjA>;INdtD;g3niU2`f|oE_p|HB_wV!N{Pykk>pv?(SnYwX z2%&iCX;6o)2t_ehghZzL9T8&5|Evfh8>9cdO$q<32uCF6(M_MMW`WppLVoqi%?7V zFcvT@nRyLY&czsetnoA!6-cE@%|dD9Fp zX!2O6?M6j@#ecc*L4u#MKng*XTRyd_xPorqTqKemSv*jCPnbJymJESHIC`b32oD~dtc`!b9!3nPRL$iDr zbql(irKt7hhOhA+EKRth8S+!n_-23M#KSca(iTNgC)DAtB|Dun`Q6Q`)p}EiZ{EjAUO4ngZ%ZXER1p`QVcLvvs z7Cd|Fy>xwuMf)Rp{gBg3%D@6T>2=*3P4*1vjdc~7HCM(~jbQWUc@G2mqej}7Kf1|e zPl%p+Z*J~=e4JY_&Q{_$ROUGM&g3lW{>iie2e)D^)A^7F3=uzF!?$d@V!VK<<3;twI`r({E;jYJg7Z{Fxqd z6~!@d-?w7S@>HWGuDA~nA@d0lf&%WsO#B@ob%0NnM0`?3@hSY@Q|&LEh-y6$)pjve zdkLiULoj#EPcGHpbza-=Ixqf?uQ@O6-*R3| zx5`OC6+pLdyZKYOKhrHPOAx|2))O-87BHhZ!M#IXfxAc&;z$MZJUn6;arRW!xIL5)%uV}2&>zVR zZ$c}?li#I;KlIf@(%B3SR&KZ-TewI2f)d4iu;9fh*OO_EIBR4kA_T#lPc1R8d@Z^~ zzF`%VUU>Devc*RNiW!8FGnP450r+DtAz)bXkm+$|`LOncBvS80_S#RYcgz<}BB>Q4 zxgIr#Uo-t-0O91-N+@q6xUg@3cEe#hr$@b%40xl&dHsCjhQa$dK>L-_9Lr+%`U?*tnYT{p3qPnO_F?`; zlA!NlURkgOp|&$auC6Uyb)<{OK-<+jrpoTGc`QIM)lkv>vHqZ5#{`yP2%V)p`IAry zy~XIQ27>${R%v@%0|-okc?-g8pnbuM=P4Y)n0X56E&<=r#cMY_|1wi1k{-;P2OqWH zW-{Ckq)-RWMZeF#mz|g$rX)stfCPz&y|C{6tVHw`z)eOnFP0BUA?)H%dMA{T-)z~G zMj7w+!dT;m|9Ytdj`w{chL=lUYcmo`H!|Kht$Gk<>h|McaQ(E*tNWudE( z$bEavDQxS_#-ZHU9Or`F61i7%6ict&=W~_WD^B$kS#M;rP&&eY7cM2$f zDHcn5`gV&+HA>2zncGfBo?-es+;t_eyjbC9UfiQuTkLzFJR?qhBblin6C`=x2X7m#P~P zp9qh0PJg`Ms9j{y9{h1nc)Yh?t(hg{7Oj0z`#~Zl@3^X@bz}5;HvcEltJ@;{^`D<+ z8LY(@-trh%Rf-v+D%V`rB)F3fO4$WGp;XU&*wW6|{P8d4qTI^v<1CAkt8yM|7F;lk zQ-oQtGiPC!^U<~IS?KE)jsK#Q^FQDYaRBUfkYF!%roE>8fd~8{1D~WjOp^FGnYlB( zGlz1M%!bum_ZNOx!&7C2=*=rr-*&IKH^Y9`dLzAseY)Aw?=rrl%E6N?RguIFIKM2* zt>3{c-Vd92j}S9a@`Rz4dgq+2`{Te7ysbz3Uh~l!|Yf%zM z(Wt0J!d3kOH}*Vk_ljN!(T~~6MXmjz0%iMi4i#LG$i)?U>F^jt2NFUY{iC^*@hOcm z5RLZjk?;XAn_asUVGRE@WvyKOLa|i~zZK;UAj4O&X#NM+TuL>DWn@Ob?41cy#9mLP z&&qChf{c|QBR}YkV;He%CMEd?2^r~A?otzgqKm$1cF*zHZ=z9ezX$FYB47(If?+|I z00j5|-wkw42y|z$6|LO>cvBW{i>O0zbt+DAdt=!p@U!fa1=)pw`=Xy^7ZNNYCMVq7 zSaL$*XJ{myfS76^VzZXE(r5P0_3`b3+rA+s#PJGN9Fw6@hWC9IP>>}_RF0_uegL?7 zh{M$|q%Rb%rjn#OyDd#O)*@gGNllqQ6!6R4{74?H{6eU@Al0G1ySV0qT`VPb9-{0G)qJ$;2Pk8_Uk7QCc#4W;K|wbwcm3}0hXpn3=W!F z#d2CQF*CgPvP|_|O?D%ibp1k;0e`b52ZQxHd~(j9UfJu`!Rb8N8_Srjw4?p4|MeQ(=Fg!YQ^Gi6k*QaL}c( z#eoD%C!^bM~H$W@tvtBRzm=Ac1zY zYGDy}6^yVCPC(UmY$yg61D#aNO5{1>E_vVv`8zVXNN@0zkXOYXl*)lbLSGX0%`8YG z&puE=P32({WS>?Wky9ePHX^BZQ9d$NR`iPg7o{YYiR2NE`vXbn5FaNoH{=CVJd-bE zhE7JKbP|zX0$jpf-%RAAdEZIocva%^WwDEi@$V*bB>fnr~AB8kRlLc#W#JMH-Ocmzp2wxZd zoUcb;_RirK!n!?V&4c+L22Vo{#A-!gUoQ#lix*{IA*|YlBz_MKr(mp0^1 ziPui#PT7DDK++$a=9CSHQ+9vhltO>EQ$o!$6*u``Z*5$~eTt;dI<2%JugCGyhFp_L zEOttULr82*@4Iz>(Iw&}G;_&l+kc!}^2b$82AZNR%;w%2!PbcuHCG47k$ruTBkxa9 zH(h!69H=solA@+}Ke4-xWfr7$01VQo*GTa$)pOB$bsUPYt{n6ZK;LB|tklF>1i)T^ zG!Nhfk63Lxyr+e=?O+uEuuM9(y^+~HQ0B$@tr}YT9Vvun5wu`6kPL}t7eaU|6}(WhEXAdK!t4t7f60tASamfSu1_m% zNclRUv>_1_`U7~21Xm{3phxRS=+{nlVxBN{`F|}XF@4}B|7Y3fpJg9d$RlaB0-yM2 z*#{%)u-J$f9VD>>s`~%MvJbM3nArr~bY$5l5L@<9np*bRfcM_Gpd9M{XW8d}YT2g| zUzH)_9mLY*D}?=f?IL`D?-KU^Z!i0#;@u#UmKIh*F*gm6@r{3$eXu|_Q95Y;;?0(A?C7=?9{T4KAw6!|5^6&e}YtKP&)my?DPL< zL(D(RKG+V7|B($G|1A3;n+yL(HgNp2>@&4p^uN1<($P~hMli9FqRA}H=Z~pa` z_RIQoyJnza%dvFBAS%XL+c!G_Ji z@vugJz6il*>fuW3{!qS9dIH(YdisZIg>Y?g*mY`_*{US5vCU7eOtPYzpWg4VYn*N@ zl6WYZ-IAtD_ge?sO@#b;>+RMbFX7l9S+uA#{71nKU zi^v`E$^jXXt*ZnX(GFqBto^ZD?>5e(@24RPI~%WVfPGy2u!qnN-5X(P0#h^}_eQ3G z>=IUBgDJ2fQ(!~-gP4e~y50RL<54?dr(@9F#g#u)uMBS&N4D*-HEnQ3H5p;$95AAh z!|y?VhHL^p&6#*mN|5lDK$z&O?nSXxl&=eUvr%6CA>%Hx%lO5+P}q)%8UkG*LlwC_ z)7s6v3{%1yaoAfl2Q~>S9uUd=K|)Rp4Dk>a$7-!!ch|j^xRdX-PO-REa}KftN_*&e zy_A1p^!6JOb;v#6lCi>pHN*=T;w51S#MZ>edBB!>h%L2|HNvy*mrLY>k*$f$8FGQE zaG|b(nSmY5aI4a+ zxOROA-Pxidj;#31hIOf0anE=55E6RJ%5`Ird%h)OyAsQi2VjVUgdy0OLogrT9Aq20 zRT}r^G}N29Su-SeN0Hbn#XH`N1Rle+BZxP8^A$FNl6o$uZkuyf<+85)`^(azHG_K~pb*P$oSVFMEni&%TsG32DZ`k^7 zV^409VZWN|;lkU!qM@a7?z}T$lc*h^rb{v)hxECFQVz&H-;j~$PB`)qqnh1o2||g`qd!Y!qP4(g-Y>LI?;Y2#Cwxd%qbl z)2>TEKylzPEBo2=-;HTkB&O9qk7-Y0P?F)!e>$e6)gMll#-ahUspS!G;dp^-7k!B1 zDT5JgC#2V@=BkF|nuz_*`LKdA5q#PZ*`r2)aq+`rJpL$*!{)IBN13Rd$o^`AQ@-kj zH!z(t1;Ke_6TtyIwtp+=UU$3%i|zOTO7&f2Dd`0s+t)%GkMTudv8}IMnQ4fo#oJDZ zR|dn*A#X6T-#|>N2o^iYsWE<`ug6Ys|7akLf&w*pcrT4Ewn7n%JiNz|go-9Ba+LH& zvdy39zIrU%fHo&!ZwYseYZn!AlD}N3q_=MZ9>9WtgE9o1<3@2#l;yf)(Q~sAzmDq? zi!Mx;_;oTdu>fbPQVdgNJ8XHXz2wEPXUBlDS^C`(R(y~rZXD{!z?|s2B;iAJeHORC z^3m`m1ms2oA;h1d+ig!%A$&k>=+DitvE0&XzLxeN4iw~?{5G6#&m?3`5-Bfx<2Yxr z4t|b;52qiRDE%Nv$vA3ze(TumdiX*7&+OfWs|x377(EdBEUEZGQdx>874^@O3K^ag zG))FXuz2ZaUV9hqX}o@iur#o3KJ2?xJOG=(A-wpXDTITY&SUu;Ib6b9m=uPLU!bE* zT_@Ef{ydqKh(FX?VLvC8?}6Fdehl^sP7iOPzc+geLiS#Pu1l=VN3u7l4f&}Vp-0_y zod9G&co7GHyO`;fT$7o2@&iVEZ65AZqTo~OfznP<6fzL<9~sYPF+q~hL38hvlo<$B z>*aT8{LQLrXf`}Nk zB@b~2D5bCpgAJ(hW}MTx1Kb7otFaOb8KU29l%2{;`6TM}2X#6o_|VXwjoaCx3e*?* z2|ncKQHY5L`j|di6Gq?k&9d+KX6$!-lTb;0&o{de-yGBypDtx<2%!`qiyvarQ29 z5lTf#3Eh-RSsF{Gl*&@K`>sSpGAa9Lkge>JB`S#_Ewo56A=z#_VJIcLtWz=8Le}4P z&Wt%no$}nz@B4iF{_(udG_RRC*SXH;`dpvo{aKDsF8u#Qti!aHaI6EKF@&BrGq1=b zrp#dk5+IFEL!uF^?M8<~cQDOm;|wC1fdtMoiDV-rl0Dyvr2j7#$z&)XW8k$di;Cc9 zN;TlHamq}pLw)o(B%r|pY#t-#2%|7y#Zg zpAW`NWdN|v!04;~bWK7-$ zNbT}LB{SfFhMCNOlWTB5gMf5KKm#SN?l;jE(GnRE(<>GrQd^Y;B%cvKMlGB2N{At1 zcqIn3RBG0noI*qnOau%bKPpF?bO4I`w9HC>oVu#&5n$!dFto>LJOG4kj9kJh5NVT9 zkv1Mg+MPpOU=eWk4hywKyNoV@Qh*HKsK*4C&_g}nfJ-DG!Pard8Nem#Jd2l%{27Cn z$ayR>r-4f-zXru%liz{MPL}YYb{t7xp&$=-?8v$t3$~$U7eN{5OeOGJQ?RX;2`-^$ zdcFadh7Nf$<73ME|*W*H!%<8r2ULr?UeT{ws?z$j+uhs{Y;z=DC;K&gpN6jsK0F;kfriuy6oYJKjfzQ<;M(b6f`f$TcNbwCkhj4U+*H{?%_j{x`h<6M8|(84Llft4;uaM{a>hcL?#qfj;w z&eLHFChc3l1BH%o&196?0FshW%>?v)A4du=*rJJwS1?7>5eb8_MRUQwESk?31JSIX ze-S)?kG7ULRQ?8wMzrJjPbAtLpXdLZ#Ady6L6w4671tMl`2Fp7h%sRp{ z5(peZyYMG0^+ezhqtM5IL*HcDiizLKqyyU8VbS=XHkNjX8G`d{KM+YU?5EZe6|Z26 zB$7SG7D=T1Gn2KnheR^{JCT(A#UfdkgX99`ew@rW!*bA=cnzu&{j^SoI*-Xn)OoBb z6od!Onb6k>a*mmd>NhGa#E-&^zXAw3Lq4Z#9h|Y;wtDnJy{i+gn^`zXZhkcthwF%H zfwX07RP_x;0S8eYMm)nPO3*l2@eHfL%!p^80&}!W6mH6^Ao!QzRiM%+K$cK9!9(aT z^dQ{?DxZcy?FP#DgVGGDc0ywUB2bA^l%1ZZF8rm5Hu_#v845}d0dD@|+KI;qoh7<^ zFtH`-JSMh8&d-P~hnTGV$7QJhw7Eo~w$n^(+4w!SL<%%m&T(42f@v*59cju4U@G|# zl2Vw_S~9U^#`m#ABg=XH?_*2wccDBG7w+=!)=r>VrZ|O_@kgJ>1igw$rR&@ZFU zg_--sLH-eBtH!@eXN)3cqW|^g0`Q2#C_DHQI+WvZYUs2r!}r8{YgK5lgATD5Q=vrZ z){h_t8fyNT?F_M9(=S*b@ zIMG)AolK%r7Faa?r;Q~jyi7~8{Xis}W)evxUcnYgq(Fo%k~mf+dq$B|1R~kL`dg7~ zM9CDUMgI?rq$L+pIcbHuNI<;p@lBclNNE}p&tRD#bjKS~kwBX6(C4ukiFC}()Hc)y zLEo>7;J!dqInMxv8Gi*38sdO_&J(!T<&`~s4*X}^WI>Sx`m=3bN2Z)Ohh>Q65G-!{`r;l3>L%ER4>GXA~ImOgGD`Ab5!3RiM(zr=fq^R?x!ut8MitV+np* zJ(*X)$b?}>keMvUf~7rGJ?yMJ97g3N!6l1T|3O?MT=N)UbXp3bs!-?t-O|aY6eMSX zi7ip*5neLLfO&~Jk3}Xr6t8Du%YR&j`cIonP-65D$)NswgjbB(5p7(!r{&W(1-PpODFIw%w8C5 zbBT1sVRI5WKcl&1Hmv^RDij*cU~M-lQHPaPMT;~B$bc&^tmH4$NDXyaj)K2V{!N$V zOpXVMSFjKpTt@n7Zy?eUhlPHjye^B%9%h#%^cUN{se~g{qW}Hgf=rh>AP$oz-VEQf zd~kN^wNcsoU@eCpH(2l7` zpr$=5fy6^IDY-RNYEET5D}lm9cE1`EaU$T7{$p@Snn}mO13>?+?@X1Me^TE`Lc$R& zz=j_OVbf3h3Q+YQjMC_|$A4zRLU5j~@w>8w04korq7hw4!_pem0tokw| zLWk1-W{@c$6_p^;Mo2bhfJq4qTFe2G}m{o|nUd;dBezt-C z_OnfY922F*Sf~x9#aIa}G&04`v;DW94LtY?Km3N`^uJ{%N~SX5&wns#9U?b1U1LjE=QjthxYk55A} zVx*`foD$cPm14%RVG+M=jgXMBUuAHCJ&fz+4&H}N;gQwORo%mqyHD2#kxgv4imc+R z-=A}uz1DcOc&GYvmyf=yD1&z0uY>IT&tB}3-b6U1`8>vWBx@NAi+!3?h z9htM1Y@L7goTy&b=e%wTsgNLyZ}k9+)J85Resj46xI7hg`C@SSpIM6)6HZovBF4)8 zcx$O3@~Ir~jG>Zp!b$fbavJCEqPTiK}x@doFO3ggDfY1`V4 zx9Y6Hl>ojCIk^}W&g;S1E%gb~iI$XZ2G4M^cyULCbaNkXP_te_cIWVKyNk>YR)txO zzh-fIRbr(&Y4!^0Qi1dUshu9BvrmyZ-bpDYjK($e>G)L03FFGz_>jx>zPVfgTyBB7 ze9kFy@zJb8yjIsFAtfK?rcP@sq3Dyk(uC^HkyN8xSJ#LDDHV@W&Qn*43wziA>VBd_ zX&soxPg^IBwZ;%XW!$#yI8u6ZRg^coKSC*E0zhf8N{~NwDaE9aHf_^mTMuvxLz`~1 z#5k6iA6L`o;8XD&TFEkaB_D@*b{8qYD_LzDFGT6K>+T1Vc@9Ws$hjp!?|^cAA*X>c z(4NQXWzp>8nS!?xY{@p%a_2$Z>QSX#Vu%FRmNx_K(%Zt2TTLK%@+iUMhvjxLS;B;& zd<%g@q@X0?A|w%Z$3N&Pn>6&)w+r{IG>5cjgzdO@I@qx|@Slw_wFf+>68F6HLct4mRTH($xnP-Zd-k*R4@-d{{R_|;!r3_#r4=OaBwa5~ zW-salVmCrP4tDdfc!|0UB)vb;9>`Ao%no&ivdl~bWM()K<=ezGGgFsiax&!=FK&vF zqrcVYh<@gHvB-feA#)TwoCb?z7>Bc4_h}ZRu$1TExD0C%SoQu1RfNSx)^nuT)vg_Ut%r#!e1P>llK^TQ?D`jV3WCOw|Oj~Jp=U=du zqvSLNU@MOSTiJGut?gWV^$BNMJlm435?4=&@}rh|8i-W?p{%U&k&=FTNodsM*kIvM z)Wpc>P>;d8_DA||`>ekXEIE|hwoS`+Y}PERd0ewN!LL>}Mnr=x z+cy!d;_6f^^@`8UtH^Ls?I}21fX{m9X!+O1#N`5NC;p!8Q5_z)VE-A@9noqR&8Wux zos}Z%FLl%$lX&p?#n*&C%iMc1W8Xco%Nnihu`|zVny45w&l(+g`_U?OwDL>R6)yM8{UT;HuEXb~6{ zPm1mAEU6Q+3w;+A&|@dm6W`c0`Gwxy@+r4_5~aOa$IjbIV}_CoQhLSuPJP8Zzc`(b&L$OHaXRkv#8yz zU&@**zw~{o?6xa>G!$wl)a^Rj+*{H&ZaCE5F;ZEUPb(if@J=?Zu9cQn;%(VFIyycv z8v5dSMuv-Py4)(IE+xIJtWl@uI~4VuTt4=F8atyw!U&h@WS0<%f3^0DbVEWa4^G&W>r$-6kb9IT8D z&uv!94m2?6v$UKXk8Ox*Qp#wlnM<<|#JTjfm$dhd=ckqA<~r)RWPENJy{Coy+}i!F z^&@SdBl5|Jlhc@ztHS(rIl9Z}V2^8hMpM1_o50EIw4reuJ0;FQLhIKKrHKK>?h$(T zK>pi?LcgKdwD5t$nWOYhJF6@q+K~OxRM)J+x1$+~LSBAp#GB!*lMOxNeS@|{Cp)_r znW@f{x{M43y@;&$WzDT$abqvCr7~Z|TJ{R}6sCoHHw;_J9T$|cY)U_WF0&)*YvarHBNB09tuox6#nZ#5N(RO<>UzG@;26?~Qg*i)gvd))Sg8PCg{-iFum* zp+jl!>gszMS7{Ad4z^nn(ckb$J&CMg%kqt#85AIExZoQWeNvBVBb{;V1UGXJJ0uH!GP zCf_MXxjt2xFvW?<^^|;l8fEaB%B9@Z)YduB<62FgG$gqyM1oz?bKWuTG?f>0 zy6^C(x|idP%9|F3#vJgwC%s&%G2==abSSn@OjLagE)FlQ)9#P8leKS3+ug4T4r+iM zDLp)G@usyTSyI>WTD`S)LAd(9HTHZG-FDmxRVCNz2NJj0$%L{;n%M{Aipd?CTJ}8Y zgL;2Pglx4t7h2!ff0_T4-<>~1rGf($CD?@K37HL_$n{Q`pWuyClH1^3P3Y3kGz)gT z=@{(zqA4U~Yq4TY_r9)=Vnq7!wL>lLsXiIi-R&ePBdHX}D~@4~bv*`p&*-v;S4uR< za&Fo$_4}rkV3mLly6&eQ%Zw$CXZ7Etil>XG-cLXMe0Q(^`?B}u#NsypHvff|Y?kxD z!Di{_H!{(#+VH;NJ(+R1zb(tXiX?9zEEx8%B@Wvbc7uT>>6q4eSs!htTi6Ukd0uIO#nU6FBF zUvO!jnU;}@>k4C;BD0{Hd8yv1>nRI~XH9ZTy~50c1-91N=Ef@jv6G?^AZH>|W)@N% zT(c~dKXoo;BT>rEX^GyJa6omJPtA~%9L|_j+!a*wILx{H&_~B$ySH82$}B1wZ{e>D zDVBQ*%i_bGrRA+i&0RS)7b$ZH{8Y`iU5CpSMP#fHl*ieS+Ph@RG%LFr-oLK-c(WnC zCYn;Y9sJzZ^(Pq9@UZ5=%~f(ZtHCwfEJ*cTpGy~oD{_#%l1)erU2jSw^A4BA-^@@D zZQl}onpEADPtumgZKs?xks|t;2z9LPSUs^j8zLYmBBo}3u?j^w`s?^(^P8(=a2k}# zZKK;{&J2ExwF$0^sfns~dQo({X5-D{vN%;riHUdFrf}ygg4q(Y+jdFk_L)^|2XAIlf%d0O%p$IFmvNU_DGA(P@o+^| zSx}i3Uf{)wfYYrURKfu%*X#4INn1(VN-uxqt!+7sEtd8BzHFS7LC;J6>5(!Sv10tv!V`E|u*9x~z)(GiBN3kc5)+uEh<>)CNaLW7u$*BT0cyHtkXON;0LZvul_nJ-7uvaAgL$*NVJKm7l^6mm3>}kA#hc*_K}|zv~n; zBp2dq{*Z7?Nn42*{HyE-r=TO3xak(htqr&K&DP*NeQamQZ#R3x`ok`p^D2fsFh8bD zTvGSI{5Ihs;Wpv55;39aUgW*VQ{$3_$@ik}MXAo&I4t>9au^(5$*Pl*-L}_B%f3)< zf#WX4Eb1Ql)Trd1!CvR$$b9I?sk$>2*H`0ABBH)4GR<6nNRifSjI zVcD5wymdTf&|zevYfEj}Ll8FElCbe_$-gDDCAkRli5vGMpK6vY0!K0UZfXMm;u&_T zRq~bKZTa0qpAPOa;hXLc=ue4@D!?yJJ5S&0cxt=o0PXLx?8j8YcEJGi`BsaX1#{#* zi0rgkRN;tSa^QzEv|FS_)q+pupTCt~UcCrMJ6M*z3!jT4=f0LdLEN0U>c0G+#A^$O9e^p*{Ww$Ve*_E^KBP> z6s(ZHMYPHy$|bB)H=A#>s7GT-pZ9QljH-)L-9jtE{k zF>~V9N93pSr-&~*K66ByHbg8s8*8K44(4-EKm8l+uBGNk$JH{9a9){MGtHiJn)MOS z<#4>jpWL3GA~Yyq}dgrB)%=1cnlYNUNe&K zX22P-^O|2GKFE{bXbwm8%BQ}Pe@lEw`?LH(q_!d$@`&b9ZaNU5em1tUcHcmROnGqz zb$!$UrO>7| z4NpDQs`naPqe3(KBkd~jtATvz3M&@-Eao*utS^}Ja^bHDzW__3p9 z5e*DjMa_Rs+7f^KW~$)3O*?2grK;_ELC{16sdS;TvBGmQD|sTWud%yytwXPIYpU;Z7F4sm`qfHL3s-ZM0z1`j-(T z%gqz9e67HN!rnd*kzA<}PV@58k0&kBKXxFJGAI)CYNRk)s5U`c`U`C>P zkr(2^uTjpq+qv5f3MvX*qxced%a>WmpHJQ_?dI02H(0fK~0oxFg(j08cuTt-3CmMSAB@h4Sg!KO&_8&39z z+bG$DaM8l@J#;XsXsn*1!1-iTt22ZAE;4&!EN%ZjIxz8-6WHYpJX-O1a9PR=sCi%EBE{Re?@GjS+ zcfFx*iX_+8gnPFOM3#px&>ZOcQ1gmXsgPz*dPpdw29O&%YVs+51pe|xk>pP`36!&h zcT{R=@&Q7M!{9dgx8QprHJ;qiUGp(=6)x>97&;#e&8W8S>Z%39D{*P9wVHih?m`=0 z)?A^iBkZMWc6PbHc~N6ZJ}!eZBON0|MOuPM%Pi;s%8}oZ&J*TS!RMlyYZRDh+*A7N z8gey>z5qHzle6<=PDiQ?ENEEJkt7`6{I`r1z&(RVR)y&?x3;l+<5v;UR} zlD;Y(1kTMS3zMOL!eo`c1%3qEkduUJ1@{E=69l>Bg_b0*^YiR*?rG%gH!|sUE2>vC zZ=jI~rwJ#(Kj=8B;GPPGGCt;Jo8Kq!Id<2}R7h7yr#G$WUqLm`?OtJ9{?u{a1+NS9 z;KS>!H1{^XZQR?QH>{Wiu+SUoEs~ehyd-JS2c~4h&IR7d(UBJ;qazJ_7Mv&CCs?IP z=Yb<%I;<`xLz)gC4nRd;)rZwB>|)Nxq~I#E%|8*gKGztAe=JBYu9h(+@9R|8CG1Gj z=qAP3;j|Ta6`+41Vdh&Y8oGot;4lLJjww_=0Qd$vY85NH!${?P6}C3v&&t^<_$r`( z#ufk$*_J5WkvqBx-MsWhDyo%cF? z<+tsZ*jBVFr2|aUV+Rcf zzjl#TdnD-qLCpmx!KpI@4%Tr<;ehM`*^&-0hr(&y=Q=NRmX)`75o&M;-I35qc| z>|Z8F)Lu8cu3eYtaJ`HY1Rqx^AISORRGZVfgH${<8Uh(f#GSMY0Hf@JFp76_Zms;^ z#LdrEU8gozkSca~+b@b*w(^tw8{&PM)frq|q_w8|wORPa8(=(FHtd2L>(;`4ZdtCl4=oGJ-0sC zs@$Yh+DJxp?YmmajY$5=ftHUB&GRGqrON$W_qOK*DoEwg@^c4_T=a*-Xr4{{FM3}M z=IpKW+e^#uOG4p6YJ6e9)fRUTNdW9dy`7J6^`Y;hI&TrWz zHBnIEsg=U7)S&NE!R1Z!luF_6rgGWQJktj7=k?Xfxd6?CNdBCGmbVUD6s01_{K~b< z#^TLY?3Z~Fz}v*bgNEmqjg3=tn)rT~Q{c*_tWn^SDt9ZPY*ygPp}d#%41YHzBbu-}m{c@RGwWLp(TL@*%b}ns7Z<{3e#WKnBfllw^7dC(h$vSusST1xLH1`U89g&lyvH8NbTwK_rJo>6DH;;C*=l05ekvR^r@ zld+tLtne>Sk~JDAD07hBZrK-!CQxQvX&hk{`Kh&wvEF^jsqR( zeH3cA7_IDmx`R!l8uZcsL;4c3?45xGUMyN`&lUYWRFwSy%cM zvMgo5gw*(4&Tf*EIEFN^WdFd6R zU9myr10N5G@qLgSkthr<(bQDA6Ljm4TD7=Hot?$YL1$~uQ4ix$ss_0JEoUA0s3br4 z6h5)}z+wsGIdXX+39xx~k++t#nMBPy81~VR>Z5$lo z9v&L_98qCFz-vxF4-Zv*qO*65SyS|exFx|0qc?n5!ZXOuao&SX5udYKSS2vXY#1*g z&I4|G#2x(RwpzHRcb%rnl_0aGCc>%F0ChwEpj&&?WJF@j)YNM-Ej6G^iVhfF33{rg zc2EQ?`vj+>hle6Q(be_tHS$GYFu{@=qeD&muZ)lKKJI$HeeOnl&N5*`zo1*HYSn8+ za26V1$}Y9iRYIno+wnOog=?(M!4!;}gV~?%RjXJhf(y_9_qYY$L!5_)kAvfq2OC(7 z^fo&$(T5&vf8i6?Nxu>iG2;ndb)|T%FrXL=CJEkj18ZM$6Ne9h7g)0-9CwmPFuM)T z6^O#jNtBkgYh!$b_>|=;t9DdG1n17H0oKrT6PyOq;xa2=PK?*7z_W#q4n5e=wIq0z za_!aeQR&BB!|D<^B5|)p_j8%K8hB_-Rv<)f7rQ3RT;syW8%Bo$Wjp~}THo+3gNTQA zLR!8?MC3HQPd7bw+n-6?uf|rqVYn~m7WnY0SX9_BB#51&eS_@Q#aDkb=Y#RJAoknZ zR%V4T#&&|A-2$Hh0a$WZ?5xLbDr0yzYrxN+ z`C?+7Tw|BMVfS@%jamAP-FNd29p)^)PLn>`6>CMzmhd#^ZveMu?d?-lHSl|mA4GeI zHaFSLFJwJ_t(vASI|t5#Z57^ak+7k6(5+o+Y+|v!ZN}a~?3S8W!PN3|WyKD7?7k6k zdI?W=F1(oI5zL+SonlmWmpWk#ygC^8!8N}8ViF!ATjX8|i}*H~>Z}!!T*7mmo#TK9+j@NPaF3C{ZfwoSz4@u`rYTl>_iAyEj<>jj(qbidls^&%X7Vcbz1c4FrNSqeHL zB0wuWdes+{e;%KsX$b2@^*RwChI76G(p3C|1WUC(vlnL%8^fXxWO%+y9#B8|;dPoo z;`|_W$$=FEXexB}x6glT$uI7pUCgT30KS~KkO*s+Bv0_1EFqvsJTe>{HzD(3vj%?% zjMpr8=eV?17|6At93&d^=kTfG-PQ`rb4Sf@9r*i*F1Y)}UWMh6U64&FzBsJF9d&w1 zusZ>WRNLPT4)41atn3nZsR6dlr)vJm&hfj4$5MO_r?7l)_TWz2)x-J6z}^a$Qs)?$ zEgmC5yR^uJcCl->C%7SQaU}UZcd)yV+2TF4><8pj$RA{ovz$ZXUo_36HkCBf8LndKIkgz~q`PNvfVf5v9}+19L4ens2Yd zl1Nx`i;KGy9PAQR)wWjhZpXX9Vq`q_JY*w2ctvEG9ihWpmycuL9;e%|$gVg7c2Z=3 z-?M+Hse`YIodbN6R*=pOfyDq=Tp(CmbAS~BUIPfIaUP+=PItO@G4>Mk^AKt6GKS@M zD-}|UJtUJcH}itGVPO$kz7@j;)~%PRmp_z_IY4(?ry!jp-AdVr1GmCSE7#oyw7S0c zT`63=puF@+a@fbPu*f)`;LEMj(u&fR(3^7oZ4I?*Q4urV;LF3tVL`x;ZY?jrJXTty zWy`UzV6mdkdJ))mf_0hX5ehyQ!+y^=MhrH}K%l`&j6DbifeO-;ft+S=uhgIj{vN8I zaz7wjPfpaH!_o)rD1Q#%o=tNI-BT;Mi#yowm4omOU{gMT zk6FLx@d&35=MUzz7xM@k`UdHhLeNK7@&c+oIZfg!5!e`6nhTu_6yRxT<%8$HizMVQ|+CBs|0?XzjdIc&tZ$Q z)C9G{b5;iTE&eB3B#wQ}UwpR;8^TOJDk>t$8=Ny5Vvhe~`R%y|majxb=F$j;9*G)i zoLP;xHPw!aiQMN6b_-1L91`pFU^|EZ<3{ucaEXxP?SpDZ#YH@YFYOWDP*jn#;MAQU zJ`?fZJ@57oY{Yrq-Mm}pcM-{@!ERj7-rHH|Y!JE67o4*|H8zM(@0O9Ac)T;Q}t00-&kA7J^UZTcgl0vRUZdEJ*>tlRpHhoU<7|Y zC?PU8OYYC!6a{b(PmW_&F3aYfR=EJ)n!gqw6IOW~#1|1|2JSs;Bl|&H&V7b1%i0Jk z;7x3$r-wh7_Dk~Soiz{`40ao(^mdvz2P$!Gs>m5j4}&fXpM8FSJtORvtkV0$BWf0c z(XuYX#fOCr9|hg|OReH}5n0WHS2>IQKktqWs%I|`pZ~#s&gX*J=hxv5iHpeI=5@x~ z43yCQrBY-=LOk(qc;VC)0C@9W!`rNruK^=m3_qAyCBlGHw!B=R*msYx;hms*bY&8;h|yz(2{Hh2GgxU zo>JpaPLAI_*{KLDiBNauMC;G{?;FA2RDewZqnMu$syqR+Uvb~9N+%Bp~AXn!m_-- zd-6zlz8)N>%S0a%PdFqF-WeavpW_%Od431iP^8V9io*_WxC&k}dSqWR-ZZx+?BMTL zlY6?<1rnvr<#3gQ++68dmM{?)*Nnb^yDCT)dofQ<^y826nJlfb&?}Ez_(E)Io|W0Jm; z8$~~pmZ@Q^uTAulC(k9%;NBL#yqGmIuOzOr4T+xd4BotL?vUtN&)_xN=0UBSql>{=b`8VRoOtct2QmqV#X0^6 zd5qt;JUkA}e}^{%4@7dGJu&g9c*0Tf=&2V+=3CM1Vz4Ta%Np5Ioa+yBtyi()bknxC zc{$Y7t1h{0zgu9^zFuvJeIn20H7FHXBTW;9%9F9KU$tB(9Vb&JhYTi0KpWDN$*#J| z{;0`LFu-7NsrDXnB+?oU3n~U^7(k0 z>ty*PZE`?rlAbkLGAT0IVKCX@I&rgavBX$q);P`eYtQ88^2vUKiH4@h$*hSQ*Wu2n zi7!p#p_9GuTqk=>Cg(|Ux{k*#92T0iUcAnpZ(`4|)a0L&=O!m;j;doEEl-rImkt^p zIOjIT;pKX?Ib7xU*761Yk8kOYIO0cm7fe3Qk=^z1vagHy%l&JG ztI6{hIflufhdlblmQNUZT6+BfeiLuvd;u=4cXewPIy`LhTmn#HcSNr2`b6Z@N#BTx z!lm3cy7%<7$Hr-y>uoinI2`33I`jNpE%4z|Ymai(`ox8=%P&|R9TnLr>_0G{^Xql{ zWnWfs2b_&!6aS-i?4l8SWyz*b(rW~(l{gLxf)STmbz5}a5O&HXI`iC;6QC{T+jVPM z+I=v`X)wnX=!dV&5y@c0^Oewu`;DYSQL~%h5AM5gdmB|q{AEfW1-ir*Tw*N?e(*Zc zFgiDGjz~m<5{I6hZmXVl(L9cZHw3rcxpf<6U(UF=Y4gN{wtJq^riYo6b86^UW_fHY z6-wt;Q}7#6_wh>6{%!e#i}4xD-OllYiAR-#8dh`c6kIqkUuqF*2w~1~$1QA~k)^kl zdM0<097Seb5$IT~Z;TppgfYbBhN^SpLmw9#r|kXBV0(&J>fl=QpbAxI(YyAfG?5DlvK9CEO&3%tU=mD7Ilv^?{mWLr zk#xqA@?LFr?QOXLvBm?Q#9F2ziT~u&Wyq4+yuP~guiz=at;E|>Ll2%+@OI}r{ma?s z!!gM%w+LmD%YJyv-aguR-~7b7b$tu1%@z{r`3Wj`{x4xxd6c^KFo!ebyiP17^1T~! zU6ZEBb0G-2)o;FpLs1-kU8H@p)@=vGv@X6?c1W*@!I_rRHc^t>z5OP+)iyEBw;&Y22G-~QjcMT`rd!lGjTWCwqUmn*X9?#rr zYiJ+k*7Qk!k`|6^*u-%n;@c5uVSslC7KV9`$Rc*_VrbM9=kP0m*s-G){bp*OsS((`?F-F9*uPd5EU1Vf znDBk#A;Dy?G7e}NnSkYz`yOD5>P3`5$-)A4^Umu89VU^qe76 zjXOj2^-ey$dFMHXuAxL1#r*(?G4oLiqD<}L)c#;fLcxjcd##-(A*r10^BPG1ZPX4v zXGqgxBA;txD5TN8mOhD)B%E^h046CK5nSAPkqY&jhrTkB&n8ZxLu|T-j0U=Lpl=900S>^b!2n$X;p&PUGel%$TYWJ_I2YA(Ey z6x;BY=J3p{?D6c&$4(`0Y)ipyP%#m&?ab$EIHU;-FCOyfTkl z_4rreiVtZI=j1qazgeU9N42NW$trz_Q20EG&y_PK^F3e+bPf4k7U+bV%N}!H zz3~L`?5sP7pFZAEt>ntSvK&luVs5yB`I>iF`}SBV+qx&iyh(QQ7$mtOSmLd|mb zDVMTWT-hMWqP*3iyK+rIG$3Qq>CeaC&Tdw)JHy@fCs@a>DicRs3aw9J$P~>_cpVIW z)|y$;27gTFWu3E@v=N14FFUGc?WyHE*IZbA<9e0_ZO59UB^~e96vaO!Di=_nA(Qyr zjvwPjs1RW=gHErHWH4*jp(8GW2)BzKfMpcKC8ZD@SCJV`fC+8l^8ouWfLUd#&qNsSi3&O z%|^h@g47M4asm@{=p!%4ofl3xvo<~L?IzZq?E*^Tz4K1b!$s`0RBiV)`+(@clQ6eT z5C}!<1%wJshzgU(Kc^CP{t%dd??vQ#3wRag2`NM%nzleR*I8bA(R$*Dy zN?rR6ydi_jdFb^uAw0xUVZIMp6>IkWQJX4c`i7hGXk-V(;y(oU11-7*w1CXb`Ptxf zP}`qi0PX&j()drEkV#j&a?Q4VZwzVxG{d|5);Es7eFquapxfdfUk0LXQT+HBQCYnz z(&R|gyFM4W*m>fE8vFQNx&*dI9)HV`;PxEc#rR0=1EI9yT7~Y183B-d^4-2Gq3i+4 zCw^Ob#!8WW`*B0Lz@(7=GJtL8rCs}g?R*0~74L0_?zd}-AHX+R2CV~fG=CVc2U_$1 zXpz|Nf%-=(!3RufE;r&b%D^%p7ov9PDp*D|yo@s9lX?3r?vY2gn9wuBjyvlYjy6ZE zycGmddAY&-A#j+QK1=h)@$MpNuQkV)r_~KM)Klr_Adh&L8{9`2p#$dU$*S%SlEo9) z73D{Rg)BM)ToK1Bg`qPHexe7c9tJxShO9L8DybWI?zB{L-H$0XOsuM>emR#eM13&( z(z6X8a{`|oYOMi#CgC&cId3279(m-7dezOk)Sq$lG3yrA(3ZI)G{|2gb$b^dBjQrt zLGChWtpqr)4ol5Vn*PFIJ$N^e>#>>n_(ol7X24Lc{PvyJX8VEZ?6T1ICx9J|Thq3}GO9yY3@ zHlqkkuudDe2u+`k)FbX9p|1gOpd2ox*XuK+29hdH)C3ar`o$qh9i;dtt>adj3lBzw z2X7jalRcvVta#C$98bgLkAvf)xNKp%+YGu0f(+|-_%gFSDpz5k8+Jpbi#NjJ2hjqGS# zOnWm+wdSfVfN>2m5Zd%Os!}htO)XJ^{w6RX&0Lu!HYlSBi@ylNR)A@Kvgg2wv4su&t=yiAGWr9V^8`^ERVCrB^nAeVqNN?F-+mc zq7p55a=_vhsvt@n@r@E=Z8-XRaiCmx4kF5x0xQ?xwv++dxl53iXKwhzTwix6cYS38 z3HUxuwO1~3DX=m6dPUu?PQH=K^f5j_a=78eW-Hj84HDS^tFhLWw1-b}p|AsGGvNWS z4?0;DS={w7a}k97_;difjFB1IARhzpyb6M#DB*N-0O8ROe9(>VIsTat z^)Z8?;1^;#`OA-OyXaXdmXEBs{={t3%~?(i!yEy71{$uuIIQaNCZ4%~mjT;u z_@b`=9bHds_h@rH!)$tgv?%$hL0V3c31`WcH(<9M%A#m9EDB3-F2w<>xD{m;8T&zD znF1{H{+$O}T-g8zL&CL-X@KF7*;KdFm0_8S-C)buk(&eqH-~mHShgKD%}le4?nvs4Z!B5 z6wB^n(V1%uTxn;gy>f*196nmiT`s`6x-aK&?>JZ*Gy;TR6KfJYP-SnFD(-{9&2|>A z7Xcq)jXEFujgP`IM>pb->#*(vT?4|J8Q_{c%eOUq-Oebx@BnR_`#dZ*Gj|LzvU`o-cV{!%E zGBpKtI^P9CH)s|MgCU=OWzWK&`=B4hL8V0C<{*4z?Z5J$x*%p4geZDKc-$&Wf-?hS zVH(Za65t0JQ4*GEzY(|5#Ly8aK0jH7m|ZLw2hw1O!J7$c z%E3_60*0ChQ2s6ZZ z2BV2YI9O3Hh`f;)3QKzcvI=AQj+t2b9NKYf^KV&s>X)-}F%kEUnT&Y};SC^yZ=uiv zwcphZqTVz3a>bc&5o!Q7E&_BgQw&&^Xc{gWg6Qo2R>7ZZ{OT+R-PD3s-YE@*lfyA` zX9sFu2z763Fpte3cX~)qDY>+=CUBhrDHLY>0$DRgc58Ea10%Zy%&s;o$%Yb5cmR}; z0isFRIu#=84EOkSk%NI$~?y(wJ!@XC@wgmO>1l29D^0 zzuNz#f0Km+NOSBvq?tH_be7FzGfh~+_XBif#xf-{Ae#zFt?sqVPqT2_&iJrWXh;%)y(1MQOQ0lz z++KfUmWM%HI>W<2X`{1mY3Rz**u;({kuuVZP!mqUQNM+na=#pELd6%RFJB9*&Qw7S$zOxK#|9)m!8V#m zgoI_oH2bNRGog43%vB6(+N^HW!h~ zM5un6kfs6GqY)xOq<#;K`bo%pvT8Mp6F-Q{kpWni2taxy#zL7(Rz-SRmfaBo>_dCt z5-PIe|3^wdUzRfRZ+eXUTNqqfIhV6^Dq|ET6#CHuSNOB^8>pCVfDAj-WONs$<#2uu zs#XDiE*&=2W`Hu7@BpYL4F(KsW`#(IY%)S5ST<`byFLvtihuc;OrQyhRT|SkI~=L~ z%02}1#?p8tW=*lQULNGB5DVBrpsA4W<%*jXcU1lY`kj;{Qhl`1q+ z#4<*u0#{m!nEN zSe2^FI=V>W2}yG>mho*zhaQx_1~tBR&}PPqWD0>0AbgaWaD(u4q_$$uKC!FfDpHxrijpzF9Ov;MEQ z8X40Qpa|$i9@Mzi#CH#lfL<~qplDW7vt#dyw7LLusJ;*T7$k`RHwpZ#7Y+_!pjIC1 zfR#UQL-;`}9PFc@qBQ7YGiBBHjhcX_7iKbgx29Yr+zHo5s$w(|U<+pk6lK8?5;j9? zjaW?v*ovM4#d$yM<0*)1kfl5-XO^UY43JhKZE9GN8kmM9znDdVX#+3_1wIN1k!Hm0 zrVv0fz4J|ZB^cGnhRsZ*@cp0BbYN+w@NmGira~l4OGu-0vw}q|D*sypf}4c?r5X?} zc!tz462M@($&*z`pB$Dw0x%Pap=NaEP+VS^^sS1A{&J}V#hIzfBtaW*#^L4 zLcxq~SH*l*lN&-RV*sOX%TbiotBp8x#sH|t8Dv&hvw|ojXT(V1K`ncmbsTT9dYr4F zS}*YEnxOH2db1JrS34l^$HS&dRd5Op>UsMPwr@nh3$}D3B^+#cgo<#mcD^7EsUl$^ zVi>th+4k4}W}t>f<=AcQNF(>Z(;>6vEU3;*5eYjWP*3ap4i6t^!?h5dg`K@Fj!S3@t}R zIM}cVsUppoH#*BG^#0RQ6*?NkbdzYg#UK)WJ(li(Xfg$u|9~$oTae<;|Ba(}=EuoL`!J(yfYijdtuGU&pti>g_x> zqj9^nQj#BqBkhCtEJ^4*6SymTLf{I2Kx;Jlyv;%5qeld|eFmF+)1O8x?#l}y^6euX zr(28HyRPfcxgu2iKrC!+?u*(BJJTmM+dSLP`-nyA-6=AB_ja}SZxga>r3Bl-G=GS1 zjeE3^efL<;ZvCU(-u5lNzDpeoeJUiy44Y4(-c=g_^n7Wbuz zrTI3QRox5BUD31Dp*hH#^vRb&PN{uX5!V6eRyT$-x?a?_S`|2|>dOUy5ydK343C@d z+}t`2)h4ASsc!w_xDs5y(i1+QtNnig&0!_gPZY27d?%aS#zV$ z#edA8c0j*S##?1FToRDX_*QXa2X!EgiJ_wmmtHon}{ z5LrDU7tyB=_Nl)@Q*i@&5@j%n`dBS*nqt7U5{SR1j;9Hccm3Bo1J2yl?}oN}bk|t- zzO8*{walCasrFBbxV#mfX={0)7XBJ$%@f6hFV=Fc8DJv|cj3OY-9oKr0EmoH%R7XU zF+fQ%ni54OB~vW<5qFKWx(4MA%MA%Eu@S7>g&Q!Ibl1L;2^jZ>{16UsZd}-9$T-d& zm(RM_A_u@ac2zGRG1-@g{L-J^1yTj}$%wU}!ahKaJVWqI(hY!YIst*X+$S-ZS5?@2 zdFWEQRT~hPeKDvNb%GUbEqGGR+Cxl&eSHlajZz8|cwRL51hv*f(m>n8Aa@sw+_r81 zSD0HISxvW&yU{JXwylW4Tz@8WHCWUd$NA$zkgbM9YRRPqooD8_t?1!*Fx&@e{uUS1 z2uxwvT40&T67F@%K%lmwc1Z8LNl>PNu|qDfN+*et90esFjrz08$J3+94mRd|9|0+A z&z%G2%&B-dJe2ff(t5ei zu^LjdrPYv{or2Wta=Xp%uiw3$xBK@l7qR}FMCH7m$je`BXof7o#MCsP(zz_*Mw?#P z)|GsPO~=sF8M(XI(WsMY4qpPc+(jA8l5sG}79f?7uAPB&tsWAGwnlN7-ZOL-z4d6; z{J`!eu}HzTVvqrvQhSt}U>MbS*aZMB`YEj|T8EyAk(|>D&v(15`z;`2dr{fV?oUF| zMU;4%6N?Ay$MJ2Rr(Asu6l*l*HkfL5(X6+%HUL9~NUza~NiLS*9pX!iAC$Y8f_8#7}h3qVmXj0s= z)V7ADPngaEw&GLr_XFsF(*Lgj#sqJGVGP4oG2jQH20vo16yz(KBXKG0@&Qcd#$!+$ zI-~Uk6aAE2z`7FFk^?Y(aRGo!ENCGPNfaIhhK8m*eqF0oIa$|3kOtv0z{z(Q!hqcB zmvYxnF=2{Y2gv*aG3|FYN|~JzET%aoOi%nj1Itnn=EA-WFn4q`&ti_7 zqFoj@(-W)DZ7`qFF4Q4%iHa(wxwd4MKlu@GutfO(GuKv6q%9LJ%uswLtp#Ws|6Uln zkz4J8&^}rPpeSe>?=Z=Qoahv8-s=Kvlrh>yt^NjEVCtE%Pg8mgZ<^9|NYmH^U$1Oi zrf9eIaK!`2x$Q(4d_>DQ?p8^-d_q*=tIKwNQ0O)Vc9<>)!s#OZYau_ta9k+)W%@q| zsM`drEe4Jtz$9I_%@f7qgv*njMO-D20H^M`lFJ%`GH1*o4EW$!d+sgMoDD+eEYT7M zX9&f1S|r}A|0|wts0>7z3{NZ!W8b)24D5^Y#1MniX0*O`i1cAPi|H}h53DaLu)~xJ zSh1(<89HivO6%tTzZtbL)GYy0w*t-`OCg|+mW2Y&7m_m|^@8E0GxF9TVMgr zR_H`|0|bi)y@wk@O3>jHg3*x(lNTM-VG=tHvtc^nX{H$yKAs#~J(y<^n5$@KvBc&o zWWpe``>iB^-`bIY3=`r2&Uqtd1Jey}E$BhwK5S0`lQWf&n3=hb5OeFlXKo$L+`dVz zm#J-4uLpM6?*C$ysy7f-JuVecs#f=Aev!JE|L$W)johtb+X9~8eG2E+Z3{W;`J7nu zTS99mcZ*G~T(QU-ODCgp!_?MC+%2z8gqyrR?1Ky4$c@WfB)nuj1G&Jx-f>#f66YQ(wA|@avanTz*C4BW zY5A$#GlikTd3Um9%I-eqw%eq8>)hBpkLL=THMjPC8LjWrlZhiat-venFsoD_K~2B~ zPoU*TOEgSsE#YoKsIA!HG6%1xv|KFAW5l^7bz)%&_%H5v9S$70V19kyFk8dGKwczQ zUQfL_AcNy%B=i$+Wc6|ePx!%Y;+M8iPjTf1JlO@)8FDboQXzC<$tnX+?!b9~<;nQ^ zRI`iKedpM%9Zp0T^L(<)Bi1~v@B53r@556K>5me5DU^!bhFeM`l?IWN6478PC262ci6Z0}GKcrsd!KWjjVJEC z?|X0WAKl*{zt87x&)#c4&syvI{jRn4xd$Xn_m4j*n!Q3cnwH@yFHYQ^9c+UIY0Dp~ zJ;^L`T12w4p0LuS-`BikRI>(E9GvT;Q#JxxIz?52-h6}=a5v3!ilj3?1-TpzPNd~0$yN%w!%%hs;Zgm&bfa;yc0;Fnz}-?19z1R0!yPzq+vebf`#)isV%dI& z(<@Bj^0YzA#{qviO!5~l++U_bBfqgH8(|hzbp$&Mik$@gpDZzS+oIMVwpKO6|;lq3jmDzqZ@#BmZmj6>LqiN6~kP#030UhCRIpVlK z)^{Azw-?8AW}IXdBMo)*WG0XPNNrS+%KQ|d_+lDJmxo5!$_%(wtaJ%ur?b2FBP&Dj z0k2DkUgu>NVTqf;3@%QP=d$s1N(9$FMsOvYb!kwoa_gEUZah~4kU%v;Q{&uzVJZ)djK--O$QFuFYeevZG0M*74uHCy01!u`rL1?qpq|3)&f>uKfR(A z#QBk?%@Z;K`9HX4>IusIwyf2ST@p>bj<;o9bXU6-Buz4gs1{Y ziQD+?Soj1tlmIvoLLdV5HH$JBJL)0{c67lJ;T9}o(P|t4My;LLx;oz=qcS*z0Bm%W z_hd8C1(l1UY0FsPggA78x(*B?aXx^`>OQ@Z%Sbk2r`{ZO?o3z)AQcdOJ}%Pfh#dCV zGmGexhRa3(>}_BoFayNI5E2t?FM%QO0V4%^BNpf#iMo9lPP35wi9{WYQ+VD)gg6dD z7cme3?@0mRKM-AF5V>1oo`~i| ztkYVy4}i;7n3gq}X_-Mr+yN|nBY_KGZe(miW%cGZ?;J=rXu!lwEWigIcW^&P8Td0M zn?+a&oQ?{e4#9?fdduN!ATScQgZTgicf;9s$&K%4QJ~w2zDE$sh+EyQPril|Vt^qtywwex@1kCE4`UUsr zjNp_GaHkLl-rQCKofcu{$ND>2tfLxfCp-DTPWlYlNz7t>_DYdnALf)9HdGA_thY1I=SiJojK$Lt!KtiV+7+)`|ZN$tOe=GmY$K zE18X1)I5Z+J7%&{8XA3of@0t>Dzm54NZJUwl~5a@)GoFOELlPShgOoI_+LTto-Byu zE{rtPGo-lD0nq`ym8K&AIgRCYD6tDlN$>%G34So4lL1OvB&rTFeL72l{RAkFr{w^* z><>!C`9^bX`{@B{AXtQpro z6^UvOs(27ht6){mctPdNfmAtrfE6q02bkIhm5OwGY2X!!+oSn<>j7wE{ErEHHk3BT zfKR88ilVB6qzfv90E-;9=sG|tHM1e* zA{>2Q4Dm`q5+VO7*rNeeBwlwztH^8#)=r_FvYfROKX6K@oe-S>;FRzIBRb_m;FK+r zgPk(%XFDa(EX=sEnEb=ihU)JupF&k&21pyE9w$i~yLVRF|9k=B8}`_=YgHFlv0h2?*8V;5HDkj0H(ZJ+7#i(;bf^O({0nM{=c*g+gf}T3~)%L;Ke4yx_ z{;Tan!X{L0@GrN0s8G7V+6HT2=U3YY8&UadZ6DuXZ6A`{N7eq*X++!S3DNd>L9~5( zm~Ed<67-1vYWp0>Big&a+CKl;L}ofHa{OxhuytgfS>>C*^en06jFNKn( z4AY+J89dTTa>qr({rvdDTIt4qNm%JcuWGOT=_gC1z|^Q&MzyN6-sd2t7u9@Wvm)}W zv#@%>(tY-)S4;)7t0gx~Th5G^Y1Iz5Y2nC~$hRWa$1Dc3t%6`q%b{4IYYq1wUeV9y zd9hyzbbA+vO+UY!7zT!mIKZ&9c>5}vpsuCXjMmlWy;_yV{nl^jrEjFKWqWCZ=^{;T ztXZMcSx_b$kQ-reDLf*Pmb$1Y;siE@E+%UEYPI|*Fd5E^H=myIT1Bpit55|t;!_9E zMtm?lSJU8gcxJamrLoE^Y)V*J9V}P(2Q%=T*ldK}=RlLL;LTq%Wb6d2oa7_a4i2j59MS;NZ}^E4A{;;^yq zmv^PW@Zbb^7f0}-;4YQH3vGUAWI*@A$AaGZPqDG_5WaWH$JSy8p@VhE@QvhY^A3`0 zXKVudO*`3r+F-1F-`i$!a1c7-HUjmaIp(mrH{V3!=8jS>%cRwf`?SFXlz0GtnS<_u zXFOJ?pGaVTGmMSqz3>sd;1MCDM}V`&AHi5&3(oQjewKKTFkJMh=CLhcG?DR!*?WL1 zNnx%+9D@%yhJfz-j|58?N4-=->Wo$4kZqjvnl2n!?6w&jOSd%!&q(10)A1_!oQjg_ zaW4=Y2~C-i#9_tg0DmKGvn0OF+gL^{-4Fa#4jPfhG=jO!Y+##p;5K)idp0k)O+2z# zPPx*%vxepfAPyXn&&$2#Elt=hgV%3}a&=4W1+?c*Iip2ruR%7|Y#r zFNM34ym>6{&8#;>yJLA}utQQEwXrU2Q_K|LjbFI@zk^NUo^r1wV0^gXQ{`ilbscSlIjA|#=8!Cb~ zR3g3M6#NahdYYHSb)QXDw|p}Zim4q87_O#5IqrVoi}(VraCzK;ZZDjKff0i(ROXHTi0Pfg=tFiTB~EKaU` zo$hvr9m5(US)1=1WmQqdr#4|TYNRy2K8LP-08itWD{98n+%&?z&mlSGa)}IZ2f`_% zG(eumhX`P7OYQp37m!QDw(sw1C!b%%z90&Lv0c|G!Tkpj+dTnpy=U;QRGe51=9Qg1 z_iAc_7pmHVj+8$UJK$gCEJ{@TaqMi#Z~{*u5;ZcsH6Eqd6B!I0-U>{xLTAaZINIQI z^#s}kN1dw&vn3_xd}|!JbS>A;c(wYYT;ofDyzi-v9spQDqMSzC8^50wA86o)Sq72J$#{ecACl`sZb9G? zKc3`33Mh%g$6wyqV&Ma}4f}4!p@8X@cCyXjyO|Mo(s$T&&ePTdQ4?ilT?b55oPd6C zlIX`ijDC=;^yJI64$lPRwL{OloV8VurxElZ1@J5~CMko2uS^0J_JN>+%ID;rMkS&; zYJgnw^QZWiaUnFo(!kj|eg}gG``XW@g78`py?P#SQ*oBhWh2uixC@iQAk!u3I&vpT z*HKmy6bS!LYDXI5ytBcqpvu7T29r)d5xr>`dgFbGO%{^@dV_7lznanM$u9$m3?sb2 z0enZ;$&Rrs>=Xk&B}Vcof8bNE>7uNcL?xli6$&gShzcDHdzn^NVN^{3eA3Z7 z5Lc?Ggodc*4HE$x0>3>ZZDHy(kgrKHhxpQPfXsoX4rER*FcH@w=n(G-0#XWB7`A{K z+mSdO7f!#YGJyr6BSF70bj2);RK1mA>8YDC}E0>0@wg=3JFjU?`fw2_1y=&fXhA9^c?&*->_ zQDN-ldkh@GJTMQY7)ihbHn-;ggVte~N!B_L!vBA09U@!eS_gb%h<|Oy`Bj6eK?n)( z%`TOsMv%Zml0)cpDKUaeYW($dxe&Nyi{xOJEdR+a=`*U`8G*Q1h9Tt!o6vJt_3o3Tnu7f~W0#f>TUH;f7ZI!yuv z&%k$-iKONKhzWJ@V4!n{0Xkm^(9xjbAIp>kZDr+n)QEsyw_TWtQ?sYEVj5Q2s% zW<+7dHA2v^ife?R(Zor-Z=U1RP?;1a|78%)DomYErAD?Y!rafPNZdkmmsQl zDArbYX9`vVWMJbif?VPs^$aAJ^{kwXOzCxZpw>W=OVV|?mqh)H(Bg1C%1ko3#OrH7 zOmq(=my#^!LzS<{ln1FDq3@!?hvd7EWsobC>5#U?VBrJECH_s%KyrD1gqNdW4bKS{UGTa!R&)XKI1oxl z7b3bFu`hba5DwJENWcRH3yQHBWS9wBOYi+K4dHdRAGjpsDyZYWTmkh8 z+9gTtAB36FG}!(bF&T6S*HI}QPyAC-x@^sn<*nMh5L{>B}UJ^qS#9qSd5W$J-1cE~;?t-U)NzwZJfbs7c4-vJz*{d&<(SQgZaVlOJTj{U;sQ2k(7*%r z3W~9TkJVWs9#x_a0M&jLmqM^#V$Ow8`%TC25mc)xhL$s+>Ou`Qk$EG`=R{5Ae?Kq; zz7jvu1b#xN1TPI8T6%}Tp51_w2YfJ2j@}6yJd&UWJY`tyDP?nIK?gi_0y?nniJbPZ zrM4E%DI%tX9U2H}zD&|vVG+3ky= zAFhW`89lCI0&`9cUAd&O%5-SQ^csvi=(a=$?9ZTG6Y3STYetUXnxsj$kzBJ8bIlH7 zGKZyapI3)sV_HA4iMwr3o$Uv02~*Zapi7n{y@C=G?mUx-%2QCTwGiaBDdIjy0<*buHXUqG;7O@6o%W}*m=|fyHtA*gV1P;{p_g{F=^Q|0d}E`8Qk)3w@#vI-jF*Yr8wz2l3T*-C^H90abJR4 z{{1f0znv}t>@m|NK3D*Bc*js~IXpO$^$I#$rjL*aWN3)ll(3#7^wJQF5vo~Jim)`lm(K}z^ zyc&vc7-W$8H%Q7m8UPoT)(Ntj<=waBy29?Ps?o zK;wqVgzzdGS~y;ZsDW;j!Tt|=BjI(l0*BW}Dx&|to@a|9=Gi(KGX)CFc{Y7!BMSV& z_OE$1r610-J?=l@nyvQsaqfit4k0c7X1x_c!fLG(BE;u5xSM&>`HSl_j2@phG(MMl zo~PX1uk+sCQG#9)rhB--my_y(S1bCW-Fm}sXSkgV^4WQd-;x^MgiV*pdDu6lyBYd( zhqFIb671tJi3J?!wuaW&31YlAOIDxWGrQ&>@3tIKDc#QjH}eDP?z{pu-}e$xf!rZu z!F72yqkLiUv`_`@0Pum;S)MmeaJ>Y$evh=?f6#iicMh_Pwf}U>;!LO-J6^g~*U08k z+baErQw$>`rsOs%Rq7YCRp>VqfAFn|A2mUV>$sKdcb^Kg$T)urljH4$B3G_D$;P zlnLNlwOz6sGvIZUkp{h5-@pv2M~;oOZp>njGb=>lOK5_ZAYZr8_BiuoJiMO9cu5WG zuk_N3(iLJITsKoOlU@ut?lSN$KXE6|$$30`Uy-tEar*pjhK*Gnf*LBG6)D$%N3mIj z^MD`JDqtNKCpfM(@VMN7%jmXg)B*wYHS~pU0H}~S$etv*ToC4RRJa~-+ymC{X;3*P zEtQvIzOSfx^noz1=(u^6-4~&ek&L*>9=eg|hK-y0lc1RVwy|@zo~<$P23MY3*ZATO zyL{MWEFEXmuf9wB!hDCN`+*JeBpc2VHZY@-9Yj?S=@kR9SL`6!n9bNo`cNA|a1C?V zZ|Ly4e6HiX6q3uT;w}s0supwU(a@#&2VI{Ct}Bt&D}d|98Q(HPje0bwcDZ-5d;A;Z zLAojH=?Rt)PotM^0tsf%&1V6i;02=-aol)@V7vs%NbDiQgbg|N5&7rlTY7J_TzmhE z$SJs;P9Yin6YQ~h+t8`0XR8c0%x=`p zh*>IX5~h2(!8g+C$Bs#b z0TMbe0VMQe`|9r`)SPCd5gm|51Yw$pz|(}5d;BRP-;07|XNctDF%bvNjK6Xyk>?*b{$tOe(FnI_IcB{b@Q$1v9; z&YQgc$06RKLG=P5-U~wfSkF|cMSwxPr8cevUaxIr?dnE?U&LAey8#Y7sZdaZ>5#p{ zI3zqxgpv4dhUG!@6(cw#ygrgcHv3=>*)`Z9HAyZL^Aj9$8Ln7cst;ecp|rw zRUm~XimH+J8D%2bVNtn< zT3?J6>pgtLWWYD3%sd$vngGZaktcm$rkKC|+NrE(I}RY)BpeR5NSFeBfT@W1iZl6b zHgCbqqZmk(m|p_GruKuJ!COvkoJmCZBZiqcB_o-MQ!32N%5L9UV?~0$qcMCRz|9|0 zU+3O*7G@#Y&>cSvbQs(h2OS_8`i2mVBFMSmUb2jg?*2N0XO_VA2+l@ckILv66JZhb z8U|{ZkQv3#MTx8(9jWppkqX6+u{h zvUnv1IvB5P9dg_qkV5=~odhC9BB`C)SQzFM(#No|vo|wzVBCnq<3c7&J{CH=fa_1D zLz$3*hra||kJOBCy&_--mfVodZDXhqmXS3WHiEcm9)^5Bh*-Qx9=CYkKZb82O*UhE64Nz(H1ixz zx&{?X*5_u=1C@>Y@VF4iO^!~KktAS2g$)U|Q28gWtz^-+%)WUg4Oor9RBR3bJVmwO zi~PNASwWwf1(!{-A>cptyr>?`Gdt$Qf@%abwXSoF9{4$lx8V^Sb|5A1($M0a0DgCe zDI*Bn05am(87Vm?E|K&tj$2+p-+FPo{!Q4a?j-0?$Jtb10>;lL8)sl95~u-9#H&94 zozfwL4pZrn>TBH`CX0rRp6Kp{tm`BMCkk)`g2O@svcT2>ucN>bD?}*n^sABQ?Ru-W zD6GuNmBvwB1IlBtcC|L16ru9s&MIP1acMu9pp(iiAhPvgK1Lk&Wg5JW#+-$$giQ)p zl8nB*ngqYDyhZ&*rv0r>{ogA3Tc`N-bX4`_^^Y=G#m*r_p-{LfAGA)a*X4hHv4@jF zIX;y_83+EYtEZ{?E^BKmS9v$*uSR8#AJv4?YkmuD=d{&0pndU=%^&xA)Q$;GzI;(M zW}R?&CL4X4i>1ab`$=}D7N$;7mPfu$3y9k5u~Nh2tKR9uRc;Lttz88PzbPUpsxjVs1)T(1~Ii*a@5i1L~#bwbGV#)7z+ z4`Yw6F*k_V-@>7*WhTjC*I<{#A<*;S&G9h>ZYv}&bIDx(lE1W8_VGy%h5d_{A23i< zPgrAdf4L@C~_!A925LOQ0M$| zsteoEC3d!jTk;J}(+@6xvT&(T+rye|VlTHC*-Us@jvK#^e0zb^W#+ zp0QxNr-;kZY0|B^Y8R|S=ekW_RWvGE&~y8agCEWtX4*%}O_W+U_eD|E3f}nO_wm#7 z&s; z+9u;%&IfZZaG1`p-80FWk}&=EX|^AE*P9hIU6Gl6JY?l)Up}u*q1%<;e7I3yV4r8=6G$irSQ2yj@xNJJrtV?yZyZ zqP;rSEw5&rRxREl7E>eBC+mO1Hu!v2*p=ly1=Rt^^-DiU*WPO3GLuv;b{@AQ(!D9l zcX=nfu!JN>`#Qb&OBW`6c(vz3^zZXIwvMBzRj6xsoa}Au8T;+w)XN3cvqWY-HMFmr zzkS}Ac>M6zCGSmkTU z30kkGU36AyD0f#VJ1n|nZcvqWmC(LR{_Z(PQ!e*RJIebhaM$yHrQFIEUXpxyezsRY)FHF}G@FcAwWvPH=o`l} zxn+XpFS){dyFn;w3WwpLnI6$9Nz;19s2o;$KYC%(e6506yF+Ik6r6H4rT1E88Mk@G z8cpA*QyQ1{Q{#)IA8@&As{CGjrOtb`%Inj&7B^w%PqpNgj=N{j-u+Sf7b28E08UjhUSEy0mxP^>OzUrYqBnZn&B9roDai zc6E8b+T$kmOFM43IB9%Odt4FdBE3iddEl4)dwN&$cAr0Xt?-mb%Ti8ZzT7$HZ(6?3 zywo-G($>urroIp_iL1!jqimsl?+L{x`kj11Z=Qabl=E@)n*w!n&7yYa!b8tJj1^0Br`Dbje=YNBU(wA?yG51R zTJ63moJ*#it93tTloLQT@u+U$IAAe(p=?Fw<8+7blOn%`Yw(>`pP^Y-6K(Xt=lp?6 z^K3oe1M;D-+YSdWvFUo2@S-S7XQEQ*g1p7M${&<^?<*-^D)M#qp`C{cMQ*=HxLH?{ zQxi~8{nX*+C*xNWUu>b#(x0tY*gPvoYU^E}QhzBsC;toI+!mK_>H8d}8p+=Hdelh= zdNTVR&UdmaJ$ES2J+W@4^OnaoAHpIe#RO_%vMr-ZPp7S;D7x6h2=N_1-RiQ_vFpXM zkn%UNeOc+I@+XZP*Nv-rF7)^}g@tK)iV+z?83%9y`siF zA!8l6rqNSAyieHTtRdxfY;Q@8JIBe-{HHiB*(>!vI3LhGt$jx1>)<2Hc9qr3d-KYQ z$;Eo5IMw;oY_lsUKAE>D%CL_Og5<7M6V}aK9skLen?ebgL4c$?86p9`*dee}45)BOitA+5W6rfH-tZ<*t& zvgWkpxlwgTA6MFTHlL|na;50y3cAqkGtb|i@klDu+oyMwyKSQWq@1HSFZkbE7oc|b z`9p%&B4C-aEe{2{s2j(*EWSY&UP&?MP z<2aZ8yq|W46J3U{`kORpRj5Zlx72&?W zbk)onio9*s>%*<{)ecPm{Zp%c;3z|HhtC2HmnIoJbhZ#Qp6AQC%ilc0Qo7wLo9*eB zr=i-FY$~_(-pyMdI46wF<^yl6-;9PUVG(QRJ-KTurF@V(NYqu}5%-)28tij8FZc4! zi+{;|AX8a@H;3(PtWSjc>1V=f%7sE(4Y+v%%-&ZC)n5FKXZhG*K_2(@o!dWbQ(|v> z`0fK|)@*~R{A>a@tR_Vk>b(dqoIYXhN`8e00*k|zpWAr;eCuyhmhoE7oz(tP@p*5K z9fjVzHMsh$>T})ss$(mbjg@Zjj4-Tic$~GwuffFUZrvKrB16Zd<7cUIWlx-9`r_@s zxpic73mZgkw)=EDufDafVCQbbvb^-MlNWU9uz#8Fr&hMv?(3CX9-H2K&-`j~B0q9v z?8cOd;~X}GWi?;biPcr@mV6c?slD;I=em_Vv9q1G@*HQETF~@<3BBUtJu&m;xl4ri zQf9s%zx93L*zb)@ln~+IDwbna8%ud!t$pZIez}Y0_yk^S7-6jW_2i zZ<6$$x%?JQTQ_2fYpS$n!FauE`y`J0Y%sl_acXI`#g=(Zb1v{LzZ{$|C2cbP)`N9R zr79I_UPr~K?Q_xRxi|gF#&;VieB+C^ugD1+Lz}CAOzFzrcOmBv&N$Vs$X^gF#c?*| zURC2on@OA1*gs3XUw+j8)ij~G;jOkm;9CkFQ^;;K;dP&E4>J_0^X$*W1@+(QP`7 z9h#vgy~?t*>~Pz8Jth3mp$lxhUyV=AEj~9r z`J=bip@(j&3Z7ygufH`aS1)lKZB<#7d%NH1_H+9Z`#WnEd-R$ewfOT(#e?%!(LHzl zKgUWmq}i}1+*gr4n@1P<5P5B%*qErpQn{mbgtM3I?JG6jnJC=M`^QU;>H5|@F0Fe5 z$Ea7&@k#yEXY{Pa=o#NL8P7;jzS~-%Y~fbg$uB6LA$DW=ZY>O2kT7oAJw*lk+d*DC zJuh#n&Of-g{9vg`VoidzeGTXOCH=JQM+#oQm8Y9H&0eIxvRq~E?UXg!W_7PE@1NSj z7k^{|)$RIjX%Xt%GbLB)%6)6A9K`hRukiC(aJO!4d`@cWoDZv?yvpe7$?!QcddaFy zGfr3rJ{5g+yDj1Ny|!qcKM(um^~||_Us7k|wK>=KoV}qCk$7+S4SufWl!+#nHWXJ~ zvuSwyZBp{*Zz>zV`Y&5lSDFwNxwSQMq{DnT;nw`EKw?lEm)L4(& zO;hhY%M(!h%K0bt1?SQl%0zLhrdM=Y?US(`I_+<@tvllOOD*<3CqWsLUnh2jUHj|e zHlL<6UuDgZzBgSTJ{CJT^L+HbYcCO;SHts6VpUg=cm1iYK2}LN#>!$*W#`VcD%Ry&*E#K&NTsdm+UTjqeOGQ&`usWFWmgXs z?Y5C!?OH@z#cx^ro?ctmv!JT*O~uPfsYb`i+9c_kGOEn4xlt zS~+3ehf6Xie8*BKLcdce6M=BY{$Zm?;r~yem|2)w+BrCwTHAY>dzn&Q&77TaNl(5@ z7r2YX8jjRQK>mw@g~E)r#9flWy}?}^Tum*U936jfi_w4_?G&<6&E=p_^!X^12?K6% zSpdI07_*u} z0gu7|Aq@AQMWI-_m@2uNIqo!dwKPSqzn#1y2U~BZGkEyWsHqrVKuOq3!rRhCh5YaEs(tM_!xJ6v{^a!H3^( zjo;$Ohp!8kKid9n!)rjS_sS5&8ha7q6i?XW%aP}|0<0{2)~|dFtmGWB^4KnXC35H1 zft7c?96fBo&Pf2XfdkIv&gc3;y!1>QCqtR9#qXon~i2P+42H#<{1 zXH#c0S2G7IcPm#nc}p{QvgJnL`5v2gfW$?iG)x}st*b*R6lXg}e7&2UyPd_5^_#%@ z#ebx1`P4w6EZs1M0)htrhuCxZV_?0jxtpotTvN|^gI*n5`nXzI-~BuIBhImuF$0!r z?O|gqoj+(Ds<4SIB_8?SXVic)C;4SjY7egL-#3av)_w-7MuYGH*%SQlIN0Dn4uhSh F{0~wxK;ZxY literal 0 HcmV?d00001 diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top.sv new file mode 100644 index 0000000000..8a62816528 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top.sv @@ -0,0 +1,4041 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +/////////////////////////////////////////////////////////////////////////////// +// Top-level wrapper of 10nm hardened EMIF component. +// +/////////////////////////////////////////////////////////////////////////////// + +module ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top #( + + // Interface properties + parameter PROTOCOL_ENUM = "", + parameter MEM_FORMAT_ENUM = "", + parameter PHY_CONFIG_ENUM = "", + parameter PHY_PING_PONG_EN = 0, + parameter PHY_CORE_CLKS_SHARING_ENUM = "", + parameter IS_HPS = 0, + parameter PHY_TARGET_IS_ES = 0, + parameter PHY_TARGET_IS_ES2 = 0, + parameter PHY_TARGET_IS_PRODUCTION = 1, + parameter SILICON_REV = "", + parameter PLL_NUM_OF_EXTRA_CLKS = 0, + parameter USER_CLK_RATIO = 1, + parameter PHY_HMC_CLK_RATIO = 1, + parameter C2P_P2C_CLK_RATIO = 1, + parameter DQS_BUS_MODE_ENUM = "", + parameter MEM_BURST_LENGTH = 0, + parameter MEM_DATA_MASK_EN = 1, + parameter MEM_TTL_DATA_WIDTH = 0, + parameter MEM_TTL_NUM_OF_READ_GROUPS = 0, + parameter MEM_TTL_NUM_OF_WRITE_GROUPS = 0, + parameter PHY_MIMIC_HPS_EMIF = 0, + + // Core logic related properties + parameter REGISTER_AFI_C2P = 0, + parameter REGISTER_AFI_P2C = 0, + parameter REGISTER_AMM_C2P = 0, + parameter REGISTER_AMM_P2C = 0, + + // Parameter to turn connect phylite core signals to the lane atoms + parameter GENERATE_PHYLITE = 0, + + // OCT-related properties + parameter PHY_CALIBRATED_OCT = 1, + parameter PHY_AC_CALIBRATED_OCT = 1, + parameter PHY_CK_CALIBRATED_OCT = 1, + parameter PHY_DATA_CALIBRATED_OCT = 1, + parameter PHY_USERMODE_OCT = 1, + parameter PHY_PERIODIC_OCT_RECAL = 1, + + parameter HPRX_CTLE_EN = "on", + parameter HPRX_OFFSET_CAL = "true", + + // Debug parameters + parameter DIAG_SIM_REGTEST_MODE = 0, + parameter DIAG_SYNTH_FOR_SIM = 0, + parameter DIAG_FAST_SIM = 0, + parameter DIAG_SIM_VERBOSE_LEVEL = 2, + parameter DIAG_INTERFACE_ID = 0, + parameter DIAG_CPA_OUT_1_EN = 0, + parameter DIAG_USE_CPA_LOCK = 1, + parameter DIAG_ECLIPSE_DEBUG = 0, + parameter DIAG_EXPORT_VJI = 0, + parameter DIAG_SEQ_RESET_AUTO_RELEASE = "avl", + parameter DIAG_DB_RESET_AUTO_RELEASE = "avl_release", + parameter DIAG_USE_ABSTRACT_PHY = 0, + parameter DIAG_ABSTRACT_PHY_WLAT = 3, + parameter DIAG_ABSTRACT_PHY_RLAT = 8, + parameter ABPHY_WRITE_PROTOCOL = 1, + + // Parameter table params + parameter SEQ_USE_SIM_PARAMS = "", + parameter SEQ_PT_SIM_CONTENT = "", + parameter SEQ_PT_SYN_CONTENT = "", + + // Calbus parameters + parameter PORT_CALBUS_ADDRESS_WIDTH = 1, + parameter PORT_CALBUS_RDATA_WIDTH = 1, + parameter PORT_CALBUS_WDATA_WIDTH = 1, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 1, + + // Family traits + parameter LANES_PER_TILE = 1, + parameter PINS_PER_LANE = 1, + parameter OCT_CONTROL_WIDTH = 1, + + // PLL parameters + parameter PLL_VCO_FREQ_MHZ_INT = 0, + parameter PLL_VCO_FREQ_MHZ_STR = "", + parameter PLL_VCO_TO_MEM_CLK_FREQ_RATIO = 1, + parameter PLL_MEM_CLK_FREQ_PS = 0, + parameter PLL_PHY_CLK_VCO_PHASE = 0, + parameter PLL_SIM_VCO_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_0_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_1_FREQ_PS = 0, + parameter PLL_SIM_PHYCLK_FB_FREQ_PS = 0, + parameter PLL_SIM_PHY_CLK_VCO_PHASE_PS = 0, + parameter PLL_REF_CLK_FREQ_PS_STR = "", + parameter PLL_REF_CLK_FREQ_MHZ_STR = "", + parameter PLL_REF_CLK_FREQ_MHZ_INT = 0, + parameter PLL_REF_CLK_FREQ_PS = 0, + parameter PLL_VCO_FREQ_PS_STR = "", + parameter PLL_M_CNT_HIGH = 0, + parameter PLL_M_CNT_LOW = 0, + parameter PLL_N_CNT_HIGH = 0, + parameter PLL_N_CNT_LOW = 0, + parameter PLL_M_CNT_BYPASS_EN = "", + parameter PLL_N_CNT_BYPASS_EN = "", + parameter PLL_M_CNT_EVEN_DUTY_EN = "", + parameter PLL_N_CNT_EVEN_DUTY_EN = "", + parameter PLL_FBCLK_MUX_1 = "", + parameter PLL_FBCLK_MUX_2 = "", + parameter PLL_M_CNT_IN_SRC = "", + parameter PLL_CP_SETTING = "", + parameter PLL_BW_CTRL = "", + parameter PLL_BW_SEL = "", + parameter PLL_C_CNT_HIGH_0 = 0, + parameter PLL_C_CNT_LOW_0 = 0, + parameter PLL_C_CNT_PRST_0 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_0 = 0, + parameter PLL_C_CNT_BYPASS_EN_0 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_0 = "", + parameter PLL_C_CNT_HIGH_1 = 0, + parameter PLL_C_CNT_LOW_1 = 0, + parameter PLL_C_CNT_PRST_1 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_1 = 0, + parameter PLL_C_CNT_BYPASS_EN_1 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_1 = "", + parameter PLL_C_CNT_HIGH_2 = 0, + parameter PLL_C_CNT_LOW_2 = 0, + parameter PLL_C_CNT_PRST_2 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_2 = 0, + parameter PLL_C_CNT_BYPASS_EN_2 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_2 = "", + parameter PLL_C_CNT_HIGH_3 = 0, + parameter PLL_C_CNT_LOW_3 = 0, + parameter PLL_C_CNT_PRST_3 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_3 = 0, + parameter PLL_C_CNT_BYPASS_EN_3 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_3 = "", + parameter PLL_C_CNT_HIGH_4 = 0, + parameter PLL_C_CNT_LOW_4 = 0, + parameter PLL_C_CNT_PRST_4 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_4 = 0, + parameter PLL_C_CNT_BYPASS_EN_4 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_4 = "", + parameter PLL_C_CNT_HIGH_5 = 0, + parameter PLL_C_CNT_LOW_5 = 0, + parameter PLL_C_CNT_PRST_5 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_5 = 0, + parameter PLL_C_CNT_BYPASS_EN_5 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_5 = "", + parameter PLL_C_CNT_HIGH_6 = 0, + parameter PLL_C_CNT_LOW_6 = 0, + parameter PLL_C_CNT_PRST_6 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_6 = 0, + parameter PLL_C_CNT_BYPASS_EN_6 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_6 = "", + parameter PLL_C_CNT_HIGH_7 = 0, + parameter PLL_C_CNT_LOW_7 = 0, + parameter PLL_C_CNT_PRST_7 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_7 = 0, + parameter PLL_C_CNT_BYPASS_EN_7 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_7 = "", + parameter PLL_C_CNT_HIGH_8 = 0, + parameter PLL_C_CNT_LOW_8 = 0, + parameter PLL_C_CNT_PRST_8 = 0, + parameter PLL_C_CNT_PH_MUX_PRST_8 = 0, + parameter PLL_C_CNT_BYPASS_EN_8 = "", + parameter PLL_C_CNT_EVEN_DUTY_EN_8 = "", + parameter PLL_C_CNT_FREQ_PS_STR_0 = "", + parameter PLL_C_CNT_PHASE_PS_STR_0 = "", + parameter PLL_C_CNT_DUTY_CYCLE_0 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_1 = "", + parameter PLL_C_CNT_PHASE_PS_STR_1 = "", + parameter PLL_C_CNT_DUTY_CYCLE_1 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_2 = "", + parameter PLL_C_CNT_PHASE_PS_STR_2 = "", + parameter PLL_C_CNT_DUTY_CYCLE_2 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_3 = "", + parameter PLL_C_CNT_PHASE_PS_STR_3 = "", + parameter PLL_C_CNT_DUTY_CYCLE_3 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_4 = "", + parameter PLL_C_CNT_PHASE_PS_STR_4 = "", + parameter PLL_C_CNT_DUTY_CYCLE_4 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_5 = "", + parameter PLL_C_CNT_PHASE_PS_STR_5 = "", + parameter PLL_C_CNT_DUTY_CYCLE_5 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_6 = "", + parameter PLL_C_CNT_PHASE_PS_STR_6 = "", + parameter PLL_C_CNT_DUTY_CYCLE_6 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_7 = "", + parameter PLL_C_CNT_PHASE_PS_STR_7 = "", + parameter PLL_C_CNT_DUTY_CYCLE_7 = 0, + parameter PLL_C_CNT_FREQ_PS_STR_8 = "", + parameter PLL_C_CNT_PHASE_PS_STR_8 = "", + parameter PLL_C_CNT_DUTY_CYCLE_8 = 0, + parameter PLL_C_CNT_OUT_EN_0 = "", + parameter PLL_C_CNT_OUT_EN_1 = "", + parameter PLL_C_CNT_OUT_EN_2 = "", + parameter PLL_C_CNT_OUT_EN_3 = "", + parameter PLL_C_CNT_OUT_EN_4 = "", + parameter PLL_C_CNT_OUT_EN_5 = "", + parameter PLL_C_CNT_OUT_EN_6 = "", + parameter PLL_C_CNT_OUT_EN_7 = "", + parameter PLL_C_CNT_OUT_EN_8 = "", + + parameter PLL_C_CNT_FREQ_MHZ_STR_0 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_1 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_2 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_3 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_4 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_5 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_6 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_7 = "", + parameter PLL_C_CNT_FREQ_MHZ_STR_8 = "", + + // CPA parameters + parameter CPA_FB_MUX_1_SEL = "", + + // Parameters describing HMC configuration + parameter NUM_OF_HMC_PORTS = 1, + parameter HMC_AVL_PROTOCOL_ENUM = "", + parameter HMC_CTRL_DIMM_TYPE = "", + parameter HMC_READY_LATENCY = 0, + + parameter PRI_HMC_CFG_PING_PONG_MODE = "", + parameter PRI_HMC_CFG_CS_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_COL_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter PRI_HMC_CFG_ADDR_ORDER = "", + parameter PRI_HMC_CFG_ARBITER_TYPE = "", + parameter PRI_HMC_CFG_OPEN_PAGE_EN = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_RC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_RC = "", + parameter PRI_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter PRI_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter PRI_HMC_CFG_REORDER_DATA = "", + parameter PRI_HMC_CFG_REORDER_READ = "", + parameter PRI_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter PRI_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] PRI_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] PRI_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] PRI_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] PRI_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] PRI_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] PRI_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter PRI_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] PRI_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] PRI_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] PRI_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] PRI_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter PRI_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter PRI_HMC_CFG_USER_RFSH_EN = "", + parameter PRI_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] PRI_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] PRI_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] PRI_HMC_CFG_TCL = 0, + parameter [ 7: 0] PRI_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] PRI_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] PRI_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] PRI_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] PRI_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] PRI_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] PRI_HMC_CFG_MPR_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] PRI_HMC_CFG_MPS_TO_VALID = 0, + parameter PRI_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] PRI_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] PRI_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] PRI_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] PRI_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] PRI_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] PRI_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter PRI_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] PRI_HMC_CFG_SB_DDR4_MR5 = 0, + parameter PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter PRI_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] PRI_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter PRI_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] PRI_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] PRI_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] PRI_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] PRI_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] PRI_HMC_CFG_ZQCS_TO_VALID = 0, + parameter PRI_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] PRI_HMC_CFG_REFRESH_TYPE = 0, + parameter PRI_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter PRI_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] PRI_HMC_CHIP_ID = 0, + parameter [ 1: 0] PRI_HMC_CID_ADDR_WIDTH = 0, + parameter PRI_HMC_3DS_EN = "", + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] PRI_HMC_3DS_LR_NUM3 = 0, + parameter PRI_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] PRI_HMC_3DS_REF2REF_DLR = 0, + parameter PRI_HMC_3DSREF_ACK_ON_DONE = "", + parameter SEC_HMC_CFG_PING_PONG_MODE = "", + parameter SEC_HMC_CFG_CS_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_COL_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ROW_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH = "", + parameter SEC_HMC_CFG_ADDR_ORDER = "", + parameter SEC_HMC_CFG_ARBITER_TYPE = "", + parameter SEC_HMC_CFG_OPEN_PAGE_EN = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_RC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_RC = "", + parameter SEC_HMC_CFG_CTRL_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC0_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC1_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC2_ENABLE_ECC = "", + parameter SEC_HMC_CFG_DBC3_ENABLE_ECC = "", + parameter SEC_HMC_CFG_REORDER_DATA = "", + parameter SEC_HMC_CFG_REORDER_READ = "", + parameter SEC_HMC_CFG_CTRL_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC0_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC1_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC2_REORDER_RDATA = "", + parameter SEC_HMC_CFG_DBC3_REORDER_RDATA = "", + parameter [ 1: 0] SEC_HMC_CFG_CTRL_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC0_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC1_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC2_SLOT_OFFSET = 0, + parameter [ 1: 0] SEC_HMC_CFG_DBC3_SLOT_OFFSET = 0, + parameter SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN = "", + parameter SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_COL_CMD_SLOT = 0, + parameter [ 3: 0] SEC_HMC_CFG_ROW_CMD_SLOT = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_ROW_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_COL_TO_ROW_OFFSET = 0, + parameter [ 31: 0] SEC_HMC_CFG_SIDEBAND_OFFSET = 0, + parameter [ 15: 0] SEC_HMC_CFG_CS_TO_CHIP_MAPPING = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_ODT_ENABLED = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_READ_ODT_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_ON = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_ODT_PERIOD = 0, + parameter [ 15: 0] SEC_HMC_CFG_WRITE_ODT_CHIP = 0, + parameter SEC_HMC_CFG_CMD_FIFO_RESERVE_EN = "", + parameter [ 6: 0] SEC_HMC_CFG_RB_RESERVED_ENTRY = 0, + parameter [ 6: 0] SEC_HMC_CFG_WB_RESERVED_ENTRY = 0, + parameter [ 7: 0] SEC_HMC_CFG_STARVE_LIMIT = 0, + parameter [ 31: 0] SEC_HMC_CFG_PHY_DELAY_MISMATCH = 0, + parameter SEC_HMC_CFG_DQSTRK_EN = "", + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_DQSTRK_TO_VALID_LAST = 0, + parameter [ 31: 0] SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN = 0, + parameter SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN = "", + parameter [ 15: 0] SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL = 0, + parameter SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD = 0, + parameter SEC_HMC_CFG_USER_RFSH_EN = "", + parameter SEC_HMC_CFG_GEAR_DOWN_EN = "", + parameter [ 31: 0] SEC_HMC_CFG_MEM_AUTO_PD_CYCLES = 0, + parameter [ 5: 0] SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC = 0, + parameter [ 7: 0] SEC_HMC_MEMCLKGATE_SETTING = 0, + parameter [ 6: 0] SEC_HMC_CFG_TCL = 0, + parameter [ 7: 0] SEC_HMC_CFG_16_ACT_TO_ACT = 0, + parameter [ 7: 0] SEC_HMC_CFG_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_AL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_CS_PER_DIMM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_RD_PREAMBLE = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCCD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKESR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCKSRX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TCWL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TDQSCKMAX = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TFAW = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TMOD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TPL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRAS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRCD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TREFI = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRFC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRRD_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TRTP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWR_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_L_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TWTR_S_CRC_DM = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXP = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXPDLL = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TXSR = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQCS = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_TZQOPER = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_CRC = 0, + parameter [ 31: 0] SEC_HMC_MEM_IF_WR_PREAMBLE = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_ACT_TO_RDWR = 0, + parameter [ 12: 0] SEC_HMC_CFG_ARF_PERIOD = 0, + parameter [ 9: 0] SEC_HMC_CFG_ARF_TO_VALID = 0, + parameter [ 7: 0] SEC_HMC_CFG_MMR_CMD_TO_VALID = 0, + parameter [ 4: 0] SEC_HMC_CFG_MPR_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_DQSTRK_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS = 0, + parameter [ 3: 0] SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE = 0, + parameter [ 9: 0] SEC_HMC_CFG_MPS_TO_VALID = 0, + parameter SEC_HMC_CFG_MPS_ZQCAL_DISABLE = "", + parameter [ 3: 0] SEC_HMC_CFG_MRR_TO_VALID = 0, + parameter [ 3: 0] SEC_HMC_CFG_MRS_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_ALL_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_PCH_TO_VALID = 0, + parameter [ 15: 0] SEC_HMC_CFG_PDN_PERIOD = 0, + parameter [ 5: 0] SEC_HMC_CFG_PDN_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_POWER_SAVING_EXIT_CYC = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP = 0, + parameter [ 6: 0] SEC_HMC_CFG_RFSH_WARN_THRESHOLD = 0, + parameter [ 2: 0] SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ0 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ1 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ2 = 0, + parameter [ 15: 0] SEC_HMC_CFG_RLD3_REFRESH_SEQ3 = 0, + parameter SEC_HMC_CFG_SB_CG_DISABLE = "", + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR3 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR4 = 0, + parameter [ 19: 0] SEC_HMC_CFG_SB_DDR4_MR5 = 0, + parameter SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR = "", + parameter SEC_HMC_CFG_SRF_AUTOEXIT_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_VALID = 0, + parameter [ 9: 0] SEC_HMC_CFG_SRF_TO_ZQ_CAL = 0, + parameter SEC_HMC_CFG_SRF_ZQCAL_DISABLE = "", + parameter [ 31: 0] SEC_HMC_TEMP_4_ACT_TO_ACT = 0, + parameter [ 31: 0] SEC_HMC_TEMP_RD_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_BG = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 31: 0] SEC_HMC_TEMP_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_AP_TO_VALID = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_PCH = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_BG = 0, + parameter [ 5: 0] SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP = 0, + parameter [ 8: 0] SEC_HMC_CFG_ZQCL_TO_VALID = 0, + parameter [ 6: 0] SEC_HMC_CFG_ZQCS_TO_VALID = 0, + parameter SEC_HMC_CFG_MAJOR_MODE_EN = "", + parameter [ 1: 0] SEC_HMC_CFG_REFRESH_TYPE = 0, + parameter SEC_HMC_CFG_POST_REFRESH_EN = "", + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT = 0, + parameter [ 4: 0] SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT = 0, + parameter SEC_HMC_CFG_PRE_REFRESH_EN = "", + parameter [ 3: 0] SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT = 0, + parameter [ 8: 0] SEC_HMC_CHIP_ID = 0, + parameter [ 1: 0] SEC_HMC_CID_ADDR_WIDTH = 0, + parameter SEC_HMC_3DS_EN = "", + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM0 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM1 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM2 = 0, + parameter [ 3: 0] SEC_HMC_3DS_LR_NUM3 = 0, + parameter SEC_HMC_3DS_PR_STAG_ENABLE = "", + parameter [ 6: 0] SEC_HMC_3DS_REF2REF_DLR = 0, + parameter SEC_HMC_3DSREF_ACK_ON_DONE = "", + + parameter PREAMBLE_MODE = "", + parameter DBI_WR_ENABLE = "", + parameter DBI_RD_ENABLE = "", + parameter SWAP_DQS_A_B = "", + parameter DQS_PACK_MODE = "", + parameter OCT_SIZE = 1, + parameter DQSA_LGC_MODE = "", + parameter DQSB_LGC_MODE = "", + parameter [6:0] DBC_WB_RESERVED_ENTRY = 4, + parameter DLL_MODE = "", + parameter [10:0] DLL_CODEWORD = 0, + + // Parameters describing logical tile/lane/pin allocation in the RTL + parameter NUM_OF_RTL_TILES = 1, + parameter AC_PIN_MAP_SCHEME = "", + parameter PRI_AC_TILE_INDEX = -1, + parameter PRI_RDATA_TILE_INDEX = -1, + parameter PRI_RDATA_LANE_INDEX = -1, + parameter PRI_WDATA_TILE_INDEX = -1, + parameter PRI_WDATA_LANE_INDEX = -1, + parameter SEC_AC_TILE_INDEX = -1, + parameter SEC_RDATA_TILE_INDEX = -1, + parameter SEC_RDATA_LANE_INDEX = -1, + parameter SEC_WDATA_TILE_INDEX = -1, + parameter SEC_WDATA_LANE_INDEX = -1, + + // Parameters describing UFI configurations in the RTL + parameter AMM_C2P_UFI_MODE = "", + parameter AMM_P2C_UFI_MODE = "", + parameter MMR_C2P_UFI_MODE = "", + parameter MMR_P2C_UFI_MODE = "", + parameter SIDEBAND_C2P_UFI_MODE = "", + parameter SIDEBAND_P2C_UFI_MODE = "", + parameter SEQ_C2P_UFI_MODE = "", + parameter SEQ_P2C_UFI_MODE = "", + parameter ECC_C2P_UFI_MODE = "", + parameter ECC_P2C_UFI_MODE = "", + parameter LANE_C2P_UFI_MODE = "", + parameter LANE_P2C_UFI_MODE = "", + parameter AMM_HIPI_DELAY = 225, + parameter MMR_HIPI_DELAY = 225, + parameter SIDEBAND_HIPI_DELAY = 225, + parameter SEQ_HIPI_DELAY = 225, + parameter ECC_HIPI_DELAY = 225, + parameter LANE_HIPI_DELAY = 225, + parameter ENABLE_RD_TYPE = 0, + + // Definition of port widhts for "clks_sharing_master_out" interface + parameter PORT_CLKS_SHARING_MASTER_OUT_WIDTH = 1, + + // Definition of port widhts for "clks_sharing_slave_in" interface + parameter PORT_CLKS_SHARING_SLAVE_IN_WIDTH = 1, + + // Definition of port widhts for "clks_sharing_slave_out" interface + parameter PORT_CLKS_SHARING_SLAVE_OUT_WIDTH = 1, + + // Definition of port widths for "mem" interface + //AUTOGEN_BEGIN: Definition of memory port widths + parameter PORT_MEM_CK_WIDTH = 1, + parameter PORT_MEM_CK_N_WIDTH = 1, + parameter PORT_MEM_CK_BIDIR_WIDTH = 1, + parameter PORT_MEM_CK_BIDIR_N_WIDTH = 1, + parameter PORT_MEM_DK_WIDTH = 1, + parameter PORT_MEM_DK_N_WIDTH = 1, + parameter PORT_MEM_DKA_WIDTH = 1, + parameter PORT_MEM_DKA_N_WIDTH = 1, + parameter PORT_MEM_DKB_WIDTH = 1, + parameter PORT_MEM_DKB_N_WIDTH = 1, + parameter PORT_MEM_K_WIDTH = 1, + parameter PORT_MEM_K_N_WIDTH = 1, + parameter PORT_MEM_A_WIDTH = 1, + parameter PORT_MEM_BA_WIDTH = 1, + parameter PORT_MEM_BG_WIDTH = 1, + parameter PORT_MEM_C_WIDTH = 1, + parameter PORT_MEM_CKE_WIDTH = 1, + parameter PORT_MEM_CS_N_WIDTH = 1, + parameter PORT_MEM_RM_WIDTH = 1, + parameter PORT_MEM_ODT_WIDTH = 1, + parameter PORT_MEM_GNT_N_WIDTH = 1, + parameter PORT_MEM_REQ_N_WIDTH = 1, + parameter PORT_MEM_ERR_N_WIDTH = 1, + parameter PORT_MEM_RAS_N_WIDTH = 1, + parameter PORT_MEM_CAS_N_WIDTH = 1, + parameter PORT_MEM_WE_N_WIDTH = 1, + parameter PORT_MEM_RESET_N_WIDTH = 1, + parameter PORT_MEM_ACT_N_WIDTH = 1, + parameter PORT_MEM_PAR_WIDTH = 1, + parameter PORT_MEM_CA_WIDTH = 1, + parameter PORT_MEM_REF_N_WIDTH = 1, + parameter PORT_MEM_WPS_N_WIDTH = 1, + parameter PORT_MEM_RPS_N_WIDTH = 1, + parameter PORT_MEM_DOFF_N_WIDTH = 1, + parameter PORT_MEM_LDA_N_WIDTH = 1, + parameter PORT_MEM_LDB_N_WIDTH = 1, + parameter PORT_MEM_RWA_N_WIDTH = 1, + parameter PORT_MEM_RWB_N_WIDTH = 1, + parameter PORT_MEM_LBK0_N_WIDTH = 1, + parameter PORT_MEM_LBK1_N_WIDTH = 1, + parameter PORT_MEM_CFG_N_WIDTH = 1, + parameter PORT_MEM_AP_WIDTH = 1, + parameter PORT_MEM_AINV_WIDTH = 1, + parameter PORT_MEM_DM_WIDTH = 1, + parameter PORT_MEM_BWS_N_WIDTH = 1, + parameter PORT_MEM_D_WIDTH = 1, + parameter PORT_MEM_DQ_WIDTH = 1, + parameter PORT_MEM_DBI_N_WIDTH = 1, + parameter PORT_MEM_DQA_WIDTH = 1, + parameter PORT_MEM_DQB_WIDTH = 1, + parameter PORT_MEM_DINVA_WIDTH = 1, + parameter PORT_MEM_DINVB_WIDTH = 1, + parameter PORT_MEM_Q_WIDTH = 1, + parameter PORT_MEM_DQS_WIDTH = 1, + parameter PORT_MEM_DQS_N_WIDTH = 1, + parameter PORT_MEM_QK_WIDTH = 1, + parameter PORT_MEM_QK_N_WIDTH = 1, + parameter PORT_MEM_QKA_WIDTH = 1, + parameter PORT_MEM_QKA_N_WIDTH = 1, + parameter PORT_MEM_QKB_WIDTH = 1, + parameter PORT_MEM_QKB_N_WIDTH = 1, + parameter PORT_MEM_CQ_WIDTH = 1, + parameter PORT_MEM_CQ_N_WIDTH = 1, + parameter PORT_MEM_ALERT_N_WIDTH = 1, + parameter PORT_MEM_PE_N_WIDTH = 1, + + // Definition of port widths for "afi" interface + //AUTOGEN_BEGIN: Definition of afi port widths + parameter PORT_AFI_RLAT_WIDTH = 1, + parameter PORT_AFI_WLAT_WIDTH = 1, + parameter PORT_AFI_SEQ_BUSY_WIDTH = 1, + parameter PORT_AFI_ADDR_WIDTH = 1, + parameter PORT_AFI_BA_WIDTH = 1, + parameter PORT_AFI_BG_WIDTH = 1, + parameter PORT_AFI_C_WIDTH = 1, + parameter PORT_AFI_CKE_WIDTH = 1, + parameter PORT_AFI_CS_N_WIDTH = 1, + parameter PORT_AFI_RM_WIDTH = 1, + parameter PORT_AFI_ODT_WIDTH = 1, + parameter PORT_AFI_GNT_N_WIDTH = 1, + parameter PORT_AFI_REQ_N_WIDTH = 1, + parameter PORT_AFI_ERR_N_WIDTH = 1, + parameter PORT_AFI_RAS_N_WIDTH = 1, + parameter PORT_AFI_CAS_N_WIDTH = 1, + parameter PORT_AFI_WE_N_WIDTH = 1, + parameter PORT_AFI_RST_N_WIDTH = 1, + parameter PORT_AFI_ACT_N_WIDTH = 1, + parameter PORT_AFI_PAR_WIDTH = 1, + parameter PORT_AFI_CA_WIDTH = 1, + parameter PORT_AFI_REF_N_WIDTH = 1, + parameter PORT_AFI_WPS_N_WIDTH = 1, + parameter PORT_AFI_RPS_N_WIDTH = 1, + parameter PORT_AFI_DOFF_N_WIDTH = 1, + parameter PORT_AFI_LD_N_WIDTH = 1, + parameter PORT_AFI_RW_N_WIDTH = 1, + parameter PORT_AFI_LBK0_N_WIDTH = 1, + parameter PORT_AFI_LBK1_N_WIDTH = 1, + parameter PORT_AFI_CFG_N_WIDTH = 1, + parameter PORT_AFI_AP_WIDTH = 1, + parameter PORT_AFI_AINV_WIDTH = 1, + parameter PORT_AFI_DM_WIDTH = 1, + parameter PORT_AFI_DM_N_WIDTH = 1, + parameter PORT_AFI_BWS_N_WIDTH = 1, + parameter PORT_AFI_RDATA_DBI_N_WIDTH = 1, + parameter PORT_AFI_WDATA_DBI_N_WIDTH = 1, + parameter PORT_AFI_RDATA_DINV_WIDTH = 1, + parameter PORT_AFI_WDATA_DINV_WIDTH = 1, + parameter PORT_AFI_DQS_BURST_WIDTH = 1, + parameter PORT_AFI_WDATA_VALID_WIDTH = 1, + parameter PORT_AFI_WDATA_WIDTH = 1, + parameter PORT_AFI_RDATA_EN_FULL_WIDTH = 1, + parameter PORT_AFI_RDATA_WIDTH = 1, + parameter PORT_AFI_RDATA_VALID_WIDTH = 1, + parameter PORT_AFI_RRANK_WIDTH = 1, + parameter PORT_AFI_WRANK_WIDTH = 1, + parameter PORT_AFI_ALERT_N_WIDTH = 1, + parameter PORT_AFI_PE_N_WIDTH = 1, + + // Definition of port widths for "ctrl_ast_cmd" interface + parameter PORT_CTRL_AST_CMD_DATA_WIDTH = 1, + + // Definition of port widths for "ctrl_ast_wr" interface + parameter PORT_CTRL_AST_WR_DATA_WIDTH = 1, + + // Definition of port widths for "ctrl_ast_rd" interface + parameter PORT_CTRL_AST_RD_DATA_WIDTH = 1, + + // Definition of port widths for "ctrl_amm" interface + parameter PORT_CTRL_AMM_RDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_AMM_WDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_BCOUNT_WIDTH = 1, + parameter PORT_CTRL_AMM_BYTEEN_WIDTH = 1, + + // Definition of port widths for "phylite" interface + parameter PORT_CTRL_STROBE_WIDTH = 1, + parameter PORT_CTRL_STROBE_OE_WIDTH = 1, + parameter PORT_CTRL_DATA_OE_WIDTH = 1, + parameter PORT_CTRL_DATA_OUT_WIDTH = 1, + parameter PORT_CTRL_DATA_IN_WIDTH = 1, + parameter PORT_CTRL_RDATA_VALID_WIDTH = 1, + parameter PORT_CTRL_RDATA_ENABLE_WIDTH = 1, + parameter PORT_CTRL_LOCKED_WIDTH = 1, + + // Definition of port widths for "ctrl_user_refresh" interface + parameter PORT_CTRL_USER_REFRESH_REQ_WIDTH = 1, + parameter PORT_CTRL_USER_REFRESH_BANK_WIDTH = 1, + + // Definition of port widths for "ctrl_self_refresh" interface + parameter PORT_CTRL_SELF_REFRESH_REQ_WIDTH = 1, + + // Definition of port widths for "ctrl_ecc" interface + parameter PORT_CTRL_ECC_WRITE_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_READ_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_CMD_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_WB_POINTER_WIDTH = 1, + parameter PORT_CTRL_ECC_RDATA_ID_WIDTH = 1, + + // Definition of port widths for "ctrl_mmr" interface + parameter PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_RDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_WDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH = 1, + + // Definition of port widths for "hps_emif" interface + parameter PORT_HPS_EMIF_H2E_WIDTH = 1, + parameter PORT_HPS_EMIF_E2H_WIDTH = 1, + parameter PORT_HPS_EMIF_H2E_GP_WIDTH = 2, + parameter PORT_HPS_EMIF_E2H_GP_WIDTH = 1, + + // Definition of port widths for "cal_debug" interface + parameter PORT_CAL_DEBUG_ADDRESS_WIDTH = 1, + parameter PORT_CAL_DEBUG_BYTEEN_WIDTH = 1, + parameter PORT_CAL_DEBUG_RDATA_WIDTH = 1, + parameter PORT_CAL_DEBUG_WDATA_WIDTH = 1, + + // Definition of port widths for "dft_nd" interface + parameter PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH = 1, + parameter PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH = 1, + parameter PORT_DFT_ND_PLL_CNTSEL_WIDTH = 1, + parameter PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH = 1, + parameter PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH = 1, + parameter PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH = 1, + parameter PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH = 1, + + parameter LANES_USAGE_AUTOGEN_WCNT = 0, + parameter LANES_USAGE_3 = 1'b0, + parameter LANES_USAGE_2 = 1'b0, + parameter LANES_USAGE_1 = 1'b0, + parameter LANES_USAGE_0 = 1'b0, + parameter PINS_USAGE_AUTOGEN_WCNT = 0, + parameter PINS_USAGE_12 = 1'b0, + parameter PINS_USAGE_11 = 1'b0, + parameter PINS_USAGE_10 = 1'b0, + parameter PINS_USAGE_9 = 1'b0, + parameter PINS_USAGE_8 = 1'b0, + parameter PINS_USAGE_7 = 1'b0, + parameter PINS_USAGE_6 = 1'b0, + parameter PINS_USAGE_5 = 1'b0, + parameter PINS_USAGE_4 = 1'b0, + parameter PINS_USAGE_3 = 1'b0, + parameter PINS_USAGE_2 = 1'b0, + parameter PINS_USAGE_1 = 1'b0, + parameter PINS_USAGE_0 = 1'b0, + parameter PINS_RATE_AUTOGEN_WCNT = 0, + parameter PINS_RATE_12 = 1'b0, + parameter PINS_RATE_11 = 1'b0, + parameter PINS_RATE_10 = 1'b0, + parameter PINS_RATE_9 = 1'b0, + parameter PINS_RATE_8 = 1'b0, + parameter PINS_RATE_7 = 1'b0, + parameter PINS_RATE_6 = 1'b0, + parameter PINS_RATE_5 = 1'b0, + parameter PINS_RATE_4 = 1'b0, + parameter PINS_RATE_3 = 1'b0, + parameter PINS_RATE_2 = 1'b0, + parameter PINS_RATE_1 = 1'b0, + parameter PINS_RATE_0 = 1'b0, + parameter LANE_PIN_USAGE_AUTOGEN_WCNT = 0, + parameter LANE_PIN_USAGE_0 = 0, + parameter LANE_PIN_USAGE_1 = 0, + parameter LANE_PIN_USAGE_2 = 0, + parameter LANE_PIN_USAGE_3 = 0, + parameter LANE_PIN_USAGE_4 = 0, + parameter LANE_PIN_USAGE_5 = 0, + parameter LANE_PIN_USAGE_6 = 0, + parameter LANE_PIN_USAGE_7 = 0, + parameter LANE_PIN_USAGE_8 = 0, + parameter LANE_PIN_USAGE_9 = 0, + parameter LANE_PIN_USAGE_10 = 0, + parameter LANE_PIN_USAGE_11 = 0, + parameter LANE_PIN_USAGE_12 = 0, + parameter LANE_PIN_USAGE_13 = 0, + parameter LANE_PIN_USAGE_14 = 0, + parameter LANE_PIN_USAGE_15 = 0, + parameter LANE_PIN_USAGE_16 = 0, + parameter LANE_PIN_USAGE_17 = 0, + parameter LANE_PIN_USAGE_18 = 0, + parameter LANE_PIN_USAGE_19 = 0, + parameter LANE_PIN_USAGE_20 = 0, + parameter LANE_PIN_USAGE_21 = 0, + parameter LANE_PIN_USAGE_22 = 0, + parameter LANE_PIN_USAGE_23 = 0, + parameter LANE_PIN_USAGE_24 = 0, + parameter LANE_PIN_USAGE_25 = 0, + parameter LANE_PIN_USAGE_26 = 0, + parameter LANE_PIN_USAGE_27 = 0, + parameter LANE_PIN_USAGE_28 = 0, + parameter LANE_PIN_USAGE_29 = 0, + parameter LANE_PIN_USAGE_30 = 0, + parameter LANE_PIN_USAGE_31 = 0, + parameter LANE_PIN_USAGE_32 = 0, + parameter LANE_PIN_USAGE_33 = 0, + parameter LANE_PIN_USAGE_34 = 0, + parameter LANE_PIN_USAGE_35 = 0, + parameter LANE_PIN_USAGE_36 = 0, + parameter LANE_PIN_USAGE_37 = 0, + parameter LANE_PIN_USAGE_38 = 0, + parameter LANE_PIN_USAGE_39 = 0, + parameter LANE_PIN_USAGE_40 = 0, + parameter LANE_PIN_USAGE_41 = 0, + parameter LANE_PIN_USAGE_42 = 0, + parameter LANE_PIN_USAGE_43 = 0, + parameter LANE_PIN_USAGE_44 = 0, + parameter LANE_PIN_USAGE_45 = 0, + parameter LANE_PIN_USAGE_46 = 0, + parameter LANE_PIN_USAGE_47 = 0, + parameter LANE_PIN_USAGE_48 = 0, + parameter LANE_PIN_USAGE_49 = 0, + parameter LANE_PIN_USAGE_50 = 0, + parameter LANE_PIN_USAGE_51 = 0, + parameter DB_PINS_PROC_MODE_AUTOGEN_WCNT = 0, + parameter DB_PINS_PROC_MODE_63 = 1'b0, + parameter DB_PINS_PROC_MODE_62 = 1'b0, + parameter DB_PINS_PROC_MODE_61 = 1'b0, + parameter DB_PINS_PROC_MODE_60 = 1'b0, + parameter DB_PINS_PROC_MODE_59 = 1'b0, + parameter DB_PINS_PROC_MODE_58 = 1'b0, + parameter DB_PINS_PROC_MODE_57 = 1'b0, + parameter DB_PINS_PROC_MODE_56 = 1'b0, + parameter DB_PINS_PROC_MODE_55 = 1'b0, + parameter DB_PINS_PROC_MODE_54 = 1'b0, + parameter DB_PINS_PROC_MODE_53 = 1'b0, + parameter DB_PINS_PROC_MODE_52 = 1'b0, + parameter DB_PINS_PROC_MODE_51 = 1'b0, + parameter DB_PINS_PROC_MODE_50 = 1'b0, + parameter DB_PINS_PROC_MODE_49 = 1'b0, + parameter DB_PINS_PROC_MODE_48 = 1'b0, + parameter DB_PINS_PROC_MODE_47 = 1'b0, + parameter DB_PINS_PROC_MODE_46 = 1'b0, + parameter DB_PINS_PROC_MODE_45 = 1'b0, + parameter DB_PINS_PROC_MODE_44 = 1'b0, + parameter DB_PINS_PROC_MODE_43 = 1'b0, + parameter DB_PINS_PROC_MODE_42 = 1'b0, + parameter DB_PINS_PROC_MODE_41 = 1'b0, + parameter DB_PINS_PROC_MODE_40 = 1'b0, + parameter DB_PINS_PROC_MODE_39 = 1'b0, + parameter DB_PINS_PROC_MODE_38 = 1'b0, + parameter DB_PINS_PROC_MODE_37 = 1'b0, + parameter DB_PINS_PROC_MODE_36 = 1'b0, + parameter DB_PINS_PROC_MODE_35 = 1'b0, + parameter DB_PINS_PROC_MODE_34 = 1'b0, + parameter DB_PINS_PROC_MODE_33 = 1'b0, + parameter DB_PINS_PROC_MODE_32 = 1'b0, + parameter DB_PINS_PROC_MODE_31 = 1'b0, + parameter DB_PINS_PROC_MODE_30 = 1'b0, + parameter DB_PINS_PROC_MODE_29 = 1'b0, + parameter DB_PINS_PROC_MODE_28 = 1'b0, + parameter DB_PINS_PROC_MODE_27 = 1'b0, + parameter DB_PINS_PROC_MODE_26 = 1'b0, + parameter DB_PINS_PROC_MODE_25 = 1'b0, + parameter DB_PINS_PROC_MODE_24 = 1'b0, + parameter DB_PINS_PROC_MODE_23 = 1'b0, + parameter DB_PINS_PROC_MODE_22 = 1'b0, + parameter DB_PINS_PROC_MODE_21 = 1'b0, + parameter DB_PINS_PROC_MODE_20 = 1'b0, + parameter DB_PINS_PROC_MODE_19 = 1'b0, + parameter DB_PINS_PROC_MODE_18 = 1'b0, + parameter DB_PINS_PROC_MODE_17 = 1'b0, + parameter DB_PINS_PROC_MODE_16 = 1'b0, + parameter DB_PINS_PROC_MODE_15 = 1'b0, + parameter DB_PINS_PROC_MODE_14 = 1'b0, + parameter DB_PINS_PROC_MODE_13 = 1'b0, + parameter DB_PINS_PROC_MODE_12 = 1'b0, + parameter DB_PINS_PROC_MODE_11 = 1'b0, + parameter DB_PINS_PROC_MODE_10 = 1'b0, + parameter DB_PINS_PROC_MODE_9 = 1'b0, + parameter DB_PINS_PROC_MODE_8 = 1'b0, + parameter DB_PINS_PROC_MODE_7 = 1'b0, + parameter DB_PINS_PROC_MODE_6 = 1'b0, + parameter DB_PINS_PROC_MODE_5 = 1'b0, + parameter DB_PINS_PROC_MODE_4 = 1'b0, + parameter DB_PINS_PROC_MODE_3 = 1'b0, + parameter DB_PINS_PROC_MODE_2 = 1'b0, + parameter DB_PINS_PROC_MODE_1 = 1'b0, + parameter DB_PINS_PROC_MODE_0 = 1'b0, + parameter PINS_DATA_IN_MODE_AUTOGEN_WCNT = 0, + parameter PINS_DATA_IN_MODE_38 = 1'b0, + parameter PINS_DATA_IN_MODE_37 = 1'b0, + parameter PINS_DATA_IN_MODE_36 = 1'b0, + parameter PINS_DATA_IN_MODE_35 = 1'b0, + parameter PINS_DATA_IN_MODE_34 = 1'b0, + parameter PINS_DATA_IN_MODE_33 = 1'b0, + parameter PINS_DATA_IN_MODE_32 = 1'b0, + parameter PINS_DATA_IN_MODE_31 = 1'b0, + parameter PINS_DATA_IN_MODE_30 = 1'b0, + parameter PINS_DATA_IN_MODE_29 = 1'b0, + parameter PINS_DATA_IN_MODE_28 = 1'b0, + parameter PINS_DATA_IN_MODE_27 = 1'b0, + parameter PINS_DATA_IN_MODE_26 = 1'b0, + parameter PINS_DATA_IN_MODE_25 = 1'b0, + parameter PINS_DATA_IN_MODE_24 = 1'b0, + parameter PINS_DATA_IN_MODE_23 = 1'b0, + parameter PINS_DATA_IN_MODE_22 = 1'b0, + parameter PINS_DATA_IN_MODE_21 = 1'b0, + parameter PINS_DATA_IN_MODE_20 = 1'b0, + parameter PINS_DATA_IN_MODE_19 = 1'b0, + parameter PINS_DATA_IN_MODE_18 = 1'b0, + parameter PINS_DATA_IN_MODE_17 = 1'b0, + parameter PINS_DATA_IN_MODE_16 = 1'b0, + parameter PINS_DATA_IN_MODE_15 = 1'b0, + parameter PINS_DATA_IN_MODE_14 = 1'b0, + parameter PINS_DATA_IN_MODE_13 = 1'b0, + parameter PINS_DATA_IN_MODE_12 = 1'b0, + parameter PINS_DATA_IN_MODE_11 = 1'b0, + parameter PINS_DATA_IN_MODE_10 = 1'b0, + parameter PINS_DATA_IN_MODE_9 = 1'b0, + parameter PINS_DATA_IN_MODE_8 = 1'b0, + parameter PINS_DATA_IN_MODE_7 = 1'b0, + parameter PINS_DATA_IN_MODE_6 = 1'b0, + parameter PINS_DATA_IN_MODE_5 = 1'b0, + parameter PINS_DATA_IN_MODE_4 = 1'b0, + parameter PINS_DATA_IN_MODE_3 = 1'b0, + parameter PINS_DATA_IN_MODE_2 = 1'b0, + parameter PINS_DATA_IN_MODE_1 = 1'b0, + parameter PINS_DATA_IN_MODE_0 = 1'b0, + parameter PINS_C2L_DRIVEN_AUTOGEN_WCNT = 0, + parameter PINS_C2L_DRIVEN_12 = 1'b0, + parameter PINS_C2L_DRIVEN_11 = 1'b0, + parameter PINS_C2L_DRIVEN_10 = 1'b0, + parameter PINS_C2L_DRIVEN_9 = 1'b0, + parameter PINS_C2L_DRIVEN_8 = 1'b0, + parameter PINS_C2L_DRIVEN_7 = 1'b0, + parameter PINS_C2L_DRIVEN_6 = 1'b0, + parameter PINS_C2L_DRIVEN_5 = 1'b0, + parameter PINS_C2L_DRIVEN_4 = 1'b0, + parameter PINS_C2L_DRIVEN_3 = 1'b0, + parameter PINS_C2L_DRIVEN_2 = 1'b0, + parameter PINS_C2L_DRIVEN_1 = 1'b0, + parameter PINS_C2L_DRIVEN_0 = 1'b0, + parameter PINS_OCT_MODE_AUTOGEN_WCNT = 0, + parameter PINS_OCT_MODE_12 = 1'b0, + parameter PINS_OCT_MODE_11 = 1'b0, + parameter PINS_OCT_MODE_10 = 1'b0, + parameter PINS_OCT_MODE_9 = 1'b0, + parameter PINS_OCT_MODE_8 = 1'b0, + parameter PINS_OCT_MODE_7 = 1'b0, + parameter PINS_OCT_MODE_6 = 1'b0, + parameter PINS_OCT_MODE_5 = 1'b0, + parameter PINS_OCT_MODE_4 = 1'b0, + parameter PINS_OCT_MODE_3 = 1'b0, + parameter PINS_OCT_MODE_2 = 1'b0, + parameter PINS_OCT_MODE_1 = 1'b0, + parameter PINS_OCT_MODE_0 = 1'b0, + parameter PINS_DCC_SPLIT_AUTOGEN_WCNT = 0, + parameter PINS_DCC_SPLIT_12 = 1'b0, + parameter PINS_DCC_SPLIT_11 = 1'b0, + parameter PINS_DCC_SPLIT_10 = 1'b0, + parameter PINS_DCC_SPLIT_9 = 1'b0, + parameter PINS_DCC_SPLIT_8 = 1'b0, + parameter PINS_DCC_SPLIT_7 = 1'b0, + parameter PINS_DCC_SPLIT_6 = 1'b0, + parameter PINS_DCC_SPLIT_5 = 1'b0, + parameter PINS_DCC_SPLIT_4 = 1'b0, + parameter PINS_DCC_SPLIT_3 = 1'b0, + parameter PINS_DCC_SPLIT_2 = 1'b0, + parameter PINS_DCC_SPLIT_1 = 1'b0, + parameter PINS_DCC_SPLIT_0 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT = 0, + parameter UNUSED_MEM_PINS_PINLOC_128 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_127 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_126 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_125 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_124 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_123 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_122 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_121 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_120 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_119 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_118 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_117 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_116 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_115 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_114 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_113 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_112 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_111 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_110 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_109 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_108 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_107 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_106 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_105 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_104 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_103 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_102 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_101 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_100 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_99 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_98 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_97 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_96 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_95 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_94 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_93 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_92 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_91 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_90 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_89 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_88 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_87 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_86 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_85 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_84 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_83 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_82 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_81 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_80 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_79 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_78 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_77 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_76 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_75 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_74 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_73 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_72 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_71 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_70 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_69 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_68 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_67 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_66 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_65 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_64 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_63 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_62 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_61 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_60 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_59 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_58 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_57 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_56 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_55 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_54 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_53 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_52 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_51 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_50 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_49 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_48 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_47 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_46 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_45 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_44 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_43 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_42 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_41 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_40 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_39 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_38 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_37 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_36 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_35 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_34 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_33 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_32 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_31 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_30 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_29 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_28 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_27 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_26 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_25 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_24 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_23 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_22 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_21 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_20 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_19 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_18 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_17 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_16 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_15 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_14 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_13 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_12 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_11 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_10 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_9 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_8 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_7 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_6 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_5 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_4 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_3 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_2 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_1 = 1'b0, + parameter UNUSED_MEM_PINS_PINLOC_0 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT = 0, + parameter UNUSED_DQS_BUSES_LANELOC_10 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_9 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_8 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_7 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_6 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_5 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_4 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_3 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_2 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_1 = 1'b0, + parameter UNUSED_DQS_BUSES_LANELOC_0 = 1'b0, + parameter DBC_EXTRA_PIPE_STAGE_EN = "", + parameter DBC_PIPE_LATS_AUTOGEN_WCNT = 0, + parameter DBC_PIPE_LATS_4 = 1'b0, + parameter DBC_PIPE_LATS_3 = 1'b0, + parameter DBC_PIPE_LATS_2 = 1'b0, + parameter DBC_PIPE_LATS_1 = 1'b0, + parameter DBC_PIPE_LATS_0 = 1'b0, + parameter DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT = 0, + parameter DB_PTR_PIPELINE_DEPTHS_4 = 1'b0, + parameter DB_PTR_PIPELINE_DEPTHS_3 = 1'b0, + parameter DB_PTR_PIPELINE_DEPTHS_2 = 1'b0, + parameter DB_PTR_PIPELINE_DEPTHS_1 = 1'b0, + parameter DB_PTR_PIPELINE_DEPTHS_0 = 1'b0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT= 0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_4 = 1'b0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_3 = 1'b0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_2 = 1'b0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_1 = 1'b0, + parameter DB_SEQ_RD_EN_FULL_PIPELINES_0 = 1'b0, + parameter CENTER_TIDS_AUTOGEN_WCNT = 0, + parameter CENTER_TIDS_2 = 1'b0, + parameter CENTER_TIDS_1 = 1'b0, + parameter CENTER_TIDS_0 = 1'b0, + parameter HMC_TIDS_AUTOGEN_WCNT = 0, + parameter HMC_TIDS_2 = 1'b0, + parameter HMC_TIDS_1 = 1'b0, + parameter HMC_TIDS_0 = 1'b0, + parameter LANE_TIDS_AUTOGEN_WCNT = 0, + parameter LANE_TIDS_9 = 1'b0, + parameter LANE_TIDS_8 = 1'b0, + parameter LANE_TIDS_7 = 1'b0, + parameter LANE_TIDS_6 = 1'b0, + parameter LANE_TIDS_5 = 1'b0, + parameter LANE_TIDS_4 = 1'b0, + parameter LANE_TIDS_3 = 1'b0, + parameter LANE_TIDS_2 = 1'b0, + parameter LANE_TIDS_1 = 1'b0, + parameter LANE_TIDS_0 = 1'b0, + parameter PORT_MEM_CK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_PINLOC_5 = 1'b0, + parameter PORT_MEM_CK_PINLOC_4 = 1'b0, + parameter PORT_MEM_CK_PINLOC_3 = 1'b0, + parameter PORT_MEM_CK_PINLOC_2 = 1'b0, + parameter PORT_MEM_CK_PINLOC_1 = 1'b0, + parameter PORT_MEM_CK_PINLOC_0 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_CK_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_BIDIR_PINLOC_5 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_4 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_3 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_2 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_1 = 1'b0, + parameter PORT_MEM_CK_BIDIR_PINLOC_0 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_CK_BIDIR_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_DK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DK_PINLOC_5 = 1'b0, + parameter PORT_MEM_DK_PINLOC_4 = 1'b0, + parameter PORT_MEM_DK_PINLOC_3 = 1'b0, + parameter PORT_MEM_DK_PINLOC_2 = 1'b0, + parameter PORT_MEM_DK_PINLOC_1 = 1'b0, + parameter PORT_MEM_DK_PINLOC_0 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DK_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_DK_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKA_PINLOC_5 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_4 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_3 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_2 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_1 = 1'b0, + parameter PORT_MEM_DKA_PINLOC_0 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKA_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_DKA_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKB_PINLOC_5 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_4 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_3 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_2 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_1 = 1'b0, + parameter PORT_MEM_DKB_PINLOC_0 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DKB_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_DKB_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_K_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_K_PINLOC_5 = 1'b0, + parameter PORT_MEM_K_PINLOC_4 = 1'b0, + parameter PORT_MEM_K_PINLOC_3 = 1'b0, + parameter PORT_MEM_K_PINLOC_2 = 1'b0, + parameter PORT_MEM_K_PINLOC_1 = 1'b0, + parameter PORT_MEM_K_PINLOC_0 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_K_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_K_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_A_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_A_PINLOC_16 = 1'b0, + parameter PORT_MEM_A_PINLOC_15 = 1'b0, + parameter PORT_MEM_A_PINLOC_14 = 1'b0, + parameter PORT_MEM_A_PINLOC_13 = 1'b0, + parameter PORT_MEM_A_PINLOC_12 = 1'b0, + parameter PORT_MEM_A_PINLOC_11 = 1'b0, + parameter PORT_MEM_A_PINLOC_10 = 1'b0, + parameter PORT_MEM_A_PINLOC_9 = 1'b0, + parameter PORT_MEM_A_PINLOC_8 = 1'b0, + parameter PORT_MEM_A_PINLOC_7 = 1'b0, + parameter PORT_MEM_A_PINLOC_6 = 1'b0, + parameter PORT_MEM_A_PINLOC_5 = 1'b0, + parameter PORT_MEM_A_PINLOC_4 = 1'b0, + parameter PORT_MEM_A_PINLOC_3 = 1'b0, + parameter PORT_MEM_A_PINLOC_2 = 1'b0, + parameter PORT_MEM_A_PINLOC_1 = 1'b0, + parameter PORT_MEM_A_PINLOC_0 = 1'b0, + parameter PORT_MEM_BA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BA_PINLOC_5 = 1'b0, + parameter PORT_MEM_BA_PINLOC_4 = 1'b0, + parameter PORT_MEM_BA_PINLOC_3 = 1'b0, + parameter PORT_MEM_BA_PINLOC_2 = 1'b0, + parameter PORT_MEM_BA_PINLOC_1 = 1'b0, + parameter PORT_MEM_BA_PINLOC_0 = 1'b0, + parameter PORT_MEM_BG_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BG_PINLOC_5 = 1'b0, + parameter PORT_MEM_BG_PINLOC_4 = 1'b0, + parameter PORT_MEM_BG_PINLOC_3 = 1'b0, + parameter PORT_MEM_BG_PINLOC_2 = 1'b0, + parameter PORT_MEM_BG_PINLOC_1 = 1'b0, + parameter PORT_MEM_BG_PINLOC_0 = 1'b0, + parameter PORT_MEM_C_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_C_PINLOC_5 = 1'b0, + parameter PORT_MEM_C_PINLOC_4 = 1'b0, + parameter PORT_MEM_C_PINLOC_3 = 1'b0, + parameter PORT_MEM_C_PINLOC_2 = 1'b0, + parameter PORT_MEM_C_PINLOC_1 = 1'b0, + parameter PORT_MEM_C_PINLOC_0 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CKE_PINLOC_5 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_4 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_3 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_2 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_1 = 1'b0, + parameter PORT_MEM_CKE_PINLOC_0 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CS_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_CS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RM_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RM_PINLOC_5 = 1'b0, + parameter PORT_MEM_RM_PINLOC_4 = 1'b0, + parameter PORT_MEM_RM_PINLOC_3 = 1'b0, + parameter PORT_MEM_RM_PINLOC_2 = 1'b0, + parameter PORT_MEM_RM_PINLOC_1 = 1'b0, + parameter PORT_MEM_RM_PINLOC_0 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ODT_PINLOC_5 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_4 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_3 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_2 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_1 = 1'b0, + parameter PORT_MEM_ODT_PINLOC_0 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_GNT_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_GNT_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_REQ_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_REQ_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ERR_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_ERR_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RAS_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_RAS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CAS_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_CAS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_WE_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_WE_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RESET_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_RESET_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ACT_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_ACT_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_PAR_PINLOC_1 = 1'b0, + parameter PORT_MEM_PAR_PINLOC_0 = 1'b0, + parameter PORT_MEM_CA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CA_PINLOC_16 = 1'b0, + parameter PORT_MEM_CA_PINLOC_15 = 1'b0, + parameter PORT_MEM_CA_PINLOC_14 = 1'b0, + parameter PORT_MEM_CA_PINLOC_13 = 1'b0, + parameter PORT_MEM_CA_PINLOC_12 = 1'b0, + parameter PORT_MEM_CA_PINLOC_11 = 1'b0, + parameter PORT_MEM_CA_PINLOC_10 = 1'b0, + parameter PORT_MEM_CA_PINLOC_9 = 1'b0, + parameter PORT_MEM_CA_PINLOC_8 = 1'b0, + parameter PORT_MEM_CA_PINLOC_7 = 1'b0, + parameter PORT_MEM_CA_PINLOC_6 = 1'b0, + parameter PORT_MEM_CA_PINLOC_5 = 1'b0, + parameter PORT_MEM_CA_PINLOC_4 = 1'b0, + parameter PORT_MEM_CA_PINLOC_3 = 1'b0, + parameter PORT_MEM_CA_PINLOC_2 = 1'b0, + parameter PORT_MEM_CA_PINLOC_1 = 1'b0, + parameter PORT_MEM_CA_PINLOC_0 = 1'b0, + parameter PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_REF_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_WPS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RPS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DOFF_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LDA_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LDB_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RWA_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_RWB_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LBK0_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_LBK1_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CFG_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_AP_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_AP_PINLOC_0 = 1'b0, + parameter PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_AINV_PINLOC_0 = 1'b0, + parameter PORT_MEM_DM_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DM_PINLOC_12 = 1'b0, + parameter PORT_MEM_DM_PINLOC_11 = 1'b0, + parameter PORT_MEM_DM_PINLOC_10 = 1'b0, + parameter PORT_MEM_DM_PINLOC_9 = 1'b0, + parameter PORT_MEM_DM_PINLOC_8 = 1'b0, + parameter PORT_MEM_DM_PINLOC_7 = 1'b0, + parameter PORT_MEM_DM_PINLOC_6 = 1'b0, + parameter PORT_MEM_DM_PINLOC_5 = 1'b0, + parameter PORT_MEM_DM_PINLOC_4 = 1'b0, + parameter PORT_MEM_DM_PINLOC_3 = 1'b0, + parameter PORT_MEM_DM_PINLOC_2 = 1'b0, + parameter PORT_MEM_DM_PINLOC_1 = 1'b0, + parameter PORT_MEM_DM_PINLOC_0 = 1'b0, + parameter PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_BWS_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_BWS_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_BWS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_D_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_D_PINLOC_48 = 1'b0, + parameter PORT_MEM_D_PINLOC_47 = 1'b0, + parameter PORT_MEM_D_PINLOC_46 = 1'b0, + parameter PORT_MEM_D_PINLOC_45 = 1'b0, + parameter PORT_MEM_D_PINLOC_44 = 1'b0, + parameter PORT_MEM_D_PINLOC_43 = 1'b0, + parameter PORT_MEM_D_PINLOC_42 = 1'b0, + parameter PORT_MEM_D_PINLOC_41 = 1'b0, + parameter PORT_MEM_D_PINLOC_40 = 1'b0, + parameter PORT_MEM_D_PINLOC_39 = 1'b0, + parameter PORT_MEM_D_PINLOC_38 = 1'b0, + parameter PORT_MEM_D_PINLOC_37 = 1'b0, + parameter PORT_MEM_D_PINLOC_36 = 1'b0, + parameter PORT_MEM_D_PINLOC_35 = 1'b0, + parameter PORT_MEM_D_PINLOC_34 = 1'b0, + parameter PORT_MEM_D_PINLOC_33 = 1'b0, + parameter PORT_MEM_D_PINLOC_32 = 1'b0, + parameter PORT_MEM_D_PINLOC_31 = 1'b0, + parameter PORT_MEM_D_PINLOC_30 = 1'b0, + parameter PORT_MEM_D_PINLOC_29 = 1'b0, + parameter PORT_MEM_D_PINLOC_28 = 1'b0, + parameter PORT_MEM_D_PINLOC_27 = 1'b0, + parameter PORT_MEM_D_PINLOC_26 = 1'b0, + parameter PORT_MEM_D_PINLOC_25 = 1'b0, + parameter PORT_MEM_D_PINLOC_24 = 1'b0, + parameter PORT_MEM_D_PINLOC_23 = 1'b0, + parameter PORT_MEM_D_PINLOC_22 = 1'b0, + parameter PORT_MEM_D_PINLOC_21 = 1'b0, + parameter PORT_MEM_D_PINLOC_20 = 1'b0, + parameter PORT_MEM_D_PINLOC_19 = 1'b0, + parameter PORT_MEM_D_PINLOC_18 = 1'b0, + parameter PORT_MEM_D_PINLOC_17 = 1'b0, + parameter PORT_MEM_D_PINLOC_16 = 1'b0, + parameter PORT_MEM_D_PINLOC_15 = 1'b0, + parameter PORT_MEM_D_PINLOC_14 = 1'b0, + parameter PORT_MEM_D_PINLOC_13 = 1'b0, + parameter PORT_MEM_D_PINLOC_12 = 1'b0, + parameter PORT_MEM_D_PINLOC_11 = 1'b0, + parameter PORT_MEM_D_PINLOC_10 = 1'b0, + parameter PORT_MEM_D_PINLOC_9 = 1'b0, + parameter PORT_MEM_D_PINLOC_8 = 1'b0, + parameter PORT_MEM_D_PINLOC_7 = 1'b0, + parameter PORT_MEM_D_PINLOC_6 = 1'b0, + parameter PORT_MEM_D_PINLOC_5 = 1'b0, + parameter PORT_MEM_D_PINLOC_4 = 1'b0, + parameter PORT_MEM_D_PINLOC_3 = 1'b0, + parameter PORT_MEM_D_PINLOC_2 = 1'b0, + parameter PORT_MEM_D_PINLOC_1 = 1'b0, + parameter PORT_MEM_D_PINLOC_0 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQ_PINLOC_48 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_47 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_46 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_45 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_44 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_43 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_42 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_41 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_40 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_39 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_38 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_37 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_36 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_35 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_34 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_33 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_32 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_31 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_30 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_29 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_28 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_27 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_26 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_25 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_24 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_23 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_22 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_21 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_20 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_19 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_18 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_17 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_16 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_15 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_14 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_13 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_12 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_11 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_10 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_9 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_8 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_7 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_6 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_5 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_4 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_3 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_2 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_1 = 1'b0, + parameter PORT_MEM_DQ_PINLOC_0 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DBI_N_PINLOC_6 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_DBI_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQA_PINLOC_48 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_47 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_46 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_45 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_44 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_43 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_42 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_41 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_40 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_39 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_38 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_37 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_36 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_35 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_34 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_33 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_32 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_31 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_30 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_29 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_28 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_27 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_26 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_25 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_24 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_23 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_22 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_21 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_20 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_19 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_18 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_17 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_16 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_15 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_14 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_13 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_12 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_11 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_10 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_9 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_8 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_7 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_6 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_5 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_4 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_3 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_2 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_1 = 1'b0, + parameter PORT_MEM_DQA_PINLOC_0 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQB_PINLOC_48 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_47 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_46 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_45 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_44 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_43 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_42 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_41 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_40 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_39 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_38 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_37 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_36 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_35 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_34 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_33 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_32 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_31 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_30 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_29 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_28 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_27 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_26 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_25 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_24 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_23 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_22 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_21 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_20 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_19 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_18 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_17 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_16 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_15 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_14 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_13 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_12 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_11 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_10 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_9 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_8 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_7 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_6 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_5 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_4 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_3 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_2 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_1 = 1'b0, + parameter PORT_MEM_DQB_PINLOC_0 = 1'b0, + parameter PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DINVA_PINLOC_2 = 1'b0, + parameter PORT_MEM_DINVA_PINLOC_1 = 1'b0, + parameter PORT_MEM_DINVA_PINLOC_0 = 1'b0, + parameter PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DINVB_PINLOC_2 = 1'b0, + parameter PORT_MEM_DINVB_PINLOC_1 = 1'b0, + parameter PORT_MEM_DINVB_PINLOC_0 = 1'b0, + parameter PORT_MEM_Q_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_Q_PINLOC_48 = 1'b0, + parameter PORT_MEM_Q_PINLOC_47 = 1'b0, + parameter PORT_MEM_Q_PINLOC_46 = 1'b0, + parameter PORT_MEM_Q_PINLOC_45 = 1'b0, + parameter PORT_MEM_Q_PINLOC_44 = 1'b0, + parameter PORT_MEM_Q_PINLOC_43 = 1'b0, + parameter PORT_MEM_Q_PINLOC_42 = 1'b0, + parameter PORT_MEM_Q_PINLOC_41 = 1'b0, + parameter PORT_MEM_Q_PINLOC_40 = 1'b0, + parameter PORT_MEM_Q_PINLOC_39 = 1'b0, + parameter PORT_MEM_Q_PINLOC_38 = 1'b0, + parameter PORT_MEM_Q_PINLOC_37 = 1'b0, + parameter PORT_MEM_Q_PINLOC_36 = 1'b0, + parameter PORT_MEM_Q_PINLOC_35 = 1'b0, + parameter PORT_MEM_Q_PINLOC_34 = 1'b0, + parameter PORT_MEM_Q_PINLOC_33 = 1'b0, + parameter PORT_MEM_Q_PINLOC_32 = 1'b0, + parameter PORT_MEM_Q_PINLOC_31 = 1'b0, + parameter PORT_MEM_Q_PINLOC_30 = 1'b0, + parameter PORT_MEM_Q_PINLOC_29 = 1'b0, + parameter PORT_MEM_Q_PINLOC_28 = 1'b0, + parameter PORT_MEM_Q_PINLOC_27 = 1'b0, + parameter PORT_MEM_Q_PINLOC_26 = 1'b0, + parameter PORT_MEM_Q_PINLOC_25 = 1'b0, + parameter PORT_MEM_Q_PINLOC_24 = 1'b0, + parameter PORT_MEM_Q_PINLOC_23 = 1'b0, + parameter PORT_MEM_Q_PINLOC_22 = 1'b0, + parameter PORT_MEM_Q_PINLOC_21 = 1'b0, + parameter PORT_MEM_Q_PINLOC_20 = 1'b0, + parameter PORT_MEM_Q_PINLOC_19 = 1'b0, + parameter PORT_MEM_Q_PINLOC_18 = 1'b0, + parameter PORT_MEM_Q_PINLOC_17 = 1'b0, + parameter PORT_MEM_Q_PINLOC_16 = 1'b0, + parameter PORT_MEM_Q_PINLOC_15 = 1'b0, + parameter PORT_MEM_Q_PINLOC_14 = 1'b0, + parameter PORT_MEM_Q_PINLOC_13 = 1'b0, + parameter PORT_MEM_Q_PINLOC_12 = 1'b0, + parameter PORT_MEM_Q_PINLOC_11 = 1'b0, + parameter PORT_MEM_Q_PINLOC_10 = 1'b0, + parameter PORT_MEM_Q_PINLOC_9 = 1'b0, + parameter PORT_MEM_Q_PINLOC_8 = 1'b0, + parameter PORT_MEM_Q_PINLOC_7 = 1'b0, + parameter PORT_MEM_Q_PINLOC_6 = 1'b0, + parameter PORT_MEM_Q_PINLOC_5 = 1'b0, + parameter PORT_MEM_Q_PINLOC_4 = 1'b0, + parameter PORT_MEM_Q_PINLOC_3 = 1'b0, + parameter PORT_MEM_Q_PINLOC_2 = 1'b0, + parameter PORT_MEM_Q_PINLOC_1 = 1'b0, + parameter PORT_MEM_Q_PINLOC_0 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQS_PINLOC_12 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_11 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_10 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_9 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_8 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_7 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_6 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_5 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_4 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_3 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_2 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_1 = 1'b0, + parameter PORT_MEM_DQS_PINLOC_0 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_DQS_N_PINLOC_12 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_11 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_10 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_9 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_8 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_7 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_6 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_DQS_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_QK_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QK_PINLOC_5 = 1'b0, + parameter PORT_MEM_QK_PINLOC_4 = 1'b0, + parameter PORT_MEM_QK_PINLOC_3 = 1'b0, + parameter PORT_MEM_QK_PINLOC_2 = 1'b0, + parameter PORT_MEM_QK_PINLOC_1 = 1'b0, + parameter PORT_MEM_QK_PINLOC_0 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QK_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_QK_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKA_PINLOC_5 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_4 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_3 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_2 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_1 = 1'b0, + parameter PORT_MEM_QKA_PINLOC_0 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKA_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_QKA_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKB_PINLOC_5 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_4 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_3 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_2 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_1 = 1'b0, + parameter PORT_MEM_QKB_PINLOC_0 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_QKB_N_PINLOC_5 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_4 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_3 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_2 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_QKB_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CQ_PINLOC_1 = 1'b0, + parameter PORT_MEM_CQ_PINLOC_0 = 1'b0, + parameter PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_CQ_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_CQ_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_ALERT_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_ALERT_N_PINLOC_0 = 1'b0, + parameter PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT = 0, + parameter PORT_MEM_PE_N_PINLOC_1 = 1'b0, + parameter PORT_MEM_PE_N_PINLOC_0 = 1'b0 +) ( + // Reset request and acknowledgement + input logic local_reset_req, + output logic local_reset_done, + + // PLL signals + input logic pll_ref_clk, + output logic pll_ref_clk_out, + output logic pll_locked, + output logic pll_extra_clk_0, + output logic pll_extra_clk_1, + output logic pll_extra_clk_2, + output logic pll_extra_clk_3, + + // OCT signals + input logic oct_rzqin, + + // Status signals + output logic local_cal_success, + output logic local_cal_fail, + output logic ac_parity_err, + + // User reset signal going to core (for PHY + hard controller interfaces) + output logic emif_usr_reset_n, + output logic emif_usr_reset_n_sec, + + // User clock going to core (for PHY + hard controller interfaces) + output logic emif_usr_clk, + output logic emif_usr_clk_sec, + + // A clock that runs at half the frequency of emif_usr_clk going to core + output logic emif_usr_half_clk, + output logic emif_usr_half_clk_sec, + + // AFI reset going to core + output logic afi_reset_n, + + // AFI clock going to core + output logic afi_clk, + + // A clock that runs at half the frequency of afi_clk going to core + output logic afi_half_clk, + + // Signals required to share core clocking resources between across + // compatible interfaces. An interface can be configured as a "master" + // which exports the core clocks, or a "slave" which imports the + // core clocks from a master interface. + input logic [PORT_CLKS_SHARING_SLAVE_IN_WIDTH-1:0] clks_sharing_slave_in, + output logic [PORT_CLKS_SHARING_SLAVE_OUT_WIDTH-1:0] clks_sharing_slave_out, + output logic [PORT_CLKS_SHARING_MASTER_OUT_WIDTH-1:0] clks_sharing_master_out, + + // Ports for "mem" interface + //AUTOGEN_BEGIN: Definition of memory ports + output logic [PORT_MEM_CK_WIDTH-1:0] mem_ck, + output logic [PORT_MEM_CK_N_WIDTH-1:0] mem_ck_n, + inout tri [PORT_MEM_CK_BIDIR_WIDTH-1:0] mem_ck_bidir, + inout tri [PORT_MEM_CK_BIDIR_N_WIDTH-1:0] mem_ck_bidir_n, + output logic [PORT_MEM_DK_WIDTH-1:0] mem_dk, + output logic [PORT_MEM_DK_N_WIDTH-1:0] mem_dk_n, + output logic [PORT_MEM_DKA_WIDTH-1:0] mem_dka, + output logic [PORT_MEM_DKA_N_WIDTH-1:0] mem_dka_n, + output logic [PORT_MEM_DKB_WIDTH-1:0] mem_dkb, + output logic [PORT_MEM_DKB_N_WIDTH-1:0] mem_dkb_n, + output logic [PORT_MEM_K_WIDTH-1:0] mem_k, + output logic [PORT_MEM_K_N_WIDTH-1:0] mem_k_n, + output logic [PORT_MEM_A_WIDTH-1:0] mem_a, + output logic [PORT_MEM_BA_WIDTH-1:0] mem_ba, + output logic [PORT_MEM_BG_WIDTH-1:0] mem_bg, + output logic [PORT_MEM_C_WIDTH-1:0] mem_c, + output logic [PORT_MEM_CKE_WIDTH-1:0] mem_cke, + output logic [PORT_MEM_CS_N_WIDTH-1:0] mem_cs_n, + output logic [PORT_MEM_RM_WIDTH-1:0] mem_rm, + output logic [PORT_MEM_ODT_WIDTH-1:0] mem_odt, + output logic [PORT_MEM_GNT_N_WIDTH-1:0] mem_gnt_n, + input logic [PORT_MEM_REQ_N_WIDTH-1:0] mem_req_n, + input logic [PORT_MEM_ERR_N_WIDTH-1:0] mem_err_n, + output logic [PORT_MEM_RAS_N_WIDTH-1:0] mem_ras_n, + output logic [PORT_MEM_CAS_N_WIDTH-1:0] mem_cas_n, + output logic [PORT_MEM_WE_N_WIDTH-1:0] mem_we_n, + output logic [PORT_MEM_RESET_N_WIDTH-1:0] mem_reset_n, + output logic [PORT_MEM_ACT_N_WIDTH-1:0] mem_act_n, + output logic [PORT_MEM_PAR_WIDTH-1:0] mem_par, + output logic [PORT_MEM_CA_WIDTH-1:0] mem_ca, + output logic [PORT_MEM_REF_N_WIDTH-1:0] mem_ref_n, + output logic [PORT_MEM_WPS_N_WIDTH-1:0] mem_wps_n, + output logic [PORT_MEM_RPS_N_WIDTH-1:0] mem_rps_n, + output logic [PORT_MEM_DOFF_N_WIDTH-1:0] mem_doff_n, + output logic [PORT_MEM_LDA_N_WIDTH-1:0] mem_lda_n, + output logic [PORT_MEM_LDB_N_WIDTH-1:0] mem_ldb_n, + output logic [PORT_MEM_RWA_N_WIDTH-1:0] mem_rwa_n, + output logic [PORT_MEM_RWB_N_WIDTH-1:0] mem_rwb_n, + output logic [PORT_MEM_LBK0_N_WIDTH-1:0] mem_lbk0_n, + output logic [PORT_MEM_LBK1_N_WIDTH-1:0] mem_lbk1_n, + output logic [PORT_MEM_CFG_N_WIDTH-1:0] mem_cfg_n, + output logic [PORT_MEM_AP_WIDTH-1:0] mem_ap, + output logic [PORT_MEM_AINV_WIDTH-1:0] mem_ainv, + output logic [PORT_MEM_DM_WIDTH-1:0] mem_dm, + output logic [PORT_MEM_BWS_N_WIDTH-1:0] mem_bws_n, + output logic [PORT_MEM_D_WIDTH-1:0] mem_d, + inout tri [PORT_MEM_DQ_WIDTH-1:0] mem_dq, + inout tri [PORT_MEM_DBI_N_WIDTH-1:0] mem_dbi_n, + inout tri [PORT_MEM_DQA_WIDTH-1:0] mem_dqa, + inout tri [PORT_MEM_DQB_WIDTH-1:0] mem_dqb, + inout tri [PORT_MEM_DINVA_WIDTH-1:0] mem_dinva, + inout tri [PORT_MEM_DINVB_WIDTH-1:0] mem_dinvb, + input logic [PORT_MEM_Q_WIDTH-1:0] mem_q, + inout tri [PORT_MEM_DQS_WIDTH-1:0] mem_dqs, + inout tri [PORT_MEM_DQS_N_WIDTH-1:0] mem_dqs_n, + input logic [PORT_MEM_QK_WIDTH-1:0] mem_qk, + input logic [PORT_MEM_QK_N_WIDTH-1:0] mem_qk_n, + input logic [PORT_MEM_QKA_WIDTH-1:0] mem_qka, + input logic [PORT_MEM_QKA_N_WIDTH-1:0] mem_qka_n, + input logic [PORT_MEM_QKB_WIDTH-1:0] mem_qkb, + input logic [PORT_MEM_QKB_N_WIDTH-1:0] mem_qkb_n, + input logic [PORT_MEM_CQ_WIDTH-1:0] mem_cq, + input logic [PORT_MEM_CQ_N_WIDTH-1:0] mem_cq_n, + input logic [PORT_MEM_ALERT_N_WIDTH-1:0] mem_alert_n, + input logic [PORT_MEM_PE_N_WIDTH-1:0] mem_pe_n, + + // Ports for "afi" interface + //AUTOGEN_BEGIN: Definition of afi ports + output logic afi_cal_success, + output logic afi_cal_fail, + input logic afi_cal_req, + output logic [PORT_AFI_RLAT_WIDTH-1:0] afi_rlat, + output logic [PORT_AFI_WLAT_WIDTH-1:0] afi_wlat, + output logic [PORT_AFI_SEQ_BUSY_WIDTH-1:0] afi_seq_busy, + input logic afi_ctl_refresh_done, + input logic afi_ctl_long_idle, + input logic afi_mps_req, + output logic afi_mps_ack, + input logic [PORT_AFI_ADDR_WIDTH-1:0] afi_addr, + input logic [PORT_AFI_BA_WIDTH-1:0] afi_ba, + input logic [PORT_AFI_BG_WIDTH-1:0] afi_bg, + input logic [PORT_AFI_C_WIDTH-1:0] afi_c, + input logic [PORT_AFI_CKE_WIDTH-1:0] afi_cke, + input logic [PORT_AFI_CS_N_WIDTH-1:0] afi_cs_n, + input logic [PORT_AFI_RM_WIDTH-1:0] afi_rm, + input logic [PORT_AFI_ODT_WIDTH-1:0] afi_odt, + input logic [PORT_AFI_GNT_N_WIDTH-1:0] afi_gnt_n, + output logic [PORT_AFI_REQ_N_WIDTH-1:0] afi_req_n, + output logic [PORT_AFI_ERR_N_WIDTH-1:0] afi_err_n, + input logic [PORT_AFI_RAS_N_WIDTH-1:0] afi_ras_n, + input logic [PORT_AFI_CAS_N_WIDTH-1:0] afi_cas_n, + input logic [PORT_AFI_WE_N_WIDTH-1:0] afi_we_n, + input logic [PORT_AFI_RST_N_WIDTH-1:0] afi_rst_n, + input logic [PORT_AFI_ACT_N_WIDTH-1:0] afi_act_n, + input logic [PORT_AFI_PAR_WIDTH-1:0] afi_par, + input logic [PORT_AFI_CA_WIDTH-1:0] afi_ca, + input logic [PORT_AFI_REF_N_WIDTH-1:0] afi_ref_n, + input logic [PORT_AFI_WPS_N_WIDTH-1:0] afi_wps_n, + input logic [PORT_AFI_RPS_N_WIDTH-1:0] afi_rps_n, + input logic [PORT_AFI_DOFF_N_WIDTH-1:0] afi_doff_n, + input logic [PORT_AFI_LD_N_WIDTH-1:0] afi_ld_n, + input logic [PORT_AFI_RW_N_WIDTH-1:0] afi_rw_n, + input logic [PORT_AFI_LBK0_N_WIDTH-1:0] afi_lbk0_n, + input logic [PORT_AFI_LBK1_N_WIDTH-1:0] afi_lbk1_n, + input logic [PORT_AFI_CFG_N_WIDTH-1:0] afi_cfg_n, + input logic [PORT_AFI_AP_WIDTH-1:0] afi_ap, + input logic [PORT_AFI_AINV_WIDTH-1:0] afi_ainv, + input logic [PORT_AFI_DM_WIDTH-1:0] afi_dm, + input logic [PORT_AFI_DM_N_WIDTH-1:0] afi_dm_n, + input logic [PORT_AFI_BWS_N_WIDTH-1:0] afi_bws_n, + output logic [PORT_AFI_RDATA_DBI_N_WIDTH-1:0] afi_rdata_dbi_n, + input logic [PORT_AFI_WDATA_DBI_N_WIDTH-1:0] afi_wdata_dbi_n, + output logic [PORT_AFI_RDATA_DINV_WIDTH-1:0] afi_rdata_dinv, + input logic [PORT_AFI_WDATA_DINV_WIDTH-1:0] afi_wdata_dinv, + input logic [PORT_AFI_DQS_BURST_WIDTH-1:0] afi_dqs_burst, + input logic [PORT_AFI_WDATA_VALID_WIDTH-1:0] afi_wdata_valid, + input logic [PORT_AFI_WDATA_WIDTH-1:0] afi_wdata, + input logic [PORT_AFI_RDATA_EN_FULL_WIDTH-1:0] afi_rdata_en_full, + output logic [PORT_AFI_RDATA_WIDTH-1:0] afi_rdata, + output logic [PORT_AFI_RDATA_VALID_WIDTH-1:0] afi_rdata_valid, + input logic [PORT_AFI_RRANK_WIDTH-1:0] afi_rrank, + input logic [PORT_AFI_WRANK_WIDTH-1:0] afi_wrank, + output logic [PORT_AFI_ALERT_N_WIDTH-1:0] afi_alert_n, + output logic [PORT_AFI_PE_N_WIDTH-1:0] afi_pe_n, + + // Ports for "ctrl_ast_cmd" interfaces + output logic ast_cmd_ready_0, + input logic ast_cmd_valid_0, + input logic [PORT_CTRL_AST_CMD_DATA_WIDTH-1:0] ast_cmd_data_0, + + output logic ast_cmd_ready_1, + input logic ast_cmd_valid_1, + input logic [PORT_CTRL_AST_CMD_DATA_WIDTH-1:0] ast_cmd_data_1, + + // Ports for "ctrl_ast_wr" interfaces + output logic ast_wr_ready_0, + input logic ast_wr_valid_0, + input logic [PORT_CTRL_AST_WR_DATA_WIDTH-1:0] ast_wr_data_0, + + output logic ast_wr_ready_1, + input logic ast_wr_valid_1, + input logic [PORT_CTRL_AST_WR_DATA_WIDTH-1:0] ast_wr_data_1, + + // Ports for "ctrl_ast_rd" interfaces + input logic ast_rd_ready_0, + output logic ast_rd_valid_0, + output logic [PORT_CTRL_AST_RD_DATA_WIDTH-1:0] ast_rd_data_0, + + input logic ast_rd_ready_1, + output logic ast_rd_valid_1, + output logic [PORT_CTRL_AST_RD_DATA_WIDTH-1:0] ast_rd_data_1, + + // Ports for "ctrl_amm" interfaces + input logic amm_write_0, + input logic amm_read_0, + output logic amm_ready_0, + output logic amm_early_ready_0, + output logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_0, + input logic [PORT_CTRL_AMM_ADDRESS_WIDTH-1:0] amm_address_0, + input logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_0, + input logic [PORT_CTRL_AMM_BCOUNT_WIDTH-1:0] amm_burstcount_0, + input logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_0, + input logic amm_beginbursttransfer_0, + output logic amm_readdatavalid_0, + output logic amm_rd_type_0, + + input logic amm_write_1, + input logic amm_read_1, + output logic amm_ready_1, + output logic amm_early_ready_1, + output logic [PORT_CTRL_AMM_RDATA_WIDTH-1:0] amm_readdata_1, + input logic [PORT_CTRL_AMM_ADDRESS_WIDTH-1:0] amm_address_1, + input logic [PORT_CTRL_AMM_WDATA_WIDTH-1:0] amm_writedata_1, + input logic [PORT_CTRL_AMM_BCOUNT_WIDTH-1:0] amm_burstcount_1, + input logic [PORT_CTRL_AMM_BYTEEN_WIDTH-1:0] amm_byteenable_1, + input logic amm_beginbursttransfer_1, + output logic amm_readdatavalid_1, + output logic amm_rd_type_1, + + // Ports for "ctrl_user_priority" interface + input logic ctrl_user_priority_hi_0, + input logic ctrl_user_priority_hi_1, + + // Ports for "ctrl_auto_precharge" interface + input logic ctrl_auto_precharge_req_0, + input logic ctrl_auto_precharge_req_1, + + // Ports for "ctrl_user_refresh" interface + input logic [PORT_CTRL_USER_REFRESH_REQ_WIDTH-1:0] ctrl_user_refresh_req, + input logic [PORT_CTRL_USER_REFRESH_BANK_WIDTH-1:0] ctrl_user_refresh_bank, + output logic ctrl_user_refresh_ack, + + // Ports for "ctrl_self_refresh" interface + input logic [PORT_CTRL_SELF_REFRESH_REQ_WIDTH-1:0] ctrl_self_refresh_req, + output logic ctrl_self_refresh_ack, + + // Ports for "ctrl_will_refresh" interface + output logic ctrl_will_refresh, + + // Ports for "ctrl_deep_power_down" interface + input logic ctrl_deep_power_down_req, + output logic ctrl_deep_power_down_ack, + + // Ports for "ctrl_power_down" interface + output logic ctrl_power_down_ack, + + // Ports for "ctrl_zq_cal" interface + input logic ctrl_zq_cal_long_req, + input logic ctrl_zq_cal_short_req, + output logic ctrl_zq_cal_ack, + + // Ports for "ctrl_ecc" interface + input logic [PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:0] ctrl_ecc_write_info_0, + output logic [PORT_CTRL_ECC_RDATA_ID_WIDTH-1:0] ctrl_ecc_rdata_id_0, + output logic [PORT_CTRL_ECC_WB_POINTER_WIDTH-1:0] ctrl_ecc_wr_pointer_info_0, + output logic [PORT_CTRL_ECC_READ_INFO_WIDTH-1:0] ctrl_ecc_read_info_0, + output logic [PORT_CTRL_ECC_CMD_INFO_WIDTH-1:0] ctrl_ecc_cmd_info_0, + output logic ctrl_ecc_idle_0, + + // Ports for "ctrl_ecc" interface + input logic [PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:0] ctrl_ecc_write_info_1, + output logic [PORT_CTRL_ECC_RDATA_ID_WIDTH-1:0] ctrl_ecc_rdata_id_1, + output logic [PORT_CTRL_ECC_WB_POINTER_WIDTH-1:0] ctrl_ecc_wr_pointer_info_1, + output logic [PORT_CTRL_ECC_READ_INFO_WIDTH-1:0] ctrl_ecc_read_info_1, + output logic [PORT_CTRL_ECC_CMD_INFO_WIDTH-1:0] ctrl_ecc_cmd_info_1, + output logic ctrl_ecc_idle_1, + + // Ports for "ctrl_mmr" interface + output logic mmr_slave_waitrequest_0, + input logic mmr_slave_read_0, + input logic mmr_slave_write_0, + input logic [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH-1:0] mmr_slave_address_0, + output logic [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH-1:0] mmr_slave_readdata_0, + input logic [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH-1:0] mmr_slave_writedata_0, + input logic [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH-1:0] mmr_slave_burstcount_0, + input logic mmr_slave_beginbursttransfer_0, + output logic mmr_slave_readdatavalid_0, + + // Ports for "ctrl_mmr" interface + output logic mmr_slave_waitrequest_1, + input logic mmr_slave_read_1, + input logic mmr_slave_write_1, + input logic [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH-1:0] mmr_slave_address_1, + output logic [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH-1:0] mmr_slave_readdata_1, + input logic [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH-1:0] mmr_slave_writedata_1, + input logic [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH-1:0] mmr_slave_burstcount_1, + input logic mmr_slave_beginbursttransfer_1, + output logic mmr_slave_readdatavalid_1, + + // Ports for the HPS<->EMIF conduit + input logic [PORT_HPS_EMIF_H2E_WIDTH-1:0] hps_to_emif, + output logic [PORT_HPS_EMIF_E2H_WIDTH-1:0] emif_to_hps, + input logic [PORT_HPS_EMIF_H2E_GP_WIDTH-1:0] hps_to_emif_gp, + output logic [PORT_HPS_EMIF_E2H_GP_WIDTH-1:0] emif_to_hps_gp, + + // EMIF Calibration Bus I/F + input logic calbus_clk, + input logic calbus_read, + input logic calbus_write, + input logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address, + input logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata, + output logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata, + output logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl, + + + // Ports for internal test and debug + input logic pa_dprio_clk, + input logic pa_dprio_read, + input logic [PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH-1:0] pa_dprio_reg_addr, + input logic pa_dprio_rst_n, + input logic pa_dprio_write, + input logic [PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH-1:0] pa_dprio_writedata, + output logic pa_dprio_block_select, + output logic [PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH-1:0] pa_dprio_readdata, + input logic pll_phase_en, + input logic pll_up_dn, + input logic [PORT_DFT_ND_PLL_CNTSEL_WIDTH-1:0] pll_cnt_sel, + input logic [PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH-1:0] pll_num_phase_shifts, + output logic pll_phase_done, + input logic [PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH-1:0] pll_core_refclk, + output logic [PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH-1:0] dft_core_clk_buf_out, + output logic [PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH-1:0] dft_core_clk_locked, + + // phylite interface + input logic [PORT_CTRL_STROBE_WIDTH-1:0] phylite_strobe, + input logic [PORT_CTRL_DATA_OE_WIDTH-1:0] phylite_data_oe, + input logic [PORT_CTRL_DATA_OUT_WIDTH-1: 0] phylite_data_from_core, + input logic [PORT_CTRL_STROBE_OE_WIDTH-1:0] phylite_strobe_oe, + output logic [PORT_CTRL_RDATA_VALID_WIDTH-1:0] phylite_rdata_valid, + input logic [PORT_CTRL_RDATA_ENABLE_WIDTH-1:0] phylite_rdata_en, + output logic [PORT_CTRL_DATA_IN_WIDTH-1 :0] phylite_data_to_core, + output logic phylite_interface_locked +); + timeunit 1ns; + timeprecision 1ps; + + // Below is used to override the user selection for ABSTRACT PHY for synthesis + // synthesis translate_off + `define ENABLE_SIM_PARAMS_FOR_SIM TRUE + // synthesis translate_on + `ifdef ENABLE_SIM_PARAMS_FOR_SIM + localparam DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD = DIAG_USE_ABSTRACT_PHY; + `else + localparam DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD = 0; + `endif + + localparam SEQ_PT_CONTENT = (SEQ_USE_SIM_PARAMS == "on") ? SEQ_PT_SIM_CONTENT : ((DIAG_SYNTH_FOR_SIM) ? SEQ_PT_SIM_CONTENT : SEQ_PT_SYN_CONTENT); + + // Assertions + // synthesis translate_off + initial begin + assert(LANES_USAGE_AUTOGEN_WCNT == 4) else $fatal(1, "LANES_USAGE_AUTOGEN_WCNT != 4 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_USAGE_AUTOGEN_WCNT == 13) else $fatal(1, "PINS_USAGE_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(LANE_PIN_USAGE_AUTOGEN_WCNT == 52) else $fatal(1, "LANE_PIN_USAGE_AUTOGEN_WCNT != 52 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_RATE_AUTOGEN_WCNT == 13) else $fatal(1, "PINS_RATE_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(DB_PINS_PROC_MODE_AUTOGEN_WCNT == 64) else $fatal(1, "DB_PINS_PROC_MODE_AUTOGEN_WCNT != 64 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_DATA_IN_MODE_AUTOGEN_WCNT == 39) else $fatal(1, "PINS_DATA_IN_MODE_AUTOGEN_WCNT != 39 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_C2L_DRIVEN_AUTOGEN_WCNT == 13) else $fatal(1, "PINS_C2L_DRIVEN_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_OCT_MODE_AUTOGEN_WCNT == 13) else $fatal(1, "PINS_OCT_MODE_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PINS_DCC_SPLIT_AUTOGEN_WCNT == 13) else $fatal(1, "PINS_DCC_SPLIT_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT == 129) else $fatal(1, "UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT != 129 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT == 11) else $fatal(1, "UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT != 11 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(DBC_PIPE_LATS_AUTOGEN_WCNT == 5) else $fatal(1, "DBC_PIPE_LATS_AUTOGEN_WCNT != 5 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT == 5) else $fatal(1, "DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT != 5 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT == 5) else $fatal(1, "DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT != 5 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(CENTER_TIDS_AUTOGEN_WCNT == 3) else $fatal(1, "CENTER_TIDS_AUTOGEN_WCNT != 3 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(HMC_TIDS_AUTOGEN_WCNT == 3) else $fatal(1, "HMC_TIDS_AUTOGEN_WCNT != 3 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(LANE_TIDS_AUTOGEN_WCNT == 10) else $fatal(1, "LANE_TIDS_AUTOGEN_WCNT != 10 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CK_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_CK_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DK_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DK_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_K_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_K_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_A_PINLOC_AUTOGEN_WCNT == 17) else $fatal(1, "PORT_MEM_A_PINLOC_AUTOGEN_WCNT != 17 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_BA_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_BA_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_BG_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_BG_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_C_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_C_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RM_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_RM_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CA_PINLOC_AUTOGEN_WCNT == 17) else $fatal(1, "PORT_MEM_CA_PINLOC_AUTOGEN_WCNT != 17 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_AP_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_AP_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT == 1) else $fatal(1, "PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT != 1 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DM_PINLOC_AUTOGEN_WCNT == 13) else $fatal(1, "PORT_MEM_DM_PINLOC_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT == 3) else $fatal(1, "PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT != 3 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_D_PINLOC_AUTOGEN_WCNT == 49) else $fatal(1, "PORT_MEM_D_PINLOC_AUTOGEN_WCNT != 49 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT == 49) else $fatal(1, "PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT != 49 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT == 7) else $fatal(1, "PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT != 7 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT == 49) else $fatal(1, "PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT != 49 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT == 49) else $fatal(1, "PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT != 49 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT == 3) else $fatal(1, "PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT != 3 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT == 3) else $fatal(1, "PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT != 3 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_Q_PINLOC_AUTOGEN_WCNT == 49) else $fatal(1, "PORT_MEM_Q_PINLOC_AUTOGEN_WCNT != 49 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT == 13) else $fatal(1, "PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT == 13) else $fatal(1, "PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT != 13 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QK_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QK_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT == 6) else $fatal(1, "PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT != 6 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + assert(PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT == 2) else $fatal(1, "PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT != 2 - Parameter definitions in RTL and Tcl generation code are out of sync!"); + end + // synthesis translate_on + + // Derive localparam values + //AUTOGEN_BEGIN: Derive bit-vector parameters + localparam LANES_USAGE = {LANES_USAGE_3[29:0],LANES_USAGE_2[29:0],LANES_USAGE_1[29:0],LANES_USAGE_0[29:0]}; + localparam PINS_USAGE = {PINS_USAGE_12[29:0],PINS_USAGE_11[29:0],PINS_USAGE_10[29:0],PINS_USAGE_9[29:0],PINS_USAGE_8[29:0],PINS_USAGE_7[29:0],PINS_USAGE_6[29:0],PINS_USAGE_5[29:0],PINS_USAGE_4[29:0],PINS_USAGE_3[29:0],PINS_USAGE_2[29:0],PINS_USAGE_1[29:0],PINS_USAGE_0[29:0]}; + localparam LANE_PIN_USAGE = {LANE_PIN_USAGE_51[29:0],LANE_PIN_USAGE_50[29:0],LANE_PIN_USAGE_49[29:0],LANE_PIN_USAGE_48[29:0],LANE_PIN_USAGE_47[29:0],LANE_PIN_USAGE_46[29:0],LANE_PIN_USAGE_45[29:0],LANE_PIN_USAGE_44[29:0],LANE_PIN_USAGE_43[29:0],LANE_PIN_USAGE_42[29:0],LANE_PIN_USAGE_41[29:0],LANE_PIN_USAGE_40[29:0],LANE_PIN_USAGE_39[29:0],LANE_PIN_USAGE_38[29:0],LANE_PIN_USAGE_37[29:0],LANE_PIN_USAGE_36[29:0],LANE_PIN_USAGE_35[29:0],LANE_PIN_USAGE_34[29:0],LANE_PIN_USAGE_33[29:0],LANE_PIN_USAGE_32[29:0],LANE_PIN_USAGE_31[29:0],LANE_PIN_USAGE_30[29:0],LANE_PIN_USAGE_29[29:0],LANE_PIN_USAGE_28[29:0],LANE_PIN_USAGE_27[29:0],LANE_PIN_USAGE_26[29:0],LANE_PIN_USAGE_25[29:0],LANE_PIN_USAGE_24[29:0],LANE_PIN_USAGE_23[29:0],LANE_PIN_USAGE_22[29:0],LANE_PIN_USAGE_21[29:0],LANE_PIN_USAGE_20[29:0],LANE_PIN_USAGE_19[29:0],LANE_PIN_USAGE_18[29:0],LANE_PIN_USAGE_17[29:0],LANE_PIN_USAGE_16[29:0],LANE_PIN_USAGE_15[29:0],LANE_PIN_USAGE_14[29:0],LANE_PIN_USAGE_13[29:0],LANE_PIN_USAGE_12[29:0],LANE_PIN_USAGE_11[29:0],LANE_PIN_USAGE_10[29:0],LANE_PIN_USAGE_9[29:0],LANE_PIN_USAGE_8[29:0],LANE_PIN_USAGE_7[29:0],LANE_PIN_USAGE_6[29:0],LANE_PIN_USAGE_5[29:0],LANE_PIN_USAGE_4[29:0],LANE_PIN_USAGE_3[29:0],LANE_PIN_USAGE_2[29:0],LANE_PIN_USAGE_1[29:0],LANE_PIN_USAGE_0[29:0]}; + localparam PINS_RATE = {PINS_RATE_12[29:0],PINS_RATE_11[29:0],PINS_RATE_10[29:0],PINS_RATE_9[29:0],PINS_RATE_8[29:0],PINS_RATE_7[29:0],PINS_RATE_6[29:0],PINS_RATE_5[29:0],PINS_RATE_4[29:0],PINS_RATE_3[29:0],PINS_RATE_2[29:0],PINS_RATE_1[29:0],PINS_RATE_0[29:0]}; + localparam DB_PINS_PROC_MODE = {DB_PINS_PROC_MODE_63[29:0],DB_PINS_PROC_MODE_62[29:0],DB_PINS_PROC_MODE_61[29:0],DB_PINS_PROC_MODE_60[29:0],DB_PINS_PROC_MODE_59[29:0],DB_PINS_PROC_MODE_58[29:0],DB_PINS_PROC_MODE_57[29:0],DB_PINS_PROC_MODE_56[29:0],DB_PINS_PROC_MODE_55[29:0],DB_PINS_PROC_MODE_54[29:0],DB_PINS_PROC_MODE_53[29:0],DB_PINS_PROC_MODE_52[29:0],DB_PINS_PROC_MODE_51[29:0],DB_PINS_PROC_MODE_50[29:0],DB_PINS_PROC_MODE_49[29:0],DB_PINS_PROC_MODE_48[29:0],DB_PINS_PROC_MODE_47[29:0],DB_PINS_PROC_MODE_46[29:0],DB_PINS_PROC_MODE_45[29:0],DB_PINS_PROC_MODE_44[29:0],DB_PINS_PROC_MODE_43[29:0],DB_PINS_PROC_MODE_42[29:0],DB_PINS_PROC_MODE_41[29:0],DB_PINS_PROC_MODE_40[29:0],DB_PINS_PROC_MODE_39[29:0],DB_PINS_PROC_MODE_38[29:0],DB_PINS_PROC_MODE_37[29:0],DB_PINS_PROC_MODE_36[29:0],DB_PINS_PROC_MODE_35[29:0],DB_PINS_PROC_MODE_34[29:0],DB_PINS_PROC_MODE_33[29:0],DB_PINS_PROC_MODE_32[29:0],DB_PINS_PROC_MODE_31[29:0],DB_PINS_PROC_MODE_30[29:0],DB_PINS_PROC_MODE_29[29:0],DB_PINS_PROC_MODE_28[29:0],DB_PINS_PROC_MODE_27[29:0],DB_PINS_PROC_MODE_26[29:0],DB_PINS_PROC_MODE_25[29:0],DB_PINS_PROC_MODE_24[29:0],DB_PINS_PROC_MODE_23[29:0],DB_PINS_PROC_MODE_22[29:0],DB_PINS_PROC_MODE_21[29:0],DB_PINS_PROC_MODE_20[29:0],DB_PINS_PROC_MODE_19[29:0],DB_PINS_PROC_MODE_18[29:0],DB_PINS_PROC_MODE_17[29:0],DB_PINS_PROC_MODE_16[29:0],DB_PINS_PROC_MODE_15[29:0],DB_PINS_PROC_MODE_14[29:0],DB_PINS_PROC_MODE_13[29:0],DB_PINS_PROC_MODE_12[29:0],DB_PINS_PROC_MODE_11[29:0],DB_PINS_PROC_MODE_10[29:0],DB_PINS_PROC_MODE_9[29:0],DB_PINS_PROC_MODE_8[29:0],DB_PINS_PROC_MODE_7[29:0],DB_PINS_PROC_MODE_6[29:0],DB_PINS_PROC_MODE_5[29:0],DB_PINS_PROC_MODE_4[29:0],DB_PINS_PROC_MODE_3[29:0],DB_PINS_PROC_MODE_2[29:0],DB_PINS_PROC_MODE_1[29:0],DB_PINS_PROC_MODE_0[29:0]}; + localparam PINS_DATA_IN_MODE = {PINS_DATA_IN_MODE_38[29:0],PINS_DATA_IN_MODE_37[29:0],PINS_DATA_IN_MODE_36[29:0],PINS_DATA_IN_MODE_35[29:0],PINS_DATA_IN_MODE_34[29:0],PINS_DATA_IN_MODE_33[29:0],PINS_DATA_IN_MODE_32[29:0],PINS_DATA_IN_MODE_31[29:0],PINS_DATA_IN_MODE_30[29:0],PINS_DATA_IN_MODE_29[29:0],PINS_DATA_IN_MODE_28[29:0],PINS_DATA_IN_MODE_27[29:0],PINS_DATA_IN_MODE_26[29:0],PINS_DATA_IN_MODE_25[29:0],PINS_DATA_IN_MODE_24[29:0],PINS_DATA_IN_MODE_23[29:0],PINS_DATA_IN_MODE_22[29:0],PINS_DATA_IN_MODE_21[29:0],PINS_DATA_IN_MODE_20[29:0],PINS_DATA_IN_MODE_19[29:0],PINS_DATA_IN_MODE_18[29:0],PINS_DATA_IN_MODE_17[29:0],PINS_DATA_IN_MODE_16[29:0],PINS_DATA_IN_MODE_15[29:0],PINS_DATA_IN_MODE_14[29:0],PINS_DATA_IN_MODE_13[29:0],PINS_DATA_IN_MODE_12[29:0],PINS_DATA_IN_MODE_11[29:0],PINS_DATA_IN_MODE_10[29:0],PINS_DATA_IN_MODE_9[29:0],PINS_DATA_IN_MODE_8[29:0],PINS_DATA_IN_MODE_7[29:0],PINS_DATA_IN_MODE_6[29:0],PINS_DATA_IN_MODE_5[29:0],PINS_DATA_IN_MODE_4[29:0],PINS_DATA_IN_MODE_3[29:0],PINS_DATA_IN_MODE_2[29:0],PINS_DATA_IN_MODE_1[29:0],PINS_DATA_IN_MODE_0[29:0]}; + localparam PINS_C2L_DRIVEN = {PINS_C2L_DRIVEN_12[29:0],PINS_C2L_DRIVEN_11[29:0],PINS_C2L_DRIVEN_10[29:0],PINS_C2L_DRIVEN_9[29:0],PINS_C2L_DRIVEN_8[29:0],PINS_C2L_DRIVEN_7[29:0],PINS_C2L_DRIVEN_6[29:0],PINS_C2L_DRIVEN_5[29:0],PINS_C2L_DRIVEN_4[29:0],PINS_C2L_DRIVEN_3[29:0],PINS_C2L_DRIVEN_2[29:0],PINS_C2L_DRIVEN_1[29:0],PINS_C2L_DRIVEN_0[29:0]}; + localparam PINS_OCT_MODE = {PINS_OCT_MODE_12[29:0],PINS_OCT_MODE_11[29:0],PINS_OCT_MODE_10[29:0],PINS_OCT_MODE_9[29:0],PINS_OCT_MODE_8[29:0],PINS_OCT_MODE_7[29:0],PINS_OCT_MODE_6[29:0],PINS_OCT_MODE_5[29:0],PINS_OCT_MODE_4[29:0],PINS_OCT_MODE_3[29:0],PINS_OCT_MODE_2[29:0],PINS_OCT_MODE_1[29:0],PINS_OCT_MODE_0[29:0]}; + localparam PINS_DCC_SPLIT = {PINS_DCC_SPLIT_12[29:0],PINS_DCC_SPLIT_11[29:0],PINS_DCC_SPLIT_10[29:0],PINS_DCC_SPLIT_9[29:0],PINS_DCC_SPLIT_8[29:0],PINS_DCC_SPLIT_7[29:0],PINS_DCC_SPLIT_6[29:0],PINS_DCC_SPLIT_5[29:0],PINS_DCC_SPLIT_4[29:0],PINS_DCC_SPLIT_3[29:0],PINS_DCC_SPLIT_2[29:0],PINS_DCC_SPLIT_1[29:0],PINS_DCC_SPLIT_0[29:0]}; + localparam UNUSED_MEM_PINS_PINLOC = {UNUSED_MEM_PINS_PINLOC_128[29:0],UNUSED_MEM_PINS_PINLOC_127[29:0],UNUSED_MEM_PINS_PINLOC_126[29:0],UNUSED_MEM_PINS_PINLOC_125[29:0],UNUSED_MEM_PINS_PINLOC_124[29:0],UNUSED_MEM_PINS_PINLOC_123[29:0],UNUSED_MEM_PINS_PINLOC_122[29:0],UNUSED_MEM_PINS_PINLOC_121[29:0],UNUSED_MEM_PINS_PINLOC_120[29:0],UNUSED_MEM_PINS_PINLOC_119[29:0],UNUSED_MEM_PINS_PINLOC_118[29:0],UNUSED_MEM_PINS_PINLOC_117[29:0],UNUSED_MEM_PINS_PINLOC_116[29:0],UNUSED_MEM_PINS_PINLOC_115[29:0],UNUSED_MEM_PINS_PINLOC_114[29:0],UNUSED_MEM_PINS_PINLOC_113[29:0],UNUSED_MEM_PINS_PINLOC_112[29:0],UNUSED_MEM_PINS_PINLOC_111[29:0],UNUSED_MEM_PINS_PINLOC_110[29:0],UNUSED_MEM_PINS_PINLOC_109[29:0],UNUSED_MEM_PINS_PINLOC_108[29:0],UNUSED_MEM_PINS_PINLOC_107[29:0],UNUSED_MEM_PINS_PINLOC_106[29:0],UNUSED_MEM_PINS_PINLOC_105[29:0],UNUSED_MEM_PINS_PINLOC_104[29:0],UNUSED_MEM_PINS_PINLOC_103[29:0],UNUSED_MEM_PINS_PINLOC_102[29:0],UNUSED_MEM_PINS_PINLOC_101[29:0],UNUSED_MEM_PINS_PINLOC_100[29:0],UNUSED_MEM_PINS_PINLOC_99[29:0],UNUSED_MEM_PINS_PINLOC_98[29:0],UNUSED_MEM_PINS_PINLOC_97[29:0],UNUSED_MEM_PINS_PINLOC_96[29:0],UNUSED_MEM_PINS_PINLOC_95[29:0],UNUSED_MEM_PINS_PINLOC_94[29:0],UNUSED_MEM_PINS_PINLOC_93[29:0],UNUSED_MEM_PINS_PINLOC_92[29:0],UNUSED_MEM_PINS_PINLOC_91[29:0],UNUSED_MEM_PINS_PINLOC_90[29:0],UNUSED_MEM_PINS_PINLOC_89[29:0],UNUSED_MEM_PINS_PINLOC_88[29:0],UNUSED_MEM_PINS_PINLOC_87[29:0],UNUSED_MEM_PINS_PINLOC_86[29:0],UNUSED_MEM_PINS_PINLOC_85[29:0],UNUSED_MEM_PINS_PINLOC_84[29:0],UNUSED_MEM_PINS_PINLOC_83[29:0],UNUSED_MEM_PINS_PINLOC_82[29:0],UNUSED_MEM_PINS_PINLOC_81[29:0],UNUSED_MEM_PINS_PINLOC_80[29:0],UNUSED_MEM_PINS_PINLOC_79[29:0],UNUSED_MEM_PINS_PINLOC_78[29:0],UNUSED_MEM_PINS_PINLOC_77[29:0],UNUSED_MEM_PINS_PINLOC_76[29:0],UNUSED_MEM_PINS_PINLOC_75[29:0],UNUSED_MEM_PINS_PINLOC_74[29:0],UNUSED_MEM_PINS_PINLOC_73[29:0],UNUSED_MEM_PINS_PINLOC_72[29:0],UNUSED_MEM_PINS_PINLOC_71[29:0],UNUSED_MEM_PINS_PINLOC_70[29:0],UNUSED_MEM_PINS_PINLOC_69[29:0],UNUSED_MEM_PINS_PINLOC_68[29:0],UNUSED_MEM_PINS_PINLOC_67[29:0],UNUSED_MEM_PINS_PINLOC_66[29:0],UNUSED_MEM_PINS_PINLOC_65[29:0],UNUSED_MEM_PINS_PINLOC_64[29:0],UNUSED_MEM_PINS_PINLOC_63[29:0],UNUSED_MEM_PINS_PINLOC_62[29:0],UNUSED_MEM_PINS_PINLOC_61[29:0],UNUSED_MEM_PINS_PINLOC_60[29:0],UNUSED_MEM_PINS_PINLOC_59[29:0],UNUSED_MEM_PINS_PINLOC_58[29:0],UNUSED_MEM_PINS_PINLOC_57[29:0],UNUSED_MEM_PINS_PINLOC_56[29:0],UNUSED_MEM_PINS_PINLOC_55[29:0],UNUSED_MEM_PINS_PINLOC_54[29:0],UNUSED_MEM_PINS_PINLOC_53[29:0],UNUSED_MEM_PINS_PINLOC_52[29:0],UNUSED_MEM_PINS_PINLOC_51[29:0],UNUSED_MEM_PINS_PINLOC_50[29:0],UNUSED_MEM_PINS_PINLOC_49[29:0],UNUSED_MEM_PINS_PINLOC_48[29:0],UNUSED_MEM_PINS_PINLOC_47[29:0],UNUSED_MEM_PINS_PINLOC_46[29:0],UNUSED_MEM_PINS_PINLOC_45[29:0],UNUSED_MEM_PINS_PINLOC_44[29:0],UNUSED_MEM_PINS_PINLOC_43[29:0],UNUSED_MEM_PINS_PINLOC_42[29:0],UNUSED_MEM_PINS_PINLOC_41[29:0],UNUSED_MEM_PINS_PINLOC_40[29:0],UNUSED_MEM_PINS_PINLOC_39[29:0],UNUSED_MEM_PINS_PINLOC_38[29:0],UNUSED_MEM_PINS_PINLOC_37[29:0],UNUSED_MEM_PINS_PINLOC_36[29:0],UNUSED_MEM_PINS_PINLOC_35[29:0],UNUSED_MEM_PINS_PINLOC_34[29:0],UNUSED_MEM_PINS_PINLOC_33[29:0],UNUSED_MEM_PINS_PINLOC_32[29:0],UNUSED_MEM_PINS_PINLOC_31[29:0],UNUSED_MEM_PINS_PINLOC_30[29:0],UNUSED_MEM_PINS_PINLOC_29[29:0],UNUSED_MEM_PINS_PINLOC_28[29:0],UNUSED_MEM_PINS_PINLOC_27[29:0],UNUSED_MEM_PINS_PINLOC_26[29:0],UNUSED_MEM_PINS_PINLOC_25[29:0],UNUSED_MEM_PINS_PINLOC_24[29:0],UNUSED_MEM_PINS_PINLOC_23[29:0],UNUSED_MEM_PINS_PINLOC_22[29:0],UNUSED_MEM_PINS_PINLOC_21[29:0],UNUSED_MEM_PINS_PINLOC_20[29:0],UNUSED_MEM_PINS_PINLOC_19[29:0],UNUSED_MEM_PINS_PINLOC_18[29:0],UNUSED_MEM_PINS_PINLOC_17[29:0],UNUSED_MEM_PINS_PINLOC_16[29:0],UNUSED_MEM_PINS_PINLOC_15[29:0],UNUSED_MEM_PINS_PINLOC_14[29:0],UNUSED_MEM_PINS_PINLOC_13[29:0],UNUSED_MEM_PINS_PINLOC_12[29:0],UNUSED_MEM_PINS_PINLOC_11[29:0],UNUSED_MEM_PINS_PINLOC_10[29:0],UNUSED_MEM_PINS_PINLOC_9[29:0],UNUSED_MEM_PINS_PINLOC_8[29:0],UNUSED_MEM_PINS_PINLOC_7[29:0],UNUSED_MEM_PINS_PINLOC_6[29:0],UNUSED_MEM_PINS_PINLOC_5[29:0],UNUSED_MEM_PINS_PINLOC_4[29:0],UNUSED_MEM_PINS_PINLOC_3[29:0],UNUSED_MEM_PINS_PINLOC_2[29:0],UNUSED_MEM_PINS_PINLOC_1[29:0],UNUSED_MEM_PINS_PINLOC_0[29:0]}; + localparam UNUSED_DQS_BUSES_LANELOC = {UNUSED_DQS_BUSES_LANELOC_10[29:0],UNUSED_DQS_BUSES_LANELOC_9[29:0],UNUSED_DQS_BUSES_LANELOC_8[29:0],UNUSED_DQS_BUSES_LANELOC_7[29:0],UNUSED_DQS_BUSES_LANELOC_6[29:0],UNUSED_DQS_BUSES_LANELOC_5[29:0],UNUSED_DQS_BUSES_LANELOC_4[29:0],UNUSED_DQS_BUSES_LANELOC_3[29:0],UNUSED_DQS_BUSES_LANELOC_2[29:0],UNUSED_DQS_BUSES_LANELOC_1[29:0],UNUSED_DQS_BUSES_LANELOC_0[29:0]}; + localparam DBC_PIPE_LATS = {DBC_PIPE_LATS_4[29:0],DBC_PIPE_LATS_3[29:0],DBC_PIPE_LATS_2[29:0],DBC_PIPE_LATS_1[29:0],DBC_PIPE_LATS_0[29:0]}; + localparam DB_PTR_PIPELINE_DEPTHS = {DB_PTR_PIPELINE_DEPTHS_4[29:0],DB_PTR_PIPELINE_DEPTHS_3[29:0],DB_PTR_PIPELINE_DEPTHS_2[29:0],DB_PTR_PIPELINE_DEPTHS_1[29:0],DB_PTR_PIPELINE_DEPTHS_0[29:0]}; + localparam DB_SEQ_RD_EN_FULL_PIPELINES = {DB_SEQ_RD_EN_FULL_PIPELINES_4[29:0],DB_SEQ_RD_EN_FULL_PIPELINES_3[29:0],DB_SEQ_RD_EN_FULL_PIPELINES_2[29:0],DB_SEQ_RD_EN_FULL_PIPELINES_1[29:0],DB_SEQ_RD_EN_FULL_PIPELINES_0[29:0]}; + localparam CENTER_TIDS = {CENTER_TIDS_2[29:0],CENTER_TIDS_1[29:0],CENTER_TIDS_0[29:0]}; + localparam HMC_TIDS = {HMC_TIDS_2[29:0],HMC_TIDS_1[29:0],HMC_TIDS_0[29:0]}; + localparam LANE_TIDS = {LANE_TIDS_9[29:0],LANE_TIDS_8[29:0],LANE_TIDS_7[29:0],LANE_TIDS_6[29:0],LANE_TIDS_5[29:0],LANE_TIDS_4[29:0],LANE_TIDS_3[29:0],LANE_TIDS_2[29:0],LANE_TIDS_1[29:0],LANE_TIDS_0[29:0]}; + localparam PORT_MEM_CK_PINLOC = {PORT_MEM_CK_PINLOC_5[29:0],PORT_MEM_CK_PINLOC_4[29:0],PORT_MEM_CK_PINLOC_3[29:0],PORT_MEM_CK_PINLOC_2[29:0],PORT_MEM_CK_PINLOC_1[29:0],PORT_MEM_CK_PINLOC_0[29:0]}; + localparam PORT_MEM_CK_N_PINLOC = {PORT_MEM_CK_N_PINLOC_5[29:0],PORT_MEM_CK_N_PINLOC_4[29:0],PORT_MEM_CK_N_PINLOC_3[29:0],PORT_MEM_CK_N_PINLOC_2[29:0],PORT_MEM_CK_N_PINLOC_1[29:0],PORT_MEM_CK_N_PINLOC_0[29:0]}; + localparam PORT_MEM_DK_PINLOC = {PORT_MEM_DK_PINLOC_5[29:0],PORT_MEM_DK_PINLOC_4[29:0],PORT_MEM_DK_PINLOC_3[29:0],PORT_MEM_DK_PINLOC_2[29:0],PORT_MEM_DK_PINLOC_1[29:0],PORT_MEM_DK_PINLOC_0[29:0]}; + localparam PORT_MEM_DK_N_PINLOC = {PORT_MEM_DK_N_PINLOC_5[29:0],PORT_MEM_DK_N_PINLOC_4[29:0],PORT_MEM_DK_N_PINLOC_3[29:0],PORT_MEM_DK_N_PINLOC_2[29:0],PORT_MEM_DK_N_PINLOC_1[29:0],PORT_MEM_DK_N_PINLOC_0[29:0]}; + localparam PORT_MEM_DKA_PINLOC = {PORT_MEM_DKA_PINLOC_5[29:0],PORT_MEM_DKA_PINLOC_4[29:0],PORT_MEM_DKA_PINLOC_3[29:0],PORT_MEM_DKA_PINLOC_2[29:0],PORT_MEM_DKA_PINLOC_1[29:0],PORT_MEM_DKA_PINLOC_0[29:0]}; + localparam PORT_MEM_DKA_N_PINLOC = {PORT_MEM_DKA_N_PINLOC_5[29:0],PORT_MEM_DKA_N_PINLOC_4[29:0],PORT_MEM_DKA_N_PINLOC_3[29:0],PORT_MEM_DKA_N_PINLOC_2[29:0],PORT_MEM_DKA_N_PINLOC_1[29:0],PORT_MEM_DKA_N_PINLOC_0[29:0]}; + localparam PORT_MEM_DKB_PINLOC = {PORT_MEM_DKB_PINLOC_5[29:0],PORT_MEM_DKB_PINLOC_4[29:0],PORT_MEM_DKB_PINLOC_3[29:0],PORT_MEM_DKB_PINLOC_2[29:0],PORT_MEM_DKB_PINLOC_1[29:0],PORT_MEM_DKB_PINLOC_0[29:0]}; + localparam PORT_MEM_DKB_N_PINLOC = {PORT_MEM_DKB_N_PINLOC_5[29:0],PORT_MEM_DKB_N_PINLOC_4[29:0],PORT_MEM_DKB_N_PINLOC_3[29:0],PORT_MEM_DKB_N_PINLOC_2[29:0],PORT_MEM_DKB_N_PINLOC_1[29:0],PORT_MEM_DKB_N_PINLOC_0[29:0]}; + localparam PORT_MEM_K_PINLOC = {PORT_MEM_K_PINLOC_5[29:0],PORT_MEM_K_PINLOC_4[29:0],PORT_MEM_K_PINLOC_3[29:0],PORT_MEM_K_PINLOC_2[29:0],PORT_MEM_K_PINLOC_1[29:0],PORT_MEM_K_PINLOC_0[29:0]}; + localparam PORT_MEM_K_N_PINLOC = {PORT_MEM_K_N_PINLOC_5[29:0],PORT_MEM_K_N_PINLOC_4[29:0],PORT_MEM_K_N_PINLOC_3[29:0],PORT_MEM_K_N_PINLOC_2[29:0],PORT_MEM_K_N_PINLOC_1[29:0],PORT_MEM_K_N_PINLOC_0[29:0]}; + localparam PORT_MEM_A_PINLOC = {PORT_MEM_A_PINLOC_16[29:0],PORT_MEM_A_PINLOC_15[29:0],PORT_MEM_A_PINLOC_14[29:0],PORT_MEM_A_PINLOC_13[29:0],PORT_MEM_A_PINLOC_12[29:0],PORT_MEM_A_PINLOC_11[29:0],PORT_MEM_A_PINLOC_10[29:0],PORT_MEM_A_PINLOC_9[29:0],PORT_MEM_A_PINLOC_8[29:0],PORT_MEM_A_PINLOC_7[29:0],PORT_MEM_A_PINLOC_6[29:0],PORT_MEM_A_PINLOC_5[29:0],PORT_MEM_A_PINLOC_4[29:0],PORT_MEM_A_PINLOC_3[29:0],PORT_MEM_A_PINLOC_2[29:0],PORT_MEM_A_PINLOC_1[29:0],PORT_MEM_A_PINLOC_0[29:0]}; + localparam PORT_MEM_BA_PINLOC = {PORT_MEM_BA_PINLOC_5[29:0],PORT_MEM_BA_PINLOC_4[29:0],PORT_MEM_BA_PINLOC_3[29:0],PORT_MEM_BA_PINLOC_2[29:0],PORT_MEM_BA_PINLOC_1[29:0],PORT_MEM_BA_PINLOC_0[29:0]}; + localparam PORT_MEM_BG_PINLOC = {PORT_MEM_BG_PINLOC_5[29:0],PORT_MEM_BG_PINLOC_4[29:0],PORT_MEM_BG_PINLOC_3[29:0],PORT_MEM_BG_PINLOC_2[29:0],PORT_MEM_BG_PINLOC_1[29:0],PORT_MEM_BG_PINLOC_0[29:0]}; + localparam PORT_MEM_C_PINLOC = {PORT_MEM_C_PINLOC_5[29:0],PORT_MEM_C_PINLOC_4[29:0],PORT_MEM_C_PINLOC_3[29:0],PORT_MEM_C_PINLOC_2[29:0],PORT_MEM_C_PINLOC_1[29:0],PORT_MEM_C_PINLOC_0[29:0]}; + localparam PORT_MEM_CKE_PINLOC = {PORT_MEM_CKE_PINLOC_5[29:0],PORT_MEM_CKE_PINLOC_4[29:0],PORT_MEM_CKE_PINLOC_3[29:0],PORT_MEM_CKE_PINLOC_2[29:0],PORT_MEM_CKE_PINLOC_1[29:0],PORT_MEM_CKE_PINLOC_0[29:0]}; + localparam PORT_MEM_CS_N_PINLOC = {PORT_MEM_CS_N_PINLOC_5[29:0],PORT_MEM_CS_N_PINLOC_4[29:0],PORT_MEM_CS_N_PINLOC_3[29:0],PORT_MEM_CS_N_PINLOC_2[29:0],PORT_MEM_CS_N_PINLOC_1[29:0],PORT_MEM_CS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_RM_PINLOC = {PORT_MEM_RM_PINLOC_5[29:0],PORT_MEM_RM_PINLOC_4[29:0],PORT_MEM_RM_PINLOC_3[29:0],PORT_MEM_RM_PINLOC_2[29:0],PORT_MEM_RM_PINLOC_1[29:0],PORT_MEM_RM_PINLOC_0[29:0]}; + localparam PORT_MEM_ODT_PINLOC = {PORT_MEM_ODT_PINLOC_5[29:0],PORT_MEM_ODT_PINLOC_4[29:0],PORT_MEM_ODT_PINLOC_3[29:0],PORT_MEM_ODT_PINLOC_2[29:0],PORT_MEM_ODT_PINLOC_1[29:0],PORT_MEM_ODT_PINLOC_0[29:0]}; + localparam PORT_MEM_RAS_N_PINLOC = {PORT_MEM_RAS_N_PINLOC_1[29:0],PORT_MEM_RAS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_CAS_N_PINLOC = {PORT_MEM_CAS_N_PINLOC_1[29:0],PORT_MEM_CAS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_WE_N_PINLOC = {PORT_MEM_WE_N_PINLOC_1[29:0],PORT_MEM_WE_N_PINLOC_0[29:0]}; + localparam PORT_MEM_RESET_N_PINLOC = {PORT_MEM_RESET_N_PINLOC_1[29:0],PORT_MEM_RESET_N_PINLOC_0[29:0]}; + localparam PORT_MEM_ACT_N_PINLOC = {PORT_MEM_ACT_N_PINLOC_1[29:0],PORT_MEM_ACT_N_PINLOC_0[29:0]}; + localparam PORT_MEM_PAR_PINLOC = {PORT_MEM_PAR_PINLOC_1[29:0],PORT_MEM_PAR_PINLOC_0[29:0]}; + localparam PORT_MEM_CA_PINLOC = {PORT_MEM_CA_PINLOC_16[29:0],PORT_MEM_CA_PINLOC_15[29:0],PORT_MEM_CA_PINLOC_14[29:0],PORT_MEM_CA_PINLOC_13[29:0],PORT_MEM_CA_PINLOC_12[29:0],PORT_MEM_CA_PINLOC_11[29:0],PORT_MEM_CA_PINLOC_10[29:0],PORT_MEM_CA_PINLOC_9[29:0],PORT_MEM_CA_PINLOC_8[29:0],PORT_MEM_CA_PINLOC_7[29:0],PORT_MEM_CA_PINLOC_6[29:0],PORT_MEM_CA_PINLOC_5[29:0],PORT_MEM_CA_PINLOC_4[29:0],PORT_MEM_CA_PINLOC_3[29:0],PORT_MEM_CA_PINLOC_2[29:0],PORT_MEM_CA_PINLOC_1[29:0],PORT_MEM_CA_PINLOC_0[29:0]}; + localparam PORT_MEM_REF_N_PINLOC = {PORT_MEM_REF_N_PINLOC_0[29:0]}; + localparam PORT_MEM_WPS_N_PINLOC = {PORT_MEM_WPS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_RPS_N_PINLOC = {PORT_MEM_RPS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_DOFF_N_PINLOC = {PORT_MEM_DOFF_N_PINLOC_0[29:0]}; + localparam PORT_MEM_LDA_N_PINLOC = {PORT_MEM_LDA_N_PINLOC_0[29:0]}; + localparam PORT_MEM_LDB_N_PINLOC = {PORT_MEM_LDB_N_PINLOC_0[29:0]}; + localparam PORT_MEM_RWA_N_PINLOC = {PORT_MEM_RWA_N_PINLOC_0[29:0]}; + localparam PORT_MEM_RWB_N_PINLOC = {PORT_MEM_RWB_N_PINLOC_0[29:0]}; + localparam PORT_MEM_LBK0_N_PINLOC = {PORT_MEM_LBK0_N_PINLOC_0[29:0]}; + localparam PORT_MEM_LBK1_N_PINLOC = {PORT_MEM_LBK1_N_PINLOC_0[29:0]}; + localparam PORT_MEM_CFG_N_PINLOC = {PORT_MEM_CFG_N_PINLOC_0[29:0]}; + localparam PORT_MEM_AP_PINLOC = {PORT_MEM_AP_PINLOC_0[29:0]}; + localparam PORT_MEM_AINV_PINLOC = {PORT_MEM_AINV_PINLOC_0[29:0]}; + localparam PORT_MEM_DM_PINLOC = {PORT_MEM_DM_PINLOC_12[29:0],PORT_MEM_DM_PINLOC_11[29:0],PORT_MEM_DM_PINLOC_10[29:0],PORT_MEM_DM_PINLOC_9[29:0],PORT_MEM_DM_PINLOC_8[29:0],PORT_MEM_DM_PINLOC_7[29:0],PORT_MEM_DM_PINLOC_6[29:0],PORT_MEM_DM_PINLOC_5[29:0],PORT_MEM_DM_PINLOC_4[29:0],PORT_MEM_DM_PINLOC_3[29:0],PORT_MEM_DM_PINLOC_2[29:0],PORT_MEM_DM_PINLOC_1[29:0],PORT_MEM_DM_PINLOC_0[29:0]}; + localparam PORT_MEM_BWS_N_PINLOC = {PORT_MEM_BWS_N_PINLOC_2[29:0],PORT_MEM_BWS_N_PINLOC_1[29:0],PORT_MEM_BWS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_D_PINLOC = {PORT_MEM_D_PINLOC_48[29:0],PORT_MEM_D_PINLOC_47[29:0],PORT_MEM_D_PINLOC_46[29:0],PORT_MEM_D_PINLOC_45[29:0],PORT_MEM_D_PINLOC_44[29:0],PORT_MEM_D_PINLOC_43[29:0],PORT_MEM_D_PINLOC_42[29:0],PORT_MEM_D_PINLOC_41[29:0],PORT_MEM_D_PINLOC_40[29:0],PORT_MEM_D_PINLOC_39[29:0],PORT_MEM_D_PINLOC_38[29:0],PORT_MEM_D_PINLOC_37[29:0],PORT_MEM_D_PINLOC_36[29:0],PORT_MEM_D_PINLOC_35[29:0],PORT_MEM_D_PINLOC_34[29:0],PORT_MEM_D_PINLOC_33[29:0],PORT_MEM_D_PINLOC_32[29:0],PORT_MEM_D_PINLOC_31[29:0],PORT_MEM_D_PINLOC_30[29:0],PORT_MEM_D_PINLOC_29[29:0],PORT_MEM_D_PINLOC_28[29:0],PORT_MEM_D_PINLOC_27[29:0],PORT_MEM_D_PINLOC_26[29:0],PORT_MEM_D_PINLOC_25[29:0],PORT_MEM_D_PINLOC_24[29:0],PORT_MEM_D_PINLOC_23[29:0],PORT_MEM_D_PINLOC_22[29:0],PORT_MEM_D_PINLOC_21[29:0],PORT_MEM_D_PINLOC_20[29:0],PORT_MEM_D_PINLOC_19[29:0],PORT_MEM_D_PINLOC_18[29:0],PORT_MEM_D_PINLOC_17[29:0],PORT_MEM_D_PINLOC_16[29:0],PORT_MEM_D_PINLOC_15[29:0],PORT_MEM_D_PINLOC_14[29:0],PORT_MEM_D_PINLOC_13[29:0],PORT_MEM_D_PINLOC_12[29:0],PORT_MEM_D_PINLOC_11[29:0],PORT_MEM_D_PINLOC_10[29:0],PORT_MEM_D_PINLOC_9[29:0],PORT_MEM_D_PINLOC_8[29:0],PORT_MEM_D_PINLOC_7[29:0],PORT_MEM_D_PINLOC_6[29:0],PORT_MEM_D_PINLOC_5[29:0],PORT_MEM_D_PINLOC_4[29:0],PORT_MEM_D_PINLOC_3[29:0],PORT_MEM_D_PINLOC_2[29:0],PORT_MEM_D_PINLOC_1[29:0],PORT_MEM_D_PINLOC_0[29:0]}; + localparam PORT_MEM_DQ_PINLOC = {PORT_MEM_DQ_PINLOC_48[29:0],PORT_MEM_DQ_PINLOC_47[29:0],PORT_MEM_DQ_PINLOC_46[29:0],PORT_MEM_DQ_PINLOC_45[29:0],PORT_MEM_DQ_PINLOC_44[29:0],PORT_MEM_DQ_PINLOC_43[29:0],PORT_MEM_DQ_PINLOC_42[29:0],PORT_MEM_DQ_PINLOC_41[29:0],PORT_MEM_DQ_PINLOC_40[29:0],PORT_MEM_DQ_PINLOC_39[29:0],PORT_MEM_DQ_PINLOC_38[29:0],PORT_MEM_DQ_PINLOC_37[29:0],PORT_MEM_DQ_PINLOC_36[29:0],PORT_MEM_DQ_PINLOC_35[29:0],PORT_MEM_DQ_PINLOC_34[29:0],PORT_MEM_DQ_PINLOC_33[29:0],PORT_MEM_DQ_PINLOC_32[29:0],PORT_MEM_DQ_PINLOC_31[29:0],PORT_MEM_DQ_PINLOC_30[29:0],PORT_MEM_DQ_PINLOC_29[29:0],PORT_MEM_DQ_PINLOC_28[29:0],PORT_MEM_DQ_PINLOC_27[29:0],PORT_MEM_DQ_PINLOC_26[29:0],PORT_MEM_DQ_PINLOC_25[29:0],PORT_MEM_DQ_PINLOC_24[29:0],PORT_MEM_DQ_PINLOC_23[29:0],PORT_MEM_DQ_PINLOC_22[29:0],PORT_MEM_DQ_PINLOC_21[29:0],PORT_MEM_DQ_PINLOC_20[29:0],PORT_MEM_DQ_PINLOC_19[29:0],PORT_MEM_DQ_PINLOC_18[29:0],PORT_MEM_DQ_PINLOC_17[29:0],PORT_MEM_DQ_PINLOC_16[29:0],PORT_MEM_DQ_PINLOC_15[29:0],PORT_MEM_DQ_PINLOC_14[29:0],PORT_MEM_DQ_PINLOC_13[29:0],PORT_MEM_DQ_PINLOC_12[29:0],PORT_MEM_DQ_PINLOC_11[29:0],PORT_MEM_DQ_PINLOC_10[29:0],PORT_MEM_DQ_PINLOC_9[29:0],PORT_MEM_DQ_PINLOC_8[29:0],PORT_MEM_DQ_PINLOC_7[29:0],PORT_MEM_DQ_PINLOC_6[29:0],PORT_MEM_DQ_PINLOC_5[29:0],PORT_MEM_DQ_PINLOC_4[29:0],PORT_MEM_DQ_PINLOC_3[29:0],PORT_MEM_DQ_PINLOC_2[29:0],PORT_MEM_DQ_PINLOC_1[29:0],PORT_MEM_DQ_PINLOC_0[29:0]}; + localparam PORT_MEM_DBI_N_PINLOC = {PORT_MEM_DBI_N_PINLOC_6[29:0],PORT_MEM_DBI_N_PINLOC_5[29:0],PORT_MEM_DBI_N_PINLOC_4[29:0],PORT_MEM_DBI_N_PINLOC_3[29:0],PORT_MEM_DBI_N_PINLOC_2[29:0],PORT_MEM_DBI_N_PINLOC_1[29:0],PORT_MEM_DBI_N_PINLOC_0[29:0]}; + localparam PORT_MEM_DQA_PINLOC = {PORT_MEM_DQA_PINLOC_48[29:0],PORT_MEM_DQA_PINLOC_47[29:0],PORT_MEM_DQA_PINLOC_46[29:0],PORT_MEM_DQA_PINLOC_45[29:0],PORT_MEM_DQA_PINLOC_44[29:0],PORT_MEM_DQA_PINLOC_43[29:0],PORT_MEM_DQA_PINLOC_42[29:0],PORT_MEM_DQA_PINLOC_41[29:0],PORT_MEM_DQA_PINLOC_40[29:0],PORT_MEM_DQA_PINLOC_39[29:0],PORT_MEM_DQA_PINLOC_38[29:0],PORT_MEM_DQA_PINLOC_37[29:0],PORT_MEM_DQA_PINLOC_36[29:0],PORT_MEM_DQA_PINLOC_35[29:0],PORT_MEM_DQA_PINLOC_34[29:0],PORT_MEM_DQA_PINLOC_33[29:0],PORT_MEM_DQA_PINLOC_32[29:0],PORT_MEM_DQA_PINLOC_31[29:0],PORT_MEM_DQA_PINLOC_30[29:0],PORT_MEM_DQA_PINLOC_29[29:0],PORT_MEM_DQA_PINLOC_28[29:0],PORT_MEM_DQA_PINLOC_27[29:0],PORT_MEM_DQA_PINLOC_26[29:0],PORT_MEM_DQA_PINLOC_25[29:0],PORT_MEM_DQA_PINLOC_24[29:0],PORT_MEM_DQA_PINLOC_23[29:0],PORT_MEM_DQA_PINLOC_22[29:0],PORT_MEM_DQA_PINLOC_21[29:0],PORT_MEM_DQA_PINLOC_20[29:0],PORT_MEM_DQA_PINLOC_19[29:0],PORT_MEM_DQA_PINLOC_18[29:0],PORT_MEM_DQA_PINLOC_17[29:0],PORT_MEM_DQA_PINLOC_16[29:0],PORT_MEM_DQA_PINLOC_15[29:0],PORT_MEM_DQA_PINLOC_14[29:0],PORT_MEM_DQA_PINLOC_13[29:0],PORT_MEM_DQA_PINLOC_12[29:0],PORT_MEM_DQA_PINLOC_11[29:0],PORT_MEM_DQA_PINLOC_10[29:0],PORT_MEM_DQA_PINLOC_9[29:0],PORT_MEM_DQA_PINLOC_8[29:0],PORT_MEM_DQA_PINLOC_7[29:0],PORT_MEM_DQA_PINLOC_6[29:0],PORT_MEM_DQA_PINLOC_5[29:0],PORT_MEM_DQA_PINLOC_4[29:0],PORT_MEM_DQA_PINLOC_3[29:0],PORT_MEM_DQA_PINLOC_2[29:0],PORT_MEM_DQA_PINLOC_1[29:0],PORT_MEM_DQA_PINLOC_0[29:0]}; + localparam PORT_MEM_DQB_PINLOC = {PORT_MEM_DQB_PINLOC_48[29:0],PORT_MEM_DQB_PINLOC_47[29:0],PORT_MEM_DQB_PINLOC_46[29:0],PORT_MEM_DQB_PINLOC_45[29:0],PORT_MEM_DQB_PINLOC_44[29:0],PORT_MEM_DQB_PINLOC_43[29:0],PORT_MEM_DQB_PINLOC_42[29:0],PORT_MEM_DQB_PINLOC_41[29:0],PORT_MEM_DQB_PINLOC_40[29:0],PORT_MEM_DQB_PINLOC_39[29:0],PORT_MEM_DQB_PINLOC_38[29:0],PORT_MEM_DQB_PINLOC_37[29:0],PORT_MEM_DQB_PINLOC_36[29:0],PORT_MEM_DQB_PINLOC_35[29:0],PORT_MEM_DQB_PINLOC_34[29:0],PORT_MEM_DQB_PINLOC_33[29:0],PORT_MEM_DQB_PINLOC_32[29:0],PORT_MEM_DQB_PINLOC_31[29:0],PORT_MEM_DQB_PINLOC_30[29:0],PORT_MEM_DQB_PINLOC_29[29:0],PORT_MEM_DQB_PINLOC_28[29:0],PORT_MEM_DQB_PINLOC_27[29:0],PORT_MEM_DQB_PINLOC_26[29:0],PORT_MEM_DQB_PINLOC_25[29:0],PORT_MEM_DQB_PINLOC_24[29:0],PORT_MEM_DQB_PINLOC_23[29:0],PORT_MEM_DQB_PINLOC_22[29:0],PORT_MEM_DQB_PINLOC_21[29:0],PORT_MEM_DQB_PINLOC_20[29:0],PORT_MEM_DQB_PINLOC_19[29:0],PORT_MEM_DQB_PINLOC_18[29:0],PORT_MEM_DQB_PINLOC_17[29:0],PORT_MEM_DQB_PINLOC_16[29:0],PORT_MEM_DQB_PINLOC_15[29:0],PORT_MEM_DQB_PINLOC_14[29:0],PORT_MEM_DQB_PINLOC_13[29:0],PORT_MEM_DQB_PINLOC_12[29:0],PORT_MEM_DQB_PINLOC_11[29:0],PORT_MEM_DQB_PINLOC_10[29:0],PORT_MEM_DQB_PINLOC_9[29:0],PORT_MEM_DQB_PINLOC_8[29:0],PORT_MEM_DQB_PINLOC_7[29:0],PORT_MEM_DQB_PINLOC_6[29:0],PORT_MEM_DQB_PINLOC_5[29:0],PORT_MEM_DQB_PINLOC_4[29:0],PORT_MEM_DQB_PINLOC_3[29:0],PORT_MEM_DQB_PINLOC_2[29:0],PORT_MEM_DQB_PINLOC_1[29:0],PORT_MEM_DQB_PINLOC_0[29:0]}; + localparam PORT_MEM_DINVA_PINLOC = {PORT_MEM_DINVA_PINLOC_2[29:0],PORT_MEM_DINVA_PINLOC_1[29:0],PORT_MEM_DINVA_PINLOC_0[29:0]}; + localparam PORT_MEM_DINVB_PINLOC = {PORT_MEM_DINVB_PINLOC_2[29:0],PORT_MEM_DINVB_PINLOC_1[29:0],PORT_MEM_DINVB_PINLOC_0[29:0]}; + localparam PORT_MEM_Q_PINLOC = {PORT_MEM_Q_PINLOC_48[29:0],PORT_MEM_Q_PINLOC_47[29:0],PORT_MEM_Q_PINLOC_46[29:0],PORT_MEM_Q_PINLOC_45[29:0],PORT_MEM_Q_PINLOC_44[29:0],PORT_MEM_Q_PINLOC_43[29:0],PORT_MEM_Q_PINLOC_42[29:0],PORT_MEM_Q_PINLOC_41[29:0],PORT_MEM_Q_PINLOC_40[29:0],PORT_MEM_Q_PINLOC_39[29:0],PORT_MEM_Q_PINLOC_38[29:0],PORT_MEM_Q_PINLOC_37[29:0],PORT_MEM_Q_PINLOC_36[29:0],PORT_MEM_Q_PINLOC_35[29:0],PORT_MEM_Q_PINLOC_34[29:0],PORT_MEM_Q_PINLOC_33[29:0],PORT_MEM_Q_PINLOC_32[29:0],PORT_MEM_Q_PINLOC_31[29:0],PORT_MEM_Q_PINLOC_30[29:0],PORT_MEM_Q_PINLOC_29[29:0],PORT_MEM_Q_PINLOC_28[29:0],PORT_MEM_Q_PINLOC_27[29:0],PORT_MEM_Q_PINLOC_26[29:0],PORT_MEM_Q_PINLOC_25[29:0],PORT_MEM_Q_PINLOC_24[29:0],PORT_MEM_Q_PINLOC_23[29:0],PORT_MEM_Q_PINLOC_22[29:0],PORT_MEM_Q_PINLOC_21[29:0],PORT_MEM_Q_PINLOC_20[29:0],PORT_MEM_Q_PINLOC_19[29:0],PORT_MEM_Q_PINLOC_18[29:0],PORT_MEM_Q_PINLOC_17[29:0],PORT_MEM_Q_PINLOC_16[29:0],PORT_MEM_Q_PINLOC_15[29:0],PORT_MEM_Q_PINLOC_14[29:0],PORT_MEM_Q_PINLOC_13[29:0],PORT_MEM_Q_PINLOC_12[29:0],PORT_MEM_Q_PINLOC_11[29:0],PORT_MEM_Q_PINLOC_10[29:0],PORT_MEM_Q_PINLOC_9[29:0],PORT_MEM_Q_PINLOC_8[29:0],PORT_MEM_Q_PINLOC_7[29:0],PORT_MEM_Q_PINLOC_6[29:0],PORT_MEM_Q_PINLOC_5[29:0],PORT_MEM_Q_PINLOC_4[29:0],PORT_MEM_Q_PINLOC_3[29:0],PORT_MEM_Q_PINLOC_2[29:0],PORT_MEM_Q_PINLOC_1[29:0],PORT_MEM_Q_PINLOC_0[29:0]}; + localparam PORT_MEM_DQS_PINLOC = {PORT_MEM_DQS_PINLOC_12[29:0],PORT_MEM_DQS_PINLOC_11[29:0],PORT_MEM_DQS_PINLOC_10[29:0],PORT_MEM_DQS_PINLOC_9[29:0],PORT_MEM_DQS_PINLOC_8[29:0],PORT_MEM_DQS_PINLOC_7[29:0],PORT_MEM_DQS_PINLOC_6[29:0],PORT_MEM_DQS_PINLOC_5[29:0],PORT_MEM_DQS_PINLOC_4[29:0],PORT_MEM_DQS_PINLOC_3[29:0],PORT_MEM_DQS_PINLOC_2[29:0],PORT_MEM_DQS_PINLOC_1[29:0],PORT_MEM_DQS_PINLOC_0[29:0]}; + localparam PORT_MEM_DQS_N_PINLOC = {PORT_MEM_DQS_N_PINLOC_12[29:0],PORT_MEM_DQS_N_PINLOC_11[29:0],PORT_MEM_DQS_N_PINLOC_10[29:0],PORT_MEM_DQS_N_PINLOC_9[29:0],PORT_MEM_DQS_N_PINLOC_8[29:0],PORT_MEM_DQS_N_PINLOC_7[29:0],PORT_MEM_DQS_N_PINLOC_6[29:0],PORT_MEM_DQS_N_PINLOC_5[29:0],PORT_MEM_DQS_N_PINLOC_4[29:0],PORT_MEM_DQS_N_PINLOC_3[29:0],PORT_MEM_DQS_N_PINLOC_2[29:0],PORT_MEM_DQS_N_PINLOC_1[29:0],PORT_MEM_DQS_N_PINLOC_0[29:0]}; + localparam PORT_MEM_QK_PINLOC = {PORT_MEM_QK_PINLOC_5[29:0],PORT_MEM_QK_PINLOC_4[29:0],PORT_MEM_QK_PINLOC_3[29:0],PORT_MEM_QK_PINLOC_2[29:0],PORT_MEM_QK_PINLOC_1[29:0],PORT_MEM_QK_PINLOC_0[29:0]}; + localparam PORT_MEM_QK_N_PINLOC = {PORT_MEM_QK_N_PINLOC_5[29:0],PORT_MEM_QK_N_PINLOC_4[29:0],PORT_MEM_QK_N_PINLOC_3[29:0],PORT_MEM_QK_N_PINLOC_2[29:0],PORT_MEM_QK_N_PINLOC_1[29:0],PORT_MEM_QK_N_PINLOC_0[29:0]}; + localparam PORT_MEM_QKA_PINLOC = {PORT_MEM_QKA_PINLOC_5[29:0],PORT_MEM_QKA_PINLOC_4[29:0],PORT_MEM_QKA_PINLOC_3[29:0],PORT_MEM_QKA_PINLOC_2[29:0],PORT_MEM_QKA_PINLOC_1[29:0],PORT_MEM_QKA_PINLOC_0[29:0]}; + localparam PORT_MEM_QKA_N_PINLOC = {PORT_MEM_QKA_N_PINLOC_5[29:0],PORT_MEM_QKA_N_PINLOC_4[29:0],PORT_MEM_QKA_N_PINLOC_3[29:0],PORT_MEM_QKA_N_PINLOC_2[29:0],PORT_MEM_QKA_N_PINLOC_1[29:0],PORT_MEM_QKA_N_PINLOC_0[29:0]}; + localparam PORT_MEM_QKB_PINLOC = {PORT_MEM_QKB_PINLOC_5[29:0],PORT_MEM_QKB_PINLOC_4[29:0],PORT_MEM_QKB_PINLOC_3[29:0],PORT_MEM_QKB_PINLOC_2[29:0],PORT_MEM_QKB_PINLOC_1[29:0],PORT_MEM_QKB_PINLOC_0[29:0]}; + localparam PORT_MEM_QKB_N_PINLOC = {PORT_MEM_QKB_N_PINLOC_5[29:0],PORT_MEM_QKB_N_PINLOC_4[29:0],PORT_MEM_QKB_N_PINLOC_3[29:0],PORT_MEM_QKB_N_PINLOC_2[29:0],PORT_MEM_QKB_N_PINLOC_1[29:0],PORT_MEM_QKB_N_PINLOC_0[29:0]}; + localparam PORT_MEM_CQ_PINLOC = {PORT_MEM_CQ_PINLOC_1[29:0],PORT_MEM_CQ_PINLOC_0[29:0]}; + localparam PORT_MEM_CQ_N_PINLOC = {PORT_MEM_CQ_N_PINLOC_1[29:0],PORT_MEM_CQ_N_PINLOC_0[29:0]}; + localparam PORT_MEM_ALERT_N_PINLOC = {PORT_MEM_ALERT_N_PINLOC_1[29:0],PORT_MEM_ALERT_N_PINLOC_0[29:0]}; + localparam PORT_MEM_PE_N_PINLOC = {PORT_MEM_PE_N_PINLOC_1[29:0],PORT_MEM_PE_N_PINLOC_0[29:0]}; + + localparam LANES_IN_RTL_TILES = NUM_OF_RTL_TILES * LANES_PER_TILE; + localparam PINS_IN_RTL_TILES = NUM_OF_RTL_TILES * LANES_PER_TILE * PINS_PER_LANE; + + // Select which DBC to use as shadow for the primary HMC. + // We always pick "dbc1_to_local" as it's guaranteed to be used by the interface (as an A/C lane). + localparam PRI_HMC_DBC_SHADOW_LANE_INDEX = 1; + localparam UFI_LATENCY =(NUM_OF_HMC_PORTS == 0) ? 2 : HMC_READY_LATENCY; + + // The actual PLL ref clock signal, selected from either the local signal or from master + logic pll_ref_clk_int; + + // The actual reset request signal, selected from either the local signal or from master + logic local_reset_req_int; + + // Signals for various clocks + logic pll_dll_clk; // PLL -> DLL output clock + logic [7:0] phy_clk_phs; // FR PHY clock signals (8 phases, 45-deg apart) + logic [1:0] phy_clk; // {phy_clk[1], phy_clk[0]} + logic [1:0] global_phy_clk; // {phy_clk[1], phy_clk[0]} + logic phy_fb_clk_to_tile; // PHY feedback clock (to tile) + logic phy_fb_clk_to_pll; // PHY feedback clock (to PLL) + logic [8:0] pll_c_counters; // PLL C counter outputs + logic pll_extra_clk_diag_ok; // Internal test signal for PLL extra clocks + + + // Core clock signals from/to the Clock Phase Alignment (CPA) block + logic [1:0] core_clks_from_cpa_pri; + logic [1:0] core_clks_locked_cpa_pri; + logic [1:0] core_clks_fb_to_cpa_pri; + logic [1:0] core_clks_from_cpa_sec; + logic [1:0] core_clks_locked_cpa_sec; + logic [1:0] core_clks_fb_to_cpa_sec; + logic seq2core_reset_n; + + /////////////////////////////////////////////////////////////////// + // C2P & P2C interconnecting wires in/out towards UFIs + /////////////////////////////////////////////////////////////////// + // Avalon interfaces between core and HMC + logic [62:0] core2ctl_avl_0; + logic [62:0] core2ctl_avl_1; + logic core2ctl_avl_rd_data_ready_0; + logic core2ctl_avl_rd_data_ready_1; + logic ctl2core_avl_cmd_ready_0; + logic ctl2core_avl_cmd_ready_1; + logic [12:0] ctl2core_avl_rdata_id_0; + logic [12:0] ctl2core_avl_rdata_id_1; + + // Avalon interfaces between core and lanes + logic l2core_rd_data_vld_avl; + logic l2core_wr_data_rdy_ast; + logic l2core_rd_type; + + logic core2l_wr_data_vld_ast; + logic core2l_rd_data_rdy_ast; + + // ECC signals between core and lanes + logic [12:0] core2l_wr_ecc_info; + logic [11:0] l2core_wb_pointer_for_ecc; + + // Signals between core and data lanes + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] core2l_data; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] l2core_data; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] core2l_oe; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] core2l_rdata_en_full; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_read; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] core2l_mrnk_write; + logic [3:0] l2core_rdata_valid_pri; + logic [3:0] l2core_rdata_valid_sec; + logic [5:0] l2core_afi_rlat; + logic [5:0] l2core_afi_wlat; + + // AFI signals between tile and core + logic [17:0] c2t_afi; + logic [26:0] t2c_afi; + + // Side-band signals between core and HMC + logic [41:0] core2ctl_sideband_0; + logic [13:0] ctl2core_sideband_0; + logic [41:0] core2ctl_sideband_1; + logic [13:0] ctl2core_sideband_1; + + + // MMR signals between core and HMC + logic [33:0] ctl2core_mmr_0; + logic [50:0] core2ctl_mmr_0; + logic [33:0] ctl2core_mmr_1; + logic [50:0] core2ctl_mmr_1; + + // Output from UFIs + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] actual_core2l_data; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][47:0] actual_core2l_oe; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][3:0] actual_core2l_rdata_en_full; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] actual_core2l_mrnk_read; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][7:0] actual_core2l_mrnk_write; + logic actual_l2core_rd_type; + logic [3:0] actual_l2core_rdata_valid_pri; + logic [3:0] actual_l2core_rdata_valid_sec; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][12:0] actual_core2l_wr_ecc_info; + logic [11:0] actual_l2core_wb_pointer_for_ecc; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] actual_core2l_wr_data_vld_ast; + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0] actual_core2l_rd_data_rdy_ast; + + + logic [62:0] actual_core2ctl_avl_0; + logic actual_core2ctl_avl_rd_data_ready_0; + logic [62:0] actual_core2ctl_avl_1; + logic actual_core2ctl_avl_rd_data_ready_1; + + logic [NUM_OF_RTL_TILES-1:0][LANES_PER_TILE-1:0][PINS_PER_LANE * 8 - 1:0] actual_l2core_data; + logic actual_l2core_rd_data_vld_avl; + logic actual_l2core_wr_data_rdy_ast; + logic actual_ctl2core_avl_cmd_ready_0; + logic actual_ctl2core_avl_cmd_ready_1; + logic [12:0] actual_ctl2core_avl_rdata_id_0; + logic [12:0] actual_ctl2core_avl_rdata_id_1; + + logic [33:0] actual_ctl2core_mmr_0; + logic [50:0] actual_core2ctl_mmr_0; + logic [33:0] actual_ctl2core_mmr_1; + logic [50:0] actual_core2ctl_mmr_1; + logic [41:0] actual_core2ctl_sideband_0; + logic [13:0] actual_ctl2core_sideband_0; + logic [41:0] actual_core2ctl_sideband_1; + logic [13:0] actual_ctl2core_sideband_1; + + logic [17:0] actual_c2t_afi; + logic [26:0] actual_t2c_afi; + + // Signals for connecting OCT block to I/O buffers + logic oct_rzqin2ter; + logic oct_termin; + + // Signals for connecting emif signals between lanes/tiles and I/O buffers + logic [PINS_IN_RTL_TILES-1:0] l2b_data; // lane-to-buffer data + logic [PINS_IN_RTL_TILES-1:0] l2b_oe; // lane-to-buffer output-enable + logic [PINS_IN_RTL_TILES-1:0] l2b_dtc; // lane-to-buffer dynamic-termination-control + logic [PINS_IN_RTL_TILES-1:0] b2l_data; // buffer-to-lane data + logic [LANES_IN_RTL_TILES-1:0] b2t_dqs; // buffer-to-tile DQS + logic [LANES_IN_RTL_TILES-1:0] b2t_dqsb; // buffer-to-tile DQSb + + // Reset related + logic seq2core_reset_done; + logic core2seq_reset_req; + + // Internal signal for cal_counter + logic afi_cal_in_progress; + + assign local_cal_success = afi_cal_success & pll_extra_clk_diag_ok; + assign local_cal_fail = afi_cal_fail; + assign pll_ref_clk_out = pll_ref_clk_int; + assign clks_sharing_slave_out = clks_sharing_slave_in; + + wire runAbstractPhySim; + +`ifdef ALTERA_EMIF_ENABLE_ISSP + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("CALP"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) cal_success ( + .probe (local_cal_success) + ); + + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("CALF"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) cal_fail ( + .probe (local_cal_fail) + ); + + // Parity ISSP checks DDR4 parity flag in firmware. Currently only used for DDR4 + altsource_probe #( + .sld_auto_instance_index ("YES"), + .sld_instance_index (0), + .instance_id ("PRTY"), + .probe_width (1), + .source_width (0), + .source_initial_value ("0"), + .enable_metastability ("NO") + ) ac_parity_check ( + .probe (ac_parity_err) + ); + + +`endif + + //////////////////////////////////////////////////////////////////////////// + // PLL + //////////////////////////////////////////////////////////////////////////// + generate + // synthesis translate_off + if (DIAG_FAST_SIM) begin : gen_fast_sim + altera_emif_arch_fm_pll_fast_sim # ( + .PLL_SIM_VCO_FREQ_PS (PLL_SIM_VCO_FREQ_PS), + .PLL_SIM_PHYCLK_0_FREQ_PS (PLL_SIM_PHYCLK_0_FREQ_PS), + .PLL_SIM_PHYCLK_1_FREQ_PS (PLL_SIM_PHYCLK_1_FREQ_PS), + .PLL_SIM_PHYCLK_FB_FREQ_PS (PLL_SIM_PHYCLK_FB_FREQ_PS), + .PLL_SIM_PHY_CLK_VCO_PHASE_PS (PLL_SIM_PHY_CLK_VCO_PHASE_PS), + .PORT_DFT_ND_PLL_CNTSEL_WIDTH (PORT_DFT_ND_PLL_CNTSEL_WIDTH), + .PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH (PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH), + .PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH (PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH) + ) pll_inst ( + .* + ); + end else begin : gen_normal + // synthesis translate_on + altera_emif_arch_fm_pll # ( + .PORT_DFT_ND_PLL_CNTSEL_WIDTH (PORT_DFT_ND_PLL_CNTSEL_WIDTH), + .PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH (PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH), + .PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH (PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH), + .PLL_REF_CLK_FREQ_PS_STR (PLL_REF_CLK_FREQ_PS_STR), + .PLL_REF_CLK_FREQ_MHZ_STR (PLL_REF_CLK_FREQ_MHZ_STR), + .PLL_VCO_FREQ_PS_STR (PLL_VCO_FREQ_PS_STR), + .PLL_VCO_FREQ_MHZ_STR (PLL_VCO_FREQ_MHZ_STR), + .PLL_M_CNT_HIGH (PLL_M_CNT_HIGH), + .PLL_M_CNT_LOW (PLL_M_CNT_LOW), + .PLL_N_CNT_HIGH (PLL_N_CNT_HIGH), + .PLL_N_CNT_LOW (PLL_N_CNT_LOW), + .PLL_M_CNT_BYPASS_EN (PLL_M_CNT_BYPASS_EN), + .PLL_N_CNT_BYPASS_EN (PLL_N_CNT_BYPASS_EN), + .PLL_M_CNT_EVEN_DUTY_EN (PLL_M_CNT_EVEN_DUTY_EN), + .PLL_N_CNT_EVEN_DUTY_EN (PLL_N_CNT_EVEN_DUTY_EN), + .PLL_CP_SETTING (PLL_CP_SETTING), + .PLL_BW_CTRL (PLL_BW_CTRL), + .PLL_C_CNT_HIGH_0 (PLL_C_CNT_HIGH_0), + .PLL_C_CNT_LOW_0 (PLL_C_CNT_LOW_0), + .PLL_C_CNT_PRST_0 (PLL_C_CNT_PRST_0), + .PLL_C_CNT_PH_MUX_PRST_0 (PLL_C_CNT_PH_MUX_PRST_0), + .PLL_C_CNT_BYPASS_EN_0 (PLL_C_CNT_BYPASS_EN_0), + .PLL_C_CNT_EVEN_DUTY_EN_0 (PLL_C_CNT_EVEN_DUTY_EN_0), + .PLL_C_CNT_HIGH_1 (PLL_C_CNT_HIGH_1), + .PLL_C_CNT_LOW_1 (PLL_C_CNT_LOW_1), + .PLL_C_CNT_PRST_1 (PLL_C_CNT_PRST_1), + .PLL_C_CNT_PH_MUX_PRST_1 (PLL_C_CNT_PH_MUX_PRST_1), + .PLL_C_CNT_BYPASS_EN_1 (PLL_C_CNT_BYPASS_EN_1), + .PLL_C_CNT_EVEN_DUTY_EN_1 (PLL_C_CNT_EVEN_DUTY_EN_1), + .PLL_C_CNT_HIGH_2 (PLL_C_CNT_HIGH_2), + .PLL_C_CNT_LOW_2 (PLL_C_CNT_LOW_2), + .PLL_C_CNT_PRST_2 (PLL_C_CNT_PRST_2), + .PLL_C_CNT_PH_MUX_PRST_2 (PLL_C_CNT_PH_MUX_PRST_2), + .PLL_C_CNT_BYPASS_EN_2 (PLL_C_CNT_BYPASS_EN_2), + .PLL_C_CNT_EVEN_DUTY_EN_2 (PLL_C_CNT_EVEN_DUTY_EN_2), + .PLL_C_CNT_HIGH_3 (PLL_C_CNT_HIGH_3), + .PLL_C_CNT_LOW_3 (PLL_C_CNT_LOW_3), + .PLL_C_CNT_PRST_3 (PLL_C_CNT_PRST_3), + .PLL_C_CNT_PH_MUX_PRST_3 (PLL_C_CNT_PH_MUX_PRST_3), + .PLL_C_CNT_BYPASS_EN_3 (PLL_C_CNT_BYPASS_EN_3), + .PLL_C_CNT_EVEN_DUTY_EN_3 (PLL_C_CNT_EVEN_DUTY_EN_3), + .PLL_C_CNT_HIGH_4 (PLL_C_CNT_HIGH_4), + .PLL_C_CNT_LOW_4 (PLL_C_CNT_LOW_4), + .PLL_C_CNT_PRST_4 (PLL_C_CNT_PRST_4), + .PLL_C_CNT_PH_MUX_PRST_4 (PLL_C_CNT_PH_MUX_PRST_4), + .PLL_C_CNT_BYPASS_EN_4 (PLL_C_CNT_BYPASS_EN_4), + .PLL_C_CNT_EVEN_DUTY_EN_4 (PLL_C_CNT_EVEN_DUTY_EN_4), + .PLL_C_CNT_HIGH_5 (PLL_C_CNT_HIGH_5), + .PLL_C_CNT_LOW_5 (PLL_C_CNT_LOW_5), + .PLL_C_CNT_PRST_5 (PLL_C_CNT_PRST_5), + .PLL_C_CNT_PH_MUX_PRST_5 (PLL_C_CNT_PH_MUX_PRST_5), + .PLL_C_CNT_BYPASS_EN_5 (PLL_C_CNT_BYPASS_EN_5), + .PLL_C_CNT_EVEN_DUTY_EN_5 (PLL_C_CNT_EVEN_DUTY_EN_5), + .PLL_C_CNT_HIGH_6 (PLL_C_CNT_HIGH_6), + .PLL_C_CNT_LOW_6 (PLL_C_CNT_LOW_6), + .PLL_C_CNT_PRST_6 (PLL_C_CNT_PRST_6), + .PLL_C_CNT_PH_MUX_PRST_6 (PLL_C_CNT_PH_MUX_PRST_6), + .PLL_C_CNT_BYPASS_EN_6 (PLL_C_CNT_BYPASS_EN_6), + .PLL_C_CNT_EVEN_DUTY_EN_6 (PLL_C_CNT_EVEN_DUTY_EN_6), + .PLL_C_CNT_HIGH_7 (PLL_C_CNT_HIGH_7), + .PLL_C_CNT_LOW_7 (PLL_C_CNT_LOW_7), + .PLL_C_CNT_PRST_7 (PLL_C_CNT_PRST_7), + .PLL_C_CNT_PH_MUX_PRST_7 (PLL_C_CNT_PH_MUX_PRST_7), + .PLL_C_CNT_BYPASS_EN_7 (PLL_C_CNT_BYPASS_EN_7), + .PLL_C_CNT_EVEN_DUTY_EN_7 (PLL_C_CNT_EVEN_DUTY_EN_7), + .PLL_C_CNT_HIGH_8 (PLL_C_CNT_HIGH_8), + .PLL_C_CNT_LOW_8 (PLL_C_CNT_LOW_8), + .PLL_C_CNT_PRST_8 (PLL_C_CNT_PRST_8), + .PLL_C_CNT_PH_MUX_PRST_8 (PLL_C_CNT_PH_MUX_PRST_8), + .PLL_C_CNT_BYPASS_EN_8 (PLL_C_CNT_BYPASS_EN_8), + .PLL_C_CNT_EVEN_DUTY_EN_8 (PLL_C_CNT_EVEN_DUTY_EN_8), + .PLL_C_CNT_FREQ_PS_STR_0 (PLL_C_CNT_FREQ_PS_STR_0), + .PLL_C_CNT_PHASE_PS_STR_0 (PLL_C_CNT_PHASE_PS_STR_0), + .PLL_C_CNT_DUTY_CYCLE_0 (PLL_C_CNT_DUTY_CYCLE_0), + .PLL_C_CNT_FREQ_PS_STR_1 (PLL_C_CNT_FREQ_PS_STR_1), + .PLL_C_CNT_PHASE_PS_STR_1 (PLL_C_CNT_PHASE_PS_STR_1), + .PLL_C_CNT_DUTY_CYCLE_1 (PLL_C_CNT_DUTY_CYCLE_1), + .PLL_C_CNT_FREQ_PS_STR_2 (PLL_C_CNT_FREQ_PS_STR_2), + .PLL_C_CNT_PHASE_PS_STR_2 (PLL_C_CNT_PHASE_PS_STR_2), + .PLL_C_CNT_DUTY_CYCLE_2 (PLL_C_CNT_DUTY_CYCLE_2), + .PLL_C_CNT_FREQ_PS_STR_3 (PLL_C_CNT_FREQ_PS_STR_3), + .PLL_C_CNT_PHASE_PS_STR_3 (PLL_C_CNT_PHASE_PS_STR_3), + .PLL_C_CNT_DUTY_CYCLE_3 (PLL_C_CNT_DUTY_CYCLE_3), + .PLL_C_CNT_FREQ_PS_STR_4 (PLL_C_CNT_FREQ_PS_STR_4), + .PLL_C_CNT_PHASE_PS_STR_4 (PLL_C_CNT_PHASE_PS_STR_4), + .PLL_C_CNT_DUTY_CYCLE_4 (PLL_C_CNT_DUTY_CYCLE_4), + .PLL_C_CNT_FREQ_PS_STR_5 (PLL_C_CNT_FREQ_PS_STR_5), + .PLL_C_CNT_PHASE_PS_STR_5 (PLL_C_CNT_PHASE_PS_STR_5), + .PLL_C_CNT_DUTY_CYCLE_5 (PLL_C_CNT_DUTY_CYCLE_5), + .PLL_C_CNT_FREQ_PS_STR_6 (PLL_C_CNT_FREQ_PS_STR_6), + .PLL_C_CNT_PHASE_PS_STR_6 (PLL_C_CNT_PHASE_PS_STR_6), + .PLL_C_CNT_DUTY_CYCLE_6 (PLL_C_CNT_DUTY_CYCLE_6), + .PLL_C_CNT_FREQ_PS_STR_7 (PLL_C_CNT_FREQ_PS_STR_7), + .PLL_C_CNT_PHASE_PS_STR_7 (PLL_C_CNT_PHASE_PS_STR_7), + .PLL_C_CNT_DUTY_CYCLE_7 (PLL_C_CNT_DUTY_CYCLE_7), + .PLL_C_CNT_FREQ_PS_STR_8 (PLL_C_CNT_FREQ_PS_STR_8), + .PLL_C_CNT_PHASE_PS_STR_8 (PLL_C_CNT_PHASE_PS_STR_8), + .PLL_C_CNT_DUTY_CYCLE_8 (PLL_C_CNT_DUTY_CYCLE_8), + .PLL_C_CNT_OUT_EN_0 (PLL_C_CNT_OUT_EN_0), + .PLL_C_CNT_OUT_EN_1 (PLL_C_CNT_OUT_EN_1), + .PLL_C_CNT_OUT_EN_2 (PLL_C_CNT_OUT_EN_2), + .PLL_C_CNT_OUT_EN_3 (PLL_C_CNT_OUT_EN_3), + .PLL_C_CNT_OUT_EN_4 (PLL_C_CNT_OUT_EN_4), + .PLL_C_CNT_OUT_EN_5 (PLL_C_CNT_OUT_EN_5), + .PLL_C_CNT_OUT_EN_6 (PLL_C_CNT_OUT_EN_6), + .PLL_C_CNT_OUT_EN_7 (PLL_C_CNT_OUT_EN_7), + .PLL_C_CNT_OUT_EN_8 (PLL_C_CNT_OUT_EN_8), + .PLL_FBCLK_MUX_1 (PLL_FBCLK_MUX_1), + .PLL_FBCLK_MUX_2 (PLL_FBCLK_MUX_2), + .PLL_M_CNT_IN_SRC (PLL_M_CNT_IN_SRC), + + .PLL_C_CNT_FREQ_MHZ_STR_0 (PLL_C_CNT_FREQ_MHZ_STR_0), + .PLL_C_CNT_FREQ_MHZ_STR_1 (PLL_C_CNT_FREQ_MHZ_STR_1), + .PLL_C_CNT_FREQ_MHZ_STR_2 (PLL_C_CNT_FREQ_MHZ_STR_2), + .PLL_C_CNT_FREQ_MHZ_STR_3 (PLL_C_CNT_FREQ_MHZ_STR_3), + .PLL_C_CNT_FREQ_MHZ_STR_4 (PLL_C_CNT_FREQ_MHZ_STR_4), + .PLL_C_CNT_FREQ_MHZ_STR_5 (PLL_C_CNT_FREQ_MHZ_STR_5), + .PLL_C_CNT_FREQ_MHZ_STR_6 (PLL_C_CNT_FREQ_MHZ_STR_6), + .PLL_C_CNT_FREQ_MHZ_STR_7 (PLL_C_CNT_FREQ_MHZ_STR_7), + .PLL_C_CNT_FREQ_MHZ_STR_8 (PLL_C_CNT_FREQ_MHZ_STR_8), + + .PLL_BW_SEL (PLL_BW_SEL), + .IS_HPS (IS_HPS) + ) pll_inst ( + .* + ); + // synthesis translate_off + end + // synthesis translate_on + endgenerate + + altera_emif_arch_fm_pll_extra_clks # ( + .PLL_NUM_OF_EXTRA_CLKS (PLL_NUM_OF_EXTRA_CLKS), + .DIAG_SIM_REGTEST_MODE (DIAG_SIM_REGTEST_MODE) + ) pll_extra_clks_inst ( + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // OCT Block + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_oct # ( + .PHY_CALIBRATED_OCT (PHY_CALIBRATED_OCT) + ) oct_inst ( + .oct_rzqin (oct_rzqin2ter), + .oct_termin (oct_termin) + ); + + //////////////////////////////////////////////////////////////////////////// + // Output clock and reset signals + //////////////////////////////////////////////////////////////////////////// + generate + if (IS_HPS) begin : hps + altera_emif_arch_fm_hps_clks_rsts # ( + .PORT_CLKS_SHARING_MASTER_OUT_WIDTH (PORT_CLKS_SHARING_MASTER_OUT_WIDTH), + .PORT_CLKS_SHARING_SLAVE_IN_WIDTH (PORT_CLKS_SHARING_SLAVE_IN_WIDTH), + .PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH (PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH), + .PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH (PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH), + .PORT_HPS_EMIF_H2E_GP_WIDTH (PORT_HPS_EMIF_H2E_GP_WIDTH) + ) hps_clks_rsts_inst ( + .* + ); + end else begin : non_hps + altera_emif_arch_fm_core_clks_rsts # ( + .PHY_CONFIG_ENUM (PHY_CONFIG_ENUM), + .PHY_CORE_CLKS_SHARING_ENUM (PHY_CORE_CLKS_SHARING_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .USER_CLK_RATIO (USER_CLK_RATIO), + .C2P_P2C_CLK_RATIO (C2P_P2C_CLK_RATIO), + .PORT_CLKS_SHARING_MASTER_OUT_WIDTH (PORT_CLKS_SHARING_MASTER_OUT_WIDTH), + .PORT_CLKS_SHARING_SLAVE_IN_WIDTH (PORT_CLKS_SHARING_SLAVE_IN_WIDTH), + .DIAG_CPA_OUT_1_EN (DIAG_CPA_OUT_1_EN), + .DIAG_USE_CPA_LOCK (DIAG_USE_CPA_LOCK), + .DIAG_SYNTH_FOR_SIM (DIAG_SYNTH_FOR_SIM), + .PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH (PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH), + .PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH (PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH) + ) core_clks_rsts_inst ( + .* + ); + end + endgenerate + + //////////////////////////////////////////////////////////////////////////// + // Reset request control + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_local_reset # ( + .PHY_CONFIG_ENUM (PHY_CONFIG_ENUM), + .IS_HPS (IS_HPS) + ) local_reset_inst ( + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // I/O Buffers + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_bufs # ( + .PROTOCOL_ENUM (PROTOCOL_ENUM), + .PINS_PER_LANE (PINS_PER_LANE), + .PINS_IN_RTL_TILES (PINS_IN_RTL_TILES), + .LANES_IN_RTL_TILES (LANES_IN_RTL_TILES), + .OCT_CONTROL_WIDTH (OCT_CONTROL_WIDTH), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .UNUSED_MEM_PINS_PINLOC (UNUSED_MEM_PINS_PINLOC), + .UNUSED_DQS_BUSES_LANELOC (UNUSED_DQS_BUSES_LANELOC), + + // Assignment of port widths for "mem" interface + //AUTOGEN_BEGIN: Assignment of memory port widths + .PORT_MEM_CK_WIDTH (PORT_MEM_CK_WIDTH), + .PORT_MEM_CK_N_WIDTH (PORT_MEM_CK_N_WIDTH), + .PORT_MEM_DK_WIDTH (PORT_MEM_DK_WIDTH), + .PORT_MEM_DK_N_WIDTH (PORT_MEM_DK_N_WIDTH), + .PORT_MEM_DKA_WIDTH (PORT_MEM_DKA_WIDTH), + .PORT_MEM_DKA_N_WIDTH (PORT_MEM_DKA_N_WIDTH), + .PORT_MEM_DKB_WIDTH (PORT_MEM_DKB_WIDTH), + .PORT_MEM_DKB_N_WIDTH (PORT_MEM_DKB_N_WIDTH), + .PORT_MEM_K_WIDTH (PORT_MEM_K_WIDTH), + .PORT_MEM_K_N_WIDTH (PORT_MEM_K_N_WIDTH), + .PORT_MEM_A_WIDTH (PORT_MEM_A_WIDTH), + .PORT_MEM_BA_WIDTH (PORT_MEM_BA_WIDTH), + .PORT_MEM_BG_WIDTH (PORT_MEM_BG_WIDTH), + .PORT_MEM_C_WIDTH (PORT_MEM_C_WIDTH), + .PORT_MEM_CKE_WIDTH (PORT_MEM_CKE_WIDTH), + .PORT_MEM_CS_N_WIDTH (PORT_MEM_CS_N_WIDTH), + .PORT_MEM_RM_WIDTH (PORT_MEM_RM_WIDTH), + .PORT_MEM_ODT_WIDTH (PORT_MEM_ODT_WIDTH), + .PORT_MEM_GNT_N_WIDTH (PORT_MEM_GNT_N_WIDTH), + .PORT_MEM_REQ_N_WIDTH (PORT_MEM_REQ_N_WIDTH), + .PORT_MEM_ERR_N_WIDTH (PORT_MEM_ERR_N_WIDTH), + .PORT_MEM_RAS_N_WIDTH (PORT_MEM_RAS_N_WIDTH), + .PORT_MEM_CAS_N_WIDTH (PORT_MEM_CAS_N_WIDTH), + .PORT_MEM_WE_N_WIDTH (PORT_MEM_WE_N_WIDTH), + .PORT_MEM_RESET_N_WIDTH (PORT_MEM_RESET_N_WIDTH), + .PORT_MEM_ACT_N_WIDTH (PORT_MEM_ACT_N_WIDTH), + .PORT_MEM_PAR_WIDTH (PORT_MEM_PAR_WIDTH), + .PORT_MEM_CA_WIDTH (PORT_MEM_CA_WIDTH), + .PORT_MEM_REF_N_WIDTH (PORT_MEM_REF_N_WIDTH), + .PORT_MEM_WPS_N_WIDTH (PORT_MEM_WPS_N_WIDTH), + .PORT_MEM_RPS_N_WIDTH (PORT_MEM_RPS_N_WIDTH), + .PORT_MEM_DOFF_N_WIDTH (PORT_MEM_DOFF_N_WIDTH), + .PORT_MEM_LDA_N_WIDTH (PORT_MEM_LDA_N_WIDTH), + .PORT_MEM_LDB_N_WIDTH (PORT_MEM_LDB_N_WIDTH), + .PORT_MEM_RWA_N_WIDTH (PORT_MEM_RWA_N_WIDTH), + .PORT_MEM_RWB_N_WIDTH (PORT_MEM_RWB_N_WIDTH), + .PORT_MEM_LBK0_N_WIDTH (PORT_MEM_LBK0_N_WIDTH), + .PORT_MEM_LBK1_N_WIDTH (PORT_MEM_LBK1_N_WIDTH), + .PORT_MEM_CFG_N_WIDTH (PORT_MEM_CFG_N_WIDTH), + .PORT_MEM_AP_WIDTH (PORT_MEM_AP_WIDTH), + .PORT_MEM_AINV_WIDTH (PORT_MEM_AINV_WIDTH), + .PORT_MEM_DM_WIDTH (PORT_MEM_DM_WIDTH), + .PORT_MEM_BWS_N_WIDTH (PORT_MEM_BWS_N_WIDTH), + .PORT_MEM_D_WIDTH (PORT_MEM_D_WIDTH), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_MEM_DBI_N_WIDTH (PORT_MEM_DBI_N_WIDTH), + .PORT_MEM_DQA_WIDTH (PORT_MEM_DQA_WIDTH), + .PORT_MEM_DQB_WIDTH (PORT_MEM_DQB_WIDTH), + .PORT_MEM_DINVA_WIDTH (PORT_MEM_DINVA_WIDTH), + .PORT_MEM_DINVB_WIDTH (PORT_MEM_DINVB_WIDTH), + .PORT_MEM_Q_WIDTH (PORT_MEM_Q_WIDTH), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQS_N_WIDTH (PORT_MEM_DQS_N_WIDTH), + .PORT_MEM_QK_WIDTH (PORT_MEM_QK_WIDTH), + .PORT_MEM_QK_N_WIDTH (PORT_MEM_QK_N_WIDTH), + .PORT_MEM_QKA_WIDTH (PORT_MEM_QKA_WIDTH), + .PORT_MEM_QKA_N_WIDTH (PORT_MEM_QKA_N_WIDTH), + .PORT_MEM_QKB_WIDTH (PORT_MEM_QKB_WIDTH), + .PORT_MEM_QKB_N_WIDTH (PORT_MEM_QKB_N_WIDTH), + .PORT_MEM_CQ_WIDTH (PORT_MEM_CQ_WIDTH), + .PORT_MEM_CQ_N_WIDTH (PORT_MEM_CQ_N_WIDTH), + .PORT_MEM_ALERT_N_WIDTH (PORT_MEM_ALERT_N_WIDTH), + .PORT_MEM_PE_N_WIDTH (PORT_MEM_PE_N_WIDTH), + + // Assignment of parameters describing logical pin allocation + //AUTOGEN_BEGIN: Assignment of memory port pinlocs + .PORT_MEM_CK_PINLOC (PORT_MEM_CK_PINLOC), + .PORT_MEM_CK_N_PINLOC (PORT_MEM_CK_N_PINLOC), + .PORT_MEM_DK_PINLOC (PORT_MEM_DK_PINLOC), + .PORT_MEM_DK_N_PINLOC (PORT_MEM_DK_N_PINLOC), + .PORT_MEM_DKA_PINLOC (PORT_MEM_DKA_PINLOC), + .PORT_MEM_DKA_N_PINLOC (PORT_MEM_DKA_N_PINLOC), + .PORT_MEM_DKB_PINLOC (PORT_MEM_DKB_PINLOC), + .PORT_MEM_DKB_N_PINLOC (PORT_MEM_DKB_N_PINLOC), + .PORT_MEM_K_PINLOC (PORT_MEM_K_PINLOC), + .PORT_MEM_K_N_PINLOC (PORT_MEM_K_N_PINLOC), + .PORT_MEM_A_PINLOC (PORT_MEM_A_PINLOC), + .PORT_MEM_BA_PINLOC (PORT_MEM_BA_PINLOC), + .PORT_MEM_BG_PINLOC (PORT_MEM_BG_PINLOC), + .PORT_MEM_C_PINLOC (PORT_MEM_C_PINLOC), + .PORT_MEM_CKE_PINLOC (PORT_MEM_CKE_PINLOC), + .PORT_MEM_CS_N_PINLOC (PORT_MEM_CS_N_PINLOC), + .PORT_MEM_RM_PINLOC (PORT_MEM_RM_PINLOC), + .PORT_MEM_ODT_PINLOC (PORT_MEM_ODT_PINLOC), + .PORT_MEM_RAS_N_PINLOC (PORT_MEM_RAS_N_PINLOC), + .PORT_MEM_CAS_N_PINLOC (PORT_MEM_CAS_N_PINLOC), + .PORT_MEM_WE_N_PINLOC (PORT_MEM_WE_N_PINLOC), + .PORT_MEM_RESET_N_PINLOC (PORT_MEM_RESET_N_PINLOC), + .PORT_MEM_ACT_N_PINLOC (PORT_MEM_ACT_N_PINLOC), + .PORT_MEM_PAR_PINLOC (PORT_MEM_PAR_PINLOC), + .PORT_MEM_CA_PINLOC (PORT_MEM_CA_PINLOC), + .PORT_MEM_REF_N_PINLOC (PORT_MEM_REF_N_PINLOC), + .PORT_MEM_WPS_N_PINLOC (PORT_MEM_WPS_N_PINLOC), + .PORT_MEM_RPS_N_PINLOC (PORT_MEM_RPS_N_PINLOC), + .PORT_MEM_DOFF_N_PINLOC (PORT_MEM_DOFF_N_PINLOC), + .PORT_MEM_LDA_N_PINLOC (PORT_MEM_LDA_N_PINLOC), + .PORT_MEM_LDB_N_PINLOC (PORT_MEM_LDB_N_PINLOC), + .PORT_MEM_RWA_N_PINLOC (PORT_MEM_RWA_N_PINLOC), + .PORT_MEM_RWB_N_PINLOC (PORT_MEM_RWB_N_PINLOC), + .PORT_MEM_LBK0_N_PINLOC (PORT_MEM_LBK0_N_PINLOC), + .PORT_MEM_LBK1_N_PINLOC (PORT_MEM_LBK1_N_PINLOC), + .PORT_MEM_CFG_N_PINLOC (PORT_MEM_CFG_N_PINLOC), + .PORT_MEM_AP_PINLOC (PORT_MEM_AP_PINLOC), + .PORT_MEM_AINV_PINLOC (PORT_MEM_AINV_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_DQA_PINLOC (PORT_MEM_DQA_PINLOC), + .PORT_MEM_DQB_PINLOC (PORT_MEM_DQB_PINLOC), + .PORT_MEM_DINVA_PINLOC (PORT_MEM_DINVA_PINLOC), + .PORT_MEM_DINVB_PINLOC (PORT_MEM_DINVB_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_DQS_PINLOC (PORT_MEM_DQS_PINLOC), + .PORT_MEM_DQS_N_PINLOC (PORT_MEM_DQS_N_PINLOC), + .PORT_MEM_QK_PINLOC (PORT_MEM_QK_PINLOC), + .PORT_MEM_QK_N_PINLOC (PORT_MEM_QK_N_PINLOC), + .PORT_MEM_QKA_PINLOC (PORT_MEM_QKA_PINLOC), + .PORT_MEM_QKA_N_PINLOC (PORT_MEM_QKA_N_PINLOC), + .PORT_MEM_QKB_PINLOC (PORT_MEM_QKB_PINLOC), + .PORT_MEM_QKB_N_PINLOC (PORT_MEM_QKB_N_PINLOC), + .PORT_MEM_CQ_PINLOC (PORT_MEM_CQ_PINLOC), + .PORT_MEM_CQ_N_PINLOC (PORT_MEM_CQ_N_PINLOC), + .PORT_MEM_ALERT_N_PINLOC (PORT_MEM_ALERT_N_PINLOC), + .PORT_MEM_PE_N_PINLOC (PORT_MEM_PE_N_PINLOC), + + .HPRX_CTLE_EN (HPRX_CTLE_EN), + .HPRX_OFFSET_CAL (HPRX_OFFSET_CAL), + + .PHY_CALIBRATED_OCT (PHY_CALIBRATED_OCT), + .PHY_AC_CALIBRATED_OCT (PHY_AC_CALIBRATED_OCT), + .PHY_CK_CALIBRATED_OCT (PHY_CK_CALIBRATED_OCT), + .PHY_DATA_CALIBRATED_OCT (PHY_DATA_CALIBRATED_OCT) + ) bufs_inst ( + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // Tiles and Lanes + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_io_tiles_wrap # ( + .DIAG_SYNTH_FOR_SIM (DIAG_SYNTH_FOR_SIM), + .DIAG_CPA_OUT_1_EN (DIAG_CPA_OUT_1_EN), + .DIAG_FAST_SIM (DIAG_FAST_SIM), + .DIAG_SIM_VERBOSE_LEVEL (DIAG_SIM_VERBOSE_LEVEL), + .DIAG_SEQ_RESET_AUTO_RELEASE (DIAG_SEQ_RESET_AUTO_RELEASE), + .DIAG_DB_RESET_AUTO_RELEASE (DIAG_DB_RESET_AUTO_RELEASE), + .IS_HPS (IS_HPS), + .SILICON_REV (SILICON_REV), + .PROTOCOL_ENUM (PROTOCOL_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .USER_CLK_RATIO (USER_CLK_RATIO), + .PHY_HMC_CLK_RATIO (PHY_HMC_CLK_RATIO), + .C2P_P2C_CLK_RATIO (C2P_P2C_CLK_RATIO), + .PLL_VCO_FREQ_MHZ_INT (PLL_VCO_FREQ_MHZ_INT), + .PLL_MEM_CLK_FREQ_PS (PLL_MEM_CLK_FREQ_PS), + .PLL_VCO_TO_MEM_CLK_FREQ_RATIO (PLL_VCO_TO_MEM_CLK_FREQ_RATIO), + .MEM_BURST_LENGTH (MEM_BURST_LENGTH), + .MEM_DATA_MASK_EN (MEM_DATA_MASK_EN), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .HMC_CTRL_DIMM_TYPE (HMC_CTRL_DIMM_TYPE), + .PHY_MIMIC_HPS_EMIF (PHY_MIMIC_HPS_EMIF), + .CPA_FB_MUX_1_SEL (CPA_FB_MUX_1_SEL), + .PRI_HMC_CFG_PING_PONG_MODE (PRI_HMC_CFG_PING_PONG_MODE), + .PRI_HMC_CFG_CS_ADDR_WIDTH (PRI_HMC_CFG_CS_ADDR_WIDTH), + .PRI_HMC_CFG_COL_ADDR_WIDTH (PRI_HMC_CFG_COL_ADDR_WIDTH), + .PRI_HMC_CFG_ROW_ADDR_WIDTH (PRI_HMC_CFG_ROW_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_ADDR_WIDTH (PRI_HMC_CFG_BANK_ADDR_WIDTH), + .PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH (PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .PRI_HMC_CFG_ADDR_ORDER (PRI_HMC_CFG_ADDR_ORDER), + .PRI_HMC_CFG_ARBITER_TYPE (PRI_HMC_CFG_ARBITER_TYPE), + .PRI_HMC_CFG_OPEN_PAGE_EN (PRI_HMC_CFG_OPEN_PAGE_EN), + .PRI_HMC_CFG_CTRL_ENABLE_RC (PRI_HMC_CFG_CTRL_ENABLE_RC), + .PRI_HMC_CFG_DBC0_ENABLE_RC (PRI_HMC_CFG_DBC0_ENABLE_RC), + .PRI_HMC_CFG_DBC1_ENABLE_RC (PRI_HMC_CFG_DBC1_ENABLE_RC), + .PRI_HMC_CFG_DBC2_ENABLE_RC (PRI_HMC_CFG_DBC2_ENABLE_RC), + .PRI_HMC_CFG_DBC3_ENABLE_RC (PRI_HMC_CFG_DBC3_ENABLE_RC), + .PRI_HMC_CFG_CTRL_ENABLE_ECC (PRI_HMC_CFG_CTRL_ENABLE_ECC), + .PRI_HMC_CFG_DBC0_ENABLE_ECC (PRI_HMC_CFG_DBC0_ENABLE_ECC), + .PRI_HMC_CFG_DBC1_ENABLE_ECC (PRI_HMC_CFG_DBC1_ENABLE_ECC), + .PRI_HMC_CFG_DBC2_ENABLE_ECC (PRI_HMC_CFG_DBC2_ENABLE_ECC), + .PRI_HMC_CFG_DBC3_ENABLE_ECC (PRI_HMC_CFG_DBC3_ENABLE_ECC), + .PRI_HMC_CFG_REORDER_DATA (PRI_HMC_CFG_REORDER_DATA), + .PRI_HMC_CFG_REORDER_READ (PRI_HMC_CFG_REORDER_READ), + .PRI_HMC_CFG_CTRL_REORDER_RDATA (PRI_HMC_CFG_CTRL_REORDER_RDATA), + .PRI_HMC_CFG_DBC0_REORDER_RDATA (PRI_HMC_CFG_DBC0_REORDER_RDATA), + .PRI_HMC_CFG_DBC1_REORDER_RDATA (PRI_HMC_CFG_DBC1_REORDER_RDATA), + .PRI_HMC_CFG_DBC2_REORDER_RDATA (PRI_HMC_CFG_DBC2_REORDER_RDATA), + .PRI_HMC_CFG_DBC3_REORDER_RDATA (PRI_HMC_CFG_DBC3_REORDER_RDATA), + .PRI_HMC_CFG_CTRL_SLOT_OFFSET (PRI_HMC_CFG_CTRL_SLOT_OFFSET), + .PRI_HMC_CFG_DBC0_SLOT_OFFSET (PRI_HMC_CFG_DBC0_SLOT_OFFSET), + .PRI_HMC_CFG_DBC1_SLOT_OFFSET (PRI_HMC_CFG_DBC1_SLOT_OFFSET), + .PRI_HMC_CFG_DBC2_SLOT_OFFSET (PRI_HMC_CFG_DBC2_SLOT_OFFSET), + .PRI_HMC_CFG_DBC3_SLOT_OFFSET (PRI_HMC_CFG_DBC3_SLOT_OFFSET), + .PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN (PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN (PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .PRI_HMC_CFG_COL_CMD_SLOT (PRI_HMC_CFG_COL_CMD_SLOT), + .PRI_HMC_CFG_ROW_CMD_SLOT (PRI_HMC_CFG_ROW_CMD_SLOT), + .PRI_HMC_CFG_ROW_TO_COL_OFFSET (PRI_HMC_CFG_ROW_TO_COL_OFFSET), + .PRI_HMC_CFG_ROW_TO_ROW_OFFSET (PRI_HMC_CFG_ROW_TO_ROW_OFFSET), + .PRI_HMC_CFG_COL_TO_COL_OFFSET (PRI_HMC_CFG_COL_TO_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET (PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .PRI_HMC_CFG_COL_TO_ROW_OFFSET (PRI_HMC_CFG_COL_TO_ROW_OFFSET), + .PRI_HMC_CFG_SIDEBAND_OFFSET (PRI_HMC_CFG_SIDEBAND_OFFSET), + .PRI_HMC_CFG_CS_TO_CHIP_MAPPING (PRI_HMC_CFG_CS_TO_CHIP_MAPPING), + .PRI_HMC_CFG_CTL_ODT_ENABLED (PRI_HMC_CFG_CTL_ODT_ENABLED), + .PRI_HMC_CFG_RD_ODT_ON (PRI_HMC_CFG_RD_ODT_ON), + .PRI_HMC_CFG_RD_ODT_PERIOD (PRI_HMC_CFG_RD_ODT_PERIOD), + .PRI_HMC_CFG_READ_ODT_CHIP (PRI_HMC_CFG_READ_ODT_CHIP), + .PRI_HMC_CFG_WR_ODT_ON (PRI_HMC_CFG_WR_ODT_ON), + .PRI_HMC_CFG_WR_ODT_PERIOD (PRI_HMC_CFG_WR_ODT_PERIOD), + .PRI_HMC_CFG_WRITE_ODT_CHIP (PRI_HMC_CFG_WRITE_ODT_CHIP), + .PRI_HMC_CFG_CMD_FIFO_RESERVE_EN (PRI_HMC_CFG_CMD_FIFO_RESERVE_EN), + .PRI_HMC_CFG_RB_RESERVED_ENTRY (PRI_HMC_CFG_RB_RESERVED_ENTRY), + .PRI_HMC_CFG_WB_RESERVED_ENTRY (PRI_HMC_CFG_WB_RESERVED_ENTRY), + .PRI_HMC_CFG_STARVE_LIMIT (PRI_HMC_CFG_STARVE_LIMIT), + .PRI_HMC_CFG_PHY_DELAY_MISMATCH (PRI_HMC_CFG_PHY_DELAY_MISMATCH), + .PRI_HMC_CFG_DQSTRK_EN (PRI_HMC_CFG_DQSTRK_EN), + .PRI_HMC_CFG_DQSTRK_TO_VALID (PRI_HMC_CFG_DQSTRK_TO_VALID), + .PRI_HMC_CFG_DQSTRK_TO_VALID_LAST (PRI_HMC_CFG_DQSTRK_TO_VALID_LAST), + .PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN (PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL (PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN (PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD (PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .PRI_HMC_CFG_USER_RFSH_EN (PRI_HMC_CFG_USER_RFSH_EN), + .PRI_HMC_CFG_GEAR_DOWN_EN (PRI_HMC_CFG_GEAR_DOWN_EN), + .PRI_HMC_CFG_MEM_AUTO_PD_CYCLES (PRI_HMC_CFG_MEM_AUTO_PD_CYCLES), + .PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC(PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .PRI_HMC_MEMCLKGATE_SETTING (PRI_HMC_MEMCLKGATE_SETTING), + .PRI_HMC_CFG_TCL (PRI_HMC_CFG_TCL), + .PRI_HMC_CFG_16_ACT_TO_ACT (PRI_HMC_CFG_16_ACT_TO_ACT), + .PRI_HMC_CFG_4_ACT_TO_ACT (PRI_HMC_CFG_4_ACT_TO_ACT), + .PRI_HMC_MEM_IF_AL (PRI_HMC_MEM_IF_AL), + .PRI_HMC_MEM_IF_CS_PER_DIMM (PRI_HMC_MEM_IF_CS_PER_DIMM), + .PRI_HMC_MEM_IF_RD_PREAMBLE (PRI_HMC_MEM_IF_RD_PREAMBLE), + .PRI_HMC_MEM_IF_TCCD (PRI_HMC_MEM_IF_TCCD), + .PRI_HMC_MEM_IF_TCCD_S (PRI_HMC_MEM_IF_TCCD_S), + .PRI_HMC_MEM_IF_TCKESR (PRI_HMC_MEM_IF_TCKESR), + .PRI_HMC_MEM_IF_TCKSRX (PRI_HMC_MEM_IF_TCKSRX), + .PRI_HMC_MEM_IF_TCL (PRI_HMC_MEM_IF_TCL), + .PRI_HMC_MEM_IF_TCWL (PRI_HMC_MEM_IF_TCWL), + .PRI_HMC_MEM_IF_TDQSCKMAX (PRI_HMC_MEM_IF_TDQSCKMAX), + .PRI_HMC_MEM_IF_TFAW (PRI_HMC_MEM_IF_TFAW), + .PRI_HMC_MEM_IF_TMOD (PRI_HMC_MEM_IF_TMOD), + .PRI_HMC_MEM_IF_TPL (PRI_HMC_MEM_IF_TPL), + .PRI_HMC_MEM_IF_TRAS (PRI_HMC_MEM_IF_TRAS), + .PRI_HMC_MEM_IF_TRC (PRI_HMC_MEM_IF_TRC), + .PRI_HMC_MEM_IF_TRCD (PRI_HMC_MEM_IF_TRCD), + .PRI_HMC_MEM_IF_TREFI (PRI_HMC_MEM_IF_TREFI), + .PRI_HMC_MEM_IF_TRFC (PRI_HMC_MEM_IF_TRFC), + .PRI_HMC_MEM_IF_TRP (PRI_HMC_MEM_IF_TRP), + .PRI_HMC_MEM_IF_TRRD (PRI_HMC_MEM_IF_TRRD), + .PRI_HMC_MEM_IF_TRRD_S (PRI_HMC_MEM_IF_TRRD_S), + .PRI_HMC_MEM_IF_TRTP (PRI_HMC_MEM_IF_TRTP), + .PRI_HMC_MEM_IF_TWR (PRI_HMC_MEM_IF_TWR), + .PRI_HMC_MEM_IF_TWR_CRC_DM (PRI_HMC_MEM_IF_TWR_CRC_DM), + .PRI_HMC_MEM_IF_TWTR (PRI_HMC_MEM_IF_TWTR), + .PRI_HMC_MEM_IF_TWTR_L_CRC_DM (PRI_HMC_MEM_IF_TWTR_L_CRC_DM), + .PRI_HMC_MEM_IF_TWTR_S (PRI_HMC_MEM_IF_TWTR_S), + .PRI_HMC_MEM_IF_TWTR_S_CRC_DM (PRI_HMC_MEM_IF_TWTR_S_CRC_DM), + .PRI_HMC_MEM_IF_TXP (PRI_HMC_MEM_IF_TXP), + .PRI_HMC_MEM_IF_TXPDLL (PRI_HMC_MEM_IF_TXPDLL), + .PRI_HMC_MEM_IF_TXSR (PRI_HMC_MEM_IF_TXSR), + .PRI_HMC_MEM_IF_TZQCS (PRI_HMC_MEM_IF_TZQCS), + .PRI_HMC_MEM_IF_TZQOPER (PRI_HMC_MEM_IF_TZQOPER), + .PRI_HMC_MEM_IF_WR_CRC (PRI_HMC_MEM_IF_WR_CRC), + .PRI_HMC_MEM_IF_WR_PREAMBLE (PRI_HMC_MEM_IF_WR_PREAMBLE), + .PRI_HMC_CFG_ACT_TO_ACT (PRI_HMC_CFG_ACT_TO_ACT), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG (PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .PRI_HMC_CFG_ACT_TO_PCH (PRI_HMC_CFG_ACT_TO_PCH), + .PRI_HMC_CFG_ACT_TO_RDWR (PRI_HMC_CFG_ACT_TO_RDWR), + .PRI_HMC_CFG_ARF_PERIOD (PRI_HMC_CFG_ARF_PERIOD), + .PRI_HMC_CFG_ARF_TO_VALID (PRI_HMC_CFG_ARF_TO_VALID), + .PRI_HMC_CFG_MMR_CMD_TO_VALID (PRI_HMC_CFG_MMR_CMD_TO_VALID), + .PRI_HMC_CFG_MPR_TO_VALID (PRI_HMC_CFG_MPR_TO_VALID), + .PRI_HMC_CFG_MPS_DQSTRK_DISABLE (PRI_HMC_CFG_MPS_DQSTRK_DISABLE), + .PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS (PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE (PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .PRI_HMC_CFG_MPS_TO_VALID (PRI_HMC_CFG_MPS_TO_VALID), + .PRI_HMC_CFG_MPS_ZQCAL_DISABLE (PRI_HMC_CFG_MPS_ZQCAL_DISABLE), + .PRI_HMC_CFG_MRR_TO_VALID (PRI_HMC_CFG_MRR_TO_VALID), + .PRI_HMC_CFG_MRS_TO_VALID (PRI_HMC_CFG_MRS_TO_VALID), + .PRI_HMC_CFG_PCH_ALL_TO_VALID (PRI_HMC_CFG_PCH_ALL_TO_VALID), + .PRI_HMC_CFG_PCH_TO_VALID (PRI_HMC_CFG_PCH_TO_VALID), + .PRI_HMC_CFG_PDN_PERIOD (PRI_HMC_CFG_PDN_PERIOD), + .PRI_HMC_CFG_PDN_TO_VALID (PRI_HMC_CFG_PDN_TO_VALID), + .PRI_HMC_CFG_POWER_SAVING_EXIT_CYC (PRI_HMC_CFG_POWER_SAVING_EXIT_CYC), + .PRI_HMC_CFG_RD_AP_TO_VALID (PRI_HMC_CFG_RD_AP_TO_VALID), + .PRI_HMC_CFG_RD_TO_PCH (PRI_HMC_CFG_RD_TO_PCH), + .PRI_HMC_CFG_RD_TO_RD (PRI_HMC_CFG_RD_TO_RD), + .PRI_HMC_CFG_RD_TO_RD_DIFF_BG (PRI_HMC_CFG_RD_TO_RD_DIFF_BG), + .PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP (PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_RD_TO_WR (PRI_HMC_CFG_RD_TO_WR), + .PRI_HMC_CFG_RD_TO_WR_DIFF_BG (PRI_HMC_CFG_RD_TO_WR_DIFF_BG), + .PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP (PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_RFSH_WARN_THRESHOLD (PRI_HMC_CFG_RFSH_WARN_THRESHOLD), + .PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ0 (PRI_HMC_CFG_RLD3_REFRESH_SEQ0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ1 (PRI_HMC_CFG_RLD3_REFRESH_SEQ1), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ2 (PRI_HMC_CFG_RLD3_REFRESH_SEQ2), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ3 (PRI_HMC_CFG_RLD3_REFRESH_SEQ3), + .PRI_HMC_CFG_SB_CG_DISABLE (PRI_HMC_CFG_SB_CG_DISABLE), + .PRI_HMC_CFG_SB_DDR4_MR3 (PRI_HMC_CFG_SB_DDR4_MR3), + .PRI_HMC_CFG_SB_DDR4_MR4 (PRI_HMC_CFG_SB_DDR4_MR4), + .PRI_HMC_CFG_SB_DDR4_MR5 (PRI_HMC_CFG_SB_DDR4_MR5), + .PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR (PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .PRI_HMC_CFG_SRF_AUTOEXIT_EN (PRI_HMC_CFG_SRF_AUTOEXIT_EN), + .PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .PRI_HMC_CFG_SRF_TO_VALID (PRI_HMC_CFG_SRF_TO_VALID), + .PRI_HMC_CFG_SRF_TO_ZQ_CAL (PRI_HMC_CFG_SRF_TO_ZQ_CAL), + .PRI_HMC_CFG_SRF_ZQCAL_DISABLE (PRI_HMC_CFG_SRF_ZQCAL_DISABLE), + .PRI_HMC_TEMP_4_ACT_TO_ACT (PRI_HMC_TEMP_4_ACT_TO_ACT), + .PRI_HMC_TEMP_RD_TO_RD_DIFF_BG (PRI_HMC_TEMP_RD_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD (PRI_HMC_TEMP_WR_TO_RD), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_BG (PRI_HMC_TEMP_WR_TO_RD_DIFF_BG), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP (PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_TEMP_WR_TO_WR_DIFF_BG (PRI_HMC_TEMP_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_AP_TO_VALID (PRI_HMC_CFG_WR_AP_TO_VALID), + .PRI_HMC_CFG_WR_TO_PCH (PRI_HMC_CFG_WR_TO_PCH), + .PRI_HMC_CFG_WR_TO_RD (PRI_HMC_CFG_WR_TO_RD), + .PRI_HMC_CFG_WR_TO_RD_DIFF_BG (PRI_HMC_CFG_WR_TO_RD_DIFF_BG), + .PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP (PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .PRI_HMC_CFG_WR_TO_WR (PRI_HMC_CFG_WR_TO_WR), + .PRI_HMC_CFG_WR_TO_WR_DIFF_BG (PRI_HMC_CFG_WR_TO_WR_DIFF_BG), + .PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP (PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .PRI_HMC_CFG_ZQCL_TO_VALID (PRI_HMC_CFG_ZQCL_TO_VALID), + .PRI_HMC_CFG_ZQCS_TO_VALID (PRI_HMC_CFG_ZQCS_TO_VALID), + .PRI_HMC_CFG_MAJOR_MODE_EN (PRI_HMC_CFG_MAJOR_MODE_EN), + .PRI_HMC_CFG_REFRESH_TYPE (PRI_HMC_CFG_REFRESH_TYPE), + .PRI_HMC_CFG_POST_REFRESH_EN (PRI_HMC_CFG_POST_REFRESH_EN), + .PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT (PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .PRI_HMC_CFG_PRE_REFRESH_EN (PRI_HMC_CFG_PRE_REFRESH_EN), + .PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .PRI_HMC_CHIP_ID (PRI_HMC_CHIP_ID), + .PRI_HMC_CID_ADDR_WIDTH (PRI_HMC_CID_ADDR_WIDTH), + .PRI_HMC_3DS_EN (PRI_HMC_3DS_EN), + .PRI_HMC_3DS_LR_NUM0 (PRI_HMC_3DS_LR_NUM0), + .PRI_HMC_3DS_LR_NUM1 (PRI_HMC_3DS_LR_NUM1), + .PRI_HMC_3DS_LR_NUM2 (PRI_HMC_3DS_LR_NUM2), + .PRI_HMC_3DS_LR_NUM3 (PRI_HMC_3DS_LR_NUM3), + .PRI_HMC_3DS_PR_STAG_ENABLE (PRI_HMC_3DS_PR_STAG_ENABLE), + .PRI_HMC_3DS_REF2REF_DLR (PRI_HMC_3DS_REF2REF_DLR), + .PRI_HMC_3DSREF_ACK_ON_DONE (PRI_HMC_3DSREF_ACK_ON_DONE), + .SEC_HMC_CFG_PING_PONG_MODE (SEC_HMC_CFG_PING_PONG_MODE), + .SEC_HMC_CFG_CS_ADDR_WIDTH (SEC_HMC_CFG_CS_ADDR_WIDTH), + .SEC_HMC_CFG_COL_ADDR_WIDTH (SEC_HMC_CFG_COL_ADDR_WIDTH), + .SEC_HMC_CFG_ROW_ADDR_WIDTH (SEC_HMC_CFG_ROW_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_ADDR_WIDTH (SEC_HMC_CFG_BANK_ADDR_WIDTH), + .SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH (SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH), + .SEC_HMC_CFG_ADDR_ORDER (SEC_HMC_CFG_ADDR_ORDER), + .SEC_HMC_CFG_ARBITER_TYPE (SEC_HMC_CFG_ARBITER_TYPE), + .SEC_HMC_CFG_OPEN_PAGE_EN (SEC_HMC_CFG_OPEN_PAGE_EN), + .SEC_HMC_CFG_CTRL_ENABLE_RC (SEC_HMC_CFG_CTRL_ENABLE_RC), + .SEC_HMC_CFG_DBC0_ENABLE_RC (SEC_HMC_CFG_DBC0_ENABLE_RC), + .SEC_HMC_CFG_DBC1_ENABLE_RC (SEC_HMC_CFG_DBC1_ENABLE_RC), + .SEC_HMC_CFG_DBC2_ENABLE_RC (SEC_HMC_CFG_DBC2_ENABLE_RC), + .SEC_HMC_CFG_DBC3_ENABLE_RC (SEC_HMC_CFG_DBC3_ENABLE_RC), + .SEC_HMC_CFG_CTRL_ENABLE_ECC (SEC_HMC_CFG_CTRL_ENABLE_ECC), + .SEC_HMC_CFG_DBC0_ENABLE_ECC (SEC_HMC_CFG_DBC0_ENABLE_ECC), + .SEC_HMC_CFG_DBC1_ENABLE_ECC (SEC_HMC_CFG_DBC1_ENABLE_ECC), + .SEC_HMC_CFG_DBC2_ENABLE_ECC (SEC_HMC_CFG_DBC2_ENABLE_ECC), + .SEC_HMC_CFG_DBC3_ENABLE_ECC (SEC_HMC_CFG_DBC3_ENABLE_ECC), + .SEC_HMC_CFG_REORDER_DATA (SEC_HMC_CFG_REORDER_DATA), + .SEC_HMC_CFG_REORDER_READ (SEC_HMC_CFG_REORDER_READ), + .SEC_HMC_CFG_CTRL_REORDER_RDATA (SEC_HMC_CFG_CTRL_REORDER_RDATA), + .SEC_HMC_CFG_DBC0_REORDER_RDATA (SEC_HMC_CFG_DBC0_REORDER_RDATA), + .SEC_HMC_CFG_DBC1_REORDER_RDATA (SEC_HMC_CFG_DBC1_REORDER_RDATA), + .SEC_HMC_CFG_DBC2_REORDER_RDATA (SEC_HMC_CFG_DBC2_REORDER_RDATA), + .SEC_HMC_CFG_DBC3_REORDER_RDATA (SEC_HMC_CFG_DBC3_REORDER_RDATA), + .SEC_HMC_CFG_CTRL_SLOT_OFFSET (SEC_HMC_CFG_CTRL_SLOT_OFFSET), + .SEC_HMC_CFG_DBC0_SLOT_OFFSET (SEC_HMC_CFG_DBC0_SLOT_OFFSET), + .SEC_HMC_CFG_DBC1_SLOT_OFFSET (SEC_HMC_CFG_DBC1_SLOT_OFFSET), + .SEC_HMC_CFG_DBC2_SLOT_OFFSET (SEC_HMC_CFG_DBC2_SLOT_OFFSET), + .SEC_HMC_CFG_DBC3_SLOT_OFFSET (SEC_HMC_CFG_DBC3_SLOT_OFFSET), + .SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN (SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN), + .SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN (SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN), + .SEC_HMC_CFG_COL_CMD_SLOT (SEC_HMC_CFG_COL_CMD_SLOT), + .SEC_HMC_CFG_ROW_CMD_SLOT (SEC_HMC_CFG_ROW_CMD_SLOT), + .SEC_HMC_CFG_ROW_TO_COL_OFFSET (SEC_HMC_CFG_ROW_TO_COL_OFFSET), + .SEC_HMC_CFG_ROW_TO_ROW_OFFSET (SEC_HMC_CFG_ROW_TO_ROW_OFFSET), + .SEC_HMC_CFG_COL_TO_COL_OFFSET (SEC_HMC_CFG_COL_TO_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET (SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET), + .SEC_HMC_CFG_COL_TO_ROW_OFFSET (SEC_HMC_CFG_COL_TO_ROW_OFFSET), + .SEC_HMC_CFG_SIDEBAND_OFFSET (SEC_HMC_CFG_SIDEBAND_OFFSET), + .SEC_HMC_CFG_CS_TO_CHIP_MAPPING (SEC_HMC_CFG_CS_TO_CHIP_MAPPING), + .SEC_HMC_CFG_CTL_ODT_ENABLED (SEC_HMC_CFG_CTL_ODT_ENABLED), + .SEC_HMC_CFG_RD_ODT_ON (SEC_HMC_CFG_RD_ODT_ON), + .SEC_HMC_CFG_RD_ODT_PERIOD (SEC_HMC_CFG_RD_ODT_PERIOD), + .SEC_HMC_CFG_READ_ODT_CHIP (SEC_HMC_CFG_READ_ODT_CHIP), + .SEC_HMC_CFG_WR_ODT_ON (SEC_HMC_CFG_WR_ODT_ON), + .SEC_HMC_CFG_WR_ODT_PERIOD (SEC_HMC_CFG_WR_ODT_PERIOD), + .SEC_HMC_CFG_WRITE_ODT_CHIP (SEC_HMC_CFG_WRITE_ODT_CHIP), + .SEC_HMC_CFG_CMD_FIFO_RESERVE_EN (SEC_HMC_CFG_CMD_FIFO_RESERVE_EN), + .SEC_HMC_CFG_RB_RESERVED_ENTRY (SEC_HMC_CFG_RB_RESERVED_ENTRY), + .SEC_HMC_CFG_WB_RESERVED_ENTRY (SEC_HMC_CFG_WB_RESERVED_ENTRY), + .SEC_HMC_CFG_STARVE_LIMIT (SEC_HMC_CFG_STARVE_LIMIT), + .SEC_HMC_CFG_PHY_DELAY_MISMATCH (SEC_HMC_CFG_PHY_DELAY_MISMATCH), + .SEC_HMC_CFG_DQSTRK_EN (SEC_HMC_CFG_DQSTRK_EN), + .SEC_HMC_CFG_DQSTRK_TO_VALID (SEC_HMC_CFG_DQSTRK_TO_VALID), + .SEC_HMC_CFG_DQSTRK_TO_VALID_LAST (SEC_HMC_CFG_DQSTRK_TO_VALID_LAST), + .SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN (SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN (SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL (SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL), + .SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN (SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN), + .SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD (SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD), + .SEC_HMC_CFG_USER_RFSH_EN (SEC_HMC_CFG_USER_RFSH_EN), + .SEC_HMC_CFG_GEAR_DOWN_EN (SEC_HMC_CFG_GEAR_DOWN_EN), + .SEC_HMC_CFG_MEM_AUTO_PD_CYCLES (SEC_HMC_CFG_MEM_AUTO_PD_CYCLES), + .SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC), + .SEC_HMC_MEMCLKGATE_SETTING (SEC_HMC_MEMCLKGATE_SETTING), + .SEC_HMC_CFG_TCL (SEC_HMC_CFG_TCL), + .SEC_HMC_CFG_16_ACT_TO_ACT (SEC_HMC_CFG_16_ACT_TO_ACT), + .SEC_HMC_CFG_4_ACT_TO_ACT (SEC_HMC_CFG_4_ACT_TO_ACT), + .SEC_HMC_MEM_IF_AL (SEC_HMC_MEM_IF_AL), + .SEC_HMC_MEM_IF_CS_PER_DIMM (SEC_HMC_MEM_IF_CS_PER_DIMM), + .SEC_HMC_MEM_IF_RD_PREAMBLE (SEC_HMC_MEM_IF_RD_PREAMBLE), + .SEC_HMC_MEM_IF_TCCD (SEC_HMC_MEM_IF_TCCD), + .SEC_HMC_MEM_IF_TCCD_S (SEC_HMC_MEM_IF_TCCD_S), + .SEC_HMC_MEM_IF_TCKESR (SEC_HMC_MEM_IF_TCKESR), + .SEC_HMC_MEM_IF_TCKSRX (SEC_HMC_MEM_IF_TCKSRX), + .SEC_HMC_MEM_IF_TCL (SEC_HMC_MEM_IF_TCL), + .SEC_HMC_MEM_IF_TCWL (SEC_HMC_MEM_IF_TCWL), + .SEC_HMC_MEM_IF_TDQSCKMAX (SEC_HMC_MEM_IF_TDQSCKMAX), + .SEC_HMC_MEM_IF_TFAW (SEC_HMC_MEM_IF_TFAW), + .SEC_HMC_MEM_IF_TMOD (SEC_HMC_MEM_IF_TMOD), + .SEC_HMC_MEM_IF_TPL (SEC_HMC_MEM_IF_TPL), + .SEC_HMC_MEM_IF_TRAS (SEC_HMC_MEM_IF_TRAS), + .SEC_HMC_MEM_IF_TRC (SEC_HMC_MEM_IF_TRC), + .SEC_HMC_MEM_IF_TRCD (SEC_HMC_MEM_IF_TRCD), + .SEC_HMC_MEM_IF_TREFI (SEC_HMC_MEM_IF_TREFI), + .SEC_HMC_MEM_IF_TRFC (SEC_HMC_MEM_IF_TRFC), + .SEC_HMC_MEM_IF_TRP (SEC_HMC_MEM_IF_TRP), + .SEC_HMC_MEM_IF_TRRD (SEC_HMC_MEM_IF_TRRD), + .SEC_HMC_MEM_IF_TRRD_S (SEC_HMC_MEM_IF_TRRD_S), + .SEC_HMC_MEM_IF_TRTP (SEC_HMC_MEM_IF_TRTP), + .SEC_HMC_MEM_IF_TWR (SEC_HMC_MEM_IF_TWR), + .SEC_HMC_MEM_IF_TWR_CRC_DM (SEC_HMC_MEM_IF_TWR_CRC_DM), + .SEC_HMC_MEM_IF_TWTR (SEC_HMC_MEM_IF_TWTR), + .SEC_HMC_MEM_IF_TWTR_L_CRC_DM (SEC_HMC_MEM_IF_TWTR_L_CRC_DM), + .SEC_HMC_MEM_IF_TWTR_S (SEC_HMC_MEM_IF_TWTR_S), + .SEC_HMC_MEM_IF_TWTR_S_CRC_DM (SEC_HMC_MEM_IF_TWTR_S_CRC_DM), + .SEC_HMC_MEM_IF_TXP (SEC_HMC_MEM_IF_TXP), + .SEC_HMC_MEM_IF_TXPDLL (SEC_HMC_MEM_IF_TXPDLL), + .SEC_HMC_MEM_IF_TXSR (SEC_HMC_MEM_IF_TXSR), + .SEC_HMC_MEM_IF_TZQCS (SEC_HMC_MEM_IF_TZQCS), + .SEC_HMC_MEM_IF_TZQOPER (SEC_HMC_MEM_IF_TZQOPER), + .SEC_HMC_MEM_IF_WR_CRC (SEC_HMC_MEM_IF_WR_CRC), + .SEC_HMC_MEM_IF_WR_PREAMBLE (SEC_HMC_MEM_IF_WR_PREAMBLE), + .SEC_HMC_CFG_ACT_TO_ACT (SEC_HMC_CFG_ACT_TO_ACT), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG (SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG), + .SEC_HMC_CFG_ACT_TO_PCH (SEC_HMC_CFG_ACT_TO_PCH), + .SEC_HMC_CFG_ACT_TO_RDWR (SEC_HMC_CFG_ACT_TO_RDWR), + .SEC_HMC_CFG_ARF_PERIOD (SEC_HMC_CFG_ARF_PERIOD), + .SEC_HMC_CFG_ARF_TO_VALID (SEC_HMC_CFG_ARF_TO_VALID), + .SEC_HMC_CFG_MMR_CMD_TO_VALID (SEC_HMC_CFG_MMR_CMD_TO_VALID), + .SEC_HMC_CFG_MPR_TO_VALID (SEC_HMC_CFG_MPR_TO_VALID), + .SEC_HMC_CFG_MPS_DQSTRK_DISABLE (SEC_HMC_CFG_MPS_DQSTRK_DISABLE), + .SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS (SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS), + .SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE (SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE), + .SEC_HMC_CFG_MPS_TO_VALID (SEC_HMC_CFG_MPS_TO_VALID), + .SEC_HMC_CFG_MPS_ZQCAL_DISABLE (SEC_HMC_CFG_MPS_ZQCAL_DISABLE), + .SEC_HMC_CFG_MRR_TO_VALID (SEC_HMC_CFG_MRR_TO_VALID), + .SEC_HMC_CFG_MRS_TO_VALID (SEC_HMC_CFG_MRS_TO_VALID), + .SEC_HMC_CFG_PCH_ALL_TO_VALID (SEC_HMC_CFG_PCH_ALL_TO_VALID), + .SEC_HMC_CFG_PCH_TO_VALID (SEC_HMC_CFG_PCH_TO_VALID), + .SEC_HMC_CFG_PDN_PERIOD (SEC_HMC_CFG_PDN_PERIOD), + .SEC_HMC_CFG_PDN_TO_VALID (SEC_HMC_CFG_PDN_TO_VALID), + .SEC_HMC_CFG_POWER_SAVING_EXIT_CYC (SEC_HMC_CFG_POWER_SAVING_EXIT_CYC), + .SEC_HMC_CFG_RD_AP_TO_VALID (SEC_HMC_CFG_RD_AP_TO_VALID), + .SEC_HMC_CFG_RD_TO_PCH (SEC_HMC_CFG_RD_TO_PCH), + .SEC_HMC_CFG_RD_TO_RD (SEC_HMC_CFG_RD_TO_RD), + .SEC_HMC_CFG_RD_TO_RD_DIFF_BG (SEC_HMC_CFG_RD_TO_RD_DIFF_BG), + .SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP (SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_RD_TO_WR (SEC_HMC_CFG_RD_TO_WR), + .SEC_HMC_CFG_RD_TO_WR_DIFF_BG (SEC_HMC_CFG_RD_TO_WR_DIFF_BG), + .SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP (SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_RFSH_WARN_THRESHOLD (SEC_HMC_CFG_RFSH_WARN_THRESHOLD), + .SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ0 (SEC_HMC_CFG_RLD3_REFRESH_SEQ0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ1 (SEC_HMC_CFG_RLD3_REFRESH_SEQ1), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ2 (SEC_HMC_CFG_RLD3_REFRESH_SEQ2), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ3 (SEC_HMC_CFG_RLD3_REFRESH_SEQ3), + .SEC_HMC_CFG_SB_CG_DISABLE (SEC_HMC_CFG_SB_CG_DISABLE), + .SEC_HMC_CFG_SB_DDR4_MR3 (SEC_HMC_CFG_SB_DDR4_MR3), + .SEC_HMC_CFG_SB_DDR4_MR4 (SEC_HMC_CFG_SB_DDR4_MR4), + .SEC_HMC_CFG_SB_DDR4_MR5 (SEC_HMC_CFG_SB_DDR4_MR5), + .SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR (SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR), + .SEC_HMC_CFG_SRF_AUTOEXIT_EN (SEC_HMC_CFG_SRF_AUTOEXIT_EN), + .SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK), + .SEC_HMC_CFG_SRF_TO_VALID (SEC_HMC_CFG_SRF_TO_VALID), + .SEC_HMC_CFG_SRF_TO_ZQ_CAL (SEC_HMC_CFG_SRF_TO_ZQ_CAL), + .SEC_HMC_CFG_SRF_ZQCAL_DISABLE (SEC_HMC_CFG_SRF_ZQCAL_DISABLE), + .SEC_HMC_TEMP_4_ACT_TO_ACT (SEC_HMC_TEMP_4_ACT_TO_ACT), + .SEC_HMC_TEMP_RD_TO_RD_DIFF_BG (SEC_HMC_TEMP_RD_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD (SEC_HMC_TEMP_WR_TO_RD), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_BG (SEC_HMC_TEMP_WR_TO_RD_DIFF_BG), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP (SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_TEMP_WR_TO_WR_DIFF_BG (SEC_HMC_TEMP_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_AP_TO_VALID (SEC_HMC_CFG_WR_AP_TO_VALID), + .SEC_HMC_CFG_WR_TO_PCH (SEC_HMC_CFG_WR_TO_PCH), + .SEC_HMC_CFG_WR_TO_RD (SEC_HMC_CFG_WR_TO_RD), + .SEC_HMC_CFG_WR_TO_RD_DIFF_BG (SEC_HMC_CFG_WR_TO_RD_DIFF_BG), + .SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP (SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP), + .SEC_HMC_CFG_WR_TO_WR (SEC_HMC_CFG_WR_TO_WR), + .SEC_HMC_CFG_WR_TO_WR_DIFF_BG (SEC_HMC_CFG_WR_TO_WR_DIFF_BG), + .SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP (SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP), + .SEC_HMC_CFG_ZQCL_TO_VALID (SEC_HMC_CFG_ZQCL_TO_VALID), + .SEC_HMC_CFG_ZQCS_TO_VALID (SEC_HMC_CFG_ZQCS_TO_VALID), + .SEC_HMC_CFG_MAJOR_MODE_EN (SEC_HMC_CFG_MAJOR_MODE_EN), + .SEC_HMC_CFG_REFRESH_TYPE (SEC_HMC_CFG_REFRESH_TYPE), + .SEC_HMC_CFG_POST_REFRESH_EN (SEC_HMC_CFG_POST_REFRESH_EN), + .SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT (SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT), + .SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT), + .SEC_HMC_CFG_PRE_REFRESH_EN (SEC_HMC_CFG_PRE_REFRESH_EN), + .SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT), + .SEC_HMC_CHIP_ID (SEC_HMC_CHIP_ID), + .SEC_HMC_CID_ADDR_WIDTH (SEC_HMC_CID_ADDR_WIDTH), + .SEC_HMC_3DS_EN (SEC_HMC_3DS_EN), + .SEC_HMC_3DS_LR_NUM0 (SEC_HMC_3DS_LR_NUM0), + .SEC_HMC_3DS_LR_NUM1 (SEC_HMC_3DS_LR_NUM1), + .SEC_HMC_3DS_LR_NUM2 (SEC_HMC_3DS_LR_NUM2), + .SEC_HMC_3DS_LR_NUM3 (SEC_HMC_3DS_LR_NUM3), + .SEC_HMC_3DS_PR_STAG_ENABLE (SEC_HMC_3DS_PR_STAG_ENABLE), + .SEC_HMC_3DS_REF2REF_DLR (SEC_HMC_3DS_REF2REF_DLR), + .SEC_HMC_3DSREF_ACK_ON_DONE (SEC_HMC_3DSREF_ACK_ON_DONE), + .SEQ_PT_CONTENT (SEQ_PT_CONTENT), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .PINS_IN_RTL_TILES (PINS_IN_RTL_TILES), + .LANES_IN_RTL_TILES (LANES_IN_RTL_TILES), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .AC_PIN_MAP_SCHEME (AC_PIN_MAP_SCHEME), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .LANES_USAGE (LANES_USAGE), + .PINS_USAGE (PINS_USAGE), + .LANE_PIN_USAGE (LANE_PIN_USAGE), + .PINS_RATE (PINS_RATE), + .DB_PINS_PROC_MODE (DB_PINS_PROC_MODE), + .PINS_DATA_IN_MODE (PINS_DATA_IN_MODE), + .PINS_OCT_MODE (PINS_OCT_MODE), + .PINS_DCC_SPLIT (PINS_DCC_SPLIT), + .CENTER_TIDS (CENTER_TIDS), + .HMC_TIDS (HMC_TIDS), + .LANE_TIDS (LANE_TIDS), + .DBC_EXTRA_PIPE_STAGE_EN (DBC_EXTRA_PIPE_STAGE_EN), + .DBC_PIPE_LATS (DBC_PIPE_LATS), + .DB_PTR_PIPELINE_DEPTHS (DB_PTR_PIPELINE_DEPTHS), + .DB_SEQ_RD_EN_FULL_PIPELINES (DB_SEQ_RD_EN_FULL_PIPELINES), + .PREAMBLE_MODE (PREAMBLE_MODE), + .DBI_WR_ENABLE (DBI_WR_ENABLE), + .DBI_RD_ENABLE (DBI_RD_ENABLE), + .SWAP_DQS_A_B (SWAP_DQS_A_B), + .DQS_PACK_MODE (DQS_PACK_MODE), + .OCT_SIZE (OCT_SIZE), + .DQSA_LGC_MODE (DQSA_LGC_MODE), + .DQSB_LGC_MODE (DQSB_LGC_MODE), + .DBC_WB_RESERVED_ENTRY (DBC_WB_RESERVED_ENTRY), + .DLL_MODE (DLL_MODE), + .DLL_CODEWORD (DLL_CODEWORD), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH), + + .PORT_CALBUS_ADDRESS_WIDTH (PORT_CALBUS_ADDRESS_WIDTH), + .PORT_CALBUS_RDATA_WIDTH (PORT_CALBUS_RDATA_WIDTH), + .PORT_CALBUS_WDATA_WIDTH (PORT_CALBUS_WDATA_WIDTH), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (PORT_CALBUS_SEQ_PARAM_TBL_WIDTH), + + .PORT_MEM_A_PINLOC (PORT_MEM_A_PINLOC), + .PORT_MEM_BA_PINLOC (PORT_MEM_BA_PINLOC), + .PORT_MEM_BG_PINLOC (PORT_MEM_BG_PINLOC), + .PORT_MEM_CS_N_PINLOC (PORT_MEM_CS_N_PINLOC), + .PORT_MEM_ACT_N_PINLOC (PORT_MEM_ACT_N_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_RAS_N_PINLOC (PORT_MEM_RAS_N_PINLOC), + .PORT_MEM_CAS_N_PINLOC (PORT_MEM_CAS_N_PINLOC), + .PORT_MEM_WE_N_PINLOC (PORT_MEM_WE_N_PINLOC), + .PORT_MEM_REF_N_PINLOC (PORT_MEM_REF_N_PINLOC), + .PORT_MEM_WPS_N_PINLOC (PORT_MEM_WPS_N_PINLOC), + .PORT_MEM_RPS_N_PINLOC (PORT_MEM_RPS_N_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PORT_MEM_DQA_PINLOC (PORT_MEM_DQA_PINLOC), + .PORT_MEM_DQB_PINLOC (PORT_MEM_DQB_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_RWA_N_PINLOC (PORT_MEM_RWA_N_PINLOC), + .PORT_MEM_RWB_N_PINLOC (PORT_MEM_RWB_N_PINLOC), + .PORT_MEM_QKA_PINLOC (PORT_MEM_QKA_PINLOC), + .PORT_MEM_QKB_PINLOC (PORT_MEM_QKB_PINLOC), + .PORT_MEM_LDA_N_PINLOC (PORT_MEM_LDA_N_PINLOC), + .PORT_MEM_LDB_N_PINLOC (PORT_MEM_LDB_N_PINLOC), + .PORT_MEM_CK_PINLOC (PORT_MEM_CK_PINLOC), + .PORT_MEM_DINVA_PINLOC (PORT_MEM_DINVA_PINLOC), + .PORT_MEM_DINVB_PINLOC (PORT_MEM_DINVB_PINLOC), + .PORT_MEM_AINV_PINLOC (PORT_MEM_AINV_PINLOC), + .PORT_MEM_DQS_PINLOC (PORT_MEM_DQS_PINLOC), + .PORT_MEM_QK_PINLOC (PORT_MEM_QK_PINLOC), + .PORT_MEM_CQ_PINLOC (PORT_MEM_CQ_PINLOC), + .PORT_MEM_DM_WIDTH (PORT_MEM_DM_WIDTH), + .PORT_MEM_A_WIDTH (PORT_MEM_A_WIDTH), + .PORT_MEM_BA_WIDTH (PORT_MEM_BA_WIDTH), + .PORT_MEM_BG_WIDTH (PORT_MEM_BG_WIDTH), + .PORT_MEM_CS_N_WIDTH (PORT_MEM_CS_N_WIDTH), + .PORT_MEM_ACT_N_WIDTH (PORT_MEM_ACT_N_WIDTH), + .PORT_MEM_DBI_N_WIDTH (PORT_MEM_DBI_N_WIDTH), + .PORT_MEM_RAS_N_WIDTH (PORT_MEM_RAS_N_WIDTH), + .PORT_MEM_CAS_N_WIDTH (PORT_MEM_CAS_N_WIDTH), + .PORT_MEM_WE_N_WIDTH (PORT_MEM_WE_N_WIDTH), + .PORT_MEM_REF_N_WIDTH (PORT_MEM_REF_N_WIDTH), + .PORT_MEM_WPS_N_WIDTH (PORT_MEM_WPS_N_WIDTH), + .PORT_MEM_RPS_N_WIDTH (PORT_MEM_RPS_N_WIDTH), + .PORT_MEM_BWS_N_WIDTH (PORT_MEM_BWS_N_WIDTH), + .PORT_MEM_DQA_WIDTH (PORT_MEM_DQA_WIDTH), + .PORT_MEM_DQB_WIDTH (PORT_MEM_DQB_WIDTH), + .PORT_MEM_Q_WIDTH (PORT_MEM_Q_WIDTH), + .PORT_MEM_D_WIDTH (PORT_MEM_D_WIDTH), + .PORT_MEM_RWA_N_WIDTH (PORT_MEM_RWA_N_WIDTH), + .PORT_MEM_RWB_N_WIDTH (PORT_MEM_RWB_N_WIDTH), + .PORT_MEM_QKA_WIDTH (PORT_MEM_QKA_WIDTH), + .PORT_MEM_QKB_WIDTH (PORT_MEM_QKB_WIDTH), + .PORT_MEM_LDA_N_WIDTH (PORT_MEM_LDA_N_WIDTH), + .PORT_MEM_LDB_N_WIDTH (PORT_MEM_LDB_N_WIDTH), + .PORT_MEM_CK_WIDTH (PORT_MEM_CK_WIDTH), + .PORT_MEM_DINVA_WIDTH (PORT_MEM_DINVA_WIDTH), + .PORT_MEM_DINVB_WIDTH (PORT_MEM_DINVB_WIDTH), + .PORT_MEM_AINV_WIDTH (PORT_MEM_AINV_WIDTH), + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD), + .DIAG_ABSTRACT_PHY_WLAT (DIAG_ABSTRACT_PHY_WLAT), + .DIAG_ABSTRACT_PHY_RLAT (DIAG_ABSTRACT_PHY_RLAT), + .ABPHY_WRITE_PROTOCOL (ABPHY_WRITE_PROTOCOL) + ) io_tiles_wrap_inst ( + .runAbstractPhySim (runAbstractPhySim), + .core2l_data (actual_core2l_data), + .core2l_oe (actual_core2l_oe), + .core2l_rdata_en_full (actual_core2l_rdata_en_full), + .core2l_mrnk_read (actual_core2l_mrnk_read), + .core2l_mrnk_write (actual_core2l_mrnk_write), + + .core2l_wr_ecc_info (actual_core2l_wr_ecc_info), + .core2l_wr_data_vld_ast (actual_core2l_wr_data_vld_ast), + .core2l_rd_data_rdy_ast (actual_core2l_rd_data_rdy_ast), + + .core2ctl_avl_0 (actual_core2ctl_avl_0 ), + .core2ctl_avl_rd_data_ready_0 (actual_core2ctl_avl_rd_data_ready_0 ), + .core2ctl_avl_1 (actual_core2ctl_avl_1 ), + .core2ctl_avl_rd_data_ready_1 (actual_core2ctl_avl_rd_data_ready_1 ), + .core2ctl_mmr_0 (actual_core2ctl_mmr_0 ), + .core2ctl_mmr_1 (actual_core2ctl_mmr_1 ), + .core2ctl_sideband_0 (actual_core2ctl_sideband_0 ), + .core2ctl_sideband_1 (actual_core2ctl_sideband_1 ), + + .c2t_afi (actual_c2t_afi), + + // Avalon-MM bus for the calibration commands between io_aux and tiles + .cal_bus_clk (calbus_clk), + .cal_bus_avl_read (calbus_read), + .cal_bus_avl_write (calbus_write), + .cal_bus_avl_address (calbus_address), + .cal_bus_avl_read_data (calbus_rdata), + .cal_bus_avl_write_data (calbus_wdata), + .cal_bus_seq_param_tbl (calbus_seq_param_tbl), + .* + ); + + assign ufi_phy_clk = (PRI_HMC_CFG_CTRL_ENABLE_RC == "enable") ? global_phy_clk[1] : global_phy_clk[0]; + assign ufi_core_clk = (PHY_CONFIG_ENUM == "CONFIG_PHY_AND_HARD_CTRL") ? emif_usr_clk : afi_clk; + + altera_emif_arch_fm_ufis #( + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .LANES_PER_TILE (LANES_PER_TILE), + .PINS_PER_LANE (PINS_PER_LANE), + .PROTOCOL_ENUM (PROTOCOL_ENUM), + + .AMM_C2P_UFI_MODE (AMM_C2P_UFI_MODE), + .AMM_P2C_UFI_MODE (AMM_P2C_UFI_MODE), + .MMR_C2P_UFI_MODE (MMR_C2P_UFI_MODE), + .MMR_P2C_UFI_MODE (MMR_P2C_UFI_MODE), + .SIDEBAND_C2P_UFI_MODE (SIDEBAND_C2P_UFI_MODE), + .SIDEBAND_P2C_UFI_MODE (SIDEBAND_P2C_UFI_MODE), + .SEQ_C2P_UFI_MODE (SEQ_C2P_UFI_MODE), + .SEQ_P2C_UFI_MODE (SEQ_P2C_UFI_MODE), + .ECC_C2P_UFI_MODE (ECC_C2P_UFI_MODE), + .ECC_P2C_UFI_MODE (ECC_P2C_UFI_MODE), + .LANE_C2P_UFI_MODE (LANE_C2P_UFI_MODE), + .LANE_P2C_UFI_MODE (LANE_P2C_UFI_MODE), + .LANE_PIN_USAGE (LANE_PIN_USAGE), + .LANES_USAGE (LANES_USAGE), + .DB_PINS_PROC_MODE (DB_PINS_PROC_MODE), + + .AMM_HIPI_DELAY (AMM_HIPI_DELAY), + .MMR_HIPI_DELAY (MMR_HIPI_DELAY), + .SIDEBAND_HIPI_DELAY (SIDEBAND_HIPI_DELAY), + .SEQ_HIPI_DELAY (SEQ_HIPI_DELAY), + .ECC_HIPI_DELAY (ECC_HIPI_DELAY), + .LANE_HIPI_DELAY (LANE_HIPI_DELAY), + + .ENABLE_RD_TYPE (ENABLE_RD_TYPE), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .PINS_C2L_DRIVEN (PINS_C2L_DRIVEN), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .IS_HPS (IS_HPS), + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX) + ) fm_ufis ( + .ufi_phy_clk (ufi_phy_clk), + .ufi_core_clk (ufi_core_clk), + + .i_core2ctl_avl_0 (core2ctl_avl_0 ), + .i_core2ctl_avl_1 (core2ctl_avl_1 ), + .i_core2ctl_avl_rd_data_ready_0 (core2ctl_avl_rd_data_ready_0 ), + .i_core2ctl_avl_rd_data_ready_1 (core2ctl_avl_rd_data_ready_1 ), + + .i_ctl2core_avl_cmd_ready_0 (ctl2core_avl_cmd_ready_0 ), + .i_ctl2core_avl_cmd_ready_1 (ctl2core_avl_cmd_ready_1 ), + .i_ctl2core_avl_rdata_id_0 (ctl2core_avl_rdata_id_0 ), + .i_ctl2core_avl_rdata_id_1 (ctl2core_avl_rdata_id_1 ), + + .i_core2l_wr_data_vld_ast (core2l_wr_data_vld_ast ), + .i_core2l_rd_data_rdy_ast (core2l_rd_data_rdy_ast ), + .i_core2l_wr_ecc_info (core2l_wr_ecc_info ), + .i_l2core_wb_pointer_for_ecc (l2core_wb_pointer_for_ecc ), + + .i_l2core_rd_type (l2core_rd_type ), + .i_l2core_rd_data_vld_avl (l2core_rd_data_vld_avl ), + .i_l2core_wr_data_rdy_ast (l2core_wr_data_rdy_ast ), + + .i_c2t_afi (c2t_afi ), + .i_t2c_afi (t2c_afi ), + .i_ctl2core_mmr_0 (ctl2core_mmr_0 ), + .i_core2ctl_mmr_0 (core2ctl_mmr_0 ), + .i_ctl2core_mmr_1 (ctl2core_mmr_1 ), + .i_core2ctl_mmr_1 (core2ctl_mmr_1 ), + .i_core2ctl_sideband_0 (core2ctl_sideband_0 ), + .i_ctl2core_sideband_0 (ctl2core_sideband_0 ), + .i_core2ctl_sideband_1 (core2ctl_sideband_1 ), + .i_ctl2core_sideband_1 (ctl2core_sideband_1 ), + + + .i_core2l_data (core2l_data ), + .i_l2core_data (l2core_data ), + .i_core2l_oe (core2l_oe ), + .i_core2l_rdata_en_full (core2l_rdata_en_full ), + .i_core2l_mrnk_read (core2l_mrnk_read ), + .i_core2l_mrnk_write (core2l_mrnk_write ), + .i_l2core_rdata_valid_pri (l2core_rdata_valid_pri ), + .i_l2core_rdata_valid_sec (l2core_rdata_valid_sec ), + + // actual_* buses are UFI outputs or bypass ports + .* + ); + + + //////////////////////////////////////////////////////////////////////////// + // Expose sequencer interface + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_seq_if # ( + .PHY_CONFIG_ENUM (PHY_CONFIG_ENUM), + .USER_CLK_RATIO (USER_CLK_RATIO), + .REGISTER_AFI_C2P (REGISTER_AFI_C2P), + .REGISTER_AFI_P2C (REGISTER_AFI_P2C), + .PORT_AFI_RLAT_WIDTH (PORT_AFI_RLAT_WIDTH), + .PORT_AFI_WLAT_WIDTH (PORT_AFI_WLAT_WIDTH), + .PORT_AFI_SEQ_BUSY_WIDTH (PORT_AFI_SEQ_BUSY_WIDTH), + .PORT_HPS_EMIF_E2H_GP_WIDTH (PORT_HPS_EMIF_E2H_GP_WIDTH), + .PORT_HPS_EMIF_H2E_GP_WIDTH (PORT_HPS_EMIF_H2E_GP_WIDTH), + .PHY_USERMODE_OCT (PHY_USERMODE_OCT), + .PHY_PERIODIC_OCT_RECAL (PHY_PERIODIC_OCT_RECAL), + .IS_HPS (IS_HPS) + ) seq_if_inst ( + + .t2c_afi(actual_t2c_afi), + .* + ); + + + //////////////////////////////////////////////////////////////////////////// + // Expose HMC signals from io_tiles as proper Avalon signals + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_hmc_avl_if # ( + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .HMC_READY_LATENCY (HMC_READY_LATENCY), + .REGISTER_AMM_C2P (REGISTER_AMM_C2P), + .REGISTER_AMM_P2C (REGISTER_AMM_P2C), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .PORT_CTRL_AST_CMD_DATA_WIDTH (PORT_CTRL_AST_CMD_DATA_WIDTH), + .PORT_CTRL_AMM_ADDRESS_WIDTH (PORT_CTRL_AMM_ADDRESS_WIDTH), + .PORT_CTRL_AMM_BCOUNT_WIDTH (PORT_CTRL_AMM_BCOUNT_WIDTH) + ) hmc_avl_if_inst ( + .ctl2core_avl_cmd_ready_0 ( actual_ctl2core_avl_cmd_ready_0 ), + .ctl2core_avl_cmd_ready_1 ( actual_ctl2core_avl_cmd_ready_1 ), + .l2core_rd_data_vld_avl ( actual_l2core_rd_data_vld_avl ), + .l2core_wr_data_rdy_ast ( actual_l2core_wr_data_rdy_ast ), + .l2core_rd_type ( actual_l2core_rd_type ), + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // Expose HMC sideband interfaces + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_hmc_sideband_if # ( + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .HMC_AVL_PROTOCOL_ENUM (HMC_AVL_PROTOCOL_ENUM), + .PHY_PING_PONG_EN (PHY_PING_PONG_EN), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .PRI_AC_TILE_INDEX (PRI_AC_TILE_INDEX), + .SEC_AC_TILE_INDEX (SEC_AC_TILE_INDEX), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + .PRI_HMC_DBC_SHADOW_LANE_INDEX (PRI_HMC_DBC_SHADOW_LANE_INDEX), + .PRI_HMC_CFG_ENABLE_ECC (PRI_HMC_CFG_CTRL_ENABLE_ECC), + .SEC_HMC_CFG_ENABLE_ECC (SEC_HMC_CFG_CTRL_ENABLE_ECC), + .PORT_CTRL_USER_REFRESH_REQ_WIDTH (PORT_CTRL_USER_REFRESH_REQ_WIDTH), + .PORT_CTRL_USER_REFRESH_BANK_WIDTH (PORT_CTRL_USER_REFRESH_BANK_WIDTH), + .PORT_CTRL_SELF_REFRESH_REQ_WIDTH (PORT_CTRL_SELF_REFRESH_REQ_WIDTH), + .PORT_CTRL_ECC_WRITE_INFO_WIDTH (PORT_CTRL_ECC_WRITE_INFO_WIDTH), + .PORT_CTRL_ECC_READ_INFO_WIDTH (PORT_CTRL_ECC_READ_INFO_WIDTH), + .PORT_CTRL_ECC_CMD_INFO_WIDTH (PORT_CTRL_ECC_CMD_INFO_WIDTH), + .PORT_CTRL_ECC_WB_POINTER_WIDTH (PORT_CTRL_ECC_WB_POINTER_WIDTH), + .PORT_CTRL_ECC_RDATA_ID_WIDTH (PORT_CTRL_ECC_RDATA_ID_WIDTH) + ) hmc_sideband_if_inst ( + .ctl2core_sideband_0 (actual_ctl2core_sideband_0 ), + .ctl2core_sideband_1 (actual_ctl2core_sideband_1 ), + .l2core_wb_pointer_for_ecc (actual_l2core_wb_pointer_for_ecc), + .ctl2core_avl_rdata_id_0 (actual_ctl2core_avl_rdata_id_0), + .ctl2core_avl_rdata_id_1 (actual_ctl2core_avl_rdata_id_1), + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // Expose HMC MMR interface + //////////////////////////////////////////////////////////////////////////// + altera_emif_arch_fm_hmc_mmr_if # ( + .PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH (PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH), + .PORT_CTRL_MMR_SLAVE_RDATA_WIDTH (PORT_CTRL_MMR_SLAVE_RDATA_WIDTH), + .PORT_CTRL_MMR_SLAVE_WDATA_WIDTH (PORT_CTRL_MMR_SLAVE_WDATA_WIDTH), + .PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH (PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH) + ) hmc_mmr_if_inst ( + .ctl2core_mmr_0 (actual_ctl2core_mmr_0), + .ctl2core_mmr_1 (actual_ctl2core_mmr_1), + .* + ); + + //////////////////////////////////////////////////////////////////////////// + // Rewire and expose data signals + //////////////////////////////////////////////////////////////////////////// + generate + if (NUM_OF_HMC_PORTS == 0) + begin : afi + altera_emif_arch_fm_afi_if # ( + .MEM_TTL_DATA_WIDTH (MEM_TTL_DATA_WIDTH), + .MEM_TTL_NUM_OF_READ_GROUPS (MEM_TTL_NUM_OF_READ_GROUPS), + .MEM_TTL_NUM_OF_WRITE_GROUPS (MEM_TTL_NUM_OF_WRITE_GROUPS), + .REGISTER_AFI_C2P (REGISTER_AFI_C2P), + .REGISTER_AFI_P2C (REGISTER_AFI_P2C), + + .PORT_AFI_ADDR_WIDTH (PORT_AFI_ADDR_WIDTH), + .PORT_AFI_BA_WIDTH (PORT_AFI_BA_WIDTH), + .PORT_AFI_BG_WIDTH (PORT_AFI_BG_WIDTH), + .PORT_AFI_C_WIDTH (PORT_AFI_C_WIDTH), + .PORT_AFI_CKE_WIDTH (PORT_AFI_CKE_WIDTH), + .PORT_AFI_CS_N_WIDTH (PORT_AFI_CS_N_WIDTH), + .PORT_AFI_RM_WIDTH (PORT_AFI_RM_WIDTH), + .PORT_AFI_ODT_WIDTH (PORT_AFI_ODT_WIDTH), + .PORT_AFI_GNT_N_WIDTH (PORT_AFI_GNT_N_WIDTH), + .PORT_AFI_REQ_N_WIDTH (PORT_AFI_REQ_N_WIDTH), + .PORT_AFI_ERR_N_WIDTH (PORT_AFI_ERR_N_WIDTH), + .PORT_AFI_RAS_N_WIDTH (PORT_AFI_RAS_N_WIDTH), + .PORT_AFI_CAS_N_WIDTH (PORT_AFI_CAS_N_WIDTH), + .PORT_AFI_WE_N_WIDTH (PORT_AFI_WE_N_WIDTH), + .PORT_AFI_RST_N_WIDTH (PORT_AFI_RST_N_WIDTH), + .PORT_AFI_ACT_N_WIDTH (PORT_AFI_ACT_N_WIDTH), + .PORT_AFI_PAR_WIDTH (PORT_AFI_PAR_WIDTH), + .PORT_AFI_CA_WIDTH (PORT_AFI_CA_WIDTH), + .PORT_AFI_REF_N_WIDTH (PORT_AFI_REF_N_WIDTH), + .PORT_AFI_WPS_N_WIDTH (PORT_AFI_WPS_N_WIDTH), + .PORT_AFI_RPS_N_WIDTH (PORT_AFI_RPS_N_WIDTH), + .PORT_AFI_DOFF_N_WIDTH (PORT_AFI_DOFF_N_WIDTH), + .PORT_AFI_LD_N_WIDTH (PORT_AFI_LD_N_WIDTH), + .PORT_AFI_RW_N_WIDTH (PORT_AFI_RW_N_WIDTH), + .PORT_AFI_LBK0_N_WIDTH (PORT_AFI_LBK0_N_WIDTH), + .PORT_AFI_LBK1_N_WIDTH (PORT_AFI_LBK1_N_WIDTH), + .PORT_AFI_CFG_N_WIDTH (PORT_AFI_CFG_N_WIDTH), + .PORT_AFI_AP_WIDTH (PORT_AFI_AP_WIDTH), + .PORT_AFI_AINV_WIDTH (PORT_AFI_AINV_WIDTH), + .PORT_AFI_DM_WIDTH (PORT_AFI_DM_WIDTH), + .PORT_AFI_DM_N_WIDTH (PORT_AFI_DM_N_WIDTH), + .PORT_AFI_BWS_N_WIDTH (PORT_AFI_BWS_N_WIDTH), + .PORT_AFI_RDATA_DBI_N_WIDTH (PORT_AFI_RDATA_DBI_N_WIDTH), + .PORT_AFI_WDATA_DBI_N_WIDTH (PORT_AFI_WDATA_DBI_N_WIDTH), + .PORT_AFI_RDATA_DINV_WIDTH (PORT_AFI_RDATA_DINV_WIDTH), + .PORT_AFI_WDATA_DINV_WIDTH (PORT_AFI_WDATA_DINV_WIDTH), + .PORT_AFI_DQS_BURST_WIDTH (PORT_AFI_DQS_BURST_WIDTH), + .PORT_AFI_WDATA_VALID_WIDTH (PORT_AFI_WDATA_VALID_WIDTH), + .PORT_AFI_WDATA_WIDTH (PORT_AFI_WDATA_WIDTH), + .PORT_AFI_RDATA_EN_FULL_WIDTH (PORT_AFI_RDATA_EN_FULL_WIDTH), + .PORT_AFI_RDATA_WIDTH (PORT_AFI_RDATA_WIDTH), + .PORT_AFI_RDATA_VALID_WIDTH (PORT_AFI_RDATA_VALID_WIDTH), + .PORT_AFI_RRANK_WIDTH (PORT_AFI_RRANK_WIDTH), + .PORT_AFI_WRANK_WIDTH (PORT_AFI_WRANK_WIDTH), + .PORT_AFI_ALERT_N_WIDTH (PORT_AFI_ALERT_N_WIDTH), + .PORT_AFI_PE_N_WIDTH (PORT_AFI_PE_N_WIDTH), + .PORT_MEM_CK_WIDTH (PORT_MEM_CK_WIDTH), + .PORT_MEM_CK_N_WIDTH (PORT_MEM_CK_N_WIDTH), + .PORT_MEM_DK_WIDTH (PORT_MEM_DK_WIDTH), + .PORT_MEM_DK_N_WIDTH (PORT_MEM_DK_N_WIDTH), + .PORT_MEM_DKA_WIDTH (PORT_MEM_DKA_WIDTH), + .PORT_MEM_DKA_N_WIDTH (PORT_MEM_DKA_N_WIDTH), + .PORT_MEM_DKB_WIDTH (PORT_MEM_DKB_WIDTH), + .PORT_MEM_DKB_N_WIDTH (PORT_MEM_DKB_N_WIDTH), + .PORT_MEM_K_WIDTH (PORT_MEM_K_WIDTH), + .PORT_MEM_K_N_WIDTH (PORT_MEM_K_N_WIDTH), + .PORT_MEM_A_WIDTH (PORT_MEM_A_WIDTH), + .PORT_MEM_BA_WIDTH (PORT_MEM_BA_WIDTH), + .PORT_MEM_BG_WIDTH (PORT_MEM_BG_WIDTH), + .PORT_MEM_C_WIDTH (PORT_MEM_C_WIDTH), + .PORT_MEM_CKE_WIDTH (PORT_MEM_CKE_WIDTH), + .PORT_MEM_CS_N_WIDTH (PORT_MEM_CS_N_WIDTH), + .PORT_MEM_RM_WIDTH (PORT_MEM_RM_WIDTH), + .PORT_MEM_ODT_WIDTH (PORT_MEM_ODT_WIDTH), + .PORT_MEM_GNT_N_WIDTH (PORT_MEM_GNT_N_WIDTH), + .PORT_MEM_REQ_N_WIDTH (PORT_MEM_REQ_N_WIDTH), + .PORT_MEM_ERR_N_WIDTH (PORT_MEM_ERR_N_WIDTH), + .PORT_MEM_RAS_N_WIDTH (PORT_MEM_RAS_N_WIDTH), + .PORT_MEM_CAS_N_WIDTH (PORT_MEM_CAS_N_WIDTH), + .PORT_MEM_WE_N_WIDTH (PORT_MEM_WE_N_WIDTH), + .PORT_MEM_RESET_N_WIDTH (PORT_MEM_RESET_N_WIDTH), + .PORT_MEM_ACT_N_WIDTH (PORT_MEM_ACT_N_WIDTH), + .PORT_MEM_PAR_WIDTH (PORT_MEM_PAR_WIDTH), + .PORT_MEM_CA_WIDTH (PORT_MEM_CA_WIDTH), + .PORT_MEM_REF_N_WIDTH (PORT_MEM_REF_N_WIDTH), + .PORT_MEM_WPS_N_WIDTH (PORT_MEM_WPS_N_WIDTH), + .PORT_MEM_RPS_N_WIDTH (PORT_MEM_RPS_N_WIDTH), + .PORT_MEM_DOFF_N_WIDTH (PORT_MEM_DOFF_N_WIDTH), + .PORT_MEM_LDA_N_WIDTH (PORT_MEM_LDA_N_WIDTH), + .PORT_MEM_LDB_N_WIDTH (PORT_MEM_LDB_N_WIDTH), + .PORT_MEM_RWA_N_WIDTH (PORT_MEM_RWA_N_WIDTH), + .PORT_MEM_RWB_N_WIDTH (PORT_MEM_RWB_N_WIDTH), + .PORT_MEM_LBK0_N_WIDTH (PORT_MEM_LBK0_N_WIDTH), + .PORT_MEM_LBK1_N_WIDTH (PORT_MEM_LBK1_N_WIDTH), + .PORT_MEM_CFG_N_WIDTH (PORT_MEM_CFG_N_WIDTH), + .PORT_MEM_AP_WIDTH (PORT_MEM_AP_WIDTH), + .PORT_MEM_AINV_WIDTH (PORT_MEM_AINV_WIDTH), + .PORT_MEM_DM_WIDTH (PORT_MEM_DM_WIDTH), + .PORT_MEM_BWS_N_WIDTH (PORT_MEM_BWS_N_WIDTH), + .PORT_MEM_D_WIDTH (PORT_MEM_D_WIDTH), + .PORT_MEM_DQ_WIDTH (PORT_MEM_DQ_WIDTH), + .PORT_MEM_DBI_N_WIDTH (PORT_MEM_DBI_N_WIDTH), + .PORT_MEM_DQA_WIDTH (PORT_MEM_DQA_WIDTH), + .PORT_MEM_DQB_WIDTH (PORT_MEM_DQB_WIDTH), + .PORT_MEM_DINVA_WIDTH (PORT_MEM_DINVA_WIDTH), + .PORT_MEM_DINVB_WIDTH (PORT_MEM_DINVB_WIDTH), + .PORT_MEM_Q_WIDTH (PORT_MEM_Q_WIDTH), + .PORT_MEM_DQS_WIDTH (PORT_MEM_DQS_WIDTH), + .PORT_MEM_DQS_N_WIDTH (PORT_MEM_DQS_N_WIDTH), + .PORT_MEM_QK_WIDTH (PORT_MEM_QK_WIDTH), + .PORT_MEM_QK_N_WIDTH (PORT_MEM_QK_N_WIDTH), + .PORT_MEM_QKA_WIDTH (PORT_MEM_QKA_WIDTH), + .PORT_MEM_QKA_N_WIDTH (PORT_MEM_QKA_N_WIDTH), + .PORT_MEM_QKB_WIDTH (PORT_MEM_QKB_WIDTH), + .PORT_MEM_QKB_N_WIDTH (PORT_MEM_QKB_N_WIDTH), + .PORT_MEM_CQ_WIDTH (PORT_MEM_CQ_WIDTH), + .PORT_MEM_CQ_N_WIDTH (PORT_MEM_CQ_N_WIDTH), + .PORT_MEM_ALERT_N_WIDTH (PORT_MEM_ALERT_N_WIDTH), + .PORT_MEM_PE_N_WIDTH (PORT_MEM_PE_N_WIDTH), + .PORT_MEM_CK_PINLOC (PORT_MEM_CK_PINLOC), + .PORT_MEM_CK_N_PINLOC (PORT_MEM_CK_N_PINLOC), + .PORT_MEM_DK_PINLOC (PORT_MEM_DK_PINLOC), + .PORT_MEM_DK_N_PINLOC (PORT_MEM_DK_N_PINLOC), + .PORT_MEM_DKA_PINLOC (PORT_MEM_DKA_PINLOC), + .PORT_MEM_DKA_N_PINLOC (PORT_MEM_DKA_N_PINLOC), + .PORT_MEM_DKB_PINLOC (PORT_MEM_DKB_PINLOC), + .PORT_MEM_DKB_N_PINLOC (PORT_MEM_DKB_N_PINLOC), + .PORT_MEM_K_PINLOC (PORT_MEM_K_PINLOC), + .PORT_MEM_K_N_PINLOC (PORT_MEM_K_N_PINLOC), + .PORT_MEM_A_PINLOC (PORT_MEM_A_PINLOC), + .PORT_MEM_BA_PINLOC (PORT_MEM_BA_PINLOC), + .PORT_MEM_BG_PINLOC (PORT_MEM_BG_PINLOC), + .PORT_MEM_C_PINLOC (PORT_MEM_C_PINLOC), + .PORT_MEM_CKE_PINLOC (PORT_MEM_CKE_PINLOC), + .PORT_MEM_CS_N_PINLOC (PORT_MEM_CS_N_PINLOC), + .PORT_MEM_RM_PINLOC (PORT_MEM_RM_PINLOC), + .PORT_MEM_ODT_PINLOC (PORT_MEM_ODT_PINLOC), + .PORT_MEM_RAS_N_PINLOC (PORT_MEM_RAS_N_PINLOC), + .PORT_MEM_CAS_N_PINLOC (PORT_MEM_CAS_N_PINLOC), + .PORT_MEM_WE_N_PINLOC (PORT_MEM_WE_N_PINLOC), + .PORT_MEM_RESET_N_PINLOC (PORT_MEM_RESET_N_PINLOC), + .PORT_MEM_ACT_N_PINLOC (PORT_MEM_ACT_N_PINLOC), + .PORT_MEM_PAR_PINLOC (PORT_MEM_PAR_PINLOC), + .PORT_MEM_CA_PINLOC (PORT_MEM_CA_PINLOC), + .PORT_MEM_REF_N_PINLOC (PORT_MEM_REF_N_PINLOC), + .PORT_MEM_WPS_N_PINLOC (PORT_MEM_WPS_N_PINLOC), + .PORT_MEM_RPS_N_PINLOC (PORT_MEM_RPS_N_PINLOC), + .PORT_MEM_DOFF_N_PINLOC (PORT_MEM_DOFF_N_PINLOC), + .PORT_MEM_LDA_N_PINLOC (PORT_MEM_LDA_N_PINLOC), + .PORT_MEM_LDB_N_PINLOC (PORT_MEM_LDB_N_PINLOC), + .PORT_MEM_RWA_N_PINLOC (PORT_MEM_RWA_N_PINLOC), + .PORT_MEM_RWB_N_PINLOC (PORT_MEM_RWB_N_PINLOC), + .PORT_MEM_LBK0_N_PINLOC (PORT_MEM_LBK0_N_PINLOC), + .PORT_MEM_LBK1_N_PINLOC (PORT_MEM_LBK1_N_PINLOC), + .PORT_MEM_CFG_N_PINLOC (PORT_MEM_CFG_N_PINLOC), + .PORT_MEM_AP_PINLOC (PORT_MEM_AP_PINLOC), + .PORT_MEM_AINV_PINLOC (PORT_MEM_AINV_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_DQA_PINLOC (PORT_MEM_DQA_PINLOC), + .PORT_MEM_DQB_PINLOC (PORT_MEM_DQB_PINLOC), + .PORT_MEM_DINVA_PINLOC (PORT_MEM_DINVA_PINLOC), + .PORT_MEM_DINVB_PINLOC (PORT_MEM_DINVB_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_DQS_PINLOC (PORT_MEM_DQS_PINLOC), + .PORT_MEM_DQS_N_PINLOC (PORT_MEM_DQS_N_PINLOC), + .PORT_MEM_QK_PINLOC (PORT_MEM_QK_PINLOC), + .PORT_MEM_QK_N_PINLOC (PORT_MEM_QK_N_PINLOC), + .PORT_MEM_QKA_PINLOC (PORT_MEM_QKA_PINLOC), + .PORT_MEM_QKA_N_PINLOC (PORT_MEM_QKA_N_PINLOC), + .PORT_MEM_QKB_PINLOC (PORT_MEM_QKB_PINLOC), + .PORT_MEM_QKB_N_PINLOC (PORT_MEM_QKB_N_PINLOC), + .PORT_MEM_CQ_PINLOC (PORT_MEM_CQ_PINLOC), + .PORT_MEM_CQ_N_PINLOC (PORT_MEM_CQ_N_PINLOC), + .PORT_MEM_ALERT_N_PINLOC (PORT_MEM_ALERT_N_PINLOC), + .PORT_MEM_PE_N_PINLOC (PORT_MEM_PE_N_PINLOC), + .DQS_BUS_MODE_ENUM (DQS_BUS_MODE_ENUM), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .LANES_USAGE (LANES_USAGE), + .PRI_RDATA_TILE_INDEX (PRI_RDATA_TILE_INDEX), + .PRI_RDATA_LANE_INDEX (PRI_RDATA_LANE_INDEX), + .PRI_WDATA_TILE_INDEX (PRI_WDATA_TILE_INDEX), + .PRI_WDATA_LANE_INDEX (PRI_WDATA_LANE_INDEX), + .SEC_RDATA_TILE_INDEX (SEC_RDATA_TILE_INDEX), + .SEC_RDATA_LANE_INDEX (SEC_RDATA_LANE_INDEX), + .SEC_WDATA_TILE_INDEX (SEC_WDATA_TILE_INDEX), + .SEC_WDATA_LANE_INDEX (SEC_WDATA_LANE_INDEX), + .PINS_C2L_DRIVEN (PINS_C2L_DRIVEN), + .DB_PINS_PROC_MODE (DB_PINS_PROC_MODE), + .MEM_DATA_MASK_EN (MEM_DATA_MASK_EN), + .PHY_HMC_CLK_RATIO (PHY_HMC_CLK_RATIO) + ) if_inst ( + .l2core_data (actual_l2core_data), + .l2core_rdata_valid_pri (actual_l2core_rdata_valid_pri), + .l2core_rdata_valid_sec (actual_l2core_rdata_valid_sec), + .* + ); + + assign amm_readdata_0 = '0; + assign amm_readdata_1 = '0; + assign ast_rd_data_0 = '0; + assign ast_rd_data_1 = '0; + assign phylite_interface_locked = '0; + assign phylite_data_to_core = '0; + assign phylite_rdata_valid = '0; + end else + begin : hmc + if (HMC_AVL_PROTOCOL_ENUM == "CTRL_AVL_PROTOCOL_MM") + begin : amm + if (GENERATE_PHYLITE) + begin: phylite + altera_emif_arch_fm_phylite_if # ( + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .UFI_LATENCY (UFI_LATENCY), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_DQS_PINLOC (PORT_MEM_DQS_PINLOC), + .PORT_MEM_DQS_N_PINLOC (PORT_MEM_DQS_N_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PINS_C2L_DRIVEN (PINS_C2L_DRIVEN), + .PORT_CTRL_DATA_OUT_WIDTH (PORT_CTRL_DATA_OUT_WIDTH), + .PORT_CTRL_DATA_IN_WIDTH (PORT_CTRL_DATA_IN_WIDTH), + .PORT_CTRL_STROBE_WIDTH (PORT_CTRL_STROBE_WIDTH), + .PORT_CTRL_RDATA_VALID_WIDTH (PORT_CTRL_RDATA_VALID_WIDTH), + .PORT_CTRL_RDATA_ENABLE_WIDTH (PORT_CTRL_RDATA_ENABLE_WIDTH), + .PORT_CTRL_DATA_OE_WIDTH (PORT_CTRL_DATA_OE_WIDTH), + .PORT_CTRL_STROBE_OE_WIDTH (PORT_CTRL_STROBE_OE_WIDTH) + ) phylite_if_inst ( + .l2core_data (actual_l2core_data), + .l2core_rdata_valid(l2core_rdata_valid_pri), + .* + ); + + assign ast_rd_data_0 = '0; + assign ast_rd_data_1 = '0; + assign amm_readdata_0 = '0; + assign amm_readdata_1 = '0; + end else + begin: amm + altera_emif_arch_fm_hmc_amm_data_if # ( + .HMC_READY_LATENCY (HMC_READY_LATENCY), + .REGISTER_AMM_C2P (REGISTER_AMM_C2P), + .REGISTER_AMM_P2C (REGISTER_AMM_P2C), + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .PORT_CTRL_AMM_RDATA_WIDTH (PORT_CTRL_AMM_RDATA_WIDTH), + .PORT_CTRL_AMM_WDATA_WIDTH (PORT_CTRL_AMM_WDATA_WIDTH), + .PORT_CTRL_AMM_BYTEEN_WIDTH (PORT_CTRL_AMM_BYTEEN_WIDTH), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PINS_C2L_DRIVEN (PINS_C2L_DRIVEN) + ) data_if_inst ( + .l2core_data (actual_l2core_data), + .* + ); + + assign ast_rd_data_0 = '0; + assign ast_rd_data_1 = '0; + assign phylite_rdata_valid = '0; + assign phylite_data_to_core = '0; + assign core2l_rdata_en_full = '0; + assign phylite_interface_locked = '0; + end + end else + begin : hmc_ast + altera_emif_arch_fm_hmc_ast_data_if # ( + .PINS_PER_LANE (PINS_PER_LANE), + .LANES_PER_TILE (LANES_PER_TILE), + .NUM_OF_RTL_TILES (NUM_OF_RTL_TILES), + .NUM_OF_HMC_PORTS (NUM_OF_HMC_PORTS), + .PORT_CTRL_AST_WR_DATA_WIDTH (PORT_CTRL_AST_WR_DATA_WIDTH), + .PORT_CTRL_AST_RD_DATA_WIDTH (PORT_CTRL_AST_RD_DATA_WIDTH), + .PORT_MEM_D_PINLOC (PORT_MEM_D_PINLOC), + .PORT_MEM_DQ_PINLOC (PORT_MEM_DQ_PINLOC), + .PORT_MEM_Q_PINLOC (PORT_MEM_Q_PINLOC), + .PORT_MEM_DM_PINLOC (PORT_MEM_DM_PINLOC), + .PORT_MEM_DBI_N_PINLOC (PORT_MEM_DBI_N_PINLOC), + .PORT_MEM_BWS_N_PINLOC (PORT_MEM_BWS_N_PINLOC), + .PINS_C2L_DRIVEN (PINS_C2L_DRIVEN) + ) data_if_inst ( + .l2core_data (actual_l2core_data), + .* + ); + + assign amm_readdata_0 = '0; + assign amm_readdata_1 = '0; + assign core2l_rdata_en_full = '0; + assign phylite_rdata_valid = '0; + assign phylite_data_to_core = '0; + assign phylite_interface_locked = '0; + end + + assign afi_rdata_dbi_n = '0; + assign afi_rdata_dinv = '0; + assign afi_rdata = '0; + assign afi_rdata_valid = '0; + assign afi_alert_n = '0; + assign afi_pe_n = '0; + assign afi_err_n = '0; + assign afi_req_n = '0; + assign core2l_mrnk_read = '0; + assign core2l_mrnk_write = '0; + end + endgenerate + + altera_emif_arch_fm_cal_counter # ( + .IS_HPS (IS_HPS) + ) cal_counter_inst ( + .* + ); + + assign emif_to_hps = '0; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "EVeqkz9MvDzapiiVw7+udc++m43wu2P9R6Bkf/lfBn9ZttFzW71hzuu9P3yzPlvUUu1GESHEht8oUjkuxH5nYF5m2Y4yEaZOsor1W+qakklkcNM5gczDB8G/zUljAitcohcjlH9xX4F5r3RrLLQB1HrtXmnxKKrsVs2RsxKt4plRYJGUCxRjs6twKgr6lps1q22taZT7+7dZh7dYE0uKJfWB1PYeKR+rbOxvrAyMNm06gI1dBK7Kte80ufbyaP7O2JhiYO5lVNycMBuEdCZHNpyFt3EKGRmfHo9sUzcv1aWmjde16kIEHW7Gv+236xA8FIKQ+NGI4Wr4blbaVni38KK1hltcybOGnvqFSCzmw5JJL58pbWWPLD3Y33ZYcjmYuWSWwvDIUaw65A+eh3yB9sH29S+NZlKlFM/WY8z2bUSsn7Gv3DvxXHuZNXQFgqB14RO4l92kXwHRT8/mtX+inj/VRrcp0Dx94h6n6Fa5MsMw+5Fv+B9pe409UWcLpJqSF1JUpTU6/v9VGGT1d+/11ucJOmUOb8u6fXvXLMiv12IzwRGa7AFadnIP+H/+3pfhJI5CQzTyD4jf0U5cb61OJL5H6YOtLtfc0qVQvcYifpMDgYHbnP3ZRtjiobKypezlIUpVEW6QcriQ7iyGyRLPlt4VSOinLM4epVgKDQCzjjvODgIVDEUJRvq5C0+7fftiYyd3mZsh7czHBbGCKS4k57CswPR1CVa6CiqdU4K5SuZEYXyBMHG9JLZpZMPZ+/06C+A9kyvf/9rnyjd/fdmNX/eleQ6SDgRprMN1Dr6hsVYX7kEuIyVThCgb3H1yeiAsvCYDLXUVpFcACq45uo3+qAvt+Gu2ZSsMujNSEdBqEAYSkvY1xGjmOOrgIPEJOsHeV9pGfNLhoQwLswQcl34HWwVXU2YuT5wujpAAeluGGoXhTkVVhmPP2h8Mqf4/DCafXnNwG/WBQl4aXLouhCStCqe6bnXaNpomzeNw4sW60BNaOOyURi0W0j+ziThLb+YY" +`endif diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl new file mode 100644 index 0000000000..dc75372bb4 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl @@ -0,0 +1,613 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + + +set script_dir [file dirname [info script]] + +load_package sdc_ext +load_package design + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_index_in_collection { col j } { + set i 0 + foreach_in_collection path $col { + if {$i == $j} { + return $path + } + set i [expr $i + 1] + } + return "" +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_to_pin_name_mapping {} { + set result [list] + set clocks_collection [get_clocks] + foreach_in_collection clock $clocks_collection { + if { ![is_clock_defined $clock] } { + continue + } + set clock_name [get_clock_info -name $clock] + set clock_target [get_clock_info -targets $clock] + set first_index [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_index_in_collection $clock_target 0] + set catch_exception_net [catch {get_net_info -name $first_index} pin_name_net] + if {$catch_exception_net == 0} { + lappend result [list $clock_name $pin_name_net] + } else { + set catch_exception_port [catch {get_port_info -name $first_index} pin_name_port] + if {$catch_exception_port == 0} { + lappend result [list $clock_name $pin_name_port] + } else { + set catch_exception_reg [catch {get_register_info -name $first_index} pin_name_reg] + if {$catch_exception_reg == 0} { + lappend result [list $clock_name $pin_name_reg] + } else { + set catch_exception_pin [catch {get_pin_info -name $first_index} pin_name_pin] + if {$catch_exception_pin == 0} { + lappend result [list $clock_name $pin_name_pin] + } + } + } + } + } + return $result +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_name_from_pin_name { pin_name } { + set table [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_to_pin_name_mapping] + foreach entry $table { + if {[string compare [lindex [lindex [split $entry] 1] 0] $pin_name] == 0} { + return [lindex $entry 0] + } + } + return "" +} + + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_find_all_keepers { mystring } { + set allkeepers [get_keepers $mystring ] + + foreach_in_collection keeper $allkeepers { + set keepername [ get_node_info -name $keeper ] + + puts "$keepername" + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_round_3dp { x } { + return [expr { round($x * 1000) / 1000.0 } ] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_current_timequest_report_folder {} { + + set catch_exception [catch {get_current_timequest_report_folder} error_message] + if {[regexp ERROR $error_message] == 1} { + return "ReportDDR" + } else { + return [get_current_timequest_report_folder] + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_timequest_name {hier_name} { + set sta_name $hier_name + return $sta_name +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_are_entity_names_on { } { + return [set_project_mode -is_show_entity] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_instance_list {corename} { + global ::io_only_analysis + + if {$::io_only_analysis == 1} { + set instance_list [list $corename] + + } else { + set full_instance_list [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_full_instance_list $corename] + set instance_list [list] + + foreach inst $full_instance_list { + set sta_name [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_timequest_name $inst] + if {[lsearch $instance_list [escape_brackets $sta_name]] == -1} { + lappend instance_list $sta_name + } + } + + } + return $instance_list +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_or_add_generated_clock {args} { + array set opts [list -name "" -target "" -source "" -multiply_by 1 -divide_by 1 -phase 0] + array set opts $args + + set multiply_by [expr int($opts(-multiply_by))] + if {[expr $multiply_by - $opts(-multiply_by)] != 0.0} { + post_message -type error "Specify an integer ranging from 0 to 99999999 for the option -multiply_by" + return "" + } + + set clock_name [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_name_from_pin_name $opts(-target)] + + if {[string compare -nocase $clock_name ""] == 0} { + set nets [get_nets $opts(-target) -nowarn] + if {[get_collection_size $nets] > 0} { + set pin_name [get_pin_info -name [get_net_info -pin $nets]] + set clock_name [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_clock_name_from_pin_name $pin_name] + + if {[string compare -nocase $clock_name ""] != 0} { + if {[regexp -nocase "lvds_clk" $pin_name] || [regexp -nocase "loaden" $pin_name] } { + remove_clock $clock_name + set clock_name "" + } + } + } + } else { + if {([string compare -nocase $opts(-name) ""] != 0) && ([string compare -nocase $opts(-name) $clock_name])} { + + if {[regexp -nocase "pll_inst\|outclk" $opts(-target)]} { + remove_clock $clock_name + set clock_name "" + } + } + } + + if {[string compare -nocase $clock_name ""] == 0} { + set clock_name $opts(-name) + + create_generated_clock \ + -name $clock_name \ + -source $opts(-source) \ + -multiply_by $multiply_by \ + -divide_by $opts(-divide_by) \ + -phase $opts(-phase) \ + $opts(-target) + } + + return $clock_name +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_core_full_instance_list {corename} { + + set instance_list [list] + + if {[is_fitter_in_qhd_mode]} { + set instance_list_pre [design::get_instances -entity $corename] + + } else { + set instance_list_pre [get_entity_instances $corename] + } + + foreach instance $instance_list_pre { + regsub {\|arch$} $instance "" instance_no_arch + lappend instance_list $instance_no_arch + } + + if {[ llength $instance_list ] == 0} { + post_message -type error "The auto-constraining script was not able to detect any instance for core < $corename >" + post_message -type error "Make sure the core < $corename > is instantiated within another component (wrapper)" + post_message -type error "and it's not the top-level for your project" + } + + return $instance_list +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_fanin_up_to_depth { node_id match_command edge_type results_array_name depth} { + upvar 1 $results_array_name results + + if {$depth < 0} { + error "Internal error: Bad timing netlist search depth" + } + set fanin_edges [get_node_info -${edge_type}_edges $node_id] + set number_of_fanin_edges [llength $fanin_edges] + for {set i 0} {$i != $number_of_fanin_edges} {incr i} { + set fanin_edge [lindex $fanin_edges $i] + set fanin_id [get_edge_info -src $fanin_edge] + if {$match_command == "" || [eval $match_command $fanin_id] != 0} { + set results($fanin_id) 1 + } elseif {$depth == 0} { + } else { + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_fanin_up_to_depth $fanin_id $match_command $edge_type results [expr {$depth - 1}] + } + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_is_node_type_pin { node_id } { + set node_type [get_node_info -type $node_id] + if {$node_type == "port"} { + set result 1 + } else { + set result 0 + } + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_pll_clock_name { clock_id } { + set clock_name [get_node_info -name $clock_id] + + return $clock_name +} + +proc post_sdc_message {msg_type msg} { + global ::io_only_analysis + + if {($::io_only_analysis == 1) || $::TimeQuestInfo(nameofexecutable) != "quartus_fit"} { + post_message -type $msg_type $msg + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_names_in_collection { col } { + set res [list] + foreach_in_collection node $col { + lappend res [ get_node_info -name $node ] + } + return $res +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_format_3dp { x } { + return [format %.3f $x] +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_colours { x y } { + + set fcolour [list "black"] + if {$x < 0} { + lappend fcolour "red" + } else { + lappend fcolour "blue" + } + if {$y < 0} { + lappend fcolour "red" + } else { + lappend fcolour "blue" + } + + return $fcolour +} + +proc min { a b } { + if { $a == "" } { + return $b + } elseif { $a < $b } { + return $a + } else { + return $b + } +} + +proc max { a b } { + if { $a == "" } { + return $b + } elseif { $a > $b } { + return $a + } else { + return $b + } +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_max_in_collection { col attribute } { + set i 0 + set max 0 + foreach_in_collection path $col { + if {$i == 0} { + set max [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp > $max} { + set max $temp + } + } + set i [expr $i + 1] + } + return $max +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection { col attribute } { + set i 0 + set min 0 + foreach_in_collection path $col { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_to_clock { col attribute clock } { + set i 0 + set min ERROR + foreach_in_collection path $col { + if {[get_clock_info -name [get_path_info $path -to_clock]] == $clock} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_from_clock { col attribute clock } { + set i 0 + set min ERROR + foreach_in_collection path $col { + if {[get_clock_info -name [get_path_info $path -from_clock]] == $clock} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_to_name { col attribute name } { + set i 0 + set min 0 + foreach_in_collection path $col { + if {[get_node_info -name [get_path_info $path -to]] == $name} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_from_name { col attribute name } { + set i 0 + set min 0 + foreach_in_collection path $col { + if {[get_node_info -name [get_path_info $path -from]] == $name} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_max_in_collection_to_name { col attribute name } { + set i 0 + set max 0 + foreach_in_collection path $col { + if {[get_node_info -name [get_path_info $path -to]] == $name} { + if {$i == 0} { + set max [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp > $max} { + set max $temp + } + } + set i [expr $i + 1] + } + } + return $max +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_max_in_collection_from_name { col attribute name } { + set i 0 + set max 0 + foreach_in_collection path $col { + if {[get_node_info -name [get_path_info $path -from]] == $name} { + if {$i == 0} { + set max [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp > $max} { + set max $temp + } + } + set i [expr $i + 1] + } + } + return $max +} + + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_to_name2 { col attribute name } { + set i 0 + set min 0 + foreach_in_collection path $col { + if {[regexp $name [get_node_info -name [get_path_info $path -to]]]} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_min_in_collection_from_name2 { col attribute name } { + set i 0 + set min 0 + foreach_in_collection path $col { + if {[regexp $name [get_node_info -name [get_path_info $path -from]]]} { + if {$i == 0} { + set min [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp < $min} { + set min $temp + } + } + set i [expr $i + 1] + } + } + return $min +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_max_in_collection_to_name2 { col attribute name } { + set i 0 + set max 0 + foreach_in_collection path $col { + if {[regexp $name [get_node_info -name [get_path_info $path -to]]]} { + if {$i == 0} { + set max [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp > $max} { + set max $temp + } + } + set i [expr $i + 1] + } + } + return $max +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_max_in_collection_from_name2 { col attribute name } { + set i 0 + set max 0 + foreach_in_collection path $col { + if {[regexp $name [get_node_info -name [get_path_info $path -from]]]} { + if {$i == 0} { + set max [get_path_info $path -${attribute}] + } else { + set temp [get_path_info $path -${attribute}] + if {$temp > $max} { + set max $temp + } + } + set i [expr $i + 1] + } + } + return $max +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_sort_proc {a b} { + set idxs [list 1 2 0] + foreach i $idxs { + set ai [lindex $a $i] + set bi [lindex $b $i] + if {$ai > $bi} { + return 1 + } elseif { $ai < $bi } { + return -1 + } + } + return 0 +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_gcd {p q} { + set p [expr {abs($p)}] + set q [expr {abs($q)}] + while {$q != 0} { + set r [expr {$p % $q}] + set p $q + set q $r + } + return $p +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_atom_path {atom_id atom_oport_id path} { + # Return list of {atom oterm_id} pairs by tracing the atom netlist starting from the given atom_id through the given path + # Path consists of list of {atom_type fanin|fanout|end <-optional>} + set result [list] + if {[llength $path] > 0} { + set path_point [lindex $path 0] + set atom_type [lindex $path_point 0] + set next_direction [lindex $path_point 1] + set port_type [lindex $path_point 2] + set atom_optional [lindex $path_point 3] + if {[get_atom_node_info -key type -node $atom_id] == $atom_type} { + if {$next_direction == "end"} { + if {[get_atom_port_info -key type -node $atom_id -port_id $atom_oport_id -type oport] == $port_type} { + lappend result [list $atom_id $atom_oport_id] + } + } elseif {$next_direction == "atom"} { + lappend result [list $atom_id] + } elseif {$next_direction == "fanin"} { + set atom_iport [get_atom_iport_by_type -node $atom_id -type $port_type] + if {$atom_iport != -1} { + set iport_fanin [get_atom_port_info -key fanin -node $atom_id -port_id $atom_iport -type iport] + set source_atom [lindex $iport_fanin 0] + set source_oterm [lindex $iport_fanin 1] + set result [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_atom_path $source_atom $source_oterm [lrange $path 1 end]] + } elseif {$atom_optional == "-optional"} { + set result [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_atom_path $atom_id $atom_oport_id [lrange $path 1 end]] + } + } elseif {$next_direction == "fanout"} { + set atom_oport [get_atom_oport_by_type -node $atom_id -type $port_type] + if {$atom_oport != -1} { + set oport_fanout [get_atom_port_info -key fanout -node $atom_id -port_id $atom_oport -type oport] + foreach dest $oport_fanout { + set dest_atom [lindex $dest 0] + set dest_iterm [lindex $dest 1] + set fanout_result_list [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_atom_path $dest_atom -1 [lrange $path 1 end]] + foreach fanout_result $fanout_result_list { + if {[lsearch $result $fanout_result] == -1} { + lappend result $fanout_result + } + } + } + } + } else { + error "Unexpected path" + } + } elseif {$atom_optional == "-optional"} { + set result [ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_traverse_atom_path $atom_id $atom_oport_id [lrange $path 1 end]] + } + } + return $result +} + +proc ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_get_operating_conditions_number {} { + set cur_operating_condition [get_operating_conditions] + set counter 0 + foreach_in_collection op [get_available_operating_conditions] { + if {[string compare $cur_operating_condition $op] == 0} { + return $counter + } + incr counter + } + return $counter +} diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_191/synth/ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_191/synth/ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v new file mode 100644 index 0000000000..a9e1e45ffc --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_191/synth/ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v @@ -0,0 +1,211 @@ +// ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v + +// This file was auto-generated from altera_emif_ecc_hw.tcl. If you edit it your changes +// will probably be lost. +// +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq ( + output wire emif_usr_reset_n, // emif_usr_reset_n.reset_n, Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + output wire emif_usr_clk, // emif_usr_clk.clk, User clock domain + input wire emif_usr_reset_n_in, // emif_usr_reset_n_in.reset_n, Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + input wire emif_usr_clk_in, // emif_usr_clk_in.clk, User clock domain + output wire [14:0] ctrl_ecc_write_info_0, // ctrl_ecc_0.ctrl_ecc_write_info + input wire [12:0] ctrl_ecc_rdata_id_0, // .ctrl_ecc_rdata_id + input wire [2:0] ctrl_ecc_read_info_0, // .ctrl_ecc_read_info + input wire [2:0] ctrl_ecc_cmd_info_0, // .ctrl_ecc_cmd_info + input wire ctrl_ecc_idle_0, // .ctrl_ecc_idle + input wire [11:0] ctrl_ecc_wr_pointer_info_0, // .ctrl_ecc_wr_pointer_info + output wire ctrl_ecc_user_interrupt_0, // ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt, Controller ECC user interrupt signal to determine whether there is a bit error + output wire ast_cmd_valid_0, // ctrl_ast_cmd_0.valid, Indicates whether command is valid + input wire ast_cmd_ready_0, // .ready, Comand request signal + output wire [60:0] ast_cmd_data_0, // .data, Command data + output wire ast_wr_valid_0, // ctrl_ast_wr_0.valid, Indicates whether write data is valid + input wire ast_wr_ready_0, // .ready, Write request signal + output wire [647:0] ast_wr_data_0, // .data, Write data + input wire ast_rd_valid_0, // ctrl_ast_rd_0.valid, Read request signal + output wire ast_rd_ready_0, // .ready, Indicates whether read data is valid + input wire [575:0] ast_rd_data_0, // .data, Read data + output wire amm_ready_0, // ctrl_amm_0.waitrequest_n, Wait-request is asserted when controller is busy + input wire amm_read_0, // .read, Read request signal + input wire amm_write_0, // .write, Write request signal + input wire [26:0] amm_address_0, // .address, Address for the read/write request + output wire [511:0] amm_readdata_0, // .readdata, Read data + input wire [511:0] amm_writedata_0, // .writedata, Write data + input wire [6:0] amm_burstcount_0, // .burstcount, Number of transfers in each read/write burst + input wire [63:0] amm_byteenable_0, // .byteenable, Byte-enable for write data + output wire amm_readdatavalid_0 // .readdatavalid, Indicates whether read data is valid + ); + + altera_emif_ecc_core #( + .PHY_PING_PONG_EN (0), + .CTRL_MMR_EN (0), + .DIAG_USE_ABSTRACT_PHY (0), + .DIAG_SIM_MEMORY_PRELOAD (0), + .DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE (""), + .DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE (""), + .DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE (""), + .DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE (""), + .DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE (""), + .DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE (""), + .USER_CLK_RATIO (4), + .C2P_P2C_CLK_RATIO (4), + .PHY_HMC_CLK_RATIO (2), + .USE_AVL_BYTEEN (1), + .ENABLE_ECC (1), + .ENABLE_ECC_AUTO_CORRECTION (0), + .REGISTER_RDATA_PATH_NUM (2), + .REGISTER_WDATA_PATH_NUM (2), + .REGISTER_UFI_RDATA_PATH_NUM (0), + .REGISTER_ST_WDATA_RDY_LAT_PATH (0), + .REGISTER_ST_RDATA_RDY_LAT_PATH (0), + .REGISTER_ST_CMD_RDY_LAT_PATH (0), + .REGISTER_CORE_CMD_PIPELINE_WDATA (0), + .MEM_DQ_WIDTH (72), + .ECC_MMR_READ_LATENCY (5), + .PORT_CTRL_ECC_WRITE_INFO_WIDTH (15), + .PORT_CTRL_ECC_RDATA_ID_WIDTH (13), + .PORT_CTRL_ECC_READ_INFO_WIDTH (3), + .PORT_CTRL_ECC_CMD_INFO_WIDTH (3), + .PORT_CTRL_ECC_WB_POINTER_WIDTH (12), + .PORT_CTRL_ECC_STS_INTR_WIDTH (1), + .PORT_CTRL_ECC_STS_SBE_ERROR_WIDTH (1), + .PORT_CTRL_ECC_STS_DBE_ERROR_WIDTH (1), + .PORT_CTRL_ECC_STS_CORR_DROPPED_WIDTH (1), + .PORT_CTRL_ECC_STS_SBE_COUNT_WIDTH (4), + .PORT_CTRL_ECC_STS_DBE_COUNT_WIDTH (4), + .PORT_CTRL_ECC_STS_CORR_DROPPED_COUNT_WIDTH (4), + .PORT_CTRL_ECC_STS_ERR_ADDR_WIDTH (35), + .PORT_CTRL_ECC_STS_CORR_DROPPED_ADDR_WIDTH (35), + .PORT_CTRL_AST_CMD_DATA_WIDTH (61), + .PORT_CTRL_AST_WR_DATA_WIDTH (648), + .PORT_CTRL_AST_RD_DATA_WIDTH (576), + .PORT_CTRL_AMM_ADDRESS_WIDTH (27), + .PORT_CTRL_AMM_RDATA_WIDTH (512), + .PORT_CTRL_AMM_WDATA_WIDTH (512), + .PORT_CTRL_AMM_BCOUNT_WIDTH (7), + .PORT_CTRL_AMM_BYTEEN_WIDTH (64), + .PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH (10), + .PORT_CTRL_MMR_SLAVE_RDATA_WIDTH (32), + .PORT_CTRL_MMR_SLAVE_WDATA_WIDTH (32), + .PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH (2), + .PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH (10), + .PORT_CTRL_MMR_MASTER_RDATA_WIDTH (32), + .PORT_CTRL_MMR_MASTER_WDATA_WIDTH (32), + .PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH (2) + ) core ( + .emif_usr_reset_n (emif_usr_reset_n), // output, width = 1, emif_usr_reset_n.reset_n + .emif_usr_clk (emif_usr_clk), // output, width = 1, emif_usr_clk.clk + .emif_usr_reset_n_in (emif_usr_reset_n_in), // input, width = 1, emif_usr_reset_n_in.reset_n + .emif_usr_clk_in (emif_usr_clk_in), // input, width = 1, emif_usr_clk_in.clk + .ctrl_ecc_write_info_0 (ctrl_ecc_write_info_0), // output, width = 15, ctrl_ecc_0.ctrl_ecc_write_info + .ctrl_ecc_rdata_id_0 (ctrl_ecc_rdata_id_0), // input, width = 13, .ctrl_ecc_rdata_id + .ctrl_ecc_read_info_0 (ctrl_ecc_read_info_0), // input, width = 3, .ctrl_ecc_read_info + .ctrl_ecc_cmd_info_0 (ctrl_ecc_cmd_info_0), // input, width = 3, .ctrl_ecc_cmd_info + .ctrl_ecc_idle_0 (ctrl_ecc_idle_0), // input, width = 1, .ctrl_ecc_idle + .ctrl_ecc_wr_pointer_info_0 (ctrl_ecc_wr_pointer_info_0), // input, width = 12, .ctrl_ecc_wr_pointer_info + .ctrl_ecc_user_interrupt_0 (ctrl_ecc_user_interrupt_0), // output, width = 1, ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt + .ast_cmd_valid_0 (ast_cmd_valid_0), // output, width = 1, ctrl_ast_cmd_0.valid + .ast_cmd_ready_0 (ast_cmd_ready_0), // input, width = 1, .ready + .ast_cmd_data_0 (ast_cmd_data_0), // output, width = 61, .data + .ast_wr_valid_0 (ast_wr_valid_0), // output, width = 1, ctrl_ast_wr_0.valid + .ast_wr_ready_0 (ast_wr_ready_0), // input, width = 1, .ready + .ast_wr_data_0 (ast_wr_data_0), // output, width = 648, .data + .ast_rd_valid_0 (ast_rd_valid_0), // input, width = 1, ctrl_ast_rd_0.valid + .ast_rd_ready_0 (ast_rd_ready_0), // output, width = 1, .ready + .ast_rd_data_0 (ast_rd_data_0), // input, width = 576, .data + .amm_ready_0 (amm_ready_0), // output, width = 1, ctrl_amm_0.waitrequest_n + .amm_read_0 (amm_read_0), // input, width = 1, .read + .amm_write_0 (amm_write_0), // input, width = 1, .write + .amm_address_0 (amm_address_0), // input, width = 27, .address + .amm_readdata_0 (amm_readdata_0), // output, width = 512, .readdata + .amm_writedata_0 (amm_writedata_0), // input, width = 512, .writedata + .amm_burstcount_0 (amm_burstcount_0), // input, width = 7, .burstcount + .amm_byteenable_0 (amm_byteenable_0), // input, width = 64, .byteenable + .amm_readdatavalid_0 (amm_readdatavalid_0), // output, width = 1, .readdatavalid + .amm_beginbursttransfer_0 (1'b0), // (terminated), + .amm_beginbursttransfer_1 (1'b0), // (terminated), + .emif_usr_reset_n_sec (), // (terminated), + .emif_usr_clk_sec (), // (terminated), + .emif_usr_reset_n_sec_in (1'b1), // (terminated), + .emif_usr_clk_sec_in (1'b0), // (terminated), + .ctrl_ecc_write_info_1 (), // (terminated), + .ctrl_ecc_rdata_id_1 (13'b0000000000000), // (terminated), + .ctrl_ecc_read_info_1 (3'b000), // (terminated), + .ctrl_ecc_cmd_info_1 (3'b000), // (terminated), + .ctrl_ecc_idle_1 (1'b0), // (terminated), + .ctrl_ecc_wr_pointer_info_1 (12'b000000000000), // (terminated), + .ctrl_ecc_user_interrupt_1 (), // (terminated), + .ctrl_ecc_readdataerror_0 (), // (terminated), + .ctrl_ecc_readdataerror_1 (), // (terminated), + .ctrl_ecc_sts_intr (), // (terminated), + .ctrl_ecc_sts_sbe_error (), // (terminated), + .ctrl_ecc_sts_dbe_error (), // (terminated), + .ctrl_ecc_sts_corr_dropped (), // (terminated), + .ctrl_ecc_sts_sbe_count (), // (terminated), + .ctrl_ecc_sts_dbe_count (), // (terminated), + .ctrl_ecc_sts_corr_dropped_count (), // (terminated), + .ctrl_ecc_sts_err_addr (), // (terminated), + .ctrl_ecc_sts_corr_dropped_addr (), // (terminated), + .ast_cmd_valid_1 (), // (terminated), + .ast_cmd_ready_1 (1'b0), // (terminated), + .ast_cmd_data_1 (), // (terminated), + .ast_wr_valid_1 (), // (terminated), + .ast_wr_ready_1 (1'b0), // (terminated), + .ast_wr_data_1 (), // (terminated), + .ast_rd_valid_1 (1'b0), // (terminated), + .ast_rd_ready_1 (), // (terminated), + .ast_rd_data_1 (576'b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .amm_ready_1 (), // (terminated), + .amm_read_1 (1'b0), // (terminated), + .amm_write_1 (1'b0), // (terminated), + .amm_address_1 (27'b000000000000000000000000000), // (terminated), + .amm_readdata_1 (), // (terminated), + .amm_writedata_1 (512'b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .amm_burstcount_1 (7'b0000000), // (terminated), + .amm_byteenable_1 (64'b0000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .amm_readdatavalid_1 (), // (terminated), + .mmr_slave_waitrequest_0 (), // (terminated), + .mmr_slave_read_0 (1'b0), // (terminated), + .mmr_slave_write_0 (1'b0), // (terminated), + .mmr_slave_address_0 (10'b0000000000), // (terminated), + .mmr_slave_readdata_0 (), // (terminated), + .mmr_slave_writedata_0 (32'b00000000000000000000000000000000), // (terminated), + .mmr_slave_burstcount_0 (2'b00), // (terminated), + .mmr_slave_beginbursttransfer_0 (1'b0), // (terminated), + .mmr_slave_readdatavalid_0 (), // (terminated), + .mmr_slave_waitrequest_1 (), // (terminated), + .mmr_slave_read_1 (1'b0), // (terminated), + .mmr_slave_write_1 (1'b0), // (terminated), + .mmr_slave_address_1 (10'b0000000000), // (terminated), + .mmr_slave_readdata_1 (), // (terminated), + .mmr_slave_writedata_1 (32'b00000000000000000000000000000000), // (terminated), + .mmr_slave_burstcount_1 (2'b00), // (terminated), + .mmr_slave_beginbursttransfer_1 (1'b0), // (terminated), + .mmr_slave_readdatavalid_1 (), // (terminated), + .mmr_master_waitrequest_0 (1'b0), // (terminated), + .mmr_master_read_0 (), // (terminated), + .mmr_master_write_0 (), // (terminated), + .mmr_master_address_0 (), // (terminated), + .mmr_master_readdata_0 (32'b00000000000000000000000000000000), // (terminated), + .mmr_master_writedata_0 (), // (terminated), + .mmr_master_burstcount_0 (), // (terminated), + .mmr_master_beginbursttransfer_0 (), // (terminated), + .mmr_master_readdatavalid_0 (1'b0), // (terminated), + .mmr_master_waitrequest_1 (1'b0), // (terminated), + .mmr_master_read_1 (), // (terminated), + .mmr_master_write_1 (), // (terminated), + .mmr_master_address_1 (), // (terminated), + .mmr_master_readdata_1 (32'b00000000000000000000000000000000), // (terminated), + .mmr_master_writedata_1 (), // (terminated), + .mmr_master_burstcount_1 (), // (terminated), + .mmr_master_beginbursttransfer_1 (), // (terminated), + .mmr_master_readdatavalid_1 (1'b0), // (terminated), + .ctrl_user_priority_hi_0 (1'b0), // (terminated), + .ctrl_user_priority_hi_1 (1'b0), // (terminated), + .ctrl_auto_precharge_req_0 (1'b0), // (terminated), + .ctrl_auto_precharge_req_1 (1'b0) // (terminated), + ); + +endmodule diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_ecc_core.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_ecc_core.v new file mode 100644 index 0000000000..f05b25cf12 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_ecc_core.v @@ -0,0 +1,908 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module altera_emif_ecc_core # +( + parameter USER_CLK_RATIO = 1, + parameter C2P_P2C_CLK_RATIO = 1, + parameter PHY_HMC_CLK_RATIO = 1, + parameter PHY_PING_PONG_EN = 0, + parameter DIAG_USE_ABSTRACT_PHY = 0, + parameter DIAG_SIM_MEMORY_PRELOAD = 0, + parameter DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE = "", + parameter REGISTER_RDATA_PATH_NUM = 2, + parameter REGISTER_UFI_RDATA_PATH_NUM = 2, + parameter REGISTER_WDATA_PATH_NUM = 2, + parameter REGISTER_ST_WDATA_RDY_LAT_PATH = 0, + parameter REGISTER_ST_RDATA_RDY_LAT_PATH = 0, + parameter REGISTER_ST_CMD_RDY_LAT_PATH = 0, + parameter REGISTER_CORE_CMD_PIPELINE_WDATA = 1, + parameter USE_AVL_BYTEEN = 1, + parameter ENABLE_ECC = 1, + parameter ENABLE_ECC_AUTO_CORRECTION = 1, + parameter MEM_DQ_WIDTH = 1, + parameter CTRL_MMR_EN = 0, + parameter ECC_MMR_READ_LATENCY = 2, + + parameter PORT_CTRL_ECC_WRITE_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_RDATA_ID_WIDTH = 1, + parameter PORT_CTRL_ECC_READ_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_CMD_INFO_WIDTH = 1, + parameter PORT_CTRL_ECC_WB_POINTER_WIDTH = 1, + parameter PORT_CTRL_AST_CMD_DATA_WIDTH = 1, + parameter PORT_CTRL_AST_WR_DATA_WIDTH = 1, + parameter PORT_CTRL_AST_RD_DATA_WIDTH = 1, + parameter PORT_CTRL_AMM_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_AMM_RDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_WDATA_WIDTH = 1, + parameter PORT_CTRL_AMM_BCOUNT_WIDTH = 1, + parameter PORT_CTRL_AMM_BYTEEN_WIDTH = 1, + parameter PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_MMR_MASTER_RDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_MASTER_WDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_RDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_WDATA_WIDTH = 1, + parameter PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH = 1, + + parameter PORT_CTRL_ECC_STS_INTR_WIDTH = 1, + parameter PORT_CTRL_ECC_STS_SBE_ERROR_WIDTH = 1, + parameter PORT_CTRL_ECC_STS_DBE_ERROR_WIDTH = 1, + parameter PORT_CTRL_ECC_STS_CORR_DROPPED_WIDTH = 1, + parameter PORT_CTRL_ECC_STS_SBE_COUNT_WIDTH = 4, + parameter PORT_CTRL_ECC_STS_DBE_COUNT_WIDTH = 4, + parameter PORT_CTRL_ECC_STS_CORR_DROPPED_COUNT_WIDTH = 4, + parameter PORT_CTRL_ECC_STS_ERR_ADDR_WIDTH = 35, + parameter PORT_CTRL_ECC_STS_CORR_DROPPED_ADDR_WIDTH = 35 +) +( + emif_usr_reset_n, + emif_usr_clk, + emif_usr_reset_n_in, + emif_usr_clk_in, + + emif_usr_reset_n_sec, + emif_usr_clk_sec, + emif_usr_reset_n_sec_in, + emif_usr_clk_sec_in, + + amm_ready_0, + amm_read_0, + amm_write_0, + amm_address_0, + amm_readdata_0, + amm_writedata_0, + amm_burstcount_0, + amm_byteenable_0, + amm_readdatavalid_0, + amm_beginbursttransfer_0, + + amm_ready_1, + amm_read_1, + amm_write_1, + amm_address_1, + amm_readdata_1, + amm_writedata_1, + amm_burstcount_1, + amm_byteenable_1, + amm_readdatavalid_1, + amm_beginbursttransfer_1, + + mmr_slave_waitrequest_0, + mmr_slave_address_0, + mmr_slave_write_0, + mmr_slave_read_0, + mmr_slave_burstcount_0, + mmr_slave_beginbursttransfer_0, + mmr_slave_writedata_0, + mmr_slave_readdata_0, + mmr_slave_readdatavalid_0, + + mmr_slave_waitrequest_1, + mmr_slave_address_1, + mmr_slave_write_1, + mmr_slave_read_1, + mmr_slave_burstcount_1, + mmr_slave_beginbursttransfer_1, + mmr_slave_writedata_1, + mmr_slave_readdata_1, + mmr_slave_readdatavalid_1, + + mmr_master_waitrequest_0, + mmr_master_address_0, + mmr_master_write_0, + mmr_master_read_0, + mmr_master_burstcount_0, + mmr_master_beginbursttransfer_0, + mmr_master_writedata_0, + mmr_master_readdata_0, + mmr_master_readdatavalid_0, + + mmr_master_waitrequest_1, + mmr_master_address_1, + mmr_master_write_1, + mmr_master_read_1, + mmr_master_burstcount_1, + mmr_master_beginbursttransfer_1, + mmr_master_writedata_1, + mmr_master_readdata_1, + mmr_master_readdatavalid_1, + + ctrl_user_priority_hi_0, + ctrl_auto_precharge_req_0, + + ctrl_user_priority_hi_1, + ctrl_auto_precharge_req_1, + + ast_cmd_ready_0, + ast_cmd_valid_0, + ast_cmd_data_0, + ast_wr_ready_0, + ast_wr_valid_0, + ast_wr_data_0, + ast_rd_ready_0, + ast_rd_valid_0, + ast_rd_data_0, + + ast_cmd_ready_1, + ast_cmd_valid_1, + ast_cmd_data_1, + ast_wr_ready_1, + ast_wr_valid_1, + ast_wr_data_1, + ast_rd_ready_1, + ast_rd_valid_1, + ast_rd_data_1, + + ctrl_ecc_sts_intr, + ctrl_ecc_sts_sbe_error, + ctrl_ecc_sts_dbe_error, + ctrl_ecc_sts_corr_dropped, + ctrl_ecc_sts_sbe_count, + ctrl_ecc_sts_dbe_count, + ctrl_ecc_sts_corr_dropped_count, + ctrl_ecc_sts_err_addr, + ctrl_ecc_sts_corr_dropped_addr, + + ctrl_ecc_cmd_info_0, + ctrl_ecc_rdata_id_0, + ctrl_ecc_write_info_0, + ctrl_ecc_read_info_0, + ctrl_ecc_wr_pointer_info_0, + ctrl_ecc_idle_0, + ctrl_ecc_user_interrupt_0, + ctrl_ecc_readdataerror_0, + + ctrl_ecc_cmd_info_1, + ctrl_ecc_rdata_id_1, + ctrl_ecc_write_info_1, + ctrl_ecc_read_info_1, + ctrl_ecc_wr_pointer_info_1, + ctrl_ecc_idle_1, + ctrl_ecc_user_interrupt_1, + ctrl_ecc_readdataerror_1 +); + +// Override simulation-specific parameters for synthesis +// synthesis read_comments_as_HDL on +// `define DISABLE_SIM_PARAMS_FOR_SYNTH TRUE +// synthesis read_comments_as_HDL off +`ifdef DISABLE_SIM_PARAMS_FOR_SYNTH + localparam DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD = 0; + localparam DIAG_SIM_MEMORY_PRELOAD_AFT_SYNTH_OVRD = 0; +`else + localparam DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD = DIAG_USE_ABSTRACT_PHY; + localparam DIAG_SIM_MEMORY_PRELOAD_AFT_SYNTH_OVRD = DIAG_SIM_MEMORY_PRELOAD; +`endif + +localparam PORT_CTRL_ECC_STS_MR_DATA = PORT_CTRL_AST_RD_DATA_WIDTH; +localparam PORT_CTRL_ECC_STS_MR_DATA_VALID = 1; + +localparam CFG_LOCAL_CMD_WIDTH = 2; +localparam CFG_LOCAL_ADDR_WIDTH = PORT_CTRL_AMM_ADDRESS_WIDTH; +localparam CFG_LOCAL_SIZE_WIDTH = PORT_CTRL_AMM_BCOUNT_WIDTH; +localparam CFG_LOCAL_ID_WIDTH = 13; +localparam CFG_LOCAL_PRI_WIDTH = 1; +localparam CFG_LOCAL_AP_WIDTH = 1; +localparam CFG_LOCAL_MC_WIDTH = 1; +localparam CFG_ECC_CODE_WIDTH = 8; +localparam CFG_LOCAL_CMD_DATA_WIDTH = PORT_CTRL_AST_CMD_DATA_WIDTH; +localparam CFG_LOCAL_CMD_INFO_WIDTH = PORT_CTRL_ECC_CMD_INFO_WIDTH; +localparam CFG_LOCAL_DATA_WIDTH = PORT_CTRL_AMM_WDATA_WIDTH; +localparam CFG_LOCAL_BE_WIDTH = PORT_CTRL_AMM_WDATA_WIDTH / 8; +localparam CFG_LOCAL_DATA_INFO_WIDTH = PORT_CTRL_ECC_READ_INFO_WIDTH; +localparam CFG_LOCAL_DATA_PTR_WIDTH = PORT_CTRL_ECC_WB_POINTER_WIDTH; +localparam CFG_MEM_IF_DATA_WIDTH = PORT_CTRL_AMM_WDATA_WIDTH / USER_CLK_RATIO / 2; +localparam CFG_ECC_DATA_WIDTH = PORT_CTRL_AST_RD_DATA_WIDTH; +localparam CFG_ECC_BE_WIDTH = PORT_CTRL_AST_RD_DATA_WIDTH / 8; +localparam CFG_ECC_MULTIPLE_INSTANCE = (CFG_MEM_IF_DATA_WIDTH <= 72) ? (USER_CLK_RATIO == 4) ? 8 : 4 : (USER_CLK_RATIO == 4) ? 16 : 8; + +localparam CFG_ADDR_ENCODE_ENABLED = 0; +localparam CFG_REGISTER_CMD_PATH = 1; +localparam CFG_REGISTER_RDATA_PATH = 1; +localparam CFG_REGISTER_WDATA_PATH = 1; +localparam CFG_MMR_WRPATH_PIPELINE_EN = 1; +localparam CFG_WRBUFFER_ADDR_WIDTH = 5; +localparam CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 8; +localparam CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 8; +localparam CFG_PORT_WIDTH_ADDR_WIDTH = 6; +localparam CFG_PORT_WIDTH_DATA_RATE = 4; +localparam CFG_PORT_WIDTH_ECC_IN_PROTOCOL = 1; +localparam CFG_PORT_WIDTH_WRPATH_PIPELINE_EN = 1; +localparam CFG_PORT_WIDTH_ENABLE_ECC = 1; +localparam CFG_PORT_WIDTH_ENABLE_DM = 1; +localparam CFG_PORT_WIDTH_ENABLE_RMW = 1; +localparam CFG_PORT_WIDTH_ENABLE_AUTO_CORR = 1; +localparam CFG_PORT_WIDTH_ECC_CODE_OVERWRITE = 1; +localparam CFG_PORT_WIDTH_GEN_SBE = 1; +localparam CFG_PORT_WIDTH_GEN_DBE = 1; +localparam CFG_PORT_WIDTH_ENABLE_INTR = 1; +localparam CFG_PORT_WIDTH_MASK_SBE_INTR = 1; +localparam CFG_PORT_WIDTH_MASK_DBE_INTR = 1; +localparam CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR = 1; +localparam CFG_PORT_WIDTH_MASK_HMI_INTR = 1; +localparam CFG_PORT_WIDTH_CLR_INTR = 1; +localparam CFG_PORT_WIDTH_CLR_MR_RDATA = 1; +localparam CFG_MMR_DATA_WIDTH = 32; + +localparam STS_PORT_WIDTH_ECC_INTR = 1; +localparam STS_PORT_WIDTH_SBE_ERROR = 1; +localparam STS_PORT_WIDTH_DBE_ERROR = 1; +localparam STS_PORT_WIDTH_CORR_DROPPED = 1; +localparam STS_PORT_WIDTH_SBE_COUNT = 4; +localparam STS_PORT_WIDTH_DBE_COUNT = 4; +localparam STS_PORT_WIDTH_CORR_DROPPED_COUNT = 4; +localparam STS_PORT_WIDTH_ERR_ADDR = 35; +localparam STS_PORT_WIDTH_CORR_DROPPED_ADDR = 35; +localparam STS_PORT_WIDTH_MR_DATA = PORT_CTRL_AST_RD_DATA_WIDTH; +localparam STS_PORT_WIDTH_MR_DATA_VALID = 1; + + +input emif_usr_reset_n_in; +input emif_usr_clk_in; +output emif_usr_reset_n; +output emif_usr_clk; + +input emif_usr_reset_n_sec_in; +input emif_usr_clk_sec_in; +output emif_usr_reset_n_sec; +output emif_usr_clk_sec; + +output wire [PORT_CTRL_ECC_STS_INTR_WIDTH - 1 : 0] ctrl_ecc_sts_intr; +output wire [PORT_CTRL_ECC_STS_SBE_ERROR_WIDTH - 1 : 0] ctrl_ecc_sts_sbe_error; +output wire [PORT_CTRL_ECC_STS_DBE_ERROR_WIDTH - 1 : 0] ctrl_ecc_sts_dbe_error; +output wire [PORT_CTRL_ECC_STS_CORR_DROPPED_WIDTH - 1 : 0] ctrl_ecc_sts_corr_dropped; +output wire [PORT_CTRL_ECC_STS_SBE_COUNT_WIDTH - 1 : 0] ctrl_ecc_sts_sbe_count; +output wire [PORT_CTRL_ECC_STS_DBE_COUNT_WIDTH - 1 : 0] ctrl_ecc_sts_dbe_count; +output wire [PORT_CTRL_ECC_STS_CORR_DROPPED_COUNT_WIDTH - 1 : 0] ctrl_ecc_sts_corr_dropped_count; +output wire [PORT_CTRL_ECC_STS_ERR_ADDR_WIDTH - 1 : 0] ctrl_ecc_sts_err_addr; +output wire [PORT_CTRL_ECC_STS_CORR_DROPPED_ADDR_WIDTH - 1 : 0] ctrl_ecc_sts_corr_dropped_addr; + +wire [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr_0; +wire [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error_0; +wire [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error_0; +wire [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped_0; +wire [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count_0; +wire [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count_0; +wire [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] sts_corr_dropped_count_0; +wire [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr_0; +wire [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr_0; + +wire [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr_1; +wire [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error_1; +wire [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error_1; +wire [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped_1; +wire [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count_1; +wire [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count_1; +wire [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] sts_corr_dropped_count_1; +wire [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr_1; +wire [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr_1; + +output amm_ready_0; +input amm_read_0; +input amm_write_0; +input [PORT_CTRL_AMM_ADDRESS_WIDTH - 1 : 0] amm_address_0; +output [PORT_CTRL_AMM_RDATA_WIDTH - 1 : 0] amm_readdata_0; +input [PORT_CTRL_AMM_WDATA_WIDTH - 1 : 0] amm_writedata_0; +input [PORT_CTRL_AMM_BCOUNT_WIDTH - 1 : 0] amm_burstcount_0; +input [PORT_CTRL_AMM_BYTEEN_WIDTH - 1 : 0] amm_byteenable_0; +input amm_beginbursttransfer_0; +output amm_readdatavalid_0; + +output amm_ready_1; +input amm_read_1; +input amm_write_1; +input [PORT_CTRL_AMM_ADDRESS_WIDTH - 1 : 0] amm_address_1; +output [PORT_CTRL_AMM_RDATA_WIDTH - 1 : 0] amm_readdata_1; +input [PORT_CTRL_AMM_WDATA_WIDTH - 1 : 0] amm_writedata_1; +input [PORT_CTRL_AMM_BCOUNT_WIDTH - 1 : 0] amm_burstcount_1; +input [PORT_CTRL_AMM_BYTEEN_WIDTH - 1 : 0] amm_byteenable_1; +input amm_beginbursttransfer_1; +output amm_readdatavalid_1; + +output mmr_slave_waitrequest_0; +input [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH - 1 : 0] mmr_slave_address_0; +input mmr_slave_write_0; +input mmr_slave_read_0; +input [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH - 1 : 0] mmr_slave_burstcount_0; +input mmr_slave_beginbursttransfer_0; +input [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH - 1 : 0] mmr_slave_writedata_0; +output [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH - 1 : 0] mmr_slave_readdata_0; +output mmr_slave_readdatavalid_0; + +output mmr_slave_waitrequest_1; +input [PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH - 1 : 0] mmr_slave_address_1; +input mmr_slave_write_1; +input mmr_slave_read_1; +input [PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH - 1 : 0] mmr_slave_burstcount_1; +input mmr_slave_beginbursttransfer_1; +input [PORT_CTRL_MMR_SLAVE_WDATA_WIDTH - 1 : 0] mmr_slave_writedata_1; +output [PORT_CTRL_MMR_SLAVE_RDATA_WIDTH - 1 : 0] mmr_slave_readdata_1; +output mmr_slave_readdatavalid_1; + +input mmr_master_waitrequest_0; +output [PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH - 1 : 0] mmr_master_address_0; +output mmr_master_write_0; +output mmr_master_read_0; +output [PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH - 1 : 0] mmr_master_burstcount_0; +output mmr_master_beginbursttransfer_0; +output [PORT_CTRL_MMR_MASTER_WDATA_WIDTH - 1 : 0] mmr_master_writedata_0; +input [PORT_CTRL_MMR_MASTER_RDATA_WIDTH - 1 : 0] mmr_master_readdata_0; +input mmr_master_readdatavalid_0; + +input mmr_master_waitrequest_1; +output [PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH - 1 : 0] mmr_master_address_1; +output mmr_master_write_1; +output mmr_master_read_1; +output [PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH - 1 : 0] mmr_master_burstcount_1; +output mmr_master_beginbursttransfer_1; +output [PORT_CTRL_MMR_MASTER_WDATA_WIDTH - 1 : 0] mmr_master_writedata_1; +input [PORT_CTRL_MMR_MASTER_RDATA_WIDTH - 1 : 0] mmr_master_readdata_1; +input mmr_master_readdatavalid_1; + +input ctrl_user_priority_hi_0; +input ctrl_auto_precharge_req_0; + +input ctrl_user_priority_hi_1; +input ctrl_auto_precharge_req_1; + +input ast_cmd_ready_0; +output ast_cmd_valid_0; +output [PORT_CTRL_AST_CMD_DATA_WIDTH - 1 : 0] ast_cmd_data_0; +input ast_wr_ready_0; +output ast_wr_valid_0; +output [PORT_CTRL_AST_WR_DATA_WIDTH - 1 : 0] ast_wr_data_0; +output ast_rd_ready_0; +input ast_rd_valid_0; +input [PORT_CTRL_AST_RD_DATA_WIDTH - 1 : 0] ast_rd_data_0; + +input ast_cmd_ready_1; +output ast_cmd_valid_1; +output [PORT_CTRL_AST_CMD_DATA_WIDTH - 1 : 0] ast_cmd_data_1; +input ast_wr_ready_1; +output ast_wr_valid_1; +output [PORT_CTRL_AST_WR_DATA_WIDTH - 1 : 0] ast_wr_data_1; +output ast_rd_ready_1; +input ast_rd_valid_1; +input [PORT_CTRL_AST_RD_DATA_WIDTH - 1 : 0] ast_rd_data_1; + + +input [PORT_CTRL_ECC_CMD_INFO_WIDTH - 1 : 0] ctrl_ecc_cmd_info_0; +input [PORT_CTRL_ECC_RDATA_ID_WIDTH - 1 : 0] ctrl_ecc_rdata_id_0; +output [PORT_CTRL_ECC_WRITE_INFO_WIDTH - 1 : 0] ctrl_ecc_write_info_0; +input [PORT_CTRL_ECC_READ_INFO_WIDTH - 1 : 0] ctrl_ecc_read_info_0; +input [PORT_CTRL_ECC_WB_POINTER_WIDTH - 1 : 0] ctrl_ecc_wr_pointer_info_0; +input ctrl_ecc_idle_0; +output ctrl_ecc_user_interrupt_0; +output ctrl_ecc_readdataerror_0; + +input [PORT_CTRL_ECC_CMD_INFO_WIDTH - 1 : 0] ctrl_ecc_cmd_info_1; +input [PORT_CTRL_ECC_RDATA_ID_WIDTH - 1 : 0] ctrl_ecc_rdata_id_1; +output [PORT_CTRL_ECC_WRITE_INFO_WIDTH - 1 : 0] ctrl_ecc_write_info_1; +input [PORT_CTRL_ECC_READ_INFO_WIDTH - 1 : 0] ctrl_ecc_read_info_1; +input [PORT_CTRL_ECC_WB_POINTER_WIDTH - 1 : 0] ctrl_ecc_wr_pointer_info_1; +input ctrl_ecc_idle_1; +output ctrl_ecc_user_interrupt_1; +output ctrl_ecc_readdataerror_1; + +assign emif_usr_reset_n = emif_usr_reset_n_in; +assign emif_usr_clk = emif_usr_clk_in; + +assign emif_usr_reset_n_sec = emif_usr_reset_n_sec_in; +assign emif_usr_clk_sec = emif_usr_clk_sec_in; + +generate + + wire [CFG_ECC_BE_WIDTH - 1 : 0] ctrl_ecc_wr_byte_enable_0; + wire [CFG_ECC_DATA_WIDTH -1 : 0] ast_wr_data_without_byteen_0; + wire [34:0] amm_address_padded_0; + wire [7:0] amm_burstcount_padded_0; + wire slave_mmr_ready_0; + + if (PORT_CTRL_AST_WR_DATA_WIDTH == PORT_CTRL_AST_RD_DATA_WIDTH) + assign ast_wr_data_0 = ast_wr_data_without_byteen_0; + else + assign ast_wr_data_0 = {ctrl_ecc_wr_byte_enable_0, ast_wr_data_without_byteen_0}; + + if (PORT_CTRL_AMM_ADDRESS_WIDTH >= 35) begin + assign amm_address_padded_0 = amm_address_0; + end else begin + assign amm_address_padded_0 = {{(35 - PORT_CTRL_AMM_ADDRESS_WIDTH){1'b0}}, amm_address_0}; + end + + if (PORT_CTRL_AMM_BCOUNT_WIDTH >= 8) begin + assign amm_burstcount_padded_0 = amm_burstcount_0; + end else begin + assign amm_burstcount_padded_0 = {{(8 - PORT_CTRL_AMM_BCOUNT_WIDTH){1'b0}}, amm_burstcount_0}; + end + + wire [CFG_LOCAL_CMD_DATA_WIDTH - 1 : 0] slave_cmd_data_wire_0; + + assign slave_cmd_data_wire_0 = {{13{1'b0}}, + 1'b0, + ctrl_auto_precharge_req_0, + ctrl_user_priority_hi_0, + amm_burstcount_padded_0, + amm_address_padded_0, + amm_write_0, + amm_read_0}; + + fmiohmc_ecc_wrapper #( + .CFG_LOCAL_CMD_WIDTH (CFG_LOCAL_CMD_WIDTH), + .CFG_LOCAL_ADDR_WIDTH (CFG_LOCAL_ADDR_WIDTH), + .CFG_LOCAL_SIZE_WIDTH (CFG_LOCAL_SIZE_WIDTH), + .CFG_LOCAL_ID_WIDTH (CFG_LOCAL_ID_WIDTH), + .CFG_LOCAL_PRI_WIDTH (CFG_LOCAL_PRI_WIDTH), + .CFG_LOCAL_AP_WIDTH (CFG_LOCAL_AP_WIDTH), + .CFG_LOCAL_MC_WIDTH (CFG_LOCAL_MC_WIDTH), + .CFG_CMD_DATA_WIDTH (CFG_LOCAL_CMD_DATA_WIDTH), + .CFG_CMD_INFO_WIDTH (CFG_LOCAL_CMD_INFO_WIDTH), + .CFG_LOCAL_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH), + .CFG_LOCAL_BE_WIDTH (CFG_LOCAL_BE_WIDTH), + .CFG_LOCAL_DATA_INFO_WIDTH (CFG_LOCAL_DATA_INFO_WIDTH), + .CFG_LOCAL_DATA_PTR_WIDTH (CFG_LOCAL_DATA_PTR_WIDTH), + .CFG_ECC_DATA_WIDTH (CFG_ECC_DATA_WIDTH), + .CFG_ECC_BE_WIDTH (CFG_ECC_BE_WIDTH), + .CFG_ECC_CODE_WIDTH (CFG_ECC_CODE_WIDTH), + .CFG_ECC_MULTIPLE_INSTANCE (CFG_ECC_MULTIPLE_INSTANCE), + .CFG_REGISTER_CMD_PATH (CFG_REGISTER_CMD_PATH), + .CFG_REGISTER_RDATA_PATH (CFG_REGISTER_RDATA_PATH), + .CFG_REGISTER_RDATA_PATH_NUM (REGISTER_RDATA_PATH_NUM), + .CFG_REGISTER_UFI_RDATA_PATH_NUM (REGISTER_UFI_RDATA_PATH_NUM), + .CFG_REGISTER_WDATA_PATH (CFG_REGISTER_WDATA_PATH), + .CFG_REGISTER_WDATA_PATH_NUM (REGISTER_WDATA_PATH_NUM), + .CFG_REGISTER_ST_WDATA_RDY_LAT_PATH (REGISTER_ST_WDATA_RDY_LAT_PATH), + .CFG_REGISTER_ST_RDATA_RDY_LAT_PATH (REGISTER_ST_RDATA_RDY_LAT_PATH), + .CFG_REGISTER_ST_CMD_RDY_LAT_PATH (REGISTER_ST_CMD_RDY_LAT_PATH), + .CORE_CMD_PIPELINE_WDATA (REGISTER_CORE_CMD_PIPELINE_WDATA), + .CFG_MMR_DATA_WIDTH (CFG_MMR_DATA_WIDTH), + .MMR_DRAM_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE + CFG_ECC_CODE_WIDTH), + .MMR_LOCAL_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE), + .MMR_ADDR_WIDTH (CFG_LOCAL_ADDR_WIDTH), + .MMR_DATA_RATE ((USER_CLK_RATIO == 4) ? 4'd8 : 4'd4), + .MMR_ECC_IN_PROTOCOL (1), + .MMR_WRPATH_PIPELINE_EN (CFG_MMR_WRPATH_PIPELINE_EN), + .MMR_ENABLE_ECC (ENABLE_ECC), + .MMR_ENABLE_DM ((USE_AVL_BYTEEN) ? 1 : 0), + .MMR_ENABLE_RMW (ENABLE_ECC), + .MMR_ENABLE_AUTO_CORR (ENABLE_ECC_AUTO_CORRECTION), + .MMR_ECC_CODE_OVERWRITE (0), + .MMR_GEN_SBE (0), + .MMR_GEN_DBE (0), + .MMR_ENABLE_INTR (1), + .MMR_MASK_SBE_INTR (0), + .MMR_MASK_DBE_INTR (0), + .MMR_MASK_CORR_DROPPED_INTR (0), + .MMR_MASK_HMI_INTR (0), + .MMR_CLR_INTR (0), + .MMR_CLR_MR_RDATA (0), + .ECC_MMR_READ_LATENCY (ECC_MMR_READ_LATENCY), + .CFG_WRBUFFER_ADDR_WIDTH (CFG_WRBUFFER_ADDR_WIDTH), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH), + .CFG_PORT_WIDTH_ADDR_WIDTH (CFG_PORT_WIDTH_ADDR_WIDTH), + .CFG_PORT_WIDTH_DATA_RATE (CFG_PORT_WIDTH_DATA_RATE), + .CFG_PORT_WIDTH_ECC_IN_PROTOCOL (CFG_PORT_WIDTH_ECC_IN_PROTOCOL), + .CFG_PORT_WIDTH_WRPATH_PIPELINE_EN (CFG_PORT_WIDTH_WRPATH_PIPELINE_EN), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC), + .CFG_PORT_WIDTH_ENABLE_DM (CFG_PORT_WIDTH_ENABLE_DM), + .CFG_PORT_WIDTH_ENABLE_RMW (CFG_PORT_WIDTH_ENABLE_RMW), + .CFG_PORT_WIDTH_ENABLE_AUTO_CORR (CFG_PORT_WIDTH_ENABLE_AUTO_CORR), + .CFG_PORT_WIDTH_ECC_CODE_OVERWRITE (CFG_PORT_WIDTH_ECC_CODE_OVERWRITE), + .CFG_PORT_WIDTH_GEN_SBE (CFG_PORT_WIDTH_GEN_SBE), + .CFG_PORT_WIDTH_GEN_DBE (CFG_PORT_WIDTH_GEN_DBE), + .CFG_PORT_WIDTH_ENABLE_INTR (CFG_PORT_WIDTH_ENABLE_INTR), + .CFG_PORT_WIDTH_MASK_SBE_INTR (CFG_PORT_WIDTH_MASK_SBE_INTR), + .CFG_PORT_WIDTH_MASK_DBE_INTR (CFG_PORT_WIDTH_MASK_DBE_INTR), + .CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR (CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR), + .CFG_PORT_WIDTH_MASK_HMI_INTR (CFG_PORT_WIDTH_MASK_HMI_INTR), + .CFG_PORT_WIDTH_CLR_INTR (CFG_PORT_WIDTH_CLR_INTR), + .CFG_PORT_WIDTH_CLR_MR_RDATA (CFG_PORT_WIDTH_CLR_MR_RDATA), + .STS_PORT_WIDTH_ECC_INTR (STS_PORT_WIDTH_ECC_INTR), + .STS_PORT_WIDTH_SBE_ERROR (STS_PORT_WIDTH_SBE_ERROR), + .STS_PORT_WIDTH_DBE_ERROR (STS_PORT_WIDTH_DBE_ERROR), + .STS_PORT_WIDTH_CORR_DROPPED (STS_PORT_WIDTH_CORR_DROPPED), + .STS_PORT_WIDTH_SBE_COUNT (STS_PORT_WIDTH_SBE_COUNT), + .STS_PORT_WIDTH_DBE_COUNT (STS_PORT_WIDTH_DBE_COUNT), + .STS_PORT_WIDTH_CORR_DROPPED_COUNT (STS_PORT_WIDTH_CORR_DROPPED_COUNT), + .STS_PORT_WIDTH_ERR_ADDR (STS_PORT_WIDTH_ERR_ADDR), + .STS_PORT_WIDTH_CORR_DROPPED_ADDR (STS_PORT_WIDTH_CORR_DROPPED_ADDR), + .STS_PORT_WIDTH_MR_DATA (STS_PORT_WIDTH_MR_DATA), + .STS_PORT_WIDTH_MR_DATA_VALID (STS_PORT_WIDTH_MR_DATA_VALID) + ) ecc ( + .ctl_clk (emif_usr_clk_in), + .ctl_reset_n_pre_reg (emif_usr_reset_n_in), + + .slave_cmd_ready (amm_ready_0), + .slave_cmd_data (slave_cmd_data_wire_0), + .slave_cmd_valid (amm_write_0 | amm_read_0), + .slave_wr_data_ready (), + .slave_wr_data_byte_enable ((USE_AVL_BYTEEN) ? amm_byteenable_0 : {(CFG_LOCAL_BE_WIDTH){1'b1}}), + .slave_wr_data (amm_writedata_0), + .slave_wr_data_id ({(CFG_LOCAL_ID_WIDTH){1'b0}}), + .slave_wr_data_valid (amm_write_0), + .slave_rd_data_ready (1'b1), + .slave_rd_data (amm_readdata_0), + .slave_rd_data_id (), + .slave_rd_data_valid (amm_readdatavalid_0), + .slave_rd_data_error (ctrl_ecc_readdataerror_0), + + .master_cmd_ready (ast_cmd_ready_0), + .master_cmd_data (ast_cmd_data_0), + .master_cmd_valid (ast_cmd_valid_0), + .master_cmd_data_combi (), + .master_cmd_valid_combi (), + .master_cmd_info (ctrl_ecc_cmd_info_0), + .master_wr_data_ready (ast_wr_ready_0), + .master_wr_data_byte_enable (ctrl_ecc_wr_byte_enable_0), + .master_wr_data (ast_wr_data_without_byteen_0), + .master_wr_data_id (), + .master_wr_data_info (ctrl_ecc_write_info_0[2:0]), + .master_wr_data_ptr_in (ctrl_ecc_wr_pointer_info_0), + .master_wr_data_ptr_out (ctrl_ecc_write_info_0[PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:3]), + .master_wr_data_valid (ast_wr_valid_0), + .master_rd_data_ready (ast_rd_ready_0), + .master_rd_data (ast_rd_data_0), + .master_rd_data_id (ctrl_ecc_rdata_id_0), + .master_rd_data_info (ctrl_ecc_read_info_0), + .master_rd_data_valid (ast_rd_valid_0), + .master_rd_data_type (1'b0), + + .slave_mmr_ready (slave_mmr_ready_0), + .slave_mmr_address ((CTRL_MMR_EN) ? mmr_slave_address_0 : {(PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH){1'b0}}), + .slave_mmr_write ((CTRL_MMR_EN) ? mmr_slave_write_0 : 1'b0), + .slave_mmr_read ((CTRL_MMR_EN) ? mmr_slave_read_0 : 1'b0), + .slave_mmr_burstcount ((CTRL_MMR_EN) ? mmr_slave_burstcount_0 : {(PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH){1'b0}}), + .slave_mmr_begintransfer ((CTRL_MMR_EN) ? mmr_slave_beginbursttransfer_0 : 1'b0), + .slave_mmr_wr_data ((CTRL_MMR_EN) ? mmr_slave_writedata_0 : {(PORT_CTRL_MMR_SLAVE_WDATA_WIDTH){1'b0}}), + .slave_mmr_rd_data (mmr_slave_readdata_0), + .slave_mmr_rd_data_valid (mmr_slave_readdatavalid_0), + + .master_mmr_ready ((CTRL_MMR_EN) ? ~mmr_master_waitrequest_0 : 1'b1), + .master_mmr_address (mmr_master_address_0), + .master_mmr_write (mmr_master_write_0), + .master_mmr_read (mmr_master_read_0), + .master_mmr_burstcount (mmr_master_burstcount_0), + .master_mmr_begintransfer (mmr_master_beginbursttransfer_0), + .master_mmr_wr_data (mmr_master_writedata_0), + .master_mmr_rd_data ((CTRL_MMR_EN) ? mmr_master_readdata_0 : {(PORT_CTRL_MMR_MASTER_RDATA_WIDTH){1'b0}}), + .master_mmr_rd_data_valid ((CTRL_MMR_EN) ? mmr_master_readdatavalid_0 : 1'b0), + + .sts_ecc_intr (sts_ecc_intr_0), + .sts_sbe_error (sts_sbe_error_0), + .sts_dbe_error (sts_dbe_error_0), + .sts_corr_dropped (sts_corr_dropped_0), + .sts_sbe_count (sts_sbe_count_0), + .sts_dbe_count (sts_dbe_count_0), + .sts_corr_dropped_count (sts_corr_dropped_count_0), + .sts_err_addr (sts_err_addr_0), + .sts_corr_dropped_addr (sts_corr_dropped_addr_0), + + .user_interrupt (ctrl_ecc_user_interrupt_0), + .hmi_interrupt (1'b0) + ); + + assign mmr_slave_waitrequest_0 = ~slave_mmr_ready_0; + + if (DIAG_SIM_MEMORY_PRELOAD_AFT_SYNTH_OVRD) begin : gen_preload + altera_emif_preload_ecc_encoder # + ( + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD), + .DIAG_SIM_MEMORY_PRELOAD_ECC_FILE (DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE), + .DIAG_SIM_MEMORY_PRELOAD_MEM_FILE (DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE), + .DIAG_SIM_MEMORY_PRELOAD_ABPHY_FILE (DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE), + .CTRL_AMM_ADDRESS_WIDTH (PORT_CTRL_AMM_ADDRESS_WIDTH), + .CTRL_AMM_DATA_WIDTH (PORT_CTRL_AMM_WDATA_WIDTH), + .MEM_DQ_WIDTH (MEM_DQ_WIDTH), + .USE_AVL_BYTEEN (USE_AVL_BYTEEN), + .CFG_ADDR_ENCODE_ENABLED (CFG_ADDR_ENCODE_ENABLED) + ) preload_inst ( + .emif_usr_clk (emif_usr_clk_in) + ); + end + + if (PHY_PING_PONG_EN) begin : pp_ecc + + wire [CFG_ECC_BE_WIDTH - 1 : 0] ctrl_ecc_wr_byte_enable_1; + wire [CFG_ECC_DATA_WIDTH -1 : 0] ast_wr_data_without_byteen_1; + wire [34:0] amm_address_padded_1; + wire [7:0] amm_burstcount_padded_1; + wire slave_mmr_ready_1; + + if (PORT_CTRL_AST_WR_DATA_WIDTH == PORT_CTRL_AST_RD_DATA_WIDTH) + assign ast_wr_data_1 = ast_wr_data_without_byteen_1; + else + assign ast_wr_data_1 = {ctrl_ecc_wr_byte_enable_1, ast_wr_data_without_byteen_1}; + + if (PORT_CTRL_AMM_ADDRESS_WIDTH >= 35) begin + assign amm_address_padded_1 = amm_address_1; + end else begin + assign amm_address_padded_1 = {{(35 - PORT_CTRL_AMM_ADDRESS_WIDTH){1'b0}}, amm_address_1}; + end + + if (PORT_CTRL_AMM_BCOUNT_WIDTH >= 8) begin + assign amm_burstcount_padded_1 = amm_burstcount_1; + end else begin + assign amm_burstcount_padded_1 = {{(8 - PORT_CTRL_AMM_BCOUNT_WIDTH){1'b0}}, amm_burstcount_1}; + end + + wire [CFG_LOCAL_CMD_DATA_WIDTH - 1 : 0] slave_cmd_data_wire_1; + + assign slave_cmd_data_wire_1 = {{13{1'b0}}, + 1'b0, + ctrl_auto_precharge_req_1, + ctrl_user_priority_hi_1, + amm_burstcount_padded_1, + amm_address_padded_1, + amm_write_1, + amm_read_1}; + + fmiohmc_ecc_wrapper #( + .CFG_LOCAL_CMD_WIDTH (CFG_LOCAL_CMD_WIDTH), + .CFG_LOCAL_ADDR_WIDTH (CFG_LOCAL_ADDR_WIDTH), + .CFG_LOCAL_SIZE_WIDTH (CFG_LOCAL_SIZE_WIDTH), + .CFG_LOCAL_ID_WIDTH (CFG_LOCAL_ID_WIDTH), + .CFG_LOCAL_PRI_WIDTH (CFG_LOCAL_PRI_WIDTH), + .CFG_LOCAL_AP_WIDTH (CFG_LOCAL_AP_WIDTH), + .CFG_LOCAL_MC_WIDTH (CFG_LOCAL_MC_WIDTH), + .CFG_CMD_DATA_WIDTH (CFG_LOCAL_CMD_DATA_WIDTH), + .CFG_CMD_INFO_WIDTH (CFG_LOCAL_CMD_INFO_WIDTH), + .CFG_LOCAL_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH), + .CFG_LOCAL_BE_WIDTH (CFG_LOCAL_BE_WIDTH), + .CFG_LOCAL_DATA_INFO_WIDTH (CFG_LOCAL_DATA_INFO_WIDTH), + .CFG_LOCAL_DATA_PTR_WIDTH (CFG_LOCAL_DATA_PTR_WIDTH), + .CFG_ECC_DATA_WIDTH (CFG_ECC_DATA_WIDTH), + .CFG_ECC_BE_WIDTH (CFG_ECC_BE_WIDTH), + .CFG_ECC_CODE_WIDTH (CFG_ECC_CODE_WIDTH), + .CFG_ECC_MULTIPLE_INSTANCE (CFG_ECC_MULTIPLE_INSTANCE), + .CFG_REGISTER_CMD_PATH (CFG_REGISTER_CMD_PATH), + .CFG_REGISTER_RDATA_PATH (CFG_REGISTER_RDATA_PATH), + .CFG_REGISTER_RDATA_PATH_NUM (REGISTER_RDATA_PATH_NUM), + .CFG_REGISTER_UFI_RDATA_PATH_NUM (REGISTER_UFI_RDATA_PATH_NUM), + .CFG_REGISTER_WDATA_PATH (CFG_REGISTER_WDATA_PATH), + .CFG_REGISTER_WDATA_PATH_NUM (REGISTER_WDATA_PATH_NUM), + .CFG_REGISTER_ST_WDATA_RDY_LAT_PATH (REGISTER_ST_WDATA_RDY_LAT_PATH), + .CFG_REGISTER_ST_RDATA_RDY_LAT_PATH (REGISTER_ST_RDATA_RDY_LAT_PATH), + .CFG_REGISTER_ST_CMD_RDY_LAT_PATH (REGISTER_ST_CMD_RDY_LAT_PATH), + .CORE_CMD_PIPELINE_WDATA (REGISTER_CORE_CMD_PIPELINE_WDATA), + .CFG_MMR_DATA_WIDTH (CFG_MMR_DATA_WIDTH), + .MMR_DRAM_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE + CFG_ECC_CODE_WIDTH), + .MMR_LOCAL_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE), + .MMR_ADDR_WIDTH (CFG_LOCAL_ADDR_WIDTH), + .MMR_DATA_RATE ((USER_CLK_RATIO == 4) ? 4'd8 : 4'd4), + .MMR_ECC_IN_PROTOCOL (1), + .MMR_WRPATH_PIPELINE_EN (CFG_MMR_WRPATH_PIPELINE_EN), + .MMR_ENABLE_ECC (ENABLE_ECC), + .MMR_ENABLE_DM ((USE_AVL_BYTEEN) ? 1 : 0), + .MMR_ENABLE_RMW (ENABLE_ECC), + .MMR_ENABLE_AUTO_CORR (ENABLE_ECC_AUTO_CORRECTION), + .MMR_ECC_CODE_OVERWRITE (0), + .MMR_GEN_SBE (0), + .MMR_GEN_DBE (0), + .MMR_ENABLE_INTR (1), + .MMR_MASK_SBE_INTR (0), + .MMR_MASK_DBE_INTR (0), + .MMR_MASK_CORR_DROPPED_INTR (0), + .MMR_MASK_HMI_INTR (0), + .MMR_CLR_INTR (0), + .MMR_CLR_MR_RDATA (0), + .CFG_WRBUFFER_ADDR_WIDTH (CFG_WRBUFFER_ADDR_WIDTH), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH), + .CFG_PORT_WIDTH_ADDR_WIDTH (CFG_PORT_WIDTH_ADDR_WIDTH), + .CFG_PORT_WIDTH_DATA_RATE (CFG_PORT_WIDTH_DATA_RATE), + .CFG_PORT_WIDTH_ECC_IN_PROTOCOL (CFG_PORT_WIDTH_ECC_IN_PROTOCOL), + .CFG_PORT_WIDTH_WRPATH_PIPELINE_EN (CFG_PORT_WIDTH_WRPATH_PIPELINE_EN), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC), + .CFG_PORT_WIDTH_ENABLE_DM (CFG_PORT_WIDTH_ENABLE_DM), + .CFG_PORT_WIDTH_ENABLE_RMW (CFG_PORT_WIDTH_ENABLE_RMW), + .CFG_PORT_WIDTH_ENABLE_AUTO_CORR (CFG_PORT_WIDTH_ENABLE_AUTO_CORR), + .CFG_PORT_WIDTH_ECC_CODE_OVERWRITE (CFG_PORT_WIDTH_ECC_CODE_OVERWRITE), + .CFG_PORT_WIDTH_GEN_SBE (CFG_PORT_WIDTH_GEN_SBE), + .CFG_PORT_WIDTH_GEN_DBE (CFG_PORT_WIDTH_GEN_DBE), + .CFG_PORT_WIDTH_ENABLE_INTR (CFG_PORT_WIDTH_ENABLE_INTR), + .CFG_PORT_WIDTH_MASK_SBE_INTR (CFG_PORT_WIDTH_MASK_SBE_INTR), + .CFG_PORT_WIDTH_MASK_DBE_INTR (CFG_PORT_WIDTH_MASK_DBE_INTR), + .CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR (CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR), + .CFG_PORT_WIDTH_MASK_HMI_INTR (CFG_PORT_WIDTH_MASK_HMI_INTR), + .CFG_PORT_WIDTH_CLR_INTR (CFG_PORT_WIDTH_CLR_INTR), + .CFG_PORT_WIDTH_CLR_MR_RDATA (CFG_PORT_WIDTH_CLR_MR_RDATA), + .STS_PORT_WIDTH_ECC_INTR (STS_PORT_WIDTH_ECC_INTR), + .STS_PORT_WIDTH_SBE_ERROR (STS_PORT_WIDTH_SBE_ERROR), + .STS_PORT_WIDTH_DBE_ERROR (STS_PORT_WIDTH_DBE_ERROR), + .STS_PORT_WIDTH_CORR_DROPPED (STS_PORT_WIDTH_CORR_DROPPED), + .STS_PORT_WIDTH_SBE_COUNT (STS_PORT_WIDTH_SBE_COUNT), + .STS_PORT_WIDTH_DBE_COUNT (STS_PORT_WIDTH_DBE_COUNT), + .STS_PORT_WIDTH_CORR_DROPPED_COUNT (STS_PORT_WIDTH_CORR_DROPPED_COUNT), + .STS_PORT_WIDTH_ERR_ADDR (STS_PORT_WIDTH_ERR_ADDR), + .STS_PORT_WIDTH_CORR_DROPPED_ADDR (STS_PORT_WIDTH_CORR_DROPPED_ADDR), + .STS_PORT_WIDTH_MR_DATA (STS_PORT_WIDTH_MR_DATA), + .STS_PORT_WIDTH_MR_DATA_VALID (STS_PORT_WIDTH_MR_DATA_VALID) + ) ecc ( + .ctl_clk (emif_usr_clk_sec_in), + .ctl_reset_n_pre_reg (emif_usr_reset_n_sec_in), + + .slave_cmd_ready (amm_ready_1), + .slave_cmd_data (slave_cmd_data_wire_1), + .slave_cmd_valid (amm_write_1 | amm_read_1), + .slave_wr_data_ready (), + .slave_wr_data_byte_enable ((USE_AVL_BYTEEN) ? amm_byteenable_1 : {(CFG_LOCAL_BE_WIDTH){1'b1}}), + .slave_wr_data (amm_writedata_1), + .slave_wr_data_id ({(CFG_LOCAL_ID_WIDTH){1'b0}}), + .slave_wr_data_valid (amm_write_1), + .slave_rd_data_ready (1'b1), + .slave_rd_data (amm_readdata_1), + .slave_rd_data_id (), + .slave_rd_data_valid (amm_readdatavalid_1), + .slave_rd_data_error (ctrl_ecc_readdataerror_1), + + .master_cmd_ready (ast_cmd_ready_1), + .master_cmd_data (ast_cmd_data_1), + .master_cmd_valid (ast_cmd_valid_1), + .master_cmd_data_combi (), + .master_cmd_valid_combi (), + .master_cmd_info (ctrl_ecc_cmd_info_1), + .master_wr_data_ready (ast_wr_ready_1), + .master_wr_data_byte_enable (ctrl_ecc_wr_byte_enable_1), + .master_wr_data (ast_wr_data_without_byteen_1), + .master_wr_data_id (), + .master_wr_data_info (ctrl_ecc_write_info_1[2:0]), + .master_wr_data_ptr_in (ctrl_ecc_wr_pointer_info_1), + .master_wr_data_ptr_out (ctrl_ecc_write_info_1[PORT_CTRL_ECC_WRITE_INFO_WIDTH-1:3]), + .master_wr_data_valid (ast_wr_valid_1), + .master_rd_data_ready (ast_rd_ready_1), + .master_rd_data (ast_rd_data_1), + .master_rd_data_id (ctrl_ecc_rdata_id_1), + .master_rd_data_info (ctrl_ecc_read_info_1), + .master_rd_data_valid (ast_rd_valid_1), + .master_rd_data_type (1'b0), + + .slave_mmr_ready (slave_mmr_ready_1), + .slave_mmr_address ((CTRL_MMR_EN) ? mmr_slave_address_1 : {(PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH){1'b0}}), + .slave_mmr_write ((CTRL_MMR_EN) ? mmr_slave_write_1 : 1'b0), + .slave_mmr_read ((CTRL_MMR_EN) ? mmr_slave_read_1 : 1'b0), + .slave_mmr_burstcount ((CTRL_MMR_EN) ? mmr_slave_burstcount_1 : {(PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH){1'b0}}), + .slave_mmr_begintransfer ((CTRL_MMR_EN) ? mmr_slave_beginbursttransfer_1 : 1'b0), + .slave_mmr_wr_data ((CTRL_MMR_EN) ? mmr_slave_writedata_1 : {(PORT_CTRL_MMR_SLAVE_WDATA_WIDTH){1'b0}}), + .slave_mmr_rd_data (mmr_slave_readdata_1), + .slave_mmr_rd_data_valid (mmr_slave_readdatavalid_1), + + .master_mmr_ready ((CTRL_MMR_EN) ? ~mmr_master_waitrequest_1 : 1'b1), + .master_mmr_address (mmr_master_address_1), + .master_mmr_write (mmr_master_write_1), + .master_mmr_read (mmr_master_read_1), + .master_mmr_burstcount (mmr_master_burstcount_1), + .master_mmr_begintransfer (mmr_master_beginbursttransfer_1), + .master_mmr_wr_data (mmr_master_writedata_1), + .master_mmr_rd_data ((CTRL_MMR_EN) ? mmr_master_readdata_1 : {(PORT_CTRL_MMR_MASTER_RDATA_WIDTH){1'b0}}), + .master_mmr_rd_data_valid ((CTRL_MMR_EN) ? mmr_master_readdatavalid_1 : 1'b0), + + .sts_ecc_intr (sts_ecc_intr_1), + .sts_sbe_error (sts_sbe_error_1), + .sts_dbe_error (sts_dbe_error_1), + .sts_corr_dropped (sts_corr_dropped_1), + .sts_sbe_count (sts_sbe_count_1), + .sts_dbe_count (sts_dbe_count_1), + .sts_corr_dropped_count (sts_corr_dropped_count_1), + .sts_err_addr (sts_err_addr_1), + .sts_corr_dropped_addr (sts_corr_dropped_addr_1), + + .user_interrupt (ctrl_ecc_user_interrupt_1), + .hmi_interrupt (1'b0) + ); + + assign mmr_slave_waitrequest_1 = ~slave_mmr_ready_1; + + if (DIAG_SIM_MEMORY_PRELOAD_AFT_SYNTH_OVRD) begin : gen_preload + altera_emif_preload_ecc_encoder # + ( + .DIAG_USE_ABSTRACT_PHY (DIAG_USE_ABSTRACT_PHY_AFT_SYNTH_OVRD), + .DIAG_SIM_MEMORY_PRELOAD_ECC_FILE (DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE), + .DIAG_SIM_MEMORY_PRELOAD_MEM_FILE (DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE), + .DIAG_SIM_MEMORY_PRELOAD_ABPHY_FILE (DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE), + .CTRL_AMM_ADDRESS_WIDTH (PORT_CTRL_AMM_ADDRESS_WIDTH), + .CTRL_AMM_DATA_WIDTH (PORT_CTRL_AMM_WDATA_WIDTH), + .MEM_DQ_WIDTH (MEM_DQ_WIDTH), + .USE_AVL_BYTEEN (USE_AVL_BYTEEN), + .CFG_ADDR_ENCODE_ENABLED (CFG_ADDR_ENCODE_ENABLED) + ) preload_inst ( + .emif_usr_clk (emif_usr_clk_sec_in) + ); + end + + assign ctrl_ecc_sts_intr = {sts_ecc_intr_0, sts_ecc_intr_1}; + assign ctrl_ecc_sts_sbe_error = {sts_sbe_error_0, sts_sbe_error_1}; + assign ctrl_ecc_sts_dbe_error = {sts_dbe_error_0, sts_dbe_error_1}; + assign ctrl_ecc_sts_corr_dropped = {sts_corr_dropped_0, sts_corr_dropped_1}; + assign ctrl_ecc_sts_sbe_count = {sts_sbe_count_0, sts_sbe_count_1}; + assign ctrl_ecc_sts_dbe_count = {sts_dbe_count_0, sts_dbe_count_1}; + assign ctrl_ecc_sts_corr_dropped_count = {sts_corr_dropped_count_0, sts_corr_dropped_count_1}; + assign ctrl_ecc_sts_err_addr = {sts_err_addr_0, sts_err_addr_1}; + assign ctrl_ecc_sts_corr_dropped_addr = {sts_corr_dropped_addr_0, sts_corr_dropped_addr_1}; + + end else begin : no_pp + assign ctrl_ecc_sts_intr = sts_ecc_intr_0; + assign ctrl_ecc_sts_sbe_error = sts_sbe_error_0; + assign ctrl_ecc_sts_dbe_error = sts_dbe_error_0; + assign ctrl_ecc_sts_corr_dropped = sts_corr_dropped_0; + assign ctrl_ecc_sts_sbe_count = sts_sbe_count_0; + assign ctrl_ecc_sts_dbe_count = sts_dbe_count_0; + assign ctrl_ecc_sts_corr_dropped_count = sts_corr_dropped_count_0; + assign ctrl_ecc_sts_err_addr = sts_err_addr_0; + assign ctrl_ecc_sts_corr_dropped_addr = sts_corr_dropped_addr_0; + + assign amm_readdata_1 = {(PORT_CTRL_AMM_RDATA_WIDTH){1'b0}}; + assign mmr_slave_readdata_1 = {(PORT_CTRL_MMR_SLAVE_RDATA_WIDTH){1'b0}}; + assign mmr_master_burstcount_1 = {(PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH){1'b0}}; + assign mmr_master_writedata_1 = {(PORT_CTRL_MMR_MASTER_WDATA_WIDTH){1'b0}}; + assign mmr_master_address_1 = {(PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH){1'b0}}; + assign ast_cmd_data_1 = {(PORT_CTRL_AST_CMD_DATA_WIDTH){1'b0}}; + assign ast_wr_data_1 = {(PORT_CTRL_AST_WR_DATA_WIDTH){1'b0}}; + assign ctrl_ecc_write_info_1 = {(PORT_CTRL_ECC_WRITE_INFO_WIDTH){1'b0}}; + assign amm_ready_1 = 1'b0; + assign amm_readdatavalid_1 = 1'b0; + assign mmr_slave_waitrequest_1 = 1'b0; + assign mmr_slave_readdatavalid_1 = 1'b0; + assign mmr_master_write_1 = 1'b0; + assign mmr_master_read_1 = 1'b0; + assign mmr_master_beginbursttransfer_1 = 1'b0; + assign ast_cmd_valid_1 = 1'b0; + assign ast_wr_valid_1 = 1'b0; + assign ast_rd_ready_1 = 1'b0; + assign ctrl_ecc_user_interrupt_1 = 1'b0; + assign ctrl_ecc_readdataerror_1 = 1'b0; + + assign sts_ecc_intr_1 = 'b0; + assign sts_sbe_error_1 = 'b0; + assign sts_dbe_error_1 = 'b0; + assign sts_corr_dropped_1 = 'b0; + assign sts_sbe_count_1 = 'b0; + assign sts_dbe_count_1 = 'b0; + assign sts_corr_dropped_count_1 = 'b0; + assign sts_err_addr_1 = 'b0; + assign sts_corr_dropped_addr_1 = 'b0; + end +endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0ECCy5xW0zVEhjVRYnBlvIZ0gabXjoi++UuH0Ry+p4WHjlOAwTfLhMEdy81sX9ucGLj3DSJZHTEcA6olC3FUtERI4eS530tdEhTR/rWvDsC3pVrXe0iMkS0+qpk6Z7xYD0QQeYxmR11sH9fVeH6vxfVgHN1nmO/04w80cvaFdAM4d2JT39YMz3CUHSatbmmgSCTUD0rDMLwW+TB4b6eGv10dSWf3Eaogt1QrDjOksgAPD42DXu/cLSXhpEQ//Ng6tpWvug3Yxe4efOvQXSsj5CwsSNhZjsGV7yljdDMP+OVqm8u5O9mjuIZ+ZNMwsqSUvDVbWoNbhF0WgPqP/HlTyS2NO3GDnxE4XX1kNiBgZF3c42u0s4MQbvDENl6/l+H7NW9CXLIKs9qM0V88YRXEpbM4da3IwZqsUBRzMSJF7G9DUItgq0MSr/1fhHtE0lgMMEuVzukFDnCqruyjIeDW6tAWkj8KZgDLWOxZMUewKSqGrRyxuD2Y4ksE3f6Nf0ikZQxNV8ixOlzKODCvfLwKYV4HJea2EMCwE+XWK57pvYerjTJ/UCnZryNgHG5qDGD2D2pvVTmbeMnU3KlXFt5qCjqEuRxOkpQ6Agtkr1fdynpZTWIRZUr17g4pBKNXSEEtRC54mibOeYSO3I9eQm1h00Ig0gRvyCrsxgW8qhCR1JOyppIN3yxaZzxfkAIgq7p0MAz6CTtEvdv6ifik8az6iSgFVsAf4zRD4TyLSeHtT3wi7fb+a5g1UWTHNRPX6FLYua+fSr9br/Fk1tpXinpIn+Z1" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_preload_ecc_encoder.sv b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_preload_ecc_encoder.sv new file mode 100644 index 0000000000..9c241ab486 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/altera_emif_preload_ecc_encoder.sv @@ -0,0 +1,401 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module is used for simulation memory preloading to append ECC bits +// to the preload data +// +/////////////////////////////////////////////////////////////////////////////// + +`timescale 1 ns / 1 ps + +module altera_emif_preload_ecc_encoder # +( + parameter DIAG_USE_ABSTRACT_PHY = 0, + parameter DIAG_SIM_MEMORY_PRELOAD_ECC_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_MEM_FILE = "", + parameter DIAG_SIM_MEMORY_PRELOAD_ABPHY_FILE = "", + parameter CTRL_AMM_ADDRESS_WIDTH = 1, + parameter CTRL_AMM_DATA_WIDTH = 1, + parameter MEM_DQ_WIDTH = 1, + + parameter USE_AVL_BYTEEN = 0, + parameter CFG_ADDR_ENCODE_ENABLED = 0, + parameter CFG_PORT_WIDTH_ECC_CODE_OVERWRITE = 1 +) +( + emif_usr_clk, + cfg_ecc_code_overwrite +); + + function automatic integer ceil_log2; + input integer value; + begin + value = value - 1; + for (ceil_log2 = 0; value > 0; ceil_log2 = ceil_log2 + 1) + value = value >> 1; + end + endfunction + + localparam OUTPUT_FILE = (DIAG_USE_ABSTRACT_PHY) ? DIAG_SIM_MEMORY_PRELOAD_ABPHY_FILE : ( + DIAG_SIM_MEMORY_PRELOAD_MEM_FILE ); + localparam INT_MEM_DQ_WIDTH = MEM_DQ_WIDTH - 8; + localparam BYTEEN_WIDTH = INT_MEM_DQ_WIDTH / 8; + localparam BYTEEN_W_ECC_WIDTH = MEM_DQ_WIDTH / 8; + localparam NUM_DQ_BURSTS = CTRL_AMM_DATA_WIDTH / INT_MEM_DQ_WIDTH; + localparam ADDRESS_WIDTH = CTRL_AMM_ADDRESS_WIDTH + ceil_log2(NUM_DQ_BURSTS); + + input emif_usr_clk; + input [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0] cfg_ecc_code_overwrite; + + // synthesis translate_off + + logic preload_ready; + logic preload_done; + + function automatic void check_preload_ready (); + integer fd; + string filename; + string line; + + filename = DIAG_SIM_MEMORY_PRELOAD_ECC_FILE; + fd = $fopen(filename, "r"); + if (fd != 0 && $fgets(line, fd)) begin + preload_ready = '1; + end + $fclose(fd); + endfunction + + task automatic encode_ecc_to_addr_data ( + input [ADDRESS_WIDTH - 1:0] address, + input [INT_MEM_DQ_WIDTH - 1:0] data, + output [MEM_DQ_WIDTH - 1:0] ecc_data + ); + + + $fatal(1, "CFG_ADDR_ENCODE_ENABLED = 1 - Feature not supported for simulation memory preload!"); + endtask + + task automatic encode_ecc_to_data ( + input [INT_MEM_DQ_WIDTH - 1:0] data, + output [MEM_DQ_WIDTH - 1:0] ecc_data + ); + logic [63:0] data_input; + logic [71:0] data_output; + + logic [63:0] data_wire; + logic [34:0] parity_01_wire; + logic [17:0] parity_02_wire; + logic [ 8:0] parity_03_wire; + logic [ 3:0] parity_04_wire; + logic [ 1:0] parity_05_wire; + logic [30:0] parity_06_wire; + logic [ 6:0] parity_07_wire; + logic [70:0] parity_final_wire; + logic [71:0] q_wire; + + + if (INT_MEM_DQ_WIDTH < 64) + data_input = {{(64 - INT_MEM_DQ_WIDTH){1'b0}}, data}; + else + data_input = data[63:0]; + + data_wire = data_input; + + parity_01_wire[0] = data_wire[0]; + parity_01_wire[1] = (data_wire[1] ^ parity_01_wire[0]); + parity_01_wire[2] = (data_wire[3] ^ parity_01_wire[1]); + parity_01_wire[3] = (data_wire[4] ^ parity_01_wire[2]); + parity_01_wire[4] = (data_wire[6] ^ parity_01_wire[3]); + parity_01_wire[5] = (data_wire[8] ^ parity_01_wire[4]); + parity_01_wire[6] = (data_wire[10] ^ parity_01_wire[5]); + parity_01_wire[7] = (data_wire[11] ^ parity_01_wire[6]); + parity_01_wire[8] = (data_wire[13] ^ parity_01_wire[7]); + parity_01_wire[9] = (data_wire[15] ^ parity_01_wire[8]); + parity_01_wire[10] = (data_wire[17] ^ parity_01_wire[9]); + parity_01_wire[11] = (data_wire[19] ^ parity_01_wire[10]); + parity_01_wire[12] = (data_wire[21] ^ parity_01_wire[11]); + parity_01_wire[13] = (data_wire[23] ^ parity_01_wire[12]); + parity_01_wire[14] = (data_wire[25] ^ parity_01_wire[13]); + parity_01_wire[15] = (data_wire[26] ^ parity_01_wire[14]); + parity_01_wire[16] = (data_wire[28] ^ parity_01_wire[15]); + parity_01_wire[17] = (data_wire[30] ^ parity_01_wire[16]); + parity_01_wire[18] = (data_wire[32] ^ parity_01_wire[17]); + parity_01_wire[19] = (data_wire[34] ^ parity_01_wire[18]); + parity_01_wire[20] = (data_wire[36] ^ parity_01_wire[19]); + parity_01_wire[21] = (data_wire[38] ^ parity_01_wire[20]); + parity_01_wire[22] = (data_wire[40] ^ parity_01_wire[21]); + parity_01_wire[23] = (data_wire[42] ^ parity_01_wire[22]); + parity_01_wire[24] = (data_wire[44] ^ parity_01_wire[23]); + parity_01_wire[25] = (data_wire[46] ^ parity_01_wire[24]); + parity_01_wire[26] = (data_wire[48] ^ parity_01_wire[25]); + parity_01_wire[27] = (data_wire[50] ^ parity_01_wire[26]); + parity_01_wire[28] = (data_wire[52] ^ parity_01_wire[27]); + parity_01_wire[29] = (data_wire[54] ^ parity_01_wire[28]); + parity_01_wire[30] = (data_wire[56] ^ parity_01_wire[29]); + parity_01_wire[31] = (data_wire[57] ^ parity_01_wire[30]); + parity_01_wire[32] = (data_wire[59] ^ parity_01_wire[31]); + parity_01_wire[33] = (data_wire[61] ^ parity_01_wire[32]); + parity_01_wire[34] = (data_wire[63] ^ parity_01_wire[33]); + + parity_02_wire[0] = data_wire[0]; + parity_02_wire[1] = ((data_wire[2] ^ data_wire[3]) ^ parity_02_wire[0]); + parity_02_wire[2] = ((data_wire[5] ^ data_wire[6]) ^ parity_02_wire[1]); + parity_02_wire[3] = ((data_wire[9] ^ data_wire[10]) ^ parity_02_wire[2]); + parity_02_wire[4] = ((data_wire[12] ^ data_wire[13]) ^ parity_02_wire[3]); + parity_02_wire[5] = ((data_wire[16] ^ data_wire[17]) ^ parity_02_wire[4]); + parity_02_wire[6] = ((data_wire[20] ^ data_wire[21]) ^ parity_02_wire[5]); + parity_02_wire[7] = ((data_wire[24] ^ data_wire[25]) ^ parity_02_wire[6]); + parity_02_wire[8] = ((data_wire[27] ^ data_wire[28]) ^ parity_02_wire[7]); + parity_02_wire[9] = ((data_wire[31] ^ data_wire[32]) ^ parity_02_wire[8]); + parity_02_wire[10] = ((data_wire[35] ^ data_wire[36]) ^ parity_02_wire[9]); + parity_02_wire[11] = ((data_wire[39] ^ data_wire[40]) ^ parity_02_wire[10]); + parity_02_wire[12] = ((data_wire[43] ^ data_wire[44]) ^ parity_02_wire[11]); + parity_02_wire[13] = ((data_wire[47] ^ data_wire[48]) ^ parity_02_wire[12]); + parity_02_wire[14] = ((data_wire[51] ^ data_wire[52]) ^ parity_02_wire[13]); + parity_02_wire[15] = ((data_wire[55] ^ data_wire[56]) ^ parity_02_wire[14]); + parity_02_wire[16] = ((data_wire[58] ^ data_wire[59]) ^ parity_02_wire[15]); + parity_02_wire[17] = ((data_wire[62] ^ data_wire[63]) ^ parity_02_wire[16]); + + parity_03_wire[0] = ((data_wire[1] ^ data_wire[2]) ^ data_wire[3]); + parity_03_wire[1] = ((((data_wire[7] ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10]) ^ parity_03_wire[0]); + parity_03_wire[2] = ((((data_wire[14] ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ parity_03_wire[1]); + parity_03_wire[3] = ((((data_wire[22] ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_03_wire[2]); + parity_03_wire[4] = ((((data_wire[29] ^ data_wire[30]) ^ data_wire[31]) ^ data_wire[32]) ^ parity_03_wire[3]); + parity_03_wire[5] = ((((data_wire[37] ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_03_wire[4]); + parity_03_wire[6] = ((((data_wire[45] ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ parity_03_wire[5]); + parity_03_wire[7] = ((((data_wire[53] ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_03_wire[6]); + parity_03_wire[8] = ((((data_wire[60] ^ data_wire[61]) ^ data_wire[62]) ^ data_wire[63]) ^ parity_03_wire[7]); + + parity_04_wire[0] = ((((((data_wire[4] ^ data_wire[5]) ^ data_wire[6]) ^ data_wire[7]) ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10]); + parity_04_wire[1] = ((((((((data_wire[18] ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_04_wire[0]); + parity_04_wire[2] = ((((((((data_wire[33] ^ data_wire[34]) ^ data_wire[35]) ^ data_wire[36]) ^ data_wire[37]) ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_04_wire[1]); + parity_04_wire[3] = ((((((((data_wire[49] ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_04_wire[2]); + + parity_05_wire[0] = ((((((((((((((data_wire[11] ^ data_wire[12]) ^ data_wire[13]) ^ data_wire[14]) ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ data_wire[18]) ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]); + parity_05_wire[1] = ((((((((((((((((data_wire[41] ^ data_wire[42]) ^ data_wire[43]) ^ data_wire[44]) ^ data_wire[45]) ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ data_wire[49]) ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_05_wire[0]); + + parity_06_wire[0] = data_wire[26]; + parity_06_wire[1] = (data_wire[27] ^ parity_06_wire[0]); + parity_06_wire[2] = (data_wire[28] ^ parity_06_wire[1]); + parity_06_wire[3] = (data_wire[29] ^ parity_06_wire[2]); + parity_06_wire[4] = (data_wire[30] ^ parity_06_wire[3]); + parity_06_wire[5] = (data_wire[31] ^ parity_06_wire[4]); + parity_06_wire[6] = (data_wire[32] ^ parity_06_wire[5]); + parity_06_wire[7] = (data_wire[33] ^ parity_06_wire[6]); + parity_06_wire[8] = (data_wire[34] ^ parity_06_wire[7]); + parity_06_wire[9] = (data_wire[35] ^ parity_06_wire[8]); + parity_06_wire[10] = (data_wire[36] ^ parity_06_wire[9]); + parity_06_wire[11] = (data_wire[37] ^ parity_06_wire[10]); + parity_06_wire[12] = (data_wire[38] ^ parity_06_wire[11]); + parity_06_wire[13] = (data_wire[39] ^ parity_06_wire[12]); + parity_06_wire[14] = (data_wire[40] ^ parity_06_wire[13]); + parity_06_wire[15] = (data_wire[41] ^ parity_06_wire[14]); + parity_06_wire[16] = (data_wire[42] ^ parity_06_wire[15]); + parity_06_wire[17] = (data_wire[43] ^ parity_06_wire[16]); + parity_06_wire[18] = (data_wire[44] ^ parity_06_wire[17]); + parity_06_wire[19] = (data_wire[45] ^ parity_06_wire[18]); + parity_06_wire[20] = (data_wire[46] ^ parity_06_wire[19]); + parity_06_wire[21] = (data_wire[47] ^ parity_06_wire[20]); + parity_06_wire[22] = (data_wire[48] ^ parity_06_wire[21]); + parity_06_wire[23] = (data_wire[49] ^ parity_06_wire[22]); + parity_06_wire[24] = (data_wire[50] ^ parity_06_wire[23]); + parity_06_wire[25] = (data_wire[51] ^ parity_06_wire[24]); + parity_06_wire[26] = (data_wire[52] ^ parity_06_wire[25]); + parity_06_wire[27] = (data_wire[53] ^ parity_06_wire[26]); + parity_06_wire[28] = (data_wire[54] ^ parity_06_wire[27]); + parity_06_wire[29] = (data_wire[55] ^ parity_06_wire[28]); + parity_06_wire[30] = (data_wire[56] ^ parity_06_wire[29]); + + parity_07_wire[0] = data_wire[57]; + parity_07_wire[1] = (data_wire[58] ^ parity_07_wire[0]); + parity_07_wire[2] = (data_wire[59] ^ parity_07_wire[1]); + parity_07_wire[3] = (data_wire[60] ^ parity_07_wire[2]); + parity_07_wire[4] = (data_wire[61] ^ parity_07_wire[3]); + parity_07_wire[5] = (data_wire[62] ^ parity_07_wire[4]); + parity_07_wire[6] = (data_wire[63] ^ parity_07_wire[5]); + + q_wire[63:0] = data_wire; + q_wire[64] = parity_01_wire[34]; + q_wire[65] = parity_02_wire[17]; + q_wire[66] = parity_03_wire[8]; + q_wire[67] = parity_04_wire[3]; + q_wire[68] = parity_05_wire[1]; + q_wire[69] = parity_06_wire[30]; + q_wire[70] = parity_07_wire[6]; + + parity_final_wire[0] = q_wire[0]; + parity_final_wire[1] = (q_wire[1] ^ parity_final_wire[0]); + parity_final_wire[2] = (q_wire[2] ^ parity_final_wire[1]); + parity_final_wire[3] = (q_wire[3] ^ parity_final_wire[2]); + parity_final_wire[4] = (q_wire[4] ^ parity_final_wire[3]); + parity_final_wire[5] = (q_wire[5] ^ parity_final_wire[4]); + parity_final_wire[6] = (q_wire[6] ^ parity_final_wire[5]); + parity_final_wire[7] = (q_wire[7] ^ parity_final_wire[6]); + parity_final_wire[8] = (q_wire[8] ^ parity_final_wire[7]); + parity_final_wire[9] = (q_wire[9] ^ parity_final_wire[8]); + parity_final_wire[10] = (q_wire[10] ^ parity_final_wire[9]); + parity_final_wire[11] = (q_wire[11] ^ parity_final_wire[10]); + parity_final_wire[12] = (q_wire[12] ^ parity_final_wire[11]); + parity_final_wire[13] = (q_wire[13] ^ parity_final_wire[12]); + parity_final_wire[14] = (q_wire[14] ^ parity_final_wire[13]); + parity_final_wire[15] = (q_wire[15] ^ parity_final_wire[14]); + parity_final_wire[16] = (q_wire[16] ^ parity_final_wire[15]); + parity_final_wire[17] = (q_wire[17] ^ parity_final_wire[16]); + parity_final_wire[18] = (q_wire[18] ^ parity_final_wire[17]); + parity_final_wire[19] = (q_wire[19] ^ parity_final_wire[18]); + parity_final_wire[20] = (q_wire[20] ^ parity_final_wire[19]); + parity_final_wire[21] = (q_wire[21] ^ parity_final_wire[20]); + parity_final_wire[22] = (q_wire[22] ^ parity_final_wire[21]); + parity_final_wire[23] = (q_wire[23] ^ parity_final_wire[22]); + parity_final_wire[24] = (q_wire[24] ^ parity_final_wire[23]); + parity_final_wire[25] = (q_wire[25] ^ parity_final_wire[24]); + parity_final_wire[26] = (q_wire[26] ^ parity_final_wire[25]); + parity_final_wire[27] = (q_wire[27] ^ parity_final_wire[26]); + parity_final_wire[28] = (q_wire[28] ^ parity_final_wire[27]); + parity_final_wire[29] = (q_wire[29] ^ parity_final_wire[28]); + parity_final_wire[30] = (q_wire[30] ^ parity_final_wire[29]); + parity_final_wire[31] = (q_wire[31] ^ parity_final_wire[30]); + parity_final_wire[32] = (q_wire[32] ^ parity_final_wire[31]); + parity_final_wire[33] = (q_wire[33] ^ parity_final_wire[32]); + parity_final_wire[34] = (q_wire[34] ^ parity_final_wire[33]); + parity_final_wire[35] = (q_wire[35] ^ parity_final_wire[34]); + parity_final_wire[36] = (q_wire[36] ^ parity_final_wire[35]); + parity_final_wire[37] = (q_wire[37] ^ parity_final_wire[36]); + parity_final_wire[38] = (q_wire[38] ^ parity_final_wire[37]); + parity_final_wire[39] = (q_wire[39] ^ parity_final_wire[38]); + parity_final_wire[40] = (q_wire[40] ^ parity_final_wire[39]); + parity_final_wire[41] = (q_wire[41] ^ parity_final_wire[40]); + parity_final_wire[42] = (q_wire[42] ^ parity_final_wire[41]); + parity_final_wire[43] = (q_wire[43] ^ parity_final_wire[42]); + parity_final_wire[44] = (q_wire[44] ^ parity_final_wire[43]); + parity_final_wire[45] = (q_wire[45] ^ parity_final_wire[44]); + parity_final_wire[46] = (q_wire[46] ^ parity_final_wire[45]); + parity_final_wire[47] = (q_wire[47] ^ parity_final_wire[46]); + parity_final_wire[48] = (q_wire[48] ^ parity_final_wire[47]); + parity_final_wire[49] = (q_wire[49] ^ parity_final_wire[48]); + parity_final_wire[50] = (q_wire[50] ^ parity_final_wire[49]); + parity_final_wire[51] = (q_wire[51] ^ parity_final_wire[50]); + parity_final_wire[52] = (q_wire[52] ^ parity_final_wire[51]); + parity_final_wire[53] = (q_wire[53] ^ parity_final_wire[52]); + parity_final_wire[54] = (q_wire[54] ^ parity_final_wire[53]); + parity_final_wire[55] = (q_wire[55] ^ parity_final_wire[54]); + parity_final_wire[56] = (q_wire[56] ^ parity_final_wire[55]); + parity_final_wire[57] = (q_wire[57] ^ parity_final_wire[56]); + parity_final_wire[58] = (q_wire[58] ^ parity_final_wire[57]); + parity_final_wire[59] = (q_wire[59] ^ parity_final_wire[58]); + parity_final_wire[60] = (q_wire[60] ^ parity_final_wire[59]); + parity_final_wire[61] = (q_wire[61] ^ parity_final_wire[60]); + parity_final_wire[62] = (q_wire[62] ^ parity_final_wire[61]); + parity_final_wire[63] = (q_wire[63] ^ parity_final_wire[62]); + parity_final_wire[64] = (q_wire[64] ^ parity_final_wire[63]); + parity_final_wire[65] = (q_wire[65] ^ parity_final_wire[64]); + parity_final_wire[66] = (q_wire[66] ^ parity_final_wire[65]); + parity_final_wire[67] = (q_wire[67] ^ parity_final_wire[66]); + parity_final_wire[68] = (q_wire[68] ^ parity_final_wire[67]); + parity_final_wire[69] = (q_wire[69] ^ parity_final_wire[68]); + parity_final_wire[70] = (q_wire[70] ^ parity_final_wire[69]); + + q_wire[71] = parity_final_wire[70]; + + data_output = q_wire; + + if (INT_MEM_DQ_WIDTH < 64) + ecc_data = {data_output[71:64], data_output[INT_MEM_DQ_WIDTH-1:0]}; + else + ecc_data = {data_output[71:64], data_output[63:0]}; + + endtask + + task automatic preload_encode_ecc (); + integer fd_in; + integer fd_out; + string line; + string cs; + string c; + string bg; + string ba; + string row; + string col; + + logic [ADDRESS_WIDTH - 1:0] addr; + logic [INT_MEM_DQ_WIDTH - 1:0] data; + logic [BYTEEN_WIDTH -1:0] byteen; + logic [MEM_DQ_WIDTH - 1:0] data_w_ecc; + logic [BYTEEN_W_ECC_WIDTH -1:0] byteen_w_ecc; + + fd_in = $fopen(DIAG_SIM_MEMORY_PRELOAD_ECC_FILE, "r"); + fd_out = $fopen(OUTPUT_FILE, "w"); + if (fd_in != 0 && fd_out != 0) begin + while ($fgets(line, fd_in)) begin + if ($sscanf(line, "ECC: CS=%s C=%s BG=%s BA=%s ROW=%s COL=%s ADDRESS=%h DATA=%h BYTEENABLE=%h", cs, c, bg, ba, row, col, addr, data, byteen) == 9) begin + + if (byteen != '1) begin + $fatal(1, "Error: When ECC is enabled, byte-enable must be enabled for all bytes in simulation memory preload data. Violation found in file %s at line %s", + DIAG_SIM_MEMORY_PRELOAD_ECC_FILE, line); + end + + if (CFG_ADDR_ENCODE_ENABLED) begin + encode_ecc_to_addr_data(.address(addr), .data(data), .ecc_data(data_w_ecc)); + end else begin + encode_ecc_to_data(.data(data), .ecc_data(data_w_ecc)); + end + byteen_w_ecc = {1'b1, byteen}; + + if (DIAG_USE_ABSTRACT_PHY) begin + $fwrite(fd_out, "ABPHY: CS=%s C=%s BG=%s BA=%s ROW=%s COL=%s DATA=%h BYTEENABLE=%h\n", cs, c, bg, ba, row, col, data_w_ecc, byteen_w_ecc); + end else begin + $fwrite(fd_out, "DDRX: CS=%s C=%s BG=%s BA=%s ROW=%s COL=%s DATA=%h BYTEENABLE=%h\n", cs, c, bg, ba, row, col, data_w_ecc, byteen_w_ecc); + end + end else begin + $error(1, "Error: Missing information in file %s at line: %s", DIAG_SIM_MEMORY_PRELOAD_ECC_FILE, line); + end + end + end else begin + if (fd_in == 0) begin + $error(1, "Error: Unable to open file %s for reading", DIAG_SIM_MEMORY_PRELOAD_ECC_FILE); + end + if (fd_out == 0) begin + $error(1, "Error: Unable to open file %s for writing", OUTPUT_FILE); + end + end + $fflush(fd_out); + $fclose(fd_in); + $fclose(fd_out); + + endtask + + initial begin + integer fd_out; + + preload_ready = '0; + preload_done = '0; + + fd_out = $fopen(OUTPUT_FILE, "w"); + $fclose(fd_out); + end + + always @ (posedge emif_usr_clk) begin + if (!preload_ready) begin + check_preload_ready(); + end else if (!preload_done) begin + preload_encode_ecc(); + preload_done = '1; + end + end + + // synthesis translate_on +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBMsHfgvgLrHe8UYp8Wl0pTxPxLOCWp7/jsVWNsp+Nt2lMmk4xxD1dSJfR8jxa81tihafHkJYGoi7tgC8DEETB4D8H/dYw2e8ihCN+19edns8PY+pZ5TA0RbFNmWaEK2vrbdNey7MubXJYNWNLKd0nOCTev7W5Up2V0gJn9+E4UHRoVBT7rUE7io/lL0G3UYmTV1mhrNeLkZPVusB612xgNAk0iraplNHhjzYMOEerIDetneUKw+2oLwjNJauKVmdS7jRvhlAWYWC7GQZDpF5D9vNLpk0WtZvsmXjZc7ahajIRlWH547JuDpZ6cM5rzCs5ISNBXGGYHSgF7bkVoHH8dWFMAizSUSZgnM5r6erReXPHajIW+tc4gdFi4H2U8mtqBTKyyp7r5k/moceTYU55tTxHKIC/nAgsj9+4uiN/LH8Z8IZSwXk2UAyod17BSp9sHGCR7qODmjQ1iaLaQTOw5+R0kB0kkHXWHBBm+aeEOT9Quivz8s9aGX/k58XrfU3OOcyoS5wdOVm9hM8HZcDf5ta3VqQpNpTyP0QVxJ8NYnGbmvRyXIbwA4OssXggw8OGW3T1Km2/zDUQUi8Ev4RWkE9pu/NyIoRV6xd/Tu65CWquQVff51lXxwzeBS2BlSIZyHIq653EYRkdEU0E1SChTAiVt/nZhUDbtL1/w03dJJAnCFx/oryRpm/6nwJzBYBzteqJ6eMGtPX38e1fj391ANUB2Xrlk6E8U3jhNqAL8OZT9a6gGiuhWJF/LEmqYE4REs5N/pdl+rz+My2q+z6UE" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc.v new file mode 100644 index 0000000000..6b9db63664 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc.v @@ -0,0 +1,2673 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc # + ( parameter + CFG_LOCAL_CMD_WIDTH = 2, + CFG_LOCAL_ADDR_WIDTH = 35, + CFG_LOCAL_SIZE_WIDTH = 8, + CFG_LOCAL_ID_WIDTH = 13, + CFG_LOCAL_PRI_WIDTH = 1, + CFG_LOCAL_AP_WIDTH = 1, + CFG_LOCAL_MC_WIDTH = 1, + CFG_CMD_DATA_WIDTH = 61, + CFG_CMD_INFO_WIDTH = 3, + CFG_LOCAL_DATA_WIDTH = 81*8, + CFG_LOCAL_BE_WIDTH = 9*8, + CFG_LOCAL_DATA_INFO_WIDTH = 3, + CFG_LOCAL_DATA_PTR_WIDTH = 6*2, + CFG_ECC_DATA_WIDTH = 81*8, + CFG_ECC_BE_WIDTH = 9*8, + CFG_ECC_CODE_WIDTH = 8, + CFG_ECC_MULTIPLE_INSTANCE = 8, + CFG_ECC_IN_PROTOCOL = 0, + + CFG_REGISTER_RDATA_PATH = 0, + CFG_REGISTER_WDATA_PATH = 0, + CFG_REGISTER_WDATA_PATH_NUM = 0, + CFG_REGISTER_UFI_RDATA_PATH_NUM = 0, + CFG_REGISTER_ST_WDATA_RDY_LAT_PATH = 0, + CFG_REGISTER_ST_RDATA_RDY_LAT_PATH = 0, + CFG_REGISTER_ST_CMD_RDY_LAT_PATH = 0, + CORE_CMD_PIPELINE_WDATA = 0, + + CFG_WRBUFFER_ADDR_WIDTH = 5, + CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 8, + CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 8, + CFG_PORT_WIDTH_ADDR_WIDTH = 6, + CFG_PORT_WIDTH_DATA_RATE = 4, + CFG_PORT_WIDTH_ECC_IN_PROTOCOL = 1, + CFG_PORT_WIDTH_WRPATH_PIPELINE_EN = 1, + CFG_PORT_WIDTH_ENABLE_ECC = 1, + CFG_PORT_WIDTH_ENABLE_DM = 1, + CFG_PORT_WIDTH_ENABLE_RMW = 1, + CFG_PORT_WIDTH_ENABLE_AUTO_CORR = 1, + CFG_PORT_WIDTH_ECC_CODE_OVERWRITE = 1, + CFG_PORT_WIDTH_GEN_SBE = 1, + CFG_PORT_WIDTH_GEN_DBE = 1, + CFG_PORT_WIDTH_ENABLE_INTR = 1, + CFG_PORT_WIDTH_MASK_SBE_INTR = 1, + CFG_PORT_WIDTH_MASK_DBE_INTR = 1, + CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR = 1, + CFG_PORT_WIDTH_MASK_HMI_INTR = 1, + CFG_PORT_WIDTH_CLR_INTR = 1, + CFG_PORT_WIDTH_CLR_MR_RDATA = 1, + + STS_PORT_WIDTH_ECC_INTR = 1, + STS_PORT_WIDTH_SBE_ERROR = 1, + STS_PORT_WIDTH_DBE_ERROR = 1, + STS_PORT_WIDTH_CORR_DROPPED = 1, + STS_PORT_WIDTH_SBE_COUNT = 4, + STS_PORT_WIDTH_DBE_COUNT = 4, + STS_PORT_WIDTH_CORR_DROPPED_COUNT = 4, + STS_PORT_WIDTH_ERR_ADDR = 35, + STS_PORT_WIDTH_CORR_DROPPED_ADDR = 35, + STS_PORT_WIDTH_MR_DATA = 81*8, + STS_PORT_WIDTH_MR_DATA_VALID = 1 + ) + ( + ctl_clk, + ctl_reset_n, + + cfg_dram_data_width, + cfg_local_data_width, + cfg_addr_width, + cfg_data_rate, + cfg_ecc_in_protocol, + cfg_wrpath_pipeline_en, + cfg_enable_ecc, + cfg_enable_dm, + cfg_enable_rmw, + cfg_enable_auto_corr, + cfg_ecc_code_overwrite, + cfg_gen_sbe, + cfg_gen_dbe, + cfg_enable_intr, + cfg_mask_sbe_intr, + cfg_mask_dbe_intr, + cfg_mask_corr_dropped_intr, + cfg_mask_hmi_intr, + cfg_clr_intr, + cfg_clr_mr_rdata, + + sts_ecc_intr, + sts_sbe_error, + sts_dbe_error, + sts_corr_dropped, + sts_sbe_count, + sts_dbe_count, + sts_corr_dropped_count, + sts_err_addr, + sts_corr_dropped_addr, + sts_mr_rdata_0, + sts_mr_rdata_1, + sts_mr_rdata_valid, + + sts_corr_dropped_valid, + sts_current_addr, + decoder_output_err_addr, + decoder_output_data_valid, + decoder_output_sbe, + decoder_output_dbe, + decoder_output_data_dbe, + decoder_output_addrerr, + + slave_cmd_ready, + slave_cmd_data, + slave_cmd_valid, + slave_wr_data_ready, + slave_wr_data_byte_enable, + slave_wr_data, + slave_wr_data_id, + slave_wr_data_valid, + slave_rd_data_ready, + slave_rd_data, + slave_rd_data_id, + slave_rd_data_valid, + slave_rd_data_error, + slave_rd_data_type, + + master_cmd_ready, + master_cmd_data, + master_cmd_valid, + master_cmd_data_combi, + master_cmd_valid_combi, + master_cmd_info, + master_wr_data_ready, + master_wr_data_byte_enable, + master_wr_data, + master_wr_data_id, + master_wr_data_info, + master_wr_data_ptr_in, + master_wr_data_ptr_out, + master_wr_data_valid, + master_rd_data_ready, + master_rd_data, + master_rd_data_id, + master_rd_data_info, + master_rd_data_valid, + master_rd_data_type, + + mux_master_cmd_ready, + user_interrupt, + hmi_interrupt, + idle, + push_to_error_address_fifo + ); + +localparam LOG2_CFG_ECC_MULTIPLE_INSTANCE = log2(CFG_ECC_MULTIPLE_INSTANCE); + +localparam CFG_LOCAL_DATA_PER_WORD_WIDTH = CFG_LOCAL_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE; +localparam CFG_LOCAL_BE_PER_WORD_WIDTH = CFG_LOCAL_BE_WIDTH / CFG_ECC_MULTIPLE_INSTANCE; +localparam CFG_ECC_DATA_PER_WORD_WIDTH = CFG_ECC_DATA_WIDTH / CFG_ECC_MULTIPLE_INSTANCE; +localparam CFG_ECC_BE_PER_WORD_WIDTH = CFG_ECC_BE_WIDTH / CFG_ECC_MULTIPLE_INSTANCE; + +localparam CFG_ENCODER_ADDR_WIDTH = CFG_LOCAL_ADDR_WIDTH + LOG2_CFG_ECC_MULTIPLE_INSTANCE; +localparam CFG_DECODER_ADDR_WIDTH = CFG_LOCAL_ADDR_WIDTH + LOG2_CFG_ECC_MULTIPLE_INSTANCE; + +localparam CFG_ENCODER_DATA_WIDTH = 81; +localparam CFG_DECODER_DATA_WIDTH = 81; + +localparam PARTIAL_FIFO_DATA_WIDTH = CFG_LOCAL_DATA_WIDTH + CFG_LOCAL_BE_WIDTH; +localparam PARTIAL_FIFO_ADDR_WIDTH = CFG_WRBUFFER_ADDR_WIDTH + 1; +localparam PARTIAL_FIFO_REGISTERED_OUTPUT = 1; +localparam PARTIAL_FIFO_SHOWAHEAD = 1; + +localparam WR_ADDR_FIFO_DATA_WIDTH = CFG_LOCAL_ADDR_WIDTH; +localparam WR_ADDR_FIFO_ADDR_WIDTH = CFG_WRBUFFER_ADDR_WIDTH + 1; +localparam WR_ADDR_FIFO_REGISTERED_OUTPUT = 1; +localparam WR_ADDR_FIFO_SHOWAHEAD = 1; + +localparam PTR_FIFO_DATA_WIDTH = CFG_LOCAL_DATA_PTR_WIDTH; +localparam PTR_FIFO_ADDR_WIDTH = CFG_WRBUFFER_ADDR_WIDTH + 1; +localparam PTR_FIFO_REGISTERED_OUTPUT = 1; +localparam PTR_FIFO_SHOWAHEAD = 1; + +localparam CMD_INFO_FIFO_DATA_WIDTH = CFG_CMD_INFO_WIDTH - 1; +localparam CMD_INFO_FIFO_ADDR_WIDTH = CFG_WRBUFFER_ADDR_WIDTH; +localparam CMD_INFO_FIFO_REGISTERED_OUTPUT = 1; +localparam CMD_INFO_FIFO_SHOWAHEAD = 1; + +localparam READ_FIFO_DATA_WIDTH = CFG_LOCAL_ADDR_WIDTH + CFG_LOCAL_SIZE_WIDTH; +localparam READ_FIFO_ADDR_WIDTH = 6 + 1; +localparam READ_FIFO_REGISTERED_OUTPUT = 1; +localparam READ_FIFO_SHOWAHEAD = 1; + +localparam ERROR_FIFO_DATA_WIDTH = CFG_LOCAL_ADDR_WIDTH; +localparam ERROR_FIFO_ADDR_WIDTH = 4; +localparam ERROR_FIFO_REGISTERED_OUTPUT = 1; +localparam ERROR_FIFO_SHOWAHEAD = 1; + +localparam CFG_PENDING_WRITE_DATA_WIDTH = CFG_LOCAL_SIZE_WIDTH; +localparam CFG_PENDING_ERROR_WRITE_DATA_WIDTH = CFG_LOCAL_SIZE_WIDTH; + +localparam NORMAL_WRITE_DATA = 3'b000; +localparam NORMAL_DUMMY_WRITE_DATA = 3'b010; +localparam NORMAL_FULL_WRITE_DATA = 3'b001; +localparam NORMAL_PARTIAL_WRITE_DATA = 3'b011; +localparam MERGED_WRITE_DATA = 3'b100; +localparam MERGED_DUMMY_WRITE_DATA = 3'b110; +localparam MERGED_FULL_WRITE_DATA = 3'b101; +localparam MERGED_PARTIAL_WRITE_DATA = 3'b111; + +localparam NORMAL_READ_DATA = 3'b000; +localparam NORMAL_DUMMY_READ_DATA = 3'b010; +localparam NORMAL_FULL_READ_DATA = 3'b001; +localparam NORMAL_PARTIAL_READ_DATA = 3'b011; + +localparam INFO_DUMMY_WRITE_DATA = 2'b10; +localparam INFO_FULL_WRITE_DATA = 2'b01; +localparam INFO_PARTIAL_WRITE_DATA = 2'b11; + +localparam CFG_INPUT_AST = 1'b0; +localparam CFG_INPUT_AMM = 1'b1; + +localparam CFG_PENDING_DATA_FIFO_WIDTH = 1; +localparam CFG_PENDING_DATA_FIFO_DEPTH = 2 ** CFG_PENDING_DATA_FIFO_WIDTH; + + +localparam WR_FIFO_WIDTH = CFG_LOCAL_BE_WIDTH + CFG_LOCAL_DATA_WIDTH + CFG_LOCAL_ID_WIDTH + 1; + +localparam AVMM_W_CORE_PIPELINE = CFG_ECC_IN_PROTOCOL & CORE_CMD_PIPELINE_WDATA; + +localparam CFG_ADDR_ENCODE_ENABLED = 0; + +input ctl_clk; +input [23:0] ctl_reset_n; + +input [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0] cfg_dram_data_width; +input [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0] cfg_local_data_width; +input [CFG_PORT_WIDTH_ADDR_WIDTH - 1 : 0] cfg_addr_width; +input [CFG_PORT_WIDTH_DATA_RATE - 1 : 0] cfg_data_rate; +input [CFG_PORT_WIDTH_ECC_IN_PROTOCOL - 1 : 0] cfg_ecc_in_protocol; +input [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0] cfg_wrpath_pipeline_en; +input [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] cfg_enable_ecc; +input [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0] cfg_enable_dm; +input [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0] cfg_enable_rmw; +input [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0] cfg_enable_auto_corr; +input [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0] cfg_ecc_code_overwrite; +input [CFG_PORT_WIDTH_GEN_SBE - 1 : 0] cfg_gen_sbe; +input [CFG_PORT_WIDTH_GEN_DBE - 1 : 0] cfg_gen_dbe; +input [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0] cfg_enable_intr; +input [CFG_PORT_WIDTH_MASK_SBE_INTR - 1 : 0] cfg_mask_sbe_intr; +input [CFG_PORT_WIDTH_MASK_DBE_INTR - 1 : 0] cfg_mask_dbe_intr; +input [CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR - 1 : 0] cfg_mask_corr_dropped_intr; +input [CFG_PORT_WIDTH_MASK_HMI_INTR - 1 : 0] cfg_mask_hmi_intr; +input [CFG_PORT_WIDTH_CLR_INTR - 1 : 0] cfg_clr_intr; +input [CFG_PORT_WIDTH_CLR_MR_RDATA - 1 : 0] cfg_clr_mr_rdata; + +output [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr; +output [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error; +output [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error; +output [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped; +output [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count; +output [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count; +output [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] sts_corr_dropped_count; +output [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr; +output [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr; +output [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_0; +output [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_1; +output [STS_PORT_WIDTH_MR_DATA_VALID - 1 : 0] sts_mr_rdata_valid; + +output sts_corr_dropped_valid; +output [CFG_LOCAL_ADDR_WIDTH - 1 : 0] sts_current_addr; +output [CFG_DECODER_ADDR_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_err_addr; +output [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_valid; +output [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_sbe; +output [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_dbe; +output [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_dbe; +output [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_addrerr; + + +output slave_cmd_ready; +input [CFG_CMD_DATA_WIDTH - 1 : 0] slave_cmd_data; +input slave_cmd_valid; +output slave_wr_data_ready; +input [CFG_LOCAL_BE_WIDTH - 1 : 0] slave_wr_data_byte_enable; +input [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_wr_data; +input [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_wr_data_id; +input slave_wr_data_valid; +input slave_rd_data_ready; +output [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_rd_data; +output [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_rd_data_id; +output slave_rd_data_valid; +output slave_rd_data_error; +output slave_rd_data_type; + +input master_cmd_ready; +output [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data; +output master_cmd_valid; +output [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data_combi; +output master_cmd_valid_combi; +input [CFG_CMD_INFO_WIDTH - 1 : 0] master_cmd_info; +input master_wr_data_ready; +output [CFG_ECC_BE_WIDTH - 1 : 0] master_wr_data_byte_enable; +output [CFG_ECC_DATA_WIDTH - 1 : 0] master_wr_data; +output [CFG_LOCAL_ID_WIDTH - 1 : 0] master_wr_data_id; +output [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info; +input [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_in; +output [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_out; +output master_wr_data_valid; +output master_rd_data_ready; +input [CFG_ECC_DATA_WIDTH - 1 : 0] master_rd_data; +input [CFG_LOCAL_ID_WIDTH - 1 : 0] master_rd_data_id; +input [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_rd_data_info; +input master_rd_data_valid; +input master_rd_data_type; + +output mux_master_cmd_ready; +output user_interrupt; +input hmi_interrupt; +output idle; +output push_to_error_address_fifo; + + + + wire push_slave_fifo_data; + wire pop_slave_fifo_data; + wire [CFG_CMD_DATA_WIDTH + CFG_LOCAL_DATA_WIDTH + CFG_LOCAL_BE_WIDTH - 1 : 0] slave_data_fifo_out; + wire slave_data_fifo_empty_n; + + reg slave_cmd_ready; + reg slave_wr_data_ready; + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_rd_data; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_rd_data_id; + reg slave_rd_data_valid; + reg slave_rd_data_error; + reg slave_rd_data_type; + + reg [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data; + reg master_cmd_valid; + reg [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data_combi; + reg master_cmd_valid_combi; + reg [CFG_ECC_BE_WIDTH - 1 : 0] master_wr_data_byte_enable; + reg [CFG_ECC_BE_WIDTH - 1 : 0] master_wr_data_byte_enable_ori; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] master_wr_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] master_wr_addr; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] master_wr_addr_r; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] master_wr_data_id; + wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] mux_master_wr_data_info; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r1; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r2; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r3; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r4; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r5; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r6; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r7; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r8; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r9; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info_r10; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_out; + reg master_wr_data_valid; + reg master_rd_data_ready; + + reg user_interrupt; + wire idle; + + reg [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr; + reg [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error; + reg [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error; + reg [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped; + reg [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count; + reg [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count; + reg [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] sts_corr_dropped_count; + reg [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr; + reg [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr; + reg [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_0; + reg [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_1; + reg [STS_PORT_WIDTH_MR_DATA_VALID - 1 : 0] sts_mr_rdata_valid; + wire [CFG_LOCAL_ADDR_WIDTH - 1 : 0] sts_current_addr; + + reg internal_master_cmd_ready; + reg int_ast_master_cmd_ready; + + wire int_master_cmd_ready; + wire [CFG_CMD_INFO_WIDTH - 1 : 0] int_master_cmd_info; + reg [CFG_CMD_INFO_WIDTH - 1 : 0] int_master_cmd_info_r1; + wire int_master_wr_data_ready; + wire [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] int_master_wr_data_ptr_in; + wire [CFG_ECC_DATA_WIDTH - 1 : 0] int_master_rd_data; + wire [CFG_LOCAL_ID_WIDTH - 1 : 0] int_master_rd_data_id; + wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_master_rd_data_info; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_master_rd_data_info_r; + wire int_master_rd_data_valid; + reg int_master_rd_data_valid_r; + + wire internal_master_rd_data_ready; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] internal_master_rd_data; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] internal_master_rd_data_id; + (* altera_attribute = {"-name MAX_FANOUT 1"}*) reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] internal_master_rd_data_info; + (* altera_attribute = {"-name MAX_FANOUT 1"}*) reg internal_master_rd_data_valid; + reg internal_master_rd_data_type; + + wire [CFG_CMD_DATA_WIDTH - 1 : 0] int_slave_cmd_data; + wire int_slave_cmd_valid; + reg int_slave_cmd_ready; + wire [CFG_LOCAL_BE_WIDTH - 1 : 0] int_slave_wr_data_byte_enable; + wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] int_slave_wr_data; + wire [CFG_LOCAL_ID_WIDTH - 1 : 0] int_slave_wr_data_id; + wire int_slave_wr_data_valid; + wire int_slave_rd_data_ready; + + wire int_slave_cmd_wr; + wire int_slave_cmd_rd; + wire [CFG_LOCAL_ADDR_WIDTH - 1 : 0] int_slave_cmd_addr; + wire [CFG_LOCAL_SIZE_WIDTH - 1 : 0] int_slave_cmd_size; + wire [CFG_LOCAL_ID_WIDTH - 1 : 0] int_slave_cmd_id; + wire int_slave_cmd_priority; + wire int_slave_cmd_auto_precharge; + wire int_slave_cmd_multicast; + + reg [CFG_LOCAL_BE_WIDTH - 1 : 0] int_slave_wr_data_byte_enable_ones; + reg [CFG_LOCAL_BE_WIDTH - 1 : 0] int_slave_wr_data_byte_enable_zeros; + + wire [CFG_LOCAL_SIZE_WIDTH - 1 : 0] amm_cmd_size; + wire amm_cmd_wr; + wire amm_cmd_rd; + wire ast_cmd_ready; + wire ast_wr_data_ready; + + wire amm_ready; + wire ast_cmd_valid; + wire ast_wr_data_valid; + + reg int_partial_write_detected; + reg int_partial_write_be_all_zeros; + reg int_partial_write_be_all_ones; + + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] partial_write_detected; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] partial_write_be_all_zeros; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] partial_write_be_all_ones; + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] partial_write_data; + reg [CFG_LOCAL_BE_WIDTH - 1 : 0] partial_write_data_byte_enable; + reg [CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] partial_write_ecc_code; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] partial_write_ecc_code_overwrite; + + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] partial_write_addr; + + reg partial_read_data_returned_combi_early; + reg empty_read_data_returned_combi_early; + reg normal_read_data_returned_combi_early; + + reg partial_read_data_returned_combi; + reg empty_read_data_returned_combi; + reg normal_read_data_returned_combi; + reg mpr_read_data_returned_combi; + + reg mpr_read_data_returned_valid; + + (* altera_attribute = {"-name MAX_FANOUT 32"}*) reg partial_read_data_returned; + reg empty_read_data_returned; + reg normal_read_data_returned; + + reg prolong_write_back_data_fifo_empty_combi; + + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] merge_write_data; + + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] encoder_input_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] encoder_input_addr; + reg [CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] encoder_input_ecc_code; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] encoder_input_ecc_code_overwrite; + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] encoder_input_data_r; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] encoder_input_addr_r; + reg [CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] encoder_input_ecc_code_r; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] encoder_input_ecc_code_overwrite_r; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] decoder_input_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] decoder_input_addr; + reg decoder_input_data_valid; + + reg [CFG_ECC_BE_WIDTH - 1 : 0] encoder_output_data_byte_enable_combi; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] encoder_output_data_id_combi; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] encoder_output_data_info_combi; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] encoder_output_data_ptr_combi; + reg encoder_output_data_valid_combi; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] encoder_output_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] encoder_output_addr; + reg [CFG_ECC_BE_WIDTH - 1 : 0] encoder_output_data_byte_enable; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] encoder_output_data_id; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] encoder_output_data_info; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] encoder_output_data_ptr; + reg encoder_output_data_valid; + + reg pending_data_not_empty; + reg [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0] pending_data_valid_update; + reg [CFG_PENDING_DATA_FIFO_WIDTH - 1 : 0] pending_data_valid_wr_ptr_combi; + reg [CFG_PENDING_DATA_FIFO_WIDTH - 1 : 0] pending_data_valid_rd_ptr_combi; + reg [CFG_PENDING_DATA_FIFO_WIDTH - 1 : 0] pending_data_valid_wr_ptr; + reg [CFG_PENDING_DATA_FIFO_WIDTH - 1 : 0] pending_data_valid_rd_ptr; + reg [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0] pending_data_valid; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] pending_data [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] pending_addr [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_ECC_BE_WIDTH - 1 : 0] pending_data_byte_enable [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_ECC_BE_WIDTH - 1 : 0] pending_data_byte_enable_ori [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] pending_data_id [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] pending_data_info [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] pending_data_ptr [CFG_PENDING_DATA_FIFO_DEPTH - 1 : 0]; + + reg load_pending_data; + + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_wr_data_info; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] wr_data_info; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] wr_data_info_r; + + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] int_wr_data_ptr; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] wr_data_ptr; + + wire [CFG_ENCODER_DATA_WIDTH - 1 : 0] int_encoder_input_data_combi [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_ENCODER_ADDR_WIDTH - 1 : 0] int_encoder_input_addr_combi [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_ECC_CODE_WIDTH - 1 : 0] int_encoder_input_ecc_code_combi [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_encoder_input_ecc_code_overwrite_combi [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg [CFG_ECC_BE_WIDTH - 1 : 0] int_encoder_output_data_byte_enable_combi; + reg [CFG_ENCODER_DATA_WIDTH - 1 : 0] int_encoder_input_data [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg [CFG_ENCODER_ADDR_WIDTH - 1 : 0] int_encoder_input_addr [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg [CFG_ECC_CODE_WIDTH - 1 : 0] int_encoder_input_ecc_code [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg int_encoder_input_ecc_code_overwrite [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_ENCODER_DATA_WIDTH - 1 : 0] int_encoder_output_data [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg [CFG_ECC_BE_WIDTH - 1 : 0] int_encoder_output_data_byte_enable; + + wire [CFG_DECODER_DATA_WIDTH - 1 : 0] int_decoder_input_data [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_DECODER_ADDR_WIDTH - 1 : 0] int_decoder_input_addr [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_input_data_valid [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_DECODER_DATA_WIDTH - 1 : 0] int_decoder_output_data [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_data_valid [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_ECC_CODE_WIDTH - 1 : 0] int_decoder_output_ecc_code [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_err_corrected [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_err_detected [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_err_fatal [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_err_sbe [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire int_decoder_output_err_addr_detected [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + wire [CFG_DECODER_ADDR_WIDTH - 1 : 0] int_decoder_output_err_addr [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg int_decoder_output_sbe [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + reg int_decoder_output_dbe [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]; + + reg [CFG_DECODER_ADDR_WIDTH *CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_err_addr; + + wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] decoder_output_data_combi; + wire [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_valid_combi; + wire [CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_ecc_code_combi; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] decoder_output_data_id_combi; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_sbe_combi; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_dbe_combi; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_dbe_combi; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_dbe; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_addrerr_combi; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_addrerr; + reg decoder_output_rd_data_type_combi; + reg decoder_output_rd_data_type; + + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_valid_combi_r; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_sbe_combi_r; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_dbe_combi_r; + + reg [CFG_LOCAL_DATA_WIDTH - 1 : 0] decoder_output_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] decoder_output_addr; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_data_valid; + reg [CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_ecc_code; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] decoder_output_data_id; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_sbe; + reg [CFG_ECC_MULTIPLE_INSTANCE - 1 : 0] decoder_output_dbe; + + wire partial_wdata_fifo_wr; + wire [PARTIAL_FIFO_DATA_WIDTH - 1 : 0] partial_wdata_fifo_wr_data; + wire partial_wdata_fifo_rd; + wire [PARTIAL_FIFO_DATA_WIDTH - 1 : 0] partial_wdata_fifo_rd_data; + wire partial_wdata_fifo_rd_data_valid; + wire partial_wdata_fifo_empty; + + wire initial_wr_addr_fifo_wr; + wire [WR_ADDR_FIFO_DATA_WIDTH - 1 : 0] initial_wr_addr_fifo_wr_data; + wire initial_wr_addr_fifo_rd; + wire [WR_ADDR_FIFO_DATA_WIDTH - 1 : 0] initial_wr_addr_fifo_rd_data; + wire initial_wr_addr_fifo_rd_data_valid; + wire initial_wr_addr_fifo_empty; + wire initial_wr_addr_fifo_full; + + wire wr_addr_fifo_wr; + wire [WR_ADDR_FIFO_DATA_WIDTH - 1 : 0] wr_addr_fifo_wr_data; + wire wr_addr_fifo_rd; + wire [WR_ADDR_FIFO_DATA_WIDTH - 1 : 0] wr_addr_fifo_rd_data; + wire wr_addr_fifo_rd_data_valid; + wire wr_addr_fifo_empty; + wire wr_addr_fifo_full; + + wire initial_pointer_fifo_wr; + wire [PTR_FIFO_DATA_WIDTH + 2 - 1 : 0] initial_pointer_fifo_wr_data; + wire initial_pointer_fifo_rd; + wire [PTR_FIFO_DATA_WIDTH + 2 - 1 : 0] initial_pointer_fifo_rd_data; + wire initial_pointer_fifo_rd_data_valid; + wire initial_pointer_fifo_empty; + wire initial_pointer_fifo_full; + + wire mux_push_to_initial_pointer_fifo; + reg push_to_initial_pointer_fifo; + reg push_to_initial_pointer_fifo_r1; + reg push_to_initial_pointer_fifo_r2; + reg push_to_initial_pointer_fifo_r3; + reg push_to_initial_pointer_fifo_r4; + reg push_to_initial_pointer_fifo_r5; + reg push_to_initial_pointer_fifo_r6; + reg push_to_initial_pointer_fifo_r7; + reg push_to_initial_pointer_fifo_r8; + reg push_to_initial_pointer_fifo_r9; + + reg [PTR_FIFO_DATA_WIDTH - 1 : 0] int_pointer_fifo_rd_data; + reg [WR_ADDR_FIFO_DATA_WIDTH - 1 : 0] int_wr_addr_fifo_rd_data; + + wire pointer_fifo_wr; + wire [PTR_FIFO_DATA_WIDTH - 1 : 0] pointer_fifo_wr_data; + wire pointer_fifo_rd; + wire [PTR_FIFO_DATA_WIDTH - 1 : 0] pointer_fifo_rd_data; + wire pointer_fifo_rd_data_valid; + wire pointer_fifo_empty; + wire pointer_fifo_full; + + wire cmd_info_fifo_wr; + wire [CMD_INFO_FIFO_DATA_WIDTH - 1 : 0] cmd_info_fifo_wr_data; + wire cmd_info_fifo_rd; + wire [CMD_INFO_FIFO_DATA_WIDTH - 1 : 0] cmd_info_fifo_rd_data; + wire cmd_info_fifo_rd_data_valid; + wire cmd_info_fifo_empty; + wire cmd_info_fifo_full; + + wire read_address_fifo_wr; + wire [READ_FIFO_DATA_WIDTH - 1 : 0] read_address_fifo_wr_data; + wire read_address_fifo_rd; + wire [READ_FIFO_DATA_WIDTH - 1 : 0] read_address_fifo_rd_data; + wire read_address_fifo_rd_data_valid; + wire read_address_fifo_empty; + wire read_address_fifo_full; + + wire error_address_fifo_wr; + wire [ERROR_FIFO_DATA_WIDTH - 1 : 0] error_address_fifo_wr_data; + wire error_address_fifo_rd; + wire [ERROR_FIFO_DATA_WIDTH - 1 : 0] error_address_fifo_rd_data; + wire error_address_fifo_rd_data_valid; + wire error_address_fifo_empty; + wire error_address_fifo_full; + + wire [CFG_LOCAL_ADDR_WIDTH - 1 : 0] read_address_fifo_addr; + wire [CFG_LOCAL_SIZE_WIDTH - 1 : 0] read_address_fifo_size; + + wire [CFG_LOCAL_ADDR_WIDTH - 1 : 0] error_address_fifo_addr; + + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] current_addr; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] int_current_addr; + + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] error_cmd_addr; + reg [35 - 1 : 0] error_cmd_addr_padded; + wire [CFG_LOCAL_SIZE_WIDTH - 1 : 0] error_cmd_size; + reg [8 - 1 : 0] error_cmd_size_padded; + reg [CFG_LOCAL_SIZE_WIDTH - 1 : 0] error_cmd_size_decrement; + reg error_cmd_valid; + + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] error_wr_addr; + + reg error_wr_data_valid; + + reg [CFG_CMD_DATA_WIDTH - 1 : 0] int_cmd_data; + reg int_cmd_valid; + reg [CFG_CMD_DATA_WIDTH - 1 : 0] prev_int_cmd_data; + reg prev_int_cmd_valid; + + reg [CFG_CMD_DATA_WIDTH - 1 : 0] int_master_cmd_data; + reg int_master_cmd_valid; + reg [CFG_CMD_DATA_WIDTH - 1 : 0] int_master_cmd_data_combi; + reg int_master_cmd_valid_combi; + +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg [CFG_ECC_BE_WIDTH - 1 : 0] int_master_wr_data_byte_enable; + reg [CFG_ECC_BE_WIDTH - 1 : 0] int_master_wr_data_byte_enable_ori; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] int_master_wr_data; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] int_master_wr_addr; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] int_master_wr_data_id; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_master_wr_data_info; + reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] int_master_wr_data_ptr_out; + reg int_master_wr_data_valid; + + reg pop_from_read_address_fifo; + reg last_read_data; + reg [CFG_LOCAL_SIZE_WIDTH - 1 : 0] read_size_counter; + + reg [CFG_PENDING_WRITE_DATA_WIDTH - 1 : 0] pending_write_data_counter; + reg pending_write_data_counter_underflow; + reg pending_write_data_counter_is_zero; + reg pending_write_data_counter_is_one; + reg data_before_write_command; + reg push_to_error_address_fifo; + reg pop_from_error_address_fifo; + reg issuing_dummy_write_command; + reg issuing_dummy_write_data; + reg issuing_dummy_write_data_non_gated; + + reg load_rmw_write_data; + reg load_rmw_busy; + reg load_rmw_busy_non_gated; + reg loading_rmw_data; + + reg int_load_rmw_write_data; + reg int_load_rmw_write_data_r; + reg int_load_rmw_busy; + reg int_load_rmw_busy_non_gated; + reg int_load_rmw_busy_r; + + reg [1 : 0] int_error_inject; + + wire mux_master_cmd_ready; + reg master_cmd_ready_r1; + reg master_cmd_ready_r2; + reg master_cmd_ready_r3; + reg master_cmd_ready_r4; + reg master_cmd_ready_r5; + reg master_cmd_ready_r6; + reg master_cmd_ready_r7; + reg master_cmd_ready_r8; + + wire mux_slave_cmd_ready; + reg slave_cmd_ready_r1; + reg slave_cmd_ready_r2; + reg slave_cmd_ready_r3; + reg slave_cmd_ready_r4; + reg slave_cmd_ready_r5; + reg slave_cmd_ready_r6; + reg slave_cmd_ready_r7; + reg slave_cmd_ready_r8; + + wire mux_slave_wr_data_ready; + reg int_slave_wr_data_ready; + reg slave_wr_data_ready_r1; + reg slave_wr_data_ready_r2; + reg slave_wr_data_ready_r3; + reg slave_wr_data_ready_r4; + reg slave_wr_data_ready_r5; + reg slave_wr_data_ready_r6; + reg slave_wr_data_ready_r7; + reg slave_wr_data_ready_r8; + + wire mux_slave_rd_data_ready; + reg slave_rd_data_ready_r1; + reg slave_rd_data_ready_r2; + reg slave_rd_data_ready_r3; + reg slave_rd_data_ready_r4; + + wire is_ast; + + wire one = 1'b1; + wire zero = 1'b0; + + wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] internal_slave_wr_data; + wire [CFG_LOCAL_ID_WIDTH - 1 : 0] internal_slave_wr_data_id; + wire [CFG_LOCAL_BE_WIDTH - 1 : 0] internal_slave_wr_data_byte_enable; + wire internal_slave_wr_data_valid; + + wire [WR_FIFO_WIDTH - 1 : 0] wr_fifo_wr_data; + wire wr_fifo_wr_ready; + wire wr_fifo_wr_valid; + wire [WR_FIFO_WIDTH - 1 : 0] wr_fifo_rd_data; + wire wr_fifo_rd_ready; + wire wr_fifo_rd_valid; + + wire [CFG_CMD_DATA_WIDTH - 1 : 0] internal_slave_cmd_data; + wire internal_slave_cmd_valid; + + wire [CFG_CMD_DATA_WIDTH - 1 : 0] cmd_fifo_rd_data; + wire cmd_fifo_wr_ready; + wire cmd_fifo_rd_valid; + wire [CFG_CMD_DATA_WIDTH - 1 : 0] cmd_fifo_cmd_data; + wire cmd_fifo_rd_ready; + wire cmd_fifo_cmd_valid; + + genvar i; + genvar j; + + assign int_slave_cmd_rd = int_slave_cmd_data[0]; + assign int_slave_cmd_wr = int_slave_cmd_data[1]; + assign int_slave_cmd_addr = int_slave_cmd_data[(2+CFG_LOCAL_ADDR_WIDTH-1):2]; + assign int_slave_cmd_size = int_slave_cmd_data[(37+CFG_LOCAL_SIZE_WIDTH-1):37]; + assign int_slave_cmd_priority = int_slave_cmd_data[45]; + assign int_slave_cmd_auto_precharge = int_slave_cmd_data[46]; + assign int_slave_cmd_multicast = int_slave_cmd_data[47]; + assign int_slave_cmd_id = int_slave_cmd_data[(48+CFG_LOCAL_ID_WIDTH-1):48]; + + assign is_ast = (cfg_ecc_in_protocol == CFG_INPUT_AST)? 1'b1 : 1'b0; + + always @ (*) + begin + int_slave_cmd_ready = int_master_cmd_ready; + slave_cmd_ready = int_master_cmd_ready & cmd_fifo_wr_ready; + int_slave_wr_data_ready = int_master_wr_data_ready & ~load_rmw_busy_non_gated & ~pending_data_not_empty; + slave_wr_data_ready = int_master_wr_data_ready & ~load_rmw_busy_non_gated & ~pending_data_not_empty & wr_fifo_wr_ready; + slave_rd_data = decoder_output_data; + slave_rd_data_id = decoder_output_data_id; + slave_rd_data_valid = |decoder_output_data_valid | mpr_read_data_returned_valid; + slave_rd_data_error = (cfg_enable_ecc) ? |decoder_output_dbe : 1'b0; + slave_rd_data_type = decoder_output_rd_data_type; + end + + always @ (*) + begin + master_cmd_data = int_master_cmd_data; + master_cmd_valid = int_master_cmd_valid; + master_cmd_data_combi = int_master_cmd_data_combi; + master_cmd_valid_combi = int_master_cmd_valid_combi; + master_wr_data_byte_enable = int_master_wr_data_byte_enable; + master_wr_data_byte_enable_ori = int_master_wr_data_byte_enable_ori; + master_wr_data = int_master_wr_data; + master_wr_addr = int_master_wr_addr; + master_wr_data_id = int_master_wr_data_id; + master_wr_data_info = int_master_wr_data_info; + master_wr_data_ptr_out = int_master_wr_data_ptr_out; + master_wr_data_valid = int_master_wr_data_valid & (int_master_wr_data_ready | int_master_wr_data_info[2]); + master_rd_data_ready = internal_master_rd_data_ready; + end + + always @ (posedge ctl_clk) + begin + master_wr_addr_r <= master_wr_addr; + end + + always @ (posedge ctl_clk) + begin + loading_rmw_data <= ~load_rmw_busy | issuing_dummy_write_data; + end + + generate + for (i = 0; i < CFG_PENDING_DATA_FIFO_DEPTH; i = i + 1) + begin : pending_loop + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[0]) + begin + pending_data_valid[i] <= 1'b0; + end + else + begin + if (encoder_output_data_valid && pending_data_valid_wr_ptr == i && ~encoder_output_data_info[2]) + begin + pending_data_valid[i] <= 1'b1; + end + else if (load_pending_data && pending_data_valid_rd_ptr == i) + begin + pending_data_valid[i] <= 1'b0; + end + end + end + + always @ (posedge ctl_clk) + begin + if (encoder_output_data_valid && pending_data_valid_wr_ptr == i && ~encoder_output_data_info[2]) + begin + pending_data_byte_enable [i] <= encoder_output_data_byte_enable; + pending_data_byte_enable_ori [i] <= int_encoder_output_data_byte_enable; + pending_data [i] <= encoder_output_data; + pending_addr [i] <= encoder_output_addr; + pending_data_id [i] <= encoder_output_data_id; + pending_data_info [i] <= encoder_output_data_info; + pending_data_ptr [i] <= encoder_output_data_ptr; + end + end + + always @ (*) + begin + if (load_pending_data && pending_data_valid_rd_ptr == i) + begin + pending_data_valid_update [i] = 1'b0; + end + else + begin + pending_data_valid_update [i] = pending_data_valid [i]; + end + end + end + + always @ (*) + begin + pending_data_valid_wr_ptr_combi = pending_data_valid_wr_ptr; + pending_data_valid_rd_ptr_combi = pending_data_valid_rd_ptr; + + if (encoder_output_data_valid && ~encoder_output_data_info[2]) + begin + pending_data_valid_wr_ptr_combi = pending_data_valid_wr_ptr + 1'b1; + end + + if (load_pending_data) + begin + pending_data_valid_rd_ptr_combi = pending_data_valid_rd_ptr + 1'b1; + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[1]) + begin + pending_data_valid_wr_ptr <= 1'b0; + pending_data_valid_rd_ptr <= 1'b0; + end + else + begin + pending_data_valid_wr_ptr <= pending_data_valid_wr_ptr_combi; + pending_data_valid_rd_ptr <= pending_data_valid_rd_ptr_combi; + end + end + + always @ (*) + begin + pending_data_not_empty = |pending_data_valid_update; + end + + always @ (*) + begin + load_pending_data = int_master_wr_data_ready && ~master_wr_data_info[2] && master_wr_data_valid && |pending_data_valid; + end + + always @ (posedge ctl_clk) + begin + if ((int_master_wr_data_ready && loading_rmw_data && ~pending_data_not_empty) || encoder_output_data_info[2]) + begin + int_master_wr_data_byte_enable <= encoder_output_data_byte_enable; + int_master_wr_data_byte_enable_ori <= int_encoder_output_data_byte_enable; + int_master_wr_data <= encoder_output_data; + int_master_wr_addr <= encoder_output_addr; + int_master_wr_data_id <= encoder_output_data_id; + int_master_wr_data_info <= encoder_output_data_info; + int_master_wr_data_ptr_out <= encoder_output_data_ptr; + int_master_wr_data_valid <= encoder_output_data_valid; + end + else if (!(int_master_wr_data_ready && loading_rmw_data && ~pending_data_not_empty)) + begin + int_master_wr_data_byte_enable <= pending_data_byte_enable [pending_data_valid_rd_ptr_combi]; + int_master_wr_data_byte_enable_ori <= pending_data_byte_enable_ori [pending_data_valid_rd_ptr_combi]; + int_master_wr_data <= pending_data [pending_data_valid_rd_ptr_combi]; + int_master_wr_addr <= pending_addr [pending_data_valid_rd_ptr_combi]; + int_master_wr_data_id <= pending_data_id [pending_data_valid_rd_ptr_combi]; + int_master_wr_data_info <= pending_data_info [pending_data_valid_rd_ptr_combi]; + int_master_wr_data_ptr_out <= pending_data_ptr [pending_data_valid_rd_ptr_combi]; + int_master_wr_data_valid <= pending_data_valid [pending_data_valid_rd_ptr_combi]; + end + end + endgenerate + + always @ (*) + begin + if (mux_master_cmd_ready) + begin + int_master_cmd_data_combi = (internal_master_cmd_ready) ? int_cmd_data : prev_int_cmd_data; + int_master_cmd_valid_combi = (internal_master_cmd_ready) ? int_cmd_valid : prev_int_cmd_valid; + end + else + begin + int_master_cmd_data_combi = int_master_cmd_data; + int_master_cmd_valid_combi = int_master_cmd_valid; + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[2]) + begin + int_master_cmd_valid <= 1'b0; + prev_int_cmd_valid <= 1'b0; + end + else + begin + int_master_cmd_valid <= int_master_cmd_valid_combi; + + if (internal_master_cmd_ready) + begin + prev_int_cmd_valid <= int_cmd_valid; + end + end + end + + always @ (posedge ctl_clk) + begin + int_master_cmd_data <= int_master_cmd_data_combi; + + if (internal_master_cmd_ready) + begin + prev_int_cmd_data <= int_cmd_data; + end + end + + always @ (posedge ctl_clk) + begin + internal_master_cmd_ready <= mux_master_cmd_ready; + end + + always @ (posedge ctl_clk) + begin + int_ast_master_cmd_ready <= master_cmd_ready; + end + + always @ (posedge ctl_clk) + begin + master_wr_data_info_r1 <= master_wr_data_info; + master_wr_data_info_r2 <= master_wr_data_info_r1; + master_wr_data_info_r3 <= master_wr_data_info_r2; + master_wr_data_info_r4 <= master_wr_data_info_r3; + master_wr_data_info_r5 <= master_wr_data_info_r4; + master_wr_data_info_r6 <= master_wr_data_info_r5; + master_wr_data_info_r7 <= master_wr_data_info_r6; + master_wr_data_info_r8 <= master_wr_data_info_r7; + master_wr_data_info_r9 <= master_wr_data_info_r8; + master_wr_data_info_r10<= master_wr_data_info_r9; + end + + always @ (posedge ctl_clk) + begin + master_cmd_ready_r1 <= master_cmd_ready; + master_cmd_ready_r2 <= master_cmd_ready_r1; + master_cmd_ready_r3 <= master_cmd_ready_r2; + master_cmd_ready_r4 <= master_cmd_ready_r3; + master_cmd_ready_r5 <= master_cmd_ready_r4; + master_cmd_ready_r6 <= master_cmd_ready_r5; + master_cmd_ready_r7 <= master_cmd_ready_r6; + master_cmd_ready_r8 <= master_cmd_ready_r7; + end + + always @ (posedge ctl_clk) + begin + slave_cmd_ready_r1 <= slave_cmd_ready; + slave_cmd_ready_r2 <= slave_cmd_ready_r1; + slave_cmd_ready_r3 <= slave_cmd_ready_r2; + slave_cmd_ready_r4 <= slave_cmd_ready_r3; + slave_cmd_ready_r5 <= slave_cmd_ready_r4; + slave_cmd_ready_r6 <= slave_cmd_ready_r5; + slave_cmd_ready_r7 <= slave_cmd_ready_r6; + slave_cmd_ready_r8 <= slave_cmd_ready_r7; + end + + always @ (posedge ctl_clk) + begin + slave_wr_data_ready_r1 <= slave_wr_data_ready; + slave_wr_data_ready_r2 <= slave_wr_data_ready_r1; + slave_wr_data_ready_r3 <= slave_wr_data_ready_r2; + slave_wr_data_ready_r4 <= slave_wr_data_ready_r3; + slave_wr_data_ready_r5 <= slave_wr_data_ready_r4; + slave_wr_data_ready_r6 <= slave_wr_data_ready_r5; + slave_wr_data_ready_r7 <= slave_wr_data_ready_r6; + slave_wr_data_ready_r8 <= slave_wr_data_ready_r7; + end + + always @ (posedge ctl_clk) + begin + slave_rd_data_ready_r1 <= slave_rd_data_ready; + slave_rd_data_ready_r2 <= slave_rd_data_ready_r1; + slave_rd_data_ready_r3 <= slave_rd_data_ready_r2; + slave_rd_data_ready_r4 <= slave_rd_data_ready_r3; + end + + assign internal_master_rd_data_ready = int_slave_rd_data_ready & ~(prolong_write_back_data_fifo_empty_combi); + +`ifdef USE_AVST + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[23]) + begin + internal_master_rd_data_valid <= 1'b0; + end + else + begin + if (master_rd_data_ready) + begin + internal_master_rd_data_valid <= master_rd_data_valid; + end + else if (int_slave_rd_data_ready) + begin + internal_master_rd_data_valid <= 1'b0; + end + end + end +`else + always @ (posedge ctl_clk) + begin + if (master_rd_data_ready) + begin + internal_master_rd_data_valid <= master_rd_data_valid; + end + else if (int_slave_rd_data_ready) + begin + internal_master_rd_data_valid <= 1'b0; + end + end +`endif + + always @ (posedge ctl_clk) + begin + if (master_rd_data_ready) + begin + internal_master_rd_data <= master_rd_data; + internal_master_rd_data_id <= master_rd_data_id; + internal_master_rd_data_info <= master_rd_data_info; + internal_master_rd_data_type <= master_rd_data_type; + int_pointer_fifo_rd_data <= pointer_fifo_rd_data; + int_wr_addr_fifo_rd_data <= wr_addr_fifo_rd_data; + end + end + + assign idle = partial_wdata_fifo_empty & + initial_pointer_fifo_empty & + pointer_fifo_empty & + cmd_info_fifo_empty & + initial_wr_addr_fifo_empty & + wr_addr_fifo_empty & + read_address_fifo_empty & + (read_size_counter == {CFG_LOCAL_SIZE_WIDTH{1'b0}}) & + error_address_fifo_empty; + + + fmiohmc_ecc_amm2ast # + ( + .CFG_LOCAL_SIZE_WIDTH (CFG_LOCAL_SIZE_WIDTH ) + ) + amm_ast_converter + ( + .clk (ctl_clk ), + .reset_n (ctl_reset_n[3] ), + .amm_ready (amm_ready ), + .amm_cmd_size (amm_cmd_size ), + .amm_cmd_wr (amm_cmd_wr ), + .amm_cmd_rd (amm_cmd_rd ), + .ast_cmd_ready (ast_cmd_ready ), + .ast_cmd_valid (ast_cmd_valid ), + .ast_wr_data_ready (ast_wr_data_ready ), + .ast_wr_data_valid (ast_wr_data_valid ) + ); + + assign amm_cmd_size = int_slave_cmd_size; + assign amm_cmd_wr = int_slave_cmd_wr; + assign amm_cmd_rd = int_slave_cmd_rd; + assign ast_cmd_ready = int_ast_master_cmd_ready & ~(error_cmd_valid | pop_from_error_address_fifo); + assign ast_wr_data_ready = int_slave_wr_data_ready; + + assign int_slave_cmd_data = internal_slave_cmd_data ; + assign int_slave_cmd_valid = is_ast ? internal_slave_cmd_valid : (ast_cmd_valid & (~load_rmw_busy | amm_cmd_rd)) ; + assign int_slave_wr_data_byte_enable = internal_slave_wr_data_byte_enable ; + assign int_slave_wr_data = internal_slave_wr_data ; + assign int_slave_wr_data_id = internal_slave_wr_data_id ; + assign int_slave_wr_data_valid = is_ast ? (internal_slave_wr_data_valid & int_slave_wr_data_ready) : (ast_wr_data_valid & ~issuing_dummy_write_command) ; + assign int_slave_rd_data_ready = mux_slave_rd_data_ready ; + + assign int_master_cmd_ready = is_ast ? ast_cmd_ready : amm_ready ; + assign int_master_cmd_info = master_cmd_info ; + assign int_master_wr_data_ready = master_wr_data_ready ; + assign int_master_wr_data_ptr_in = master_wr_data_ptr_in ; + assign int_master_rd_data = internal_master_rd_data ; + assign int_master_rd_data_id = internal_master_rd_data_id ; + assign int_master_rd_data_info = {internal_master_rd_data_type, internal_master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 2 : 0]} ; + assign int_master_rd_data_valid = internal_master_rd_data_valid & internal_master_rd_data_ready ; + + + assign partial_wdata_fifo_wr = master_wr_data_valid & (master_wr_data_info == NORMAL_PARTIAL_WRITE_DATA); + assign partial_wdata_fifo_rd = partial_read_data_returned; + + generate + for (i = 0; i < CFG_ECC_MULTIPLE_INSTANCE; i = i + 1) + begin : fifo_data_loop + assign partial_wdata_fifo_wr_data [(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH + CFG_LOCAL_DATA_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH + CFG_LOCAL_DATA_WIDTH] = master_wr_data_byte_enable_ori [i * CFG_ECC_BE_PER_WORD_WIDTH + CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH ]; + assign partial_wdata_fifo_wr_data [(i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_DATA_PER_WORD_WIDTH ] = master_wr_data [i * CFG_ECC_DATA_PER_WORD_WIDTH + CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : i * CFG_ECC_DATA_PER_WORD_WIDTH]; + end + endgenerate + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (PARTIAL_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (PARTIAL_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (PARTIAL_FIFO_REGISTERED_OUTPUT ), + .CFG_REGISTERED_INPUT (2 ), + .CFG_SHOWAHEAD (PARTIAL_FIFO_SHOWAHEAD ) + ) + partial_write_data_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[4] ), + .write_request (partial_wdata_fifo_wr ), + .write_data (partial_wdata_fifo_wr_data ), + .read_request (partial_wdata_fifo_rd ), + .read_data (partial_wdata_fifo_rd_data ), + .read_data_valid (partial_wdata_fifo_rd_data_valid ), + .fifo_empty (partial_wdata_fifo_empty ) + ); + generate + for (i = 0;i < CFG_ECC_MULTIPLE_INSTANCE;i = i + 1) + begin : ratio_loop + for (j = 0; j < CFG_LOCAL_BE_PER_WORD_WIDTH; j = j + 1) + begin : be_loop + always @ (*) + begin + if ((j < (cfg_local_data_width / 4'd8)) && (i < cfg_data_rate)) + begin + int_slave_wr_data_byte_enable_ones [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j] = int_slave_wr_data_byte_enable [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j]; + int_slave_wr_data_byte_enable_zeros [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j] = int_slave_wr_data_byte_enable [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j]; + end + else + begin + int_slave_wr_data_byte_enable_ones [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j] = 1'b1; + int_slave_wr_data_byte_enable_zeros [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j] = 1'b0; + end + end + end + + always @ (*) + begin + if (cfg_enable_rmw) + begin + if ( + int_slave_wr_data_byte_enable_zeros [(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH] != {CFG_LOCAL_BE_PER_WORD_WIDTH{1'b0}} && + int_slave_wr_data_byte_enable_ones [(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH] != {CFG_LOCAL_BE_PER_WORD_WIDTH{1'b1}} + ) + begin + partial_write_detected [i] = 1'b1; + end + else + begin + partial_write_detected [i] = 1'b0; + end + + if (cfg_enable_ecc && int_slave_wr_data_byte_enable_zeros [(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH] == {CFG_LOCAL_BE_PER_WORD_WIDTH{1'b0}}) + begin + partial_write_be_all_zeros [i] = 1'b1; + end + else + begin + partial_write_be_all_zeros [i] = 1'b0; + end + + if (int_slave_wr_data_byte_enable_ones [(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH] == {CFG_LOCAL_BE_PER_WORD_WIDTH{1'b1}}) + begin + partial_write_be_all_ones [i] = 1'b1; + end + else + begin + partial_write_be_all_ones [i] = 1'b0; + end + end + else + begin + partial_write_detected [i] = 1'b0; + partial_write_be_all_zeros [i] = 1'b0; + partial_write_be_all_ones [i] = 1'b0; + end + end + end + endgenerate + + always @ (*) + begin + if (cfg_enable_rmw) + begin + if (cfg_enable_dm) + begin + int_partial_write_detected = |partial_write_detected; + int_partial_write_be_all_zeros = &partial_write_be_all_zeros; + int_partial_write_be_all_ones = ~|partial_write_detected & ~&partial_write_be_all_zeros; + end + else + begin + int_partial_write_detected = ~&partial_write_be_all_ones; + int_partial_write_be_all_zeros = &partial_write_be_all_zeros; + int_partial_write_be_all_ones = &partial_write_be_all_ones; + end + end + else + begin + int_partial_write_detected = 1'b0; + int_partial_write_be_all_zeros = 1'b0; + int_partial_write_be_all_ones = 1'b0; + end + end + + always @ (*) + begin + int_wr_data_info = 3'b000; + + if (int_partial_write_detected) + begin + int_wr_data_info [1:0] = 2'b11; + end + else + begin + if (int_partial_write_be_all_zeros) + begin + int_wr_data_info [1:0] = 2'b10; + end + + if (int_partial_write_be_all_ones) + begin + int_wr_data_info [1:0] = 2'b01; + end + end + end + + always @ (posedge ctl_clk) + begin + int_master_rd_data_info_r <= int_master_rd_data_info; + end + + always @ (*) + begin + if (partial_read_data_returned | empty_read_data_returned) + begin + wr_data_info = {1'b1, int_master_rd_data_info_r [1:0]}; + end + else if (issuing_dummy_write_data) + begin + wr_data_info = NORMAL_DUMMY_WRITE_DATA; + end + else + begin + wr_data_info = int_wr_data_info; + end + end + + +generate + if (AVMM_W_CORE_PIPELINE) + begin : gen_avmm_w_core_pipeline + assign push_slave_fifo_data = ~slave_cmd_ready & slave_cmd_ready_r2; + assign pop_slave_fifo_data = int_slave_cmd_ready & slave_data_fifo_empty_n; + + fmiohmc_ecc_interface_fifo + #( + .DATA_WIDTH (CFG_CMD_DATA_WIDTH + CFG_LOCAL_DATA_WIDTH + CFG_LOCAL_BE_WIDTH), + .RESERVE_ENTRY (0) + ) + iohmc_slave_data_fifo_inst + ( + .clk (ctl_clk ), + .reset_n (ctl_reset_n[0] ), + .in_ready ( ), + .in_valid (push_slave_fifo_data ), + .in_data ({slave_wr_data_byte_enable, slave_wr_data, slave_cmd_data}), + .out_ready (pop_slave_fifo_data ), + .out_valid (slave_data_fifo_empty_n ), + .out_data (slave_data_fifo_out ) + ); + end + + if (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH > 0) + begin : gen_cfg_reg_st_wdata_rdy_lat_path_gt0 + + assign wr_fifo_wr_data = {slave_wr_data, slave_wr_data_id, slave_wr_data_byte_enable}; + assign wr_fifo_wr_valid = slave_wr_data_valid & mux_slave_wr_data_ready; + assign wr_fifo_rd_ready = int_slave_wr_data_ready; + + assign {internal_slave_wr_data, internal_slave_wr_data_id, internal_slave_wr_data_byte_enable} = wr_fifo_rd_data; + assign internal_slave_wr_data_valid = wr_fifo_rd_valid; + + fmiohmc_ecc_interface_fifo + #( + .DATA_WIDTH (WR_FIFO_WIDTH ), + .RESERVE_ENTRY (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH) + ) + iohmc_ecc_wr_pipeline_fifo_inst + ( + .clk (ctl_clk ), + .reset_n (ctl_reset_n[0] ), + .in_ready (wr_fifo_wr_ready ), + .in_valid (wr_fifo_wr_valid ), + .in_data (wr_fifo_wr_data ), + .out_ready (wr_fifo_rd_ready ), + .out_valid (wr_fifo_rd_valid ), + .out_data (wr_fifo_rd_data ) + ); + end + else + begin : gen_cfg_reg_st_wdata_rdy_lat_path_zero + assign internal_slave_wr_data = AVMM_W_CORE_PIPELINE ? (slave_data_fifo_empty_n ? slave_data_fifo_out[CFG_CMD_DATA_WIDTH +: CFG_LOCAL_DATA_WIDTH] : slave_wr_data) : slave_wr_data; + assign internal_slave_wr_data_byte_enable = AVMM_W_CORE_PIPELINE ? (slave_data_fifo_empty_n ? slave_data_fifo_out[(CFG_CMD_DATA_WIDTH+CFG_LOCAL_DATA_WIDTH) +: CFG_LOCAL_BE_WIDTH] : slave_wr_data_byte_enable) : slave_wr_data_byte_enable; + assign internal_slave_wr_data_id = slave_wr_data_id; + assign internal_slave_wr_data_valid = slave_wr_data_valid; + assign wr_fifo_wr_ready = 1'b1; + end + + if (CFG_REGISTER_ST_CMD_RDY_LAT_PATH > 0) + begin : gen_cfg_reg_st_cmd_rdy_lat_path_gt0 + + assign cmd_fifo_cmd_data = slave_cmd_data; + assign cmd_fifo_cmd_valid = slave_cmd_valid & mux_slave_cmd_ready; + assign cmd_fifo_rd_ready = int_slave_cmd_ready; + + assign internal_slave_cmd_data = cmd_fifo_rd_data; + assign internal_slave_cmd_valid = cmd_fifo_rd_valid; + + fmiohmc_ecc_interface_fifo + #( + .DATA_WIDTH (CFG_CMD_DATA_WIDTH ), + .RESERVE_ENTRY (CFG_REGISTER_ST_CMD_RDY_LAT_PATH) + ) + iohmc_ecc_cmd_pipeline_fifo_inst + ( + .clk (ctl_clk ), + .reset_n (ctl_reset_n[0] ), + .in_ready (cmd_fifo_wr_ready ), + .in_valid (cmd_fifo_cmd_valid ), + .in_data (cmd_fifo_cmd_data ), + .out_ready (cmd_fifo_rd_ready ), + .out_valid (cmd_fifo_rd_valid ), + .out_data (cmd_fifo_rd_data ) + ); + end + else + begin : gen_cfg_reg_st_cmd_rdy_lat_path_zero + assign internal_slave_cmd_data = AVMM_W_CORE_PIPELINE ? (slave_data_fifo_empty_n ? slave_data_fifo_out[CFG_CMD_DATA_WIDTH-1:0] : slave_cmd_data) : slave_cmd_data; + assign internal_slave_cmd_valid = slave_cmd_valid; + assign cmd_fifo_wr_ready = AVMM_W_CORE_PIPELINE ? ~slave_data_fifo_empty_n : 1'b1; + end +endgenerate + + reg pop_from_cmd_info_fifo; + reg pop_from_initial_pointer_fifo; + reg pop_from_pointer_fifo; + reg push_to_pointer_fifo; + reg doing_second_write_data_burst; + reg finish_write_data_burst; + + assign mux_push_to_initial_pointer_fifo = ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 0) ? push_to_initial_pointer_fifo_r1 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 1) ? push_to_initial_pointer_fifo_r2 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 2) ? push_to_initial_pointer_fifo_r3 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 3) ? push_to_initial_pointer_fifo_r4 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 4) ? push_to_initial_pointer_fifo_r5 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 5) ? push_to_initial_pointer_fifo_r6 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 6) ? push_to_initial_pointer_fifo_r7 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 7) ? push_to_initial_pointer_fifo_r8 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 8) ? push_to_initial_pointer_fifo_r9 : push_to_initial_pointer_fifo_r1; + + assign mux_master_wr_data_info = ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 0) ? master_wr_data_info_r2 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 1) ? master_wr_data_info_r3 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 2) ? master_wr_data_info_r4 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 3) ? master_wr_data_info_r5 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 4) ? master_wr_data_info_r6 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 5) ? master_wr_data_info_r7 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 6) ? master_wr_data_info_r8 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 7) ? master_wr_data_info_r9 : + ((2*(CFG_REGISTER_WDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) == 8) ? master_wr_data_info_r10 : master_wr_data_info_r2; + + assign mux_slave_cmd_ready = (CFG_REGISTER_ST_CMD_RDY_LAT_PATH == 0) ? slave_cmd_ready: + (CFG_REGISTER_ST_CMD_RDY_LAT_PATH == 1) ? slave_cmd_ready_r1 : + (CFG_REGISTER_ST_CMD_RDY_LAT_PATH == 2) ? slave_cmd_ready_r2 : + (CFG_REGISTER_ST_CMD_RDY_LAT_PATH == 3) ? slave_cmd_ready_r3 : + (CFG_REGISTER_ST_CMD_RDY_LAT_PATH == 4) ? slave_cmd_ready_r4 : slave_cmd_ready; + + assign mux_master_cmd_ready = master_cmd_ready; + + assign mux_slave_wr_data_ready = (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH == 0) ? slave_wr_data_ready : + (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH == 1) ? slave_wr_data_ready_r1 : + (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH == 2) ? slave_wr_data_ready_r2 : slave_wr_data_ready; + + assign mux_slave_rd_data_ready = (CFG_REGISTER_ST_RDATA_RDY_LAT_PATH == 0) ? slave_rd_data_ready : + (CFG_REGISTER_ST_RDATA_RDY_LAT_PATH == 1) ? slave_rd_data_ready_r1 : + (CFG_REGISTER_ST_RDATA_RDY_LAT_PATH == 2) ? slave_rd_data_ready_r2 : slave_rd_data_ready; + + assign initial_pointer_fifo_wr = (cfg_wrpath_pipeline_en == 1'b1) ? mux_push_to_initial_pointer_fifo : push_to_initial_pointer_fifo_r1; + assign initial_pointer_fifo_wr_data = {((cfg_wrpath_pipeline_en == 1'b1) ? mux_master_wr_data_info [1 : 0] : master_wr_data_info_r2 [1 : 0]), int_master_wr_data_ptr_in}; + assign initial_pointer_fifo_rd = pop_from_initial_pointer_fifo; + + assign pointer_fifo_wr = push_to_pointer_fifo; + assign pointer_fifo_wr_data = initial_pointer_fifo_rd_data [PTR_FIFO_DATA_WIDTH - 1 : 0]; + assign pointer_fifo_rd = pop_from_pointer_fifo; + + assign cmd_info_fifo_wr = cfg_enable_rmw & ((cfg_wrpath_pipeline_en == 1'b1) ? int_master_cmd_info_r1[0] : int_master_cmd_info[0]); + assign cmd_info_fifo_wr_data = (cfg_wrpath_pipeline_en == 1'b1) ? int_master_cmd_info_r1[CFG_CMD_INFO_WIDTH - 1 : 1] : int_master_cmd_info[CFG_CMD_INFO_WIDTH - 1 : 1]; + assign cmd_info_fifo_rd = pop_from_cmd_info_fifo; + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (PTR_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (PTR_FIFO_DATA_WIDTH + 2 ), + .CFG_REGISTERED_OUTPUT (PTR_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (PTR_FIFO_SHOWAHEAD ) + ) + initial_pointer_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[5] ), + .write_request (initial_pointer_fifo_wr ), + .write_data (initial_pointer_fifo_wr_data ), + .read_request (initial_pointer_fifo_rd ), + .read_data (initial_pointer_fifo_rd_data ), + .read_data_valid (initial_pointer_fifo_rd_data_valid ), + .fifo_empty (initial_pointer_fifo_empty ), + .fifo_full (initial_pointer_fifo_full ) + ); + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (PTR_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (PTR_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (PTR_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (PTR_FIFO_SHOWAHEAD ) + ) + pointer_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[6] ), + .write_request (pointer_fifo_wr ), + .write_data (pointer_fifo_wr_data ), + .read_request (pointer_fifo_rd ), + .read_data (pointer_fifo_rd_data ), + .read_data_valid (pointer_fifo_rd_data_valid ), + .fifo_empty (pointer_fifo_empty ), + .fifo_full (pointer_fifo_full ) + ); + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (CMD_INFO_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (CMD_INFO_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (CMD_INFO_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (CMD_INFO_FIFO_SHOWAHEAD ) + ) + cmd_info_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[7] ), + .write_request (cmd_info_fifo_wr ), + .write_data (cmd_info_fifo_wr_data ), + .read_request (cmd_info_fifo_rd ), + .read_data (cmd_info_fifo_rd_data ), + .read_data_valid (cmd_info_fifo_rd_data_valid ), + .fifo_empty (cmd_info_fifo_empty ), + .fifo_full (cmd_info_fifo_full ) + ); + + generate + if (CFG_ADDR_ENCODE_ENABLED) + begin : gen_cfg_addr_encode_en + assign initial_wr_addr_fifo_wr = push_to_initial_pointer_fifo; + assign initial_wr_addr_fifo_wr_data = master_wr_addr_r; + assign initial_wr_addr_fifo_rd = pop_from_initial_pointer_fifo; + + assign wr_addr_fifo_wr = push_to_pointer_fifo; + assign wr_addr_fifo_wr_data = initial_wr_addr_fifo_rd_data; + assign wr_addr_fifo_rd = pop_from_pointer_fifo; + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (WR_ADDR_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (WR_ADDR_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (WR_ADDR_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (WR_ADDR_FIFO_SHOWAHEAD ) + ) + initial_wr_addr_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[8] ), + .write_request (initial_wr_addr_fifo_wr ), + .write_data (initial_wr_addr_fifo_wr_data ), + .read_request (initial_wr_addr_fifo_rd ), + .read_data (initial_wr_addr_fifo_rd_data ), + .read_data_valid (initial_wr_addr_fifo_rd_data_valid ), + .fifo_empty (initial_wr_addr_fifo_empty ), + .fifo_full (initial_wr_addr_fifo_full ) + ); + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (WR_ADDR_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (WR_ADDR_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (WR_ADDR_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (WR_ADDR_FIFO_SHOWAHEAD ) + ) + wr_addr_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[9] ), + .write_request (wr_addr_fifo_wr ), + .write_data (wr_addr_fifo_wr_data ), + .read_request (wr_addr_fifo_rd ), + .read_data (wr_addr_fifo_rd_data ), + .read_data_valid (wr_addr_fifo_rd_data_valid ), + .fifo_empty (wr_addr_fifo_empty ), + .fifo_full (wr_addr_fifo_full ) + ); + end + else + begin : gen_cfg_addr_encode_dis + assign initial_wr_addr_fifo_rd_data = {WR_ADDR_FIFO_DATA_WIDTH{1'b0}}; + assign initial_wr_addr_fifo_rd_data_valid = initial_pointer_fifo_rd_data_valid; + assign initial_wr_addr_fifo_empty = 1'b1; + + assign wr_addr_fifo_rd_data = {WR_ADDR_FIFO_DATA_WIDTH{1'b0}}; + assign wr_addr_fifo_rd_data_valid = 1'b0; + assign wr_addr_fifo_empty = 1'b1; + end + endgenerate + + always @ (*) + begin + if (cfg_enable_rmw && ((cmd_info_fifo_rd_data_valid && initial_pointer_fifo_rd_data_valid && initial_wr_addr_fifo_rd_data_valid) || doing_second_write_data_burst)) + begin + pop_from_initial_pointer_fifo = 1'b1; + end + else + begin + pop_from_initial_pointer_fifo = 1'b0; + end + end + + always @ (posedge ctl_clk) + begin + if (pop_from_cmd_info_fifo) + begin + doing_second_write_data_burst <= 1'b0; + end + else if (cmd_info_fifo_rd_data_valid && cmd_info_fifo_rd_data[1] == 1'b1) + begin + doing_second_write_data_burst <= 1'b1; + end + else + begin + doing_second_write_data_burst <= 1'b0; + end + end + + always @ (*) + begin + if (((cmd_info_fifo_rd_data_valid && initial_pointer_fifo_rd_data_valid) && cmd_info_fifo_rd_data[1] == 1'b0) || doing_second_write_data_burst) + begin + pop_from_cmd_info_fifo = 1'b1; + end + else + begin + pop_from_cmd_info_fifo = 1'b0; + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[22]) + begin + push_to_initial_pointer_fifo <= 1'b0; + end else begin + push_to_initial_pointer_fifo <= cfg_enable_rmw & master_wr_data_valid & int_master_wr_data_ready & ~master_wr_data_info[2]; + end + end + always @ (posedge ctl_clk) + begin + push_to_initial_pointer_fifo_r1 <= push_to_initial_pointer_fifo; + push_to_initial_pointer_fifo_r2 <= push_to_initial_pointer_fifo_r1; + push_to_initial_pointer_fifo_r3 <= push_to_initial_pointer_fifo_r2; + push_to_initial_pointer_fifo_r4 <= push_to_initial_pointer_fifo_r3; + push_to_initial_pointer_fifo_r5 <= push_to_initial_pointer_fifo_r4; + push_to_initial_pointer_fifo_r6 <= push_to_initial_pointer_fifo_r5; + push_to_initial_pointer_fifo_r7 <= push_to_initial_pointer_fifo_r6; + push_to_initial_pointer_fifo_r8 <= push_to_initial_pointer_fifo_r7; + push_to_initial_pointer_fifo_r9 <= push_to_initial_pointer_fifo_r8; + end + + always @ (posedge ctl_clk) + begin + int_master_cmd_info_r1 <= int_master_cmd_info; + end + + always @ (*) + begin + if ( + initial_pointer_fifo_rd && cmd_info_fifo_rd_data[0] == 1'b1 && + ( + initial_pointer_fifo_rd_data [PTR_FIFO_DATA_WIDTH + 2 - 1 : PTR_FIFO_DATA_WIDTH] == INFO_DUMMY_WRITE_DATA || + initial_pointer_fifo_rd_data [PTR_FIFO_DATA_WIDTH + 2 - 1 : PTR_FIFO_DATA_WIDTH] == INFO_PARTIAL_WRITE_DATA + ) + ) + begin + push_to_pointer_fifo = 1'b1; + end + else + begin + push_to_pointer_fifo = 1'b0; + end + end + + always @ (*) + begin + pop_from_pointer_fifo = (empty_read_data_returned_combi_early | partial_read_data_returned_combi_early) & ~pointer_fifo_empty; + end + + always @ (*) + begin + int_wr_data_ptr = wr_data_ptr & {CFG_LOCAL_DATA_PTR_WIDTH {load_rmw_write_data}}; + end + + always @ (posedge ctl_clk) + begin + wr_data_ptr <= int_pointer_fifo_rd_data; + end + + always @ (*) + begin + partial_write_addr = int_wr_addr_fifo_rd_data; + end + + + always @ (*) + begin + partial_read_data_returned_combi_early = int_slave_rd_data_ready & master_rd_data_valid & ({master_rd_data_type, master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 2 : 0]} == NORMAL_PARTIAL_READ_DATA); + empty_read_data_returned_combi_early = int_slave_rd_data_ready & master_rd_data_valid & ({master_rd_data_type, master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 2 : 0]} == NORMAL_DUMMY_READ_DATA); + normal_read_data_returned_combi_early = int_slave_rd_data_ready & master_rd_data_valid & ({master_rd_data_type, master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 2 : 0]} == NORMAL_READ_DATA); + end + + always @ (*) + begin + partial_read_data_returned_combi = int_slave_rd_data_ready & internal_master_rd_data_valid & (int_master_rd_data_info == NORMAL_PARTIAL_READ_DATA); + empty_read_data_returned_combi = int_slave_rd_data_ready & internal_master_rd_data_valid & (int_master_rd_data_info == NORMAL_DUMMY_READ_DATA); + normal_read_data_returned_combi = int_slave_rd_data_ready & internal_master_rd_data_valid & (int_master_rd_data_info == NORMAL_READ_DATA); + mpr_read_data_returned_combi = int_slave_rd_data_ready & internal_master_rd_data_valid & int_master_rd_data_info[CFG_LOCAL_DATA_INFO_WIDTH - 1]; + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[21]) + mpr_read_data_returned_valid <= 1'b0; + else + mpr_read_data_returned_valid <= mpr_read_data_returned_combi; + end + + always @ (posedge ctl_clk) + begin + partial_read_data_returned <= partial_read_data_returned_combi; + empty_read_data_returned <= empty_read_data_returned_combi; + normal_read_data_returned <= normal_read_data_returned_combi; + end + + always @ (*) + begin + int_load_rmw_write_data = (partial_read_data_returned_combi | empty_read_data_returned_combi); + int_load_rmw_busy_non_gated = (partial_read_data_returned | empty_read_data_returned | issuing_dummy_write_data_non_gated); + int_load_rmw_busy = (partial_read_data_returned | empty_read_data_returned | issuing_dummy_write_data); + end + + always @ (posedge ctl_clk) + begin + int_load_rmw_write_data_r <= int_load_rmw_write_data; + int_load_rmw_busy_r <= int_load_rmw_busy; + end + + always @ (*) + begin + load_rmw_write_data = int_load_rmw_write_data_r; + load_rmw_busy_non_gated = int_load_rmw_busy_non_gated | (int_load_rmw_busy_r & |pending_data_valid & ~load_pending_data); + load_rmw_busy = int_load_rmw_busy | (int_load_rmw_busy_r & |pending_data_valid & ~load_pending_data); + end + + always @ (*) + begin + {partial_write_data_byte_enable, partial_write_data} = partial_wdata_fifo_rd_data; + end + + always @ (*) + begin + prolong_write_back_data_fifo_empty_combi = (partial_read_data_returned_combi_early || empty_read_data_returned_combi_early) && pointer_fifo_empty; + end + + + always @ (*) + begin + partial_write_ecc_code = decoder_output_ecc_code; + partial_write_ecc_code_overwrite = {CFG_ECC_MULTIPLE_INSTANCE{cfg_ecc_code_overwrite}} & decoder_output_dbe & {CFG_ECC_MULTIPLE_INSTANCE{~partial_read_data_returned}}; + end + + generate + for (i = 0;i < CFG_ECC_MULTIPLE_INSTANCE;i = i + 1) + begin : instance_loop + if (CFG_LOCAL_DATA_PER_WORD_WIDTH > (CFG_LOCAL_BE_PER_WORD_WIDTH * 8)) + begin + always @ (*) + begin + merge_write_data [((i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH) - 1 : (i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + (CFG_LOCAL_BE_PER_WORD_WIDTH * 8)] = {(((i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH) - (CFG_LOCAL_BE_PER_WORD_WIDTH * 8)){zero}}; + end + end + + for (j = 0;j < CFG_LOCAL_BE_PER_WORD_WIDTH;j = j + 1) + begin : local_be_loop + always @ (*) + begin + if (partial_write_data_byte_enable [(i * CFG_LOCAL_BE_PER_WORD_WIDTH) + j]) + begin + merge_write_data [(i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + ((j + 1) * 8) - 1 : (i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + (j * 8)] = partial_write_data [(i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + ((j + 1) * 8) - 1 : (i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + (j * 8)]; + end + else + begin + merge_write_data [(i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + ((j + 1) * 8) - 1 : (i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + (j * 8)] = decoder_output_data [(i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + ((j + 1) * 8) - 1 : (i * CFG_LOCAL_DATA_PER_WORD_WIDTH) + (j * 8)]; + end + end + end + end + endgenerate + + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] current_write_address; + reg [CFG_LOCAL_ADDR_WIDTH - 1 : 0] current_write_address_incr; + + always @ (posedge ctl_clk) + begin + if (int_slave_cmd_wr && int_slave_cmd_valid) + begin + current_write_address_incr <= int_slave_cmd_addr + 1'b1; + end + else if (int_slave_wr_data_valid) + begin + current_write_address_incr <= current_write_address_incr + 1'b1; + end + end + + always @ (*) + begin + if (int_slave_cmd_wr && int_slave_cmd_valid) + begin + current_write_address = int_slave_cmd_addr; + end + else + begin + current_write_address = current_write_address_incr; + end + end + + always @ (*) + begin + encoder_input_data = int_slave_wr_data; + encoder_input_addr = current_write_address; + encoder_input_ecc_code = {(CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE){1'b0}}; + encoder_input_ecc_code_overwrite = {CFG_ECC_MULTIPLE_INSTANCE{1'b0}}; + + if (partial_read_data_returned) + begin + encoder_input_data = merge_write_data; + encoder_input_addr = decoder_output_addr; + encoder_input_ecc_code = partial_write_ecc_code; + encoder_input_ecc_code_overwrite = partial_write_ecc_code_overwrite; + end + else if (empty_read_data_returned) + begin + encoder_input_data = decoder_output_data; + encoder_input_addr = decoder_output_addr; + encoder_input_ecc_code = partial_write_ecc_code; + encoder_input_ecc_code_overwrite = partial_write_ecc_code_overwrite; + end + else if (issuing_dummy_write_data) + begin + encoder_input_addr = error_wr_addr; + encoder_input_ecc_code = {(CFG_ECC_CODE_WIDTH * CFG_ECC_MULTIPLE_INSTANCE){1'b0}}; + encoder_input_ecc_code_overwrite = {CFG_ECC_MULTIPLE_INSTANCE{1'b0}}; + end + end + + + always @ (*) + begin + encoder_output_data_id_combi = int_slave_wr_data_id; + encoder_output_data_info_combi = wr_data_info; + encoder_output_data_ptr_combi = int_wr_data_ptr; + encoder_output_data_valid_combi = int_slave_wr_data_valid | load_rmw_write_data | issuing_dummy_write_data; + end + + always @ (posedge ctl_clk) + begin + encoder_output_data_id <= encoder_output_data_id_combi; + encoder_output_data_info <= encoder_output_data_info_combi; + encoder_output_data_ptr <= encoder_output_data_ptr_combi; + encoder_output_data_valid <= encoder_output_data_valid_combi; + end + + generate + for (i = 0; i < CFG_ECC_MULTIPLE_INSTANCE; i = i + 1) + begin : byte_enable_loop + always @ (*) + begin + if (CFG_ECC_BE_PER_WORD_WIDTH > CFG_LOCAL_BE_PER_WORD_WIDTH) + begin + int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = {{(CFG_ECC_BE_PER_WORD_WIDTH - CFG_LOCAL_BE_PER_WORD_WIDTH){1'b0}}, int_slave_wr_data_byte_enable[(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH]}; + end + else + begin + int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = int_slave_wr_data_byte_enable[(i + 1) * CFG_LOCAL_BE_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_BE_PER_WORD_WIDTH]; + end + + if (partial_read_data_returned) + begin + int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH]= {CFG_ECC_BE_PER_WORD_WIDTH{1'b1}}; + end + else if (empty_read_data_returned) + begin + int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH]= {CFG_ECC_BE_PER_WORD_WIDTH{1'b1}}; + end + else if (issuing_dummy_write_data) + begin + int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH]= {CFG_ECC_BE_PER_WORD_WIDTH{1'b0}}; + end + end + end + endgenerate + + always @ (posedge ctl_clk) + begin + int_encoder_output_data_byte_enable <= int_encoder_output_data_byte_enable_combi; + end + + always @ (*) + begin + if (cfg_gen_sbe) + begin + int_error_inject = 2'b01; + end + else if (cfg_gen_dbe) + begin + int_error_inject = 2'b11; + end + else + begin + int_error_inject = 2'b00; + end + end + + generate + for (i = 0;i < CFG_ECC_MULTIPLE_INSTANCE;i = i + 1) + begin : encoder_instance_loop + if (CFG_ENCODER_DATA_WIDTH > CFG_LOCAL_DATA_PER_WORD_WIDTH) + begin + assign int_encoder_input_data_combi [i] = {{(CFG_ENCODER_DATA_WIDTH - CFG_ECC_CODE_WIDTH){1'b0}}, encoder_input_data [(i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_DATA_PER_WORD_WIDTH]}; + end + else + begin + assign int_encoder_input_data_combi [i] = encoder_input_data [(i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_DATA_PER_WORD_WIDTH]; + end + assign int_encoder_input_addr_combi [i] = (CFG_ADDR_ENCODE_ENABLED == 1) ? {encoder_input_addr, i [LOG2_CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]} : {CFG_ENCODER_ADDR_WIDTH{1'b0}}; + assign int_encoder_input_ecc_code_combi [i] = encoder_input_ecc_code [(i + 1) * CFG_ECC_CODE_WIDTH - 1 : i * CFG_ECC_CODE_WIDTH ] ; + assign int_encoder_input_ecc_code_overwrite_combi [i] = encoder_input_ecc_code_overwrite [ i ] ; + + always @ (posedge ctl_clk) + begin + int_encoder_input_data [i] <= int_encoder_input_data_combi [i]; + int_encoder_input_addr [i] <= int_encoder_input_addr_combi [i]; + int_encoder_input_ecc_code [i] <= int_encoder_input_ecc_code_combi [i]; + int_encoder_input_ecc_code_overwrite [i] <= int_encoder_input_ecc_code_overwrite_combi [i]; + end + + fmiohmc_ecc_encoder # + ( + .CFG_ECC_DATA_WIDTH (CFG_ENCODER_DATA_WIDTH ), + .CFG_ECC_CODE_WIDTH (CFG_ECC_CODE_WIDTH ), + .CFG_ADDR_WIDTH (CFG_ENCODER_ADDR_WIDTH ), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH ), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH ), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC ), + .CFG_ADDR_ENCODE_ENABLED (CFG_ADDR_ENCODE_ENABLED ) + ) + ecc_encoder_inst + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[10] ), + .cfg_local_data_width (cfg_local_data_width ), + .cfg_dram_data_width (cfg_dram_data_width ), + .cfg_enable_ecc (cfg_enable_ecc ), + .input_data (int_encoder_input_data [i]), + .input_addr (int_encoder_input_addr [i]), + .input_ecc_code (int_encoder_input_ecc_code [i]), + .input_ecc_code_overwrite (int_encoder_input_ecc_code_overwrite [i]), + .output_data (int_encoder_output_data [i]) + ); + + always @ (*) + begin + encoder_output_data [(i + 1) * CFG_ECC_DATA_PER_WORD_WIDTH - 1 : i * CFG_ECC_DATA_PER_WORD_WIDTH] = {int_encoder_output_data [i][CFG_ECC_DATA_PER_WORD_WIDTH - 1 : 2], (int_encoder_output_data [i][1 : 0] ^ int_error_inject [1 : 0])}; + end + + always @ (*) + begin + if (cfg_enable_rmw) + begin + if (cfg_enable_dm) + begin + if (int_slave_wr_data_valid && int_slave_wr_data_ready) + begin + if (partial_write_be_all_ones[i]) + begin + encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = {CFG_ECC_BE_PER_WORD_WIDTH{1'b1}}; + end + else + begin + encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = {CFG_ECC_BE_PER_WORD_WIDTH{1'b0}}; + end + end + else + begin + encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = {CFG_ECC_BE_PER_WORD_WIDTH{1'b1}}; + end + end + else + begin + encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = {CFG_ECC_BE_PER_WORD_WIDTH{1'b1}}; + end + end + else + begin + encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] = int_encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH]; + end + end + + always @ (posedge ctl_clk) + begin + encoder_output_data_byte_enable [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH] <= encoder_output_data_byte_enable_combi [(i + 1) * CFG_ECC_BE_PER_WORD_WIDTH - 1 : i * CFG_ECC_BE_PER_WORD_WIDTH]; + end + end + endgenerate + + always @ (posedge ctl_clk) + begin + encoder_output_addr <= encoder_input_addr; + end + always @ (*) + begin + decoder_input_data = int_master_rd_data; + decoder_input_data_valid = normal_read_data_returned_combi; + + if (partial_read_data_returned_combi || empty_read_data_returned_combi) + begin + decoder_input_addr = partial_write_addr; + end + else + begin + decoder_input_addr = int_current_addr; + end + end + + always @ (*) + begin + decoder_output_data_id_combi = int_master_rd_data_id; + decoder_output_rd_data_type_combi = int_master_rd_data_info[CFG_LOCAL_DATA_INFO_WIDTH - 1]; + end + + generate + for (i = 0;i < CFG_ECC_MULTIPLE_INSTANCE;i = i + 1) + begin : decoder_instance_loop + if (CFG_DECODER_DATA_WIDTH > CFG_ECC_DATA_PER_WORD_WIDTH) + begin + assign int_decoder_input_data [i] = {{(CFG_DECODER_DATA_WIDTH - CFG_ECC_DATA_PER_WORD_WIDTH){1'b0}}, decoder_input_data [(i + 1) * CFG_ECC_DATA_PER_WORD_WIDTH - 1 : i * CFG_ECC_DATA_PER_WORD_WIDTH]}; + end + else + begin + assign int_decoder_input_data [i] = decoder_input_data [(i + 1) * CFG_ECC_DATA_PER_WORD_WIDTH - 1 : i * CFG_ECC_DATA_PER_WORD_WIDTH]; + end + + assign int_decoder_input_addr [i] = (CFG_ADDR_ENCODE_ENABLED == 1) ? {decoder_input_addr, i [LOG2_CFG_ECC_MULTIPLE_INSTANCE - 1 : 0]} : {CFG_DECODER_ADDR_WIDTH{1'b0}}; + assign int_decoder_input_data_valid [i] = decoder_input_data_valid; + + assign decoder_output_data_combi [(i + 1) * CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : i * CFG_LOCAL_DATA_PER_WORD_WIDTH] = int_decoder_output_data [i][CFG_LOCAL_DATA_PER_WORD_WIDTH - 1 : 0]; + assign decoder_output_data_valid_combi [ i ] = int_decoder_output_data_valid [i]; + assign decoder_output_ecc_code_combi [(i + 1) * CFG_ECC_CODE_WIDTH - 1 : i * CFG_ECC_CODE_WIDTH ] = int_decoder_output_ecc_code [i]; + + fmiohmc_ecc_decoder # + ( + .CFG_ECC_DATA_WIDTH (CFG_DECODER_DATA_WIDTH ), + .CFG_ECC_CODE_WIDTH (CFG_ECC_CODE_WIDTH ), + .CFG_ADDR_WIDTH (CFG_DECODER_ADDR_WIDTH ), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH ), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH ), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC ), + .CFG_ADDR_ENCODE_ENABLED (CFG_ADDR_ENCODE_ENABLED ) + ) + ecc_decoder_inst + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[11] ), + .cfg_local_data_width (cfg_local_data_width ), + .cfg_dram_data_width (cfg_dram_data_width ), + .cfg_enable_ecc (cfg_enable_ecc ), + .input_data (int_decoder_input_data [i]), + .input_addr (int_decoder_input_addr [i]), + .input_data_valid (int_decoder_input_data_valid [i]), + .output_data (int_decoder_output_data [i]), + .output_data_valid (int_decoder_output_data_valid [i]), + .output_ecc_code (int_decoder_output_ecc_code [i]), + .err_corrected (int_decoder_output_err_corrected [i]), + .err_detected (int_decoder_output_err_detected [i]), + .err_fatal (int_decoder_output_err_fatal [i]), + .err_sbe (int_decoder_output_err_sbe [i]), + .err_addr_detected (int_decoder_output_err_addr_detected [i]), + .err_addr (int_decoder_output_err_addr [i]) + ); + + always @ (posedge ctl_clk) + begin + decoder_output_err_addr [(i + 1) * CFG_DECODER_ADDR_WIDTH - 1 : i * CFG_DECODER_ADDR_WIDTH] <= int_decoder_output_err_addr [i]; + end + + + + always @ (*) + begin + if (i < cfg_data_rate) + begin + if (int_decoder_output_err_detected [i] | int_decoder_output_err_sbe [i] | int_decoder_output_err_addr_detected [i]) + begin + if (int_decoder_output_err_addr_detected [i]) + begin + decoder_output_sbe_combi [i] = 1'b0; + decoder_output_dbe_combi [i] = 1'b1; + decoder_output_addrerr_combi [i] = 1'b1; + decoder_output_data_dbe_combi [i] = 1'b0; + end + else if (int_decoder_output_err_corrected [i] | int_decoder_output_err_sbe [i]) + begin + decoder_output_sbe_combi [i] = 1'b1; + decoder_output_dbe_combi [i] = 1'b0; + decoder_output_addrerr_combi [i] = 1'b0; + decoder_output_data_dbe_combi [i] = 1'b0; + end + else if (int_decoder_output_err_fatal [i]) + begin + decoder_output_sbe_combi [i] = 1'b0; + decoder_output_dbe_combi [i] = 1'b1; + decoder_output_addrerr_combi [i] = 1'b0; + decoder_output_data_dbe_combi [i] = 1'b1; + end + else + begin + decoder_output_sbe_combi [i] = 1'b0; + decoder_output_dbe_combi [i] = 1'b0; + decoder_output_addrerr_combi [i] = 1'b0; + decoder_output_data_dbe_combi [i] = 1'b0; + end + end + else + begin + decoder_output_sbe_combi [i] = 1'b0; + decoder_output_dbe_combi [i] = 1'b0; + decoder_output_addrerr_combi [i] = 1'b0; + decoder_output_data_dbe_combi [i] = 1'b0; + end + end + else + begin + decoder_output_sbe_combi [i] = 1'b0; + decoder_output_dbe_combi [i] = 1'b0; + decoder_output_addrerr_combi [i] = 1'b0; + decoder_output_data_dbe_combi [i] = 1'b0; + end + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[12]) + begin + decoder_output_data_valid_combi_r <= {CFG_ECC_MULTIPLE_INSTANCE{1'b0}}; + end + else + begin + decoder_output_data_valid_combi_r <= decoder_output_data_valid_combi; + end + end + + always @ (posedge ctl_clk) + begin + decoder_output_sbe_combi_r <= decoder_output_sbe_combi; + decoder_output_dbe_combi_r <= decoder_output_dbe_combi; + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[13]) + begin + decoder_output_data_valid <= {CFG_ECC_MULTIPLE_INSTANCE{1'b0}}; + end + else + begin + if (int_slave_rd_data_ready || partial_read_data_returned_combi || empty_read_data_returned_combi) + begin + decoder_output_data_valid <= decoder_output_data_valid_combi; + end + end + end + + always @ (posedge ctl_clk) + begin + if (int_slave_rd_data_ready || partial_read_data_returned_combi || empty_read_data_returned_combi) + begin + decoder_output_data <= decoder_output_data_combi; + decoder_output_addr <= decoder_input_addr; + decoder_output_ecc_code <= decoder_output_ecc_code_combi; + decoder_output_data_id <= decoder_output_data_id_combi; + decoder_output_sbe <= decoder_output_sbe_combi; + decoder_output_dbe <= decoder_output_dbe_combi; + decoder_output_data_dbe <= decoder_output_data_dbe_combi; + decoder_output_addrerr <= decoder_output_addrerr_combi; + decoder_output_rd_data_type <= decoder_output_rd_data_type_combi; + end + end + + + assign sts_current_addr = current_addr; + + assign sts_corr_dropped_valid = cfg_enable_auto_corr && push_to_error_address_fifo && error_address_fifo_full; + + endgenerate + + assign read_address_fifo_wr = int_slave_cmd_ready & int_slave_cmd_rd & int_slave_cmd_valid; + assign read_address_fifo_wr_data = {int_slave_cmd_size, int_slave_cmd_addr}; + assign read_address_fifo_rd = pop_from_read_address_fifo; + + assign {read_address_fifo_size, read_address_fifo_addr} = read_address_fifo_rd_data; + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (READ_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (READ_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (READ_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (READ_FIFO_SHOWAHEAD ) + ) + read_address_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[14] ), + .write_request (read_address_fifo_wr ), + .write_data (read_address_fifo_wr_data ), + .read_request (read_address_fifo_rd ), + .read_data (read_address_fifo_rd_data ), + .read_data_valid (read_address_fifo_rd_data_valid ), + .fifo_empty (read_address_fifo_empty ), + .fifo_full (read_address_fifo_full ) + ); + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[15]) begin + read_size_counter <= {CFG_LOCAL_SIZE_WIDTH{1'b0}}; + end else begin + if (pop_from_read_address_fifo) + begin + read_size_counter <= read_address_fifo_size; + end + else if (normal_read_data_returned_combi) + begin + read_size_counter <= read_size_counter - 1'b1; + end + end + end + + always @ (*) + begin + if (!read_address_fifo_empty && ((read_size_counter == 0) || last_read_data == 1'b1)) + begin + pop_from_read_address_fifo = 1'b1; + end + else + begin + pop_from_read_address_fifo = 1'b0; + end + end + + always @ (*) + begin + if (normal_read_data_returned_combi && read_size_counter == 1) + begin + last_read_data = 1'b1; + end + else + begin + last_read_data = 1'b0; + end + end + + always @ (posedge ctl_clk) + begin + if (pop_from_read_address_fifo) + begin + int_current_addr <= read_address_fifo_addr; + end + else if (normal_read_data_returned_combi) + begin + int_current_addr <= int_current_addr + 1'b1; + end + end + + always @ (posedge ctl_clk) + begin + current_addr <= int_current_addr; + end + + + assign error_address_fifo_wr = cfg_enable_auto_corr & push_to_error_address_fifo & ~error_address_fifo_full; + assign error_address_fifo_rd = pop_from_error_address_fifo; + + assign error_address_fifo_wr_data = (cfg_enable_dm == 1'b1 || cfg_data_rate == 4'd8) ? current_addr : {current_addr[CFG_LOCAL_ADDR_WIDTH - 1 : 1], 1'b0}; + assign error_cmd_size = (cfg_enable_dm == 1'b1 || cfg_data_rate == 4'd8) ? {{(CFG_LOCAL_SIZE_WIDTH - 1){1'b0}}, 1'b1} : {{(CFG_LOCAL_SIZE_WIDTH - 2){1'b0}}, 2'd2}; + + assign error_address_fifo_addr = error_address_fifo_rd_data; + + fmiohmc_fifo # + ( + .CFG_ADDR_WIDTH (ERROR_FIFO_ADDR_WIDTH ), + .CFG_DATA_WIDTH (ERROR_FIFO_DATA_WIDTH ), + .CFG_REGISTERED_OUTPUT (ERROR_FIFO_REGISTERED_OUTPUT ), + .CFG_SHOWAHEAD (ERROR_FIFO_SHOWAHEAD ) + ) + error_address_fifo + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[16] ), + .write_request (error_address_fifo_wr ), + .write_data (error_address_fifo_wr_data ), + .read_request (error_address_fifo_rd ), + .read_data (error_address_fifo_rd_data ), + .read_data_valid (error_address_fifo_rd_data_valid ), + .fifo_empty (error_address_fifo_empty ), + .fifo_full (error_address_fifo_full ) + ); + + always @ (*) + begin + if (|decoder_output_sbe && normal_read_data_returned) + begin + push_to_error_address_fifo = 1'b1; + end + else + begin + push_to_error_address_fifo = 1'b0; + end + end + + always @ (*) + begin + if ( + !error_address_fifo_empty && + !error_cmd_valid && + !error_wr_data_valid && + (pending_write_data_counter == {CFG_PENDING_WRITE_DATA_WIDTH{1'b0}}) && + !data_before_write_command + ) + begin + pop_from_error_address_fifo = 1'b1; + end + else + begin + pop_from_error_address_fifo = 1'b0; + end + end + + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[17]) + begin + pending_write_data_counter <= {CFG_PENDING_WRITE_DATA_WIDTH{1'b0}}; + pending_write_data_counter_underflow <= 1'b0; + end + else + begin + if (int_slave_cmd_ready && int_slave_cmd_valid && int_slave_cmd_wr) + begin + pending_write_data_counter_underflow <= 1'b0; + + if (int_slave_wr_data_ready && int_slave_wr_data_valid) + begin + pending_write_data_counter <= is_ast ? (pending_write_data_counter + int_slave_cmd_size - 1'b1) : (int_slave_cmd_size - 1'b1); + end + else + begin + pending_write_data_counter <= is_ast ? (pending_write_data_counter + int_slave_cmd_size) : int_slave_cmd_size; + end + end + else if (int_slave_wr_data_ready && int_slave_wr_data_valid) + begin + if (pending_write_data_counter == {CFG_PENDING_WRITE_DATA_WIDTH{1'b0}}) + begin + pending_write_data_counter_underflow <= 1'b1; + end + else + begin + pending_write_data_counter_underflow <= 1'b0; + end + + pending_write_data_counter <= pending_write_data_counter - 1'b1; + end + end + + end + + always @ (*) + begin + if (is_ast) + begin + if (pending_write_data_counter == {CFG_PENDING_WRITE_DATA_WIDTH{1'b0}} && int_slave_wr_data_ready && int_slave_wr_data_valid) + begin + data_before_write_command = 1'b1; + end + else + begin + data_before_write_command = pending_write_data_counter_underflow; + end + end + else + begin + data_before_write_command = 1'b0; + end + end + + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[18]) + begin + error_cmd_valid <= 1'b0; + end + else + begin + if (pop_from_error_address_fifo) + begin + error_cmd_valid <= 1'b1; + end + else + begin + if (internal_master_cmd_ready) + begin + error_cmd_valid <= 1'b0; + end + end + end + end + + always @ (posedge ctl_clk) + begin + if (pop_from_error_address_fifo) + begin + error_cmd_addr <= error_address_fifo_addr; + error_cmd_size_decrement <= error_cmd_size; + end + else + begin + if (issuing_dummy_write_data) + begin + error_cmd_size_decrement <= error_cmd_size_decrement - 1'b1; + end + end + end + + always @ (posedge ctl_clk) + begin + if (pop_from_error_address_fifo) + begin + error_wr_addr <= error_address_fifo_addr; + end + else if (issuing_dummy_write_data) + begin + error_wr_addr <= error_wr_addr + 1'b1; + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[19]) + begin + error_wr_data_valid <= 1'b0; + end + else + begin + if (pop_from_error_address_fifo) + begin + error_wr_data_valid <= 1'b1; + end + else if (int_master_wr_data_ready && !(partial_read_data_returned | empty_read_data_returned | (|pending_data_valid & ~load_pending_data)) && error_cmd_size_decrement == 1) + begin + error_wr_data_valid <= 1'b0; + end + end + end + + always @ (*) + begin + issuing_dummy_write_command = error_cmd_valid & internal_master_cmd_ready; + issuing_dummy_write_data_non_gated = error_wr_data_valid & ~(partial_read_data_returned | empty_read_data_returned | (|pending_data_valid & ~load_pending_data)); + issuing_dummy_write_data = issuing_dummy_write_data_non_gated & int_master_wr_data_ready; + end + + always @ (*) + begin + if (CFG_LOCAL_SIZE_WIDTH >= 8) begin + error_cmd_size_padded = error_cmd_size; + end else begin + error_cmd_size_padded = {{(8 - CFG_LOCAL_SIZE_WIDTH){1'b0}}, error_cmd_size}; + end + + if (CFG_LOCAL_ADDR_WIDTH >= 35) begin + error_cmd_addr_padded = error_cmd_addr; + end else begin + error_cmd_addr_padded = {{(35 - CFG_LOCAL_ADDR_WIDTH){1'b0}}, error_cmd_addr}; + end + + if (error_cmd_valid) + begin + int_cmd_data = { + {CFG_LOCAL_ID_WIDTH{1'b0}}, + 1'b0, + 1'b1, + 1'b0, + error_cmd_size_padded, + error_cmd_addr_padded, + 1'b1, + 1'b0 + }; + int_cmd_valid = 1'b1; + end + else + begin + int_cmd_data = int_slave_cmd_data; + int_cmd_valid = int_slave_cmd_valid & ~pop_from_error_address_fifo; + end + end + + always @ (posedge ctl_clk) + begin + if (!ctl_reset_n[20]) + begin + sts_ecc_intr <= {STS_PORT_WIDTH_ECC_INTR{1'b0}}; + sts_sbe_error <= {STS_PORT_WIDTH_SBE_ERROR{1'b0}}; + sts_dbe_error <= {STS_PORT_WIDTH_DBE_ERROR{1'b0}}; + sts_corr_dropped <= {STS_PORT_WIDTH_CORR_DROPPED{1'b0}}; + sts_sbe_count <= {STS_PORT_WIDTH_SBE_COUNT{1'b0}}; + sts_dbe_count <= {STS_PORT_WIDTH_DBE_COUNT{1'b0}}; + sts_corr_dropped_count <= {STS_PORT_WIDTH_CORR_DROPPED_COUNT{1'b0}}; + sts_err_addr <= {STS_PORT_WIDTH_ERR_ADDR{1'b0}}; + sts_corr_dropped_addr <= {STS_PORT_WIDTH_CORR_DROPPED_ADDR{1'b0}}; + sts_mr_rdata_valid <= 1'b0; + end + else + begin + if (cfg_enable_intr) + begin + if (cfg_clr_intr) + begin + sts_ecc_intr <= {STS_PORT_WIDTH_ECC_INTR{1'b0}}; + sts_sbe_error <= {STS_PORT_WIDTH_SBE_ERROR{1'b0}}; + sts_dbe_error <= {STS_PORT_WIDTH_DBE_ERROR{1'b0}}; + sts_corr_dropped <= {STS_PORT_WIDTH_CORR_DROPPED{1'b0}}; + sts_sbe_count <= {STS_PORT_WIDTH_SBE_COUNT{1'b0}}; + sts_dbe_count <= {STS_PORT_WIDTH_DBE_COUNT{1'b0}}; + sts_corr_dropped_count <= {STS_PORT_WIDTH_CORR_DROPPED_COUNT{1'b0}}; + sts_err_addr <= {STS_PORT_WIDTH_ERR_ADDR{1'b0}}; + sts_corr_dropped_addr <= {STS_PORT_WIDTH_CORR_DROPPED_ADDR{1'b0}}; + end + else + begin + if (|decoder_output_sbe_combi_r && |decoder_output_data_valid_combi_r) + begin + if (!cfg_mask_sbe_intr) + begin + sts_ecc_intr <= 1'b1; + end + + sts_sbe_error <= 1'b1; + sts_sbe_count <= sts_sbe_count + 1'b1; + sts_err_addr <= current_addr; + end + + if (|decoder_output_dbe_combi_r && |decoder_output_data_valid_combi_r) + begin + if (!cfg_mask_dbe_intr) + begin + sts_ecc_intr <= 1'b1; + end + + sts_dbe_error <= 1'b1; + sts_dbe_count <= sts_dbe_count + 1'b1; + sts_err_addr <= current_addr; + end + + if (cfg_enable_auto_corr && push_to_error_address_fifo && error_address_fifo_full) + begin + if (!cfg_mask_corr_dropped_intr) + begin + sts_ecc_intr <= 1'b1; + end + + sts_corr_dropped <= 1'b1; + sts_corr_dropped_count <= sts_corr_dropped_count + 1'b1; + sts_corr_dropped_addr <= current_addr; + end + + if (!cfg_mask_hmi_intr && hmi_interrupt) + begin + sts_ecc_intr <= 1'b1; + end + end + end + + if (cfg_clr_mr_rdata) + begin + sts_mr_rdata_valid <= 1'b0; + end + else + begin + if (cfg_clr_mr_rdata) + begin + sts_mr_rdata_valid <= 1'b0; + end + else if (cfg_data_rate == 4'd4 && int_master_rd_data_valid && int_master_rd_data_valid_r && int_master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 1]) + begin + sts_mr_rdata_valid <= 1'b1; + end + else if (cfg_data_rate == 4'd8 && int_master_rd_data_valid && !int_master_rd_data_valid_r && int_master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 1]) + begin + sts_mr_rdata_valid <= 1'b1; + end + end + end + end + + + always @ (posedge ctl_clk) + begin + if (cfg_clr_mr_rdata) + begin + sts_mr_rdata_0 <= {STS_PORT_WIDTH_MR_DATA{1'b0}}; + sts_mr_rdata_1 <= {STS_PORT_WIDTH_MR_DATA{1'b0}}; + end + else + begin + if (int_master_rd_data_valid && !int_master_rd_data_valid_r && int_master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 1]) + begin + sts_mr_rdata_0 <= int_master_rd_data; + end + + if (int_master_rd_data_valid && int_master_rd_data_valid_r && int_master_rd_data_info [CFG_LOCAL_DATA_INFO_WIDTH - 1] && cfg_data_rate == 4'd4) + begin + sts_mr_rdata_1 <= int_master_rd_data; + end + end + end + + always @ (posedge ctl_clk) + begin + int_master_rd_data_valid_r <= int_master_rd_data_valid; + end + + + always @ (*) + begin + user_interrupt = sts_ecc_intr; + end + +function integer log2; + input integer value; + begin + value = value - 'd1; + for (log2 = 'd0; value > 0; log2 = log2 + 'd1) + value = value >> 'd1; + end +endfunction + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EDwQqqnulK93JxlxKTd3IAVRwgCNLAKwQy/4fOvNVxW4/Qtn8GWqLYSwOTe1hVoXyIpoNZuZXW1w1aX/MToaLFPAbD8hSF3mPuh7bNBhKi4ftzFy3e1YXr3kW1SeKN6hJ3H+IcDwPGF1AIOFXiENRFi6g7leeZ34w2HjiJ1dm3su/j1D+peKKqLP4q7HXrTGHOnLZh4n/xlFGIXDHmkEfG4IhauGx7diDCE9ADgZzwbdQpiuOa7ce27UKOaRlT1/faARukrNZlHXAjhsozbfhItZsXD4gvZQBgCuR3H2DhtLh4yr7ML3q4u5haoMxH9deCh0xMA9Yt4klJ7Ogod9HY/f2BjLXAPuyfsSmLLsSWPAiFUeSj8HvQY4qAXejzecToswO9ynZYncE4+tKMypVC0YhincdWlNV5Ht8+l4iQmjuvi+aQImQl7FhFcm5T6kMdSUgDdTRx1sJ6UKN9ToMyMoL1pYaHm8IHOYNwL50TR8jlXn/mY+54GwlDgx4vgOuraPwCNGkwCyJx+Yix5DEl/lDk9TrNtlbWElvdL6IWuGjcuYZFcU6FV1o+x6FUaYOibBoxg+hQgQZZS7oNe6LK3Yo774x9QMS8e4O15b9DSjx1Bk/9FpiFD2XcAgrr+btbQ55+MEAoNfqI7883DVc3wDV7tUkPKirQA9Mt12V7b0R9ovkJ+tEaKY33yNUzh2k68wCEBPn8sJZpKAqPNOFFOa6YJ/kGuB604Hv1qs40Au1fsRxHmDTW7RFOYQcRY6KsixU3G21cORYBX7HL3/VYs" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_amm2ast.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_amm2ast.v new file mode 100644 index 0000000000..d089640bcc --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_amm2ast.v @@ -0,0 +1,181 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_amm2ast # + ( parameter + CFG_LOCAL_SIZE_WIDTH = 2 + ) + ( + clk, + reset_n, + amm_ready, + amm_cmd_size, + amm_cmd_wr, + amm_cmd_rd, + ast_cmd_ready, + ast_cmd_valid, + ast_wr_data_ready, + ast_wr_data_valid + ); + +localparam IDLE = 1'b0; +localparam GET_WDATA = 1'b1; + +input clk; +input reset_n; + +output amm_ready; +input [CFG_LOCAL_SIZE_WIDTH - 1 : 0] amm_cmd_size; +input amm_cmd_wr; +input amm_cmd_rd; + +input ast_cmd_ready; +output ast_cmd_valid; +input ast_wr_data_ready; +output ast_wr_data_valid; + +reg int_amm_ready; +reg int_ast_wr_data_valid; +reg int_ast_cmd_valid; + +reg convert_state; +reg convert_state_nxt; +reg [CFG_LOCAL_SIZE_WIDTH - 1 : 0] count; +reg [CFG_LOCAL_SIZE_WIDTH - 1 : 0] count_nxt; + +wire ast_cmd_valid; +wire ast_wr_data_valid; +wire amm_ready; + + +always @(*) +begin + case (convert_state) + IDLE: + begin + int_amm_ready = ast_wr_data_ready & ast_cmd_ready; + int_ast_cmd_valid = (amm_cmd_wr | amm_cmd_rd) & ast_wr_data_ready & ast_cmd_ready; + + if (amm_cmd_wr) + begin + if (amm_cmd_size != {{(CFG_LOCAL_SIZE_WIDTH - 1){1'b0}},1'b1}) + begin + if (int_amm_ready == 1'b1) + begin + convert_state_nxt = GET_WDATA; + count_nxt = amm_cmd_size; + int_ast_wr_data_valid = 1'b1; + end + else + begin + convert_state_nxt = IDLE; + count_nxt = {CFG_LOCAL_SIZE_WIDTH{1'b0}}; + int_ast_wr_data_valid = 1'b0; + end + end + else + begin + count_nxt = {CFG_LOCAL_SIZE_WIDTH{1'b0}}; + convert_state_nxt = IDLE; + + if (int_amm_ready == 1'b1) + begin + int_ast_wr_data_valid = 1'b1; + end + else + begin + int_ast_wr_data_valid = 1'b0; + end + end + end + else + begin + if (amm_cmd_rd == 1'b1) + begin + int_ast_wr_data_valid = 1'b0; + count_nxt = {CFG_LOCAL_SIZE_WIDTH{1'b0}}; + convert_state_nxt = IDLE; + end + else + begin + int_ast_wr_data_valid = 1'b0; + count_nxt = {CFG_LOCAL_SIZE_WIDTH{1'b0}}; + convert_state_nxt = IDLE; + end + end + end + GET_WDATA: + begin + int_amm_ready = ast_wr_data_ready; + int_ast_cmd_valid = 1'b0; + + if (int_amm_ready == 1'b1) + begin + if (amm_cmd_wr) + begin + count_nxt = count - {{(CFG_LOCAL_SIZE_WIDTH - 1){1'b0}},1'b1}; + int_ast_wr_data_valid = 1'b1; + end + else + begin + count_nxt = count; + int_ast_wr_data_valid = 1'b0; + end + + if ((count == {{(CFG_LOCAL_SIZE_WIDTH-2){1'b0}},2'b10}) && (amm_cmd_wr == 1'b1)) + begin + convert_state_nxt = IDLE; + end + else + begin + convert_state_nxt = GET_WDATA; + end + end + else + begin + convert_state_nxt = GET_WDATA; + count_nxt = count; + int_ast_wr_data_valid = 1'b0; + end + end + endcase +end + +always @(posedge clk) +begin + if (!reset_n) + begin + convert_state <= IDLE; + end + else begin + convert_state <= convert_state_nxt; + end +end + +always @(posedge clk) +begin + count <= count_nxt; +end + + +assign amm_ready = int_amm_ready; +assign ast_wr_data_valid = int_ast_wr_data_valid; +assign ast_cmd_valid = int_ast_cmd_valid; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EDJKkf0NswlJB1vf587smpPbIBhSkXx1z3ffv5cRb9HXl9SopMPG9vpzWQo6XWMFLQ3uPpPv+jtNALNVw+JXfZ+1H3WW5mhsuFDl7ieIuSnGrSDMo3coAFqZN4Xi3FAZdVQycP3imHGPy7g3gYUqsqbrUKoYbvkFQ4ao5Itr6mIqeZVW5VATTjs0BYvGyI8b8G6IrS6AIWXRZB+Z9laPhvZsV816XG6M75XB8Kx9VNpgfVPXFdqhbLk0KblbB7SPM5DFn5we8bYA2bIPFZ2QQtPpawsCStHyaS7VFzARovJqXODZmqFTbuHSETSoWCydU3gGTLnXokjEDgr20Tu+LmwYefdCr8cecLT8xGVUWACyTIvnl2CpQ1J9YG/k8VUpFL2qh6Lobsp0J7F60z8JeyYjhemH1ZfTgy38vdYOS3TQijS9IddTzbJP9xlic12M3ZI6rn7WQkr2kkzJLrn6nQZoyTeW6glf92aLQ9ZJIlzC4W5ihe8uA/ojMhTxuf3I1a/SVIeS/gd5CQlmu0qhyWX4FipF9OB9j121OgZi9Nei0PK34ayrfAJfrP4HlBUdoea6qzn1+6quFVdNH/mu2VajDOyOvN2ewwkrq7LH+0NE7jDYtEjK3LN49S667PwFcmCtzVFD047++35n4iIApJCnQMW+nwrj4X1yS6LV+vJvijhZ4sO7oEV3G5cc+r02qgpr4TJgQ8XKWH9zn0Ix/k/LqL+i7bIfjZYyNpX9Msrg/iFmJUf9jtjJUWNLx+jBj0ReFTOjkbITQPhBB/8w/Fy" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_cb.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_cb.v new file mode 100644 index 0000000000..1fbff3d1b1 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_cb.v @@ -0,0 +1,31 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_cb +#(parameter DAT='d 8) ( + + input wire [DAT-1:0] di, + output wire dout + ); + + assign dout = ^di; +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBb+GwNRZYJnVDIiruXV09Fs7UBAg5nhC5sN9VFWsWgS9dfRDj2wBpGRfwyj8zHzy6X6u5C5UJAFRGc7jFDI6rnoQmqYWZi06FmQQPfMI0O6Hfz3/iyjufPmNLu4SQ6xqT7cf66w17yqjnijDB1P83cIZrRkNAl4kPvU1s/MMcPWatQLZwcEwy3iQlNiCZy3KqnTom5EnueV5I2PEW7CoQU0Di1SA9Rjwtzb8PrbXF0Jtaf0mCyvb6vop9RgKk8HtUsXWWeaQ+fw+OeZmMGeOHFWw8oFc1ihkFba7xawoQQvlosZ8A6UvdZ9ggV0ILFlWiuFdaz3JBzXm1kNp2oCegZWeCDKZDueE4Ke+zzf6hrhNAs1M6upgpLco7jWnXKnf86KzwOGCpcSmT9MZIzuEl6Kel3NlJg2CengBGBV+9GadH65qKGjeXF1U4Nrff+0tRxKjCg2ySL4XmqbCZ1FiIPBZZn70+U7h7peCmGPGdcIjFeWzIbnGHV2xmoZTrBYRV4dvYECp6AsUGCQh6/EeM2wxjD6wSVxH4mNN/GtALbga4QacKyy0CDUXg20wVnYP5lRg2sHzAwTrIvg7h2aWQ0nu8Id0+JngU/uajgHHlF0P8Saf+IJJz7uWiOMsISVgIcRWTtA7+qPni3HHok/Cjqx9MmF7yHL3SHVMRR8gIkOCrXu2NgpKSAMrJAj7aVAU4WWrccsG8lR4SLYu4VH1/fnABmGTC4TNgJWLPN4qGLt+kBexTMYMWHXFq3/9HOyQhfUVBcHw/wSQBP5QecqdB6" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder.v new file mode 100644 index 0000000000..5035739c86 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder.v @@ -0,0 +1,256 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_decoder # + ( parameter + CFG_ECC_DATA_WIDTH = 72, + CFG_ECC_CODE_WIDTH = 8, + CFG_ADDR_WIDTH = 35, + + CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 7, + CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 7, + CFG_PORT_WIDTH_ENABLE_ECC = 1, + + CFG_ADDR_ENCODE_ENABLED = 0 + ) + ( + ctl_clk, + ctl_reset_n, + + cfg_local_data_width, + cfg_dram_data_width, + cfg_enable_ecc, + + input_data, + input_addr, + input_data_valid, + output_data, + output_data_valid, + output_ecc_code, + + err_corrected, + err_detected, + err_fatal, + err_sbe, + err_addr_detected, + err_addr + ); + +localparam CFG_LOCAL_DATA_WIDTH = CFG_ECC_DATA_WIDTH - CFG_ECC_CODE_WIDTH; + +input ctl_clk; +input ctl_reset_n; + +input [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0] cfg_local_data_width; +input [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0] cfg_dram_data_width; +input [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] cfg_enable_ecc; + +input [CFG_ECC_DATA_WIDTH - 1 : 0] input_data; +input [CFG_ADDR_WIDTH - 1 : 0] input_addr; +input input_data_valid; + +output [CFG_ECC_DATA_WIDTH - 1 : 0] output_data; +output output_data_valid; +output [CFG_ECC_CODE_WIDTH - 1 : 0] output_ecc_code; + +output err_corrected; +output err_detected; +output err_fatal; +output err_sbe; +output err_addr_detected; +output [CFG_ADDR_WIDTH - 1 : 0] err_addr; + + wire [CFG_ECC_DATA_WIDTH - 1 : 0] int_decoder_input; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] int_decoder_input_data; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] int_decoder_input_ecc_code; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] or_int_decoder_input_ecc_code; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] output_data; + reg output_data_valid; + reg [CFG_ECC_CODE_WIDTH - 1 : 0] output_ecc_code; + + reg err_corrected; + reg err_detected; + reg err_fatal; + reg err_sbe; + reg err_addr_detected; + reg [CFG_ADDR_WIDTH - 1 : 0] err_addr; + + wire int_err_corrected; + wire int_err_detected; + wire int_err_fatal; + wire int_err_sbe; + wire int_err_addr_detected; + wire [CFG_ADDR_WIDTH - 1 : 0] int_err_addr; + reg [CFG_ECC_CODE_WIDTH - 1 : 0] int_output_ecc_code; + + wire [CFG_ECC_DATA_WIDTH - 1 : 0] decoder_input; + wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] decoder_output; + reg decoder_output_valid; + + wire [CFG_ADDR_WIDTH - 1 : 0] output_addr; + + genvar i; + + generate + for (i = 0;i < CFG_ECC_DATA_WIDTH;i = i + 1) + begin : decoder_input_per_data_width + always @ (*) + begin + if (i < cfg_local_data_width) + int_decoder_input_data [i] = input_data [i]; + else + int_decoder_input_data [i] = 1'b0; + end + + always @ (*) + begin + if (i >= cfg_local_data_width && i < cfg_dram_data_width) + int_decoder_input_ecc_code [i] = input_data [i]; + else + int_decoder_input_ecc_code [i] = 1'b0; + end + end + endgenerate + + always @ (*) + begin + or_int_decoder_input_ecc_code [CFG_ECC_CODE_WIDTH - 1 : 0] = int_decoder_input_ecc_code [CFG_ECC_CODE_WIDTH - 1 : 0]; + end + + generate + for (i = 1;i < 9;i = i + 1) + begin : ecc_code_per_code_width + always @ (*) + begin + or_int_decoder_input_ecc_code [(i + 1) * CFG_ECC_CODE_WIDTH - 1 : i * CFG_ECC_CODE_WIDTH ] = + int_decoder_input_ecc_code [(i + 1) * CFG_ECC_CODE_WIDTH - 1 : i * CFG_ECC_CODE_WIDTH ] | + or_int_decoder_input_ecc_code [i * CFG_ECC_CODE_WIDTH - 1 : (i - 1) * CFG_ECC_CODE_WIDTH]; + end + end + endgenerate + + generate + if (CFG_ECC_DATA_WIDTH > 72) + begin + assign int_decoder_input = {{(CFG_ECC_DATA_WIDTH - 72){1'b0}}, or_int_decoder_input_ecc_code [71 : 64], int_decoder_input_data [63 : 0]}; + end + else + begin + assign int_decoder_input = {or_int_decoder_input_ecc_code [71 : 64], int_decoder_input_data [63 : 0]}; + end + endgenerate + + assign decoder_input = int_decoder_input; + + always @ (*) + begin + decoder_output_valid = input_data_valid; + end + + always @ (*) + begin + if (cfg_enable_ecc) + int_output_ecc_code = or_int_decoder_input_ecc_code [71 : 64]; + else + int_output_ecc_code = {CFG_ECC_CODE_WIDTH{1'b0}}; + end + + always @ (*) + begin + if (cfg_enable_ecc) + begin + output_data = {{CFG_ECC_CODE_WIDTH{1'b0}}, decoder_output}; + end + else + begin + output_data = int_decoder_input_data; + end + + if (cfg_enable_ecc) + begin + err_corrected = int_err_corrected; + err_detected = int_err_detected; + err_fatal = int_err_fatal; + err_sbe = int_err_sbe; + err_addr_detected = int_err_addr_detected; + err_addr = int_err_addr; + end + else + begin + err_corrected = 1'b0; + err_detected = 1'b0; + err_fatal = 1'b0; + err_sbe = 1'b0; + err_addr_detected = 1'b0; + err_addr = {CFG_ADDR_WIDTH{1'b0}}; + end + + output_data_valid = input_data_valid; + output_ecc_code = int_output_ecc_code; + end + + + + generate + if (CFG_LOCAL_DATA_WIDTH > 64) + begin + assign decoder_output [CFG_LOCAL_DATA_WIDTH - 1 : 64] = {(CFG_LOCAL_DATA_WIDTH - 64){1'b0}}; + end + endgenerate + + generate + if (CFG_ADDR_ENCODE_ENABLED == 1) + begin + fmiohmc_ecc_decoder_112 # + ( + .DI (72 + CFG_ADDR_WIDTH ), + .ADDR (CFG_ADDR_WIDTH ), + .DOUT (64 + CFG_ADDR_WIDTH ) + ) + decoder_inst + ( + .data ({decoder_input [72 - 1 : 64], input_addr, decoder_input [64 - 1 : 0]} ), + .err_corrected (int_err_corrected ), + .err_detected (int_err_detected ), + .err_fatal (int_err_fatal ), + .err_sbe (int_err_sbe ), + .err_addr_detected (int_err_addr_detected ), + .err_addr (int_err_addr ), + .q ({output_addr, decoder_output [64 - 1 : 0]} ) + ); + end + else + begin + fmiohmc_ecc_decoder_64 decoder_inst + ( + .data (decoder_input [72 - 1 : 0]), + .err_corrected (int_err_corrected ), + .err_detected (int_err_detected ), + .err_fatal (int_err_fatal ), + .err_sbe (int_err_sbe ), + .q (decoder_output [64 - 1 : 0]) + ); + + assign int_err_addr_detected = 1'b0; + assign int_err_addr = {CFG_ADDR_WIDTH{1'b0}}; + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EAWtIy3hGdLIc4uDo0lbyErkHSivqnASZaK3YwnZhsdx/KE00F8cAu051oZQG7NMqhpwPzgNxes2fNKDntOeA9SlW72axvrVepM/JwIBJUQCllWyr8Km2I6CYsHsHpph7ejHp9P8lI07/hPVVvWEaVzKLfH3LtvQ+N4KvZrweUF5mJKAIf8/L+J75HpEu1e8XguudS29QxKF8sf6p5GcYUxAUqPbYIZ/vMfevXL+WdoINbiimXq+PaDx/2RU+Q4MX/Hiq7IQR67eFuGTk23bXDmJ349NJBlFT+CxvO0dMWB0F9XM1BXBOS/3bD70Sn2t20wdseBO2f1rlj3xXlkbE5g3J487Ef/Eax4ec7/EncMmjszmIimQzXt2qo8MgXLHGnbQj47MCXtg/Ntkd44HyLXGUJY526uNqtGA04Sacwok5KpM6/XRYMUl2kRhwTDOxtmuV3lyfBC/o0Gp59C1s6s+gl0sLko+8xG0iAmZmMkQD2U92LJu/X9K7tpMJRCavnpts3VOaMZQFjRsdG0gn+8Lh6x7JBUfTU30AlgA8nSaQrU2J9Vsw7qFZIgM3nGq7v3JNVms3yGZVpQNijL/fBlnqEivtoHWjpcgT63Cw8QdnAoWtQuK9HN8qvMXdFJ46D7tpHHFcKFq3dPcy2OhPvVmGCAnr++6QRf+UlDFBQB/4BW9EQPmZ6kTLqnXis1bQySaRTrQuuGTG+Gaj63QXR2EtQ5W464m3vfbbicM8n9v33qAtalGU34JIc8+wZ471DCeQiQTlFM1BBv3Gil9m0m" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_112.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_112.v new file mode 100644 index 0000000000..9657dd7979 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_112.v @@ -0,0 +1,93 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_decoder_112 # +( parameter + DI = 106, + ADDR = 34, + DOUT = 98 +) +( + data, + err_corrected, + err_detected, + err_fatal, + err_sbe, + err_addr_detected, + err_addr, + q +); + +localparam PARITY = 8; +localparam CODE = 8; + +input [DI - 1 : 0] data; +output err_corrected; +output err_detected; +output err_fatal; +output err_sbe; +output err_addr_detected; +output [ADDR - 1 : 0] err_addr; +output [DOUT - 1 : 0] q; + +wire err_dbe; + + +wire [111 : 0] data_e; +wire [111 : 0] data_i; + +generate +if(DOUT==112) + assign data_e = data[DOUT-1:0]; +else + assign data_e = {{(112 - DOUT){1'b0}},data[DOUT-1:0]}; +endgenerate + +assign data_i = {data_e[111:PARITY],~data_e[PARITY-1],data_e[PARITY-2:1],~data_e[0]}; + +wire [PARITY - 1 : 0] parity_i; +assign parity_i = data[DI-1:DOUT]; + +wire [PARITY - 1 : 0] sb; + +fmiohmc_ecc_pcm_112 ecc_pcm ( + .di(data_i), + .sb(parity_i), + .dout(sb) +); + + + +wire [111:0] sv; + +fmiohmc_ecc_sv_112 svec (.di(sb), .dout(sv)); + +assign q = data[DOUT-1:0] ^ sv[DOUT-1:0]; + +assign err_sbe = |sb && ^sb; +assign err_dbe = |sb && ~^sb; + +assign err_detected = err_sbe || err_dbe; +assign err_corrected = err_sbe; +assign err_fatal = err_dbe; +assign err_addr_detected = err_sbe && |sv[DOUT-1:DOUT-ADDR]; +assign err_addr = data[DOUT-1:DOUT-ADDR] ^ sv[DOUT-1:DOUT-ADDR]; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EASexZBB37JqpNvLi4Wkp3MH+KkbcPA6dqOmY6A030D8x94gM/DpI2Q/D+lnCQc1HrwxZTGBhq1FkNH792u4KtulOdyoE69LiqHBnt3c9Zc77Y3gFKt6wovI7XsxQiA0WDqXE+ro+a9ScqcgB2jNkOhmcOVcGSsf4nJJSNG1exD+Qxu7013yzDNPGBQWc0BC5sfbQapEhFDOMgiD78RZo+qCra8hm8F2o8uXQgWq01YjCiKCkJWJzHObZ+7lve/AniYNScx//OlHmBto/YdV1Ea+2EDgfOv6O+oZA+fVE1XOh4JoQ//Ew+HUqWxYjz/cd0MBHO75+wdlQU8SD/VrQ8LrKqVAM1cMwk1lEKxWHS8EERT0mDxHEuSGEqQ9Bq+vLd7Ewaj5SQqynifCKf7WE2aY+RKlPmTgIJf5WZXkqNUUxcta+KjO6cXN4TbDjb+Pyb6NuEFH7i7uPPXFT8fwH1Z0y4FBgNNUchynY2xmflPBrHF3NOZiBv8QmGTgar/d5HB1h4Ll1RzKwlN1Bg+IX5uBeSwt8DAWLN5THW4x4be6rhvLzduJt1d2kNs5zx114H1LQQnOYfmssnGRUsThxyWL5XyRzH2vofon6GKL6VHKJNQVW6ieOnmeC5L8poCGne2Zy5XZC5PQONsAX84yCtyNACFRaUMe073Gn5bRxszwjj8QknP8CnwDTLxTRZtITHe0aVBavOSqRaSjGCuyP2JjPN+VFHEJiQWQ3eMNfsOzaYHXqkLOJ4UwcVihvVP9ISApQwJ1ilqy3B8JmnJeJ/I" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64.v new file mode 100644 index 0000000000..008b2d3660 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64.v @@ -0,0 +1,64 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + + + + +// synthesis VERILOG_INPUT_VERSION VERILOG_2001 +//altera message_off 10463 + + + + +`timescale 1 ps / 1 ps +module fmiohmc_ecc_decoder_64 ( + data, + err_corrected, + err_detected, + err_fatal, + err_sbe, + q)/* synthesis synthesis_clearbox = 1 */; + + input [71:0] data; + output err_corrected; + output err_detected; + output err_fatal; + output err_sbe; + output [63:0] q; + + wire sub_wire0; + wire sub_wire1; + wire sub_wire2; + wire sub_wire4; + wire [63:0] sub_wire3; + wire err_detected = sub_wire0; + wire err_fatal = sub_wire1; + wire err_corrected = sub_wire2; + wire err_sbe = sub_wire4; + wire [63:0] q = sub_wire3[63:0]; + + fmiohmc_ecc_decoder_64_altecc_decoder iohmc_ecc_decoder_64_altecc_decoder_component ( + .data (data), + .err_detected (sub_wire0), + .err_fatal (sub_wire1), + .err_corrected (sub_wire2), + .err_sbe (sub_wire4), + .q (sub_wire3)); + +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EAUMKAt1mmYg3PY9ycWv2MGbuI4C+9okTgCG7iF5iEXDiJSguaAP/gcb2Pn1mwe+0dRPsDFFp5utgX18MMQ/MhLKFhVG1uUiWUJYyospLN0F5+8aM2y0XGia78C+Hzt1rH92rxquyAZUp09mUShEekbhtIPExUQkxWwq67M8hO4WgSF4Kqbkboc6+LjpubOrEAll2t4l8BVcI24HR5+4m+Hafb8Cx7khiX7xY0ExsA4SmkKOxs2xXuPWovA5xWyMeO9zfh+M1ie6LlVB6Qoo31qWBTMLds7dKOBxbAmcYF1Po//kQMDX8wB+me6FDLjvH3r25lTzQxLPdbaQ1s648p/KQIChW2+dYamQZGWPFHkb+tDLBPjeS2+VAnPkExAPcCU8aQPtVVuQgspZrRCOyiYlvpZJ+VDxD+MFDp98l014L1OuGfx7SpPT3lzaIfvwBVDKgASysKVwZwNswzV908eW5S2BXdTjc34oARt6YQdJss1HbUVBv9+D3OafIE7dwJhyBk8NV594PUZzhPg0u61rCuOU3CUR3UVwHTOSgKhsIgIz+RXTV3CGrAtcESmITRA9V7KSat/KmFFrG7/CjOywg392ljew6Fx3xRQvdqm9T7aXW39h1PyaQfgG2fAekfBq7g/35i4fz904VyQk9Qq7EfRhbzlx4nu9js1OL281F2yBmQ2pjDJNrsjpMancNwOw2Cy8npM0LtwPROWzwG8xMq2Wjc2nWMSsVrR/zSUwEzovUfmRDd1QTFNH0h3itCyA634CJuT9suCqz/TAmB9" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_altecc_decoder.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_altecc_decoder.v new file mode 100644 index 0000000000..f2204cbdd8 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_altecc_decoder.v @@ -0,0 +1,222 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// synthesis_resources = lut 144 mux21 64 +`timescale 1 ps / 1 ps +module fmiohmc_ecc_decoder_64_altecc_decoder + ( + data, + err_corrected, + err_detected, + err_fatal, + err_sbe, + q) /* synthesis synthesis_clearbox=1 */; + input [71:0] data; + output err_corrected; + output err_detected; + output err_fatal; + output err_sbe; + output [63:0] q; + + wire [127:0] wire_error_bit_decoder_eq; + wire wire_mux21_0_dataout; + wire wire_mux21_1_dataout; + wire wire_mux21_10_dataout; + wire wire_mux21_11_dataout; + wire wire_mux21_12_dataout; + wire wire_mux21_13_dataout; + wire wire_mux21_14_dataout; + wire wire_mux21_15_dataout; + wire wire_mux21_16_dataout; + wire wire_mux21_17_dataout; + wire wire_mux21_18_dataout; + wire wire_mux21_19_dataout; + wire wire_mux21_2_dataout; + wire wire_mux21_20_dataout; + wire wire_mux21_21_dataout; + wire wire_mux21_22_dataout; + wire wire_mux21_23_dataout; + wire wire_mux21_24_dataout; + wire wire_mux21_25_dataout; + wire wire_mux21_26_dataout; + wire wire_mux21_27_dataout; + wire wire_mux21_28_dataout; + wire wire_mux21_29_dataout; + wire wire_mux21_3_dataout; + wire wire_mux21_30_dataout; + wire wire_mux21_31_dataout; + wire wire_mux21_32_dataout; + wire wire_mux21_33_dataout; + wire wire_mux21_34_dataout; + wire wire_mux21_35_dataout; + wire wire_mux21_36_dataout; + wire wire_mux21_37_dataout; + wire wire_mux21_38_dataout; + wire wire_mux21_39_dataout; + wire wire_mux21_4_dataout; + wire wire_mux21_40_dataout; + wire wire_mux21_41_dataout; + wire wire_mux21_42_dataout; + wire wire_mux21_43_dataout; + wire wire_mux21_44_dataout; + wire wire_mux21_45_dataout; + wire wire_mux21_46_dataout; + wire wire_mux21_47_dataout; + wire wire_mux21_48_dataout; + wire wire_mux21_49_dataout; + wire wire_mux21_5_dataout; + wire wire_mux21_50_dataout; + wire wire_mux21_51_dataout; + wire wire_mux21_52_dataout; + wire wire_mux21_53_dataout; + wire wire_mux21_54_dataout; + wire wire_mux21_55_dataout; + wire wire_mux21_56_dataout; + wire wire_mux21_57_dataout; + wire wire_mux21_58_dataout; + wire wire_mux21_59_dataout; + wire wire_mux21_6_dataout; + wire wire_mux21_60_dataout; + wire wire_mux21_61_dataout; + wire wire_mux21_62_dataout; + wire wire_mux21_63_dataout; + wire wire_mux21_7_dataout; + wire wire_mux21_8_dataout; + wire wire_mux21_9_dataout; + wire data_bit; + wire [63:0] data_t; + wire [71:0] data_wire; + wire [127:0] decode_output; + wire err_corrected_wire; + wire err_detected_wire; + wire err_fatal_wire; + wire [35:0] parity_01_wire; + wire [17:0] parity_02_wire; + wire [8:0] parity_03_wire; + wire [3:0] parity_04_wire; + wire [1:0] parity_05_wire; + wire [30:0] parity_06_wire; + wire [6:0] parity_07_wire; + wire parity_bit; + wire [70:0] parity_final_wire; + wire [6:0] parity_t; + wire [63:0] q_wire; + wire syn_bit; + wire syn_e; + wire [5:0] syn_t; + wire [7:0] syndrome; + + fmiohmc_ecc_decoder_64_decode error_bit_decoder + ( + .data(syndrome[6:0]), + .eq(wire_error_bit_decoder_eq)); + assign wire_mux21_0_dataout = (syndrome[7] == 1'b1) ? (decode_output[3] ^ data_wire[0]) : data_wire[0]; + assign wire_mux21_1_dataout = (syndrome[7] == 1'b1) ? (decode_output[5] ^ data_wire[1]) : data_wire[1]; + assign wire_mux21_10_dataout = (syndrome[7] == 1'b1) ? (decode_output[15] ^ data_wire[10]) : data_wire[10]; + assign wire_mux21_11_dataout = (syndrome[7] == 1'b1) ? (decode_output[17] ^ data_wire[11]) : data_wire[11]; + assign wire_mux21_12_dataout = (syndrome[7] == 1'b1) ? (decode_output[18] ^ data_wire[12]) : data_wire[12]; + assign wire_mux21_13_dataout = (syndrome[7] == 1'b1) ? (decode_output[19] ^ data_wire[13]) : data_wire[13]; + assign wire_mux21_14_dataout = (syndrome[7] == 1'b1) ? (decode_output[20] ^ data_wire[14]) : data_wire[14]; + assign wire_mux21_15_dataout = (syndrome[7] == 1'b1) ? (decode_output[21] ^ data_wire[15]) : data_wire[15]; + assign wire_mux21_16_dataout = (syndrome[7] == 1'b1) ? (decode_output[22] ^ data_wire[16]) : data_wire[16]; + assign wire_mux21_17_dataout = (syndrome[7] == 1'b1) ? (decode_output[23] ^ data_wire[17]) : data_wire[17]; + assign wire_mux21_18_dataout = (syndrome[7] == 1'b1) ? (decode_output[24] ^ data_wire[18]) : data_wire[18]; + assign wire_mux21_19_dataout = (syndrome[7] == 1'b1) ? (decode_output[25] ^ data_wire[19]) : data_wire[19]; + assign wire_mux21_2_dataout = (syndrome[7] == 1'b1) ? (decode_output[6] ^ data_wire[2]) : data_wire[2]; + assign wire_mux21_20_dataout = (syndrome[7] == 1'b1) ? (decode_output[26] ^ data_wire[20]) : data_wire[20]; + assign wire_mux21_21_dataout = (syndrome[7] == 1'b1) ? (decode_output[27] ^ data_wire[21]) : data_wire[21]; + assign wire_mux21_22_dataout = (syndrome[7] == 1'b1) ? (decode_output[28] ^ data_wire[22]) : data_wire[22]; + assign wire_mux21_23_dataout = (syndrome[7] == 1'b1) ? (decode_output[29] ^ data_wire[23]) : data_wire[23]; + assign wire_mux21_24_dataout = (syndrome[7] == 1'b1) ? (decode_output[30] ^ data_wire[24]) : data_wire[24]; + assign wire_mux21_25_dataout = (syndrome[7] == 1'b1) ? (decode_output[31] ^ data_wire[25]) : data_wire[25]; + assign wire_mux21_26_dataout = (syndrome[7] == 1'b1) ? (decode_output[33] ^ data_wire[26]) : data_wire[26]; + assign wire_mux21_27_dataout = (syndrome[7] == 1'b1) ? (decode_output[34] ^ data_wire[27]) : data_wire[27]; + assign wire_mux21_28_dataout = (syndrome[7] == 1'b1) ? (decode_output[35] ^ data_wire[28]) : data_wire[28]; + assign wire_mux21_29_dataout = (syndrome[7] == 1'b1) ? (decode_output[36] ^ data_wire[29]) : data_wire[29]; + assign wire_mux21_3_dataout = (syndrome[7] == 1'b1) ? (decode_output[7] ^ data_wire[3]) : data_wire[3]; + assign wire_mux21_30_dataout = (syndrome[7] == 1'b1) ? (decode_output[37] ^ data_wire[30]) : data_wire[30]; + assign wire_mux21_31_dataout = (syndrome[7] == 1'b1) ? (decode_output[38] ^ data_wire[31]) : data_wire[31]; + assign wire_mux21_32_dataout = (syndrome[7] == 1'b1) ? (decode_output[39] ^ data_wire[32]) : data_wire[32]; + assign wire_mux21_33_dataout = (syndrome[7] == 1'b1) ? (decode_output[40] ^ data_wire[33]) : data_wire[33]; + assign wire_mux21_34_dataout = (syndrome[7] == 1'b1) ? (decode_output[41] ^ data_wire[34]) : data_wire[34]; + assign wire_mux21_35_dataout = (syndrome[7] == 1'b1) ? (decode_output[42] ^ data_wire[35]) : data_wire[35]; + assign wire_mux21_36_dataout = (syndrome[7] == 1'b1) ? (decode_output[43] ^ data_wire[36]) : data_wire[36]; + assign wire_mux21_37_dataout = (syndrome[7] == 1'b1) ? (decode_output[44] ^ data_wire[37]) : data_wire[37]; + assign wire_mux21_38_dataout = (syndrome[7] == 1'b1) ? (decode_output[45] ^ data_wire[38]) : data_wire[38]; + assign wire_mux21_39_dataout = (syndrome[7] == 1'b1) ? (decode_output[46] ^ data_wire[39]) : data_wire[39]; + assign wire_mux21_4_dataout = (syndrome[7] == 1'b1) ? (decode_output[9] ^ data_wire[4]) : data_wire[4]; + assign wire_mux21_40_dataout = (syndrome[7] == 1'b1) ? (decode_output[47] ^ data_wire[40]) : data_wire[40]; + assign wire_mux21_41_dataout = (syndrome[7] == 1'b1) ? (decode_output[48] ^ data_wire[41]) : data_wire[41]; + assign wire_mux21_42_dataout = (syndrome[7] == 1'b1) ? (decode_output[49] ^ data_wire[42]) : data_wire[42]; + assign wire_mux21_43_dataout = (syndrome[7] == 1'b1) ? (decode_output[50] ^ data_wire[43]) : data_wire[43]; + assign wire_mux21_44_dataout = (syndrome[7] == 1'b1) ? (decode_output[51] ^ data_wire[44]) : data_wire[44]; + assign wire_mux21_45_dataout = (syndrome[7] == 1'b1) ? (decode_output[52] ^ data_wire[45]) : data_wire[45]; + assign wire_mux21_46_dataout = (syndrome[7] == 1'b1) ? (decode_output[53] ^ data_wire[46]) : data_wire[46]; + assign wire_mux21_47_dataout = (syndrome[7] == 1'b1) ? (decode_output[54] ^ data_wire[47]) : data_wire[47]; + assign wire_mux21_48_dataout = (syndrome[7] == 1'b1) ? (decode_output[55] ^ data_wire[48]) : data_wire[48]; + assign wire_mux21_49_dataout = (syndrome[7] == 1'b1) ? (decode_output[56] ^ data_wire[49]) : data_wire[49]; + assign wire_mux21_5_dataout = (syndrome[7] == 1'b1) ? (decode_output[10] ^ data_wire[5]) : data_wire[5]; + assign wire_mux21_50_dataout = (syndrome[7] == 1'b1) ? (decode_output[57] ^ data_wire[50]) : data_wire[50]; + assign wire_mux21_51_dataout = (syndrome[7] == 1'b1) ? (decode_output[58] ^ data_wire[51]) : data_wire[51]; + assign wire_mux21_52_dataout = (syndrome[7] == 1'b1) ? (decode_output[59] ^ data_wire[52]) : data_wire[52]; + assign wire_mux21_53_dataout = (syndrome[7] == 1'b1) ? (decode_output[60] ^ data_wire[53]) : data_wire[53]; + assign wire_mux21_54_dataout = (syndrome[7] == 1'b1) ? (decode_output[61] ^ data_wire[54]) : data_wire[54]; + assign wire_mux21_55_dataout = (syndrome[7] == 1'b1) ? (decode_output[62] ^ data_wire[55]) : data_wire[55]; + assign wire_mux21_56_dataout = (syndrome[7] == 1'b1) ? (decode_output[63] ^ data_wire[56]) : data_wire[56]; + assign wire_mux21_57_dataout = (syndrome[7] == 1'b1) ? (decode_output[65] ^ data_wire[57]) : data_wire[57]; + assign wire_mux21_58_dataout = (syndrome[7] == 1'b1) ? (decode_output[66] ^ data_wire[58]) : data_wire[58]; + assign wire_mux21_59_dataout = (syndrome[7] == 1'b1) ? (decode_output[67] ^ data_wire[59]) : data_wire[59]; + assign wire_mux21_6_dataout = (syndrome[7] == 1'b1) ? (decode_output[11] ^ data_wire[6]) : data_wire[6]; + assign wire_mux21_60_dataout = (syndrome[7] == 1'b1) ? (decode_output[68] ^ data_wire[60]) : data_wire[60]; + assign wire_mux21_61_dataout = (syndrome[7] == 1'b1) ? (decode_output[69] ^ data_wire[61]) : data_wire[61]; + assign wire_mux21_62_dataout = (syndrome[7] == 1'b1) ? (decode_output[70] ^ data_wire[62]) : data_wire[62]; + assign wire_mux21_63_dataout = (syndrome[7] == 1'b1) ? (decode_output[71] ^ data_wire[63]) : data_wire[63]; + assign wire_mux21_7_dataout = (syndrome[7] == 1'b1) ? (decode_output[12] ^ data_wire[7]) : data_wire[7]; + assign wire_mux21_8_dataout = (syndrome[7] == 1'b1) ? (decode_output[13] ^ data_wire[8]) : data_wire[8]; + assign wire_mux21_9_dataout = (syndrome[7] == 1'b1) ? (decode_output[14] ^ data_wire[9]) : data_wire[9]; + assign + data_bit = data_t[63], + data_t = {(data_t[62] | decode_output[71]), (data_t[61] | decode_output[70]), (data_t[60] | decode_output[69]), (data_t[59] | decode_output[68]), (data_t[58] | decode_output[67]), (data_t[57] | decode_output[66]), (data_t[56] | decode_output[65]), (data_t[55] | decode_output[63]), (data_t[54] | decode_output[62]), (data_t[53] | decode_output[61]), (data_t[52] | decode_output[60]), (data_t[51] | decode_output[59]), (data_t[50] | decode_output[58]), (data_t[49] | decode_output[57]), (data_t[48] | decode_output[56]), (data_t[47] | decode_output[55]), (data_t[46] | decode_output[54]), (data_t[45] | decode_output[53]), (data_t[44] | decode_output[52]), (data_t[43] | decode_output[51]), (data_t[42] | decode_output[50]), (data_t[41] | decode_output[49]), (data_t[40] | decode_output[48]), (data_t[39] | decode_output[47]), (data_t[38] | decode_output[46]), (data_t[37] | decode_output[45]), (data_t[36] | decode_output[44]), (data_t[35] | decode_output[43]), (data_t[34] | decode_output[42]), (data_t[33] | decode_output[41]), (data_t[32] | decode_output[40]), (data_t[31] | decode_output[39]), (data_t[30] | decode_output[38]), (data_t[29] | decode_output[37]), (data_t[28] | decode_output[36]), (data_t[27] | decode_output[35]), (data_t[26] | decode_output[34]), (data_t[25] | decode_output[33]), (data_t[24] | decode_output[31]), (data_t[23] | decode_output[30]), (data_t[22] | decode_output[29]), (data_t[21] | decode_output[28]), (data_t[20] | decode_output[27]), (data_t[19] | decode_output[26]), (data_t[18] | decode_output[25]), (data_t[17] | decode_output[24]), (data_t[16] | decode_output[23]), (data_t[15] | decode_output[22]), (data_t[14] | decode_output[21]), (data_t[13] | decode_output[20]), (data_t[12] | decode_output[19]), (data_t[11] | decode_output[18]), (data_t[10] | decode_output[17]), (data_t[9] | decode_output[15]), (data_t[8] | decode_output[14]), (data_t[7] | decode_output[13]), (data_t[6] | decode_output[12]), (data_t[5] | decode_output[11]), (data_t[4] | decode_output[10]), (data_t[3] | decode_output[9]), (data_t[2] + | decode_output[7]), (data_t[1] | decode_output[6]), (data_t[0] | decode_output[5]), decode_output[3]}, + data_wire = data, + decode_output = wire_error_bit_decoder_eq, + err_corrected = err_corrected_wire, + err_corrected_wire = ((syn_bit & syn_e) & data_bit), + err_detected = err_detected_wire, + err_detected_wire = (syn_bit & (~ (syn_e & parity_bit))), + err_fatal = err_fatal_wire, + err_fatal_wire = (err_detected_wire & (~ err_corrected_wire)), + err_sbe = syn_e, + parity_01_wire = {(data_wire[63] ^ parity_01_wire[34]), (data_wire[61] ^ parity_01_wire[33]), (data_wire[59] ^ parity_01_wire[32]), (data_wire[57] ^ parity_01_wire[31]), (data_wire[56] ^ parity_01_wire[30]), (data_wire[54] ^ parity_01_wire[29]), (data_wire[52] ^ parity_01_wire[28]), (data_wire[50] ^ parity_01_wire[27]), (data_wire[48] ^ parity_01_wire[26]), (data_wire[46] ^ parity_01_wire[25]), (data_wire[44] ^ parity_01_wire[24]), (data_wire[42] ^ parity_01_wire[23]), (data_wire[40] ^ parity_01_wire[22]), (data_wire[38] ^ parity_01_wire[21]), (data_wire[36] ^ parity_01_wire[20]), (data_wire[34] ^ parity_01_wire[19]), (data_wire[32] ^ parity_01_wire[18]), (data_wire[30] ^ parity_01_wire[17]), (data_wire[28] ^ parity_01_wire[16]), (data_wire[26] ^ parity_01_wire[15]), (data_wire[25] ^ parity_01_wire[14]), (data_wire[23] ^ parity_01_wire[13]), (data_wire[21] ^ parity_01_wire[12]), (data_wire[19] ^ parity_01_wire[11]), (data_wire[17] ^ parity_01_wire[10]), (data_wire[15] ^ parity_01_wire[9]), (data_wire[13] ^ parity_01_wire[8]), (data_wire[11] ^ parity_01_wire[7]), (data_wire[10] ^ parity_01_wire[6]), (data_wire[8] ^ parity_01_wire[5]), (data_wire[6] ^ parity_01_wire[4]), (data_wire[4] ^ parity_01_wire[3]), (data_wire[3] ^ parity_01_wire[2]), (data_wire[1] ^ parity_01_wire[1]), (data_wire[0] ^ parity_01_wire[0]), data_wire[64]}, + parity_02_wire = {((data_wire[62] ^ data_wire[63]) ^ parity_02_wire[16]), ((data_wire[58] ^ data_wire[59]) ^ parity_02_wire[15]), ((data_wire[55] ^ data_wire[56]) ^ parity_02_wire[14]), ((data_wire[51] ^ data_wire[52]) ^ parity_02_wire[13]), ((data_wire[47] ^ data_wire[48]) ^ parity_02_wire[12]), ((data_wire[43] ^ data_wire[44]) ^ parity_02_wire[11]), ((data_wire[39] ^ data_wire[40]) ^ parity_02_wire[10]), ((data_wire[35] ^ data_wire[36]) ^ parity_02_wire[9]), ((data_wire[31] ^ data_wire[32]) ^ parity_02_wire[8]), ((data_wire[27] ^ data_wire[28]) ^ parity_02_wire[7]), ((data_wire[24] ^ data_wire[25]) ^ parity_02_wire[6]), ((data_wire[20] ^ data_wire[21]) ^ parity_02_wire[5]), ((data_wire[16] ^ data_wire[17]) ^ parity_02_wire[4]), ((data_wire[12] ^ data_wire[13]) ^ parity_02_wire[3]), ((data_wire[9] ^ data_wire[10]) ^ parity_02_wire[2]), ((data_wire[5] ^ data_wire[6]) ^ parity_02_wire[1]), ((data_wire[2] ^ data_wire[3]) ^ parity_02_wire[0]), (data_wire[65] ^ data_wire[0])}, + parity_03_wire = {((((data_wire[60] ^ data_wire[61]) ^ data_wire[62]) ^ data_wire[63]) ^ parity_03_wire[7]), ((((data_wire[53] ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_03_wire[6]), ((((data_wire[45] ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ parity_03_wire[5]), ((((data_wire[37] ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_03_wire[4]), ((((data_wire[29] ^ data_wire[30]) ^ data_wire[31]) ^ data_wire[32]) ^ parity_03_wire[3]), ((((data_wire[22] ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_03_wire[2]), ((((data_wire[14] ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ parity_03_wire[1]), ((((data_wire[7] ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10]) ^ parity_03_wire[0]), (((data_wire[66] ^ data_wire[1]) ^ data_wire[2]) ^ data_wire[3])}, + parity_04_wire = {((((((((data_wire[49] ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_04_wire[2]), ((((((((data_wire[33] ^ data_wire[34]) ^ data_wire[35]) ^ data_wire[36]) ^ data_wire[37]) ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_04_wire[1]), ((((((((data_wire[18] ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_04_wire[0]), (((((((data_wire[67] ^ data_wire[4]) ^ data_wire[5]) ^ data_wire[6]) ^ data_wire[7]) ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10])}, + parity_05_wire = {((((((((((((((((data_wire[41] ^ data_wire[42]) ^ data_wire[43]) ^ data_wire[44]) ^ data_wire[45]) ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ data_wire[49]) ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_05_wire[0]), (((((((((((((((data_wire[68] ^ data_wire[11]) ^ data_wire[12]) ^ data_wire[13]) ^ data_wire[14]) ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ data_wire[18]) ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25])}, + parity_06_wire = {(data_wire[56] ^ parity_06_wire[29]), (data_wire[55] ^ parity_06_wire[28]), (data_wire[54] ^ parity_06_wire[27]), (data_wire[53] ^ parity_06_wire[26]), (data_wire[52] ^ parity_06_wire[25]), (data_wire[51] ^ parity_06_wire[24]), (data_wire[50] ^ parity_06_wire[23]), (data_wire[49] ^ parity_06_wire[22]), (data_wire[48] ^ parity_06_wire[21]), (data_wire[47] ^ parity_06_wire[20]), (data_wire[46] ^ parity_06_wire[19]), (data_wire[45] ^ parity_06_wire[18]), (data_wire[44] ^ parity_06_wire[17]), (data_wire[43] ^ parity_06_wire[16]), (data_wire[42] ^ parity_06_wire[15]), (data_wire[41] ^ parity_06_wire[14]), (data_wire[40] ^ parity_06_wire[13]), (data_wire[39] ^ parity_06_wire[12]), (data_wire[38] ^ parity_06_wire[11]), (data_wire[37] ^ parity_06_wire[10]), (data_wire[36] ^ parity_06_wire[9]), (data_wire[35] ^ parity_06_wire[8]), (data_wire[34] ^ parity_06_wire[7]), (data_wire[33] ^ parity_06_wire[6]), (data_wire[32] ^ parity_06_wire[5]), (data_wire[31] ^ parity_06_wire[4]), (data_wire[30] ^ parity_06_wire[3]), (data_wire[29] ^ parity_06_wire[2]), (data_wire[28] ^ parity_06_wire[1]), (data_wire[27] ^ parity_06_wire[0]), (data_wire[69] ^ data_wire[26])}, + parity_07_wire = {(data_wire[63] ^ parity_07_wire[5]), (data_wire[62] ^ parity_07_wire[4]), (data_wire[61] ^ parity_07_wire[3]), (data_wire[60] ^ parity_07_wire[2]), (data_wire[59] ^ parity_07_wire[1]), (data_wire[58] ^ parity_07_wire[0]), (data_wire[70] ^ data_wire[57])}, + parity_bit = parity_t[6], + parity_final_wire = {(data_wire[70] ^ parity_final_wire[69]), (data_wire[69] ^ parity_final_wire[68]), (data_wire[68] ^ parity_final_wire[67]), (data_wire[67] ^ parity_final_wire[66]), (data_wire[66] ^ parity_final_wire[65]), (data_wire[65] ^ parity_final_wire[64]), (data_wire[64] ^ parity_final_wire[63]), (data_wire[63] ^ parity_final_wire[62]), (data_wire[62] ^ parity_final_wire[61]), (data_wire[61] ^ parity_final_wire[60]), (data_wire[60] ^ parity_final_wire[59]), (data_wire[59] ^ parity_final_wire[58]), (data_wire[58] ^ parity_final_wire[57]), (data_wire[57] ^ parity_final_wire[56]), (data_wire[56] ^ parity_final_wire[55]), (data_wire[55] ^ parity_final_wire[54]), (data_wire[54] ^ parity_final_wire[53]), (data_wire[53] ^ parity_final_wire[52]), (data_wire[52] ^ parity_final_wire[51]), (data_wire[51] ^ parity_final_wire[50]), (data_wire[50] ^ parity_final_wire[49]), (data_wire[49] ^ parity_final_wire[48]), (data_wire[48] ^ parity_final_wire[47]), (data_wire[47] ^ parity_final_wire[46]), (data_wire[46] ^ parity_final_wire[45]), (data_wire[45] ^ parity_final_wire[44]), (data_wire[44] ^ parity_final_wire[43]), (data_wire[43] ^ parity_final_wire[42]), (data_wire[42] ^ parity_final_wire[41]), (data_wire[41] ^ parity_final_wire[40]), (data_wire[40] ^ parity_final_wire[39]), (data_wire[39] ^ parity_final_wire[38]), (data_wire[38] ^ parity_final_wire[37]), (data_wire[37] ^ parity_final_wire[36]), (data_wire[36] ^ parity_final_wire[35]), (data_wire[35] ^ parity_final_wire[34]), (data_wire[34] ^ parity_final_wire[33]), (data_wire[33] ^ parity_final_wire[32]), (data_wire[32] ^ parity_final_wire[31]), (data_wire[31] ^ parity_final_wire[30]), (data_wire[30] ^ parity_final_wire[29]), (data_wire[29] ^ parity_final_wire[28]), (data_wire[28] ^ parity_final_wire[27]), (data_wire[27] ^ parity_final_wire[26]), (data_wire[26] ^ parity_final_wire[25]), (data_wire[25] ^ parity_final_wire[24]), (data_wire[24] ^ parity_final_wire[23]), (data_wire[23] ^ parity_final_wire[22]), (data_wire[22] ^ parity_final_wire[21]), (data_wire[21] ^ + parity_final_wire[20]), (data_wire[20] ^ parity_final_wire[19]), (data_wire[19] ^ parity_final_wire[18]), (data_wire[18] ^ parity_final_wire[17]), (data_wire[17] ^ parity_final_wire[16]), (data_wire[16] ^ parity_final_wire[15]), (data_wire[15] ^ parity_final_wire[14]), (data_wire[14] ^ parity_final_wire[13]), (data_wire[13] ^ parity_final_wire[12]), (data_wire[12] ^ parity_final_wire[11]), (data_wire[11] ^ parity_final_wire[10]), (data_wire[10] ^ parity_final_wire[9]), (data_wire[9] ^ parity_final_wire[8]), (data_wire[8] ^ parity_final_wire[7]), (data_wire[7] ^ parity_final_wire[6]), (data_wire[6] ^ parity_final_wire[5]), (data_wire[5] ^ parity_final_wire[4]), (data_wire[4] ^ parity_final_wire[3]), (data_wire[3] ^ parity_final_wire[2]), (data_wire[2] ^ parity_final_wire[1]), (data_wire[1] ^ parity_final_wire[0]), (data_wire[71] ^ data_wire[0])}, + parity_t = {(parity_t[5] | decode_output[64]), (parity_t[4] | decode_output[32]), (parity_t[3] | decode_output[16]), (parity_t[2] | decode_output[8]), (parity_t[1] | decode_output[4]), (parity_t[0] | decode_output[2]), decode_output[1]}, + q = q_wire, + q_wire = {wire_mux21_63_dataout, wire_mux21_62_dataout, wire_mux21_61_dataout, wire_mux21_60_dataout, wire_mux21_59_dataout, wire_mux21_58_dataout, wire_mux21_57_dataout, wire_mux21_56_dataout, wire_mux21_55_dataout, wire_mux21_54_dataout, wire_mux21_53_dataout, wire_mux21_52_dataout, wire_mux21_51_dataout, wire_mux21_50_dataout, wire_mux21_49_dataout, wire_mux21_48_dataout, wire_mux21_47_dataout, wire_mux21_46_dataout, wire_mux21_45_dataout, wire_mux21_44_dataout, wire_mux21_43_dataout, wire_mux21_42_dataout, wire_mux21_41_dataout, wire_mux21_40_dataout, wire_mux21_39_dataout, wire_mux21_38_dataout, wire_mux21_37_dataout, wire_mux21_36_dataout, wire_mux21_35_dataout, wire_mux21_34_dataout, wire_mux21_33_dataout, wire_mux21_32_dataout, wire_mux21_31_dataout, wire_mux21_30_dataout, wire_mux21_29_dataout, wire_mux21_28_dataout, wire_mux21_27_dataout, wire_mux21_26_dataout, wire_mux21_25_dataout, wire_mux21_24_dataout, wire_mux21_23_dataout, wire_mux21_22_dataout, wire_mux21_21_dataout, wire_mux21_20_dataout, wire_mux21_19_dataout, wire_mux21_18_dataout, wire_mux21_17_dataout, wire_mux21_16_dataout, wire_mux21_15_dataout, wire_mux21_14_dataout, wire_mux21_13_dataout, wire_mux21_12_dataout, wire_mux21_11_dataout, wire_mux21_10_dataout, wire_mux21_9_dataout, wire_mux21_8_dataout, wire_mux21_7_dataout, wire_mux21_6_dataout, wire_mux21_5_dataout, wire_mux21_4_dataout, wire_mux21_3_dataout, wire_mux21_2_dataout, wire_mux21_1_dataout, wire_mux21_0_dataout}, + syn_bit = syn_t[5], + syn_e = syndrome[7], + syn_t = {(syn_t[4] | syndrome[6]), (syn_t[3] | syndrome[5]), (syn_t[2] | syndrome[4]), (syn_t[1] | syndrome[3]), (syn_t[0] | syndrome[2]), (syndrome[0] | syndrome[1])}, + syndrome = {parity_final_wire[70], parity_07_wire[6], parity_06_wire[30], parity_05_wire[1], parity_04_wire[3], parity_03_wire[8], parity_02_wire[17], parity_01_wire[35]}; +endmodule + + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EA73QiLCXgG0VHLIgrnIsEzGR4uJPhEW7R12DXbG11l/OuorSiIync0DJKc15XeAvkK4JvD/rDtt0gtd5NU7X8m9pryrQwQigZkDaPU3B0yNR4NXsQ1p1Jv4tIz4/BZPt9nw9+N7cB3CqfhBZK79r/BFe8xl2iFeeu5KH3AYOLb/CiSChpoSFaDkEXMk3WI5kQ1h7Iz7B6uWJQ+3TLblLgkALdK8UH79idI4I337luG09OzWrvwN/DIYy5IaZmXCx0jrQoSeNkDjZZKQn84tIXqWFYKU0D4vRazHQ0wMXgiKgJdYRVcBpFdlz0TZxwabIOHlyXsjnnjy33lAQCbOF8iyqoM3Ig6Wc7diFGor+qnJk1tDsxSi1pjD+YAdyAbntJnEdvgy6CusJmVnggBdSz6DyPdGUF0DJ797X83yVPXg2LKyEeeTFiJ9ZoOYprD/A4gFa8ud8JTRzkZN9IC5wmAx3iq3rkyMd50fDsjHVv9RIAinrlt/+J4FN+ZdiF2twE9apFvLD1oXaxcFP8cTjj7bvwqtvuk/zUCWZU+bvV2Sea3XFBwCuJ7EXW5qNnHBA3OBFI4ybmMiXWPhsVEmqGGj/z99gO1hnCopTN3d3yHXg4uc+ovMpB9lyfLTv3MoPHnbmZGSEu+mP2Hg9GpW68DZLgTyrTCzp8tay//yT43FU9SCFNz1g566gYpfuU69+u4nwfLvygtdELonmjM6JGRsDRUJs9mD7hLjLaDxJ+c/1IFXDqk2sMAZ0WuNKq8lYRI9jm7yNREB3ced/IVstrz" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_decode.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_decode.v new file mode 100644 index 0000000000..ca00d51202 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_decode.v @@ -0,0 +1,337 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// synthesis_resources = lut 144 +`timescale 1 ps / 1 ps +module fmiohmc_ecc_decoder_64_decode + ( + data, + eq) /* synthesis synthesis_clearbox=1 */; + input [6:0] data; + output [127:0] eq; +`ifndef ALTERA_RESERVED_QIS +`endif +`ifndef ALTERA_RESERVED_QIS +`endif + + wire [5:0] data_wire; + wire enable_wire1; + wire enable_wire2; + wire [127:0] eq_node; + wire [63:0] eq_wire1; + wire [63:0] eq_wire2; + wire [3:0] w_anode1006w; + wire [3:0] w_anode1018w; + wire [3:0] w_anode1029w; + wire [3:0] w_anode1040w; + wire [3:0] w_anode1050w; + wire [3:0] w_anode1060w; + wire [3:0] w_anode1070w; + wire [3:0] w_anode1080w; + wire [3:0] w_anode1090w; + wire [3:0] w_anode1100w; + wire [3:0] w_anode1111w; + wire [3:0] w_anode1122w; + wire [3:0] w_anode1133w; + wire [3:0] w_anode1143w; + wire [3:0] w_anode1153w; + wire [3:0] w_anode1163w; + wire [3:0] w_anode1173w; + wire [3:0] w_anode1183w; + wire [3:0] w_anode1193w; + wire [3:0] w_anode1204w; + wire [3:0] w_anode1215w; + wire [3:0] w_anode1226w; + wire [3:0] w_anode1236w; + wire [3:0] w_anode1246w; + wire [3:0] w_anode1256w; + wire [3:0] w_anode1266w; + wire [3:0] w_anode1276w; + wire [3:0] w_anode1286w; + wire [3:0] w_anode1297w; + wire [3:0] w_anode1308w; + wire [3:0] w_anode1319w; + wire [3:0] w_anode1329w; + wire [3:0] w_anode1339w; + wire [3:0] w_anode1349w; + wire [3:0] w_anode1359w; + wire [3:0] w_anode1369w; + wire [3:0] w_anode1379w; + wire [3:0] w_anode1390w; + wire [3:0] w_anode1401w; + wire [3:0] w_anode1412w; + wire [3:0] w_anode1422w; + wire [3:0] w_anode1432w; + wire [3:0] w_anode1442w; + wire [3:0] w_anode1452w; + wire [3:0] w_anode1462w; + wire [3:0] w_anode1472w; + wire [3:0] w_anode1483w; + wire [3:0] w_anode1494w; + wire [3:0] w_anode1505w; + wire [3:0] w_anode1515w; + wire [3:0] w_anode1525w; + wire [3:0] w_anode1535w; + wire [3:0] w_anode1545w; + wire [3:0] w_anode1555w; + wire [3:0] w_anode1565w; + wire [3:0] w_anode1576w; + wire [3:0] w_anode1587w; + wire [3:0] w_anode1598w; + wire [3:0] w_anode1608w; + wire [3:0] w_anode1618w; + wire [3:0] w_anode1628w; + wire [3:0] w_anode1638w; + wire [3:0] w_anode1648w; + wire [3:0] w_anode1658w; + wire [3:0] w_anode1670w; + wire [3:0] w_anode1681w; + wire [3:0] w_anode1698w; + wire [3:0] w_anode1708w; + wire [3:0] w_anode1718w; + wire [3:0] w_anode1728w; + wire [3:0] w_anode1738w; + wire [3:0] w_anode1748w; + wire [3:0] w_anode1758w; + wire [3:0] w_anode1770w; + wire [3:0] w_anode1781w; + wire [3:0] w_anode1792w; + wire [3:0] w_anode1802w; + wire [3:0] w_anode1812w; + wire [3:0] w_anode1822w; + wire [3:0] w_anode1832w; + wire [3:0] w_anode1842w; + wire [3:0] w_anode1852w; + wire [3:0] w_anode1863w; + wire [3:0] w_anode1874w; + wire [3:0] w_anode1885w; + wire [3:0] w_anode1895w; + wire [3:0] w_anode1905w; + wire [3:0] w_anode1915w; + wire [3:0] w_anode1925w; + wire [3:0] w_anode1935w; + wire [3:0] w_anode1945w; + wire [3:0] w_anode1956w; + wire [3:0] w_anode1967w; + wire [3:0] w_anode1978w; + wire [3:0] w_anode1988w; + wire [3:0] w_anode1998w; + wire [3:0] w_anode2008w; + wire [3:0] w_anode2018w; + wire [3:0] w_anode2028w; + wire [3:0] w_anode2038w; + wire [3:0] w_anode2049w; + wire [3:0] w_anode2060w; + wire [3:0] w_anode2071w; + wire [3:0] w_anode2081w; + wire [3:0] w_anode2091w; + wire [3:0] w_anode2101w; + wire [3:0] w_anode2111w; + wire [3:0] w_anode2121w; + wire [3:0] w_anode2131w; + wire [3:0] w_anode2142w; + wire [3:0] w_anode2153w; + wire [3:0] w_anode2164w; + wire [3:0] w_anode2174w; + wire [3:0] w_anode2184w; + wire [3:0] w_anode2194w; + wire [3:0] w_anode2204w; + wire [3:0] w_anode2214w; + wire [3:0] w_anode2224w; + wire [3:0] w_anode2235w; + wire [3:0] w_anode2246w; + wire [3:0] w_anode2257w; + wire [3:0] w_anode2267w; + wire [3:0] w_anode2277w; + wire [3:0] w_anode2287w; + wire [3:0] w_anode2297w; + wire [3:0] w_anode2307w; + wire [3:0] w_anode2317w; + wire [3:0] w_anode2328w; + wire [3:0] w_anode2339w; + wire [3:0] w_anode2350w; + wire [3:0] w_anode2360w; + wire [3:0] w_anode2370w; + wire [3:0] w_anode2380w; + wire [3:0] w_anode2390w; + wire [3:0] w_anode2400w; + wire [3:0] w_anode2410w; + wire [3:0] w_anode912w; + wire [3:0] w_anode929w; + wire [3:0] w_anode946w; + wire [3:0] w_anode956w; + wire [3:0] w_anode966w; + wire [3:0] w_anode976w; + wire [3:0] w_anode986w; + wire [3:0] w_anode996w; + wire [2:0] w_data1669w; + wire [2:0] w_data910w; + + assign + data_wire = data[5:0], + enable_wire1 = (~ data[6]), + enable_wire2 = data[6], + eq = eq_node, + eq_node = {eq_wire2[63:0], eq_wire1}, + eq_wire1 = {{w_anode1658w[3], w_anode1648w[3], w_anode1638w[3], w_anode1628w[3], w_anode1618w[3], w_anode1608w[3], w_anode1598w[3], w_anode1587w[3]}, {w_anode1565w[3], w_anode1555w[3], w_anode1545w[3], w_anode1535w[3], w_anode1525w[3], w_anode1515w[3], w_anode1505w[3], w_anode1494w[3]}, {w_anode1472w[3], w_anode1462w[3], w_anode1452w[3], w_anode1442w[3], w_anode1432w[3], w_anode1422w[3], w_anode1412w[3], w_anode1401w[3]}, {w_anode1379w[3], w_anode1369w[3], w_anode1359w[3], w_anode1349w[3], w_anode1339w[3], w_anode1329w[3], w_anode1319w[3], w_anode1308w[3]}, {w_anode1286w[3], w_anode1276w[3], w_anode1266w[3], w_anode1256w[3], w_anode1246w[3], w_anode1236w[3], w_anode1226w[3], w_anode1215w[3]}, {w_anode1193w[3], w_anode1183w[3], w_anode1173w[3], w_anode1163w[3], w_anode1153w[3], w_anode1143w[3], w_anode1133w[3], w_anode1122w[3]}, {w_anode1100w[3], w_anode1090w[3], w_anode1080w[3], w_anode1070w[3], w_anode1060w[3], w_anode1050w[3], w_anode1040w[3], w_anode1029w[3]}, {w_anode1006w[3], w_anode996w[3], w_anode986w[3], w_anode976w[3], w_anode966w[3], w_anode956w[3], w_anode946w[3], w_anode929w[3]}}, + eq_wire2 = {{w_anode2410w[3], w_anode2400w[3], w_anode2390w[3], w_anode2380w[3], w_anode2370w[3], w_anode2360w[3], w_anode2350w[3], w_anode2339w[3]}, {w_anode2317w[3], w_anode2307w[3], w_anode2297w[3], w_anode2287w[3], w_anode2277w[3], w_anode2267w[3], w_anode2257w[3], w_anode2246w[3]}, {w_anode2224w[3], w_anode2214w[3], w_anode2204w[3], w_anode2194w[3], w_anode2184w[3], w_anode2174w[3], w_anode2164w[3], w_anode2153w[3]}, {w_anode2131w[3], w_anode2121w[3], w_anode2111w[3], w_anode2101w[3], w_anode2091w[3], w_anode2081w[3], w_anode2071w[3], w_anode2060w[3]}, {w_anode2038w[3], w_anode2028w[3], w_anode2018w[3], w_anode2008w[3], w_anode1998w[3], w_anode1988w[3], w_anode1978w[3], w_anode1967w[3]}, {w_anode1945w[3], w_anode1935w[3], w_anode1925w[3], w_anode1915w[3], w_anode1905w[3], w_anode1895w[3], w_anode1885w[3], w_anode1874w[3]}, {w_anode1852w[3], w_anode1842w[3], w_anode1832w[3], w_anode1822w[3], w_anode1812w[3], w_anode1802w[3], w_anode1792w[3], w_anode1781w[3]}, {w_anode1758w[3], w_anode1748w[3], w_anode1738w[3], w_anode1728w[3], w_anode1718w[3], w_anode1708w[3], w_anode1698w[3], w_anode1681w[3]}}, + w_anode1006w = {(w_anode1006w[2] & w_data910w[2]), (w_anode1006w[1] & w_data910w[1]), (w_anode1006w[0] & w_data910w[0]), w_anode912w[3]}, + w_anode1018w = {(w_anode1018w[2] & (~ data_wire[5])), (w_anode1018w[1] & (~ data_wire[4])), (w_anode1018w[0] & data_wire[3]), enable_wire1}, + w_anode1029w = {(w_anode1029w[2] & (~ w_data910w[2])), (w_anode1029w[1] & (~ w_data910w[1])), (w_anode1029w[0] & (~ w_data910w[0])), w_anode1018w[3]}, + w_anode1040w = {(w_anode1040w[2] & (~ w_data910w[2])), (w_anode1040w[1] & (~ w_data910w[1])), (w_anode1040w[0] & w_data910w[0]), w_anode1018w[3]}, + w_anode1050w = {(w_anode1050w[2] & (~ w_data910w[2])), (w_anode1050w[1] & w_data910w[1]), (w_anode1050w[0] & (~ w_data910w[0])), w_anode1018w[3]}, + w_anode1060w = {(w_anode1060w[2] & (~ w_data910w[2])), (w_anode1060w[1] & w_data910w[1]), (w_anode1060w[0] & w_data910w[0]), w_anode1018w[3]}, + w_anode1070w = {(w_anode1070w[2] & w_data910w[2]), (w_anode1070w[1] & (~ w_data910w[1])), (w_anode1070w[0] & (~ w_data910w[0])), w_anode1018w[3]}, + w_anode1080w = {(w_anode1080w[2] & w_data910w[2]), (w_anode1080w[1] & (~ w_data910w[1])), (w_anode1080w[0] & w_data910w[0]), w_anode1018w[3]}, + w_anode1090w = {(w_anode1090w[2] & w_data910w[2]), (w_anode1090w[1] & w_data910w[1]), (w_anode1090w[0] & (~ w_data910w[0])), w_anode1018w[3]}, + w_anode1100w = {(w_anode1100w[2] & w_data910w[2]), (w_anode1100w[1] & w_data910w[1]), (w_anode1100w[0] & w_data910w[0]), w_anode1018w[3]}, + w_anode1111w = {(w_anode1111w[2] & (~ data_wire[5])), (w_anode1111w[1] & data_wire[4]), (w_anode1111w[0] & (~ data_wire[3])), enable_wire1}, + w_anode1122w = {(w_anode1122w[2] & (~ w_data910w[2])), (w_anode1122w[1] & (~ w_data910w[1])), (w_anode1122w[0] & (~ w_data910w[0])), w_anode1111w[3]}, + w_anode1133w = {(w_anode1133w[2] & (~ w_data910w[2])), (w_anode1133w[1] & (~ w_data910w[1])), (w_anode1133w[0] & w_data910w[0]), w_anode1111w[3]}, + w_anode1143w = {(w_anode1143w[2] & (~ w_data910w[2])), (w_anode1143w[1] & w_data910w[1]), (w_anode1143w[0] & (~ w_data910w[0])), w_anode1111w[3]}, + w_anode1153w = {(w_anode1153w[2] & (~ w_data910w[2])), (w_anode1153w[1] & w_data910w[1]), (w_anode1153w[0] & w_data910w[0]), w_anode1111w[3]}, + w_anode1163w = {(w_anode1163w[2] & w_data910w[2]), (w_anode1163w[1] & (~ w_data910w[1])), (w_anode1163w[0] & (~ w_data910w[0])), w_anode1111w[3]}, + w_anode1173w = {(w_anode1173w[2] & w_data910w[2]), (w_anode1173w[1] & (~ w_data910w[1])), (w_anode1173w[0] & w_data910w[0]), w_anode1111w[3]}, + w_anode1183w = {(w_anode1183w[2] & w_data910w[2]), (w_anode1183w[1] & w_data910w[1]), (w_anode1183w[0] & (~ w_data910w[0])), w_anode1111w[3]}, + w_anode1193w = {(w_anode1193w[2] & w_data910w[2]), (w_anode1193w[1] & w_data910w[1]), (w_anode1193w[0] & w_data910w[0]), w_anode1111w[3]}, + w_anode1204w = {(w_anode1204w[2] & (~ data_wire[5])), (w_anode1204w[1] & data_wire[4]), (w_anode1204w[0] & data_wire[3]), enable_wire1}, + w_anode1215w = {(w_anode1215w[2] & (~ w_data910w[2])), (w_anode1215w[1] & (~ w_data910w[1])), (w_anode1215w[0] & (~ w_data910w[0])), w_anode1204w[3]}, + w_anode1226w = {(w_anode1226w[2] & (~ w_data910w[2])), (w_anode1226w[1] & (~ w_data910w[1])), (w_anode1226w[0] & w_data910w[0]), w_anode1204w[3]}, + w_anode1236w = {(w_anode1236w[2] & (~ w_data910w[2])), (w_anode1236w[1] & w_data910w[1]), (w_anode1236w[0] & (~ w_data910w[0])), w_anode1204w[3]}, + w_anode1246w = {(w_anode1246w[2] & (~ w_data910w[2])), (w_anode1246w[1] & w_data910w[1]), (w_anode1246w[0] & w_data910w[0]), w_anode1204w[3]}, + w_anode1256w = {(w_anode1256w[2] & w_data910w[2]), (w_anode1256w[1] & (~ w_data910w[1])), (w_anode1256w[0] & (~ w_data910w[0])), w_anode1204w[3]}, + w_anode1266w = {(w_anode1266w[2] & w_data910w[2]), (w_anode1266w[1] & (~ w_data910w[1])), (w_anode1266w[0] & w_data910w[0]), w_anode1204w[3]}, + w_anode1276w = {(w_anode1276w[2] & w_data910w[2]), (w_anode1276w[1] & w_data910w[1]), (w_anode1276w[0] & (~ w_data910w[0])), w_anode1204w[3]}, + w_anode1286w = {(w_anode1286w[2] & w_data910w[2]), (w_anode1286w[1] & w_data910w[1]), (w_anode1286w[0] & w_data910w[0]), w_anode1204w[3]}, + w_anode1297w = {(w_anode1297w[2] & data_wire[5]), (w_anode1297w[1] & (~ data_wire[4])), (w_anode1297w[0] & (~ data_wire[3])), enable_wire1}, + w_anode1308w = {(w_anode1308w[2] & (~ w_data910w[2])), (w_anode1308w[1] & (~ w_data910w[1])), (w_anode1308w[0] & (~ w_data910w[0])), w_anode1297w[3]}, + w_anode1319w = {(w_anode1319w[2] & (~ w_data910w[2])), (w_anode1319w[1] & (~ w_data910w[1])), (w_anode1319w[0] & w_data910w[0]), w_anode1297w[3]}, + w_anode1329w = {(w_anode1329w[2] & (~ w_data910w[2])), (w_anode1329w[1] & w_data910w[1]), (w_anode1329w[0] & (~ w_data910w[0])), w_anode1297w[3]}, + w_anode1339w = {(w_anode1339w[2] & (~ w_data910w[2])), (w_anode1339w[1] & w_data910w[1]), (w_anode1339w[0] & w_data910w[0]), w_anode1297w[3]}, + w_anode1349w = {(w_anode1349w[2] & w_data910w[2]), (w_anode1349w[1] & (~ w_data910w[1])), (w_anode1349w[0] & (~ w_data910w[0])), w_anode1297w[3]}, + w_anode1359w = {(w_anode1359w[2] & w_data910w[2]), (w_anode1359w[1] & (~ w_data910w[1])), (w_anode1359w[0] & w_data910w[0]), w_anode1297w[3]}, + w_anode1369w = {(w_anode1369w[2] & w_data910w[2]), (w_anode1369w[1] & w_data910w[1]), (w_anode1369w[0] & (~ w_data910w[0])), w_anode1297w[3]}, + w_anode1379w = {(w_anode1379w[2] & w_data910w[2]), (w_anode1379w[1] & w_data910w[1]), (w_anode1379w[0] & w_data910w[0]), w_anode1297w[3]}, + w_anode1390w = {(w_anode1390w[2] & data_wire[5]), (w_anode1390w[1] & (~ data_wire[4])), (w_anode1390w[0] & data_wire[3]), enable_wire1}, + w_anode1401w = {(w_anode1401w[2] & (~ w_data910w[2])), (w_anode1401w[1] & (~ w_data910w[1])), (w_anode1401w[0] & (~ w_data910w[0])), w_anode1390w[3]}, + w_anode1412w = {(w_anode1412w[2] & (~ w_data910w[2])), (w_anode1412w[1] & (~ w_data910w[1])), (w_anode1412w[0] & w_data910w[0]), w_anode1390w[3]}, + w_anode1422w = {(w_anode1422w[2] & (~ w_data910w[2])), (w_anode1422w[1] & w_data910w[1]), (w_anode1422w[0] & (~ w_data910w[0])), w_anode1390w[3]}, + w_anode1432w = {(w_anode1432w[2] & (~ w_data910w[2])), (w_anode1432w[1] & w_data910w[1]), (w_anode1432w[0] & w_data910w[0]), w_anode1390w[3]}, + w_anode1442w = {(w_anode1442w[2] & w_data910w[2]), (w_anode1442w[1] & (~ w_data910w[1])), (w_anode1442w[0] & (~ w_data910w[0])), w_anode1390w[3]}, + w_anode1452w = {(w_anode1452w[2] & w_data910w[2]), (w_anode1452w[1] & (~ w_data910w[1])), (w_anode1452w[0] & w_data910w[0]), w_anode1390w[3]}, + w_anode1462w = {(w_anode1462w[2] & w_data910w[2]), (w_anode1462w[1] & w_data910w[1]), (w_anode1462w[0] & (~ w_data910w[0])), w_anode1390w[3]}, + w_anode1472w = {(w_anode1472w[2] & w_data910w[2]), (w_anode1472w[1] & w_data910w[1]), (w_anode1472w[0] & w_data910w[0]), w_anode1390w[3]}, + w_anode1483w = {(w_anode1483w[2] & data_wire[5]), (w_anode1483w[1] & data_wire[4]), (w_anode1483w[0] & (~ data_wire[3])), enable_wire1}, + w_anode1494w = {(w_anode1494w[2] & (~ w_data910w[2])), (w_anode1494w[1] & (~ w_data910w[1])), (w_anode1494w[0] & (~ w_data910w[0])), w_anode1483w[3]}, + w_anode1505w = {(w_anode1505w[2] & (~ w_data910w[2])), (w_anode1505w[1] & (~ w_data910w[1])), (w_anode1505w[0] & w_data910w[0]), w_anode1483w[3]}, + w_anode1515w = {(w_anode1515w[2] & (~ w_data910w[2])), (w_anode1515w[1] & w_data910w[1]), (w_anode1515w[0] & (~ w_data910w[0])), w_anode1483w[3]}, + w_anode1525w = {(w_anode1525w[2] & (~ w_data910w[2])), (w_anode1525w[1] & w_data910w[1]), (w_anode1525w[0] & w_data910w[0]), w_anode1483w[3]}, + w_anode1535w = {(w_anode1535w[2] & w_data910w[2]), (w_anode1535w[1] & (~ w_data910w[1])), (w_anode1535w[0] & (~ w_data910w[0])), w_anode1483w[3]}, + w_anode1545w = {(w_anode1545w[2] & w_data910w[2]), (w_anode1545w[1] & (~ w_data910w[1])), (w_anode1545w[0] & w_data910w[0]), w_anode1483w[3]}, + w_anode1555w = {(w_anode1555w[2] & w_data910w[2]), (w_anode1555w[1] & w_data910w[1]), (w_anode1555w[0] & (~ w_data910w[0])), w_anode1483w[3]}, + w_anode1565w = {(w_anode1565w[2] & w_data910w[2]), (w_anode1565w[1] & w_data910w[1]), (w_anode1565w[0] & w_data910w[0]), w_anode1483w[3]}, + w_anode1576w = {(w_anode1576w[2] & data_wire[5]), (w_anode1576w[1] & data_wire[4]), (w_anode1576w[0] & data_wire[3]), enable_wire1}, + w_anode1587w = {(w_anode1587w[2] & (~ w_data910w[2])), (w_anode1587w[1] & (~ w_data910w[1])), (w_anode1587w[0] & (~ w_data910w[0])), w_anode1576w[3]}, + w_anode1598w = {(w_anode1598w[2] & (~ w_data910w[2])), (w_anode1598w[1] & (~ w_data910w[1])), (w_anode1598w[0] & w_data910w[0]), w_anode1576w[3]}, + w_anode1608w = {(w_anode1608w[2] & (~ w_data910w[2])), (w_anode1608w[1] & w_data910w[1]), (w_anode1608w[0] & (~ w_data910w[0])), w_anode1576w[3]}, + w_anode1618w = {(w_anode1618w[2] & (~ w_data910w[2])), (w_anode1618w[1] & w_data910w[1]), (w_anode1618w[0] & w_data910w[0]), w_anode1576w[3]}, + w_anode1628w = {(w_anode1628w[2] & w_data910w[2]), (w_anode1628w[1] & (~ w_data910w[1])), (w_anode1628w[0] & (~ w_data910w[0])), w_anode1576w[3]}, + w_anode1638w = {(w_anode1638w[2] & w_data910w[2]), (w_anode1638w[1] & (~ w_data910w[1])), (w_anode1638w[0] & w_data910w[0]), w_anode1576w[3]}, + w_anode1648w = {(w_anode1648w[2] & w_data910w[2]), (w_anode1648w[1] & w_data910w[1]), (w_anode1648w[0] & (~ w_data910w[0])), w_anode1576w[3]}, + w_anode1658w = {(w_anode1658w[2] & w_data910w[2]), (w_anode1658w[1] & w_data910w[1]), (w_anode1658w[0] & w_data910w[0]), w_anode1576w[3]}, + w_anode1670w = {(w_anode1670w[2] & (~ data_wire[5])), (w_anode1670w[1] & (~ data_wire[4])), (w_anode1670w[0] & (~ data_wire[3])), enable_wire2}, + w_anode1681w = {(w_anode1681w[2] & (~ w_data1669w[2])), (w_anode1681w[1] & (~ w_data1669w[1])), (w_anode1681w[0] & (~ w_data1669w[0])), w_anode1670w[3]}, + w_anode1698w = {(w_anode1698w[2] & (~ w_data1669w[2])), (w_anode1698w[1] & (~ w_data1669w[1])), (w_anode1698w[0] & w_data1669w[0]), w_anode1670w[3]}, + w_anode1708w = {(w_anode1708w[2] & (~ w_data1669w[2])), (w_anode1708w[1] & w_data1669w[1]), (w_anode1708w[0] & (~ w_data1669w[0])), w_anode1670w[3]}, + w_anode1718w = {(w_anode1718w[2] & (~ w_data1669w[2])), (w_anode1718w[1] & w_data1669w[1]), (w_anode1718w[0] & w_data1669w[0]), w_anode1670w[3]}, + w_anode1728w = {(w_anode1728w[2] & w_data1669w[2]), (w_anode1728w[1] & (~ w_data1669w[1])), (w_anode1728w[0] & (~ w_data1669w[0])), w_anode1670w[3]}, + w_anode1738w = {(w_anode1738w[2] & w_data1669w[2]), (w_anode1738w[1] & (~ w_data1669w[1])), (w_anode1738w[0] & w_data1669w[0]), w_anode1670w[3]}, + w_anode1748w = {(w_anode1748w[2] & w_data1669w[2]), (w_anode1748w[1] & w_data1669w[1]), (w_anode1748w[0] & (~ w_data1669w[0])), w_anode1670w[3]}, + w_anode1758w = {(w_anode1758w[2] & w_data1669w[2]), (w_anode1758w[1] & w_data1669w[1]), (w_anode1758w[0] & w_data1669w[0]), w_anode1670w[3]}, + w_anode1770w = {(w_anode1770w[2] & (~ data_wire[5])), (w_anode1770w[1] & (~ data_wire[4])), (w_anode1770w[0] & data_wire[3]), enable_wire2}, + w_anode1781w = {(w_anode1781w[2] & (~ w_data1669w[2])), (w_anode1781w[1] & (~ w_data1669w[1])), (w_anode1781w[0] & (~ w_data1669w[0])), w_anode1770w[3]}, + w_anode1792w = {(w_anode1792w[2] & (~ w_data1669w[2])), (w_anode1792w[1] & (~ w_data1669w[1])), (w_anode1792w[0] & w_data1669w[0]), w_anode1770w[3]}, + w_anode1802w = {(w_anode1802w[2] & (~ w_data1669w[2])), (w_anode1802w[1] & w_data1669w[1]), (w_anode1802w[0] & (~ w_data1669w[0])), w_anode1770w[3]}, + w_anode1812w = {(w_anode1812w[2] & (~ w_data1669w[2])), (w_anode1812w[1] & w_data1669w[1]), (w_anode1812w[0] & w_data1669w[0]), w_anode1770w[3]}, + w_anode1822w = {(w_anode1822w[2] & w_data1669w[2]), (w_anode1822w[1] & (~ w_data1669w[1])), (w_anode1822w[0] & (~ w_data1669w[0])), w_anode1770w[3]}, + w_anode1832w = {(w_anode1832w[2] & w_data1669w[2]), (w_anode1832w[1] & (~ w_data1669w[1])), (w_anode1832w[0] & w_data1669w[0]), w_anode1770w[3]}, + w_anode1842w = {(w_anode1842w[2] & w_data1669w[2]), (w_anode1842w[1] & w_data1669w[1]), (w_anode1842w[0] & (~ w_data1669w[0])), w_anode1770w[3]}, + w_anode1852w = {(w_anode1852w[2] & w_data1669w[2]), (w_anode1852w[1] & w_data1669w[1]), (w_anode1852w[0] & w_data1669w[0]), w_anode1770w[3]}, + w_anode1863w = {(w_anode1863w[2] & (~ data_wire[5])), (w_anode1863w[1] & data_wire[4]), (w_anode1863w[0] & (~ data_wire[3])), enable_wire2}, + w_anode1874w = {(w_anode1874w[2] & (~ w_data1669w[2])), (w_anode1874w[1] & (~ w_data1669w[1])), (w_anode1874w[0] & (~ w_data1669w[0])), w_anode1863w[3]}, + w_anode1885w = {(w_anode1885w[2] & (~ w_data1669w[2])), (w_anode1885w[1] & (~ w_data1669w[1])), (w_anode1885w[0] & w_data1669w[0]), w_anode1863w[3]}, + w_anode1895w = {(w_anode1895w[2] & (~ w_data1669w[2])), (w_anode1895w[1] & w_data1669w[1]), (w_anode1895w[0] & (~ w_data1669w[0])), w_anode1863w[3]}, + w_anode1905w = {(w_anode1905w[2] & (~ w_data1669w[2])), (w_anode1905w[1] & w_data1669w[1]), (w_anode1905w[0] & w_data1669w[0]), w_anode1863w[3]}, + w_anode1915w = {(w_anode1915w[2] & w_data1669w[2]), (w_anode1915w[1] & (~ w_data1669w[1])), (w_anode1915w[0] & (~ w_data1669w[0])), w_anode1863w[3]}, + w_anode1925w = {(w_anode1925w[2] & w_data1669w[2]), (w_anode1925w[1] & (~ w_data1669w[1])), (w_anode1925w[0] & w_data1669w[0]), w_anode1863w[3]}, + w_anode1935w = {(w_anode1935w[2] & w_data1669w[2]), (w_anode1935w[1] & w_data1669w[1]), (w_anode1935w[0] & (~ w_data1669w[0])), w_anode1863w[3]}, + w_anode1945w = {(w_anode1945w[2] & w_data1669w[2]), (w_anode1945w[1] & w_data1669w[1]), (w_anode1945w[0] & w_data1669w[0]), w_anode1863w[3]}, + w_anode1956w = {(w_anode1956w[2] & (~ data_wire[5])), (w_anode1956w[1] & data_wire[4]), (w_anode1956w[0] & data_wire[3]), enable_wire2}, + w_anode1967w = {(w_anode1967w[2] & (~ w_data1669w[2])), (w_anode1967w[1] & (~ w_data1669w[1])), (w_anode1967w[0] & (~ w_data1669w[0])), w_anode1956w[3]}, + w_anode1978w = {(w_anode1978w[2] & (~ w_data1669w[2])), (w_anode1978w[1] & (~ w_data1669w[1])), (w_anode1978w[0] & w_data1669w[0]), w_anode1956w[3]}, + w_anode1988w = {(w_anode1988w[2] & (~ w_data1669w[2])), (w_anode1988w[1] & w_data1669w[1]), (w_anode1988w[0] & (~ w_data1669w[0])), w_anode1956w[3]}, + w_anode1998w = {(w_anode1998w[2] & (~ w_data1669w[2])), (w_anode1998w[1] & w_data1669w[1]), (w_anode1998w[0] & w_data1669w[0]), w_anode1956w[3]}, + w_anode2008w = {(w_anode2008w[2] & w_data1669w[2]), (w_anode2008w[1] & (~ w_data1669w[1])), (w_anode2008w[0] & (~ w_data1669w[0])), w_anode1956w[3]}, + w_anode2018w = {(w_anode2018w[2] & w_data1669w[2]), (w_anode2018w[1] & (~ w_data1669w[1])), (w_anode2018w[0] & w_data1669w[0]), w_anode1956w[3]}, + w_anode2028w = {(w_anode2028w[2] & w_data1669w[2]), (w_anode2028w[1] & w_data1669w[1]), (w_anode2028w[0] & (~ w_data1669w[0])), w_anode1956w[3]}, + w_anode2038w = {(w_anode2038w[2] & w_data1669w[2]), (w_anode2038w[1] & w_data1669w[1]), (w_anode2038w[0] & w_data1669w[0]), w_anode1956w[3]}, + w_anode2049w = {(w_anode2049w[2] & data_wire[5]), (w_anode2049w[1] & (~ data_wire[4])), (w_anode2049w[0] & (~ data_wire[3])), enable_wire2}, + w_anode2060w = {(w_anode2060w[2] & (~ w_data1669w[2])), (w_anode2060w[1] & (~ w_data1669w[1])), (w_anode2060w[0] & (~ w_data1669w[0])), w_anode2049w[3]}, + w_anode2071w = {(w_anode2071w[2] & (~ w_data1669w[2])), (w_anode2071w[1] & (~ w_data1669w[1])), (w_anode2071w[0] & w_data1669w[0]), w_anode2049w[3]}, + w_anode2081w = {(w_anode2081w[2] & (~ w_data1669w[2])), (w_anode2081w[1] & w_data1669w[1]), (w_anode2081w[0] & (~ w_data1669w[0])), w_anode2049w[3]}, + w_anode2091w = {(w_anode2091w[2] & (~ w_data1669w[2])), (w_anode2091w[1] & w_data1669w[1]), (w_anode2091w[0] & w_data1669w[0]), w_anode2049w[3]}, + w_anode2101w = {(w_anode2101w[2] & w_data1669w[2]), (w_anode2101w[1] & (~ w_data1669w[1])), (w_anode2101w[0] & (~ w_data1669w[0])), w_anode2049w[3]}, + w_anode2111w = {(w_anode2111w[2] & w_data1669w[2]), (w_anode2111w[1] & (~ w_data1669w[1])), (w_anode2111w[0] & w_data1669w[0]), w_anode2049w[3]}, + w_anode2121w = {(w_anode2121w[2] & w_data1669w[2]), (w_anode2121w[1] & w_data1669w[1]), (w_anode2121w[0] & (~ w_data1669w[0])), w_anode2049w[3]}, + w_anode2131w = {(w_anode2131w[2] & w_data1669w[2]), (w_anode2131w[1] & w_data1669w[1]), (w_anode2131w[0] & w_data1669w[0]), w_anode2049w[3]}, + w_anode2142w = {(w_anode2142w[2] & data_wire[5]), (w_anode2142w[1] & (~ data_wire[4])), (w_anode2142w[0] & data_wire[3]), enable_wire2}, + w_anode2153w = {(w_anode2153w[2] & (~ w_data1669w[2])), (w_anode2153w[1] & (~ w_data1669w[1])), (w_anode2153w[0] & (~ w_data1669w[0])), w_anode2142w[3]}, + w_anode2164w = {(w_anode2164w[2] & (~ w_data1669w[2])), (w_anode2164w[1] & (~ w_data1669w[1])), (w_anode2164w[0] & w_data1669w[0]), w_anode2142w[3]}, + w_anode2174w = {(w_anode2174w[2] & (~ w_data1669w[2])), (w_anode2174w[1] & w_data1669w[1]), (w_anode2174w[0] & (~ w_data1669w[0])), w_anode2142w[3]}, + w_anode2184w = {(w_anode2184w[2] & (~ w_data1669w[2])), (w_anode2184w[1] & w_data1669w[1]), (w_anode2184w[0] & w_data1669w[0]), w_anode2142w[3]}, + w_anode2194w = {(w_anode2194w[2] & w_data1669w[2]), (w_anode2194w[1] & (~ w_data1669w[1])), (w_anode2194w[0] & (~ w_data1669w[0])), w_anode2142w[3]}, + w_anode2204w = {(w_anode2204w[2] & w_data1669w[2]), (w_anode2204w[1] & (~ w_data1669w[1])), (w_anode2204w[0] & w_data1669w[0]), w_anode2142w[3]}, + w_anode2214w = {(w_anode2214w[2] & w_data1669w[2]), (w_anode2214w[1] & w_data1669w[1]), (w_anode2214w[0] & (~ w_data1669w[0])), w_anode2142w[3]}, + w_anode2224w = {(w_anode2224w[2] & w_data1669w[2]), (w_anode2224w[1] & w_data1669w[1]), (w_anode2224w[0] & w_data1669w[0]), w_anode2142w[3]}, + w_anode2235w = {(w_anode2235w[2] & data_wire[5]), (w_anode2235w[1] & data_wire[4]), (w_anode2235w[0] & (~ data_wire[3])), enable_wire2}, + w_anode2246w = {(w_anode2246w[2] & (~ w_data1669w[2])), (w_anode2246w[1] & (~ w_data1669w[1])), (w_anode2246w[0] & (~ w_data1669w[0])), w_anode2235w[3]}, + w_anode2257w = {(w_anode2257w[2] & (~ w_data1669w[2])), (w_anode2257w[1] & (~ w_data1669w[1])), (w_anode2257w[0] & w_data1669w[0]), w_anode2235w[3]}, + w_anode2267w = {(w_anode2267w[2] & (~ w_data1669w[2])), (w_anode2267w[1] & w_data1669w[1]), (w_anode2267w[0] & (~ w_data1669w[0])), w_anode2235w[3]}, + w_anode2277w = {(w_anode2277w[2] & (~ w_data1669w[2])), (w_anode2277w[1] & w_data1669w[1]), (w_anode2277w[0] & w_data1669w[0]), w_anode2235w[3]}, + w_anode2287w = {(w_anode2287w[2] & w_data1669w[2]), (w_anode2287w[1] & (~ w_data1669w[1])), (w_anode2287w[0] & (~ w_data1669w[0])), w_anode2235w[3]}, + w_anode2297w = {(w_anode2297w[2] & w_data1669w[2]), (w_anode2297w[1] & (~ w_data1669w[1])), (w_anode2297w[0] & w_data1669w[0]), w_anode2235w[3]}, + w_anode2307w = {(w_anode2307w[2] & w_data1669w[2]), (w_anode2307w[1] & w_data1669w[1]), (w_anode2307w[0] & (~ w_data1669w[0])), w_anode2235w[3]}, + w_anode2317w = {(w_anode2317w[2] & w_data1669w[2]), (w_anode2317w[1] & w_data1669w[1]), (w_anode2317w[0] & w_data1669w[0]), w_anode2235w[3]}, + w_anode2328w = {(w_anode2328w[2] & data_wire[5]), (w_anode2328w[1] & data_wire[4]), (w_anode2328w[0] & data_wire[3]), enable_wire2}, + w_anode2339w = {(w_anode2339w[2] & (~ w_data1669w[2])), (w_anode2339w[1] & (~ w_data1669w[1])), (w_anode2339w[0] & (~ w_data1669w[0])), w_anode2328w[3]}, + w_anode2350w = {(w_anode2350w[2] & (~ w_data1669w[2])), (w_anode2350w[1] & (~ w_data1669w[1])), (w_anode2350w[0] & w_data1669w[0]), w_anode2328w[3]}, + w_anode2360w = {(w_anode2360w[2] & (~ w_data1669w[2])), (w_anode2360w[1] & w_data1669w[1]), (w_anode2360w[0] & (~ w_data1669w[0])), w_anode2328w[3]}, + w_anode2370w = {(w_anode2370w[2] & (~ w_data1669w[2])), (w_anode2370w[1] & w_data1669w[1]), (w_anode2370w[0] & w_data1669w[0]), w_anode2328w[3]}, + w_anode2380w = {(w_anode2380w[2] & w_data1669w[2]), (w_anode2380w[1] & (~ w_data1669w[1])), (w_anode2380w[0] & (~ w_data1669w[0])), w_anode2328w[3]}, + w_anode2390w = {(w_anode2390w[2] & w_data1669w[2]), (w_anode2390w[1] & (~ w_data1669w[1])), (w_anode2390w[0] & w_data1669w[0]), w_anode2328w[3]}, + w_anode2400w = {(w_anode2400w[2] & w_data1669w[2]), (w_anode2400w[1] & w_data1669w[1]), (w_anode2400w[0] & (~ w_data1669w[0])), w_anode2328w[3]}, + w_anode2410w = {(w_anode2410w[2] & w_data1669w[2]), (w_anode2410w[1] & w_data1669w[1]), (w_anode2410w[0] & w_data1669w[0]), w_anode2328w[3]}, + w_anode912w = {(w_anode912w[2] & (~ data_wire[5])), (w_anode912w[1] & (~ data_wire[4])), (w_anode912w[0] & (~ data_wire[3])), enable_wire1}, + w_anode929w = {(w_anode929w[2] & (~ w_data910w[2])), (w_anode929w[1] & (~ w_data910w[1])), (w_anode929w[0] & (~ w_data910w[0])), w_anode912w[3]}, + w_anode946w = {(w_anode946w[2] & (~ w_data910w[2])), (w_anode946w[1] & (~ w_data910w[1])), (w_anode946w[0] & w_data910w[0]), w_anode912w[3]}, + w_anode956w = {(w_anode956w[2] & (~ w_data910w[2])), (w_anode956w[1] & w_data910w[1]), (w_anode956w[0] & (~ w_data910w[0])), w_anode912w[3]}, + w_anode966w = {(w_anode966w[2] & (~ w_data910w[2])), (w_anode966w[1] & w_data910w[1]), (w_anode966w[0] & w_data910w[0]), w_anode912w[3]}, + w_anode976w = {(w_anode976w[2] & w_data910w[2]), (w_anode976w[1] & (~ w_data910w[1])), (w_anode976w[0] & (~ w_data910w[0])), w_anode912w[3]}, + w_anode986w = {(w_anode986w[2] & w_data910w[2]), (w_anode986w[1] & (~ w_data910w[1])), (w_anode986w[0] & w_data910w[0]), w_anode912w[3]}, + w_anode996w = {(w_anode996w[2] & w_data910w[2]), (w_anode996w[1] & w_data910w[1]), (w_anode996w[0] & (~ w_data910w[0])), w_anode912w[3]}, + w_data1669w = data_wire[2:0], + w_data910w = data_wire[2:0]; +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EDQ3V5dS+haV2o+7y3pkcZ84vOnh7eIuMPAAHx2IRU5qV/ure+8eKMDJURDpxTVVVF6EXaMED6dq1DoiAPXdmpFK5YM+6zqv5a29dSzCNtwRFTNA+gmVjFUjXk2WTce/cAihtcfy0Qaxoq2DzNKfJMoo9ZAwL3FgR6EdMW3OAY+o5LRNSgWt6unDPUtdw5YmTbLu1wKNbraH1EaNqhTnH1YviSLcGz+72vN/pmoXrRuwSrrkJiMtu2r8c/v1DYD1neUvRSw2slhTX/Wq4cB8od3bveWltCckWmFSQ9V4k8ECbS9XwYKGhDLFQT8r98+dFI261Z1HvOHGkm4hDPvgdmM1UsW9FJN05dXZffw71hPGNfGbfMPouWr4Dnmz1kMTJVdX30XcqeQyU3SL4HbsA0wrnL8E3S1zDLiUalYjUaT8G0JxoWGVqDEdr1iAh0UMQpNMiqtB/QvtnYi43iqiXUlhN7YnPBl2yIm1idpQVjGOrDGrQorq9cIiLgohD/pR4b1JgHFR5/AfNOkjOhin6b1Y+GBpNdSFm6cVf5xIIYcFzmXopJ5KCqz/XxCKRdnoy++BAMGW2Kkr80teVOb4I4RcSo/e8d3fUjna3kLyuLHx5hzHg5Do81OzM7LSDxJ0SUvHY0L3LXNdIszC7WHGjsmVbUXHq7az0PJwmwz3CMnK9cC0UQXOqMyru0PFyW/IyIA+NQm6+hl6Id7/4RAog4+W7ddt4dK50Mj/ldRdce8nEXeZsBxrgBP3VnyNm2EZtiNipdyBrm9wBGkO0p8MO6s" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder.v new file mode 100644 index 0000000000..02e91c7084 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder.v @@ -0,0 +1,160 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_encoder # + ( parameter + CFG_ECC_DATA_WIDTH = 72, + CFG_ECC_CODE_WIDTH = 8, + CFG_ADDR_WIDTH = 35, + + CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 7, + CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 7, + CFG_PORT_WIDTH_ENABLE_ECC = 1, + + CFG_ADDR_ENCODE_ENABLED = 0 + ) + ( + ctl_clk, + ctl_reset_n, + + cfg_local_data_width, + cfg_dram_data_width, + cfg_enable_ecc, + + input_data, + input_addr, + input_ecc_code, + input_ecc_code_overwrite, + output_data + ); + +localparam CFG_LOCAL_DATA_WIDTH = CFG_ECC_DATA_WIDTH - CFG_ECC_CODE_WIDTH; + +input ctl_clk; +input ctl_reset_n; + +input [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0] cfg_local_data_width; +input [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0] cfg_dram_data_width; +input [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] cfg_enable_ecc; + +input [CFG_ECC_DATA_WIDTH - 1 : 0] input_data; +input [CFG_ADDR_WIDTH - 1 : 0] input_addr; +input [CFG_ECC_CODE_WIDTH - 1 : 0] input_ecc_code; +input input_ecc_code_overwrite; + +output [CFG_ECC_DATA_WIDTH - 1 : 0] output_data; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] int_encoder_input; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] output_data; + reg [CFG_ECC_DATA_WIDTH - 1 : 0] int_encoder_output; + + wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] encoder_input; + wire [CFG_ECC_DATA_WIDTH - 1 : 0] encoder_output; + + wire [CFG_ADDR_WIDTH - 1 : 0] encoder_addr_output; + + genvar i; + + generate + for (i = 0;i < CFG_ECC_DATA_WIDTH;i = i + 1) + begin : encoder_input_per_data_width + always @ (*) + begin + if (i < cfg_local_data_width) + int_encoder_input [i] = input_data [i]; + else + int_encoder_input [i] = 1'b0; + end + end + endgenerate + + assign encoder_input = int_encoder_input [CFG_LOCAL_DATA_WIDTH - 1 : 0]; + + generate + for (i = 0;i < CFG_ECC_DATA_WIDTH;i = i + 1) + begin : encoder_output_per_data_width + always @ (*) + begin + if (i < cfg_local_data_width) + begin + int_encoder_output [i] = encoder_output [i]; + end + else if (i < cfg_dram_data_width) + begin + if (input_ecc_code_overwrite) + int_encoder_output [i] = input_ecc_code [(i % 8)]; + else + int_encoder_output [i] = encoder_output [(i % 8) + 64]; + end + else + begin + int_encoder_output [i] = 1'b0; + end + end + end + endgenerate + + always @ (*) + begin + if (cfg_enable_ecc) + begin + output_data = int_encoder_output; + end + else + begin + output_data = input_data; + end + end + + + + generate + if (CFG_ECC_DATA_WIDTH > 72) + begin + assign encoder_output [CFG_ECC_DATA_WIDTH - 1 : 72] = {(CFG_ECC_DATA_WIDTH - 72){1'b0}}; + end + endgenerate + + generate + if (CFG_ADDR_ENCODE_ENABLED == 1) + begin + fmiohmc_ecc_encoder_112 # + ( + .DI (64 + CFG_ADDR_WIDTH ), + .DOUT (72 + CFG_ADDR_WIDTH ) + ) + encoder_inst + ( + .data ({input_addr, encoder_input [64 - 1 : 0]} ), + .q ({encoder_output [72 - 1 : 64], encoder_addr_output, encoder_output [64 - 1 : 0]} ) + ); + end + else + begin + fmiohmc_ecc_encoder_64 encoder_inst + ( + .data (encoder_input [64 - 1 : 0]), + .q (encoder_output [72 - 1 : 0]) + ); + end + endgenerate + + + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EAzI8rcD4tgvZndNz7RuX51xHVL84bgInUobdAj4pcg8Bgtb+8A3SitQThO8I2z0jp7R5E+DLaTw6nzoNwbeUMhZ/yj3QSFHSSry3enTq0pMbz2m5E/9468zrjl2u0zi5nfFODm8osh0YQONzw0RD1XjvWA/oVjZeKvfBNzmhCuM7YAg1I3MhDJdWZekzadN/v31Myy32rO4pA0QBDjxZb7AbbREsolnYgWKSUK7JjxMbyNJAWUfYzBKyYPl+VsHk8tNWeasybQnT9DUQKFjXnoDNnvQVTyJzE4JXODx1ZgES5+UVc7u5s9qx1N4GdzYKdXgJHXwCsMaKsIOtO+czMqR//GHlUimmRVbeOxGHgTadwaSFKlQwVWN+rb730sHylieM7OprS6X4tcoYH66itX0s7y3tZvRsL332BijBnibE5nc+6x88b2RJIhfxeueXZvE7WFCpcxwi+Wb9FfO9hkKcZKy+ImKJekM3/+PDNsyySH+QIQXDX3rzYWQkp/4i8h2d7JUCdKopyQ62QzZrg5AIFqgt+bJxT45BF8MqcXpbB8EDxp4j2n0QnHNUfot/JNOvZCINR97b3nLiAz2VCxOxc7ShSshhaUqEfcDnYob+hsD/h959C8H0QtplMAtnHvO7duxdyAuDPj95R/PT0IeKKcgZ5vlyWzTDa3Wi852TJV7c0Vw8IgEtGyg8xImGtkhvWMnDf3HGLhmDVjTBurAvwk5WGEAXYs5lgFuxnETY46Y1PK331bGx5JVaGEfqsZgrJhzJz+vGKM+D4QMzcX" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_112.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_112.v new file mode 100644 index 0000000000..2a1a910104 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_112.v @@ -0,0 +1,57 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_encoder_112 +#( parameter + DI = 98, + DOUT = 106 +) + +( + data, + q +); + +localparam PARITY = 8; + +input [DI-1:0] data; +output [DOUT-1:0] q; + +wire [111:0] data_e; +wire [111:0] data_i; +generate + if(DI==112) + assign data_e = data; + else + assign data_e = {{(112-DI){1'b0}},data}; +endgenerate +assign data_i = {data_e[111:PARITY],~data_e[PARITY-1],data_e[PARITY-2:1],~data_e[0]}; + +wire [PARITY-1:0] sb; + +fmiohmc_ecc_pcm_112 ecc_pcm ( + .di(data_i), + .sb({PARITY{1'b0}}), + .dout(sb) +); + +assign q = {sb,data[DI-1:0]}; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBvpnDJH3Gywd1hOtha9cNq6jTHNq1cG4iMFvZe5LZTx4C9k5in2kJ+b3axV7BL5A/eTPHrlSzF4zLvLBzOfE/WS+1SsRyLgUHzrcKkv0eBHxl2f6H+eXcMrOqaJXPASKbBVHLS2lC0e5WiM+GGZRh2o7O8hpOWfTvqf6fNoe5CG86kQSfiMvMipftTWImgpBPn8FdSNnX6uVLUpLAjAdyBg6kENT8cG5uy2/nw0JWbzHjVvI25TZnRV0At/Pta5ysaJGeq6aNC2pn1KmhzM7CJzduSefvnaxyz+qxDYdFD4rBcDMDDa6rginkgzKkZfO3mb505yC/4GFcpyD/ZrWViToZsbhiP8wAIi4ONDTkKNoyo7hg0NKG2ls5NwGJLM8GdTLTaZlsFDRNr9+TFWHBVXCsIxGYgi43ar1fX0/QBSBPpf4tyW9mT0uCyIAcY8JhtDgyubOazqTNntKgZB/0N2RcibFteqqD6FgYFpV9BJNqNN9hCO28SKGW7vHdTbj3J8lp2mXgk5enXtrVyJPLEk5KZng6hya1LhrcHfdqJzZPlvFpqw5Al/3i49pSfavpj+BVbtlpVaHMz4TVGwhOmsuVwY/bfJYJ85CbaHMciv7QKI0WyRrnFlMn0sEpepkBLJ+5dcNRWqkrgsa81+o/LdLSsOx0cwDBp9VAmkEE9g79iwIsTDSuDXNgEoGUSvtQhhs0uOpwF/1VAazmOYhto4xdi8k+S7pqRpGNaLdBAIR9BDsW6QXlRi7hWr7GvpqCjiUF6EyDkRma9uFffhqyJ" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64.v new file mode 100644 index 0000000000..b7c7c5b718 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64.v @@ -0,0 +1,41 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + + + + +// synthesis VERILOG_INPUT_VERSION VERILOG_2001 +//altera message_off 10463 + +`timescale 1 ps / 1 ps +module fmiohmc_ecc_encoder_64 ( + data, + q)/* synthesis synthesis_clearbox = 1 */; + + input [63:0] data; + output [71:0] q; + + wire [71:0] sub_wire0; + wire [71:0] q = sub_wire0[71:0]; + + fmiohmc_ecc_encoder_64_altecc_encoder iohmc_ecc_encoder_64_altecc_encoder_component ( + .data (data), + .q (sub_wire0)); + +endmodule + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EB4BzQn2Y/UVGf2tm8a1y+zV+7wYOuLc0X6EeJpoj9owEblMPnFgpIFh3WFhtS1aXJcuhevzxr/r2K3mwQ82wTAKzTedqM4sOJx5H69XsvpRRT1z+2G74hsVBDK1EqOTGFthnDZVJvCPbW/WB8Mp87nVMiM9fyUL5gvhZ37WOTI35KqYbJBESQPV3xbqsF7Y80W+LccFO9A6cL7LZglhWSPjGK2nJQxE0Utv6HAWwpk1ZU99IG2mr4Ab4Txo4fnbzWjmOUrAwe+FXwY53eXMsfpPUgPUjDq55mt72VoulZT+zyGgA/3rRmSPU+JEhRk6PMGo2m6bRNmoQ8gadPNgvu+Gok41+O9p0Kr3dEUR/u48mY2F07T+jQPXIoxBeslKe42//BDHXdKZFg/0V9Au9pJ7AdpNCDwWfJ08rTguD2N2EQQUlw3UuruA9aoAp8EpxkCW6R6grTXLixMPCp6y4q7mCDfuTWPzyepYP0Mv1ShHXtU+P4GMqhOGHw5sLLbvCmmmTuxwZaYEFZZh44G305hWGjRHQp0TsX42/8QktIklwizFcQ5KXxd0OE2AekuH7R/BK1/7s699AVMFYSlr7+bSLKroj2jn4XVFTKXl01btL0yAUq5e1CV2vMwlDv4AuyekLQik/g6VxXUWBfk4aQnpVLxC1yxAunh48PBu3u12pDLlPPg8aQxy9L1zWHf9OJYVRyfrjr+Ww+OZalRvqqYfD4CrQBSi9uQGPY3gqwO2pASgjUrF0s5PF4b71Bp0CbCV+8ow2X8oYk/2ZepvRee" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64_altecc_encoder.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64_altecc_encoder.v new file mode 100644 index 0000000000..da011574ef --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64_altecc_encoder.v @@ -0,0 +1,52 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// synthesis_resources = +`timescale 1 ps / 1 ps +module fmiohmc_ecc_encoder_64_altecc_encoder + ( + data, + q) /* synthesis synthesis_clearbox=1 */; + input [63:0] data; + output [71:0] q; + + wire [63:0] data_wire; + wire [34:0] parity_01_wire; + wire [17:0] parity_02_wire; + wire [8:0] parity_03_wire; + wire [3:0] parity_04_wire; + wire [1:0] parity_05_wire; + wire [30:0] parity_06_wire; + wire [6:0] parity_07_wire; + wire [70:0] parity_final_wire; + wire [71:0] q_wire; + + assign + data_wire = data, + parity_01_wire = {(data_wire[63] ^ parity_01_wire[33]), (data_wire[61] ^ parity_01_wire[32]), (data_wire[59] ^ parity_01_wire[31]), (data_wire[57] ^ parity_01_wire[30]), (data_wire[56] ^ parity_01_wire[29]), (data_wire[54] ^ parity_01_wire[28]), (data_wire[52] ^ parity_01_wire[27]), (data_wire[50] ^ parity_01_wire[26]), (data_wire[48] ^ parity_01_wire[25]), (data_wire[46] ^ parity_01_wire[24]), (data_wire[44] ^ parity_01_wire[23]), (data_wire[42] ^ parity_01_wire[22]), (data_wire[40] ^ parity_01_wire[21]), (data_wire[38] ^ parity_01_wire[20]), (data_wire[36] ^ parity_01_wire[19]), (data_wire[34] ^ parity_01_wire[18]), (data_wire[32] ^ parity_01_wire[17]), (data_wire[30] ^ parity_01_wire[16]), (data_wire[28] ^ parity_01_wire[15]), (data_wire[26] ^ parity_01_wire[14]), (data_wire[25] ^ parity_01_wire[13]), (data_wire[23] ^ parity_01_wire[12]), (data_wire[21] ^ parity_01_wire[11]), (data_wire[19] ^ parity_01_wire[10]), (data_wire[17] ^ parity_01_wire[9]), (data_wire[15] ^ parity_01_wire[8]), (data_wire[13] ^ parity_01_wire[7]), (data_wire[11] ^ parity_01_wire[6]), (data_wire[10] ^ parity_01_wire[5]), (data_wire[8] ^ parity_01_wire[4]), (data_wire[6] ^ parity_01_wire[3]), (data_wire[4] ^ parity_01_wire[2]), (data_wire[3] ^ parity_01_wire[1]), (data_wire[1] ^ parity_01_wire[0]), data_wire[0]}, + parity_02_wire = {((data_wire[62] ^ data_wire[63]) ^ parity_02_wire[16]), ((data_wire[58] ^ data_wire[59]) ^ parity_02_wire[15]), ((data_wire[55] ^ data_wire[56]) ^ parity_02_wire[14]), ((data_wire[51] ^ data_wire[52]) ^ parity_02_wire[13]), ((data_wire[47] ^ data_wire[48]) ^ parity_02_wire[12]), ((data_wire[43] ^ data_wire[44]) ^ parity_02_wire[11]), ((data_wire[39] ^ data_wire[40]) ^ parity_02_wire[10]), ((data_wire[35] ^ data_wire[36]) ^ parity_02_wire[9]), ((data_wire[31] ^ data_wire[32]) ^ parity_02_wire[8]), ((data_wire[27] ^ data_wire[28]) ^ parity_02_wire[7]), ((data_wire[24] ^ data_wire[25]) ^ parity_02_wire[6]), ((data_wire[20] ^ data_wire[21]) ^ parity_02_wire[5]), ((data_wire[16] ^ data_wire[17]) ^ parity_02_wire[4]), ((data_wire[12] ^ data_wire[13]) ^ parity_02_wire[3]), ((data_wire[9] ^ data_wire[10]) ^ parity_02_wire[2]), ((data_wire[5] ^ data_wire[6]) ^ parity_02_wire[1]), ((data_wire[2] ^ data_wire[3]) ^ parity_02_wire[0]), data_wire[0]}, + parity_03_wire = {((((data_wire[60] ^ data_wire[61]) ^ data_wire[62]) ^ data_wire[63]) ^ parity_03_wire[7]), ((((data_wire[53] ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_03_wire[6]), ((((data_wire[45] ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ parity_03_wire[5]), ((((data_wire[37] ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_03_wire[4]), ((((data_wire[29] ^ data_wire[30]) ^ data_wire[31]) ^ data_wire[32]) ^ parity_03_wire[3]), ((((data_wire[22] ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_03_wire[2]), ((((data_wire[14] ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ parity_03_wire[1]), ((((data_wire[7] ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10]) ^ parity_03_wire[0]), ((data_wire[1] ^ data_wire[2]) ^ data_wire[3])}, + parity_04_wire = {((((((((data_wire[49] ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_04_wire[2]), ((((((((data_wire[33] ^ data_wire[34]) ^ data_wire[35]) ^ data_wire[36]) ^ data_wire[37]) ^ data_wire[38]) ^ data_wire[39]) ^ data_wire[40]) ^ parity_04_wire[1]), ((((((((data_wire[18] ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25]) ^ parity_04_wire[0]), ((((((data_wire[4] ^ data_wire[5]) ^ data_wire[6]) ^ data_wire[7]) ^ data_wire[8]) ^ data_wire[9]) ^ data_wire[10])}, + parity_05_wire = {((((((((((((((((data_wire[41] ^ data_wire[42]) ^ data_wire[43]) ^ data_wire[44]) ^ data_wire[45]) ^ data_wire[46]) ^ data_wire[47]) ^ data_wire[48]) ^ data_wire[49]) ^ data_wire[50]) ^ data_wire[51]) ^ data_wire[52]) ^ data_wire[53]) ^ data_wire[54]) ^ data_wire[55]) ^ data_wire[56]) ^ parity_05_wire[0]), ((((((((((((((data_wire[11] ^ data_wire[12]) ^ data_wire[13]) ^ data_wire[14]) ^ data_wire[15]) ^ data_wire[16]) ^ data_wire[17]) ^ data_wire[18]) ^ data_wire[19]) ^ data_wire[20]) ^ data_wire[21]) ^ data_wire[22]) ^ data_wire[23]) ^ data_wire[24]) ^ data_wire[25])}, + parity_06_wire = {(data_wire[56] ^ parity_06_wire[29]), (data_wire[55] ^ parity_06_wire[28]), (data_wire[54] ^ parity_06_wire[27]), (data_wire[53] ^ parity_06_wire[26]), (data_wire[52] ^ parity_06_wire[25]), (data_wire[51] ^ parity_06_wire[24]), (data_wire[50] ^ parity_06_wire[23]), (data_wire[49] ^ parity_06_wire[22]), (data_wire[48] ^ parity_06_wire[21]), (data_wire[47] ^ parity_06_wire[20]), (data_wire[46] ^ parity_06_wire[19]), (data_wire[45] ^ parity_06_wire[18]), (data_wire[44] ^ parity_06_wire[17]), (data_wire[43] ^ parity_06_wire[16]), (data_wire[42] ^ parity_06_wire[15]), (data_wire[41] ^ parity_06_wire[14]), (data_wire[40] ^ parity_06_wire[13]), (data_wire[39] ^ parity_06_wire[12]), (data_wire[38] ^ parity_06_wire[11]), (data_wire[37] ^ parity_06_wire[10]), (data_wire[36] ^ parity_06_wire[9]), (data_wire[35] ^ parity_06_wire[8]), (data_wire[34] ^ parity_06_wire[7]), (data_wire[33] ^ parity_06_wire[6]), (data_wire[32] ^ parity_06_wire[5]), (data_wire[31] ^ parity_06_wire[4]), (data_wire[30] ^ parity_06_wire[3]), (data_wire[29] ^ parity_06_wire[2]), (data_wire[28] ^ parity_06_wire[1]), (data_wire[27] ^ parity_06_wire[0]), data_wire[26]}, + parity_07_wire = {(data_wire[63] ^ parity_07_wire[5]), (data_wire[62] ^ parity_07_wire[4]), (data_wire[61] ^ parity_07_wire[3]), (data_wire[60] ^ parity_07_wire[2]), (data_wire[59] ^ parity_07_wire[1]), (data_wire[58] ^ parity_07_wire[0]), data_wire[57]}, + parity_final_wire = {(q_wire[70] ^ parity_final_wire[69]), (q_wire[69] ^ parity_final_wire[68]), (q_wire[68] ^ parity_final_wire[67]), (q_wire[67] ^ parity_final_wire[66]), (q_wire[66] ^ parity_final_wire[65]), (q_wire[65] ^ parity_final_wire[64]), (q_wire[64] ^ parity_final_wire[63]), (q_wire[63] ^ parity_final_wire[62]), (q_wire[62] ^ parity_final_wire[61]), (q_wire[61] ^ parity_final_wire[60]), (q_wire[60] ^ parity_final_wire[59]), (q_wire[59] ^ parity_final_wire[58]), (q_wire[58] ^ parity_final_wire[57]), (q_wire[57] ^ parity_final_wire[56]), (q_wire[56] ^ parity_final_wire[55]), (q_wire[55] ^ parity_final_wire[54]), (q_wire[54] ^ parity_final_wire[53]), (q_wire[53] ^ parity_final_wire[52]), (q_wire[52] ^ parity_final_wire[51]), (q_wire[51] ^ parity_final_wire[50]), (q_wire[50] ^ parity_final_wire[49]), (q_wire[49] ^ parity_final_wire[48]), (q_wire[48] ^ parity_final_wire[47]), (q_wire[47] ^ parity_final_wire[46]), (q_wire[46] ^ parity_final_wire[45]), (q_wire[45] ^ parity_final_wire[44]), (q_wire[44] ^ parity_final_wire[43]), (q_wire[43] ^ parity_final_wire[42]), (q_wire[42] ^ parity_final_wire[41]), (q_wire[41] ^ parity_final_wire[40]), (q_wire[40] ^ parity_final_wire[39]), (q_wire[39] ^ parity_final_wire[38]), (q_wire[38] ^ parity_final_wire[37]), (q_wire[37] ^ parity_final_wire[36]), (q_wire[36] ^ parity_final_wire[35]), (q_wire[35] ^ parity_final_wire[34]), (q_wire[34] ^ parity_final_wire[33]), (q_wire[33] ^ parity_final_wire[32]), (q_wire[32] ^ parity_final_wire[31]), (q_wire[31] ^ parity_final_wire[30]), (q_wire[30] ^ parity_final_wire[29]), (q_wire[29] ^ parity_final_wire[28]), (q_wire[28] ^ parity_final_wire[27]), (q_wire[27] ^ parity_final_wire[26]), (q_wire[26] ^ parity_final_wire[25]), (q_wire[25] ^ parity_final_wire[24]), (q_wire[24] ^ parity_final_wire[23]), (q_wire[23] ^ parity_final_wire[22]), (q_wire[22] ^ parity_final_wire[21]), (q_wire[21] ^ parity_final_wire[20]), (q_wire[20] ^ parity_final_wire[19]), (q_wire[19] ^ parity_final_wire[18]), (q_wire[18] ^ parity_final_wire[17]), (q_wire[17] + ^ parity_final_wire[16]), (q_wire[16] ^ parity_final_wire[15]), (q_wire[15] ^ parity_final_wire[14]), (q_wire[14] ^ parity_final_wire[13]), (q_wire[13] ^ parity_final_wire[12]), (q_wire[12] ^ parity_final_wire[11]), (q_wire[11] ^ parity_final_wire[10]), (q_wire[10] ^ parity_final_wire[9]), (q_wire[9] ^ parity_final_wire[8]), (q_wire[8] ^ parity_final_wire[7]), (q_wire[7] ^ parity_final_wire[6]), (q_wire[6] ^ parity_final_wire[5]), (q_wire[5] ^ parity_final_wire[4]), (q_wire[4] ^ parity_final_wire[3]), (q_wire[3] ^ parity_final_wire[2]), (q_wire[2] ^ parity_final_wire[1]), (q_wire[1] ^ parity_final_wire[0]), q_wire[0]}, + q = q_wire, + q_wire = {parity_final_wire[70], parity_07_wire[6], parity_06_wire[30], parity_05_wire[1], parity_04_wire[3], parity_03_wire[8], parity_02_wire[17], parity_01_wire[34], data_wire}; +endmodule + + +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EAg8LhADRK4uNRFgB/h7XKaIWHN6XWLH/tc3eAoC7Fun83Rtj3YiUQbjakI2aDSIpXnfD8lCnMZvFmeTAhuRfOY9MH4ZcFsNdGs/18/zxA77yfCSeMde0GNkjwK1wS4J34YW5sbO9pswVwuvTFl5fvJMZJTMkTouW3GF35n4OSR7KyKXgmogi9PNXIuMnB8K19QPLEA/UuJX7G2cTmXEQB7QD/mGLhe0gEAOGfC1k0GTIVnq+8bO5jsZUS+KSvWK/s6CoOLk2lcaHC3h9otrBarWI8CBreAoNTox4LUmjcS7XDNAmtmOFpGuBebDfML+hTQVMC3gnj061rlOOy+Q7l4bzzjQ5QNoaHg4kpgdIqBneyIgFNjmZIW8EHsnVqrevIQt73UJrxQ02jMLEt2FZHfS6SLR3vZfoQYnrQ2+nGwM68qArbZNF94GjmDEyrPirLP6SELOg8AAhUSiBpFQdm9IJQXYsHS3ZfIOby6Yv2G1oMRnbG+tQ2u2OFyrJy2uFNRo4mTqzdP+dkh0wZMN2Ezcmfyndi5yi/2wPOpLfzxVFogQVS9KHThiOVRH8CtlugPMrD5I2CAzt8OB4RENSH1KFYLuzVqb/FvW12pJuYqwgjkL6ZOyS0iP/OEtYiHUTA3FtES93XY4+SqDSORHPFDy1gCc9HLOSFAbWcbYweL8O+tbcIGdzAzHIhJbBtdfMDGP7ob2SRcDarjVyglnCgqZB9/7Em6TPSobMaQup6IFEBTda5r31T3SGBUgNMPvvLG5LbQ31Qy1Kra+9KBaolG" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_interface_fifo.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_interface_fifo.v new file mode 100644 index 0000000000..12cd229cbe --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_interface_fifo.v @@ -0,0 +1,122 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +(* altera_attribute = "-name AUTO_RAM_RECOGNITION OFF; -name INFER_RAMS_FROM_RAW_LOGIC OFF" *) +module fmiohmc_ecc_interface_fifo +#( + parameter DATA_WIDTH = 'd1, + parameter RESERVE_ENTRY = 0 +) +( + clk, + reset_n, + + in_ready, + in_valid, + in_data, + + out_ready, + out_valid, + out_data +); + +localparam ENTRY = 2 + RESERVE_ENTRY; +localparam PTR_WIDTH = (ENTRY > 8 && ENTRY <= 16) ? 4 : + (ENTRY > 4 && ENTRY <= 8) ? 3 : + (ENTRY > 2 && ENTRY <= 4) ? 2 : 1; +localparam COUNTER_WIDTH = PTR_WIDTH + 1; +localparam ENTRY_ALMOST_FULL = 2; + +input clk; +input reset_n; + +output in_ready; +input in_valid; +input [DATA_WIDTH - 1 : 0] in_data; + +input out_ready; +output out_valid; +output [DATA_WIDTH - 1 : 0] out_data; + +reg [DATA_WIDTH - 1 : 0] data_reg [ENTRY - 1 : 0]; + +(* altera_attribute = {"-name MAX_FANOUT 20"}*) reg [PTR_WIDTH - 1 : 0] write_ptr; +(* altera_attribute = {"-name MAX_FANOUT 20"}*) reg [PTR_WIDTH - 1 : 0] read_ptr; +(* altera_attribute = {"-name MAX_FANOUT 5"}*) reg [COUNTER_WIDTH - 1 : 0] counter; +(* altera_attribute = {"-name MAX_FANOUT 1"}*) reg empty; + +wire in_ready; +reg almost_full; +wire out_valid; +wire [DATA_WIDTH - 1 : 0] out_data; +wire read_en; +wire write_en; + +assign in_ready = ~almost_full; +assign read_en = ~empty && out_ready; +assign write_en = in_valid; +assign out_valid = ~empty; +assign out_data = data_reg [read_ptr]; + +always @(posedge clk) +begin + if (!reset_n) begin + write_ptr <= {PTR_WIDTH{1'b0}}; + read_ptr <= {PTR_WIDTH{1'b0}}; + counter <= {COUNTER_WIDTH{1'b0}}; + almost_full <= 1'b0; + empty <= 1'b1; + end + else begin + if (write_en) begin + if (write_ptr == ENTRY - 1) begin + write_ptr <= {PTR_WIDTH{1'b0}}; + end else begin + write_ptr <= write_ptr + 1'b1; + end + end + + if (read_en) begin + if (read_ptr == ENTRY - 1) begin + read_ptr <= {PTR_WIDTH{1'b0}}; + end else begin + read_ptr <= read_ptr + 1'b1; + end + end + + if (write_en && !read_en) begin + counter <= counter + 1'b1; + almost_full <= (counter >= (ENTRY_ALMOST_FULL - 1)); + empty <= 1'b0; + end + else if (read_en && !write_en) begin + counter <= counter - 1'b1; + almost_full <= (counter >= (ENTRY_ALMOST_FULL + 1)); + empty <= (counter == 1); + end + end +end + +always @(posedge clk) +begin + if (write_en) begin + data_reg[write_ptr] <= in_data; + end +end + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBu/NhERVlw1qYxFwL6o/Utz+RvviJ8gIhcs4HnIyc+9DmBZYiVW2D5PJOrlmnhLombMsuOCwaGYpPI2vH9OGmAkdH77lAGl8Nya5VVRQQdqebpcH+qH1HhcFEGagJDVUNTMZAsy1Ldmqy3mSqREYgJO5DcNGlZANL2QL+KckqkV+jxM76A7wuoJ9iFDhWVEwuSxmo3lu2C6/WQvaJMeUf72EPnMljVZcdPssLE8GXOAdLpImks7JLTbaSyAQdU+f3TMw/NFAKXQRnaC/JhqNTuMcFCGQYFQ9tDDb1AOuMIBeAvoOkMaH0xoo+HFK7/oWVF1dHYdVnDmx3HMwRVlVp9JSOv2x90rhoACFvZxZIMzQrPzE6sjhXrXDnEYOSZJXEraZk7kRxH6O86ZIUxyIL48n7SgFWrN/G+vQcl9Yg3ggu3zhhvvgthj9Cd0nDuX5cCckoEkhRmWcS0zQg9AxR5u6lenh9MmoVlrujHOv7UI0Mh1DCs4hcEjYbhx0ITFTQMMfYEEG4k4+3uiWj7nBSpep+dlJNDritleLDiicR1jgvhd9I0bdRywz2wLXaSH3V3RspxcuiJCjXz0OiXjB5qe3Vdhe44303IWQOsh/KEs9qrELahq85MgJkNuGD1pSc1itOcPvnqSWF6DUcenq3ulknxGSadDQ09lwdD+tEJY3Q1Jho/1CEFrj3nZvZdio10/v4ZfRVG0rePUIxu3HTeQ5ZyvkgkQfv7WLUxakjRMO21KAVlfRP3uIPnoxwXFCdZxJPmU+VPtJrYsBOhdXTR" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_mmr.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_mmr.v new file mode 100644 index 0000000000..711c7a1911 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_mmr.v @@ -0,0 +1,637 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_mmr # + ( parameter + CFG_MMR_ADDR_WIDTH = 10, + CFG_MMR_DATA_WIDTH = 35, + CFG_MMR_BYTE_ENABLE_WIDTH = 4, + CFG_MMR_BURSTCOUNT_WIDTH = 2, + + CFG_DRAM_DATA_WIDTH = 0, + CFG_LOCAL_DATA_WIDTH = 0, + CFG_ADDR_WIDTH = 0, + CFG_DATA_RATE = 0, + CFG_ECC_IN_PROTOCOL = 0, + CFG_WRPATH_PIPELINE_EN = 0, + CFG_ENABLE_ECC = 0, + CFG_ENABLE_DM = 0, + CFG_ENABLE_RMW = 0, + CFG_ENABLE_AUTO_CORR = 0, + CFG_ECC_CODE_OVERWRITE = 0, + CFG_GEN_SBE = 0, + CFG_GEN_DBE = 0, + CFG_ENABLE_INTR = 0, + CFG_MASK_SBE_INTR = 0, + CFG_MASK_DBE_INTR = 0, + CFG_MASK_CORR_DROPPED_INTR = 0, + CFG_MASK_HMI_INTR = 0, + CFG_CLR_INTR = 0, + CFG_CLR_MR_RDATA = 0, + + CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 8, + CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 8, + CFG_PORT_WIDTH_ADDR_WIDTH = 6, + CFG_PORT_WIDTH_DATA_RATE = 4, + CFG_PORT_WIDTH_ECC_IN_PROTOCOL = 1, + CFG_PORT_WIDTH_WRPATH_PIPELINE_EN = 1, + CFG_PORT_WIDTH_ENABLE_ECC = 1, + CFG_PORT_WIDTH_ENABLE_DM = 1, + CFG_PORT_WIDTH_ENABLE_RMW = 1, + CFG_PORT_WIDTH_ENABLE_AUTO_CORR = 1, + CFG_PORT_WIDTH_ECC_CODE_OVERWRITE = 1, + CFG_PORT_WIDTH_GEN_SBE = 1, + CFG_PORT_WIDTH_GEN_DBE = 1, + CFG_PORT_WIDTH_ENABLE_INTR = 1, + CFG_PORT_WIDTH_MASK_SBE_INTR = 1, + CFG_PORT_WIDTH_MASK_DBE_INTR = 1, + CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR = 1, + CFG_PORT_WIDTH_MASK_HMI_INTR = 1, + CFG_PORT_WIDTH_CLR_INTR = 1, + CFG_PORT_WIDTH_CLR_MR_RDATA = 1, + ECC_MMR_READ_LATENCY = 2, + + STS_PORT_WIDTH_ECC_INTR = 1, + STS_PORT_WIDTH_SBE_ERROR = 1, + STS_PORT_WIDTH_DBE_ERROR = 1, + STS_PORT_WIDTH_CORR_DROPPED = 1, + STS_PORT_WIDTH_SBE_COUNT = 4, + STS_PORT_WIDTH_DBE_COUNT = 4, + STS_PORT_WIDTH_CORR_DROPPED_COUNT = 4, + STS_PORT_WIDTH_ERR_ADDR = 35, + STS_PORT_WIDTH_CORR_DROPPED_ADDR = 35, + STS_PORT_WIDTH_MR_DATA = 81*8, + STS_PORT_WIDTH_MR_DATA_VALID = 1 + ) + ( + ctl_clk, + ctl_reset_n, + + cfg_dram_data_width, + cfg_local_data_width, + cfg_addr_width, + cfg_data_rate, + cfg_ecc_in_protocol, + cfg_wrpath_pipeline_en, + cfg_enable_ecc, + cfg_enable_dm, + cfg_enable_rmw, + cfg_enable_auto_corr, + cfg_ecc_code_overwrite, + cfg_gen_sbe, + cfg_gen_dbe, + cfg_enable_intr, + cfg_mask_sbe_intr, + cfg_mask_dbe_intr, + cfg_mask_corr_dropped_intr, + cfg_mask_hmi_intr, + cfg_clr_intr, + cfg_clr_mr_rdata, + + sts_ecc_intr, + sts_sbe_error, + sts_dbe_error, + sts_corr_dropped, + sts_sbe_count, + sts_dbe_count, + sts_corr_dropped_count, + sts_err_addr, + sts_corr_dropped_addr, + sts_mr_rdata_0, + sts_mr_rdata_1, + sts_mr_rdata_valid, + + slave_ready, + slave_address, + slave_write, + slave_read, + slave_burstcount, + slave_begintransfer, + slave_wr_data, + slave_byte_enable, + slave_rd_data, + slave_rd_data_valid, + + master_ready, + master_address, + master_write, + master_read, + master_burstcount, + master_begintransfer, + master_wr_data, + master_byte_enable, + master_rd_data, + master_rd_data_valid + ); + +/* + For an MMR read between the ECC core and HMC (for addresses less than 0x7F), + the following latency is incurred: + ______________ _ ______________ + CMD -----> | | -----> | | -----> * -----> | | + | | |_| | | + | | | | + | ECC | _ | HMC | + READ <----- | | <----- | | <----- * <----- | 3 or 4 cycle | + DATA | | |_| | latency | + |______________| |______________| + + HMC_MMR_IF UFI + Signal names: + mmr_master_* slave_* master_* + + In the above diagram, the UFI command and read paths do not have any latency delays. + Typically, CFG_REGISTER_UFI_RDATA_PATH_NUM has 2 pipeline stages for Rev A boards + or 0 pipeline stages for Rev B boards + + There is a general exception to UFI Latency for MMR interfaces - whereas RevA in this exceptional case + does not incur an additional two cycle delay in either direction. However, for RevB2 boards with half rate + and a core clock >= 400 MHz, the 2 cycle UFI latency is applied in each direction. + + The calculation for ECC_MMR_READ_LATENCY is performed in ip_ecc/ip_core_fm/main.tcl and is dependent + on the IO Bank revision, whether or not rate conversion is on, and the core clock frequency. + + TODO: The IP can force the UFI latency via a diagnostic override (DIAG_EXTRA_CONFIGS: FORCE_L2_UFI=ON), + thus changing the FILTER_MASTER_RD_DATA_VALID_LATENCY value. Changes will have to be made + in the future to reflect that. + +*/ +localparam FILTER_MASTER_RD_DATA_VALID_LATENCY = ECC_MMR_READ_LATENCY; + +input ctl_clk; +input ctl_reset_n; + +output [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0] cfg_dram_data_width; +output [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0] cfg_local_data_width; +output [CFG_PORT_WIDTH_ADDR_WIDTH - 1 : 0] cfg_addr_width; +output [CFG_PORT_WIDTH_DATA_RATE - 1 : 0] cfg_data_rate; +output [CFG_PORT_WIDTH_ECC_IN_PROTOCOL - 1 : 0] cfg_ecc_in_protocol; +output [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0] cfg_wrpath_pipeline_en; +output [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] cfg_enable_ecc; +output [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0] cfg_enable_dm; +output [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0] cfg_enable_rmw; +output [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0] cfg_enable_auto_corr; +output [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0] cfg_ecc_code_overwrite; +output [CFG_PORT_WIDTH_GEN_SBE - 1 : 0] cfg_gen_sbe; +output [CFG_PORT_WIDTH_GEN_DBE - 1 : 0] cfg_gen_dbe; +output [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0] cfg_enable_intr; +output [CFG_PORT_WIDTH_MASK_SBE_INTR - 1 : 0] cfg_mask_sbe_intr; +output [CFG_PORT_WIDTH_MASK_DBE_INTR - 1 : 0] cfg_mask_dbe_intr; +output [CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR - 1 : 0] cfg_mask_corr_dropped_intr; +output [CFG_PORT_WIDTH_MASK_HMI_INTR - 1 : 0] cfg_mask_hmi_intr; +output [CFG_PORT_WIDTH_CLR_INTR - 1 : 0] cfg_clr_intr; +output [CFG_PORT_WIDTH_CLR_MR_RDATA - 1 : 0] cfg_clr_mr_rdata; + +input [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr; +input [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error; +input [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error; +input [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped; +input [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count; +input [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count; +input [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] sts_corr_dropped_count; +input [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr; +input [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr; +input [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_0; +input [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_1; +input [STS_PORT_WIDTH_MR_DATA_VALID - 1 : 0] sts_mr_rdata_valid; + +output slave_ready; +input [CFG_MMR_ADDR_WIDTH - 1 : 0] slave_address; +input slave_write; +input slave_read; +input [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] slave_burstcount; +input slave_begintransfer; +input [CFG_MMR_DATA_WIDTH - 1 : 0] slave_wr_data; +input [CFG_MMR_BYTE_ENABLE_WIDTH - 1 : 0] slave_byte_enable; +output [CFG_MMR_DATA_WIDTH - 1 : 0] slave_rd_data; +output slave_rd_data_valid; + +input master_ready; +output [CFG_MMR_ADDR_WIDTH - 1 : 0] master_address; +output master_write; +output master_read; +output [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] master_burstcount; +output master_begintransfer; +output [CFG_MMR_DATA_WIDTH - 1 : 0] master_wr_data; +output [CFG_MMR_BYTE_ENABLE_WIDTH - 1 : 0] master_byte_enable; +input [CFG_MMR_DATA_WIDTH - 1 : 0] master_rd_data; +input master_rd_data_valid; + + +reg [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0] reg_wrpath_pipeline_en; +reg [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] reg_enable_ecc; +reg [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0] reg_enable_dm; +reg [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0] reg_enable_rmw; +reg [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0] reg_enable_auto_corr; +reg [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0] reg_ecc_code_overwrite; +reg [CFG_PORT_WIDTH_GEN_SBE - 1 : 0] reg_gen_sbe; +reg [CFG_PORT_WIDTH_GEN_DBE - 1 : 0] reg_gen_dbe; +reg [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0] reg_enable_intr; +reg [CFG_PORT_WIDTH_MASK_SBE_INTR - 1 : 0] reg_mask_sbe_intr; +reg [CFG_PORT_WIDTH_MASK_DBE_INTR - 1 : 0] reg_mask_dbe_intr; +reg [CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR - 1 : 0] reg_mask_corr_dropped_intr; +reg [CFG_PORT_WIDTH_MASK_HMI_INTR - 1 : 0] reg_mask_hmi_intr; +reg [CFG_PORT_WIDTH_CLR_INTR - 1 : 0] reg_clr_intr; +reg [CFG_PORT_WIDTH_CLR_MR_RDATA - 1 : 0] reg_clr_mr_rdata; +reg [STS_PORT_WIDTH_ECC_INTR - 1 : 0] reg_ecc_intr; +reg [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] reg_sbe_error; +reg [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] reg_dbe_error; +reg [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] reg_corr_dropped; +reg [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] reg_sbe_count; +reg [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] reg_dbe_count; +reg [STS_PORT_WIDTH_CORR_DROPPED_COUNT - 1 : 0] reg_corr_dropped_count; +reg [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] reg_err_addr; +reg [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] reg_corr_dropped_addr; +reg [STS_PORT_WIDTH_MR_DATA - 1 : 0] reg_mr_rdata_0; +reg [STS_PORT_WIDTH_MR_DATA - 1 : 0] reg_mr_rdata_1; +reg [STS_PORT_WIDTH_MR_DATA_VALID - 1 : 0] reg_mr_rdata_valid; + +wire slave_ready; +wire [CFG_MMR_DATA_WIDTH - 1 : 0] slave_rd_data; +wire slave_rd_data_valid; +wire [CFG_MMR_ADDR_WIDTH - 1 : 0] master_address; +wire master_write; +wire master_read; +wire [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] master_burstcount; +wire master_begintransfer; +wire [CFG_MMR_DATA_WIDTH - 1 : 0] master_wr_data; +wire [CFG_MMR_BYTE_ENABLE_WIDTH - 1 : 0] master_byte_enable; +wire [CFG_MMR_DATA_WIDTH - 1 : 0] master_rd_data; + +reg [CFG_MMR_ADDR_WIDTH - 1 : 0] int_slave_address_count; +reg [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] int_slave_burstcount_left; +reg int_slave_writing; + +reg int_slave_ready; +reg [CFG_MMR_ADDR_WIDTH - 1 : 0] int_slave_address; +reg int_slave_write; +reg int_slave_read; +reg [CFG_MMR_DATA_WIDTH - 1 : 0] int_slave_rd_data; +reg int_slave_rd_data_valid; + +reg filter_slave_rd_data_valid; +reg [FILTER_MASTER_RD_DATA_VALID_LATENCY - 1 : 0] filter_master_rd_data_valid; + +always @ (posedge ctl_clk) +begin + if (!ctl_reset_n) + begin + filter_slave_rd_data_valid <= 1'b0; + filter_master_rd_data_valid <= {FILTER_MASTER_RD_DATA_VALID_LATENCY{1'b0}}; + end + else + begin + filter_slave_rd_data_valid <= slave_ready & slave_read & !master_read; + filter_master_rd_data_valid <= {filter_master_rd_data_valid[FILTER_MASTER_RD_DATA_VALID_LATENCY - 2 : 0], (master_ready & master_read)}; + end +end +assign slave_ready = int_slave_ready & master_ready; +assign slave_rd_data = (int_slave_rd_data_valid == 1'b1) ? int_slave_rd_data : master_rd_data; +assign slave_rd_data_valid = (int_slave_rd_data_valid == 1'b1) ? (int_slave_rd_data_valid & filter_slave_rd_data_valid) + : (master_rd_data_valid & filter_master_rd_data_valid[FILTER_MASTER_RD_DATA_VALID_LATENCY - 1]); +assign master_address = slave_address; +assign master_write = slave_write && !(|slave_address [CFG_MMR_ADDR_WIDTH - 1 : 7]); +assign master_read = slave_read && !(|slave_address [CFG_MMR_ADDR_WIDTH - 1 : 7]); +assign master_burstcount = slave_burstcount; +assign master_begintransfer = slave_begintransfer; +assign master_wr_data = slave_wr_data; +assign master_byte_enable = slave_byte_enable; + +assign cfg_dram_data_width = CFG_DRAM_DATA_WIDTH [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0]; +assign cfg_local_data_width = CFG_LOCAL_DATA_WIDTH [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0]; +assign cfg_addr_width = CFG_ADDR_WIDTH [CFG_PORT_WIDTH_ADDR_WIDTH - 1 : 0]; +assign cfg_data_rate = CFG_DATA_RATE [CFG_PORT_WIDTH_DATA_RATE - 1 : 0]; +assign cfg_ecc_in_protocol = CFG_ECC_IN_PROTOCOL [CFG_PORT_WIDTH_ECC_IN_PROTOCOL - 1 : 0]; +assign cfg_wrpath_pipeline_en = CFG_WRPATH_PIPELINE_EN [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0]; +assign cfg_enable_ecc = CFG_ENABLE_ECC [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0]; +assign cfg_enable_dm = CFG_ENABLE_DM [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0]; +assign cfg_enable_rmw = CFG_ENABLE_RMW [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0]; +assign cfg_enable_auto_corr = CFG_ENABLE_AUTO_CORR [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0]; +assign cfg_ecc_code_overwrite = CFG_ECC_CODE_OVERWRITE [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0]; +assign cfg_gen_sbe = reg_gen_sbe; +assign cfg_gen_dbe = reg_gen_dbe; +assign cfg_enable_intr = CFG_ENABLE_INTR [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0]; +assign cfg_mask_sbe_intr = reg_mask_sbe_intr; +assign cfg_mask_dbe_intr = reg_mask_dbe_intr; +assign cfg_mask_corr_dropped_intr = reg_mask_corr_dropped_intr; +assign cfg_mask_hmi_intr = reg_mask_hmi_intr; +assign cfg_clr_intr = reg_clr_intr; +assign cfg_clr_mr_rdata = reg_clr_mr_rdata; + +always @ (*) +begin + int_slave_ready = (int_slave_burstcount_left == 0) ? 1'b1 : int_slave_writing; + int_slave_address = (int_slave_burstcount_left == 0) ? slave_address : int_slave_address_count; + int_slave_write = ( slave_write ) & master_ready; + int_slave_read = ((int_slave_burstcount_left == 0) ? slave_read : ~int_slave_writing) & master_ready; +end + +always @ (posedge ctl_clk) +begin + if (!ctl_reset_n) + begin + int_slave_address_count <= {CFG_MMR_ADDR_WIDTH{1'b0}}; + int_slave_burstcount_left <= {CFG_MMR_BURSTCOUNT_WIDTH{1'b0}}; + int_slave_writing <= 1'b0; + end + else + begin + if (master_ready && (slave_read || slave_write) && slave_begintransfer && slave_burstcount > 1'b1) + begin + int_slave_address_count <= slave_address + 1'b1; + int_slave_burstcount_left <= slave_burstcount - 1'b1; + int_slave_writing <= slave_write; + end + else if (int_slave_burstcount_left > 1'b1) + begin + if ((int_slave_writing && master_ready && slave_write) || !int_slave_writing) + begin + int_slave_address_count <= int_slave_address_count + 1'b1; + int_slave_burstcount_left <= int_slave_burstcount_left - 1'b1; + end + end + else + begin + int_slave_address_count <= {CFG_MMR_ADDR_WIDTH{1'b0}}; + int_slave_burstcount_left <= {CFG_MMR_BURSTCOUNT_WIDTH{1'b0}}; + int_slave_writing <= 1'b0; + end + end +end + +always @ (posedge ctl_clk) +begin + if (!ctl_reset_n) + begin + reg_wrpath_pipeline_en <= CFG_WRPATH_PIPELINE_EN [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0]; + reg_enable_ecc <= CFG_ENABLE_ECC [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0]; + reg_enable_dm <= CFG_ENABLE_DM [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0]; + reg_enable_rmw <= CFG_ENABLE_RMW [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0]; + reg_enable_auto_corr <= CFG_ENABLE_AUTO_CORR [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0]; + reg_ecc_code_overwrite <= CFG_ECC_CODE_OVERWRITE [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0]; + reg_gen_sbe <= CFG_GEN_SBE [CFG_PORT_WIDTH_GEN_SBE - 1 : 0]; + reg_gen_dbe <= CFG_GEN_DBE [CFG_PORT_WIDTH_GEN_DBE - 1 : 0]; + reg_enable_intr <= CFG_ENABLE_INTR [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0]; + reg_mask_sbe_intr <= CFG_MASK_SBE_INTR [CFG_PORT_WIDTH_MASK_SBE_INTR - 1 : 0]; + reg_mask_dbe_intr <= CFG_MASK_DBE_INTR [CFG_PORT_WIDTH_MASK_DBE_INTR - 1 : 0]; + reg_mask_corr_dropped_intr <= CFG_MASK_CORR_DROPPED_INTR [CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR - 1 : 0]; + reg_mask_hmi_intr <= CFG_MASK_HMI_INTR [CFG_PORT_WIDTH_MASK_HMI_INTR - 1 : 0]; + reg_clr_intr <= CFG_CLR_INTR [CFG_PORT_WIDTH_CLR_INTR - 1 : 0]; + reg_clr_mr_rdata <= CFG_CLR_MR_RDATA [CFG_PORT_WIDTH_CLR_MR_RDATA - 1 : 0]; + reg_ecc_intr <= {STS_PORT_WIDTH_ECC_INTR {1'b0}}; + reg_sbe_error <= {STS_PORT_WIDTH_SBE_ERROR {1'b0}}; + reg_dbe_error <= {STS_PORT_WIDTH_DBE_ERROR {1'b0}}; + reg_corr_dropped <= {STS_PORT_WIDTH_CORR_DROPPED {1'b0}}; + reg_sbe_count <= {STS_PORT_WIDTH_SBE_COUNT {1'b0}}; + reg_dbe_count <= {STS_PORT_WIDTH_DBE_COUNT {1'b0}}; + reg_corr_dropped_count <= {STS_PORT_WIDTH_CORR_DROPPED_COUNT{1'b0}}; + reg_err_addr <= {STS_PORT_WIDTH_ERR_ADDR {1'b0}}; + reg_corr_dropped_addr <= {STS_PORT_WIDTH_CORR_DROPPED_ADDR {1'b0}}; + reg_mr_rdata_0 <= {STS_PORT_WIDTH_MR_DATA {1'b0}}; + reg_mr_rdata_1 <= {STS_PORT_WIDTH_MR_DATA {1'b0}}; + reg_mr_rdata_valid <= {STS_PORT_WIDTH_MR_DATA_VALID {1'b0}}; + + int_slave_rd_data <= {CFG_MMR_DATA_WIDTH {1'b0}}; + int_slave_rd_data_valid <= 1'b0; + end + else + begin + reg_ecc_intr <= sts_ecc_intr; + reg_sbe_error <= sts_sbe_error; + reg_dbe_error <= sts_dbe_error; + reg_corr_dropped <= sts_corr_dropped; + reg_sbe_count <= sts_sbe_count; + reg_dbe_count <= sts_dbe_count; + reg_corr_dropped_count <= sts_corr_dropped_count; + reg_err_addr <= sts_err_addr; + reg_corr_dropped_addr <= sts_corr_dropped_addr; + reg_mr_rdata_0 <= sts_mr_rdata_0; + reg_mr_rdata_1 <= sts_mr_rdata_1; + reg_mr_rdata_valid <= sts_mr_rdata_valid; + + case (int_slave_address) + 10'h080 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_write) + begin + reg_wrpath_pipeline_en <= slave_wr_data [ 10] & slave_byte_enable [1]; + reg_ecc_code_overwrite <= slave_wr_data [ 9] & slave_byte_enable [1]; + reg_enable_auto_corr <= slave_wr_data [ 8] & slave_byte_enable [1]; + reg_enable_rmw <= slave_wr_data [ 2] & slave_byte_enable [0]; + reg_enable_dm <= slave_wr_data [ 1] & slave_byte_enable [0]; + reg_enable_ecc <= slave_wr_data [ 0] & slave_byte_enable [0]; + end + + if (int_slave_read) + begin + int_slave_rd_data <= { + {(CFG_MMR_DATA_WIDTH - 11){1'b0}}, + reg_wrpath_pipeline_en , + reg_ecc_code_overwrite , + reg_enable_auto_corr , + cfg_ecc_in_protocol , + cfg_data_rate , + reg_enable_rmw , + reg_enable_dm , + reg_enable_ecc + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h081 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + + if (int_slave_read) + begin + int_slave_rd_data <= { + {(CFG_MMR_DATA_WIDTH - 22){1'b0}}, + cfg_addr_width , + cfg_local_data_width , + cfg_dram_data_width + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h082 : + begin + if (int_slave_write) + begin + reg_clr_mr_rdata <= slave_wr_data [ 8] & slave_byte_enable [1]; + reg_clr_intr <= slave_wr_data [ 7] & slave_byte_enable [0]; + reg_mask_hmi_intr <= slave_wr_data [ 6] & slave_byte_enable [0]; + reg_mask_corr_dropped_intr <= slave_wr_data [ 5] & slave_byte_enable [0]; + reg_mask_dbe_intr <= slave_wr_data [ 4] & slave_byte_enable [0]; + reg_mask_sbe_intr <= slave_wr_data [ 3] & slave_byte_enable [0]; + reg_enable_intr <= slave_wr_data [ 2] & slave_byte_enable [0]; + reg_gen_dbe <= slave_wr_data [ 1] & slave_byte_enable [0]; + reg_gen_sbe <= slave_wr_data [ 0] & slave_byte_enable [0]; + end + else + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + end + + if (int_slave_read) + begin + int_slave_rd_data <= { + {(CFG_MMR_DATA_WIDTH - 9){1'b0}}, + reg_clr_mr_rdata , + reg_clr_intr , + reg_mask_hmi_intr , + reg_mask_corr_dropped_intr , + reg_mask_dbe_intr , + reg_mask_sbe_intr , + reg_enable_intr , + reg_gen_dbe , + reg_gen_sbe + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h090 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_read) + begin + int_slave_rd_data <= { + {(CFG_MMR_DATA_WIDTH - 16){1'b0}}, + reg_corr_dropped_count , + reg_dbe_count , + reg_sbe_count , + reg_corr_dropped , + reg_dbe_error , + reg_sbe_error , + reg_ecc_intr + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h091 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_read) + begin + int_slave_rd_data <= { + reg_err_addr [31 : 0] + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h092 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_read) + begin + int_slave_rd_data <= { + reg_corr_dropped_addr [31 : 0] + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h093 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_read) + begin + int_slave_rd_data <= { + {{(32 - (STS_PORT_WIDTH_ERR_ADDR - 32)){1'b0}}, reg_err_addr [STS_PORT_WIDTH_ERR_ADDR - 1 : 32]} + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + 10'h094 : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + if (int_slave_read) + begin + int_slave_rd_data <= { + {{(32 - (STS_PORT_WIDTH_CORR_DROPPED_ADDR - 32)){1'b0}}, reg_corr_dropped_addr [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 32]} + }; + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + default : + begin + reg_clr_intr <= 1'b0; + reg_clr_mr_rdata <= 1'b0; + + int_slave_rd_data <= {CFG_MMR_DATA_WIDTH{1'b0}}; + + if (int_slave_read) + begin + int_slave_rd_data_valid <= 1'b1; + end + else + begin + int_slave_rd_data_valid <= 1'b0; + end + end + endcase + end +end + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EC6BZU03E9XujYoOegoms/HKoZkTgEKH+H+1LaGQuI02/rKOrWOgIvS5S+SrJ/ns80Ht5Z659wxkjh80w1/sxXKGZgBW0GqFao4/FnSgRFLMpxvu2+d+Pl8BNjdbnA+fO5lry8cxEU8HhS77JzcyxvUSVXEk5FkmWTQpqQxKFUkn6uN6waeMLrkhPc7/orrbU0Z3bu66Ny3rAxrhcWwq4BLOw+PHRFz48U7MDx8QswunTH+nnmnOwIJ53au0ZTtJnhrWmv/DWeQuks9rwDbSSFZgU0XcaIviIBWnT54FnF658QbFAma8bFSzMBiDhacVGvwQeTpC7Sh59R9xrbOaQjnhwKfJYbGV2cA53IDjG65Onul0WPKI8CEB9B07KMfAGo4fQb7pGKAk/oOVkUAWFbiU8UegA8ri5XdEd6nfjy8DQvBGE2tX6zDTmUrb2arP6Fpi+f7Z3vyL2y3hHOGPByOCu/4YiLY/YpDIFqIB8UqUVVRJbESya0YZpLEJSejeDPTSNAUUqotTuH5MzOephIFr/LUJJXGY1dtgelEz0XerNl20372JT9y0GTlDN0cVO5SwMfQg0YgQrdzTik77nAMRkk1sy3X3N7GfZIsHejmERX27XF/ch+CfaG73mVaMqI6PQGuS0nDnxOR0YIv4owDVb5Bk5lklFkBRgwl5SPBokoJYmSc6MThUNj8qoo5IQR4omzKgVAPtu1J/9QPT4nNXQ/G6PZJc5H0nKQLeRtiUxlsFaSkdyWaqEunSZTwGSDqhsydSIeWtdEEFPjt09QY" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_pcm_112.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_pcm_112.v new file mode 100644 index 0000000000..a106bad1ee --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_pcm_112.v @@ -0,0 +1,39 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_pcm_112 ( + + input wire [111:0] di, + input wire [7 :0] sb, + output wire [7 :0] dout + ); + + +wire[111:0] din; + + fmiohmc_ecc_cb #(.DAT(57)) cb0 (.di({di[111],di[110],di[109],di[108],di[107],di[106],di[105],di[104],di[103],di[102],di[101],di[100],di[99],di[98],di[97],di[96],di[95],di[94],di[93],di[92],di[91],di[90],di[89],di[88],di[87],di[86],di[85],di[84],di[83],di[82],di[81],di[80],di[79],di[78],di[77],di[55],di[54],di[53],di[52],di[51],di[50],di[49],di[48],di[47],di[46],di[45],di[44],di[43],di[42],di[41],di[40],di[39],di[38],di[37],di[36],di[35],sb[0]}), .dout(dout[0])); + fmiohmc_ecc_cb #(.DAT(57)) cb1 (.di({di[111],di[110],di[109],di[108],di[107],di[106],di[105],di[104],di[103],di[102],di[101],di[100],di[99],di[98],di[97],di[96],di[95],di[94],di[93],di[92],di[76],di[75],di[74],di[73],di[72],di[71],di[70],di[69],di[68],di[67],di[66],di[65],di[64],di[63],di[62],di[55],di[54],di[53],di[52],di[51],di[50],di[34],di[33],di[32],di[31],di[30],di[29],di[28],di[27],di[26],di[25],di[24],di[23],di[22],di[21],di[20],sb[1]}), .dout(dout[1])); + fmiohmc_ecc_cb #(.DAT(57)) cb2 (.di({di[111],di[110],di[109],di[108],di[107],di[106],di[105],di[104],di[103],di[102],di[91],di[90],di[89],di[88],di[87],di[86],di[85],di[84],di[83],di[82],di[76],di[75],di[74],di[73],di[72],di[71],di[70],di[69],di[68],di[67],di[61],di[60],di[59],di[58],di[57],di[55],di[49],di[48],di[47],di[46],di[45],di[34],di[33],di[32],di[31],di[30],di[19],di[18],di[17],di[16],di[15],di[14],di[13],di[12],di[11],di[10],sb[2]}), .dout(dout[2])); + fmiohmc_ecc_cb #(.DAT(57)) cb3 (.di({di[111],di[110],di[109],di[108],di[101],di[100],di[99],di[98],di[97],di[96],di[91],di[90],di[89],di[88],di[87],di[86],di[81],di[80],di[79],di[78],di[76],di[75],di[74],di[73],di[72],di[71],di[66],di[65],di[64],di[63],di[61],di[60],di[59],di[58],di[56],di[54],di[49],di[44],di[43],di[42],di[41],di[34],di[29],di[28],di[27],di[26],di[19],di[18],di[17],di[16],di[9],di[8],di[7],di[6],di[5],di[4],sb[3]}), .dout(dout[3])); + fmiohmc_ecc_cb #(.DAT(57)) cb4 (.di({di[111],di[107],di[106],di[105],di[101],di[100],di[99],di[95],di[94],di[93],di[91],di[90],di[89],di[85],di[84],di[83],di[81],di[80],di[79],di[77],di[76],di[75],di[74],di[70],di[69],di[68],di[66],di[65],di[64],di[62],di[61],di[60],di[59],di[57],di[56],di[53],di[48],di[44],di[40],di[39],di[38],di[33],di[29],di[25],di[24],di[23],di[19],di[15],di[14],di[13],di[9],di[8],di[7],di[3],di[2],di[1],sb[4]}), .dout(dout[4])); + fmiohmc_ecc_cb #(.DAT(57)) cb5 (.di({di[110],di[107],di[104],di[103],di[101],di[98],di[97],di[95],di[94],di[92],di[91],di[88],di[87],di[85],di[84],di[82],di[81],di[80],di[78],di[77],di[76],di[73],di[72],di[70],di[69],di[67],di[66],di[65],di[63],di[62],di[61],di[60],di[58],di[57],di[56],di[52],di[47],di[43],di[40],di[37],di[36],di[32],di[28],di[25],di[22],di[21],di[18],di[15],di[12],di[11],di[9],di[6],di[5],di[3],di[2],di[0],sb[5]}), .dout(dout[5])); + fmiohmc_ecc_cb #(.DAT(57)) cb6 (.di({di[109],di[106],di[104],di[102],di[100],di[98],di[96],di[95],di[93],di[92],di[90],di[88],di[86],di[85],di[83],di[82],di[81],di[79],di[78],di[77],di[75],di[73],di[71],di[70],di[68],di[67],di[66],di[64],di[63],di[62],di[61],di[59],di[58],di[57],di[56],di[51],di[46],di[42],di[39],di[37],di[35],di[31],di[27],di[24],di[22],di[20],di[17],di[14],di[12],di[10],di[8],di[6],di[4],di[3],di[1],di[0],sb[6]}), .dout(dout[6])); + fmiohmc_ecc_cb #(.DAT(57)) cb7 (.di({di[108],di[105],di[103],di[102],di[99],di[97],di[96],di[94],di[93],di[92],di[89],di[87],di[86],di[84],di[83],di[82],di[80],di[79],di[78],di[77],di[74],di[72],di[71],di[69],di[68],di[67],di[65],di[64],di[63],di[62],di[60],di[59],di[58],di[57],di[56],di[50],di[45],di[41],di[38],di[36],di[35],di[30],di[26],di[23],di[21],di[20],di[16],di[13],di[11],di[10],di[7],di[5],di[4],di[2],di[1],di[0],sb[7]}), .dout(dout[7])); + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBDSCNJSFcz15f84e4NsWbz107sdBGcWhLQV0Ft2ZdyzicBVXKFdbjAgBgiw4FypX/1FKdZYcvUJsS+w44c6tGaPCokgPdk0nmquTf1RXp0YHXVIHRHZ9+pFmIXYXbO5V/C5Fk2q3WXkRf3jaCNuBm7vX/CpJkUkUdfpHSx5zbyzPeLkQzdOQJ1ANb6OpMpuzSfmVWoG2ZI/XwpBO+J+UP74QWoxg9iKohMDyz79d6Q+iioHaxQqzA01s6wSIgM+wK9XL+YXchqw4kHBop5XVBV06a6kqMRRm7t8iAR+JgOefKUJv/pxEZsUuU3LHGVe9E39Bk2a07EhN7jmwXqDosDPZ3ErhKwNfALWPdEPGGgSNxgmS0u0WukrYYbVHdwI731W4BjQSwlQHN9Pyz/aFun0IZHuzTZNk1j7fSEWoYLYw/YkrMaPfaueSCcuavM8GMu316u7zeKDpBKgvGc0aI5mOJNO7hY/3DKiC6wBRc+6VStUFjAjUZwZnwjPjtVIv6fuI4mgqjyylZVmYez4zE903nAOjKOJ4CRFmT2y/GOhvzilXpTAqdD2jQsFEP+mDf4HV0iJ3YY1dN/oJpFFToaHz0PyeOI8MjeVO2Azwyiy4a/ZvP6M0Uzayl8WYQnSLXIqpqQsu2CZqQ2yFdZNTH1hD9A0q/hYgjAgRZmqzLQelEqoUfErC95RqHmoABV7WtF+Xt4QNTtOJap34TeewZIFhdSFnrgGyCy7vgmVDQiP6qqzHdgGJoe41RdorXqGi+O6GytViFeONxKLBiLJ84j" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_sv_112.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_sv_112.v new file mode 100644 index 0000000000..054b987b46 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_sv_112.v @@ -0,0 +1,145 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_sv_112 ( + input wire [7:0] di, + output reg [111:0] dout +); + +always @* + begin + case(di) + 8'b11100000 : dout = 112'h0000000000000000000000000001; + 8'b11010000 : dout = 112'h0000000000000000000000000002; + 8'b10110000 : dout = 112'h0000000000000000000000000004; + 8'b01110000 : dout = 112'h0000000000000000000000000008; + 8'b11001000 : dout = 112'h0000000000000000000000000010; + 8'b10101000 : dout = 112'h0000000000000000000000000020; + 8'b01101000 : dout = 112'h0000000000000000000000000040; + 8'b10011000 : dout = 112'h0000000000000000000000000080; + 8'b01011000 : dout = 112'h0000000000000000000000000100; + 8'b00111000 : dout = 112'h0000000000000000000000000200; + 8'b11000100 : dout = 112'h0000000000000000000000000400; + 8'b10100100 : dout = 112'h0000000000000000000000000800; + 8'b01100100 : dout = 112'h0000000000000000000000001000; + 8'b10010100 : dout = 112'h0000000000000000000000002000; + 8'b01010100 : dout = 112'h0000000000000000000000004000; + 8'b00110100 : dout = 112'h0000000000000000000000008000; + 8'b10001100 : dout = 112'h0000000000000000000000010000; + 8'b01001100 : dout = 112'h0000000000000000000000020000; + 8'b00101100 : dout = 112'h0000000000000000000000040000; + 8'b00011100 : dout = 112'h0000000000000000000000080000; + 8'b11000010 : dout = 112'h0000000000000000000000100000; + 8'b10100010 : dout = 112'h0000000000000000000000200000; + 8'b01100010 : dout = 112'h0000000000000000000000400000; + 8'b10010010 : dout = 112'h0000000000000000000000800000; + 8'b01010010 : dout = 112'h0000000000000000000001000000; + 8'b00110010 : dout = 112'h0000000000000000000002000000; + 8'b10001010 : dout = 112'h0000000000000000000004000000; + 8'b01001010 : dout = 112'h0000000000000000000008000000; + 8'b00101010 : dout = 112'h0000000000000000000010000000; + 8'b00011010 : dout = 112'h0000000000000000000020000000; + 8'b10000110 : dout = 112'h0000000000000000000040000000; + 8'b01000110 : dout = 112'h0000000000000000000080000000; + 8'b00100110 : dout = 112'h0000000000000000000100000000; + 8'b00010110 : dout = 112'h0000000000000000000200000000; + 8'b00001110 : dout = 112'h0000000000000000000400000000; + 8'b11000001 : dout = 112'h0000000000000000000800000000; + 8'b10100001 : dout = 112'h0000000000000000001000000000; + 8'b01100001 : dout = 112'h0000000000000000002000000000; + 8'b10010001 : dout = 112'h0000000000000000004000000000; + 8'b01010001 : dout = 112'h0000000000000000008000000000; + 8'b00110001 : dout = 112'h0000000000000000010000000000; + 8'b10001001 : dout = 112'h0000000000000000020000000000; + 8'b01001001 : dout = 112'h0000000000000000040000000000; + 8'b00101001 : dout = 112'h0000000000000000080000000000; + 8'b00011001 : dout = 112'h0000000000000000100000000000; + 8'b10000101 : dout = 112'h0000000000000000200000000000; + 8'b01000101 : dout = 112'h0000000000000000400000000000; + 8'b00100101 : dout = 112'h0000000000000000800000000000; + 8'b00010101 : dout = 112'h0000000000000001000000000000; + 8'b00001101 : dout = 112'h0000000000000002000000000000; + 8'b10000011 : dout = 112'h0000000000000004000000000000; + 8'b01000011 : dout = 112'h0000000000000008000000000000; + 8'b00100011 : dout = 112'h0000000000000010000000000000; + 8'b00010011 : dout = 112'h0000000000000020000000000000; + 8'b00001011 : dout = 112'h0000000000000040000000000000; + 8'b00000111 : dout = 112'h0000000000000080000000000000; + 8'b11111000 : dout = 112'h0000000000000100000000000000; + 8'b11110100 : dout = 112'h0000000000000200000000000000; + 8'b11101100 : dout = 112'h0000000000000400000000000000; + 8'b11011100 : dout = 112'h0000000000000800000000000000; + 8'b10111100 : dout = 112'h0000000000001000000000000000; + 8'b01111100 : dout = 112'h0000000000002000000000000000; + 8'b11110010 : dout = 112'h0000000000004000000000000000; + 8'b11101010 : dout = 112'h0000000000008000000000000000; + 8'b11011010 : dout = 112'h0000000000010000000000000000; + 8'b10111010 : dout = 112'h0000000000020000000000000000; + 8'b01111010 : dout = 112'h0000000000040000000000000000; + 8'b11100110 : dout = 112'h0000000000080000000000000000; + 8'b11010110 : dout = 112'h0000000000100000000000000000; + 8'b10110110 : dout = 112'h0000000000200000000000000000; + 8'b01110110 : dout = 112'h0000000000400000000000000000; + 8'b11001110 : dout = 112'h0000000000800000000000000000; + 8'b10101110 : dout = 112'h0000000001000000000000000000; + 8'b01101110 : dout = 112'h0000000002000000000000000000; + 8'b10011110 : dout = 112'h0000000004000000000000000000; + 8'b01011110 : dout = 112'h0000000008000000000000000000; + 8'b00111110 : dout = 112'h0000000010000000000000000000; + 8'b11110001 : dout = 112'h0000000020000000000000000000; + 8'b11101001 : dout = 112'h0000000040000000000000000000; + 8'b11011001 : dout = 112'h0000000080000000000000000000; + 8'b10111001 : dout = 112'h0000000100000000000000000000; + 8'b01111001 : dout = 112'h0000000200000000000000000000; + 8'b11100101 : dout = 112'h0000000400000000000000000000; + 8'b11010101 : dout = 112'h0000000800000000000000000000; + 8'b10110101 : dout = 112'h0000001000000000000000000000; + 8'b01110101 : dout = 112'h0000002000000000000000000000; + 8'b11001101 : dout = 112'h0000004000000000000000000000; + 8'b10101101 : dout = 112'h0000008000000000000000000000; + 8'b01101101 : dout = 112'h0000010000000000000000000000; + 8'b10011101 : dout = 112'h0000020000000000000000000000; + 8'b01011101 : dout = 112'h0000040000000000000000000000; + 8'b00111101 : dout = 112'h0000080000000000000000000000; + 8'b11100011 : dout = 112'h0000100000000000000000000000; + 8'b11010011 : dout = 112'h0000200000000000000000000000; + 8'b10110011 : dout = 112'h0000400000000000000000000000; + 8'b01110011 : dout = 112'h0000800000000000000000000000; + 8'b11001011 : dout = 112'h0001000000000000000000000000; + 8'b10101011 : dout = 112'h0002000000000000000000000000; + 8'b01101011 : dout = 112'h0004000000000000000000000000; + 8'b10011011 : dout = 112'h0008000000000000000000000000; + 8'b01011011 : dout = 112'h0010000000000000000000000000; + 8'b00111011 : dout = 112'h0020000000000000000000000000; + 8'b11000111 : dout = 112'h0040000000000000000000000000; + 8'b10100111 : dout = 112'h0080000000000000000000000000; + 8'b01100111 : dout = 112'h0100000000000000000000000000; + 8'b10010111 : dout = 112'h0200000000000000000000000000; + 8'b01010111 : dout = 112'h0400000000000000000000000000; + 8'b00110111 : dout = 112'h0800000000000000000000000000; + 8'b10001111 : dout = 112'h1000000000000000000000000000; + 8'b01001111 : dout = 112'h2000000000000000000000000000; + 8'b00101111 : dout = 112'h4000000000000000000000000000; + 8'b00011111 : dout = 112'h800000000000_0000_0000_0000_0000; + default: dout = 112'd0; + endcase + end +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EDL+Kx1GJswSvO1FgFTTjrA44zRAvW3/bEUybBOO+NfkRaG0GKBzL2u+ogyIoumTowmacKTR2HRLYTQe466P2Hgcau1jtQ6MJxXJ2UpsO+xMCjjdlBASlnmIu3qCugpXDlFRqIZ29TfArwtTw0sHh2dKobs9FzuIya12sMn7tOKm6aIPjqK7Qv74khUIaG8QRqnTyTpxAA+Fea26tX7MCNnvqim8dOsuxz4ODAM2TZjueBbkkiKo1r+iBLUwyPkZFvpzkFJloDgZCLexdVenh64OFCIAMVAFIRyHNbqmpFN5BnERRk3TXg0hhUORZV3RjY42/caeCnXa+vqFS8ZZeTePVPTsR1MV9h49lsitF8+A+urw/AF12N1qeum0bnawHm+BOHDA1z6IQCzi+1zLRXWXnWfxR+o1pWo/NPndibqKesfCXCK0Vbe/oarWWVqAoNxmpD1f1vA7KK7/8j4eR0uDngOLFixaCPcZlOaXbnxocYukqaWETf8uyPWq3iYvNqrEJAnA2A3+w9Pw9SFbsdH3Gx91eK1IuS2hVLErW/YhvfjdsfWzgMHMag1DOnvh1UTXslLxlFatlo81sbo0CsyoBWfwQLEVeyYI6m4xLm8T7VQyjZ66hh3WrmYlXHNOeCQk4j43muuPhOZINp7AmkmNxsrGVcjtWbv97aKdoYBV0/RL5LHZ1d7hzflVQo1c8r2S8un9Zay/jaNSQpJkfKOziUKRJh+ZyokBTeQFyx3lRjwETQV4xLU99ROBlHtk8d0agPOmZNbT/pnZ242EiaB" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_wrapper.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_wrapper.v new file mode 100644 index 0000000000..3adb68828e --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_ecc_wrapper.v @@ -0,0 +1,818 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_ecc_wrapper # + ( parameter + CFG_LOCAL_CMD_WIDTH = 2, + CFG_LOCAL_ADDR_WIDTH = 35, + CFG_LOCAL_SIZE_WIDTH = 8, + CFG_LOCAL_ID_WIDTH = 13, + CFG_LOCAL_PRI_WIDTH = 1, + CFG_LOCAL_AP_WIDTH = 1, + CFG_LOCAL_MC_WIDTH = 1, + CFG_CMD_DATA_WIDTH = 61, + CFG_CMD_INFO_WIDTH = 3, + CFG_LOCAL_DATA_WIDTH = 81*8, + CFG_LOCAL_BE_WIDTH = 9*8, + CFG_LOCAL_DATA_INFO_WIDTH = 3, + CFG_LOCAL_DATA_PTR_WIDTH = 6*2, + CFG_ECC_DATA_WIDTH = 81*8, + CFG_ECC_BE_WIDTH = 9*8, + CFG_ECC_CODE_WIDTH = 8, + CFG_ECC_MULTIPLE_INSTANCE = 8, + + CFG_REGISTER_CMD_PATH = 0, + CFG_REGISTER_RDATA_PATH = 0, + CFG_REGISTER_RDATA_PATH_NUM = 0, + CFG_REGISTER_UFI_RDATA_PATH_NUM = 0, + CFG_REGISTER_WDATA_PATH = 0, + CFG_REGISTER_WDATA_PATH_NUM = 0, + CFG_REGISTER_ST_WDATA_RDY_LAT_PATH = 0, + CFG_REGISTER_ST_RDATA_RDY_LAT_PATH = 0, + CFG_REGISTER_ST_CMD_RDY_LAT_PATH = 0, + CORE_CMD_PIPELINE_WDATA = 0, + + CFG_MMR_ADDR_WIDTH = 10, + CFG_MMR_DATA_WIDTH = 32, + CFG_MMR_BYTE_ENABLE_WIDTH = 4, + CFG_MMR_BURSTCOUNT_WIDTH = 2, + + MMR_DRAM_DATA_WIDTH = 0, + MMR_LOCAL_DATA_WIDTH = 0, + MMR_ADDR_WIDTH = 0, + MMR_DATA_RATE = 0, + MMR_ECC_IN_PROTOCOL = 0, + MMR_WRPATH_PIPELINE_EN = 0, + MMR_ENABLE_ECC = 0, + MMR_ENABLE_DM = 0, + MMR_ENABLE_RMW = 0, + MMR_ENABLE_AUTO_CORR = 0, + MMR_ECC_CODE_OVERWRITE = 0, + MMR_GEN_SBE = 0, + MMR_GEN_DBE = 0, + MMR_ENABLE_INTR = 0, + MMR_MASK_SBE_INTR = 0, + MMR_MASK_DBE_INTR = 0, + MMR_MASK_CORR_DROPPED_INTR = 0, + MMR_MASK_HMI_INTR = 0, + MMR_CLR_INTR = 0, + MMR_CLR_MR_RDATA = 0, + ECC_MMR_READ_LATENCY = 2, + + CFG_WRBUFFER_ADDR_WIDTH = 4, + CFG_PORT_WIDTH_DRAM_DATA_WIDTH = 8, + CFG_PORT_WIDTH_LOCAL_DATA_WIDTH = 8, + CFG_PORT_WIDTH_ADDR_WIDTH = 6, + CFG_PORT_WIDTH_DATA_RATE = 4, + CFG_PORT_WIDTH_ECC_IN_PROTOCOL = 1, + CFG_PORT_WIDTH_WRPATH_PIPELINE_EN = 1, + CFG_PORT_WIDTH_ENABLE_ECC = 1, + CFG_PORT_WIDTH_ENABLE_DM = 1, + CFG_PORT_WIDTH_ENABLE_RMW = 1, + CFG_PORT_WIDTH_ENABLE_AUTO_CORR = 1, + CFG_PORT_WIDTH_ECC_CODE_OVERWRITE = 1, + CFG_PORT_WIDTH_GEN_SBE = 1, + CFG_PORT_WIDTH_GEN_DBE = 1, + CFG_PORT_WIDTH_ENABLE_INTR = 1, + CFG_PORT_WIDTH_MASK_SBE_INTR = 1, + CFG_PORT_WIDTH_MASK_DBE_INTR = 1, + CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR = 1, + CFG_PORT_WIDTH_MASK_HMI_INTR = 1, + CFG_PORT_WIDTH_CLR_INTR = 1, + CFG_PORT_WIDTH_CLR_MR_RDATA = 1, + + STS_PORT_WIDTH_ECC_INTR = 1, + STS_PORT_WIDTH_SBE_ERROR = 1, + STS_PORT_WIDTH_DBE_ERROR = 1, + STS_PORT_WIDTH_CORR_DROPPED = 1, + STS_PORT_WIDTH_SBE_COUNT = 4, + STS_PORT_WIDTH_DBE_COUNT = 4, + STS_PORT_WIDTH_CORR_DROPPED_COUNT = 4, + STS_PORT_WIDTH_ERR_ADDR = 35, + STS_PORT_WIDTH_CORR_DROPPED_ADDR = 35, + STS_PORT_WIDTH_MR_DATA = 81*8, + STS_PORT_WIDTH_MR_DATA_VALID = 1 + ) + ( + ctl_clk, + ctl_reset_n_pre_reg, + + slave_mmr_ready, + slave_mmr_address, + slave_mmr_write, + slave_mmr_read, + slave_mmr_burstcount, + slave_mmr_begintransfer, + slave_mmr_wr_data, + slave_mmr_rd_data, + slave_mmr_rd_data_valid, + + master_mmr_ready, + master_mmr_address, + master_mmr_write, + master_mmr_read, + master_mmr_burstcount, + master_mmr_begintransfer, + master_mmr_wr_data, + master_mmr_rd_data, + master_mmr_rd_data_valid, + + slave_cmd_ready, + slave_cmd_data, + slave_cmd_valid, + slave_wr_data_ready, + slave_wr_data_byte_enable, + slave_wr_data, + slave_wr_data_id, + slave_wr_data_valid, + slave_rd_data_ready, + slave_rd_data, + slave_rd_data_id, + slave_rd_data_valid, + slave_rd_data_error, + slave_rd_data_type, + + sts_ecc_intr, + sts_sbe_error, + sts_dbe_error, + sts_corr_dropped, + sts_sbe_count, + sts_dbe_count, + sts_corr_dropped_count, + sts_err_addr, + sts_corr_dropped_addr, + + master_cmd_ready, + master_cmd_data, + master_cmd_valid, + master_cmd_data_combi, + master_cmd_valid_combi, + master_cmd_info, + master_wr_data_ready, + master_wr_data_byte_enable, + master_wr_data, + master_wr_data_id, + master_wr_data_info, + master_wr_data_ptr_in, + master_wr_data_ptr_out, + master_wr_data_valid, + master_rd_data_ready, + master_rd_data, + master_rd_data_id, + master_rd_data_info, + master_rd_data_valid, + master_rd_data_type, + + user_interrupt, + hmi_interrupt + ); + +localparam RD_FIFO_WIDTH = CFG_ECC_DATA_WIDTH + CFG_LOCAL_ID_WIDTH + CFG_LOCAL_DATA_INFO_WIDTH + 1; + +input ctl_clk; +input ctl_reset_n_pre_reg; + +output slave_mmr_ready; +input [CFG_MMR_ADDR_WIDTH - 1 : 0] slave_mmr_address; +input slave_mmr_write; +input slave_mmr_read; +input [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] slave_mmr_burstcount; +input slave_mmr_begintransfer; +input [CFG_MMR_DATA_WIDTH - 1 : 0] slave_mmr_wr_data; +output [CFG_MMR_DATA_WIDTH - 1 : 0] slave_mmr_rd_data; +output slave_mmr_rd_data_valid; + +input master_mmr_ready; +output [CFG_MMR_ADDR_WIDTH - 1 : 0] master_mmr_address; +output master_mmr_write; +output master_mmr_read; +output [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] master_mmr_burstcount; +output master_mmr_begintransfer; +output [CFG_MMR_DATA_WIDTH - 1 : 0] master_mmr_wr_data; +input [CFG_MMR_DATA_WIDTH - 1 : 0] master_mmr_rd_data; +input master_mmr_rd_data_valid; + +output slave_cmd_ready; +input [CFG_CMD_DATA_WIDTH - 1 : 0] slave_cmd_data; +input slave_cmd_valid; +output slave_wr_data_ready; +input [CFG_LOCAL_BE_WIDTH - 1 : 0] slave_wr_data_byte_enable; +input [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_wr_data; +input [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_wr_data_id; +input slave_wr_data_valid; +input slave_rd_data_ready; +output [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_rd_data; +output [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_rd_data_id; +output slave_rd_data_valid; +output slave_rd_data_error; +output slave_rd_data_type; + +input master_cmd_ready; +output [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data; +output master_cmd_valid; +output [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data_combi; +output master_cmd_valid_combi; +input [CFG_CMD_INFO_WIDTH - 1 : 0] master_cmd_info; +input master_wr_data_ready; +output [CFG_ECC_BE_WIDTH - 1 : 0] master_wr_data_byte_enable; +output [CFG_ECC_DATA_WIDTH - 1 : 0] master_wr_data; +output [CFG_LOCAL_ID_WIDTH - 1 : 0] master_wr_data_id; +output [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info; +input [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_in; +output [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_out; +output master_wr_data_valid; +output master_rd_data_ready; +input [CFG_ECC_DATA_WIDTH - 1 : 0] master_rd_data; +input [CFG_LOCAL_ID_WIDTH - 1 : 0] master_rd_data_id; +input [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_rd_data_info; +input master_rd_data_valid; +input master_rd_data_type; + +output user_interrupt; +input hmi_interrupt; + + +output wire [STS_PORT_WIDTH_ECC_INTR - 1 : 0] sts_ecc_intr; +output wire [STS_PORT_WIDTH_SBE_ERROR - 1 : 0] sts_sbe_error; +output wire [STS_PORT_WIDTH_DBE_ERROR - 1 : 0] sts_dbe_error; +output wire [STS_PORT_WIDTH_CORR_DROPPED - 1 : 0] sts_corr_dropped; +output wire [STS_PORT_WIDTH_SBE_COUNT - 1 : 0] sts_sbe_count; +output wire [STS_PORT_WIDTH_DBE_COUNT - 1 : 0] sts_dbe_count; +output wire [STS_PORT_WIDTH_CORR_DROPPED_COUNT- 1 : 0] sts_corr_dropped_count; +output wire [STS_PORT_WIDTH_ERR_ADDR - 1 : 0] sts_err_addr; +output wire [STS_PORT_WIDTH_CORR_DROPPED_ADDR - 1 : 0] sts_corr_dropped_addr; + +wire [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_0; +wire [STS_PORT_WIDTH_MR_DATA - 1 : 0] sts_mr_rdata_1; +wire [STS_PORT_WIDTH_MR_DATA_VALID - 1 : 0] sts_mr_rdata_valid; +wire slave_cmd_ready; +wire slave_wr_data_ready; +wire [CFG_LOCAL_DATA_WIDTH - 1 : 0] slave_rd_data; +wire [CFG_LOCAL_ID_WIDTH - 1 : 0] slave_rd_data_id; +wire slave_rd_data_valid; +wire slave_rd_data_error; +wire slave_rd_data_type; +wire [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data; +wire master_cmd_valid; +wire [CFG_CMD_DATA_WIDTH - 1 : 0] master_cmd_data_combi; +wire master_cmd_valid_combi; +wire [CFG_ECC_BE_WIDTH - 1 : 0] master_wr_data_byte_enable; +wire [CFG_ECC_DATA_WIDTH - 1 : 0] master_wr_data; +wire [CFG_LOCAL_ID_WIDTH - 1 : 0] master_wr_data_id; +wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_wr_data_info; +wire [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] master_wr_data_ptr_out; +wire master_wr_data_valid; +wire master_rd_data_ready; +wire user_interrupt; +wire [CFG_PORT_WIDTH_DRAM_DATA_WIDTH - 1 : 0] cfg_dram_data_width; +wire [CFG_PORT_WIDTH_LOCAL_DATA_WIDTH - 1 : 0] cfg_local_data_width; +wire [CFG_PORT_WIDTH_ADDR_WIDTH - 1 : 0] cfg_addr_width; +wire [CFG_PORT_WIDTH_DATA_RATE - 1 : 0] cfg_data_rate; +wire [CFG_PORT_WIDTH_ECC_IN_PROTOCOL - 1 : 0] cfg_ecc_in_protocol; +wire [CFG_PORT_WIDTH_WRPATH_PIPELINE_EN - 1 : 0] cfg_wrpath_pipeline_en; +wire [CFG_PORT_WIDTH_ENABLE_ECC - 1 : 0] cfg_enable_ecc; +wire [CFG_PORT_WIDTH_ENABLE_DM - 1 : 0] cfg_enable_dm; +wire [CFG_PORT_WIDTH_ENABLE_RMW - 1 : 0] cfg_enable_rmw; +wire [CFG_PORT_WIDTH_ENABLE_AUTO_CORR - 1 : 0] cfg_enable_auto_corr; +wire [CFG_PORT_WIDTH_ECC_CODE_OVERWRITE - 1 : 0] cfg_ecc_code_overwrite; +wire [CFG_PORT_WIDTH_GEN_SBE - 1 : 0] cfg_gen_sbe; +wire [CFG_PORT_WIDTH_GEN_DBE - 1 : 0] cfg_gen_dbe; +wire [CFG_PORT_WIDTH_ENABLE_INTR - 1 : 0] cfg_enable_intr; +wire [CFG_PORT_WIDTH_MASK_SBE_INTR - 1 : 0] cfg_mask_sbe_intr; +wire [CFG_PORT_WIDTH_MASK_DBE_INTR - 1 : 0] cfg_mask_dbe_intr; +wire [CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR - 1 : 0] cfg_mask_corr_dropped_intr; +wire [CFG_PORT_WIDTH_MASK_HMI_INTR - 1 : 0] cfg_mask_hmi_intr; +wire [CFG_PORT_WIDTH_CLR_INTR - 1 : 0] cfg_clr_intr; +wire [CFG_PORT_WIDTH_CLR_MR_RDATA - 1 : 0] cfg_clr_mr_rdata; +wire slave_mmr_ready; +wire [CFG_MMR_DATA_WIDTH - 1 : 0] slave_mmr_rd_data; +wire slave_mmr_rd_data_valid; +wire [CFG_MMR_ADDR_WIDTH - 1 : 0] master_mmr_address; +wire master_mmr_write; +wire master_mmr_read; +wire [CFG_MMR_BURSTCOUNT_WIDTH - 1 : 0] master_mmr_burstcount; +wire master_mmr_begintransfer; +wire [CFG_MMR_DATA_WIDTH - 1 : 0] master_mmr_wr_data; + +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg internal_master_wr_data_ready; +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg [CFG_ECC_BE_WIDTH - 1 : 0] internal_master_wr_data_byte_enable; +reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] internal_master_wr_data_info; +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] internal_master_wr_data_ptr_in; +reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] internal_master_wr_data_ptr_out; +reg internal_master_wr_data_valid; +reg internal_master_rd_data_ready; + +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg internal_master_cmd_ready; +reg [CFG_CMD_DATA_WIDTH - 1 : 0] internal_master_cmd_data; +(* altera_attribute = {"-name MAX_FANOUT 1; -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW"}*) reg internal_master_cmd_valid; +reg [CFG_CMD_INFO_WIDTH - 1 : 0] internal_master_cmd_info; + +wire int_master_cmd_ready; +wire [CFG_CMD_DATA_WIDTH - 1 : 0] int_master_cmd_data; +wire [CFG_CMD_INFO_WIDTH - 1 : 0] int_master_cmd_info; +wire int_master_cmd_valid; + +reg [CFG_ECC_DATA_WIDTH - 1 : 0] internal_master_wr_data; +reg [CFG_LOCAL_ID_WIDTH - 1 : 0] internal_master_wr_data_id; + +wire int_master_wr_data_ready; +wire [CFG_ECC_BE_WIDTH - 1 : 0] int_master_wr_data_byte_enable; +wire [CFG_ECC_DATA_WIDTH - 1 : 0] int_master_wr_data; +wire [CFG_LOCAL_ID_WIDTH - 1 : 0] int_master_wr_data_id; +wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_master_wr_data_info; +wire [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] int_master_wr_data_ptr_in; +wire [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] int_master_wr_data_ptr_out; +wire int_master_wr_data_valid; + +wire [CFG_ECC_DATA_WIDTH - 1 : 0] internal_master_rd_data; +wire [CFG_LOCAL_ID_WIDTH - 1 : 0] internal_master_rd_data_id; +wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] internal_master_rd_data_info; +wire internal_master_rd_data_valid; +wire internal_master_rd_data_type; + +wire int_master_rd_data_ready; +wire [CFG_ECC_DATA_WIDTH - 1 : 0] int_master_rd_data; +wire [CFG_LOCAL_ID_WIDTH - 1 : 0] int_master_rd_data_id; +wire [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] int_master_rd_data_info; +wire int_master_rd_data_valid; +wire int_master_rd_data_type; + +wire mux_master_cmd_ready; + +// Pipeline the input reset_n signal. +// Don't use input reset_n directly because if it is promoted to global, +// the insertion delay is big enough to cause downstream logic that uses the +// reset as comb input to fail setup timing. +reg [25:0] ctl_reset_n /* synthesis preserve_syn_only = 1 */; +always @(posedge ctl_clk or negedge ctl_reset_n_pre_reg) +begin + if (!ctl_reset_n_pre_reg) begin + ctl_reset_n[25:0] <= 26'b0; + end else begin + ctl_reset_n[25:0] <= {26{1'b1}}; + end +end + +always @ (posedge ctl_clk) +begin + internal_master_cmd_ready <= master_cmd_ready; +end + +always @ (posedge ctl_clk) +begin + internal_master_cmd_valid <= int_master_cmd_valid & mux_master_cmd_ready; +end + +always @ (posedge ctl_clk) +begin + internal_master_cmd_data <= int_master_cmd_data; + internal_master_cmd_info <= master_cmd_info; +end + +assign int_master_cmd_ready = (CFG_REGISTER_CMD_PATH == 1) ? internal_master_cmd_ready : master_cmd_ready; +assign int_master_cmd_info = (CFG_REGISTER_CMD_PATH == 1) ? internal_master_cmd_info : master_cmd_info; + +assign master_cmd_data = (CFG_REGISTER_CMD_PATH == 1) ? internal_master_cmd_data : int_master_cmd_data; +assign master_cmd_valid = (CFG_REGISTER_CMD_PATH == 1) ? internal_master_cmd_valid : (int_master_cmd_valid & mux_master_cmd_ready); + +reg [CFG_ECC_BE_WIDTH - 1 : 0] internal_master_wr_data_byte_enable_r [1:0]; +reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] internal_master_wr_data_info_r [1:0]; +reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] internal_master_wr_data_ptr_out_r [1:0]; +reg internal_master_wr_data_valid_r [1:0]; +reg [CFG_ECC_DATA_WIDTH - 1 : 0] internal_master_wr_data_r [1:0]; +reg [CFG_LOCAL_ID_WIDTH - 1 : 0] internal_master_wr_data_id_r [1:0]; +reg internal_master_wr_data_ready_r [1:0]; +reg [CFG_LOCAL_DATA_PTR_WIDTH - 1 : 0] internal_master_wr_data_ptr_in_r [1:0]; + +always @ (posedge ctl_clk) +begin + internal_master_wr_data_valid_r[0] <= int_master_wr_data_valid; + internal_master_wr_data_valid_r[1] <= internal_master_wr_data_valid_r[0]; + + internal_master_wr_data_r[0] <= int_master_wr_data; + internal_master_wr_data_r[1] <= internal_master_wr_data_r[0]; + internal_master_wr_data_byte_enable_r[0] <= int_master_wr_data_byte_enable; + internal_master_wr_data_byte_enable_r[1] <= internal_master_wr_data_byte_enable_r[0]; + internal_master_wr_data_id_r[0] <= int_master_wr_data_id; + internal_master_wr_data_id_r[1] <= internal_master_wr_data_id_r[0]; + internal_master_wr_data_info_r[0] <= int_master_wr_data_info; + internal_master_wr_data_info_r[1] <= internal_master_wr_data_info_r[0]; + internal_master_wr_data_ptr_out_r[0] <= int_master_wr_data_ptr_out; + internal_master_wr_data_ptr_out_r[1] <= internal_master_wr_data_ptr_out_r[0]; + + internal_master_wr_data_ptr_in_r[0] <= master_wr_data_ptr_in; + internal_master_wr_data_ptr_in_r[1] <= internal_master_wr_data_ptr_in_r[0]; + + internal_master_wr_data_ready_r[0] <= master_wr_data_ready; + internal_master_wr_data_ready_r[1] <= internal_master_wr_data_ready_r[0]; + + if (CFG_REGISTER_WDATA_PATH_NUM < 2) + begin + internal_master_wr_data_valid <= int_master_wr_data_valid; + internal_master_wr_data <= int_master_wr_data; + internal_master_wr_data_byte_enable <= int_master_wr_data_byte_enable; + internal_master_wr_data_id <= int_master_wr_data_id; + internal_master_wr_data_info <= int_master_wr_data_info; + internal_master_wr_data_ptr_out <= int_master_wr_data_ptr_out; + internal_master_wr_data_ready <= master_wr_data_ready; + internal_master_wr_data_ptr_in <= master_wr_data_ptr_in; + end + else if (CFG_REGISTER_WDATA_PATH_NUM == 2) + begin + internal_master_wr_data_valid <= internal_master_wr_data_valid_r [0]; + internal_master_wr_data <= internal_master_wr_data_r [0]; + internal_master_wr_data_byte_enable <= internal_master_wr_data_byte_enable_r [0]; + internal_master_wr_data_id <= internal_master_wr_data_id_r [0]; + internal_master_wr_data_info <= internal_master_wr_data_info_r [0]; + internal_master_wr_data_ptr_out <= internal_master_wr_data_ptr_out_r [0]; + internal_master_wr_data_ready <= internal_master_wr_data_ready_r [0]; + internal_master_wr_data_ptr_in <= internal_master_wr_data_ptr_in_r [0]; + end + else if (CFG_REGISTER_WDATA_PATH_NUM == 4) + begin + internal_master_wr_data_valid <= internal_master_wr_data_valid_r [1]; + internal_master_wr_data <= internal_master_wr_data_r [1]; + internal_master_wr_data_byte_enable <= internal_master_wr_data_byte_enable_r [1]; + internal_master_wr_data_id <= internal_master_wr_data_id_r [1]; + internal_master_wr_data_info <= internal_master_wr_data_info_r [1]; + internal_master_wr_data_ptr_out <= internal_master_wr_data_ptr_out_r [1]; + internal_master_wr_data_ready <= internal_master_wr_data_ready_r [1]; + internal_master_wr_data_ptr_in <= internal_master_wr_data_ptr_in_r [1]; + end +end + +assign int_master_wr_data_ready = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_ready : master_wr_data_ready; +assign int_master_wr_data_ptr_in = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_ptr_in : master_wr_data_ptr_in; + +assign master_wr_data_byte_enable = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_byte_enable : int_master_wr_data_byte_enable; +assign master_wr_data = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data : int_master_wr_data; +assign master_wr_data_id = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_id : int_master_wr_data_id; +assign master_wr_data_info = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_info : int_master_wr_data_info; +assign master_wr_data_ptr_out = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_ptr_out : int_master_wr_data_ptr_out; +assign master_wr_data_valid = (CFG_REGISTER_WDATA_PATH == 1) ? internal_master_wr_data_valid : int_master_wr_data_valid; + +assign master_rd_data_ready = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data_ready : int_master_rd_data_ready; + +assign int_master_rd_data = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data : master_rd_data; +assign int_master_rd_data_id = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data_id : master_rd_data_id; +assign int_master_rd_data_info = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data_info : master_rd_data_info; +assign int_master_rd_data_valid = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data_valid : master_rd_data_valid; +assign int_master_rd_data_type = (CFG_REGISTER_RDATA_PATH == 1) ? internal_master_rd_data_type : master_rd_data_type; + +generate + if (CFG_REGISTER_RDATA_PATH == 1) + begin + reg [CFG_ECC_DATA_WIDTH - 1 : 0] master_rd_data_r; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] master_rd_data_id_r; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_rd_data_info_r; + reg master_rd_data_valid_r; + reg master_rd_data_type_r; + + reg [CFG_ECC_DATA_WIDTH - 1 : 0] master_rd_data_pipe_out; + reg [CFG_LOCAL_ID_WIDTH - 1 : 0] master_rd_data_id_pipe_out; + reg [CFG_LOCAL_DATA_INFO_WIDTH - 1 : 0] master_rd_data_info_pipe_out; + reg master_rd_data_valid_pipe_out; + reg master_rd_data_type_pipe_out; + + wire [RD_FIFO_WIDTH - 1 : 0] rd_fifo_wr_data; + wire rd_fifo_wr_ready; + wire rd_fifo_wr_valid; + wire [RD_FIFO_WIDTH - 1 : 0] rd_fifo_rd_data; + wire rd_fifo_rd_ready; + wire rd_fifo_rd_valid; + + reg rd_fifo_wr_ready_r; + + assign rd_fifo_wr_data = {master_rd_data_pipe_out, master_rd_data_id_pipe_out, master_rd_data_info_pipe_out, master_rd_data_type_pipe_out}; + assign rd_fifo_wr_valid = master_rd_data_valid_pipe_out; + assign rd_fifo_rd_ready = int_master_rd_data_ready; + + assign {internal_master_rd_data, internal_master_rd_data_id, internal_master_rd_data_info, internal_master_rd_data_type} = rd_fifo_rd_data; + assign internal_master_rd_data_valid = rd_fifo_rd_valid; + + always @ (posedge ctl_clk) + begin + master_rd_data_valid_r <= master_rd_data_valid; + + master_rd_data_r <= master_rd_data; + master_rd_data_id_r <= master_rd_data_id; + master_rd_data_info_r <= master_rd_data_info; + master_rd_data_type_r <= master_rd_data_type; + + master_rd_data_pipe_out <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? master_rd_data_r : master_rd_data; + master_rd_data_id_pipe_out <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? master_rd_data_id_r : master_rd_data_id; + master_rd_data_info_pipe_out <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? master_rd_data_info_r : master_rd_data_info; + master_rd_data_type_pipe_out <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? master_rd_data_type_r : master_rd_data_type; + master_rd_data_valid_pipe_out <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? master_rd_data_valid_r : master_rd_data_valid; + end + + always @ (posedge ctl_clk) + begin + rd_fifo_wr_ready_r <= rd_fifo_wr_ready; + internal_master_rd_data_ready <= (CFG_REGISTER_RDATA_PATH_NUM == 2) ? rd_fifo_wr_ready_r : rd_fifo_wr_ready; + end + + (* altera_attribute = "-name AUTO_RAM_RECOGNITION OFF; -name INFER_RAMS_FROM_RAW_LOGIC OFF" *) + fmiohmc_ecc_interface_fifo + #( + .DATA_WIDTH (RD_FIFO_WIDTH ), + .RESERVE_ENTRY (2*(CFG_REGISTER_RDATA_PATH_NUM + CFG_REGISTER_UFI_RDATA_PATH_NUM)) + ) + iohmc_ecc_interface_fifo_inst + ( + .clk (ctl_clk ), + .reset_n (ctl_reset_n[0] ), + .in_ready (rd_fifo_wr_ready ), + .in_valid (rd_fifo_wr_valid ), + .in_data (rd_fifo_wr_data ), + .out_ready (rd_fifo_rd_ready ), + .out_valid (rd_fifo_rd_valid ), + .out_data (rd_fifo_rd_data ) + ); + end + else + begin + assign {internal_master_rd_data, internal_master_rd_data_id, internal_master_rd_data_info, internal_master_rd_data_type} = {RD_FIFO_WIDTH{1'b0}}; + assign internal_master_rd_data_valid = 1'b0; + end +endgenerate + +fmiohmc_ecc # + ( + .CFG_LOCAL_CMD_WIDTH (CFG_LOCAL_CMD_WIDTH ), + .CFG_LOCAL_ADDR_WIDTH (CFG_LOCAL_ADDR_WIDTH ), + .CFG_LOCAL_SIZE_WIDTH (CFG_LOCAL_SIZE_WIDTH ), + .CFG_LOCAL_ID_WIDTH (CFG_LOCAL_ID_WIDTH ), + .CFG_LOCAL_PRI_WIDTH (CFG_LOCAL_PRI_WIDTH ), + .CFG_LOCAL_AP_WIDTH (CFG_LOCAL_AP_WIDTH ), + .CFG_LOCAL_MC_WIDTH (CFG_LOCAL_MC_WIDTH ), + .CFG_CMD_DATA_WIDTH (CFG_CMD_DATA_WIDTH ), + .CFG_CMD_INFO_WIDTH (CFG_CMD_INFO_WIDTH ), + .CFG_LOCAL_DATA_WIDTH (CFG_LOCAL_DATA_WIDTH ), + .CFG_LOCAL_BE_WIDTH (CFG_LOCAL_BE_WIDTH ), + .CFG_LOCAL_DATA_INFO_WIDTH (CFG_LOCAL_DATA_INFO_WIDTH ), + .CFG_LOCAL_DATA_PTR_WIDTH (CFG_LOCAL_DATA_PTR_WIDTH ), + .CFG_ECC_DATA_WIDTH (CFG_ECC_DATA_WIDTH ), + .CFG_ECC_BE_WIDTH (CFG_ECC_BE_WIDTH ), + .CFG_ECC_CODE_WIDTH (CFG_ECC_CODE_WIDTH ), + .CFG_ECC_MULTIPLE_INSTANCE (CFG_ECC_MULTIPLE_INSTANCE ), + .CFG_ECC_IN_PROTOCOL (MMR_ECC_IN_PROTOCOL ), + .CFG_REGISTER_RDATA_PATH (CFG_REGISTER_RDATA_PATH ), + .CFG_REGISTER_WDATA_PATH (CFG_REGISTER_WDATA_PATH ), + .CFG_REGISTER_WDATA_PATH_NUM (CFG_REGISTER_WDATA_PATH_NUM ), + .CFG_REGISTER_UFI_RDATA_PATH_NUM (CFG_REGISTER_UFI_RDATA_PATH_NUM ), + .CFG_REGISTER_ST_WDATA_RDY_LAT_PATH (CFG_REGISTER_ST_WDATA_RDY_LAT_PATH ), + .CFG_REGISTER_ST_RDATA_RDY_LAT_PATH (CFG_REGISTER_ST_RDATA_RDY_LAT_PATH ), + .CFG_REGISTER_ST_CMD_RDY_LAT_PATH (CFG_REGISTER_ST_CMD_RDY_LAT_PATH ), + .CORE_CMD_PIPELINE_WDATA (CORE_CMD_PIPELINE_WDATA ), + .CFG_WRBUFFER_ADDR_WIDTH (CFG_WRBUFFER_ADDR_WIDTH ), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH ), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH ), + .CFG_PORT_WIDTH_ADDR_WIDTH (CFG_PORT_WIDTH_ADDR_WIDTH ), + .CFG_PORT_WIDTH_DATA_RATE (CFG_PORT_WIDTH_DATA_RATE ), + .CFG_PORT_WIDTH_ECC_IN_PROTOCOL (CFG_PORT_WIDTH_ECC_IN_PROTOCOL ), + .CFG_PORT_WIDTH_WRPATH_PIPELINE_EN (CFG_PORT_WIDTH_WRPATH_PIPELINE_EN ), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC ), + .CFG_PORT_WIDTH_ENABLE_DM (CFG_PORT_WIDTH_ENABLE_DM ), + .CFG_PORT_WIDTH_ENABLE_RMW (CFG_PORT_WIDTH_ENABLE_RMW ), + .CFG_PORT_WIDTH_ENABLE_AUTO_CORR (CFG_PORT_WIDTH_ENABLE_AUTO_CORR ), + .CFG_PORT_WIDTH_ECC_CODE_OVERWRITE (CFG_PORT_WIDTH_ECC_CODE_OVERWRITE ), + .CFG_PORT_WIDTH_GEN_SBE (CFG_PORT_WIDTH_GEN_SBE ), + .CFG_PORT_WIDTH_GEN_DBE (CFG_PORT_WIDTH_GEN_DBE ), + .CFG_PORT_WIDTH_ENABLE_INTR (CFG_PORT_WIDTH_ENABLE_INTR ), + .CFG_PORT_WIDTH_MASK_SBE_INTR (CFG_PORT_WIDTH_MASK_SBE_INTR ), + .CFG_PORT_WIDTH_MASK_DBE_INTR (CFG_PORT_WIDTH_MASK_DBE_INTR ), + .CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR (CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR ), + .CFG_PORT_WIDTH_MASK_HMI_INTR (CFG_PORT_WIDTH_MASK_HMI_INTR ), + .CFG_PORT_WIDTH_CLR_INTR (CFG_PORT_WIDTH_CLR_INTR ), + .CFG_PORT_WIDTH_CLR_MR_RDATA (CFG_PORT_WIDTH_CLR_MR_RDATA ), + .STS_PORT_WIDTH_ECC_INTR (STS_PORT_WIDTH_ECC_INTR ), + .STS_PORT_WIDTH_SBE_ERROR (STS_PORT_WIDTH_SBE_ERROR ), + .STS_PORT_WIDTH_DBE_ERROR (STS_PORT_WIDTH_DBE_ERROR ), + .STS_PORT_WIDTH_CORR_DROPPED (STS_PORT_WIDTH_CORR_DROPPED ), + .STS_PORT_WIDTH_SBE_COUNT (STS_PORT_WIDTH_SBE_COUNT ), + .STS_PORT_WIDTH_DBE_COUNT (STS_PORT_WIDTH_DBE_COUNT ), + .STS_PORT_WIDTH_CORR_DROPPED_COUNT (STS_PORT_WIDTH_CORR_DROPPED_COUNT ), + .STS_PORT_WIDTH_ERR_ADDR (STS_PORT_WIDTH_ERR_ADDR ), + .STS_PORT_WIDTH_CORR_DROPPED_ADDR (STS_PORT_WIDTH_CORR_DROPPED_ADDR ), + .STS_PORT_WIDTH_MR_DATA (STS_PORT_WIDTH_MR_DATA ), + .STS_PORT_WIDTH_MR_DATA_VALID (STS_PORT_WIDTH_MR_DATA_VALID ) + ) +iohmc_ecc_inst + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[24:1] ), + .cfg_dram_data_width (cfg_dram_data_width ), + .cfg_local_data_width (cfg_local_data_width ), + .cfg_addr_width (cfg_addr_width ), + .cfg_data_rate (cfg_data_rate ), + .cfg_ecc_in_protocol (cfg_ecc_in_protocol ), + .cfg_wrpath_pipeline_en (cfg_wrpath_pipeline_en ), + .cfg_enable_ecc (cfg_enable_ecc ), + .cfg_enable_dm (cfg_enable_dm ), + .cfg_enable_rmw (cfg_enable_rmw ), + .cfg_enable_auto_corr (cfg_enable_auto_corr ), + .cfg_ecc_code_overwrite (cfg_ecc_code_overwrite ), + .cfg_gen_sbe (cfg_gen_sbe ), + .cfg_gen_dbe (cfg_gen_dbe ), + .cfg_enable_intr (cfg_enable_intr ), + .cfg_mask_sbe_intr (cfg_mask_sbe_intr ), + .cfg_mask_dbe_intr (cfg_mask_dbe_intr ), + .cfg_mask_corr_dropped_intr (cfg_mask_corr_dropped_intr ), + .cfg_mask_hmi_intr (cfg_mask_hmi_intr ), + .cfg_clr_intr (cfg_clr_intr ), + .cfg_clr_mr_rdata (cfg_clr_mr_rdata ), + .sts_ecc_intr (sts_ecc_intr ), + .sts_sbe_error (sts_sbe_error ), + .sts_dbe_error (sts_dbe_error ), + .sts_corr_dropped (sts_corr_dropped ), + .sts_sbe_count (sts_sbe_count ), + .sts_dbe_count (sts_dbe_count ), + .sts_corr_dropped_count (sts_corr_dropped_count ), + .sts_err_addr (sts_err_addr ), + .sts_corr_dropped_addr (sts_corr_dropped_addr ), + .sts_mr_rdata_0 (sts_mr_rdata_0 ), + .sts_mr_rdata_1 (sts_mr_rdata_1 ), + .sts_mr_rdata_valid (sts_mr_rdata_valid ), + .sts_corr_dropped_valid ( ), + .sts_current_addr ( ), + .decoder_output_err_addr ( ), + .decoder_output_data_valid ( ), + .decoder_output_sbe ( ), + .decoder_output_dbe ( ), + .decoder_output_data_dbe ( ), + .decoder_output_addrerr ( ), + .slave_cmd_ready (slave_cmd_ready ), + .slave_cmd_data (slave_cmd_data ), + .slave_cmd_valid (slave_cmd_valid ), + .slave_wr_data_ready (slave_wr_data_ready ), + .slave_wr_data_byte_enable (slave_wr_data_byte_enable ), + .slave_wr_data (slave_wr_data ), + .slave_wr_data_id (slave_wr_data_id ), + .slave_wr_data_valid (slave_wr_data_valid ), + .slave_rd_data_ready (slave_rd_data_ready ), + .slave_rd_data (slave_rd_data ), + .slave_rd_data_id (slave_rd_data_id ), + .slave_rd_data_valid (slave_rd_data_valid ), + .slave_rd_data_error (slave_rd_data_error ), + .slave_rd_data_type (slave_rd_data_type ), + .master_cmd_ready (int_master_cmd_ready ), + .master_cmd_data (int_master_cmd_data ), + .master_cmd_valid (int_master_cmd_valid ), + .master_cmd_data_combi (master_cmd_data_combi ), + .master_cmd_valid_combi (master_cmd_valid_combi ), + .master_cmd_info (int_master_cmd_info ), + .master_wr_data_ready (int_master_wr_data_ready ), + .master_wr_data_byte_enable (int_master_wr_data_byte_enable ), + .master_wr_data (int_master_wr_data ), + .master_wr_data_id (int_master_wr_data_id ), + .master_wr_data_info (int_master_wr_data_info ), + .master_wr_data_ptr_in (int_master_wr_data_ptr_in ), + .master_wr_data_ptr_out (int_master_wr_data_ptr_out ), + .master_wr_data_valid (int_master_wr_data_valid ), + .master_rd_data_ready (int_master_rd_data_ready ), + .master_rd_data (int_master_rd_data ), + .master_rd_data_id (int_master_rd_data_id ), + .master_rd_data_info (int_master_rd_data_info ), + .master_rd_data_valid (int_master_rd_data_valid ), + .master_rd_data_type (int_master_rd_data_type ), + .mux_master_cmd_ready (mux_master_cmd_ready ), + .user_interrupt (user_interrupt ), + .hmi_interrupt (hmi_interrupt ), + .idle ( ), + .push_to_error_address_fifo ( ) + ); + +fmiohmc_ecc_mmr # + ( + .CFG_MMR_ADDR_WIDTH (CFG_MMR_ADDR_WIDTH ), + .CFG_MMR_DATA_WIDTH (CFG_MMR_DATA_WIDTH ), + .CFG_MMR_BYTE_ENABLE_WIDTH (CFG_MMR_BYTE_ENABLE_WIDTH ), + .CFG_MMR_BURSTCOUNT_WIDTH (CFG_MMR_BURSTCOUNT_WIDTH ), + .CFG_DRAM_DATA_WIDTH (MMR_DRAM_DATA_WIDTH ), + .CFG_LOCAL_DATA_WIDTH (MMR_LOCAL_DATA_WIDTH ), + .CFG_ADDR_WIDTH (MMR_ADDR_WIDTH ), + .CFG_DATA_RATE (MMR_DATA_RATE ), + .CFG_ECC_IN_PROTOCOL (MMR_ECC_IN_PROTOCOL ), + .CFG_WRPATH_PIPELINE_EN (MMR_WRPATH_PIPELINE_EN ), + .CFG_ENABLE_ECC (MMR_ENABLE_ECC ), + .CFG_ENABLE_DM (MMR_ENABLE_DM ), + .CFG_ENABLE_RMW (MMR_ENABLE_RMW ), + .CFG_ENABLE_AUTO_CORR (MMR_ENABLE_AUTO_CORR ), + .CFG_ECC_CODE_OVERWRITE (MMR_ECC_CODE_OVERWRITE ), + .CFG_GEN_SBE (MMR_GEN_SBE ), + .CFG_GEN_DBE (MMR_GEN_DBE ), + .CFG_ENABLE_INTR (MMR_ENABLE_INTR ), + .CFG_MASK_SBE_INTR (MMR_MASK_SBE_INTR ), + .CFG_MASK_DBE_INTR (MMR_MASK_DBE_INTR ), + .CFG_MASK_CORR_DROPPED_INTR (MMR_MASK_CORR_DROPPED_INTR ), + .CFG_MASK_HMI_INTR (MMR_MASK_HMI_INTR ), + .CFG_CLR_INTR (MMR_CLR_INTR ), + .CFG_CLR_MR_RDATA (MMR_CLR_MR_RDATA ), + .CFG_PORT_WIDTH_DRAM_DATA_WIDTH (CFG_PORT_WIDTH_DRAM_DATA_WIDTH ), + .CFG_PORT_WIDTH_LOCAL_DATA_WIDTH (CFG_PORT_WIDTH_LOCAL_DATA_WIDTH ), + .CFG_PORT_WIDTH_ADDR_WIDTH (CFG_PORT_WIDTH_ADDR_WIDTH ), + .CFG_PORT_WIDTH_DATA_RATE (CFG_PORT_WIDTH_DATA_RATE ), + .CFG_PORT_WIDTH_ECC_IN_PROTOCOL (CFG_PORT_WIDTH_ECC_IN_PROTOCOL ), + .CFG_PORT_WIDTH_WRPATH_PIPELINE_EN (CFG_PORT_WIDTH_WRPATH_PIPELINE_EN ), + .CFG_PORT_WIDTH_ENABLE_ECC (CFG_PORT_WIDTH_ENABLE_ECC ), + .CFG_PORT_WIDTH_ENABLE_DM (CFG_PORT_WIDTH_ENABLE_DM ), + .CFG_PORT_WIDTH_ENABLE_RMW (CFG_PORT_WIDTH_ENABLE_RMW ), + .CFG_PORT_WIDTH_ENABLE_AUTO_CORR (CFG_PORT_WIDTH_ENABLE_AUTO_CORR ), + .CFG_PORT_WIDTH_ECC_CODE_OVERWRITE (CFG_PORT_WIDTH_ECC_CODE_OVERWRITE ), + .CFG_PORT_WIDTH_GEN_SBE (CFG_PORT_WIDTH_GEN_SBE ), + .CFG_PORT_WIDTH_GEN_DBE (CFG_PORT_WIDTH_GEN_DBE ), + .CFG_PORT_WIDTH_ENABLE_INTR (CFG_PORT_WIDTH_ENABLE_INTR ), + .CFG_PORT_WIDTH_MASK_SBE_INTR (CFG_PORT_WIDTH_MASK_SBE_INTR ), + .CFG_PORT_WIDTH_MASK_DBE_INTR (CFG_PORT_WIDTH_MASK_DBE_INTR ), + .CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR (CFG_PORT_WIDTH_MASK_CORR_DROPPED_INTR ), + .CFG_PORT_WIDTH_MASK_HMI_INTR (CFG_PORT_WIDTH_MASK_HMI_INTR ), + .CFG_PORT_WIDTH_CLR_INTR (CFG_PORT_WIDTH_CLR_INTR ), + .CFG_PORT_WIDTH_CLR_MR_RDATA (CFG_PORT_WIDTH_CLR_MR_RDATA ), + .ECC_MMR_READ_LATENCY (ECC_MMR_READ_LATENCY ), + .STS_PORT_WIDTH_ECC_INTR (STS_PORT_WIDTH_ECC_INTR ), + .STS_PORT_WIDTH_SBE_ERROR (STS_PORT_WIDTH_SBE_ERROR ), + .STS_PORT_WIDTH_DBE_ERROR (STS_PORT_WIDTH_DBE_ERROR ), + .STS_PORT_WIDTH_CORR_DROPPED (STS_PORT_WIDTH_CORR_DROPPED ), + .STS_PORT_WIDTH_SBE_COUNT (STS_PORT_WIDTH_SBE_COUNT ), + .STS_PORT_WIDTH_DBE_COUNT (STS_PORT_WIDTH_DBE_COUNT ), + .STS_PORT_WIDTH_CORR_DROPPED_COUNT (STS_PORT_WIDTH_CORR_DROPPED_COUNT ), + .STS_PORT_WIDTH_ERR_ADDR (STS_PORT_WIDTH_ERR_ADDR ), + .STS_PORT_WIDTH_CORR_DROPPED_ADDR (STS_PORT_WIDTH_CORR_DROPPED_ADDR ), + .STS_PORT_WIDTH_MR_DATA (STS_PORT_WIDTH_MR_DATA ), + .STS_PORT_WIDTH_MR_DATA_VALID (STS_PORT_WIDTH_MR_DATA_VALID ) + ) +iohmc_ecc_mmr_inst + ( + .ctl_clk (ctl_clk ), + .ctl_reset_n (ctl_reset_n[25] ), + .cfg_dram_data_width (cfg_dram_data_width ), + .cfg_local_data_width (cfg_local_data_width ), + .cfg_addr_width (cfg_addr_width ), + .cfg_data_rate (cfg_data_rate ), + .cfg_ecc_in_protocol (cfg_ecc_in_protocol ), + .cfg_wrpath_pipeline_en (cfg_wrpath_pipeline_en ), + .cfg_enable_ecc (cfg_enable_ecc ), + .cfg_enable_dm (cfg_enable_dm ), + .cfg_enable_rmw (cfg_enable_rmw ), + .cfg_enable_auto_corr (cfg_enable_auto_corr ), + .cfg_ecc_code_overwrite (cfg_ecc_code_overwrite ), + .cfg_gen_sbe (cfg_gen_sbe ), + .cfg_gen_dbe (cfg_gen_dbe ), + .cfg_enable_intr (cfg_enable_intr ), + .cfg_mask_sbe_intr (cfg_mask_sbe_intr ), + .cfg_mask_dbe_intr (cfg_mask_dbe_intr ), + .cfg_mask_corr_dropped_intr (cfg_mask_corr_dropped_intr ), + .cfg_mask_hmi_intr (cfg_mask_hmi_intr ), + .cfg_clr_intr (cfg_clr_intr ), + .cfg_clr_mr_rdata (cfg_clr_mr_rdata ), + .sts_ecc_intr (sts_ecc_intr ), + .sts_sbe_error (sts_sbe_error ), + .sts_dbe_error (sts_dbe_error ), + .sts_corr_dropped (sts_corr_dropped ), + .sts_sbe_count (sts_sbe_count ), + .sts_dbe_count (sts_dbe_count ), + .sts_corr_dropped_count (sts_corr_dropped_count ), + .sts_err_addr (sts_err_addr ), + .sts_corr_dropped_addr (sts_corr_dropped_addr ), + .sts_mr_rdata_0 (sts_mr_rdata_0 ), + .sts_mr_rdata_1 (sts_mr_rdata_1 ), + .sts_mr_rdata_valid (sts_mr_rdata_valid ), + .slave_ready (slave_mmr_ready ), + .slave_address (slave_mmr_address ), + .slave_write (slave_mmr_write ), + .slave_read (slave_mmr_read ), + .slave_burstcount (slave_mmr_burstcount ), + .slave_begintransfer (slave_mmr_begintransfer ), + .slave_wr_data (slave_mmr_wr_data ), + .slave_byte_enable ({CFG_MMR_BYTE_ENABLE_WIDTH{1'b1}} ), + .slave_rd_data (slave_mmr_rd_data ), + .slave_rd_data_valid (slave_mmr_rd_data_valid ), + .master_ready (master_mmr_ready ), + .master_address (master_mmr_address ), + .master_write (master_mmr_write ), + .master_read (master_mmr_read ), + .master_burstcount (master_mmr_burstcount ), + .master_begintransfer (master_mmr_begintransfer ), + .master_wr_data (master_mmr_wr_data ), + .master_byte_enable ( ), + .master_rd_data (master_mmr_rd_data ), + .master_rd_data_valid (master_mmr_rd_data_valid ) + ); + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EAZQO90Dgd3nOG9fz0cZkTU/GwE4wVUkuFaV7A9pMioWVcKxYeem7Kcqtc06fudP6NbZe2IwH31SXPkNsqeSigvGVzTswSNsC4uM4HA/+WdW8tImjaW+juss32WEaDcClstCUamM5jZSOHuSKQMoOXRKtTyCM04ijGqdSj9/c4WuK62TdxiVtCsMpQPMfKBt6w5HIUgiw/45AVlX+Axx/JapLZgvS1P98v4FXC5aCr6WpPQu+5UJ+GwEKUsR0bLK+7L+uFMs902Xt2xLgMI4nsIsXj8A/1hwJmzGaCxqc001L5WWVHcyDJAMDMYaIJ2SoR3ZpPA1mIEe4x1t7kaAMsnjEb3IPcm1tC9eoo30iz8p1ZrwRgbbKUgO9RW0/R2tMRX7YmwR830bT2qTF8GnSdURFDcri5gwjFcfTHU3strIdfQ0scFoxIdtt0Jjuc3GYyq76855NGls2SysVvZ8UedXJ/S+em+xD4ohSQr7sG4omSg6cM0Zg1m9ONsuXzy6KW10hAaMYZoYp4heTHUcRh+0+XFjpuANa6bP5vUhUvv3vDvASJwpl7BoUb83uggBsf7qzYFALRmfY2PonCmgSPzxUXFIAL7J7hJ4UDqiwDwTXORiQVv77Qs8D0NW8HdSrVgqH2UJYlq8B3TNNqWkG55kOFEgtgrnfBz4fxUWENBJYrqqAlLWztraLos9kruMskrCkl64O85dYPnJDkTBJtHclGvVI3PG94SUWE9kBWEEdzAlOrLPDqnk0WAI7S8O3OVDi3NBnPP9liL7+PdnqVg" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_fifo.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_fifo.v new file mode 100644 index 0000000000..6d61a54d68 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_ecc_fm_191/synth/fmiohmc_fifo.v @@ -0,0 +1,167 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +module fmiohmc_fifo # + ( parameter + CFG_ADDR_WIDTH = 10, + CFG_DATA_WIDTH = 32, + CFG_REGISTERED_OUTPUT = 0, + CFG_SHOWAHEAD = 0, + CFG_USE_EAB = "ON", + CFG_REGISTERED_INPUT = 0 + ) + ( + ctl_clk, + ctl_reset_n, + write_request, + write_data, + read_request, + read_data, + read_data_valid, + fifo_empty, + fifo_full + ); + +localparam CFG_REGISTERED_INPUT_STAGES = (CFG_REGISTERED_INPUT == 0) ? 1 : CFG_REGISTERED_INPUT; +localparam ENTRIES_COUNTER_WIDTH = CFG_ADDR_WIDTH + 1; +localparam SCFIFO_DEPTH = 2 ** CFG_ADDR_WIDTH; +localparam SCFIFO_REGISTERED_OUTPUT = CFG_REGISTERED_OUTPUT ? "ON" : "OFF"; +localparam SCFIFO_SHOWAHEAD = CFG_SHOWAHEAD ? "ON" : "OFF"; + +input ctl_clk; +input ctl_reset_n; + +input write_request; +input [CFG_DATA_WIDTH - 1 : 0] write_data; + +input read_request; +output [CFG_DATA_WIDTH - 1 : 0] read_data; +output read_data_valid; + +output fifo_empty; +output fifo_full; + + wire [CFG_DATA_WIDTH - 1 : 0] read_data; + wire read_data_valid; + wire direct_fifo_empty; + wire fifo_empty; + wire fifo_full; + + +wire int_write_request; +wire [CFG_DATA_WIDTH - 1 : 0] int_write_data; + +generate + genvar stage; + + if (CFG_REGISTERED_INPUT == 0) begin: input_no_pipe + assign int_write_request = write_request; + assign int_write_data = write_data; + end + else begin : input_pipe + reg write_request_pipe [CFG_REGISTERED_INPUT_STAGES - 1 : 0]; + reg [CFG_DATA_WIDTH - 1 : 0] write_data_pipe [CFG_REGISTERED_INPUT_STAGES - 1 : 0]; + + assign int_write_request = write_request_pipe [CFG_REGISTERED_INPUT_STAGES - 1]; + assign int_write_data = write_data_pipe [CFG_REGISTERED_INPUT_STAGES - 1]; + + for (stage = 0; stage < CFG_REGISTERED_INPUT_STAGES; stage = stage + 1) + begin : stage_gen + always @(posedge ctl_clk) begin + write_request_pipe[stage] <= (stage == 0) ? write_request : write_request_pipe[stage-1]; + write_data_pipe [stage] <= (stage == 0) ? write_data : write_data_pipe [stage-1]; + end + end + end +endgenerate + + scfifo # + ( + .add_ram_output_register (SCFIFO_REGISTERED_OUTPUT ), + .enable_ecc ("FALSE" ), + .intended_device_family ("Stratix 10" ), + .lpm_numwords (SCFIFO_DEPTH ), + .lpm_showahead (SCFIFO_SHOWAHEAD ), + .lpm_type ("scfifo" ), + .lpm_width (CFG_DATA_WIDTH ), + .lpm_widthu (CFG_ADDR_WIDTH ), + .overflow_checking ("OFF" ), + .underflow_checking ("OFF" ), + .use_eab (CFG_USE_EAB ) + ) + scfifo_inst + ( + .aclr ( 1'b0 ), + .clock ( ctl_clk ), + .data ( int_write_data ), + .rdreq ( read_request ), + .wrreq ( int_write_request ), + .empty ( direct_fifo_empty ), + .full ( fifo_full ), + .q ( read_data ), + .almost_empty ( ), + .almost_full ( ), + .sclr ( ~ctl_reset_n ), + .usedw ( ) + ); + +generate + if (CFG_USE_EAB == "ON" && CFG_SHOWAHEAD != 0 && CFG_REGISTERED_OUTPUT != 0) begin : ext_empty_tracker + + reg pipe_wrreq_r /* synthesis preserve_syn_only = 1 */; + reg pipe_wrreq_rr /* synthesis preserve_syn_only = 1 */; + always @ (posedge ctl_clk) + begin + pipe_wrreq_r <= int_write_request; + pipe_wrreq_rr <= pipe_wrreq_r; + end + + reg [ENTRIES_COUNTER_WIDTH - 1 : 0] counter; + reg counter_is_zero; + reg counter_is_one; + + always @ (posedge ctl_clk) + begin + if (~ctl_reset_n) begin + counter <= {ENTRIES_COUNTER_WIDTH{1'b0}}; + counter_is_zero <= 1'b1; + counter_is_one <= 1'b0; + end else begin + if (pipe_wrreq_rr && ~read_request) begin + counter <= counter + 1'b1; + counter_is_zero <= 1'b0; + counter_is_one <= counter_is_zero; + end else if (~pipe_wrreq_rr && read_request) begin + counter <= counter - 1'b1; + counter_is_zero <= counter_is_one; + counter_is_one <= (counter == 2); + end + end + end + + assign fifo_empty = counter_is_zero; + assign read_data_valid = ~counter_is_zero; + end + else begin : use_scfifo_empty_tracker + assign fifo_empty = direct_fifo_empty; + assign read_data_valid = ~direct_fifo_empty; + end +endgenerate + + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EDOk9aHkqOWcF03Flz/QBMSreEuyWo4K6eyOsLyEFYN9On3eZk+elXPo7iY6i+PydkAYxVQfMayJZYIUU2CpWci6DeG5yvciiioyBM9C9TnfFLC35rbm/VIDkBNnR1HQE3A8qOYRXzX7DUX34pdVdNLZf/DYC82NZAuXBEYN0Tn1suTbo7kLNekmusWQQybRj8DarEH32vjE5ieLX7A1ImqW/UNVrjtKEWLBBA+v8CNFOSPeqLJ2J3keLErHE+4i9gAUOotRGIUZSCaHr3hvJowKMQjRFRaVYQBIYFg2QNqMUvB7xXD5D2IBGbggGU52F0AmaOtMX4wJjyZ744NmipE07D7XxvQyrtQ+1kaz0rTl6cDhKf8oFNu23cml5XDbha7Mmd1L2IdARpK5QJbwVDMVLEeb1fAVlPGbovTgwQwPZBeLLoSh32My/TM8GyRgEjWFSH6x4lqqBsG4QyOT3uSZJCy+88a+dbKDm7PMl46Vl7Hx2A5ZImDeYUsM7FmhARCDE76XVnmFD3sFz5wEJxNlix4ubvLd9ske6oYWmAuPnEXPYU9rssBwacS5uQ+4Ke/2e77aLfoNO1Zk9HmuJT/KTswqDbKQZosbw0Vqbo7fTkST2qOrlDM89ZQeA1znKsbV8y+mLy0cDWqj08IfCprwpuD7YTVe1HnIFeEJ4mazaE5bmrraHRmjypEtZXry4jTKEo9mWk/AJ7sFJwCVm//DgvNjNaJCZ0RLcSEjg7b8Ty1PQ1kvSGQ6m7dau//yso84+Q3HU01eiPQdbdPCVJi" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_fm_274/synth/ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_fm_274/synth/ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v new file mode 100644 index 0000000000..e4e69d03e2 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/altera_emif_fm_274/synth/ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v @@ -0,0 +1,2149 @@ +// ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v + +// This file was auto-generated from altera_emif_fm_hw.tcl. If you edit it your changes +// will probably be lost. +// +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq ( + input wire local_reset_req, // local_reset_req.local_reset_req, Signal from user logic to request the memory interface to be reset and recalibrated. Reset request is sent by transitioning the local_reset_req signal from low to high, then keeping the signal at the high state for a minimum of 2 EMIF core clock cycles, then transitioning the signal from high to low. local_reset_req is asynchronous in that there is no setup/hold timing to meet, but it must meet the minimum pulse width requirement of 2 EMIF core clock cycles. + output wire local_reset_done, // local_reset_status.local_reset_done, Signal from memory interface to indicate whether it has completed a reset sequence, is currently out of reset, and is ready for a new reset request. When local_reset_done is low, the memory interface is in reset. + input wire pll_ref_clk, // pll_ref_clk.clk, PLL reference clock input + output wire pll_locked, // pll_locked.pll_locked, PLL lock signal to indicate whether the PLL has locked + input wire oct_rzqin, // oct.oct_rzqin, Calibrated On-Chip Termination (OCT) RZQ input pin + output wire [0:0] mem_ck, // mem.mem_ck, CK clock + output wire [0:0] mem_ck_n, // .mem_ck_n, CK clock (negative leg) + output wire [16:0] mem_a, // .mem_a, Address + output wire [0:0] mem_act_n, // .mem_act_n, Activation command + output wire [1:0] mem_ba, // .mem_ba, Bank address + output wire [1:0] mem_bg, // .mem_bg, Bank group + output wire [0:0] mem_cke, // .mem_cke, Clock enable + output wire [0:0] mem_cs_n, // .mem_cs_n, Chip select + output wire [0:0] mem_odt, // .mem_odt, On-die termination + output wire [0:0] mem_reset_n, // .mem_reset_n, Asynchronous reset + output wire [0:0] mem_par, // .mem_par, Command and address parity + input wire [0:0] mem_alert_n, // .mem_alert_n, Alert flag + inout wire [8:0] mem_dqs, // .mem_dqs, Data strobe + inout wire [8:0] mem_dqs_n, // .mem_dqs_n, Data strobe (negative leg) + inout wire [71:0] mem_dq, // .mem_dq, Read/write data + inout wire [8:0] mem_dbi_n, // .mem_dbi_n, Acts as either the data bus inversion pin, or the data mask pin, depending on configuration. + output wire local_cal_success, // status.local_cal_success, When high, indicates that PHY calibration was successful + output wire local_cal_fail, // .local_cal_fail, When high, indicates that PHY calibration failed + input wire calbus_read, // emif_calbus.calbus_read, EMIF Calibration component bus for read + input wire calbus_write, // .calbus_write, EMIF Calibration component bus for write + input wire [19:0] calbus_address, // .calbus_address, EMIF Calibration component bus for address + input wire [31:0] calbus_wdata, // .calbus_wdata, EMIF Calibration component bus for write data + output wire [31:0] calbus_rdata, // .calbus_rdata, EMIF Calibration component bus for read data + output wire [4095:0] calbus_seq_param_tbl, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + input wire calbus_clk, // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + output wire emif_usr_reset_n, // emif_usr_reset_n.reset_n, Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + output wire emif_usr_clk, // emif_usr_clk.clk, User clock domain + output wire ctrl_ecc_user_interrupt_0, // ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt, Controller ECC user interrupt signal to determine whether there is a bit error + output wire amm_ready_0, // ctrl_amm_0.waitrequest_n, Wait-request is asserted when controller is busy + input wire amm_read_0, // .read, Read request signal + input wire amm_write_0, // .write, Write request signal + input wire [26:0] amm_address_0, // .address, Address for the read/write request + output wire [511:0] amm_readdata_0, // .readdata, Read data + input wire [511:0] amm_writedata_0, // .writedata, Write data + input wire [6:0] amm_burstcount_0, // .burstcount, Number of transfers in each read/write burst + input wire [63:0] amm_byteenable_0, // .byteenable, Byte-enable for write data + output wire amm_readdatavalid_0 // .readdatavalid, Indicates whether read data is valid + ); + + wire arch_emif_usr_clk_clk; // arch:emif_usr_clk -> ecc_core:emif_usr_clk_in + wire arch_emif_usr_reset_n_reset; // arch:emif_usr_reset_n -> ecc_core:emif_usr_reset_n_in + wire [12:0] arch_ctrl_ecc_0_ctrl_ecc_rdata_id; // arch:ctrl_ecc_rdata_id_0 -> ecc_core:ctrl_ecc_rdata_id_0 + wire [2:0] arch_ctrl_ecc_0_ctrl_ecc_read_info; // arch:ctrl_ecc_read_info_0 -> ecc_core:ctrl_ecc_read_info_0 + wire [14:0] ecc_core_ctrl_ecc_0_ctrl_ecc_write_info; // ecc_core:ctrl_ecc_write_info_0 -> arch:ctrl_ecc_write_info_0 + wire arch_ctrl_ecc_0_ctrl_ecc_idle; // arch:ctrl_ecc_idle_0 -> ecc_core:ctrl_ecc_idle_0 + wire [11:0] arch_ctrl_ecc_0_ctrl_ecc_wr_pointer_info; // arch:ctrl_ecc_wr_pointer_info_0 -> ecc_core:ctrl_ecc_wr_pointer_info_0 + wire [2:0] arch_ctrl_ecc_0_ctrl_ecc_cmd_info; // arch:ctrl_ecc_cmd_info_0 -> ecc_core:ctrl_ecc_cmd_info_0 + wire ecc_core_ctrl_ast_cmd_0_valid; // ecc_core:ast_cmd_valid_0 -> arch:ast_cmd_valid_0 + wire [60:0] ecc_core_ctrl_ast_cmd_0_data; // ecc_core:ast_cmd_data_0 -> arch:ast_cmd_data_0 + wire ecc_core_ctrl_ast_cmd_0_ready; // arch:ast_cmd_ready_0 -> ecc_core:ast_cmd_ready_0 + wire ecc_core_ctrl_ast_wr_0_valid; // ecc_core:ast_wr_valid_0 -> arch:ast_wr_valid_0 + wire [647:0] ecc_core_ctrl_ast_wr_0_data; // ecc_core:ast_wr_data_0 -> arch:ast_wr_data_0 + wire ecc_core_ctrl_ast_wr_0_ready; // arch:ast_wr_ready_0 -> ecc_core:ast_wr_ready_0 + wire arch_ctrl_ast_rd_0_valid; // arch:ast_rd_valid_0 -> ecc_core:ast_rd_valid_0 + wire [575:0] arch_ctrl_ast_rd_0_data; // arch:ast_rd_data_0 -> ecc_core:ast_rd_data_0 + wire arch_ctrl_ast_rd_0_ready; // ecc_core:ast_rd_ready_0 -> arch:ast_rd_ready_0 + + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy #( + .PROTOCOL_ENUM ("PROTOCOL_DDR4"), + .PHY_TARGET_IS_ES (0), + .PHY_TARGET_IS_ES2 (0), + .PHY_TARGET_IS_PRODUCTION (0), + .PHY_CONFIG_ENUM ("CONFIG_PHY_AND_HARD_CTRL"), + .PHY_PING_PONG_EN (0), + .PHY_CORE_CLKS_SHARING_ENUM ("CORE_CLKS_SHARING_DISABLED"), + .PHY_CALIBRATED_OCT (1), + .PHY_AC_CALIBRATED_OCT (1), + .PHY_CK_CALIBRATED_OCT (1), + .PHY_DATA_CALIBRATED_OCT (1), + .PHY_MIMIC_HPS_EMIF (0), + .PLL_NUM_OF_EXTRA_CLKS (0), + .MEM_FORMAT_ENUM ("MEM_FORMAT_RDIMM"), + .MEM_BURST_LENGTH (8), + .MEM_DATA_MASK_EN (1), + .MEM_TTL_DATA_WIDTH (72), + .MEM_TTL_NUM_OF_READ_GROUPS (9), + .MEM_TTL_NUM_OF_WRITE_GROUPS (9), + .DIAG_SIM_REGTEST_MODE (0), + .DIAG_SYNTH_FOR_SIM (0), + .DIAG_SEQ_RESET_AUTO_RELEASE ("avl"), + .DIAG_DB_RESET_AUTO_RELEASE ("avl_release"), + .DIAG_ECLIPSE_DEBUG (0), + .DIAG_USE_ABSTRACT_PHY (0), + .DIAG_SIM_VERBOSE_LEVEL (5), + .DIAG_FAST_SIM (1), + .SILICON_REV ("14nm5"), + .IS_HPS (0), + .USER_CLK_RATIO (4), + .C2P_P2C_CLK_RATIO (4), + .PHY_HMC_CLK_RATIO (2), + .DIAG_ABSTRACT_PHY_WLAT (9), + .DIAG_ABSTRACT_PHY_RLAT (20), + .DIAG_CPA_OUT_1_EN (0), + .DIAG_USE_CPA_LOCK (1), + .DQS_BUS_MODE_ENUM ("DQS_BUS_MODE_X8_X9"), + .AC_PIN_MAP_SCHEME ("use_0_1_2_3_lane"), + .NUM_OF_HMC_PORTS (1), + .HMC_AVL_PROTOCOL_ENUM ("CTRL_AVL_PROTOCOL_ST"), + .HMC_READY_LATENCY (2), + .HMC_CTRL_DIMM_TYPE ("dimm_type_rdimm"), + .SEQ_PT_SYN_CONTENT ("00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d00c08100b0000000000000000000005066008000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000"), + .SEQ_PT_SIM_CONTENT ("00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d20e08100b0000000000000000000005077d58000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000"), + .REGISTER_AFI_C2P (1), + .REGISTER_AFI_P2C (1), + .REGISTER_AMM_P2C (1), + .REGISTER_AMM_C2P (1), + .NUM_OF_RTL_TILES (4), + .PRI_RDATA_TILE_INDEX (0), + .PRI_RDATA_LANE_INDEX (0), + .PRI_WDATA_TILE_INDEX (0), + .PRI_WDATA_LANE_INDEX (0), + .PRI_AC_TILE_INDEX (1), + .SEC_RDATA_TILE_INDEX (0), + .SEC_RDATA_LANE_INDEX (0), + .SEC_WDATA_TILE_INDEX (0), + .SEC_WDATA_LANE_INDEX (0), + .SEC_AC_TILE_INDEX (1), + .LANES_USAGE_0 (757373805), + .LANES_USAGE_1 (365), + .LANES_USAGE_2 (0), + .LANES_USAGE_3 (0), + .LANES_USAGE_AUTOGEN_WCNT (4), + .PINS_USAGE_0 (1073217407), + .PINS_USAGE_1 (763355133), + .PINS_USAGE_2 (15699967), + .PINS_USAGE_3 (1040179140), + .PINS_USAGE_4 (1073217407), + .PINS_USAGE_5 (61), + .PINS_USAGE_6 (0), + .PINS_USAGE_7 (0), + .PINS_USAGE_8 (0), + .PINS_USAGE_9 (0), + .PINS_USAGE_10 (0), + .PINS_USAGE_11 (0), + .PINS_USAGE_12 (0), + .PINS_USAGE_AUTOGEN_WCNT (13), + .LANE_PIN_USAGE_0 (20058385), + .LANE_PIN_USAGE_1 (71582788), + .LANE_PIN_USAGE_2 (286266145), + .LANE_PIN_USAGE_3 (209994820), + .LANE_PIN_USAGE_4 (286331137), + .LANE_PIN_USAGE_5 (67422276), + .LANE_PIN_USAGE_6 (71581969), + .LANE_PIN_USAGE_7 (269828353), + .LANE_PIN_USAGE_8 (71582788), + .LANE_PIN_USAGE_9 (69905), + .LANE_PIN_USAGE_10 (67388484), + .LANE_PIN_USAGE_11 (17), + .LANE_PIN_USAGE_12 (285213696), + .LANE_PIN_USAGE_13 (67422276), + .LANE_PIN_USAGE_14 (554766609), + .LANE_PIN_USAGE_15 (71581772), + .LANE_PIN_USAGE_16 (20058385), + .LANE_PIN_USAGE_17 (71582788), + .LANE_PIN_USAGE_18 (286266145), + .LANE_PIN_USAGE_19 (209994820), + .LANE_PIN_USAGE_20 (1118465), + .LANE_PIN_USAGE_21 (0), + .LANE_PIN_USAGE_22 (0), + .LANE_PIN_USAGE_23 (0), + .LANE_PIN_USAGE_24 (0), + .LANE_PIN_USAGE_25 (0), + .LANE_PIN_USAGE_26 (0), + .LANE_PIN_USAGE_27 (0), + .LANE_PIN_USAGE_28 (0), + .LANE_PIN_USAGE_29 (0), + .LANE_PIN_USAGE_30 (0), + .LANE_PIN_USAGE_31 (0), + .LANE_PIN_USAGE_32 (0), + .LANE_PIN_USAGE_33 (0), + .LANE_PIN_USAGE_34 (0), + .LANE_PIN_USAGE_35 (0), + .LANE_PIN_USAGE_36 (0), + .LANE_PIN_USAGE_37 (0), + .LANE_PIN_USAGE_38 (0), + .LANE_PIN_USAGE_39 (0), + .LANE_PIN_USAGE_40 (0), + .LANE_PIN_USAGE_41 (0), + .LANE_PIN_USAGE_42 (0), + .LANE_PIN_USAGE_43 (0), + .LANE_PIN_USAGE_44 (0), + .LANE_PIN_USAGE_45 (0), + .LANE_PIN_USAGE_46 (0), + .LANE_PIN_USAGE_47 (0), + .LANE_PIN_USAGE_48 (0), + .LANE_PIN_USAGE_49 (0), + .LANE_PIN_USAGE_50 (0), + .LANE_PIN_USAGE_51 (0), + .LANE_PIN_USAGE_AUTOGEN_WCNT (52), + .PINS_RATE_0 (0), + .PINS_RATE_1 (561774592), + .PINS_RATE_2 (15699967), + .PINS_RATE_3 (4), + .PINS_RATE_4 (0), + .PINS_RATE_5 (0), + .PINS_RATE_6 (0), + .PINS_RATE_7 (0), + .PINS_RATE_8 (0), + .PINS_RATE_9 (0), + .PINS_RATE_10 (0), + .PINS_RATE_11 (0), + .PINS_RATE_12 (0), + .PINS_RATE_AUTOGEN_WCNT (13), + .DB_PINS_PROC_MODE_0 (275876963), + .DB_PINS_PROC_MODE_1 (103911395), + .DB_PINS_PROC_MODE_2 (275876963), + .DB_PINS_PROC_MODE_3 (103911395), + .DB_PINS_PROC_MODE_4 (275876963), + .DB_PINS_PROC_MODE_5 (103911395), + .DB_PINS_PROC_MODE_6 (275876963), + .DB_PINS_PROC_MODE_7 (103911395), + .DB_PINS_PROC_MODE_8 (1041269793), + .DB_PINS_PROC_MODE_9 (66230241), + .DB_PINS_PROC_MODE_10 (34636833), + .DB_PINS_PROC_MODE_11 (34636833), + .DB_PINS_PROC_MODE_12 (34668543), + .DB_PINS_PROC_MODE_13 (34667553), + .DB_PINS_PROC_MODE_14 (1073741823), + .DB_PINS_PROC_MODE_15 (1073730559), + .DB_PINS_PROC_MODE_16 (275876963), + .DB_PINS_PROC_MODE_17 (103911395), + .DB_PINS_PROC_MODE_18 (275876963), + .DB_PINS_PROC_MODE_19 (103911395), + .DB_PINS_PROC_MODE_20 (275876963), + .DB_PINS_PROC_MODE_21 (103911395), + .DB_PINS_PROC_MODE_22 (275876963), + .DB_PINS_PROC_MODE_23 (103911395), + .DB_PINS_PROC_MODE_24 (275876963), + .DB_PINS_PROC_MODE_25 (103911395), + .DB_PINS_PROC_MODE_26 (1073741823), + .DB_PINS_PROC_MODE_27 (1073741823), + .DB_PINS_PROC_MODE_28 (1073741823), + .DB_PINS_PROC_MODE_29 (1073741823), + .DB_PINS_PROC_MODE_30 (1073741823), + .DB_PINS_PROC_MODE_31 (1073741823), + .DB_PINS_PROC_MODE_32 (0), + .DB_PINS_PROC_MODE_33 (0), + .DB_PINS_PROC_MODE_34 (0), + .DB_PINS_PROC_MODE_35 (0), + .DB_PINS_PROC_MODE_36 (0), + .DB_PINS_PROC_MODE_37 (0), + .DB_PINS_PROC_MODE_38 (0), + .DB_PINS_PROC_MODE_39 (0), + .DB_PINS_PROC_MODE_40 (0), + .DB_PINS_PROC_MODE_41 (0), + .DB_PINS_PROC_MODE_42 (0), + .DB_PINS_PROC_MODE_43 (0), + .DB_PINS_PROC_MODE_44 (0), + .DB_PINS_PROC_MODE_45 (0), + .DB_PINS_PROC_MODE_46 (0), + .DB_PINS_PROC_MODE_47 (0), + .DB_PINS_PROC_MODE_48 (0), + .DB_PINS_PROC_MODE_49 (0), + .DB_PINS_PROC_MODE_50 (0), + .DB_PINS_PROC_MODE_51 (0), + .DB_PINS_PROC_MODE_52 (0), + .DB_PINS_PROC_MODE_53 (0), + .DB_PINS_PROC_MODE_54 (0), + .DB_PINS_PROC_MODE_55 (0), + .DB_PINS_PROC_MODE_56 (0), + .DB_PINS_PROC_MODE_57 (0), + .DB_PINS_PROC_MODE_58 (0), + .DB_PINS_PROC_MODE_59 (0), + .DB_PINS_PROC_MODE_60 (0), + .DB_PINS_PROC_MODE_61 (0), + .DB_PINS_PROC_MODE_62 (0), + .DB_PINS_PROC_MODE_63 (0), + .DB_PINS_PROC_MODE_AUTOGEN_WCNT (64), + .PINS_DATA_IN_MODE_0 (151515721), + .PINS_DATA_IN_MODE_1 (33329737), + .PINS_DATA_IN_MODE_2 (1059361353), + .PINS_DATA_IN_MODE_3 (153391681), + .PINS_DATA_IN_MODE_4 (153391231), + .PINS_DATA_IN_MODE_5 (150736969), + .PINS_DATA_IN_MODE_6 (153391689), + .PINS_DATA_IN_MODE_7 (153387017), + .PINS_DATA_IN_MODE_8 (584), + .PINS_DATA_IN_MODE_9 (153354304), + .PINS_DATA_IN_MODE_10 (153391231), + .PINS_DATA_IN_MODE_11 (153362377), + .PINS_DATA_IN_MODE_12 (151515721), + .PINS_DATA_IN_MODE_13 (33329737), + .PINS_DATA_IN_MODE_14 (1059361353), + .PINS_DATA_IN_MODE_15 (37441), + .PINS_DATA_IN_MODE_16 (0), + .PINS_DATA_IN_MODE_17 (0), + .PINS_DATA_IN_MODE_18 (0), + .PINS_DATA_IN_MODE_19 (0), + .PINS_DATA_IN_MODE_20 (0), + .PINS_DATA_IN_MODE_21 (0), + .PINS_DATA_IN_MODE_22 (0), + .PINS_DATA_IN_MODE_23 (0), + .PINS_DATA_IN_MODE_24 (0), + .PINS_DATA_IN_MODE_25 (0), + .PINS_DATA_IN_MODE_26 (0), + .PINS_DATA_IN_MODE_27 (0), + .PINS_DATA_IN_MODE_28 (0), + .PINS_DATA_IN_MODE_29 (0), + .PINS_DATA_IN_MODE_30 (0), + .PINS_DATA_IN_MODE_31 (0), + .PINS_DATA_IN_MODE_32 (0), + .PINS_DATA_IN_MODE_33 (0), + .PINS_DATA_IN_MODE_34 (0), + .PINS_DATA_IN_MODE_35 (0), + .PINS_DATA_IN_MODE_36 (0), + .PINS_DATA_IN_MODE_37 (0), + .PINS_DATA_IN_MODE_38 (0), + .PINS_DATA_IN_MODE_AUTOGEN_WCNT (39), + .PINS_C2L_DRIVEN_0 (267714383), + .PINS_C2L_DRIVEN_1 (250877), + .PINS_C2L_DRIVEN_2 (0), + .PINS_C2L_DRIVEN_3 (1027593152), + .PINS_C2L_DRIVEN_4 (267714383), + .PINS_C2L_DRIVEN_5 (61), + .PINS_C2L_DRIVEN_6 (0), + .PINS_C2L_DRIVEN_7 (0), + .PINS_C2L_DRIVEN_8 (0), + .PINS_C2L_DRIVEN_9 (0), + .PINS_C2L_DRIVEN_10 (0), + .PINS_C2L_DRIVEN_11 (0), + .PINS_C2L_DRIVEN_12 (0), + .PINS_C2L_DRIVEN_AUTOGEN_WCNT (13), + .PINS_OCT_MODE_0 (1073217407), + .PINS_OCT_MODE_1 (253949), + .PINS_OCT_MODE_2 (0), + .PINS_OCT_MODE_3 (1040179136), + .PINS_OCT_MODE_4 (1073217407), + .PINS_OCT_MODE_5 (61), + .PINS_OCT_MODE_6 (0), + .PINS_OCT_MODE_7 (0), + .PINS_OCT_MODE_8 (0), + .PINS_OCT_MODE_9 (0), + .PINS_OCT_MODE_10 (0), + .PINS_OCT_MODE_11 (0), + .PINS_OCT_MODE_12 (0), + .PINS_OCT_MODE_AUTOGEN_WCNT (13), + .PINS_DCC_SPLIT_0 (805503024), + .PINS_DCC_SPLIT_1 (201329664), + .PINS_DCC_SPLIT_2 (0), + .PINS_DCC_SPLIT_3 (12585984), + .PINS_DCC_SPLIT_4 (805503024), + .PINS_DCC_SPLIT_5 (0), + .PINS_DCC_SPLIT_6 (0), + .PINS_DCC_SPLIT_7 (0), + .PINS_DCC_SPLIT_8 (0), + .PINS_DCC_SPLIT_9 (0), + .PINS_DCC_SPLIT_10 (0), + .PINS_DCC_SPLIT_11 (0), + .PINS_DCC_SPLIT_12 (0), + .PINS_DCC_SPLIT_AUTOGEN_WCNT (13), + .UNUSED_MEM_PINS_PINLOC_0 (199425087), + .UNUSED_MEM_PINS_PINLOC_1 (196276413), + .UNUSED_MEM_PINS_PINLOC_2 (193127610), + .UNUSED_MEM_PINS_PINLOC_3 (189978807), + .UNUSED_MEM_PINS_PINLOC_4 (186830004), + .UNUSED_MEM_PINS_PINLOC_5 (183681201), + .UNUSED_MEM_PINS_PINLOC_6 (180532398), + .UNUSED_MEM_PINS_PINLOC_7 (177383595), + .UNUSED_MEM_PINS_PINLOC_8 (174234792), + .UNUSED_MEM_PINS_PINLOC_9 (171085989), + .UNUSED_MEM_PINS_PINLOC_10 (167937186), + .UNUSED_MEM_PINS_PINLOC_11 (164788383), + .UNUSED_MEM_PINS_PINLOC_12 (145906844), + .UNUSED_MEM_PINS_PINLOC_13 (108121215), + .UNUSED_MEM_PINS_PINLOC_14 (97613919), + .UNUSED_MEM_PINS_PINLOC_15 (93415515), + .UNUSED_MEM_PINS_PINLOC_16 (90266712), + .UNUSED_MEM_PINS_PINLOC_17 (83972181), + .UNUSED_MEM_PINS_PINLOC_18 (75572298), + .UNUSED_MEM_PINS_PINLOC_19 (55630906), + .UNUSED_MEM_PINS_PINLOC_20 (19954731), + .UNUSED_MEM_PINS_PINLOC_21 (7), + .UNUSED_MEM_PINS_PINLOC_22 (0), + .UNUSED_MEM_PINS_PINLOC_23 (0), + .UNUSED_MEM_PINS_PINLOC_24 (0), + .UNUSED_MEM_PINS_PINLOC_25 (0), + .UNUSED_MEM_PINS_PINLOC_26 (0), + .UNUSED_MEM_PINS_PINLOC_27 (0), + .UNUSED_MEM_PINS_PINLOC_28 (0), + .UNUSED_MEM_PINS_PINLOC_29 (0), + .UNUSED_MEM_PINS_PINLOC_30 (0), + .UNUSED_MEM_PINS_PINLOC_31 (0), + .UNUSED_MEM_PINS_PINLOC_32 (0), + .UNUSED_MEM_PINS_PINLOC_33 (0), + .UNUSED_MEM_PINS_PINLOC_34 (0), + .UNUSED_MEM_PINS_PINLOC_35 (0), + .UNUSED_MEM_PINS_PINLOC_36 (0), + .UNUSED_MEM_PINS_PINLOC_37 (0), + .UNUSED_MEM_PINS_PINLOC_38 (0), + .UNUSED_MEM_PINS_PINLOC_39 (0), + .UNUSED_MEM_PINS_PINLOC_40 (0), + .UNUSED_MEM_PINS_PINLOC_41 (0), + .UNUSED_MEM_PINS_PINLOC_42 (0), + .UNUSED_MEM_PINS_PINLOC_43 (0), + .UNUSED_MEM_PINS_PINLOC_44 (0), + .UNUSED_MEM_PINS_PINLOC_45 (0), + .UNUSED_MEM_PINS_PINLOC_46 (0), + .UNUSED_MEM_PINS_PINLOC_47 (0), + .UNUSED_MEM_PINS_PINLOC_48 (0), + .UNUSED_MEM_PINS_PINLOC_49 (0), + .UNUSED_MEM_PINS_PINLOC_50 (0), + .UNUSED_MEM_PINS_PINLOC_51 (0), + .UNUSED_MEM_PINS_PINLOC_52 (0), + .UNUSED_MEM_PINS_PINLOC_53 (0), + .UNUSED_MEM_PINS_PINLOC_54 (0), + .UNUSED_MEM_PINS_PINLOC_55 (0), + .UNUSED_MEM_PINS_PINLOC_56 (0), + .UNUSED_MEM_PINS_PINLOC_57 (0), + .UNUSED_MEM_PINS_PINLOC_58 (0), + .UNUSED_MEM_PINS_PINLOC_59 (0), + .UNUSED_MEM_PINS_PINLOC_60 (0), + .UNUSED_MEM_PINS_PINLOC_61 (0), + .UNUSED_MEM_PINS_PINLOC_62 (0), + .UNUSED_MEM_PINS_PINLOC_63 (0), + .UNUSED_MEM_PINS_PINLOC_64 (0), + .UNUSED_MEM_PINS_PINLOC_65 (0), + .UNUSED_MEM_PINS_PINLOC_66 (0), + .UNUSED_MEM_PINS_PINLOC_67 (0), + .UNUSED_MEM_PINS_PINLOC_68 (0), + .UNUSED_MEM_PINS_PINLOC_69 (0), + .UNUSED_MEM_PINS_PINLOC_70 (0), + .UNUSED_MEM_PINS_PINLOC_71 (0), + .UNUSED_MEM_PINS_PINLOC_72 (0), + .UNUSED_MEM_PINS_PINLOC_73 (0), + .UNUSED_MEM_PINS_PINLOC_74 (0), + .UNUSED_MEM_PINS_PINLOC_75 (0), + .UNUSED_MEM_PINS_PINLOC_76 (0), + .UNUSED_MEM_PINS_PINLOC_77 (0), + .UNUSED_MEM_PINS_PINLOC_78 (0), + .UNUSED_MEM_PINS_PINLOC_79 (0), + .UNUSED_MEM_PINS_PINLOC_80 (0), + .UNUSED_MEM_PINS_PINLOC_81 (0), + .UNUSED_MEM_PINS_PINLOC_82 (0), + .UNUSED_MEM_PINS_PINLOC_83 (0), + .UNUSED_MEM_PINS_PINLOC_84 (0), + .UNUSED_MEM_PINS_PINLOC_85 (0), + .UNUSED_MEM_PINS_PINLOC_86 (0), + .UNUSED_MEM_PINS_PINLOC_87 (0), + .UNUSED_MEM_PINS_PINLOC_88 (0), + .UNUSED_MEM_PINS_PINLOC_89 (0), + .UNUSED_MEM_PINS_PINLOC_90 (0), + .UNUSED_MEM_PINS_PINLOC_91 (0), + .UNUSED_MEM_PINS_PINLOC_92 (0), + .UNUSED_MEM_PINS_PINLOC_93 (0), + .UNUSED_MEM_PINS_PINLOC_94 (0), + .UNUSED_MEM_PINS_PINLOC_95 (0), + .UNUSED_MEM_PINS_PINLOC_96 (0), + .UNUSED_MEM_PINS_PINLOC_97 (0), + .UNUSED_MEM_PINS_PINLOC_98 (0), + .UNUSED_MEM_PINS_PINLOC_99 (0), + .UNUSED_MEM_PINS_PINLOC_100 (0), + .UNUSED_MEM_PINS_PINLOC_101 (0), + .UNUSED_MEM_PINS_PINLOC_102 (0), + .UNUSED_MEM_PINS_PINLOC_103 (0), + .UNUSED_MEM_PINS_PINLOC_104 (0), + .UNUSED_MEM_PINS_PINLOC_105 (0), + .UNUSED_MEM_PINS_PINLOC_106 (0), + .UNUSED_MEM_PINS_PINLOC_107 (0), + .UNUSED_MEM_PINS_PINLOC_108 (0), + .UNUSED_MEM_PINS_PINLOC_109 (0), + .UNUSED_MEM_PINS_PINLOC_110 (0), + .UNUSED_MEM_PINS_PINLOC_111 (0), + .UNUSED_MEM_PINS_PINLOC_112 (0), + .UNUSED_MEM_PINS_PINLOC_113 (0), + .UNUSED_MEM_PINS_PINLOC_114 (0), + .UNUSED_MEM_PINS_PINLOC_115 (0), + .UNUSED_MEM_PINS_PINLOC_116 (0), + .UNUSED_MEM_PINS_PINLOC_117 (0), + .UNUSED_MEM_PINS_PINLOC_118 (0), + .UNUSED_MEM_PINS_PINLOC_119 (0), + .UNUSED_MEM_PINS_PINLOC_120 (0), + .UNUSED_MEM_PINS_PINLOC_121 (0), + .UNUSED_MEM_PINS_PINLOC_122 (0), + .UNUSED_MEM_PINS_PINLOC_123 (0), + .UNUSED_MEM_PINS_PINLOC_124 (0), + .UNUSED_MEM_PINS_PINLOC_125 (0), + .UNUSED_MEM_PINS_PINLOC_126 (0), + .UNUSED_MEM_PINS_PINLOC_127 (0), + .UNUSED_MEM_PINS_PINLOC_128 (0), + .UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT (129), + .UNUSED_DQS_BUSES_LANELOC_0 (14695431), + .UNUSED_DQS_BUSES_LANELOC_1 (6298637), + .UNUSED_DQS_BUSES_LANELOC_2 (4101), + .UNUSED_DQS_BUSES_LANELOC_3 (0), + .UNUSED_DQS_BUSES_LANELOC_4 (0), + .UNUSED_DQS_BUSES_LANELOC_5 (0), + .UNUSED_DQS_BUSES_LANELOC_6 (0), + .UNUSED_DQS_BUSES_LANELOC_7 (0), + .UNUSED_DQS_BUSES_LANELOC_8 (0), + .UNUSED_DQS_BUSES_LANELOC_9 (0), + .UNUSED_DQS_BUSES_LANELOC_10 (0), + .UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT (11), + .DBC_EXTRA_PIPE_STAGE_EN ("disable"), + .DBC_PIPE_LATS_0 (286335522), + .DBC_PIPE_LATS_1 (821384), + .DBC_PIPE_LATS_2 (0), + .DBC_PIPE_LATS_3 (0), + .DBC_PIPE_LATS_4 (0), + .DBC_PIPE_LATS_AUTOGEN_WCNT (5), + .DB_PTR_PIPELINE_DEPTHS_0 (286331153), + .DB_PTR_PIPELINE_DEPTHS_1 (17476), + .DB_PTR_PIPELINE_DEPTHS_2 (0), + .DB_PTR_PIPELINE_DEPTHS_3 (0), + .DB_PTR_PIPELINE_DEPTHS_4 (0), + .DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT (5), + .DB_SEQ_RD_EN_FULL_PIPELINES_0 (858993459), + .DB_SEQ_RD_EN_FULL_PIPELINES_1 (838860), + .DB_SEQ_RD_EN_FULL_PIPELINES_2 (0), + .DB_SEQ_RD_EN_FULL_PIPELINES_3 (0), + .DB_SEQ_RD_EN_FULL_PIPELINES_4 (0), + .DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT (5), + .CENTER_TIDS_0 (542119940), + .CENTER_TIDS_1 (3), + .CENTER_TIDS_2 (0), + .CENTER_TIDS_AUTOGEN_WCNT (3), + .HMC_TIDS_0 (676600325), + .HMC_TIDS_1 (3), + .HMC_TIDS_2 (0), + .HMC_TIDS_AUTOGEN_WCNT (3), + .LANE_TIDS_0 (403177984), + .LANE_TIDS_1 (168067584), + .LANE_TIDS_2 (35717208), + .LANE_TIDS_3 (140518930), + .LANE_TIDS_4 (886403), + .LANE_TIDS_5 (0), + .LANE_TIDS_6 (0), + .LANE_TIDS_7 (0), + .LANE_TIDS_8 (0), + .LANE_TIDS_9 (0), + .LANE_TIDS_AUTOGEN_WCNT (10), + .PREAMBLE_MODE ("preamble_one_cycle"), + .DBI_WR_ENABLE ("dbi_wr_dis"), + .DBI_RD_ENABLE ("dbi_rd_ena"), + .SWAP_DQS_A_B ("false"), + .DQS_PACK_MODE ("packed"), + .OCT_SIZE (3), + .DQSA_LGC_MODE ("dqs_diff_in_1_a"), + .DQSB_LGC_MODE ("dqs_constant_b"), + .DBC_WB_RESERVED_ENTRY (52), + .DLL_MODE ("dll_ctl_dynamic"), + .DLL_CODEWORD (0), + .ABPHY_WRITE_PROTOCOL (0), + .PHY_USERMODE_OCT (0), + .PHY_PERIODIC_OCT_RECAL (0), + .GENERATE_PHYLITE (0), + .HPRX_CTLE_EN ("on"), + .HPRX_OFFSET_CAL ("true"), + .CPA_FB_MUX_1_SEL ("local_p_clk"), + .ENABLE_RD_TYPE (0), + .AMM_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .AMM_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .MMR_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .MMR_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .SIDEBAND_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .SIDEBAND_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .SEQ_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .SEQ_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .ECC_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .ECC_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .LANE_C2P_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .LANE_P2C_UFI_MODE ("pin_ufi_use_in_direct_out_direct"), + .AMM_HIPI_DELAY (350), + .MMR_HIPI_DELAY (350), + .SIDEBAND_HIPI_DELAY (350), + .SEQ_HIPI_DELAY (350), + .ECC_HIPI_DELAY (350), + .LANE_HIPI_DELAY (350), + .PRI_HMC_CFG_PING_PONG_MODE ("pingpong_off"), + .PRI_HMC_CFG_CS_ADDR_WIDTH ("cs_width_0"), + .PRI_HMC_CFG_COL_ADDR_WIDTH ("col_width_10"), + .PRI_HMC_CFG_ROW_ADDR_WIDTH ("row_width_16"), + .PRI_HMC_CFG_BANK_ADDR_WIDTH ("bank_width_2"), + .PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH ("bank_group_width_2"), + .PRI_HMC_CFG_ADDR_ORDER ("addr_order_cs_row_ba_col"), + .PRI_HMC_CFG_ARBITER_TYPE ("arbiter_type_2t"), + .PRI_HMC_CFG_OPEN_PAGE_EN ("disable"), + .PRI_HMC_CFG_CTRL_ENABLE_RC ("enable"), + .PRI_HMC_CFG_DBC0_ENABLE_RC ("enable"), + .PRI_HMC_CFG_DBC1_ENABLE_RC ("enable"), + .PRI_HMC_CFG_DBC2_ENABLE_RC ("enable"), + .PRI_HMC_CFG_DBC3_ENABLE_RC ("enable"), + .PRI_HMC_CFG_CTRL_ENABLE_ECC ("enable"), + .PRI_HMC_CFG_DBC0_ENABLE_ECC ("enable"), + .PRI_HMC_CFG_DBC1_ENABLE_ECC ("enable"), + .PRI_HMC_CFG_DBC2_ENABLE_ECC ("enable"), + .PRI_HMC_CFG_DBC3_ENABLE_ECC ("enable"), + .PRI_HMC_CFG_REORDER_DATA ("enable"), + .PRI_HMC_CFG_REORDER_READ ("disable"), + .PRI_HMC_CFG_CTRL_REORDER_RDATA ("disable"), + .PRI_HMC_CFG_DBC0_REORDER_RDATA ("disable"), + .PRI_HMC_CFG_DBC1_REORDER_RDATA ("disable"), + .PRI_HMC_CFG_DBC2_REORDER_RDATA ("disable"), + .PRI_HMC_CFG_DBC3_REORDER_RDATA ("disable"), + .PRI_HMC_CFG_CTRL_SLOT_OFFSET (2), + .PRI_HMC_CFG_DBC0_SLOT_OFFSET (2), + .PRI_HMC_CFG_DBC1_SLOT_OFFSET (2), + .PRI_HMC_CFG_DBC2_SLOT_OFFSET (2), + .PRI_HMC_CFG_DBC3_SLOT_OFFSET (2), + .PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN ("ctrl_disable"), + .PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN ("dbc0_disable"), + .PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN ("dbc1_disable"), + .PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN ("dbc2_disable"), + .PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN ("dbc3_disable"), + .PRI_HMC_CFG_COL_CMD_SLOT (2), + .PRI_HMC_CFG_ROW_CMD_SLOT (1), + .PRI_HMC_CFG_ROW_TO_COL_OFFSET (-1), + .PRI_HMC_CFG_ROW_TO_ROW_OFFSET (0), + .PRI_HMC_CFG_COL_TO_COL_OFFSET (0), + .PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET (0), + .PRI_HMC_CFG_COL_TO_ROW_OFFSET (1), + .PRI_HMC_CFG_SIDEBAND_OFFSET (1), + .PRI_HMC_CFG_CS_TO_CHIP_MAPPING (33825), + .PRI_HMC_CFG_CTL_ODT_ENABLED (1), + .PRI_HMC_CFG_RD_ODT_ON (4), + .PRI_HMC_CFG_RD_ODT_PERIOD (7), + .PRI_HMC_CFG_READ_ODT_CHIP (0), + .PRI_HMC_CFG_WR_ODT_ON (0), + .PRI_HMC_CFG_WR_ODT_PERIOD (6), + .PRI_HMC_CFG_WRITE_ODT_CHIP (0), + .PRI_HMC_CFG_CMD_FIFO_RESERVE_EN ("enable"), + .PRI_HMC_CFG_RB_RESERVED_ENTRY (8), + .PRI_HMC_CFG_WB_RESERVED_ENTRY (52), + .PRI_HMC_CFG_STARVE_LIMIT (10), + .PRI_HMC_CFG_PHY_DELAY_MISMATCH (0), + .PRI_HMC_CFG_DQSTRK_EN ("disable"), + .PRI_HMC_CFG_DQSTRK_TO_VALID (4), + .PRI_HMC_CFG_DQSTRK_TO_VALID_LAST (26), + .PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN (0), + .PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN ("disable"), + .PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL (0), + .PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN ("disable"), + .PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD (0), + .PRI_HMC_CFG_USER_RFSH_EN ("disable"), + .PRI_HMC_CFG_GEAR_DOWN_EN ("disable"), + .PRI_HMC_CFG_MEM_AUTO_PD_CYCLES (0), + .PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (15), + .PRI_HMC_MEMCLKGATE_SETTING (0), + .PRI_HMC_CFG_TCL (21), + .PRI_HMC_CFG_16_ACT_TO_ACT (0), + .PRI_HMC_CFG_4_ACT_TO_ACT (12), + .PRI_HMC_MEM_IF_AL (0), + .PRI_HMC_MEM_IF_CS_PER_DIMM (0), + .PRI_HMC_MEM_IF_RD_PREAMBLE (0), + .PRI_HMC_MEM_IF_TCCD (0), + .PRI_HMC_MEM_IF_TCCD_S (0), + .PRI_HMC_MEM_IF_TCKESR (0), + .PRI_HMC_MEM_IF_TCKSRX (0), + .PRI_HMC_MEM_IF_TCL (0), + .PRI_HMC_MEM_IF_TCWL (0), + .PRI_HMC_MEM_IF_TDQSCKMAX (0), + .PRI_HMC_MEM_IF_TFAW (0), + .PRI_HMC_MEM_IF_TMOD (0), + .PRI_HMC_MEM_IF_TPL (0), + .PRI_HMC_MEM_IF_TRAS (0), + .PRI_HMC_MEM_IF_TRC (0), + .PRI_HMC_MEM_IF_TRCD (0), + .PRI_HMC_MEM_IF_TREFI (0), + .PRI_HMC_MEM_IF_TRFC (0), + .PRI_HMC_MEM_IF_TRP (0), + .PRI_HMC_MEM_IF_TRRD (0), + .PRI_HMC_MEM_IF_TRRD_S (0), + .PRI_HMC_MEM_IF_TRTP (0), + .PRI_HMC_MEM_IF_TWR (0), + .PRI_HMC_MEM_IF_TWR_CRC_DM (0), + .PRI_HMC_MEM_IF_TWTR (0), + .PRI_HMC_MEM_IF_TWTR_L_CRC_DM (0), + .PRI_HMC_MEM_IF_TWTR_S (0), + .PRI_HMC_MEM_IF_TWTR_S_CRC_DM (0), + .PRI_HMC_MEM_IF_TXP (0), + .PRI_HMC_MEM_IF_TXPDLL (0), + .PRI_HMC_MEM_IF_TXSR (0), + .PRI_HMC_MEM_IF_TZQCS (0), + .PRI_HMC_MEM_IF_TZQOPER (0), + .PRI_HMC_MEM_IF_WR_CRC (0), + .PRI_HMC_MEM_IF_WR_PREAMBLE (0), + .PRI_HMC_CFG_ACT_TO_ACT (28), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK (3), + .PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG (2), + .PRI_HMC_CFG_ACT_TO_PCH (20), + .PRI_HMC_CFG_ACT_TO_RDWR (8), + .PRI_HMC_CFG_ARF_PERIOD (4681), + .PRI_HMC_CFG_ARF_TO_VALID (211), + .PRI_HMC_CFG_MMR_CMD_TO_VALID (16), + .PRI_HMC_CFG_MPR_TO_VALID (16), + .PRI_HMC_CFG_MPS_DQSTRK_DISABLE ("disable"), + .PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS (6), + .PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE (5), + .PRI_HMC_CFG_MPS_TO_VALID (768), + .PRI_HMC_CFG_MPS_ZQCAL_DISABLE ("disable"), + .PRI_HMC_CFG_MRR_TO_VALID (0), + .PRI_HMC_CFG_MRS_TO_VALID (12), + .PRI_HMC_CFG_PCH_ALL_TO_VALID (9), + .PRI_HMC_CFG_PCH_TO_VALID (9), + .PRI_HMC_CFG_PDN_PERIOD (0), + .PRI_HMC_CFG_PDN_TO_VALID (5), + .PRI_HMC_CFG_POWER_SAVING_EXIT_CYC (3), + .PRI_HMC_CFG_RD_AP_TO_VALID (14), + .PRI_HMC_CFG_RD_TO_PCH (5), + .PRI_HMC_CFG_RD_TO_RD (3), + .PRI_HMC_CFG_RD_TO_RD_DIFF_BG (2), + .PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP (4), + .PRI_HMC_CFG_RD_TO_WR (10), + .PRI_HMC_CFG_RD_TO_WR_DIFF_BG (10), + .PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP (10), + .PRI_HMC_CFG_RFSH_WARN_THRESHOLD (0), + .PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ0 (0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ1 (0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ2 (0), + .PRI_HMC_CFG_RLD3_REFRESH_SEQ3 (0), + .PRI_HMC_CFG_SB_CG_DISABLE ("disable"), + .PRI_HMC_CFG_SB_DDR4_MR3 (197632), + .PRI_HMC_CFG_SB_DDR4_MR4 (264192), + .PRI_HMC_CFG_SB_DDR4_MR5 (5216), + .PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR ("disable"), + .PRI_HMC_CFG_SRF_AUTOEXIT_EN ("disable"), + .PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (0), + .PRI_HMC_CFG_SRF_TO_VALID (513), + .PRI_HMC_CFG_SRF_TO_ZQ_CAL (385), + .PRI_HMC_CFG_SRF_ZQCAL_DISABLE ("disable"), + .PRI_HMC_TEMP_4_ACT_TO_ACT (0), + .PRI_HMC_TEMP_RD_TO_RD_DIFF_BG (0), + .PRI_HMC_TEMP_WR_TO_RD (0), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_BG (0), + .PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP (0), + .PRI_HMC_TEMP_WR_TO_WR_DIFF_BG (0), + .PRI_HMC_CFG_WR_AP_TO_VALID (28), + .PRI_HMC_CFG_WR_TO_PCH (20), + .PRI_HMC_CFG_WR_TO_RD (19), + .PRI_HMC_CFG_WR_TO_RD_DIFF_BG (17), + .PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP (15), + .PRI_HMC_CFG_WR_TO_WR (3), + .PRI_HMC_CFG_WR_TO_WR_DIFF_BG (2), + .PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP (3), + .PRI_HMC_CFG_ZQCL_TO_VALID (257), + .PRI_HMC_CFG_ZQCS_TO_VALID (127), + .PRI_HMC_CHIP_ID (273), + .PRI_HMC_CID_ADDR_WIDTH (0), + .PRI_HMC_3DS_EN ("disable"), + .PRI_HMC_3DS_LR_NUM0 (0), + .PRI_HMC_3DS_LR_NUM1 (0), + .PRI_HMC_3DS_LR_NUM2 (0), + .PRI_HMC_3DS_LR_NUM3 (0), + .PRI_HMC_3DS_PR_STAG_ENABLE ("disable"), + .PRI_HMC_3DS_REF2REF_DLR (1), + .PRI_HMC_3DSREF_ACK_ON_DONE ("disable"), + .PRI_HMC_CFG_MAJOR_MODE_EN ("disable"), + .PRI_HMC_CFG_REFRESH_TYPE (0), + .PRI_HMC_CFG_PRE_REFRESH_EN ("disable"), + .PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (1), + .PRI_HMC_CFG_POST_REFRESH_EN ("enable"), + .PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT (0), + .PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT (2), + .SEC_HMC_CFG_PING_PONG_MODE ("pingpong_off"), + .SEC_HMC_CFG_CS_ADDR_WIDTH ("cs_width_0"), + .SEC_HMC_CFG_COL_ADDR_WIDTH ("col_width_10"), + .SEC_HMC_CFG_ROW_ADDR_WIDTH ("row_width_16"), + .SEC_HMC_CFG_BANK_ADDR_WIDTH ("bank_width_2"), + .SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH ("bank_group_width_2"), + .SEC_HMC_CFG_ADDR_ORDER ("addr_order_cs_row_ba_col"), + .SEC_HMC_CFG_ARBITER_TYPE ("arbiter_type_2t"), + .SEC_HMC_CFG_OPEN_PAGE_EN ("disable"), + .SEC_HMC_CFG_CTRL_ENABLE_RC ("enable"), + .SEC_HMC_CFG_DBC0_ENABLE_RC ("enable"), + .SEC_HMC_CFG_DBC1_ENABLE_RC ("enable"), + .SEC_HMC_CFG_DBC2_ENABLE_RC ("enable"), + .SEC_HMC_CFG_DBC3_ENABLE_RC ("enable"), + .SEC_HMC_CFG_CTRL_ENABLE_ECC ("enable"), + .SEC_HMC_CFG_DBC0_ENABLE_ECC ("enable"), + .SEC_HMC_CFG_DBC1_ENABLE_ECC ("enable"), + .SEC_HMC_CFG_DBC2_ENABLE_ECC ("enable"), + .SEC_HMC_CFG_DBC3_ENABLE_ECC ("enable"), + .SEC_HMC_CFG_REORDER_DATA ("enable"), + .SEC_HMC_CFG_REORDER_READ ("disable"), + .SEC_HMC_CFG_CTRL_REORDER_RDATA ("disable"), + .SEC_HMC_CFG_DBC0_REORDER_RDATA ("disable"), + .SEC_HMC_CFG_DBC1_REORDER_RDATA ("disable"), + .SEC_HMC_CFG_DBC2_REORDER_RDATA ("disable"), + .SEC_HMC_CFG_DBC3_REORDER_RDATA ("disable"), + .SEC_HMC_CFG_CTRL_SLOT_OFFSET (2), + .SEC_HMC_CFG_DBC0_SLOT_OFFSET (2), + .SEC_HMC_CFG_DBC1_SLOT_OFFSET (2), + .SEC_HMC_CFG_DBC2_SLOT_OFFSET (2), + .SEC_HMC_CFG_DBC3_SLOT_OFFSET (2), + .SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN ("ctrl_disable"), + .SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN ("dbc0_disable"), + .SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN ("dbc1_disable"), + .SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN ("dbc2_disable"), + .SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN ("dbc3_disable"), + .SEC_HMC_CFG_COL_CMD_SLOT (2), + .SEC_HMC_CFG_ROW_CMD_SLOT (1), + .SEC_HMC_CFG_ROW_TO_COL_OFFSET (-1), + .SEC_HMC_CFG_ROW_TO_ROW_OFFSET (0), + .SEC_HMC_CFG_COL_TO_COL_OFFSET (0), + .SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET (0), + .SEC_HMC_CFG_COL_TO_ROW_OFFSET (1), + .SEC_HMC_CFG_SIDEBAND_OFFSET (1), + .SEC_HMC_CFG_CS_TO_CHIP_MAPPING (33825), + .SEC_HMC_CFG_CTL_ODT_ENABLED (1), + .SEC_HMC_CFG_RD_ODT_ON (4), + .SEC_HMC_CFG_RD_ODT_PERIOD (7), + .SEC_HMC_CFG_READ_ODT_CHIP (0), + .SEC_HMC_CFG_WR_ODT_ON (0), + .SEC_HMC_CFG_WR_ODT_PERIOD (6), + .SEC_HMC_CFG_WRITE_ODT_CHIP (0), + .SEC_HMC_CFG_CMD_FIFO_RESERVE_EN ("enable"), + .SEC_HMC_CFG_RB_RESERVED_ENTRY (8), + .SEC_HMC_CFG_WB_RESERVED_ENTRY (52), + .SEC_HMC_CFG_STARVE_LIMIT (10), + .SEC_HMC_CFG_PHY_DELAY_MISMATCH (0), + .SEC_HMC_CFG_DQSTRK_EN ("disable"), + .SEC_HMC_CFG_DQSTRK_TO_VALID (4), + .SEC_HMC_CFG_DQSTRK_TO_VALID_LAST (26), + .SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN (0), + .SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN ("disable"), + .SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL (0), + .SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN ("disable"), + .SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD (0), + .SEC_HMC_CFG_USER_RFSH_EN ("disable"), + .SEC_HMC_CFG_GEAR_DOWN_EN ("disable"), + .SEC_HMC_CFG_MEM_AUTO_PD_CYCLES (0), + .SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC (15), + .SEC_HMC_MEMCLKGATE_SETTING (0), + .SEC_HMC_CFG_TCL (21), + .SEC_HMC_CFG_16_ACT_TO_ACT (0), + .SEC_HMC_CFG_4_ACT_TO_ACT (12), + .SEC_HMC_MEM_IF_AL (0), + .SEC_HMC_MEM_IF_CS_PER_DIMM (0), + .SEC_HMC_MEM_IF_RD_PREAMBLE (0), + .SEC_HMC_MEM_IF_TCCD (0), + .SEC_HMC_MEM_IF_TCCD_S (0), + .SEC_HMC_MEM_IF_TCKESR (0), + .SEC_HMC_MEM_IF_TCKSRX (0), + .SEC_HMC_MEM_IF_TCL (0), + .SEC_HMC_MEM_IF_TCWL (0), + .SEC_HMC_MEM_IF_TDQSCKMAX (0), + .SEC_HMC_MEM_IF_TFAW (0), + .SEC_HMC_MEM_IF_TMOD (0), + .SEC_HMC_MEM_IF_TPL (0), + .SEC_HMC_MEM_IF_TRAS (0), + .SEC_HMC_MEM_IF_TRC (0), + .SEC_HMC_MEM_IF_TRCD (0), + .SEC_HMC_MEM_IF_TREFI (0), + .SEC_HMC_MEM_IF_TRFC (0), + .SEC_HMC_MEM_IF_TRP (0), + .SEC_HMC_MEM_IF_TRRD (0), + .SEC_HMC_MEM_IF_TRRD_S (0), + .SEC_HMC_MEM_IF_TRTP (0), + .SEC_HMC_MEM_IF_TWR (0), + .SEC_HMC_MEM_IF_TWR_CRC_DM (0), + .SEC_HMC_MEM_IF_TWTR (0), + .SEC_HMC_MEM_IF_TWTR_L_CRC_DM (0), + .SEC_HMC_MEM_IF_TWTR_S (0), + .SEC_HMC_MEM_IF_TWTR_S_CRC_DM (0), + .SEC_HMC_MEM_IF_TXP (0), + .SEC_HMC_MEM_IF_TXPDLL (0), + .SEC_HMC_MEM_IF_TXSR (0), + .SEC_HMC_MEM_IF_TZQCS (0), + .SEC_HMC_MEM_IF_TZQOPER (0), + .SEC_HMC_MEM_IF_WR_CRC (0), + .SEC_HMC_MEM_IF_WR_PREAMBLE (0), + .SEC_HMC_CFG_ACT_TO_ACT (28), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK (3), + .SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG (2), + .SEC_HMC_CFG_ACT_TO_PCH (20), + .SEC_HMC_CFG_ACT_TO_RDWR (8), + .SEC_HMC_CFG_ARF_PERIOD (4681), + .SEC_HMC_CFG_ARF_TO_VALID (211), + .SEC_HMC_CFG_MMR_CMD_TO_VALID (16), + .SEC_HMC_CFG_MPR_TO_VALID (16), + .SEC_HMC_CFG_MPS_DQSTRK_DISABLE ("disable"), + .SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS (6), + .SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE (5), + .SEC_HMC_CFG_MPS_TO_VALID (768), + .SEC_HMC_CFG_MPS_ZQCAL_DISABLE ("disable"), + .SEC_HMC_CFG_MRR_TO_VALID (0), + .SEC_HMC_CFG_MRS_TO_VALID (12), + .SEC_HMC_CFG_PCH_ALL_TO_VALID (9), + .SEC_HMC_CFG_PCH_TO_VALID (9), + .SEC_HMC_CFG_PDN_PERIOD (0), + .SEC_HMC_CFG_PDN_TO_VALID (5), + .SEC_HMC_CFG_POWER_SAVING_EXIT_CYC (3), + .SEC_HMC_CFG_RD_AP_TO_VALID (14), + .SEC_HMC_CFG_RD_TO_PCH (5), + .SEC_HMC_CFG_RD_TO_RD (3), + .SEC_HMC_CFG_RD_TO_RD_DIFF_BG (2), + .SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP (4), + .SEC_HMC_CFG_RD_TO_WR (10), + .SEC_HMC_CFG_RD_TO_WR_DIFF_BG (10), + .SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP (10), + .SEC_HMC_CFG_RFSH_WARN_THRESHOLD (0), + .SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY (0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ0 (0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ1 (0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ2 (0), + .SEC_HMC_CFG_RLD3_REFRESH_SEQ3 (0), + .SEC_HMC_CFG_SB_CG_DISABLE ("disable"), + .SEC_HMC_CFG_SB_DDR4_MR3 (197632), + .SEC_HMC_CFG_SB_DDR4_MR4 (264192), + .SEC_HMC_CFG_SB_DDR4_MR5 (5216), + .SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR ("disable"), + .SEC_HMC_CFG_SRF_AUTOEXIT_EN ("disable"), + .SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK (0), + .SEC_HMC_CFG_SRF_TO_VALID (513), + .SEC_HMC_CFG_SRF_TO_ZQ_CAL (385), + .SEC_HMC_CFG_SRF_ZQCAL_DISABLE ("disable"), + .SEC_HMC_TEMP_4_ACT_TO_ACT (0), + .SEC_HMC_TEMP_RD_TO_RD_DIFF_BG (0), + .SEC_HMC_TEMP_WR_TO_RD (0), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_BG (0), + .SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP (0), + .SEC_HMC_TEMP_WR_TO_WR_DIFF_BG (0), + .SEC_HMC_CFG_WR_AP_TO_VALID (28), + .SEC_HMC_CFG_WR_TO_PCH (20), + .SEC_HMC_CFG_WR_TO_RD (19), + .SEC_HMC_CFG_WR_TO_RD_DIFF_BG (17), + .SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP (15), + .SEC_HMC_CFG_WR_TO_WR (3), + .SEC_HMC_CFG_WR_TO_WR_DIFF_BG (2), + .SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP (3), + .SEC_HMC_CFG_ZQCL_TO_VALID (257), + .SEC_HMC_CFG_ZQCS_TO_VALID (127), + .SEC_HMC_CHIP_ID (273), + .SEC_HMC_CID_ADDR_WIDTH (0), + .SEC_HMC_3DS_EN ("disable"), + .SEC_HMC_3DS_LR_NUM0 (0), + .SEC_HMC_3DS_LR_NUM1 (0), + .SEC_HMC_3DS_LR_NUM2 (0), + .SEC_HMC_3DS_LR_NUM3 (0), + .SEC_HMC_3DS_PR_STAG_ENABLE ("disable"), + .SEC_HMC_3DS_REF2REF_DLR (1), + .SEC_HMC_3DSREF_ACK_ON_DONE ("disable"), + .SEC_HMC_CFG_MAJOR_MODE_EN ("disable"), + .SEC_HMC_CFG_REFRESH_TYPE (0), + .SEC_HMC_CFG_PRE_REFRESH_EN ("disable"), + .SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT (1), + .SEC_HMC_CFG_POST_REFRESH_EN ("enable"), + .SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT (0), + .SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT (2), + .PINS_PER_LANE (12), + .LANES_PER_TILE (4), + .OCT_CONTROL_WIDTH (16), + .PORT_MEM_CK_WIDTH (1), + .PORT_MEM_CK_PINLOC_0 (57345), + .PORT_MEM_CK_PINLOC_1 (0), + .PORT_MEM_CK_PINLOC_2 (0), + .PORT_MEM_CK_PINLOC_3 (0), + .PORT_MEM_CK_PINLOC_4 (0), + .PORT_MEM_CK_PINLOC_5 (0), + .PORT_MEM_CK_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CK_N_WIDTH (1), + .PORT_MEM_CK_N_PINLOC_0 (58369), + .PORT_MEM_CK_N_PINLOC_1 (0), + .PORT_MEM_CK_N_PINLOC_2 (0), + .PORT_MEM_CK_N_PINLOC_3 (0), + .PORT_MEM_CK_N_PINLOC_4 (0), + .PORT_MEM_CK_N_PINLOC_5 (0), + .PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CK_BIDIR_WIDTH (1), + .PORT_MEM_CK_BIDIR_PINLOC_0 (0), + .PORT_MEM_CK_BIDIR_PINLOC_1 (0), + .PORT_MEM_CK_BIDIR_PINLOC_2 (0), + .PORT_MEM_CK_BIDIR_PINLOC_3 (0), + .PORT_MEM_CK_BIDIR_PINLOC_4 (0), + .PORT_MEM_CK_BIDIR_PINLOC_5 (0), + .PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CK_BIDIR_N_WIDTH (1), + .PORT_MEM_CK_BIDIR_N_PINLOC_0 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_1 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_2 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_3 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_4 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_5 (0), + .PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DK_WIDTH (1), + .PORT_MEM_DK_PINLOC_0 (0), + .PORT_MEM_DK_PINLOC_1 (0), + .PORT_MEM_DK_PINLOC_2 (0), + .PORT_MEM_DK_PINLOC_3 (0), + .PORT_MEM_DK_PINLOC_4 (0), + .PORT_MEM_DK_PINLOC_5 (0), + .PORT_MEM_DK_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DK_N_WIDTH (1), + .PORT_MEM_DK_N_PINLOC_0 (0), + .PORT_MEM_DK_N_PINLOC_1 (0), + .PORT_MEM_DK_N_PINLOC_2 (0), + .PORT_MEM_DK_N_PINLOC_3 (0), + .PORT_MEM_DK_N_PINLOC_4 (0), + .PORT_MEM_DK_N_PINLOC_5 (0), + .PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DKA_WIDTH (1), + .PORT_MEM_DKA_PINLOC_0 (0), + .PORT_MEM_DKA_PINLOC_1 (0), + .PORT_MEM_DKA_PINLOC_2 (0), + .PORT_MEM_DKA_PINLOC_3 (0), + .PORT_MEM_DKA_PINLOC_4 (0), + .PORT_MEM_DKA_PINLOC_5 (0), + .PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DKA_N_WIDTH (1), + .PORT_MEM_DKA_N_PINLOC_0 (0), + .PORT_MEM_DKA_N_PINLOC_1 (0), + .PORT_MEM_DKA_N_PINLOC_2 (0), + .PORT_MEM_DKA_N_PINLOC_3 (0), + .PORT_MEM_DKA_N_PINLOC_4 (0), + .PORT_MEM_DKA_N_PINLOC_5 (0), + .PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DKB_WIDTH (1), + .PORT_MEM_DKB_PINLOC_0 (0), + .PORT_MEM_DKB_PINLOC_1 (0), + .PORT_MEM_DKB_PINLOC_2 (0), + .PORT_MEM_DKB_PINLOC_3 (0), + .PORT_MEM_DKB_PINLOC_4 (0), + .PORT_MEM_DKB_PINLOC_5 (0), + .PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_DKB_N_WIDTH (1), + .PORT_MEM_DKB_N_PINLOC_0 (0), + .PORT_MEM_DKB_N_PINLOC_1 (0), + .PORT_MEM_DKB_N_PINLOC_2 (0), + .PORT_MEM_DKB_N_PINLOC_3 (0), + .PORT_MEM_DKB_N_PINLOC_4 (0), + .PORT_MEM_DKB_N_PINLOC_5 (0), + .PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_K_WIDTH (1), + .PORT_MEM_K_PINLOC_0 (0), + .PORT_MEM_K_PINLOC_1 (0), + .PORT_MEM_K_PINLOC_2 (0), + .PORT_MEM_K_PINLOC_3 (0), + .PORT_MEM_K_PINLOC_4 (0), + .PORT_MEM_K_PINLOC_5 (0), + .PORT_MEM_K_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_K_N_WIDTH (1), + .PORT_MEM_K_N_PINLOC_0 (0), + .PORT_MEM_K_N_PINLOC_1 (0), + .PORT_MEM_K_N_PINLOC_2 (0), + .PORT_MEM_K_N_PINLOC_3 (0), + .PORT_MEM_K_N_PINLOC_4 (0), + .PORT_MEM_K_N_PINLOC_5 (0), + .PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_A_WIDTH (17), + .PORT_MEM_A_PINLOC_0 (64024593), + .PORT_MEM_A_PINLOC_1 (67173438), + .PORT_MEM_A_PINLOC_2 (70322241), + .PORT_MEM_A_PINLOC_3 (73471044), + .PORT_MEM_A_PINLOC_4 (79768647), + .PORT_MEM_A_PINLOC_5 (82917453), + .PORT_MEM_A_PINLOC_6 (0), + .PORT_MEM_A_PINLOC_7 (0), + .PORT_MEM_A_PINLOC_8 (0), + .PORT_MEM_A_PINLOC_9 (0), + .PORT_MEM_A_PINLOC_10 (0), + .PORT_MEM_A_PINLOC_11 (0), + .PORT_MEM_A_PINLOC_12 (0), + .PORT_MEM_A_PINLOC_13 (0), + .PORT_MEM_A_PINLOC_14 (0), + .PORT_MEM_A_PINLOC_15 (0), + .PORT_MEM_A_PINLOC_16 (0), + .PORT_MEM_A_PINLOC_AUTOGEN_WCNT (17), + .PORT_MEM_BA_WIDTH (2), + .PORT_MEM_BA_PINLOC_0 (86066178), + .PORT_MEM_BA_PINLOC_1 (0), + .PORT_MEM_BA_PINLOC_2 (0), + .PORT_MEM_BA_PINLOC_3 (0), + .PORT_MEM_BA_PINLOC_4 (0), + .PORT_MEM_BA_PINLOC_5 (0), + .PORT_MEM_BA_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_BG_WIDTH (2), + .PORT_MEM_BG_PINLOC_0 (50416642), + .PORT_MEM_BG_PINLOC_1 (0), + .PORT_MEM_BG_PINLOC_2 (0), + .PORT_MEM_BG_PINLOC_3 (0), + .PORT_MEM_BG_PINLOC_4 (0), + .PORT_MEM_BG_PINLOC_5 (0), + .PORT_MEM_BG_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_C_WIDTH (1), + .PORT_MEM_C_PINLOC_0 (0), + .PORT_MEM_C_PINLOC_1 (0), + .PORT_MEM_C_PINLOC_2 (0), + .PORT_MEM_C_PINLOC_3 (0), + .PORT_MEM_C_PINLOC_4 (0), + .PORT_MEM_C_PINLOC_5 (0), + .PORT_MEM_C_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CKE_WIDTH (1), + .PORT_MEM_CKE_PINLOC_0 (55297), + .PORT_MEM_CKE_PINLOC_1 (0), + .PORT_MEM_CKE_PINLOC_2 (0), + .PORT_MEM_CKE_PINLOC_3 (0), + .PORT_MEM_CKE_PINLOC_4 (0), + .PORT_MEM_CKE_PINLOC_5 (0), + .PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CS_N_WIDTH (1), + .PORT_MEM_CS_N_PINLOC_0 (51201), + .PORT_MEM_CS_N_PINLOC_1 (0), + .PORT_MEM_CS_N_PINLOC_2 (0), + .PORT_MEM_CS_N_PINLOC_3 (0), + .PORT_MEM_CS_N_PINLOC_4 (0), + .PORT_MEM_CS_N_PINLOC_5 (0), + .PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_RM_WIDTH (1), + .PORT_MEM_RM_PINLOC_0 (0), + .PORT_MEM_RM_PINLOC_1 (0), + .PORT_MEM_RM_PINLOC_2 (0), + .PORT_MEM_RM_PINLOC_3 (0), + .PORT_MEM_RM_PINLOC_4 (0), + .PORT_MEM_RM_PINLOC_5 (0), + .PORT_MEM_RM_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_ODT_WIDTH (1), + .PORT_MEM_ODT_PINLOC_0 (53249), + .PORT_MEM_ODT_PINLOC_1 (0), + .PORT_MEM_ODT_PINLOC_2 (0), + .PORT_MEM_ODT_PINLOC_3 (0), + .PORT_MEM_ODT_PINLOC_4 (0), + .PORT_MEM_ODT_PINLOC_5 (0), + .PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_REQ_N_WIDTH (1), + .PORT_MEM_REQ_N_PINLOC_0 (0), + .PORT_MEM_REQ_N_PINLOC_1 (0), + .PORT_MEM_REQ_N_PINLOC_2 (0), + .PORT_MEM_REQ_N_PINLOC_3 (0), + .PORT_MEM_REQ_N_PINLOC_4 (0), + .PORT_MEM_REQ_N_PINLOC_5 (0), + .PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_GNT_N_WIDTH (1), + .PORT_MEM_GNT_N_PINLOC_0 (0), + .PORT_MEM_GNT_N_PINLOC_1 (0), + .PORT_MEM_GNT_N_PINLOC_2 (0), + .PORT_MEM_GNT_N_PINLOC_3 (0), + .PORT_MEM_GNT_N_PINLOC_4 (0), + .PORT_MEM_GNT_N_PINLOC_5 (0), + .PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_ERR_N_WIDTH (1), + .PORT_MEM_ERR_N_PINLOC_0 (0), + .PORT_MEM_ERR_N_PINLOC_1 (0), + .PORT_MEM_ERR_N_PINLOC_2 (0), + .PORT_MEM_ERR_N_PINLOC_3 (0), + .PORT_MEM_ERR_N_PINLOC_4 (0), + .PORT_MEM_ERR_N_PINLOC_5 (0), + .PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_RAS_N_WIDTH (1), + .PORT_MEM_RAS_N_PINLOC_0 (0), + .PORT_MEM_RAS_N_PINLOC_1 (0), + .PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_CAS_N_WIDTH (1), + .PORT_MEM_CAS_N_PINLOC_0 (0), + .PORT_MEM_CAS_N_PINLOC_1 (0), + .PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_WE_N_WIDTH (1), + .PORT_MEM_WE_N_PINLOC_0 (0), + .PORT_MEM_WE_N_PINLOC_1 (0), + .PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_RESET_N_WIDTH (1), + .PORT_MEM_RESET_N_PINLOC_0 (50177), + .PORT_MEM_RESET_N_PINLOC_1 (0), + .PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_ACT_N_WIDTH (1), + .PORT_MEM_ACT_N_PINLOC_0 (52225), + .PORT_MEM_ACT_N_PINLOC_1 (0), + .PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_PAR_WIDTH (1), + .PORT_MEM_PAR_PINLOC_0 (60417), + .PORT_MEM_PAR_PINLOC_1 (0), + .PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_CA_WIDTH (1), + .PORT_MEM_CA_PINLOC_0 (0), + .PORT_MEM_CA_PINLOC_1 (0), + .PORT_MEM_CA_PINLOC_2 (0), + .PORT_MEM_CA_PINLOC_3 (0), + .PORT_MEM_CA_PINLOC_4 (0), + .PORT_MEM_CA_PINLOC_5 (0), + .PORT_MEM_CA_PINLOC_6 (0), + .PORT_MEM_CA_PINLOC_7 (0), + .PORT_MEM_CA_PINLOC_8 (0), + .PORT_MEM_CA_PINLOC_9 (0), + .PORT_MEM_CA_PINLOC_10 (0), + .PORT_MEM_CA_PINLOC_11 (0), + .PORT_MEM_CA_PINLOC_12 (0), + .PORT_MEM_CA_PINLOC_13 (0), + .PORT_MEM_CA_PINLOC_14 (0), + .PORT_MEM_CA_PINLOC_15 (0), + .PORT_MEM_CA_PINLOC_16 (0), + .PORT_MEM_CA_PINLOC_AUTOGEN_WCNT (17), + .PORT_MEM_REF_N_WIDTH (1), + .PORT_MEM_REF_N_PINLOC_0 (0), + .PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_WPS_N_WIDTH (1), + .PORT_MEM_WPS_N_PINLOC_0 (0), + .PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_RPS_N_WIDTH (1), + .PORT_MEM_RPS_N_PINLOC_0 (0), + .PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_DOFF_N_WIDTH (1), + .PORT_MEM_DOFF_N_PINLOC_0 (0), + .PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_LDA_N_WIDTH (1), + .PORT_MEM_LDA_N_PINLOC_0 (0), + .PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_LDB_N_WIDTH (1), + .PORT_MEM_LDB_N_PINLOC_0 (0), + .PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_RWA_N_WIDTH (1), + .PORT_MEM_RWA_N_PINLOC_0 (0), + .PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_RWB_N_WIDTH (1), + .PORT_MEM_RWB_N_PINLOC_0 (0), + .PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_LBK0_N_WIDTH (1), + .PORT_MEM_LBK0_N_PINLOC_0 (0), + .PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_LBK1_N_WIDTH (1), + .PORT_MEM_LBK1_N_PINLOC_0 (0), + .PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_CFG_N_WIDTH (1), + .PORT_MEM_CFG_N_PINLOC_0 (0), + .PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_AP_WIDTH (1), + .PORT_MEM_AP_PINLOC_0 (0), + .PORT_MEM_AP_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_AINV_WIDTH (1), + .PORT_MEM_AINV_PINLOC_0 (0), + .PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT (1), + .PORT_MEM_DM_WIDTH (1), + .PORT_MEM_DM_PINLOC_0 (0), + .PORT_MEM_DM_PINLOC_1 (0), + .PORT_MEM_DM_PINLOC_2 (0), + .PORT_MEM_DM_PINLOC_3 (0), + .PORT_MEM_DM_PINLOC_4 (0), + .PORT_MEM_DM_PINLOC_5 (0), + .PORT_MEM_DM_PINLOC_6 (0), + .PORT_MEM_DM_PINLOC_7 (0), + .PORT_MEM_DM_PINLOC_8 (0), + .PORT_MEM_DM_PINLOC_9 (0), + .PORT_MEM_DM_PINLOC_10 (0), + .PORT_MEM_DM_PINLOC_11 (0), + .PORT_MEM_DM_PINLOC_12 (0), + .PORT_MEM_DM_PINLOC_AUTOGEN_WCNT (13), + .PORT_MEM_BWS_N_WIDTH (1), + .PORT_MEM_BWS_N_PINLOC_0 (0), + .PORT_MEM_BWS_N_PINLOC_1 (0), + .PORT_MEM_BWS_N_PINLOC_2 (0), + .PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT (3), + .PORT_MEM_D_WIDTH (1), + .PORT_MEM_D_PINLOC_0 (0), + .PORT_MEM_D_PINLOC_1 (0), + .PORT_MEM_D_PINLOC_2 (0), + .PORT_MEM_D_PINLOC_3 (0), + .PORT_MEM_D_PINLOC_4 (0), + .PORT_MEM_D_PINLOC_5 (0), + .PORT_MEM_D_PINLOC_6 (0), + .PORT_MEM_D_PINLOC_7 (0), + .PORT_MEM_D_PINLOC_8 (0), + .PORT_MEM_D_PINLOC_9 (0), + .PORT_MEM_D_PINLOC_10 (0), + .PORT_MEM_D_PINLOC_11 (0), + .PORT_MEM_D_PINLOC_12 (0), + .PORT_MEM_D_PINLOC_13 (0), + .PORT_MEM_D_PINLOC_14 (0), + .PORT_MEM_D_PINLOC_15 (0), + .PORT_MEM_D_PINLOC_16 (0), + .PORT_MEM_D_PINLOC_17 (0), + .PORT_MEM_D_PINLOC_18 (0), + .PORT_MEM_D_PINLOC_19 (0), + .PORT_MEM_D_PINLOC_20 (0), + .PORT_MEM_D_PINLOC_21 (0), + .PORT_MEM_D_PINLOC_22 (0), + .PORT_MEM_D_PINLOC_23 (0), + .PORT_MEM_D_PINLOC_24 (0), + .PORT_MEM_D_PINLOC_25 (0), + .PORT_MEM_D_PINLOC_26 (0), + .PORT_MEM_D_PINLOC_27 (0), + .PORT_MEM_D_PINLOC_28 (0), + .PORT_MEM_D_PINLOC_29 (0), + .PORT_MEM_D_PINLOC_30 (0), + .PORT_MEM_D_PINLOC_31 (0), + .PORT_MEM_D_PINLOC_32 (0), + .PORT_MEM_D_PINLOC_33 (0), + .PORT_MEM_D_PINLOC_34 (0), + .PORT_MEM_D_PINLOC_35 (0), + .PORT_MEM_D_PINLOC_36 (0), + .PORT_MEM_D_PINLOC_37 (0), + .PORT_MEM_D_PINLOC_38 (0), + .PORT_MEM_D_PINLOC_39 (0), + .PORT_MEM_D_PINLOC_40 (0), + .PORT_MEM_D_PINLOC_41 (0), + .PORT_MEM_D_PINLOC_42 (0), + .PORT_MEM_D_PINLOC_43 (0), + .PORT_MEM_D_PINLOC_44 (0), + .PORT_MEM_D_PINLOC_45 (0), + .PORT_MEM_D_PINLOC_46 (0), + .PORT_MEM_D_PINLOC_47 (0), + .PORT_MEM_D_PINLOC_48 (0), + .PORT_MEM_D_PINLOC_AUTOGEN_WCNT (49), + .PORT_MEM_DQ_WIDTH (72), + .PORT_MEM_DQ_PINLOC_0 (1048648), + .PORT_MEM_DQ_PINLOC_1 (8391682), + .PORT_MEM_DQ_PINLOC_2 (11544585), + .PORT_MEM_DQ_PINLOC_3 (14693388), + .PORT_MEM_DQ_PINLOC_4 (22040591), + .PORT_MEM_DQ_PINLOC_5 (25189398), + .PORT_MEM_DQ_PINLOC_6 (28338201), + .PORT_MEM_DQ_PINLOC_7 (35685408), + .PORT_MEM_DQ_PINLOC_8 (38834211), + .PORT_MEM_DQ_PINLOC_9 (46177318), + .PORT_MEM_DQ_PINLOC_10 (49330221), + .PORT_MEM_DQ_PINLOC_11 (102859872), + .PORT_MEM_DQ_PINLOC_12 (110207075), + .PORT_MEM_DQ_PINLOC_13 (113355882), + .PORT_MEM_DQ_PINLOC_14 (116504685), + .PORT_MEM_DQ_PINLOC_15 (123851892), + .PORT_MEM_DQ_PINLOC_16 (127000695), + .PORT_MEM_DQ_PINLOC_17 (134343802), + .PORT_MEM_DQ_PINLOC_18 (137496705), + .PORT_MEM_DQ_PINLOC_19 (140645508), + .PORT_MEM_DQ_PINLOC_20 (147992711), + .PORT_MEM_DQ_PINLOC_21 (151141518), + .PORT_MEM_DQ_PINLOC_22 (154290321), + .PORT_MEM_DQ_PINLOC_23 (161637528), + .PORT_MEM_DQ_PINLOC_24 (155), + .PORT_MEM_DQ_PINLOC_25 (0), + .PORT_MEM_DQ_PINLOC_26 (0), + .PORT_MEM_DQ_PINLOC_27 (0), + .PORT_MEM_DQ_PINLOC_28 (0), + .PORT_MEM_DQ_PINLOC_29 (0), + .PORT_MEM_DQ_PINLOC_30 (0), + .PORT_MEM_DQ_PINLOC_31 (0), + .PORT_MEM_DQ_PINLOC_32 (0), + .PORT_MEM_DQ_PINLOC_33 (0), + .PORT_MEM_DQ_PINLOC_34 (0), + .PORT_MEM_DQ_PINLOC_35 (0), + .PORT_MEM_DQ_PINLOC_36 (0), + .PORT_MEM_DQ_PINLOC_37 (0), + .PORT_MEM_DQ_PINLOC_38 (0), + .PORT_MEM_DQ_PINLOC_39 (0), + .PORT_MEM_DQ_PINLOC_40 (0), + .PORT_MEM_DQ_PINLOC_41 (0), + .PORT_MEM_DQ_PINLOC_42 (0), + .PORT_MEM_DQ_PINLOC_43 (0), + .PORT_MEM_DQ_PINLOC_44 (0), + .PORT_MEM_DQ_PINLOC_45 (0), + .PORT_MEM_DQ_PINLOC_46 (0), + .PORT_MEM_DQ_PINLOC_47 (0), + .PORT_MEM_DQ_PINLOC_48 (0), + .PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT (49), + .PORT_MEM_DBI_N_WIDTH (9), + .PORT_MEM_DBI_N_PINLOC_0 (18880521), + .PORT_MEM_DBI_N_PINLOC_1 (106997790), + .PORT_MEM_DBI_N_PINLOC_2 (144832626), + .PORT_MEM_DBI_N_PINLOC_3 (150), + .PORT_MEM_DBI_N_PINLOC_4 (0), + .PORT_MEM_DBI_N_PINLOC_5 (0), + .PORT_MEM_DBI_N_PINLOC_6 (0), + .PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT (7), + .PORT_MEM_DQA_WIDTH (1), + .PORT_MEM_DQA_PINLOC_0 (0), + .PORT_MEM_DQA_PINLOC_1 (0), + .PORT_MEM_DQA_PINLOC_2 (0), + .PORT_MEM_DQA_PINLOC_3 (0), + .PORT_MEM_DQA_PINLOC_4 (0), + .PORT_MEM_DQA_PINLOC_5 (0), + .PORT_MEM_DQA_PINLOC_6 (0), + .PORT_MEM_DQA_PINLOC_7 (0), + .PORT_MEM_DQA_PINLOC_8 (0), + .PORT_MEM_DQA_PINLOC_9 (0), + .PORT_MEM_DQA_PINLOC_10 (0), + .PORT_MEM_DQA_PINLOC_11 (0), + .PORT_MEM_DQA_PINLOC_12 (0), + .PORT_MEM_DQA_PINLOC_13 (0), + .PORT_MEM_DQA_PINLOC_14 (0), + .PORT_MEM_DQA_PINLOC_15 (0), + .PORT_MEM_DQA_PINLOC_16 (0), + .PORT_MEM_DQA_PINLOC_17 (0), + .PORT_MEM_DQA_PINLOC_18 (0), + .PORT_MEM_DQA_PINLOC_19 (0), + .PORT_MEM_DQA_PINLOC_20 (0), + .PORT_MEM_DQA_PINLOC_21 (0), + .PORT_MEM_DQA_PINLOC_22 (0), + .PORT_MEM_DQA_PINLOC_23 (0), + .PORT_MEM_DQA_PINLOC_24 (0), + .PORT_MEM_DQA_PINLOC_25 (0), + .PORT_MEM_DQA_PINLOC_26 (0), + .PORT_MEM_DQA_PINLOC_27 (0), + .PORT_MEM_DQA_PINLOC_28 (0), + .PORT_MEM_DQA_PINLOC_29 (0), + .PORT_MEM_DQA_PINLOC_30 (0), + .PORT_MEM_DQA_PINLOC_31 (0), + .PORT_MEM_DQA_PINLOC_32 (0), + .PORT_MEM_DQA_PINLOC_33 (0), + .PORT_MEM_DQA_PINLOC_34 (0), + .PORT_MEM_DQA_PINLOC_35 (0), + .PORT_MEM_DQA_PINLOC_36 (0), + .PORT_MEM_DQA_PINLOC_37 (0), + .PORT_MEM_DQA_PINLOC_38 (0), + .PORT_MEM_DQA_PINLOC_39 (0), + .PORT_MEM_DQA_PINLOC_40 (0), + .PORT_MEM_DQA_PINLOC_41 (0), + .PORT_MEM_DQA_PINLOC_42 (0), + .PORT_MEM_DQA_PINLOC_43 (0), + .PORT_MEM_DQA_PINLOC_44 (0), + .PORT_MEM_DQA_PINLOC_45 (0), + .PORT_MEM_DQA_PINLOC_46 (0), + .PORT_MEM_DQA_PINLOC_47 (0), + .PORT_MEM_DQA_PINLOC_48 (0), + .PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT (49), + .PORT_MEM_DQB_WIDTH (1), + .PORT_MEM_DQB_PINLOC_0 (0), + .PORT_MEM_DQB_PINLOC_1 (0), + .PORT_MEM_DQB_PINLOC_2 (0), + .PORT_MEM_DQB_PINLOC_3 (0), + .PORT_MEM_DQB_PINLOC_4 (0), + .PORT_MEM_DQB_PINLOC_5 (0), + .PORT_MEM_DQB_PINLOC_6 (0), + .PORT_MEM_DQB_PINLOC_7 (0), + .PORT_MEM_DQB_PINLOC_8 (0), + .PORT_MEM_DQB_PINLOC_9 (0), + .PORT_MEM_DQB_PINLOC_10 (0), + .PORT_MEM_DQB_PINLOC_11 (0), + .PORT_MEM_DQB_PINLOC_12 (0), + .PORT_MEM_DQB_PINLOC_13 (0), + .PORT_MEM_DQB_PINLOC_14 (0), + .PORT_MEM_DQB_PINLOC_15 (0), + .PORT_MEM_DQB_PINLOC_16 (0), + .PORT_MEM_DQB_PINLOC_17 (0), + .PORT_MEM_DQB_PINLOC_18 (0), + .PORT_MEM_DQB_PINLOC_19 (0), + .PORT_MEM_DQB_PINLOC_20 (0), + .PORT_MEM_DQB_PINLOC_21 (0), + .PORT_MEM_DQB_PINLOC_22 (0), + .PORT_MEM_DQB_PINLOC_23 (0), + .PORT_MEM_DQB_PINLOC_24 (0), + .PORT_MEM_DQB_PINLOC_25 (0), + .PORT_MEM_DQB_PINLOC_26 (0), + .PORT_MEM_DQB_PINLOC_27 (0), + .PORT_MEM_DQB_PINLOC_28 (0), + .PORT_MEM_DQB_PINLOC_29 (0), + .PORT_MEM_DQB_PINLOC_30 (0), + .PORT_MEM_DQB_PINLOC_31 (0), + .PORT_MEM_DQB_PINLOC_32 (0), + .PORT_MEM_DQB_PINLOC_33 (0), + .PORT_MEM_DQB_PINLOC_34 (0), + .PORT_MEM_DQB_PINLOC_35 (0), + .PORT_MEM_DQB_PINLOC_36 (0), + .PORT_MEM_DQB_PINLOC_37 (0), + .PORT_MEM_DQB_PINLOC_38 (0), + .PORT_MEM_DQB_PINLOC_39 (0), + .PORT_MEM_DQB_PINLOC_40 (0), + .PORT_MEM_DQB_PINLOC_41 (0), + .PORT_MEM_DQB_PINLOC_42 (0), + .PORT_MEM_DQB_PINLOC_43 (0), + .PORT_MEM_DQB_PINLOC_44 (0), + .PORT_MEM_DQB_PINLOC_45 (0), + .PORT_MEM_DQB_PINLOC_46 (0), + .PORT_MEM_DQB_PINLOC_47 (0), + .PORT_MEM_DQB_PINLOC_48 (0), + .PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT (49), + .PORT_MEM_DINVA_WIDTH (1), + .PORT_MEM_DINVA_PINLOC_0 (0), + .PORT_MEM_DINVA_PINLOC_1 (0), + .PORT_MEM_DINVA_PINLOC_2 (0), + .PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT (3), + .PORT_MEM_DINVB_WIDTH (1), + .PORT_MEM_DINVB_PINLOC_0 (0), + .PORT_MEM_DINVB_PINLOC_1 (0), + .PORT_MEM_DINVB_PINLOC_2 (0), + .PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT (3), + .PORT_MEM_Q_WIDTH (1), + .PORT_MEM_Q_PINLOC_0 (0), + .PORT_MEM_Q_PINLOC_1 (0), + .PORT_MEM_Q_PINLOC_2 (0), + .PORT_MEM_Q_PINLOC_3 (0), + .PORT_MEM_Q_PINLOC_4 (0), + .PORT_MEM_Q_PINLOC_5 (0), + .PORT_MEM_Q_PINLOC_6 (0), + .PORT_MEM_Q_PINLOC_7 (0), + .PORT_MEM_Q_PINLOC_8 (0), + .PORT_MEM_Q_PINLOC_9 (0), + .PORT_MEM_Q_PINLOC_10 (0), + .PORT_MEM_Q_PINLOC_11 (0), + .PORT_MEM_Q_PINLOC_12 (0), + .PORT_MEM_Q_PINLOC_13 (0), + .PORT_MEM_Q_PINLOC_14 (0), + .PORT_MEM_Q_PINLOC_15 (0), + .PORT_MEM_Q_PINLOC_16 (0), + .PORT_MEM_Q_PINLOC_17 (0), + .PORT_MEM_Q_PINLOC_18 (0), + .PORT_MEM_Q_PINLOC_19 (0), + .PORT_MEM_Q_PINLOC_20 (0), + .PORT_MEM_Q_PINLOC_21 (0), + .PORT_MEM_Q_PINLOC_22 (0), + .PORT_MEM_Q_PINLOC_23 (0), + .PORT_MEM_Q_PINLOC_24 (0), + .PORT_MEM_Q_PINLOC_25 (0), + .PORT_MEM_Q_PINLOC_26 (0), + .PORT_MEM_Q_PINLOC_27 (0), + .PORT_MEM_Q_PINLOC_28 (0), + .PORT_MEM_Q_PINLOC_29 (0), + .PORT_MEM_Q_PINLOC_30 (0), + .PORT_MEM_Q_PINLOC_31 (0), + .PORT_MEM_Q_PINLOC_32 (0), + .PORT_MEM_Q_PINLOC_33 (0), + .PORT_MEM_Q_PINLOC_34 (0), + .PORT_MEM_Q_PINLOC_35 (0), + .PORT_MEM_Q_PINLOC_36 (0), + .PORT_MEM_Q_PINLOC_37 (0), + .PORT_MEM_Q_PINLOC_38 (0), + .PORT_MEM_Q_PINLOC_39 (0), + .PORT_MEM_Q_PINLOC_40 (0), + .PORT_MEM_Q_PINLOC_41 (0), + .PORT_MEM_Q_PINLOC_42 (0), + .PORT_MEM_Q_PINLOC_43 (0), + .PORT_MEM_Q_PINLOC_44 (0), + .PORT_MEM_Q_PINLOC_45 (0), + .PORT_MEM_Q_PINLOC_46 (0), + .PORT_MEM_Q_PINLOC_47 (0), + .PORT_MEM_Q_PINLOC_48 (0), + .PORT_MEM_Q_PINLOC_AUTOGEN_WCNT (49), + .PORT_MEM_DQS_WIDTH (9), + .PORT_MEM_DQS_PINLOC_0 (16781321), + .PORT_MEM_DQS_PINLOC_1 (104898588), + .PORT_MEM_DQS_PINLOC_2 (142733424), + .PORT_MEM_DQS_PINLOC_3 (148), + .PORT_MEM_DQS_PINLOC_4 (0), + .PORT_MEM_DQS_PINLOC_5 (0), + .PORT_MEM_DQS_PINLOC_6 (0), + .PORT_MEM_DQS_PINLOC_7 (0), + .PORT_MEM_DQS_PINLOC_8 (0), + .PORT_MEM_DQS_PINLOC_9 (0), + .PORT_MEM_DQS_PINLOC_10 (0), + .PORT_MEM_DQS_PINLOC_11 (0), + .PORT_MEM_DQS_PINLOC_12 (0), + .PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT (13), + .PORT_MEM_DQS_N_WIDTH (9), + .PORT_MEM_DQS_N_PINLOC_0 (17830921), + .PORT_MEM_DQS_N_PINLOC_1 (105948189), + .PORT_MEM_DQS_N_PINLOC_2 (143783025), + .PORT_MEM_DQS_N_PINLOC_3 (149), + .PORT_MEM_DQS_N_PINLOC_4 (0), + .PORT_MEM_DQS_N_PINLOC_5 (0), + .PORT_MEM_DQS_N_PINLOC_6 (0), + .PORT_MEM_DQS_N_PINLOC_7 (0), + .PORT_MEM_DQS_N_PINLOC_8 (0), + .PORT_MEM_DQS_N_PINLOC_9 (0), + .PORT_MEM_DQS_N_PINLOC_10 (0), + .PORT_MEM_DQS_N_PINLOC_11 (0), + .PORT_MEM_DQS_N_PINLOC_12 (0), + .PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT (13), + .PORT_MEM_QK_WIDTH (1), + .PORT_MEM_QK_PINLOC_0 (0), + .PORT_MEM_QK_PINLOC_1 (0), + .PORT_MEM_QK_PINLOC_2 (0), + .PORT_MEM_QK_PINLOC_3 (0), + .PORT_MEM_QK_PINLOC_4 (0), + .PORT_MEM_QK_PINLOC_5 (0), + .PORT_MEM_QK_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_QK_N_WIDTH (1), + .PORT_MEM_QK_N_PINLOC_0 (0), + .PORT_MEM_QK_N_PINLOC_1 (0), + .PORT_MEM_QK_N_PINLOC_2 (0), + .PORT_MEM_QK_N_PINLOC_3 (0), + .PORT_MEM_QK_N_PINLOC_4 (0), + .PORT_MEM_QK_N_PINLOC_5 (0), + .PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_QKA_WIDTH (1), + .PORT_MEM_QKA_PINLOC_0 (0), + .PORT_MEM_QKA_PINLOC_1 (0), + .PORT_MEM_QKA_PINLOC_2 (0), + .PORT_MEM_QKA_PINLOC_3 (0), + .PORT_MEM_QKA_PINLOC_4 (0), + .PORT_MEM_QKA_PINLOC_5 (0), + .PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_QKA_N_WIDTH (1), + .PORT_MEM_QKA_N_PINLOC_0 (0), + .PORT_MEM_QKA_N_PINLOC_1 (0), + .PORT_MEM_QKA_N_PINLOC_2 (0), + .PORT_MEM_QKA_N_PINLOC_3 (0), + .PORT_MEM_QKA_N_PINLOC_4 (0), + .PORT_MEM_QKA_N_PINLOC_5 (0), + .PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_QKB_WIDTH (1), + .PORT_MEM_QKB_PINLOC_0 (0), + .PORT_MEM_QKB_PINLOC_1 (0), + .PORT_MEM_QKB_PINLOC_2 (0), + .PORT_MEM_QKB_PINLOC_3 (0), + .PORT_MEM_QKB_PINLOC_4 (0), + .PORT_MEM_QKB_PINLOC_5 (0), + .PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_QKB_N_WIDTH (1), + .PORT_MEM_QKB_N_PINLOC_0 (0), + .PORT_MEM_QKB_N_PINLOC_1 (0), + .PORT_MEM_QKB_N_PINLOC_2 (0), + .PORT_MEM_QKB_N_PINLOC_3 (0), + .PORT_MEM_QKB_N_PINLOC_4 (0), + .PORT_MEM_QKB_N_PINLOC_5 (0), + .PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT (6), + .PORT_MEM_CQ_WIDTH (1), + .PORT_MEM_CQ_PINLOC_0 (0), + .PORT_MEM_CQ_PINLOC_1 (0), + .PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_CQ_N_WIDTH (1), + .PORT_MEM_CQ_N_PINLOC_0 (0), + .PORT_MEM_CQ_N_PINLOC_1 (0), + .PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_ALERT_N_WIDTH (1), + .PORT_MEM_ALERT_N_PINLOC_0 (94209), + .PORT_MEM_ALERT_N_PINLOC_1 (0), + .PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_MEM_PE_N_WIDTH (1), + .PORT_MEM_PE_N_PINLOC_0 (0), + .PORT_MEM_PE_N_PINLOC_1 (0), + .PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT (2), + .PORT_CLKS_SHARING_MASTER_OUT_WIDTH (32), + .PORT_CLKS_SHARING_SLAVE_IN_WIDTH (32), + .PORT_CLKS_SHARING_SLAVE_OUT_WIDTH (32), + .PORT_AFI_RLAT_WIDTH (6), + .PORT_AFI_WLAT_WIDTH (6), + .PORT_AFI_SEQ_BUSY_WIDTH (4), + .PORT_AFI_ADDR_WIDTH (1), + .PORT_AFI_BA_WIDTH (1), + .PORT_AFI_BG_WIDTH (1), + .PORT_AFI_C_WIDTH (1), + .PORT_AFI_CKE_WIDTH (1), + .PORT_AFI_CS_N_WIDTH (1), + .PORT_AFI_RM_WIDTH (1), + .PORT_AFI_ODT_WIDTH (1), + .PORT_AFI_RAS_N_WIDTH (1), + .PORT_AFI_CAS_N_WIDTH (1), + .PORT_AFI_WE_N_WIDTH (1), + .PORT_AFI_RST_N_WIDTH (1), + .PORT_AFI_ACT_N_WIDTH (1), + .PORT_AFI_REQ_N_WIDTH (1), + .PORT_AFI_GNT_N_WIDTH (1), + .PORT_AFI_ERR_N_WIDTH (1), + .PORT_AFI_PAR_WIDTH (1), + .PORT_AFI_CA_WIDTH (1), + .PORT_AFI_REF_N_WIDTH (1), + .PORT_AFI_WPS_N_WIDTH (1), + .PORT_AFI_RPS_N_WIDTH (1), + .PORT_AFI_DOFF_N_WIDTH (1), + .PORT_AFI_LD_N_WIDTH (1), + .PORT_AFI_RW_N_WIDTH (1), + .PORT_AFI_LBK0_N_WIDTH (1), + .PORT_AFI_LBK1_N_WIDTH (1), + .PORT_AFI_CFG_N_WIDTH (1), + .PORT_AFI_AP_WIDTH (1), + .PORT_AFI_AINV_WIDTH (1), + .PORT_AFI_DM_WIDTH (1), + .PORT_AFI_DM_N_WIDTH (1), + .PORT_AFI_BWS_N_WIDTH (1), + .PORT_AFI_RDATA_DBI_N_WIDTH (1), + .PORT_AFI_WDATA_DBI_N_WIDTH (1), + .PORT_AFI_RDATA_DINV_WIDTH (1), + .PORT_AFI_WDATA_DINV_WIDTH (1), + .PORT_AFI_DQS_BURST_WIDTH (1), + .PORT_AFI_WDATA_VALID_WIDTH (1), + .PORT_AFI_WDATA_WIDTH (1), + .PORT_AFI_RDATA_EN_FULL_WIDTH (1), + .PORT_AFI_RDATA_WIDTH (1), + .PORT_AFI_RDATA_VALID_WIDTH (1), + .PORT_AFI_RRANK_WIDTH (1), + .PORT_AFI_WRANK_WIDTH (1), + .PORT_AFI_ALERT_N_WIDTH (1), + .PORT_AFI_PE_N_WIDTH (1), + .PORT_CTRL_AST_CMD_DATA_WIDTH (61), + .PORT_CTRL_AST_WR_DATA_WIDTH (648), + .PORT_CTRL_AST_RD_DATA_WIDTH (576), + .PORT_CTRL_AMM_ADDRESS_WIDTH (1), + .PORT_CTRL_AMM_RDATA_WIDTH (1), + .PORT_CTRL_AMM_WDATA_WIDTH (1), + .PORT_CTRL_AMM_BCOUNT_WIDTH (1), + .PORT_CTRL_AMM_BYTEEN_WIDTH (1), + .PORT_CTRL_STROBE_WIDTH (1), + .PORT_CTRL_STROBE_OE_WIDTH (1), + .PORT_CTRL_DATA_OE_WIDTH (1), + .PORT_CTRL_DATA_OUT_WIDTH (1), + .PORT_CTRL_DATA_IN_WIDTH (1), + .PORT_CTRL_RDATA_VALID_WIDTH (1), + .PORT_CTRL_LOCKED_WIDTH (1), + .PORT_CTRL_RDATA_ENABLE_WIDTH (1), + .PORT_CTRL_USER_REFRESH_REQ_WIDTH (4), + .PORT_CTRL_USER_REFRESH_BANK_WIDTH (16), + .PORT_CTRL_SELF_REFRESH_REQ_WIDTH (4), + .PORT_CTRL_ECC_WRITE_INFO_WIDTH (15), + .PORT_CTRL_ECC_RDATA_ID_WIDTH (13), + .PORT_CTRL_ECC_READ_INFO_WIDTH (3), + .PORT_CTRL_ECC_CMD_INFO_WIDTH (3), + .PORT_CTRL_ECC_WB_POINTER_WIDTH (12), + .PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH (10), + .PORT_CTRL_MMR_SLAVE_RDATA_WIDTH (32), + .PORT_CTRL_MMR_SLAVE_WDATA_WIDTH (32), + .PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH (2), + .PORT_HPS_EMIF_H2E_WIDTH (4096), + .PORT_HPS_EMIF_E2H_WIDTH (4096), + .PORT_HPS_EMIF_H2E_GP_WIDTH (2), + .PORT_HPS_EMIF_E2H_GP_WIDTH (1), + .PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH (9), + .PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH (8), + .PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH (8), + .PORT_DFT_ND_PLL_CNTSEL_WIDTH (4), + .PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH (3), + .PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH (4), + .PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH (2), + .PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH (2), + .PORT_CALBUS_ADDRESS_WIDTH (20), + .PORT_CALBUS_WDATA_WIDTH (32), + .PORT_CALBUS_RDATA_WIDTH (32), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (4096), + .PLL_VCO_FREQ_MHZ_INT (1200), + .PLL_VCO_TO_MEM_CLK_FREQ_RATIO (1), + .PLL_MEM_CLK_FREQ_PS (834), + .PLL_PHY_CLK_VCO_PHASE (0), + .PLL_VCO_FREQ_PS_STR ("834 ps"), + .PLL_VCO_FREQ_MHZ_STR ("1200 MHz"), + .PLL_REF_CLK_FREQ_PS_STR ("30024 ps"), + .PLL_REF_CLK_FREQ_MHZ_STR ("33.333 MHz"), + .PLL_REF_CLK_FREQ_PS (30024), + .PLL_SIM_VCO_FREQ_PS (840), + .PLL_SIM_PHYCLK_0_FREQ_PS (1680), + .PLL_SIM_PHYCLK_1_FREQ_PS (3360), + .PLL_SIM_PHYCLK_FB_FREQ_PS (3360), + .PLL_SIM_PHY_CLK_VCO_PHASE_PS (0), + .PLL_M_CNT_HIGH (18), + .PLL_M_CNT_LOW (18), + .PLL_N_CNT_HIGH (256), + .PLL_N_CNT_LOW (256), + .PLL_M_CNT_BYPASS_EN ("false"), + .PLL_N_CNT_BYPASS_EN ("true"), + .PLL_M_CNT_EVEN_DUTY_EN ("false"), + .PLL_N_CNT_EVEN_DUTY_EN ("false"), + .PLL_FBCLK_MUX_1 ("pll_fbclk_mux_1_glb"), + .PLL_FBCLK_MUX_2 ("pll_fbclk_mux_2_m_cnt"), + .PLL_M_CNT_IN_SRC ("c_m_cnt_in_src_ph_mux_clk"), + .PLL_CP_SETTING ("pll_cp_setting12"), + .PLL_BW_CTRL ("pll_bw_res_setting4"), + .PLL_BW_SEL ("high"), + .PLL_C_CNT_HIGH_0 (2), + .PLL_C_CNT_LOW_0 (2), + .PLL_C_CNT_PRST_0 (1), + .PLL_C_CNT_PH_MUX_PRST_0 (0), + .PLL_C_CNT_BYPASS_EN_0 ("false"), + .PLL_C_CNT_EVEN_DUTY_EN_0 ("false"), + .PLL_C_CNT_FREQ_PS_STR_0 ("3336 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_0 ("300.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_0 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_0 (50), + .PLL_C_CNT_OUT_EN_0 ("true"), + .PLL_C_CNT_HIGH_1 (1), + .PLL_C_CNT_LOW_1 (1), + .PLL_C_CNT_PRST_1 (1), + .PLL_C_CNT_PH_MUX_PRST_1 (0), + .PLL_C_CNT_BYPASS_EN_1 ("false"), + .PLL_C_CNT_EVEN_DUTY_EN_1 ("false"), + .PLL_C_CNT_FREQ_PS_STR_1 ("1668 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_1 ("600.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_1 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_1 (50), + .PLL_C_CNT_OUT_EN_1 ("true"), + .PLL_C_CNT_HIGH_2 (2), + .PLL_C_CNT_LOW_2 (2), + .PLL_C_CNT_PRST_2 (1), + .PLL_C_CNT_PH_MUX_PRST_2 (0), + .PLL_C_CNT_BYPASS_EN_2 ("false"), + .PLL_C_CNT_EVEN_DUTY_EN_2 ("false"), + .PLL_C_CNT_FREQ_PS_STR_2 ("3336 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_2 ("300.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_2 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_2 (50), + .PLL_C_CNT_OUT_EN_2 ("true"), + .PLL_C_CNT_HIGH_3 (1), + .PLL_C_CNT_LOW_3 (1), + .PLL_C_CNT_PRST_3 (1), + .PLL_C_CNT_PH_MUX_PRST_3 (0), + .PLL_C_CNT_BYPASS_EN_3 ("false"), + .PLL_C_CNT_EVEN_DUTY_EN_3 ("false"), + .PLL_C_CNT_FREQ_PS_STR_3 ("1668 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_3 ("600.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_3 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_3 (50), + .PLL_C_CNT_OUT_EN_3 ("true"), + .PLL_C_CNT_HIGH_4 (2), + .PLL_C_CNT_LOW_4 (2), + .PLL_C_CNT_PRST_4 (1), + .PLL_C_CNT_PH_MUX_PRST_4 (0), + .PLL_C_CNT_BYPASS_EN_4 ("false"), + .PLL_C_CNT_EVEN_DUTY_EN_4 ("false"), + .PLL_C_CNT_FREQ_PS_STR_4 ("3336 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_4 ("300.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_4 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_4 (50), + .PLL_C_CNT_OUT_EN_4 ("true"), + .PLL_C_CNT_HIGH_5 (256), + .PLL_C_CNT_LOW_5 (256), + .PLL_C_CNT_PRST_5 (1), + .PLL_C_CNT_PH_MUX_PRST_5 (0), + .PLL_C_CNT_BYPASS_EN_5 ("true"), + .PLL_C_CNT_EVEN_DUTY_EN_5 ("false"), + .PLL_C_CNT_FREQ_PS_STR_5 ("0 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_5 ("0.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_5 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_5 (50), + .PLL_C_CNT_OUT_EN_5 ("false"), + .PLL_C_CNT_HIGH_6 (256), + .PLL_C_CNT_LOW_6 (256), + .PLL_C_CNT_PRST_6 (1), + .PLL_C_CNT_PH_MUX_PRST_6 (0), + .PLL_C_CNT_BYPASS_EN_6 ("true"), + .PLL_C_CNT_EVEN_DUTY_EN_6 ("false"), + .PLL_C_CNT_FREQ_PS_STR_6 ("0 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_6 ("0.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_6 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_6 (50), + .PLL_C_CNT_OUT_EN_6 ("false"), + .PLL_C_CNT_HIGH_7 (256), + .PLL_C_CNT_LOW_7 (256), + .PLL_C_CNT_PRST_7 (1), + .PLL_C_CNT_PH_MUX_PRST_7 (0), + .PLL_C_CNT_BYPASS_EN_7 ("true"), + .PLL_C_CNT_EVEN_DUTY_EN_7 ("false"), + .PLL_C_CNT_FREQ_PS_STR_7 ("0 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_7 ("0.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_7 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_7 (50), + .PLL_C_CNT_OUT_EN_7 ("false"), + .PLL_C_CNT_HIGH_8 (256), + .PLL_C_CNT_LOW_8 (256), + .PLL_C_CNT_PRST_8 (1), + .PLL_C_CNT_PH_MUX_PRST_8 (0), + .PLL_C_CNT_BYPASS_EN_8 ("true"), + .PLL_C_CNT_EVEN_DUTY_EN_8 ("false"), + .PLL_C_CNT_FREQ_PS_STR_8 ("0 ps"), + .PLL_C_CNT_FREQ_MHZ_STR_8 ("0.0 MHz"), + .PLL_C_CNT_PHASE_PS_STR_8 ("0 ps"), + .PLL_C_CNT_DUTY_CYCLE_8 (50), + .PLL_C_CNT_OUT_EN_8 ("false") + ) arch ( + .local_reset_req (local_reset_req), // input, width = 1, local_reset_req.local_reset_req + .local_reset_done (local_reset_done), // output, width = 1, local_reset_status.local_reset_done + .pll_ref_clk (pll_ref_clk), // input, width = 1, pll_ref_clk.clk + .pll_locked (pll_locked), // output, width = 1, pll_locked.pll_locked + .oct_rzqin (oct_rzqin), // input, width = 1, oct.oct_rzqin + .mem_ck (mem_ck), // output, width = 1, mem.mem_ck + .mem_ck_n (mem_ck_n), // output, width = 1, .mem_ck_n + .mem_a (mem_a), // output, width = 17, .mem_a + .mem_act_n (mem_act_n), // output, width = 1, .mem_act_n + .mem_ba (mem_ba), // output, width = 2, .mem_ba + .mem_bg (mem_bg), // output, width = 2, .mem_bg + .mem_cke (mem_cke), // output, width = 1, .mem_cke + .mem_cs_n (mem_cs_n), // output, width = 1, .mem_cs_n + .mem_odt (mem_odt), // output, width = 1, .mem_odt + .mem_reset_n (mem_reset_n), // output, width = 1, .mem_reset_n + .mem_par (mem_par), // output, width = 1, .mem_par + .mem_alert_n (mem_alert_n), // input, width = 1, .mem_alert_n + .mem_dqs (mem_dqs), // inout, width = 9, .mem_dqs + .mem_dqs_n (mem_dqs_n), // inout, width = 9, .mem_dqs_n + .mem_dq (mem_dq), // inout, width = 72, .mem_dq + .mem_dbi_n (mem_dbi_n), // inout, width = 9, .mem_dbi_n + .local_cal_success (local_cal_success), // output, width = 1, status.local_cal_success + .local_cal_fail (local_cal_fail), // output, width = 1, .local_cal_fail + .emif_usr_reset_n (arch_emif_usr_reset_n_reset), // output, width = 1, emif_usr_reset_n.reset_n + .emif_usr_clk (arch_emif_usr_clk_clk), // output, width = 1, emif_usr_clk.clk + .ast_cmd_valid_0 (ecc_core_ctrl_ast_cmd_0_valid), // input, width = 1, ctrl_ast_cmd_0.valid + .ast_cmd_ready_0 (ecc_core_ctrl_ast_cmd_0_ready), // output, width = 1, .ready + .ast_cmd_data_0 (ecc_core_ctrl_ast_cmd_0_data), // input, width = 61, .data + .ast_wr_valid_0 (ecc_core_ctrl_ast_wr_0_valid), // input, width = 1, ctrl_ast_wr_0.valid + .ast_wr_ready_0 (ecc_core_ctrl_ast_wr_0_ready), // output, width = 1, .ready + .ast_wr_data_0 (ecc_core_ctrl_ast_wr_0_data), // input, width = 648, .data + .ast_rd_valid_0 (arch_ctrl_ast_rd_0_valid), // output, width = 1, ctrl_ast_rd_0.valid + .ast_rd_ready_0 (arch_ctrl_ast_rd_0_ready), // input, width = 1, .ready + .ast_rd_data_0 (arch_ctrl_ast_rd_0_data), // output, width = 576, .data + .ctrl_ecc_write_info_0 (ecc_core_ctrl_ecc_0_ctrl_ecc_write_info), // input, width = 15, ctrl_ecc_0.ctrl_ecc_write_info + .ctrl_ecc_rdata_id_0 (arch_ctrl_ecc_0_ctrl_ecc_rdata_id), // output, width = 13, .ctrl_ecc_rdata_id + .ctrl_ecc_read_info_0 (arch_ctrl_ecc_0_ctrl_ecc_read_info), // output, width = 3, .ctrl_ecc_read_info + .ctrl_ecc_cmd_info_0 (arch_ctrl_ecc_0_ctrl_ecc_cmd_info), // output, width = 3, .ctrl_ecc_cmd_info + .ctrl_ecc_idle_0 (arch_ctrl_ecc_0_ctrl_ecc_idle), // output, width = 1, .ctrl_ecc_idle + .ctrl_ecc_wr_pointer_info_0 (arch_ctrl_ecc_0_ctrl_ecc_wr_pointer_info), // output, width = 12, .ctrl_ecc_wr_pointer_info + .calbus_read (calbus_read), // input, width = 1, emif_calbus.calbus_read + .calbus_write (calbus_write), // input, width = 1, .calbus_write + .calbus_address (calbus_address), // input, width = 20, .calbus_address + .calbus_wdata (calbus_wdata), // input, width = 32, .calbus_wdata + .calbus_rdata (calbus_rdata), // output, width = 32, .calbus_rdata + .calbus_seq_param_tbl (calbus_seq_param_tbl), // output, width = 4096, .calbus_seq_param_tbl + .calbus_clk (calbus_clk), // input, width = 1, emif_calbus_clk.clk + .pll_ref_clk_out (), // (terminated), + .pll_extra_clk_0 (), // (terminated), + .pll_extra_clk_1 (), // (terminated), + .pll_extra_clk_2 (), // (terminated), + .pll_extra_clk_3 (), // (terminated), + .ac_parity_err (), // (terminated), + .mem_c (), // (terminated), + .mem_rm (), // (terminated), + .mem_ck_bidir (), // (terminated), + .mem_ck_bidir_n (), // (terminated), + .mem_dk (), // (terminated), + .mem_dk_n (), // (terminated), + .mem_dka (), // (terminated), + .mem_dka_n (), // (terminated), + .mem_dkb (), // (terminated), + .mem_dkb_n (), // (terminated), + .mem_k (), // (terminated), + .mem_k_n (), // (terminated), + .mem_req_n (1'b0), // (terminated), + .mem_gnt_n (), // (terminated), + .mem_err_n (1'b0), // (terminated), + .mem_ras_n (), // (terminated), + .mem_cas_n (), // (terminated), + .mem_we_n (), // (terminated), + .mem_ca (), // (terminated), + .mem_ref_n (), // (terminated), + .mem_wps_n (), // (terminated), + .mem_rps_n (), // (terminated), + .mem_doff_n (), // (terminated), + .mem_lda_n (), // (terminated), + .mem_ldb_n (), // (terminated), + .mem_rwa_n (), // (terminated), + .mem_rwb_n (), // (terminated), + .mem_lbk0_n (), // (terminated), + .mem_lbk1_n (), // (terminated), + .mem_cfg_n (), // (terminated), + .mem_ap (), // (terminated), + .mem_ainv (), // (terminated), + .mem_dm (), // (terminated), + .mem_bws_n (), // (terminated), + .mem_d (), // (terminated), + .mem_dqa (), // (terminated), + .mem_dqb (), // (terminated), + .mem_dinva (), // (terminated), + .mem_dinvb (), // (terminated), + .mem_q (1'b0), // (terminated), + .mem_qk (1'b0), // (terminated), + .mem_qk_n (1'b0), // (terminated), + .mem_qka (1'b0), // (terminated), + .mem_qka_n (1'b0), // (terminated), + .mem_qkb (1'b0), // (terminated), + .mem_qkb_n (1'b0), // (terminated), + .mem_cq (1'b0), // (terminated), + .mem_cq_n (1'b0), // (terminated), + .mem_pe_n (1'b0), // (terminated), + .afi_reset_n (), // (terminated), + .afi_clk (), // (terminated), + .afi_half_clk (), // (terminated), + .emif_usr_half_clk (), // (terminated), + .emif_usr_reset_n_sec (), // (terminated), + .emif_usr_clk_sec (), // (terminated), + .emif_usr_half_clk_sec (), // (terminated), + .clks_sharing_master_out (), // (terminated), + .clks_sharing_slave_in (32'b00000000000000000000000000000000), // (terminated), + .clks_sharing_slave_out (), // (terminated), + .afi_cal_success (), // (terminated), + .afi_cal_fail (), // (terminated), + .afi_cal_req (1'b0), // (terminated), + .afi_rlat (), // (terminated), + .afi_wlat (), // (terminated), + .afi_seq_busy (), // (terminated), + .afi_ctl_refresh_done (1'b0), // (terminated), + .afi_ctl_long_idle (1'b0), // (terminated), + .afi_mps_req (1'b0), // (terminated), + .afi_mps_ack (), // (terminated), + .afi_addr (1'b0), // (terminated), + .afi_ba (1'b0), // (terminated), + .afi_bg (1'b0), // (terminated), + .afi_c (1'b0), // (terminated), + .afi_cke (1'b0), // (terminated), + .afi_cs_n (1'b0), // (terminated), + .afi_rm (1'b0), // (terminated), + .afi_odt (1'b0), // (terminated), + .afi_ras_n (1'b0), // (terminated), + .afi_cas_n (1'b0), // (terminated), + .afi_we_n (1'b0), // (terminated), + .afi_rst_n (1'b0), // (terminated), + .afi_act_n (1'b0), // (terminated), + .afi_req_n (), // (terminated), + .afi_gnt_n (1'b0), // (terminated), + .afi_err_n (), // (terminated), + .afi_par (1'b0), // (terminated), + .afi_ca (1'b0), // (terminated), + .afi_ref_n (1'b0), // (terminated), + .afi_wps_n (1'b0), // (terminated), + .afi_rps_n (1'b0), // (terminated), + .afi_doff_n (1'b0), // (terminated), + .afi_ld_n (1'b0), // (terminated), + .afi_rw_n (1'b0), // (terminated), + .afi_lbk0_n (1'b0), // (terminated), + .afi_lbk1_n (1'b0), // (terminated), + .afi_cfg_n (1'b0), // (terminated), + .afi_ap (1'b0), // (terminated), + .afi_ainv (1'b0), // (terminated), + .afi_dm (1'b0), // (terminated), + .afi_dm_n (1'b0), // (terminated), + .afi_bws_n (1'b0), // (terminated), + .afi_rdata_dbi_n (), // (terminated), + .afi_wdata_dbi_n (1'b0), // (terminated), + .afi_rdata_dinv (), // (terminated), + .afi_wdata_dinv (1'b0), // (terminated), + .afi_dqs_burst (1'b0), // (terminated), + .afi_wdata_valid (1'b0), // (terminated), + .afi_wdata (1'b0), // (terminated), + .afi_rdata_en_full (1'b0), // (terminated), + .afi_rdata (), // (terminated), + .afi_rdata_valid (), // (terminated), + .afi_rrank (1'b0), // (terminated), + .afi_wrank (1'b0), // (terminated), + .afi_alert_n (), // (terminated), + .afi_pe_n (), // (terminated), + .amm_ready_0 (), // (terminated), + .amm_read_0 (1'b0), // (terminated), + .amm_write_0 (1'b0), // (terminated), + .amm_address_0 (1'b0), // (terminated), + .amm_readdata_0 (), // (terminated), + .amm_writedata_0 (1'b0), // (terminated), + .amm_burstcount_0 (1'b0), // (terminated), + .amm_byteenable_0 (1'b0), // (terminated), + .amm_beginbursttransfer_0 (1'b0), // (terminated), + .amm_readdatavalid_0 (), // (terminated), + .amm_ready_1 (), // (terminated), + .amm_read_1 (1'b0), // (terminated), + .amm_write_1 (1'b0), // (terminated), + .amm_address_1 (1'b0), // (terminated), + .amm_readdata_1 (), // (terminated), + .amm_writedata_1 (1'b0), // (terminated), + .amm_burstcount_1 (1'b0), // (terminated), + .amm_byteenable_1 (1'b0), // (terminated), + .amm_beginbursttransfer_1 (1'b0), // (terminated), + .amm_readdatavalid_1 (), // (terminated), + .amm_early_ready_0 (), // (terminated), + .amm_early_ready_1 (), // (terminated), + .amm_rd_type_0 (), // (terminated), + .amm_rd_type_1 (), // (terminated), + .phylite_strobe (1'b0), // (terminated), + .phylite_strobe_oe (1'b0), // (terminated), + .phylite_data_oe (1'b0), // (terminated), + .phylite_data_from_core (1'b0), // (terminated), + .phylite_data_to_core (), // (terminated), + .phylite_rdata_valid (), // (terminated), + .phylite_interface_locked (), // (terminated), + .phylite_rdata_en (1'b0), // (terminated), + .ctrl_user_priority_hi_0 (1'b0), // (terminated), + .ctrl_user_priority_hi_1 (1'b0), // (terminated), + .ctrl_auto_precharge_req_0 (1'b0), // (terminated), + .ctrl_auto_precharge_req_1 (1'b0), // (terminated), + .ctrl_user_refresh_req (4'b0000), // (terminated), + .ctrl_user_refresh_bank (16'b0000000000000000), // (terminated), + .ctrl_user_refresh_ack (), // (terminated), + .ctrl_self_refresh_req (4'b0000), // (terminated), + .ctrl_self_refresh_ack (), // (terminated), + .ctrl_will_refresh (), // (terminated), + .ctrl_deep_power_down_req (1'b0), // (terminated), + .ctrl_deep_power_down_ack (), // (terminated), + .ctrl_power_down_ack (), // (terminated), + .ctrl_zq_cal_long_req (1'b0), // (terminated), + .ctrl_zq_cal_short_req (1'b0), // (terminated), + .ctrl_zq_cal_ack (), // (terminated), + .mmr_slave_waitrequest_0 (), // (terminated), + .mmr_slave_read_0 (1'b0), // (terminated), + .mmr_slave_write_0 (1'b0), // (terminated), + .mmr_slave_address_0 (10'b0000000000), // (terminated), + .mmr_slave_readdata_0 (), // (terminated), + .mmr_slave_writedata_0 (32'b00000000000000000000000000000000), // (terminated), + .mmr_slave_burstcount_0 (2'b00), // (terminated), + .mmr_slave_beginbursttransfer_0 (1'b0), // (terminated), + .mmr_slave_readdatavalid_0 (), // (terminated), + .mmr_slave_waitrequest_1 (), // (terminated), + .mmr_slave_read_1 (1'b0), // (terminated), + .mmr_slave_write_1 (1'b0), // (terminated), + .mmr_slave_address_1 (10'b0000000000), // (terminated), + .mmr_slave_readdata_1 (), // (terminated), + .mmr_slave_writedata_1 (32'b00000000000000000000000000000000), // (terminated), + .mmr_slave_burstcount_1 (2'b00), // (terminated), + .mmr_slave_beginbursttransfer_1 (1'b0), // (terminated), + .mmr_slave_readdatavalid_1 (), // (terminated), + .hps_to_emif (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .emif_to_hps (), // (terminated), + .hps_to_emif_gp (2'b00), // (terminated), + .emif_to_hps_gp (), // (terminated), + .pa_dprio_clk (1'b0), // (terminated), + .pa_dprio_read (1'b0), // (terminated), + .pa_dprio_reg_addr (9'b000000000), // (terminated), + .pa_dprio_rst_n (1'b0), // (terminated), + .pa_dprio_write (1'b0), // (terminated), + .pa_dprio_writedata (8'b00000000), // (terminated), + .pa_dprio_block_select (), // (terminated), + .pa_dprio_readdata (), // (terminated), + .pll_phase_en (1'b0), // (terminated), + .pll_up_dn (1'b0), // (terminated), + .pll_cnt_sel (4'b0000), // (terminated), + .pll_num_phase_shifts (3'b000), // (terminated), + .pll_phase_done (), // (terminated), + .pll_core_refclk (4'b0000), // (terminated), + .dft_core_clk_buf_out (), // (terminated), + .dft_core_clk_locked (), // (terminated), + .ast_cmd_valid_1 (1'b0), // (terminated), + .ast_cmd_ready_1 (), // (terminated), + .ast_cmd_data_1 (61'b0000000000000000000000000000000000000000000000000000000000000), // (terminated), + .ast_wr_valid_1 (1'b0), // (terminated), + .ast_wr_ready_1 (), // (terminated), + .ast_wr_data_1 (648'b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .ast_rd_valid_1 (), // (terminated), + .ast_rd_ready_1 (1'b0), // (terminated), + .ast_rd_data_1 (), // (terminated), + .ctrl_ecc_write_info_1 (15'b000000000000000), // (terminated), + .ctrl_ecc_rdata_id_1 (), // (terminated), + .ctrl_ecc_read_info_1 (), // (terminated), + .ctrl_ecc_cmd_info_1 (), // (terminated), + .ctrl_ecc_idle_1 (), // (terminated), + .ctrl_ecc_wr_pointer_info_1 () // (terminated), + ); + + ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq ecc_core ( + .emif_usr_reset_n (emif_usr_reset_n), // output, width = 1, emif_usr_reset_n.reset_n + .emif_usr_clk (emif_usr_clk), // output, width = 1, emif_usr_clk.clk + .emif_usr_reset_n_in (arch_emif_usr_reset_n_reset), // input, width = 1, emif_usr_reset_n_in.reset_n + .emif_usr_clk_in (arch_emif_usr_clk_clk), // input, width = 1, emif_usr_clk_in.clk + .ctrl_ecc_write_info_0 (ecc_core_ctrl_ecc_0_ctrl_ecc_write_info), // output, width = 15, ctrl_ecc_0.ctrl_ecc_write_info + .ctrl_ecc_rdata_id_0 (arch_ctrl_ecc_0_ctrl_ecc_rdata_id), // input, width = 13, .ctrl_ecc_rdata_id + .ctrl_ecc_read_info_0 (arch_ctrl_ecc_0_ctrl_ecc_read_info), // input, width = 3, .ctrl_ecc_read_info + .ctrl_ecc_cmd_info_0 (arch_ctrl_ecc_0_ctrl_ecc_cmd_info), // input, width = 3, .ctrl_ecc_cmd_info + .ctrl_ecc_idle_0 (arch_ctrl_ecc_0_ctrl_ecc_idle), // input, width = 1, .ctrl_ecc_idle + .ctrl_ecc_wr_pointer_info_0 (arch_ctrl_ecc_0_ctrl_ecc_wr_pointer_info), // input, width = 12, .ctrl_ecc_wr_pointer_info + .ctrl_ecc_user_interrupt_0 (ctrl_ecc_user_interrupt_0), // output, width = 1, ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt + .ast_cmd_valid_0 (ecc_core_ctrl_ast_cmd_0_valid), // output, width = 1, ctrl_ast_cmd_0.valid + .ast_cmd_ready_0 (ecc_core_ctrl_ast_cmd_0_ready), // input, width = 1, .ready + .ast_cmd_data_0 (ecc_core_ctrl_ast_cmd_0_data), // output, width = 61, .data + .ast_wr_valid_0 (ecc_core_ctrl_ast_wr_0_valid), // output, width = 1, ctrl_ast_wr_0.valid + .ast_wr_ready_0 (ecc_core_ctrl_ast_wr_0_ready), // input, width = 1, .ready + .ast_wr_data_0 (ecc_core_ctrl_ast_wr_0_data), // output, width = 648, .data + .ast_rd_valid_0 (arch_ctrl_ast_rd_0_valid), // input, width = 1, ctrl_ast_rd_0.valid + .ast_rd_ready_0 (arch_ctrl_ast_rd_0_ready), // output, width = 1, .ready + .ast_rd_data_0 (arch_ctrl_ast_rd_0_data), // input, width = 576, .data + .amm_ready_0 (amm_ready_0), // output, width = 1, ctrl_amm_0.waitrequest_n + .amm_read_0 (amm_read_0), // input, width = 1, .read + .amm_write_0 (amm_write_0), // input, width = 1, .write + .amm_address_0 (amm_address_0), // input, width = 27, .address + .amm_readdata_0 (amm_readdata_0), // output, width = 512, .readdata + .amm_writedata_0 (amm_writedata_0), // input, width = 512, .writedata + .amm_burstcount_0 (amm_burstcount_0), // input, width = 7, .burstcount + .amm_byteenable_0 (amm_byteenable_0), // input, width = 64, .byteenable + .amm_readdatavalid_0 (amm_readdatavalid_0) // output, width = 1, .readdatavalid + ); + +endmodule diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.bsf b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.bsf new file mode 100644 index 0000000000..49dc2b2ff3 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.bsf @@ -0,0 +1,413 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 488 1336) + (text "ed_synth_emif_fm_0" (rect 175 0 264 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 1320 20 1332)(font "Arial" )) + (port + (pt 0 76) + (input) + (text "local_reset_req" (rect 0 0 61 12)(font "SansSerif" (font_size 8))) + (text "local_reset_req" (rect 4 65 94 76)(font "SansSerif" (font_size 8))) + (line (pt 0 76)(pt 170 76)(line_width 1)) + ) + (port + (pt 0 176) + (input) + (text "pll_ref_clk" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "pll_ref_clk" (rect 4 165 70 176)(font "SansSerif" (font_size 8))) + (line (pt 0 176)(pt 170 176)(line_width 1)) + ) + (port + (pt 0 276) + (input) + (text "oct_rzqin" (rect 0 0 35 12)(font "SansSerif" (font_size 8))) + (text "oct_rzqin" (rect 4 265 58 276)(font "SansSerif" (font_size 8))) + (line (pt 0 276)(pt 170 276)(line_width 1)) + ) + (port + (pt 0 601) + (input) + (text "mem_alert_n" (rect 0 0 54 12)(font "SansSerif" (font_size 8))) + (text "mem_alert_n" (rect 4 590 70 601)(font "SansSerif" (font_size 8))) + (line (pt 0 601)(pt 170 601)(line_width 1)) + ) + (port + (pt 0 826) + (input) + (text "calbus_read" (rect 0 0 48 12)(font "SansSerif" (font_size 8))) + (text "calbus_read" (rect 4 815 70 826)(font "SansSerif" (font_size 8))) + (line (pt 0 826)(pt 170 826)(line_width 1)) + ) + (port + (pt 0 851) + (input) + (text "calbus_write" (rect 0 0 48 12)(font "SansSerif" (font_size 8))) + (text "calbus_write" (rect 4 840 76 851)(font "SansSerif" (font_size 8))) + (line (pt 0 851)(pt 170 851)(line_width 1)) + ) + (port + (pt 0 876) + (input) + (text "calbus_address[19..0]" (rect 0 0 86 12)(font "SansSerif" (font_size 8))) + (text "calbus_address[19..0]" (rect 4 865 130 876)(font "SansSerif" (font_size 8))) + (line (pt 0 876)(pt 170 876)(line_width 3)) + ) + (port + (pt 0 901) + (input) + (text "calbus_wdata[31..0]" (rect 0 0 76 12)(font "SansSerif" (font_size 8))) + (text "calbus_wdata[31..0]" (rect 4 890 118 901)(font "SansSerif" (font_size 8))) + (line (pt 0 901)(pt 170 901)(line_width 3)) + ) + (port + (pt 0 1001) + (input) + (text "calbus_clk" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "calbus_clk" (rect 4 990 64 1001)(font "SansSerif" (font_size 8))) + (line (pt 0 1001)(pt 170 1001)(line_width 1)) + ) + (port + (pt 0 1126) + (input) + (text "amm_read_0" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "amm_read_0" (rect 4 1115 64 1126)(font "SansSerif" (font_size 8))) + (line (pt 0 1126)(pt 170 1126)(line_width 1)) + ) + (port + (pt 0 1151) + (input) + (text "amm_write_0" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "amm_write_0" (rect 4 1140 70 1151)(font "SansSerif" (font_size 8))) + (line (pt 0 1151)(pt 170 1151)(line_width 1)) + ) + (port + (pt 0 1176) + (input) + (text "amm_address_0[26..0]" (rect 0 0 94 12)(font "SansSerif" (font_size 8))) + (text "amm_address_0[26..0]" (rect 4 1165 124 1176)(font "SansSerif" (font_size 8))) + (line (pt 0 1176)(pt 170 1176)(line_width 3)) + ) + (port + (pt 0 1226) + (input) + (text "amm_writedata_0[511..0]" (rect 0 0 99 12)(font "SansSerif" (font_size 8))) + (text "amm_writedata_0[511..0]" (rect 4 1215 142 1226)(font "SansSerif" (font_size 8))) + (line (pt 0 1226)(pt 170 1226)(line_width 3)) + ) + (port + (pt 0 1251) + (input) + (text "amm_burstcount_0[6..0]" (rect 0 0 99 12)(font "SansSerif" (font_size 8))) + (text "amm_burstcount_0[6..0]" (rect 4 1240 136 1251)(font "SansSerif" (font_size 8))) + (line (pt 0 1251)(pt 170 1251)(line_width 3)) + ) + (port + (pt 0 1276) + (input) + (text "amm_byteenable_0[63..0]" (rect 0 0 105 12)(font "SansSerif" (font_size 8))) + (text "amm_byteenable_0[63..0]" (rect 4 1265 142 1276)(font "SansSerif" (font_size 8))) + (line (pt 0 1276)(pt 170 1276)(line_width 3)) + ) + (port + (pt 0 126) + (output) + (text "local_reset_done" (rect 0 0 67 12)(font "SansSerif" (font_size 8))) + (text "local_reset_done" (rect 4 115 100 126)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 226) + (output) + (text "pll_locked" (rect 0 0 37 12)(font "SansSerif" (font_size 8))) + (text "pll_locked" (rect 4 215 64 226)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 326) + (output) + (text "mem_ck" (rect 0 0 36 12)(font "SansSerif" (font_size 8))) + (text "mem_ck" (rect 4 315 40 326)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 351) + (output) + (text "mem_ck_n" (rect 0 0 47 12)(font "SansSerif" (font_size 8))) + (text "mem_ck_n" (rect 4 340 52 351)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 376) + (output) + (text "mem_a[16..0]" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "mem_a[16..0]" (rect 4 365 76 376)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 401) + (output) + (text "mem_act_n" (rect 0 0 49 12)(font "SansSerif" (font_size 8))) + (text "mem_act_n" (rect 4 390 58 401)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 426) + (output) + (text "mem_ba[1..0]" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "mem_ba[1..0]" (rect 4 415 76 426)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 451) + (output) + (text "mem_bg[1..0]" (rect 0 0 55 12)(font "SansSerif" (font_size 8))) + (text "mem_bg[1..0]" (rect 4 440 76 451)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 476) + (output) + (text "mem_cke" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "mem_cke" (rect 4 465 46 476)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 501) + (output) + (text "mem_cs_n" (rect 0 0 47 12)(font "SansSerif" (font_size 8))) + (text "mem_cs_n" (rect 4 490 52 501)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 526) + (output) + (text "mem_odt" (rect 0 0 38 12)(font "SansSerif" (font_size 8))) + (text "mem_odt" (rect 4 515 46 526)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 551) + (output) + (text "mem_reset_n" (rect 0 0 57 12)(font "SansSerif" (font_size 8))) + (text "mem_reset_n" (rect 4 540 70 551)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 576) + (output) + (text "mem_par" (rect 0 0 40 12)(font "SansSerif" (font_size 8))) + (text "mem_par" (rect 4 565 46 576)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 751) + (output) + (text "local_cal_success" (rect 0 0 71 12)(font "SansSerif" (font_size 8))) + (text "local_cal_success" (rect 4 740 106 751)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 776) + (output) + (text "local_cal_fail" (rect 0 0 49 12)(font "SansSerif" (font_size 8))) + (text "local_cal_fail" (rect 4 765 88 776)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 926) + (output) + (text "calbus_rdata[31..0]" (rect 0 0 74 12)(font "SansSerif" (font_size 8))) + (text "calbus_rdata[31..0]" (rect 4 915 118 926)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 951) + (output) + (text "calbus_seq_param_tbl[4095..0]" (rect 0 0 126 12)(font "SansSerif" (font_size 8))) + (text "calbus_seq_param_tbl[4095..0]" (rect 4 940 178 951)(font "SansSerif" (font_size 8))) + ) + (port + (pt 488 76) + (output) + (text "emif_usr_reset_n" (rect 0 0 73 12)(font "SansSerif" (font_size 8))) + (text "emif_usr_reset_n" (rect 402 65 498 76)(font "SansSerif" (font_size 8))) + (line (pt 488 76)(pt 323 76)(line_width 1)) + ) + (port + (pt 488 126) + (output) + (text "emif_usr_clk" (rect 0 0 53 12)(font "SansSerif" (font_size 8))) + (text "emif_usr_clk" (rect 427 115 499 126)(font "SansSerif" (font_size 8))) + (line (pt 488 126)(pt 170 126)(line_width 1)) + ) + (port + (pt 0 1051) + (output) + (text "ctrl_ecc_user_interrupt_0" (rect 0 0 103 12)(font "SansSerif" (font_size 8))) + (text "ctrl_ecc_user_interrupt_0" (rect 4 1040 154 1051)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 1101) + (output) + (text "amm_ready_0" (rect 0 0 61 12)(font "SansSerif" (font_size 8))) + (text "amm_ready_0" (rect 4 1090 70 1101)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 1201) + (output) + (text "amm_readdata_0[511..0]" (rect 0 0 99 12)(font "SansSerif" (font_size 8))) + (text "amm_readdata_0[511..0]" (rect 4 1190 136 1201)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 1301) + (output) + (text "amm_readdatavalid_0" (rect 0 0 89 12)(font "SansSerif" (font_size 8))) + (text "amm_readdatavalid_0" (rect 4 1290 118 1301)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 626) + (bidir) + (text "mem_dqs[8..0]" (rect 0 0 61 12)(font "SansSerif" (font_size 8))) + (text "mem_dqs[8..0]" (rect 4 615 82 626)(font "SansSerif" (font_size 8))) + (line (pt 0 626)(pt 170 626)(line_width 3)) + ) + (port + (pt 0 651) + (bidir) + (text "mem_dqs_n[8..0]" (rect 0 0 71 12)(font "SansSerif" (font_size 8))) + (text "mem_dqs_n[8..0]" (rect 4 640 94 651)(font "SansSerif" (font_size 8))) + (line (pt 0 651)(pt 170 651)(line_width 3)) + ) + (port + (pt 0 676) + (bidir) + (text "mem_dq[71..0]" (rect 0 0 60 12)(font "SansSerif" (font_size 8))) + (text "mem_dq[71..0]" (rect 4 665 82 676)(font "SansSerif" (font_size 8))) + (line (pt 0 676)(pt 170 676)(line_width 3)) + ) + (port + (pt 0 701) + (bidir) + (text "mem_dbi_n[8..0]" (rect 0 0 68 12)(font "SansSerif" (font_size 8))) + (text "mem_dbi_n[8..0]" (rect 4 690 94 701)(font "SansSerif" (font_size 8))) + (line (pt 0 701)(pt 170 701)(line_width 3)) + ) + (drawing + (text "local_reset_req" (rect 80 46 250 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "local_reset_req" (rect 175 71 440 152)(font "SansSerif" (color 0 0 0))) + (text "local_reset_status" (rect 63 96 234 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "local_reset_done" (rect 175 121 446 252)(font "SansSerif" (color 0 0 0))) + (text "pll_ref_clk" (rect 109 146 284 305)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 175 171 368 352)(font "SansSerif" (color 0 0 0))) + (text "pll_locked" (rect 113 196 286 405)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "pll_locked" (rect 175 221 410 452)(font "SansSerif" (color 0 0 0))) + (text "oct" (rect 154 246 326 505)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "oct_rzqin" (rect 175 271 404 552)(font "SansSerif" (color 0 0 0))) + (text "mem" (rect 142 296 302 605)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "mem_ck" (rect 175 321 386 652)(font "SansSerif" (color 0 0 0))) + (text "mem_ck_n" (rect 175 346 398 702)(font "SansSerif" (color 0 0 0))) + (text "mem_a" (rect 175 371 380 752)(font "SansSerif" (color 0 0 0))) + (text "mem_act_n" (rect 175 396 404 802)(font "SansSerif" (color 0 0 0))) + (text "mem_ba" (rect 175 421 386 852)(font "SansSerif" (color 0 0 0))) + (text "mem_bg" (rect 175 446 386 902)(font "SansSerif" (color 0 0 0))) + (text "mem_cke" (rect 175 471 392 952)(font "SansSerif" (color 0 0 0))) + (text "mem_cs_n" (rect 175 496 398 1002)(font "SansSerif" (color 0 0 0))) + (text "mem_odt" (rect 175 521 392 1052)(font "SansSerif" (color 0 0 0))) + (text "mem_reset_n" (rect 175 546 416 1102)(font "SansSerif" (color 0 0 0))) + (text "mem_par" (rect 175 571 392 1152)(font "SansSerif" (color 0 0 0))) + (text "mem_alert_n" (rect 175 596 416 1202)(font "SansSerif" (color 0 0 0))) + (text "mem_dqs" (rect 175 621 392 1252)(font "SansSerif" (color 0 0 0))) + (text "mem_dqs_n" (rect 175 646 404 1302)(font "SansSerif" (color 0 0 0))) + (text "mem_dq" (rect 175 671 386 1352)(font "SansSerif" (color 0 0 0))) + (text "mem_dbi_n" (rect 175 696 404 1402)(font "SansSerif" (color 0 0 0))) + (text "status" (rect 135 721 306 1455)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "local_cal_success" (rect 175 746 452 1502)(font "SansSerif" (color 0 0 0))) + (text "local_cal_fail" (rect 175 771 434 1552)(font "SansSerif" (color 0 0 0))) + (text "emif_calbus" (rect 100 796 266 1605)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "calbus_read" (rect 175 821 416 1652)(font "SansSerif" (color 0 0 0))) + (text "calbus_write" (rect 175 846 422 1702)(font "SansSerif" (color 0 0 0))) + (text "calbus_address" (rect 175 871 434 1752)(font "SansSerif" (color 0 0 0))) + (text "calbus_wdata" (rect 175 896 422 1802)(font "SansSerif" (color 0 0 0))) + (text "calbus_rdata" (rect 175 921 422 1852)(font "SansSerif" (color 0 0 0))) + (text "calbus_seq_param_tbl" (rect 175 946 470 1902)(font "SansSerif" (color 0 0 0))) + (text "emif_calbus_clk" (rect 76 971 242 1955)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 175 996 368 2002)(font "SansSerif" (color 0 0 0))) + (text "emif_usr_reset_n" (rect 324 46 744 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "reset_n" (rect 287 71 616 152)(font "SansSerif" (color 0 0 0))) + (text "emif_usr_clk" (rect 324 96 720 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 308 121 634 252)(font "SansSerif" (color 0 0 0))) + (text "ctrl_ecc_user_interrupt_0" (rect 20 1021 190 2055)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "ctrl_ecc_user_interrupt" (rect 175 1046 488 2102)(font "SansSerif" (color 0 0 0))) + (text "ctrl_amm_0" (rect 101 1071 262 2155)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "waitrequest_n" (rect 175 1096 428 2202)(font "SansSerif" (color 0 0 0))) + (text "read" (rect 175 1121 374 2252)(font "SansSerif" (color 0 0 0))) + (text "write" (rect 175 1146 380 2302)(font "SansSerif" (color 0 0 0))) + (text "address" (rect 175 1171 392 2352)(font "SansSerif" (color 0 0 0))) + (text "readdata" (rect 175 1196 398 2402)(font "SansSerif" (color 0 0 0))) + (text "writedata" (rect 175 1221 404 2452)(font "SansSerif" (color 0 0 0))) + (text "burstcount" (rect 175 1246 410 2502)(font "SansSerif" (color 0 0 0))) + (text "byteenable" (rect 175 1271 410 2552)(font "SansSerif" (color 0 0 0))) + (text "readdatavalid" (rect 175 1296 428 2602)(font "SansSerif" (color 0 0 0))) + (text " ed_synth_emif_fm_0 " (rect 396 1326 912 2662)(font "SansSerif" )) + (line (pt 170 34)(pt 323 34)(line_width 1)) + (line (pt 323 34)(pt 323 1326)(line_width 1)) + (line (pt 170 1326)(pt 323 1326)(line_width 1)) + (line (pt 170 34)(pt 170 1326)(line_width 1)) + (line (pt 171 55)(pt 171 80)(line_width 1)) + (line (pt 172 55)(pt 172 80)(line_width 1)) + (line (pt 171 105)(pt 171 130)(line_width 1)) + (line (pt 172 105)(pt 172 130)(line_width 1)) + (line (pt 171 155)(pt 171 180)(line_width 1)) + (line (pt 172 155)(pt 172 180)(line_width 1)) + (line (pt 488 226)(pt 170 226)(line_width 1)) + (line (pt 171 205)(pt 171 230)(line_width 1)) + (line (pt 172 205)(pt 172 230)(line_width 1)) + (line (pt 171 255)(pt 171 280)(line_width 1)) + (line (pt 172 255)(pt 172 280)(line_width 1)) + (line (pt 488 326)(pt 170 326)(line_width 1)) + (line (pt 488 351)(pt 170 351)(line_width 1)) + (line (pt 488 376)(pt 170 376)(line_width 3)) + (line (pt 488 401)(pt 170 401)(line_width 1)) + (line (pt 488 426)(pt 170 426)(line_width 3)) + (line (pt 488 451)(pt 170 451)(line_width 3)) + (line (pt 488 476)(pt 170 476)(line_width 1)) + (line (pt 488 501)(pt 170 501)(line_width 1)) + (line (pt 488 526)(pt 170 526)(line_width 1)) + (line (pt 488 551)(pt 170 551)(line_width 1)) + (line (pt 488 576)(pt 170 576)(line_width 1)) + (line (pt 171 305)(pt 171 705)(line_width 1)) + (line (pt 172 305)(pt 172 705)(line_width 1)) + (line (pt 488 751)(pt 170 751)(line_width 1)) + (line (pt 488 776)(pt 170 776)(line_width 1)) + (line (pt 171 730)(pt 171 780)(line_width 1)) + (line (pt 172 730)(pt 172 780)(line_width 1)) + (line (pt 488 926)(pt 170 926)(line_width 3)) + (line (pt 488 951)(pt 170 951)(line_width 3)) + (line (pt 171 805)(pt 171 955)(line_width 1)) + (line (pt 172 805)(pt 172 955)(line_width 1)) + (line (pt 171 980)(pt 171 1005)(line_width 1)) + (line (pt 172 980)(pt 172 1005)(line_width 1)) + (line (pt 322 55)(pt 322 80)(line_width 1)) + (line (pt 321 55)(pt 321 80)(line_width 1)) + (line (pt 488 126)(pt 323 126)(line_width 1)) + (line (pt 322 105)(pt 322 130)(line_width 1)) + (line (pt 321 105)(pt 321 130)(line_width 1)) + (line (pt 488 1051)(pt 170 1051)(line_width 1)) + (line (pt 171 1030)(pt 171 1055)(line_width 1)) + (line (pt 172 1030)(pt 172 1055)(line_width 1)) + (line (pt 488 1101)(pt 170 1101)(line_width 1)) + (line (pt 488 1201)(pt 170 1201)(line_width 3)) + (line (pt 488 1301)(pt 170 1301)(line_width 1)) + (line (pt 171 1080)(pt 171 1305)(line_width 1)) + (line (pt 172 1080)(pt 172 1305)(line_width 1)) + (line (pt 0 0)(pt 488 0)(line_width 1)) + (line (pt 488 0)(pt 488 1343)(line_width 1)) + (line (pt 0 1343)(pt 488 1343)(line_width 1)) + (line (pt 0 0)(pt 0 1343)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.cmp b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.cmp new file mode 100644 index 0000000000..3ae9f003cd --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.cmp @@ -0,0 +1,47 @@ + component ed_synth_emif_fm_0 is + port ( + local_reset_req : in std_logic := 'X'; -- local_reset_req + local_reset_done : out std_logic; -- local_reset_done + pll_ref_clk : in std_logic := 'X'; -- clk + pll_locked : out std_logic; -- pll_locked + oct_rzqin : in std_logic := 'X'; -- oct_rzqin + mem_ck : out std_logic_vector(0 downto 0); -- mem_ck + mem_ck_n : out std_logic_vector(0 downto 0); -- mem_ck_n + mem_a : out std_logic_vector(16 downto 0); -- mem_a + mem_act_n : out std_logic_vector(0 downto 0); -- mem_act_n + mem_ba : out std_logic_vector(1 downto 0); -- mem_ba + mem_bg : out std_logic_vector(1 downto 0); -- mem_bg + mem_cke : out std_logic_vector(0 downto 0); -- mem_cke + mem_cs_n : out std_logic_vector(0 downto 0); -- mem_cs_n + mem_odt : out std_logic_vector(0 downto 0); -- mem_odt + mem_reset_n : out std_logic_vector(0 downto 0); -- mem_reset_n + mem_par : out std_logic_vector(0 downto 0); -- mem_par + mem_alert_n : in std_logic_vector(0 downto 0) := (others => 'X'); -- mem_alert_n + mem_dqs : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dqs + mem_dqs_n : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dqs_n + mem_dq : inout std_logic_vector(71 downto 0) := (others => 'X'); -- mem_dq + mem_dbi_n : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dbi_n + local_cal_success : out std_logic; -- local_cal_success + local_cal_fail : out std_logic; -- local_cal_fail + calbus_read : in std_logic := 'X'; -- calbus_read + calbus_write : in std_logic := 'X'; -- calbus_write + calbus_address : in std_logic_vector(19 downto 0) := (others => 'X'); -- calbus_address + calbus_wdata : in std_logic_vector(31 downto 0) := (others => 'X'); -- calbus_wdata + calbus_rdata : out std_logic_vector(31 downto 0); -- calbus_rdata + calbus_seq_param_tbl : out std_logic_vector(4095 downto 0); -- calbus_seq_param_tbl + calbus_clk : in std_logic := 'X'; -- clk + emif_usr_reset_n : out std_logic; -- reset_n + emif_usr_clk : out std_logic; -- clk + ctrl_ecc_user_interrupt_0 : out std_logic; -- ctrl_ecc_user_interrupt + amm_ready_0 : out std_logic; -- waitrequest_n + amm_read_0 : in std_logic := 'X'; -- read + amm_write_0 : in std_logic := 'X'; -- write + amm_address_0 : in std_logic_vector(26 downto 0) := (others => 'X'); -- address + amm_readdata_0 : out std_logic_vector(511 downto 0); -- readdata + amm_writedata_0 : in std_logic_vector(511 downto 0) := (others => 'X'); -- writedata + amm_burstcount_0 : in std_logic_vector(6 downto 0) := (others => 'X'); -- burstcount + amm_byteenable_0 : in std_logic_vector(63 downto 0) := (others => 'X'); -- byteenable + amm_readdatavalid_0 : out std_logic -- readdatavalid + ); + end component ed_synth_emif_fm_0; + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.html b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.html new file mode 100644 index 0000000000..8b08495db7 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.html @@ -0,0 +1,8057 @@ + + + + + datasheet for ed_synth_emif_fm_0 + + + + + + + + +
ed_synth_emif_fm_0 +
+
+
+ + + + + +
2024.07.03.12:58:29Datasheet
+
+
Overview
+
+
+
Memory Map
+ + + + + + + + + + + + + + + + +
  + emif_fm_0 + +
ctrl_amm_0 
  + emif_fm_0_ecc_core + +
ctrl_amm_0 
+ +
+
+

emif_fm_0

altera_emif_fm v2.7.4 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PROTOCOL_ENUMPROTOCOL_DDR4
PHY_FPGA_SPEEDGRADE_GUIE2V (ES3) - change device under 'View'->'Device Family'
PHY_RZQ240
PLL_ADD_EXTRA_CLKSfalse
PHY_DDR4_CONFIG_ENUMCONFIG_PHY_AND_HARD_CTRL
PHY_DDR4_MEM_CLK_FREQ_MHZ1200.0
PHY_DDR4_DEFAULT_REF_CLK_FREQfalse
PHY_DDR4_USER_REF_CLK_FREQ_MHZ33.333
PHY_DDR4_REF_CLK_JITTER_PS10.0
PHY_DDR4_RATE_ENUMRATE_QUARTER
PHY_DDR4_IO_VOLTAGE1.2
PHY_DDR4_DEFAULT_IOfalse
PHY_DDR4_MIMIC_HPS_EMIFfalse
PHY_DDR4_CLAMSHELL_ENfalse
PHY_DDR4_USER_AC_IO_STD_ENUMIO_STD_SSTL_12
PHY_DDR4_USER_AC_MODE_ENUMOUT_OCT_40_CAL
PHY_DDR4_USER_AC_SLEW_RATE_ENUMunset
PHY_DDR4_USER_AC_DEEMPHASIS_ENUMunset
PHY_DDR4_USER_CK_IO_STD_ENUMIO_STD_SSTL_12
PHY_DDR4_USER_CK_MODE_ENUMOUT_OCT_40_CAL
PHY_DDR4_USER_CK_SLEW_RATE_ENUMunset
PHY_DDR4_USER_CK_DEEMPHASIS_ENUMunset
PHY_DDR4_USER_DATA_IO_STD_ENUMIO_STD_POD_12
PHY_DDR4_USER_DATA_OUT_MODE_ENUMOUT_OCT_40_CAL
PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUMunset
PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUMunset
PHY_DDR4_USER_DATA_IN_MODE_ENUMIN_OCT_60_CAL
PHY_DDR4_USER_AUTO_STARTING_VREFIN_ENtrue
PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUMIO_STD_TRUE_DIFF_SIGNALING
PHY_DDR4_USER_RZQ_IO_STD_ENUMIO_STD_CMOS_12
PHY_DDR4_STARTING_VREFIN68.0
MEM_DDR4_FORMAT_ENUMMEM_FORMAT_RDIMM
MEM_DDR4_DQ_WIDTH72
MEM_DDR4_DQ_PER_DQS8
MEM_DDR4_NUM_OF_DIMMS1
MEM_DDR4_CHIP_ID_WIDTH0
MEM_DDR4_RANKS_PER_DIMM1
MEM_DDR4_CK_WIDTH1
MEM_DDR4_ROW_ADDR_WIDTH16
MEM_DDR4_COL_ADDR_WIDTH10
MEM_DDR4_BANK_ADDR_WIDTH2
MEM_DDR4_BANK_GROUP_WIDTH2
MEM_DDR4_DM_ENtrue
MEM_DDR4_ALERT_N_PLACEMENT_ENUMDDR4_ALERT_N_PLACEMENT_FM_LANE3
MEM_DDR4_INTEL_DEFAULT_TERMtrue
MEM_DDR4_TCL21
MEM_DDR4_ATCL_ENUMDDR4_ATCL_DISABLED
MEM_DDR4_WTCL16
MEM_DDR4_FINE_GRANULARITY_REFRESHDDR4_FINE_REFRESH_FIXED_1X
MEM_DDR4_AC_PARITY_LATENCYDDR4_AC_PARITY_LATENCY_DISABLE
MEM_DDR4_WRITE_DBIfalse
MEM_DDR4_READ_DBItrue
MEM_DDR4_DEFAULT_VREFOUTtrue
MEM_DDR4_RCD_CA_IBT_ENUMDDR4_RCD_CA_IBT_100
MEM_DDR4_RCD_CS_IBT_ENUMDDR4_RCD_CS_IBT_100
MEM_DDR4_RCD_CKE_IBT_ENUMDDR4_RCD_CKE_IBT_100
MEM_DDR4_RCD_ODT_IBT_ENUMDDR4_RCD_ODT_IBT_100
MEM_DDR4_SPD_137_RCD_CA_DRV101
MEM_DDR4_SPD_138_RCD_CK_DRV5
MEM_DDR4_DQS_WIDTH9
MEM_DDR4_CS_PER_DIMM1
MEM_DDR4_VREFDQ_TRAINING_VALUE70.0
MEM_DDR4_VREFDQ_TRAINING_RANGE_DISPRange 1 - 60% to 92.5%
MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISPRZQ/7 (34 Ohm)
MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISPDynamic ODT off
MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISPODT Disabled
MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISPRZQ/4 (60 Ohm)
MEM_DDR4_USE_DEFAULT_ODTtrue
MEM_DDR4_R_ODTN_1X1Rank 0
MEM_DDR4_R_ODT0_1X1off
MEM_DDR4_W_ODTN_1X1Rank 0
MEM_DDR4_W_ODT0_1X1on
MEM_DDR4_R_ODTN_2X2Rank 0,Rank 1
MEM_DDR4_R_ODT0_2X2off,off
MEM_DDR4_R_ODT1_2X2off,off
MEM_DDR4_W_ODTN_2X2Rank 0,Rank 1
MEM_DDR4_W_ODT0_2X2on,off
MEM_DDR4_W_ODT1_2X2off,on
MEM_DDR4_R_ODTN_4X2Rank 0,Rank 1,Rank 2,Rank 3
MEM_DDR4_R_ODT0_4X2off,off,on,on
MEM_DDR4_R_ODT1_4X2on,on,off,off
MEM_DDR4_W_ODTN_4X2Rank 0,Rank 1,Rank 2,Rank 3
MEM_DDR4_W_ODT0_4X2off,off,on,on
MEM_DDR4_W_ODT1_4X2on,on,off,off
MEM_DDR4_R_ODTN_4X4Rank 0,Rank 1,Rank 2,Rank 3
MEM_DDR4_R_ODT0_4X4off,off,on,off
MEM_DDR4_R_ODT1_4X4off,off,off,on
MEM_DDR4_R_ODT2_4X4on,off,off,off
MEM_DDR4_R_ODT3_4X4off,on,off,off
MEM_DDR4_W_ODTN_4X4Rank 0,Rank 1,Rank 2,Rank 3
MEM_DDR4_W_ODT0_4X4on,off,on,off
MEM_DDR4_W_ODT1_4X4off,on,off,on
MEM_DDR4_W_ODT2_4X4on,off,on,off
MEM_DDR4_W_ODT3_4X4off,on,off,on
MEM_DDR4_R_DERIVED_ODTNRank 0,-,-,-
MEM_DDR4_R_DERIVED_ODT0(Drive) RZQ/7 (34 Ohm),-,-,-
MEM_DDR4_R_DERIVED_ODT1-,-,-,-
MEM_DDR4_R_DERIVED_ODT2-,-,-,-
MEM_DDR4_R_DERIVED_ODT3-,-,-,-
MEM_DDR4_R_DERIVED_BODTN
MEM_DDR4_R_DERIVED_BODT0
MEM_DDR4_R_DERIVED_BODT1
MEM_DDR4_W_DERIVED_ODTNRank 0,-,-,-
MEM_DDR4_W_DERIVED_ODT0(Park) RZQ/4 (60 Ohm),-,-,-
MEM_DDR4_W_DERIVED_ODT1-,-,-,-
MEM_DDR4_W_DERIVED_ODT2-,-,-,-
MEM_DDR4_W_DERIVED_ODT3-,-,-,-
MEM_DDR4_W_DERIVED_BODTN
MEM_DDR4_W_DERIVED_BODT0
MEM_DDR4_W_DERIVED_BODT1
MEM_DDR4_SPEEDBIN_ENUMDDR4_SPEEDBIN_2666
MEM_DDR4_TIS_PS62
MEM_DDR4_TIS_AC_MV100
MEM_DDR4_TIH_PS87
MEM_DDR4_TIH_DC_MV75
MEM_DDR4_TDIVW_TOTAL_UI0.2
MEM_DDR4_VDIVW_TOTAL130
MEM_DDR4_TDQSQ_UI0.14
MEM_DDR4_TQH_UI0.74
MEM_DDR4_TDVWP_UI0.72
MEM_DDR4_TDQSCK_PS175
MEM_DDR4_TDQSS_CYC0.27
MEM_DDR4_TQSH_CYC0.4
MEM_DDR4_TDSH_CYC0.18
MEM_DDR4_TDSS_CYC0.18
MEM_DDR4_TWLS_CYC0.13
MEM_DDR4_TWLH_CYC0.13
MEM_DDR4_TINIT_US500
MEM_DDR4_TMRD_CK_CYC8
MEM_DDR4_TRAS_NS32.0
MEM_DDR4_TRCD_NS14.16
MEM_DDR4_TRP_NS14.16
MEM_DDR4_TREFI_US7.8
MEM_DDR4_TRFC_NS350.0
MEM_DDR4_TWR_NS15.0
MEM_DDR4_TWTR_L_CYC9
MEM_DDR4_TWTR_S_CYC3
MEM_DDR4_TFAW_NS21.0
MEM_DDR4_TRRD_L_CYC6
MEM_DDR4_TRRD_S_CYC4
MEM_DDR4_TCCD_L_CYC6
MEM_DDR4_TCCD_S_CYC4
CTRL_DDR4_AUTO_POWER_DOWN_ENfalse
CTRL_DDR4_AUTO_POWER_DOWN_CYCS32
CTRL_DDR4_USER_REFRESH_ENfalse
CTRL_DDR4_USER_PRIORITY_ENfalse
CTRL_DDR4_AUTO_PRECHARGE_ENfalse
CTRL_DDR4_ADDR_ORDER_ENUMDDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG
CTRL_DDR4_ECC_ENtrue
CTRL_DDR4_ECC_AUTO_CORRECTION_ENfalse
CTRL_DDR4_ECC_READDATAERROR_ENfalse
CTRL_DDR4_ECC_STATUS_ENfalse
CTRL_DDR4_REORDER_ENtrue
CTRL_DDR4_STARVE_LIMIT10
CTRL_DDR4_MMR_ENfalse
CTRL_DDR4_MAJOR_MODE_ENfalse
CTRL_DDR4_POST_REFRESH_ENtrue
CTRL_DDR4_POST_REFRESH_LOWER_LIMIT0
CTRL_DDR4_POST_REFRESH_UPPER_LIMIT2
CTRL_DDR4_PRE_REFRESH_ENfalse
CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS0
CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS0
CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS0
CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS0
CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS0
CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS0
DIAG_EXPORT_PLL_LOCKEDtrue
DIAG_DDR4_SIM_CAL_MODE_ENUMSIM_CAL_MODE_SKIP
DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVECAL_DEBUG_EXPORT_MODE_JTAG
DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES1
DIAG_DDR4_EX_DESIGN_ISSP_ENtrue
DIAG_DDR4_EFFICIENCY_MONITOREFFMON_MODE_DISABLED
DIAG_DDR4_USE_TG_AVL_2false
DIAG_DDR4_ENABLE_DEFAULT_MODEfalse
DIAG_DDR4_ENABLE_USER_MODEtrue
DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVETG_CFG_AMM_EXPORT_MODE_EXPORT
DIAG_DDR4_TG2_TEST_DURATIONSHORT
DIAG_DDR4_AC_PARITY_ERRfalse
DIAG_DDR4_SKIP_AC_PARITY_CHECKfalse
NUM_IPS1
EX_DESIGN_GUI_DDR4_GEN_SIMtrue
EX_DESIGN_GUI_DDR4_GEN_SYNTHtrue
EX_DESIGN_GUI_DDR4_GEN_BSIfalse
EX_DESIGN_GUI_DDR4_GEN_CDCfalse
EX_DESIGN_GUI_DDR4_HDL_FORMATHDL_FORMAT_VERILOG
EX_DESIGN_GUI_DDR4_TARGET_DEV_KITTARGET_DEV_KIT_NONE
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ +
+
+

emif_fm_0_arch

altera_emif_arch_fm v19.1 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ emif_fm_0_ecc_core + ctrl_ecc_0  emif_fm_0_arch
  ctrl_ecc_0
ctrl_ast_cmd_0  
  ctrl_ast_cmd_0
ctrl_ast_wr_0  
  ctrl_ast_wr_0
emif_usr_clk   + emif_fm_0_ecc_core +
  emif_usr_clk_in
emif_usr_reset_n  
  emif_usr_reset_n_in
ctrl_ast_rd_0  
  ctrl_ast_rd_0
+
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SILICON_REV14nm5
IS_HPSfalse
USER_CLK_RATIO4
C2P_P2C_CLK_RATIO4
PHY_HMC_CLK_RATIO2
DIAG_ABSTRACT_PHY_WLAT9
DIAG_ABSTRACT_PHY_RLAT20
DIAG_CPA_OUT_1_ENfalse
DIAG_USE_CPA_LOCKtrue
DQS_BUS_MODE_ENUMDQS_BUS_MODE_X8_X9
AC_PIN_MAP_SCHEMEuse_0_1_2_3_lane
NUM_OF_HMC_PORTS1
HMC_AVL_PROTOCOL_ENUMCTRL_AVL_PROTOCOL_ST
HMC_READY_LATENCY2
HMC_CTRL_DIMM_TYPEdimm_type_rdimm
SEQ_PT_SYN_CONTENT00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d00c08100b0000000000000000000005066008000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000
SEQ_PT_SIM_CONTENT00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d20e08100b0000000000000000000005077d58000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000
REGISTER_AFI_C2P1
REGISTER_AFI_P2C1
REGISTER_AMM_P2C1
REGISTER_AMM_C2P1
NUM_OF_RTL_TILES4
PRI_RDATA_TILE_INDEX0
PRI_RDATA_LANE_INDEX0
PRI_WDATA_TILE_INDEX0
PRI_WDATA_LANE_INDEX0
PRI_AC_TILE_INDEX1
SEC_RDATA_TILE_INDEX0
SEC_RDATA_LANE_INDEX0
SEC_WDATA_TILE_INDEX0
SEC_WDATA_LANE_INDEX0
SEC_AC_TILE_INDEX1
LANES_USAGE_0757373805
LANES_USAGE_1365
LANES_USAGE_20
LANES_USAGE_30
LANES_USAGE_AUTOGEN_WCNT4
PINS_USAGE_01073217407
PINS_USAGE_1763355133
PINS_USAGE_215699967
PINS_USAGE_31040179140
PINS_USAGE_41073217407
PINS_USAGE_561
PINS_USAGE_60
PINS_USAGE_70
PINS_USAGE_80
PINS_USAGE_90
PINS_USAGE_100
PINS_USAGE_110
PINS_USAGE_120
PINS_USAGE_AUTOGEN_WCNT13
LANE_PIN_USAGE_020058385
LANE_PIN_USAGE_171582788
LANE_PIN_USAGE_2286266145
LANE_PIN_USAGE_3209994820
LANE_PIN_USAGE_4286331137
LANE_PIN_USAGE_567422276
LANE_PIN_USAGE_671581969
LANE_PIN_USAGE_7269828353
LANE_PIN_USAGE_871582788
LANE_PIN_USAGE_969905
LANE_PIN_USAGE_1067388484
LANE_PIN_USAGE_1117
LANE_PIN_USAGE_12285213696
LANE_PIN_USAGE_1367422276
LANE_PIN_USAGE_14554766609
LANE_PIN_USAGE_1571581772
LANE_PIN_USAGE_1620058385
LANE_PIN_USAGE_1771582788
LANE_PIN_USAGE_18286266145
LANE_PIN_USAGE_19209994820
LANE_PIN_USAGE_201118465
LANE_PIN_USAGE_210
LANE_PIN_USAGE_220
LANE_PIN_USAGE_230
LANE_PIN_USAGE_240
LANE_PIN_USAGE_250
LANE_PIN_USAGE_260
LANE_PIN_USAGE_270
LANE_PIN_USAGE_280
LANE_PIN_USAGE_290
LANE_PIN_USAGE_300
LANE_PIN_USAGE_310
LANE_PIN_USAGE_320
LANE_PIN_USAGE_330
LANE_PIN_USAGE_340
LANE_PIN_USAGE_350
LANE_PIN_USAGE_360
LANE_PIN_USAGE_370
LANE_PIN_USAGE_380
LANE_PIN_USAGE_390
LANE_PIN_USAGE_400
LANE_PIN_USAGE_410
LANE_PIN_USAGE_420
LANE_PIN_USAGE_430
LANE_PIN_USAGE_440
LANE_PIN_USAGE_450
LANE_PIN_USAGE_460
LANE_PIN_USAGE_470
LANE_PIN_USAGE_480
LANE_PIN_USAGE_490
LANE_PIN_USAGE_500
LANE_PIN_USAGE_510
LANE_PIN_USAGE_AUTOGEN_WCNT52
PINS_RATE_00
PINS_RATE_1561774592
PINS_RATE_215699967
PINS_RATE_34
PINS_RATE_40
PINS_RATE_50
PINS_RATE_60
PINS_RATE_70
PINS_RATE_80
PINS_RATE_90
PINS_RATE_100
PINS_RATE_110
PINS_RATE_120
PINS_RATE_AUTOGEN_WCNT13
DB_PINS_PROC_MODE_0275876963
DB_PINS_PROC_MODE_1103911395
DB_PINS_PROC_MODE_2275876963
DB_PINS_PROC_MODE_3103911395
DB_PINS_PROC_MODE_4275876963
DB_PINS_PROC_MODE_5103911395
DB_PINS_PROC_MODE_6275876963
DB_PINS_PROC_MODE_7103911395
DB_PINS_PROC_MODE_81041269793
DB_PINS_PROC_MODE_966230241
DB_PINS_PROC_MODE_1034636833
DB_PINS_PROC_MODE_1134636833
DB_PINS_PROC_MODE_1234668543
DB_PINS_PROC_MODE_1334667553
DB_PINS_PROC_MODE_141073741823
DB_PINS_PROC_MODE_151073730559
DB_PINS_PROC_MODE_16275876963
DB_PINS_PROC_MODE_17103911395
DB_PINS_PROC_MODE_18275876963
DB_PINS_PROC_MODE_19103911395
DB_PINS_PROC_MODE_20275876963
DB_PINS_PROC_MODE_21103911395
DB_PINS_PROC_MODE_22275876963
DB_PINS_PROC_MODE_23103911395
DB_PINS_PROC_MODE_24275876963
DB_PINS_PROC_MODE_25103911395
DB_PINS_PROC_MODE_261073741823
DB_PINS_PROC_MODE_271073741823
DB_PINS_PROC_MODE_281073741823
DB_PINS_PROC_MODE_291073741823
DB_PINS_PROC_MODE_301073741823
DB_PINS_PROC_MODE_311073741823
DB_PINS_PROC_MODE_320
DB_PINS_PROC_MODE_330
DB_PINS_PROC_MODE_340
DB_PINS_PROC_MODE_350
DB_PINS_PROC_MODE_360
DB_PINS_PROC_MODE_370
DB_PINS_PROC_MODE_380
DB_PINS_PROC_MODE_390
DB_PINS_PROC_MODE_400
DB_PINS_PROC_MODE_410
DB_PINS_PROC_MODE_420
DB_PINS_PROC_MODE_430
DB_PINS_PROC_MODE_440
DB_PINS_PROC_MODE_450
DB_PINS_PROC_MODE_460
DB_PINS_PROC_MODE_470
DB_PINS_PROC_MODE_480
DB_PINS_PROC_MODE_490
DB_PINS_PROC_MODE_500
DB_PINS_PROC_MODE_510
DB_PINS_PROC_MODE_520
DB_PINS_PROC_MODE_530
DB_PINS_PROC_MODE_540
DB_PINS_PROC_MODE_550
DB_PINS_PROC_MODE_560
DB_PINS_PROC_MODE_570
DB_PINS_PROC_MODE_580
DB_PINS_PROC_MODE_590
DB_PINS_PROC_MODE_600
DB_PINS_PROC_MODE_610
DB_PINS_PROC_MODE_620
DB_PINS_PROC_MODE_630
DB_PINS_PROC_MODE_AUTOGEN_WCNT64
PINS_DATA_IN_MODE_0151515721
PINS_DATA_IN_MODE_133329737
PINS_DATA_IN_MODE_21059361353
PINS_DATA_IN_MODE_3153391681
PINS_DATA_IN_MODE_4153391231
PINS_DATA_IN_MODE_5150736969
PINS_DATA_IN_MODE_6153391689
PINS_DATA_IN_MODE_7153387017
PINS_DATA_IN_MODE_8584
PINS_DATA_IN_MODE_9153354304
PINS_DATA_IN_MODE_10153391231
PINS_DATA_IN_MODE_11153362377
PINS_DATA_IN_MODE_12151515721
PINS_DATA_IN_MODE_1333329737
PINS_DATA_IN_MODE_141059361353
PINS_DATA_IN_MODE_1537441
PINS_DATA_IN_MODE_160
PINS_DATA_IN_MODE_170
PINS_DATA_IN_MODE_180
PINS_DATA_IN_MODE_190
PINS_DATA_IN_MODE_200
PINS_DATA_IN_MODE_210
PINS_DATA_IN_MODE_220
PINS_DATA_IN_MODE_230
PINS_DATA_IN_MODE_240
PINS_DATA_IN_MODE_250
PINS_DATA_IN_MODE_260
PINS_DATA_IN_MODE_270
PINS_DATA_IN_MODE_280
PINS_DATA_IN_MODE_290
PINS_DATA_IN_MODE_300
PINS_DATA_IN_MODE_310
PINS_DATA_IN_MODE_320
PINS_DATA_IN_MODE_330
PINS_DATA_IN_MODE_340
PINS_DATA_IN_MODE_350
PINS_DATA_IN_MODE_360
PINS_DATA_IN_MODE_370
PINS_DATA_IN_MODE_380
PINS_DATA_IN_MODE_AUTOGEN_WCNT39
PINS_C2L_DRIVEN_0267714383
PINS_C2L_DRIVEN_1250877
PINS_C2L_DRIVEN_20
PINS_C2L_DRIVEN_31027593152
PINS_C2L_DRIVEN_4267714383
PINS_C2L_DRIVEN_561
PINS_C2L_DRIVEN_60
PINS_C2L_DRIVEN_70
PINS_C2L_DRIVEN_80
PINS_C2L_DRIVEN_90
PINS_C2L_DRIVEN_100
PINS_C2L_DRIVEN_110
PINS_C2L_DRIVEN_120
PINS_C2L_DRIVEN_AUTOGEN_WCNT13
PINS_OCT_MODE_01073217407
PINS_OCT_MODE_1253949
PINS_OCT_MODE_20
PINS_OCT_MODE_31040179136
PINS_OCT_MODE_41073217407
PINS_OCT_MODE_561
PINS_OCT_MODE_60
PINS_OCT_MODE_70
PINS_OCT_MODE_80
PINS_OCT_MODE_90
PINS_OCT_MODE_100
PINS_OCT_MODE_110
PINS_OCT_MODE_120
PINS_OCT_MODE_AUTOGEN_WCNT13
PINS_DCC_SPLIT_0805503024
PINS_DCC_SPLIT_1201329664
PINS_DCC_SPLIT_20
PINS_DCC_SPLIT_312585984
PINS_DCC_SPLIT_4805503024
PINS_DCC_SPLIT_50
PINS_DCC_SPLIT_60
PINS_DCC_SPLIT_70
PINS_DCC_SPLIT_80
PINS_DCC_SPLIT_90
PINS_DCC_SPLIT_100
PINS_DCC_SPLIT_110
PINS_DCC_SPLIT_120
PINS_DCC_SPLIT_AUTOGEN_WCNT13
UNUSED_MEM_PINS_PINLOC_0199425087
UNUSED_MEM_PINS_PINLOC_1196276413
UNUSED_MEM_PINS_PINLOC_2193127610
UNUSED_MEM_PINS_PINLOC_3189978807
UNUSED_MEM_PINS_PINLOC_4186830004
UNUSED_MEM_PINS_PINLOC_5183681201
UNUSED_MEM_PINS_PINLOC_6180532398
UNUSED_MEM_PINS_PINLOC_7177383595
UNUSED_MEM_PINS_PINLOC_8174234792
UNUSED_MEM_PINS_PINLOC_9171085989
UNUSED_MEM_PINS_PINLOC_10167937186
UNUSED_MEM_PINS_PINLOC_11164788383
UNUSED_MEM_PINS_PINLOC_12145906844
UNUSED_MEM_PINS_PINLOC_13108121215
UNUSED_MEM_PINS_PINLOC_1497613919
UNUSED_MEM_PINS_PINLOC_1593415515
UNUSED_MEM_PINS_PINLOC_1690266712
UNUSED_MEM_PINS_PINLOC_1783972181
UNUSED_MEM_PINS_PINLOC_1875572298
UNUSED_MEM_PINS_PINLOC_1955630906
UNUSED_MEM_PINS_PINLOC_2019954731
UNUSED_MEM_PINS_PINLOC_217
UNUSED_MEM_PINS_PINLOC_220
UNUSED_MEM_PINS_PINLOC_230
UNUSED_MEM_PINS_PINLOC_240
UNUSED_MEM_PINS_PINLOC_250
UNUSED_MEM_PINS_PINLOC_260
UNUSED_MEM_PINS_PINLOC_270
UNUSED_MEM_PINS_PINLOC_280
UNUSED_MEM_PINS_PINLOC_290
UNUSED_MEM_PINS_PINLOC_300
UNUSED_MEM_PINS_PINLOC_310
UNUSED_MEM_PINS_PINLOC_320
UNUSED_MEM_PINS_PINLOC_330
UNUSED_MEM_PINS_PINLOC_340
UNUSED_MEM_PINS_PINLOC_350
UNUSED_MEM_PINS_PINLOC_360
UNUSED_MEM_PINS_PINLOC_370
UNUSED_MEM_PINS_PINLOC_380
UNUSED_MEM_PINS_PINLOC_390
UNUSED_MEM_PINS_PINLOC_400
UNUSED_MEM_PINS_PINLOC_410
UNUSED_MEM_PINS_PINLOC_420
UNUSED_MEM_PINS_PINLOC_430
UNUSED_MEM_PINS_PINLOC_440
UNUSED_MEM_PINS_PINLOC_450
UNUSED_MEM_PINS_PINLOC_460
UNUSED_MEM_PINS_PINLOC_470
UNUSED_MEM_PINS_PINLOC_480
UNUSED_MEM_PINS_PINLOC_490
UNUSED_MEM_PINS_PINLOC_500
UNUSED_MEM_PINS_PINLOC_510
UNUSED_MEM_PINS_PINLOC_520
UNUSED_MEM_PINS_PINLOC_530
UNUSED_MEM_PINS_PINLOC_540
UNUSED_MEM_PINS_PINLOC_550
UNUSED_MEM_PINS_PINLOC_560
UNUSED_MEM_PINS_PINLOC_570
UNUSED_MEM_PINS_PINLOC_580
UNUSED_MEM_PINS_PINLOC_590
UNUSED_MEM_PINS_PINLOC_600
UNUSED_MEM_PINS_PINLOC_610
UNUSED_MEM_PINS_PINLOC_620
UNUSED_MEM_PINS_PINLOC_630
UNUSED_MEM_PINS_PINLOC_640
UNUSED_MEM_PINS_PINLOC_650
UNUSED_MEM_PINS_PINLOC_660
UNUSED_MEM_PINS_PINLOC_670
UNUSED_MEM_PINS_PINLOC_680
UNUSED_MEM_PINS_PINLOC_690
UNUSED_MEM_PINS_PINLOC_700
UNUSED_MEM_PINS_PINLOC_710
UNUSED_MEM_PINS_PINLOC_720
UNUSED_MEM_PINS_PINLOC_730
UNUSED_MEM_PINS_PINLOC_740
UNUSED_MEM_PINS_PINLOC_750
UNUSED_MEM_PINS_PINLOC_760
UNUSED_MEM_PINS_PINLOC_770
UNUSED_MEM_PINS_PINLOC_780
UNUSED_MEM_PINS_PINLOC_790
UNUSED_MEM_PINS_PINLOC_800
UNUSED_MEM_PINS_PINLOC_810
UNUSED_MEM_PINS_PINLOC_820
UNUSED_MEM_PINS_PINLOC_830
UNUSED_MEM_PINS_PINLOC_840
UNUSED_MEM_PINS_PINLOC_850
UNUSED_MEM_PINS_PINLOC_860
UNUSED_MEM_PINS_PINLOC_870
UNUSED_MEM_PINS_PINLOC_880
UNUSED_MEM_PINS_PINLOC_890
UNUSED_MEM_PINS_PINLOC_900
UNUSED_MEM_PINS_PINLOC_910
UNUSED_MEM_PINS_PINLOC_920
UNUSED_MEM_PINS_PINLOC_930
UNUSED_MEM_PINS_PINLOC_940
UNUSED_MEM_PINS_PINLOC_950
UNUSED_MEM_PINS_PINLOC_960
UNUSED_MEM_PINS_PINLOC_970
UNUSED_MEM_PINS_PINLOC_980
UNUSED_MEM_PINS_PINLOC_990
UNUSED_MEM_PINS_PINLOC_1000
UNUSED_MEM_PINS_PINLOC_1010
UNUSED_MEM_PINS_PINLOC_1020
UNUSED_MEM_PINS_PINLOC_1030
UNUSED_MEM_PINS_PINLOC_1040
UNUSED_MEM_PINS_PINLOC_1050
UNUSED_MEM_PINS_PINLOC_1060
UNUSED_MEM_PINS_PINLOC_1070
UNUSED_MEM_PINS_PINLOC_1080
UNUSED_MEM_PINS_PINLOC_1090
UNUSED_MEM_PINS_PINLOC_1100
UNUSED_MEM_PINS_PINLOC_1110
UNUSED_MEM_PINS_PINLOC_1120
UNUSED_MEM_PINS_PINLOC_1130
UNUSED_MEM_PINS_PINLOC_1140
UNUSED_MEM_PINS_PINLOC_1150
UNUSED_MEM_PINS_PINLOC_1160
UNUSED_MEM_PINS_PINLOC_1170
UNUSED_MEM_PINS_PINLOC_1180
UNUSED_MEM_PINS_PINLOC_1190
UNUSED_MEM_PINS_PINLOC_1200
UNUSED_MEM_PINS_PINLOC_1210
UNUSED_MEM_PINS_PINLOC_1220
UNUSED_MEM_PINS_PINLOC_1230
UNUSED_MEM_PINS_PINLOC_1240
UNUSED_MEM_PINS_PINLOC_1250
UNUSED_MEM_PINS_PINLOC_1260
UNUSED_MEM_PINS_PINLOC_1270
UNUSED_MEM_PINS_PINLOC_1280
UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT129
UNUSED_DQS_BUSES_LANELOC_014695431
UNUSED_DQS_BUSES_LANELOC_16298637
UNUSED_DQS_BUSES_LANELOC_24101
UNUSED_DQS_BUSES_LANELOC_30
UNUSED_DQS_BUSES_LANELOC_40
UNUSED_DQS_BUSES_LANELOC_50
UNUSED_DQS_BUSES_LANELOC_60
UNUSED_DQS_BUSES_LANELOC_70
UNUSED_DQS_BUSES_LANELOC_80
UNUSED_DQS_BUSES_LANELOC_90
UNUSED_DQS_BUSES_LANELOC_100
UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT11
DBC_EXTRA_PIPE_STAGE_ENdisable
DBC_PIPE_LATS_0286335522
DBC_PIPE_LATS_1821384
DBC_PIPE_LATS_20
DBC_PIPE_LATS_30
DBC_PIPE_LATS_40
DBC_PIPE_LATS_AUTOGEN_WCNT5
DB_PTR_PIPELINE_DEPTHS_0286331153
DB_PTR_PIPELINE_DEPTHS_117476
DB_PTR_PIPELINE_DEPTHS_20
DB_PTR_PIPELINE_DEPTHS_30
DB_PTR_PIPELINE_DEPTHS_40
DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT5
DB_SEQ_RD_EN_FULL_PIPELINES_0858993459
DB_SEQ_RD_EN_FULL_PIPELINES_1838860
DB_SEQ_RD_EN_FULL_PIPELINES_20
DB_SEQ_RD_EN_FULL_PIPELINES_30
DB_SEQ_RD_EN_FULL_PIPELINES_40
DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT5
CENTER_TIDS_0542119940
CENTER_TIDS_13
CENTER_TIDS_20
CENTER_TIDS_AUTOGEN_WCNT3
HMC_TIDS_0676600325
HMC_TIDS_13
HMC_TIDS_20
HMC_TIDS_AUTOGEN_WCNT3
LANE_TIDS_0403177984
LANE_TIDS_1168067584
LANE_TIDS_235717208
LANE_TIDS_3140518930
LANE_TIDS_4886403
LANE_TIDS_50
LANE_TIDS_60
LANE_TIDS_70
LANE_TIDS_80
LANE_TIDS_90
LANE_TIDS_AUTOGEN_WCNT10
PREAMBLE_MODEpreamble_one_cycle
DBI_WR_ENABLEdbi_wr_dis
DBI_RD_ENABLEdbi_rd_ena
SWAP_DQS_A_Bfalse
DQS_PACK_MODEpacked
OCT_SIZE3
DQSA_LGC_MODEdqs_diff_in_1_a
DQSB_LGC_MODEdqs_constant_b
DBC_WB_RESERVED_ENTRY52
DLL_MODEdll_ctl_dynamic
DLL_CODEWORD0
ABPHY_WRITE_PROTOCOL0
PHY_USERMODE_OCTfalse
PHY_PERIODIC_OCT_RECALfalse
GENERATE_PHYLITEfalse
HPRX_CTLE_ENon
HPRX_OFFSET_CALtrue
CPA_FB_MUX_1_SELlocal_p_clk
ENABLE_RD_TYPEfalse
AMM_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
AMM_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
MMR_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
MMR_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
SIDEBAND_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
SIDEBAND_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
SEQ_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
SEQ_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
ECC_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
ECC_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
LANE_C2P_UFI_MODEpin_ufi_use_in_direct_out_direct
LANE_P2C_UFI_MODEpin_ufi_use_in_direct_out_direct
AMM_HIPI_DELAY350
MMR_HIPI_DELAY350
SIDEBAND_HIPI_DELAY350
SEQ_HIPI_DELAY350
ECC_HIPI_DELAY350
LANE_HIPI_DELAY350
PRI_HMC_CFG_PING_PONG_MODEpingpong_off
PRI_HMC_CFG_CS_ADDR_WIDTHcs_width_0
PRI_HMC_CFG_COL_ADDR_WIDTHcol_width_10
PRI_HMC_CFG_ROW_ADDR_WIDTHrow_width_16
PRI_HMC_CFG_BANK_ADDR_WIDTHbank_width_2
PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTHbank_group_width_2
PRI_HMC_CFG_ADDR_ORDERaddr_order_cs_row_ba_col
PRI_HMC_CFG_ARBITER_TYPEarbiter_type_2t
PRI_HMC_CFG_OPEN_PAGE_ENdisable
PRI_HMC_CFG_CTRL_ENABLE_RCenable
PRI_HMC_CFG_DBC0_ENABLE_RCenable
PRI_HMC_CFG_DBC1_ENABLE_RCenable
PRI_HMC_CFG_DBC2_ENABLE_RCenable
PRI_HMC_CFG_DBC3_ENABLE_RCenable
PRI_HMC_CFG_CTRL_ENABLE_ECCenable
PRI_HMC_CFG_DBC0_ENABLE_ECCenable
PRI_HMC_CFG_DBC1_ENABLE_ECCenable
PRI_HMC_CFG_DBC2_ENABLE_ECCenable
PRI_HMC_CFG_DBC3_ENABLE_ECCenable
PRI_HMC_CFG_REORDER_DATAenable
PRI_HMC_CFG_REORDER_READdisable
PRI_HMC_CFG_CTRL_REORDER_RDATAdisable
PRI_HMC_CFG_DBC0_REORDER_RDATAdisable
PRI_HMC_CFG_DBC1_REORDER_RDATAdisable
PRI_HMC_CFG_DBC2_REORDER_RDATAdisable
PRI_HMC_CFG_DBC3_REORDER_RDATAdisable
PRI_HMC_CFG_CTRL_SLOT_OFFSET2
PRI_HMC_CFG_DBC0_SLOT_OFFSET2
PRI_HMC_CFG_DBC1_SLOT_OFFSET2
PRI_HMC_CFG_DBC2_SLOT_OFFSET2
PRI_HMC_CFG_DBC3_SLOT_OFFSET2
PRI_HMC_CFG_CTRL_SLOT_ROTATE_ENctrl_disable
PRI_HMC_CFG_DBC0_SLOT_ROTATE_ENdbc0_disable
PRI_HMC_CFG_DBC1_SLOT_ROTATE_ENdbc1_disable
PRI_HMC_CFG_DBC2_SLOT_ROTATE_ENdbc2_disable
PRI_HMC_CFG_DBC3_SLOT_ROTATE_ENdbc3_disable
PRI_HMC_CFG_COL_CMD_SLOT2
PRI_HMC_CFG_ROW_CMD_SLOT1
PRI_HMC_CFG_ROW_TO_COL_OFFSET-1
PRI_HMC_CFG_ROW_TO_ROW_OFFSET0
PRI_HMC_CFG_COL_TO_COL_OFFSET0
PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET0
PRI_HMC_CFG_COL_TO_ROW_OFFSET1
PRI_HMC_CFG_SIDEBAND_OFFSET1
PRI_HMC_CFG_CS_TO_CHIP_MAPPING33825
PRI_HMC_CFG_CTL_ODT_ENABLED1
PRI_HMC_CFG_RD_ODT_ON4
PRI_HMC_CFG_RD_ODT_PERIOD7
PRI_HMC_CFG_READ_ODT_CHIP0
PRI_HMC_CFG_WR_ODT_ON0
PRI_HMC_CFG_WR_ODT_PERIOD6
PRI_HMC_CFG_WRITE_ODT_CHIP0
PRI_HMC_CFG_CMD_FIFO_RESERVE_ENenable
PRI_HMC_CFG_RB_RESERVED_ENTRY8
PRI_HMC_CFG_WB_RESERVED_ENTRY52
PRI_HMC_CFG_STARVE_LIMIT10
PRI_HMC_CFG_PHY_DELAY_MISMATCH0
PRI_HMC_CFG_DQSTRK_ENdisable
PRI_HMC_CFG_DQSTRK_TO_VALID4
PRI_HMC_CFG_DQSTRK_TO_VALID_LAST26
PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN0
PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_ENdisable
PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL0
PRI_HMC_CFG_SHORT_DQSTRK_CTRL_ENdisable
PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD0
PRI_HMC_CFG_USER_RFSH_ENdisable
PRI_HMC_CFG_GEAR_DOWN_ENdisable
PRI_HMC_CFG_MEM_AUTO_PD_CYCLES0
PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC15
PRI_HMC_MEMCLKGATE_SETTING0
PRI_HMC_CFG_TCL21
PRI_HMC_CFG_16_ACT_TO_ACT0
PRI_HMC_CFG_4_ACT_TO_ACT12
PRI_HMC_MEM_IF_AL0
PRI_HMC_MEM_IF_CS_PER_DIMM0
PRI_HMC_MEM_IF_RD_PREAMBLE0
PRI_HMC_MEM_IF_TCCD0
PRI_HMC_MEM_IF_TCCD_S0
PRI_HMC_MEM_IF_TCKESR0
PRI_HMC_MEM_IF_TCKSRX0
PRI_HMC_MEM_IF_TCL0
PRI_HMC_MEM_IF_TCWL0
PRI_HMC_MEM_IF_TDQSCKMAX0
PRI_HMC_MEM_IF_TFAW0
PRI_HMC_MEM_IF_TMOD0
PRI_HMC_MEM_IF_TPL0
PRI_HMC_MEM_IF_TRAS0
PRI_HMC_MEM_IF_TRC0
PRI_HMC_MEM_IF_TRCD0
PRI_HMC_MEM_IF_TREFI0
PRI_HMC_MEM_IF_TRFC0
PRI_HMC_MEM_IF_TRP0
PRI_HMC_MEM_IF_TRRD0
PRI_HMC_MEM_IF_TRRD_S0
PRI_HMC_MEM_IF_TRTP0
PRI_HMC_MEM_IF_TWR0
PRI_HMC_MEM_IF_TWR_CRC_DM0
PRI_HMC_MEM_IF_TWTR0
PRI_HMC_MEM_IF_TWTR_L_CRC_DM0
PRI_HMC_MEM_IF_TWTR_S0
PRI_HMC_MEM_IF_TWTR_S_CRC_DM0
PRI_HMC_MEM_IF_TXP0
PRI_HMC_MEM_IF_TXPDLL0
PRI_HMC_MEM_IF_TXSR0
PRI_HMC_MEM_IF_TZQCS0
PRI_HMC_MEM_IF_TZQOPER0
PRI_HMC_MEM_IF_WR_CRC0
PRI_HMC_MEM_IF_WR_PREAMBLE0
PRI_HMC_CFG_ACT_TO_ACT28
PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK3
PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG2
PRI_HMC_CFG_ACT_TO_PCH20
PRI_HMC_CFG_ACT_TO_RDWR8
PRI_HMC_CFG_ARF_PERIOD4681
PRI_HMC_CFG_ARF_TO_VALID211
PRI_HMC_CFG_MMR_CMD_TO_VALID16
PRI_HMC_CFG_MPR_TO_VALID16
PRI_HMC_CFG_MPS_DQSTRK_DISABLEdisable
PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS6
PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE5
PRI_HMC_CFG_MPS_TO_VALID768
PRI_HMC_CFG_MPS_ZQCAL_DISABLEdisable
PRI_HMC_CFG_MRR_TO_VALID0
PRI_HMC_CFG_MRS_TO_VALID12
PRI_HMC_CFG_PCH_ALL_TO_VALID9
PRI_HMC_CFG_PCH_TO_VALID9
PRI_HMC_CFG_PDN_PERIOD0
PRI_HMC_CFG_PDN_TO_VALID5
PRI_HMC_CFG_POWER_SAVING_EXIT_CYC3
PRI_HMC_CFG_RD_AP_TO_VALID14
PRI_HMC_CFG_RD_TO_PCH5
PRI_HMC_CFG_RD_TO_RD3
PRI_HMC_CFG_RD_TO_RD_DIFF_BG2
PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP4
PRI_HMC_CFG_RD_TO_WR10
PRI_HMC_CFG_RD_TO_WR_DIFF_BG10
PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP10
PRI_HMC_CFG_RFSH_WARN_THRESHOLD0
PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY0
PRI_HMC_CFG_RLD3_REFRESH_SEQ00
PRI_HMC_CFG_RLD3_REFRESH_SEQ10
PRI_HMC_CFG_RLD3_REFRESH_SEQ20
PRI_HMC_CFG_RLD3_REFRESH_SEQ30
PRI_HMC_CFG_SB_CG_DISABLEdisable
PRI_HMC_CFG_SB_DDR4_MR3197632
PRI_HMC_CFG_SB_DDR4_MR4264192
PRI_HMC_CFG_SB_DDR4_MR55216
PRI_HMC_CFG_DDR4_MPS_ADDRMIRRORdisable
PRI_HMC_CFG_SRF_AUTOEXIT_ENdisable
PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK0
PRI_HMC_CFG_SRF_TO_VALID513
PRI_HMC_CFG_SRF_TO_ZQ_CAL385
PRI_HMC_CFG_SRF_ZQCAL_DISABLEdisable
PRI_HMC_TEMP_4_ACT_TO_ACT0
PRI_HMC_TEMP_RD_TO_RD_DIFF_BG0
PRI_HMC_TEMP_WR_TO_RD0
PRI_HMC_TEMP_WR_TO_RD_DIFF_BG0
PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP0
PRI_HMC_TEMP_WR_TO_WR_DIFF_BG0
PRI_HMC_CFG_WR_AP_TO_VALID28
PRI_HMC_CFG_WR_TO_PCH20
PRI_HMC_CFG_WR_TO_RD19
PRI_HMC_CFG_WR_TO_RD_DIFF_BG17
PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP15
PRI_HMC_CFG_WR_TO_WR3
PRI_HMC_CFG_WR_TO_WR_DIFF_BG2
PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP3
PRI_HMC_CFG_ZQCL_TO_VALID257
PRI_HMC_CFG_ZQCS_TO_VALID127
PRI_HMC_CHIP_ID273
PRI_HMC_CID_ADDR_WIDTH0
PRI_HMC_3DS_ENdisable
PRI_HMC_3DS_LR_NUM00
PRI_HMC_3DS_LR_NUM10
PRI_HMC_3DS_LR_NUM20
PRI_HMC_3DS_LR_NUM30
PRI_HMC_3DS_PR_STAG_ENABLEdisable
PRI_HMC_3DS_REF2REF_DLR1
PRI_HMC_3DSREF_ACK_ON_DONEdisable
PRI_HMC_CFG_MAJOR_MODE_ENdisable
PRI_HMC_CFG_REFRESH_TYPE0
PRI_HMC_CFG_PRE_REFRESH_ENdisable
PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT1
PRI_HMC_CFG_POST_REFRESH_ENenable
PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT0
PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT2
SEC_HMC_CFG_PING_PONG_MODEpingpong_off
SEC_HMC_CFG_CS_ADDR_WIDTHcs_width_0
SEC_HMC_CFG_COL_ADDR_WIDTHcol_width_10
SEC_HMC_CFG_ROW_ADDR_WIDTHrow_width_16
SEC_HMC_CFG_BANK_ADDR_WIDTHbank_width_2
SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTHbank_group_width_2
SEC_HMC_CFG_ADDR_ORDERaddr_order_cs_row_ba_col
SEC_HMC_CFG_ARBITER_TYPEarbiter_type_2t
SEC_HMC_CFG_OPEN_PAGE_ENdisable
SEC_HMC_CFG_CTRL_ENABLE_RCenable
SEC_HMC_CFG_DBC0_ENABLE_RCenable
SEC_HMC_CFG_DBC1_ENABLE_RCenable
SEC_HMC_CFG_DBC2_ENABLE_RCenable
SEC_HMC_CFG_DBC3_ENABLE_RCenable
SEC_HMC_CFG_CTRL_ENABLE_ECCenable
SEC_HMC_CFG_DBC0_ENABLE_ECCenable
SEC_HMC_CFG_DBC1_ENABLE_ECCenable
SEC_HMC_CFG_DBC2_ENABLE_ECCenable
SEC_HMC_CFG_DBC3_ENABLE_ECCenable
SEC_HMC_CFG_REORDER_DATAenable
SEC_HMC_CFG_REORDER_READdisable
SEC_HMC_CFG_CTRL_REORDER_RDATAdisable
SEC_HMC_CFG_DBC0_REORDER_RDATAdisable
SEC_HMC_CFG_DBC1_REORDER_RDATAdisable
SEC_HMC_CFG_DBC2_REORDER_RDATAdisable
SEC_HMC_CFG_DBC3_REORDER_RDATAdisable
SEC_HMC_CFG_CTRL_SLOT_OFFSET2
SEC_HMC_CFG_DBC0_SLOT_OFFSET2
SEC_HMC_CFG_DBC1_SLOT_OFFSET2
SEC_HMC_CFG_DBC2_SLOT_OFFSET2
SEC_HMC_CFG_DBC3_SLOT_OFFSET2
SEC_HMC_CFG_CTRL_SLOT_ROTATE_ENctrl_disable
SEC_HMC_CFG_DBC0_SLOT_ROTATE_ENdbc0_disable
SEC_HMC_CFG_DBC1_SLOT_ROTATE_ENdbc1_disable
SEC_HMC_CFG_DBC2_SLOT_ROTATE_ENdbc2_disable
SEC_HMC_CFG_DBC3_SLOT_ROTATE_ENdbc3_disable
SEC_HMC_CFG_COL_CMD_SLOT2
SEC_HMC_CFG_ROW_CMD_SLOT1
SEC_HMC_CFG_ROW_TO_COL_OFFSET-1
SEC_HMC_CFG_ROW_TO_ROW_OFFSET0
SEC_HMC_CFG_COL_TO_COL_OFFSET0
SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET0
SEC_HMC_CFG_COL_TO_ROW_OFFSET1
SEC_HMC_CFG_SIDEBAND_OFFSET1
SEC_HMC_CFG_CS_TO_CHIP_MAPPING33825
SEC_HMC_CFG_CTL_ODT_ENABLED1
SEC_HMC_CFG_RD_ODT_ON4
SEC_HMC_CFG_RD_ODT_PERIOD7
SEC_HMC_CFG_READ_ODT_CHIP0
SEC_HMC_CFG_WR_ODT_ON0
SEC_HMC_CFG_WR_ODT_PERIOD6
SEC_HMC_CFG_WRITE_ODT_CHIP0
SEC_HMC_CFG_CMD_FIFO_RESERVE_ENenable
SEC_HMC_CFG_RB_RESERVED_ENTRY8
SEC_HMC_CFG_WB_RESERVED_ENTRY52
SEC_HMC_CFG_STARVE_LIMIT10
SEC_HMC_CFG_PHY_DELAY_MISMATCH0
SEC_HMC_CFG_DQSTRK_ENdisable
SEC_HMC_CFG_DQSTRK_TO_VALID4
SEC_HMC_CFG_DQSTRK_TO_VALID_LAST26
SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN0
SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_ENdisable
SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL0
SEC_HMC_CFG_SHORT_DQSTRK_CTRL_ENdisable
SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD0
SEC_HMC_CFG_USER_RFSH_ENdisable
SEC_HMC_CFG_GEAR_DOWN_ENdisable
SEC_HMC_CFG_MEM_AUTO_PD_CYCLES0
SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC15
SEC_HMC_MEMCLKGATE_SETTING0
SEC_HMC_CFG_TCL21
SEC_HMC_CFG_16_ACT_TO_ACT0
SEC_HMC_CFG_4_ACT_TO_ACT12
SEC_HMC_MEM_IF_AL0
SEC_HMC_MEM_IF_CS_PER_DIMM0
SEC_HMC_MEM_IF_RD_PREAMBLE0
SEC_HMC_MEM_IF_TCCD0
SEC_HMC_MEM_IF_TCCD_S0
SEC_HMC_MEM_IF_TCKESR0
SEC_HMC_MEM_IF_TCKSRX0
SEC_HMC_MEM_IF_TCL0
SEC_HMC_MEM_IF_TCWL0
SEC_HMC_MEM_IF_TDQSCKMAX0
SEC_HMC_MEM_IF_TFAW0
SEC_HMC_MEM_IF_TMOD0
SEC_HMC_MEM_IF_TPL0
SEC_HMC_MEM_IF_TRAS0
SEC_HMC_MEM_IF_TRC0
SEC_HMC_MEM_IF_TRCD0
SEC_HMC_MEM_IF_TREFI0
SEC_HMC_MEM_IF_TRFC0
SEC_HMC_MEM_IF_TRP0
SEC_HMC_MEM_IF_TRRD0
SEC_HMC_MEM_IF_TRRD_S0
SEC_HMC_MEM_IF_TRTP0
SEC_HMC_MEM_IF_TWR0
SEC_HMC_MEM_IF_TWR_CRC_DM0
SEC_HMC_MEM_IF_TWTR0
SEC_HMC_MEM_IF_TWTR_L_CRC_DM0
SEC_HMC_MEM_IF_TWTR_S0
SEC_HMC_MEM_IF_TWTR_S_CRC_DM0
SEC_HMC_MEM_IF_TXP0
SEC_HMC_MEM_IF_TXPDLL0
SEC_HMC_MEM_IF_TXSR0
SEC_HMC_MEM_IF_TZQCS0
SEC_HMC_MEM_IF_TZQOPER0
SEC_HMC_MEM_IF_WR_CRC0
SEC_HMC_MEM_IF_WR_PREAMBLE0
SEC_HMC_CFG_ACT_TO_ACT28
SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK3
SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG2
SEC_HMC_CFG_ACT_TO_PCH20
SEC_HMC_CFG_ACT_TO_RDWR8
SEC_HMC_CFG_ARF_PERIOD4681
SEC_HMC_CFG_ARF_TO_VALID211
SEC_HMC_CFG_MMR_CMD_TO_VALID16
SEC_HMC_CFG_MPR_TO_VALID16
SEC_HMC_CFG_MPS_DQSTRK_DISABLEdisable
SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS6
SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE5
SEC_HMC_CFG_MPS_TO_VALID768
SEC_HMC_CFG_MPS_ZQCAL_DISABLEdisable
SEC_HMC_CFG_MRR_TO_VALID0
SEC_HMC_CFG_MRS_TO_VALID12
SEC_HMC_CFG_PCH_ALL_TO_VALID9
SEC_HMC_CFG_PCH_TO_VALID9
SEC_HMC_CFG_PDN_PERIOD0
SEC_HMC_CFG_PDN_TO_VALID5
SEC_HMC_CFG_POWER_SAVING_EXIT_CYC3
SEC_HMC_CFG_RD_AP_TO_VALID14
SEC_HMC_CFG_RD_TO_PCH5
SEC_HMC_CFG_RD_TO_RD3
SEC_HMC_CFG_RD_TO_RD_DIFF_BG2
SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP4
SEC_HMC_CFG_RD_TO_WR10
SEC_HMC_CFG_RD_TO_WR_DIFF_BG10
SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP10
SEC_HMC_CFG_RFSH_WARN_THRESHOLD0
SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY0
SEC_HMC_CFG_RLD3_REFRESH_SEQ00
SEC_HMC_CFG_RLD3_REFRESH_SEQ10
SEC_HMC_CFG_RLD3_REFRESH_SEQ20
SEC_HMC_CFG_RLD3_REFRESH_SEQ30
SEC_HMC_CFG_SB_CG_DISABLEdisable
SEC_HMC_CFG_SB_DDR4_MR3197632
SEC_HMC_CFG_SB_DDR4_MR4264192
SEC_HMC_CFG_SB_DDR4_MR55216
SEC_HMC_CFG_DDR4_MPS_ADDRMIRRORdisable
SEC_HMC_CFG_SRF_AUTOEXIT_ENdisable
SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK0
SEC_HMC_CFG_SRF_TO_VALID513
SEC_HMC_CFG_SRF_TO_ZQ_CAL385
SEC_HMC_CFG_SRF_ZQCAL_DISABLEdisable
SEC_HMC_TEMP_4_ACT_TO_ACT0
SEC_HMC_TEMP_RD_TO_RD_DIFF_BG0
SEC_HMC_TEMP_WR_TO_RD0
SEC_HMC_TEMP_WR_TO_RD_DIFF_BG0
SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP0
SEC_HMC_TEMP_WR_TO_WR_DIFF_BG0
SEC_HMC_CFG_WR_AP_TO_VALID28
SEC_HMC_CFG_WR_TO_PCH20
SEC_HMC_CFG_WR_TO_RD19
SEC_HMC_CFG_WR_TO_RD_DIFF_BG17
SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP15
SEC_HMC_CFG_WR_TO_WR3
SEC_HMC_CFG_WR_TO_WR_DIFF_BG2
SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP3
SEC_HMC_CFG_ZQCL_TO_VALID257
SEC_HMC_CFG_ZQCS_TO_VALID127
SEC_HMC_CHIP_ID273
SEC_HMC_CID_ADDR_WIDTH0
SEC_HMC_3DS_ENdisable
SEC_HMC_3DS_LR_NUM00
SEC_HMC_3DS_LR_NUM10
SEC_HMC_3DS_LR_NUM20
SEC_HMC_3DS_LR_NUM30
SEC_HMC_3DS_PR_STAG_ENABLEdisable
SEC_HMC_3DS_REF2REF_DLR1
SEC_HMC_3DSREF_ACK_ON_DONEdisable
SEC_HMC_CFG_MAJOR_MODE_ENdisable
SEC_HMC_CFG_REFRESH_TYPE0
SEC_HMC_CFG_PRE_REFRESH_ENdisable
SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT1
SEC_HMC_CFG_POST_REFRESH_ENenable
SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT0
SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT2
PINS_PER_LANE12
LANES_PER_TILE4
OCT_CONTROL_WIDTH16
PORT_MEM_CK_WIDTH1
PORT_MEM_CK_PINLOC_057345
PORT_MEM_CK_PINLOC_10
PORT_MEM_CK_PINLOC_20
PORT_MEM_CK_PINLOC_30
PORT_MEM_CK_PINLOC_40
PORT_MEM_CK_PINLOC_50
PORT_MEM_CK_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CK_N_WIDTH1
PORT_MEM_CK_N_PINLOC_058369
PORT_MEM_CK_N_PINLOC_10
PORT_MEM_CK_N_PINLOC_20
PORT_MEM_CK_N_PINLOC_30
PORT_MEM_CK_N_PINLOC_40
PORT_MEM_CK_N_PINLOC_50
PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CK_BIDIR_WIDTH1
PORT_MEM_CK_BIDIR_PINLOC_00
PORT_MEM_CK_BIDIR_PINLOC_10
PORT_MEM_CK_BIDIR_PINLOC_20
PORT_MEM_CK_BIDIR_PINLOC_30
PORT_MEM_CK_BIDIR_PINLOC_40
PORT_MEM_CK_BIDIR_PINLOC_50
PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CK_BIDIR_N_WIDTH1
PORT_MEM_CK_BIDIR_N_PINLOC_00
PORT_MEM_CK_BIDIR_N_PINLOC_10
PORT_MEM_CK_BIDIR_N_PINLOC_20
PORT_MEM_CK_BIDIR_N_PINLOC_30
PORT_MEM_CK_BIDIR_N_PINLOC_40
PORT_MEM_CK_BIDIR_N_PINLOC_50
PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DK_WIDTH1
PORT_MEM_DK_PINLOC_00
PORT_MEM_DK_PINLOC_10
PORT_MEM_DK_PINLOC_20
PORT_MEM_DK_PINLOC_30
PORT_MEM_DK_PINLOC_40
PORT_MEM_DK_PINLOC_50
PORT_MEM_DK_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DK_N_WIDTH1
PORT_MEM_DK_N_PINLOC_00
PORT_MEM_DK_N_PINLOC_10
PORT_MEM_DK_N_PINLOC_20
PORT_MEM_DK_N_PINLOC_30
PORT_MEM_DK_N_PINLOC_40
PORT_MEM_DK_N_PINLOC_50
PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DKA_WIDTH1
PORT_MEM_DKA_PINLOC_00
PORT_MEM_DKA_PINLOC_10
PORT_MEM_DKA_PINLOC_20
PORT_MEM_DKA_PINLOC_30
PORT_MEM_DKA_PINLOC_40
PORT_MEM_DKA_PINLOC_50
PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DKA_N_WIDTH1
PORT_MEM_DKA_N_PINLOC_00
PORT_MEM_DKA_N_PINLOC_10
PORT_MEM_DKA_N_PINLOC_20
PORT_MEM_DKA_N_PINLOC_30
PORT_MEM_DKA_N_PINLOC_40
PORT_MEM_DKA_N_PINLOC_50
PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DKB_WIDTH1
PORT_MEM_DKB_PINLOC_00
PORT_MEM_DKB_PINLOC_10
PORT_MEM_DKB_PINLOC_20
PORT_MEM_DKB_PINLOC_30
PORT_MEM_DKB_PINLOC_40
PORT_MEM_DKB_PINLOC_50
PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT6
PORT_MEM_DKB_N_WIDTH1
PORT_MEM_DKB_N_PINLOC_00
PORT_MEM_DKB_N_PINLOC_10
PORT_MEM_DKB_N_PINLOC_20
PORT_MEM_DKB_N_PINLOC_30
PORT_MEM_DKB_N_PINLOC_40
PORT_MEM_DKB_N_PINLOC_50
PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_K_WIDTH1
PORT_MEM_K_PINLOC_00
PORT_MEM_K_PINLOC_10
PORT_MEM_K_PINLOC_20
PORT_MEM_K_PINLOC_30
PORT_MEM_K_PINLOC_40
PORT_MEM_K_PINLOC_50
PORT_MEM_K_PINLOC_AUTOGEN_WCNT6
PORT_MEM_K_N_WIDTH1
PORT_MEM_K_N_PINLOC_00
PORT_MEM_K_N_PINLOC_10
PORT_MEM_K_N_PINLOC_20
PORT_MEM_K_N_PINLOC_30
PORT_MEM_K_N_PINLOC_40
PORT_MEM_K_N_PINLOC_50
PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_A_WIDTH17
PORT_MEM_A_PINLOC_064024593
PORT_MEM_A_PINLOC_167173438
PORT_MEM_A_PINLOC_270322241
PORT_MEM_A_PINLOC_373471044
PORT_MEM_A_PINLOC_479768647
PORT_MEM_A_PINLOC_582917453
PORT_MEM_A_PINLOC_60
PORT_MEM_A_PINLOC_70
PORT_MEM_A_PINLOC_80
PORT_MEM_A_PINLOC_90
PORT_MEM_A_PINLOC_100
PORT_MEM_A_PINLOC_110
PORT_MEM_A_PINLOC_120
PORT_MEM_A_PINLOC_130
PORT_MEM_A_PINLOC_140
PORT_MEM_A_PINLOC_150
PORT_MEM_A_PINLOC_160
PORT_MEM_A_PINLOC_AUTOGEN_WCNT17
PORT_MEM_BA_WIDTH2
PORT_MEM_BA_PINLOC_086066178
PORT_MEM_BA_PINLOC_10
PORT_MEM_BA_PINLOC_20
PORT_MEM_BA_PINLOC_30
PORT_MEM_BA_PINLOC_40
PORT_MEM_BA_PINLOC_50
PORT_MEM_BA_PINLOC_AUTOGEN_WCNT6
PORT_MEM_BG_WIDTH2
PORT_MEM_BG_PINLOC_050416642
PORT_MEM_BG_PINLOC_10
PORT_MEM_BG_PINLOC_20
PORT_MEM_BG_PINLOC_30
PORT_MEM_BG_PINLOC_40
PORT_MEM_BG_PINLOC_50
PORT_MEM_BG_PINLOC_AUTOGEN_WCNT6
PORT_MEM_C_WIDTH1
PORT_MEM_C_PINLOC_00
PORT_MEM_C_PINLOC_10
PORT_MEM_C_PINLOC_20
PORT_MEM_C_PINLOC_30
PORT_MEM_C_PINLOC_40
PORT_MEM_C_PINLOC_50
PORT_MEM_C_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CKE_WIDTH1
PORT_MEM_CKE_PINLOC_055297
PORT_MEM_CKE_PINLOC_10
PORT_MEM_CKE_PINLOC_20
PORT_MEM_CKE_PINLOC_30
PORT_MEM_CKE_PINLOC_40
PORT_MEM_CKE_PINLOC_50
PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CS_N_WIDTH1
PORT_MEM_CS_N_PINLOC_051201
PORT_MEM_CS_N_PINLOC_10
PORT_MEM_CS_N_PINLOC_20
PORT_MEM_CS_N_PINLOC_30
PORT_MEM_CS_N_PINLOC_40
PORT_MEM_CS_N_PINLOC_50
PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_RM_WIDTH1
PORT_MEM_RM_PINLOC_00
PORT_MEM_RM_PINLOC_10
PORT_MEM_RM_PINLOC_20
PORT_MEM_RM_PINLOC_30
PORT_MEM_RM_PINLOC_40
PORT_MEM_RM_PINLOC_50
PORT_MEM_RM_PINLOC_AUTOGEN_WCNT6
PORT_MEM_ODT_WIDTH1
PORT_MEM_ODT_PINLOC_053249
PORT_MEM_ODT_PINLOC_10
PORT_MEM_ODT_PINLOC_20
PORT_MEM_ODT_PINLOC_30
PORT_MEM_ODT_PINLOC_40
PORT_MEM_ODT_PINLOC_50
PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT6
PORT_MEM_REQ_N_WIDTH1
PORT_MEM_REQ_N_PINLOC_00
PORT_MEM_REQ_N_PINLOC_10
PORT_MEM_REQ_N_PINLOC_20
PORT_MEM_REQ_N_PINLOC_30
PORT_MEM_REQ_N_PINLOC_40
PORT_MEM_REQ_N_PINLOC_50
PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_GNT_N_WIDTH1
PORT_MEM_GNT_N_PINLOC_00
PORT_MEM_GNT_N_PINLOC_10
PORT_MEM_GNT_N_PINLOC_20
PORT_MEM_GNT_N_PINLOC_30
PORT_MEM_GNT_N_PINLOC_40
PORT_MEM_GNT_N_PINLOC_50
PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_ERR_N_WIDTH1
PORT_MEM_ERR_N_PINLOC_00
PORT_MEM_ERR_N_PINLOC_10
PORT_MEM_ERR_N_PINLOC_20
PORT_MEM_ERR_N_PINLOC_30
PORT_MEM_ERR_N_PINLOC_40
PORT_MEM_ERR_N_PINLOC_50
PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_RAS_N_WIDTH1
PORT_MEM_RAS_N_PINLOC_00
PORT_MEM_RAS_N_PINLOC_10
PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_CAS_N_WIDTH1
PORT_MEM_CAS_N_PINLOC_00
PORT_MEM_CAS_N_PINLOC_10
PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_WE_N_WIDTH1
PORT_MEM_WE_N_PINLOC_00
PORT_MEM_WE_N_PINLOC_10
PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_RESET_N_WIDTH1
PORT_MEM_RESET_N_PINLOC_050177
PORT_MEM_RESET_N_PINLOC_10
PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_ACT_N_WIDTH1
PORT_MEM_ACT_N_PINLOC_052225
PORT_MEM_ACT_N_PINLOC_10
PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_PAR_WIDTH1
PORT_MEM_PAR_PINLOC_060417
PORT_MEM_PAR_PINLOC_10
PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT2
PORT_MEM_CA_WIDTH1
PORT_MEM_CA_PINLOC_00
PORT_MEM_CA_PINLOC_10
PORT_MEM_CA_PINLOC_20
PORT_MEM_CA_PINLOC_30
PORT_MEM_CA_PINLOC_40
PORT_MEM_CA_PINLOC_50
PORT_MEM_CA_PINLOC_60
PORT_MEM_CA_PINLOC_70
PORT_MEM_CA_PINLOC_80
PORT_MEM_CA_PINLOC_90
PORT_MEM_CA_PINLOC_100
PORT_MEM_CA_PINLOC_110
PORT_MEM_CA_PINLOC_120
PORT_MEM_CA_PINLOC_130
PORT_MEM_CA_PINLOC_140
PORT_MEM_CA_PINLOC_150
PORT_MEM_CA_PINLOC_160
PORT_MEM_CA_PINLOC_AUTOGEN_WCNT17
PORT_MEM_REF_N_WIDTH1
PORT_MEM_REF_N_PINLOC_00
PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_WPS_N_WIDTH1
PORT_MEM_WPS_N_PINLOC_00
PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_RPS_N_WIDTH1
PORT_MEM_RPS_N_PINLOC_00
PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_DOFF_N_WIDTH1
PORT_MEM_DOFF_N_PINLOC_00
PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_LDA_N_WIDTH1
PORT_MEM_LDA_N_PINLOC_00
PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_LDB_N_WIDTH1
PORT_MEM_LDB_N_PINLOC_00
PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_RWA_N_WIDTH1
PORT_MEM_RWA_N_PINLOC_00
PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_RWB_N_WIDTH1
PORT_MEM_RWB_N_PINLOC_00
PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_LBK0_N_WIDTH1
PORT_MEM_LBK0_N_PINLOC_00
PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_LBK1_N_WIDTH1
PORT_MEM_LBK1_N_PINLOC_00
PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_CFG_N_WIDTH1
PORT_MEM_CFG_N_PINLOC_00
PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT1
PORT_MEM_AP_WIDTH1
PORT_MEM_AP_PINLOC_00
PORT_MEM_AP_PINLOC_AUTOGEN_WCNT1
PORT_MEM_AINV_WIDTH1
PORT_MEM_AINV_PINLOC_00
PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT1
PORT_MEM_DM_WIDTH1
PORT_MEM_DM_PINLOC_00
PORT_MEM_DM_PINLOC_10
PORT_MEM_DM_PINLOC_20
PORT_MEM_DM_PINLOC_30
PORT_MEM_DM_PINLOC_40
PORT_MEM_DM_PINLOC_50
PORT_MEM_DM_PINLOC_60
PORT_MEM_DM_PINLOC_70
PORT_MEM_DM_PINLOC_80
PORT_MEM_DM_PINLOC_90
PORT_MEM_DM_PINLOC_100
PORT_MEM_DM_PINLOC_110
PORT_MEM_DM_PINLOC_120
PORT_MEM_DM_PINLOC_AUTOGEN_WCNT13
PORT_MEM_BWS_N_WIDTH1
PORT_MEM_BWS_N_PINLOC_00
PORT_MEM_BWS_N_PINLOC_10
PORT_MEM_BWS_N_PINLOC_20
PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT3
PORT_MEM_D_WIDTH1
PORT_MEM_D_PINLOC_00
PORT_MEM_D_PINLOC_10
PORT_MEM_D_PINLOC_20
PORT_MEM_D_PINLOC_30
PORT_MEM_D_PINLOC_40
PORT_MEM_D_PINLOC_50
PORT_MEM_D_PINLOC_60
PORT_MEM_D_PINLOC_70
PORT_MEM_D_PINLOC_80
PORT_MEM_D_PINLOC_90
PORT_MEM_D_PINLOC_100
PORT_MEM_D_PINLOC_110
PORT_MEM_D_PINLOC_120
PORT_MEM_D_PINLOC_130
PORT_MEM_D_PINLOC_140
PORT_MEM_D_PINLOC_150
PORT_MEM_D_PINLOC_160
PORT_MEM_D_PINLOC_170
PORT_MEM_D_PINLOC_180
PORT_MEM_D_PINLOC_190
PORT_MEM_D_PINLOC_200
PORT_MEM_D_PINLOC_210
PORT_MEM_D_PINLOC_220
PORT_MEM_D_PINLOC_230
PORT_MEM_D_PINLOC_240
PORT_MEM_D_PINLOC_250
PORT_MEM_D_PINLOC_260
PORT_MEM_D_PINLOC_270
PORT_MEM_D_PINLOC_280
PORT_MEM_D_PINLOC_290
PORT_MEM_D_PINLOC_300
PORT_MEM_D_PINLOC_310
PORT_MEM_D_PINLOC_320
PORT_MEM_D_PINLOC_330
PORT_MEM_D_PINLOC_340
PORT_MEM_D_PINLOC_350
PORT_MEM_D_PINLOC_360
PORT_MEM_D_PINLOC_370
PORT_MEM_D_PINLOC_380
PORT_MEM_D_PINLOC_390
PORT_MEM_D_PINLOC_400
PORT_MEM_D_PINLOC_410
PORT_MEM_D_PINLOC_420
PORT_MEM_D_PINLOC_430
PORT_MEM_D_PINLOC_440
PORT_MEM_D_PINLOC_450
PORT_MEM_D_PINLOC_460
PORT_MEM_D_PINLOC_470
PORT_MEM_D_PINLOC_480
PORT_MEM_D_PINLOC_AUTOGEN_WCNT49
PORT_MEM_DQ_WIDTH72
PORT_MEM_DQ_PINLOC_01048648
PORT_MEM_DQ_PINLOC_18391682
PORT_MEM_DQ_PINLOC_211544585
PORT_MEM_DQ_PINLOC_314693388
PORT_MEM_DQ_PINLOC_422040591
PORT_MEM_DQ_PINLOC_525189398
PORT_MEM_DQ_PINLOC_628338201
PORT_MEM_DQ_PINLOC_735685408
PORT_MEM_DQ_PINLOC_838834211
PORT_MEM_DQ_PINLOC_946177318
PORT_MEM_DQ_PINLOC_1049330221
PORT_MEM_DQ_PINLOC_11102859872
PORT_MEM_DQ_PINLOC_12110207075
PORT_MEM_DQ_PINLOC_13113355882
PORT_MEM_DQ_PINLOC_14116504685
PORT_MEM_DQ_PINLOC_15123851892
PORT_MEM_DQ_PINLOC_16127000695
PORT_MEM_DQ_PINLOC_17134343802
PORT_MEM_DQ_PINLOC_18137496705
PORT_MEM_DQ_PINLOC_19140645508
PORT_MEM_DQ_PINLOC_20147992711
PORT_MEM_DQ_PINLOC_21151141518
PORT_MEM_DQ_PINLOC_22154290321
PORT_MEM_DQ_PINLOC_23161637528
PORT_MEM_DQ_PINLOC_24155
PORT_MEM_DQ_PINLOC_250
PORT_MEM_DQ_PINLOC_260
PORT_MEM_DQ_PINLOC_270
PORT_MEM_DQ_PINLOC_280
PORT_MEM_DQ_PINLOC_290
PORT_MEM_DQ_PINLOC_300
PORT_MEM_DQ_PINLOC_310
PORT_MEM_DQ_PINLOC_320
PORT_MEM_DQ_PINLOC_330
PORT_MEM_DQ_PINLOC_340
PORT_MEM_DQ_PINLOC_350
PORT_MEM_DQ_PINLOC_360
PORT_MEM_DQ_PINLOC_370
PORT_MEM_DQ_PINLOC_380
PORT_MEM_DQ_PINLOC_390
PORT_MEM_DQ_PINLOC_400
PORT_MEM_DQ_PINLOC_410
PORT_MEM_DQ_PINLOC_420
PORT_MEM_DQ_PINLOC_430
PORT_MEM_DQ_PINLOC_440
PORT_MEM_DQ_PINLOC_450
PORT_MEM_DQ_PINLOC_460
PORT_MEM_DQ_PINLOC_470
PORT_MEM_DQ_PINLOC_480
PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT49
PORT_MEM_DBI_N_WIDTH9
PORT_MEM_DBI_N_PINLOC_018880521
PORT_MEM_DBI_N_PINLOC_1106997790
PORT_MEM_DBI_N_PINLOC_2144832626
PORT_MEM_DBI_N_PINLOC_3150
PORT_MEM_DBI_N_PINLOC_40
PORT_MEM_DBI_N_PINLOC_50
PORT_MEM_DBI_N_PINLOC_60
PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT7
PORT_MEM_DQA_WIDTH1
PORT_MEM_DQA_PINLOC_00
PORT_MEM_DQA_PINLOC_10
PORT_MEM_DQA_PINLOC_20
PORT_MEM_DQA_PINLOC_30
PORT_MEM_DQA_PINLOC_40
PORT_MEM_DQA_PINLOC_50
PORT_MEM_DQA_PINLOC_60
PORT_MEM_DQA_PINLOC_70
PORT_MEM_DQA_PINLOC_80
PORT_MEM_DQA_PINLOC_90
PORT_MEM_DQA_PINLOC_100
PORT_MEM_DQA_PINLOC_110
PORT_MEM_DQA_PINLOC_120
PORT_MEM_DQA_PINLOC_130
PORT_MEM_DQA_PINLOC_140
PORT_MEM_DQA_PINLOC_150
PORT_MEM_DQA_PINLOC_160
PORT_MEM_DQA_PINLOC_170
PORT_MEM_DQA_PINLOC_180
PORT_MEM_DQA_PINLOC_190
PORT_MEM_DQA_PINLOC_200
PORT_MEM_DQA_PINLOC_210
PORT_MEM_DQA_PINLOC_220
PORT_MEM_DQA_PINLOC_230
PORT_MEM_DQA_PINLOC_240
PORT_MEM_DQA_PINLOC_250
PORT_MEM_DQA_PINLOC_260
PORT_MEM_DQA_PINLOC_270
PORT_MEM_DQA_PINLOC_280
PORT_MEM_DQA_PINLOC_290
PORT_MEM_DQA_PINLOC_300
PORT_MEM_DQA_PINLOC_310
PORT_MEM_DQA_PINLOC_320
PORT_MEM_DQA_PINLOC_330
PORT_MEM_DQA_PINLOC_340
PORT_MEM_DQA_PINLOC_350
PORT_MEM_DQA_PINLOC_360
PORT_MEM_DQA_PINLOC_370
PORT_MEM_DQA_PINLOC_380
PORT_MEM_DQA_PINLOC_390
PORT_MEM_DQA_PINLOC_400
PORT_MEM_DQA_PINLOC_410
PORT_MEM_DQA_PINLOC_420
PORT_MEM_DQA_PINLOC_430
PORT_MEM_DQA_PINLOC_440
PORT_MEM_DQA_PINLOC_450
PORT_MEM_DQA_PINLOC_460
PORT_MEM_DQA_PINLOC_470
PORT_MEM_DQA_PINLOC_480
PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT49
PORT_MEM_DQB_WIDTH1
PORT_MEM_DQB_PINLOC_00
PORT_MEM_DQB_PINLOC_10
PORT_MEM_DQB_PINLOC_20
PORT_MEM_DQB_PINLOC_30
PORT_MEM_DQB_PINLOC_40
PORT_MEM_DQB_PINLOC_50
PORT_MEM_DQB_PINLOC_60
PORT_MEM_DQB_PINLOC_70
PORT_MEM_DQB_PINLOC_80
PORT_MEM_DQB_PINLOC_90
PORT_MEM_DQB_PINLOC_100
PORT_MEM_DQB_PINLOC_110
PORT_MEM_DQB_PINLOC_120
PORT_MEM_DQB_PINLOC_130
PORT_MEM_DQB_PINLOC_140
PORT_MEM_DQB_PINLOC_150
PORT_MEM_DQB_PINLOC_160
PORT_MEM_DQB_PINLOC_170
PORT_MEM_DQB_PINLOC_180
PORT_MEM_DQB_PINLOC_190
PORT_MEM_DQB_PINLOC_200
PORT_MEM_DQB_PINLOC_210
PORT_MEM_DQB_PINLOC_220
PORT_MEM_DQB_PINLOC_230
PORT_MEM_DQB_PINLOC_240
PORT_MEM_DQB_PINLOC_250
PORT_MEM_DQB_PINLOC_260
PORT_MEM_DQB_PINLOC_270
PORT_MEM_DQB_PINLOC_280
PORT_MEM_DQB_PINLOC_290
PORT_MEM_DQB_PINLOC_300
PORT_MEM_DQB_PINLOC_310
PORT_MEM_DQB_PINLOC_320
PORT_MEM_DQB_PINLOC_330
PORT_MEM_DQB_PINLOC_340
PORT_MEM_DQB_PINLOC_350
PORT_MEM_DQB_PINLOC_360
PORT_MEM_DQB_PINLOC_370
PORT_MEM_DQB_PINLOC_380
PORT_MEM_DQB_PINLOC_390
PORT_MEM_DQB_PINLOC_400
PORT_MEM_DQB_PINLOC_410
PORT_MEM_DQB_PINLOC_420
PORT_MEM_DQB_PINLOC_430
PORT_MEM_DQB_PINLOC_440
PORT_MEM_DQB_PINLOC_450
PORT_MEM_DQB_PINLOC_460
PORT_MEM_DQB_PINLOC_470
PORT_MEM_DQB_PINLOC_480
PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT49
PORT_MEM_DINVA_WIDTH1
PORT_MEM_DINVA_PINLOC_00
PORT_MEM_DINVA_PINLOC_10
PORT_MEM_DINVA_PINLOC_20
PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT3
PORT_MEM_DINVB_WIDTH1
PORT_MEM_DINVB_PINLOC_00
PORT_MEM_DINVB_PINLOC_10
PORT_MEM_DINVB_PINLOC_20
PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT3
PORT_MEM_Q_WIDTH1
PORT_MEM_Q_PINLOC_00
PORT_MEM_Q_PINLOC_10
PORT_MEM_Q_PINLOC_20
PORT_MEM_Q_PINLOC_30
PORT_MEM_Q_PINLOC_40
PORT_MEM_Q_PINLOC_50
PORT_MEM_Q_PINLOC_60
PORT_MEM_Q_PINLOC_70
PORT_MEM_Q_PINLOC_80
PORT_MEM_Q_PINLOC_90
PORT_MEM_Q_PINLOC_100
PORT_MEM_Q_PINLOC_110
PORT_MEM_Q_PINLOC_120
PORT_MEM_Q_PINLOC_130
PORT_MEM_Q_PINLOC_140
PORT_MEM_Q_PINLOC_150
PORT_MEM_Q_PINLOC_160
PORT_MEM_Q_PINLOC_170
PORT_MEM_Q_PINLOC_180
PORT_MEM_Q_PINLOC_190
PORT_MEM_Q_PINLOC_200
PORT_MEM_Q_PINLOC_210
PORT_MEM_Q_PINLOC_220
PORT_MEM_Q_PINLOC_230
PORT_MEM_Q_PINLOC_240
PORT_MEM_Q_PINLOC_250
PORT_MEM_Q_PINLOC_260
PORT_MEM_Q_PINLOC_270
PORT_MEM_Q_PINLOC_280
PORT_MEM_Q_PINLOC_290
PORT_MEM_Q_PINLOC_300
PORT_MEM_Q_PINLOC_310
PORT_MEM_Q_PINLOC_320
PORT_MEM_Q_PINLOC_330
PORT_MEM_Q_PINLOC_340
PORT_MEM_Q_PINLOC_350
PORT_MEM_Q_PINLOC_360
PORT_MEM_Q_PINLOC_370
PORT_MEM_Q_PINLOC_380
PORT_MEM_Q_PINLOC_390
PORT_MEM_Q_PINLOC_400
PORT_MEM_Q_PINLOC_410
PORT_MEM_Q_PINLOC_420
PORT_MEM_Q_PINLOC_430
PORT_MEM_Q_PINLOC_440
PORT_MEM_Q_PINLOC_450
PORT_MEM_Q_PINLOC_460
PORT_MEM_Q_PINLOC_470
PORT_MEM_Q_PINLOC_480
PORT_MEM_Q_PINLOC_AUTOGEN_WCNT49
PORT_MEM_DQS_WIDTH9
PORT_MEM_DQS_PINLOC_016781321
PORT_MEM_DQS_PINLOC_1104898588
PORT_MEM_DQS_PINLOC_2142733424
PORT_MEM_DQS_PINLOC_3148
PORT_MEM_DQS_PINLOC_40
PORT_MEM_DQS_PINLOC_50
PORT_MEM_DQS_PINLOC_60
PORT_MEM_DQS_PINLOC_70
PORT_MEM_DQS_PINLOC_80
PORT_MEM_DQS_PINLOC_90
PORT_MEM_DQS_PINLOC_100
PORT_MEM_DQS_PINLOC_110
PORT_MEM_DQS_PINLOC_120
PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT13
PORT_MEM_DQS_N_WIDTH9
PORT_MEM_DQS_N_PINLOC_017830921
PORT_MEM_DQS_N_PINLOC_1105948189
PORT_MEM_DQS_N_PINLOC_2143783025
PORT_MEM_DQS_N_PINLOC_3149
PORT_MEM_DQS_N_PINLOC_40
PORT_MEM_DQS_N_PINLOC_50
PORT_MEM_DQS_N_PINLOC_60
PORT_MEM_DQS_N_PINLOC_70
PORT_MEM_DQS_N_PINLOC_80
PORT_MEM_DQS_N_PINLOC_90
PORT_MEM_DQS_N_PINLOC_100
PORT_MEM_DQS_N_PINLOC_110
PORT_MEM_DQS_N_PINLOC_120
PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT13
PORT_MEM_QK_WIDTH1
PORT_MEM_QK_PINLOC_00
PORT_MEM_QK_PINLOC_10
PORT_MEM_QK_PINLOC_20
PORT_MEM_QK_PINLOC_30
PORT_MEM_QK_PINLOC_40
PORT_MEM_QK_PINLOC_50
PORT_MEM_QK_PINLOC_AUTOGEN_WCNT6
PORT_MEM_QK_N_WIDTH1
PORT_MEM_QK_N_PINLOC_00
PORT_MEM_QK_N_PINLOC_10
PORT_MEM_QK_N_PINLOC_20
PORT_MEM_QK_N_PINLOC_30
PORT_MEM_QK_N_PINLOC_40
PORT_MEM_QK_N_PINLOC_50
PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_QKA_WIDTH1
PORT_MEM_QKA_PINLOC_00
PORT_MEM_QKA_PINLOC_10
PORT_MEM_QKA_PINLOC_20
PORT_MEM_QKA_PINLOC_30
PORT_MEM_QKA_PINLOC_40
PORT_MEM_QKA_PINLOC_50
PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT6
PORT_MEM_QKA_N_WIDTH1
PORT_MEM_QKA_N_PINLOC_00
PORT_MEM_QKA_N_PINLOC_10
PORT_MEM_QKA_N_PINLOC_20
PORT_MEM_QKA_N_PINLOC_30
PORT_MEM_QKA_N_PINLOC_40
PORT_MEM_QKA_N_PINLOC_50
PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_QKB_WIDTH1
PORT_MEM_QKB_PINLOC_00
PORT_MEM_QKB_PINLOC_10
PORT_MEM_QKB_PINLOC_20
PORT_MEM_QKB_PINLOC_30
PORT_MEM_QKB_PINLOC_40
PORT_MEM_QKB_PINLOC_50
PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT6
PORT_MEM_QKB_N_WIDTH1
PORT_MEM_QKB_N_PINLOC_00
PORT_MEM_QKB_N_PINLOC_10
PORT_MEM_QKB_N_PINLOC_20
PORT_MEM_QKB_N_PINLOC_30
PORT_MEM_QKB_N_PINLOC_40
PORT_MEM_QKB_N_PINLOC_50
PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT6
PORT_MEM_CQ_WIDTH1
PORT_MEM_CQ_PINLOC_00
PORT_MEM_CQ_PINLOC_10
PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT2
PORT_MEM_CQ_N_WIDTH1
PORT_MEM_CQ_N_PINLOC_00
PORT_MEM_CQ_N_PINLOC_10
PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_ALERT_N_WIDTH1
PORT_MEM_ALERT_N_PINLOC_094209
PORT_MEM_ALERT_N_PINLOC_10
PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT2
PORT_MEM_PE_N_WIDTH1
PORT_MEM_PE_N_PINLOC_00
PORT_MEM_PE_N_PINLOC_10
PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT2
PORT_CLKS_SHARING_MASTER_OUT_WIDTH32
PORT_CLKS_SHARING_SLAVE_IN_WIDTH32
PORT_CLKS_SHARING_SLAVE_OUT_WIDTH32
PORT_AFI_RLAT_WIDTH6
PORT_AFI_WLAT_WIDTH6
PORT_AFI_SEQ_BUSY_WIDTH4
PORT_AFI_ADDR_WIDTH1
PORT_AFI_BA_WIDTH1
PORT_AFI_BG_WIDTH1
PORT_AFI_C_WIDTH1
PORT_AFI_CKE_WIDTH1
PORT_AFI_CS_N_WIDTH1
PORT_AFI_RM_WIDTH1
PORT_AFI_ODT_WIDTH1
PORT_AFI_RAS_N_WIDTH1
PORT_AFI_CAS_N_WIDTH1
PORT_AFI_WE_N_WIDTH1
PORT_AFI_RST_N_WIDTH1
PORT_AFI_ACT_N_WIDTH1
PORT_AFI_REQ_N_WIDTH1
PORT_AFI_GNT_N_WIDTH1
PORT_AFI_ERR_N_WIDTH1
PORT_AFI_PAR_WIDTH1
PORT_AFI_CA_WIDTH1
PORT_AFI_REF_N_WIDTH1
PORT_AFI_WPS_N_WIDTH1
PORT_AFI_RPS_N_WIDTH1
PORT_AFI_DOFF_N_WIDTH1
PORT_AFI_LD_N_WIDTH1
PORT_AFI_RW_N_WIDTH1
PORT_AFI_LBK0_N_WIDTH1
PORT_AFI_LBK1_N_WIDTH1
PORT_AFI_CFG_N_WIDTH1
PORT_AFI_AP_WIDTH1
PORT_AFI_AINV_WIDTH1
PORT_AFI_DM_WIDTH1
PORT_AFI_DM_N_WIDTH1
PORT_AFI_BWS_N_WIDTH1
PORT_AFI_RDATA_DBI_N_WIDTH1
PORT_AFI_WDATA_DBI_N_WIDTH1
PORT_AFI_RDATA_DINV_WIDTH1
PORT_AFI_WDATA_DINV_WIDTH1
PORT_AFI_DQS_BURST_WIDTH1
PORT_AFI_WDATA_VALID_WIDTH1
PORT_AFI_WDATA_WIDTH1
PORT_AFI_RDATA_EN_FULL_WIDTH1
PORT_AFI_RDATA_WIDTH1
PORT_AFI_RDATA_VALID_WIDTH1
PORT_AFI_RRANK_WIDTH1
PORT_AFI_WRANK_WIDTH1
PORT_AFI_ALERT_N_WIDTH1
PORT_AFI_PE_N_WIDTH1
PORT_CTRL_AST_CMD_DATA_WIDTH61
PORT_CTRL_AST_WR_DATA_WIDTH648
PORT_CTRL_AST_RD_DATA_WIDTH576
PORT_CTRL_AMM_ADDRESS_WIDTH1
PORT_CTRL_AMM_RDATA_WIDTH1
PORT_CTRL_AMM_WDATA_WIDTH1
PORT_CTRL_AMM_BCOUNT_WIDTH1
PORT_CTRL_AMM_BYTEEN_WIDTH1
PORT_CTRL_STROBE_WIDTH1
PORT_CTRL_STROBE_OE_WIDTH1
PORT_CTRL_DATA_OE_WIDTH1
PORT_CTRL_DATA_OUT_WIDTH1
PORT_CTRL_DATA_IN_WIDTH1
PORT_CTRL_RDATA_VALID_WIDTH1
PORT_CTRL_LOCKED_WIDTH1
PORT_CTRL_RDATA_ENABLE_WIDTH1
PORT_CTRL_USER_REFRESH_REQ_WIDTH4
PORT_CTRL_USER_REFRESH_BANK_WIDTH16
PORT_CTRL_SELF_REFRESH_REQ_WIDTH4
PORT_CTRL_ECC_WRITE_INFO_WIDTH15
PORT_CTRL_ECC_RDATA_ID_WIDTH13
PORT_CTRL_ECC_READ_INFO_WIDTH3
PORT_CTRL_ECC_CMD_INFO_WIDTH3
PORT_CTRL_ECC_WB_POINTER_WIDTH12
PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH10
PORT_CTRL_MMR_SLAVE_RDATA_WIDTH32
PORT_CTRL_MMR_SLAVE_WDATA_WIDTH32
PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH2
PORT_HPS_EMIF_H2E_WIDTH4096
PORT_HPS_EMIF_E2H_WIDTH4096
PORT_HPS_EMIF_H2E_GP_WIDTH2
PORT_HPS_EMIF_E2H_GP_WIDTH1
PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH9
PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH8
PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH8
PORT_DFT_ND_PLL_CNTSEL_WIDTH4
PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH3
PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH4
PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH2
PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH2
PORT_CALBUS_ADDRESS_WIDTH20
PORT_CALBUS_WDATA_WIDTH32
PORT_CALBUS_RDATA_WIDTH32
PORT_CALBUS_SEQ_PARAM_TBL_WIDTH4096
PLL_VCO_FREQ_MHZ_INT1200
PLL_VCO_TO_MEM_CLK_FREQ_RATIO1
PLL_MEM_CLK_FREQ_PS834
PLL_PHY_CLK_VCO_PHASE0
PLL_VCO_FREQ_PS_STR834 ps
PLL_VCO_FREQ_MHZ_STR1200 MHz
PLL_REF_CLK_FREQ_PS_STR30024 ps
PLL_REF_CLK_FREQ_MHZ_STR33.333 MHz
PLL_REF_CLK_FREQ_PS30024
PLL_SIM_VCO_FREQ_PS840
PLL_SIM_PHYCLK_0_FREQ_PS1680
PLL_SIM_PHYCLK_1_FREQ_PS3360
PLL_SIM_PHYCLK_FB_FREQ_PS3360
PLL_SIM_PHY_CLK_VCO_PHASE_PS0
PLL_M_CNT_HIGH18
PLL_M_CNT_LOW18
PLL_N_CNT_HIGH256
PLL_N_CNT_LOW256
PLL_M_CNT_BYPASS_ENfalse
PLL_N_CNT_BYPASS_ENtrue
PLL_M_CNT_EVEN_DUTY_ENfalse
PLL_N_CNT_EVEN_DUTY_ENfalse
PLL_FBCLK_MUX_1pll_fbclk_mux_1_glb
PLL_FBCLK_MUX_2pll_fbclk_mux_2_m_cnt
PLL_M_CNT_IN_SRCc_m_cnt_in_src_ph_mux_clk
PLL_CP_SETTINGpll_cp_setting12
PLL_BW_CTRLpll_bw_res_setting4
PLL_BW_SELhigh
PLL_C_CNT_HIGH_02
PLL_C_CNT_LOW_02
PLL_C_CNT_PRST_01
PLL_C_CNT_PH_MUX_PRST_00
PLL_C_CNT_BYPASS_EN_0false
PLL_C_CNT_EVEN_DUTY_EN_0false
PLL_C_CNT_FREQ_PS_STR_03336 ps
PLL_C_CNT_FREQ_MHZ_STR_0300.0 MHz
PLL_C_CNT_PHASE_PS_STR_00 ps
PLL_C_CNT_DUTY_CYCLE_050
PLL_C_CNT_OUT_EN_0true
PLL_C_CNT_HIGH_11
PLL_C_CNT_LOW_11
PLL_C_CNT_PRST_11
PLL_C_CNT_PH_MUX_PRST_10
PLL_C_CNT_BYPASS_EN_1false
PLL_C_CNT_EVEN_DUTY_EN_1false
PLL_C_CNT_FREQ_PS_STR_11668 ps
PLL_C_CNT_FREQ_MHZ_STR_1600.0 MHz
PLL_C_CNT_PHASE_PS_STR_10 ps
PLL_C_CNT_DUTY_CYCLE_150
PLL_C_CNT_OUT_EN_1true
PLL_C_CNT_HIGH_22
PLL_C_CNT_LOW_22
PLL_C_CNT_PRST_21
PLL_C_CNT_PH_MUX_PRST_20
PLL_C_CNT_BYPASS_EN_2false
PLL_C_CNT_EVEN_DUTY_EN_2false
PLL_C_CNT_FREQ_PS_STR_23336 ps
PLL_C_CNT_FREQ_MHZ_STR_2300.0 MHz
PLL_C_CNT_PHASE_PS_STR_20 ps
PLL_C_CNT_DUTY_CYCLE_250
PLL_C_CNT_OUT_EN_2true
PLL_C_CNT_HIGH_31
PLL_C_CNT_LOW_31
PLL_C_CNT_PRST_31
PLL_C_CNT_PH_MUX_PRST_30
PLL_C_CNT_BYPASS_EN_3false
PLL_C_CNT_EVEN_DUTY_EN_3false
PLL_C_CNT_FREQ_PS_STR_31668 ps
PLL_C_CNT_FREQ_MHZ_STR_3600.0 MHz
PLL_C_CNT_PHASE_PS_STR_30 ps
PLL_C_CNT_DUTY_CYCLE_350
PLL_C_CNT_OUT_EN_3true
PLL_C_CNT_HIGH_42
PLL_C_CNT_LOW_42
PLL_C_CNT_PRST_41
PLL_C_CNT_PH_MUX_PRST_40
PLL_C_CNT_BYPASS_EN_4false
PLL_C_CNT_EVEN_DUTY_EN_4false
PLL_C_CNT_FREQ_PS_STR_43336 ps
PLL_C_CNT_FREQ_MHZ_STR_4300.0 MHz
PLL_C_CNT_PHASE_PS_STR_40 ps
PLL_C_CNT_DUTY_CYCLE_450
PLL_C_CNT_OUT_EN_4true
PLL_C_CNT_HIGH_5256
PLL_C_CNT_LOW_5256
PLL_C_CNT_PRST_51
PLL_C_CNT_PH_MUX_PRST_50
PLL_C_CNT_BYPASS_EN_5true
PLL_C_CNT_EVEN_DUTY_EN_5false
PLL_C_CNT_FREQ_PS_STR_50 ps
PLL_C_CNT_FREQ_MHZ_STR_50.0 MHz
PLL_C_CNT_PHASE_PS_STR_50 ps
PLL_C_CNT_DUTY_CYCLE_550
PLL_C_CNT_OUT_EN_5false
PLL_C_CNT_HIGH_6256
PLL_C_CNT_LOW_6256
PLL_C_CNT_PRST_61
PLL_C_CNT_PH_MUX_PRST_60
PLL_C_CNT_BYPASS_EN_6true
PLL_C_CNT_EVEN_DUTY_EN_6false
PLL_C_CNT_FREQ_PS_STR_60 ps
PLL_C_CNT_FREQ_MHZ_STR_60.0 MHz
PLL_C_CNT_PHASE_PS_STR_60 ps
PLL_C_CNT_DUTY_CYCLE_650
PLL_C_CNT_OUT_EN_6false
PLL_C_CNT_HIGH_7256
PLL_C_CNT_LOW_7256
PLL_C_CNT_PRST_71
PLL_C_CNT_PH_MUX_PRST_70
PLL_C_CNT_BYPASS_EN_7true
PLL_C_CNT_EVEN_DUTY_EN_7false
PLL_C_CNT_FREQ_PS_STR_70 ps
PLL_C_CNT_FREQ_MHZ_STR_70.0 MHz
PLL_C_CNT_PHASE_PS_STR_70 ps
PLL_C_CNT_DUTY_CYCLE_750
PLL_C_CNT_OUT_EN_7false
PLL_C_CNT_HIGH_8256
PLL_C_CNT_LOW_8256
PLL_C_CNT_PRST_81
PLL_C_CNT_PH_MUX_PRST_80
PLL_C_CNT_BYPASS_EN_8true
PLL_C_CNT_EVEN_DUTY_EN_8false
PLL_C_CNT_FREQ_PS_STR_80 ps
PLL_C_CNT_FREQ_MHZ_STR_80.0 MHz
PLL_C_CNT_PHASE_PS_STR_80 ps
PLL_C_CNT_DUTY_CYCLE_850
PLL_C_CNT_OUT_EN_8false
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ +
+
+

emif_fm_0_ecc_core

altera_emif_ecc v19.1 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ emif_fm_0_arch + emif_usr_clk  emif_fm_0_ecc_core
  emif_usr_clk_in
emif_usr_reset_n  
  emif_usr_reset_n_in
ctrl_ast_rd_0  
  ctrl_ast_rd_0
ctrl_ecc_0   + emif_fm_0_arch +
  ctrl_ecc_0
ctrl_ast_cmd_0  
  ctrl_ast_cmd_0
ctrl_ast_wr_0  
  ctrl_ast_wr_0
+
+
+
+ + + + +
+

Parameters

+ + + + + +
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ + + + + +
generation took 0.00 secondsrendering took 0.05 seconds
+ + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qgsynthc b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qgsynthc new file mode 100644 index 0000000000..c3bd6d398b --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qgsynthc @@ -0,0 +1,45277 @@ + + + ed_synth_emif_fm_0 + + + + ed_synth_emif_fm_0 + 1.0 + ed_synth_emif_fm_0 + ed_synth_emif_fm_0 + 0 + + + + + emif_fm_0 + + + + BOARD_DDR3_AC_ISI_NS + 0.0 + + + BOARD_DDR3_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_DDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_DDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDR3_TDH_DERATING_PS + 0 + + + BOARD_DDR3_TDS_DERATING_PS + 0 + + + BOARD_DDR3_TIH_DERATING_PS + 0 + + + BOARD_DDR3_TIS_DERATING_PS + 0 + + + BOARD_DDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR3_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_ISI_NS + 0.15 + + + BOARD_DDR4_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR4_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_RCLK_ISI_NS + 0.15 + + + BOARD_DDR4_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_RDATA_ISI_NS + 0.12 + + + BOARD_DDR4_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR4_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR4_SKEW_WITHIN_AC_NS + 0.18 + + + BOARD_DDR4_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_TIH_DERATING_PS + 0 + + + BOARD_DDR4_TIS_DERATING_PS + 0 + + + BOARD_DDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR4_WCLK_ISI_NS + 0.06 + + + BOARD_DDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_WDATA_ISI_NS + 0.13 + + + BOARD_DDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_ISI_NS + 0.0 + + + BOARD_DDRT_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDRT_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDRT_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDRT_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDRT_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDRT_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDRT_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDRT_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDRT_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDRT_TIH_DERATING_PS + 0 + + + BOARD_DDRT_TIS_DERATING_PS + 0 + + + BOARD_DDRT_USER_AC_ISI_NS + 0.0 + + + BOARD_DDRT_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDRT_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDRT_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_LPDDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_LPDDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_LPDDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_LPDDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_LPDDR3_TDH_DERATING_PS + 0 + + + BOARD_LPDDR3_TDS_DERATING_PS + 0 + + + BOARD_LPDDR3_TIH_DERATING_PS + 0 + + + BOARD_LPDDR3_TIS_DERATING_PS + 0 + + + BOARD_LPDDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_LPDDR3_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_ISI_NS + 0.0 + + + BOARD_QDR2_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_TO_K_SKEW_NS + 0.0 + + + BOARD_QDR2_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR2_IS_SKEW_WITHIN_D_DESKEWED + false + + + BOARD_QDR2_IS_SKEW_WITHIN_Q_DESKEWED + false + + + BOARD_QDR2_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_MAX_K_DELAY_NS + 0.6 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_D_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_Q_NS + 0.0 + + + BOARD_QDR2_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR2_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR2_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR2_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_ISI_NS + 0.0 + + + BOARD_QDR4_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_QDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_QDR4_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR4_IS_SKEW_WITHIN_QK_DESKEWED + true + + + BOARD_QDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_QDR4_MAX_DK_DELAY_NS + 0.6 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_QDR4_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_QDR4_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR4_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_QDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR4_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_ISI_NS + 0.0 + + + BOARD_RLD3_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_RLD3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_RLD3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_RLD3_IS_SKEW_WITHIN_QK_DESKEWED + false + + + BOARD_RLD3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_RLD3_MAX_DK_DELAY_NS + 0.6 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_RLD3_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_RLD3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_RLD3_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_RLD3_TDH_DERATING_PS + 0 + + + BOARD_RLD3_TDS_DERATING_PS + 0 + + + BOARD_RLD3_TIH_DERATING_PS + 0 + + + BOARD_RLD3_TIS_DERATING_PS + 0 + + + BOARD_RLD3_USER_AC_ISI_NS + 0.0 + + + BOARD_RLD3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_RLD3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_RLD3_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_WDATA_SLEW_RATE + 2.0 + + + CAL_DEBUG_CLOCK_FREQUENCY + 50000000 + + + CTRL_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_ADDR_ORDER_ENUM + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_DDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR3_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR3_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR3_ECC_EN + false + + + CTRL_DDR3_ECC_READDATAERROR_EN + true + + + CTRL_DDR3_ECC_STATUS_EN + false + + + CTRL_DDR3_MMR_EN + false + + + CTRL_DDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_REORDER_EN + true + + + CTRL_DDR3_SELF_REFRESH_EN + false + + + CTRL_DDR3_STARVE_LIMIT + 10 + + + CTRL_DDR3_USER_PRIORITY_EN + false + + + CTRL_DDR3_USER_REFRESH_EN + false + + + CTRL_DDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_ADDR_ORDER_ENUM + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDR4_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR4_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR4_AUTO_PRECHARGE_EN + false + + + CTRL_DDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR4_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR4_ECC_EN + true + + + CTRL_DDR4_ECC_READDATAERROR_EN + false + + + CTRL_DDR4_ECC_STATUS_EN + false + + + CTRL_DDR4_MAJOR_MODE_EN + false + + + CTRL_DDR4_MMR_EN + false + + + CTRL_DDR4_POST_REFRESH_EN + true + + + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT + 0 + + + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT + 2 + + + CTRL_DDR4_PRE_REFRESH_EN + false + + + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT + 1 + + + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_REORDER_EN + true + + + CTRL_DDR4_SELF_REFRESH_EN + false + + + CTRL_DDR4_STARVE_LIMIT + 10 + + + CTRL_DDR4_USER_PRIORITY_EN + false + + + CTRL_DDR4_USER_REFRESH_EN + false + + + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ADDR_INTERLEAVING + COARSE + + + CTRL_DDRT_ADDR_ORDER_ENUM + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDRT_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDRT_AUTO_POWER_DOWN_EN + false + + + CTRL_DDRT_AUTO_PRECHARGE_EN + false + + + CTRL_DDRT_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDRT_AXIS_DATA_WIDTH + 512 + + + CTRL_DDRT_DIMM_DENSITY + 128 + + + CTRL_DDRT_DIMM_VIRAL_FLOW_EN + false + + + CTRL_DDRT_DRIVER_MARGINING_EN + 0 + + + CTRL_DDRT_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDRT_ECC_EN + false + + + CTRL_DDRT_ECC_READDATAERROR_EN + true + + + CTRL_DDRT_ECC_STATUS_EN + true + + + CTRL_DDRT_ERR_INJECT_EN + false + + + CTRL_DDRT_ERR_REPLAY_EN + false + + + CTRL_DDRT_EXT_ERR_INJECT_EN + false + + + CTRL_DDRT_GNT_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_GNT_TO_WR_DIFF_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_GNT_TO_WR_SAME_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_HOST_VIRAL_FLOW_EN + false + + + CTRL_DDRT_MMR_EN + false + + + CTRL_DDRT_NUM_OF_AXIS_ID + 1 + + + CTRL_DDRT_PARITY_CMD_EN + false + + + CTRL_DDRT_PMM_ADR_FLOW_EN + false + + + CTRL_DDRT_PMM_WPQ_FLUSH_EN + false + + + CTRL_DDRT_POISON_DETECTION_EN + false + + + CTRL_DDRT_PORT_AFI_C_WIDTH + 2 + + + CTRL_DDRT_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_REORDER_EN + true + + + CTRL_DDRT_SELF_REFRESH_EN + false + + + CTRL_DDRT_STARVE_LIMIT + 10 + + + CTRL_DDRT_UPI_EN + false + + + CTRL_DDRT_UPI_ID_WIDTH + 8 + + + CTRL_DDRT_USER_PRIORITY_EN + false + + + CTRL_DDRT_USER_REFRESH_EN + false + + + CTRL_DDRT_WR_ACK_POLICY + POSTED + + + CTRL_DDRT_WR_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_GNT_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ZQ_INTERVAL_MS + 3 + + + CTRL_ECC_EN + true + + + CTRL_ECC_READDATAERROR_EN + false + + + CTRL_ECC_STATUS_EN + false + + + CTRL_LPDDR3_ADDR_ORDER_ENUM + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_LPDDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_LPDDR3_AUTO_PRECHARGE_EN + false + + + CTRL_LPDDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_LPDDR3_MMR_EN + false + + + CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_REORDER_EN + true + + + CTRL_LPDDR3_SELF_REFRESH_EN + false + + + CTRL_LPDDR3_STARVE_LIMIT + 10 + + + CTRL_LPDDR3_USER_PRIORITY_EN + false + + + CTRL_LPDDR3_USER_REFRESH_EN + false + + + CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_MMR_EN + false + + + CTRL_QDR2_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR2_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR2_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_ADD_RAW_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_ADD_WAR_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR4_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR4_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_WAR_TURNAROUND_DELAY_CYC + 11 + + + CTRL_REORDER_EN + true + + + CTRL_RLD2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_ADDR_ORDER_ENUM + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_RLD3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_USER_PRIORITY_EN + false + + + DIAG_AC_PARITY_ERR + false + + + DIAG_ADD_READY_PIPELINE + true + + + DIAG_BOARD_DELAY_CONFIG_STR + + + + DIAG_DB_RESET_AUTO_RELEASE + avl_release + + + DIAG_DDR3_ABSTRACT_PHY + false + + + DIAG_DDR3_AC_PARITY_ERR + false + + + DIAG_DDR3_CAL_ADDR0 + 0 + + + DIAG_DDR3_CAL_ADDR1 + 8 + + + DIAG_DDR3_CAL_ENABLE_MICRON_AP + false + + + DIAG_DDR3_CAL_ENABLE_NON_DES + false + + + DIAG_DDR3_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR3_CA_DESKEW_EN + true + + + DIAG_DDR3_CA_LEVEL_EN + true + + + DIAG_DDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR3_ENABLE_USER_MODE + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR3_INTERFACE_ID + 0 + + + DIAG_DDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR3_SIM_VERBOSE + true + + + DIAG_DDR3_TG2_TEST_DURATION + SHORT + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR3_USE_TG_AVL_2 + false + + + DIAG_DDR3_USE_TG_HBM + false + + + DIAG_DDR4_ABSTRACT_PHY + false + + + DIAG_DDR4_AC_PARITY_ERR + false + + + DIAG_DDR4_CAL_ADDR0 + 0 + + + DIAG_DDR4_CAL_ADDR1 + 8 + + + DIAG_DDR4_CAL_ENABLE_NON_DES + false + + + DIAG_DDR4_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR4_ENABLE_USER_MODE + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR4_INTERFACE_ID + 0 + + + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR4_SIM_VERBOSE + true + + + DIAG_DDR4_SKIP_AC_PARITY_CHECK + false + + + DIAG_DDR4_SKIP_CA_DESKEW + false + + + DIAG_DDR4_SKIP_CA_LEVEL + false + + + DIAG_DDR4_SKIP_VREF_CAL + false + + + DIAG_DDR4_TG2_TEST_DURATION + SHORT + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR4_USE_TG_AVL_2 + false + + + DIAG_DDR4_USE_TG_HBM + false + + + DIAG_DDRT_ABSTRACT_PHY + false + + + DIAG_DDRT_AC_PARITY_ERR + false + + + DIAG_DDRT_CAL_ADDR0 + 0 + + + DIAG_DDRT_CAL_ADDR1 + 8 + + + DIAG_DDRT_CAL_ENABLE_NON_DES + false + + + DIAG_DDRT_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDRT_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDRT_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDRT_EFF_TEST + false + + + DIAG_DDRT_ENABLE_DEFAULT_MODE + false + + + DIAG_DDRT_ENABLE_DRIVER_MARGINING + false + + + DIAG_DDRT_ENABLE_ENHANCED_TESTING + false + + + DIAG_DDRT_ENABLE_USER_MODE + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDRT_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDRT_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_JTAG + + + DIAG_DDRT_EX_DESIGN_ISSP_EN + true + + + DIAG_DDRT_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDRT_INTERFACE_ID + 0 + + + DIAG_DDRT_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDRT_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDRT_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDRT_SIM_VERBOSE + true + + + DIAG_DDRT_SKIP_CA_DESKEW + false + + + DIAG_DDRT_SKIP_CA_LEVEL + false + + + DIAG_DDRT_SKIP_VREF_CAL + false + + + DIAG_DDRT_TG2_TEST_DURATION + SHORT + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDRT_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDRT_USE_NEW_EFFMON_S10 + false + + + DIAG_DDRT_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDRT_USE_TG_AVL_2 + true + + + DIAG_DDRT_USE_TG_HBM + false + + + DIAG_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_ECLIPSE_DEBUG + false + + + DIAG_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_ENABLE_DEFAULT_MODE + false + + + DIAG_ENABLE_HPS_EMIF_DEBUG + false + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_ENABLE_JTAG_UART_HEX + false + + + DIAG_ENABLE_SOFT_M20K + false + + + DIAG_ENABLE_USER_MODE + true + + + DIAG_EXPORT_PLL_LOCKED + true + + + DIAG_EXPORT_PLL_REF_CLK_OUT + false + + + DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_EXPORT_VJI + false + + + DIAG_EXPOSE_DFT_SIGNALS + false + + + DIAG_EXPOSE_EARLY_READY + false + + + DIAG_EXPOSE_RD_TYPE + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_EXT_DOCS + false + + + DIAG_EX_DESIGN_ADD_TEST_EMIFS + + + + DIAG_EX_DESIGN_ISSP_EN + true + + + DIAG_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_EX_DESIGN_SEPARATE_RESETS + false + + + DIAG_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_FAST_SIM + true + + + DIAG_FAST_SIM_OVERRIDE + FAST_SIM_OVERRIDE_DEFAULT + + + DIAG_HMC_HRC + auto + + + DIAG_INTERFACE_ID + 0 + + + DIAG_LPDDR3_ABSTRACT_PHY + false + + + DIAG_LPDDR3_AC_PARITY_ERR + false + + + DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_LPDDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_LPDDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_LPDDR3_ENABLE_USER_MODE + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_LPDDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_LPDDR3_INTERFACE_ID + 0 + + + DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_LPDDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_LPDDR3_SIM_VERBOSE + true + + + DIAG_LPDDR3_SKIP_CA_DESKEW + false + + + DIAG_LPDDR3_SKIP_CA_LEVEL + false + + + DIAG_LPDDR3_TG2_TEST_DURATION + SHORT + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_LPDDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_LPDDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_LPDDR3_USE_TG_AVL_2 + false + + + DIAG_LPDDR3_USE_TG_HBM + false + + + DIAG_QDR2_ABSTRACT_PHY + false + + + DIAG_QDR2_AC_PARITY_ERR + false + + + DIAG_QDR2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR2_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR2_ENABLE_USER_MODE + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR2_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR2_INTERFACE_ID + 0 + + + DIAG_QDR2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR2_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR2_SIM_VERBOSE + true + + + DIAG_QDR2_TG2_TEST_DURATION + SHORT + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR2_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR2_USE_TG_AVL_2 + false + + + DIAG_QDR2_USE_TG_HBM + false + + + DIAG_QDR4_ABSTRACT_PHY + false + + + DIAG_QDR4_AC_PARITY_ERR + false + + + DIAG_QDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR4_ENABLE_USER_MODE + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR4_INTERFACE_ID + 0 + + + DIAG_QDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR4_SIM_VERBOSE + true + + + DIAG_QDR4_SKIP_VREF_CAL + false + + + DIAG_QDR4_TG2_TEST_DURATION + SHORT + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR4_USE_TG_AVL_2 + false + + + DIAG_QDR4_USE_TG_HBM + false + + + DIAG_RLD2_ABSTRACT_PHY + false + + + DIAG_RLD2_AC_PARITY_ERR + false + + + DIAG_RLD2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD2_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD2_ENABLE_USER_MODE + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD2_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD2_INTERFACE_ID + 0 + + + DIAG_RLD2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD2_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD2_SIM_VERBOSE + true + + + DIAG_RLD2_TG2_TEST_DURATION + SHORT + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD2_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD2_USE_TG_AVL_2 + false + + + DIAG_RLD2_USE_TG_HBM + false + + + DIAG_RLD3_ABSTRACT_PHY + false + + + DIAG_RLD3_AC_PARITY_ERR + false + + + DIAG_RLD3_CA_DESKEW_EN + true + + + DIAG_RLD3_CA_LEVEL_EN + true + + + DIAG_RLD3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD3_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD3_ENABLE_USER_MODE + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD3_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD3_INTERFACE_ID + 0 + + + DIAG_RLD3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD3_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD3_SIM_VERBOSE + true + + + DIAG_RLD3_TG2_TEST_DURATION + SHORT + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD3_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD3_USE_TG_AVL_2 + false + + + DIAG_RLD3_USE_TG_HBM + false + + + DIAG_RS232_UART_BAUDRATE + 57600 + + + DIAG_SEQ_RESET_AUTO_RELEASE + avl + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_CHECKER_SKIP_TG + false + + + DIAG_SIM_MEMORY_PRELOAD + false + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE + + + + DIAG_SIM_REGTEST_MODE + false + + + DIAG_SIM_VERBOSE_LEVEL + 5 + + + DIAG_SOFT_NIOS_CLOCK_FREQUENCY + 100 + + + DIAG_SOFT_NIOS_MODE + SOFT_NIOS_MODE_DISABLED + + + DIAG_SYNTH_FOR_SIM + false + + + DIAG_TG2_TEST_DURATION + SHORT + + + DIAG_TG_AVL_2_NUM_CFG_INTERFACES + 0 + + + DIAG_TIMING_REGTEST_MODE + false + + + DIAG_USE_ABSTRACT_PHY + false + + + DIAG_USE_BOARD_DELAY_MODEL + false + + + DIAG_USE_NEW_EFFMON_S10 + false + + + DIAG_USE_RS232_UART + false + + + DIAG_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_USE_TG_AVL_2 + false + + + DIAG_USE_TG_HBM + false + + + DIAG_VERBOSE_IOAUX + false + + + EMIF_0_CONN_TO_CALIP + CALIP_0 + + + EMIF_0_REF_CLK_SHARING + EXPORTED + + + EMIF_0_STORED_PARAM + + + + EMIF_10_CONN_TO_CALIP + CALIP_0 + + + EMIF_10_REF_CLK_SHARING + EXPORTED + + + EMIF_10_STORED_PARAM + + + + EMIF_11_CONN_TO_CALIP + CALIP_0 + + + EMIF_11_REF_CLK_SHARING + EXPORTED + + + EMIF_11_STORED_PARAM + + + + EMIF_12_CONN_TO_CALIP + CALIP_0 + + + EMIF_12_REF_CLK_SHARING + EXPORTED + + + EMIF_12_STORED_PARAM + + + + EMIF_13_CONN_TO_CALIP + CALIP_0 + + + EMIF_13_REF_CLK_SHARING + EXPORTED + + + EMIF_13_STORED_PARAM + + + + EMIF_14_CONN_TO_CALIP + CALIP_0 + + + EMIF_14_REF_CLK_SHARING + EXPORTED + + + EMIF_14_STORED_PARAM + + + + EMIF_15_CONN_TO_CALIP + CALIP_0 + + + EMIF_15_REF_CLK_SHARING + EXPORTED + + + EMIF_15_STORED_PARAM + + + + EMIF_1_CONN_TO_CALIP + CALIP_0 + + + EMIF_1_REF_CLK_SHARING + EXPORTED + + + EMIF_1_STORED_PARAM + + + + EMIF_2_CONN_TO_CALIP + CALIP_0 + + + EMIF_2_REF_CLK_SHARING + EXPORTED + + + EMIF_2_STORED_PARAM + + + + EMIF_3_CONN_TO_CALIP + CALIP_0 + + + EMIF_3_REF_CLK_SHARING + EXPORTED + + + EMIF_3_STORED_PARAM + + + + EMIF_4_CONN_TO_CALIP + CALIP_0 + + + EMIF_4_REF_CLK_SHARING + EXPORTED + + + EMIF_4_STORED_PARAM + + + + EMIF_5_CONN_TO_CALIP + CALIP_0 + + + EMIF_5_REF_CLK_SHARING + EXPORTED + + + EMIF_5_STORED_PARAM + + + + EMIF_6_CONN_TO_CALIP + CALIP_0 + + + EMIF_6_REF_CLK_SHARING + EXPORTED + + + EMIF_6_STORED_PARAM + + + + EMIF_7_CONN_TO_CALIP + CALIP_0 + + + EMIF_7_REF_CLK_SHARING + EXPORTED + + + EMIF_7_STORED_PARAM + + + + EMIF_8_CONN_TO_CALIP + CALIP_0 + + + EMIF_8_REF_CLK_SHARING + EXPORTED + + + EMIF_8_STORED_PARAM + + + + EMIF_9_CONN_TO_CALIP + CALIP_0 + + + EMIF_9_REF_CLK_SHARING + EXPORTED + + + EMIF_9_STORED_PARAM + + + + EX_DESIGN_GUI_DDR3_GEN_BSI + false + + + EX_DESIGN_GUI_DDR3_GEN_CDC + false + + + EX_DESIGN_GUI_DDR3_GEN_SIM + true + + + EX_DESIGN_GUI_DDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_GEN_BSI + false + + + EX_DESIGN_GUI_DDR4_GEN_CDC + false + + + EX_DESIGN_GUI_DDR4_GEN_SIM + true + + + EX_DESIGN_GUI_DDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_GEN_BSI + false + + + EX_DESIGN_GUI_DDRT_GEN_CDC + false + + + EX_DESIGN_GUI_DDRT_GEN_SIM + true + + + EX_DESIGN_GUI_DDRT_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDRT_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDRT_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDRT_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_GEN_BSI + false + + + EX_DESIGN_GUI_GEN_CDC + false + + + EX_DESIGN_GUI_GEN_SIM + true + + + EX_DESIGN_GUI_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_GEN_BSI + false + + + EX_DESIGN_GUI_LPDDR3_GEN_CDC + false + + + EX_DESIGN_GUI_LPDDR3_GEN_SIM + true + + + EX_DESIGN_GUI_LPDDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_LPDDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_GEN_BSI + false + + + EX_DESIGN_GUI_QDR2_GEN_CDC + false + + + EX_DESIGN_GUI_QDR2_GEN_SIM + true + + + EX_DESIGN_GUI_QDR2_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_GEN_BSI + false + + + EX_DESIGN_GUI_QDR4_GEN_CDC + false + + + EX_DESIGN_GUI_QDR4_GEN_SIM + true + + + EX_DESIGN_GUI_QDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_GEN_BSI + false + + + EX_DESIGN_GUI_RLD2_GEN_CDC + false + + + EX_DESIGN_GUI_RLD2_GEN_SIM + true + + + EX_DESIGN_GUI_RLD2_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_GEN_BSI + false + + + EX_DESIGN_GUI_RLD3_GEN_CDC + false + + + EX_DESIGN_GUI_RLD3_GEN_SIM + true + + + EX_DESIGN_GUI_RLD3_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + FAMILY_ENUM + FAMILY_AGILEX + + + INTERNAL_TESTING_MODE + false + + + IS_ED_SLAVE + false + + + MEM_BURST_LENGTH + 8 + + + MEM_DATA_MASK_EN + true + + + MEM_DDR3_AC_PAR_EN + false + + + MEM_DDR3_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR3_ADDR_WIDTH + 1 + + + MEM_DDR3_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR3_ALERT_N_PLACEMENT_ENUM + DDR3_ALERT_N_PLACEMENT_AC_LANES + + + MEM_DDR3_ASR_ENUM + DDR3_ASR_MANUAL + + + MEM_DDR3_ATCL_ENUM + DDR3_ATCL_DISABLED + + + MEM_DDR3_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_BL_ENUM + DDR3_BL_BL8 + + + MEM_DDR3_BT_ENUM + DDR3_BT_SEQUENTIAL + + + MEM_DDR3_CFG_GEN_DBE + false + + + MEM_DDR3_CFG_GEN_SBE + false + + + MEM_DDR3_CKE_PER_DIMM + 1 + + + MEM_DDR3_CKE_WIDTH + 1 + + + MEM_DDR3_CK_WIDTH + 1 + + + MEM_DDR3_COL_ADDR_WIDTH + 10 + + + MEM_DDR3_CS_PER_DIMM + 1 + + + MEM_DDR3_CS_WIDTH + 1 + + + MEM_DDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR3_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR3_DLL_EN + true + + + MEM_DDR3_DM_EN + true + + + MEM_DDR3_DM_WIDTH + 1 + + + MEM_DDR3_DQS_WIDTH + 8 + + + MEM_DDR3_DQ_PER_DQS + 8 + + + MEM_DDR3_DQ_WIDTH + 72 + + + MEM_DDR3_DRV_STR_ENUM + DDR3_DRV_STR_RZQ_7 + + + MEM_DDR3_FORMAT_ENUM + MEM_FORMAT_UDIMM + + + MEM_DDR3_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR3_LRDIMM_EXTENDED_CONFIG + 000000000000000000 + + + MEM_DDR3_MIRROR_ADDRESSING_EN + true + + + MEM_DDR3_MR0 + 0 + + + MEM_DDR3_MR1 + 0 + + + MEM_DDR3_MR2 + 0 + + + MEM_DDR3_MR3 + 0 + + + MEM_DDR3_NUM_OF_DIMMS + 1 + + + MEM_DDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_ODT_WIDTH + 1 + + + MEM_DDR3_PD_ENUM + DDR3_PD_OFF + + + MEM_DDR3_RANKS_PER_DIMM + 1 + + + MEM_DDR3_RDIMM_CONFIG + 0000000000000000 + + + MEM_DDR3_RM_WIDTH + 0 + + + MEM_DDR3_ROW_ADDR_WIDTH + 15 + + + MEM_DDR3_RTT_NOM_ENUM + DDR3_RTT_NOM_ODT_DISABLED + + + MEM_DDR3_RTT_WR_ENUM + DDR3_RTT_WR_RZQ_4 + + + MEM_DDR3_R_DERIVED_ODT0 + ,, + + + MEM_DDR3_R_DERIVED_ODT1 + ,, + + + MEM_DDR3_R_DERIVED_ODT2 + ,, + + + MEM_DDR3_R_DERIVED_ODT3 + ,, + + + MEM_DDR3_R_DERIVED_ODTN + ,, + + + MEM_DDR3_R_ODT0_1X1 + off + + + MEM_DDR3_R_ODT0_2X2 + off,off + + + MEM_DDR3_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR3_R_ODT1_2X2 + off,off + + + MEM_DDR3_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR3_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR3_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR3_R_ODTN_1X1 + Rank 0 + + + MEM_DDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR3_SPEEDBIN_ENUM + DDR3_SPEEDBIN_2133 + + + MEM_DDR3_SRT_ENUM + DDR3_SRT_NORMAL + + + MEM_DDR3_TCL + 14 + + + MEM_DDR3_TDH_DC_MV + 100 + + + MEM_DDR3_TDH_PS + 55 + + + MEM_DDR3_TDQSCKDL + 1200 + + + MEM_DDR3_TDQSCKDM + 900 + + + MEM_DDR3_TDQSCKDS + 450 + + + MEM_DDR3_TDQSCK_DERV_PS + 2 + + + MEM_DDR3_TDQSCK_PS + 180 + + + MEM_DDR3_TDQSQ_PS + 75 + + + MEM_DDR3_TDQSS_CYC + 0.27 + + + MEM_DDR3_TDSH_CYC + 0.18 + + + MEM_DDR3_TDSS_CYC + 0.18 + + + MEM_DDR3_TDS_AC_MV + 135 + + + MEM_DDR3_TDS_PS + 53 + + + MEM_DDR3_TFAW_CYC + 27 + + + MEM_DDR3_TFAW_NS + 25.0 + + + MEM_DDR3_TIH_DC_MV + 100 + + + MEM_DDR3_TIH_PS + 95 + + + MEM_DDR3_TINIT_CK + 499 + + + MEM_DDR3_TINIT_US + 500 + + + MEM_DDR3_TIS_AC_MV + 135 + + + MEM_DDR3_TIS_PS + 60 + + + MEM_DDR3_TMRD_CK_CYC + 4 + + + MEM_DDR3_TQH_CYC + 0.38 + + + MEM_DDR3_TQSH_CYC + 0.4 + + + MEM_DDR3_TRAS_CYC + 36 + + + MEM_DDR3_TRAS_NS + 33.0 + + + MEM_DDR3_TRCD_CYC + 14 + + + MEM_DDR3_TRCD_NS + 13.09 + + + MEM_DDR3_TREFI_CYC + 8320 + + + MEM_DDR3_TREFI_US + 7.8 + + + MEM_DDR3_TRFC_CYC + 171 + + + MEM_DDR3_TRFC_NS + 160.0 + + + MEM_DDR3_TRP_CYC + 14 + + + MEM_DDR3_TRP_NS + 13.09 + + + MEM_DDR3_TRRD_CYC + 6 + + + MEM_DDR3_TRTP_CYC + 8 + + + MEM_DDR3_TTL_ADDR_WIDTH + 1 + + + MEM_DDR3_TTL_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_TTL_CKE_WIDTH + 1 + + + MEM_DDR3_TTL_CK_WIDTH + 1 + + + MEM_DDR3_TTL_CS_WIDTH + 1 + + + MEM_DDR3_TTL_DM_WIDTH + 1 + + + MEM_DDR3_TTL_DQS_WIDTH + 8 + + + MEM_DDR3_TTL_DQ_WIDTH + 72 + + + MEM_DDR3_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR3_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_TTL_ODT_WIDTH + 1 + + + MEM_DDR3_TTL_RM_WIDTH + 0 + + + MEM_DDR3_TWLH_PS + 125.0 + + + MEM_DDR3_TWLS_PS + 125.0 + + + MEM_DDR3_TWR_CYC + 16 + + + MEM_DDR3_TWR_NS + 15.0 + + + MEM_DDR3_TWTR_CYC + 8 + + + MEM_DDR3_USE_DEFAULT_ODT + true + + + MEM_DDR3_WTCL + 10 + + + MEM_DDR3_W_DERIVED_ODT0 + ,, + + + MEM_DDR3_W_DERIVED_ODT1 + ,, + + + MEM_DDR3_W_DERIVED_ODT2 + ,, + + + MEM_DDR3_W_DERIVED_ODT3 + ,, + + + MEM_DDR3_W_DERIVED_ODTN + ,, + + + MEM_DDR3_W_ODT0_1X1 + on + + + MEM_DDR3_W_ODT0_2X2 + on,off + + + MEM_DDR3_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT1_2X2 + off,on + + + MEM_DDR3_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR3_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR3_W_ODTN_1X1 + Rank 0 + + + MEM_DDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_AC_PARITY_LATENCY + DDR4_AC_PARITY_LATENCY_DISABLE + + + MEM_DDR4_AC_PERSISTENT_ERROR + false + + + MEM_DDR4_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR4_ADDR_WIDTH + 17 + + + MEM_DDR4_ALERT_N_AC_LANE + 3 + + + MEM_DDR4_ALERT_N_AC_PIN + 8 + + + MEM_DDR4_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR4_ALERT_N_PLACEMENT_ENUM + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + + + MEM_DDR4_ALERT_PAR_EN + true + + + MEM_DDR4_ASR_ENUM + DDR4_ASR_MANUAL_NORMAL + + + MEM_DDR4_ATCL_ENUM + DDR4_ATCL_DISABLED + + + MEM_DDR4_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_BL_ENUM + DDR4_BL_BL8 + + + MEM_DDR4_BT_ENUM + DDR4_BT_SEQUENTIAL + + + MEM_DDR4_CAL_MODE + 0 + + + MEM_DDR4_CFG_GEN_DBE + false + + + MEM_DDR4_CFG_GEN_SBE + false + + + MEM_DDR4_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_CKE_PER_DIMM + 1 + + + MEM_DDR4_CKE_WIDTH + 1 + + + MEM_DDR4_CK_WIDTH + 1 + + + MEM_DDR4_COL_ADDR_WIDTH + 10 + + + MEM_DDR4_CS_PER_DIMM + 1 + + + MEM_DDR4_CS_WIDTH + 1 + + + MEM_DDR4_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR4_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_DEFAULT_VREFOUT + true + + + MEM_DDR4_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR4_DLL_EN + true + + + MEM_DDR4_DM_EN + true + + + MEM_DDR4_DQS_WIDTH + 9 + + + MEM_DDR4_DQ_PER_DQS + 8 + + + MEM_DDR4_DQ_WIDTH + 72 + + + MEM_DDR4_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_FINE_GRANULARITY_REFRESH + DDR4_FINE_REFRESH_FIXED_1X + + + MEM_DDR4_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_DDR4_GEARDOWN + DDR4_GEARDOWN_HR + + + MEM_DDR4_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR4_IDEAL_VREF_IN_PCT + 68.0 + + + MEM_DDR4_IDEAL_VREF_OUT_PCT + 70.0 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM_DISP + RTT_NOM disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM_DISP + RTT_PARK disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM_DISP + RZQ/3 (80 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM + DDR4_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISP + ODT Disabled + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM + DDR4_RTT_PARK_RZQ_4 + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISP + RZQ/4 (60 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISP + Dynamic ODT off + + + MEM_DDR4_INTEL_DEFAULT_TERM + true + + + MEM_DDR4_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDR4_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDR4_LRDIMM_ODT_LESS_BS + true + + + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDR4_LRDIMM_VREFDQ_VALUE + + + + MEM_DDR4_MAX_POWERDOWN + false + + + MEM_DDR4_MIRROR_ADDRESSING_EN + true + + + MEM_DDR4_MPR_READ_FORMAT + DDR4_MPR_READ_FORMAT_SERIAL + + + MEM_DDR4_MR0 + 2164 + + + MEM_DDR4_MR1 + 65537 + + + MEM_DDR4_MR2 + 131112 + + + MEM_DDR4_MR3 + 197632 + + + MEM_DDR4_MR4 + 264192 + + + MEM_DDR4_MR5 + 332896 + + + MEM_DDR4_MR6 + 395279 + + + MEM_DDR4_NUM_OF_DIMMS + 1 + + + MEM_DDR4_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_ODT_IN_POWERDOWN + true + + + MEM_DDR4_ODT_WIDTH + 1 + + + MEM_DDR4_PER_DRAM_ADDR + false + + + MEM_DDR4_RANKS_PER_DIMM + 1 + + + MEM_DDR4_RCD_CA_IBT_ENUM + DDR4_RCD_CA_IBT_100 + + + MEM_DDR4_RCD_CKE_IBT_ENUM + DDR4_RCD_CKE_IBT_100 + + + MEM_DDR4_RCD_COMMAND_LATENCY + 1 + + + MEM_DDR4_RCD_CS_IBT_ENUM + DDR4_RCD_CS_IBT_100 + + + MEM_DDR4_RCD_ODT_IBT_ENUM + DDR4_RCD_ODT_IBT_100 + + + MEM_DDR4_RCD_PARITY_CONTROL_WORD + 13 + + + MEM_DDR4_RDIMM_CONFIG + 00000020000000003900000D40030B0F556000 + + + MEM_DDR4_READ_DBI + true + + + MEM_DDR4_READ_PREAMBLE + 2 + + + MEM_DDR4_READ_PREAMBLE_TRAINING + false + + + MEM_DDR4_RM_WIDTH + 0 + + + MEM_DDR4_ROW_ADDR_WIDTH + 16 + + + MEM_DDR4_RTT_NOM_ENUM + DDR4_RTT_NOM_RZQ_4 + + + MEM_DDR4_RTT_PARK + DDR4_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_R_DERIVED_BODT0 + + + + MEM_DDR4_R_DERIVED_BODT1 + + + + MEM_DDR4_R_DERIVED_BODTN + + + + MEM_DDR4_R_DERIVED_ODT0 + (Drive) RZQ/7 (34 Ohm),-,-,- + + + MEM_DDR4_R_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_R_ODT0_1X1 + off + + + MEM_DDR4_R_ODT0_2X2 + off,off + + + MEM_DDR4_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR4_R_ODT1_2X2 + off,off + + + MEM_DDR4_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR4_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR4_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR4_R_ODTN_1X1 + Rank 0 + + + MEM_DDR4_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_SELF_RFSH_ABORT + false + + + MEM_DDR4_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR4_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDR4_SPD_135_RCD_REV + 0 + + + MEM_DDR4_SPD_137_RCD_CA_DRV + 101 + + + MEM_DDR4_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDR4_SPD_139_DB_REV + 0 + + + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDR4_SPD_144_DB_VREFDQ + 37 + + + MEM_DDR4_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDR4_SPD_148_DRAM_DRV + 0 + + + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDR4_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE + 0 + + + MEM_DDR4_SPEEDBIN_ENUM + DDR4_SPEEDBIN_2666 + + + MEM_DDR4_TCCD_L_CYC + 6 + + + MEM_DDR4_TCCD_S_CYC + 4 + + + MEM_DDR4_TCL + 21 + + + MEM_DDR4_TDIVW_DJ_CYC + 0.1 + + + MEM_DDR4_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDR4_TDQSCKDL + 1200 + + + MEM_DDR4_TDQSCKDM + 900 + + + MEM_DDR4_TDQSCKDS + 450 + + + MEM_DDR4_TDQSCK_DERV_PS + 2 + + + MEM_DDR4_TDQSCK_PS + 175 + + + MEM_DDR4_TDQSQ_PS + 66 + + + MEM_DDR4_TDQSQ_UI + 0.14 + + + MEM_DDR4_TDQSS_CYC + 0.27 + + + MEM_DDR4_TDSH_CYC + 0.18 + + + MEM_DDR4_TDSS_CYC + 0.18 + + + MEM_DDR4_TDVWP_UI + 0.72 + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDR4_TEMP_SENSOR_READOUT + false + + + MEM_DDR4_TFAW_CYC + 26 + + + MEM_DDR4_TFAW_DLR_CYC + 16 + + + MEM_DDR4_TFAW_NS + 21.0 + + + MEM_DDR4_TIH_DC_MV + 75 + + + MEM_DDR4_TIH_PS + 87 + + + MEM_DDR4_TINIT_CK + 600000 + + + MEM_DDR4_TINIT_US + 500 + + + MEM_DDR4_TIS_AC_MV + 100 + + + MEM_DDR4_TIS_PS + 62 + + + MEM_DDR4_TMRD_CK_CYC + 8 + + + MEM_DDR4_TQH_CYC + 0.38 + + + MEM_DDR4_TQH_UI + 0.74 + + + MEM_DDR4_TQSH_CYC + 0.4 + + + MEM_DDR4_TRAS_CYC + 39 + + + MEM_DDR4_TRAS_NS + 32.0 + + + MEM_DDR4_TRCD_CYC + 17 + + + MEM_DDR4_TRCD_NS + 14.16 + + + MEM_DDR4_TREFI_CYC + 9360 + + + MEM_DDR4_TREFI_US + 7.8 + + + MEM_DDR4_TRFC_CYC + 420 + + + MEM_DDR4_TRFC_DLR_CYC + 108 + + + MEM_DDR4_TRFC_DLR_NS + 90.0 + + + MEM_DDR4_TRFC_NS + 350.0 + + + MEM_DDR4_TRP_CYC + 17 + + + MEM_DDR4_TRP_NS + 14.16 + + + MEM_DDR4_TRRD_DLR_CYC + 4 + + + MEM_DDR4_TRRD_L_CYC + 6 + + + MEM_DDR4_TRRD_S_CYC + 4 + + + MEM_DDR4_TRTP_CYC + 9 + + + MEM_DDR4_TTL_ADDR_WIDTH + 17 + + + MEM_DDR4_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_TTL_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_TTL_CKE_WIDTH + 1 + + + MEM_DDR4_TTL_CK_WIDTH + 1 + + + MEM_DDR4_TTL_CS_WIDTH + 1 + + + MEM_DDR4_TTL_DQS_WIDTH + 9 + + + MEM_DDR4_TTL_DQ_WIDTH + 72 + + + MEM_DDR4_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR4_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_TTL_ODT_WIDTH + 1 + + + MEM_DDR4_TTL_RM_WIDTH + 0 + + + MEM_DDR4_TWLH_CYC + 0.13 + + + MEM_DDR4_TWLH_PS + 0.0 + + + MEM_DDR4_TWLS_CYC + 0.13 + + + MEM_DDR4_TWLS_PS + 0.0 + + + MEM_DDR4_TWR_CYC + 18 + + + MEM_DDR4_TWR_NS + 15.0 + + + MEM_DDR4_TWTR_L_CYC + 9 + + + MEM_DDR4_TWTR_S_CYC + 3 + + + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDR4_USE_DEFAULT_ODT + true + + + MEM_DDR4_VDIVW_TOTAL + 130 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_0 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE_DISP + Range 1 - 60% to 92.5% + + + MEM_DDR4_VREFDQ_TRAINING_VALUE + 70.0 + + + MEM_DDR4_WRITE_CMD_LATENCY + 6 + + + MEM_DDR4_WRITE_CRC + false + + + MEM_DDR4_WRITE_DBI + false + + + MEM_DDR4_WRITE_PREAMBLE + 1 + + + MEM_DDR4_WTCL + 16 + + + MEM_DDR4_W_DERIVED_BODT0 + + + + MEM_DDR4_W_DERIVED_BODT1 + + + + MEM_DDR4_W_DERIVED_BODTN + + + + MEM_DDR4_W_DERIVED_ODT0 + (Park) RZQ/4 (60 Ohm),-,-,- + + + MEM_DDR4_W_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_W_ODT0_1X1 + on + + + MEM_DDR4_W_ODT0_2X2 + on,off + + + MEM_DDR4_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT1_2X2 + off,on + + + MEM_DDR4_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR4_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR4_W_ODTN_1X1 + Rank 0 + + + MEM_DDR4_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_AC_PARITY_LATENCY + DDRT_AC_PARITY_LATENCY_DISABLE + + + MEM_DDRT_AC_PERSISTENT_ERROR + false + + + MEM_DDRT_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDRT_ADDR_WIDTH + 1 + + + MEM_DDRT_ALERT_N_AC_LANE + 0 + + + MEM_DDRT_ALERT_N_AC_PIN + 0 + + + MEM_DDRT_ALERT_N_DQS_GROUP + 0 + + + MEM_DDRT_ALERT_N_PLACEMENT_ENUM + DDRT_ALERT_N_PLACEMENT_AUTO + + + MEM_DDRT_ALERT_PAR_EN + true + + + MEM_DDRT_ASR_ENUM + DDRT_ASR_MANUAL_NORMAL + + + MEM_DDRT_ATCL_ENUM + DDRT_ATCL_DISABLED + + + MEM_DDRT_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_BL_ENUM + DDRT_BL_BL8 + + + MEM_DDRT_BT_ENUM + DDRT_BT_SEQUENTIAL + + + MEM_DDRT_CAL_MODE + 0 + + + MEM_DDRT_CFG_GEN_DBE + false + + + MEM_DDRT_CFG_GEN_SBE + false + + + MEM_DDRT_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_CKE_PER_DIMM + 1 + + + MEM_DDRT_CKE_WIDTH + 1 + + + MEM_DDRT_CK_WIDTH + 1 + + + MEM_DDRT_COL_ADDR_WIDTH + 10 + + + MEM_DDRT_CS_PER_DIMM + 1 + + + MEM_DDRT_CS_WIDTH + 1 + + + MEM_DDRT_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDRT_DB_DQ_DRV_ENUM + DDRT_DB_DRV_STR_RZQ_7 + + + MEM_DDRT_DB_RTT_NOM_ENUM + DDRT_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDRT_DB_RTT_PARK_ENUM + DDRT_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_DB_RTT_WR_ENUM + DDRT_DB_RTT_WR_RZQ_4 + + + MEM_DDRT_DEFAULT_ADDED_LATENCY + true + + + MEM_DDRT_DEFAULT_PREAMBLE + true + + + MEM_DDRT_DEFAULT_VREFOUT + true + + + MEM_DDRT_DISCRETE_CS_WIDTH + 1 + + + MEM_DDRT_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDRT_DLL_EN + true + + + MEM_DDRT_DM_EN + false + + + MEM_DDRT_DQS_WIDTH + 8 + + + MEM_DDRT_DQ_PER_DQS + 4 + + + MEM_DDRT_DQ_WIDTH + 72 + + + MEM_DDRT_DRV_STR_ENUM + DDRT_DRV_STR_RZQ_7 + + + MEM_DDRT_ERID_WIDTH + 2 + + + MEM_DDRT_ERR_N_WIDTH + 1 + + + MEM_DDRT_FINE_GRANULARITY_REFRESH + DDRT_FINE_REFRESH_FIXED_1X + + + MEM_DDRT_FORMAT_ENUM + MEM_FORMAT_LRDIMM + + + MEM_DDRT_GEARDOWN + DDRT_GEARDOWN_HR + + + MEM_DDRT_GNT_N_WIDTH + 1 + + + MEM_DDRT_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDRT_HIDE_LATENCY_SETTINGS + true + + + MEM_DDRT_I2C_DIMM_0_SA + 0 + + + MEM_DDRT_I2C_DIMM_1_SA + 1 + + + MEM_DDRT_I2C_DIMM_2_SA + 2 + + + MEM_DDRT_I2C_DIMM_3_SA + 3 + + + MEM_DDRT_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDRT_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDRT_LRDIMM_ODT_LESS_BS + false + + + MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDRT_LRDIMM_VREFDQ_VALUE + + + + MEM_DDRT_MAX_POWERDOWN + false + + + MEM_DDRT_MIRROR_ADDRESSING_EN + true + + + MEM_DDRT_MPR_READ_FORMAT + DDRT_MPR_READ_FORMAT_SERIAL + + + MEM_DDRT_MR0 + 0 + + + MEM_DDRT_MR1 + 0 + + + MEM_DDRT_MR2 + 0 + + + MEM_DDRT_MR3 + 0 + + + MEM_DDRT_MR4 + 0 + + + MEM_DDRT_MR5 + 0 + + + MEM_DDRT_MR6 + 0 + + + MEM_DDRT_NUM_OF_DIMMS + 1 + + + MEM_DDRT_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_ODT_IN_POWERDOWN + true + + + MEM_DDRT_ODT_WIDTH + 1 + + + MEM_DDRT_PARTIAL_WRITES + false + + + MEM_DDRT_PERSISTENT_MODE + 1 + + + MEM_DDRT_PER_DRAM_ADDR + false + + + MEM_DDRT_PWR_MODE + DDRT_PWR_MODE_12W + + + MEM_DDRT_RANKS_PER_DIMM + 1 + + + MEM_DDRT_RCD_CA_IBT_ENUM + DDRT_RCD_CA_IBT_100 + + + MEM_DDRT_RCD_CKE_IBT_ENUM + DDRT_RCD_CKE_IBT_100 + + + MEM_DDRT_RCD_COMMAND_LATENCY + 1 + + + MEM_DDRT_RCD_CS_IBT_ENUM + DDRT_RCD_CS_IBT_100 + + + MEM_DDRT_RCD_ODT_IBT_ENUM + DDRT_RCD_ODT_IBT_100 + + + MEM_DDRT_RCD_PARITY_CONTROL_WORD + 1 + + + MEM_DDRT_RDIMM_CONFIG + + + + MEM_DDRT_READ_DBI + false + + + MEM_DDRT_READ_PREAMBLE + 1 + + + MEM_DDRT_READ_PREAMBLE_TRAINING + false + + + MEM_DDRT_REQ_N_WIDTH + 1 + + + MEM_DDRT_RM_WIDTH + 0 + + + MEM_DDRT_ROW_ADDR_WIDTH + 18 + + + MEM_DDRT_RTT_NOM_ENUM + DDRT_RTT_NOM_RZQ_4 + + + MEM_DDRT_RTT_PARK + DDRT_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_RTT_WR_ENUM + DDRT_RTT_WR_ODT_DISABLED + + + MEM_DDRT_R_DERIVED_BODT0 + + + + MEM_DDRT_R_DERIVED_BODT1 + + + + MEM_DDRT_R_DERIVED_BODTN + + + + MEM_DDRT_R_DERIVED_ODT0 + ,, + + + MEM_DDRT_R_DERIVED_ODT1 + ,, + + + MEM_DDRT_R_DERIVED_ODT2 + ,, + + + MEM_DDRT_R_DERIVED_ODT3 + ,, + + + MEM_DDRT_R_DERIVED_ODTN + ,, + + + MEM_DDRT_R_ODT0_1X1 + off + + + MEM_DDRT_R_ODT0_2X2 + off,off + + + MEM_DDRT_R_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_R_ODT0_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT1_2X2 + off,off + + + MEM_DDRT_R_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_R_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_R_ODT2_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_R_ODTN_1X1 + Rank 0 + + + MEM_DDRT_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_SELF_RFSH_ABORT + false + + + MEM_DDRT_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDRT_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDRT_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDRT_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDRT_SPD_135_RCD_REV + 0 + + + MEM_DDRT_SPD_137_RCD_CA_DRV + 85 + + + MEM_DDRT_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDRT_SPD_139_DB_REV + 0 + + + MEM_DDRT_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDRT_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDRT_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDRT_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDRT_SPD_144_DB_VREFDQ + 25 + + + MEM_DDRT_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDRT_SPD_148_DRAM_DRV + 0 + + + MEM_DDRT_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDRT_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDRT_SPEEDBIN_ENUM + DDRT_SPEEDBIN_2400 + + + MEM_DDRT_TCCD_L_CYC + 6 + + + MEM_DDRT_TCCD_S_CYC + 4 + + + MEM_DDRT_TCL + 15 + + + MEM_DDRT_TCL_ADDED + -1 + + + MEM_DDRT_TDIVW_DJ_CYC + 0.1 + + + MEM_DDRT_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDRT_TDQSCKDL + 1200 + + + MEM_DDRT_TDQSCKDM + 900 + + + MEM_DDRT_TDQSCKDS + 450 + + + MEM_DDRT_TDQSCK_DERV_PS + 2 + + + MEM_DDRT_TDQSCK_PS + 165 + + + MEM_DDRT_TDQSQ_PS + 66 + + + MEM_DDRT_TDQSQ_UI + 0.16 + + + MEM_DDRT_TDQSS_CYC + 0.27 + + + MEM_DDRT_TDSH_CYC + 0.18 + + + MEM_DDRT_TDSS_CYC + 0.18 + + + MEM_DDRT_TDVWP_UI + 0.72 + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_RANGE + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDRT_TEMP_SENSOR_READOUT + false + + + MEM_DDRT_TFAW_CYC + 27 + + + MEM_DDRT_TFAW_DLR_CYC + 16 + + + MEM_DDRT_TFAW_NS + 21.0 + + + MEM_DDRT_TIH_DC_MV + 75 + + + MEM_DDRT_TIH_PS + 95 + + + MEM_DDRT_TINIT_CK + 499 + + + MEM_DDRT_TINIT_US + 500 + + + MEM_DDRT_TIS_AC_MV + 100 + + + MEM_DDRT_TIS_PS + 60 + + + MEM_DDRT_TMRD_CK_CYC + 8 + + + MEM_DDRT_TQH_CYC + 0.38 + + + MEM_DDRT_TQH_UI + 0.76 + + + MEM_DDRT_TQSH_CYC + 0.38 + + + MEM_DDRT_TRAS_CYC + 36 + + + MEM_DDRT_TRAS_NS + 32.0 + + + MEM_DDRT_TRCD_CYC + 14 + + + MEM_DDRT_TRCD_NS + 15.0 + + + MEM_DDRT_TREFI_CYC + 8320 + + + MEM_DDRT_TREFI_US + 7.8 + + + MEM_DDRT_TRFC_CYC + 171 + + + MEM_DDRT_TRFC_DLR_CYC + 109 + + + MEM_DDRT_TRFC_DLR_NS + 90.0 + + + MEM_DDRT_TRFC_NS + 260.0 + + + MEM_DDRT_TRP_CYC + 14 + + + MEM_DDRT_TRP_NS + 15.0 + + + MEM_DDRT_TRRD_DLR_CYC + 4 + + + MEM_DDRT_TRRD_L_CYC + 6 + + + MEM_DDRT_TRRD_S_CYC + 4 + + + MEM_DDRT_TRTP_CYC + 9 + + + MEM_DDRT_TTL_ADDR_WIDTH + 1 + + + MEM_DDRT_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_TTL_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_TTL_CKE_WIDTH + 1 + + + MEM_DDRT_TTL_CK_WIDTH + 1 + + + MEM_DDRT_TTL_CS_WIDTH + 1 + + + MEM_DDRT_TTL_DQS_WIDTH + 8 + + + MEM_DDRT_TTL_DQ_WIDTH + 72 + + + MEM_DDRT_TTL_ERID_WIDTH + 2 + + + MEM_DDRT_TTL_ERR_N_WIDTH + 1 + + + MEM_DDRT_TTL_GNT_N_WIDTH + 1 + + + MEM_DDRT_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDRT_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_TTL_ODT_WIDTH + 1 + + + MEM_DDRT_TTL_REQ_N_WIDTH + 1 + + + MEM_DDRT_TTL_RM_WIDTH + 0 + + + MEM_DDRT_TWLH_CYC + 0.13 + + + MEM_DDRT_TWLH_PS + 0.0 + + + MEM_DDRT_TWLS_CYC + 0.13 + + + MEM_DDRT_TWLS_PS + 0.0 + + + MEM_DDRT_TWR_CYC + 18 + + + MEM_DDRT_TWR_NS + 15.0 + + + MEM_DDRT_TWTR_L_CYC + 9 + + + MEM_DDRT_TWTR_S_CYC + 3 + + + MEM_DDRT_USER_READ_PREAMBLE + 1 + + + MEM_DDRT_USER_TCL_ADDED + 0 + + + MEM_DDRT_USER_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_USER_WRITE_PREAMBLE + 1 + + + MEM_DDRT_USER_WTCL_ADDED + 6 + + + MEM_DDRT_USE_DEFAULT_ODT + true + + + MEM_DDRT_VDIVW_TOTAL + 136 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE_DISP + Range 2 - 45% to 77.5% + + + MEM_DDRT_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_WRITE_CMD_LATENCY + 5 + + + MEM_DDRT_WRITE_CRC + false + + + MEM_DDRT_WRITE_DBI + false + + + MEM_DDRT_WRITE_PREAMBLE + 1 + + + MEM_DDRT_WTCL + 18 + + + MEM_DDRT_WTCL_ADDED + -1 + + + MEM_DDRT_W_DERIVED_BODT0 + + + + MEM_DDRT_W_DERIVED_BODT1 + + + + MEM_DDRT_W_DERIVED_BODTN + + + + MEM_DDRT_W_DERIVED_ODT0 + ,, + + + MEM_DDRT_W_DERIVED_ODT1 + ,, + + + MEM_DDRT_W_DERIVED_ODT2 + ,, + + + MEM_DDRT_W_DERIVED_ODT3 + ,, + + + MEM_DDRT_W_DERIVED_ODTN + ,, + + + MEM_DDRT_W_ODT0_1X1 + on + + + MEM_DDRT_W_ODT0_2X2 + on,off + + + MEM_DDRT_W_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_W_ODT0_4X4 + on,on,off,off + + + MEM_DDRT_W_ODT1_2X2 + off,on + + + MEM_DDRT_W_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_W_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT2_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_W_ODTN_1X1 + Rank 0 + + + MEM_DDRT_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_HAS_BSI_SUPPORT + true + + + MEM_HAS_SIM_SUPPORT + true + + + MEM_LPDDR3_ADDR_WIDTH + 10 + + + MEM_LPDDR3_BANK_ADDR_WIDTH + 3 + + + MEM_LPDDR3_BL + LPDDR3_BL_BL8 + + + MEM_LPDDR3_CKE_WIDTH + 1 + + + MEM_LPDDR3_CK_WIDTH + 1 + + + MEM_LPDDR3_COL_ADDR_WIDTH + 10 + + + MEM_LPDDR3_CS_WIDTH + 1 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_LPDDR3_DATA_LATENCY + LPDDR3_DL_RL12_WL6 + + + MEM_LPDDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_LPDDR3_DM_EN + true + + + MEM_LPDDR3_DM_WIDTH + 1 + + + MEM_LPDDR3_DQODT + LPDDR3_DQODT_DISABLE + + + MEM_LPDDR3_DQS_WIDTH + 1 + + + MEM_LPDDR3_DQ_PER_DQS + 8 + + + MEM_LPDDR3_DQ_WIDTH + 32 + + + MEM_LPDDR3_DRV_STR + LPDDR3_DRV_STR_40D_40U + + + MEM_LPDDR3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_LPDDR3_MR1 + 0 + + + MEM_LPDDR3_MR11 + 0 + + + MEM_LPDDR3_MR2 + 0 + + + MEM_LPDDR3_MR3 + 0 + + + MEM_LPDDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_LPDDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_LPDDR3_NWR + LPDDR3_NWR_NWR12 + + + MEM_LPDDR3_ODT_WIDTH + 1 + + + MEM_LPDDR3_PDODT + LPDDR3_PDODT_DISABLED + + + MEM_LPDDR3_ROW_ADDR_WIDTH + 15 + + + MEM_LPDDR3_R_DERIVED_ODT0 + ,, + + + MEM_LPDDR3_R_DERIVED_ODT1 + ,, + + + MEM_LPDDR3_R_DERIVED_ODT2 + ,, + + + MEM_LPDDR3_R_DERIVED_ODT3 + ,, + + + MEM_LPDDR3_R_DERIVED_ODTN + ,, + + + MEM_LPDDR3_R_ODT0_1X1 + off + + + MEM_LPDDR3_R_ODT0_2X2 + off,off + + + MEM_LPDDR3_R_ODT0_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT1_2X2 + off,off + + + MEM_LPDDR3_R_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_LPDDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_LPDDR3_SPEEDBIN_ENUM + LPDDR3_SPEEDBIN_1600 + + + MEM_LPDDR3_TDH_DC_MV + 100 + + + MEM_LPDDR3_TDH_PS + 100 + + + MEM_LPDDR3_TDQSCKDL + 614 + + + MEM_LPDDR3_TDQSCKDM + 511 + + + MEM_LPDDR3_TDQSCKDS + 220 + + + MEM_LPDDR3_TDQSCK_DERV_PS + 2 + + + MEM_LPDDR3_TDQSCK_PS + 5500 + + + MEM_LPDDR3_TDQSQ_PS + 135 + + + MEM_LPDDR3_TDQSS_CYC + 1.25 + + + MEM_LPDDR3_TDSH_CYC + 0.2 + + + MEM_LPDDR3_TDSS_CYC + 0.2 + + + MEM_LPDDR3_TDS_AC_MV + 150 + + + MEM_LPDDR3_TDS_PS + 75 + + + MEM_LPDDR3_TFAW_CYC + 40 + + + MEM_LPDDR3_TFAW_NS + 50.0 + + + MEM_LPDDR3_TIH_DC_MV + 100 + + + MEM_LPDDR3_TIH_PS + 100 + + + MEM_LPDDR3_TINIT_CK + 499 + + + MEM_LPDDR3_TINIT_US + 500 + + + MEM_LPDDR3_TIS_AC_MV + 150 + + + MEM_LPDDR3_TIS_PS + 75 + + + MEM_LPDDR3_TMRR_CK_CYC + 4 + + + MEM_LPDDR3_TMRW_CK_CYC + 10 + + + MEM_LPDDR3_TQH_CYC + 0.38 + + + MEM_LPDDR3_TQSH_CYC + 0.38 + + + MEM_LPDDR3_TRAS_CYC + 34 + + + MEM_LPDDR3_TRAS_NS + 42.5 + + + MEM_LPDDR3_TRCD_CYC + 17 + + + MEM_LPDDR3_TRCD_NS + 18.0 + + + MEM_LPDDR3_TREFI_CYC + 3120 + + + MEM_LPDDR3_TREFI_US + 3.9 + + + MEM_LPDDR3_TRFC_CYC + 168 + + + MEM_LPDDR3_TRFC_NS + 210.0 + + + MEM_LPDDR3_TRL_CYC + 10 + + + MEM_LPDDR3_TRP_CYC + 17 + + + MEM_LPDDR3_TRP_NS + 18.0 + + + MEM_LPDDR3_TRRD_CYC + 8 + + + MEM_LPDDR3_TRTP_CYC + 6 + + + MEM_LPDDR3_TWLH_PS + 175.0 + + + MEM_LPDDR3_TWLS_PS + 175.0 + + + MEM_LPDDR3_TWL_CYC + 6 + + + MEM_LPDDR3_TWR_CYC + 12 + + + MEM_LPDDR3_TWR_NS + 15.0 + + + MEM_LPDDR3_TWTR_CYC + 6 + + + MEM_LPDDR3_USE_DEFAULT_ODT + true + + + MEM_LPDDR3_WLSELECT + Set A + + + MEM_LPDDR3_W_DERIVED_ODT0 + ,, + + + MEM_LPDDR3_W_DERIVED_ODT1 + ,, + + + MEM_LPDDR3_W_DERIVED_ODT2 + ,, + + + MEM_LPDDR3_W_DERIVED_ODT3 + ,, + + + MEM_LPDDR3_W_DERIVED_ODTN + ,, + + + MEM_LPDDR3_W_ODT0_1X1 + on + + + MEM_LPDDR3_W_ODT0_2X2 + on,on + + + MEM_LPDDR3_W_ODT0_4X4 + on,on,on,on + + + MEM_LPDDR3_W_ODT1_2X2 + off,off + + + MEM_LPDDR3_W_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_NUM_OF_DATA_ENDPOINTS + 1 + + + MEM_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_QDR2_ADDR_WIDTH + 19 + + + MEM_QDR2_BL + 4 + + + MEM_QDR2_BWS_EN + true + + + MEM_QDR2_BWS_N_PER_DEVICE + 4 + + + MEM_QDR2_BWS_N_WIDTH + 4 + + + MEM_QDR2_CQ_WIDTH + 1 + + + MEM_QDR2_DATA_PER_DEVICE + 36 + + + MEM_QDR2_DATA_WIDTH + 36 + + + MEM_QDR2_DEVICE_WIDTH + 1 + + + MEM_QDR2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR2_INTERNAL_JITTER_NS + 0.08 + + + MEM_QDR2_K_WIDTH + 1 + + + MEM_QDR2_SPEEDBIN_ENUM + QDR2_SPEEDBIN_633 + + + MEM_QDR2_TCCQO_NS + 0.45 + + + MEM_QDR2_TCQDOH_NS + -0.09 + + + MEM_QDR2_TCQD_NS + 0.09 + + + MEM_QDR2_TCQH_NS + 0.71 + + + MEM_QDR2_THA_NS + 0.18 + + + MEM_QDR2_THD_NS + 0.18 + + + MEM_QDR2_TRL_CYC + 2.5 + + + MEM_QDR2_TSA_NS + 0.23 + + + MEM_QDR2_TSD_NS + 0.23 + + + MEM_QDR2_TWL_CYC + 1 + + + MEM_QDR2_WIDTH_EXPANDED + false + + + MEM_QDR4_AC_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_ADDR_INV_ENA + false + + + MEM_QDR4_ADDR_WIDTH + 21 + + + MEM_QDR4_AVL_CHNLS + 8 + + + MEM_QDR4_BL + 2 + + + MEM_QDR4_CK_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_CR0 + 0 + + + MEM_QDR4_CR1 + 0 + + + MEM_QDR4_CR2 + 0 + + + MEM_QDR4_DATA_INV_ENA + true + + + MEM_QDR4_DATA_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_DEVICE_DEPTH + 1 + + + MEM_QDR4_DEVICE_WIDTH + 1 + + + MEM_QDR4_DINV_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DINV_WIDTH + 4 + + + MEM_QDR4_DK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DK_WIDTH + 4 + + + MEM_QDR4_DQ_PER_PORT_PER_DEVICE + 36 + + + MEM_QDR4_DQ_PER_PORT_WIDTH + 36 + + + MEM_QDR4_DQ_PER_RD_GROUP + 18 + + + MEM_QDR4_DQ_PER_WR_GROUP + 18 + + + MEM_QDR4_DQ_WIDTH + 72 + + + MEM_QDR4_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR4_MEM_TYPE_ENUM + MEM_XP + + + MEM_QDR4_PD_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_PU_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_QK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_QK_WIDTH + 4 + + + MEM_QDR4_SKIP_ODT_SWEEPING + true + + + MEM_QDR4_SPEEDBIN_ENUM + QDR4_SPEEDBIN_2133 + + + MEM_QDR4_TASH_PS + 170 + + + MEM_QDR4_TCKDK_MAX_PS + 150 + + + MEM_QDR4_TCKDK_MIN_PS + -150 + + + MEM_QDR4_TCKQK_MAX_PS + 225 + + + MEM_QDR4_TCSH_PS + 170 + + + MEM_QDR4_TISH_PS + 150 + + + MEM_QDR4_TQH_CYC + 0.4 + + + MEM_QDR4_TQKQ_MAX_PS + 75 + + + MEM_QDR4_TRL_CYC + 8 + + + MEM_QDR4_TWL_CYC + 5 + + + MEM_QDR4_USE_ADDR_PARITY + false + + + MEM_QDR4_WIDTH_EXPANDED + false + + + MEM_READ_LATENCY + 23.0 + + + MEM_RLD2_ADDR_WIDTH + 21 + + + MEM_RLD2_BANK_ADDR_WIDTH + 3 + + + MEM_RLD2_BL + 4 + + + MEM_RLD2_CONFIG_ENUM + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + + + MEM_RLD2_CS_WIDTH + 1 + + + MEM_RLD2_DEVICE_DEPTH + 1 + + + MEM_RLD2_DEVICE_WIDTH + 1 + + + MEM_RLD2_DK_WIDTH + 1 + + + MEM_RLD2_DM_EN + true + + + MEM_RLD2_DM_WIDTH + 1 + + + MEM_RLD2_DQ_PER_DEVICE + 9 + + + MEM_RLD2_DQ_PER_RD_GROUP + 9 + + + MEM_RLD2_DQ_PER_WR_GROUP + 9 + + + MEM_RLD2_DQ_WIDTH + 9 + + + MEM_RLD2_DRIVE_IMPEDENCE_ENUM + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + + + MEM_RLD2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD2_MR + 0 + + + MEM_RLD2_ODT_MODE_ENUM + RLD2_ODT_ON + + + MEM_RLD2_QK_WIDTH + 1 + + + MEM_RLD2_REFRESH_INTERVAL_US + 0.24 + + + MEM_RLD2_SPEEDBIN_ENUM + RLD2_SPEEDBIN_18 + + + MEM_RLD2_TAH_NS + 0.3 + + + MEM_RLD2_TAS_NS + 0.3 + + + MEM_RLD2_TCKDK_MAX_NS + 0.3 + + + MEM_RLD2_TCKDK_MIN_NS + -0.3 + + + MEM_RLD2_TCKH_CYC + 0.45 + + + MEM_RLD2_TCKQK_MAX_NS + 0.2 + + + MEM_RLD2_TDH_NS + 0.17 + + + MEM_RLD2_TDS_NS + 0.17 + + + MEM_RLD2_TQKH_HCYC + 0.9 + + + MEM_RLD2_TQKQ_MAX_NS + 0.12 + + + MEM_RLD2_TQKQ_MIN_NS + -0.12 + + + MEM_RLD2_TRC + 8 + + + MEM_RLD2_TRL + 8 + + + MEM_RLD2_TWL + 9 + + + MEM_RLD2_WIDTH_EXPANDED + false + + + MEM_RLD3_ADDR_WIDTH + 20 + + + MEM_RLD3_AREF_PROTOCOL_ENUM + RLD3_AREF_BAC + + + MEM_RLD3_BANK_ADDR_WIDTH + 4 + + + MEM_RLD3_BL + 2 + + + MEM_RLD3_CS_WIDTH + 1 + + + MEM_RLD3_DATA_LATENCY_MODE_ENUM + RLD3_DL_RL16_WL17 + + + MEM_RLD3_DEPTH_EXPANDED + false + + + MEM_RLD3_DEVICE_DEPTH + 1 + + + MEM_RLD3_DEVICE_WIDTH + 1 + + + MEM_RLD3_DK_WIDTH + 2 + + + MEM_RLD3_DM_EN + true + + + MEM_RLD3_DM_WIDTH + 2 + + + MEM_RLD3_DQ_PER_DEVICE + 36 + + + MEM_RLD3_DQ_PER_RD_GROUP + 9 + + + MEM_RLD3_DQ_PER_WR_GROUP + 18 + + + MEM_RLD3_DQ_WIDTH + 36 + + + MEM_RLD3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD3_MR0 + 0 + + + MEM_RLD3_MR1 + 0 + + + MEM_RLD3_MR2 + 0 + + + MEM_RLD3_ODT_MODE_ENUM + RLD3_ODT_40 + + + MEM_RLD3_OUTPUT_DRIVE_MODE_ENUM + RLD3_OUTPUT_DRIVE_40 + + + MEM_RLD3_QK_WIDTH + 4 + + + MEM_RLD3_SPEEDBIN_ENUM + RLD3_SPEEDBIN_093E + + + MEM_RLD3_TCKDK_MAX_CYC + 0.27 + + + MEM_RLD3_TCKDK_MIN_CYC + -0.27 + + + MEM_RLD3_TCKQK_MAX_PS + 135 + + + MEM_RLD3_TDH_DC_MV + 100 + + + MEM_RLD3_TDH_PS + 5 + + + MEM_RLD3_TDS_AC_MV + 150 + + + MEM_RLD3_TDS_PS + -30 + + + MEM_RLD3_TIH_DC_MV + 100 + + + MEM_RLD3_TIH_PS + 65 + + + MEM_RLD3_TIS_AC_MV + 150 + + + MEM_RLD3_TIS_PS + 85 + + + MEM_RLD3_TQH_CYC + 0.38 + + + MEM_RLD3_TQKQ_MAX_PS + 75 + + + MEM_RLD3_T_RC_MODE_ENUM + RLD3_TRC_9 + + + MEM_RLD3_WIDTH_EXPANDED + false + + + MEM_RLD3_WRITE_PROTOCOL_ENUM + RLD3_WRITE_1BANK + + + MEM_TTL_DATA_WIDTH + 72 + + + MEM_TTL_NUM_OF_READ_GROUPS + 9 + + + MEM_TTL_NUM_OF_WRITE_GROUPS + 9 + + + MEM_WRITE_LATENCY + 18 + + + NUM_IPS + 1 + + + NUM_IPS_SAVED + 0 + + + PHY_AC_CALIBRATED_OCT + true + + + PHY_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CALIBRATED_OCT + true + + + PHY_CK_CALIBRATED_OCT + true + + + PHY_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CLAMSHELL_EN + false + + + PHY_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DATA_CALIBRATED_OCT + true + + + PHY_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DATA_OUT_SLEW_RATE_ENUM + + + + PHY_DDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_AC_IO_STD_ENUM + unset + + + PHY_DDR3_AC_MODE_ENUM + unset + + + PHY_DDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_CAL_ADDR0 + 0 + + + PHY_DDR3_CAL_ADDR1 + 8 + + + PHY_DDR3_CAL_ENABLE_NON_DES + false + + + PHY_DDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_CK_IO_STD_ENUM + unset + + + PHY_DDR3_CK_MODE_ENUM + unset + + + PHY_DDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR3_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_DEFAULT_IO + true + + + PHY_DDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR3_IO_VOLTAGE + 1.5 + + + PHY_DDR3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_DDR3_MIMIC_HPS_EMIF + false + + + PHY_DDR3_PING_PONG_EN + false + + + PHY_DDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_RATE_ENUM + RATE_QUARTER + + + PHY_DDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR3_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_STARTING_VREFIN + 70.0 + + + PHY_DDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_DDR3_USER_AC_MODE_ENUM + unset + + + PHY_DDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_CK_MODE_ENUM + unset + + + PHY_DDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR3_USER_PING_PONG_EN + false + + + PHY_DDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_DDR4_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_AC_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_ALLOW_72_DQ_WIDTH + false + + + PHY_DDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_CK_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_CLAMSHELL_EN + false + + + PHY_DDR4_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR4_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DDR4_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_DATA_OUT_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_DEFAULT_IO + false + + + PHY_DDR4_DEFAULT_REF_CLK_FREQ + false + + + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR4_IO_VOLTAGE + 1.2 + + + PHY_DDR4_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDR4_MIMIC_HPS_EMIF + false + + + PHY_DDR4_PING_PONG_EN + false + + + PHY_DDR4_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_RATE_ENUM + RATE_QUARTER + + + PHY_DDR4_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR4_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_STARTING_VREFIN + 68.0 + + + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_CLAMSHELL_EN + false + + + PHY_DDR4_USER_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_USER_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR4_USER_PING_PONG_EN + false + + + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_USER_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_USER_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_2CH_EN + false + + + PHY_DDRT_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_AC_IO_STD_ENUM + unset + + + PHY_DDRT_AC_MODE_ENUM + unset + + + PHY_DDRT_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_CK_IO_STD_ENUM + unset + + + PHY_DDRT_CK_MODE_ENUM + unset + + + PHY_DDRT_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_DDRT_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDRT_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDRT_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_DEFAULT_IO + true + + + PHY_DDRT_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDRT_EXPORT_CLK_STP_IF + false + + + PHY_DDRT_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDRT_I2C_USE_SMC + false + + + PHY_DDRT_IC_EN + true + + + PHY_DDRT_IO_VOLTAGE + 1.2 + + + PHY_DDRT_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDRT_MIMIC_HPS_EMIF + false + + + PHY_DDRT_PING_PONG_EN + false + + + PHY_DDRT_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_RATE_ENUM + RATE_QUARTER + + + PHY_DDRT_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDRT_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_IO_STD_ENUM + unset + + + PHY_DDRT_USER_AC_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_CK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_CK_MODE_ENUM + unset + + + PHY_DDRT_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DLL_CORE_UPDN_EN + false + + + PHY_DDRT_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDRT_USER_PING_PONG_EN + false + + + PHY_DDRT_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USE_OLD_SMBUS_MULTICOL + false + + + PHY_DLL_CORE_UPDN_EN + false + + + PHY_FPGA_SPEEDGRADE_GUI + E2V (ES3) - change device under 'View'->'Device Family' + + + PHY_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_AC_MODE_ENUM + unset + + + PHY_LPDDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_CK_MODE_ENUM + unset + + + PHY_LPDDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_LPDDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_LPDDR3_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_DEFAULT_IO + true + + + PHY_LPDDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_IO_VOLTAGE + 1.2 + + + PHY_LPDDR3_MEM_CLK_FREQ_MHZ + 800.0 + + + PHY_LPDDR3_MIMIC_HPS_EMIF + false + + + PHY_LPDDR3_PING_PONG_EN + false + + + PHY_LPDDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_RATE_ENUM + RATE_QUARTER + + + PHY_LPDDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_LPDDR3_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_STARTING_VREFIN + 70.0 + + + PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_AC_MODE_ENUM + unset + + + PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_CK_MODE_ENUM + unset + + + PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DLL_CORE_UPDN_EN + false + + + PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_LPDDR3_USER_PING_PONG_EN + false + + + PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_MIMIC_HPS_EMIF + false + + + PHY_PING_PONG_EN + false + + + PHY_QDR2_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_AC_IO_STD_ENUM + unset + + + PHY_QDR2_AC_MODE_ENUM + unset + + + PHY_QDR2_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_CK_IO_STD_ENUM + unset + + + PHY_QDR2_CK_MODE_ENUM + unset + + + PHY_QDR2_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR2_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_DEFAULT_IO + true + + + PHY_QDR2_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR2_IO_VOLTAGE + 1.5 + + + PHY_QDR2_MEM_CLK_FREQ_MHZ + 633.333 + + + PHY_QDR2_MIMIC_HPS_EMIF + false + + + PHY_QDR2_PING_PONG_EN + false + + + PHY_QDR2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_RATE_ENUM + RATE_HALF + + + PHY_QDR2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR2_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_STARTING_VREFIN + 70.0 + + + PHY_QDR2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR2_USER_AC_MODE_ENUM + unset + + + PHY_QDR2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_CK_MODE_ENUM + unset + + + PHY_QDR2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DLL_CORE_UPDN_EN + false + + + PHY_QDR2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR2_USER_PING_PONG_EN + false + + + PHY_QDR2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_USER_STARTING_VREFIN + 70.0 + + + PHY_QDR4_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_AC_IO_STD_ENUM + unset + + + PHY_QDR4_AC_MODE_ENUM + unset + + + PHY_QDR4_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_CK_IO_STD_ENUM + unset + + + PHY_QDR4_CK_MODE_ENUM + unset + + + PHY_QDR4_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR4_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_DEFAULT_IO + true + + + PHY_QDR4_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR4_IO_VOLTAGE + 1.2 + + + PHY_QDR4_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_QDR4_MIMIC_HPS_EMIF + false + + + PHY_QDR4_PING_PONG_EN + false + + + PHY_QDR4_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_RATE_ENUM + RATE_QUARTER + + + PHY_QDR4_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR4_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_STARTING_VREFIN + 70.0 + + + PHY_QDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR4_USER_AC_MODE_ENUM + unset + + + PHY_QDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_CK_MODE_ENUM + unset + + + PHY_QDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_QDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR4_USER_PING_PONG_EN + false + + + PHY_QDR4_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_RATE_ENUM + RATE_QUARTER + + + PHY_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_AC_IO_STD_ENUM + unset + + + PHY_RLD2_AC_MODE_ENUM + unset + + + PHY_RLD2_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_CK_IO_STD_ENUM + unset + + + PHY_RLD2_CK_MODE_ENUM + unset + + + PHY_RLD2_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_RLD2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD2_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_DEFAULT_IO + true + + + PHY_RLD2_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD2_IO_VOLTAGE + 1.8 + + + PHY_RLD2_MEM_CLK_FREQ_MHZ + 533.333 + + + PHY_RLD2_MIMIC_HPS_EMIF + false + + + PHY_RLD2_PING_PONG_EN + false + + + PHY_RLD2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_RATE_ENUM + RATE_HALF + + + PHY_RLD2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_STARTING_VREFIN + 70.0 + + + PHY_RLD2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD2_USER_AC_MODE_ENUM + unset + + + PHY_RLD2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_CK_MODE_ENUM + unset + + + PHY_RLD2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD2_USER_PING_PONG_EN + false + + + PHY_RLD2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_USER_STARTING_VREFIN + 70.0 + + + PHY_RLD3_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_AC_IO_STD_ENUM + unset + + + PHY_RLD3_AC_MODE_ENUM + unset + + + PHY_RLD3_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_CK_IO_STD_ENUM + unset + + + PHY_RLD3_CK_MODE_ENUM + unset + + + PHY_RLD3_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_CONFIG_ENUM + CONFIG_PHY_ONLY + + + PHY_RLD3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD3_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_DEFAULT_IO + true + + + PHY_RLD3_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD3_IO_VOLTAGE + 1.2 + + + PHY_RLD3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_RLD3_MIMIC_HPS_EMIF + false + + + PHY_RLD3_PING_PONG_EN + false + + + PHY_RLD3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_RATE_ENUM + RATE_QUARTER + + + PHY_RLD3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD3_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_STARTING_VREFIN + 70.0 + + + PHY_RLD3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD3_USER_AC_MODE_ENUM + unset + + + PHY_RLD3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_CK_MODE_ENUM + unset + + + PHY_RLD3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD3_USER_PING_PONG_EN + false + + + PHY_RLD3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_USER_STARTING_VREFIN + 70.0 + + + PHY_RZQ + 240 + + + PHY_TARGET_IS_ES + false + + + PHY_TARGET_IS_ES2 + false + + + PHY_TARGET_IS_ES3 + true + + + PHY_TARGET_IS_PRODUCTION + false + + + PHY_TARGET_SPEEDGRADE + E2V + + + PHY_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PLL_ADD_EXTRA_CLKS + false + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 + ps + + + PLL_NUM_OF_EXTRA_CLKS + 0 + + + PLL_USER_NUM_OF_EXTRA_CLKS + 0 + + + PLL_VCO_CLK_FREQ_MHZ + 1200.0 + + + PREV_PROTOCOL_ENUM + PROTOCOL_DDR4 + + + PROTOCOL_ENUM + PROTOCOL_DDR4 + + + SHORT_QSYS_INTERFACE_NAMES + true + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_DEVICE_DIE_REVISIONS + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + + + SYS_INFO_DEVICE_FAMILY + Agilex 7 + + + SYS_INFO_DEVICE_POWER_MODEL + STANDARD_POWER + + + SYS_INFO_DEVICE_SPEEDGRADE + 2 + + + SYS_INFO_DEVICE_TEMPERATURE_GRADE + EXTENDED + + + SYS_INFO_UNIQUE_ID + ed_synth_emif_fm_0_emif_fm_0 + + + TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + TRAIT_SUPPORTS_VID + 1 + + + + altera_emif_fm + 2.7.4 + emif_fm_0 + ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq + 0 + + ed_synth_emif_fm_0.emif_fm_0 + + + + arch + + + + ABPHY_WRITE_PROTOCOL + 0 + + + AC_PIN_MAP_SCHEME + use_0_1_2_3_lane + + + AMM_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + AMM_HIPI_DELAY + 350 + + + AMM_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + BOARD_DDR3_AC_ISI_NS + 0.0 + + + BOARD_DDR3_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_DDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_DDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDR3_TDH_DERATING_PS + 0 + + + BOARD_DDR3_TDS_DERATING_PS + 0 + + + BOARD_DDR3_TIH_DERATING_PS + 0 + + + BOARD_DDR3_TIS_DERATING_PS + 0 + + + BOARD_DDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR3_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_ISI_NS + 0.15 + + + BOARD_DDR4_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR4_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_RCLK_ISI_NS + 0.15 + + + BOARD_DDR4_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_RDATA_ISI_NS + 0.12 + + + BOARD_DDR4_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR4_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR4_SKEW_WITHIN_AC_NS + 0.18 + + + BOARD_DDR4_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_TIH_DERATING_PS + 0 + + + BOARD_DDR4_TIS_DERATING_PS + 0 + + + BOARD_DDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR4_WCLK_ISI_NS + 0.06 + + + BOARD_DDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_WDATA_ISI_NS + 0.13 + + + BOARD_DDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_ISI_NS + 0.0 + + + BOARD_DDRT_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDRT_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDRT_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDRT_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDRT_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDRT_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDRT_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDRT_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDRT_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDRT_TIH_DERATING_PS + 0 + + + BOARD_DDRT_TIS_DERATING_PS + 0 + + + BOARD_DDRT_USER_AC_ISI_NS + 0.0 + + + BOARD_DDRT_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDRT_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDRT_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_LPDDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_LPDDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_LPDDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_LPDDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_LPDDR3_TDH_DERATING_PS + 0 + + + BOARD_LPDDR3_TDS_DERATING_PS + 0 + + + BOARD_LPDDR3_TIH_DERATING_PS + 0 + + + BOARD_LPDDR3_TIS_DERATING_PS + 0 + + + BOARD_LPDDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_LPDDR3_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_ISI_NS + 0.0 + + + BOARD_QDR2_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_TO_K_SKEW_NS + 0.0 + + + BOARD_QDR2_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR2_IS_SKEW_WITHIN_D_DESKEWED + false + + + BOARD_QDR2_IS_SKEW_WITHIN_Q_DESKEWED + false + + + BOARD_QDR2_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_MAX_K_DELAY_NS + 0.6 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_D_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_Q_NS + 0.0 + + + BOARD_QDR2_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR2_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR2_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR2_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_ISI_NS + 0.0 + + + BOARD_QDR4_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_QDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_QDR4_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR4_IS_SKEW_WITHIN_QK_DESKEWED + true + + + BOARD_QDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_QDR4_MAX_DK_DELAY_NS + 0.6 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_QDR4_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_QDR4_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR4_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_QDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR4_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_ISI_NS + 0.0 + + + BOARD_RLD3_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_RLD3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_RLD3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_RLD3_IS_SKEW_WITHIN_QK_DESKEWED + false + + + BOARD_RLD3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_RLD3_MAX_DK_DELAY_NS + 0.6 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_RLD3_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_RLD3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_RLD3_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_RLD3_TDH_DERATING_PS + 0 + + + BOARD_RLD3_TDS_DERATING_PS + 0 + + + BOARD_RLD3_TIH_DERATING_PS + 0 + + + BOARD_RLD3_TIS_DERATING_PS + 0 + + + BOARD_RLD3_USER_AC_ISI_NS + 0.0 + + + BOARD_RLD3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_RLD3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_RLD3_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_WDATA_SLEW_RATE + 2.0 + + + C2P_P2C_CLK_RATIO + 4 + + + CAL_DEBUG_CLOCK_FREQUENCY + 50000000 + + + CENTER_TIDS_0 + 542119940 + + + CENTER_TIDS_1 + 3 + + + CENTER_TIDS_2 + 0 + + + CENTER_TIDS_AUTOGEN_WCNT + 3 + + + CPA_FB_MUX_1_SEL + local_p_clk + + + CTRL_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_ADDR_ORDER_ENUM + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_DDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR3_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR3_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR3_ECC_EN + false + + + CTRL_DDR3_ECC_READDATAERROR_EN + true + + + CTRL_DDR3_ECC_STATUS_EN + false + + + CTRL_DDR3_MMR_EN + false + + + CTRL_DDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_REORDER_EN + true + + + CTRL_DDR3_SELF_REFRESH_EN + false + + + CTRL_DDR3_STARVE_LIMIT + 10 + + + CTRL_DDR3_USER_PRIORITY_EN + false + + + CTRL_DDR3_USER_REFRESH_EN + false + + + CTRL_DDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_ADDR_ORDER_ENUM + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDR4_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR4_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR4_AUTO_PRECHARGE_EN + false + + + CTRL_DDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR4_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR4_ECC_EN + true + + + CTRL_DDR4_ECC_READDATAERROR_EN + false + + + CTRL_DDR4_ECC_STATUS_EN + false + + + CTRL_DDR4_MAJOR_MODE_EN + false + + + CTRL_DDR4_MMR_EN + false + + + CTRL_DDR4_POST_REFRESH_EN + true + + + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT + 0 + + + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT + 2 + + + CTRL_DDR4_PRE_REFRESH_EN + false + + + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT + 1 + + + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_REORDER_EN + true + + + CTRL_DDR4_SELF_REFRESH_EN + false + + + CTRL_DDR4_STARVE_LIMIT + 10 + + + CTRL_DDR4_USER_PRIORITY_EN + false + + + CTRL_DDR4_USER_REFRESH_EN + false + + + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ADDR_INTERLEAVING + COARSE + + + CTRL_DDRT_ADDR_ORDER_ENUM + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDRT_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDRT_AUTO_POWER_DOWN_EN + false + + + CTRL_DDRT_AUTO_PRECHARGE_EN + false + + + CTRL_DDRT_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDRT_AXIS_DATA_WIDTH + 512 + + + CTRL_DDRT_DIMM_DENSITY + 128 + + + CTRL_DDRT_DIMM_VIRAL_FLOW_EN + false + + + CTRL_DDRT_DRIVER_MARGINING_EN + 0 + + + CTRL_DDRT_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDRT_ECC_EN + false + + + CTRL_DDRT_ECC_READDATAERROR_EN + true + + + CTRL_DDRT_ECC_STATUS_EN + true + + + CTRL_DDRT_ERR_INJECT_EN + false + + + CTRL_DDRT_ERR_REPLAY_EN + false + + + CTRL_DDRT_EXT_ERR_INJECT_EN + false + + + CTRL_DDRT_GNT_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_GNT_TO_WR_DIFF_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_GNT_TO_WR_SAME_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_HOST_VIRAL_FLOW_EN + false + + + CTRL_DDRT_MMR_EN + false + + + CTRL_DDRT_NUM_OF_AXIS_ID + 1 + + + CTRL_DDRT_PARITY_CMD_EN + false + + + CTRL_DDRT_PMM_ADR_FLOW_EN + false + + + CTRL_DDRT_PMM_WPQ_FLUSH_EN + false + + + CTRL_DDRT_POISON_DETECTION_EN + false + + + CTRL_DDRT_PORT_AFI_C_WIDTH + 2 + + + CTRL_DDRT_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_REORDER_EN + true + + + CTRL_DDRT_SELF_REFRESH_EN + false + + + CTRL_DDRT_STARVE_LIMIT + 10 + + + CTRL_DDRT_UPI_EN + false + + + CTRL_DDRT_UPI_ID_WIDTH + 8 + + + CTRL_DDRT_USER_PRIORITY_EN + false + + + CTRL_DDRT_USER_REFRESH_EN + false + + + CTRL_DDRT_WR_ACK_POLICY + POSTED + + + CTRL_DDRT_WR_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_GNT_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ZQ_INTERVAL_MS + 3 + + + CTRL_ECC_EN + true + + + CTRL_ECC_READDATAERROR_EN + false + + + CTRL_ECC_STATUS_EN + false + + + CTRL_LPDDR3_ADDR_ORDER_ENUM + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_LPDDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_LPDDR3_AUTO_PRECHARGE_EN + false + + + CTRL_LPDDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_LPDDR3_MMR_EN + false + + + CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_REORDER_EN + true + + + CTRL_LPDDR3_SELF_REFRESH_EN + false + + + CTRL_LPDDR3_STARVE_LIMIT + 10 + + + CTRL_LPDDR3_USER_PRIORITY_EN + false + + + CTRL_LPDDR3_USER_REFRESH_EN + false + + + CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_MMR_EN + false + + + CTRL_QDR2_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR2_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR2_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_ADD_RAW_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_ADD_WAR_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR4_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR4_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_WAR_TURNAROUND_DELAY_CYC + 11 + + + CTRL_REORDER_EN + true + + + CTRL_RLD2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_ADDR_ORDER_ENUM + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_RLD3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_USER_PRIORITY_EN + false + + + DBC_EXTRA_PIPE_STAGE_EN + disable + + + DBC_PIPE_LATS_0 + 286335522 + + + DBC_PIPE_LATS_1 + 821384 + + + DBC_PIPE_LATS_2 + 0 + + + DBC_PIPE_LATS_3 + 0 + + + DBC_PIPE_LATS_4 + 0 + + + DBC_PIPE_LATS_AUTOGEN_WCNT + 5 + + + DBC_WB_RESERVED_ENTRY + 52 + + + DBI_RD_ENABLE + dbi_rd_ena + + + DBI_WR_ENABLE + dbi_wr_dis + + + DB_PINS_PROC_MODE_0 + 275876963 + + + DB_PINS_PROC_MODE_1 + 103911395 + + + DB_PINS_PROC_MODE_10 + 34636833 + + + DB_PINS_PROC_MODE_11 + 34636833 + + + DB_PINS_PROC_MODE_12 + 34668543 + + + DB_PINS_PROC_MODE_13 + 34667553 + + + DB_PINS_PROC_MODE_14 + 1073741823 + + + DB_PINS_PROC_MODE_15 + 1073730559 + + + DB_PINS_PROC_MODE_16 + 275876963 + + + DB_PINS_PROC_MODE_17 + 103911395 + + + DB_PINS_PROC_MODE_18 + 275876963 + + + DB_PINS_PROC_MODE_19 + 103911395 + + + DB_PINS_PROC_MODE_2 + 275876963 + + + DB_PINS_PROC_MODE_20 + 275876963 + + + DB_PINS_PROC_MODE_21 + 103911395 + + + DB_PINS_PROC_MODE_22 + 275876963 + + + DB_PINS_PROC_MODE_23 + 103911395 + + + DB_PINS_PROC_MODE_24 + 275876963 + + + DB_PINS_PROC_MODE_25 + 103911395 + + + DB_PINS_PROC_MODE_26 + 1073741823 + + + DB_PINS_PROC_MODE_27 + 1073741823 + + + DB_PINS_PROC_MODE_28 + 1073741823 + + + DB_PINS_PROC_MODE_29 + 1073741823 + + + DB_PINS_PROC_MODE_3 + 103911395 + + + DB_PINS_PROC_MODE_30 + 1073741823 + + + DB_PINS_PROC_MODE_31 + 1073741823 + + + DB_PINS_PROC_MODE_32 + 0 + + + DB_PINS_PROC_MODE_33 + 0 + + + DB_PINS_PROC_MODE_34 + 0 + + + DB_PINS_PROC_MODE_35 + 0 + + + DB_PINS_PROC_MODE_36 + 0 + + + DB_PINS_PROC_MODE_37 + 0 + + + DB_PINS_PROC_MODE_38 + 0 + + + DB_PINS_PROC_MODE_39 + 0 + + + DB_PINS_PROC_MODE_4 + 275876963 + + + DB_PINS_PROC_MODE_40 + 0 + + + DB_PINS_PROC_MODE_41 + 0 + + + DB_PINS_PROC_MODE_42 + 0 + + + DB_PINS_PROC_MODE_43 + 0 + + + DB_PINS_PROC_MODE_44 + 0 + + + DB_PINS_PROC_MODE_45 + 0 + + + DB_PINS_PROC_MODE_46 + 0 + + + DB_PINS_PROC_MODE_47 + 0 + + + DB_PINS_PROC_MODE_48 + 0 + + + DB_PINS_PROC_MODE_49 + 0 + + + DB_PINS_PROC_MODE_5 + 103911395 + + + DB_PINS_PROC_MODE_50 + 0 + + + DB_PINS_PROC_MODE_51 + 0 + + + DB_PINS_PROC_MODE_52 + 0 + + + DB_PINS_PROC_MODE_53 + 0 + + + DB_PINS_PROC_MODE_54 + 0 + + + DB_PINS_PROC_MODE_55 + 0 + + + DB_PINS_PROC_MODE_56 + 0 + + + DB_PINS_PROC_MODE_57 + 0 + + + DB_PINS_PROC_MODE_58 + 0 + + + DB_PINS_PROC_MODE_59 + 0 + + + DB_PINS_PROC_MODE_6 + 275876963 + + + DB_PINS_PROC_MODE_60 + 0 + + + DB_PINS_PROC_MODE_61 + 0 + + + DB_PINS_PROC_MODE_62 + 0 + + + DB_PINS_PROC_MODE_63 + 0 + + + DB_PINS_PROC_MODE_7 + 103911395 + + + DB_PINS_PROC_MODE_8 + 1041269793 + + + DB_PINS_PROC_MODE_9 + 66230241 + + + DB_PINS_PROC_MODE_AUTOGEN_WCNT + 64 + + + DB_PTR_PIPELINE_DEPTHS_0 + 286331153 + + + DB_PTR_PIPELINE_DEPTHS_1 + 17476 + + + DB_PTR_PIPELINE_DEPTHS_2 + 0 + + + DB_PTR_PIPELINE_DEPTHS_3 + 0 + + + DB_PTR_PIPELINE_DEPTHS_4 + 0 + + + DB_PTR_PIPELINE_DEPTHS_AUTOGEN_WCNT + 5 + + + DB_SEQ_RD_EN_FULL_PIPELINES_0 + 858993459 + + + DB_SEQ_RD_EN_FULL_PIPELINES_1 + 838860 + + + DB_SEQ_RD_EN_FULL_PIPELINES_2 + 0 + + + DB_SEQ_RD_EN_FULL_PIPELINES_3 + 0 + + + DB_SEQ_RD_EN_FULL_PIPELINES_4 + 0 + + + DB_SEQ_RD_EN_FULL_PIPELINES_AUTOGEN_WCNT + 5 + + + DIAG_ABSTRACT_PHY_RLAT + 20 + + + DIAG_ABSTRACT_PHY_WLAT + 9 + + + DIAG_AC_PARITY_ERR + false + + + DIAG_ADD_READY_PIPELINE + true + + + DIAG_BOARD_DELAY_CONFIG_STR + + + + DIAG_CPA_OUT_1_EN + false + + + DIAG_DB_RESET_AUTO_RELEASE + avl_release + + + DIAG_DDR3_ABSTRACT_PHY + false + + + DIAG_DDR3_AC_PARITY_ERR + false + + + DIAG_DDR3_CAL_ADDR0 + 0 + + + DIAG_DDR3_CAL_ADDR1 + 8 + + + DIAG_DDR3_CAL_ENABLE_MICRON_AP + false + + + DIAG_DDR3_CAL_ENABLE_NON_DES + false + + + DIAG_DDR3_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR3_CA_DESKEW_EN + true + + + DIAG_DDR3_CA_LEVEL_EN + true + + + DIAG_DDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR3_ENABLE_USER_MODE + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR3_INTERFACE_ID + 0 + + + DIAG_DDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR3_SIM_VERBOSE + true + + + DIAG_DDR3_TG2_TEST_DURATION + SHORT + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR3_USE_TG_AVL_2 + false + + + DIAG_DDR3_USE_TG_HBM + false + + + DIAG_DDR4_ABSTRACT_PHY + false + + + DIAG_DDR4_AC_PARITY_ERR + false + + + DIAG_DDR4_CAL_ADDR0 + 0 + + + DIAG_DDR4_CAL_ADDR1 + 8 + + + DIAG_DDR4_CAL_ENABLE_NON_DES + false + + + DIAG_DDR4_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR4_ENABLE_USER_MODE + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR4_INTERFACE_ID + 0 + + + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR4_SIM_VERBOSE + true + + + DIAG_DDR4_SKIP_AC_PARITY_CHECK + false + + + DIAG_DDR4_SKIP_CA_DESKEW + false + + + DIAG_DDR4_SKIP_CA_LEVEL + false + + + DIAG_DDR4_SKIP_VREF_CAL + false + + + DIAG_DDR4_TG2_TEST_DURATION + SHORT + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR4_USE_TG_AVL_2 + false + + + DIAG_DDR4_USE_TG_HBM + false + + + DIAG_DDRT_ABSTRACT_PHY + false + + + DIAG_DDRT_AC_PARITY_ERR + false + + + DIAG_DDRT_CAL_ADDR0 + 0 + + + DIAG_DDRT_CAL_ADDR1 + 8 + + + DIAG_DDRT_CAL_ENABLE_NON_DES + false + + + DIAG_DDRT_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDRT_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDRT_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDRT_EFF_TEST + false + + + DIAG_DDRT_ENABLE_DEFAULT_MODE + false + + + DIAG_DDRT_ENABLE_DRIVER_MARGINING + false + + + DIAG_DDRT_ENABLE_ENHANCED_TESTING + false + + + DIAG_DDRT_ENABLE_USER_MODE + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDRT_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDRT_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_JTAG + + + DIAG_DDRT_EX_DESIGN_ISSP_EN + true + + + DIAG_DDRT_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDRT_INTERFACE_ID + 0 + + + DIAG_DDRT_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDRT_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDRT_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDRT_SIM_VERBOSE + true + + + DIAG_DDRT_SKIP_CA_DESKEW + false + + + DIAG_DDRT_SKIP_CA_LEVEL + false + + + DIAG_DDRT_SKIP_VREF_CAL + false + + + DIAG_DDRT_TG2_TEST_DURATION + SHORT + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDRT_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDRT_USE_NEW_EFFMON_S10 + false + + + DIAG_DDRT_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDRT_USE_TG_AVL_2 + true + + + DIAG_DDRT_USE_TG_HBM + false + + + DIAG_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_ECLIPSE_DEBUG + false + + + DIAG_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_ENABLE_DEFAULT_MODE + false + + + DIAG_ENABLE_HPS_EMIF_DEBUG + false + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_ENABLE_JTAG_UART_HEX + false + + + DIAG_ENABLE_SOFT_M20K + false + + + DIAG_ENABLE_USER_MODE + true + + + DIAG_EXPORT_PLL_LOCKED + true + + + DIAG_EXPORT_PLL_REF_CLK_OUT + false + + + DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_EXPORT_VJI + false + + + DIAG_EXPOSE_DFT_SIGNALS + false + + + DIAG_EXPOSE_EARLY_READY + false + + + DIAG_EXPOSE_RD_TYPE + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_EXT_DOCS + false + + + DIAG_EX_DESIGN_ADD_TEST_EMIFS + + + + DIAG_EX_DESIGN_ISSP_EN + true + + + DIAG_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_EX_DESIGN_SEPARATE_RESETS + false + + + DIAG_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_FAST_SIM + true + + + DIAG_FAST_SIM_OVERRIDE + FAST_SIM_OVERRIDE_DEFAULT + + + DIAG_HMC_HRC + auto + + + DIAG_INTERFACE_ID + 0 + + + DIAG_LPDDR3_ABSTRACT_PHY + false + + + DIAG_LPDDR3_AC_PARITY_ERR + false + + + DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_LPDDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_LPDDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_LPDDR3_ENABLE_USER_MODE + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_LPDDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_LPDDR3_INTERFACE_ID + 0 + + + DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_LPDDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_LPDDR3_SIM_VERBOSE + true + + + DIAG_LPDDR3_SKIP_CA_DESKEW + false + + + DIAG_LPDDR3_SKIP_CA_LEVEL + false + + + DIAG_LPDDR3_TG2_TEST_DURATION + SHORT + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_LPDDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_LPDDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_LPDDR3_USE_TG_AVL_2 + false + + + DIAG_LPDDR3_USE_TG_HBM + false + + + DIAG_QDR2_ABSTRACT_PHY + false + + + DIAG_QDR2_AC_PARITY_ERR + false + + + DIAG_QDR2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR2_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR2_ENABLE_USER_MODE + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR2_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR2_INTERFACE_ID + 0 + + + DIAG_QDR2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR2_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR2_SIM_VERBOSE + true + + + DIAG_QDR2_TG2_TEST_DURATION + SHORT + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR2_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR2_USE_TG_AVL_2 + false + + + DIAG_QDR2_USE_TG_HBM + false + + + DIAG_QDR4_ABSTRACT_PHY + false + + + DIAG_QDR4_AC_PARITY_ERR + false + + + DIAG_QDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR4_ENABLE_USER_MODE + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR4_INTERFACE_ID + 0 + + + DIAG_QDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR4_SIM_VERBOSE + true + + + DIAG_QDR4_SKIP_VREF_CAL + false + + + DIAG_QDR4_TG2_TEST_DURATION + SHORT + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR4_USE_TG_AVL_2 + false + + + DIAG_QDR4_USE_TG_HBM + false + + + DIAG_RLD2_ABSTRACT_PHY + false + + + DIAG_RLD2_AC_PARITY_ERR + false + + + DIAG_RLD2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD2_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD2_ENABLE_USER_MODE + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD2_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD2_INTERFACE_ID + 0 + + + DIAG_RLD2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD2_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD2_SIM_VERBOSE + true + + + DIAG_RLD2_TG2_TEST_DURATION + SHORT + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD2_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD2_USE_TG_AVL_2 + false + + + DIAG_RLD2_USE_TG_HBM + false + + + DIAG_RLD3_ABSTRACT_PHY + false + + + DIAG_RLD3_AC_PARITY_ERR + false + + + DIAG_RLD3_CA_DESKEW_EN + true + + + DIAG_RLD3_CA_LEVEL_EN + true + + + DIAG_RLD3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD3_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD3_ENABLE_USER_MODE + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD3_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD3_INTERFACE_ID + 0 + + + DIAG_RLD3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD3_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD3_SIM_VERBOSE + true + + + DIAG_RLD3_TG2_TEST_DURATION + SHORT + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD3_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD3_USE_TG_AVL_2 + false + + + DIAG_RLD3_USE_TG_HBM + false + + + DIAG_RS232_UART_BAUDRATE + 57600 + + + DIAG_SEQ_RESET_AUTO_RELEASE + avl + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_CHECKER_SKIP_TG + false + + + DIAG_SIM_MEMORY_PRELOAD + false + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE + + + + DIAG_SIM_REGTEST_MODE + false + + + DIAG_SIM_VERBOSE_LEVEL + 5 + + + DIAG_SOFT_NIOS_CLOCK_FREQUENCY + 100 + + + DIAG_SOFT_NIOS_MODE + SOFT_NIOS_MODE_DISABLED + + + DIAG_SYNTH_FOR_SIM + false + + + DIAG_TG2_TEST_DURATION + SHORT + + + DIAG_TG_AVL_2_NUM_CFG_INTERFACES + 0 + + + DIAG_TIMING_REGTEST_MODE + false + + + DIAG_USE_ABSTRACT_PHY + false + + + DIAG_USE_BOARD_DELAY_MODEL + false + + + DIAG_USE_CPA_LOCK + true + + + DIAG_USE_NEW_EFFMON_S10 + false + + + DIAG_USE_RS232_UART + false + + + DIAG_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_USE_TG_AVL_2 + false + + + DIAG_USE_TG_HBM + false + + + DIAG_VERBOSE_IOAUX + false + + + DLL_CODEWORD + 0 + + + DLL_MODE + dll_ctl_dynamic + + + DQSA_LGC_MODE + dqs_diff_in_1_a + + + DQSB_LGC_MODE + dqs_constant_b + + + DQS_BUS_MODE_ENUM + DQS_BUS_MODE_X8_X9 + + + DQS_PACK_MODE + packed + + + ECC_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + ECC_HIPI_DELAY + 350 + + + ECC_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + EMIF_0_CONN_TO_CALIP + CALIP_0 + + + EMIF_0_REF_CLK_SHARING + EXPORTED + + + EMIF_0_STORED_PARAM + + + + EMIF_10_CONN_TO_CALIP + CALIP_0 + + + EMIF_10_REF_CLK_SHARING + EXPORTED + + + EMIF_10_STORED_PARAM + + + + EMIF_11_CONN_TO_CALIP + CALIP_0 + + + EMIF_11_REF_CLK_SHARING + EXPORTED + + + EMIF_11_STORED_PARAM + + + + EMIF_12_CONN_TO_CALIP + CALIP_0 + + + EMIF_12_REF_CLK_SHARING + EXPORTED + + + EMIF_12_STORED_PARAM + + + + EMIF_13_CONN_TO_CALIP + CALIP_0 + + + EMIF_13_REF_CLK_SHARING + EXPORTED + + + EMIF_13_STORED_PARAM + + + + EMIF_14_CONN_TO_CALIP + CALIP_0 + + + EMIF_14_REF_CLK_SHARING + EXPORTED + + + EMIF_14_STORED_PARAM + + + + EMIF_15_CONN_TO_CALIP + CALIP_0 + + + EMIF_15_REF_CLK_SHARING + EXPORTED + + + EMIF_15_STORED_PARAM + + + + EMIF_1_CONN_TO_CALIP + CALIP_0 + + + EMIF_1_REF_CLK_SHARING + EXPORTED + + + EMIF_1_STORED_PARAM + + + + EMIF_2_CONN_TO_CALIP + CALIP_0 + + + EMIF_2_REF_CLK_SHARING + EXPORTED + + + EMIF_2_STORED_PARAM + + + + EMIF_3_CONN_TO_CALIP + CALIP_0 + + + EMIF_3_REF_CLK_SHARING + EXPORTED + + + EMIF_3_STORED_PARAM + + + + EMIF_4_CONN_TO_CALIP + CALIP_0 + + + EMIF_4_REF_CLK_SHARING + EXPORTED + + + EMIF_4_STORED_PARAM + + + + EMIF_5_CONN_TO_CALIP + CALIP_0 + + + EMIF_5_REF_CLK_SHARING + EXPORTED + + + EMIF_5_STORED_PARAM + + + + EMIF_6_CONN_TO_CALIP + CALIP_0 + + + EMIF_6_REF_CLK_SHARING + EXPORTED + + + EMIF_6_STORED_PARAM + + + + EMIF_7_CONN_TO_CALIP + CALIP_0 + + + EMIF_7_REF_CLK_SHARING + EXPORTED + + + EMIF_7_STORED_PARAM + + + + EMIF_8_CONN_TO_CALIP + CALIP_0 + + + EMIF_8_REF_CLK_SHARING + EXPORTED + + + EMIF_8_STORED_PARAM + + + + EMIF_9_CONN_TO_CALIP + CALIP_0 + + + EMIF_9_REF_CLK_SHARING + EXPORTED + + + EMIF_9_STORED_PARAM + + + + ENABLE_RD_TYPE + false + + + EX_DESIGN_GUI_DDR3_GEN_BSI + false + + + EX_DESIGN_GUI_DDR3_GEN_CDC + false + + + EX_DESIGN_GUI_DDR3_GEN_SIM + true + + + EX_DESIGN_GUI_DDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_GEN_BSI + false + + + EX_DESIGN_GUI_DDR4_GEN_CDC + false + + + EX_DESIGN_GUI_DDR4_GEN_SIM + true + + + EX_DESIGN_GUI_DDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_GEN_BSI + false + + + EX_DESIGN_GUI_DDRT_GEN_CDC + false + + + EX_DESIGN_GUI_DDRT_GEN_SIM + true + + + EX_DESIGN_GUI_DDRT_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDRT_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDRT_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDRT_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_GEN_BSI + false + + + EX_DESIGN_GUI_GEN_CDC + false + + + EX_DESIGN_GUI_GEN_SIM + true + + + EX_DESIGN_GUI_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_GEN_BSI + false + + + EX_DESIGN_GUI_LPDDR3_GEN_CDC + false + + + EX_DESIGN_GUI_LPDDR3_GEN_SIM + true + + + EX_DESIGN_GUI_LPDDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_LPDDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_GEN_BSI + false + + + EX_DESIGN_GUI_QDR2_GEN_CDC + false + + + EX_DESIGN_GUI_QDR2_GEN_SIM + true + + + EX_DESIGN_GUI_QDR2_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_GEN_BSI + false + + + EX_DESIGN_GUI_QDR4_GEN_CDC + false + + + EX_DESIGN_GUI_QDR4_GEN_SIM + true + + + EX_DESIGN_GUI_QDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_GEN_BSI + false + + + EX_DESIGN_GUI_RLD2_GEN_CDC + false + + + EX_DESIGN_GUI_RLD2_GEN_SIM + true + + + EX_DESIGN_GUI_RLD2_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_GEN_BSI + false + + + EX_DESIGN_GUI_RLD3_GEN_CDC + false + + + EX_DESIGN_GUI_RLD3_GEN_SIM + true + + + EX_DESIGN_GUI_RLD3_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + FAMILY_ENUM + FAMILY_AGILEX + + + GENERATE_PHYLITE + false + + + HMC_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_ST + + + HMC_CTRL_DIMM_TYPE + dimm_type_rdimm + + + HMC_READY_LATENCY + 2 + + + HMC_TIDS_0 + 676600325 + + + HMC_TIDS_1 + 3 + + + HMC_TIDS_2 + 0 + + + HMC_TIDS_AUTOGEN_WCNT + 3 + + + HPRX_CTLE_EN + on + + + HPRX_OFFSET_CAL + true + + + INTERNAL_TESTING_MODE + false + + + IS_ED_SLAVE + false + + + IS_HPS + false + + + LANES_PER_TILE + 4 + + + LANES_USAGE_0 + 757373805 + + + LANES_USAGE_1 + 365 + + + LANES_USAGE_2 + 0 + + + LANES_USAGE_3 + 0 + + + LANES_USAGE_AUTOGEN_WCNT + 4 + + + LANE_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + LANE_HIPI_DELAY + 350 + + + LANE_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + LANE_PIN_USAGE_0 + 20058385 + + + LANE_PIN_USAGE_1 + 71582788 + + + LANE_PIN_USAGE_10 + 67388484 + + + LANE_PIN_USAGE_11 + 17 + + + LANE_PIN_USAGE_12 + 285213696 + + + LANE_PIN_USAGE_13 + 67422276 + + + LANE_PIN_USAGE_14 + 554766609 + + + LANE_PIN_USAGE_15 + 71581772 + + + LANE_PIN_USAGE_16 + 20058385 + + + LANE_PIN_USAGE_17 + 71582788 + + + LANE_PIN_USAGE_18 + 286266145 + + + LANE_PIN_USAGE_19 + 209994820 + + + LANE_PIN_USAGE_2 + 286266145 + + + LANE_PIN_USAGE_20 + 1118465 + + + LANE_PIN_USAGE_21 + 0 + + + LANE_PIN_USAGE_22 + 0 + + + LANE_PIN_USAGE_23 + 0 + + + LANE_PIN_USAGE_24 + 0 + + + LANE_PIN_USAGE_25 + 0 + + + LANE_PIN_USAGE_26 + 0 + + + LANE_PIN_USAGE_27 + 0 + + + LANE_PIN_USAGE_28 + 0 + + + LANE_PIN_USAGE_29 + 0 + + + LANE_PIN_USAGE_3 + 209994820 + + + LANE_PIN_USAGE_30 + 0 + + + LANE_PIN_USAGE_31 + 0 + + + LANE_PIN_USAGE_32 + 0 + + + LANE_PIN_USAGE_33 + 0 + + + LANE_PIN_USAGE_34 + 0 + + + LANE_PIN_USAGE_35 + 0 + + + LANE_PIN_USAGE_36 + 0 + + + LANE_PIN_USAGE_37 + 0 + + + LANE_PIN_USAGE_38 + 0 + + + LANE_PIN_USAGE_39 + 0 + + + LANE_PIN_USAGE_4 + 286331137 + + + LANE_PIN_USAGE_40 + 0 + + + LANE_PIN_USAGE_41 + 0 + + + LANE_PIN_USAGE_42 + 0 + + + LANE_PIN_USAGE_43 + 0 + + + LANE_PIN_USAGE_44 + 0 + + + LANE_PIN_USAGE_45 + 0 + + + LANE_PIN_USAGE_46 + 0 + + + LANE_PIN_USAGE_47 + 0 + + + LANE_PIN_USAGE_48 + 0 + + + LANE_PIN_USAGE_49 + 0 + + + LANE_PIN_USAGE_5 + 67422276 + + + LANE_PIN_USAGE_50 + 0 + + + LANE_PIN_USAGE_51 + 0 + + + LANE_PIN_USAGE_6 + 71581969 + + + LANE_PIN_USAGE_7 + 269828353 + + + LANE_PIN_USAGE_8 + 71582788 + + + LANE_PIN_USAGE_9 + 69905 + + + LANE_PIN_USAGE_AUTOGEN_WCNT + 52 + + + LANE_TIDS_0 + 403177984 + + + LANE_TIDS_1 + 168067584 + + + LANE_TIDS_2 + 35717208 + + + LANE_TIDS_3 + 140518930 + + + LANE_TIDS_4 + 886403 + + + LANE_TIDS_5 + 0 + + + LANE_TIDS_6 + 0 + + + LANE_TIDS_7 + 0 + + + LANE_TIDS_8 + 0 + + + LANE_TIDS_9 + 0 + + + LANE_TIDS_AUTOGEN_WCNT + 10 + + + MEM_BURST_LENGTH + 8 + + + MEM_DATA_MASK_EN + true + + + MEM_DDR3_AC_PAR_EN + false + + + MEM_DDR3_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR3_ADDR_WIDTH + 1 + + + MEM_DDR3_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR3_ALERT_N_PLACEMENT_ENUM + DDR3_ALERT_N_PLACEMENT_AC_LANES + + + MEM_DDR3_ASR_ENUM + DDR3_ASR_MANUAL + + + MEM_DDR3_ATCL_ENUM + DDR3_ATCL_DISABLED + + + MEM_DDR3_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_BL_ENUM + DDR3_BL_BL8 + + + MEM_DDR3_BT_ENUM + DDR3_BT_SEQUENTIAL + + + MEM_DDR3_CFG_GEN_DBE + false + + + MEM_DDR3_CFG_GEN_SBE + false + + + MEM_DDR3_CKE_PER_DIMM + 1 + + + MEM_DDR3_CKE_WIDTH + 1 + + + MEM_DDR3_CK_WIDTH + 1 + + + MEM_DDR3_COL_ADDR_WIDTH + 10 + + + MEM_DDR3_CS_PER_DIMM + 1 + + + MEM_DDR3_CS_WIDTH + 1 + + + MEM_DDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR3_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR3_DLL_EN + true + + + MEM_DDR3_DM_EN + true + + + MEM_DDR3_DM_WIDTH + 1 + + + MEM_DDR3_DQS_WIDTH + 8 + + + MEM_DDR3_DQ_PER_DQS + 8 + + + MEM_DDR3_DQ_WIDTH + 72 + + + MEM_DDR3_DRV_STR_ENUM + DDR3_DRV_STR_RZQ_7 + + + MEM_DDR3_FORMAT_ENUM + MEM_FORMAT_UDIMM + + + MEM_DDR3_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR3_LRDIMM_EXTENDED_CONFIG + 000000000000000000 + + + MEM_DDR3_MIRROR_ADDRESSING_EN + true + + + MEM_DDR3_MR0 + 0 + + + MEM_DDR3_MR1 + 0 + + + MEM_DDR3_MR2 + 0 + + + MEM_DDR3_MR3 + 0 + + + MEM_DDR3_NUM_OF_DIMMS + 1 + + + MEM_DDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_ODT_WIDTH + 1 + + + MEM_DDR3_PD_ENUM + DDR3_PD_OFF + + + MEM_DDR3_RANKS_PER_DIMM + 1 + + + MEM_DDR3_RDIMM_CONFIG + 0000000000000000 + + + MEM_DDR3_RM_WIDTH + 0 + + + MEM_DDR3_ROW_ADDR_WIDTH + 15 + + + MEM_DDR3_RTT_NOM_ENUM + DDR3_RTT_NOM_ODT_DISABLED + + + MEM_DDR3_RTT_WR_ENUM + DDR3_RTT_WR_RZQ_4 + + + MEM_DDR3_R_DERIVED_ODT0 + , + + + MEM_DDR3_R_DERIVED_ODT1 + , + + + MEM_DDR3_R_DERIVED_ODT2 + , + + + MEM_DDR3_R_DERIVED_ODT3 + , + + + MEM_DDR3_R_DERIVED_ODTN + , + + + MEM_DDR3_R_ODT0_1X1 + off + + + MEM_DDR3_R_ODT0_2X2 + off,off + + + MEM_DDR3_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR3_R_ODT1_2X2 + off,off + + + MEM_DDR3_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR3_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR3_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR3_R_ODTN_1X1 + Rank 0 + + + MEM_DDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR3_SPEEDBIN_ENUM + DDR3_SPEEDBIN_2133 + + + MEM_DDR3_SRT_ENUM + DDR3_SRT_NORMAL + + + MEM_DDR3_TCL + 14 + + + MEM_DDR3_TDH_DC_MV + 100 + + + MEM_DDR3_TDH_PS + 55 + + + MEM_DDR3_TDQSCKDL + 1200 + + + MEM_DDR3_TDQSCKDM + 900 + + + MEM_DDR3_TDQSCKDS + 450 + + + MEM_DDR3_TDQSCK_DERV_PS + 2 + + + MEM_DDR3_TDQSCK_PS + 180 + + + MEM_DDR3_TDQSQ_PS + 75 + + + MEM_DDR3_TDQSS_CYC + 0.27 + + + MEM_DDR3_TDSH_CYC + 0.18 + + + MEM_DDR3_TDSS_CYC + 0.18 + + + MEM_DDR3_TDS_AC_MV + 135 + + + MEM_DDR3_TDS_PS + 53 + + + MEM_DDR3_TFAW_CYC + 27 + + + MEM_DDR3_TFAW_NS + 25.0 + + + MEM_DDR3_TIH_DC_MV + 100 + + + MEM_DDR3_TIH_PS + 95 + + + MEM_DDR3_TINIT_CK + 499 + + + MEM_DDR3_TINIT_US + 500 + + + MEM_DDR3_TIS_AC_MV + 135 + + + MEM_DDR3_TIS_PS + 60 + + + MEM_DDR3_TMRD_CK_CYC + 4 + + + MEM_DDR3_TQH_CYC + 0.38 + + + MEM_DDR3_TQSH_CYC + 0.4 + + + MEM_DDR3_TRAS_CYC + 36 + + + MEM_DDR3_TRAS_NS + 33.0 + + + MEM_DDR3_TRCD_CYC + 14 + + + MEM_DDR3_TRCD_NS + 13.09 + + + MEM_DDR3_TREFI_CYC + 8320 + + + MEM_DDR3_TREFI_US + 7.8 + + + MEM_DDR3_TRFC_CYC + 171 + + + MEM_DDR3_TRFC_NS + 160.0 + + + MEM_DDR3_TRP_CYC + 14 + + + MEM_DDR3_TRP_NS + 13.09 + + + MEM_DDR3_TRRD_CYC + 6 + + + MEM_DDR3_TRTP_CYC + 8 + + + MEM_DDR3_TTL_ADDR_WIDTH + 1 + + + MEM_DDR3_TTL_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_TTL_CKE_WIDTH + 1 + + + MEM_DDR3_TTL_CK_WIDTH + 1 + + + MEM_DDR3_TTL_CS_WIDTH + 1 + + + MEM_DDR3_TTL_DM_WIDTH + 1 + + + MEM_DDR3_TTL_DQS_WIDTH + 8 + + + MEM_DDR3_TTL_DQ_WIDTH + 72 + + + MEM_DDR3_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR3_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_TTL_ODT_WIDTH + 1 + + + MEM_DDR3_TTL_RM_WIDTH + 0 + + + MEM_DDR3_TWLH_PS + 125.0 + + + MEM_DDR3_TWLS_PS + 125.0 + + + MEM_DDR3_TWR_CYC + 16 + + + MEM_DDR3_TWR_NS + 15.0 + + + MEM_DDR3_TWTR_CYC + 8 + + + MEM_DDR3_USE_DEFAULT_ODT + true + + + MEM_DDR3_WTCL + 10 + + + MEM_DDR3_W_DERIVED_ODT0 + , + + + MEM_DDR3_W_DERIVED_ODT1 + , + + + MEM_DDR3_W_DERIVED_ODT2 + , + + + MEM_DDR3_W_DERIVED_ODT3 + , + + + MEM_DDR3_W_DERIVED_ODTN + , + + + MEM_DDR3_W_ODT0_1X1 + on + + + MEM_DDR3_W_ODT0_2X2 + on,off + + + MEM_DDR3_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT1_2X2 + off,on + + + MEM_DDR3_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR3_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR3_W_ODTN_1X1 + Rank 0 + + + MEM_DDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_AC_PARITY_LATENCY + DDR4_AC_PARITY_LATENCY_DISABLE + + + MEM_DDR4_AC_PERSISTENT_ERROR + false + + + MEM_DDR4_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR4_ADDR_WIDTH + 17 + + + MEM_DDR4_ALERT_N_AC_LANE + 3 + + + MEM_DDR4_ALERT_N_AC_PIN + 8 + + + MEM_DDR4_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR4_ALERT_N_PLACEMENT_ENUM + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + + + MEM_DDR4_ALERT_PAR_EN + true + + + MEM_DDR4_ASR_ENUM + DDR4_ASR_MANUAL_NORMAL + + + MEM_DDR4_ATCL_ENUM + DDR4_ATCL_DISABLED + + + MEM_DDR4_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_BL_ENUM + DDR4_BL_BL8 + + + MEM_DDR4_BT_ENUM + DDR4_BT_SEQUENTIAL + + + MEM_DDR4_CAL_MODE + 0 + + + MEM_DDR4_CFG_GEN_DBE + false + + + MEM_DDR4_CFG_GEN_SBE + false + + + MEM_DDR4_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_CKE_PER_DIMM + 1 + + + MEM_DDR4_CKE_WIDTH + 1 + + + MEM_DDR4_CK_WIDTH + 1 + + + MEM_DDR4_COL_ADDR_WIDTH + 10 + + + MEM_DDR4_CS_PER_DIMM + 1 + + + MEM_DDR4_CS_WIDTH + 1 + + + MEM_DDR4_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR4_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_DEFAULT_VREFOUT + true + + + MEM_DDR4_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR4_DLL_EN + true + + + MEM_DDR4_DM_EN + true + + + MEM_DDR4_DQS_WIDTH + 9 + + + MEM_DDR4_DQ_PER_DQS + 8 + + + MEM_DDR4_DQ_WIDTH + 72 + + + MEM_DDR4_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_FINE_GRANULARITY_REFRESH + DDR4_FINE_REFRESH_FIXED_1X + + + MEM_DDR4_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_DDR4_GEARDOWN + DDR4_GEARDOWN_HR + + + MEM_DDR4_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR4_IDEAL_VREF_IN_PCT + 68.0 + + + MEM_DDR4_IDEAL_VREF_OUT_PCT + 70.0 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM_DISP + RTT_NOM disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM_DISP + RTT_PARK disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM_DISP + RZQ/3 (80 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM + DDR4_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISP + ODT Disabled + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM + DDR4_RTT_PARK_RZQ_4 + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISP + RZQ/4 (60 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISP + Dynamic ODT off + + + MEM_DDR4_INTEL_DEFAULT_TERM + true + + + MEM_DDR4_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDR4_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDR4_LRDIMM_ODT_LESS_BS + true + + + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDR4_LRDIMM_VREFDQ_VALUE + + + + MEM_DDR4_MAX_POWERDOWN + false + + + MEM_DDR4_MIRROR_ADDRESSING_EN + true + + + MEM_DDR4_MPR_READ_FORMAT + DDR4_MPR_READ_FORMAT_SERIAL + + + MEM_DDR4_MR0 + 2164 + + + MEM_DDR4_MR1 + 65537 + + + MEM_DDR4_MR2 + 131112 + + + MEM_DDR4_MR3 + 197632 + + + MEM_DDR4_MR4 + 264192 + + + MEM_DDR4_MR5 + 332896 + + + MEM_DDR4_MR6 + 395279 + + + MEM_DDR4_NUM_OF_DIMMS + 1 + + + MEM_DDR4_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_ODT_IN_POWERDOWN + true + + + MEM_DDR4_ODT_WIDTH + 1 + + + MEM_DDR4_PER_DRAM_ADDR + false + + + MEM_DDR4_RANKS_PER_DIMM + 1 + + + MEM_DDR4_RCD_CA_IBT_ENUM + DDR4_RCD_CA_IBT_100 + + + MEM_DDR4_RCD_CKE_IBT_ENUM + DDR4_RCD_CKE_IBT_100 + + + MEM_DDR4_RCD_COMMAND_LATENCY + 1 + + + MEM_DDR4_RCD_CS_IBT_ENUM + DDR4_RCD_CS_IBT_100 + + + MEM_DDR4_RCD_ODT_IBT_ENUM + DDR4_RCD_ODT_IBT_100 + + + MEM_DDR4_RCD_PARITY_CONTROL_WORD + 13 + + + MEM_DDR4_RDIMM_CONFIG + 00000020000000003900000D40030B0F556000 + + + MEM_DDR4_READ_DBI + true + + + MEM_DDR4_READ_PREAMBLE + 2 + + + MEM_DDR4_READ_PREAMBLE_TRAINING + false + + + MEM_DDR4_RM_WIDTH + 0 + + + MEM_DDR4_ROW_ADDR_WIDTH + 16 + + + MEM_DDR4_RTT_NOM_ENUM + DDR4_RTT_NOM_RZQ_4 + + + MEM_DDR4_RTT_PARK + DDR4_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_R_DERIVED_BODT0 + + + + MEM_DDR4_R_DERIVED_BODT1 + + + + MEM_DDR4_R_DERIVED_BODTN + + + + MEM_DDR4_R_DERIVED_ODT0 + (Drive) RZQ/7 (34 Ohm),-,-,- + + + MEM_DDR4_R_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_R_ODT0_1X1 + off + + + MEM_DDR4_R_ODT0_2X2 + off,off + + + MEM_DDR4_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR4_R_ODT1_2X2 + off,off + + + MEM_DDR4_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR4_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR4_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR4_R_ODTN_1X1 + Rank 0 + + + MEM_DDR4_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_SELF_RFSH_ABORT + false + + + MEM_DDR4_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR4_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDR4_SPD_135_RCD_REV + 0 + + + MEM_DDR4_SPD_137_RCD_CA_DRV + 101 + + + MEM_DDR4_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDR4_SPD_139_DB_REV + 0 + + + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDR4_SPD_144_DB_VREFDQ + 37 + + + MEM_DDR4_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDR4_SPD_148_DRAM_DRV + 0 + + + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDR4_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE + 0 + + + MEM_DDR4_SPEEDBIN_ENUM + DDR4_SPEEDBIN_2666 + + + MEM_DDR4_TCCD_L_CYC + 6 + + + MEM_DDR4_TCCD_S_CYC + 4 + + + MEM_DDR4_TCL + 21 + + + MEM_DDR4_TDIVW_DJ_CYC + 0.1 + + + MEM_DDR4_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDR4_TDQSCKDL + 1200 + + + MEM_DDR4_TDQSCKDM + 900 + + + MEM_DDR4_TDQSCKDS + 450 + + + MEM_DDR4_TDQSCK_DERV_PS + 2 + + + MEM_DDR4_TDQSCK_PS + 175 + + + MEM_DDR4_TDQSQ_PS + 66 + + + MEM_DDR4_TDQSQ_UI + 0.14 + + + MEM_DDR4_TDQSS_CYC + 0.27 + + + MEM_DDR4_TDSH_CYC + 0.18 + + + MEM_DDR4_TDSS_CYC + 0.18 + + + MEM_DDR4_TDVWP_UI + 0.72 + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDR4_TEMP_SENSOR_READOUT + false + + + MEM_DDR4_TFAW_CYC + 26 + + + MEM_DDR4_TFAW_DLR_CYC + 16 + + + MEM_DDR4_TFAW_NS + 21.0 + + + MEM_DDR4_TIH_DC_MV + 75 + + + MEM_DDR4_TIH_PS + 87 + + + MEM_DDR4_TINIT_CK + 600000 + + + MEM_DDR4_TINIT_US + 500 + + + MEM_DDR4_TIS_AC_MV + 100 + + + MEM_DDR4_TIS_PS + 62 + + + MEM_DDR4_TMRD_CK_CYC + 8 + + + MEM_DDR4_TQH_CYC + 0.38 + + + MEM_DDR4_TQH_UI + 0.74 + + + MEM_DDR4_TQSH_CYC + 0.4 + + + MEM_DDR4_TRAS_CYC + 39 + + + MEM_DDR4_TRAS_NS + 32.0 + + + MEM_DDR4_TRCD_CYC + 17 + + + MEM_DDR4_TRCD_NS + 14.16 + + + MEM_DDR4_TREFI_CYC + 9360 + + + MEM_DDR4_TREFI_US + 7.8 + + + MEM_DDR4_TRFC_CYC + 420 + + + MEM_DDR4_TRFC_DLR_CYC + 108 + + + MEM_DDR4_TRFC_DLR_NS + 90.0 + + + MEM_DDR4_TRFC_NS + 350.0 + + + MEM_DDR4_TRP_CYC + 17 + + + MEM_DDR4_TRP_NS + 14.16 + + + MEM_DDR4_TRRD_DLR_CYC + 4 + + + MEM_DDR4_TRRD_L_CYC + 6 + + + MEM_DDR4_TRRD_S_CYC + 4 + + + MEM_DDR4_TRTP_CYC + 9 + + + MEM_DDR4_TTL_ADDR_WIDTH + 17 + + + MEM_DDR4_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_TTL_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_TTL_CKE_WIDTH + 1 + + + MEM_DDR4_TTL_CK_WIDTH + 1 + + + MEM_DDR4_TTL_CS_WIDTH + 1 + + + MEM_DDR4_TTL_DQS_WIDTH + 9 + + + MEM_DDR4_TTL_DQ_WIDTH + 72 + + + MEM_DDR4_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR4_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_TTL_ODT_WIDTH + 1 + + + MEM_DDR4_TTL_RM_WIDTH + 0 + + + MEM_DDR4_TWLH_CYC + 0.13 + + + MEM_DDR4_TWLH_PS + 0.0 + + + MEM_DDR4_TWLS_CYC + 0.13 + + + MEM_DDR4_TWLS_PS + 0.0 + + + MEM_DDR4_TWR_CYC + 18 + + + MEM_DDR4_TWR_NS + 15.0 + + + MEM_DDR4_TWTR_L_CYC + 9 + + + MEM_DDR4_TWTR_S_CYC + 3 + + + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDR4_USE_DEFAULT_ODT + true + + + MEM_DDR4_VDIVW_TOTAL + 130 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_0 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE_DISP + Range 1 - 60% to 92.5% + + + MEM_DDR4_VREFDQ_TRAINING_VALUE + 70.0 + + + MEM_DDR4_WRITE_CMD_LATENCY + 6 + + + MEM_DDR4_WRITE_CRC + false + + + MEM_DDR4_WRITE_DBI + false + + + MEM_DDR4_WRITE_PREAMBLE + 1 + + + MEM_DDR4_WTCL + 16 + + + MEM_DDR4_W_DERIVED_BODT0 + + + + MEM_DDR4_W_DERIVED_BODT1 + + + + MEM_DDR4_W_DERIVED_BODTN + + + + MEM_DDR4_W_DERIVED_ODT0 + (Park) RZQ/4 (60 Ohm),-,-,- + + + MEM_DDR4_W_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_W_ODT0_1X1 + on + + + MEM_DDR4_W_ODT0_2X2 + on,off + + + MEM_DDR4_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT1_2X2 + off,on + + + MEM_DDR4_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR4_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR4_W_ODTN_1X1 + Rank 0 + + + MEM_DDR4_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_AC_PARITY_LATENCY + DDRT_AC_PARITY_LATENCY_DISABLE + + + MEM_DDRT_AC_PERSISTENT_ERROR + false + + + MEM_DDRT_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDRT_ADDR_WIDTH + 1 + + + MEM_DDRT_ALERT_N_AC_LANE + 0 + + + MEM_DDRT_ALERT_N_AC_PIN + 0 + + + MEM_DDRT_ALERT_N_DQS_GROUP + 0 + + + MEM_DDRT_ALERT_N_PLACEMENT_ENUM + DDRT_ALERT_N_PLACEMENT_AUTO + + + MEM_DDRT_ALERT_PAR_EN + true + + + MEM_DDRT_ASR_ENUM + DDRT_ASR_MANUAL_NORMAL + + + MEM_DDRT_ATCL_ENUM + DDRT_ATCL_DISABLED + + + MEM_DDRT_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_BL_ENUM + DDRT_BL_BL8 + + + MEM_DDRT_BT_ENUM + DDRT_BT_SEQUENTIAL + + + MEM_DDRT_CAL_MODE + 0 + + + MEM_DDRT_CFG_GEN_DBE + false + + + MEM_DDRT_CFG_GEN_SBE + false + + + MEM_DDRT_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_CKE_PER_DIMM + 1 + + + MEM_DDRT_CKE_WIDTH + 1 + + + MEM_DDRT_CK_WIDTH + 1 + + + MEM_DDRT_COL_ADDR_WIDTH + 10 + + + MEM_DDRT_CS_PER_DIMM + 1 + + + MEM_DDRT_CS_WIDTH + 1 + + + MEM_DDRT_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDRT_DB_DQ_DRV_ENUM + DDRT_DB_DRV_STR_RZQ_7 + + + MEM_DDRT_DB_RTT_NOM_ENUM + DDRT_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDRT_DB_RTT_PARK_ENUM + DDRT_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_DB_RTT_WR_ENUM + DDRT_DB_RTT_WR_RZQ_4 + + + MEM_DDRT_DEFAULT_ADDED_LATENCY + true + + + MEM_DDRT_DEFAULT_PREAMBLE + true + + + MEM_DDRT_DEFAULT_VREFOUT + true + + + MEM_DDRT_DISCRETE_CS_WIDTH + 1 + + + MEM_DDRT_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDRT_DLL_EN + true + + + MEM_DDRT_DM_EN + false + + + MEM_DDRT_DQS_WIDTH + 8 + + + MEM_DDRT_DQ_PER_DQS + 4 + + + MEM_DDRT_DQ_WIDTH + 72 + + + MEM_DDRT_DRV_STR_ENUM + DDRT_DRV_STR_RZQ_7 + + + MEM_DDRT_ERID_WIDTH + 2 + + + MEM_DDRT_ERR_N_WIDTH + 1 + + + MEM_DDRT_FINE_GRANULARITY_REFRESH + DDRT_FINE_REFRESH_FIXED_1X + + + MEM_DDRT_FORMAT_ENUM + MEM_FORMAT_LRDIMM + + + MEM_DDRT_GEARDOWN + DDRT_GEARDOWN_HR + + + MEM_DDRT_GNT_N_WIDTH + 1 + + + MEM_DDRT_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDRT_HIDE_LATENCY_SETTINGS + true + + + MEM_DDRT_I2C_DIMM_0_SA + 0 + + + MEM_DDRT_I2C_DIMM_1_SA + 1 + + + MEM_DDRT_I2C_DIMM_2_SA + 2 + + + MEM_DDRT_I2C_DIMM_3_SA + 3 + + + MEM_DDRT_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDRT_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDRT_LRDIMM_ODT_LESS_BS + false + + + MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDRT_LRDIMM_VREFDQ_VALUE + + + + MEM_DDRT_MAX_POWERDOWN + false + + + MEM_DDRT_MIRROR_ADDRESSING_EN + true + + + MEM_DDRT_MPR_READ_FORMAT + DDRT_MPR_READ_FORMAT_SERIAL + + + MEM_DDRT_MR0 + 0 + + + MEM_DDRT_MR1 + 0 + + + MEM_DDRT_MR2 + 0 + + + MEM_DDRT_MR3 + 0 + + + MEM_DDRT_MR4 + 0 + + + MEM_DDRT_MR5 + 0 + + + MEM_DDRT_MR6 + 0 + + + MEM_DDRT_NUM_OF_DIMMS + 1 + + + MEM_DDRT_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_ODT_IN_POWERDOWN + true + + + MEM_DDRT_ODT_WIDTH + 1 + + + MEM_DDRT_PARTIAL_WRITES + false + + + MEM_DDRT_PERSISTENT_MODE + 1 + + + MEM_DDRT_PER_DRAM_ADDR + false + + + MEM_DDRT_PWR_MODE + DDRT_PWR_MODE_12W + + + MEM_DDRT_RANKS_PER_DIMM + 1 + + + MEM_DDRT_RCD_CA_IBT_ENUM + DDRT_RCD_CA_IBT_100 + + + MEM_DDRT_RCD_CKE_IBT_ENUM + DDRT_RCD_CKE_IBT_100 + + + MEM_DDRT_RCD_COMMAND_LATENCY + 1 + + + MEM_DDRT_RCD_CS_IBT_ENUM + DDRT_RCD_CS_IBT_100 + + + MEM_DDRT_RCD_ODT_IBT_ENUM + DDRT_RCD_ODT_IBT_100 + + + MEM_DDRT_RCD_PARITY_CONTROL_WORD + 1 + + + MEM_DDRT_RDIMM_CONFIG + + + + MEM_DDRT_READ_DBI + false + + + MEM_DDRT_READ_PREAMBLE + 1 + + + MEM_DDRT_READ_PREAMBLE_TRAINING + false + + + MEM_DDRT_REQ_N_WIDTH + 1 + + + MEM_DDRT_RM_WIDTH + 0 + + + MEM_DDRT_ROW_ADDR_WIDTH + 18 + + + MEM_DDRT_RTT_NOM_ENUM + DDRT_RTT_NOM_RZQ_4 + + + MEM_DDRT_RTT_PARK + DDRT_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_RTT_WR_ENUM + DDRT_RTT_WR_ODT_DISABLED + + + MEM_DDRT_R_DERIVED_BODT0 + + + + MEM_DDRT_R_DERIVED_BODT1 + + + + MEM_DDRT_R_DERIVED_BODTN + + + + MEM_DDRT_R_DERIVED_ODT0 + , + + + MEM_DDRT_R_DERIVED_ODT1 + , + + + MEM_DDRT_R_DERIVED_ODT2 + , + + + MEM_DDRT_R_DERIVED_ODT3 + , + + + MEM_DDRT_R_DERIVED_ODTN + , + + + MEM_DDRT_R_ODT0_1X1 + off + + + MEM_DDRT_R_ODT0_2X2 + off,off + + + MEM_DDRT_R_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_R_ODT0_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT1_2X2 + off,off + + + MEM_DDRT_R_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_R_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_R_ODT2_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_R_ODTN_1X1 + Rank 0 + + + MEM_DDRT_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_SELF_RFSH_ABORT + false + + + MEM_DDRT_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDRT_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDRT_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDRT_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDRT_SPD_135_RCD_REV + 0 + + + MEM_DDRT_SPD_137_RCD_CA_DRV + 85 + + + MEM_DDRT_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDRT_SPD_139_DB_REV + 0 + + + MEM_DDRT_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDRT_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDRT_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDRT_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDRT_SPD_144_DB_VREFDQ + 25 + + + MEM_DDRT_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDRT_SPD_148_DRAM_DRV + 0 + + + MEM_DDRT_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDRT_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDRT_SPEEDBIN_ENUM + DDRT_SPEEDBIN_2400 + + + MEM_DDRT_TCCD_L_CYC + 6 + + + MEM_DDRT_TCCD_S_CYC + 4 + + + MEM_DDRT_TCL + 15 + + + MEM_DDRT_TCL_ADDED + -1 + + + MEM_DDRT_TDIVW_DJ_CYC + 0.1 + + + MEM_DDRT_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDRT_TDQSCKDL + 1200 + + + MEM_DDRT_TDQSCKDM + 900 + + + MEM_DDRT_TDQSCKDS + 450 + + + MEM_DDRT_TDQSCK_DERV_PS + 2 + + + MEM_DDRT_TDQSCK_PS + 165 + + + MEM_DDRT_TDQSQ_PS + 66 + + + MEM_DDRT_TDQSQ_UI + 0.16 + + + MEM_DDRT_TDQSS_CYC + 0.27 + + + MEM_DDRT_TDSH_CYC + 0.18 + + + MEM_DDRT_TDSS_CYC + 0.18 + + + MEM_DDRT_TDVWP_UI + 0.72 + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_RANGE + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDRT_TEMP_SENSOR_READOUT + false + + + MEM_DDRT_TFAW_CYC + 27 + + + MEM_DDRT_TFAW_DLR_CYC + 16 + + + MEM_DDRT_TFAW_NS + 21.0 + + + MEM_DDRT_TIH_DC_MV + 75 + + + MEM_DDRT_TIH_PS + 95 + + + MEM_DDRT_TINIT_CK + 499 + + + MEM_DDRT_TINIT_US + 500 + + + MEM_DDRT_TIS_AC_MV + 100 + + + MEM_DDRT_TIS_PS + 60 + + + MEM_DDRT_TMRD_CK_CYC + 8 + + + MEM_DDRT_TQH_CYC + 0.38 + + + MEM_DDRT_TQH_UI + 0.76 + + + MEM_DDRT_TQSH_CYC + 0.38 + + + MEM_DDRT_TRAS_CYC + 36 + + + MEM_DDRT_TRAS_NS + 32.0 + + + MEM_DDRT_TRCD_CYC + 14 + + + MEM_DDRT_TRCD_NS + 15.0 + + + MEM_DDRT_TREFI_CYC + 8320 + + + MEM_DDRT_TREFI_US + 7.8 + + + MEM_DDRT_TRFC_CYC + 171 + + + MEM_DDRT_TRFC_DLR_CYC + 109 + + + MEM_DDRT_TRFC_DLR_NS + 90.0 + + + MEM_DDRT_TRFC_NS + 260.0 + + + MEM_DDRT_TRP_CYC + 14 + + + MEM_DDRT_TRP_NS + 15.0 + + + MEM_DDRT_TRRD_DLR_CYC + 4 + + + MEM_DDRT_TRRD_L_CYC + 6 + + + MEM_DDRT_TRRD_S_CYC + 4 + + + MEM_DDRT_TRTP_CYC + 9 + + + MEM_DDRT_TTL_ADDR_WIDTH + 1 + + + MEM_DDRT_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_TTL_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_TTL_CKE_WIDTH + 1 + + + MEM_DDRT_TTL_CK_WIDTH + 1 + + + MEM_DDRT_TTL_CS_WIDTH + 1 + + + MEM_DDRT_TTL_DQS_WIDTH + 8 + + + MEM_DDRT_TTL_DQ_WIDTH + 72 + + + MEM_DDRT_TTL_ERID_WIDTH + 2 + + + MEM_DDRT_TTL_ERR_N_WIDTH + 1 + + + MEM_DDRT_TTL_GNT_N_WIDTH + 1 + + + MEM_DDRT_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDRT_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_TTL_ODT_WIDTH + 1 + + + MEM_DDRT_TTL_REQ_N_WIDTH + 1 + + + MEM_DDRT_TTL_RM_WIDTH + 0 + + + MEM_DDRT_TWLH_CYC + 0.13 + + + MEM_DDRT_TWLH_PS + 0.0 + + + MEM_DDRT_TWLS_CYC + 0.13 + + + MEM_DDRT_TWLS_PS + 0.0 + + + MEM_DDRT_TWR_CYC + 18 + + + MEM_DDRT_TWR_NS + 15.0 + + + MEM_DDRT_TWTR_L_CYC + 9 + + + MEM_DDRT_TWTR_S_CYC + 3 + + + MEM_DDRT_USER_READ_PREAMBLE + 1 + + + MEM_DDRT_USER_TCL_ADDED + 0 + + + MEM_DDRT_USER_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_USER_WRITE_PREAMBLE + 1 + + + MEM_DDRT_USER_WTCL_ADDED + 6 + + + MEM_DDRT_USE_DEFAULT_ODT + true + + + MEM_DDRT_VDIVW_TOTAL + 136 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE_DISP + Range 2 - 45% to 77.5% + + + MEM_DDRT_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_WRITE_CMD_LATENCY + 5 + + + MEM_DDRT_WRITE_CRC + false + + + MEM_DDRT_WRITE_DBI + false + + + MEM_DDRT_WRITE_PREAMBLE + 1 + + + MEM_DDRT_WTCL + 18 + + + MEM_DDRT_WTCL_ADDED + -1 + + + MEM_DDRT_W_DERIVED_BODT0 + + + + MEM_DDRT_W_DERIVED_BODT1 + + + + MEM_DDRT_W_DERIVED_BODTN + + + + MEM_DDRT_W_DERIVED_ODT0 + , + + + MEM_DDRT_W_DERIVED_ODT1 + , + + + MEM_DDRT_W_DERIVED_ODT2 + , + + + MEM_DDRT_W_DERIVED_ODT3 + , + + + MEM_DDRT_W_DERIVED_ODTN + , + + + MEM_DDRT_W_ODT0_1X1 + on + + + MEM_DDRT_W_ODT0_2X2 + on,off + + + MEM_DDRT_W_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_W_ODT0_4X4 + on,on,off,off + + + MEM_DDRT_W_ODT1_2X2 + off,on + + + MEM_DDRT_W_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_W_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT2_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_W_ODTN_1X1 + Rank 0 + + + MEM_DDRT_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_HAS_BSI_SUPPORT + true + + + MEM_HAS_SIM_SUPPORT + true + + + MEM_LPDDR3_ADDR_WIDTH + 10 + + + MEM_LPDDR3_BANK_ADDR_WIDTH + 3 + + + MEM_LPDDR3_BL + LPDDR3_BL_BL8 + + + MEM_LPDDR3_CKE_WIDTH + 1 + + + MEM_LPDDR3_CK_WIDTH + 1 + + + MEM_LPDDR3_COL_ADDR_WIDTH + 10 + + + MEM_LPDDR3_CS_WIDTH + 1 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_LPDDR3_DATA_LATENCY + LPDDR3_DL_RL12_WL6 + + + MEM_LPDDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_LPDDR3_DM_EN + true + + + MEM_LPDDR3_DM_WIDTH + 1 + + + MEM_LPDDR3_DQODT + LPDDR3_DQODT_DISABLE + + + MEM_LPDDR3_DQS_WIDTH + 1 + + + MEM_LPDDR3_DQ_PER_DQS + 8 + + + MEM_LPDDR3_DQ_WIDTH + 32 + + + MEM_LPDDR3_DRV_STR + LPDDR3_DRV_STR_40D_40U + + + MEM_LPDDR3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_LPDDR3_MR1 + 0 + + + MEM_LPDDR3_MR11 + 0 + + + MEM_LPDDR3_MR2 + 0 + + + MEM_LPDDR3_MR3 + 0 + + + MEM_LPDDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_LPDDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_LPDDR3_NWR + LPDDR3_NWR_NWR12 + + + MEM_LPDDR3_ODT_WIDTH + 1 + + + MEM_LPDDR3_PDODT + LPDDR3_PDODT_DISABLED + + + MEM_LPDDR3_ROW_ADDR_WIDTH + 15 + + + MEM_LPDDR3_R_DERIVED_ODT0 + , + + + MEM_LPDDR3_R_DERIVED_ODT1 + , + + + MEM_LPDDR3_R_DERIVED_ODT2 + , + + + MEM_LPDDR3_R_DERIVED_ODT3 + , + + + MEM_LPDDR3_R_DERIVED_ODTN + , + + + MEM_LPDDR3_R_ODT0_1X1 + off + + + MEM_LPDDR3_R_ODT0_2X2 + off,off + + + MEM_LPDDR3_R_ODT0_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT1_2X2 + off,off + + + MEM_LPDDR3_R_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_LPDDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_LPDDR3_SPEEDBIN_ENUM + LPDDR3_SPEEDBIN_1600 + + + MEM_LPDDR3_TDH_DC_MV + 100 + + + MEM_LPDDR3_TDH_PS + 100 + + + MEM_LPDDR3_TDQSCKDL + 614 + + + MEM_LPDDR3_TDQSCKDM + 511 + + + MEM_LPDDR3_TDQSCKDS + 220 + + + MEM_LPDDR3_TDQSCK_DERV_PS + 2 + + + MEM_LPDDR3_TDQSCK_PS + 5500 + + + MEM_LPDDR3_TDQSQ_PS + 135 + + + MEM_LPDDR3_TDQSS_CYC + 1.25 + + + MEM_LPDDR3_TDSH_CYC + 0.2 + + + MEM_LPDDR3_TDSS_CYC + 0.2 + + + MEM_LPDDR3_TDS_AC_MV + 150 + + + MEM_LPDDR3_TDS_PS + 75 + + + MEM_LPDDR3_TFAW_CYC + 40 + + + MEM_LPDDR3_TFAW_NS + 50.0 + + + MEM_LPDDR3_TIH_DC_MV + 100 + + + MEM_LPDDR3_TIH_PS + 100 + + + MEM_LPDDR3_TINIT_CK + 499 + + + MEM_LPDDR3_TINIT_US + 500 + + + MEM_LPDDR3_TIS_AC_MV + 150 + + + MEM_LPDDR3_TIS_PS + 75 + + + MEM_LPDDR3_TMRR_CK_CYC + 4 + + + MEM_LPDDR3_TMRW_CK_CYC + 10 + + + MEM_LPDDR3_TQH_CYC + 0.38 + + + MEM_LPDDR3_TQSH_CYC + 0.38 + + + MEM_LPDDR3_TRAS_CYC + 34 + + + MEM_LPDDR3_TRAS_NS + 42.5 + + + MEM_LPDDR3_TRCD_CYC + 17 + + + MEM_LPDDR3_TRCD_NS + 18.0 + + + MEM_LPDDR3_TREFI_CYC + 3120 + + + MEM_LPDDR3_TREFI_US + 3.9 + + + MEM_LPDDR3_TRFC_CYC + 168 + + + MEM_LPDDR3_TRFC_NS + 210.0 + + + MEM_LPDDR3_TRL_CYC + 10 + + + MEM_LPDDR3_TRP_CYC + 17 + + + MEM_LPDDR3_TRP_NS + 18.0 + + + MEM_LPDDR3_TRRD_CYC + 8 + + + MEM_LPDDR3_TRTP_CYC + 6 + + + MEM_LPDDR3_TWLH_PS + 175.0 + + + MEM_LPDDR3_TWLS_PS + 175.0 + + + MEM_LPDDR3_TWL_CYC + 6 + + + MEM_LPDDR3_TWR_CYC + 12 + + + MEM_LPDDR3_TWR_NS + 15.0 + + + MEM_LPDDR3_TWTR_CYC + 6 + + + MEM_LPDDR3_USE_DEFAULT_ODT + true + + + MEM_LPDDR3_WLSELECT + Set A + + + MEM_LPDDR3_W_DERIVED_ODT0 + , + + + MEM_LPDDR3_W_DERIVED_ODT1 + , + + + MEM_LPDDR3_W_DERIVED_ODT2 + , + + + MEM_LPDDR3_W_DERIVED_ODT3 + , + + + MEM_LPDDR3_W_DERIVED_ODTN + , + + + MEM_LPDDR3_W_ODT0_1X1 + on + + + MEM_LPDDR3_W_ODT0_2X2 + on,on + + + MEM_LPDDR3_W_ODT0_4X4 + on,on,on,on + + + MEM_LPDDR3_W_ODT1_2X2 + off,off + + + MEM_LPDDR3_W_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_NUM_OF_DATA_ENDPOINTS + 1 + + + MEM_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_QDR2_ADDR_WIDTH + 19 + + + MEM_QDR2_BL + 4 + + + MEM_QDR2_BWS_EN + true + + + MEM_QDR2_BWS_N_PER_DEVICE + 4 + + + MEM_QDR2_BWS_N_WIDTH + 4 + + + MEM_QDR2_CQ_WIDTH + 1 + + + MEM_QDR2_DATA_PER_DEVICE + 36 + + + MEM_QDR2_DATA_WIDTH + 36 + + + MEM_QDR2_DEVICE_WIDTH + 1 + + + MEM_QDR2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR2_INTERNAL_JITTER_NS + 0.08 + + + MEM_QDR2_K_WIDTH + 1 + + + MEM_QDR2_SPEEDBIN_ENUM + QDR2_SPEEDBIN_633 + + + MEM_QDR2_TCCQO_NS + 0.45 + + + MEM_QDR2_TCQDOH_NS + -0.09 + + + MEM_QDR2_TCQD_NS + 0.09 + + + MEM_QDR2_TCQH_NS + 0.71 + + + MEM_QDR2_THA_NS + 0.18 + + + MEM_QDR2_THD_NS + 0.18 + + + MEM_QDR2_TRL_CYC + 2.5 + + + MEM_QDR2_TSA_NS + 0.23 + + + MEM_QDR2_TSD_NS + 0.23 + + + MEM_QDR2_TWL_CYC + 1 + + + MEM_QDR2_WIDTH_EXPANDED + false + + + MEM_QDR4_AC_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_ADDR_INV_ENA + false + + + MEM_QDR4_ADDR_WIDTH + 21 + + + MEM_QDR4_AVL_CHNLS + 8 + + + MEM_QDR4_BL + 2 + + + MEM_QDR4_CK_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_CR0 + 0 + + + MEM_QDR4_CR1 + 0 + + + MEM_QDR4_CR2 + 0 + + + MEM_QDR4_DATA_INV_ENA + true + + + MEM_QDR4_DATA_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_DEVICE_DEPTH + 1 + + + MEM_QDR4_DEVICE_WIDTH + 1 + + + MEM_QDR4_DINV_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DINV_WIDTH + 4 + + + MEM_QDR4_DK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DK_WIDTH + 4 + + + MEM_QDR4_DQ_PER_PORT_PER_DEVICE + 36 + + + MEM_QDR4_DQ_PER_PORT_WIDTH + 36 + + + MEM_QDR4_DQ_PER_RD_GROUP + 18 + + + MEM_QDR4_DQ_PER_WR_GROUP + 18 + + + MEM_QDR4_DQ_WIDTH + 72 + + + MEM_QDR4_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR4_MEM_TYPE_ENUM + MEM_XP + + + MEM_QDR4_PD_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_PU_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_QK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_QK_WIDTH + 4 + + + MEM_QDR4_SKIP_ODT_SWEEPING + true + + + MEM_QDR4_SPEEDBIN_ENUM + QDR4_SPEEDBIN_2133 + + + MEM_QDR4_TASH_PS + 170 + + + MEM_QDR4_TCKDK_MAX_PS + 150 + + + MEM_QDR4_TCKDK_MIN_PS + -150 + + + MEM_QDR4_TCKQK_MAX_PS + 225 + + + MEM_QDR4_TCSH_PS + 170 + + + MEM_QDR4_TISH_PS + 150 + + + MEM_QDR4_TQH_CYC + 0.4 + + + MEM_QDR4_TQKQ_MAX_PS + 75 + + + MEM_QDR4_TRL_CYC + 8 + + + MEM_QDR4_TWL_CYC + 5 + + + MEM_QDR4_USE_ADDR_PARITY + false + + + MEM_QDR4_WIDTH_EXPANDED + false + + + MEM_READ_LATENCY + 23.0 + + + MEM_RLD2_ADDR_WIDTH + 21 + + + MEM_RLD2_BANK_ADDR_WIDTH + 3 + + + MEM_RLD2_BL + 4 + + + MEM_RLD2_CONFIG_ENUM + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + + + MEM_RLD2_CS_WIDTH + 1 + + + MEM_RLD2_DEVICE_DEPTH + 1 + + + MEM_RLD2_DEVICE_WIDTH + 1 + + + MEM_RLD2_DK_WIDTH + 1 + + + MEM_RLD2_DM_EN + true + + + MEM_RLD2_DM_WIDTH + 1 + + + MEM_RLD2_DQ_PER_DEVICE + 9 + + + MEM_RLD2_DQ_PER_RD_GROUP + 9 + + + MEM_RLD2_DQ_PER_WR_GROUP + 9 + + + MEM_RLD2_DQ_WIDTH + 9 + + + MEM_RLD2_DRIVE_IMPEDENCE_ENUM + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + + + MEM_RLD2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD2_MR + 0 + + + MEM_RLD2_ODT_MODE_ENUM + RLD2_ODT_ON + + + MEM_RLD2_QK_WIDTH + 1 + + + MEM_RLD2_REFRESH_INTERVAL_US + 0.24 + + + MEM_RLD2_SPEEDBIN_ENUM + RLD2_SPEEDBIN_18 + + + MEM_RLD2_TAH_NS + 0.3 + + + MEM_RLD2_TAS_NS + 0.3 + + + MEM_RLD2_TCKDK_MAX_NS + 0.3 + + + MEM_RLD2_TCKDK_MIN_NS + -0.3 + + + MEM_RLD2_TCKH_CYC + 0.45 + + + MEM_RLD2_TCKQK_MAX_NS + 0.2 + + + MEM_RLD2_TDH_NS + 0.17 + + + MEM_RLD2_TDS_NS + 0.17 + + + MEM_RLD2_TQKH_HCYC + 0.9 + + + MEM_RLD2_TQKQ_MAX_NS + 0.12 + + + MEM_RLD2_TQKQ_MIN_NS + -0.12 + + + MEM_RLD2_TRC + 8 + + + MEM_RLD2_TRL + 8 + + + MEM_RLD2_TWL + 9 + + + MEM_RLD2_WIDTH_EXPANDED + false + + + MEM_RLD3_ADDR_WIDTH + 20 + + + MEM_RLD3_AREF_PROTOCOL_ENUM + RLD3_AREF_BAC + + + MEM_RLD3_BANK_ADDR_WIDTH + 4 + + + MEM_RLD3_BL + 2 + + + MEM_RLD3_CS_WIDTH + 1 + + + MEM_RLD3_DATA_LATENCY_MODE_ENUM + RLD3_DL_RL16_WL17 + + + MEM_RLD3_DEPTH_EXPANDED + false + + + MEM_RLD3_DEVICE_DEPTH + 1 + + + MEM_RLD3_DEVICE_WIDTH + 1 + + + MEM_RLD3_DK_WIDTH + 2 + + + MEM_RLD3_DM_EN + true + + + MEM_RLD3_DM_WIDTH + 2 + + + MEM_RLD3_DQ_PER_DEVICE + 36 + + + MEM_RLD3_DQ_PER_RD_GROUP + 9 + + + MEM_RLD3_DQ_PER_WR_GROUP + 18 + + + MEM_RLD3_DQ_WIDTH + 36 + + + MEM_RLD3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD3_MR0 + 0 + + + MEM_RLD3_MR1 + 0 + + + MEM_RLD3_MR2 + 0 + + + MEM_RLD3_ODT_MODE_ENUM + RLD3_ODT_40 + + + MEM_RLD3_OUTPUT_DRIVE_MODE_ENUM + RLD3_OUTPUT_DRIVE_40 + + + MEM_RLD3_QK_WIDTH + 4 + + + MEM_RLD3_SPEEDBIN_ENUM + RLD3_SPEEDBIN_093E + + + MEM_RLD3_TCKDK_MAX_CYC + 0.27 + + + MEM_RLD3_TCKDK_MIN_CYC + -0.27 + + + MEM_RLD3_TCKQK_MAX_PS + 135 + + + MEM_RLD3_TDH_DC_MV + 100 + + + MEM_RLD3_TDH_PS + 5 + + + MEM_RLD3_TDS_AC_MV + 150 + + + MEM_RLD3_TDS_PS + -30 + + + MEM_RLD3_TIH_DC_MV + 100 + + + MEM_RLD3_TIH_PS + 65 + + + MEM_RLD3_TIS_AC_MV + 150 + + + MEM_RLD3_TIS_PS + 85 + + + MEM_RLD3_TQH_CYC + 0.38 + + + MEM_RLD3_TQKQ_MAX_PS + 75 + + + MEM_RLD3_T_RC_MODE_ENUM + RLD3_TRC_9 + + + MEM_RLD3_WIDTH_EXPANDED + false + + + MEM_RLD3_WRITE_PROTOCOL_ENUM + RLD3_WRITE_1BANK + + + MEM_TTL_DATA_WIDTH + 72 + + + MEM_TTL_NUM_OF_READ_GROUPS + 9 + + + MEM_TTL_NUM_OF_WRITE_GROUPS + 9 + + + MEM_WRITE_LATENCY + 18 + + + MMR_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + MMR_HIPI_DELAY + 350 + + + MMR_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + NUM_IPS + 1 + + + NUM_IPS_SAVED + 0 + + + NUM_OF_HMC_PORTS + 1 + + + NUM_OF_RTL_TILES + 4 + + + OCT_CONTROL_WIDTH + 16 + + + OCT_SIZE + 3 + + + PHY_AC_CALIBRATED_OCT + true + + + PHY_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CALIBRATED_OCT + true + + + PHY_CK_CALIBRATED_OCT + true + + + PHY_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CLAMSHELL_EN + false + + + PHY_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DATA_CALIBRATED_OCT + true + + + PHY_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DATA_OUT_SLEW_RATE_ENUM + + + + PHY_DDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_AC_IO_STD_ENUM + unset + + + PHY_DDR3_AC_MODE_ENUM + unset + + + PHY_DDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_CAL_ADDR0 + 0 + + + PHY_DDR3_CAL_ADDR1 + 8 + + + PHY_DDR3_CAL_ENABLE_NON_DES + false + + + PHY_DDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_CK_IO_STD_ENUM + unset + + + PHY_DDR3_CK_MODE_ENUM + unset + + + PHY_DDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR3_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_DEFAULT_IO + true + + + PHY_DDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR3_IO_VOLTAGE + 1.5 + + + PHY_DDR3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_DDR3_MIMIC_HPS_EMIF + false + + + PHY_DDR3_PING_PONG_EN + false + + + PHY_DDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_RATE_ENUM + RATE_QUARTER + + + PHY_DDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR3_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_STARTING_VREFIN + 70.0 + + + PHY_DDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_DDR3_USER_AC_MODE_ENUM + unset + + + PHY_DDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_CK_MODE_ENUM + unset + + + PHY_DDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR3_USER_PING_PONG_EN + false + + + PHY_DDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_DDR4_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_AC_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_ALLOW_72_DQ_WIDTH + false + + + PHY_DDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_CK_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_CLAMSHELL_EN + false + + + PHY_DDR4_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR4_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DDR4_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_DATA_OUT_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_DEFAULT_IO + false + + + PHY_DDR4_DEFAULT_REF_CLK_FREQ + false + + + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR4_IO_VOLTAGE + 1.2 + + + PHY_DDR4_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDR4_MIMIC_HPS_EMIF + false + + + PHY_DDR4_PING_PONG_EN + false + + + PHY_DDR4_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_RATE_ENUM + RATE_QUARTER + + + PHY_DDR4_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR4_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_STARTING_VREFIN + 68.0 + + + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_CLAMSHELL_EN + false + + + PHY_DDR4_USER_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_USER_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR4_USER_PING_PONG_EN + false + + + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_USER_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_USER_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_2CH_EN + false + + + PHY_DDRT_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_AC_IO_STD_ENUM + unset + + + PHY_DDRT_AC_MODE_ENUM + unset + + + PHY_DDRT_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_CK_IO_STD_ENUM + unset + + + PHY_DDRT_CK_MODE_ENUM + unset + + + PHY_DDRT_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_DDRT_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDRT_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDRT_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_DEFAULT_IO + true + + + PHY_DDRT_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDRT_EXPORT_CLK_STP_IF + false + + + PHY_DDRT_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDRT_I2C_USE_SMC + false + + + PHY_DDRT_IC_EN + true + + + PHY_DDRT_IO_VOLTAGE + 1.2 + + + PHY_DDRT_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDRT_MIMIC_HPS_EMIF + false + + + PHY_DDRT_PING_PONG_EN + false + + + PHY_DDRT_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_RATE_ENUM + RATE_QUARTER + + + PHY_DDRT_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDRT_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_IO_STD_ENUM + unset + + + PHY_DDRT_USER_AC_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_CK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_CK_MODE_ENUM + unset + + + PHY_DDRT_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DLL_CORE_UPDN_EN + false + + + PHY_DDRT_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDRT_USER_PING_PONG_EN + false + + + PHY_DDRT_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USE_OLD_SMBUS_MULTICOL + false + + + PHY_DLL_CORE_UPDN_EN + false + + + PHY_FPGA_SPEEDGRADE_GUI + E2V (ES3) - change device under 'View'->'Device Family' + + + PHY_HMC_CLK_RATIO + 2 + + + PHY_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_AC_MODE_ENUM + unset + + + PHY_LPDDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_CK_MODE_ENUM + unset + + + PHY_LPDDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_LPDDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_LPDDR3_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_DEFAULT_IO + true + + + PHY_LPDDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_IO_VOLTAGE + 1.2 + + + PHY_LPDDR3_MEM_CLK_FREQ_MHZ + 800.0 + + + PHY_LPDDR3_MIMIC_HPS_EMIF + false + + + PHY_LPDDR3_PING_PONG_EN + false + + + PHY_LPDDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_RATE_ENUM + RATE_QUARTER + + + PHY_LPDDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_LPDDR3_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_STARTING_VREFIN + 70.0 + + + PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_AC_MODE_ENUM + unset + + + PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_CK_MODE_ENUM + unset + + + PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DLL_CORE_UPDN_EN + false + + + PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_LPDDR3_USER_PING_PONG_EN + false + + + PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_MIMIC_HPS_EMIF + false + + + PHY_PERIODIC_OCT_RECAL + false + + + PHY_PING_PONG_EN + false + + + PHY_QDR2_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_AC_IO_STD_ENUM + unset + + + PHY_QDR2_AC_MODE_ENUM + unset + + + PHY_QDR2_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_CK_IO_STD_ENUM + unset + + + PHY_QDR2_CK_MODE_ENUM + unset + + + PHY_QDR2_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR2_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_DEFAULT_IO + true + + + PHY_QDR2_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR2_IO_VOLTAGE + 1.5 + + + PHY_QDR2_MEM_CLK_FREQ_MHZ + 633.333 + + + PHY_QDR2_MIMIC_HPS_EMIF + false + + + PHY_QDR2_PING_PONG_EN + false + + + PHY_QDR2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_RATE_ENUM + RATE_HALF + + + PHY_QDR2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR2_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_STARTING_VREFIN + 70.0 + + + PHY_QDR2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR2_USER_AC_MODE_ENUM + unset + + + PHY_QDR2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_CK_MODE_ENUM + unset + + + PHY_QDR2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DLL_CORE_UPDN_EN + false + + + PHY_QDR2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR2_USER_PING_PONG_EN + false + + + PHY_QDR2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_USER_STARTING_VREFIN + 70.0 + + + PHY_QDR4_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_AC_IO_STD_ENUM + unset + + + PHY_QDR4_AC_MODE_ENUM + unset + + + PHY_QDR4_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_CK_IO_STD_ENUM + unset + + + PHY_QDR4_CK_MODE_ENUM + unset + + + PHY_QDR4_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR4_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_DEFAULT_IO + true + + + PHY_QDR4_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR4_IO_VOLTAGE + 1.2 + + + PHY_QDR4_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_QDR4_MIMIC_HPS_EMIF + false + + + PHY_QDR4_PING_PONG_EN + false + + + PHY_QDR4_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_RATE_ENUM + RATE_QUARTER + + + PHY_QDR4_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR4_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_STARTING_VREFIN + 70.0 + + + PHY_QDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR4_USER_AC_MODE_ENUM + unset + + + PHY_QDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_CK_MODE_ENUM + unset + + + PHY_QDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_QDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR4_USER_PING_PONG_EN + false + + + PHY_QDR4_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_RATE_ENUM + RATE_QUARTER + + + PHY_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_AC_IO_STD_ENUM + unset + + + PHY_RLD2_AC_MODE_ENUM + unset + + + PHY_RLD2_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_CK_IO_STD_ENUM + unset + + + PHY_RLD2_CK_MODE_ENUM + unset + + + PHY_RLD2_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_RLD2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD2_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_DEFAULT_IO + true + + + PHY_RLD2_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD2_IO_VOLTAGE + 1.8 + + + PHY_RLD2_MEM_CLK_FREQ_MHZ + 533.333 + + + PHY_RLD2_MIMIC_HPS_EMIF + false + + + PHY_RLD2_PING_PONG_EN + false + + + PHY_RLD2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_RATE_ENUM + RATE_HALF + + + PHY_RLD2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_STARTING_VREFIN + 70.0 + + + PHY_RLD2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD2_USER_AC_MODE_ENUM + unset + + + PHY_RLD2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_CK_MODE_ENUM + unset + + + PHY_RLD2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD2_USER_PING_PONG_EN + false + + + PHY_RLD2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_USER_STARTING_VREFIN + 70.0 + + + PHY_RLD3_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_AC_IO_STD_ENUM + unset + + + PHY_RLD3_AC_MODE_ENUM + unset + + + PHY_RLD3_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_CK_IO_STD_ENUM + unset + + + PHY_RLD3_CK_MODE_ENUM + unset + + + PHY_RLD3_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_CONFIG_ENUM + CONFIG_PHY_ONLY + + + PHY_RLD3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD3_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_DEFAULT_IO + true + + + PHY_RLD3_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD3_IO_VOLTAGE + 1.2 + + + PHY_RLD3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_RLD3_MIMIC_HPS_EMIF + false + + + PHY_RLD3_PING_PONG_EN + false + + + PHY_RLD3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_RATE_ENUM + RATE_QUARTER + + + PHY_RLD3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD3_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_STARTING_VREFIN + 70.0 + + + PHY_RLD3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD3_USER_AC_MODE_ENUM + unset + + + PHY_RLD3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_CK_MODE_ENUM + unset + + + PHY_RLD3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD3_USER_PING_PONG_EN + false + + + PHY_RLD3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_USER_STARTING_VREFIN + 70.0 + + + PHY_RZQ + 240 + + + PHY_TARGET_IS_ES + false + + + PHY_TARGET_IS_ES2 + false + + + PHY_TARGET_IS_ES3 + true + + + PHY_TARGET_IS_PRODUCTION + false + + + PHY_TARGET_SPEEDGRADE + E2V + + + PHY_USERMODE_OCT + false + + + PHY_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PINS_C2L_DRIVEN_0 + 267714383 + + + PINS_C2L_DRIVEN_1 + 250877 + + + PINS_C2L_DRIVEN_10 + 0 + + + PINS_C2L_DRIVEN_11 + 0 + + + PINS_C2L_DRIVEN_12 + 0 + + + PINS_C2L_DRIVEN_2 + 0 + + + PINS_C2L_DRIVEN_3 + 1027593152 + + + PINS_C2L_DRIVEN_4 + 267714383 + + + PINS_C2L_DRIVEN_5 + 61 + + + PINS_C2L_DRIVEN_6 + 0 + + + PINS_C2L_DRIVEN_7 + 0 + + + PINS_C2L_DRIVEN_8 + 0 + + + PINS_C2L_DRIVEN_9 + 0 + + + PINS_C2L_DRIVEN_AUTOGEN_WCNT + 13 + + + PINS_DATA_IN_MODE_0 + 151515721 + + + PINS_DATA_IN_MODE_1 + 33329737 + + + PINS_DATA_IN_MODE_10 + 153391231 + + + PINS_DATA_IN_MODE_11 + 153362377 + + + PINS_DATA_IN_MODE_12 + 151515721 + + + PINS_DATA_IN_MODE_13 + 33329737 + + + PINS_DATA_IN_MODE_14 + 1059361353 + + + PINS_DATA_IN_MODE_15 + 37441 + + + PINS_DATA_IN_MODE_16 + 0 + + + PINS_DATA_IN_MODE_17 + 0 + + + PINS_DATA_IN_MODE_18 + 0 + + + PINS_DATA_IN_MODE_19 + 0 + + + PINS_DATA_IN_MODE_2 + 1059361353 + + + PINS_DATA_IN_MODE_20 + 0 + + + PINS_DATA_IN_MODE_21 + 0 + + + PINS_DATA_IN_MODE_22 + 0 + + + PINS_DATA_IN_MODE_23 + 0 + + + PINS_DATA_IN_MODE_24 + 0 + + + PINS_DATA_IN_MODE_25 + 0 + + + PINS_DATA_IN_MODE_26 + 0 + + + PINS_DATA_IN_MODE_27 + 0 + + + PINS_DATA_IN_MODE_28 + 0 + + + PINS_DATA_IN_MODE_29 + 0 + + + PINS_DATA_IN_MODE_3 + 153391681 + + + PINS_DATA_IN_MODE_30 + 0 + + + PINS_DATA_IN_MODE_31 + 0 + + + PINS_DATA_IN_MODE_32 + 0 + + + PINS_DATA_IN_MODE_33 + 0 + + + PINS_DATA_IN_MODE_34 + 0 + + + PINS_DATA_IN_MODE_35 + 0 + + + PINS_DATA_IN_MODE_36 + 0 + + + PINS_DATA_IN_MODE_37 + 0 + + + PINS_DATA_IN_MODE_38 + 0 + + + PINS_DATA_IN_MODE_4 + 153391231 + + + PINS_DATA_IN_MODE_5 + 150736969 + + + PINS_DATA_IN_MODE_6 + 153391689 + + + PINS_DATA_IN_MODE_7 + 153387017 + + + PINS_DATA_IN_MODE_8 + 584 + + + PINS_DATA_IN_MODE_9 + 153354304 + + + PINS_DATA_IN_MODE_AUTOGEN_WCNT + 39 + + + PINS_DCC_SPLIT_0 + 805503024 + + + PINS_DCC_SPLIT_1 + 201329664 + + + PINS_DCC_SPLIT_10 + 0 + + + PINS_DCC_SPLIT_11 + 0 + + + PINS_DCC_SPLIT_12 + 0 + + + PINS_DCC_SPLIT_2 + 0 + + + PINS_DCC_SPLIT_3 + 12585984 + + + PINS_DCC_SPLIT_4 + 805503024 + + + PINS_DCC_SPLIT_5 + 0 + + + PINS_DCC_SPLIT_6 + 0 + + + PINS_DCC_SPLIT_7 + 0 + + + PINS_DCC_SPLIT_8 + 0 + + + PINS_DCC_SPLIT_9 + 0 + + + PINS_DCC_SPLIT_AUTOGEN_WCNT + 13 + + + PINS_OCT_MODE_0 + 1073217407 + + + PINS_OCT_MODE_1 + 253949 + + + PINS_OCT_MODE_10 + 0 + + + PINS_OCT_MODE_11 + 0 + + + PINS_OCT_MODE_12 + 0 + + + PINS_OCT_MODE_2 + 0 + + + PINS_OCT_MODE_3 + 1040179136 + + + PINS_OCT_MODE_4 + 1073217407 + + + PINS_OCT_MODE_5 + 61 + + + PINS_OCT_MODE_6 + 0 + + + PINS_OCT_MODE_7 + 0 + + + PINS_OCT_MODE_8 + 0 + + + PINS_OCT_MODE_9 + 0 + + + PINS_OCT_MODE_AUTOGEN_WCNT + 13 + + + PINS_PER_LANE + 12 + + + PINS_RATE_0 + 0 + + + PINS_RATE_1 + 561774592 + + + PINS_RATE_10 + 0 + + + PINS_RATE_11 + 0 + + + PINS_RATE_12 + 0 + + + PINS_RATE_2 + 15699967 + + + PINS_RATE_3 + 4 + + + PINS_RATE_4 + 0 + + + PINS_RATE_5 + 0 + + + PINS_RATE_6 + 0 + + + PINS_RATE_7 + 0 + + + PINS_RATE_8 + 0 + + + PINS_RATE_9 + 0 + + + PINS_RATE_AUTOGEN_WCNT + 13 + + + PINS_USAGE_0 + 1073217407 + + + PINS_USAGE_1 + 763355133 + + + PINS_USAGE_10 + 0 + + + PINS_USAGE_11 + 0 + + + PINS_USAGE_12 + 0 + + + PINS_USAGE_2 + 15699967 + + + PINS_USAGE_3 + 1040179140 + + + PINS_USAGE_4 + 1073217407 + + + PINS_USAGE_5 + 61 + + + PINS_USAGE_6 + 0 + + + PINS_USAGE_7 + 0 + + + PINS_USAGE_8 + 0 + + + PINS_USAGE_9 + 0 + + + PINS_USAGE_AUTOGEN_WCNT + 13 + + + PLL_ADD_EXTRA_CLKS + false + + + PLL_BW_CTRL + pll_bw_res_setting4 + + + PLL_BW_SEL + high + + + PLL_CP_SETTING + pll_cp_setting12 + + + PLL_C_CNT_BYPASS_EN_0 + false + + + PLL_C_CNT_BYPASS_EN_1 + false + + + PLL_C_CNT_BYPASS_EN_2 + false + + + PLL_C_CNT_BYPASS_EN_3 + false + + + PLL_C_CNT_BYPASS_EN_4 + false + + + PLL_C_CNT_BYPASS_EN_5 + true + + + PLL_C_CNT_BYPASS_EN_6 + true + + + PLL_C_CNT_BYPASS_EN_7 + true + + + PLL_C_CNT_BYPASS_EN_8 + true + + + PLL_C_CNT_DUTY_CYCLE_0 + 50 + + + PLL_C_CNT_DUTY_CYCLE_1 + 50 + + + PLL_C_CNT_DUTY_CYCLE_2 + 50 + + + PLL_C_CNT_DUTY_CYCLE_3 + 50 + + + PLL_C_CNT_DUTY_CYCLE_4 + 50 + + + PLL_C_CNT_DUTY_CYCLE_5 + 50 + + + PLL_C_CNT_DUTY_CYCLE_6 + 50 + + + PLL_C_CNT_DUTY_CYCLE_7 + 50 + + + PLL_C_CNT_DUTY_CYCLE_8 + 50 + + + PLL_C_CNT_EVEN_DUTY_EN_0 + false + + + PLL_C_CNT_EVEN_DUTY_EN_1 + false + + + PLL_C_CNT_EVEN_DUTY_EN_2 + false + + + PLL_C_CNT_EVEN_DUTY_EN_3 + false + + + PLL_C_CNT_EVEN_DUTY_EN_4 + false + + + PLL_C_CNT_EVEN_DUTY_EN_5 + false + + + PLL_C_CNT_EVEN_DUTY_EN_6 + false + + + PLL_C_CNT_EVEN_DUTY_EN_7 + false + + + PLL_C_CNT_EVEN_DUTY_EN_8 + false + + + PLL_C_CNT_FREQ_MHZ_STR_0 + 300.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_1 + 600.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_2 + 300.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_3 + 600.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_4 + 300.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_5 + 0.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_6 + 0.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_7 + 0.0 MHz + + + PLL_C_CNT_FREQ_MHZ_STR_8 + 0.0 MHz + + + PLL_C_CNT_FREQ_PS_STR_0 + 3336 ps + + + PLL_C_CNT_FREQ_PS_STR_1 + 1668 ps + + + PLL_C_CNT_FREQ_PS_STR_2 + 3336 ps + + + PLL_C_CNT_FREQ_PS_STR_3 + 1668 ps + + + PLL_C_CNT_FREQ_PS_STR_4 + 3336 ps + + + PLL_C_CNT_FREQ_PS_STR_5 + 0 ps + + + PLL_C_CNT_FREQ_PS_STR_6 + 0 ps + + + PLL_C_CNT_FREQ_PS_STR_7 + 0 ps + + + PLL_C_CNT_FREQ_PS_STR_8 + 0 ps + + + PLL_C_CNT_HIGH_0 + 2 + + + PLL_C_CNT_HIGH_1 + 1 + + + PLL_C_CNT_HIGH_2 + 2 + + + PLL_C_CNT_HIGH_3 + 1 + + + PLL_C_CNT_HIGH_4 + 2 + + + PLL_C_CNT_HIGH_5 + 256 + + + PLL_C_CNT_HIGH_6 + 256 + + + PLL_C_CNT_HIGH_7 + 256 + + + PLL_C_CNT_HIGH_8 + 256 + + + PLL_C_CNT_LOW_0 + 2 + + + PLL_C_CNT_LOW_1 + 1 + + + PLL_C_CNT_LOW_2 + 2 + + + PLL_C_CNT_LOW_3 + 1 + + + PLL_C_CNT_LOW_4 + 2 + + + PLL_C_CNT_LOW_5 + 256 + + + PLL_C_CNT_LOW_6 + 256 + + + PLL_C_CNT_LOW_7 + 256 + + + PLL_C_CNT_LOW_8 + 256 + + + PLL_C_CNT_OUT_EN_0 + true + + + PLL_C_CNT_OUT_EN_1 + true + + + PLL_C_CNT_OUT_EN_2 + true + + + PLL_C_CNT_OUT_EN_3 + true + + + PLL_C_CNT_OUT_EN_4 + true + + + PLL_C_CNT_OUT_EN_5 + false + + + PLL_C_CNT_OUT_EN_6 + false + + + PLL_C_CNT_OUT_EN_7 + false + + + PLL_C_CNT_OUT_EN_8 + false + + + PLL_C_CNT_PHASE_PS_STR_0 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_1 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_2 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_3 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_4 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_5 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_6 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_7 + 0 ps + + + PLL_C_CNT_PHASE_PS_STR_8 + 0 ps + + + PLL_C_CNT_PH_MUX_PRST_0 + 0 + + + PLL_C_CNT_PH_MUX_PRST_1 + 0 + + + PLL_C_CNT_PH_MUX_PRST_2 + 0 + + + PLL_C_CNT_PH_MUX_PRST_3 + 0 + + + PLL_C_CNT_PH_MUX_PRST_4 + 0 + + + PLL_C_CNT_PH_MUX_PRST_5 + 0 + + + PLL_C_CNT_PH_MUX_PRST_6 + 0 + + + PLL_C_CNT_PH_MUX_PRST_7 + 0 + + + PLL_C_CNT_PH_MUX_PRST_8 + 0 + + + PLL_C_CNT_PRST_0 + 1 + + + PLL_C_CNT_PRST_1 + 1 + + + PLL_C_CNT_PRST_2 + 1 + + + PLL_C_CNT_PRST_3 + 1 + + + PLL_C_CNT_PRST_4 + 1 + + + PLL_C_CNT_PRST_5 + 1 + + + PLL_C_CNT_PRST_6 + 1 + + + PLL_C_CNT_PRST_7 + 1 + + + PLL_C_CNT_PRST_8 + 1 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 + ps + + + PLL_FBCLK_MUX_1 + pll_fbclk_mux_1_glb + + + PLL_FBCLK_MUX_2 + pll_fbclk_mux_2_m_cnt + + + PLL_MEM_CLK_FREQ_PS + 834 + + + PLL_M_CNT_BYPASS_EN + false + + + PLL_M_CNT_EVEN_DUTY_EN + false + + + PLL_M_CNT_HIGH + 18 + + + PLL_M_CNT_IN_SRC + c_m_cnt_in_src_ph_mux_clk + + + PLL_M_CNT_LOW + 18 + + + PLL_NUM_OF_EXTRA_CLKS + 0 + + + PLL_N_CNT_BYPASS_EN + true + + + PLL_N_CNT_EVEN_DUTY_EN + false + + + PLL_N_CNT_HIGH + 256 + + + PLL_N_CNT_LOW + 256 + + + PLL_PHY_CLK_VCO_PHASE + 0 + + + PLL_REF_CLK_FREQ_MHZ_STR + 33.333 MHz + + + PLL_REF_CLK_FREQ_PS + 30024 + + + PLL_REF_CLK_FREQ_PS_STR + 30024 ps + + + PLL_SIM_PHYCLK_0_FREQ_PS + 1680 + + + PLL_SIM_PHYCLK_1_FREQ_PS + 3360 + + + PLL_SIM_PHYCLK_FB_FREQ_PS + 3360 + + + PLL_SIM_PHY_CLK_VCO_PHASE_PS + 0 + + + PLL_SIM_VCO_FREQ_PS + 840 + + + PLL_USER_NUM_OF_EXTRA_CLKS + 0 + + + PLL_VCO_CLK_FREQ_MHZ + 1200.0 + + + PLL_VCO_FREQ_MHZ_INT + 1200 + + + PLL_VCO_FREQ_MHZ_STR + 1200 MHz + + + PLL_VCO_FREQ_PS_STR + 834 ps + + + PLL_VCO_TO_MEM_CLK_FREQ_RATIO + 1 + + + PORT_AFI_ACT_N_WIDTH + 1 + + + PORT_AFI_ADDR_WIDTH + 1 + + + PORT_AFI_AINV_WIDTH + 1 + + + PORT_AFI_ALERT_N_WIDTH + 1 + + + PORT_AFI_AP_WIDTH + 1 + + + PORT_AFI_BA_WIDTH + 1 + + + PORT_AFI_BG_WIDTH + 1 + + + PORT_AFI_BWS_N_WIDTH + 1 + + + PORT_AFI_CAS_N_WIDTH + 1 + + + PORT_AFI_CA_WIDTH + 1 + + + PORT_AFI_CFG_N_WIDTH + 1 + + + PORT_AFI_CKE_WIDTH + 1 + + + PORT_AFI_CS_N_WIDTH + 1 + + + PORT_AFI_C_WIDTH + 1 + + + PORT_AFI_DM_N_WIDTH + 1 + + + PORT_AFI_DM_WIDTH + 1 + + + PORT_AFI_DOFF_N_WIDTH + 1 + + + PORT_AFI_DQS_BURST_WIDTH + 1 + + + PORT_AFI_ERR_N_WIDTH + 1 + + + PORT_AFI_GNT_N_WIDTH + 1 + + + PORT_AFI_LBK0_N_WIDTH + 1 + + + PORT_AFI_LBK1_N_WIDTH + 1 + + + PORT_AFI_LD_N_WIDTH + 1 + + + PORT_AFI_ODT_WIDTH + 1 + + + PORT_AFI_PAR_WIDTH + 1 + + + PORT_AFI_PE_N_WIDTH + 1 + + + PORT_AFI_RAS_N_WIDTH + 1 + + + PORT_AFI_RDATA_DBI_N_WIDTH + 1 + + + PORT_AFI_RDATA_DINV_WIDTH + 1 + + + PORT_AFI_RDATA_EN_FULL_WIDTH + 1 + + + PORT_AFI_RDATA_VALID_WIDTH + 1 + + + PORT_AFI_RDATA_WIDTH + 1 + + + PORT_AFI_REF_N_WIDTH + 1 + + + PORT_AFI_REQ_N_WIDTH + 1 + + + PORT_AFI_RLAT_WIDTH + 6 + + + PORT_AFI_RM_WIDTH + 1 + + + PORT_AFI_RPS_N_WIDTH + 1 + + + PORT_AFI_RRANK_WIDTH + 1 + + + PORT_AFI_RST_N_WIDTH + 1 + + + PORT_AFI_RW_N_WIDTH + 1 + + + PORT_AFI_SEQ_BUSY_WIDTH + 4 + + + PORT_AFI_WDATA_DBI_N_WIDTH + 1 + + + PORT_AFI_WDATA_DINV_WIDTH + 1 + + + PORT_AFI_WDATA_VALID_WIDTH + 1 + + + PORT_AFI_WDATA_WIDTH + 1 + + + PORT_AFI_WE_N_WIDTH + 1 + + + PORT_AFI_WLAT_WIDTH + 6 + + + PORT_AFI_WPS_N_WIDTH + 1 + + + PORT_AFI_WRANK_WIDTH + 1 + + + PORT_CALBUS_ADDRESS_WIDTH + 20 + + + PORT_CALBUS_RDATA_WIDTH + 32 + + + PORT_CALBUS_SEQ_PARAM_TBL_WIDTH + 4096 + + + PORT_CALBUS_WDATA_WIDTH + 32 + + + PORT_CLKS_SHARING_MASTER_OUT_WIDTH + 32 + + + PORT_CLKS_SHARING_SLAVE_IN_WIDTH + 32 + + + PORT_CLKS_SHARING_SLAVE_OUT_WIDTH + 32 + + + PORT_CTRL_AMM_ADDRESS_WIDTH + 1 + + + PORT_CTRL_AMM_BCOUNT_WIDTH + 1 + + + PORT_CTRL_AMM_BYTEEN_WIDTH + 1 + + + PORT_CTRL_AMM_RDATA_WIDTH + 1 + + + PORT_CTRL_AMM_WDATA_WIDTH + 1 + + + PORT_CTRL_AST_CMD_DATA_WIDTH + 61 + + + PORT_CTRL_AST_RD_DATA_WIDTH + 576 + + + PORT_CTRL_AST_WR_DATA_WIDTH + 648 + + + PORT_CTRL_DATA_IN_WIDTH + 1 + + + PORT_CTRL_DATA_OE_WIDTH + 1 + + + PORT_CTRL_DATA_OUT_WIDTH + 1 + + + PORT_CTRL_ECC_CMD_INFO_WIDTH + 3 + + + PORT_CTRL_ECC_RDATA_ID_WIDTH + 13 + + + PORT_CTRL_ECC_READ_INFO_WIDTH + 3 + + + PORT_CTRL_ECC_WB_POINTER_WIDTH + 12 + + + PORT_CTRL_ECC_WRITE_INFO_WIDTH + 15 + + + PORT_CTRL_LOCKED_WIDTH + 1 + + + PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH + 10 + + + PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH + 2 + + + PORT_CTRL_MMR_SLAVE_RDATA_WIDTH + 32 + + + PORT_CTRL_MMR_SLAVE_WDATA_WIDTH + 32 + + + PORT_CTRL_RDATA_ENABLE_WIDTH + 1 + + + PORT_CTRL_RDATA_VALID_WIDTH + 1 + + + PORT_CTRL_SELF_REFRESH_REQ_WIDTH + 4 + + + PORT_CTRL_STROBE_OE_WIDTH + 1 + + + PORT_CTRL_STROBE_WIDTH + 1 + + + PORT_CTRL_USER_REFRESH_BANK_WIDTH + 16 + + + PORT_CTRL_USER_REFRESH_REQ_WIDTH + 4 + + + PORT_DFT_ND_CORE_CLK_BUF_OUT_WIDTH + 2 + + + PORT_DFT_ND_CORE_CLK_LOCKED_WIDTH + 2 + + + PORT_DFT_ND_PA_DPRIO_READDATA_WIDTH + 8 + + + PORT_DFT_ND_PA_DPRIO_REG_ADDR_WIDTH + 9 + + + PORT_DFT_ND_PA_DPRIO_WRITEDATA_WIDTH + 8 + + + PORT_DFT_ND_PLL_CNTSEL_WIDTH + 4 + + + PORT_DFT_ND_PLL_CORE_REFCLK_WIDTH + 4 + + + PORT_DFT_ND_PLL_NUM_SHIFT_WIDTH + 3 + + + PORT_HPS_EMIF_E2H_GP_WIDTH + 1 + + + PORT_HPS_EMIF_E2H_WIDTH + 4096 + + + PORT_HPS_EMIF_H2E_GP_WIDTH + 2 + + + PORT_HPS_EMIF_H2E_WIDTH + 4096 + + + PORT_MEM_ACT_N_PINLOC_0 + 52225 + + + PORT_MEM_ACT_N_PINLOC_1 + 0 + + + PORT_MEM_ACT_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_ACT_N_WIDTH + 1 + + + PORT_MEM_AINV_PINLOC_0 + 0 + + + PORT_MEM_AINV_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_AINV_WIDTH + 1 + + + PORT_MEM_ALERT_N_PINLOC_0 + 94209 + + + PORT_MEM_ALERT_N_PINLOC_1 + 0 + + + PORT_MEM_ALERT_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_ALERT_N_WIDTH + 1 + + + PORT_MEM_AP_PINLOC_0 + 0 + + + PORT_MEM_AP_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_AP_WIDTH + 1 + + + PORT_MEM_A_PINLOC_0 + 64024593 + + + PORT_MEM_A_PINLOC_1 + 67173438 + + + PORT_MEM_A_PINLOC_10 + 0 + + + PORT_MEM_A_PINLOC_11 + 0 + + + PORT_MEM_A_PINLOC_12 + 0 + + + PORT_MEM_A_PINLOC_13 + 0 + + + PORT_MEM_A_PINLOC_14 + 0 + + + PORT_MEM_A_PINLOC_15 + 0 + + + PORT_MEM_A_PINLOC_16 + 0 + + + PORT_MEM_A_PINLOC_2 + 70322241 + + + PORT_MEM_A_PINLOC_3 + 73471044 + + + PORT_MEM_A_PINLOC_4 + 79768647 + + + PORT_MEM_A_PINLOC_5 + 82917453 + + + PORT_MEM_A_PINLOC_6 + 0 + + + PORT_MEM_A_PINLOC_7 + 0 + + + PORT_MEM_A_PINLOC_8 + 0 + + + PORT_MEM_A_PINLOC_9 + 0 + + + PORT_MEM_A_PINLOC_AUTOGEN_WCNT + 17 + + + PORT_MEM_A_WIDTH + 17 + + + PORT_MEM_BA_PINLOC_0 + 86066178 + + + PORT_MEM_BA_PINLOC_1 + 0 + + + PORT_MEM_BA_PINLOC_2 + 0 + + + PORT_MEM_BA_PINLOC_3 + 0 + + + PORT_MEM_BA_PINLOC_4 + 0 + + + PORT_MEM_BA_PINLOC_5 + 0 + + + PORT_MEM_BA_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_BA_WIDTH + 2 + + + PORT_MEM_BG_PINLOC_0 + 50416642 + + + PORT_MEM_BG_PINLOC_1 + 0 + + + PORT_MEM_BG_PINLOC_2 + 0 + + + PORT_MEM_BG_PINLOC_3 + 0 + + + PORT_MEM_BG_PINLOC_4 + 0 + + + PORT_MEM_BG_PINLOC_5 + 0 + + + PORT_MEM_BG_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_BG_WIDTH + 2 + + + PORT_MEM_BWS_N_PINLOC_0 + 0 + + + PORT_MEM_BWS_N_PINLOC_1 + 0 + + + PORT_MEM_BWS_N_PINLOC_2 + 0 + + + PORT_MEM_BWS_N_PINLOC_AUTOGEN_WCNT + 3 + + + PORT_MEM_BWS_N_WIDTH + 1 + + + PORT_MEM_CAS_N_PINLOC_0 + 0 + + + PORT_MEM_CAS_N_PINLOC_1 + 0 + + + PORT_MEM_CAS_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_CAS_N_WIDTH + 1 + + + PORT_MEM_CA_PINLOC_0 + 0 + + + PORT_MEM_CA_PINLOC_1 + 0 + + + PORT_MEM_CA_PINLOC_10 + 0 + + + PORT_MEM_CA_PINLOC_11 + 0 + + + PORT_MEM_CA_PINLOC_12 + 0 + + + PORT_MEM_CA_PINLOC_13 + 0 + + + PORT_MEM_CA_PINLOC_14 + 0 + + + PORT_MEM_CA_PINLOC_15 + 0 + + + PORT_MEM_CA_PINLOC_16 + 0 + + + PORT_MEM_CA_PINLOC_2 + 0 + + + PORT_MEM_CA_PINLOC_3 + 0 + + + PORT_MEM_CA_PINLOC_4 + 0 + + + PORT_MEM_CA_PINLOC_5 + 0 + + + PORT_MEM_CA_PINLOC_6 + 0 + + + PORT_MEM_CA_PINLOC_7 + 0 + + + PORT_MEM_CA_PINLOC_8 + 0 + + + PORT_MEM_CA_PINLOC_9 + 0 + + + PORT_MEM_CA_PINLOC_AUTOGEN_WCNT + 17 + + + PORT_MEM_CA_WIDTH + 1 + + + PORT_MEM_CFG_N_PINLOC_0 + 0 + + + PORT_MEM_CFG_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_CFG_N_WIDTH + 1 + + + PORT_MEM_CKE_PINLOC_0 + 55297 + + + PORT_MEM_CKE_PINLOC_1 + 0 + + + PORT_MEM_CKE_PINLOC_2 + 0 + + + PORT_MEM_CKE_PINLOC_3 + 0 + + + PORT_MEM_CKE_PINLOC_4 + 0 + + + PORT_MEM_CKE_PINLOC_5 + 0 + + + PORT_MEM_CKE_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CKE_WIDTH + 1 + + + PORT_MEM_CK_BIDIR_N_PINLOC_0 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_1 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_2 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_3 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_4 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_5 + 0 + + + PORT_MEM_CK_BIDIR_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CK_BIDIR_N_WIDTH + 1 + + + PORT_MEM_CK_BIDIR_PINLOC_0 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_1 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_2 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_3 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_4 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_5 + 0 + + + PORT_MEM_CK_BIDIR_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CK_BIDIR_WIDTH + 1 + + + PORT_MEM_CK_N_PINLOC_0 + 58369 + + + PORT_MEM_CK_N_PINLOC_1 + 0 + + + PORT_MEM_CK_N_PINLOC_2 + 0 + + + PORT_MEM_CK_N_PINLOC_3 + 0 + + + PORT_MEM_CK_N_PINLOC_4 + 0 + + + PORT_MEM_CK_N_PINLOC_5 + 0 + + + PORT_MEM_CK_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CK_N_WIDTH + 1 + + + PORT_MEM_CK_PINLOC_0 + 57345 + + + PORT_MEM_CK_PINLOC_1 + 0 + + + PORT_MEM_CK_PINLOC_2 + 0 + + + PORT_MEM_CK_PINLOC_3 + 0 + + + PORT_MEM_CK_PINLOC_4 + 0 + + + PORT_MEM_CK_PINLOC_5 + 0 + + + PORT_MEM_CK_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CK_WIDTH + 1 + + + PORT_MEM_CQ_N_PINLOC_0 + 0 + + + PORT_MEM_CQ_N_PINLOC_1 + 0 + + + PORT_MEM_CQ_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_CQ_N_WIDTH + 1 + + + PORT_MEM_CQ_PINLOC_0 + 0 + + + PORT_MEM_CQ_PINLOC_1 + 0 + + + PORT_MEM_CQ_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_CQ_WIDTH + 1 + + + PORT_MEM_CS_N_PINLOC_0 + 51201 + + + PORT_MEM_CS_N_PINLOC_1 + 0 + + + PORT_MEM_CS_N_PINLOC_2 + 0 + + + PORT_MEM_CS_N_PINLOC_3 + 0 + + + PORT_MEM_CS_N_PINLOC_4 + 0 + + + PORT_MEM_CS_N_PINLOC_5 + 0 + + + PORT_MEM_CS_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_CS_N_WIDTH + 1 + + + PORT_MEM_C_PINLOC_0 + 0 + + + PORT_MEM_C_PINLOC_1 + 0 + + + PORT_MEM_C_PINLOC_2 + 0 + + + PORT_MEM_C_PINLOC_3 + 0 + + + PORT_MEM_C_PINLOC_4 + 0 + + + PORT_MEM_C_PINLOC_5 + 0 + + + PORT_MEM_C_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_C_WIDTH + 1 + + + PORT_MEM_DBI_N_PINLOC_0 + 18880521 + + + PORT_MEM_DBI_N_PINLOC_1 + 106997790 + + + PORT_MEM_DBI_N_PINLOC_2 + 144832626 + + + PORT_MEM_DBI_N_PINLOC_3 + 150 + + + PORT_MEM_DBI_N_PINLOC_4 + 0 + + + PORT_MEM_DBI_N_PINLOC_5 + 0 + + + PORT_MEM_DBI_N_PINLOC_6 + 0 + + + PORT_MEM_DBI_N_PINLOC_AUTOGEN_WCNT + 7 + + + PORT_MEM_DBI_N_WIDTH + 9 + + + PORT_MEM_DINVA_PINLOC_0 + 0 + + + PORT_MEM_DINVA_PINLOC_1 + 0 + + + PORT_MEM_DINVA_PINLOC_2 + 0 + + + PORT_MEM_DINVA_PINLOC_AUTOGEN_WCNT + 3 + + + PORT_MEM_DINVA_WIDTH + 1 + + + PORT_MEM_DINVB_PINLOC_0 + 0 + + + PORT_MEM_DINVB_PINLOC_1 + 0 + + + PORT_MEM_DINVB_PINLOC_2 + 0 + + + PORT_MEM_DINVB_PINLOC_AUTOGEN_WCNT + 3 + + + PORT_MEM_DINVB_WIDTH + 1 + + + PORT_MEM_DKA_N_PINLOC_0 + 0 + + + PORT_MEM_DKA_N_PINLOC_1 + 0 + + + PORT_MEM_DKA_N_PINLOC_2 + 0 + + + PORT_MEM_DKA_N_PINLOC_3 + 0 + + + PORT_MEM_DKA_N_PINLOC_4 + 0 + + + PORT_MEM_DKA_N_PINLOC_5 + 0 + + + PORT_MEM_DKA_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DKA_N_WIDTH + 1 + + + PORT_MEM_DKA_PINLOC_0 + 0 + + + PORT_MEM_DKA_PINLOC_1 + 0 + + + PORT_MEM_DKA_PINLOC_2 + 0 + + + PORT_MEM_DKA_PINLOC_3 + 0 + + + PORT_MEM_DKA_PINLOC_4 + 0 + + + PORT_MEM_DKA_PINLOC_5 + 0 + + + PORT_MEM_DKA_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DKA_WIDTH + 1 + + + PORT_MEM_DKB_N_PINLOC_0 + 0 + + + PORT_MEM_DKB_N_PINLOC_1 + 0 + + + PORT_MEM_DKB_N_PINLOC_2 + 0 + + + PORT_MEM_DKB_N_PINLOC_3 + 0 + + + PORT_MEM_DKB_N_PINLOC_4 + 0 + + + PORT_MEM_DKB_N_PINLOC_5 + 0 + + + PORT_MEM_DKB_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DKB_N_WIDTH + 1 + + + PORT_MEM_DKB_PINLOC_0 + 0 + + + PORT_MEM_DKB_PINLOC_1 + 0 + + + PORT_MEM_DKB_PINLOC_2 + 0 + + + PORT_MEM_DKB_PINLOC_3 + 0 + + + PORT_MEM_DKB_PINLOC_4 + 0 + + + PORT_MEM_DKB_PINLOC_5 + 0 + + + PORT_MEM_DKB_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DKB_WIDTH + 1 + + + PORT_MEM_DK_N_PINLOC_0 + 0 + + + PORT_MEM_DK_N_PINLOC_1 + 0 + + + PORT_MEM_DK_N_PINLOC_2 + 0 + + + PORT_MEM_DK_N_PINLOC_3 + 0 + + + PORT_MEM_DK_N_PINLOC_4 + 0 + + + PORT_MEM_DK_N_PINLOC_5 + 0 + + + PORT_MEM_DK_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DK_N_WIDTH + 1 + + + PORT_MEM_DK_PINLOC_0 + 0 + + + PORT_MEM_DK_PINLOC_1 + 0 + + + PORT_MEM_DK_PINLOC_2 + 0 + + + PORT_MEM_DK_PINLOC_3 + 0 + + + PORT_MEM_DK_PINLOC_4 + 0 + + + PORT_MEM_DK_PINLOC_5 + 0 + + + PORT_MEM_DK_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_DK_WIDTH + 1 + + + PORT_MEM_DM_PINLOC_0 + 0 + + + PORT_MEM_DM_PINLOC_1 + 0 + + + PORT_MEM_DM_PINLOC_10 + 0 + + + PORT_MEM_DM_PINLOC_11 + 0 + + + PORT_MEM_DM_PINLOC_12 + 0 + + + PORT_MEM_DM_PINLOC_2 + 0 + + + PORT_MEM_DM_PINLOC_3 + 0 + + + PORT_MEM_DM_PINLOC_4 + 0 + + + PORT_MEM_DM_PINLOC_5 + 0 + + + PORT_MEM_DM_PINLOC_6 + 0 + + + PORT_MEM_DM_PINLOC_7 + 0 + + + PORT_MEM_DM_PINLOC_8 + 0 + + + PORT_MEM_DM_PINLOC_9 + 0 + + + PORT_MEM_DM_PINLOC_AUTOGEN_WCNT + 13 + + + PORT_MEM_DM_WIDTH + 1 + + + PORT_MEM_DOFF_N_PINLOC_0 + 0 + + + PORT_MEM_DOFF_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_DOFF_N_WIDTH + 1 + + + PORT_MEM_DQA_PINLOC_0 + 0 + + + PORT_MEM_DQA_PINLOC_1 + 0 + + + PORT_MEM_DQA_PINLOC_10 + 0 + + + PORT_MEM_DQA_PINLOC_11 + 0 + + + PORT_MEM_DQA_PINLOC_12 + 0 + + + PORT_MEM_DQA_PINLOC_13 + 0 + + + PORT_MEM_DQA_PINLOC_14 + 0 + + + PORT_MEM_DQA_PINLOC_15 + 0 + + + PORT_MEM_DQA_PINLOC_16 + 0 + + + PORT_MEM_DQA_PINLOC_17 + 0 + + + PORT_MEM_DQA_PINLOC_18 + 0 + + + PORT_MEM_DQA_PINLOC_19 + 0 + + + PORT_MEM_DQA_PINLOC_2 + 0 + + + PORT_MEM_DQA_PINLOC_20 + 0 + + + PORT_MEM_DQA_PINLOC_21 + 0 + + + PORT_MEM_DQA_PINLOC_22 + 0 + + + PORT_MEM_DQA_PINLOC_23 + 0 + + + PORT_MEM_DQA_PINLOC_24 + 0 + + + PORT_MEM_DQA_PINLOC_25 + 0 + + + PORT_MEM_DQA_PINLOC_26 + 0 + + + PORT_MEM_DQA_PINLOC_27 + 0 + + + PORT_MEM_DQA_PINLOC_28 + 0 + + + PORT_MEM_DQA_PINLOC_29 + 0 + + + PORT_MEM_DQA_PINLOC_3 + 0 + + + PORT_MEM_DQA_PINLOC_30 + 0 + + + PORT_MEM_DQA_PINLOC_31 + 0 + + + PORT_MEM_DQA_PINLOC_32 + 0 + + + PORT_MEM_DQA_PINLOC_33 + 0 + + + PORT_MEM_DQA_PINLOC_34 + 0 + + + PORT_MEM_DQA_PINLOC_35 + 0 + + + PORT_MEM_DQA_PINLOC_36 + 0 + + + PORT_MEM_DQA_PINLOC_37 + 0 + + + PORT_MEM_DQA_PINLOC_38 + 0 + + + PORT_MEM_DQA_PINLOC_39 + 0 + + + PORT_MEM_DQA_PINLOC_4 + 0 + + + PORT_MEM_DQA_PINLOC_40 + 0 + + + PORT_MEM_DQA_PINLOC_41 + 0 + + + PORT_MEM_DQA_PINLOC_42 + 0 + + + PORT_MEM_DQA_PINLOC_43 + 0 + + + PORT_MEM_DQA_PINLOC_44 + 0 + + + PORT_MEM_DQA_PINLOC_45 + 0 + + + PORT_MEM_DQA_PINLOC_46 + 0 + + + PORT_MEM_DQA_PINLOC_47 + 0 + + + PORT_MEM_DQA_PINLOC_48 + 0 + + + PORT_MEM_DQA_PINLOC_5 + 0 + + + PORT_MEM_DQA_PINLOC_6 + 0 + + + PORT_MEM_DQA_PINLOC_7 + 0 + + + PORT_MEM_DQA_PINLOC_8 + 0 + + + PORT_MEM_DQA_PINLOC_9 + 0 + + + PORT_MEM_DQA_PINLOC_AUTOGEN_WCNT + 49 + + + PORT_MEM_DQA_WIDTH + 1 + + + PORT_MEM_DQB_PINLOC_0 + 0 + + + PORT_MEM_DQB_PINLOC_1 + 0 + + + PORT_MEM_DQB_PINLOC_10 + 0 + + + PORT_MEM_DQB_PINLOC_11 + 0 + + + PORT_MEM_DQB_PINLOC_12 + 0 + + + PORT_MEM_DQB_PINLOC_13 + 0 + + + PORT_MEM_DQB_PINLOC_14 + 0 + + + PORT_MEM_DQB_PINLOC_15 + 0 + + + PORT_MEM_DQB_PINLOC_16 + 0 + + + PORT_MEM_DQB_PINLOC_17 + 0 + + + PORT_MEM_DQB_PINLOC_18 + 0 + + + PORT_MEM_DQB_PINLOC_19 + 0 + + + PORT_MEM_DQB_PINLOC_2 + 0 + + + PORT_MEM_DQB_PINLOC_20 + 0 + + + PORT_MEM_DQB_PINLOC_21 + 0 + + + PORT_MEM_DQB_PINLOC_22 + 0 + + + PORT_MEM_DQB_PINLOC_23 + 0 + + + PORT_MEM_DQB_PINLOC_24 + 0 + + + PORT_MEM_DQB_PINLOC_25 + 0 + + + PORT_MEM_DQB_PINLOC_26 + 0 + + + PORT_MEM_DQB_PINLOC_27 + 0 + + + PORT_MEM_DQB_PINLOC_28 + 0 + + + PORT_MEM_DQB_PINLOC_29 + 0 + + + PORT_MEM_DQB_PINLOC_3 + 0 + + + PORT_MEM_DQB_PINLOC_30 + 0 + + + PORT_MEM_DQB_PINLOC_31 + 0 + + + PORT_MEM_DQB_PINLOC_32 + 0 + + + PORT_MEM_DQB_PINLOC_33 + 0 + + + PORT_MEM_DQB_PINLOC_34 + 0 + + + PORT_MEM_DQB_PINLOC_35 + 0 + + + PORT_MEM_DQB_PINLOC_36 + 0 + + + PORT_MEM_DQB_PINLOC_37 + 0 + + + PORT_MEM_DQB_PINLOC_38 + 0 + + + PORT_MEM_DQB_PINLOC_39 + 0 + + + PORT_MEM_DQB_PINLOC_4 + 0 + + + PORT_MEM_DQB_PINLOC_40 + 0 + + + PORT_MEM_DQB_PINLOC_41 + 0 + + + PORT_MEM_DQB_PINLOC_42 + 0 + + + PORT_MEM_DQB_PINLOC_43 + 0 + + + PORT_MEM_DQB_PINLOC_44 + 0 + + + PORT_MEM_DQB_PINLOC_45 + 0 + + + PORT_MEM_DQB_PINLOC_46 + 0 + + + PORT_MEM_DQB_PINLOC_47 + 0 + + + PORT_MEM_DQB_PINLOC_48 + 0 + + + PORT_MEM_DQB_PINLOC_5 + 0 + + + PORT_MEM_DQB_PINLOC_6 + 0 + + + PORT_MEM_DQB_PINLOC_7 + 0 + + + PORT_MEM_DQB_PINLOC_8 + 0 + + + PORT_MEM_DQB_PINLOC_9 + 0 + + + PORT_MEM_DQB_PINLOC_AUTOGEN_WCNT + 49 + + + PORT_MEM_DQB_WIDTH + 1 + + + PORT_MEM_DQS_N_PINLOC_0 + 17830921 + + + PORT_MEM_DQS_N_PINLOC_1 + 105948189 + + + PORT_MEM_DQS_N_PINLOC_10 + 0 + + + PORT_MEM_DQS_N_PINLOC_11 + 0 + + + PORT_MEM_DQS_N_PINLOC_12 + 0 + + + PORT_MEM_DQS_N_PINLOC_2 + 143783025 + + + PORT_MEM_DQS_N_PINLOC_3 + 149 + + + PORT_MEM_DQS_N_PINLOC_4 + 0 + + + PORT_MEM_DQS_N_PINLOC_5 + 0 + + + PORT_MEM_DQS_N_PINLOC_6 + 0 + + + PORT_MEM_DQS_N_PINLOC_7 + 0 + + + PORT_MEM_DQS_N_PINLOC_8 + 0 + + + PORT_MEM_DQS_N_PINLOC_9 + 0 + + + PORT_MEM_DQS_N_PINLOC_AUTOGEN_WCNT + 13 + + + PORT_MEM_DQS_N_WIDTH + 9 + + + PORT_MEM_DQS_PINLOC_0 + 16781321 + + + PORT_MEM_DQS_PINLOC_1 + 104898588 + + + PORT_MEM_DQS_PINLOC_10 + 0 + + + PORT_MEM_DQS_PINLOC_11 + 0 + + + PORT_MEM_DQS_PINLOC_12 + 0 + + + PORT_MEM_DQS_PINLOC_2 + 142733424 + + + PORT_MEM_DQS_PINLOC_3 + 148 + + + PORT_MEM_DQS_PINLOC_4 + 0 + + + PORT_MEM_DQS_PINLOC_5 + 0 + + + PORT_MEM_DQS_PINLOC_6 + 0 + + + PORT_MEM_DQS_PINLOC_7 + 0 + + + PORT_MEM_DQS_PINLOC_8 + 0 + + + PORT_MEM_DQS_PINLOC_9 + 0 + + + PORT_MEM_DQS_PINLOC_AUTOGEN_WCNT + 13 + + + PORT_MEM_DQS_WIDTH + 9 + + + PORT_MEM_DQ_PINLOC_0 + 1048648 + + + PORT_MEM_DQ_PINLOC_1 + 8391682 + + + PORT_MEM_DQ_PINLOC_10 + 49330221 + + + PORT_MEM_DQ_PINLOC_11 + 102859872 + + + PORT_MEM_DQ_PINLOC_12 + 110207075 + + + PORT_MEM_DQ_PINLOC_13 + 113355882 + + + PORT_MEM_DQ_PINLOC_14 + 116504685 + + + PORT_MEM_DQ_PINLOC_15 + 123851892 + + + PORT_MEM_DQ_PINLOC_16 + 127000695 + + + PORT_MEM_DQ_PINLOC_17 + 134343802 + + + PORT_MEM_DQ_PINLOC_18 + 137496705 + + + PORT_MEM_DQ_PINLOC_19 + 140645508 + + + PORT_MEM_DQ_PINLOC_2 + 11544585 + + + PORT_MEM_DQ_PINLOC_20 + 147992711 + + + PORT_MEM_DQ_PINLOC_21 + 151141518 + + + PORT_MEM_DQ_PINLOC_22 + 154290321 + + + PORT_MEM_DQ_PINLOC_23 + 161637528 + + + PORT_MEM_DQ_PINLOC_24 + 155 + + + PORT_MEM_DQ_PINLOC_25 + 0 + + + PORT_MEM_DQ_PINLOC_26 + 0 + + + PORT_MEM_DQ_PINLOC_27 + 0 + + + PORT_MEM_DQ_PINLOC_28 + 0 + + + PORT_MEM_DQ_PINLOC_29 + 0 + + + PORT_MEM_DQ_PINLOC_3 + 14693388 + + + PORT_MEM_DQ_PINLOC_30 + 0 + + + PORT_MEM_DQ_PINLOC_31 + 0 + + + PORT_MEM_DQ_PINLOC_32 + 0 + + + PORT_MEM_DQ_PINLOC_33 + 0 + + + PORT_MEM_DQ_PINLOC_34 + 0 + + + PORT_MEM_DQ_PINLOC_35 + 0 + + + PORT_MEM_DQ_PINLOC_36 + 0 + + + PORT_MEM_DQ_PINLOC_37 + 0 + + + PORT_MEM_DQ_PINLOC_38 + 0 + + + PORT_MEM_DQ_PINLOC_39 + 0 + + + PORT_MEM_DQ_PINLOC_4 + 22040591 + + + PORT_MEM_DQ_PINLOC_40 + 0 + + + PORT_MEM_DQ_PINLOC_41 + 0 + + + PORT_MEM_DQ_PINLOC_42 + 0 + + + PORT_MEM_DQ_PINLOC_43 + 0 + + + PORT_MEM_DQ_PINLOC_44 + 0 + + + PORT_MEM_DQ_PINLOC_45 + 0 + + + PORT_MEM_DQ_PINLOC_46 + 0 + + + PORT_MEM_DQ_PINLOC_47 + 0 + + + PORT_MEM_DQ_PINLOC_48 + 0 + + + PORT_MEM_DQ_PINLOC_5 + 25189398 + + + PORT_MEM_DQ_PINLOC_6 + 28338201 + + + PORT_MEM_DQ_PINLOC_7 + 35685408 + + + PORT_MEM_DQ_PINLOC_8 + 38834211 + + + PORT_MEM_DQ_PINLOC_9 + 46177318 + + + PORT_MEM_DQ_PINLOC_AUTOGEN_WCNT + 49 + + + PORT_MEM_DQ_WIDTH + 72 + + + PORT_MEM_D_PINLOC_0 + 0 + + + PORT_MEM_D_PINLOC_1 + 0 + + + PORT_MEM_D_PINLOC_10 + 0 + + + PORT_MEM_D_PINLOC_11 + 0 + + + PORT_MEM_D_PINLOC_12 + 0 + + + PORT_MEM_D_PINLOC_13 + 0 + + + PORT_MEM_D_PINLOC_14 + 0 + + + PORT_MEM_D_PINLOC_15 + 0 + + + PORT_MEM_D_PINLOC_16 + 0 + + + PORT_MEM_D_PINLOC_17 + 0 + + + PORT_MEM_D_PINLOC_18 + 0 + + + PORT_MEM_D_PINLOC_19 + 0 + + + PORT_MEM_D_PINLOC_2 + 0 + + + PORT_MEM_D_PINLOC_20 + 0 + + + PORT_MEM_D_PINLOC_21 + 0 + + + PORT_MEM_D_PINLOC_22 + 0 + + + PORT_MEM_D_PINLOC_23 + 0 + + + PORT_MEM_D_PINLOC_24 + 0 + + + PORT_MEM_D_PINLOC_25 + 0 + + + PORT_MEM_D_PINLOC_26 + 0 + + + PORT_MEM_D_PINLOC_27 + 0 + + + PORT_MEM_D_PINLOC_28 + 0 + + + PORT_MEM_D_PINLOC_29 + 0 + + + PORT_MEM_D_PINLOC_3 + 0 + + + PORT_MEM_D_PINLOC_30 + 0 + + + PORT_MEM_D_PINLOC_31 + 0 + + + PORT_MEM_D_PINLOC_32 + 0 + + + PORT_MEM_D_PINLOC_33 + 0 + + + PORT_MEM_D_PINLOC_34 + 0 + + + PORT_MEM_D_PINLOC_35 + 0 + + + PORT_MEM_D_PINLOC_36 + 0 + + + PORT_MEM_D_PINLOC_37 + 0 + + + PORT_MEM_D_PINLOC_38 + 0 + + + PORT_MEM_D_PINLOC_39 + 0 + + + PORT_MEM_D_PINLOC_4 + 0 + + + PORT_MEM_D_PINLOC_40 + 0 + + + PORT_MEM_D_PINLOC_41 + 0 + + + PORT_MEM_D_PINLOC_42 + 0 + + + PORT_MEM_D_PINLOC_43 + 0 + + + PORT_MEM_D_PINLOC_44 + 0 + + + PORT_MEM_D_PINLOC_45 + 0 + + + PORT_MEM_D_PINLOC_46 + 0 + + + PORT_MEM_D_PINLOC_47 + 0 + + + PORT_MEM_D_PINLOC_48 + 0 + + + PORT_MEM_D_PINLOC_5 + 0 + + + PORT_MEM_D_PINLOC_6 + 0 + + + PORT_MEM_D_PINLOC_7 + 0 + + + PORT_MEM_D_PINLOC_8 + 0 + + + PORT_MEM_D_PINLOC_9 + 0 + + + PORT_MEM_D_PINLOC_AUTOGEN_WCNT + 49 + + + PORT_MEM_D_WIDTH + 1 + + + PORT_MEM_ERR_N_PINLOC_0 + 0 + + + PORT_MEM_ERR_N_PINLOC_1 + 0 + + + PORT_MEM_ERR_N_PINLOC_2 + 0 + + + PORT_MEM_ERR_N_PINLOC_3 + 0 + + + PORT_MEM_ERR_N_PINLOC_4 + 0 + + + PORT_MEM_ERR_N_PINLOC_5 + 0 + + + PORT_MEM_ERR_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_ERR_N_WIDTH + 1 + + + PORT_MEM_GNT_N_PINLOC_0 + 0 + + + PORT_MEM_GNT_N_PINLOC_1 + 0 + + + PORT_MEM_GNT_N_PINLOC_2 + 0 + + + PORT_MEM_GNT_N_PINLOC_3 + 0 + + + PORT_MEM_GNT_N_PINLOC_4 + 0 + + + PORT_MEM_GNT_N_PINLOC_5 + 0 + + + PORT_MEM_GNT_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_GNT_N_WIDTH + 1 + + + PORT_MEM_K_N_PINLOC_0 + 0 + + + PORT_MEM_K_N_PINLOC_1 + 0 + + + PORT_MEM_K_N_PINLOC_2 + 0 + + + PORT_MEM_K_N_PINLOC_3 + 0 + + + PORT_MEM_K_N_PINLOC_4 + 0 + + + PORT_MEM_K_N_PINLOC_5 + 0 + + + PORT_MEM_K_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_K_N_WIDTH + 1 + + + PORT_MEM_K_PINLOC_0 + 0 + + + PORT_MEM_K_PINLOC_1 + 0 + + + PORT_MEM_K_PINLOC_2 + 0 + + + PORT_MEM_K_PINLOC_3 + 0 + + + PORT_MEM_K_PINLOC_4 + 0 + + + PORT_MEM_K_PINLOC_5 + 0 + + + PORT_MEM_K_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_K_WIDTH + 1 + + + PORT_MEM_LBK0_N_PINLOC_0 + 0 + + + PORT_MEM_LBK0_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_LBK0_N_WIDTH + 1 + + + PORT_MEM_LBK1_N_PINLOC_0 + 0 + + + PORT_MEM_LBK1_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_LBK1_N_WIDTH + 1 + + + PORT_MEM_LDA_N_PINLOC_0 + 0 + + + PORT_MEM_LDA_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_LDA_N_WIDTH + 1 + + + PORT_MEM_LDB_N_PINLOC_0 + 0 + + + PORT_MEM_LDB_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_LDB_N_WIDTH + 1 + + + PORT_MEM_ODT_PINLOC_0 + 53249 + + + PORT_MEM_ODT_PINLOC_1 + 0 + + + PORT_MEM_ODT_PINLOC_2 + 0 + + + PORT_MEM_ODT_PINLOC_3 + 0 + + + PORT_MEM_ODT_PINLOC_4 + 0 + + + PORT_MEM_ODT_PINLOC_5 + 0 + + + PORT_MEM_ODT_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_ODT_WIDTH + 1 + + + PORT_MEM_PAR_PINLOC_0 + 60417 + + + PORT_MEM_PAR_PINLOC_1 + 0 + + + PORT_MEM_PAR_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_PAR_WIDTH + 1 + + + PORT_MEM_PE_N_PINLOC_0 + 0 + + + PORT_MEM_PE_N_PINLOC_1 + 0 + + + PORT_MEM_PE_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_PE_N_WIDTH + 1 + + + PORT_MEM_QKA_N_PINLOC_0 + 0 + + + PORT_MEM_QKA_N_PINLOC_1 + 0 + + + PORT_MEM_QKA_N_PINLOC_2 + 0 + + + PORT_MEM_QKA_N_PINLOC_3 + 0 + + + PORT_MEM_QKA_N_PINLOC_4 + 0 + + + PORT_MEM_QKA_N_PINLOC_5 + 0 + + + PORT_MEM_QKA_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QKA_N_WIDTH + 1 + + + PORT_MEM_QKA_PINLOC_0 + 0 + + + PORT_MEM_QKA_PINLOC_1 + 0 + + + PORT_MEM_QKA_PINLOC_2 + 0 + + + PORT_MEM_QKA_PINLOC_3 + 0 + + + PORT_MEM_QKA_PINLOC_4 + 0 + + + PORT_MEM_QKA_PINLOC_5 + 0 + + + PORT_MEM_QKA_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QKA_WIDTH + 1 + + + PORT_MEM_QKB_N_PINLOC_0 + 0 + + + PORT_MEM_QKB_N_PINLOC_1 + 0 + + + PORT_MEM_QKB_N_PINLOC_2 + 0 + + + PORT_MEM_QKB_N_PINLOC_3 + 0 + + + PORT_MEM_QKB_N_PINLOC_4 + 0 + + + PORT_MEM_QKB_N_PINLOC_5 + 0 + + + PORT_MEM_QKB_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QKB_N_WIDTH + 1 + + + PORT_MEM_QKB_PINLOC_0 + 0 + + + PORT_MEM_QKB_PINLOC_1 + 0 + + + PORT_MEM_QKB_PINLOC_2 + 0 + + + PORT_MEM_QKB_PINLOC_3 + 0 + + + PORT_MEM_QKB_PINLOC_4 + 0 + + + PORT_MEM_QKB_PINLOC_5 + 0 + + + PORT_MEM_QKB_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QKB_WIDTH + 1 + + + PORT_MEM_QK_N_PINLOC_0 + 0 + + + PORT_MEM_QK_N_PINLOC_1 + 0 + + + PORT_MEM_QK_N_PINLOC_2 + 0 + + + PORT_MEM_QK_N_PINLOC_3 + 0 + + + PORT_MEM_QK_N_PINLOC_4 + 0 + + + PORT_MEM_QK_N_PINLOC_5 + 0 + + + PORT_MEM_QK_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QK_N_WIDTH + 1 + + + PORT_MEM_QK_PINLOC_0 + 0 + + + PORT_MEM_QK_PINLOC_1 + 0 + + + PORT_MEM_QK_PINLOC_2 + 0 + + + PORT_MEM_QK_PINLOC_3 + 0 + + + PORT_MEM_QK_PINLOC_4 + 0 + + + PORT_MEM_QK_PINLOC_5 + 0 + + + PORT_MEM_QK_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_QK_WIDTH + 1 + + + PORT_MEM_Q_PINLOC_0 + 0 + + + PORT_MEM_Q_PINLOC_1 + 0 + + + PORT_MEM_Q_PINLOC_10 + 0 + + + PORT_MEM_Q_PINLOC_11 + 0 + + + PORT_MEM_Q_PINLOC_12 + 0 + + + PORT_MEM_Q_PINLOC_13 + 0 + + + PORT_MEM_Q_PINLOC_14 + 0 + + + PORT_MEM_Q_PINLOC_15 + 0 + + + PORT_MEM_Q_PINLOC_16 + 0 + + + PORT_MEM_Q_PINLOC_17 + 0 + + + PORT_MEM_Q_PINLOC_18 + 0 + + + PORT_MEM_Q_PINLOC_19 + 0 + + + PORT_MEM_Q_PINLOC_2 + 0 + + + PORT_MEM_Q_PINLOC_20 + 0 + + + PORT_MEM_Q_PINLOC_21 + 0 + + + PORT_MEM_Q_PINLOC_22 + 0 + + + PORT_MEM_Q_PINLOC_23 + 0 + + + PORT_MEM_Q_PINLOC_24 + 0 + + + PORT_MEM_Q_PINLOC_25 + 0 + + + PORT_MEM_Q_PINLOC_26 + 0 + + + PORT_MEM_Q_PINLOC_27 + 0 + + + PORT_MEM_Q_PINLOC_28 + 0 + + + PORT_MEM_Q_PINLOC_29 + 0 + + + PORT_MEM_Q_PINLOC_3 + 0 + + + PORT_MEM_Q_PINLOC_30 + 0 + + + PORT_MEM_Q_PINLOC_31 + 0 + + + PORT_MEM_Q_PINLOC_32 + 0 + + + PORT_MEM_Q_PINLOC_33 + 0 + + + PORT_MEM_Q_PINLOC_34 + 0 + + + PORT_MEM_Q_PINLOC_35 + 0 + + + PORT_MEM_Q_PINLOC_36 + 0 + + + PORT_MEM_Q_PINLOC_37 + 0 + + + PORT_MEM_Q_PINLOC_38 + 0 + + + PORT_MEM_Q_PINLOC_39 + 0 + + + PORT_MEM_Q_PINLOC_4 + 0 + + + PORT_MEM_Q_PINLOC_40 + 0 + + + PORT_MEM_Q_PINLOC_41 + 0 + + + PORT_MEM_Q_PINLOC_42 + 0 + + + PORT_MEM_Q_PINLOC_43 + 0 + + + PORT_MEM_Q_PINLOC_44 + 0 + + + PORT_MEM_Q_PINLOC_45 + 0 + + + PORT_MEM_Q_PINLOC_46 + 0 + + + PORT_MEM_Q_PINLOC_47 + 0 + + + PORT_MEM_Q_PINLOC_48 + 0 + + + PORT_MEM_Q_PINLOC_5 + 0 + + + PORT_MEM_Q_PINLOC_6 + 0 + + + PORT_MEM_Q_PINLOC_7 + 0 + + + PORT_MEM_Q_PINLOC_8 + 0 + + + PORT_MEM_Q_PINLOC_9 + 0 + + + PORT_MEM_Q_PINLOC_AUTOGEN_WCNT + 49 + + + PORT_MEM_Q_WIDTH + 1 + + + PORT_MEM_RAS_N_PINLOC_0 + 0 + + + PORT_MEM_RAS_N_PINLOC_1 + 0 + + + PORT_MEM_RAS_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_RAS_N_WIDTH + 1 + + + PORT_MEM_REF_N_PINLOC_0 + 0 + + + PORT_MEM_REF_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_REF_N_WIDTH + 1 + + + PORT_MEM_REQ_N_PINLOC_0 + 0 + + + PORT_MEM_REQ_N_PINLOC_1 + 0 + + + PORT_MEM_REQ_N_PINLOC_2 + 0 + + + PORT_MEM_REQ_N_PINLOC_3 + 0 + + + PORT_MEM_REQ_N_PINLOC_4 + 0 + + + PORT_MEM_REQ_N_PINLOC_5 + 0 + + + PORT_MEM_REQ_N_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_REQ_N_WIDTH + 1 + + + PORT_MEM_RESET_N_PINLOC_0 + 50177 + + + PORT_MEM_RESET_N_PINLOC_1 + 0 + + + PORT_MEM_RESET_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_RESET_N_WIDTH + 1 + + + PORT_MEM_RM_PINLOC_0 + 0 + + + PORT_MEM_RM_PINLOC_1 + 0 + + + PORT_MEM_RM_PINLOC_2 + 0 + + + PORT_MEM_RM_PINLOC_3 + 0 + + + PORT_MEM_RM_PINLOC_4 + 0 + + + PORT_MEM_RM_PINLOC_5 + 0 + + + PORT_MEM_RM_PINLOC_AUTOGEN_WCNT + 6 + + + PORT_MEM_RM_WIDTH + 1 + + + PORT_MEM_RPS_N_PINLOC_0 + 0 + + + PORT_MEM_RPS_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_RPS_N_WIDTH + 1 + + + PORT_MEM_RWA_N_PINLOC_0 + 0 + + + PORT_MEM_RWA_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_RWA_N_WIDTH + 1 + + + PORT_MEM_RWB_N_PINLOC_0 + 0 + + + PORT_MEM_RWB_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_RWB_N_WIDTH + 1 + + + PORT_MEM_WE_N_PINLOC_0 + 0 + + + PORT_MEM_WE_N_PINLOC_1 + 0 + + + PORT_MEM_WE_N_PINLOC_AUTOGEN_WCNT + 2 + + + PORT_MEM_WE_N_WIDTH + 1 + + + PORT_MEM_WPS_N_PINLOC_0 + 0 + + + PORT_MEM_WPS_N_PINLOC_AUTOGEN_WCNT + 1 + + + PORT_MEM_WPS_N_WIDTH + 1 + + + PREAMBLE_MODE + preamble_one_cycle + + + PREV_PROTOCOL_ENUM + PROTOCOL_DDR4 + + + PRI_AC_TILE_INDEX + 1 + + + PRI_HMC_3DSREF_ACK_ON_DONE + disable + + + PRI_HMC_3DS_EN + disable + + + PRI_HMC_3DS_LR_NUM0 + 0 + + + PRI_HMC_3DS_LR_NUM1 + 0 + + + PRI_HMC_3DS_LR_NUM2 + 0 + + + PRI_HMC_3DS_LR_NUM3 + 0 + + + PRI_HMC_3DS_PR_STAG_ENABLE + disable + + + PRI_HMC_3DS_REF2REF_DLR + 1 + + + PRI_HMC_CFG_16_ACT_TO_ACT + 0 + + + PRI_HMC_CFG_4_ACT_TO_ACT + 12 + + + PRI_HMC_CFG_ACT_TO_ACT + 28 + + + PRI_HMC_CFG_ACT_TO_ACT_DIFF_BANK + 3 + + + PRI_HMC_CFG_ACT_TO_ACT_DIFF_BG + 2 + + + PRI_HMC_CFG_ACT_TO_PCH + 20 + + + PRI_HMC_CFG_ACT_TO_RDWR + 8 + + + PRI_HMC_CFG_ADDR_ORDER + addr_order_cs_row_ba_col + + + PRI_HMC_CFG_ARBITER_TYPE + arbiter_type_2t + + + PRI_HMC_CFG_ARF_PERIOD + 4681 + + + PRI_HMC_CFG_ARF_TO_VALID + 211 + + + PRI_HMC_CFG_BANK_ADDR_WIDTH + bank_width_2 + + + PRI_HMC_CFG_BANK_GROUP_ADDR_WIDTH + bank_group_width_2 + + + PRI_HMC_CFG_CMD_FIFO_RESERVE_EN + enable + + + PRI_HMC_CFG_COL_ADDR_WIDTH + col_width_10 + + + PRI_HMC_CFG_COL_CMD_SLOT + 2 + + + PRI_HMC_CFG_COL_TO_COL_OFFSET + 0 + + + PRI_HMC_CFG_COL_TO_DIFF_COL_OFFSET + 0 + + + PRI_HMC_CFG_COL_TO_ROW_OFFSET + 1 + + + PRI_HMC_CFG_CS_ADDR_WIDTH + cs_width_0 + + + PRI_HMC_CFG_CS_TO_CHIP_MAPPING + 33825 + + + PRI_HMC_CFG_CTL_ODT_ENABLED + 1 + + + PRI_HMC_CFG_CTL_SHORT_DQSTRK_EN + 0 + + + PRI_HMC_CFG_CTRL_ENABLE_ECC + enable + + + PRI_HMC_CFG_CTRL_ENABLE_RC + enable + + + PRI_HMC_CFG_CTRL_REORDER_RDATA + disable + + + PRI_HMC_CFG_CTRL_SLOT_OFFSET + 2 + + + PRI_HMC_CFG_CTRL_SLOT_ROTATE_EN + ctrl_disable + + + PRI_HMC_CFG_DBC0_ENABLE_ECC + enable + + + PRI_HMC_CFG_DBC0_ENABLE_RC + enable + + + PRI_HMC_CFG_DBC0_REORDER_RDATA + disable + + + PRI_HMC_CFG_DBC0_SLOT_OFFSET + 2 + + + PRI_HMC_CFG_DBC0_SLOT_ROTATE_EN + dbc0_disable + + + PRI_HMC_CFG_DBC1_ENABLE_ECC + enable + + + PRI_HMC_CFG_DBC1_ENABLE_RC + enable + + + PRI_HMC_CFG_DBC1_REORDER_RDATA + disable + + + PRI_HMC_CFG_DBC1_SLOT_OFFSET + 2 + + + PRI_HMC_CFG_DBC1_SLOT_ROTATE_EN + dbc1_disable + + + PRI_HMC_CFG_DBC2_ENABLE_ECC + enable + + + PRI_HMC_CFG_DBC2_ENABLE_RC + enable + + + PRI_HMC_CFG_DBC2_REORDER_RDATA + disable + + + PRI_HMC_CFG_DBC2_SLOT_OFFSET + 2 + + + PRI_HMC_CFG_DBC2_SLOT_ROTATE_EN + dbc2_disable + + + PRI_HMC_CFG_DBC3_ENABLE_ECC + enable + + + PRI_HMC_CFG_DBC3_ENABLE_RC + enable + + + PRI_HMC_CFG_DBC3_REORDER_RDATA + disable + + + PRI_HMC_CFG_DBC3_SLOT_OFFSET + 2 + + + PRI_HMC_CFG_DBC3_SLOT_ROTATE_EN + dbc3_disable + + + PRI_HMC_CFG_DDR4_MPS_ADDRMIRROR + disable + + + PRI_HMC_CFG_DQSTRK_EN + disable + + + PRI_HMC_CFG_DQSTRK_TO_VALID + 4 + + + PRI_HMC_CFG_DQSTRK_TO_VALID_LAST + 26 + + + PRI_HMC_CFG_ENABLE_FAST_EXIT_PPD + 0 + + + PRI_HMC_CFG_GEAR_DOWN_EN + disable + + + PRI_HMC_CFG_MAJOR_MODE_EN + disable + + + PRI_HMC_CFG_MEM_AUTO_PD_CYCLES + 0 + + + PRI_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC + 15 + + + PRI_HMC_CFG_MMR_CMD_TO_VALID + 16 + + + PRI_HMC_CFG_MPR_TO_VALID + 16 + + + PRI_HMC_CFG_MPS_DQSTRK_DISABLE + disable + + + PRI_HMC_CFG_MPS_EXIT_CKE_TO_CS + 6 + + + PRI_HMC_CFG_MPS_EXIT_CS_TO_CKE + 5 + + + PRI_HMC_CFG_MPS_TO_VALID + 768 + + + PRI_HMC_CFG_MPS_ZQCAL_DISABLE + disable + + + PRI_HMC_CFG_MRR_TO_VALID + 0 + + + PRI_HMC_CFG_MRS_TO_VALID + 12 + + + PRI_HMC_CFG_OPEN_PAGE_EN + disable + + + PRI_HMC_CFG_PCH_ALL_TO_VALID + 9 + + + PRI_HMC_CFG_PCH_TO_VALID + 9 + + + PRI_HMC_CFG_PDN_PERIOD + 0 + + + PRI_HMC_CFG_PDN_TO_VALID + 5 + + + PRI_HMC_CFG_PERIOD_DQSTRK_CTRL_EN + disable + + + PRI_HMC_CFG_PERIOD_DQSTRK_INTERVAL + 0 + + + PRI_HMC_CFG_PHY_DELAY_MISMATCH + 0 + + + PRI_HMC_CFG_PING_PONG_MODE + pingpong_off + + + PRI_HMC_CFG_POST_REFRESH_EN + enable + + + PRI_HMC_CFG_POST_REFRESH_LOWER_LIMIT + 0 + + + PRI_HMC_CFG_POST_REFRESH_UPPER_LIMIT + 2 + + + PRI_HMC_CFG_POWER_SAVING_EXIT_CYC + 3 + + + PRI_HMC_CFG_PRE_REFRESH_EN + disable + + + PRI_HMC_CFG_PRE_REFRESH_UPPER_LIMIT + 1 + + + PRI_HMC_CFG_RB_RESERVED_ENTRY + 8 + + + PRI_HMC_CFG_RD_AP_TO_VALID + 14 + + + PRI_HMC_CFG_RD_ODT_ON + 4 + + + PRI_HMC_CFG_RD_ODT_PERIOD + 7 + + + PRI_HMC_CFG_RD_TO_PCH + 5 + + + PRI_HMC_CFG_RD_TO_RD + 3 + + + PRI_HMC_CFG_RD_TO_RD_DIFF_BG + 2 + + + PRI_HMC_CFG_RD_TO_RD_DIFF_CHIP + 4 + + + PRI_HMC_CFG_RD_TO_WR + 10 + + + PRI_HMC_CFG_RD_TO_WR_DIFF_BG + 10 + + + PRI_HMC_CFG_RD_TO_WR_DIFF_CHIP + 10 + + + PRI_HMC_CFG_READ_ODT_CHIP + 0 + + + PRI_HMC_CFG_REFRESH_TYPE + 0 + + + PRI_HMC_CFG_REORDER_DATA + enable + + + PRI_HMC_CFG_REORDER_READ + disable + + + PRI_HMC_CFG_RFSH_WARN_THRESHOLD + 0 + + + PRI_HMC_CFG_RLD3_MULTIBANK_REF_DELAY + 0 + + + PRI_HMC_CFG_RLD3_REFRESH_SEQ0 + 0 + + + PRI_HMC_CFG_RLD3_REFRESH_SEQ1 + 0 + + + PRI_HMC_CFG_RLD3_REFRESH_SEQ2 + 0 + + + PRI_HMC_CFG_RLD3_REFRESH_SEQ3 + 0 + + + PRI_HMC_CFG_ROW_ADDR_WIDTH + row_width_16 + + + PRI_HMC_CFG_ROW_CMD_SLOT + 1 + + + PRI_HMC_CFG_ROW_TO_COL_OFFSET + -1 + + + PRI_HMC_CFG_ROW_TO_ROW_OFFSET + 0 + + + PRI_HMC_CFG_SB_CG_DISABLE + disable + + + PRI_HMC_CFG_SB_DDR4_MR3 + 197632 + + + PRI_HMC_CFG_SB_DDR4_MR4 + 264192 + + + PRI_HMC_CFG_SB_DDR4_MR5 + 5216 + + + PRI_HMC_CFG_SHORT_DQSTRK_CTRL_EN + disable + + + PRI_HMC_CFG_SIDEBAND_OFFSET + 1 + + + PRI_HMC_CFG_SRF_AUTOEXIT_EN + disable + + + PRI_HMC_CFG_SRF_ENTRY_EXIT_BLOCK + 0 + + + PRI_HMC_CFG_SRF_TO_VALID + 513 + + + PRI_HMC_CFG_SRF_TO_ZQ_CAL + 385 + + + PRI_HMC_CFG_SRF_ZQCAL_DISABLE + disable + + + PRI_HMC_CFG_STARVE_LIMIT + 10 + + + PRI_HMC_CFG_TCL + 21 + + + PRI_HMC_CFG_USER_RFSH_EN + disable + + + PRI_HMC_CFG_WB_RESERVED_ENTRY + 52 + + + PRI_HMC_CFG_WRITE_ODT_CHIP + 0 + + + PRI_HMC_CFG_WR_AP_TO_VALID + 28 + + + PRI_HMC_CFG_WR_ODT_ON + 0 + + + PRI_HMC_CFG_WR_ODT_PERIOD + 6 + + + PRI_HMC_CFG_WR_TO_PCH + 20 + + + PRI_HMC_CFG_WR_TO_RD + 19 + + + PRI_HMC_CFG_WR_TO_RD_DIFF_BG + 17 + + + PRI_HMC_CFG_WR_TO_RD_DIFF_CHIP + 15 + + + PRI_HMC_CFG_WR_TO_WR + 3 + + + PRI_HMC_CFG_WR_TO_WR_DIFF_BG + 2 + + + PRI_HMC_CFG_WR_TO_WR_DIFF_CHIP + 3 + + + PRI_HMC_CFG_ZQCL_TO_VALID + 257 + + + PRI_HMC_CFG_ZQCS_TO_VALID + 127 + + + PRI_HMC_CHIP_ID + 273 + + + PRI_HMC_CID_ADDR_WIDTH + 0 + + + PRI_HMC_MEMCLKGATE_SETTING + 0 + + + PRI_HMC_MEM_IF_AL + 0 + + + PRI_HMC_MEM_IF_CS_PER_DIMM + 0 + + + PRI_HMC_MEM_IF_RD_PREAMBLE + 0 + + + PRI_HMC_MEM_IF_TCCD + 0 + + + PRI_HMC_MEM_IF_TCCD_S + 0 + + + PRI_HMC_MEM_IF_TCKESR + 0 + + + PRI_HMC_MEM_IF_TCKSRX + 0 + + + PRI_HMC_MEM_IF_TCL + 0 + + + PRI_HMC_MEM_IF_TCWL + 0 + + + PRI_HMC_MEM_IF_TDQSCKMAX + 0 + + + PRI_HMC_MEM_IF_TFAW + 0 + + + PRI_HMC_MEM_IF_TMOD + 0 + + + PRI_HMC_MEM_IF_TPL + 0 + + + PRI_HMC_MEM_IF_TRAS + 0 + + + PRI_HMC_MEM_IF_TRC + 0 + + + PRI_HMC_MEM_IF_TRCD + 0 + + + PRI_HMC_MEM_IF_TREFI + 0 + + + PRI_HMC_MEM_IF_TRFC + 0 + + + PRI_HMC_MEM_IF_TRP + 0 + + + PRI_HMC_MEM_IF_TRRD + 0 + + + PRI_HMC_MEM_IF_TRRD_S + 0 + + + PRI_HMC_MEM_IF_TRTP + 0 + + + PRI_HMC_MEM_IF_TWR + 0 + + + PRI_HMC_MEM_IF_TWR_CRC_DM + 0 + + + PRI_HMC_MEM_IF_TWTR + 0 + + + PRI_HMC_MEM_IF_TWTR_L_CRC_DM + 0 + + + PRI_HMC_MEM_IF_TWTR_S + 0 + + + PRI_HMC_MEM_IF_TWTR_S_CRC_DM + 0 + + + PRI_HMC_MEM_IF_TXP + 0 + + + PRI_HMC_MEM_IF_TXPDLL + 0 + + + PRI_HMC_MEM_IF_TXSR + 0 + + + PRI_HMC_MEM_IF_TZQCS + 0 + + + PRI_HMC_MEM_IF_TZQOPER + 0 + + + PRI_HMC_MEM_IF_WR_CRC + 0 + + + PRI_HMC_MEM_IF_WR_PREAMBLE + 0 + + + PRI_HMC_TEMP_4_ACT_TO_ACT + 0 + + + PRI_HMC_TEMP_RD_TO_RD_DIFF_BG + 0 + + + PRI_HMC_TEMP_WR_TO_RD + 0 + + + PRI_HMC_TEMP_WR_TO_RD_DIFF_BG + 0 + + + PRI_HMC_TEMP_WR_TO_RD_DIFF_CHIP + 0 + + + PRI_HMC_TEMP_WR_TO_WR_DIFF_BG + 0 + + + PRI_RDATA_LANE_INDEX + 0 + + + PRI_RDATA_TILE_INDEX + 0 + + + PRI_WDATA_LANE_INDEX + 0 + + + PRI_WDATA_TILE_INDEX + 0 + + + PROTOCOL_ENUM + PROTOCOL_DDR4 + + + REGISTER_AFI_C2P + 1 + + + REGISTER_AFI_P2C + 1 + + + REGISTER_AMM_C2P + 1 + + + REGISTER_AMM_P2C + 1 + + + SEC_AC_TILE_INDEX + 1 + + + SEC_HMC_3DSREF_ACK_ON_DONE + disable + + + SEC_HMC_3DS_EN + disable + + + SEC_HMC_3DS_LR_NUM0 + 0 + + + SEC_HMC_3DS_LR_NUM1 + 0 + + + SEC_HMC_3DS_LR_NUM2 + 0 + + + SEC_HMC_3DS_LR_NUM3 + 0 + + + SEC_HMC_3DS_PR_STAG_ENABLE + disable + + + SEC_HMC_3DS_REF2REF_DLR + 1 + + + SEC_HMC_CFG_16_ACT_TO_ACT + 0 + + + SEC_HMC_CFG_4_ACT_TO_ACT + 12 + + + SEC_HMC_CFG_ACT_TO_ACT + 28 + + + SEC_HMC_CFG_ACT_TO_ACT_DIFF_BANK + 3 + + + SEC_HMC_CFG_ACT_TO_ACT_DIFF_BG + 2 + + + SEC_HMC_CFG_ACT_TO_PCH + 20 + + + SEC_HMC_CFG_ACT_TO_RDWR + 8 + + + SEC_HMC_CFG_ADDR_ORDER + addr_order_cs_row_ba_col + + + SEC_HMC_CFG_ARBITER_TYPE + arbiter_type_2t + + + SEC_HMC_CFG_ARF_PERIOD + 4681 + + + SEC_HMC_CFG_ARF_TO_VALID + 211 + + + SEC_HMC_CFG_BANK_ADDR_WIDTH + bank_width_2 + + + SEC_HMC_CFG_BANK_GROUP_ADDR_WIDTH + bank_group_width_2 + + + SEC_HMC_CFG_CMD_FIFO_RESERVE_EN + enable + + + SEC_HMC_CFG_COL_ADDR_WIDTH + col_width_10 + + + SEC_HMC_CFG_COL_CMD_SLOT + 2 + + + SEC_HMC_CFG_COL_TO_COL_OFFSET + 0 + + + SEC_HMC_CFG_COL_TO_DIFF_COL_OFFSET + 0 + + + SEC_HMC_CFG_COL_TO_ROW_OFFSET + 1 + + + SEC_HMC_CFG_CS_ADDR_WIDTH + cs_width_0 + + + SEC_HMC_CFG_CS_TO_CHIP_MAPPING + 33825 + + + SEC_HMC_CFG_CTL_ODT_ENABLED + 1 + + + SEC_HMC_CFG_CTL_SHORT_DQSTRK_EN + 0 + + + SEC_HMC_CFG_CTRL_ENABLE_ECC + enable + + + SEC_HMC_CFG_CTRL_ENABLE_RC + enable + + + SEC_HMC_CFG_CTRL_REORDER_RDATA + disable + + + SEC_HMC_CFG_CTRL_SLOT_OFFSET + 2 + + + SEC_HMC_CFG_CTRL_SLOT_ROTATE_EN + ctrl_disable + + + SEC_HMC_CFG_DBC0_ENABLE_ECC + enable + + + SEC_HMC_CFG_DBC0_ENABLE_RC + enable + + + SEC_HMC_CFG_DBC0_REORDER_RDATA + disable + + + SEC_HMC_CFG_DBC0_SLOT_OFFSET + 2 + + + SEC_HMC_CFG_DBC0_SLOT_ROTATE_EN + dbc0_disable + + + SEC_HMC_CFG_DBC1_ENABLE_ECC + enable + + + SEC_HMC_CFG_DBC1_ENABLE_RC + enable + + + SEC_HMC_CFG_DBC1_REORDER_RDATA + disable + + + SEC_HMC_CFG_DBC1_SLOT_OFFSET + 2 + + + SEC_HMC_CFG_DBC1_SLOT_ROTATE_EN + dbc1_disable + + + SEC_HMC_CFG_DBC2_ENABLE_ECC + enable + + + SEC_HMC_CFG_DBC2_ENABLE_RC + enable + + + SEC_HMC_CFG_DBC2_REORDER_RDATA + disable + + + SEC_HMC_CFG_DBC2_SLOT_OFFSET + 2 + + + SEC_HMC_CFG_DBC2_SLOT_ROTATE_EN + dbc2_disable + + + SEC_HMC_CFG_DBC3_ENABLE_ECC + enable + + + SEC_HMC_CFG_DBC3_ENABLE_RC + enable + + + SEC_HMC_CFG_DBC3_REORDER_RDATA + disable + + + SEC_HMC_CFG_DBC3_SLOT_OFFSET + 2 + + + SEC_HMC_CFG_DBC3_SLOT_ROTATE_EN + dbc3_disable + + + SEC_HMC_CFG_DDR4_MPS_ADDRMIRROR + disable + + + SEC_HMC_CFG_DQSTRK_EN + disable + + + SEC_HMC_CFG_DQSTRK_TO_VALID + 4 + + + SEC_HMC_CFG_DQSTRK_TO_VALID_LAST + 26 + + + SEC_HMC_CFG_ENABLE_FAST_EXIT_PPD + 0 + + + SEC_HMC_CFG_GEAR_DOWN_EN + disable + + + SEC_HMC_CFG_MAJOR_MODE_EN + disable + + + SEC_HMC_CFG_MEM_AUTO_PD_CYCLES + 0 + + + SEC_HMC_CFG_MEM_CLK_DISABLE_ENTRY_CYC + 15 + + + SEC_HMC_CFG_MMR_CMD_TO_VALID + 16 + + + SEC_HMC_CFG_MPR_TO_VALID + 16 + + + SEC_HMC_CFG_MPS_DQSTRK_DISABLE + disable + + + SEC_HMC_CFG_MPS_EXIT_CKE_TO_CS + 6 + + + SEC_HMC_CFG_MPS_EXIT_CS_TO_CKE + 5 + + + SEC_HMC_CFG_MPS_TO_VALID + 768 + + + SEC_HMC_CFG_MPS_ZQCAL_DISABLE + disable + + + SEC_HMC_CFG_MRR_TO_VALID + 0 + + + SEC_HMC_CFG_MRS_TO_VALID + 12 + + + SEC_HMC_CFG_OPEN_PAGE_EN + disable + + + SEC_HMC_CFG_PCH_ALL_TO_VALID + 9 + + + SEC_HMC_CFG_PCH_TO_VALID + 9 + + + SEC_HMC_CFG_PDN_PERIOD + 0 + + + SEC_HMC_CFG_PDN_TO_VALID + 5 + + + SEC_HMC_CFG_PERIOD_DQSTRK_CTRL_EN + disable + + + SEC_HMC_CFG_PERIOD_DQSTRK_INTERVAL + 0 + + + SEC_HMC_CFG_PHY_DELAY_MISMATCH + 0 + + + SEC_HMC_CFG_PING_PONG_MODE + pingpong_off + + + SEC_HMC_CFG_POST_REFRESH_EN + enable + + + SEC_HMC_CFG_POST_REFRESH_LOWER_LIMIT + 0 + + + SEC_HMC_CFG_POST_REFRESH_UPPER_LIMIT + 2 + + + SEC_HMC_CFG_POWER_SAVING_EXIT_CYC + 3 + + + SEC_HMC_CFG_PRE_REFRESH_EN + disable + + + SEC_HMC_CFG_PRE_REFRESH_UPPER_LIMIT + 1 + + + SEC_HMC_CFG_RB_RESERVED_ENTRY + 8 + + + SEC_HMC_CFG_RD_AP_TO_VALID + 14 + + + SEC_HMC_CFG_RD_ODT_ON + 4 + + + SEC_HMC_CFG_RD_ODT_PERIOD + 7 + + + SEC_HMC_CFG_RD_TO_PCH + 5 + + + SEC_HMC_CFG_RD_TO_RD + 3 + + + SEC_HMC_CFG_RD_TO_RD_DIFF_BG + 2 + + + SEC_HMC_CFG_RD_TO_RD_DIFF_CHIP + 4 + + + SEC_HMC_CFG_RD_TO_WR + 10 + + + SEC_HMC_CFG_RD_TO_WR_DIFF_BG + 10 + + + SEC_HMC_CFG_RD_TO_WR_DIFF_CHIP + 10 + + + SEC_HMC_CFG_READ_ODT_CHIP + 0 + + + SEC_HMC_CFG_REFRESH_TYPE + 0 + + + SEC_HMC_CFG_REORDER_DATA + enable + + + SEC_HMC_CFG_REORDER_READ + disable + + + SEC_HMC_CFG_RFSH_WARN_THRESHOLD + 0 + + + SEC_HMC_CFG_RLD3_MULTIBANK_REF_DELAY + 0 + + + SEC_HMC_CFG_RLD3_REFRESH_SEQ0 + 0 + + + SEC_HMC_CFG_RLD3_REFRESH_SEQ1 + 0 + + + SEC_HMC_CFG_RLD3_REFRESH_SEQ2 + 0 + + + SEC_HMC_CFG_RLD3_REFRESH_SEQ3 + 0 + + + SEC_HMC_CFG_ROW_ADDR_WIDTH + row_width_16 + + + SEC_HMC_CFG_ROW_CMD_SLOT + 1 + + + SEC_HMC_CFG_ROW_TO_COL_OFFSET + -1 + + + SEC_HMC_CFG_ROW_TO_ROW_OFFSET + 0 + + + SEC_HMC_CFG_SB_CG_DISABLE + disable + + + SEC_HMC_CFG_SB_DDR4_MR3 + 197632 + + + SEC_HMC_CFG_SB_DDR4_MR4 + 264192 + + + SEC_HMC_CFG_SB_DDR4_MR5 + 5216 + + + SEC_HMC_CFG_SHORT_DQSTRK_CTRL_EN + disable + + + SEC_HMC_CFG_SIDEBAND_OFFSET + 1 + + + SEC_HMC_CFG_SRF_AUTOEXIT_EN + disable + + + SEC_HMC_CFG_SRF_ENTRY_EXIT_BLOCK + 0 + + + SEC_HMC_CFG_SRF_TO_VALID + 513 + + + SEC_HMC_CFG_SRF_TO_ZQ_CAL + 385 + + + SEC_HMC_CFG_SRF_ZQCAL_DISABLE + disable + + + SEC_HMC_CFG_STARVE_LIMIT + 10 + + + SEC_HMC_CFG_TCL + 21 + + + SEC_HMC_CFG_USER_RFSH_EN + disable + + + SEC_HMC_CFG_WB_RESERVED_ENTRY + 52 + + + SEC_HMC_CFG_WRITE_ODT_CHIP + 0 + + + SEC_HMC_CFG_WR_AP_TO_VALID + 28 + + + SEC_HMC_CFG_WR_ODT_ON + 0 + + + SEC_HMC_CFG_WR_ODT_PERIOD + 6 + + + SEC_HMC_CFG_WR_TO_PCH + 20 + + + SEC_HMC_CFG_WR_TO_RD + 19 + + + SEC_HMC_CFG_WR_TO_RD_DIFF_BG + 17 + + + SEC_HMC_CFG_WR_TO_RD_DIFF_CHIP + 15 + + + SEC_HMC_CFG_WR_TO_WR + 3 + + + SEC_HMC_CFG_WR_TO_WR_DIFF_BG + 2 + + + SEC_HMC_CFG_WR_TO_WR_DIFF_CHIP + 3 + + + SEC_HMC_CFG_ZQCL_TO_VALID + 257 + + + SEC_HMC_CFG_ZQCS_TO_VALID + 127 + + + SEC_HMC_CHIP_ID + 273 + + + SEC_HMC_CID_ADDR_WIDTH + 0 + + + SEC_HMC_MEMCLKGATE_SETTING + 0 + + + SEC_HMC_MEM_IF_AL + 0 + + + SEC_HMC_MEM_IF_CS_PER_DIMM + 0 + + + SEC_HMC_MEM_IF_RD_PREAMBLE + 0 + + + SEC_HMC_MEM_IF_TCCD + 0 + + + SEC_HMC_MEM_IF_TCCD_S + 0 + + + SEC_HMC_MEM_IF_TCKESR + 0 + + + SEC_HMC_MEM_IF_TCKSRX + 0 + + + SEC_HMC_MEM_IF_TCL + 0 + + + SEC_HMC_MEM_IF_TCWL + 0 + + + SEC_HMC_MEM_IF_TDQSCKMAX + 0 + + + SEC_HMC_MEM_IF_TFAW + 0 + + + SEC_HMC_MEM_IF_TMOD + 0 + + + SEC_HMC_MEM_IF_TPL + 0 + + + SEC_HMC_MEM_IF_TRAS + 0 + + + SEC_HMC_MEM_IF_TRC + 0 + + + SEC_HMC_MEM_IF_TRCD + 0 + + + SEC_HMC_MEM_IF_TREFI + 0 + + + SEC_HMC_MEM_IF_TRFC + 0 + + + SEC_HMC_MEM_IF_TRP + 0 + + + SEC_HMC_MEM_IF_TRRD + 0 + + + SEC_HMC_MEM_IF_TRRD_S + 0 + + + SEC_HMC_MEM_IF_TRTP + 0 + + + SEC_HMC_MEM_IF_TWR + 0 + + + SEC_HMC_MEM_IF_TWR_CRC_DM + 0 + + + SEC_HMC_MEM_IF_TWTR + 0 + + + SEC_HMC_MEM_IF_TWTR_L_CRC_DM + 0 + + + SEC_HMC_MEM_IF_TWTR_S + 0 + + + SEC_HMC_MEM_IF_TWTR_S_CRC_DM + 0 + + + SEC_HMC_MEM_IF_TXP + 0 + + + SEC_HMC_MEM_IF_TXPDLL + 0 + + + SEC_HMC_MEM_IF_TXSR + 0 + + + SEC_HMC_MEM_IF_TZQCS + 0 + + + SEC_HMC_MEM_IF_TZQOPER + 0 + + + SEC_HMC_MEM_IF_WR_CRC + 0 + + + SEC_HMC_MEM_IF_WR_PREAMBLE + 0 + + + SEC_HMC_TEMP_4_ACT_TO_ACT + 0 + + + SEC_HMC_TEMP_RD_TO_RD_DIFF_BG + 0 + + + SEC_HMC_TEMP_WR_TO_RD + 0 + + + SEC_HMC_TEMP_WR_TO_RD_DIFF_BG + 0 + + + SEC_HMC_TEMP_WR_TO_RD_DIFF_CHIP + 0 + + + SEC_HMC_TEMP_WR_TO_WR_DIFF_BG + 0 + + + SEC_RDATA_LANE_INDEX + 0 + + + SEC_RDATA_TILE_INDEX + 0 + + + SEC_WDATA_LANE_INDEX + 0 + + + SEC_WDATA_TILE_INDEX + 0 + + + SEQ_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + SEQ_HIPI_DELAY + 350 + + + SEQ_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + SEQ_PT_SIM_CONTENT + 00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d20e08100b0000000000000000000005077d58000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000 + + + SEQ_PT_SYN_CONTENT + 00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d00c08100b0000000000000000000005066008000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000 + + + SHORT_QSYS_INTERFACE_NAMES + true + + + SIDEBAND_C2P_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + SIDEBAND_HIPI_DELAY + 350 + + + SIDEBAND_P2C_UFI_MODE + pin_ufi_use_in_direct_out_direct + + + SILICON_REV + 14nm5 + + + SWAP_DQS_A_B + false + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_DEVICE_DIE_REVISIONS + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + + + SYS_INFO_DEVICE_FAMILY + Agilex 7 + + + SYS_INFO_DEVICE_POWER_MODEL + STANDARD_POWER + + + SYS_INFO_DEVICE_SPEEDGRADE + 2 + + + SYS_INFO_DEVICE_TEMPERATURE_GRADE + EXTENDED + + + SYS_INFO_UNIQUE_ID + ed_synth_emif_fm_0_emif_fm_0 + + + TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + TRAIT_SUPPORTS_VID + 1 + + + UNUSED_DQS_BUSES_LANELOC_0 + 14695431 + + + UNUSED_DQS_BUSES_LANELOC_1 + 6298637 + + + UNUSED_DQS_BUSES_LANELOC_10 + 0 + + + UNUSED_DQS_BUSES_LANELOC_2 + 4101 + + + UNUSED_DQS_BUSES_LANELOC_3 + 0 + + + UNUSED_DQS_BUSES_LANELOC_4 + 0 + + + UNUSED_DQS_BUSES_LANELOC_5 + 0 + + + UNUSED_DQS_BUSES_LANELOC_6 + 0 + + + UNUSED_DQS_BUSES_LANELOC_7 + 0 + + + UNUSED_DQS_BUSES_LANELOC_8 + 0 + + + UNUSED_DQS_BUSES_LANELOC_9 + 0 + + + UNUSED_DQS_BUSES_LANELOC_AUTOGEN_WCNT + 11 + + + UNUSED_MEM_PINS_PINLOC_0 + 199425087 + + + UNUSED_MEM_PINS_PINLOC_1 + 196276413 + + + UNUSED_MEM_PINS_PINLOC_10 + 167937186 + + + UNUSED_MEM_PINS_PINLOC_100 + 0 + + + UNUSED_MEM_PINS_PINLOC_101 + 0 + + + UNUSED_MEM_PINS_PINLOC_102 + 0 + + + UNUSED_MEM_PINS_PINLOC_103 + 0 + + + UNUSED_MEM_PINS_PINLOC_104 + 0 + + + UNUSED_MEM_PINS_PINLOC_105 + 0 + + + UNUSED_MEM_PINS_PINLOC_106 + 0 + + + UNUSED_MEM_PINS_PINLOC_107 + 0 + + + UNUSED_MEM_PINS_PINLOC_108 + 0 + + + UNUSED_MEM_PINS_PINLOC_109 + 0 + + + UNUSED_MEM_PINS_PINLOC_11 + 164788383 + + + UNUSED_MEM_PINS_PINLOC_110 + 0 + + + UNUSED_MEM_PINS_PINLOC_111 + 0 + + + UNUSED_MEM_PINS_PINLOC_112 + 0 + + + UNUSED_MEM_PINS_PINLOC_113 + 0 + + + UNUSED_MEM_PINS_PINLOC_114 + 0 + + + UNUSED_MEM_PINS_PINLOC_115 + 0 + + + UNUSED_MEM_PINS_PINLOC_116 + 0 + + + UNUSED_MEM_PINS_PINLOC_117 + 0 + + + UNUSED_MEM_PINS_PINLOC_118 + 0 + + + UNUSED_MEM_PINS_PINLOC_119 + 0 + + + UNUSED_MEM_PINS_PINLOC_12 + 145906844 + + + UNUSED_MEM_PINS_PINLOC_120 + 0 + + + UNUSED_MEM_PINS_PINLOC_121 + 0 + + + UNUSED_MEM_PINS_PINLOC_122 + 0 + + + UNUSED_MEM_PINS_PINLOC_123 + 0 + + + UNUSED_MEM_PINS_PINLOC_124 + 0 + + + UNUSED_MEM_PINS_PINLOC_125 + 0 + + + UNUSED_MEM_PINS_PINLOC_126 + 0 + + + UNUSED_MEM_PINS_PINLOC_127 + 0 + + + UNUSED_MEM_PINS_PINLOC_128 + 0 + + + UNUSED_MEM_PINS_PINLOC_13 + 108121215 + + + UNUSED_MEM_PINS_PINLOC_14 + 97613919 + + + UNUSED_MEM_PINS_PINLOC_15 + 93415515 + + + UNUSED_MEM_PINS_PINLOC_16 + 90266712 + + + UNUSED_MEM_PINS_PINLOC_17 + 83972181 + + + UNUSED_MEM_PINS_PINLOC_18 + 75572298 + + + UNUSED_MEM_PINS_PINLOC_19 + 55630906 + + + UNUSED_MEM_PINS_PINLOC_2 + 193127610 + + + UNUSED_MEM_PINS_PINLOC_20 + 19954731 + + + UNUSED_MEM_PINS_PINLOC_21 + 7 + + + UNUSED_MEM_PINS_PINLOC_22 + 0 + + + UNUSED_MEM_PINS_PINLOC_23 + 0 + + + UNUSED_MEM_PINS_PINLOC_24 + 0 + + + UNUSED_MEM_PINS_PINLOC_25 + 0 + + + UNUSED_MEM_PINS_PINLOC_26 + 0 + + + UNUSED_MEM_PINS_PINLOC_27 + 0 + + + UNUSED_MEM_PINS_PINLOC_28 + 0 + + + UNUSED_MEM_PINS_PINLOC_29 + 0 + + + UNUSED_MEM_PINS_PINLOC_3 + 189978807 + + + UNUSED_MEM_PINS_PINLOC_30 + 0 + + + UNUSED_MEM_PINS_PINLOC_31 + 0 + + + UNUSED_MEM_PINS_PINLOC_32 + 0 + + + UNUSED_MEM_PINS_PINLOC_33 + 0 + + + UNUSED_MEM_PINS_PINLOC_34 + 0 + + + UNUSED_MEM_PINS_PINLOC_35 + 0 + + + UNUSED_MEM_PINS_PINLOC_36 + 0 + + + UNUSED_MEM_PINS_PINLOC_37 + 0 + + + UNUSED_MEM_PINS_PINLOC_38 + 0 + + + UNUSED_MEM_PINS_PINLOC_39 + 0 + + + UNUSED_MEM_PINS_PINLOC_4 + 186830004 + + + UNUSED_MEM_PINS_PINLOC_40 + 0 + + + UNUSED_MEM_PINS_PINLOC_41 + 0 + + + UNUSED_MEM_PINS_PINLOC_42 + 0 + + + UNUSED_MEM_PINS_PINLOC_43 + 0 + + + UNUSED_MEM_PINS_PINLOC_44 + 0 + + + UNUSED_MEM_PINS_PINLOC_45 + 0 + + + UNUSED_MEM_PINS_PINLOC_46 + 0 + + + UNUSED_MEM_PINS_PINLOC_47 + 0 + + + UNUSED_MEM_PINS_PINLOC_48 + 0 + + + UNUSED_MEM_PINS_PINLOC_49 + 0 + + + UNUSED_MEM_PINS_PINLOC_5 + 183681201 + + + UNUSED_MEM_PINS_PINLOC_50 + 0 + + + UNUSED_MEM_PINS_PINLOC_51 + 0 + + + UNUSED_MEM_PINS_PINLOC_52 + 0 + + + UNUSED_MEM_PINS_PINLOC_53 + 0 + + + UNUSED_MEM_PINS_PINLOC_54 + 0 + + + UNUSED_MEM_PINS_PINLOC_55 + 0 + + + UNUSED_MEM_PINS_PINLOC_56 + 0 + + + UNUSED_MEM_PINS_PINLOC_57 + 0 + + + UNUSED_MEM_PINS_PINLOC_58 + 0 + + + UNUSED_MEM_PINS_PINLOC_59 + 0 + + + UNUSED_MEM_PINS_PINLOC_6 + 180532398 + + + UNUSED_MEM_PINS_PINLOC_60 + 0 + + + UNUSED_MEM_PINS_PINLOC_61 + 0 + + + UNUSED_MEM_PINS_PINLOC_62 + 0 + + + UNUSED_MEM_PINS_PINLOC_63 + 0 + + + UNUSED_MEM_PINS_PINLOC_64 + 0 + + + UNUSED_MEM_PINS_PINLOC_65 + 0 + + + UNUSED_MEM_PINS_PINLOC_66 + 0 + + + UNUSED_MEM_PINS_PINLOC_67 + 0 + + + UNUSED_MEM_PINS_PINLOC_68 + 0 + + + UNUSED_MEM_PINS_PINLOC_69 + 0 + + + UNUSED_MEM_PINS_PINLOC_7 + 177383595 + + + UNUSED_MEM_PINS_PINLOC_70 + 0 + + + UNUSED_MEM_PINS_PINLOC_71 + 0 + + + UNUSED_MEM_PINS_PINLOC_72 + 0 + + + UNUSED_MEM_PINS_PINLOC_73 + 0 + + + UNUSED_MEM_PINS_PINLOC_74 + 0 + + + UNUSED_MEM_PINS_PINLOC_75 + 0 + + + UNUSED_MEM_PINS_PINLOC_76 + 0 + + + UNUSED_MEM_PINS_PINLOC_77 + 0 + + + UNUSED_MEM_PINS_PINLOC_78 + 0 + + + UNUSED_MEM_PINS_PINLOC_79 + 0 + + + UNUSED_MEM_PINS_PINLOC_8 + 174234792 + + + UNUSED_MEM_PINS_PINLOC_80 + 0 + + + UNUSED_MEM_PINS_PINLOC_81 + 0 + + + UNUSED_MEM_PINS_PINLOC_82 + 0 + + + UNUSED_MEM_PINS_PINLOC_83 + 0 + + + UNUSED_MEM_PINS_PINLOC_84 + 0 + + + UNUSED_MEM_PINS_PINLOC_85 + 0 + + + UNUSED_MEM_PINS_PINLOC_86 + 0 + + + UNUSED_MEM_PINS_PINLOC_87 + 0 + + + UNUSED_MEM_PINS_PINLOC_88 + 0 + + + UNUSED_MEM_PINS_PINLOC_89 + 0 + + + UNUSED_MEM_PINS_PINLOC_9 + 171085989 + + + UNUSED_MEM_PINS_PINLOC_90 + 0 + + + UNUSED_MEM_PINS_PINLOC_91 + 0 + + + UNUSED_MEM_PINS_PINLOC_92 + 0 + + + UNUSED_MEM_PINS_PINLOC_93 + 0 + + + UNUSED_MEM_PINS_PINLOC_94 + 0 + + + UNUSED_MEM_PINS_PINLOC_95 + 0 + + + UNUSED_MEM_PINS_PINLOC_96 + 0 + + + UNUSED_MEM_PINS_PINLOC_97 + 0 + + + UNUSED_MEM_PINS_PINLOC_98 + 0 + + + UNUSED_MEM_PINS_PINLOC_99 + 0 + + + UNUSED_MEM_PINS_PINLOC_AUTOGEN_WCNT + 129 + + + USER_CLK_RATIO + 4 + + + + altera_emif_arch_fm + 19.1 + arch + ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy + 0 + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + arch.ctrl_ast_rd_0/ecc_core.ctrl_ast_rd_0 + ecc_core/ctrl_ast_rd_0 + arch/ctrl_ast_rd_0 + + + + + resetDomainSysInfo + -1 + + + clockDomainSysInfo + -1 + + + clockResetSysInfo + + + + clockRateSysInfo + -1 + + + + clock + 24.1 + arch.emif_usr_clk/ecc_core.emif_usr_clk_in + ecc_core/emif_usr_clk_in + arch/emif_usr_clk + + + + + resetDomainSysInfo + -1 + + + clockDomainSysInfo + -1 + + + clockResetSysInfo + + + + + reset + 24.1 + arch.emif_usr_reset_n/ecc_core.emif_usr_reset_n_in + ecc_core/emif_usr_reset_n_in + arch/emif_usr_reset_n + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + ecc_core.ctrl_ast_cmd_0/arch.ctrl_ast_cmd_0 + arch/ctrl_ast_cmd_0 + ecc_core/ctrl_ast_cmd_0 + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + ecc_core.ctrl_ast_wr_0/arch.ctrl_ast_wr_0 + arch/ctrl_ast_wr_0 + ecc_core/ctrl_ast_wr_0 + + + + + startPortLSB + 0 + + + endPort + + + + endPortLSB + 0 + + + startPort + + + + width + 0 + + + + conduit + 24.1 + ecc_core.ctrl_ecc_0/arch.ctrl_ecc_0 + arch/ctrl_ecc_0 + ecc_core/ctrl_ecc_0 + + + ed_synth_emif_fm_0.emif_fm_0.arch + + + + + ecc_core + + + + BOARD_DDR3_AC_ISI_NS + 0.0 + + + BOARD_DDR3_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_DDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_DDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDR3_TDH_DERATING_PS + 0 + + + BOARD_DDR3_TDS_DERATING_PS + 0 + + + BOARD_DDR3_TIH_DERATING_PS + 0 + + + BOARD_DDR3_TIS_DERATING_PS + 0 + + + BOARD_DDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR3_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_ISI_NS + 0.15 + + + BOARD_DDR4_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR4_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_RCLK_ISI_NS + 0.15 + + + BOARD_DDR4_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_RDATA_ISI_NS + 0.12 + + + BOARD_DDR4_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR4_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR4_SKEW_WITHIN_AC_NS + 0.18 + + + BOARD_DDR4_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_TIH_DERATING_PS + 0 + + + BOARD_DDR4_TIS_DERATING_PS + 0 + + + BOARD_DDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR4_WCLK_ISI_NS + 0.06 + + + BOARD_DDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_WDATA_ISI_NS + 0.13 + + + BOARD_DDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_ISI_NS + 0.0 + + + BOARD_DDRT_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDRT_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDRT_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDRT_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDRT_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDRT_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDRT_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDRT_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDRT_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDRT_TIH_DERATING_PS + 0 + + + BOARD_DDRT_TIS_DERATING_PS + 0 + + + BOARD_DDRT_USER_AC_ISI_NS + 0.0 + + + BOARD_DDRT_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDRT_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDRT_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_LPDDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_LPDDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_LPDDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_LPDDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_LPDDR3_TDH_DERATING_PS + 0 + + + BOARD_LPDDR3_TDS_DERATING_PS + 0 + + + BOARD_LPDDR3_TIH_DERATING_PS + 0 + + + BOARD_LPDDR3_TIS_DERATING_PS + 0 + + + BOARD_LPDDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_LPDDR3_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_ISI_NS + 0.0 + + + BOARD_QDR2_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_TO_K_SKEW_NS + 0.0 + + + BOARD_QDR2_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR2_IS_SKEW_WITHIN_D_DESKEWED + false + + + BOARD_QDR2_IS_SKEW_WITHIN_Q_DESKEWED + false + + + BOARD_QDR2_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_MAX_K_DELAY_NS + 0.6 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_D_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_Q_NS + 0.0 + + + BOARD_QDR2_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR2_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR2_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR2_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_ISI_NS + 0.0 + + + BOARD_QDR4_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_QDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_QDR4_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR4_IS_SKEW_WITHIN_QK_DESKEWED + true + + + BOARD_QDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_QDR4_MAX_DK_DELAY_NS + 0.6 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_QDR4_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_QDR4_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR4_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_QDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR4_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_ISI_NS + 0.0 + + + BOARD_RLD3_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_RLD3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_RLD3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_RLD3_IS_SKEW_WITHIN_QK_DESKEWED + false + + + BOARD_RLD3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_RLD3_MAX_DK_DELAY_NS + 0.6 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_RLD3_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_RLD3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_RLD3_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_RLD3_TDH_DERATING_PS + 0 + + + BOARD_RLD3_TDS_DERATING_PS + 0 + + + BOARD_RLD3_TIH_DERATING_PS + 0 + + + BOARD_RLD3_TIS_DERATING_PS + 0 + + + BOARD_RLD3_USER_AC_ISI_NS + 0.0 + + + BOARD_RLD3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_RLD3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_RLD3_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_WDATA_SLEW_RATE + 2.0 + + + CAL_DEBUG_CLOCK_FREQUENCY + 50000000 + + + CTRL_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_ADDR_ORDER_ENUM + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_DDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR3_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR3_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR3_ECC_EN + false + + + CTRL_DDR3_ECC_READDATAERROR_EN + true + + + CTRL_DDR3_ECC_STATUS_EN + false + + + CTRL_DDR3_MMR_EN + false + + + CTRL_DDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_REORDER_EN + true + + + CTRL_DDR3_SELF_REFRESH_EN + false + + + CTRL_DDR3_STARVE_LIMIT + 10 + + + CTRL_DDR3_USER_PRIORITY_EN + false + + + CTRL_DDR3_USER_REFRESH_EN + false + + + CTRL_DDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_ADDR_ORDER_ENUM + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDR4_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR4_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR4_AUTO_PRECHARGE_EN + false + + + CTRL_DDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR4_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR4_ECC_EN + true + + + CTRL_DDR4_ECC_READDATAERROR_EN + false + + + CTRL_DDR4_ECC_STATUS_EN + false + + + CTRL_DDR4_MAJOR_MODE_EN + false + + + CTRL_DDR4_MMR_EN + false + + + CTRL_DDR4_POST_REFRESH_EN + true + + + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT + 0 + + + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT + 2 + + + CTRL_DDR4_PRE_REFRESH_EN + false + + + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT + 1 + + + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_REORDER_EN + true + + + CTRL_DDR4_SELF_REFRESH_EN + false + + + CTRL_DDR4_STARVE_LIMIT + 10 + + + CTRL_DDR4_USER_PRIORITY_EN + false + + + CTRL_DDR4_USER_REFRESH_EN + false + + + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ADDR_INTERLEAVING + COARSE + + + CTRL_DDRT_ADDR_ORDER_ENUM + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDRT_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDRT_AUTO_POWER_DOWN_EN + false + + + CTRL_DDRT_AUTO_PRECHARGE_EN + false + + + CTRL_DDRT_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDRT_AXIS_DATA_WIDTH + 512 + + + CTRL_DDRT_DIMM_DENSITY + 128 + + + CTRL_DDRT_DIMM_VIRAL_FLOW_EN + false + + + CTRL_DDRT_DRIVER_MARGINING_EN + 0 + + + CTRL_DDRT_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDRT_ECC_EN + false + + + CTRL_DDRT_ECC_READDATAERROR_EN + true + + + CTRL_DDRT_ECC_STATUS_EN + true + + + CTRL_DDRT_ERR_INJECT_EN + false + + + CTRL_DDRT_ERR_REPLAY_EN + false + + + CTRL_DDRT_EXT_ERR_INJECT_EN + false + + + CTRL_DDRT_GNT_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_GNT_TO_WR_DIFF_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_GNT_TO_WR_SAME_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_HOST_VIRAL_FLOW_EN + false + + + CTRL_DDRT_MMR_EN + false + + + CTRL_DDRT_NUM_OF_AXIS_ID + 1 + + + CTRL_DDRT_PARITY_CMD_EN + false + + + CTRL_DDRT_PMM_ADR_FLOW_EN + false + + + CTRL_DDRT_PMM_WPQ_FLUSH_EN + false + + + CTRL_DDRT_POISON_DETECTION_EN + false + + + CTRL_DDRT_PORT_AFI_C_WIDTH + 2 + + + CTRL_DDRT_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_REORDER_EN + true + + + CTRL_DDRT_SELF_REFRESH_EN + false + + + CTRL_DDRT_STARVE_LIMIT + 10 + + + CTRL_DDRT_UPI_EN + false + + + CTRL_DDRT_UPI_ID_WIDTH + 8 + + + CTRL_DDRT_USER_PRIORITY_EN + false + + + CTRL_DDRT_USER_REFRESH_EN + false + + + CTRL_DDRT_WR_ACK_POLICY + POSTED + + + CTRL_DDRT_WR_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_GNT_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ZQ_INTERVAL_MS + 3 + + + CTRL_ECC_EN + true + + + CTRL_ECC_READDATAERROR_EN + false + + + CTRL_ECC_STATUS_EN + false + + + CTRL_LPDDR3_ADDR_ORDER_ENUM + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_LPDDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_LPDDR3_AUTO_PRECHARGE_EN + false + + + CTRL_LPDDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_LPDDR3_MMR_EN + false + + + CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_REORDER_EN + true + + + CTRL_LPDDR3_SELF_REFRESH_EN + false + + + CTRL_LPDDR3_STARVE_LIMIT + 10 + + + CTRL_LPDDR3_USER_PRIORITY_EN + false + + + CTRL_LPDDR3_USER_REFRESH_EN + false + + + CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_MMR_EN + false + + + CTRL_QDR2_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR2_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR2_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_ADD_RAW_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_ADD_WAR_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR4_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR4_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_WAR_TURNAROUND_DELAY_CYC + 11 + + + CTRL_REORDER_EN + true + + + CTRL_RLD2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_ADDR_ORDER_ENUM + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_RLD3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_USER_PRIORITY_EN + false + + + DIAG_AC_PARITY_ERR + false + + + DIAG_ADD_READY_PIPELINE + true + + + DIAG_BOARD_DELAY_CONFIG_STR + + + + DIAG_DB_RESET_AUTO_RELEASE + avl_release + + + DIAG_DDR3_ABSTRACT_PHY + false + + + DIAG_DDR3_AC_PARITY_ERR + false + + + DIAG_DDR3_CAL_ADDR0 + 0 + + + DIAG_DDR3_CAL_ADDR1 + 8 + + + DIAG_DDR3_CAL_ENABLE_MICRON_AP + false + + + DIAG_DDR3_CAL_ENABLE_NON_DES + false + + + DIAG_DDR3_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR3_CA_DESKEW_EN + true + + + DIAG_DDR3_CA_LEVEL_EN + true + + + DIAG_DDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR3_ENABLE_USER_MODE + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR3_INTERFACE_ID + 0 + + + DIAG_DDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR3_SIM_VERBOSE + true + + + DIAG_DDR3_TG2_TEST_DURATION + SHORT + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR3_USE_TG_AVL_2 + false + + + DIAG_DDR3_USE_TG_HBM + false + + + DIAG_DDR4_ABSTRACT_PHY + false + + + DIAG_DDR4_AC_PARITY_ERR + false + + + DIAG_DDR4_CAL_ADDR0 + 0 + + + DIAG_DDR4_CAL_ADDR1 + 8 + + + DIAG_DDR4_CAL_ENABLE_NON_DES + false + + + DIAG_DDR4_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR4_ENABLE_USER_MODE + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR4_INTERFACE_ID + 0 + + + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR4_SIM_VERBOSE + true + + + DIAG_DDR4_SKIP_AC_PARITY_CHECK + false + + + DIAG_DDR4_SKIP_CA_DESKEW + false + + + DIAG_DDR4_SKIP_CA_LEVEL + false + + + DIAG_DDR4_SKIP_VREF_CAL + false + + + DIAG_DDR4_TG2_TEST_DURATION + SHORT + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR4_USE_TG_AVL_2 + false + + + DIAG_DDR4_USE_TG_HBM + false + + + DIAG_DDRT_ABSTRACT_PHY + false + + + DIAG_DDRT_AC_PARITY_ERR + false + + + DIAG_DDRT_CAL_ADDR0 + 0 + + + DIAG_DDRT_CAL_ADDR1 + 8 + + + DIAG_DDRT_CAL_ENABLE_NON_DES + false + + + DIAG_DDRT_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDRT_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDRT_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDRT_EFF_TEST + false + + + DIAG_DDRT_ENABLE_DEFAULT_MODE + false + + + DIAG_DDRT_ENABLE_DRIVER_MARGINING + false + + + DIAG_DDRT_ENABLE_ENHANCED_TESTING + false + + + DIAG_DDRT_ENABLE_USER_MODE + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDRT_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDRT_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_JTAG + + + DIAG_DDRT_EX_DESIGN_ISSP_EN + true + + + DIAG_DDRT_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDRT_INTERFACE_ID + 0 + + + DIAG_DDRT_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDRT_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDRT_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDRT_SIM_VERBOSE + true + + + DIAG_DDRT_SKIP_CA_DESKEW + false + + + DIAG_DDRT_SKIP_CA_LEVEL + false + + + DIAG_DDRT_SKIP_VREF_CAL + false + + + DIAG_DDRT_TG2_TEST_DURATION + SHORT + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDRT_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDRT_USE_NEW_EFFMON_S10 + false + + + DIAG_DDRT_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDRT_USE_TG_AVL_2 + true + + + DIAG_DDRT_USE_TG_HBM + false + + + DIAG_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_ECLIPSE_DEBUG + false + + + DIAG_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_ENABLE_DEFAULT_MODE + false + + + DIAG_ENABLE_HPS_EMIF_DEBUG + false + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_ENABLE_JTAG_UART_HEX + false + + + DIAG_ENABLE_SOFT_M20K + false + + + DIAG_ENABLE_USER_MODE + true + + + DIAG_EXPORT_PLL_LOCKED + true + + + DIAG_EXPORT_PLL_REF_CLK_OUT + false + + + DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_EXPORT_VJI + false + + + DIAG_EXPOSE_DFT_SIGNALS + false + + + DIAG_EXPOSE_EARLY_READY + false + + + DIAG_EXPOSE_RD_TYPE + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_EXT_DOCS + false + + + DIAG_EX_DESIGN_ADD_TEST_EMIFS + + + + DIAG_EX_DESIGN_ISSP_EN + true + + + DIAG_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_EX_DESIGN_SEPARATE_RESETS + false + + + DIAG_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_FAST_SIM + true + + + DIAG_FAST_SIM_OVERRIDE + FAST_SIM_OVERRIDE_DEFAULT + + + DIAG_HMC_HRC + auto + + + DIAG_INTERFACE_ID + 0 + + + DIAG_LPDDR3_ABSTRACT_PHY + false + + + DIAG_LPDDR3_AC_PARITY_ERR + false + + + DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_LPDDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_LPDDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_LPDDR3_ENABLE_USER_MODE + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_LPDDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_LPDDR3_INTERFACE_ID + 0 + + + DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_LPDDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_LPDDR3_SIM_VERBOSE + true + + + DIAG_LPDDR3_SKIP_CA_DESKEW + false + + + DIAG_LPDDR3_SKIP_CA_LEVEL + false + + + DIAG_LPDDR3_TG2_TEST_DURATION + SHORT + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_LPDDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_LPDDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_LPDDR3_USE_TG_AVL_2 + false + + + DIAG_LPDDR3_USE_TG_HBM + false + + + DIAG_QDR2_ABSTRACT_PHY + false + + + DIAG_QDR2_AC_PARITY_ERR + false + + + DIAG_QDR2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR2_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR2_ENABLE_USER_MODE + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR2_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR2_INTERFACE_ID + 0 + + + DIAG_QDR2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR2_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR2_SIM_VERBOSE + true + + + DIAG_QDR2_TG2_TEST_DURATION + SHORT + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR2_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR2_USE_TG_AVL_2 + false + + + DIAG_QDR2_USE_TG_HBM + false + + + DIAG_QDR4_ABSTRACT_PHY + false + + + DIAG_QDR4_AC_PARITY_ERR + false + + + DIAG_QDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR4_ENABLE_USER_MODE + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR4_INTERFACE_ID + 0 + + + DIAG_QDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR4_SIM_VERBOSE + true + + + DIAG_QDR4_SKIP_VREF_CAL + false + + + DIAG_QDR4_TG2_TEST_DURATION + SHORT + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR4_USE_TG_AVL_2 + false + + + DIAG_QDR4_USE_TG_HBM + false + + + DIAG_RLD2_ABSTRACT_PHY + false + + + DIAG_RLD2_AC_PARITY_ERR + false + + + DIAG_RLD2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD2_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD2_ENABLE_USER_MODE + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD2_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD2_INTERFACE_ID + 0 + + + DIAG_RLD2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD2_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD2_SIM_VERBOSE + true + + + DIAG_RLD2_TG2_TEST_DURATION + SHORT + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD2_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD2_USE_TG_AVL_2 + false + + + DIAG_RLD2_USE_TG_HBM + false + + + DIAG_RLD3_ABSTRACT_PHY + false + + + DIAG_RLD3_AC_PARITY_ERR + false + + + DIAG_RLD3_CA_DESKEW_EN + true + + + DIAG_RLD3_CA_LEVEL_EN + true + + + DIAG_RLD3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD3_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD3_ENABLE_USER_MODE + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD3_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD3_INTERFACE_ID + 0 + + + DIAG_RLD3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD3_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD3_SIM_VERBOSE + true + + + DIAG_RLD3_TG2_TEST_DURATION + SHORT + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD3_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD3_USE_TG_AVL_2 + false + + + DIAG_RLD3_USE_TG_HBM + false + + + DIAG_RS232_UART_BAUDRATE + 57600 + + + DIAG_SEQ_RESET_AUTO_RELEASE + avl + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_CHECKER_SKIP_TG + false + + + DIAG_SIM_MEMORY_PRELOAD + false + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE + + + + DIAG_SIM_REGTEST_MODE + false + + + DIAG_SIM_VERBOSE_LEVEL + 5 + + + DIAG_SOFT_NIOS_CLOCK_FREQUENCY + 100 + + + DIAG_SOFT_NIOS_MODE + SOFT_NIOS_MODE_DISABLED + + + DIAG_SYNTH_FOR_SIM + false + + + DIAG_TG2_TEST_DURATION + SHORT + + + DIAG_TG_AVL_2_NUM_CFG_INTERFACES + 0 + + + DIAG_TIMING_REGTEST_MODE + false + + + DIAG_USE_ABSTRACT_PHY + false + + + DIAG_USE_BOARD_DELAY_MODEL + false + + + DIAG_USE_NEW_EFFMON_S10 + false + + + DIAG_USE_RS232_UART + false + + + DIAG_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_USE_TG_AVL_2 + false + + + DIAG_USE_TG_HBM + false + + + DIAG_VERBOSE_IOAUX + false + + + EMIF_0_CONN_TO_CALIP + CALIP_0 + + + EMIF_0_REF_CLK_SHARING + EXPORTED + + + EMIF_0_STORED_PARAM + + + + EMIF_10_CONN_TO_CALIP + CALIP_0 + + + EMIF_10_REF_CLK_SHARING + EXPORTED + + + EMIF_10_STORED_PARAM + + + + EMIF_11_CONN_TO_CALIP + CALIP_0 + + + EMIF_11_REF_CLK_SHARING + EXPORTED + + + EMIF_11_STORED_PARAM + + + + EMIF_12_CONN_TO_CALIP + CALIP_0 + + + EMIF_12_REF_CLK_SHARING + EXPORTED + + + EMIF_12_STORED_PARAM + + + + EMIF_13_CONN_TO_CALIP + CALIP_0 + + + EMIF_13_REF_CLK_SHARING + EXPORTED + + + EMIF_13_STORED_PARAM + + + + EMIF_14_CONN_TO_CALIP + CALIP_0 + + + EMIF_14_REF_CLK_SHARING + EXPORTED + + + EMIF_14_STORED_PARAM + + + + EMIF_15_CONN_TO_CALIP + CALIP_0 + + + EMIF_15_REF_CLK_SHARING + EXPORTED + + + EMIF_15_STORED_PARAM + + + + EMIF_1_CONN_TO_CALIP + CALIP_0 + + + EMIF_1_REF_CLK_SHARING + EXPORTED + + + EMIF_1_STORED_PARAM + + + + EMIF_2_CONN_TO_CALIP + CALIP_0 + + + EMIF_2_REF_CLK_SHARING + EXPORTED + + + EMIF_2_STORED_PARAM + + + + EMIF_3_CONN_TO_CALIP + CALIP_0 + + + EMIF_3_REF_CLK_SHARING + EXPORTED + + + EMIF_3_STORED_PARAM + + + + EMIF_4_CONN_TO_CALIP + CALIP_0 + + + EMIF_4_REF_CLK_SHARING + EXPORTED + + + EMIF_4_STORED_PARAM + + + + EMIF_5_CONN_TO_CALIP + CALIP_0 + + + EMIF_5_REF_CLK_SHARING + EXPORTED + + + EMIF_5_STORED_PARAM + + + + EMIF_6_CONN_TO_CALIP + CALIP_0 + + + EMIF_6_REF_CLK_SHARING + EXPORTED + + + EMIF_6_STORED_PARAM + + + + EMIF_7_CONN_TO_CALIP + CALIP_0 + + + EMIF_7_REF_CLK_SHARING + EXPORTED + + + EMIF_7_STORED_PARAM + + + + EMIF_8_CONN_TO_CALIP + CALIP_0 + + + EMIF_8_REF_CLK_SHARING + EXPORTED + + + EMIF_8_STORED_PARAM + + + + EMIF_9_CONN_TO_CALIP + CALIP_0 + + + EMIF_9_REF_CLK_SHARING + EXPORTED + + + EMIF_9_STORED_PARAM + + + + EX_DESIGN_GUI_DDR3_GEN_BSI + false + + + EX_DESIGN_GUI_DDR3_GEN_CDC + false + + + EX_DESIGN_GUI_DDR3_GEN_SIM + true + + + EX_DESIGN_GUI_DDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_GEN_BSI + false + + + EX_DESIGN_GUI_DDR4_GEN_CDC + false + + + EX_DESIGN_GUI_DDR4_GEN_SIM + true + + + EX_DESIGN_GUI_DDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_GEN_BSI + false + + + EX_DESIGN_GUI_DDRT_GEN_CDC + false + + + EX_DESIGN_GUI_DDRT_GEN_SIM + true + + + EX_DESIGN_GUI_DDRT_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDRT_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDRT_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDRT_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_GEN_BSI + false + + + EX_DESIGN_GUI_GEN_CDC + false + + + EX_DESIGN_GUI_GEN_SIM + true + + + EX_DESIGN_GUI_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_GEN_BSI + false + + + EX_DESIGN_GUI_LPDDR3_GEN_CDC + false + + + EX_DESIGN_GUI_LPDDR3_GEN_SIM + true + + + EX_DESIGN_GUI_LPDDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_LPDDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_GEN_BSI + false + + + EX_DESIGN_GUI_QDR2_GEN_CDC + false + + + EX_DESIGN_GUI_QDR2_GEN_SIM + true + + + EX_DESIGN_GUI_QDR2_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_GEN_BSI + false + + + EX_DESIGN_GUI_QDR4_GEN_CDC + false + + + EX_DESIGN_GUI_QDR4_GEN_SIM + true + + + EX_DESIGN_GUI_QDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_GEN_BSI + false + + + EX_DESIGN_GUI_RLD2_GEN_CDC + false + + + EX_DESIGN_GUI_RLD2_GEN_SIM + true + + + EX_DESIGN_GUI_RLD2_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_GEN_BSI + false + + + EX_DESIGN_GUI_RLD3_GEN_CDC + false + + + EX_DESIGN_GUI_RLD3_GEN_SIM + true + + + EX_DESIGN_GUI_RLD3_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + FAMILY_ENUM + FAMILY_AGILEX + + + INTERNAL_TESTING_MODE + false + + + IS_ED_SLAVE + false + + + MEM_BURST_LENGTH + 8 + + + MEM_DATA_MASK_EN + true + + + MEM_DDR3_AC_PAR_EN + false + + + MEM_DDR3_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR3_ADDR_WIDTH + 1 + + + MEM_DDR3_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR3_ALERT_N_PLACEMENT_ENUM + DDR3_ALERT_N_PLACEMENT_AC_LANES + + + MEM_DDR3_ASR_ENUM + DDR3_ASR_MANUAL + + + MEM_DDR3_ATCL_ENUM + DDR3_ATCL_DISABLED + + + MEM_DDR3_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_BL_ENUM + DDR3_BL_BL8 + + + MEM_DDR3_BT_ENUM + DDR3_BT_SEQUENTIAL + + + MEM_DDR3_CFG_GEN_DBE + false + + + MEM_DDR3_CFG_GEN_SBE + false + + + MEM_DDR3_CKE_PER_DIMM + 1 + + + MEM_DDR3_CKE_WIDTH + 1 + + + MEM_DDR3_CK_WIDTH + 1 + + + MEM_DDR3_COL_ADDR_WIDTH + 10 + + + MEM_DDR3_CS_PER_DIMM + 1 + + + MEM_DDR3_CS_WIDTH + 1 + + + MEM_DDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR3_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR3_DLL_EN + true + + + MEM_DDR3_DM_EN + true + + + MEM_DDR3_DM_WIDTH + 1 + + + MEM_DDR3_DQS_WIDTH + 8 + + + MEM_DDR3_DQ_PER_DQS + 8 + + + MEM_DDR3_DQ_WIDTH + 72 + + + MEM_DDR3_DRV_STR_ENUM + DDR3_DRV_STR_RZQ_7 + + + MEM_DDR3_FORMAT_ENUM + MEM_FORMAT_UDIMM + + + MEM_DDR3_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR3_LRDIMM_EXTENDED_CONFIG + 000000000000000000 + + + MEM_DDR3_MIRROR_ADDRESSING_EN + true + + + MEM_DDR3_MR0 + 0 + + + MEM_DDR3_MR1 + 0 + + + MEM_DDR3_MR2 + 0 + + + MEM_DDR3_MR3 + 0 + + + MEM_DDR3_NUM_OF_DIMMS + 1 + + + MEM_DDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_ODT_WIDTH + 1 + + + MEM_DDR3_PD_ENUM + DDR3_PD_OFF + + + MEM_DDR3_RANKS_PER_DIMM + 1 + + + MEM_DDR3_RDIMM_CONFIG + 0000000000000000 + + + MEM_DDR3_RM_WIDTH + 0 + + + MEM_DDR3_ROW_ADDR_WIDTH + 15 + + + MEM_DDR3_RTT_NOM_ENUM + DDR3_RTT_NOM_ODT_DISABLED + + + MEM_DDR3_RTT_WR_ENUM + DDR3_RTT_WR_RZQ_4 + + + MEM_DDR3_R_DERIVED_ODT0 + , + + + MEM_DDR3_R_DERIVED_ODT1 + , + + + MEM_DDR3_R_DERIVED_ODT2 + , + + + MEM_DDR3_R_DERIVED_ODT3 + , + + + MEM_DDR3_R_DERIVED_ODTN + , + + + MEM_DDR3_R_ODT0_1X1 + off + + + MEM_DDR3_R_ODT0_2X2 + off,off + + + MEM_DDR3_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR3_R_ODT1_2X2 + off,off + + + MEM_DDR3_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR3_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR3_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR3_R_ODTN_1X1 + Rank 0 + + + MEM_DDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR3_SPEEDBIN_ENUM + DDR3_SPEEDBIN_2133 + + + MEM_DDR3_SRT_ENUM + DDR3_SRT_NORMAL + + + MEM_DDR3_TCL + 14 + + + MEM_DDR3_TDH_DC_MV + 100 + + + MEM_DDR3_TDH_PS + 55 + + + MEM_DDR3_TDQSCKDL + 1200 + + + MEM_DDR3_TDQSCKDM + 900 + + + MEM_DDR3_TDQSCKDS + 450 + + + MEM_DDR3_TDQSCK_DERV_PS + 2 + + + MEM_DDR3_TDQSCK_PS + 180 + + + MEM_DDR3_TDQSQ_PS + 75 + + + MEM_DDR3_TDQSS_CYC + 0.27 + + + MEM_DDR3_TDSH_CYC + 0.18 + + + MEM_DDR3_TDSS_CYC + 0.18 + + + MEM_DDR3_TDS_AC_MV + 135 + + + MEM_DDR3_TDS_PS + 53 + + + MEM_DDR3_TFAW_CYC + 27 + + + MEM_DDR3_TFAW_NS + 25.0 + + + MEM_DDR3_TIH_DC_MV + 100 + + + MEM_DDR3_TIH_PS + 95 + + + MEM_DDR3_TINIT_CK + 499 + + + MEM_DDR3_TINIT_US + 500 + + + MEM_DDR3_TIS_AC_MV + 135 + + + MEM_DDR3_TIS_PS + 60 + + + MEM_DDR3_TMRD_CK_CYC + 4 + + + MEM_DDR3_TQH_CYC + 0.38 + + + MEM_DDR3_TQSH_CYC + 0.4 + + + MEM_DDR3_TRAS_CYC + 36 + + + MEM_DDR3_TRAS_NS + 33.0 + + + MEM_DDR3_TRCD_CYC + 14 + + + MEM_DDR3_TRCD_NS + 13.09 + + + MEM_DDR3_TREFI_CYC + 8320 + + + MEM_DDR3_TREFI_US + 7.8 + + + MEM_DDR3_TRFC_CYC + 171 + + + MEM_DDR3_TRFC_NS + 160.0 + + + MEM_DDR3_TRP_CYC + 14 + + + MEM_DDR3_TRP_NS + 13.09 + + + MEM_DDR3_TRRD_CYC + 6 + + + MEM_DDR3_TRTP_CYC + 8 + + + MEM_DDR3_TTL_ADDR_WIDTH + 1 + + + MEM_DDR3_TTL_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_TTL_CKE_WIDTH + 1 + + + MEM_DDR3_TTL_CK_WIDTH + 1 + + + MEM_DDR3_TTL_CS_WIDTH + 1 + + + MEM_DDR3_TTL_DM_WIDTH + 1 + + + MEM_DDR3_TTL_DQS_WIDTH + 8 + + + MEM_DDR3_TTL_DQ_WIDTH + 72 + + + MEM_DDR3_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR3_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_TTL_ODT_WIDTH + 1 + + + MEM_DDR3_TTL_RM_WIDTH + 0 + + + MEM_DDR3_TWLH_PS + 125.0 + + + MEM_DDR3_TWLS_PS + 125.0 + + + MEM_DDR3_TWR_CYC + 16 + + + MEM_DDR3_TWR_NS + 15.0 + + + MEM_DDR3_TWTR_CYC + 8 + + + MEM_DDR3_USE_DEFAULT_ODT + true + + + MEM_DDR3_WTCL + 10 + + + MEM_DDR3_W_DERIVED_ODT0 + , + + + MEM_DDR3_W_DERIVED_ODT1 + , + + + MEM_DDR3_W_DERIVED_ODT2 + , + + + MEM_DDR3_W_DERIVED_ODT3 + , + + + MEM_DDR3_W_DERIVED_ODTN + , + + + MEM_DDR3_W_ODT0_1X1 + on + + + MEM_DDR3_W_ODT0_2X2 + on,off + + + MEM_DDR3_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT1_2X2 + off,on + + + MEM_DDR3_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR3_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR3_W_ODTN_1X1 + Rank 0 + + + MEM_DDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_AC_PARITY_LATENCY + DDR4_AC_PARITY_LATENCY_DISABLE + + + MEM_DDR4_AC_PERSISTENT_ERROR + false + + + MEM_DDR4_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR4_ADDR_WIDTH + 17 + + + MEM_DDR4_ALERT_N_AC_LANE + 3 + + + MEM_DDR4_ALERT_N_AC_PIN + 8 + + + MEM_DDR4_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR4_ALERT_N_PLACEMENT_ENUM + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + + + MEM_DDR4_ALERT_PAR_EN + true + + + MEM_DDR4_ASR_ENUM + DDR4_ASR_MANUAL_NORMAL + + + MEM_DDR4_ATCL_ENUM + DDR4_ATCL_DISABLED + + + MEM_DDR4_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_BL_ENUM + DDR4_BL_BL8 + + + MEM_DDR4_BT_ENUM + DDR4_BT_SEQUENTIAL + + + MEM_DDR4_CAL_MODE + 0 + + + MEM_DDR4_CFG_GEN_DBE + false + + + MEM_DDR4_CFG_GEN_SBE + false + + + MEM_DDR4_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_CKE_PER_DIMM + 1 + + + MEM_DDR4_CKE_WIDTH + 1 + + + MEM_DDR4_CK_WIDTH + 1 + + + MEM_DDR4_COL_ADDR_WIDTH + 10 + + + MEM_DDR4_CS_PER_DIMM + 1 + + + MEM_DDR4_CS_WIDTH + 1 + + + MEM_DDR4_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR4_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_DEFAULT_VREFOUT + true + + + MEM_DDR4_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR4_DLL_EN + true + + + MEM_DDR4_DM_EN + true + + + MEM_DDR4_DQS_WIDTH + 9 + + + MEM_DDR4_DQ_PER_DQS + 8 + + + MEM_DDR4_DQ_WIDTH + 72 + + + MEM_DDR4_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_FINE_GRANULARITY_REFRESH + DDR4_FINE_REFRESH_FIXED_1X + + + MEM_DDR4_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_DDR4_GEARDOWN + DDR4_GEARDOWN_HR + + + MEM_DDR4_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR4_IDEAL_VREF_IN_PCT + 68.0 + + + MEM_DDR4_IDEAL_VREF_OUT_PCT + 70.0 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM_DISP + RTT_NOM disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM_DISP + RTT_PARK disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM_DISP + RZQ/3 (80 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM + DDR4_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISP + ODT Disabled + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM + DDR4_RTT_PARK_RZQ_4 + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISP + RZQ/4 (60 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISP + Dynamic ODT off + + + MEM_DDR4_INTEL_DEFAULT_TERM + true + + + MEM_DDR4_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDR4_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDR4_LRDIMM_ODT_LESS_BS + true + + + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDR4_LRDIMM_VREFDQ_VALUE + + + + MEM_DDR4_MAX_POWERDOWN + false + + + MEM_DDR4_MIRROR_ADDRESSING_EN + true + + + MEM_DDR4_MPR_READ_FORMAT + DDR4_MPR_READ_FORMAT_SERIAL + + + MEM_DDR4_MR0 + 2164 + + + MEM_DDR4_MR1 + 65537 + + + MEM_DDR4_MR2 + 131112 + + + MEM_DDR4_MR3 + 197632 + + + MEM_DDR4_MR4 + 264192 + + + MEM_DDR4_MR5 + 332896 + + + MEM_DDR4_MR6 + 395279 + + + MEM_DDR4_NUM_OF_DIMMS + 1 + + + MEM_DDR4_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_ODT_IN_POWERDOWN + true + + + MEM_DDR4_ODT_WIDTH + 1 + + + MEM_DDR4_PER_DRAM_ADDR + false + + + MEM_DDR4_RANKS_PER_DIMM + 1 + + + MEM_DDR4_RCD_CA_IBT_ENUM + DDR4_RCD_CA_IBT_100 + + + MEM_DDR4_RCD_CKE_IBT_ENUM + DDR4_RCD_CKE_IBT_100 + + + MEM_DDR4_RCD_COMMAND_LATENCY + 1 + + + MEM_DDR4_RCD_CS_IBT_ENUM + DDR4_RCD_CS_IBT_100 + + + MEM_DDR4_RCD_ODT_IBT_ENUM + DDR4_RCD_ODT_IBT_100 + + + MEM_DDR4_RCD_PARITY_CONTROL_WORD + 13 + + + MEM_DDR4_RDIMM_CONFIG + 00000020000000003900000D40030B0F556000 + + + MEM_DDR4_READ_DBI + true + + + MEM_DDR4_READ_PREAMBLE + 2 + + + MEM_DDR4_READ_PREAMBLE_TRAINING + false + + + MEM_DDR4_RM_WIDTH + 0 + + + MEM_DDR4_ROW_ADDR_WIDTH + 16 + + + MEM_DDR4_RTT_NOM_ENUM + DDR4_RTT_NOM_RZQ_4 + + + MEM_DDR4_RTT_PARK + DDR4_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_R_DERIVED_BODT0 + + + + MEM_DDR4_R_DERIVED_BODT1 + + + + MEM_DDR4_R_DERIVED_BODTN + + + + MEM_DDR4_R_DERIVED_ODT0 + (Drive) RZQ/7 (34 Ohm),-,-,- + + + MEM_DDR4_R_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_R_ODT0_1X1 + off + + + MEM_DDR4_R_ODT0_2X2 + off,off + + + MEM_DDR4_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR4_R_ODT1_2X2 + off,off + + + MEM_DDR4_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR4_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR4_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR4_R_ODTN_1X1 + Rank 0 + + + MEM_DDR4_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_SELF_RFSH_ABORT + false + + + MEM_DDR4_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR4_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDR4_SPD_135_RCD_REV + 0 + + + MEM_DDR4_SPD_137_RCD_CA_DRV + 101 + + + MEM_DDR4_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDR4_SPD_139_DB_REV + 0 + + + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDR4_SPD_144_DB_VREFDQ + 37 + + + MEM_DDR4_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDR4_SPD_148_DRAM_DRV + 0 + + + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDR4_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE + 0 + + + MEM_DDR4_SPEEDBIN_ENUM + DDR4_SPEEDBIN_2666 + + + MEM_DDR4_TCCD_L_CYC + 6 + + + MEM_DDR4_TCCD_S_CYC + 4 + + + MEM_DDR4_TCL + 21 + + + MEM_DDR4_TDIVW_DJ_CYC + 0.1 + + + MEM_DDR4_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDR4_TDQSCKDL + 1200 + + + MEM_DDR4_TDQSCKDM + 900 + + + MEM_DDR4_TDQSCKDS + 450 + + + MEM_DDR4_TDQSCK_DERV_PS + 2 + + + MEM_DDR4_TDQSCK_PS + 175 + + + MEM_DDR4_TDQSQ_PS + 66 + + + MEM_DDR4_TDQSQ_UI + 0.14 + + + MEM_DDR4_TDQSS_CYC + 0.27 + + + MEM_DDR4_TDSH_CYC + 0.18 + + + MEM_DDR4_TDSS_CYC + 0.18 + + + MEM_DDR4_TDVWP_UI + 0.72 + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDR4_TEMP_SENSOR_READOUT + false + + + MEM_DDR4_TFAW_CYC + 26 + + + MEM_DDR4_TFAW_DLR_CYC + 16 + + + MEM_DDR4_TFAW_NS + 21.0 + + + MEM_DDR4_TIH_DC_MV + 75 + + + MEM_DDR4_TIH_PS + 87 + + + MEM_DDR4_TINIT_CK + 600000 + + + MEM_DDR4_TINIT_US + 500 + + + MEM_DDR4_TIS_AC_MV + 100 + + + MEM_DDR4_TIS_PS + 62 + + + MEM_DDR4_TMRD_CK_CYC + 8 + + + MEM_DDR4_TQH_CYC + 0.38 + + + MEM_DDR4_TQH_UI + 0.74 + + + MEM_DDR4_TQSH_CYC + 0.4 + + + MEM_DDR4_TRAS_CYC + 39 + + + MEM_DDR4_TRAS_NS + 32.0 + + + MEM_DDR4_TRCD_CYC + 17 + + + MEM_DDR4_TRCD_NS + 14.16 + + + MEM_DDR4_TREFI_CYC + 9360 + + + MEM_DDR4_TREFI_US + 7.8 + + + MEM_DDR4_TRFC_CYC + 420 + + + MEM_DDR4_TRFC_DLR_CYC + 108 + + + MEM_DDR4_TRFC_DLR_NS + 90.0 + + + MEM_DDR4_TRFC_NS + 350.0 + + + MEM_DDR4_TRP_CYC + 17 + + + MEM_DDR4_TRP_NS + 14.16 + + + MEM_DDR4_TRRD_DLR_CYC + 4 + + + MEM_DDR4_TRRD_L_CYC + 6 + + + MEM_DDR4_TRRD_S_CYC + 4 + + + MEM_DDR4_TRTP_CYC + 9 + + + MEM_DDR4_TTL_ADDR_WIDTH + 17 + + + MEM_DDR4_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_TTL_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_TTL_CKE_WIDTH + 1 + + + MEM_DDR4_TTL_CK_WIDTH + 1 + + + MEM_DDR4_TTL_CS_WIDTH + 1 + + + MEM_DDR4_TTL_DQS_WIDTH + 9 + + + MEM_DDR4_TTL_DQ_WIDTH + 72 + + + MEM_DDR4_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR4_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_TTL_ODT_WIDTH + 1 + + + MEM_DDR4_TTL_RM_WIDTH + 0 + + + MEM_DDR4_TWLH_CYC + 0.13 + + + MEM_DDR4_TWLH_PS + 0.0 + + + MEM_DDR4_TWLS_CYC + 0.13 + + + MEM_DDR4_TWLS_PS + 0.0 + + + MEM_DDR4_TWR_CYC + 18 + + + MEM_DDR4_TWR_NS + 15.0 + + + MEM_DDR4_TWTR_L_CYC + 9 + + + MEM_DDR4_TWTR_S_CYC + 3 + + + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDR4_USE_DEFAULT_ODT + true + + + MEM_DDR4_VDIVW_TOTAL + 130 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_0 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE_DISP + Range 1 - 60% to 92.5% + + + MEM_DDR4_VREFDQ_TRAINING_VALUE + 70.0 + + + MEM_DDR4_WRITE_CMD_LATENCY + 6 + + + MEM_DDR4_WRITE_CRC + false + + + MEM_DDR4_WRITE_DBI + false + + + MEM_DDR4_WRITE_PREAMBLE + 1 + + + MEM_DDR4_WTCL + 16 + + + MEM_DDR4_W_DERIVED_BODT0 + + + + MEM_DDR4_W_DERIVED_BODT1 + + + + MEM_DDR4_W_DERIVED_BODTN + + + + MEM_DDR4_W_DERIVED_ODT0 + (Park) RZQ/4 (60 Ohm),-,-,- + + + MEM_DDR4_W_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_W_ODT0_1X1 + on + + + MEM_DDR4_W_ODT0_2X2 + on,off + + + MEM_DDR4_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT1_2X2 + off,on + + + MEM_DDR4_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR4_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR4_W_ODTN_1X1 + Rank 0 + + + MEM_DDR4_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_AC_PARITY_LATENCY + DDRT_AC_PARITY_LATENCY_DISABLE + + + MEM_DDRT_AC_PERSISTENT_ERROR + false + + + MEM_DDRT_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDRT_ADDR_WIDTH + 1 + + + MEM_DDRT_ALERT_N_AC_LANE + 0 + + + MEM_DDRT_ALERT_N_AC_PIN + 0 + + + MEM_DDRT_ALERT_N_DQS_GROUP + 0 + + + MEM_DDRT_ALERT_N_PLACEMENT_ENUM + DDRT_ALERT_N_PLACEMENT_AUTO + + + MEM_DDRT_ALERT_PAR_EN + true + + + MEM_DDRT_ASR_ENUM + DDRT_ASR_MANUAL_NORMAL + + + MEM_DDRT_ATCL_ENUM + DDRT_ATCL_DISABLED + + + MEM_DDRT_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_BL_ENUM + DDRT_BL_BL8 + + + MEM_DDRT_BT_ENUM + DDRT_BT_SEQUENTIAL + + + MEM_DDRT_CAL_MODE + 0 + + + MEM_DDRT_CFG_GEN_DBE + false + + + MEM_DDRT_CFG_GEN_SBE + false + + + MEM_DDRT_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_CKE_PER_DIMM + 1 + + + MEM_DDRT_CKE_WIDTH + 1 + + + MEM_DDRT_CK_WIDTH + 1 + + + MEM_DDRT_COL_ADDR_WIDTH + 10 + + + MEM_DDRT_CS_PER_DIMM + 1 + + + MEM_DDRT_CS_WIDTH + 1 + + + MEM_DDRT_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDRT_DB_DQ_DRV_ENUM + DDRT_DB_DRV_STR_RZQ_7 + + + MEM_DDRT_DB_RTT_NOM_ENUM + DDRT_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDRT_DB_RTT_PARK_ENUM + DDRT_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_DB_RTT_WR_ENUM + DDRT_DB_RTT_WR_RZQ_4 + + + MEM_DDRT_DEFAULT_ADDED_LATENCY + true + + + MEM_DDRT_DEFAULT_PREAMBLE + true + + + MEM_DDRT_DEFAULT_VREFOUT + true + + + MEM_DDRT_DISCRETE_CS_WIDTH + 1 + + + MEM_DDRT_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDRT_DLL_EN + true + + + MEM_DDRT_DM_EN + false + + + MEM_DDRT_DQS_WIDTH + 8 + + + MEM_DDRT_DQ_PER_DQS + 4 + + + MEM_DDRT_DQ_WIDTH + 72 + + + MEM_DDRT_DRV_STR_ENUM + DDRT_DRV_STR_RZQ_7 + + + MEM_DDRT_ERID_WIDTH + 2 + + + MEM_DDRT_ERR_N_WIDTH + 1 + + + MEM_DDRT_FINE_GRANULARITY_REFRESH + DDRT_FINE_REFRESH_FIXED_1X + + + MEM_DDRT_FORMAT_ENUM + MEM_FORMAT_LRDIMM + + + MEM_DDRT_GEARDOWN + DDRT_GEARDOWN_HR + + + MEM_DDRT_GNT_N_WIDTH + 1 + + + MEM_DDRT_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDRT_HIDE_LATENCY_SETTINGS + true + + + MEM_DDRT_I2C_DIMM_0_SA + 0 + + + MEM_DDRT_I2C_DIMM_1_SA + 1 + + + MEM_DDRT_I2C_DIMM_2_SA + 2 + + + MEM_DDRT_I2C_DIMM_3_SA + 3 + + + MEM_DDRT_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDRT_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDRT_LRDIMM_ODT_LESS_BS + false + + + MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDRT_LRDIMM_VREFDQ_VALUE + + + + MEM_DDRT_MAX_POWERDOWN + false + + + MEM_DDRT_MIRROR_ADDRESSING_EN + true + + + MEM_DDRT_MPR_READ_FORMAT + DDRT_MPR_READ_FORMAT_SERIAL + + + MEM_DDRT_MR0 + 0 + + + MEM_DDRT_MR1 + 0 + + + MEM_DDRT_MR2 + 0 + + + MEM_DDRT_MR3 + 0 + + + MEM_DDRT_MR4 + 0 + + + MEM_DDRT_MR5 + 0 + + + MEM_DDRT_MR6 + 0 + + + MEM_DDRT_NUM_OF_DIMMS + 1 + + + MEM_DDRT_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_ODT_IN_POWERDOWN + true + + + MEM_DDRT_ODT_WIDTH + 1 + + + MEM_DDRT_PARTIAL_WRITES + false + + + MEM_DDRT_PERSISTENT_MODE + 1 + + + MEM_DDRT_PER_DRAM_ADDR + false + + + MEM_DDRT_PWR_MODE + DDRT_PWR_MODE_12W + + + MEM_DDRT_RANKS_PER_DIMM + 1 + + + MEM_DDRT_RCD_CA_IBT_ENUM + DDRT_RCD_CA_IBT_100 + + + MEM_DDRT_RCD_CKE_IBT_ENUM + DDRT_RCD_CKE_IBT_100 + + + MEM_DDRT_RCD_COMMAND_LATENCY + 1 + + + MEM_DDRT_RCD_CS_IBT_ENUM + DDRT_RCD_CS_IBT_100 + + + MEM_DDRT_RCD_ODT_IBT_ENUM + DDRT_RCD_ODT_IBT_100 + + + MEM_DDRT_RCD_PARITY_CONTROL_WORD + 1 + + + MEM_DDRT_RDIMM_CONFIG + + + + MEM_DDRT_READ_DBI + false + + + MEM_DDRT_READ_PREAMBLE + 1 + + + MEM_DDRT_READ_PREAMBLE_TRAINING + false + + + MEM_DDRT_REQ_N_WIDTH + 1 + + + MEM_DDRT_RM_WIDTH + 0 + + + MEM_DDRT_ROW_ADDR_WIDTH + 18 + + + MEM_DDRT_RTT_NOM_ENUM + DDRT_RTT_NOM_RZQ_4 + + + MEM_DDRT_RTT_PARK + DDRT_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_RTT_WR_ENUM + DDRT_RTT_WR_ODT_DISABLED + + + MEM_DDRT_R_DERIVED_BODT0 + + + + MEM_DDRT_R_DERIVED_BODT1 + + + + MEM_DDRT_R_DERIVED_BODTN + + + + MEM_DDRT_R_DERIVED_ODT0 + , + + + MEM_DDRT_R_DERIVED_ODT1 + , + + + MEM_DDRT_R_DERIVED_ODT2 + , + + + MEM_DDRT_R_DERIVED_ODT3 + , + + + MEM_DDRT_R_DERIVED_ODTN + , + + + MEM_DDRT_R_ODT0_1X1 + off + + + MEM_DDRT_R_ODT0_2X2 + off,off + + + MEM_DDRT_R_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_R_ODT0_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT1_2X2 + off,off + + + MEM_DDRT_R_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_R_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_R_ODT2_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_R_ODTN_1X1 + Rank 0 + + + MEM_DDRT_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_SELF_RFSH_ABORT + false + + + MEM_DDRT_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDRT_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDRT_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDRT_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDRT_SPD_135_RCD_REV + 0 + + + MEM_DDRT_SPD_137_RCD_CA_DRV + 85 + + + MEM_DDRT_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDRT_SPD_139_DB_REV + 0 + + + MEM_DDRT_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDRT_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDRT_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDRT_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDRT_SPD_144_DB_VREFDQ + 25 + + + MEM_DDRT_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDRT_SPD_148_DRAM_DRV + 0 + + + MEM_DDRT_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDRT_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDRT_SPEEDBIN_ENUM + DDRT_SPEEDBIN_2400 + + + MEM_DDRT_TCCD_L_CYC + 6 + + + MEM_DDRT_TCCD_S_CYC + 4 + + + MEM_DDRT_TCL + 15 + + + MEM_DDRT_TCL_ADDED + -1 + + + MEM_DDRT_TDIVW_DJ_CYC + 0.1 + + + MEM_DDRT_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDRT_TDQSCKDL + 1200 + + + MEM_DDRT_TDQSCKDM + 900 + + + MEM_DDRT_TDQSCKDS + 450 + + + MEM_DDRT_TDQSCK_DERV_PS + 2 + + + MEM_DDRT_TDQSCK_PS + 165 + + + MEM_DDRT_TDQSQ_PS + 66 + + + MEM_DDRT_TDQSQ_UI + 0.16 + + + MEM_DDRT_TDQSS_CYC + 0.27 + + + MEM_DDRT_TDSH_CYC + 0.18 + + + MEM_DDRT_TDSS_CYC + 0.18 + + + MEM_DDRT_TDVWP_UI + 0.72 + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_RANGE + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDRT_TEMP_SENSOR_READOUT + false + + + MEM_DDRT_TFAW_CYC + 27 + + + MEM_DDRT_TFAW_DLR_CYC + 16 + + + MEM_DDRT_TFAW_NS + 21.0 + + + MEM_DDRT_TIH_DC_MV + 75 + + + MEM_DDRT_TIH_PS + 95 + + + MEM_DDRT_TINIT_CK + 499 + + + MEM_DDRT_TINIT_US + 500 + + + MEM_DDRT_TIS_AC_MV + 100 + + + MEM_DDRT_TIS_PS + 60 + + + MEM_DDRT_TMRD_CK_CYC + 8 + + + MEM_DDRT_TQH_CYC + 0.38 + + + MEM_DDRT_TQH_UI + 0.76 + + + MEM_DDRT_TQSH_CYC + 0.38 + + + MEM_DDRT_TRAS_CYC + 36 + + + MEM_DDRT_TRAS_NS + 32.0 + + + MEM_DDRT_TRCD_CYC + 14 + + + MEM_DDRT_TRCD_NS + 15.0 + + + MEM_DDRT_TREFI_CYC + 8320 + + + MEM_DDRT_TREFI_US + 7.8 + + + MEM_DDRT_TRFC_CYC + 171 + + + MEM_DDRT_TRFC_DLR_CYC + 109 + + + MEM_DDRT_TRFC_DLR_NS + 90.0 + + + MEM_DDRT_TRFC_NS + 260.0 + + + MEM_DDRT_TRP_CYC + 14 + + + MEM_DDRT_TRP_NS + 15.0 + + + MEM_DDRT_TRRD_DLR_CYC + 4 + + + MEM_DDRT_TRRD_L_CYC + 6 + + + MEM_DDRT_TRRD_S_CYC + 4 + + + MEM_DDRT_TRTP_CYC + 9 + + + MEM_DDRT_TTL_ADDR_WIDTH + 1 + + + MEM_DDRT_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_TTL_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_TTL_CKE_WIDTH + 1 + + + MEM_DDRT_TTL_CK_WIDTH + 1 + + + MEM_DDRT_TTL_CS_WIDTH + 1 + + + MEM_DDRT_TTL_DQS_WIDTH + 8 + + + MEM_DDRT_TTL_DQ_WIDTH + 72 + + + MEM_DDRT_TTL_ERID_WIDTH + 2 + + + MEM_DDRT_TTL_ERR_N_WIDTH + 1 + + + MEM_DDRT_TTL_GNT_N_WIDTH + 1 + + + MEM_DDRT_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDRT_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_TTL_ODT_WIDTH + 1 + + + MEM_DDRT_TTL_REQ_N_WIDTH + 1 + + + MEM_DDRT_TTL_RM_WIDTH + 0 + + + MEM_DDRT_TWLH_CYC + 0.13 + + + MEM_DDRT_TWLH_PS + 0.0 + + + MEM_DDRT_TWLS_CYC + 0.13 + + + MEM_DDRT_TWLS_PS + 0.0 + + + MEM_DDRT_TWR_CYC + 18 + + + MEM_DDRT_TWR_NS + 15.0 + + + MEM_DDRT_TWTR_L_CYC + 9 + + + MEM_DDRT_TWTR_S_CYC + 3 + + + MEM_DDRT_USER_READ_PREAMBLE + 1 + + + MEM_DDRT_USER_TCL_ADDED + 0 + + + MEM_DDRT_USER_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_USER_WRITE_PREAMBLE + 1 + + + MEM_DDRT_USER_WTCL_ADDED + 6 + + + MEM_DDRT_USE_DEFAULT_ODT + true + + + MEM_DDRT_VDIVW_TOTAL + 136 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE_DISP + Range 2 - 45% to 77.5% + + + MEM_DDRT_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_WRITE_CMD_LATENCY + 5 + + + MEM_DDRT_WRITE_CRC + false + + + MEM_DDRT_WRITE_DBI + false + + + MEM_DDRT_WRITE_PREAMBLE + 1 + + + MEM_DDRT_WTCL + 18 + + + MEM_DDRT_WTCL_ADDED + -1 + + + MEM_DDRT_W_DERIVED_BODT0 + + + + MEM_DDRT_W_DERIVED_BODT1 + + + + MEM_DDRT_W_DERIVED_BODTN + + + + MEM_DDRT_W_DERIVED_ODT0 + , + + + MEM_DDRT_W_DERIVED_ODT1 + , + + + MEM_DDRT_W_DERIVED_ODT2 + , + + + MEM_DDRT_W_DERIVED_ODT3 + , + + + MEM_DDRT_W_DERIVED_ODTN + , + + + MEM_DDRT_W_ODT0_1X1 + on + + + MEM_DDRT_W_ODT0_2X2 + on,off + + + MEM_DDRT_W_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_W_ODT0_4X4 + on,on,off,off + + + MEM_DDRT_W_ODT1_2X2 + off,on + + + MEM_DDRT_W_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_W_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT2_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_W_ODTN_1X1 + Rank 0 + + + MEM_DDRT_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_HAS_BSI_SUPPORT + true + + + MEM_HAS_SIM_SUPPORT + true + + + MEM_LPDDR3_ADDR_WIDTH + 10 + + + MEM_LPDDR3_BANK_ADDR_WIDTH + 3 + + + MEM_LPDDR3_BL + LPDDR3_BL_BL8 + + + MEM_LPDDR3_CKE_WIDTH + 1 + + + MEM_LPDDR3_CK_WIDTH + 1 + + + MEM_LPDDR3_COL_ADDR_WIDTH + 10 + + + MEM_LPDDR3_CS_WIDTH + 1 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_LPDDR3_DATA_LATENCY + LPDDR3_DL_RL12_WL6 + + + MEM_LPDDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_LPDDR3_DM_EN + true + + + MEM_LPDDR3_DM_WIDTH + 1 + + + MEM_LPDDR3_DQODT + LPDDR3_DQODT_DISABLE + + + MEM_LPDDR3_DQS_WIDTH + 1 + + + MEM_LPDDR3_DQ_PER_DQS + 8 + + + MEM_LPDDR3_DQ_WIDTH + 32 + + + MEM_LPDDR3_DRV_STR + LPDDR3_DRV_STR_40D_40U + + + MEM_LPDDR3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_LPDDR3_MR1 + 0 + + + MEM_LPDDR3_MR11 + 0 + + + MEM_LPDDR3_MR2 + 0 + + + MEM_LPDDR3_MR3 + 0 + + + MEM_LPDDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_LPDDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_LPDDR3_NWR + LPDDR3_NWR_NWR12 + + + MEM_LPDDR3_ODT_WIDTH + 1 + + + MEM_LPDDR3_PDODT + LPDDR3_PDODT_DISABLED + + + MEM_LPDDR3_ROW_ADDR_WIDTH + 15 + + + MEM_LPDDR3_R_DERIVED_ODT0 + , + + + MEM_LPDDR3_R_DERIVED_ODT1 + , + + + MEM_LPDDR3_R_DERIVED_ODT2 + , + + + MEM_LPDDR3_R_DERIVED_ODT3 + , + + + MEM_LPDDR3_R_DERIVED_ODTN + , + + + MEM_LPDDR3_R_ODT0_1X1 + off + + + MEM_LPDDR3_R_ODT0_2X2 + off,off + + + MEM_LPDDR3_R_ODT0_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT1_2X2 + off,off + + + MEM_LPDDR3_R_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_LPDDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_LPDDR3_SPEEDBIN_ENUM + LPDDR3_SPEEDBIN_1600 + + + MEM_LPDDR3_TDH_DC_MV + 100 + + + MEM_LPDDR3_TDH_PS + 100 + + + MEM_LPDDR3_TDQSCKDL + 614 + + + MEM_LPDDR3_TDQSCKDM + 511 + + + MEM_LPDDR3_TDQSCKDS + 220 + + + MEM_LPDDR3_TDQSCK_DERV_PS + 2 + + + MEM_LPDDR3_TDQSCK_PS + 5500 + + + MEM_LPDDR3_TDQSQ_PS + 135 + + + MEM_LPDDR3_TDQSS_CYC + 1.25 + + + MEM_LPDDR3_TDSH_CYC + 0.2 + + + MEM_LPDDR3_TDSS_CYC + 0.2 + + + MEM_LPDDR3_TDS_AC_MV + 150 + + + MEM_LPDDR3_TDS_PS + 75 + + + MEM_LPDDR3_TFAW_CYC + 40 + + + MEM_LPDDR3_TFAW_NS + 50.0 + + + MEM_LPDDR3_TIH_DC_MV + 100 + + + MEM_LPDDR3_TIH_PS + 100 + + + MEM_LPDDR3_TINIT_CK + 499 + + + MEM_LPDDR3_TINIT_US + 500 + + + MEM_LPDDR3_TIS_AC_MV + 150 + + + MEM_LPDDR3_TIS_PS + 75 + + + MEM_LPDDR3_TMRR_CK_CYC + 4 + + + MEM_LPDDR3_TMRW_CK_CYC + 10 + + + MEM_LPDDR3_TQH_CYC + 0.38 + + + MEM_LPDDR3_TQSH_CYC + 0.38 + + + MEM_LPDDR3_TRAS_CYC + 34 + + + MEM_LPDDR3_TRAS_NS + 42.5 + + + MEM_LPDDR3_TRCD_CYC + 17 + + + MEM_LPDDR3_TRCD_NS + 18.0 + + + MEM_LPDDR3_TREFI_CYC + 3120 + + + MEM_LPDDR3_TREFI_US + 3.9 + + + MEM_LPDDR3_TRFC_CYC + 168 + + + MEM_LPDDR3_TRFC_NS + 210.0 + + + MEM_LPDDR3_TRL_CYC + 10 + + + MEM_LPDDR3_TRP_CYC + 17 + + + MEM_LPDDR3_TRP_NS + 18.0 + + + MEM_LPDDR3_TRRD_CYC + 8 + + + MEM_LPDDR3_TRTP_CYC + 6 + + + MEM_LPDDR3_TWLH_PS + 175.0 + + + MEM_LPDDR3_TWLS_PS + 175.0 + + + MEM_LPDDR3_TWL_CYC + 6 + + + MEM_LPDDR3_TWR_CYC + 12 + + + MEM_LPDDR3_TWR_NS + 15.0 + + + MEM_LPDDR3_TWTR_CYC + 6 + + + MEM_LPDDR3_USE_DEFAULT_ODT + true + + + MEM_LPDDR3_WLSELECT + Set A + + + MEM_LPDDR3_W_DERIVED_ODT0 + , + + + MEM_LPDDR3_W_DERIVED_ODT1 + , + + + MEM_LPDDR3_W_DERIVED_ODT2 + , + + + MEM_LPDDR3_W_DERIVED_ODT3 + , + + + MEM_LPDDR3_W_DERIVED_ODTN + , + + + MEM_LPDDR3_W_ODT0_1X1 + on + + + MEM_LPDDR3_W_ODT0_2X2 + on,on + + + MEM_LPDDR3_W_ODT0_4X4 + on,on,on,on + + + MEM_LPDDR3_W_ODT1_2X2 + off,off + + + MEM_LPDDR3_W_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_NUM_OF_DATA_ENDPOINTS + 1 + + + MEM_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_QDR2_ADDR_WIDTH + 19 + + + MEM_QDR2_BL + 4 + + + MEM_QDR2_BWS_EN + true + + + MEM_QDR2_BWS_N_PER_DEVICE + 4 + + + MEM_QDR2_BWS_N_WIDTH + 4 + + + MEM_QDR2_CQ_WIDTH + 1 + + + MEM_QDR2_DATA_PER_DEVICE + 36 + + + MEM_QDR2_DATA_WIDTH + 36 + + + MEM_QDR2_DEVICE_WIDTH + 1 + + + MEM_QDR2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR2_INTERNAL_JITTER_NS + 0.08 + + + MEM_QDR2_K_WIDTH + 1 + + + MEM_QDR2_SPEEDBIN_ENUM + QDR2_SPEEDBIN_633 + + + MEM_QDR2_TCCQO_NS + 0.45 + + + MEM_QDR2_TCQDOH_NS + -0.09 + + + MEM_QDR2_TCQD_NS + 0.09 + + + MEM_QDR2_TCQH_NS + 0.71 + + + MEM_QDR2_THA_NS + 0.18 + + + MEM_QDR2_THD_NS + 0.18 + + + MEM_QDR2_TRL_CYC + 2.5 + + + MEM_QDR2_TSA_NS + 0.23 + + + MEM_QDR2_TSD_NS + 0.23 + + + MEM_QDR2_TWL_CYC + 1 + + + MEM_QDR2_WIDTH_EXPANDED + false + + + MEM_QDR4_AC_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_ADDR_INV_ENA + false + + + MEM_QDR4_ADDR_WIDTH + 21 + + + MEM_QDR4_AVL_CHNLS + 8 + + + MEM_QDR4_BL + 2 + + + MEM_QDR4_CK_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_CR0 + 0 + + + MEM_QDR4_CR1 + 0 + + + MEM_QDR4_CR2 + 0 + + + MEM_QDR4_DATA_INV_ENA + true + + + MEM_QDR4_DATA_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_DEVICE_DEPTH + 1 + + + MEM_QDR4_DEVICE_WIDTH + 1 + + + MEM_QDR4_DINV_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DINV_WIDTH + 4 + + + MEM_QDR4_DK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DK_WIDTH + 4 + + + MEM_QDR4_DQ_PER_PORT_PER_DEVICE + 36 + + + MEM_QDR4_DQ_PER_PORT_WIDTH + 36 + + + MEM_QDR4_DQ_PER_RD_GROUP + 18 + + + MEM_QDR4_DQ_PER_WR_GROUP + 18 + + + MEM_QDR4_DQ_WIDTH + 72 + + + MEM_QDR4_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR4_MEM_TYPE_ENUM + MEM_XP + + + MEM_QDR4_PD_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_PU_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_QK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_QK_WIDTH + 4 + + + MEM_QDR4_SKIP_ODT_SWEEPING + true + + + MEM_QDR4_SPEEDBIN_ENUM + QDR4_SPEEDBIN_2133 + + + MEM_QDR4_TASH_PS + 170 + + + MEM_QDR4_TCKDK_MAX_PS + 150 + + + MEM_QDR4_TCKDK_MIN_PS + -150 + + + MEM_QDR4_TCKQK_MAX_PS + 225 + + + MEM_QDR4_TCSH_PS + 170 + + + MEM_QDR4_TISH_PS + 150 + + + MEM_QDR4_TQH_CYC + 0.4 + + + MEM_QDR4_TQKQ_MAX_PS + 75 + + + MEM_QDR4_TRL_CYC + 8 + + + MEM_QDR4_TWL_CYC + 5 + + + MEM_QDR4_USE_ADDR_PARITY + false + + + MEM_QDR4_WIDTH_EXPANDED + false + + + MEM_READ_LATENCY + 23.0 + + + MEM_RLD2_ADDR_WIDTH + 21 + + + MEM_RLD2_BANK_ADDR_WIDTH + 3 + + + MEM_RLD2_BL + 4 + + + MEM_RLD2_CONFIG_ENUM + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + + + MEM_RLD2_CS_WIDTH + 1 + + + MEM_RLD2_DEVICE_DEPTH + 1 + + + MEM_RLD2_DEVICE_WIDTH + 1 + + + MEM_RLD2_DK_WIDTH + 1 + + + MEM_RLD2_DM_EN + true + + + MEM_RLD2_DM_WIDTH + 1 + + + MEM_RLD2_DQ_PER_DEVICE + 9 + + + MEM_RLD2_DQ_PER_RD_GROUP + 9 + + + MEM_RLD2_DQ_PER_WR_GROUP + 9 + + + MEM_RLD2_DQ_WIDTH + 9 + + + MEM_RLD2_DRIVE_IMPEDENCE_ENUM + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + + + MEM_RLD2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD2_MR + 0 + + + MEM_RLD2_ODT_MODE_ENUM + RLD2_ODT_ON + + + MEM_RLD2_QK_WIDTH + 1 + + + MEM_RLD2_REFRESH_INTERVAL_US + 0.24 + + + MEM_RLD2_SPEEDBIN_ENUM + RLD2_SPEEDBIN_18 + + + MEM_RLD2_TAH_NS + 0.3 + + + MEM_RLD2_TAS_NS + 0.3 + + + MEM_RLD2_TCKDK_MAX_NS + 0.3 + + + MEM_RLD2_TCKDK_MIN_NS + -0.3 + + + MEM_RLD2_TCKH_CYC + 0.45 + + + MEM_RLD2_TCKQK_MAX_NS + 0.2 + + + MEM_RLD2_TDH_NS + 0.17 + + + MEM_RLD2_TDS_NS + 0.17 + + + MEM_RLD2_TQKH_HCYC + 0.9 + + + MEM_RLD2_TQKQ_MAX_NS + 0.12 + + + MEM_RLD2_TQKQ_MIN_NS + -0.12 + + + MEM_RLD2_TRC + 8 + + + MEM_RLD2_TRL + 8 + + + MEM_RLD2_TWL + 9 + + + MEM_RLD2_WIDTH_EXPANDED + false + + + MEM_RLD3_ADDR_WIDTH + 20 + + + MEM_RLD3_AREF_PROTOCOL_ENUM + RLD3_AREF_BAC + + + MEM_RLD3_BANK_ADDR_WIDTH + 4 + + + MEM_RLD3_BL + 2 + + + MEM_RLD3_CS_WIDTH + 1 + + + MEM_RLD3_DATA_LATENCY_MODE_ENUM + RLD3_DL_RL16_WL17 + + + MEM_RLD3_DEPTH_EXPANDED + false + + + MEM_RLD3_DEVICE_DEPTH + 1 + + + MEM_RLD3_DEVICE_WIDTH + 1 + + + MEM_RLD3_DK_WIDTH + 2 + + + MEM_RLD3_DM_EN + true + + + MEM_RLD3_DM_WIDTH + 2 + + + MEM_RLD3_DQ_PER_DEVICE + 36 + + + MEM_RLD3_DQ_PER_RD_GROUP + 9 + + + MEM_RLD3_DQ_PER_WR_GROUP + 18 + + + MEM_RLD3_DQ_WIDTH + 36 + + + MEM_RLD3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD3_MR0 + 0 + + + MEM_RLD3_MR1 + 0 + + + MEM_RLD3_MR2 + 0 + + + MEM_RLD3_ODT_MODE_ENUM + RLD3_ODT_40 + + + MEM_RLD3_OUTPUT_DRIVE_MODE_ENUM + RLD3_OUTPUT_DRIVE_40 + + + MEM_RLD3_QK_WIDTH + 4 + + + MEM_RLD3_SPEEDBIN_ENUM + RLD3_SPEEDBIN_093E + + + MEM_RLD3_TCKDK_MAX_CYC + 0.27 + + + MEM_RLD3_TCKDK_MIN_CYC + -0.27 + + + MEM_RLD3_TCKQK_MAX_PS + 135 + + + MEM_RLD3_TDH_DC_MV + 100 + + + MEM_RLD3_TDH_PS + 5 + + + MEM_RLD3_TDS_AC_MV + 150 + + + MEM_RLD3_TDS_PS + -30 + + + MEM_RLD3_TIH_DC_MV + 100 + + + MEM_RLD3_TIH_PS + 65 + + + MEM_RLD3_TIS_AC_MV + 150 + + + MEM_RLD3_TIS_PS + 85 + + + MEM_RLD3_TQH_CYC + 0.38 + + + MEM_RLD3_TQKQ_MAX_PS + 75 + + + MEM_RLD3_T_RC_MODE_ENUM + RLD3_TRC_9 + + + MEM_RLD3_WIDTH_EXPANDED + false + + + MEM_RLD3_WRITE_PROTOCOL_ENUM + RLD3_WRITE_1BANK + + + MEM_TTL_DATA_WIDTH + 72 + + + MEM_TTL_NUM_OF_READ_GROUPS + 9 + + + MEM_TTL_NUM_OF_WRITE_GROUPS + 9 + + + MEM_WRITE_LATENCY + 18 + + + NUM_IPS + 1 + + + NUM_IPS_SAVED + 0 + + + PHY_AC_CALIBRATED_OCT + true + + + PHY_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CALIBRATED_OCT + true + + + PHY_CK_CALIBRATED_OCT + true + + + PHY_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CLAMSHELL_EN + false + + + PHY_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DATA_CALIBRATED_OCT + true + + + PHY_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DATA_OUT_SLEW_RATE_ENUM + + + + PHY_DDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_AC_IO_STD_ENUM + unset + + + PHY_DDR3_AC_MODE_ENUM + unset + + + PHY_DDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_CAL_ADDR0 + 0 + + + PHY_DDR3_CAL_ADDR1 + 8 + + + PHY_DDR3_CAL_ENABLE_NON_DES + false + + + PHY_DDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_CK_IO_STD_ENUM + unset + + + PHY_DDR3_CK_MODE_ENUM + unset + + + PHY_DDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR3_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_DEFAULT_IO + true + + + PHY_DDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR3_IO_VOLTAGE + 1.5 + + + PHY_DDR3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_DDR3_MIMIC_HPS_EMIF + false + + + PHY_DDR3_PING_PONG_EN + false + + + PHY_DDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_RATE_ENUM + RATE_QUARTER + + + PHY_DDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR3_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_STARTING_VREFIN + 70.0 + + + PHY_DDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_DDR3_USER_AC_MODE_ENUM + unset + + + PHY_DDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_CK_MODE_ENUM + unset + + + PHY_DDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR3_USER_PING_PONG_EN + false + + + PHY_DDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_DDR4_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_AC_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_ALLOW_72_DQ_WIDTH + false + + + PHY_DDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_CK_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_CLAMSHELL_EN + false + + + PHY_DDR4_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR4_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DDR4_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_DATA_OUT_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_DEFAULT_IO + false + + + PHY_DDR4_DEFAULT_REF_CLK_FREQ + false + + + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR4_IO_VOLTAGE + 1.2 + + + PHY_DDR4_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDR4_MIMIC_HPS_EMIF + false + + + PHY_DDR4_PING_PONG_EN + false + + + PHY_DDR4_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_RATE_ENUM + RATE_QUARTER + + + PHY_DDR4_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR4_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_STARTING_VREFIN + 68.0 + + + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_CLAMSHELL_EN + false + + + PHY_DDR4_USER_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_USER_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR4_USER_PING_PONG_EN + false + + + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_USER_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_USER_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_2CH_EN + false + + + PHY_DDRT_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_AC_IO_STD_ENUM + unset + + + PHY_DDRT_AC_MODE_ENUM + unset + + + PHY_DDRT_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_CK_IO_STD_ENUM + unset + + + PHY_DDRT_CK_MODE_ENUM + unset + + + PHY_DDRT_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_DDRT_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDRT_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDRT_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_DEFAULT_IO + true + + + PHY_DDRT_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDRT_EXPORT_CLK_STP_IF + false + + + PHY_DDRT_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDRT_I2C_USE_SMC + false + + + PHY_DDRT_IC_EN + true + + + PHY_DDRT_IO_VOLTAGE + 1.2 + + + PHY_DDRT_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDRT_MIMIC_HPS_EMIF + false + + + PHY_DDRT_PING_PONG_EN + false + + + PHY_DDRT_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_RATE_ENUM + RATE_QUARTER + + + PHY_DDRT_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDRT_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_IO_STD_ENUM + unset + + + PHY_DDRT_USER_AC_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_CK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_CK_MODE_ENUM + unset + + + PHY_DDRT_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DLL_CORE_UPDN_EN + false + + + PHY_DDRT_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDRT_USER_PING_PONG_EN + false + + + PHY_DDRT_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USE_OLD_SMBUS_MULTICOL + false + + + PHY_DLL_CORE_UPDN_EN + false + + + PHY_FPGA_SPEEDGRADE_GUI + E2V (ES3) - change device under 'View'->'Device Family' + + + PHY_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_AC_MODE_ENUM + unset + + + PHY_LPDDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_CK_MODE_ENUM + unset + + + PHY_LPDDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_LPDDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_LPDDR3_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_DEFAULT_IO + true + + + PHY_LPDDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_IO_VOLTAGE + 1.2 + + + PHY_LPDDR3_MEM_CLK_FREQ_MHZ + 800.0 + + + PHY_LPDDR3_MIMIC_HPS_EMIF + false + + + PHY_LPDDR3_PING_PONG_EN + false + + + PHY_LPDDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_RATE_ENUM + RATE_QUARTER + + + PHY_LPDDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_LPDDR3_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_STARTING_VREFIN + 70.0 + + + PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_AC_MODE_ENUM + unset + + + PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_CK_MODE_ENUM + unset + + + PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DLL_CORE_UPDN_EN + false + + + PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_LPDDR3_USER_PING_PONG_EN + false + + + PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_MIMIC_HPS_EMIF + false + + + PHY_PING_PONG_EN + false + + + PHY_QDR2_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_AC_IO_STD_ENUM + unset + + + PHY_QDR2_AC_MODE_ENUM + unset + + + PHY_QDR2_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_CK_IO_STD_ENUM + unset + + + PHY_QDR2_CK_MODE_ENUM + unset + + + PHY_QDR2_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR2_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_DEFAULT_IO + true + + + PHY_QDR2_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR2_IO_VOLTAGE + 1.5 + + + PHY_QDR2_MEM_CLK_FREQ_MHZ + 633.333 + + + PHY_QDR2_MIMIC_HPS_EMIF + false + + + PHY_QDR2_PING_PONG_EN + false + + + PHY_QDR2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_RATE_ENUM + RATE_HALF + + + PHY_QDR2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR2_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_STARTING_VREFIN + 70.0 + + + PHY_QDR2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR2_USER_AC_MODE_ENUM + unset + + + PHY_QDR2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_CK_MODE_ENUM + unset + + + PHY_QDR2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DLL_CORE_UPDN_EN + false + + + PHY_QDR2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR2_USER_PING_PONG_EN + false + + + PHY_QDR2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_USER_STARTING_VREFIN + 70.0 + + + PHY_QDR4_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_AC_IO_STD_ENUM + unset + + + PHY_QDR4_AC_MODE_ENUM + unset + + + PHY_QDR4_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_CK_IO_STD_ENUM + unset + + + PHY_QDR4_CK_MODE_ENUM + unset + + + PHY_QDR4_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR4_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_DEFAULT_IO + true + + + PHY_QDR4_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR4_IO_VOLTAGE + 1.2 + + + PHY_QDR4_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_QDR4_MIMIC_HPS_EMIF + false + + + PHY_QDR4_PING_PONG_EN + false + + + PHY_QDR4_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_RATE_ENUM + RATE_QUARTER + + + PHY_QDR4_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR4_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_STARTING_VREFIN + 70.0 + + + PHY_QDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR4_USER_AC_MODE_ENUM + unset + + + PHY_QDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_CK_MODE_ENUM + unset + + + PHY_QDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_QDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR4_USER_PING_PONG_EN + false + + + PHY_QDR4_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_RATE_ENUM + RATE_QUARTER + + + PHY_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_AC_IO_STD_ENUM + unset + + + PHY_RLD2_AC_MODE_ENUM + unset + + + PHY_RLD2_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_CK_IO_STD_ENUM + unset + + + PHY_RLD2_CK_MODE_ENUM + unset + + + PHY_RLD2_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_RLD2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD2_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_DEFAULT_IO + true + + + PHY_RLD2_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD2_IO_VOLTAGE + 1.8 + + + PHY_RLD2_MEM_CLK_FREQ_MHZ + 533.333 + + + PHY_RLD2_MIMIC_HPS_EMIF + false + + + PHY_RLD2_PING_PONG_EN + false + + + PHY_RLD2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_RATE_ENUM + RATE_HALF + + + PHY_RLD2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_STARTING_VREFIN + 70.0 + + + PHY_RLD2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD2_USER_AC_MODE_ENUM + unset + + + PHY_RLD2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_CK_MODE_ENUM + unset + + + PHY_RLD2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD2_USER_PING_PONG_EN + false + + + PHY_RLD2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_USER_STARTING_VREFIN + 70.0 + + + PHY_RLD3_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_AC_IO_STD_ENUM + unset + + + PHY_RLD3_AC_MODE_ENUM + unset + + + PHY_RLD3_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_CK_IO_STD_ENUM + unset + + + PHY_RLD3_CK_MODE_ENUM + unset + + + PHY_RLD3_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_CONFIG_ENUM + CONFIG_PHY_ONLY + + + PHY_RLD3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD3_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_DEFAULT_IO + true + + + PHY_RLD3_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD3_IO_VOLTAGE + 1.2 + + + PHY_RLD3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_RLD3_MIMIC_HPS_EMIF + false + + + PHY_RLD3_PING_PONG_EN + false + + + PHY_RLD3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_RATE_ENUM + RATE_QUARTER + + + PHY_RLD3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD3_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_STARTING_VREFIN + 70.0 + + + PHY_RLD3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD3_USER_AC_MODE_ENUM + unset + + + PHY_RLD3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_CK_MODE_ENUM + unset + + + PHY_RLD3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD3_USER_PING_PONG_EN + false + + + PHY_RLD3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_USER_STARTING_VREFIN + 70.0 + + + PHY_RZQ + 240 + + + PHY_TARGET_IS_ES + false + + + PHY_TARGET_IS_ES2 + false + + + PHY_TARGET_IS_ES3 + true + + + PHY_TARGET_IS_PRODUCTION + false + + + PHY_TARGET_SPEEDGRADE + E2V + + + PHY_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PLL_ADD_EXTRA_CLKS + false + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 + ps + + + PLL_NUM_OF_EXTRA_CLKS + 0 + + + PLL_USER_NUM_OF_EXTRA_CLKS + 0 + + + PLL_VCO_CLK_FREQ_MHZ + 1200.0 + + + PREV_PROTOCOL_ENUM + PROTOCOL_DDR4 + + + PROTOCOL_ENUM + PROTOCOL_DDR4 + + + SHORT_QSYS_INTERFACE_NAMES + true + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_DEVICE_DIE_REVISIONS + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + + + SYS_INFO_DEVICE_FAMILY + Agilex 7 + + + SYS_INFO_DEVICE_POWER_MODEL + STANDARD_POWER + + + SYS_INFO_DEVICE_SPEEDGRADE + 2 + + + SYS_INFO_DEVICE_TEMPERATURE_GRADE + EXTENDED + + + SYS_INFO_UNIQUE_ID + ed_synth_emif_fm_0_emif_fm_0 + + + TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + TRAIT_SUPPORTS_VID + 1 + + + + altera_emif_ecc + 19.1 + ecc_core + ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq + 0 + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + arch.ctrl_ast_rd_0/ecc_core.ctrl_ast_rd_0 + ecc_core/ctrl_ast_rd_0 + arch/ctrl_ast_rd_0 + + + + + resetDomainSysInfo + -1 + + + clockDomainSysInfo + -1 + + + clockResetSysInfo + + + + clockRateSysInfo + -1 + + + + clock + 24.1 + arch.emif_usr_clk/ecc_core.emif_usr_clk_in + ecc_core/emif_usr_clk_in + arch/emif_usr_clk + + + + + resetDomainSysInfo + -1 + + + clockDomainSysInfo + -1 + + + clockResetSysInfo + + + + + reset + 24.1 + arch.emif_usr_reset_n/ecc_core.emif_usr_reset_n_in + ecc_core/emif_usr_reset_n_in + arch/emif_usr_reset_n + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + ecc_core.ctrl_ast_cmd_0/arch.ctrl_ast_cmd_0 + arch/ctrl_ast_cmd_0 + ecc_core/ctrl_ast_cmd_0 + + + + + qsys_mm.piplineType + PIPELINE_STAGE + + + qsys_mm.insertDefaultSlave + FALSE + + + qsys_mm.enableOutOfOrderSupport + FALSE + + + qsys_mm.enableInstrumentation + FALSE + + + qsys_mm.widthAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.interconnectResetSource + DEFAULT + + + qsys_mm.burstAdapterImplementation + GENERIC_CONVERTER + + + qsys_mm.optimizeRdFifoSize + FALSE + + + qsys_mm.responseFifoType + REGISTER_BASED + + + qsys_mm.clockCrossingAdapter + HANDSHAKE + + + qsys_mm.maxAdditionalLatency + 1 + + + qsys_mm.syncResets + FALSE + + + qsys_mm.enableAllPipelines + FALSE + + + qsys_mm.enableEccProtection + FALSE + + + qsys_mm.interconnectType + STANDARD + + + + avalon_streaming + 24.1 + ecc_core.ctrl_ast_wr_0/arch.ctrl_ast_wr_0 + arch/ctrl_ast_wr_0 + ecc_core/ctrl_ast_wr_0 + + + + + startPortLSB + 0 + + + endPort + + + + endPortLSB + 0 + + + startPort + + + + width + 0 + + + + conduit + 24.1 + ecc_core.ctrl_ecc_0/arch.ctrl_ecc_0 + arch/ctrl_ecc_0 + ecc_core/ctrl_ecc_0 + + + ed_synth_emif_fm_0.emif_fm_0.ecc_core + + + + core + + + + BOARD_DDR3_AC_ISI_NS + 0.0 + + + BOARD_DDR3_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_DDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_DDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR3_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDR3_TDH_DERATING_PS + 0 + + + BOARD_DDR3_TDS_DERATING_PS + 0 + + + BOARD_DDR3_TIH_DERATING_PS + 0 + + + BOARD_DDR3_TIS_DERATING_PS + 0 + + + BOARD_DDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_DDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_DDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR3_WCLK_ISI_NS + 0.0 + + + BOARD_DDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR3_WDATA_ISI_NS + 0.0 + + + BOARD_DDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_ISI_NS + 0.15 + + + BOARD_DDR4_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDR4_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDR4_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDR4_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDR4_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_RCLK_ISI_NS + 0.15 + + + BOARD_DDR4_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_RDATA_ISI_NS + 0.12 + + + BOARD_DDR4_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDR4_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDR4_SKEW_WITHIN_AC_NS + 0.18 + + + BOARD_DDR4_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDR4_TIH_DERATING_PS + 0 + + + BOARD_DDR4_TIS_DERATING_PS + 0 + + + BOARD_DDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_DDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDR4_WCLK_ISI_NS + 0.06 + + + BOARD_DDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDR4_WDATA_ISI_NS + 0.13 + + + BOARD_DDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_ISI_NS + 0.0 + + + BOARD_DDRT_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_DDRT_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_DDRT_IS_SKEW_WITHIN_AC_DESKEWED + false + + + BOARD_DDRT_IS_SKEW_WITHIN_DQS_DESKEWED + true + + + BOARD_DDRT_MAX_CK_DELAY_NS + 0.6 + + + BOARD_DDRT_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_DDRT_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_DDRT_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_DDRT_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_DDRT_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_DDRT_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_DDRT_TIH_DERATING_PS + 0 + + + BOARD_DDRT_TIS_DERATING_PS + 0 + + + BOARD_DDRT_USER_AC_ISI_NS + 0.0 + + + BOARD_DDRT_USER_AC_SLEW_RATE + 2.0 + + + BOARD_DDRT_USER_CK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_RCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RCLK_SLEW_RATE + 8.0 + + + BOARD_DDRT_USER_RDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_RDATA_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_USER_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_DDRT_USE_DEFAULT_ISI_VALUES + true + + + BOARD_DDRT_USE_DEFAULT_SLEW_RATES + true + + + BOARD_DDRT_WCLK_ISI_NS + 0.0 + + + BOARD_DDRT_WCLK_SLEW_RATE + 4.0 + + + BOARD_DDRT_WDATA_ISI_NS + 0.0 + + + BOARD_DDRT_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_DQS_TO_CK_SKEW_NS + 0.02 + + + BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED + false + + + BOARD_LPDDR3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_LPDDR3_MAX_DQS_DELAY_NS + 0.6 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS + 0.02 + + + BOARD_LPDDR3_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS + 0.02 + + + BOARD_LPDDR3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_LPDDR3_SKEW_WITHIN_DQS_NS + 0.0 + + + BOARD_LPDDR3_TDH_DERATING_PS + 0 + + + BOARD_LPDDR3_TDS_DERATING_PS + 0 + + + BOARD_LPDDR3_TIH_DERATING_PS + 0 + + + BOARD_LPDDR3_TIS_DERATING_PS + 0 + + + BOARD_LPDDR3_USER_AC_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_LPDDR3_WCLK_ISI_NS + 0.0 + + + BOARD_LPDDR3_WCLK_SLEW_RATE + 4.0 + + + BOARD_LPDDR3_WDATA_ISI_NS + 0.0 + + + BOARD_LPDDR3_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_ISI_NS + 0.0 + + + BOARD_QDR2_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_AC_TO_K_SKEW_NS + 0.0 + + + BOARD_QDR2_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR2_IS_SKEW_WITHIN_D_DESKEWED + false + + + BOARD_QDR2_IS_SKEW_WITHIN_Q_DESKEWED + false + + + BOARD_QDR2_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_MAX_K_DELAY_NS + 0.6 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_D_NS + 0.02 + + + BOARD_QDR2_PKG_BRD_SKEW_WITHIN_Q_NS + 0.02 + + + BOARD_QDR2_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_D_NS + 0.0 + + + BOARD_QDR2_SKEW_WITHIN_Q_NS + 0.0 + + + BOARD_QDR2_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR2_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_K_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_RDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR2_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR2_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR2_WCLK_ISI_NS + 0.0 + + + BOARD_QDR2_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR2_WDATA_ISI_NS + 0.0 + + + BOARD_QDR2_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_ISI_NS + 0.0 + + + BOARD_QDR4_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_QDR4_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_QDR4_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_QDR4_IS_SKEW_WITHIN_QK_DESKEWED + true + + + BOARD_QDR4_MAX_CK_DELAY_NS + 0.6 + + + BOARD_QDR4_MAX_DK_DELAY_NS + 0.6 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_QDR4_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_QDR4_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_QDR4_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_QDR4_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_QDR4_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_QDR4_USER_AC_ISI_NS + 0.0 + + + BOARD_QDR4_USER_AC_SLEW_RATE + 2.0 + + + BOARD_QDR4_USER_CK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_RCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RCLK_SLEW_RATE + 5.0 + + + BOARD_QDR4_USER_RDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_RDATA_SLEW_RATE + 2.5 + + + BOARD_QDR4_USER_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_USER_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_QDR4_USE_DEFAULT_ISI_VALUES + true + + + BOARD_QDR4_USE_DEFAULT_SLEW_RATES + true + + + BOARD_QDR4_WCLK_ISI_NS + 0.0 + + + BOARD_QDR4_WCLK_SLEW_RATE + 4.0 + + + BOARD_QDR4_WDATA_ISI_NS + 0.0 + + + BOARD_QDR4_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_ISI_NS + 0.0 + + + BOARD_RLD3_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_AC_TO_CK_SKEW_NS + 0.0 + + + BOARD_RLD3_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_DK_TO_CK_SKEW_NS + -0.02 + + + BOARD_RLD3_IS_SKEW_WITHIN_AC_DESKEWED + true + + + BOARD_RLD3_IS_SKEW_WITHIN_QK_DESKEWED + false + + + BOARD_RLD3_MAX_CK_DELAY_NS + 0.6 + + + BOARD_RLD3_MAX_DK_DELAY_NS + 0.6 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_AC_NS + 0.02 + + + BOARD_RLD3_PKG_BRD_SKEW_WITHIN_QK_NS + 0.02 + + + BOARD_RLD3_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_SKEW_BETWEEN_DIMMS_NS + 0.05 + + + BOARD_RLD3_SKEW_BETWEEN_DK_NS + 0.02 + + + BOARD_RLD3_SKEW_WITHIN_AC_NS + 0.0 + + + BOARD_RLD3_SKEW_WITHIN_QK_NS + 0.0 + + + BOARD_RLD3_TDH_DERATING_PS + 0 + + + BOARD_RLD3_TDS_DERATING_PS + 0 + + + BOARD_RLD3_TIH_DERATING_PS + 0 + + + BOARD_RLD3_TIS_DERATING_PS + 0 + + + BOARD_RLD3_USER_AC_ISI_NS + 0.0 + + + BOARD_RLD3_USER_AC_SLEW_RATE + 2.0 + + + BOARD_RLD3_USER_CK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_RCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RCLK_SLEW_RATE + 7.0 + + + BOARD_RLD3_USER_RDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_RDATA_SLEW_RATE + 3.5 + + + BOARD_RLD3_USER_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_USER_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_USER_WDATA_SLEW_RATE + 2.0 + + + BOARD_RLD3_USE_DEFAULT_ISI_VALUES + true + + + BOARD_RLD3_USE_DEFAULT_SLEW_RATES + true + + + BOARD_RLD3_WCLK_ISI_NS + 0.0 + + + BOARD_RLD3_WCLK_SLEW_RATE + 4.0 + + + BOARD_RLD3_WDATA_ISI_NS + 0.0 + + + BOARD_RLD3_WDATA_SLEW_RATE + 2.0 + + + C2P_P2C_CLK_RATIO + 4 + + + CAL_DEBUG_CLOCK_FREQUENCY + 50000000 + + + CTRL_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_ADDR_ORDER_ENUM + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_DDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR3_AUTO_PRECHARGE_EN + false + + + CTRL_DDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR3_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR3_ECC_EN + false + + + CTRL_DDR3_ECC_READDATAERROR_EN + true + + + CTRL_DDR3_ECC_STATUS_EN + false + + + CTRL_DDR3_MMR_EN + false + + + CTRL_DDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_REORDER_EN + true + + + CTRL_DDR3_SELF_REFRESH_EN + false + + + CTRL_DDR3_STARVE_LIMIT + 10 + + + CTRL_DDR3_USER_PRIORITY_EN + false + + + CTRL_DDR3_USER_REFRESH_EN + false + + + CTRL_DDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_ADDR_ORDER_ENUM + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDR4_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDR4_AUTO_POWER_DOWN_EN + false + + + CTRL_DDR4_AUTO_PRECHARGE_EN + false + + + CTRL_DDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDR4_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDR4_ECC_EN + true + + + CTRL_DDR4_ECC_READDATAERROR_EN + false + + + CTRL_DDR4_ECC_STATUS_EN + false + + + CTRL_DDR4_MAJOR_MODE_EN + false + + + CTRL_DDR4_MMR_EN + false + + + CTRL_DDR4_POST_REFRESH_EN + true + + + CTRL_DDR4_POST_REFRESH_LOWER_LIMIT + 0 + + + CTRL_DDR4_POST_REFRESH_UPPER_LIMIT + 2 + + + CTRL_DDR4_PRE_REFRESH_EN + false + + + CTRL_DDR4_PRE_REFRESH_UPPER_LIMIT + 1 + + + CTRL_DDR4_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_REORDER_EN + true + + + CTRL_DDR4_SELF_REFRESH_EN + false + + + CTRL_DDR4_STARVE_LIMIT + 10 + + + CTRL_DDR4_USER_PRIORITY_EN + false + + + CTRL_DDR4_USER_REFRESH_EN + false + + + CTRL_DDR4_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDR4_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ADDR_INTERLEAVING + COARSE + + + CTRL_DDRT_ADDR_ORDER_ENUM + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + + + CTRL_DDRT_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_DDRT_AUTO_POWER_DOWN_EN + false + + + CTRL_DDRT_AUTO_PRECHARGE_EN + false + + + CTRL_DDRT_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_DDRT_AXIS_DATA_WIDTH + 512 + + + CTRL_DDRT_DIMM_DENSITY + 128 + + + CTRL_DDRT_DIMM_VIRAL_FLOW_EN + false + + + CTRL_DDRT_DRIVER_MARGINING_EN + 0 + + + CTRL_DDRT_ECC_AUTO_CORRECTION_EN + false + + + CTRL_DDRT_ECC_EN + false + + + CTRL_DDRT_ECC_READDATAERROR_EN + true + + + CTRL_DDRT_ECC_STATUS_EN + true + + + CTRL_DDRT_ERR_INJECT_EN + false + + + CTRL_DDRT_ERR_REPLAY_EN + false + + + CTRL_DDRT_EXT_ERR_INJECT_EN + false + + + CTRL_DDRT_GNT_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_GNT_TO_WR_DIFF_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_GNT_TO_WR_SAME_CHIP_DELTA_CYCS + 1 + + + CTRL_DDRT_HOST_VIRAL_FLOW_EN + false + + + CTRL_DDRT_MMR_EN + false + + + CTRL_DDRT_NUM_OF_AXIS_ID + 1 + + + CTRL_DDRT_PARITY_CMD_EN + false + + + CTRL_DDRT_PMM_ADR_FLOW_EN + false + + + CTRL_DDRT_PMM_WPQ_FLUSH_EN + false + + + CTRL_DDRT_POISON_DETECTION_EN + false + + + CTRL_DDRT_PORT_AFI_C_WIDTH + 2 + + + CTRL_DDRT_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_REORDER_EN + true + + + CTRL_DDRT_SELF_REFRESH_EN + false + + + CTRL_DDRT_STARVE_LIMIT + 10 + + + CTRL_DDRT_UPI_EN + false + + + CTRL_DDRT_UPI_ID_WIDTH + 8 + + + CTRL_DDRT_USER_PRIORITY_EN + false + + + CTRL_DDRT_USER_REFRESH_EN + false + + + CTRL_DDRT_WR_ACK_POLICY + POSTED + + + CTRL_DDRT_WR_TO_GNT_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_GNT_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_DDRT_ZQ_INTERVAL_MS + 3 + + + CTRL_ECC_EN + true + + + CTRL_ECC_READDATAERROR_EN + false + + + CTRL_ECC_STATUS_EN + false + + + CTRL_LPDDR3_ADDR_ORDER_ENUM + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS + 32 + + + CTRL_LPDDR3_AUTO_POWER_DOWN_EN + false + + + CTRL_LPDDR3_AUTO_PRECHARGE_EN + false + + + CTRL_LPDDR3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_LPDDR3_MMR_EN + false + + + CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_REORDER_EN + true + + + CTRL_LPDDR3_SELF_REFRESH_EN + false + + + CTRL_LPDDR3_STARVE_LIMIT + 10 + + + CTRL_LPDDR3_USER_PRIORITY_EN + false + + + CTRL_LPDDR3_USER_REFRESH_EN + false + + + CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS + 0 + + + CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS + 0 + + + CTRL_MMR_EN + false + + + CTRL_QDR2_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR2_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR2_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_ADD_RAW_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_ADD_WAR_TURNAROUND_DELAY_CYC + 0 + + + CTRL_QDR4_AVL_ENABLE_POWER_OF_TWO_BUS + false + + + CTRL_QDR4_AVL_MAX_BURST_COUNT + 4 + + + CTRL_QDR4_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_QDR4_AVL_SYMBOL_WIDTH + 9 + + + CTRL_QDR4_DEF_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_RAW_TURNAROUND_DELAY_CYC + 4 + + + CTRL_QDR4_WAR_TURNAROUND_DELAY_CYC + 11 + + + CTRL_REORDER_EN + true + + + CTRL_RLD2_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_RLD3_ADDR_ORDER_ENUM + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + + + CTRL_RLD3_AVL_PROTOCOL_ENUM + CTRL_AVL_PROTOCOL_MM + + + CTRL_USER_PRIORITY_EN + false + + + DIAG_AC_PARITY_ERR + false + + + DIAG_ADD_READY_PIPELINE + true + + + DIAG_BOARD_DELAY_CONFIG_STR + + + + DIAG_DB_RESET_AUTO_RELEASE + avl_release + + + DIAG_DDR3_ABSTRACT_PHY + false + + + DIAG_DDR3_AC_PARITY_ERR + false + + + DIAG_DDR3_CAL_ADDR0 + 0 + + + DIAG_DDR3_CAL_ADDR1 + 8 + + + DIAG_DDR3_CAL_ENABLE_MICRON_AP + false + + + DIAG_DDR3_CAL_ENABLE_NON_DES + false + + + DIAG_DDR3_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR3_CA_DESKEW_EN + true + + + DIAG_DDR3_CA_LEVEL_EN + true + + + DIAG_DDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR3_ENABLE_USER_MODE + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR3_INTERFACE_ID + 0 + + + DIAG_DDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR3_SIM_VERBOSE + true + + + DIAG_DDR3_TG2_TEST_DURATION + SHORT + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR3_USE_TG_AVL_2 + false + + + DIAG_DDR3_USE_TG_HBM + false + + + DIAG_DDR4_ABSTRACT_PHY + false + + + DIAG_DDR4_AC_PARITY_ERR + false + + + DIAG_DDR4_CAL_ADDR0 + 0 + + + DIAG_DDR4_CAL_ADDR1 + 8 + + + DIAG_DDR4_CAL_ENABLE_NON_DES + false + + + DIAG_DDR4_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_DDR4_ENABLE_USER_MODE + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_DDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_DDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_DDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDR4_INTERFACE_ID + 0 + + + DIAG_DDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDR4_SIM_VERBOSE + true + + + DIAG_DDR4_SKIP_AC_PARITY_CHECK + false + + + DIAG_DDR4_SKIP_CA_DESKEW + false + + + DIAG_DDR4_SKIP_CA_LEVEL + false + + + DIAG_DDR4_SKIP_VREF_CAL + false + + + DIAG_DDR4_TG2_TEST_DURATION + SHORT + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_DDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDR4_USE_TG_AVL_2 + false + + + DIAG_DDR4_USE_TG_HBM + false + + + DIAG_DDRT_ABSTRACT_PHY + false + + + DIAG_DDRT_AC_PARITY_ERR + false + + + DIAG_DDRT_CAL_ADDR0 + 0 + + + DIAG_DDRT_CAL_ADDR1 + 8 + + + DIAG_DDRT_CAL_ENABLE_NON_DES + false + + + DIAG_DDRT_CAL_FULL_CAL_ON_RESET + true + + + DIAG_DDRT_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_DDRT_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_DDRT_EFF_TEST + false + + + DIAG_DDRT_ENABLE_DEFAULT_MODE + false + + + DIAG_DDRT_ENABLE_DRIVER_MARGINING + false + + + DIAG_DDRT_ENABLE_ENHANCED_TESTING + false + + + DIAG_DDRT_ENABLE_USER_MODE + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_DDRT_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_DDRT_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_DDRT_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_JTAG + + + DIAG_DDRT_EX_DESIGN_ISSP_EN + true + + + DIAG_DDRT_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_DDRT_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_DDRT_INTERFACE_ID + 0 + + + DIAG_DDRT_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_DDRT_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_DDRT_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_DDRT_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_DDRT_SIM_VERBOSE + true + + + DIAG_DDRT_SKIP_CA_DESKEW + false + + + DIAG_DDRT_SKIP_CA_LEVEL + false + + + DIAG_DDRT_SKIP_VREF_CAL + false + + + DIAG_DDRT_TG2_TEST_DURATION + SHORT + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_DDRT_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_DDRT_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_DDRT_USE_NEW_EFFMON_S10 + false + + + DIAG_DDRT_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_DDRT_USE_TG_AVL_2 + true + + + DIAG_DDRT_USE_TG_HBM + false + + + DIAG_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_ECLIPSE_DEBUG + false + + + DIAG_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_ENABLE_DEFAULT_MODE + false + + + DIAG_ENABLE_HPS_EMIF_DEBUG + false + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_ENABLE_JTAG_UART_HEX + false + + + DIAG_ENABLE_SOFT_M20K + false + + + DIAG_ENABLE_USER_MODE + true + + + DIAG_EXPORT_PLL_LOCKED + true + + + DIAG_EXPORT_PLL_REF_CLK_OUT + false + + + DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_JTAG + + + DIAG_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_EXPORT_VJI + false + + + DIAG_EXPOSE_DFT_SIGNALS + false + + + DIAG_EXPOSE_EARLY_READY + false + + + DIAG_EXPOSE_RD_TYPE + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_EXT_DOCS + false + + + DIAG_EX_DESIGN_ADD_TEST_EMIFS + + + + DIAG_EX_DESIGN_ISSP_EN + true + + + DIAG_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_EX_DESIGN_SEPARATE_RESETS + false + + + DIAG_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_FAST_SIM + true + + + DIAG_FAST_SIM_OVERRIDE + FAST_SIM_OVERRIDE_DEFAULT + + + DIAG_HMC_HRC + auto + + + DIAG_INTERFACE_ID + 0 + + + DIAG_LPDDR3_ABSTRACT_PHY + false + + + DIAG_LPDDR3_AC_PARITY_ERR + false + + + DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_LPDDR3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_LPDDR3_ENABLE_DEFAULT_MODE + false + + + DIAG_LPDDR3_ENABLE_USER_MODE + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_LPDDR3_EX_DESIGN_ISSP_EN + true + + + DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_LPDDR3_INTERFACE_ID + 0 + + + DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_LPDDR3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_LPDDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_LPDDR3_SIM_VERBOSE + true + + + DIAG_LPDDR3_SKIP_CA_DESKEW + false + + + DIAG_LPDDR3_SKIP_CA_LEVEL + false + + + DIAG_LPDDR3_TG2_TEST_DURATION + SHORT + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_LPDDR3_USE_NEW_EFFMON_S10 + false + + + DIAG_LPDDR3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_LPDDR3_USE_TG_AVL_2 + false + + + DIAG_LPDDR3_USE_TG_HBM + false + + + DIAG_QDR2_ABSTRACT_PHY + false + + + DIAG_QDR2_AC_PARITY_ERR + false + + + DIAG_QDR2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR2_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR2_ENABLE_USER_MODE + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR2_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR2_INTERFACE_ID + 0 + + + DIAG_QDR2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR2_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR2_SIM_VERBOSE + true + + + DIAG_QDR2_TG2_TEST_DURATION + SHORT + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR2_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR2_USE_TG_AVL_2 + false + + + DIAG_QDR2_USE_TG_HBM + false + + + DIAG_QDR4_ABSTRACT_PHY + false + + + DIAG_QDR4_AC_PARITY_ERR + false + + + DIAG_QDR4_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_QDR4_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_QDR4_ENABLE_DEFAULT_MODE + false + + + DIAG_QDR4_ENABLE_USER_MODE + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_QDR4_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_QDR4_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_QDR4_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_QDR4_EX_DESIGN_ISSP_EN + true + + + DIAG_QDR4_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_QDR4_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_QDR4_INTERFACE_ID + 0 + + + DIAG_QDR4_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_QDR4_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_QDR4_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_QDR4_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_QDR4_SIM_VERBOSE + true + + + DIAG_QDR4_SKIP_VREF_CAL + false + + + DIAG_QDR4_TG2_TEST_DURATION + SHORT + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_QDR4_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_QDR4_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_QDR4_USE_NEW_EFFMON_S10 + false + + + DIAG_QDR4_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_QDR4_USE_TG_AVL_2 + false + + + DIAG_QDR4_USE_TG_HBM + false + + + DIAG_RLD2_ABSTRACT_PHY + false + + + DIAG_RLD2_AC_PARITY_ERR + false + + + DIAG_RLD2_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD2_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD2_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD2_ENABLE_USER_MODE + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD2_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD2_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD2_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD2_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD2_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD2_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD2_INTERFACE_ID + 0 + + + DIAG_RLD2_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD2_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD2_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD2_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD2_SIM_VERBOSE + true + + + DIAG_RLD2_TG2_TEST_DURATION + SHORT + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD2_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD2_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD2_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD2_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD2_USE_TG_AVL_2 + false + + + DIAG_RLD2_USE_TG_HBM + false + + + DIAG_RLD3_ABSTRACT_PHY + false + + + DIAG_RLD3_AC_PARITY_ERR + false + + + DIAG_RLD3_CA_DESKEW_EN + true + + + DIAG_RLD3_CA_LEVEL_EN + true + + + DIAG_RLD3_DISABLE_AFI_P2C_REGISTERS + false + + + DIAG_RLD3_EFFICIENCY_MONITOR + EFFMON_MODE_DISABLED + + + DIAG_RLD3_ENABLE_DEFAULT_MODE + false + + + DIAG_RLD3_ENABLE_USER_MODE + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN + true + + + DIAG_RLD3_EXPORT_SEQ_AVALON_MASTER + false + + + DIAG_RLD3_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_RLD3_EXPORT_TG_CFG_AVALON_SLAVE + TG_CFG_AMM_EXPORT_MODE_EXPORT + + + DIAG_RLD3_EX_DESIGN_ISSP_EN + true + + + DIAG_RLD3_EX_DESIGN_NUM_OF_SLAVES + 1 + + + DIAG_RLD3_EX_DESIGN_SEPARATE_RZQS + true + + + DIAG_RLD3_INTERFACE_ID + 0 + + + DIAG_RLD3_SEPARATE_READ_WRITE_ITFS + false + + + DIAG_RLD3_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_RLD3_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_RLD3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_RLD3_SIM_VERBOSE + true + + + DIAG_RLD3_TG2_TEST_DURATION + SHORT + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD + false + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + EMIF_PRI_PRELOAD.txt + + + DIAG_RLD3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + EMIF_SEC_PRELOAD.txt + + + DIAG_RLD3_USER_USE_SIM_MEMORY_VALIDATION_TG + true + + + DIAG_RLD3_USE_NEW_EFFMON_S10 + false + + + DIAG_RLD3_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_RLD3_USE_TG_AVL_2 + false + + + DIAG_RLD3_USE_TG_HBM + false + + + DIAG_RS232_UART_BAUDRATE + 57600 + + + DIAG_SEQ_RESET_AUTO_RELEASE + avl + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_CHECKER_SKIP_TG + false + + + DIAG_SIM_MEMORY_PRELOAD + false + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE + + + + DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE + + + + DIAG_SIM_REGTEST_MODE + false + + + DIAG_SIM_VERBOSE_LEVEL + 5 + + + DIAG_SOFT_NIOS_CLOCK_FREQUENCY + 100 + + + DIAG_SOFT_NIOS_MODE + SOFT_NIOS_MODE_DISABLED + + + DIAG_SYNTH_FOR_SIM + false + + + DIAG_TG2_TEST_DURATION + SHORT + + + DIAG_TG_AVL_2_NUM_CFG_INTERFACES + 0 + + + DIAG_TIMING_REGTEST_MODE + false + + + DIAG_USE_ABSTRACT_PHY + false + + + DIAG_USE_BOARD_DELAY_MODEL + false + + + DIAG_USE_NEW_EFFMON_S10 + false + + + DIAG_USE_RS232_UART + false + + + DIAG_USE_SIM_MEMORY_VALIDATION_TG + false + + + DIAG_USE_TG_AVL_2 + false + + + DIAG_USE_TG_HBM + false + + + DIAG_VERBOSE_IOAUX + false + + + ECC_MMR_READ_LATENCY + 5 + + + EMIF_0_CONN_TO_CALIP + CALIP_0 + + + EMIF_0_REF_CLK_SHARING + EXPORTED + + + EMIF_0_STORED_PARAM + + + + EMIF_10_CONN_TO_CALIP + CALIP_0 + + + EMIF_10_REF_CLK_SHARING + EXPORTED + + + EMIF_10_STORED_PARAM + + + + EMIF_11_CONN_TO_CALIP + CALIP_0 + + + EMIF_11_REF_CLK_SHARING + EXPORTED + + + EMIF_11_STORED_PARAM + + + + EMIF_12_CONN_TO_CALIP + CALIP_0 + + + EMIF_12_REF_CLK_SHARING + EXPORTED + + + EMIF_12_STORED_PARAM + + + + EMIF_13_CONN_TO_CALIP + CALIP_0 + + + EMIF_13_REF_CLK_SHARING + EXPORTED + + + EMIF_13_STORED_PARAM + + + + EMIF_14_CONN_TO_CALIP + CALIP_0 + + + EMIF_14_REF_CLK_SHARING + EXPORTED + + + EMIF_14_STORED_PARAM + + + + EMIF_15_CONN_TO_CALIP + CALIP_0 + + + EMIF_15_REF_CLK_SHARING + EXPORTED + + + EMIF_15_STORED_PARAM + + + + EMIF_1_CONN_TO_CALIP + CALIP_0 + + + EMIF_1_REF_CLK_SHARING + EXPORTED + + + EMIF_1_STORED_PARAM + + + + EMIF_2_CONN_TO_CALIP + CALIP_0 + + + EMIF_2_REF_CLK_SHARING + EXPORTED + + + EMIF_2_STORED_PARAM + + + + EMIF_3_CONN_TO_CALIP + CALIP_0 + + + EMIF_3_REF_CLK_SHARING + EXPORTED + + + EMIF_3_STORED_PARAM + + + + EMIF_4_CONN_TO_CALIP + CALIP_0 + + + EMIF_4_REF_CLK_SHARING + EXPORTED + + + EMIF_4_STORED_PARAM + + + + EMIF_5_CONN_TO_CALIP + CALIP_0 + + + EMIF_5_REF_CLK_SHARING + EXPORTED + + + EMIF_5_STORED_PARAM + + + + EMIF_6_CONN_TO_CALIP + CALIP_0 + + + EMIF_6_REF_CLK_SHARING + EXPORTED + + + EMIF_6_STORED_PARAM + + + + EMIF_7_CONN_TO_CALIP + CALIP_0 + + + EMIF_7_REF_CLK_SHARING + EXPORTED + + + EMIF_7_STORED_PARAM + + + + EMIF_8_CONN_TO_CALIP + CALIP_0 + + + EMIF_8_REF_CLK_SHARING + EXPORTED + + + EMIF_8_STORED_PARAM + + + + EMIF_9_CONN_TO_CALIP + CALIP_0 + + + EMIF_9_REF_CLK_SHARING + EXPORTED + + + EMIF_9_STORED_PARAM + + + + ENABLE_ECC + 1 + + + ENABLE_ECC_AUTO_CORRECTION + 0 + + + EX_DESIGN_GUI_DDR3_GEN_BSI + false + + + EX_DESIGN_GUI_DDR3_GEN_CDC + false + + + EX_DESIGN_GUI_DDR3_GEN_SIM + true + + + EX_DESIGN_GUI_DDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_GEN_BSI + false + + + EX_DESIGN_GUI_DDR4_GEN_CDC + false + + + EX_DESIGN_GUI_DDR4_GEN_SIM + true + + + EX_DESIGN_GUI_DDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_GEN_BSI + false + + + EX_DESIGN_GUI_DDRT_GEN_CDC + false + + + EX_DESIGN_GUI_DDRT_GEN_SIM + true + + + EX_DESIGN_GUI_DDRT_GEN_SYNTH + true + + + EX_DESIGN_GUI_DDRT_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_DDRT_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_DDRT_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_DDRT_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_GEN_BSI + false + + + EX_DESIGN_GUI_GEN_CDC + false + + + EX_DESIGN_GUI_GEN_SIM + true + + + EX_DESIGN_GUI_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_GEN_BSI + false + + + EX_DESIGN_GUI_LPDDR3_GEN_CDC + false + + + EX_DESIGN_GUI_LPDDR3_GEN_SIM + true + + + EX_DESIGN_GUI_LPDDR3_GEN_SYNTH + true + + + EX_DESIGN_GUI_LPDDR3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_LPDDR3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_LPDDR3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_GEN_BSI + false + + + EX_DESIGN_GUI_QDR2_GEN_CDC + false + + + EX_DESIGN_GUI_QDR2_GEN_SIM + true + + + EX_DESIGN_GUI_QDR2_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_GEN_BSI + false + + + EX_DESIGN_GUI_QDR4_GEN_CDC + false + + + EX_DESIGN_GUI_QDR4_GEN_SIM + true + + + EX_DESIGN_GUI_QDR4_GEN_SYNTH + true + + + EX_DESIGN_GUI_QDR4_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_QDR4_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_QDR4_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_QDR4_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_GEN_BSI + false + + + EX_DESIGN_GUI_RLD2_GEN_CDC + false + + + EX_DESIGN_GUI_RLD2_GEN_SIM + true + + + EX_DESIGN_GUI_RLD2_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD2_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD2_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD2_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD2_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_GEN_BSI + false + + + EX_DESIGN_GUI_RLD3_GEN_CDC + false + + + EX_DESIGN_GUI_RLD3_GEN_SIM + true + + + EX_DESIGN_GUI_RLD3_GEN_SYNTH + true + + + EX_DESIGN_GUI_RLD3_HDL_FORMAT + HDL_FORMAT_VERILOG + + + EX_DESIGN_GUI_RLD3_PREV_PRESET + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_RLD3_SEL_DESIGN + AVAIL_EX_DESIGNS_GEN_DESIGN + + + EX_DESIGN_GUI_RLD3_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + EX_DESIGN_GUI_TARGET_DEV_KIT + TARGET_DEV_KIT_NONE + + + FAMILY_ENUM + FAMILY_AGILEX + + + INTERNAL_TESTING_MODE + false + + + IS_ED_SLAVE + false + + + MEM_BURST_LENGTH + 8 + + + MEM_DATA_MASK_EN + true + + + MEM_DDR3_AC_PAR_EN + false + + + MEM_DDR3_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR3_ADDR_WIDTH + 1 + + + MEM_DDR3_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR3_ALERT_N_PLACEMENT_ENUM + DDR3_ALERT_N_PLACEMENT_AC_LANES + + + MEM_DDR3_ASR_ENUM + DDR3_ASR_MANUAL + + + MEM_DDR3_ATCL_ENUM + DDR3_ATCL_DISABLED + + + MEM_DDR3_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_BL_ENUM + DDR3_BL_BL8 + + + MEM_DDR3_BT_ENUM + DDR3_BT_SEQUENTIAL + + + MEM_DDR3_CFG_GEN_DBE + false + + + MEM_DDR3_CFG_GEN_SBE + false + + + MEM_DDR3_CKE_PER_DIMM + 1 + + + MEM_DDR3_CKE_WIDTH + 1 + + + MEM_DDR3_CK_WIDTH + 1 + + + MEM_DDR3_COL_ADDR_WIDTH + 10 + + + MEM_DDR3_CS_PER_DIMM + 1 + + + MEM_DDR3_CS_WIDTH + 1 + + + MEM_DDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR3_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR3_DLL_EN + true + + + MEM_DDR3_DM_EN + true + + + MEM_DDR3_DM_WIDTH + 1 + + + MEM_DDR3_DQS_WIDTH + 8 + + + MEM_DDR3_DQ_PER_DQS + 8 + + + MEM_DDR3_DQ_WIDTH + 72 + + + MEM_DDR3_DRV_STR_ENUM + DDR3_DRV_STR_RZQ_7 + + + MEM_DDR3_FORMAT_ENUM + MEM_FORMAT_UDIMM + + + MEM_DDR3_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR3_LRDIMM_EXTENDED_CONFIG + 000000000000000000 + + + MEM_DDR3_MIRROR_ADDRESSING_EN + true + + + MEM_DDR3_MR0 + 0 + + + MEM_DDR3_MR1 + 0 + + + MEM_DDR3_MR2 + 0 + + + MEM_DDR3_MR3 + 0 + + + MEM_DDR3_NUM_OF_DIMMS + 1 + + + MEM_DDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_ODT_WIDTH + 1 + + + MEM_DDR3_PD_ENUM + DDR3_PD_OFF + + + MEM_DDR3_RANKS_PER_DIMM + 1 + + + MEM_DDR3_RDIMM_CONFIG + 0000000000000000 + + + MEM_DDR3_RM_WIDTH + 0 + + + MEM_DDR3_ROW_ADDR_WIDTH + 15 + + + MEM_DDR3_RTT_NOM_ENUM + DDR3_RTT_NOM_ODT_DISABLED + + + MEM_DDR3_RTT_WR_ENUM + DDR3_RTT_WR_RZQ_4 + + + MEM_DDR3_R_DERIVED_ODT0 + + + + MEM_DDR3_R_DERIVED_ODT1 + + + + MEM_DDR3_R_DERIVED_ODT2 + + + + MEM_DDR3_R_DERIVED_ODT3 + + + + MEM_DDR3_R_DERIVED_ODTN + + + + MEM_DDR3_R_ODT0_1X1 + off + + + MEM_DDR3_R_ODT0_2X2 + off,off + + + MEM_DDR3_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR3_R_ODT1_2X2 + off,off + + + MEM_DDR3_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR3_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR3_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR3_R_ODTN_1X1 + Rank 0 + + + MEM_DDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR3_SPEEDBIN_ENUM + DDR3_SPEEDBIN_2133 + + + MEM_DDR3_SRT_ENUM + DDR3_SRT_NORMAL + + + MEM_DDR3_TCL + 14 + + + MEM_DDR3_TDH_DC_MV + 100 + + + MEM_DDR3_TDH_PS + 55 + + + MEM_DDR3_TDQSCKDL + 1200 + + + MEM_DDR3_TDQSCKDM + 900 + + + MEM_DDR3_TDQSCKDS + 450 + + + MEM_DDR3_TDQSCK_DERV_PS + 2 + + + MEM_DDR3_TDQSCK_PS + 180 + + + MEM_DDR3_TDQSQ_PS + 75 + + + MEM_DDR3_TDQSS_CYC + 0.27 + + + MEM_DDR3_TDSH_CYC + 0.18 + + + MEM_DDR3_TDSS_CYC + 0.18 + + + MEM_DDR3_TDS_AC_MV + 135 + + + MEM_DDR3_TDS_PS + 53 + + + MEM_DDR3_TFAW_CYC + 27 + + + MEM_DDR3_TFAW_NS + 25.0 + + + MEM_DDR3_TIH_DC_MV + 100 + + + MEM_DDR3_TIH_PS + 95 + + + MEM_DDR3_TINIT_CK + 499 + + + MEM_DDR3_TINIT_US + 500 + + + MEM_DDR3_TIS_AC_MV + 135 + + + MEM_DDR3_TIS_PS + 60 + + + MEM_DDR3_TMRD_CK_CYC + 4 + + + MEM_DDR3_TQH_CYC + 0.38 + + + MEM_DDR3_TQSH_CYC + 0.4 + + + MEM_DDR3_TRAS_CYC + 36 + + + MEM_DDR3_TRAS_NS + 33.0 + + + MEM_DDR3_TRCD_CYC + 14 + + + MEM_DDR3_TRCD_NS + 13.09 + + + MEM_DDR3_TREFI_CYC + 8320 + + + MEM_DDR3_TREFI_US + 7.8 + + + MEM_DDR3_TRFC_CYC + 171 + + + MEM_DDR3_TRFC_NS + 160.0 + + + MEM_DDR3_TRP_CYC + 14 + + + MEM_DDR3_TRP_NS + 13.09 + + + MEM_DDR3_TRRD_CYC + 6 + + + MEM_DDR3_TRTP_CYC + 8 + + + MEM_DDR3_TTL_ADDR_WIDTH + 1 + + + MEM_DDR3_TTL_BANK_ADDR_WIDTH + 3 + + + MEM_DDR3_TTL_CKE_WIDTH + 1 + + + MEM_DDR3_TTL_CK_WIDTH + 1 + + + MEM_DDR3_TTL_CS_WIDTH + 1 + + + MEM_DDR3_TTL_DM_WIDTH + 1 + + + MEM_DDR3_TTL_DQS_WIDTH + 8 + + + MEM_DDR3_TTL_DQ_WIDTH + 72 + + + MEM_DDR3_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR3_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR3_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR3_TTL_ODT_WIDTH + 1 + + + MEM_DDR3_TTL_RM_WIDTH + 0 + + + MEM_DDR3_TWLH_PS + 125.0 + + + MEM_DDR3_TWLS_PS + 125.0 + + + MEM_DDR3_TWR_CYC + 16 + + + MEM_DDR3_TWR_NS + 15.0 + + + MEM_DDR3_TWTR_CYC + 8 + + + MEM_DDR3_USE_DEFAULT_ODT + true + + + MEM_DDR3_WTCL + 10 + + + MEM_DDR3_W_DERIVED_ODT0 + + + + MEM_DDR3_W_DERIVED_ODT1 + + + + MEM_DDR3_W_DERIVED_ODT2 + + + + MEM_DDR3_W_DERIVED_ODT3 + + + + MEM_DDR3_W_DERIVED_ODTN + + + + MEM_DDR3_W_ODT0_1X1 + on + + + MEM_DDR3_W_ODT0_2X2 + on,off + + + MEM_DDR3_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR3_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT1_2X2 + off,on + + + MEM_DDR3_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR3_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR3_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR3_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR3_W_ODTN_1X1 + Rank 0 + + + MEM_DDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR3_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_AC_PARITY_LATENCY + DDR4_AC_PARITY_LATENCY_DISABLE + + + MEM_DDR4_AC_PERSISTENT_ERROR + false + + + MEM_DDR4_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDR4_ADDR_WIDTH + 17 + + + MEM_DDR4_ALERT_N_AC_LANE + 3 + + + MEM_DDR4_ALERT_N_AC_PIN + 8 + + + MEM_DDR4_ALERT_N_DQS_GROUP + 0 + + + MEM_DDR4_ALERT_N_PLACEMENT_ENUM + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + + + MEM_DDR4_ALERT_PAR_EN + true + + + MEM_DDR4_ASR_ENUM + DDR4_ASR_MANUAL_NORMAL + + + MEM_DDR4_ATCL_ENUM + DDR4_ATCL_DISABLED + + + MEM_DDR4_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_BL_ENUM + DDR4_BL_BL8 + + + MEM_DDR4_BT_ENUM + DDR4_BT_SEQUENTIAL + + + MEM_DDR4_CAL_MODE + 0 + + + MEM_DDR4_CFG_GEN_DBE + false + + + MEM_DDR4_CFG_GEN_SBE + false + + + MEM_DDR4_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_CKE_PER_DIMM + 1 + + + MEM_DDR4_CKE_WIDTH + 1 + + + MEM_DDR4_CK_WIDTH + 1 + + + MEM_DDR4_COL_ADDR_WIDTH + 10 + + + MEM_DDR4_CS_PER_DIMM + 1 + + + MEM_DDR4_CS_WIDTH + 1 + + + MEM_DDR4_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDR4_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDR4_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_DEFAULT_VREFOUT + true + + + MEM_DDR4_DISCRETE_CS_WIDTH + 1 + + + MEM_DDR4_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDR4_DLL_EN + true + + + MEM_DDR4_DM_EN + true + + + MEM_DDR4_DQS_WIDTH + 9 + + + MEM_DDR4_DQ_PER_DQS + 8 + + + MEM_DDR4_DQ_WIDTH + 72 + + + MEM_DDR4_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_FINE_GRANULARITY_REFRESH + DDR4_FINE_REFRESH_FIXED_1X + + + MEM_DDR4_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_DDR4_GEARDOWN + DDR4_GEARDOWN_HR + + + MEM_DDR4_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDR4_IDEAL_VREF_IN_PCT + 68.0 + + + MEM_DDR4_IDEAL_VREF_OUT_PCT + 70.0 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM + DDR4_DB_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DB_DQ_DRV_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM + DDR4_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_NOM_ENUM_DISP + RTT_NOM disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM + DDR4_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_PARK_ENUM_DISP + RTT_PARK disabled + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM + DDR4_DB_RTT_WR_RZQ_3 + + + MEM_DDR4_INTEL_DEFAULT_DB_RTT_WR_ENUM_DISP + RZQ/3 (80 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM + DDR4_DRV_STR_RZQ_7 + + + MEM_DDR4_INTEL_DEFAULT_DRV_STR_ENUM_DISP + RZQ/7 (34 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM + DDR4_RTT_NOM_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_NOM_ENUM_DISP + ODT Disabled + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM + DDR4_RTT_PARK_RZQ_4 + + + MEM_DDR4_INTEL_DEFAULT_RTT_PARK_ENUM_DISP + RZQ/4 (60 Ohm) + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_INTEL_DEFAULT_RTT_WR_ENUM_DISP + Dynamic ODT off + + + MEM_DDR4_INTEL_DEFAULT_TERM + true + + + MEM_DDR4_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDR4_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDR4_LRDIMM_ODT_LESS_BS + true + + + MEM_DDR4_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDR4_LRDIMM_VREFDQ_VALUE + + + + MEM_DDR4_MAX_POWERDOWN + false + + + MEM_DDR4_MIRROR_ADDRESSING_EN + true + + + MEM_DDR4_MPR_READ_FORMAT + DDR4_MPR_READ_FORMAT_SERIAL + + + MEM_DDR4_MR0 + 2164 + + + MEM_DDR4_MR1 + 65537 + + + MEM_DDR4_MR2 + 131112 + + + MEM_DDR4_MR3 + 197632 + + + MEM_DDR4_MR4 + 264192 + + + MEM_DDR4_MR5 + 332896 + + + MEM_DDR4_MR6 + 395279 + + + MEM_DDR4_NUM_OF_DIMMS + 1 + + + MEM_DDR4_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_ODT_IN_POWERDOWN + true + + + MEM_DDR4_ODT_WIDTH + 1 + + + MEM_DDR4_PER_DRAM_ADDR + false + + + MEM_DDR4_RANKS_PER_DIMM + 1 + + + MEM_DDR4_RCD_CA_IBT_ENUM + DDR4_RCD_CA_IBT_100 + + + MEM_DDR4_RCD_CKE_IBT_ENUM + DDR4_RCD_CKE_IBT_100 + + + MEM_DDR4_RCD_COMMAND_LATENCY + 1 + + + MEM_DDR4_RCD_CS_IBT_ENUM + DDR4_RCD_CS_IBT_100 + + + MEM_DDR4_RCD_ODT_IBT_ENUM + DDR4_RCD_ODT_IBT_100 + + + MEM_DDR4_RCD_PARITY_CONTROL_WORD + 13 + + + MEM_DDR4_RDIMM_CONFIG + 00000020000000003900000D40030B0F556000 + + + MEM_DDR4_READ_DBI + true + + + MEM_DDR4_READ_PREAMBLE + 2 + + + MEM_DDR4_READ_PREAMBLE_TRAINING + false + + + MEM_DDR4_RM_WIDTH + 0 + + + MEM_DDR4_ROW_ADDR_WIDTH + 16 + + + MEM_DDR4_RTT_NOM_ENUM + DDR4_RTT_NOM_RZQ_4 + + + MEM_DDR4_RTT_PARK + DDR4_RTT_PARK_ODT_DISABLED + + + MEM_DDR4_RTT_WR_ENUM + DDR4_RTT_WR_ODT_DISABLED + + + MEM_DDR4_R_DERIVED_BODT0 + + + + MEM_DDR4_R_DERIVED_BODT1 + + + + MEM_DDR4_R_DERIVED_BODTN + + + + MEM_DDR4_R_DERIVED_ODT0 + (Drive) RZQ/7 (34 Ohm),-,-,- + + + MEM_DDR4_R_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_R_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_R_ODT0_1X1 + off + + + MEM_DDR4_R_ODT0_2X2 + off,off + + + MEM_DDR4_R_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_R_ODT0_4X4 + off,off,on,off + + + MEM_DDR4_R_ODT1_2X2 + off,off + + + MEM_DDR4_R_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_R_ODT1_4X4 + off,off,off,on + + + MEM_DDR4_R_ODT2_4X4 + on,off,off,off + + + MEM_DDR4_R_ODT3_4X4 + off,on,off,off + + + MEM_DDR4_R_ODTN_1X1 + Rank 0 + + + MEM_DDR4_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_SELF_RFSH_ABORT + false + + + MEM_DDR4_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDR4_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDR4_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDR4_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDR4_SPD_135_RCD_REV + 0 + + + MEM_DDR4_SPD_137_RCD_CA_DRV + 101 + + + MEM_DDR4_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDR4_SPD_139_DB_REV + 0 + + + MEM_DDR4_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDR4_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDR4_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDR4_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDR4_SPD_144_DB_VREFDQ + 37 + + + MEM_DDR4_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDR4_SPD_148_DRAM_DRV + 0 + + + MEM_DDR4_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDR4_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDR4_SPD_155_DB_VREFDQ_RANGE + 0 + + + MEM_DDR4_SPEEDBIN_ENUM + DDR4_SPEEDBIN_2666 + + + MEM_DDR4_TCCD_L_CYC + 6 + + + MEM_DDR4_TCCD_S_CYC + 4 + + + MEM_DDR4_TCL + 21 + + + MEM_DDR4_TDIVW_DJ_CYC + 0.1 + + + MEM_DDR4_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDR4_TDQSCKDL + 1200 + + + MEM_DDR4_TDQSCKDM + 900 + + + MEM_DDR4_TDQSCKDS + 450 + + + MEM_DDR4_TDQSCK_DERV_PS + 2 + + + MEM_DDR4_TDQSCK_PS + 175 + + + MEM_DDR4_TDQSQ_PS + 66 + + + MEM_DDR4_TDQSQ_UI + 0.14 + + + MEM_DDR4_TDQSS_CYC + 0.27 + + + MEM_DDR4_TDSH_CYC + 0.18 + + + MEM_DDR4_TDSS_CYC + 0.18 + + + MEM_DDR4_TDVWP_UI + 0.72 + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDR4_TEMP_CONTROLLED_RFSH_RANGE + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDR4_TEMP_SENSOR_READOUT + false + + + MEM_DDR4_TFAW_CYC + 26 + + + MEM_DDR4_TFAW_DLR_CYC + 16 + + + MEM_DDR4_TFAW_NS + 21.0 + + + MEM_DDR4_TIH_DC_MV + 75 + + + MEM_DDR4_TIH_PS + 87 + + + MEM_DDR4_TINIT_CK + 600000 + + + MEM_DDR4_TINIT_US + 500 + + + MEM_DDR4_TIS_AC_MV + 100 + + + MEM_DDR4_TIS_PS + 62 + + + MEM_DDR4_TMRD_CK_CYC + 8 + + + MEM_DDR4_TQH_CYC + 0.38 + + + MEM_DDR4_TQH_UI + 0.74 + + + MEM_DDR4_TQSH_CYC + 0.4 + + + MEM_DDR4_TRAS_CYC + 39 + + + MEM_DDR4_TRAS_NS + 32.0 + + + MEM_DDR4_TRCD_CYC + 17 + + + MEM_DDR4_TRCD_NS + 14.16 + + + MEM_DDR4_TREFI_CYC + 9360 + + + MEM_DDR4_TREFI_US + 7.8 + + + MEM_DDR4_TRFC_CYC + 420 + + + MEM_DDR4_TRFC_DLR_CYC + 108 + + + MEM_DDR4_TRFC_DLR_NS + 90.0 + + + MEM_DDR4_TRFC_NS + 350.0 + + + MEM_DDR4_TRP_CYC + 17 + + + MEM_DDR4_TRP_NS + 14.16 + + + MEM_DDR4_TRRD_DLR_CYC + 4 + + + MEM_DDR4_TRRD_L_CYC + 6 + + + MEM_DDR4_TRRD_S_CYC + 4 + + + MEM_DDR4_TRTP_CYC + 9 + + + MEM_DDR4_TTL_ADDR_WIDTH + 17 + + + MEM_DDR4_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDR4_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDR4_TTL_CHIP_ID_WIDTH + 0 + + + MEM_DDR4_TTL_CKE_WIDTH + 1 + + + MEM_DDR4_TTL_CK_WIDTH + 1 + + + MEM_DDR4_TTL_CS_WIDTH + 1 + + + MEM_DDR4_TTL_DQS_WIDTH + 9 + + + MEM_DDR4_TTL_DQ_WIDTH + 72 + + + MEM_DDR4_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDR4_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDR4_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDR4_TTL_ODT_WIDTH + 1 + + + MEM_DDR4_TTL_RM_WIDTH + 0 + + + MEM_DDR4_TWLH_CYC + 0.13 + + + MEM_DDR4_TWLH_PS + 0.0 + + + MEM_DDR4_TWLS_CYC + 0.13 + + + MEM_DDR4_TWLS_PS + 0.0 + + + MEM_DDR4_TWR_CYC + 18 + + + MEM_DDR4_TWR_NS + 15.0 + + + MEM_DDR4_TWTR_L_CYC + 9 + + + MEM_DDR4_TWTR_S_CYC + 3 + + + MEM_DDR4_USER_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDR4_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDR4_USE_DEFAULT_ODT + true + + + MEM_DDR4_VDIVW_TOTAL + 130 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE + DDR4_VREFDQ_TRAINING_RANGE_0 + + + MEM_DDR4_VREFDQ_TRAINING_RANGE_DISP + Range 1 - 60% to 92.5% + + + MEM_DDR4_VREFDQ_TRAINING_VALUE + 70.0 + + + MEM_DDR4_WRITE_CMD_LATENCY + 6 + + + MEM_DDR4_WRITE_CRC + false + + + MEM_DDR4_WRITE_DBI + false + + + MEM_DDR4_WRITE_PREAMBLE + 1 + + + MEM_DDR4_WTCL + 16 + + + MEM_DDR4_W_DERIVED_BODT0 + + + + MEM_DDR4_W_DERIVED_BODT1 + + + + MEM_DDR4_W_DERIVED_BODTN + + + + MEM_DDR4_W_DERIVED_ODT0 + (Park) RZQ/4 (60 Ohm),-,-,- + + + MEM_DDR4_W_DERIVED_ODT1 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT2 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODT3 + -,-,-,- + + + MEM_DDR4_W_DERIVED_ODTN + Rank 0,-,-,- + + + MEM_DDR4_W_ODT0_1X1 + on + + + MEM_DDR4_W_ODT0_2X2 + on,off + + + MEM_DDR4_W_ODT0_4X2 + off,off,on,on + + + MEM_DDR4_W_ODT0_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT1_2X2 + off,on + + + MEM_DDR4_W_ODT1_4X2 + on,on,off,off + + + MEM_DDR4_W_ODT1_4X4 + off,on,off,on + + + MEM_DDR4_W_ODT2_4X4 + on,off,on,off + + + MEM_DDR4_W_ODT3_4X4 + off,on,off,on + + + MEM_DDR4_W_ODTN_1X1 + Rank 0 + + + MEM_DDR4_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDR4_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDR4_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_AC_PARITY_LATENCY + DDRT_AC_PARITY_LATENCY_DISABLE + + + MEM_DDRT_AC_PERSISTENT_ERROR + false + + + MEM_DDRT_ADDRESS_MIRROR_BITVEC + 0 + + + MEM_DDRT_ADDR_WIDTH + 1 + + + MEM_DDRT_ALERT_N_AC_LANE + 0 + + + MEM_DDRT_ALERT_N_AC_PIN + 0 + + + MEM_DDRT_ALERT_N_DQS_GROUP + 0 + + + MEM_DDRT_ALERT_N_PLACEMENT_ENUM + DDRT_ALERT_N_PLACEMENT_AUTO + + + MEM_DDRT_ALERT_PAR_EN + true + + + MEM_DDRT_ASR_ENUM + DDRT_ASR_MANUAL_NORMAL + + + MEM_DDRT_ATCL_ENUM + DDRT_ATCL_DISABLED + + + MEM_DDRT_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_BL_ENUM + DDRT_BL_BL8 + + + MEM_DDRT_BT_ENUM + DDRT_BT_SEQUENTIAL + + + MEM_DDRT_CAL_MODE + 0 + + + MEM_DDRT_CFG_GEN_DBE + false + + + MEM_DDRT_CFG_GEN_SBE + false + + + MEM_DDRT_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_CKE_PER_DIMM + 1 + + + MEM_DDRT_CKE_WIDTH + 1 + + + MEM_DDRT_CK_WIDTH + 1 + + + MEM_DDRT_COL_ADDR_WIDTH + 10 + + + MEM_DDRT_CS_PER_DIMM + 1 + + + MEM_DDRT_CS_WIDTH + 1 + + + MEM_DDRT_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_DDRT_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_DDRT_DB_DQ_DRV_ENUM + DDRT_DB_DRV_STR_RZQ_7 + + + MEM_DDRT_DB_RTT_NOM_ENUM + DDRT_DB_RTT_NOM_ODT_DISABLED + + + MEM_DDRT_DB_RTT_PARK_ENUM + DDRT_DB_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_DB_RTT_WR_ENUM + DDRT_DB_RTT_WR_RZQ_4 + + + MEM_DDRT_DEFAULT_ADDED_LATENCY + true + + + MEM_DDRT_DEFAULT_PREAMBLE + true + + + MEM_DDRT_DEFAULT_VREFOUT + true + + + MEM_DDRT_DISCRETE_CS_WIDTH + 1 + + + MEM_DDRT_DISCRETE_MIRROR_ADDRESSING_EN + false + + + MEM_DDRT_DLL_EN + true + + + MEM_DDRT_DM_EN + false + + + MEM_DDRT_DQS_WIDTH + 8 + + + MEM_DDRT_DQ_PER_DQS + 4 + + + MEM_DDRT_DQ_WIDTH + 72 + + + MEM_DDRT_DRV_STR_ENUM + DDRT_DRV_STR_RZQ_7 + + + MEM_DDRT_ERID_WIDTH + 2 + + + MEM_DDRT_ERR_N_WIDTH + 1 + + + MEM_DDRT_FINE_GRANULARITY_REFRESH + DDRT_FINE_REFRESH_FIXED_1X + + + MEM_DDRT_FORMAT_ENUM + MEM_FORMAT_LRDIMM + + + MEM_DDRT_GEARDOWN + DDRT_GEARDOWN_HR + + + MEM_DDRT_GNT_N_WIDTH + 1 + + + MEM_DDRT_HIDE_ADV_MR_SETTINGS + true + + + MEM_DDRT_HIDE_LATENCY_SETTINGS + true + + + MEM_DDRT_I2C_DIMM_0_SA + 0 + + + MEM_DDRT_I2C_DIMM_1_SA + 1 + + + MEM_DDRT_I2C_DIMM_2_SA + 2 + + + MEM_DDRT_I2C_DIMM_3_SA + 3 + + + MEM_DDRT_INTERNAL_VREFDQ_MONITOR + false + + + MEM_DDRT_LRDIMM_EXTENDED_CONFIG + + + + MEM_DDRT_LRDIMM_ODT_LESS_BS + false + + + MEM_DDRT_LRDIMM_ODT_LESS_BS_PARK_OHM + 240 + + + MEM_DDRT_LRDIMM_VREFDQ_VALUE + + + + MEM_DDRT_MAX_POWERDOWN + false + + + MEM_DDRT_MIRROR_ADDRESSING_EN + true + + + MEM_DDRT_MPR_READ_FORMAT + DDRT_MPR_READ_FORMAT_SERIAL + + + MEM_DDRT_MR0 + 0 + + + MEM_DDRT_MR1 + 0 + + + MEM_DDRT_MR2 + 0 + + + MEM_DDRT_MR3 + 0 + + + MEM_DDRT_MR4 + 0 + + + MEM_DDRT_MR5 + 0 + + + MEM_DDRT_MR6 + 0 + + + MEM_DDRT_NUM_OF_DIMMS + 1 + + + MEM_DDRT_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_ODT_IN_POWERDOWN + true + + + MEM_DDRT_ODT_WIDTH + 1 + + + MEM_DDRT_PARTIAL_WRITES + false + + + MEM_DDRT_PERSISTENT_MODE + 1 + + + MEM_DDRT_PER_DRAM_ADDR + false + + + MEM_DDRT_PWR_MODE + DDRT_PWR_MODE_12W + + + MEM_DDRT_RANKS_PER_DIMM + 1 + + + MEM_DDRT_RCD_CA_IBT_ENUM + DDRT_RCD_CA_IBT_100 + + + MEM_DDRT_RCD_CKE_IBT_ENUM + DDRT_RCD_CKE_IBT_100 + + + MEM_DDRT_RCD_COMMAND_LATENCY + 1 + + + MEM_DDRT_RCD_CS_IBT_ENUM + DDRT_RCD_CS_IBT_100 + + + MEM_DDRT_RCD_ODT_IBT_ENUM + DDRT_RCD_ODT_IBT_100 + + + MEM_DDRT_RCD_PARITY_CONTROL_WORD + 1 + + + MEM_DDRT_RDIMM_CONFIG + + + + MEM_DDRT_READ_DBI + false + + + MEM_DDRT_READ_PREAMBLE + 1 + + + MEM_DDRT_READ_PREAMBLE_TRAINING + false + + + MEM_DDRT_REQ_N_WIDTH + 1 + + + MEM_DDRT_RM_WIDTH + 0 + + + MEM_DDRT_ROW_ADDR_WIDTH + 18 + + + MEM_DDRT_RTT_NOM_ENUM + DDRT_RTT_NOM_RZQ_4 + + + MEM_DDRT_RTT_PARK + DDRT_RTT_PARK_ODT_DISABLED + + + MEM_DDRT_RTT_WR_ENUM + DDRT_RTT_WR_ODT_DISABLED + + + MEM_DDRT_R_DERIVED_BODT0 + + + + MEM_DDRT_R_DERIVED_BODT1 + + + + MEM_DDRT_R_DERIVED_BODTN + + + + MEM_DDRT_R_DERIVED_ODT0 + + + + MEM_DDRT_R_DERIVED_ODT1 + + + + MEM_DDRT_R_DERIVED_ODT2 + + + + MEM_DDRT_R_DERIVED_ODT3 + + + + MEM_DDRT_R_DERIVED_ODTN + + + + MEM_DDRT_R_ODT0_1X1 + off + + + MEM_DDRT_R_ODT0_2X2 + off,off + + + MEM_DDRT_R_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_R_ODT0_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT1_2X2 + off,off + + + MEM_DDRT_R_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_R_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_R_ODT2_4X4 + off,off,off,off + + + MEM_DDRT_R_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_R_ODTN_1X1 + Rank 0 + + + MEM_DDRT_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_R_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_SELF_RFSH_ABORT + false + + + MEM_DDRT_SEQ_ODT_TABLE_HI + 0 + + + MEM_DDRT_SEQ_ODT_TABLE_LO + 0 + + + MEM_DDRT_SPD_133_RCD_DB_VENDOR_LSB + 0 + + + MEM_DDRT_SPD_134_RCD_DB_VENDOR_MSB + 0 + + + MEM_DDRT_SPD_135_RCD_REV + 0 + + + MEM_DDRT_SPD_137_RCD_CA_DRV + 85 + + + MEM_DDRT_SPD_138_RCD_CK_DRV + 5 + + + MEM_DDRT_SPD_139_DB_REV + 0 + + + MEM_DDRT_SPD_140_DRAM_VREFDQ_R0 + 29 + + + MEM_DDRT_SPD_141_DRAM_VREFDQ_R1 + 29 + + + MEM_DDRT_SPD_142_DRAM_VREFDQ_R2 + 29 + + + MEM_DDRT_SPD_143_DRAM_VREFDQ_R3 + 29 + + + MEM_DDRT_SPD_144_DB_VREFDQ + 25 + + + MEM_DDRT_SPD_145_DB_MDQ_DRV + 21 + + + MEM_DDRT_SPD_148_DRAM_DRV + 0 + + + MEM_DDRT_SPD_149_DRAM_RTT_WR_NOM + 20 + + + MEM_DDRT_SPD_152_DRAM_RTT_PARK + 39 + + + MEM_DDRT_SPEEDBIN_ENUM + DDRT_SPEEDBIN_2400 + + + MEM_DDRT_TCCD_L_CYC + 6 + + + MEM_DDRT_TCCD_S_CYC + 4 + + + MEM_DDRT_TCL + 15 + + + MEM_DDRT_TCL_ADDED + -1 + + + MEM_DDRT_TDIVW_DJ_CYC + 0.1 + + + MEM_DDRT_TDIVW_TOTAL_UI + 0.2 + + + MEM_DDRT_TDQSCKDL + 1200 + + + MEM_DDRT_TDQSCKDM + 900 + + + MEM_DDRT_TDQSCKDS + 450 + + + MEM_DDRT_TDQSCK_DERV_PS + 2 + + + MEM_DDRT_TDQSCK_PS + 165 + + + MEM_DDRT_TDQSQ_PS + 66 + + + MEM_DDRT_TDQSQ_UI + 0.16 + + + MEM_DDRT_TDQSS_CYC + 0.27 + + + MEM_DDRT_TDSH_CYC + 0.18 + + + MEM_DDRT_TDSS_CYC + 0.18 + + + MEM_DDRT_TDVWP_UI + 0.72 + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_ENA + false + + + MEM_DDRT_TEMP_CONTROLLED_RFSH_RANGE + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + + + MEM_DDRT_TEMP_SENSOR_READOUT + false + + + MEM_DDRT_TFAW_CYC + 27 + + + MEM_DDRT_TFAW_DLR_CYC + 16 + + + MEM_DDRT_TFAW_NS + 21.0 + + + MEM_DDRT_TIH_DC_MV + 75 + + + MEM_DDRT_TIH_PS + 95 + + + MEM_DDRT_TINIT_CK + 499 + + + MEM_DDRT_TINIT_US + 500 + + + MEM_DDRT_TIS_AC_MV + 100 + + + MEM_DDRT_TIS_PS + 60 + + + MEM_DDRT_TMRD_CK_CYC + 8 + + + MEM_DDRT_TQH_CYC + 0.38 + + + MEM_DDRT_TQH_UI + 0.76 + + + MEM_DDRT_TQSH_CYC + 0.38 + + + MEM_DDRT_TRAS_CYC + 36 + + + MEM_DDRT_TRAS_NS + 32.0 + + + MEM_DDRT_TRCD_CYC + 14 + + + MEM_DDRT_TRCD_NS + 15.0 + + + MEM_DDRT_TREFI_CYC + 8320 + + + MEM_DDRT_TREFI_US + 7.8 + + + MEM_DDRT_TRFC_CYC + 171 + + + MEM_DDRT_TRFC_DLR_CYC + 109 + + + MEM_DDRT_TRFC_DLR_NS + 90.0 + + + MEM_DDRT_TRFC_NS + 260.0 + + + MEM_DDRT_TRP_CYC + 14 + + + MEM_DDRT_TRP_NS + 15.0 + + + MEM_DDRT_TRRD_DLR_CYC + 4 + + + MEM_DDRT_TRRD_L_CYC + 6 + + + MEM_DDRT_TRRD_S_CYC + 4 + + + MEM_DDRT_TRTP_CYC + 9 + + + MEM_DDRT_TTL_ADDR_WIDTH + 1 + + + MEM_DDRT_TTL_BANK_ADDR_WIDTH + 2 + + + MEM_DDRT_TTL_BANK_GROUP_WIDTH + 2 + + + MEM_DDRT_TTL_CHIP_ID_WIDTH + 2 + + + MEM_DDRT_TTL_CKE_WIDTH + 1 + + + MEM_DDRT_TTL_CK_WIDTH + 1 + + + MEM_DDRT_TTL_CS_WIDTH + 1 + + + MEM_DDRT_TTL_DQS_WIDTH + 8 + + + MEM_DDRT_TTL_DQ_WIDTH + 72 + + + MEM_DDRT_TTL_ERID_WIDTH + 2 + + + MEM_DDRT_TTL_ERR_N_WIDTH + 1 + + + MEM_DDRT_TTL_GNT_N_WIDTH + 1 + + + MEM_DDRT_TTL_NUM_OF_DIMMS + 1 + + + MEM_DDRT_TTL_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_DDRT_TTL_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_DDRT_TTL_ODT_WIDTH + 1 + + + MEM_DDRT_TTL_REQ_N_WIDTH + 1 + + + MEM_DDRT_TTL_RM_WIDTH + 0 + + + MEM_DDRT_TWLH_CYC + 0.13 + + + MEM_DDRT_TWLH_PS + 0.0 + + + MEM_DDRT_TWLS_CYC + 0.13 + + + MEM_DDRT_TWLS_PS + 0.0 + + + MEM_DDRT_TWR_CYC + 18 + + + MEM_DDRT_TWR_NS + 15.0 + + + MEM_DDRT_TWTR_L_CYC + 9 + + + MEM_DDRT_TWTR_S_CYC + 3 + + + MEM_DDRT_USER_READ_PREAMBLE + 1 + + + MEM_DDRT_USER_TCL_ADDED + 0 + + + MEM_DDRT_USER_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_USER_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_USER_WRITE_PREAMBLE + 1 + + + MEM_DDRT_USER_WTCL_ADDED + 6 + + + MEM_DDRT_USE_DEFAULT_ODT + true + + + MEM_DDRT_VDIVW_TOTAL + 136 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE + DDRT_VREFDQ_TRAINING_RANGE_1 + + + MEM_DDRT_VREFDQ_TRAINING_RANGE_DISP + Range 2 - 45% to 77.5% + + + MEM_DDRT_VREFDQ_TRAINING_VALUE + 56.0 + + + MEM_DDRT_WRITE_CMD_LATENCY + 5 + + + MEM_DDRT_WRITE_CRC + false + + + MEM_DDRT_WRITE_DBI + false + + + MEM_DDRT_WRITE_PREAMBLE + 1 + + + MEM_DDRT_WTCL + 18 + + + MEM_DDRT_WTCL_ADDED + -1 + + + MEM_DDRT_W_DERIVED_BODT0 + + + + MEM_DDRT_W_DERIVED_BODT1 + + + + MEM_DDRT_W_DERIVED_BODTN + + + + MEM_DDRT_W_DERIVED_ODT0 + + + + MEM_DDRT_W_DERIVED_ODT1 + + + + MEM_DDRT_W_DERIVED_ODT2 + + + + MEM_DDRT_W_DERIVED_ODT3 + + + + MEM_DDRT_W_DERIVED_ODTN + + + + MEM_DDRT_W_ODT0_1X1 + on + + + MEM_DDRT_W_ODT0_2X2 + on,off + + + MEM_DDRT_W_ODT0_4X2 + off,off,on,on + + + MEM_DDRT_W_ODT0_4X4 + on,on,off,off + + + MEM_DDRT_W_ODT1_2X2 + off,on + + + MEM_DDRT_W_ODT1_4X2 + on,on,off,off + + + MEM_DDRT_W_ODT1_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT2_4X4 + off,off,on,on + + + MEM_DDRT_W_ODT3_4X4 + on,on,off,off + + + MEM_DDRT_W_ODTN_1X1 + Rank 0 + + + MEM_DDRT_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_DDRT_W_ODTN_4X2 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DDRT_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_DQ_WIDTH + 72 + + + MEM_FORMAT_ENUM + MEM_FORMAT_RDIMM + + + MEM_HAS_BSI_SUPPORT + true + + + MEM_HAS_SIM_SUPPORT + true + + + MEM_LPDDR3_ADDR_WIDTH + 10 + + + MEM_LPDDR3_BANK_ADDR_WIDTH + 3 + + + MEM_LPDDR3_BL + LPDDR3_BL_BL8 + + + MEM_LPDDR3_CKE_WIDTH + 1 + + + MEM_LPDDR3_CK_WIDTH + 1 + + + MEM_LPDDR3_COL_ADDR_WIDTH + 10 + + + MEM_LPDDR3_CS_WIDTH + 1 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_READ_ODT_RANK + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_CHIP + 0 + + + MEM_LPDDR3_CTRL_CFG_WRITE_ODT_RANK + 0 + + + MEM_LPDDR3_DATA_LATENCY + LPDDR3_DL_RL12_WL6 + + + MEM_LPDDR3_DISCRETE_CS_WIDTH + 1 + + + MEM_LPDDR3_DM_EN + true + + + MEM_LPDDR3_DM_WIDTH + 1 + + + MEM_LPDDR3_DQODT + LPDDR3_DQODT_DISABLE + + + MEM_LPDDR3_DQS_WIDTH + 1 + + + MEM_LPDDR3_DQ_PER_DQS + 8 + + + MEM_LPDDR3_DQ_WIDTH + 32 + + + MEM_LPDDR3_DRV_STR + LPDDR3_DRV_STR_40D_40U + + + MEM_LPDDR3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_LPDDR3_MR1 + 0 + + + MEM_LPDDR3_MR11 + 0 + + + MEM_LPDDR3_MR2 + 0 + + + MEM_LPDDR3_MR3 + 0 + + + MEM_LPDDR3_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_LPDDR3_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_LPDDR3_NWR + LPDDR3_NWR_NWR12 + + + MEM_LPDDR3_ODT_WIDTH + 1 + + + MEM_LPDDR3_PDODT + LPDDR3_PDODT_DISABLED + + + MEM_LPDDR3_ROW_ADDR_WIDTH + 15 + + + MEM_LPDDR3_R_DERIVED_ODT0 + + + + MEM_LPDDR3_R_DERIVED_ODT1 + + + + MEM_LPDDR3_R_DERIVED_ODT2 + + + + MEM_LPDDR3_R_DERIVED_ODT3 + + + + MEM_LPDDR3_R_DERIVED_ODTN + + + + MEM_LPDDR3_R_ODT0_1X1 + off + + + MEM_LPDDR3_R_ODT0_2X2 + off,off + + + MEM_LPDDR3_R_ODT0_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT1_2X2 + off,off + + + MEM_LPDDR3_R_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_R_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_R_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_R_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_LPDDR3_SEQ_ODT_TABLE_HI + 0 + + + MEM_LPDDR3_SEQ_ODT_TABLE_LO + 0 + + + MEM_LPDDR3_SPEEDBIN_ENUM + LPDDR3_SPEEDBIN_1600 + + + MEM_LPDDR3_TDH_DC_MV + 100 + + + MEM_LPDDR3_TDH_PS + 100 + + + MEM_LPDDR3_TDQSCKDL + 614 + + + MEM_LPDDR3_TDQSCKDM + 511 + + + MEM_LPDDR3_TDQSCKDS + 220 + + + MEM_LPDDR3_TDQSCK_DERV_PS + 2 + + + MEM_LPDDR3_TDQSCK_PS + 5500 + + + MEM_LPDDR3_TDQSQ_PS + 135 + + + MEM_LPDDR3_TDQSS_CYC + 1.25 + + + MEM_LPDDR3_TDSH_CYC + 0.2 + + + MEM_LPDDR3_TDSS_CYC + 0.2 + + + MEM_LPDDR3_TDS_AC_MV + 150 + + + MEM_LPDDR3_TDS_PS + 75 + + + MEM_LPDDR3_TFAW_CYC + 40 + + + MEM_LPDDR3_TFAW_NS + 50.0 + + + MEM_LPDDR3_TIH_DC_MV + 100 + + + MEM_LPDDR3_TIH_PS + 100 + + + MEM_LPDDR3_TINIT_CK + 499 + + + MEM_LPDDR3_TINIT_US + 500 + + + MEM_LPDDR3_TIS_AC_MV + 150 + + + MEM_LPDDR3_TIS_PS + 75 + + + MEM_LPDDR3_TMRR_CK_CYC + 4 + + + MEM_LPDDR3_TMRW_CK_CYC + 10 + + + MEM_LPDDR3_TQH_CYC + 0.38 + + + MEM_LPDDR3_TQSH_CYC + 0.38 + + + MEM_LPDDR3_TRAS_CYC + 34 + + + MEM_LPDDR3_TRAS_NS + 42.5 + + + MEM_LPDDR3_TRCD_CYC + 17 + + + MEM_LPDDR3_TRCD_NS + 18.0 + + + MEM_LPDDR3_TREFI_CYC + 3120 + + + MEM_LPDDR3_TREFI_US + 3.9 + + + MEM_LPDDR3_TRFC_CYC + 168 + + + MEM_LPDDR3_TRFC_NS + 210.0 + + + MEM_LPDDR3_TRL_CYC + 10 + + + MEM_LPDDR3_TRP_CYC + 17 + + + MEM_LPDDR3_TRP_NS + 18.0 + + + MEM_LPDDR3_TRRD_CYC + 8 + + + MEM_LPDDR3_TRTP_CYC + 6 + + + MEM_LPDDR3_TWLH_PS + 175.0 + + + MEM_LPDDR3_TWLS_PS + 175.0 + + + MEM_LPDDR3_TWL_CYC + 6 + + + MEM_LPDDR3_TWR_CYC + 12 + + + MEM_LPDDR3_TWR_NS + 15.0 + + + MEM_LPDDR3_TWTR_CYC + 6 + + + MEM_LPDDR3_USE_DEFAULT_ODT + true + + + MEM_LPDDR3_WLSELECT + Set A + + + MEM_LPDDR3_W_DERIVED_ODT0 + + + + MEM_LPDDR3_W_DERIVED_ODT1 + + + + MEM_LPDDR3_W_DERIVED_ODT2 + + + + MEM_LPDDR3_W_DERIVED_ODT3 + + + + MEM_LPDDR3_W_DERIVED_ODTN + + + + MEM_LPDDR3_W_ODT0_1X1 + on + + + MEM_LPDDR3_W_ODT0_2X2 + on,on + + + MEM_LPDDR3_W_ODT0_4X4 + on,on,on,on + + + MEM_LPDDR3_W_ODT1_2X2 + off,off + + + MEM_LPDDR3_W_ODT1_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT2_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODT3_4X4 + off,off,off,off + + + MEM_LPDDR3_W_ODTN_1X1 + Rank 0 + + + MEM_LPDDR3_W_ODTN_2X2 + Rank 0,Rank 1 + + + MEM_LPDDR3_W_ODTN_4X4 + Rank 0,Rank 1,Rank 2,Rank 3 + + + MEM_NUM_OF_DATA_ENDPOINTS + 1 + + + MEM_NUM_OF_LOGICAL_RANKS + 1 + + + MEM_NUM_OF_PHYSICAL_RANKS + 1 + + + MEM_QDR2_ADDR_WIDTH + 19 + + + MEM_QDR2_BL + 4 + + + MEM_QDR2_BWS_EN + true + + + MEM_QDR2_BWS_N_PER_DEVICE + 4 + + + MEM_QDR2_BWS_N_WIDTH + 4 + + + MEM_QDR2_CQ_WIDTH + 1 + + + MEM_QDR2_DATA_PER_DEVICE + 36 + + + MEM_QDR2_DATA_WIDTH + 36 + + + MEM_QDR2_DEVICE_WIDTH + 1 + + + MEM_QDR2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR2_INTERNAL_JITTER_NS + 0.08 + + + MEM_QDR2_K_WIDTH + 1 + + + MEM_QDR2_SPEEDBIN_ENUM + QDR2_SPEEDBIN_633 + + + MEM_QDR2_TCCQO_NS + 0.45 + + + MEM_QDR2_TCQDOH_NS + -0.09 + + + MEM_QDR2_TCQD_NS + 0.09 + + + MEM_QDR2_TCQH_NS + 0.71 + + + MEM_QDR2_THA_NS + 0.18 + + + MEM_QDR2_THD_NS + 0.18 + + + MEM_QDR2_TRL_CYC + 2.5 + + + MEM_QDR2_TSA_NS + 0.23 + + + MEM_QDR2_TSD_NS + 0.23 + + + MEM_QDR2_TWL_CYC + 1 + + + MEM_QDR2_WIDTH_EXPANDED + false + + + MEM_QDR4_AC_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_ADDR_INV_ENA + false + + + MEM_QDR4_ADDR_WIDTH + 21 + + + MEM_QDR4_AVL_CHNLS + 8 + + + MEM_QDR4_BL + 2 + + + MEM_QDR4_CK_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_CR0 + 0 + + + MEM_QDR4_CR1 + 0 + + + MEM_QDR4_CR2 + 0 + + + MEM_QDR4_DATA_INV_ENA + true + + + MEM_QDR4_DATA_ODT_MODE_ENUM + QDR4_ODT_25_PCT + + + MEM_QDR4_DEVICE_DEPTH + 1 + + + MEM_QDR4_DEVICE_WIDTH + 1 + + + MEM_QDR4_DINV_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DINV_WIDTH + 4 + + + MEM_QDR4_DK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_DK_WIDTH + 4 + + + MEM_QDR4_DQ_PER_PORT_PER_DEVICE + 36 + + + MEM_QDR4_DQ_PER_PORT_WIDTH + 36 + + + MEM_QDR4_DQ_PER_RD_GROUP + 18 + + + MEM_QDR4_DQ_PER_WR_GROUP + 18 + + + MEM_QDR4_DQ_WIDTH + 72 + + + MEM_QDR4_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_QDR4_MEM_TYPE_ENUM + MEM_XP + + + MEM_QDR4_PD_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_PU_OUTPUT_DRIVE_MODE_ENUM + QDR4_OUTPUT_DRIVE_25_PCT + + + MEM_QDR4_QK_PER_PORT_WIDTH + 2 + + + MEM_QDR4_QK_WIDTH + 4 + + + MEM_QDR4_SKIP_ODT_SWEEPING + true + + + MEM_QDR4_SPEEDBIN_ENUM + QDR4_SPEEDBIN_2133 + + + MEM_QDR4_TASH_PS + 170 + + + MEM_QDR4_TCKDK_MAX_PS + 150 + + + MEM_QDR4_TCKDK_MIN_PS + -150 + + + MEM_QDR4_TCKQK_MAX_PS + 225 + + + MEM_QDR4_TCSH_PS + 170 + + + MEM_QDR4_TISH_PS + 150 + + + MEM_QDR4_TQH_CYC + 0.4 + + + MEM_QDR4_TQKQ_MAX_PS + 75 + + + MEM_QDR4_TRL_CYC + 8 + + + MEM_QDR4_TWL_CYC + 5 + + + MEM_QDR4_USE_ADDR_PARITY + false + + + MEM_QDR4_WIDTH_EXPANDED + false + + + MEM_READ_LATENCY + 23.0 + + + MEM_RLD2_ADDR_WIDTH + 21 + + + MEM_RLD2_BANK_ADDR_WIDTH + 3 + + + MEM_RLD2_BL + 4 + + + MEM_RLD2_CONFIG_ENUM + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + + + MEM_RLD2_CS_WIDTH + 1 + + + MEM_RLD2_DEVICE_DEPTH + 1 + + + MEM_RLD2_DEVICE_WIDTH + 1 + + + MEM_RLD2_DK_WIDTH + 1 + + + MEM_RLD2_DM_EN + true + + + MEM_RLD2_DM_WIDTH + 1 + + + MEM_RLD2_DQ_PER_DEVICE + 9 + + + MEM_RLD2_DQ_PER_RD_GROUP + 9 + + + MEM_RLD2_DQ_PER_WR_GROUP + 9 + + + MEM_RLD2_DQ_WIDTH + 9 + + + MEM_RLD2_DRIVE_IMPEDENCE_ENUM + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + + + MEM_RLD2_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD2_MR + 0 + + + MEM_RLD2_ODT_MODE_ENUM + RLD2_ODT_ON + + + MEM_RLD2_QK_WIDTH + 1 + + + MEM_RLD2_REFRESH_INTERVAL_US + 0.24 + + + MEM_RLD2_SPEEDBIN_ENUM + RLD2_SPEEDBIN_18 + + + MEM_RLD2_TAH_NS + 0.3 + + + MEM_RLD2_TAS_NS + 0.3 + + + MEM_RLD2_TCKDK_MAX_NS + 0.3 + + + MEM_RLD2_TCKDK_MIN_NS + -0.3 + + + MEM_RLD2_TCKH_CYC + 0.45 + + + MEM_RLD2_TCKQK_MAX_NS + 0.2 + + + MEM_RLD2_TDH_NS + 0.17 + + + MEM_RLD2_TDS_NS + 0.17 + + + MEM_RLD2_TQKH_HCYC + 0.9 + + + MEM_RLD2_TQKQ_MAX_NS + 0.12 + + + MEM_RLD2_TQKQ_MIN_NS + -0.12 + + + MEM_RLD2_TRC + 8 + + + MEM_RLD2_TRL + 8 + + + MEM_RLD2_TWL + 9 + + + MEM_RLD2_WIDTH_EXPANDED + false + + + MEM_RLD3_ADDR_WIDTH + 20 + + + MEM_RLD3_AREF_PROTOCOL_ENUM + RLD3_AREF_BAC + + + MEM_RLD3_BANK_ADDR_WIDTH + 4 + + + MEM_RLD3_BL + 2 + + + MEM_RLD3_CS_WIDTH + 1 + + + MEM_RLD3_DATA_LATENCY_MODE_ENUM + RLD3_DL_RL16_WL17 + + + MEM_RLD3_DEPTH_EXPANDED + false + + + MEM_RLD3_DEVICE_DEPTH + 1 + + + MEM_RLD3_DEVICE_WIDTH + 1 + + + MEM_RLD3_DK_WIDTH + 2 + + + MEM_RLD3_DM_EN + true + + + MEM_RLD3_DM_WIDTH + 2 + + + MEM_RLD3_DQ_PER_DEVICE + 36 + + + MEM_RLD3_DQ_PER_RD_GROUP + 9 + + + MEM_RLD3_DQ_PER_WR_GROUP + 18 + + + MEM_RLD3_DQ_WIDTH + 36 + + + MEM_RLD3_FORMAT_ENUM + MEM_FORMAT_DISCRETE + + + MEM_RLD3_MR0 + 0 + + + MEM_RLD3_MR1 + 0 + + + MEM_RLD3_MR2 + 0 + + + MEM_RLD3_ODT_MODE_ENUM + RLD3_ODT_40 + + + MEM_RLD3_OUTPUT_DRIVE_MODE_ENUM + RLD3_OUTPUT_DRIVE_40 + + + MEM_RLD3_QK_WIDTH + 4 + + + MEM_RLD3_SPEEDBIN_ENUM + RLD3_SPEEDBIN_093E + + + MEM_RLD3_TCKDK_MAX_CYC + 0.27 + + + MEM_RLD3_TCKDK_MIN_CYC + -0.27 + + + MEM_RLD3_TCKQK_MAX_PS + 135 + + + MEM_RLD3_TDH_DC_MV + 100 + + + MEM_RLD3_TDH_PS + 5 + + + MEM_RLD3_TDS_AC_MV + 150 + + + MEM_RLD3_TDS_PS + -30 + + + MEM_RLD3_TIH_DC_MV + 100 + + + MEM_RLD3_TIH_PS + 65 + + + MEM_RLD3_TIS_AC_MV + 150 + + + MEM_RLD3_TIS_PS + 85 + + + MEM_RLD3_TQH_CYC + 0.38 + + + MEM_RLD3_TQKQ_MAX_PS + 75 + + + MEM_RLD3_T_RC_MODE_ENUM + RLD3_TRC_9 + + + MEM_RLD3_WIDTH_EXPANDED + false + + + MEM_RLD3_WRITE_PROTOCOL_ENUM + RLD3_WRITE_1BANK + + + MEM_TTL_DATA_WIDTH + 72 + + + MEM_TTL_NUM_OF_READ_GROUPS + 9 + + + MEM_TTL_NUM_OF_WRITE_GROUPS + 9 + + + MEM_WRITE_LATENCY + 18 + + + NUM_IPS + 1 + + + NUM_IPS_SAVED + 0 + + + PHY_AC_CALIBRATED_OCT + true + + + PHY_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CALIBRATED_OCT + true + + + PHY_CK_CALIBRATED_OCT + true + + + PHY_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_CLAMSHELL_EN + false + + + PHY_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DATA_CALIBRATED_OCT + true + + + PHY_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DATA_OUT_SLEW_RATE_ENUM + + + + PHY_DDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_AC_IO_STD_ENUM + unset + + + PHY_DDR3_AC_MODE_ENUM + unset + + + PHY_DDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_CAL_ADDR0 + 0 + + + PHY_DDR3_CAL_ADDR1 + 8 + + + PHY_DDR3_CAL_ENABLE_NON_DES + false + + + PHY_DDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_CK_IO_STD_ENUM + unset + + + PHY_DDR3_CK_MODE_ENUM + unset + + + PHY_DDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR3_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_DEFAULT_IO + true + + + PHY_DDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR3_IO_VOLTAGE + 1.5 + + + PHY_DDR3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_DDR3_MIMIC_HPS_EMIF + false + + + PHY_DDR3_PING_PONG_EN + false + + + PHY_DDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_RATE_ENUM + RATE_QUARTER + + + PHY_DDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR3_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_STARTING_VREFIN + 70.0 + + + PHY_DDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_DDR3_USER_AC_MODE_ENUM + unset + + + PHY_DDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_CK_MODE_ENUM + unset + + + PHY_DDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR3_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR3_USER_PING_PONG_EN + false + + + PHY_DDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_DDR4_AC_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_AC_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_ALLOW_72_DQ_WIDTH + false + + + PHY_DDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_CK_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_OFF + + + PHY_DDR4_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_CK_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_CLAMSHELL_EN + false + + + PHY_DDR4_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_DDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDR4_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_DATA_OUT_DEEMPHASIS_ENUM + DEEMPHASIS_MODE_HIGH + + + PHY_DDR4_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_DATA_OUT_SLEW_RATE_ENUM + SLEW_RATE_FM_FAST + + + PHY_DDR4_DEFAULT_IO + false + + + PHY_DDR4_DEFAULT_REF_CLK_FREQ + false + + + PHY_DDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDR4_IO_VOLTAGE + 1.2 + + + PHY_DDR4_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDR4_MIMIC_HPS_EMIF + false + + + PHY_DDR4_PING_PONG_EN + false + + + PHY_DDR4_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_RATE_ENUM + RATE_QUARTER + + + PHY_DDR4_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDR4_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_STARTING_VREFIN + 68.0 + + + PHY_DDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_AC_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_AC_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_CK_IO_STD_ENUM + IO_STD_SSTL_12 + + + PHY_DDR4_USER_CK_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_CLAMSHELL_EN + false + + + PHY_DDR4_USER_DATA_IN_MODE_ENUM + IN_OCT_60_CAL + + + PHY_DDR4_USER_DATA_IO_STD_ENUM + IO_STD_POD_12 + + + PHY_DDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDR4_USER_DATA_OUT_MODE_ENUM + OUT_OCT_40_CAL + + + PHY_DDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_DDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDR4_USER_PING_PONG_EN + false + + + PHY_DDR4_USER_PLL_REF_CLK_IO_STD_ENUM + IO_STD_TRUE_DIFF_SIGNALING + + + PHY_DDR4_USER_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_DDR4_USER_RZQ_IO_STD_ENUM + IO_STD_CMOS_12 + + + PHY_DDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_2CH_EN + false + + + PHY_DDRT_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_AC_IO_STD_ENUM + unset + + + PHY_DDRT_AC_MODE_ENUM + unset + + + PHY_DDRT_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_CK_IO_STD_ENUM + unset + + + PHY_DDRT_CK_MODE_ENUM + unset + + + PHY_DDRT_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_DDRT_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_DDRT_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_DDRT_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_DEFAULT_IO + true + + + PHY_DDRT_DEFAULT_REF_CLK_FREQ + true + + + PHY_DDRT_EXPORT_CLK_STP_IF + false + + + PHY_DDRT_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_DDRT_I2C_USE_SMC + false + + + PHY_DDRT_IC_EN + true + + + PHY_DDRT_IO_VOLTAGE + 1.2 + + + PHY_DDRT_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_DDRT_MIMIC_HPS_EMIF + false + + + PHY_DDRT_PING_PONG_EN + false + + + PHY_DDRT_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_RATE_ENUM + RATE_QUARTER + + + PHY_DDRT_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_REF_CLK_JITTER_PS + 10.0 + + + PHY_DDRT_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_AC_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_IO_STD_ENUM + unset + + + PHY_DDRT_USER_AC_MODE_ENUM + unset + + + PHY_DDRT_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_DDRT_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_CK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_CK_MODE_ENUM + unset + + + PHY_DDRT_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DATA_IN_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_IO_STD_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_DDRT_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_DDRT_USER_DLL_CORE_UPDN_EN + false + + + PHY_DDRT_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_DDRT_USER_PING_PONG_EN + false + + + PHY_DDRT_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_DDRT_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_DDRT_USER_RZQ_IO_STD_ENUM + unset + + + PHY_DDRT_USER_STARTING_VREFIN + 70.0 + + + PHY_DDRT_USE_OLD_SMBUS_MULTICOL + false + + + PHY_DLL_CORE_UPDN_EN + false + + + PHY_FPGA_SPEEDGRADE_GUI + E2V (ES3) - change device under 'View'->'Device Family' + + + PHY_HMC_CLK_RATIO + 2 + + + PHY_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_AC_MODE_ENUM + unset + + + PHY_LPDDR3_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_CK_MODE_ENUM + unset + + + PHY_LPDDR3_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_CONFIG_ENUM + CONFIG_PHY_AND_HARD_CTRL + + + PHY_LPDDR3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_LPDDR3_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_DEFAULT_IO + true + + + PHY_LPDDR3_DEFAULT_REF_CLK_FREQ + true + + + PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_LPDDR3_IO_VOLTAGE + 1.2 + + + PHY_LPDDR3_MEM_CLK_FREQ_MHZ + 800.0 + + + PHY_LPDDR3_MIMIC_HPS_EMIF + false + + + PHY_LPDDR3_PING_PONG_EN + false + + + PHY_LPDDR3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_RATE_ENUM + RATE_QUARTER + + + PHY_LPDDR3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_REF_CLK_JITTER_PS + 10.0 + + + PHY_LPDDR3_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_STARTING_VREFIN + 70.0 + + + PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_AC_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_AC_MODE_ENUM + unset + + + PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_CK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_CK_MODE_ENUM + unset + + + PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_LPDDR3_USER_DLL_CORE_UPDN_EN + false + + + PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_LPDDR3_USER_PING_PONG_EN + false + + + PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_LPDDR3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_LPDDR3_USER_STARTING_VREFIN + 70.0 + + + PHY_MEM_CLK_FREQ_MHZ + 1200.0 + + + PHY_MIMIC_HPS_EMIF + false + + + PHY_PING_PONG_EN + false + + + PHY_QDR2_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_AC_IO_STD_ENUM + unset + + + PHY_QDR2_AC_MODE_ENUM + unset + + + PHY_QDR2_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_CK_IO_STD_ENUM + unset + + + PHY_QDR2_CK_MODE_ENUM + unset + + + PHY_QDR2_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR2_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_DEFAULT_IO + true + + + PHY_QDR2_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR2_IO_VOLTAGE + 1.5 + + + PHY_QDR2_MEM_CLK_FREQ_MHZ + 633.333 + + + PHY_QDR2_MIMIC_HPS_EMIF + false + + + PHY_QDR2_PING_PONG_EN + false + + + PHY_QDR2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_RATE_ENUM + RATE_HALF + + + PHY_QDR2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR2_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_STARTING_VREFIN + 70.0 + + + PHY_QDR2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR2_USER_AC_MODE_ENUM + unset + + + PHY_QDR2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_CK_MODE_ENUM + unset + + + PHY_QDR2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR2_USER_DLL_CORE_UPDN_EN + false + + + PHY_QDR2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR2_USER_PING_PONG_EN + false + + + PHY_QDR2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR2_USER_STARTING_VREFIN + 70.0 + + + PHY_QDR4_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_AC_IO_STD_ENUM + unset + + + PHY_QDR4_AC_MODE_ENUM + unset + + + PHY_QDR4_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_CK_IO_STD_ENUM + unset + + + PHY_QDR4_CK_MODE_ENUM + unset + + + PHY_QDR4_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_QDR4_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_QDR4_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_QDR4_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_DEFAULT_IO + true + + + PHY_QDR4_DEFAULT_REF_CLK_FREQ + true + + + PHY_QDR4_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_QDR4_IO_VOLTAGE + 1.2 + + + PHY_QDR4_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_QDR4_MIMIC_HPS_EMIF + false + + + PHY_QDR4_PING_PONG_EN + false + + + PHY_QDR4_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_RATE_ENUM + RATE_QUARTER + + + PHY_QDR4_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_REF_CLK_JITTER_PS + 10.0 + + + PHY_QDR4_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_STARTING_VREFIN + 70.0 + + + PHY_QDR4_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_AC_IO_STD_ENUM + unset + + + PHY_QDR4_USER_AC_MODE_ENUM + unset + + + PHY_QDR4_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_QDR4_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_CK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_CK_MODE_ENUM + unset + + + PHY_QDR4_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DATA_IN_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_IO_STD_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_QDR4_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_QDR4_USER_DLL_CORE_UPDN_EN + true + + + PHY_QDR4_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_QDR4_USER_PING_PONG_EN + false + + + PHY_QDR4_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_QDR4_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_QDR4_USER_RZQ_IO_STD_ENUM + unset + + + PHY_QDR4_USER_STARTING_VREFIN + 70.0 + + + PHY_RATE_ENUM + RATE_QUARTER + + + PHY_REF_CLK_FREQ_MHZ + 33.333 + + + PHY_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_AC_IO_STD_ENUM + unset + + + PHY_RLD2_AC_MODE_ENUM + unset + + + PHY_RLD2_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_CK_IO_STD_ENUM + unset + + + PHY_RLD2_CK_MODE_ENUM + unset + + + PHY_RLD2_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_CONFIG_ENUM + CONFIG_PHY_AND_SOFT_CTRL + + + PHY_RLD2_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD2_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD2_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_DEFAULT_IO + true + + + PHY_RLD2_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD2_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD2_IO_VOLTAGE + 1.8 + + + PHY_RLD2_MEM_CLK_FREQ_MHZ + 533.333 + + + PHY_RLD2_MIMIC_HPS_EMIF + false + + + PHY_RLD2_PING_PONG_EN + false + + + PHY_RLD2_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_RATE_ENUM + RATE_HALF + + + PHY_RLD2_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD2_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_STARTING_VREFIN + 70.0 + + + PHY_RLD2_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD2_USER_AC_MODE_ENUM + unset + + + PHY_RLD2_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD2_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_CK_MODE_ENUM + unset + + + PHY_RLD2_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD2_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD2_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD2_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD2_USER_PING_PONG_EN + false + + + PHY_RLD2_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD2_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD2_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD2_USER_STARTING_VREFIN + 70.0 + + + PHY_RLD3_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_AC_IO_STD_ENUM + unset + + + PHY_RLD3_AC_MODE_ENUM + unset + + + PHY_RLD3_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_CK_IO_STD_ENUM + unset + + + PHY_RLD3_CK_MODE_ENUM + unset + + + PHY_RLD3_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_CONFIG_ENUM + CONFIG_PHY_ONLY + + + PHY_RLD3_CORE_CLKS_SHARING_ENUM + CORE_CLKS_SHARING_DISABLED + + + PHY_RLD3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT + false + + + PHY_RLD3_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_DEFAULT_IO + true + + + PHY_RLD3_DEFAULT_REF_CLK_FREQ + true + + + PHY_RLD3_HPS_ENABLE_EARLY_RELEASE + false + + + PHY_RLD3_IO_VOLTAGE + 1.2 + + + PHY_RLD3_MEM_CLK_FREQ_MHZ + 1066.667 + + + PHY_RLD3_MIMIC_HPS_EMIF + false + + + PHY_RLD3_PING_PONG_EN + false + + + PHY_RLD3_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_RATE_ENUM + RATE_QUARTER + + + PHY_RLD3_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_REF_CLK_JITTER_PS + 10.0 + + + PHY_RLD3_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_STARTING_VREFIN + 70.0 + + + PHY_RLD3_USER_AC_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_AC_IO_STD_ENUM + unset + + + PHY_RLD3_USER_AC_MODE_ENUM + unset + + + PHY_RLD3_USER_AC_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_AUTO_STARTING_VREFIN_EN + true + + + PHY_RLD3_USER_CK_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_CK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_CK_MODE_ENUM + unset + + + PHY_RLD3_USER_CK_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DATA_IN_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_IO_STD_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_DEEMPHASIS_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_MODE_ENUM + unset + + + PHY_RLD3_USER_DATA_OUT_SLEW_RATE_ENUM + unset + + + PHY_RLD3_USER_DLL_CORE_UPDN_EN + false + + + PHY_RLD3_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PHY_RLD3_USER_PING_PONG_EN + false + + + PHY_RLD3_USER_PLL_REF_CLK_IO_STD_ENUM + unset + + + PHY_RLD3_USER_REF_CLK_FREQ_MHZ + -1.0 + + + PHY_RLD3_USER_RZQ_IO_STD_ENUM + unset + + + PHY_RLD3_USER_STARTING_VREFIN + 70.0 + + + PHY_RZQ + 240 + + + PHY_TARGET_IS_ES + false + + + PHY_TARGET_IS_ES2 + false + + + PHY_TARGET_IS_ES3 + true + + + PHY_TARGET_IS_PRODUCTION + false + + + PHY_TARGET_SPEEDGRADE + E2V + + + PHY_USER_PERIODIC_OCT_RECAL_ENUM + PERIODIC_OCT_RECAL_AUTO + + + PLL_ADD_EXTRA_CLKS + false + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8 + 1200.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8 + 50.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7 + 0.0 + + + PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8 + 0.0 + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7 + ps + + + PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8 + ps + + + PLL_NUM_OF_EXTRA_CLKS + 0 + + + PLL_USER_NUM_OF_EXTRA_CLKS + 0 + + + PLL_VCO_CLK_FREQ_MHZ + 1200.0 + + + PORT_CTRL_AMM_ADDRESS_WIDTH + 27 + + + PORT_CTRL_AMM_BCOUNT_WIDTH + 7 + + + PORT_CTRL_AMM_BYTEEN_WIDTH + 64 + + + PORT_CTRL_AMM_RDATA_WIDTH + 512 + + + PORT_CTRL_AMM_WDATA_WIDTH + 512 + + + PORT_CTRL_AST_CMD_DATA_WIDTH + 61 + + + PORT_CTRL_AST_RD_DATA_WIDTH + 576 + + + PORT_CTRL_AST_WR_DATA_WIDTH + 648 + + + PORT_CTRL_ECC_CMD_INFO_WIDTH + 3 + + + PORT_CTRL_ECC_RDATA_ID_WIDTH + 13 + + + PORT_CTRL_ECC_READ_INFO_WIDTH + 3 + + + PORT_CTRL_ECC_STS_CORR_DROPPED_ADDR_WIDTH + 35 + + + PORT_CTRL_ECC_STS_CORR_DROPPED_COUNT_WIDTH + 4 + + + PORT_CTRL_ECC_STS_CORR_DROPPED_WIDTH + 1 + + + PORT_CTRL_ECC_STS_DBE_COUNT_WIDTH + 4 + + + PORT_CTRL_ECC_STS_DBE_ERROR_WIDTH + 1 + + + PORT_CTRL_ECC_STS_ERR_ADDR_WIDTH + 35 + + + PORT_CTRL_ECC_STS_INTR_WIDTH + 1 + + + PORT_CTRL_ECC_STS_SBE_COUNT_WIDTH + 4 + + + PORT_CTRL_ECC_STS_SBE_ERROR_WIDTH + 1 + + + PORT_CTRL_ECC_WB_POINTER_WIDTH + 12 + + + PORT_CTRL_ECC_WRITE_INFO_WIDTH + 15 + + + PORT_CTRL_MMR_MASTER_ADDRESS_WIDTH + 10 + + + PORT_CTRL_MMR_MASTER_BCOUNT_WIDTH + 2 + + + PORT_CTRL_MMR_MASTER_RDATA_WIDTH + 32 + + + PORT_CTRL_MMR_MASTER_WDATA_WIDTH + 32 + + + PORT_CTRL_MMR_SLAVE_ADDRESS_WIDTH + 10 + + + PORT_CTRL_MMR_SLAVE_BCOUNT_WIDTH + 2 + + + PORT_CTRL_MMR_SLAVE_RDATA_WIDTH + 32 + + + PORT_CTRL_MMR_SLAVE_WDATA_WIDTH + 32 + + + PREV_PROTOCOL_ENUM + PROTOCOL_DDR4 + + + PROTOCOL_ENUM + PROTOCOL_DDR4 + + + REGISTER_CORE_CMD_PIPELINE_WDATA + 0 + + + REGISTER_RDATA_PATH_NUM + 2 + + + REGISTER_ST_CMD_RDY_LAT_PATH + 0 + + + REGISTER_ST_RDATA_RDY_LAT_PATH + 0 + + + REGISTER_ST_WDATA_RDY_LAT_PATH + 0 + + + REGISTER_UFI_RDATA_PATH_NUM + 0 + + + REGISTER_WDATA_PATH_NUM + 2 + + + SHORT_QSYS_INTERFACE_NAMES + true + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_DEVICE_DIE_REVISIONS + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + + + SYS_INFO_DEVICE_FAMILY + Agilex 7 + + + SYS_INFO_DEVICE_POWER_MODEL + STANDARD_POWER + + + SYS_INFO_DEVICE_SPEEDGRADE + 2 + + + SYS_INFO_DEVICE_TEMPERATURE_GRADE + EXTENDED + + + SYS_INFO_UNIQUE_ID + ed_synth_emif_fm_0_emif_fm_0 + + + TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + TRAIT_SUPPORTS_VID + 1 + + + USER_CLK_RATIO + 4 + + + USE_AVL_BYTEEN + 1 + + + + altera_emif_ecc_fm + 19.1 + core + altera_emif_ecc_core + altera_emif_ecc_core + 0 + + ed_synth_emif_fm_0.emif_fm_0.ecc_core.core + + + + + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qip b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qip new file mode 100644 index 0000000000..b6c8810f3a --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.qip @@ -0,0 +1,949 @@ +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_emif_fm" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name PRE_COMPILED_MODULE "ON" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name OCS_IP_FILE "/home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0.ip" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name OCS_IP_TYPE "altera_emif_fm" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name OCS_IP_VERSION "2.7.4" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name OCS_IP_HASH "z5lxzjq" +set_global_assignment -library "ed_synth_emif_fm_0" -name SOPCINFO_FILE [file join $::quartus(qip_path) "ed_synth_emif_fm_0.sopcinfo"] +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name SLD_INFO "QSYS_NAME ed_synth_emif_fm_0 HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "ed_synth_emif_fm_0" -name MISC_FILE [file join $::quartus(qip_path) "ed_synth_emif_fm_0.cmp"] +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TARGETED_PART_TRAIT "part.DEVICE_TEMPERATURE_GRADE::EXTENDED" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TARGETED_PART_TRAIT "part.DEVICE_POWER_MODEL::STANDARD_POWER" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TARGETED_PART_TRAIT "part.SUPPORTS_VID::1" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_TARGETED_PART_TRAIT "part.DEVICE_IOBANK_REVISION::IO96A_REVB2" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "ed_synth_emif_fm_0" -name MISC_FILE [file join $::quartus(qip_path) "../ed_synth_emif_fm_0.ip"] + +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_NAME "ZWRfc3ludGhfZW1pZl9mbV8wX2FsdGVyYV9lbWlmX2FyY2hfZm1fMTkxX2ZhYXB6eHk=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_DISPLAY_NAME "RU1JRiBBcmNoaXRlY3R1cmUgQ29tcG9uZW50" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_INTERNAL "On" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_VERSION "MTkuMQ==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_DESCRIPTION "SW50ZWwgRXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZSBBcmNoaXRlY3R1cmUgQ29tcG9uZW50" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJzL0ludGVybmFsIENvbXBvbmVudHM=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_NAME "YWx0ZXJhX2VtaWZfZWNjX2NvcmU=" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_DISPLAY_NAME "RU1JRiBFcnJvciBDb3JyZWN0aW9uIENvZGUgKEVDQykgQ29tcG9uZW50" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_INTERNAL "On" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_VERSION "MTkuMQ==" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_DESCRIPTION "SW50ZWwgRXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZSBFcnJvciBDb3JyZWN0aW9uIENvZGUgKEVDQykgQ29tcG9uZW50" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJzL0ludGVybmFsIENvbXBvbmVudHM=" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_NAME "ZWRfc3ludGhfZW1pZl9mbV8wX2FsdGVyYV9lbWlmX2VjY18xOTFfejVseHpqcQ==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_DISPLAY_NAME "RU1JRiBFcnJvciBDb3JyZWN0aW9uIENvZGUgKEVDQykgQ29tcG9uZW50" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_INTERNAL "On" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_VERSION "MTkuMQ==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_DESCRIPTION "SW50ZWwgRXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZSBFcnJvciBDb3JyZWN0aW9uIENvZGUgKEVDQykgQ29tcG9uZW50" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJzL0ludGVybmFsIENvbXBvbmVudHM=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_NAME "ZWRfc3ludGhfZW1pZl9mbV8wX2FsdGVyYV9lbWlmX2ZtXzI3NF8yYmJpYXlx" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_DISPLAY_NAME "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgKEVNSUYpIElQ" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_VERSION "Mi43LjQ=" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_DESCRIPTION "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgSW50ZWwgRlBHQSBJUA==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJz" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL3Byb2R1Y3RzLw==" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_NAME "ZWRfc3ludGhfZW1pZl9mbV8w" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ed_synth_emif_fm_0" -library "ed_synth_emif_fm_0" -name IP_COMPONENT_VERSION "MS4w" + +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "TRUE DIFFERENTIAL SIGNALING" -to "pll_ref_clk" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "DIFFERENTIAL" -to "pll_ref_clk" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V" -to "oct_rzqin" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V SSTL" -to "mem_ck[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_ck[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_ck[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_ck[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V SSTL" -to "mem_ck_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_ck_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_ck_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_ck_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_a[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_a[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_a[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_a[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_act_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_act_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_act_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_act_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_ba[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_ba[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_ba[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_ba[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_ba[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_ba[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_ba[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_ba[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_bg[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_bg[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_bg[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_bg[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_bg[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_bg[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_bg[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_bg[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_cke[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_cke[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_cke[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_cke[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_cs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_cs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_cs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_cs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_odt[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_odt[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_odt[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_odt[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V" -to "mem_reset_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_reset_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "SSTL-12" -to "mem_par[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_par[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_par[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "OFF" -to "mem_par[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V" -to "mem_alert_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dqs[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "Differential 1.2-V POD" -to "mem_dqs_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dqs_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dqs_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dqs_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dqs_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[9]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[10]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[11]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[12]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[13]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[14]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[15]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[16]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[17]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[18]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[19]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[20]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[21]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[22]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[23]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[24]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[25]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[26]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[27]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[28]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[29]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[30]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[31]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[32]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[33]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[34]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[35]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[36]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[37]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[38]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[39]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[40]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[41]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[42]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[43]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[44]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[45]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[46]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[47]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[48]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[49]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[50]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[51]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[52]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[53]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[54]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[55]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[56]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[57]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[58]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[59]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[60]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[61]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[62]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[63]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[64]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[65]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[66]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[67]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[68]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[69]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[70]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dq[71]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[0]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[1]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[2]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[3]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[4]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[5]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[6]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[7]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IO_STANDARD "1.2-V POD" -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name OUTPUT_TERMINATION "SERIES 40 OHM WITH CALIBRATION" -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name INPUT_TERMINATION "PARALLEL 60 OHM WITH CALIBRATION" -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SLEW_RATE "2" -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PROGRAMMABLE_DEEMPHASIS "HIGH_LP" -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name PACKAGE_SKEW_COMPENSATION ON -to "mem_dbi_n[8]" +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name VREF_MODE "DDR4_CAL_RANGE2" -to "mem_dbi_n[8]" +set_instance_assignment -entity "fmiohmc_fifo" -library "altera_emif_ecc_fm_191" -name MESSAGE_DISABLE 14320 +set_instance_assignment -entity "fmiohmc_ecc" -library "altera_emif_ecc_fm_191" -name MESSAGE_DISABLE 10036 + +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_top.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_bufs.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufis.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_ufi_wrapper.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_i.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_se_o.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_i.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_df_o.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_udir_cp_i.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_df.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_bdir_se.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_buf_unused.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_cal_counter.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_fast_sim.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_pll_extra_clks.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_oct.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_core_clks_rsts.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hps_clks_rsts.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_local_reset.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles_wrap.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_tiles.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_io_lane_remap.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_avl_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_sideband_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_mmr_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_amm_data_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_phylite_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_hmc_ast_data_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_afi_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_seq_if.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_emif_arch_fm_regs.sv"] +set_global_assignment -library "altera_emif_arch_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/altera_std_synchronizer_nocut.v"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.dat"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_spice_files.zip"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_ip_parameters.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_utils.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_parameters.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_pin_map.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_io_timing.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_report_timing_core.tcl"] +set_instance_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name SDC_ENTITY_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy.sdc"] -no_sdc_promotion -no_auto_inst_discovery +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.hex"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_synth.txt"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_seq_params_sim.txt"] +set_global_assignment -library "altera_emif_arch_fm_191" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_arch_fm_191/synth/ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy_readme.txt"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/altera_emif_ecc_core.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/altera_emif_preload_ecc_encoder.sv"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_amm2ast.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_cb.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_112.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_altecc_decoder.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_decoder_64_decode.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_112.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_encoder_64_altecc_encoder.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_interface_fifo.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_mmr.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_pcm_112.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_sv_112.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_ecc_wrapper.v"] +set_global_assignment -library "altera_emif_ecc_fm_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_fm_191/synth/fmiohmc_fifo.v"] +set_global_assignment -library "altera_emif_ecc_191" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_ecc_191/synth/ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq.v"] +set_global_assignment -library "altera_emif_fm_274" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_fm_274/synth/ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq.v"] +set_global_assignment -library "ed_synth_emif_fm_0" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/ed_synth_emif_fm_0.v"] + + +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_TOOL_NAME "altera_emif_fm" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_TOOL_VERSION "2.7.4" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" -library "altera_emif_fm_274" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_TOOL_NAME "altera_emif_ecc" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_TOOL_VERSION "19.1" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" -library "altera_emif_ecc_191" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_TOOL_NAME "altera_emif_ecc_fm" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_TOOL_VERSION "19.1" +set_global_assignment -entity "altera_emif_ecc_core" -library "altera_emif_ecc_fm_191" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_TOOL_NAME "altera_emif_arch_fm" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_TOOL_VERSION "19.1" +set_global_assignment -entity "ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" -library "altera_emif_arch_fm_191" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.sopcinfo b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.sopcinfo new file mode 100644 index 0000000000..e01f3e7b97 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.sopcinfo @@ -0,0 +1,75083 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.Long + -1 + false + true + false + true + CLOCK_RATE + pll_ref_clk + + + java.lang.Integer + -1 + false + true + false + true + CLOCK_DOMAIN + pll_ref_clk + + + java.lang.Integer + -1 + false + true + false + true + RESET_DOMAIN + pll_ref_clk + + + java.lang.Long + -1 + false + true + false + true + CLOCK_RATE + emif_calbus_clk + + + java.lang.Integer + -1 + false + true + false + true + CLOCK_DOMAIN + emif_calbus_clk + + + java.lang.Integer + -1 + false + true + false + true + RESET_DOMAIN + emif_calbus_clk + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + EXTENDED + false + true + false + true + PART_TRAIT + DEVICE_TEMPERATURE_GRADE + + + java.lang.String + STANDARD_POWER + false + true + false + true + PART_TRAIT + DEVICE_POWER_MODEL + + + [Ljava.lang.String; + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + false + true + false + true + DEVICE_DIE_REVISIONS + + + java.lang.String + FAMILY_AGILEX + true + true + false + true + + + java.lang.String + 1 + false + true + false + true + PART_TRAIT + SUPPORTS_VID + + + java.lang.String + IO96A_REVB2 + false + true + false + true + PART_TRAIT + DEVICE_IOBANK_REVISION + + + java.lang.String + PROTOCOL_DDR4 + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + long + 50000000 + false + true + false + true + CLOCK_RATE + cal_debug_clk_clock_sink + + + java.lang.String + ed_synth_emif_fm_0_emif_fm_0 + false + true + false + true + UNIQUE_ID + + + java.lang.String + PROTOCOL_DDR4 + true + true + false + true + + + java.lang.String + E2V (ES3) - change device under 'View'->'Device Family' + true + true + true + true + + + java.lang.String + E2V + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + RATE_QUARTER + true + true + false + true + + + double + 1200.0 + true + true + false + true + + + double + 33.333 + true + true + false + true + + + double + 10.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + int + 240 + true + true + true + true + + + boolean + false + true + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + true + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + true + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + true + true + false + true + + + java.lang.String + IO_STD_POD_12 + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + false + true + true + true + + + int + 0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 1200.0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 1200.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 1200.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 1200.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 1200.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 1200.0 + false + true + true + true + + + boolean + false + false + true + true + true + + + double + 33.333 + false + true + true + true + + + double + 10.0 + false + true + true + true + + + java.lang.String + RATE_QUARTER + false + true + true + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + double + 33.333 + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + true + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + true + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + true + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + IO_STD_POD_12 + false + true + true + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + unset + false + true + true + true + + + java.lang.String + IN_OCT_60_CAL + false + true + true + true + + + boolean + true + false + true + true + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + false + true + true + true + + + java.lang.String + IO_STD_CMOS_12 + false + true + true + true + + + java.lang.String + IO_STD_SSTL_12 + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + true + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + true + true + false + true + + + java.lang.String + IO_STD_POD_12 + true + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + true + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + true + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + true + true + false + true + + + java.lang.String + IN_OCT_60_CAL + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 68.0 + true + true + true + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + true + true + false + true + + + java.lang.String + IO_STD_CMOS_12 + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 633.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 533.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.8 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + CONFIG_PHY_ONLY + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 800.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + boolean + true + true + true + false + true + + + double + 70.0 + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + unset + true + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + true + true + false + true + + + double + 23.0 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 8 + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 72 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 9 + true + true + false + true + + + java.lang.String + MEM_FORMAT_UDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + 0000000000000000 + false + true + false + true + + + java.lang.String + 000000000000000000 + false + true + false + true + + + java.lang.String + DDR3_ALERT_N_PLACEMENT_AC_LANES + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + boolean + false + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 72 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 3 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + DDR3_BL_BL8 + false + true + false + true + + + java.lang.String + DDR3_BT_SEQUENTIAL + false + true + false + true + + + java.lang.String + DDR3_ASR_MANUAL + false + true + false + true + + + java.lang.String + DDR3_SRT_NORMAL + false + true + false + true + + + java.lang.String + DDR3_PD_OFF + false + true + false + true + + + java.lang.String + DDR3_DRV_STR_RZQ_7 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR3_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR3_RTT_WR_RZQ_4 + false + true + false + true + + + int + 10 + false + true + false + true + + + java.lang.String + DDR3_ATCL_DISABLED + false + true + false + true + + + int + 14 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + DDR3_SPEEDBIN_2133 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 53 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 55 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 180 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 33.0 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 160.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 25.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 499 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 450 + true + true + false + true + + + int + 900 + true + true + false + true + + + int + 1200 + true + true + false + true + + + int + 36 + true + true + false + true + + + int + 14 + true + true + false + true + + + int + 14 + true + true + false + true + + + int + 171 + true + true + false + true + + + int + 16 + true + true + false + true + + + int + 27 + true + true + false + true + + + int + 8320 + true + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + false + true + true + true + + + int + 72 + false + true + true + true + + + int + 8 + false + true + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + int + 16 + false + true + true + true + + + int + 10 + false + true + true + true + + + int + 2 + false + true + true + true + + + int + 2 + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + false + true + true + true + + + int + 0 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + true + true + + + java.lang.String + DDR4_BL_BL8 + false + true + false + true + + + java.lang.String + DDR4_BT_SEQUENTIAL + false + true + false + true + + + int + 21 + false + true + true + true + + + java.lang.String + DDR4_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ATCL_DISABLED + false + true + true + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDR4_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 16 + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_FINE_REFRESH_FIXED_1X + false + true + true + true + + + java.lang.String + DDR4_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDR4_AC_PARITY_LATENCY_DISABLE + false + true + true + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + true + false + true + true + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + java.lang.String + DDR4_RCD_CA_IBT_100 + false + true + true + true + + + java.lang.String + DDR4_RCD_CS_IBT_100 + false + true + true + true + + + java.lang.String + DDR4_RCD_CKE_IBT_100 + false + true + true + true + + + java.lang.String + DDR4_RCD_ODT_IBT_100 + false + true + true + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 101 + false + true + true + true + + + int + 5 + false + true + true + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 37 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 9 + true + true + true + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + double + 68.0 + true + true + false + true + + + double + 70.0 + true + true + false + true + + + double + 70.0 + true + true + true + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_0 + true + true + false + true + + + java.lang.String + Range 1 - 60% to 92.5% + true + true + true + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + true + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + true + true + false + true + + + java.lang.String + DDR4_RTT_NOM_ODT_DISABLED + true + true + false + true + + + java.lang.String + DDR4_RTT_PARK_RZQ_4 + true + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + true + true + true + true + + + java.lang.String + Dynamic ODT off + true + true + true + true + + + java.lang.String + ODT Disabled + true + true + true + true + + + java.lang.String + RZQ/4 (60 Ohm) + true + true + true + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + true + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + true + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + true + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + true + true + false + true + + + java.lang.String + RTT_NOM disabled + true + true + false + true + + + java.lang.String + RZQ/3 (80 Ohm) + true + true + false + true + + + java.lang.String + RTT_PARK disabled + true + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 72 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 2164 + true + true + false + true + + + int + 65537 + true + true + false + true + + + int + 131112 + true + true + false + true + + + int + 197632 + true + true + false + true + + + int + 264192 + true + true + false + true + + + int + 332896 + true + true + false + true + + + int + 395279 + true + true + false + true + + + java.lang.String + 00000020000000003900000D40030B0F556000 + true + true + false + true + + + java.lang.String + + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 13 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + true + false + true + true + true + + + [Ljava.lang.String; + Rank 0 + false + false + true + true + + + [Ljava.lang.String; + off + false + true + true + true + + + [Ljava.lang.String; + Rank 0 + false + false + true + true + + + [Ljava.lang.String; + on + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + true + true + + + [Ljava.lang.String; + off,off + false + true + true + true + + + [Ljava.lang.String; + off,off + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + true + true + + + [Ljava.lang.String; + on,off + false + true + true + true + + + [Ljava.lang.String; + off,on + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + true + true + + + [Ljava.lang.String; + off,off,on,on + false + true + true + true + + + [Ljava.lang.String; + on,on,off,off + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + true + true + + + [Ljava.lang.String; + off,off,on,on + false + true + true + true + + + [Ljava.lang.String; + on,on,off,off + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + true + true + + + [Ljava.lang.String; + off,off,on,off + false + true + true + true + + + [Ljava.lang.String; + off,off,off,on + false + true + true + true + + + [Ljava.lang.String; + on,off,off,off + false + true + true + true + + + [Ljava.lang.String; + off,on,off,off + false + true + true + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + true + true + + + [Ljava.lang.String; + on,off,on,off + false + true + true + true + + + [Ljava.lang.String; + off,on,off,on + false + true + true + true + + + [Ljava.lang.String; + on,off,on,off + false + true + true + true + + + [Ljava.lang.String; + off,on,off,on + false + true + true + true + + + [Ljava.lang.String; + Rank 0,-,-,- + true + true + true + true + + + [Ljava.lang.String; + (Drive) RZQ/7 (34 Ohm),-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + [Ljava.lang.String; + Rank 0,-,-,- + true + true + true + true + + + [Ljava.lang.String; + (Park) RZQ/4 (60 Ohm),-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + -,-,-,- + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + DDR4_SPEEDBIN_2666 + false + true + true + true + + + int + 62 + false + true + true + true + + + int + 100 + false + true + true + true + + + int + 87 + false + true + true + true + + + int + 75 + false + true + true + true + + + double + 0.2 + false + true + true + true + + + int + 130 + false + true + true + true + + + double + 0.14 + false + true + true + true + + + double + 0.74 + false + true + true + true + + + double + 0.72 + false + true + true + true + + + int + 175 + false + true + true + true + + + double + 0.27 + false + true + true + true + + + double + 0.4 + false + true + true + true + + + double + 0.18 + false + true + true + true + + + double + 0.18 + false + true + true + true + + + double + 0.13 + false + true + true + true + + + double + 0.13 + false + true + true + true + + + int + 500 + false + true + true + true + + + int + 8 + false + true + true + true + + + double + 32.0 + false + true + true + true + + + double + 14.16 + false + true + true + true + + + double + 14.16 + false + true + true + true + + + double + 7.8 + false + true + true + true + + + double + 350.0 + false + true + true + true + + + double + 15.0 + false + true + true + true + + + int + 9 + false + true + true + true + + + int + 3 + false + true + true + true + + + double + 21.0 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 4 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 4 + false + true + true + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 600000 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 450 + true + true + false + true + + + int + 900 + true + true + false + true + + + int + 1200 + true + true + false + true + + + int + 39 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 420 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 26 + true + true + false + true + + + int + 9360 + true + true + false + true + + + int + 6 + true + true + false + true + + + int + 108 + true + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 19 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 36 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + QDR2_SPEEDBIN_633 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.09 + false + true + false + true + + + double + -0.09 + false + true + false + true + + + double + 0.08 + false + true + false + true + + + double + 0.71 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 21 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + MEM_XP + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 72 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 36 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + QDR4_SPEEDBIN_2133 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + -150 + false + true + false + true + + + int + 225 + false + true + false + true + + + int + 170 + false + true + false + true + + + int + 170 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + false + true + false + true + + + java.lang.String + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + false + true + false + true + + + java.lang.String + RLD2_ODT_ON + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + RLD2_SPEEDBIN_18 + false + true + false + true + + + double + 0.24 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + double + 0.9 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.12 + false + true + false + true + + + double + -0.12 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + -0.3 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 2 + false + true + false + true + + + java.lang.String + RLD3_DL_RL16_WL17 + false + true + false + true + + + java.lang.String + RLD3_TRC_9 + false + true + false + true + + + java.lang.String + RLD3_OUTPUT_DRIVE_40 + false + true + false + true + + + java.lang.String + RLD3_ODT_40 + false + true + false + true + + + java.lang.String + RLD3_AREF_BAC + false + true + false + true + + + java.lang.String + RLD3_WRITE_1BANK + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 36 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + RLD3_SPEEDBIN_093E + false + true + false + true + + + int + -30 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + -0.27 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 65 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 32 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 10 + true + true + false + true + + + int + 8 + true + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + LPDDR3_BL_BL8 + false + true + false + true + + + java.lang.String + LPDDR3_DL_RL12_WL6 + false + true + false + true + + + java.lang.String + LPDDR3_DRV_STR_40D_40U + false + true + false + true + + + java.lang.String + LPDDR3_DQODT_DISABLE + false + true + false + true + + + java.lang.String + LPDDR3_PDODT_DISABLED + false + true + false + true + + + java.lang.String + Set A + true + true + false + true + + + java.lang.String + LPDDR3_NWR_NWR12 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + on,on + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + on,on,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + LPDDR3_SPEEDBIN_1600 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 135 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 614 + false + true + false + true + + + double + 1.25 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 10 + false + true + false + true + + + double + 42.5 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 3.9 + false + true + false + true + + + double + 210.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 499 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 220 + true + true + false + true + + + int + 511 + true + true + false + true + + + int + 5500 + true + true + false + true + + + int + 34 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 17 + true + true + false + true + + + int + 168 + true + true + false + true + + + int + 12 + true + true + false + true + + + int + 40 + true + true + false + true + + + int + 3120 + true + true + false + true + + + int + 10 + true + true + false + true + + + int + 6 + true + true + false + true + + + java.lang.String + MEM_FORMAT_LRDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ALERT_N_PLACEMENT_AUTO + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_PWR_MODE_12W + false + true + false + true + + + java.lang.String + DDRT_BL_BL8 + false + true + false + true + + + java.lang.String + DDRT_BT_SEQUENTIAL + false + true + false + true + + + int + 15 + false + true + false + true + + + java.lang.String + DDRT_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ATCL_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDRT_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDRT_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 18 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_FINE_REFRESH_FIXED_1X + false + true + false + true + + + java.lang.String + DDRT_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDRT_AC_PARITY_LATENCY_DISABLE + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 6 + false + true + false + true + + + java.lang.String + DDRT_RCD_CA_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CS_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CKE_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_ODT_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_WR_RZQ_4 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 25 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + double + 56.0 + true + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + true + true + false + true + + + java.lang.String + Range 2 - 45% to 77.5% + true + true + false + true + + + int + 2 + true + true + false + true + + + int + -1 + true + true + false + true + + + int + -1 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 72 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + false + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + false + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + false + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + ,, + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + [Ljava.lang.String; + + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + DDRT_SPEEDBIN_2400 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 136 + false + true + false + true + + + double + 0.16 + false + true + false + true + + + double + 0.76 + false + true + false + true + + + double + 0.72 + false + true + false + true + + + int + 165 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 32.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 260.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 3 + false + true + false + true + + + double + 21.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 499 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 450 + true + true + false + true + + + int + 900 + true + true + false + true + + + int + 1200 + true + true + false + true + + + int + 36 + true + true + false + true + + + int + 14 + true + true + false + true + + + int + 14 + true + true + false + true + + + int + 171 + true + true + false + true + + + int + 18 + true + true + false + true + + + int + 9 + true + true + false + true + + + int + 27 + true + true + false + true + + + int + 8320 + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 109 + true + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 5.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.5 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + false + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 8.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.15 + true + true + false + true + + + double + 0.15 + true + true + false + true + + + double + 0.06 + true + true + false + true + + + double + 0.12 + true + true + false + true + + + double + 0.13 + true + true + false + true + + + double + 0.02 + true + true + false + true + + + double + 0.18 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 5.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.5 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 7.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 3.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 7.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 3.5 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 8.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 4.0 + true + true + false + true + + + double + 2.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 32 + false + false + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + true + false + true + true + true + + + int + 10 + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + true + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 2 + false + true + true + true + + + boolean + false + false + true + true + true + + + int + 1 + false + false + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + true + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 9 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 11 + true + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 128 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + POSTED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + COARSE + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + true + true + false + true + + + int + 512 + true + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + FAST_SIM_OVERRIDE_DEFAULT + false + true + false + true + + + java.lang.String + avl + false + true + false + true + + + java.lang.String + avl_release + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SOFT_NIOS_MODE_DISABLED + false + true + false + true + + + int + 100 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 57600 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + true + true + + + java.lang.String + auto + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + true + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + true + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + int + 5 + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + SHORT + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + true + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + false + true + true + + + boolean + true + false + true + true + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + false + true + true + + + boolean + true + false + false + true + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + false + true + true + + + java.lang.String + SHORT + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_JTAG + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + true + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + true + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + true + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + true + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_reset_req + Input + 1 + local_reset_req + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_reset_done + Output + 1 + local_reset_done + + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + pll_ref_clk + Input + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + pll_locked + Output + 1 + pll_locked + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + oct_rzqin + Input + 1 + oct_rzqin + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + mem_ck + Output + 1 + mem_ck + + + mem_ck_n + Output + 1 + mem_ck_n + + + mem_a + Output + 17 + mem_a + + + mem_act_n + Output + 1 + mem_act_n + + + mem_ba + Output + 2 + mem_ba + + + mem_bg + Output + 2 + mem_bg + + + mem_cke + Output + 1 + mem_cke + + + mem_cs_n + Output + 1 + mem_cs_n + + + mem_odt + Output + 1 + mem_odt + + + mem_reset_n + Output + 1 + mem_reset_n + + + mem_par + Output + 1 + mem_par + + + mem_alert_n + Input + 1 + mem_alert_n + + + mem_dqs + Bidir + 9 + mem_dqs + + + mem_dqs_n + Bidir + 9 + mem_dqs_n + + + mem_dq + Bidir + 72 + mem_dq + + + mem_dbi_n + Bidir + 9 + mem_dbi_n + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_cal_success + Output + 1 + local_cal_success + + + local_cal_fail + Output + 1 + local_cal_fail + + + + + + java.lang.String + emif_calbus_clk + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + calbus_read + Input + 1 + calbus_read + + + calbus_write + Input + 1 + calbus_write + + + calbus_address + Input + 20 + calbus_address + + + calbus_wdata + Input + 32 + calbus_wdata + + + calbus_rdata + Output + 32 + calbus_rdata + + + calbus_seq_param_tbl + Output + 4096 + calbus_seq_param_tbl + + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + calbus_clk + Input + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + [Ljava.lang.String; + none + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + NONE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + true + + emif_usr_reset_n + Output + 1 + reset_n + + + + + + java.lang.String + + false + true + true + true + + + long + 300000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + emif_usr_clk + Output + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + ctrl_ecc_user_interrupt_0 + Output + 1 + ctrl_ecc_user_interrupt + + + + + + embeddedsw.configuration.isFlash + 0 + + + embeddedsw.configuration.isMemoryDevice + 1 + + + embeddedsw.configuration.isNonVolatileStorage + 0 + + + embeddedsw.configuration.isPrintableDevice + 0 + + + com.altera.sopcmodel.avalon.AvalonConnectionPoint$AddressAlignment + DYNAMIC + false + true + false + true + + + int + 0 + false + true + true + true + + + java.math.BigInteger + 8589934592 + true + true + false + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + emif_usr_clk + false + true + true + true + + + java.lang.String + emif_usr_reset_n + false + true + true + true + + + int + 8 + false + true + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + com.altera.entityinterfaces.IConnectionPoint + + false + true + true + true + + + boolean + false + false + true + true + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.math.BigInteger + 0 + false + true + true + true + + + int + 0 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 64 + false + true + true + true + + + int + 0 + false + false + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + false + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + false + true + true + + + com.altera.sopcmodel.avalon.TimingUnits + Cycles + false + false + true + true + + + boolean + false + false + true + true + true + + + int + 0 + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + false + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 35 + false + true + true + true + + + java.lang.Integer + 3 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon + 8589934592 + false + + amm_ready_0 + Output + 1 + waitrequest_n + + + amm_read_0 + Input + 1 + read + + + amm_write_0 + Input + 1 + write + + + amm_address_0 + Input + 27 + address + + + amm_readdata_0 + Output + 512 + readdata + + + amm_writedata_0 + Input + 512 + writedata + + + amm_burstcount_0 + Input + 7 + burstcount + + + amm_byteenable_0 + Input + 64 + byteenable + + + amm_readdatavalid_0 + Output + 1 + readdatavalid + + + + + + + java.lang.String + Agilex 7 + false + true + false + true + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + + + java.lang.String + 2 + false + true + false + true + + + java.lang.String + EXTENDED + false + true + false + true + + + java.lang.String + STANDARD_POWER + false + true + false + true + + + [Ljava.lang.String; + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + false + true + false + true + + + java.lang.String + FAMILY_AGILEX + false + true + false + true + + + java.lang.String + 1 + false + true + false + true + + + java.lang.String + IO96A_REVB2 + false + true + false + true + + + java.lang.String + PROTOCOL_DDR4 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + long + 50000000 + false + true + false + true + + + java.lang.String + ed_synth_emif_fm_0_emif_fm_0 + false + true + false + true + + + java.lang.String + PROTOCOL_DDR4 + false + true + false + true + + + java.lang.String + E2V (ES3) - change device under 'View'->'Device Family' + false + true + false + true + + + java.lang.String + E2V + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 33.333 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 240 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 33.333 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 33.333 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IN_OCT_60_CAL + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + false + true + false + true + + + java.lang.String + IO_STD_CMOS_12 + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + false + true + false + true + + + java.lang.String + IN_OCT_60_CAL + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 68.0 + false + true + false + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + false + true + false + true + + + java.lang.String + IO_STD_CMOS_12 + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 633.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 533.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.8 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_ONLY + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 800.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + false + true + false + true + + + double + 23.0 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + java.lang.String + MEM_FORMAT_UDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + 0000000000000000 + false + true + false + true + + + java.lang.String + 000000000000000000 + false + true + false + true + + + java.lang.String + DDR3_ALERT_N_PLACEMENT_AC_LANES + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR3_BL_BL8 + false + true + false + true + + + java.lang.String + DDR3_BT_SEQUENTIAL + false + true + false + true + + + java.lang.String + DDR3_ASR_MANUAL + false + true + false + true + + + java.lang.String + DDR3_SRT_NORMAL + false + true + false + true + + + java.lang.String + DDR3_PD_OFF + false + true + false + true + + + java.lang.String + DDR3_DRV_STR_RZQ_7 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR3_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR3_RTT_WR_RZQ_4 + false + true + false + true + + + int + 10 + false + true + false + true + + + java.lang.String + DDR3_ATCL_DISABLED + false + true + false + true + + + int + 14 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR3_SPEEDBIN_2133 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 53 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 55 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 180 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 33.0 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 160.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 25.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 171 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 27 + false + true + false + true + + + int + 8320 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_BL_BL8 + false + true + false + true + + + java.lang.String + DDR4_BT_SEQUENTIAL + false + true + false + true + + + int + 21 + false + true + false + true + + + java.lang.String + DDR4_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ATCL_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDR4_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 16 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_FINE_REFRESH_FIXED_1X + false + true + false + true + + + java.lang.String + DDR4_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDR4_AC_PARITY_LATENCY_DISABLE + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + java.lang.String + DDR4_RCD_CA_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_CS_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_CKE_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_ODT_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 101 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 37 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + double + 68.0 + false + true + false + true + + + double + 70.0 + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_0 + false + true + false + true + + + java.lang.String + Range 1 - 60% to 92.5% + false + true + false + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_RTT_PARK_RZQ_4 + false + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + false + true + false + true + + + java.lang.String + Dynamic ODT off + false + true + false + true + + + java.lang.String + ODT Disabled + false + true + false + true + + + java.lang.String + RZQ/4 (60 Ohm) + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + RTT_NOM disabled + false + true + false + true + + + java.lang.String + RZQ/3 (80 Ohm) + false + true + false + true + + + java.lang.String + RTT_PARK disabled + false + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2164 + false + true + false + true + + + int + 65537 + false + true + false + true + + + int + 131112 + false + true + false + true + + + int + 197632 + false + true + false + true + + + int + 264192 + false + true + false + true + + + int + 332896 + false + true + false + true + + + int + 395279 + false + true + false + true + + + java.lang.String + 00000020000000003900000D40030B0F556000 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 13 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,-,-,- + false + true + false + true + + + [Ljava.lang.String; + (Drive) RZQ/7 (34 Ohm),-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + Rank 0,-,-,- + false + true + false + true + + + [Ljava.lang.String; + (Park) RZQ/4 (60 Ohm),-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR4_SPEEDBIN_2666 + false + true + false + true + + + int + 62 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 87 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 130 + false + true + false + true + + + double + 0.14 + false + true + false + true + + + double + 0.74 + false + true + false + true + + + double + 0.72 + false + true + false + true + + + int + 175 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 32.0 + false + true + false + true + + + double + 14.16 + false + true + false + true + + + double + 14.16 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 350.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 3 + false + true + false + true + + + double + 21.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 600000 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 420 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 26 + false + true + false + true + + + int + 9360 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 108 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 19 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + QDR2_SPEEDBIN_633 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.09 + false + true + false + true + + + double + -0.09 + false + true + false + true + + + double + 0.08 + false + true + false + true + + + double + 0.71 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 21 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + MEM_XP + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + QDR4_SPEEDBIN_2133 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + -150 + false + true + false + true + + + int + 225 + false + true + false + true + + + int + 170 + false + true + false + true + + + int + 170 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + false + true + false + true + + + java.lang.String + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + false + true + false + true + + + java.lang.String + RLD2_ODT_ON + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + RLD2_SPEEDBIN_18 + false + true + false + true + + + double + 0.24 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + double + 0.9 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.12 + false + true + false + true + + + double + -0.12 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + -0.3 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 2 + false + true + false + true + + + java.lang.String + RLD3_DL_RL16_WL17 + false + true + false + true + + + java.lang.String + RLD3_TRC_9 + false + true + false + true + + + java.lang.String + RLD3_OUTPUT_DRIVE_40 + false + true + false + true + + + java.lang.String + RLD3_ODT_40 + false + true + false + true + + + java.lang.String + RLD3_AREF_BAC + false + true + false + true + + + java.lang.String + RLD3_WRITE_1BANK + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + RLD3_SPEEDBIN_093E + false + true + false + true + + + int + -30 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + -0.27 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 65 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 32 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 8 + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + LPDDR3_BL_BL8 + false + true + false + true + + + java.lang.String + LPDDR3_DL_RL12_WL6 + false + true + false + true + + + java.lang.String + LPDDR3_DRV_STR_40D_40U + false + true + false + true + + + java.lang.String + LPDDR3_DQODT_DISABLE + false + true + false + true + + + java.lang.String + LPDDR3_PDODT_DISABLED + false + true + false + true + + + java.lang.String + Set A + false + true + false + true + + + java.lang.String + LPDDR3_NWR_NWR12 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,on + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,on,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + LPDDR3_SPEEDBIN_1600 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 135 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 614 + false + true + false + true + + + double + 1.25 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 10 + false + true + false + true + + + double + 42.5 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 3.9 + false + true + false + true + + + double + 210.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 220 + false + true + false + true + + + int + 511 + false + true + false + true + + + int + 5500 + false + true + false + true + + + int + 34 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 168 + false + true + false + true + + + int + 12 + false + true + false + true + + + int + 40 + false + true + false + true + + + int + 3120 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 6 + false + true + false + true + + + java.lang.String + MEM_FORMAT_LRDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ALERT_N_PLACEMENT_AUTO + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_PWR_MODE_12W + false + true + false + true + + + java.lang.String + DDRT_BL_BL8 + false + true + false + true + + + java.lang.String + DDRT_BT_SEQUENTIAL + false + true + false + true + + + int + 15 + false + true + false + true + + + java.lang.String + DDRT_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ATCL_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDRT_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDRT_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 18 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_FINE_REFRESH_FIXED_1X + false + true + false + true + + + java.lang.String + DDRT_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDRT_AC_PARITY_LATENCY_DISABLE + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 6 + false + true + false + true + + + java.lang.String + DDRT_RCD_CA_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CS_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CKE_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_ODT_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_WR_RZQ_4 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 25 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + java.lang.String + Range 2 - 45% to 77.5% + false + true + false + true + + + int + 2 + false + true + false + true + + + int + -1 + false + true + false + true + + + int + -1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDRT_SPEEDBIN_2400 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 136 + false + true + false + true + + + double + 0.16 + false + true + false + true + + + double + 0.76 + false + true + false + true + + + double + 0.72 + false + true + false + true + + + int + 165 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 32.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 260.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 3 + false + true + false + true + + + double + 21.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 171 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 27 + false + true + false + true + + + int + 8320 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 109 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.15 + false + true + false + true + + + double + 0.15 + false + true + false + true + + + double + 0.06 + false + true + false + true + + + double + 0.12 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 7.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 3.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 7.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 3.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 11 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 128 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + POSTED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + COARSE + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 512 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + FAST_SIM_OVERRIDE_DEFAULT + false + true + false + true + + + java.lang.String + avl + false + true + false + true + + + java.lang.String + avl_release + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SOFT_NIOS_MODE_DISABLED + false + true + false + true + + + int + 100 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 57600 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + auto + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_JTAG + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + 14nm5 + true + true + true + true + + + boolean + false + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 20 + true + true + true + true + + + boolean + false + true + true + true + true + + + boolean + true + true + true + true + true + + + java.lang.String + DQS_BUS_MODE_X8_X9 + true + true + true + true + + + java.lang.String + use_0_1_2_3_lane + true + true + true + true + + + int + 1 + true + true + true + true + + + java.lang.String + CTRL_AVL_PROTOCOL_ST + true + true + true + true + + + int + 2 + true + true + true + true + + + java.lang.String + dimm_type_rdimm + true + true + true + true + + + java.lang.String + 00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d00c08100b0000000000000000000005066008000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000 + true + true + true + true + + + java.lang.String + 00024c400000000000000201000927c001121708480909010102110902000101051401000904043400000000000000000d20e08100b0000000000000000000005077d58000c4070c017000d80000012300001e780000015e00000000000000081c14040c0b0a0908030201001312111000000018000000060000000400020301000000002b2a290012111000161514131a1918172524231b0000272600380b0000000908000000003424140474645444251505846555453516068575564636260086766608030201100b0a0918131211201b1a1928232221302b2a2938333231403b3a3948434241504b4a4958535251605b5a5968636261706b6a6978737271807b7a7988838281008b8a890000087400010001000200280003040000040800000514600006080f0f5560000d40030b003900002000000000000000 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 757373805 + true + true + true + true + + + int + 365 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 1073217407 + true + true + true + true + + + int + 763355133 + true + true + true + true + + + int + 15699967 + true + true + true + true + + + int + 1040179140 + true + true + true + true + + + int + 1073217407 + true + true + true + true + + + int + 61 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 20058385 + true + true + true + true + + + int + 71582788 + true + true + true + true + + + int + 286266145 + true + true + true + true + + + int + 209994820 + true + true + true + true + + + int + 286331137 + true + true + true + true + + + int + 67422276 + true + true + true + true + + + int + 71581969 + true + true + true + true + + + int + 269828353 + true + true + true + true + + + int + 71582788 + true + true + true + true + + + int + 69905 + true + true + true + true + + + int + 67388484 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 285213696 + true + true + true + true + + + int + 67422276 + true + true + true + true + + + int + 554766609 + true + true + true + true + + + int + 71581772 + true + true + true + true + + + int + 20058385 + true + true + true + true + + + int + 71582788 + true + true + true + true + + + int + 286266145 + true + true + true + true + + + int + 209994820 + true + true + true + true + + + int + 1118465 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 52 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 561774592 + true + true + true + true + + + int + 15699967 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 1041269793 + true + true + true + true + + + int + 66230241 + true + true + true + true + + + int + 34636833 + true + true + true + true + + + int + 34636833 + true + true + true + true + + + int + 34668543 + true + true + true + true + + + int + 34667553 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073730559 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 275876963 + true + true + true + true + + + int + 103911395 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 1073741823 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 64 + true + true + true + true + + + int + 151515721 + true + true + true + true + + + int + 33329737 + true + true + true + true + + + int + 1059361353 + true + true + true + true + + + int + 153391681 + true + true + true + true + + + int + 153391231 + true + true + true + true + + + int + 150736969 + true + true + true + true + + + int + 153391689 + true + true + true + true + + + int + 153387017 + true + true + true + true + + + int + 584 + true + true + true + true + + + int + 153354304 + true + true + true + true + + + int + 153391231 + true + true + true + true + + + int + 153362377 + true + true + true + true + + + int + 151515721 + true + true + true + true + + + int + 33329737 + true + true + true + true + + + int + 1059361353 + true + true + true + true + + + int + 37441 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 39 + true + true + true + true + + + int + 267714383 + true + true + true + true + + + int + 250877 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1027593152 + true + true + true + true + + + int + 267714383 + true + true + true + true + + + int + 61 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 1073217407 + true + true + true + true + + + int + 253949 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1040179136 + true + true + true + true + + + int + 1073217407 + true + true + true + true + + + int + 61 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 805503024 + true + true + true + true + + + int + 201329664 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 12585984 + true + true + true + true + + + int + 805503024 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 199425087 + true + true + true + true + + + int + 196276413 + true + true + true + true + + + int + 193127610 + true + true + true + true + + + int + 189978807 + true + true + true + true + + + int + 186830004 + true + true + true + true + + + int + 183681201 + true + true + true + true + + + int + 180532398 + true + true + true + true + + + int + 177383595 + true + true + true + true + + + int + 174234792 + true + true + true + true + + + int + 171085989 + true + true + true + true + + + int + 167937186 + true + true + true + true + + + int + 164788383 + true + true + true + true + + + int + 145906844 + true + true + true + true + + + int + 108121215 + true + true + true + true + + + int + 97613919 + true + true + true + true + + + int + 93415515 + true + true + true + true + + + int + 90266712 + true + true + true + true + + + int + 83972181 + true + true + true + true + + + int + 75572298 + true + true + true + true + + + int + 55630906 + true + true + true + true + + + int + 19954731 + true + true + true + true + + + int + 7 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 129 + true + true + true + true + + + int + 14695431 + true + true + true + true + + + int + 6298637 + true + true + true + true + + + int + 4101 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 11 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 286335522 + true + true + true + true + + + int + 821384 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 286331153 + true + true + true + true + + + int + 17476 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 858993459 + true + true + true + true + + + int + 838860 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 542119940 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 676600325 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 403177984 + true + true + true + true + + + int + 168067584 + true + true + true + true + + + int + 35717208 + true + true + true + true + + + int + 140518930 + true + true + true + true + + + int + 886403 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 10 + true + true + true + true + + + java.lang.String + preamble_one_cycle + true + true + true + true + + + java.lang.String + dbi_wr_dis + true + true + true + true + + + java.lang.String + dbi_rd_ena + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + packed + true + true + true + true + + + int + 3 + true + true + true + true + + + java.lang.String + dqs_diff_in_1_a + true + true + true + true + + + java.lang.String + dqs_constant_b + true + true + true + true + + + int + 52 + true + true + true + true + + + java.lang.String + dll_ctl_dynamic + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + boolean + false + true + true + true + true + + + boolean + false + true + true + true + true + + + boolean + false + true + true + true + true + + + java.lang.String + on + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + local_p_clk + true + true + true + true + + + boolean + false + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + java.lang.String + pin_ufi_use_in_direct_out_direct + true + true + true + true + + + int + 350 + true + true + true + true + + + int + 350 + true + true + true + true + + + int + 350 + true + true + true + true + + + int + 350 + true + true + true + true + + + int + 350 + true + true + true + true + + + int + 350 + true + true + true + true + + + java.lang.String + pingpong_off + true + true + true + true + + + java.lang.String + cs_width_0 + true + true + true + true + + + java.lang.String + col_width_10 + true + true + true + true + + + java.lang.String + row_width_16 + true + true + true + true + + + java.lang.String + bank_width_2 + true + true + true + true + + + java.lang.String + bank_group_width_2 + true + true + true + true + + + java.lang.String + addr_order_cs_row_ba_col + true + true + true + true + + + java.lang.String + arbiter_type_2t + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + java.lang.String + ctrl_disable + true + true + true + true + + + java.lang.String + dbc0_disable + true + true + true + true + + + java.lang.String + dbc1_disable + true + true + true + true + + + java.lang.String + dbc2_disable + true + true + true + true + + + java.lang.String + dbc3_disable + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + -1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 33825 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 7 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 52 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 26 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 15 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 21 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 28 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 20 + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 4681 + true + true + true + true + + + int + 211 + true + true + true + true + + + int + 16 + true + true + true + true + + + int + 16 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 768 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 14 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 197632 + true + true + true + true + + + int + 264192 + true + true + true + true + + + int + 5216 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 513 + true + true + true + true + + + int + 385 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 28 + true + true + true + true + + + int + 20 + true + true + true + true + + + int + 19 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 15 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 257 + true + true + true + true + + + int + 127 + true + true + true + true + + + int + 273 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 1 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 1 + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + java.lang.String + pingpong_off + true + true + true + true + + + java.lang.String + cs_width_0 + true + true + true + true + + + java.lang.String + col_width_10 + true + true + true + true + + + java.lang.String + row_width_16 + true + true + true + true + + + java.lang.String + bank_width_2 + true + true + true + true + + + java.lang.String + bank_group_width_2 + true + true + true + true + + + java.lang.String + addr_order_cs_row_ba_col + true + true + true + true + + + java.lang.String + arbiter_type_2t + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + java.lang.String + ctrl_disable + true + true + true + true + + + java.lang.String + dbc0_disable + true + true + true + true + + + java.lang.String + dbc1_disable + true + true + true + true + + + java.lang.String + dbc2_disable + true + true + true + true + + + java.lang.String + dbc3_disable + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + -1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 33825 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 7 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 52 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 26 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 15 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 21 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 28 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 20 + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 4681 + true + true + true + true + + + int + 211 + true + true + true + true + + + int + 16 + true + true + true + true + + + int + 16 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 768 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 14 + true + true + true + true + + + int + 5 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 197632 + true + true + true + true + + + int + 264192 + true + true + true + true + + + int + 5216 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 513 + true + true + true + true + + + int + 385 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 28 + true + true + true + true + + + int + 20 + true + true + true + true + + + int + 19 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 15 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 257 + true + true + true + true + + + int + 127 + true + true + true + true + + + int + 273 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 1 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + disable + true + true + true + true + + + int + 1 + true + true + true + true + + + java.lang.String + enable + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 16 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 57345 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 58369 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 64024593 + true + true + true + true + + + int + 67173438 + true + true + true + true + + + int + 70322241 + true + true + true + true + + + int + 73471044 + true + true + true + true + + + int + 79768647 + true + true + true + true + + + int + 82917453 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 86066178 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 50416642 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 55297 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 51201 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 53249 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 50177 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 52225 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 60417 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 17 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 49 + true + true + true + true + + + int + 72 + true + true + true + true + + + int + 1048648 + true + true + true + true + + + int + 8391682 + true + true + true + true + + + int + 11544585 + true + true + true + true + + + int + 14693388 + true + true + true + true + + + int + 22040591 + true + true + true + true + + + int + 25189398 + true + true + true + true + + + int + 28338201 + true + true + true + true + + + int + 35685408 + true + true + true + true + + + int + 38834211 + true + true + true + true + + + int + 46177318 + true + true + true + true + + + int + 49330221 + true + true + true + true + + + int + 102859872 + true + true + true + true + + + int + 110207075 + true + true + true + true + + + int + 113355882 + true + true + true + true + + + int + 116504685 + true + true + true + true + + + int + 123851892 + true + true + true + true + + + int + 127000695 + true + true + true + true + + + int + 134343802 + true + true + true + true + + + int + 137496705 + true + true + true + true + + + int + 140645508 + true + true + true + true + + + int + 147992711 + true + true + true + true + + + int + 151141518 + true + true + true + true + + + int + 154290321 + true + true + true + true + + + int + 161637528 + true + true + true + true + + + int + 155 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 49 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 18880521 + true + true + true + true + + + int + 106997790 + true + true + true + true + + + int + 144832626 + true + true + true + true + + + int + 150 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 7 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 49 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 49 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 49 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 16781321 + true + true + true + true + + + int + 104898588 + true + true + true + true + + + int + 142733424 + true + true + true + true + + + int + 148 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 17830921 + true + true + true + true + + + int + 105948189 + true + true + true + true + + + int + 143783025 + true + true + true + true + + + int + 149 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 94209 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 6 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 61 + true + true + true + true + + + int + 648 + true + true + true + true + + + int + 576 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 16 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 15 + true + true + true + true + + + int + 13 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 12 + true + true + true + true + + + int + 10 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 4096 + true + true + true + true + + + int + 4096 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 9 + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 8 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 3 + true + true + true + true + + + int + 4 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 20 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 32 + true + true + true + true + + + int + 4096 + true + true + true + true + + + int + 1200 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 834 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + 834 ps + true + true + true + true + + + java.lang.String + 1200 MHz + true + true + true + true + + + java.lang.String + 30024 ps + true + true + true + true + + + java.lang.String + 33.333 MHz + true + true + true + true + + + int + 30024 + true + true + true + true + + + int + 840 + true + true + true + true + + + int + 1680 + true + true + true + true + + + int + 3360 + true + true + true + true + + + int + 3360 + true + true + true + true + + + int + 0 + true + true + true + true + + + int + 18 + true + true + true + true + + + int + 18 + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 256 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + pll_fbclk_mux_1_glb + true + true + true + true + + + java.lang.String + pll_fbclk_mux_2_m_cnt + true + true + true + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + true + true + + + java.lang.String + pll_cp_setting12 + true + true + true + true + + + java.lang.String + pll_bw_res_setting4 + true + true + true + true + + + java.lang.String + high + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 3336 ps + true + true + true + true + + + java.lang.String + 300.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 1668 ps + true + true + true + true + + + java.lang.String + 600.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 3336 ps + true + true + true + true + + + java.lang.String + 300.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 1668 ps + true + true + true + true + + + java.lang.String + 600.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 2 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 3336 ps + true + true + true + true + + + java.lang.String + 300.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + java.lang.String + 0.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + java.lang.String + 0.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + java.lang.String + 0.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 256 + true + true + true + true + + + int + 1 + true + true + true + true + + + int + 0 + true + true + true + true + + + java.lang.String + true + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + java.lang.String + 0.0 MHz + true + true + true + true + + + java.lang.String + 0 ps + true + true + true + true + + + int + 50 + true + true + true + true + + + java.lang.String + false + true + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_reset_req + Input + 1 + local_reset_req + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_reset_done + Output + 1 + local_reset_done + + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + pll_ref_clk + Input + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + pll_locked + Output + 1 + pll_locked + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + oct_rzqin + Input + 1 + oct_rzqin + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + mem_ck + Output + 1 + mem_ck + + + mem_ck_n + Output + 1 + mem_ck_n + + + mem_a + Output + 17 + mem_a + + + mem_act_n + Output + 1 + mem_act_n + + + mem_ba + Output + 2 + mem_ba + + + mem_bg + Output + 2 + mem_bg + + + mem_cke + Output + 1 + mem_cke + + + mem_cs_n + Output + 1 + mem_cs_n + + + mem_odt + Output + 1 + mem_odt + + + mem_reset_n + Output + 1 + mem_reset_n + + + mem_par + Output + 1 + mem_par + + + mem_alert_n + Input + 1 + mem_alert_n + + + mem_dqs + Bidir + 9 + mem_dqs + + + mem_dqs_n + Bidir + 9 + mem_dqs_n + + + mem_dq + Bidir + 72 + mem_dq + + + mem_dbi_n + Bidir + 9 + mem_dbi_n + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + local_cal_success + Output + 1 + local_cal_success + + + local_cal_fail + Output + 1 + local_cal_fail + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + [Ljava.lang.String; + none + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + NONE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + true + + emif_usr_reset_n + Output + 1 + reset_n + + + + + + java.lang.String + + false + true + true + true + + + long + 300000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + emif_usr_clk + Output + 1 + clk + + + false + emif_fm_0_ecc_core + emif_usr_clk_in + emif_fm_0_ecc_core.emif_usr_clk_in + + + + + + java.lang.String + emif_usr_clk + false + true + false + true + + + java.lang.String + emif_usr_reset_n + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + false + + ast_cmd_valid_0 + Input + 1 + valid + + + ast_cmd_ready_0 + Output + 1 + ready + + + ast_cmd_data_0 + Input + 61 + data + + + + + + java.lang.String + emif_usr_clk + false + true + false + true + + + java.lang.String + emif_usr_reset_n + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 648 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + false + + ast_wr_valid_0 + Input + 1 + valid + + + ast_wr_ready_0 + Output + 1 + ready + + + ast_wr_data_0 + Input + 648 + data + + + + + + java.lang.String + emif_usr_clk + false + true + false + true + + + java.lang.String + emif_usr_reset_n + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 576 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + true + + ast_rd_valid_0 + Output + 1 + valid + + + ast_rd_ready_0 + Input + 1 + ready + + + ast_rd_data_0 + Output + 576 + data + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + ctrl_ecc_write_info_0 + Input + 15 + ctrl_ecc_write_info + + + ctrl_ecc_rdata_id_0 + Output + 13 + ctrl_ecc_rdata_id + + + ctrl_ecc_read_info_0 + Output + 3 + ctrl_ecc_read_info + + + ctrl_ecc_cmd_info_0 + Output + 3 + ctrl_ecc_cmd_info + + + ctrl_ecc_idle_0 + Output + 1 + ctrl_ecc_idle + + + ctrl_ecc_wr_pointer_info_0 + Output + 12 + ctrl_ecc_wr_pointer_info + + + + + + java.lang.String + emif_calbus_clk + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + calbus_read + Input + 1 + calbus_read + + + calbus_write + Input + 1 + calbus_write + + + calbus_address + Input + 20 + calbus_address + + + calbus_wdata + Input + 32 + calbus_wdata + + + calbus_rdata + Output + 32 + calbus_rdata + + + calbus_seq_param_tbl + Output + 4096 + calbus_seq_param_tbl + + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + calbus_clk + Input + 1 + clk + + + + + + + java.lang.String + Agilex 7 + false + true + false + true + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + + + java.lang.String + 2 + false + true + false + true + + + java.lang.String + EXTENDED + false + true + false + true + + + java.lang.String + STANDARD_POWER + false + true + false + true + + + [Ljava.lang.String; + HSSI_WHR_REVA,HSSI_CRETE3_REVA,MAIN_FM6_REVB + false + true + false + true + + + java.lang.String + FAMILY_AGILEX + false + true + false + true + + + java.lang.String + 1 + false + true + false + true + + + java.lang.String + IO96A_REVB2 + false + true + false + true + + + java.lang.String + PROTOCOL_DDR4 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + long + 50000000 + false + true + false + true + + + java.lang.String + ed_synth_emif_fm_0_emif_fm_0 + false + true + false + true + + + java.lang.String + PROTOCOL_DDR4 + false + true + false + true + + + java.lang.String + E2V (ES3) - change device under 'View'->'Device Family' + false + true + false + true + + + java.lang.String + E2V + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 33.333 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 240 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + ps + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 33.333 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 33.333 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + IN_OCT_60_CAL + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + false + true + false + true + + + java.lang.String + IO_STD_CMOS_12 + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + IO_STD_SSTL_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_OFF + false + true + false + true + + + java.lang.String + IO_STD_POD_12 + false + true + false + true + + + java.lang.String + OUT_OCT_40_CAL + false + true + false + true + + + java.lang.String + SLEW_RATE_FM_FAST + false + true + false + true + + + java.lang.String + DEEMPHASIS_MODE_HIGH + false + true + false + true + + + java.lang.String + IN_OCT_60_CAL + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 68.0 + false + true + false + true + + + java.lang.String + IO_STD_TRUE_DIFF_SIGNALING + false + true + false + true + + + java.lang.String + IO_STD_CMOS_12 + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 633.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 533.333 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_HALF + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.8 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_ONLY + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1066.667 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_HARD_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 800.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + CONFIG_PHY_AND_SOFT_CTRL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1200.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + -1.0 + false + true + false + true + + + double + 10.0 + false + true + false + true + + + java.lang.String + RATE_QUARTER + false + true + false + true + + + java.lang.String + CORE_CLKS_SHARING_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 1.2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + PERIODIC_OCT_RECAL_AUTO + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + double + -1.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + unset + false + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + false + true + false + true + + + double + 23.0 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + java.lang.String + MEM_FORMAT_UDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + 0000000000000000 + false + true + false + true + + + java.lang.String + 000000000000000000 + false + true + false + true + + + java.lang.String + DDR3_ALERT_N_PLACEMENT_AC_LANES + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR3_BL_BL8 + false + true + false + true + + + java.lang.String + DDR3_BT_SEQUENTIAL + false + true + false + true + + + java.lang.String + DDR3_ASR_MANUAL + false + true + false + true + + + java.lang.String + DDR3_SRT_NORMAL + false + true + false + true + + + java.lang.String + DDR3_PD_OFF + false + true + false + true + + + java.lang.String + DDR3_DRV_STR_RZQ_7 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR3_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR3_RTT_WR_RZQ_4 + false + true + false + true + + + int + 10 + false + true + false + true + + + java.lang.String + DDR3_ATCL_DISABLED + false + true + false + true + + + int + 14 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR3_SPEEDBIN_2133 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 53 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 55 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 180 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 125.0 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 33.0 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 13.09 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 160.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 25.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 171 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 27 + false + true + false + true + + + int + 8320 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_RDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ALERT_N_PLACEMENT_FM_LANE3 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_BL_BL8 + false + true + false + true + + + java.lang.String + DDR4_BT_SEQUENTIAL + false + true + false + true + + + int + 21 + false + true + false + true + + + java.lang.String + DDR4_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_ATCL_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDR4_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 16 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_FINE_REFRESH_FIXED_1X + false + true + false + true + + + java.lang.String + DDR4_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDR4_AC_PARITY_LATENCY_DISABLE + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDR4_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + java.lang.String + DDR4_RCD_CA_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_CS_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_CKE_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_RCD_ODT_IBT_100 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 101 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 37 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + double + 68.0 + false + true + false + true + + + double + 70.0 + false + true + false + true + + + double + 70.0 + false + true + false + true + + + java.lang.String + DDR4_VREFDQ_TRAINING_RANGE_0 + false + true + false + true + + + java.lang.String + Range 1 - 60% to 92.5% + false + true + false + true + + + java.lang.String + DDR4_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDR4_RTT_WR_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_RTT_PARK_RZQ_4 + false + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + false + true + false + true + + + java.lang.String + Dynamic ODT off + false + true + false + true + + + java.lang.String + ODT Disabled + false + true + false + true + + + java.lang.String + RZQ/4 (60 Ohm) + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_WR_RZQ_3 + false + true + false + true + + + java.lang.String + DDR4_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDR4_DB_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + RTT_NOM disabled + false + true + false + true + + + java.lang.String + RZQ/3 (80 Ohm) + false + true + false + true + + + java.lang.String + RTT_PARK disabled + false + true + false + true + + + java.lang.String + RZQ/7 (34 Ohm) + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2164 + false + true + false + true + + + int + 65537 + false + true + false + true + + + int + 131112 + false + true + false + true + + + int + 197632 + false + true + false + true + + + int + 264192 + false + true + false + true + + + int + 332896 + false + true + false + true + + + int + 395279 + false + true + false + true + + + java.lang.String + 00000020000000003900000D40030B0F556000 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 13 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + on,off,on,off + false + true + false + true + + + [Ljava.lang.String; + off,on,off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,-,-,- + false + true + false + true + + + [Ljava.lang.String; + (Drive) RZQ/7 (34 Ohm),-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + Rank 0,-,-,- + false + true + false + true + + + [Ljava.lang.String; + (Park) RZQ/4 (60 Ohm),-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + -,-,-,- + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDR4_SPEEDBIN_2666 + false + true + false + true + + + int + 62 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 87 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 130 + false + true + false + true + + + double + 0.14 + false + true + false + true + + + double + 0.74 + false + true + false + true + + + double + 0.72 + false + true + false + true + + + int + 175 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 32.0 + false + true + false + true + + + double + 14.16 + false + true + false + true + + + double + 14.16 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 350.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 3 + false + true + false + true + + + double + 21.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 600000 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 420 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 26 + false + true + false + true + + + int + 9360 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 108 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 19 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + QDR2_SPEEDBIN_633 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.23 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.09 + false + true + false + true + + + double + -0.09 + false + true + false + true + + + double + 0.08 + false + true + false + true + + + double + 0.71 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 21 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_ODT_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + QDR4_OUTPUT_DRIVE_25_PCT + false + true + false + true + + + java.lang.String + MEM_XP + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + QDR4_SPEEDBIN_2133 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.4 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + -150 + false + true + false + true + + + int + 225 + false + true + false + true + + + int + 170 + false + true + false + true + + + int + 170 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 4 + false + true + false + true + + + java.lang.String + RLD2_CONFIG_TRC_8_TRL_8_TWL_9 + false + true + false + true + + + java.lang.String + RLD2_DRIVE_IMPEDENCE_INTERNAL_50 + false + true + false + true + + + java.lang.String + RLD2_ODT_ON + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + RLD2_SPEEDBIN_18 + false + true + false + true + + + double + 0.24 + false + true + false + true + + + double + 0.45 + false + true + false + true + + + double + 0.9 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.17 + false + true + false + true + + + double + 0.12 + false + true + false + true + + + double + -0.12 + false + true + false + true + + + double + 0.3 + false + true + false + true + + + double + -0.3 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 2 + false + true + false + true + + + java.lang.String + RLD3_DL_RL16_WL17 + false + true + false + true + + + java.lang.String + RLD3_TRC_9 + false + true + false + true + + + java.lang.String + RLD3_OUTPUT_DRIVE_40 + false + true + false + true + + + java.lang.String + RLD3_ODT_40 + false + true + false + true + + + java.lang.String + RLD3_AREF_BAC + false + true + false + true + + + java.lang.String + RLD3_WRITE_1BANK + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + RLD3_SPEEDBIN_093E + false + true + false + true + + + int + -30 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + -0.27 + false + true + false + true + + + int + 135 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 65 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 32 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 15 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 8 + false + true + false + true + + + java.lang.String + MEM_FORMAT_DISCRETE + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + LPDDR3_BL_BL8 + false + true + false + true + + + java.lang.String + LPDDR3_DL_RL12_WL6 + false + true + false + true + + + java.lang.String + LPDDR3_DRV_STR_40D_40U + false + true + false + true + + + java.lang.String + LPDDR3_DQODT_DISABLE + false + true + false + true + + + java.lang.String + LPDDR3_PDODT_DISABLED + false + true + false + true + + + java.lang.String + Set A + false + true + false + true + + + java.lang.String + LPDDR3_NWR_NWR12 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,on + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,on,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + LPDDR3_SPEEDBIN_1600 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 75 + false + true + false + true + + + int + 150 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 135 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 614 + false + true + false + true + + + double + 1.25 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 175.0 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 10 + false + true + false + true + + + double + 42.5 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 18.0 + false + true + false + true + + + double + 3.9 + false + true + false + true + + + double + 210.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + double + 50.0 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 220 + false + true + false + true + + + int + 511 + false + true + false + true + + + int + 5500 + false + true + false + true + + + int + 34 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 17 + false + true + false + true + + + int + 168 + false + true + false + true + + + int + 12 + false + true + false + true + + + int + 40 + false + true + false + true + + + int + 3120 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 6 + false + true + false + true + + + java.lang.String + MEM_FORMAT_LRDIMM + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 10 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ALERT_N_PLACEMENT_AUTO + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_PWR_MODE_12W + false + true + false + true + + + java.lang.String + DDRT_BL_BL8 + false + true + false + true + + + java.lang.String + DDRT_BT_SEQUENTIAL + false + true + false + true + + + int + 15 + false + true + false + true + + + java.lang.String + DDRT_RTT_NOM_RZQ_4 + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_ATCL_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DRV_STR_RZQ_7 + false + true + false + true + + + java.lang.String + DDRT_ASR_MANUAL_NORMAL + false + true + false + true + + + java.lang.String + DDRT_RTT_WR_ODT_DISABLED + false + true + false + true + + + int + 18 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_GEARDOWN_HR + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_FINE_REFRESH_FIXED_1X + false + true + false + true + + + java.lang.String + DDRT_MPR_READ_FORMAT_SERIAL + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_TEMP_CONTROLLED_RFSH_NORMAL + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + DDRT_AC_PARITY_LATENCY_DISABLE + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + DDRT_RTT_PARK_ODT_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 6 + false + true + false + true + + + java.lang.String + DDRT_RCD_CA_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CS_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_CKE_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_RCD_ODT_IBT_100 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_NOM_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_WR_RZQ_4 + false + true + false + true + + + java.lang.String + DDRT_DB_RTT_PARK_ODT_DISABLED + false + true + false + true + + + java.lang.String + DDRT_DB_DRV_STR_RZQ_7 + false + true + false + true + + + int + 85 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 29 + false + true + false + true + + + int + 25 + false + true + false + true + + + int + 21 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 20 + false + true + false + true + + + int + 39 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 240 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + double + 56.0 + false + true + false + true + + + java.lang.String + DDRT_VREFDQ_TRAINING_RANGE_1 + false + true + false + true + + + java.lang.String + Range 2 - 45% to 77.5% + false + true + false + true + + + int + 2 + false + true + false + true + + + int + -1 + false + true + false + true + + + int + -1 + false + true + false + true + + + int + 8 + false + true + false + true + + + int + 72 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + off + false + true + false + true + + + [Ljava.lang.String; + Rank 0 + false + true + false + true + + + [Ljava.lang.String; + on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1 + false + true + false + true + + + [Ljava.lang.String; + on,off + false + true + false + true + + + [Ljava.lang.String; + off,on + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,off,off + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + Rank 0,Rank 1,Rank 2,Rank 3 + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + off,off,on,on + false + true + false + true + + + [Ljava.lang.String; + on,on,off,off + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + , + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + [Ljava.lang.String; + + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + DDRT_SPEEDBIN_2400 + false + true + false + true + + + int + 60 + false + true + false + true + + + int + 100 + false + true + false + true + + + int + 95 + false + true + false + true + + + int + 75 + false + true + false + true + + + double + 0.2 + false + true + false + true + + + int + 136 + false + true + false + true + + + double + 0.16 + false + true + false + true + + + double + 0.76 + false + true + false + true + + + double + 0.72 + false + true + false + true + + + int + 165 + false + true + false + true + + + double + 0.27 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + int + 500 + false + true + false + true + + + int + 8 + false + true + false + true + + + double + 32.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + double + 7.8 + false + true + false + true + + + double + 260.0 + false + true + false + true + + + double + 15.0 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 3 + false + true + false + true + + + double + 21.0 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 90.0 + false + true + false + true + + + int + 16 + false + true + false + true + + + int + 4 + false + true + false + true + + + double + 0.1 + false + true + false + true + + + int + 66 + false + true + false + true + + + double + 0.38 + false + true + false + true + + + int + 499 + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 450 + false + true + false + true + + + int + 900 + false + true + false + true + + + int + 1200 + false + true + false + true + + + int + 36 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 14 + false + true + false + true + + + int + 171 + false + true + false + true + + + int + 18 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 27 + false + true + false + true + + + int + 8320 + false + true + false + true + + + int + 5 + false + true + false + true + + + int + 109 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.15 + false + true + false + true + + + double + 0.15 + false + true + false + true + + + double + 0.06 + false + true + false + true + + + double + 0.12 + false + true + false + true + + + double + 0.13 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.18 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 5.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 7.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 3.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + -0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 7.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 3.5 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + boolean + false + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.05 + false + true + false + true + + + double + 0.02 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + double + 0.6 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 8.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 4.0 + false + true + false + true + + + double + 2.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDR4_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 2 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 9 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + int + 4 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 9 + false + true + false + true + + + int + 4 + false + true + false + true + + + int + 11 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + java.lang.String + RLD3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + LPDDR3_CTRL_ADDR_ORDER_CS_R_B_C + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + CTRL_AVL_PROTOCOL_MM + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + DDRT_CTRL_ADDR_ORDER_CS_R_B_C_BG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 10 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 128 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + POSTED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + COARSE + false + true + false + true + + + int + 2 + false + true + false + true + + + int + 3 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 512 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + FAST_SIM_OVERRIDE_DEFAULT + false + true + false + true + + + java.lang.String + avl + false + true + false + true + + + java.lang.String + avl_release + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SOFT_NIOS_MODE_DISABLED + false + true + false + true + + + int + 100 + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 57600 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + auto + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 5 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_JTAG + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_EXPORT + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + false + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 1 + false + true + false + true + + + boolean + true + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + EFFMON_MODE_DISABLED + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + EMIF_PRI_PRELOAD.txt + false + true + false + true + + + java.lang.String + EMIF_SEC_PRELOAD.txt + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + java.lang.String + TG_CFG_AMM_EXPORT_MODE_JTAG + false + true + false + true + + + java.lang.String + SHORT + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 8 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + java.lang.String + CALIP_0 + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + EXPORTED + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + int + 0 + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + AVAIL_EX_DESIGNS_GEN_DESIGN + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + HDL_FORMAT_VERILOG + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + TARGET_DEV_KIT_NONE + false + true + false + true + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + [Ljava.lang.String; + emif_usr_reset_n_in + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + NONE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + true + + emif_usr_reset_n + Output + 1 + reset_n + + + + + + java.lang.String + + false + true + true + true + + + long + 300000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + emif_usr_clk + Output + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + NONE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + false + + emif_usr_reset_n_in + Input + 1 + reset_n + + + + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + false + + emif_usr_clk_in + Input + 1 + clk + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + ctrl_ecc_write_info_0 + Output + 15 + ctrl_ecc_write_info + + + ctrl_ecc_rdata_id_0 + Input + 13 + ctrl_ecc_rdata_id + + + ctrl_ecc_read_info_0 + Input + 3 + ctrl_ecc_read_info + + + ctrl_ecc_cmd_info_0 + Input + 3 + ctrl_ecc_cmd_info + + + ctrl_ecc_idle_0 + Input + 1 + ctrl_ecc_idle + + + ctrl_ecc_wr_pointer_info_0 + Input + 12 + ctrl_ecc_wr_pointer_info + + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + ctrl_ecc_user_interrupt_0 + Output + 1 + ctrl_ecc_user_interrupt + + + + + + java.lang.String + emif_usr_clk_in + false + true + false + true + + + java.lang.String + emif_usr_reset_n_in + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + true + + ast_cmd_valid_0 + Output + 1 + valid + + + ast_cmd_ready_0 + Input + 1 + ready + + + ast_cmd_data_0 + Output + 61 + data + + + + + + java.lang.String + emif_usr_clk_in + false + true + false + true + + + java.lang.String + emif_usr_reset_n_in + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 648 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + true + + ast_wr_valid_0 + Output + 1 + valid + + + ast_wr_ready_0 + Input + 1 + ready + + + ast_wr_data_0 + Output + 648 + data + + + + + + java.lang.String + emif_usr_clk_in + false + true + false + true + + + java.lang.String + emif_usr_reset_n_in + false + true + false + true + + + int + 1 + false + true + false + true + + + int + 576 + false + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + + false + true + true + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + java.lang.String + + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 1 + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon_streaming + 0 + false + + ast_rd_valid_0 + Input + 1 + valid + + + ast_rd_ready_0 + Output + 1 + ready + + + ast_rd_data_0 + Input + 576 + data + + + + + + embeddedsw.configuration.isFlash + 0 + + + embeddedsw.configuration.isMemoryDevice + 1 + + + embeddedsw.configuration.isNonVolatileStorage + 0 + + + embeddedsw.configuration.isPrintableDevice + 0 + + + com.altera.sopcmodel.avalon.AvalonConnectionPoint$AddressAlignment + DYNAMIC + false + true + false + true + + + int + 0 + false + true + true + true + + + java.math.BigInteger + 8589934592 + true + true + false + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + emif_usr_clk + false + true + true + true + + + java.lang.String + emif_usr_reset_n + false + true + true + true + + + int + 8 + false + true + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + com.altera.entityinterfaces.IConnectionPoint + + false + true + true + true + + + boolean + false + false + true + true + true + + + com.altera.sopcmodel.avalon.EAddrBurstUnits + WORDS + false + true + true + true + + + boolean + false + false + true + false + true + + + java.math.BigInteger + 0 + false + true + true + true + + + int + 0 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 64 + false + true + true + true + + + int + 0 + false + false + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + true + true + true + + + int + 1 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + false + true + true + + + int + 1 + false + true + false + true + + + int + 1 + false + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + int + 0 + false + false + true + true + + + com.altera.sopcmodel.avalon.TimingUnits + Cycles + false + false + true + true + + + boolean + false + false + true + true + true + + + int + 0 + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + true + false + true + + + int + 0 + false + false + true + true + + + java.math.BigInteger + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + [Ljava.lang.String; + + false + true + true + true + + + [Ljava.lang.Integer; + + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 0 + false + true + true + true + + + java.lang.Integer + 35 + false + true + true + true + + + java.lang.Integer + 3 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + avalon + 8589934592 + false + + amm_ready_0 + Output + 1 + waitrequest_n + + + amm_read_0 + Input + 1 + read + + + amm_write_0 + Input + 1 + write + + + amm_address_0 + Input + 27 + address + + + amm_readdata_0 + Output + 512 + readdata + + + amm_writedata_0 + Input + 512 + writedata + + + amm_burstcount_0 + Input + 7 + burstcount + + + amm_byteenable_0 + Input + 64 + byteenable + + + amm_readdatavalid_0 + Output + 1 + readdatavalid + + + + + + java.lang.Long + -1 + true + true + false + true + CLOCK_RATE + + + java.lang.Integer + -1 + true + true + false + true + CLOCK_DOMAIN + + + java.lang.Integer + -1 + true + true + false + true + RESET_DOMAIN + + + java.lang.String + + true + true + false + true + CLOCK_RESET_INFO + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_arch + emif_usr_clk + emif_fm_0_ecc_core + emif_usr_clk_in + + + + java.lang.Integer + -1 + true + true + false + true + RESET_DOMAIN + + + java.lang.Integer + -1 + true + true + false + true + CLOCK_DOMAIN + + + java.lang.String + + true + true + false + true + CLOCK_RESET_INFO + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_arch + emif_usr_reset_n + emif_fm_0_ecc_core + emif_usr_reset_n_in + + + + com.altera.entityinterfaces.IPort + + false + true + true + true + + + int + 0 + false + true + true + true + + + com.altera.entityinterfaces.IPort + + false + true + true + true + + + int + 0 + false + true + true + true + + + int + 0 + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_ecc_core + ctrl_ecc_0 + emif_fm_0_arch + ctrl_ecc_0 + + + + java.lang.String + PIPELINE_STAGE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + 1 + false + true + true + true + + + java.lang.String + HANDSHAKE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + DEFAULT + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + STANDARD + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + REGISTER_BASED + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_ecc_core + ctrl_ast_cmd_0 + emif_fm_0_arch + ctrl_ast_cmd_0 + + + + java.lang.String + PIPELINE_STAGE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + 1 + false + true + true + true + + + java.lang.String + HANDSHAKE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + DEFAULT + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + STANDARD + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + REGISTER_BASED + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_ecc_core + ctrl_ast_wr_0 + emif_fm_0_arch + ctrl_ast_wr_0 + + + + java.lang.String + PIPELINE_STAGE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + 1 + false + true + true + true + + + java.lang.String + HANDSHAKE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + DEFAULT + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + GENERIC_CONVERTER + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + STANDARD + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + REGISTER_BASED + false + true + true + true + + + java.lang.String + FALSE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + emif_fm_0_arch + ctrl_ast_rd_0 + emif_fm_0_ecc_core + ctrl_ast_rd_0 + + + 1 + altera_emif_fm + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + External Memory Interfaces (EMIF) IP + 2.7.4 + + + 18 + conduit_end + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Conduit + 24.1 + + + 5 + clock_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Input + 24.1 + + + 3 + reset_source + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Reset Output + 24.1 + + + 3 + clock_source + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Output + 24.1 + + + 2 + avalon_slave + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Avalon Memory Mapped Agent + 24.1 + + + 1 + altera_emif_arch_fm + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + EMIF Architecture Component + 19.1 + + + 3 + avalon_streaming_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Avalon Streaming Sink + 24.1 + + + 3 + avalon_streaming_source + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Avalon Streaming Source + 24.1 + + + 1 + altera_emif_ecc + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + EMIF Error Correction Code (ECC) Component + 19.1 + + + 1 + reset_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Reset Input + 24.1 + + + 1 + clock + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IConnection + Clock Connection + 24.1 + + + 1 + reset + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IConnection + Reset Connection + 24.1 + + + 1 + conduit + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IConnection + Conduit Connection + 24.1 + + + 3 + avalon_streaming + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IConnection + Avalon Streaming Connection + 24.1 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.xml b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.xml new file mode 100644 index 0000000000..b6e7dbc5e7 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0.xml @@ -0,0 +1,12829 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: ed_synth_emif_fm_0" + "Generating: ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" + "Generating: ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" + "Generating: ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" + "Generating: altera_emif_ecc_core" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" + "Generating: ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" + "Generating: ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" + "Generating: altera_emif_ecc_core" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" + "Generating: altera_emif_ecc_core" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: altera_emif_ecc_core" + + + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_bb.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_bb.v new file mode 100644 index 0000000000..71cb2c90af --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_bb.v @@ -0,0 +1,46 @@ +module ed_synth_emif_fm_0 ( + input wire local_reset_req, // local_reset_req.local_reset_req, Signal from user logic to request the memory interface to be reset and recalibrated. Reset request is sent by transitioning the local_reset_req signal from low to high, then keeping the signal at the high state for a minimum of 2 EMIF core clock cycles, then transitioning the signal from high to low. local_reset_req is asynchronous in that there is no setup/hold timing to meet, but it must meet the minimum pulse width requirement of 2 EMIF core clock cycles. + output wire local_reset_done, // local_reset_status.local_reset_done, Signal from memory interface to indicate whether it has completed a reset sequence, is currently out of reset, and is ready for a new reset request. When local_reset_done is low, the memory interface is in reset. + input wire pll_ref_clk, // pll_ref_clk.clk, PLL reference clock input + output wire pll_locked, // pll_locked.pll_locked, PLL lock signal to indicate whether the PLL has locked + input wire oct_rzqin, // oct.oct_rzqin, Calibrated On-Chip Termination (OCT) RZQ input pin + output wire [0:0] mem_ck, // mem.mem_ck, CK clock + output wire [0:0] mem_ck_n, // .mem_ck_n, CK clock (negative leg) + output wire [16:0] mem_a, // .mem_a, Address + output wire [0:0] mem_act_n, // .mem_act_n, Activation command + output wire [1:0] mem_ba, // .mem_ba, Bank address + output wire [1:0] mem_bg, // .mem_bg, Bank group + output wire [0:0] mem_cke, // .mem_cke, Clock enable + output wire [0:0] mem_cs_n, // .mem_cs_n, Chip select + output wire [0:0] mem_odt, // .mem_odt, On-die termination + output wire [0:0] mem_reset_n, // .mem_reset_n, Asynchronous reset + output wire [0:0] mem_par, // .mem_par, Command and address parity + input wire [0:0] mem_alert_n, // .mem_alert_n, Alert flag + inout wire [8:0] mem_dqs, // .mem_dqs, Data strobe + inout wire [8:0] mem_dqs_n, // .mem_dqs_n, Data strobe (negative leg) + inout wire [71:0] mem_dq, // .mem_dq, Read/write data + inout wire [8:0] mem_dbi_n, // .mem_dbi_n, Acts as either the data bus inversion pin, or the data mask pin, depending on configuration. + output wire local_cal_success, // status.local_cal_success, When high, indicates that PHY calibration was successful + output wire local_cal_fail, // .local_cal_fail, When high, indicates that PHY calibration failed + input wire calbus_read, // emif_calbus.calbus_read, EMIF Calibration component bus for read + input wire calbus_write, // .calbus_write, EMIF Calibration component bus for write + input wire [19:0] calbus_address, // .calbus_address, EMIF Calibration component bus for address + input wire [31:0] calbus_wdata, // .calbus_wdata, EMIF Calibration component bus for write data + output wire [31:0] calbus_rdata, // .calbus_rdata, EMIF Calibration component bus for read data + output wire [4095:0] calbus_seq_param_tbl, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + input wire calbus_clk, // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + output wire emif_usr_reset_n, // emif_usr_reset_n.reset_n, Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + output wire emif_usr_clk, // emif_usr_clk.clk, User clock domain + output wire ctrl_ecc_user_interrupt_0, // ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt, Controller ECC user interrupt signal to determine whether there is a bit error + output wire amm_ready_0, // ctrl_amm_0.waitrequest_n, Wait-request is asserted when controller is busy + input wire amm_read_0, // .read, Read request signal + input wire amm_write_0, // .write, Write request signal + input wire [26:0] amm_address_0, // .address, Address for the read/write request + output wire [511:0] amm_readdata_0, // .readdata, Read data + input wire [511:0] amm_writedata_0, // .writedata, Write data + input wire [6:0] amm_burstcount_0, // .burstcount, Number of transfers in each read/write burst + input wire [63:0] amm_byteenable_0, // .byteenable, Byte-enable for write data + output wire amm_readdatavalid_0 // .readdatavalid, Indicates whether read data is valid + ); +endmodule + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation.rpt b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation.rpt new file mode 100644 index 0000000000..c27e0ae281 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation.rpt @@ -0,0 +1,33 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: ed_synth_emif_fm_0.emif_fm_0: SPD Bytes must be set for RDIMM/LRDIMM and are unique to each memory module. Please check with the SPD provider to ensure correct SPD data. +Info: ed_synth_emif_fm_0.emif_fm_0: When ECC is enabled, a partial write using the DM pins triggers a read-modify-write operation. Frequent partial writes can lead to poor efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: EMIF IP requires EMIF Calibration IP to source its calbus clock and calbus conduit. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: PHY and controller running at 2x the frequency of user logic for improved efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Placement of address/command pins must follow "DDR4 Scheme 1A: Component and DIMM (with A17)". +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Interface estimated to require 2 I/O Bank(s) and 4 I/O PLL(s). This is only an estimation. Final usage depends on user pin location assignments and/or fitter behavior. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Valid memory frequencies for the current PLL reference clock of 33.333 MHz and user clock rate, in MHz: 1599.98, 1466.65, 1333.32, 1199.99, 1066.66, 933.32, 799.99, 666.66 +Info: ed_synth_emif_fm_0.emif_fm_0.arch: For additional documentation about the interface, consult the *_readme.txt file after generation. +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: ed_synth_emif_fm_0.emif_fm_0: SPD Bytes must be set for RDIMM/LRDIMM and are unique to each memory module. Please check with the SPD provider to ensure correct SPD data. +Info: ed_synth_emif_fm_0.emif_fm_0: When ECC is enabled, a partial write using the DM pins triggers a read-modify-write operation. Frequent partial writes can lead to poor efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: EMIF IP requires EMIF Calibration IP to source its calbus clock and calbus conduit. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: PHY and controller running at 2x the frequency of user logic for improved efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Placement of address/command pins must follow "DDR4 Scheme 1A: Component and DIMM (with A17)". +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Interface estimated to require 2 I/O Bank(s) and 4 I/O PLL(s). This is only an estimation. Final usage depends on user pin location assignments and/or fitter behavior. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Valid memory frequencies for the current PLL reference clock of 33.333 MHz and user clock rate, in MHz: 1599.98, 1466.65, 1333.32, 1199.99, 1066.66, 933.32, 799.99, 666.66 +Info: ed_synth_emif_fm_0.emif_fm_0.arch: For additional documentation about the interface, consult the *_readme.txt file after generation. +Info: ed_synth_emif_fm_0: "Transforming system: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Naming system components in system: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Processing generation queue" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" +Info: ed_synth_emif_fm_0: "Generating: altera_emif_ecc_core" +Info: ed_synth_emif_fm_0: Done "ed_synth_emif_fm_0" with 5 modules, 71 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation_previous.rpt b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation_previous.rpt new file mode 100644 index 0000000000..c27e0ae281 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_generation_previous.rpt @@ -0,0 +1,33 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: ed_synth_emif_fm_0.emif_fm_0: SPD Bytes must be set for RDIMM/LRDIMM and are unique to each memory module. Please check with the SPD provider to ensure correct SPD data. +Info: ed_synth_emif_fm_0.emif_fm_0: When ECC is enabled, a partial write using the DM pins triggers a read-modify-write operation. Frequent partial writes can lead to poor efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: EMIF IP requires EMIF Calibration IP to source its calbus clock and calbus conduit. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: PHY and controller running at 2x the frequency of user logic for improved efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Placement of address/command pins must follow "DDR4 Scheme 1A: Component and DIMM (with A17)". +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Interface estimated to require 2 I/O Bank(s) and 4 I/O PLL(s). This is only an estimation. Final usage depends on user pin location assignments and/or fitter behavior. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Valid memory frequencies for the current PLL reference clock of 33.333 MHz and user clock rate, in MHz: 1599.98, 1466.65, 1333.32, 1199.99, 1066.66, 933.32, 799.99, 666.66 +Info: ed_synth_emif_fm_0.emif_fm_0.arch: For additional documentation about the interface, consult the *_readme.txt file after generation. +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/ed_synth_emif_fm_0 --family="Agilex 7" --part=AGFB014R24B2E2V +Info: ed_synth_emif_fm_0.emif_fm_0: SPD Bytes must be set for RDIMM/LRDIMM and are unique to each memory module. Please check with the SPD provider to ensure correct SPD data. +Info: ed_synth_emif_fm_0.emif_fm_0: When ECC is enabled, a partial write using the DM pins triggers a read-modify-write operation. Frequent partial writes can lead to poor efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: EMIF IP requires EMIF Calibration IP to source its calbus clock and calbus conduit. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: PHY and controller running at 2x the frequency of user logic for improved efficiency. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Placement of address/command pins must follow "DDR4 Scheme 1A: Component and DIMM (with A17)". +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Interface estimated to require 2 I/O Bank(s) and 4 I/O PLL(s). This is only an estimation. Final usage depends on user pin location assignments and/or fitter behavior. +Info: ed_synth_emif_fm_0.emif_fm_0.arch: Valid memory frequencies for the current PLL reference clock of 33.333 MHz and user clock rate, in MHz: 1599.98, 1466.65, 1333.32, 1199.99, 1066.66, 933.32, 799.99, 666.66 +Info: ed_synth_emif_fm_0.emif_fm_0.arch: For additional documentation about the interface, consult the *_readme.txt file after generation. +Info: ed_synth_emif_fm_0: "Transforming system: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Naming system components in system: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Processing generation queue" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_arch_fm_191_faapzxy" +Info: ed_synth_emif_fm_0: "Generating: ed_synth_emif_fm_0_altera_emif_ecc_191_z5lxzjq" +Info: ed_synth_emif_fm_0: "Generating: altera_emif_ecc_core" +Info: ed_synth_emif_fm_0: Done "ed_synth_emif_fm_0" with 5 modules, 71 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.v new file mode 100644 index 0000000000..cd9869d5d6 --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.v @@ -0,0 +1,45 @@ + ed_synth_emif_fm_0 u0 ( + .local_reset_req (_connected_to_local_reset_req_), // input, width = 1, local_reset_req.local_reset_req + .local_reset_done (_connected_to_local_reset_done_), // output, width = 1, local_reset_status.local_reset_done + .pll_ref_clk (_connected_to_pll_ref_clk_), // input, width = 1, pll_ref_clk.clk + .pll_locked (_connected_to_pll_locked_), // output, width = 1, pll_locked.pll_locked + .oct_rzqin (_connected_to_oct_rzqin_), // input, width = 1, oct.oct_rzqin + .mem_ck (_connected_to_mem_ck_), // output, width = 1, mem.mem_ck + .mem_ck_n (_connected_to_mem_ck_n_), // output, width = 1, .mem_ck_n + .mem_a (_connected_to_mem_a_), // output, width = 17, .mem_a + .mem_act_n (_connected_to_mem_act_n_), // output, width = 1, .mem_act_n + .mem_ba (_connected_to_mem_ba_), // output, width = 2, .mem_ba + .mem_bg (_connected_to_mem_bg_), // output, width = 2, .mem_bg + .mem_cke (_connected_to_mem_cke_), // output, width = 1, .mem_cke + .mem_cs_n (_connected_to_mem_cs_n_), // output, width = 1, .mem_cs_n + .mem_odt (_connected_to_mem_odt_), // output, width = 1, .mem_odt + .mem_reset_n (_connected_to_mem_reset_n_), // output, width = 1, .mem_reset_n + .mem_par (_connected_to_mem_par_), // output, width = 1, .mem_par + .mem_alert_n (_connected_to_mem_alert_n_), // input, width = 1, .mem_alert_n + .mem_dqs (_connected_to_mem_dqs_), // inout, width = 9, .mem_dqs + .mem_dqs_n (_connected_to_mem_dqs_n_), // inout, width = 9, .mem_dqs_n + .mem_dq (_connected_to_mem_dq_), // inout, width = 72, .mem_dq + .mem_dbi_n (_connected_to_mem_dbi_n_), // inout, width = 9, .mem_dbi_n + .local_cal_success (_connected_to_local_cal_success_), // output, width = 1, status.local_cal_success + .local_cal_fail (_connected_to_local_cal_fail_), // output, width = 1, .local_cal_fail + .calbus_read (_connected_to_calbus_read_), // input, width = 1, emif_calbus.calbus_read + .calbus_write (_connected_to_calbus_write_), // input, width = 1, .calbus_write + .calbus_address (_connected_to_calbus_address_), // input, width = 20, .calbus_address + .calbus_wdata (_connected_to_calbus_wdata_), // input, width = 32, .calbus_wdata + .calbus_rdata (_connected_to_calbus_rdata_), // output, width = 32, .calbus_rdata + .calbus_seq_param_tbl (_connected_to_calbus_seq_param_tbl_), // output, width = 4096, .calbus_seq_param_tbl + .calbus_clk (_connected_to_calbus_clk_), // input, width = 1, emif_calbus_clk.clk + .emif_usr_reset_n (_connected_to_emif_usr_reset_n_), // output, width = 1, emif_usr_reset_n.reset_n + .emif_usr_clk (_connected_to_emif_usr_clk_), // output, width = 1, emif_usr_clk.clk + .ctrl_ecc_user_interrupt_0 (_connected_to_ctrl_ecc_user_interrupt_0_), // output, width = 1, ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt + .amm_ready_0 (_connected_to_amm_ready_0_), // output, width = 1, ctrl_amm_0.waitrequest_n + .amm_read_0 (_connected_to_amm_read_0_), // input, width = 1, .read + .amm_write_0 (_connected_to_amm_write_0_), // input, width = 1, .write + .amm_address_0 (_connected_to_amm_address_0_), // input, width = 27, .address + .amm_readdata_0 (_connected_to_amm_readdata_0_), // output, width = 512, .readdata + .amm_writedata_0 (_connected_to_amm_writedata_0_), // input, width = 512, .writedata + .amm_burstcount_0 (_connected_to_amm_burstcount_0_), // input, width = 7, .burstcount + .amm_byteenable_0 (_connected_to_amm_byteenable_0_), // input, width = 64, .byteenable + .amm_readdatavalid_0 (_connected_to_amm_readdatavalid_0_) // output, width = 1, .readdatavalid + ); + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.vhd b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.vhd new file mode 100644 index 0000000000..568b6e6dee --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/ed_synth_emif_fm_0_inst.vhd @@ -0,0 +1,93 @@ + component ed_synth_emif_fm_0 is + port ( + local_reset_req : in std_logic := 'X'; -- local_reset_req + local_reset_done : out std_logic; -- local_reset_done + pll_ref_clk : in std_logic := 'X'; -- clk + pll_locked : out std_logic; -- pll_locked + oct_rzqin : in std_logic := 'X'; -- oct_rzqin + mem_ck : out std_logic_vector(0 downto 0); -- mem_ck + mem_ck_n : out std_logic_vector(0 downto 0); -- mem_ck_n + mem_a : out std_logic_vector(16 downto 0); -- mem_a + mem_act_n : out std_logic_vector(0 downto 0); -- mem_act_n + mem_ba : out std_logic_vector(1 downto 0); -- mem_ba + mem_bg : out std_logic_vector(1 downto 0); -- mem_bg + mem_cke : out std_logic_vector(0 downto 0); -- mem_cke + mem_cs_n : out std_logic_vector(0 downto 0); -- mem_cs_n + mem_odt : out std_logic_vector(0 downto 0); -- mem_odt + mem_reset_n : out std_logic_vector(0 downto 0); -- mem_reset_n + mem_par : out std_logic_vector(0 downto 0); -- mem_par + mem_alert_n : in std_logic_vector(0 downto 0) := (others => 'X'); -- mem_alert_n + mem_dqs : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dqs + mem_dqs_n : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dqs_n + mem_dq : inout std_logic_vector(71 downto 0) := (others => 'X'); -- mem_dq + mem_dbi_n : inout std_logic_vector(8 downto 0) := (others => 'X'); -- mem_dbi_n + local_cal_success : out std_logic; -- local_cal_success + local_cal_fail : out std_logic; -- local_cal_fail + calbus_read : in std_logic := 'X'; -- calbus_read + calbus_write : in std_logic := 'X'; -- calbus_write + calbus_address : in std_logic_vector(19 downto 0) := (others => 'X'); -- calbus_address + calbus_wdata : in std_logic_vector(31 downto 0) := (others => 'X'); -- calbus_wdata + calbus_rdata : out std_logic_vector(31 downto 0); -- calbus_rdata + calbus_seq_param_tbl : out std_logic_vector(4095 downto 0); -- calbus_seq_param_tbl + calbus_clk : in std_logic := 'X'; -- clk + emif_usr_reset_n : out std_logic; -- reset_n + emif_usr_clk : out std_logic; -- clk + ctrl_ecc_user_interrupt_0 : out std_logic; -- ctrl_ecc_user_interrupt + amm_ready_0 : out std_logic; -- waitrequest_n + amm_read_0 : in std_logic := 'X'; -- read + amm_write_0 : in std_logic := 'X'; -- write + amm_address_0 : in std_logic_vector(26 downto 0) := (others => 'X'); -- address + amm_readdata_0 : out std_logic_vector(511 downto 0); -- readdata + amm_writedata_0 : in std_logic_vector(511 downto 0) := (others => 'X'); -- writedata + amm_burstcount_0 : in std_logic_vector(6 downto 0) := (others => 'X'); -- burstcount + amm_byteenable_0 : in std_logic_vector(63 downto 0) := (others => 'X'); -- byteenable + amm_readdatavalid_0 : out std_logic -- readdatavalid + ); + end component ed_synth_emif_fm_0; + + u0 : component ed_synth_emif_fm_0 + port map ( + local_reset_req => CONNECTED_TO_local_reset_req, -- local_reset_req.local_reset_req + local_reset_done => CONNECTED_TO_local_reset_done, -- local_reset_status.local_reset_done + pll_ref_clk => CONNECTED_TO_pll_ref_clk, -- pll_ref_clk.clk + pll_locked => CONNECTED_TO_pll_locked, -- pll_locked.pll_locked + oct_rzqin => CONNECTED_TO_oct_rzqin, -- oct.oct_rzqin + mem_ck => CONNECTED_TO_mem_ck, -- mem.mem_ck + mem_ck_n => CONNECTED_TO_mem_ck_n, -- .mem_ck_n + mem_a => CONNECTED_TO_mem_a, -- .mem_a + mem_act_n => CONNECTED_TO_mem_act_n, -- .mem_act_n + mem_ba => CONNECTED_TO_mem_ba, -- .mem_ba + mem_bg => CONNECTED_TO_mem_bg, -- .mem_bg + mem_cke => CONNECTED_TO_mem_cke, -- .mem_cke + mem_cs_n => CONNECTED_TO_mem_cs_n, -- .mem_cs_n + mem_odt => CONNECTED_TO_mem_odt, -- .mem_odt + mem_reset_n => CONNECTED_TO_mem_reset_n, -- .mem_reset_n + mem_par => CONNECTED_TO_mem_par, -- .mem_par + mem_alert_n => CONNECTED_TO_mem_alert_n, -- .mem_alert_n + mem_dqs => CONNECTED_TO_mem_dqs, -- .mem_dqs + mem_dqs_n => CONNECTED_TO_mem_dqs_n, -- .mem_dqs_n + mem_dq => CONNECTED_TO_mem_dq, -- .mem_dq + mem_dbi_n => CONNECTED_TO_mem_dbi_n, -- .mem_dbi_n + local_cal_success => CONNECTED_TO_local_cal_success, -- status.local_cal_success + local_cal_fail => CONNECTED_TO_local_cal_fail, -- .local_cal_fail + calbus_read => CONNECTED_TO_calbus_read, -- emif_calbus.calbus_read + calbus_write => CONNECTED_TO_calbus_write, -- .calbus_write + calbus_address => CONNECTED_TO_calbus_address, -- .calbus_address + calbus_wdata => CONNECTED_TO_calbus_wdata, -- .calbus_wdata + calbus_rdata => CONNECTED_TO_calbus_rdata, -- .calbus_rdata + calbus_seq_param_tbl => CONNECTED_TO_calbus_seq_param_tbl, -- .calbus_seq_param_tbl + calbus_clk => CONNECTED_TO_calbus_clk, -- emif_calbus_clk.clk + emif_usr_reset_n => CONNECTED_TO_emif_usr_reset_n, -- emif_usr_reset_n.reset_n + emif_usr_clk => CONNECTED_TO_emif_usr_clk, -- emif_usr_clk.clk + ctrl_ecc_user_interrupt_0 => CONNECTED_TO_ctrl_ecc_user_interrupt_0, -- ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt + amm_ready_0 => CONNECTED_TO_amm_ready_0, -- ctrl_amm_0.waitrequest_n + amm_read_0 => CONNECTED_TO_amm_read_0, -- .read + amm_write_0 => CONNECTED_TO_amm_write_0, -- .write + amm_address_0 => CONNECTED_TO_amm_address_0, -- .address + amm_readdata_0 => CONNECTED_TO_amm_readdata_0, -- .readdata + amm_writedata_0 => CONNECTED_TO_amm_writedata_0, -- .writedata + amm_burstcount_0 => CONNECTED_TO_amm_burstcount_0, -- .burstcount + amm_byteenable_0 => CONNECTED_TO_amm_byteenable_0, -- .byteenable + amm_readdatavalid_0 => CONNECTED_TO_amm_readdatavalid_0 -- .readdatavalid + ); + diff --git a/corev_apu/altera/ip/ed_synth_emif_fm_0/synth/ed_synth_emif_fm_0.v b/corev_apu/altera/ip/ed_synth_emif_fm_0/synth/ed_synth_emif_fm_0.v new file mode 100644 index 0000000000..305cedf14f --- /dev/null +++ b/corev_apu/altera/ip/ed_synth_emif_fm_0/synth/ed_synth_emif_fm_0.v @@ -0,0 +1,96 @@ +// ed_synth_emif_fm_0.v + +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module ed_synth_emif_fm_0 ( + input wire local_reset_req, // local_reset_req.local_reset_req, Signal from user logic to request the memory interface to be reset and recalibrated. Reset request is sent by transitioning the local_reset_req signal from low to high, then keeping the signal at the high state for a minimum of 2 EMIF core clock cycles, then transitioning the signal from high to low. local_reset_req is asynchronous in that there is no setup/hold timing to meet, but it must meet the minimum pulse width requirement of 2 EMIF core clock cycles. + output wire local_reset_done, // local_reset_status.local_reset_done, Signal from memory interface to indicate whether it has completed a reset sequence, is currently out of reset, and is ready for a new reset request. When local_reset_done is low, the memory interface is in reset. + input wire pll_ref_clk, // pll_ref_clk.clk, PLL reference clock input + output wire pll_locked, // pll_locked.pll_locked, PLL lock signal to indicate whether the PLL has locked + input wire oct_rzqin, // oct.oct_rzqin, Calibrated On-Chip Termination (OCT) RZQ input pin + output wire [0:0] mem_ck, // mem.mem_ck, CK clock + output wire [0:0] mem_ck_n, // .mem_ck_n, CK clock (negative leg) + output wire [16:0] mem_a, // .mem_a, Address + output wire [0:0] mem_act_n, // .mem_act_n, Activation command + output wire [1:0] mem_ba, // .mem_ba, Bank address + output wire [1:0] mem_bg, // .mem_bg, Bank group + output wire [0:0] mem_cke, // .mem_cke, Clock enable + output wire [0:0] mem_cs_n, // .mem_cs_n, Chip select + output wire [0:0] mem_odt, // .mem_odt, On-die termination + output wire [0:0] mem_reset_n, // .mem_reset_n, Asynchronous reset + output wire [0:0] mem_par, // .mem_par, Command and address parity + input wire [0:0] mem_alert_n, // .mem_alert_n, Alert flag + inout wire [8:0] mem_dqs, // .mem_dqs, Data strobe + inout wire [8:0] mem_dqs_n, // .mem_dqs_n, Data strobe (negative leg) + inout wire [71:0] mem_dq, // .mem_dq, Read/write data + inout wire [8:0] mem_dbi_n, // .mem_dbi_n, Acts as either the data bus inversion pin, or the data mask pin, depending on configuration. + output wire local_cal_success, // status.local_cal_success, When high, indicates that PHY calibration was successful + output wire local_cal_fail, // .local_cal_fail, When high, indicates that PHY calibration failed + input wire calbus_read, // emif_calbus.calbus_read, EMIF Calibration component bus for read + input wire calbus_write, // .calbus_write, EMIF Calibration component bus for write + input wire [19:0] calbus_address, // .calbus_address, EMIF Calibration component bus for address + input wire [31:0] calbus_wdata, // .calbus_wdata, EMIF Calibration component bus for write data + output wire [31:0] calbus_rdata, // .calbus_rdata, EMIF Calibration component bus for read data + output wire [4095:0] calbus_seq_param_tbl, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + input wire calbus_clk, // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + output wire emif_usr_reset_n, // emif_usr_reset_n.reset_n, Reset for the user clock domain. Asynchronous assertion and synchronous deassertion + output wire emif_usr_clk, // emif_usr_clk.clk, User clock domain + output wire ctrl_ecc_user_interrupt_0, // ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt, Controller ECC user interrupt signal to determine whether there is a bit error + output wire amm_ready_0, // ctrl_amm_0.waitrequest_n, Wait-request is asserted when controller is busy + input wire amm_read_0, // .read, Read request signal + input wire amm_write_0, // .write, Write request signal + input wire [26:0] amm_address_0, // .address, Address for the read/write request + output wire [511:0] amm_readdata_0, // .readdata, Read data + input wire [511:0] amm_writedata_0, // .writedata, Write data + input wire [6:0] amm_burstcount_0, // .burstcount, Number of transfers in each read/write burst + input wire [63:0] amm_byteenable_0, // .byteenable, Byte-enable for write data + output wire amm_readdatavalid_0 // .readdatavalid, Indicates whether read data is valid + ); + + ed_synth_emif_fm_0_altera_emif_fm_274_2bbiayq emif_fm_0 ( + .local_reset_req (local_reset_req), // input, width = 1, local_reset_req.local_reset_req + .local_reset_done (local_reset_done), // output, width = 1, local_reset_status.local_reset_done + .pll_ref_clk (pll_ref_clk), // input, width = 1, pll_ref_clk.clk + .pll_locked (pll_locked), // output, width = 1, pll_locked.pll_locked + .oct_rzqin (oct_rzqin), // input, width = 1, oct.oct_rzqin + .mem_ck (mem_ck), // output, width = 1, mem.mem_ck + .mem_ck_n (mem_ck_n), // output, width = 1, .mem_ck_n + .mem_a (mem_a), // output, width = 17, .mem_a + .mem_act_n (mem_act_n), // output, width = 1, .mem_act_n + .mem_ba (mem_ba), // output, width = 2, .mem_ba + .mem_bg (mem_bg), // output, width = 2, .mem_bg + .mem_cke (mem_cke), // output, width = 1, .mem_cke + .mem_cs_n (mem_cs_n), // output, width = 1, .mem_cs_n + .mem_odt (mem_odt), // output, width = 1, .mem_odt + .mem_reset_n (mem_reset_n), // output, width = 1, .mem_reset_n + .mem_par (mem_par), // output, width = 1, .mem_par + .mem_alert_n (mem_alert_n), // input, width = 1, .mem_alert_n + .mem_dqs (mem_dqs), // inout, width = 9, .mem_dqs + .mem_dqs_n (mem_dqs_n), // inout, width = 9, .mem_dqs_n + .mem_dq (mem_dq), // inout, width = 72, .mem_dq + .mem_dbi_n (mem_dbi_n), // inout, width = 9, .mem_dbi_n + .local_cal_success (local_cal_success), // output, width = 1, status.local_cal_success + .local_cal_fail (local_cal_fail), // output, width = 1, .local_cal_fail + .calbus_read (calbus_read), // input, width = 1, emif_calbus.calbus_read + .calbus_write (calbus_write), // input, width = 1, .calbus_write + .calbus_address (calbus_address), // input, width = 20, .calbus_address + .calbus_wdata (calbus_wdata), // input, width = 32, .calbus_wdata + .calbus_rdata (calbus_rdata), // output, width = 32, .calbus_rdata + .calbus_seq_param_tbl (calbus_seq_param_tbl), // output, width = 4096, .calbus_seq_param_tbl + .calbus_clk (calbus_clk), // input, width = 1, emif_calbus_clk.clk + .emif_usr_reset_n (emif_usr_reset_n), // output, width = 1, emif_usr_reset_n.reset_n + .emif_usr_clk (emif_usr_clk), // output, width = 1, emif_usr_clk.clk + .ctrl_ecc_user_interrupt_0 (ctrl_ecc_user_interrupt_0), // output, width = 1, ctrl_ecc_user_interrupt_0.ctrl_ecc_user_interrupt + .amm_ready_0 (amm_ready_0), // output, width = 1, ctrl_amm_0.waitrequest_n + .amm_read_0 (amm_read_0), // input, width = 1, .read + .amm_write_0 (amm_write_0), // input, width = 1, .write + .amm_address_0 (amm_address_0), // input, width = 27, .address + .amm_readdata_0 (amm_readdata_0), // output, width = 512, .readdata + .amm_writedata_0 (amm_writedata_0), // input, width = 512, .writedata + .amm_burstcount_0 (amm_burstcount_0), // input, width = 7, .burstcount + .amm_byteenable_0 (amm_byteenable_0), // input, width = 64, .byteenable + .amm_readdatavalid_0 (amm_readdatavalid_0) // output, width = 1, .readdatavalid + ); + +endmodule diff --git a/corev_apu/altera/ip/emif_cal.ip b/corev_apu/altera/ip/emif_cal.ip new file mode 100644 index 0000000000..df313aa1ea --- /dev/null +++ b/corev_apu/altera/ip/emif_cal.ip @@ -0,0 +1,624 @@ + + + + Intel Corporation + emif_cal + emif_cal_0 + 2.7.4 + + + emif_calbus_0 + + + + + + + + calbus_read + + + calbus_read_0 + + + + + calbus_write + + + calbus_write_0 + + + + + calbus_address + + + calbus_address_0 + + + + + calbus_wdata + + + calbus_wdata_0 + + + + + calbus_rdata + + + calbus_rdata_0 + + + + + calbus_seq_param_tbl + + + calbus_seq_param_tbl_0 + + + + + + + + + associatedClock + associatedClock + emif_calbus_clk + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + emif_calbus_clk + + + + + + + + clk + + + calbus_clk + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 0 + + + clockRateKnown + Clock rate known + false + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_emif_cal + + QUARTUS_SYNTH + + + + + + + calbus_read_0 + + out + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + calbus_write_0 + + out + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + calbus_address_0 + + out + + + 0 + 19 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_wdata_0 + + out + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_rdata_0 + + in + + + 0 + 31 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_seq_param_tbl_0 + + in + + + 0 + 4095 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + calbus_clk + + out + + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + emif_cal + altera_emif_cal + 2.7.4 + + + + + AXM_ID_NUM + AXI ID + 0 + + + NUM_CALBUS_INTERFACE + Number of Calibration Interfaces + 1 + + + DIAG_SIM_CAL_MODE_ENUM + Calibration mode for simulation + SIM_CAL_MODE_SKIP + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + Quartus Prime EMIF Debug Toolkit/On-Chip Debug Port + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_SIM_VERBOSE + Show verbose simulation debug messages + false + + + ENABLE_DDRT + Enable DDRT functionality + false + + + DIAG_SYNTH_FOR_SIM + Synthesize for simulation + false + + + DIAG_EXTRA_CONFIGS + Extra configuration + + + + DIAG_EXPORT_VJI + Export Virtual JTAG Interface (VJI) + false + + + SHORT_QSYS_INTERFACE_NAMES + Use short Qsys interface names + true + + + DIAG_ENABLE_JTAG_UART + Enable JTAG UART + false + + + PHY_DDRT_EXPORT_CLK_STP_IF + Export clock stopper interface + false + + + AUTO_DEVICE_FAMILY + Auto DEVICE_FAMILY + Agilex 7 + + + AUTO_DEVICE + Auto DEVICE + AGFB014R24B2E2V + + + AUTO_DEVICE_SPEEDGRADE + Auto DEVICE_SPEEDGRADE + 2 + + + AUTO_BOARD + Auto BOARD + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + + + + + board + Board + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Agilex 7"; + type = "String"; + } + } + element emif_cal_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} + + + + hideFromIPCatalog + Hide from IP Catalog + true + + + lockedInterfaceDefinition + lockedInterfaceDefinition + <boundaryDefinition> + <interfaces> + <interface> + <name>emif_calbus_0</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>calbus_read_0</name> + <role>calbus_read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_write_0</name> + <role>calbus_write</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_address_0</name> + <role>calbus_address</role> + <direction>Output</direction> + <width>20</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_wdata_0</name> + <role>calbus_wdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_rdata_0</name> + <role>calbus_rdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + <port> + <name>calbus_seq_param_tbl_0</name> + <role>calbus_seq_param_tbl</role> + <direction>Input</direction> + <width>4096</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>emif_calbus_clk</value> + </entry> + <entry> + <key>associatedReset</key> + </entry> + <entry> + <key>prSafe</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>emif_calbus_clk</name> + <type>clock</type> + <isStart>true</isStart> + <ports> + <port> + <name>calbus_clk</name> + <role>clk</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + <terminationValue>0</terminationValue> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedDirectClock</key> + </entry> + <entry> + <key>clockRate</key> + <value>0</value> + </entry> + <entry> + <key>clockRateKnown</key> + <value>false</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition> + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>emif_calbus_clk</key> + <value> + <connectionPointName>emif_calbus_clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>0</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + <cpuInfoDefinition> + <version>1</version> + <cpuGroups/> + <exportedModules/> + <systemInformation> + <name>emif_cal_0</name> + <deviceFamily>Agilex 7</deviceFamily> + <generateLegacySim>false</generateLegacySim> + </systemInformation> +</cpuInfoDefinition> + + + + + + + + + + + + + + + + + + + + + Intel Corporation + addressAndMemoryMap + addressAndMemoryMap + 1.0 + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_274/synth/emif_cal_altera_emif_cal_274_kaypsya.v b/corev_apu/altera/ip/emif_cal/altera_emif_cal_274/synth/emif_cal_altera_emif_cal_274_kaypsya.v new file mode 100644 index 0000000000..64ff3a445a --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_274/synth/emif_cal_altera_emif_cal_274_kaypsya.v @@ -0,0 +1,166 @@ +// emif_cal_altera_emif_cal_274_kaypsya.v + +// This file was auto-generated from altera_emif_cal_hw.tcl. If you edit it your changes +// will probably be lost. +// +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module emif_cal_altera_emif_cal_274_kaypsya ( + output wire calbus_read_0, // emif_calbus_0.calbus_read, EMIF Calibration component bus for read + output wire calbus_write_0, // .calbus_write, EMIF Calibration component bus for write + output wire [19:0] calbus_address_0, // .calbus_address, EMIF Calibration component bus for address + output wire [31:0] calbus_wdata_0, // .calbus_wdata, EMIF Calibration component bus for write data + input wire [31:0] calbus_rdata_0, // .calbus_rdata, EMIF Calibration component bus for read data + input wire [4095:0] calbus_seq_param_tbl_0, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + output wire calbus_clk // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + ); + + emif_cal_altera_emif_cal_iossm_274_yagv7fq #( + .NUM_CALBUS_USED (1), + .IOSSM_USE_MODEL (1), + .USE_SYNTH_FOR_SIM (0), + .USE_SOFT_NIOS (0), + .IOSSM_SIM_NIOS_PERIOD_PS (800), + .SEQ_GPT_GLOBAL_PAR_VER (2), + .SEQ_GPT_NIOS_C_VER (1), + .SEQ_GPT_COLUMN_ID (1), + .SEQ_GPT_NUM_IOPACKS (16), + .SEQ_GPT_NIOS_CLK_FREQ_KHZ (250000), + .SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ (1250000), + .SEQ_GPT_PARAM_TABLE_SIZE (612), + .SEQ_GPT_GLOBAL_SKIP_STEPS (8), + .SIM_SEQ_GPT_GLOBAL_SKIP_STEPS (1631), + .SEQ_GPT_GLOBAL_CAL_CONFIG (0), + .SEQ_GPT_SLAVE_CLK_DIVIDER (28), + .PORT_CAL_DEBUG_ADDRESS_WIDTH (27), + .PORT_CAL_DEBUG_RDATA_WIDTH (32), + .PORT_CAL_DEBUG_WDATA_WIDTH (32), + .PORT_CAL_DEBUG_BYTEEN_WIDTH (4), + .PORT_CALBUS_ADDRESS_WIDTH (20), + .PORT_CALBUS_WDATA_WIDTH (32), + .PORT_CALBUS_RDATA_WIDTH (32), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (4096), + .PORT_VJI_IR_IN_WIDTH (2), + .PORT_VJI_IR_OUT_WIDTH (2) + ) emif_cal ( + .calbus_read_0 (calbus_read_0), // output, width = 1, emif_calbus_0.calbus_read + .calbus_write_0 (calbus_write_0), // output, width = 1, .calbus_write + .calbus_address_0 (calbus_address_0), // output, width = 20, .calbus_address + .calbus_wdata_0 (calbus_wdata_0), // output, width = 32, .calbus_wdata + .calbus_rdata_0 (calbus_rdata_0), // input, width = 32, .calbus_rdata + .calbus_seq_param_tbl_0 (calbus_seq_param_tbl_0), // input, width = 4096, .calbus_seq_param_tbl + .calbus_clk (calbus_clk), // output, width = 1, emif_calbus_clk.clk + .cal_debug_waitrequest (), // (terminated), + .cal_debug_read (1'b0), // (terminated), + .cal_debug_write (1'b0), // (terminated), + .cal_debug_addr (27'b000000000000000000000000000), // (terminated), + .cal_debug_read_data (), // (terminated), + .cal_debug_write_data (32'b00000000000000000000000000000000), // (terminated), + .cal_debug_byteenable (4'b0000), // (terminated), + .cal_debug_read_data_valid (), // (terminated), + .cal_debug_clk (1'b0), // (terminated), + .cal_debug_reset_n (1'b1), // (terminated), + .calbus_read_1 (), // (terminated), + .calbus_write_1 (), // (terminated), + .calbus_address_1 (), // (terminated), + .calbus_wdata_1 (), // (terminated), + .calbus_rdata_1 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_1 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_2 (), // (terminated), + .calbus_write_2 (), // (terminated), + .calbus_address_2 (), // (terminated), + .calbus_wdata_2 (), // (terminated), + .calbus_rdata_2 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_2 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_3 (), // (terminated), + .calbus_write_3 (), // (terminated), + .calbus_address_3 (), // (terminated), + .calbus_wdata_3 (), // (terminated), + .calbus_rdata_3 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_3 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_4 (), // (terminated), + .calbus_write_4 (), // (terminated), + .calbus_address_4 (), // (terminated), + .calbus_wdata_4 (), // (terminated), + .calbus_rdata_4 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_4 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_5 (), // (terminated), + .calbus_write_5 (), // (terminated), + .calbus_address_5 (), // (terminated), + .calbus_wdata_5 (), // (terminated), + .calbus_rdata_5 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_5 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_6 (), // (terminated), + .calbus_write_6 (), // (terminated), + .calbus_address_6 (), // (terminated), + .calbus_wdata_6 (), // (terminated), + .calbus_rdata_6 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_6 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_7 (), // (terminated), + .calbus_write_7 (), // (terminated), + .calbus_address_7 (), // (terminated), + .calbus_wdata_7 (), // (terminated), + .calbus_rdata_7 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_7 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_8 (), // (terminated), + .calbus_write_8 (), // (terminated), + .calbus_address_8 (), // (terminated), + .calbus_wdata_8 (), // (terminated), + .calbus_rdata_8 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_8 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_9 (), // (terminated), + .calbus_write_9 (), // (terminated), + .calbus_address_9 (), // (terminated), + .calbus_wdata_9 (), // (terminated), + .calbus_rdata_9 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_9 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_10 (), // (terminated), + .calbus_write_10 (), // (terminated), + .calbus_address_10 (), // (terminated), + .calbus_wdata_10 (), // (terminated), + .calbus_rdata_10 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_10 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_11 (), // (terminated), + .calbus_write_11 (), // (terminated), + .calbus_address_11 (), // (terminated), + .calbus_wdata_11 (), // (terminated), + .calbus_rdata_11 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_11 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_12 (), // (terminated), + .calbus_write_12 (), // (terminated), + .calbus_address_12 (), // (terminated), + .calbus_wdata_12 (), // (terminated), + .calbus_rdata_12 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_12 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_13 (), // (terminated), + .calbus_write_13 (), // (terminated), + .calbus_address_13 (), // (terminated), + .calbus_wdata_13 (), // (terminated), + .calbus_rdata_13 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_13 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_14 (), // (terminated), + .calbus_write_14 (), // (terminated), + .calbus_address_14 (), // (terminated), + .calbus_wdata_14 (), // (terminated), + .calbus_rdata_14 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_14 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .calbus_read_15 (), // (terminated), + .calbus_write_15 (), // (terminated), + .calbus_address_15 (), // (terminated), + .calbus_wdata_15 (), // (terminated), + .calbus_rdata_15 (32'b00000000000000000000000000000000), // (terminated), + .calbus_seq_param_tbl_15 (4096'b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), // (terminated), + .vji_ir_in (2'b00), // (terminated), + .vji_ir_out (), // (terminated), + .vji_jtag_state_rti (1'b0), // (terminated), + .vji_tck (1'b0), // (terminated), + .vji_tdi (1'b0), // (terminated), + .vji_tdo (), // (terminated), + .vji_virtual_state_cdr (1'b0), // (terminated), + .vji_virtual_state_sdr (1'b0), // (terminated), + .vji_virtual_state_udr (1'b0), // (terminated), + .vji_virtual_state_uir (1'b0) // (terminated), + ); + +endmodule diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_cal_iossm.sv b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_cal_iossm.sv new file mode 100644 index 0000000000..77526c72c0 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_cal_iossm.sv @@ -0,0 +1,494 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +module altera_emif_cal_iossm #( + // IOSSM parameters + parameter IOSSM_CODE_HEX_FILENAME = "", + parameter IOSSM_USE_MODEL = 1, + + parameter IOSSM_SIM_GPT_HEX_FILENAME = "", + parameter IOSSM_SYNTH_GPT_HEX_FILENAME = "", + parameter IOSSM_SIM_NIOS_PERIOD_PS = 0, + + // Debug Parameters + parameter USE_SYNTH_FOR_SIM = 0, + parameter DIAG_EXPORT_VJI = 0, + + // Port widths for core debug access + parameter PORT_CAL_DEBUG_ADDRESS_WIDTH = 1, + parameter PORT_CAL_DEBUG_BYTEEN_WIDTH = 1, + parameter PORT_CAL_DEBUG_RDATA_WIDTH = 1, + parameter PORT_CAL_DEBUG_WDATA_WIDTH = 1, + + // Port widths for core debug access + parameter PORT_CALBUS_ADDRESS_WIDTH = 1, + parameter PORT_CALBUS_WDATA_WIDTH = 1, + parameter PORT_CALBUS_RDATA_WIDTH = 1, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 1, + + + // Global param table data + parameter SEQ_GPT_GLOBAL_PAR_VER = 0, + parameter SEQ_GPT_NIOS_C_VER = 0, + parameter SEQ_GPT_COLUMN_ID = 0, + parameter SEQ_GPT_NUM_IOPACKS = 0, + parameter SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SEQ_GPT_PARAM_TABLE_SIZE = 0, + parameter SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + parameter SEQ_GPT_GLOBAL_CAL_CONFIG = 0, + parameter SEQ_GPT_SLAVE_CLK_DIVIDER = 0, + + parameter SEQ_USE_SIM_PARAMS = "", + parameter SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SIM_SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + + // Hard-Nios debug ports + parameter PORT_VJI_IR_IN_WIDTH = 1, + parameter PORT_VJI_IR_OUT_WIDTH = 1, + + // Enable/disable Abstract PHY + parameter NUM_CALBUS_USED = 1, + parameter USE_SOFT_NIOS = 0 +) ( + + // EMIF calibration bus interfaces + output logic calbus_clk, + + output logic calbus_read_0, + output logic calbus_write_0, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_0, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_0, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_0, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_0, + + output logic calbus_read_1, + output logic calbus_write_1, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_1, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_1, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_1, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_1, + + output logic calbus_read_2, + output logic calbus_write_2, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_2, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_2, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_2, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_2, + + output logic calbus_read_3, + output logic calbus_write_3, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_3, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_3, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_3, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_3, + + output logic calbus_read_4, + output logic calbus_write_4, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_4, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_4, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_4, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_4, + + output logic calbus_read_5, + output logic calbus_write_5, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_5, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_5, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_5, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_5, + + output logic calbus_read_6, + output logic calbus_write_6, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_6, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_6, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_6, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_6, + + output logic calbus_read_7, + output logic calbus_write_7, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_7, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_7, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_7, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_7, + + output logic calbus_read_8, + output logic calbus_write_8, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_8, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_8, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_8, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_8, + + output logic calbus_read_9, + output logic calbus_write_9, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_9, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_9, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_9, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_9, + + output logic calbus_read_10, + output logic calbus_write_10, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_10, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_10, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_10, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_10, + + output logic calbus_read_11, + output logic calbus_write_11, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_11, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_11, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_11, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_11, + + output logic calbus_read_12, + output logic calbus_write_12, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_12, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_12, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_12, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_12, + + output logic calbus_read_13, + output logic calbus_write_13, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_13, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_13, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_13, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_13, + + output logic calbus_read_14, + output logic calbus_write_14, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_14, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_14, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_14, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_14, + + output logic calbus_read_15, + output logic calbus_write_15, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_15, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_15, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_15, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_15, + + // Input clock/reset intended for core logic connected to the Avalon slave port of the sequencer CPU. + // The "out" clock/reset is intended for daisy-chaining logic from multiple interfaces. + // Ports for "cal_debug" interface + input logic cal_debug_clk, + input logic cal_debug_reset_n, + input logic [PORT_CAL_DEBUG_ADDRESS_WIDTH-1:0] cal_debug_addr, + input logic [PORT_CAL_DEBUG_BYTEEN_WIDTH-1:0] cal_debug_byteenable, + input logic cal_debug_read, + input logic cal_debug_write, + input logic [PORT_CAL_DEBUG_WDATA_WIDTH-1:0] cal_debug_write_data, + output logic [PORT_CAL_DEBUG_RDATA_WIDTH-1:0] cal_debug_read_data, + output logic cal_debug_read_data_valid, + output logic cal_debug_waitrequest, + + // Hard-Nios debug port + input logic [1:0] vji_ir_in, + output logic [1:0] vji_ir_out, + input logic vji_jtag_state_rti, + input logic vji_tck, + input logic vji_tdi, + output logic vji_tdo, + input logic vji_virtual_state_cdr, + input logic vji_virtual_state_sdr, + input logic vji_virtual_state_udr, + input logic vji_virtual_state_uir +); + timeunit 1ns; + timeprecision 1ps; + + // Derive localparam values + + // Typically we synthesize full-calibration behavior for hardware, + // except when USE_SYNTH_FOR_SIM is set, which allows flows such + // as post-fit simulation to adopt RTL simulation behavior. + localparam REMAP_IOSSM_GPT_HEX_FILENAME = (SEQ_USE_SIM_PARAMS == "on") ? IOSSM_SIM_GPT_HEX_FILENAME : ( + (USE_SYNTH_FOR_SIM) ? IOSSM_SIM_GPT_HEX_FILENAME : IOSSM_SYNTH_GPT_HEX_FILENAME ); + localparam REMAP_SEQ_GPT_NIOS_CLK_FREQ_KHZ = (SEQ_USE_SIM_PARAMS == "on") ? SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ : ( + (USE_SYNTH_FOR_SIM) ? SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ : SEQ_GPT_NIOS_CLK_FREQ_KHZ ); + localparam REMAP_SEQ_GPT_GLOBAL_SKIP_STEPS = (SEQ_USE_SIM_PARAMS == "on") ? SIM_SEQ_GPT_GLOBAL_SKIP_STEPS : ( + (USE_SYNTH_FOR_SIM) ? SIM_SEQ_GPT_GLOBAL_SKIP_STEPS : SEQ_GPT_GLOBAL_SKIP_STEPS ); + + wire w_vji_cdr_to_the_hard_nios; + wire [ 1: 0] w_vji_ir_in_to_the_hard_nios; + wire w_vji_rti_to_the_hard_nios; + wire w_vji_sdr_to_the_hard_nios; + wire w_vji_tck_to_the_hard_nios; + wire w_vji_tdi_to_the_hard_nios; + wire w_vji_udr_to_the_hard_nios; + wire w_vji_uir_to_the_hard_nios; + + wire [ 1: 0] w_sld_vji_ir_out_from_the_hard_nios; + wire w_sld_vji_tdo_from_the_hard_nios; + wire [ 1: 0] w_vji_ir_out_from_the_hard_nios; + wire w_vji_tdo_from_the_hard_nios; + + wire [15:0][PORT_CALBUS_WDATA_WIDTH-1:0] calbus_rdata_i; + wire [15:0][PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_i; + + logic [7:0] soft_nios_read_data; + logic soft_nios_rdata_valid_n; + logic soft_nios_waitrequest_n; + + logic soft_nios_read; + logic soft_nios_write; + logic soft_nios_byteenable; + logic [7:0] soft_nios_write_data; + logic [6:0] soft_nios_address; + + + generate if (USE_SOFT_NIOS != 0) begin + altera_emif_f2c_gearbox #( + .PORT_CAL_DEBUG_ADDRESS_WIDTH (PORT_CAL_DEBUG_ADDRESS_WIDTH), + .PORT_CAL_DEBUG_BYTEEN_WIDTH (PORT_CAL_DEBUG_BYTEEN_WIDTH), + .PORT_CAL_DEBUG_RDATA_WIDTH (PORT_CAL_DEBUG_RDATA_WIDTH), + .PORT_CAL_DEBUG_WDATA_WIDTH (PORT_CAL_DEBUG_WDATA_WIDTH) + ) f2c_gearbox_inst ( + .clk (cal_debug_clk), + .reset_n (cal_debug_reset_n), + + .cal_debug_addr (cal_debug_addr), + .cal_debug_byteenable (cal_debug_byteenable), + .cal_debug_read (cal_debug_read), + .cal_debug_write (cal_debug_write), + .cal_debug_write_data (cal_debug_write_data), + + .cal_debug_read_data (cal_debug_read_data), + .cal_debug_read_data_valid(cal_debug_read_data_valid), + .cal_debug_waitrequest (cal_debug_waitrequest), + + .soft_nios_read_data (soft_nios_read_data), + .soft_nios_rdata_valid_n (soft_nios_rdata_valid_n), + .soft_nios_waitrequest_n (soft_nios_waitrequest_n), + + .soft_nios_read (soft_nios_read), + .soft_nios_write (soft_nios_write), + .soft_nios_byteenable (soft_nios_byteenable), + .soft_nios_write_data (soft_nios_write_data), + .soft_nios_address (soft_nios_address) + ); + end else begin + assign soft_nios_address = 7'd0; + assign soft_nios_byteenable = 1'b0; + assign soft_nios_write_data = 8'd0; + assign soft_nios_read = 1'b0; + assign soft_nios_write = 1'b0; + assign cal_debug_read_data = '0; + assign cal_debug_read_data_valid = '0; + assign cal_debug_waitrequest = '0; + end + endgenerate + + assign calbus_rdata_i[0] = (NUM_CALBUS_USED > 0) ? calbus_rdata_0 : 'd0; + assign calbus_seq_param_tbl_i[0] = (NUM_CALBUS_USED > 0) ? calbus_seq_param_tbl_0 : 'd0; + assign calbus_rdata_i[1] = (NUM_CALBUS_USED > 1) ? calbus_rdata_1 : 'd0; + assign calbus_seq_param_tbl_i[1] = (NUM_CALBUS_USED > 1) ? calbus_seq_param_tbl_1 : 'd0; + assign calbus_rdata_i[2] = (NUM_CALBUS_USED > 2) ? calbus_rdata_2 : 'd0; + assign calbus_seq_param_tbl_i[2] = (NUM_CALBUS_USED > 2) ? calbus_seq_param_tbl_2 : 'd0; + assign calbus_rdata_i[3] = (NUM_CALBUS_USED > 3) ? calbus_rdata_3 : 'd0; + assign calbus_seq_param_tbl_i[3] = (NUM_CALBUS_USED > 3) ? calbus_seq_param_tbl_3 : 'd0; + assign calbus_rdata_i[4] = (NUM_CALBUS_USED > 4) ? calbus_rdata_4 : 'd0; + assign calbus_seq_param_tbl_i[4] = (NUM_CALBUS_USED > 4) ? calbus_seq_param_tbl_4 : 'd0; + assign calbus_rdata_i[5] = (NUM_CALBUS_USED > 5) ? calbus_rdata_5 : 'd0; + assign calbus_seq_param_tbl_i[5] = (NUM_CALBUS_USED > 5) ? calbus_seq_param_tbl_5 : 'd0; + assign calbus_rdata_i[6] = (NUM_CALBUS_USED > 6) ? calbus_rdata_6 : 'd0; + assign calbus_seq_param_tbl_i[6] = (NUM_CALBUS_USED > 6) ? calbus_seq_param_tbl_6 : 'd0; + assign calbus_rdata_i[7] = (NUM_CALBUS_USED > 7) ? calbus_rdata_7 : 'd0; + assign calbus_seq_param_tbl_i[7] = (NUM_CALBUS_USED > 7) ? calbus_seq_param_tbl_7 : 'd0; + assign calbus_rdata_i[8] = (NUM_CALBUS_USED > 8) ? calbus_rdata_8 : 'd0; + assign calbus_seq_param_tbl_i[8] = (NUM_CALBUS_USED > 8) ? calbus_seq_param_tbl_8 : 'd0; + assign calbus_rdata_i[9] = (NUM_CALBUS_USED > 9) ? calbus_rdata_9 : 'd0; + assign calbus_seq_param_tbl_i[9] = (NUM_CALBUS_USED > 9) ? calbus_seq_param_tbl_9 : 'd0; + assign calbus_rdata_i[10] = (NUM_CALBUS_USED > 10) ? calbus_rdata_10 : 'd0; + assign calbus_seq_param_tbl_i[10] = (NUM_CALBUS_USED > 10) ? calbus_seq_param_tbl_10 : 'd0; + assign calbus_rdata_i[11] = (NUM_CALBUS_USED > 11) ? calbus_rdata_11 : 'd0; + assign calbus_seq_param_tbl_i[11] = (NUM_CALBUS_USED > 11) ? calbus_seq_param_tbl_11 : 'd0; + assign calbus_rdata_i[12] = (NUM_CALBUS_USED > 12) ? calbus_rdata_12 : 'd0; + assign calbus_seq_param_tbl_i[12] = (NUM_CALBUS_USED > 12) ? calbus_seq_param_tbl_12 : 'd0; + assign calbus_rdata_i[13] = (NUM_CALBUS_USED > 13) ? calbus_rdata_13 : 'd0; + assign calbus_seq_param_tbl_i[13] = (NUM_CALBUS_USED > 13) ? calbus_seq_param_tbl_13 : 'd0; + assign calbus_rdata_i[14] = (NUM_CALBUS_USED > 14) ? calbus_rdata_14 : 'd0; + assign calbus_seq_param_tbl_i[14] = (NUM_CALBUS_USED > 14) ? calbus_seq_param_tbl_14 : 'd0; + assign calbus_rdata_i[15] = (NUM_CALBUS_USED > 15) ? calbus_rdata_15 : 'd0; + assign calbus_seq_param_tbl_i[15] = (NUM_CALBUS_USED > 15) ? calbus_seq_param_tbl_15 : 'd0; + + tennm_iossm # ( + .gpt_ver (SEQ_GPT_GLOBAL_PAR_VER), + .nios_ver (SEQ_GPT_NIOS_C_VER), + .col_id (SEQ_GPT_COLUMN_ID), + .num_iopacks (SEQ_GPT_NUM_IOPACKS), + .pt_size (SEQ_GPT_PARAM_TABLE_SIZE), + .cal_config (SEQ_GPT_GLOBAL_CAL_CONFIG), + .slave_clk_divider (SEQ_GPT_SLAVE_CLK_DIVIDER), + .nios_clk_freq (REMAP_SEQ_GPT_NIOS_CLK_FREQ_KHZ), + .skip_steps (REMAP_SEQ_GPT_GLOBAL_SKIP_STEPS), + .parameter_table_hex_file (REMAP_IOSSM_GPT_HEX_FILENAME), + + .abstract_phy ("false"), + .iossm_sim_clk_period_ps (IOSSM_SIM_NIOS_PERIOD_PS), + .nios_calibration_code_hex_file(IOSSM_CODE_HEX_FILENAME), + .iossm_use_model (IOSSM_USE_MODEL) + ) io_ssm ( + .soft_nios_irq (4'b0), + .soft_nios_address (soft_nios_address), + .soft_nios_byteenable (soft_nios_byteenable), + .soft_nios_clk (cal_debug_clk), + .soft_nios_read (soft_nios_read), + .soft_nios_write (soft_nios_write), + .soft_nios_write_data (soft_nios_write_data), + .soft_nios_read_data (soft_nios_read_data), + .soft_nios_rdata_valid (soft_nios_rdata_valid_n), + .soft_nios_waitrequest (soft_nios_waitrequest_n), + + // IO Subsystem Calibration Bus + .calbus_clock (calbus_clk), + + .calbus_read_0 (calbus_read_0), + .calbus_write_0 (calbus_write_0), + .calbus_address_0 (calbus_address_0), + .calbus_wdata_0 (calbus_wdata_0), + .calbus_rdata_0 (calbus_rdata_i[0]), + .calbus_param_tbl_0 (calbus_seq_param_tbl_i[0]), + + .calbus_read_1 (calbus_read_1), + .calbus_write_1 (calbus_write_1), + .calbus_address_1 (calbus_address_1), + .calbus_wdata_1 (calbus_wdata_1), + .calbus_rdata_1 (calbus_rdata_i[1]), + .calbus_param_tbl_1 (calbus_seq_param_tbl_i[1]), + + .calbus_read_2 (calbus_read_2), + .calbus_write_2 (calbus_write_2), + .calbus_address_2 (calbus_address_2), + .calbus_wdata_2 (calbus_wdata_2), + .calbus_rdata_2 (calbus_rdata_i[2]), + .calbus_param_tbl_2 (calbus_seq_param_tbl_i[2]), + + .calbus_read_3 (calbus_read_3), + .calbus_write_3 (calbus_write_3), + .calbus_address_3 (calbus_address_3), + .calbus_wdata_3 (calbus_wdata_3), + .calbus_rdata_3 (calbus_rdata_i[3]), + .calbus_param_tbl_3 (calbus_seq_param_tbl_i[3]), + + .calbus_read_4 (calbus_read_4), + .calbus_write_4 (calbus_write_4), + .calbus_address_4 (calbus_address_4), + .calbus_wdata_4 (calbus_wdata_4), + .calbus_rdata_4 (calbus_rdata_i[4]), + .calbus_param_tbl_4 (calbus_seq_param_tbl_i[4]), + + .calbus_read_5 (calbus_read_5), + .calbus_write_5 (calbus_write_5), + .calbus_address_5 (calbus_address_5), + .calbus_wdata_5 (calbus_wdata_5), + .calbus_rdata_5 (calbus_rdata_i[5]), + .calbus_param_tbl_5 (calbus_seq_param_tbl_i[5]), + + .calbus_read_6 (calbus_read_6), + .calbus_write_6 (calbus_write_6), + .calbus_address_6 (calbus_address_6), + .calbus_wdata_6 (calbus_wdata_6), + .calbus_rdata_6 (calbus_rdata_i[6]), + .calbus_param_tbl_6 (calbus_seq_param_tbl_i[6]), + + .calbus_read_7 (calbus_read_7), + .calbus_write_7 (calbus_write_7), + .calbus_address_7 (calbus_address_7), + .calbus_wdata_7 (calbus_wdata_7), + .calbus_rdata_7 (calbus_rdata_i[7]), + .calbus_param_tbl_7 (calbus_seq_param_tbl_i[7]), + + .calbus_read_8 (calbus_read_8), + .calbus_write_8 (calbus_write_8), + .calbus_address_8 (calbus_address_8), + .calbus_wdata_8 (calbus_wdata_8), + .calbus_rdata_8 (calbus_rdata_i[8]), + .calbus_param_tbl_8 (calbus_seq_param_tbl_i[8]), + + .calbus_read_9 (calbus_read_9), + .calbus_write_9 (calbus_write_9), + .calbus_address_9 (calbus_address_9), + .calbus_wdata_9 (calbus_wdata_9), + .calbus_rdata_9 (calbus_rdata_i[9]), + .calbus_param_tbl_9 (calbus_seq_param_tbl_i[9]), + + .calbus_read_10 (calbus_read_10), + .calbus_write_10 (calbus_write_10), + .calbus_address_10 (calbus_address_10), + .calbus_wdata_10 (calbus_wdata_10), + .calbus_rdata_10 (calbus_rdata_i[10]), + .calbus_param_tbl_10 (calbus_seq_param_tbl_i[10]), + + .calbus_read_11 (calbus_read_11), + .calbus_write_11 (calbus_write_11), + .calbus_address_11 (calbus_address_11), + .calbus_wdata_11 (calbus_wdata_11), + .calbus_rdata_11 (calbus_rdata_i[11]), + .calbus_param_tbl_11 (calbus_seq_param_tbl_i[11]), + + .calbus_read_12 (calbus_read_12), + .calbus_write_12 (calbus_write_12), + .calbus_address_12 (calbus_address_12), + .calbus_wdata_12 (calbus_wdata_12), + .calbus_rdata_12 (calbus_rdata_i[12]), + .calbus_param_tbl_12 (calbus_seq_param_tbl_i[12]), + + .calbus_read_13 (calbus_read_13), + .calbus_write_13 (calbus_write_13), + .calbus_address_13 (calbus_address_13), + .calbus_wdata_13 (calbus_wdata_13), + .calbus_rdata_13 (calbus_rdata_i[13]), + .calbus_param_tbl_13 (calbus_seq_param_tbl_i[13]), + + .calbus_read_14 (calbus_read_14), + .calbus_write_14 (calbus_write_14), + .calbus_address_14 (calbus_address_14), + .calbus_wdata_14 (calbus_wdata_14), + .calbus_rdata_14 (calbus_rdata_i[14]), + .calbus_param_tbl_14 (calbus_seq_param_tbl_i[14]), + + .calbus_read_15 (calbus_read_15), + .calbus_write_15 (calbus_write_15), + .calbus_address_15 (calbus_address_15), + .calbus_wdata_15 (calbus_wdata_15), + .calbus_rdata_15 (calbus_rdata_i[15]), + .calbus_param_tbl_15 (calbus_seq_param_tbl_i[15]), + + // IO Subsystem Calibration Bus + .vji_cdr_to_the_hard_nios (w_vji_cdr_to_the_hard_nios), + .vji_ir_in_to_the_hard_nios (w_vji_ir_in_to_the_hard_nios), + .vji_rti_to_the_hard_nios (w_vji_rti_to_the_hard_nios), + .vji_sdr_to_the_hard_nios (w_vji_sdr_to_the_hard_nios), + .vji_tck_to_the_hard_nios (w_vji_tck_to_the_hard_nios), + .vji_tdi_to_the_hard_nios (w_vji_tdi_to_the_hard_nios), + .vji_udr_to_the_hard_nios (w_vji_udr_to_the_hard_nios), + .vji_uir_to_the_hard_nios (w_vji_uir_to_the_hard_nios), + .vji_ir_out_from_the_hard_nios (w_vji_ir_out_from_the_hard_nios), + .vji_tdo_from_the_hard_nios (w_vji_tdo_from_the_hard_nios) + ); + + assign w_vji_cdr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_cdr : 1'b0; + assign w_vji_ir_in_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_ir_in : 2'b00; + assign w_vji_rti_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_jtag_state_rti : 1'b0; + assign w_vji_sdr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_sdr : 1'b0; + assign w_vji_tck_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_tck : 1'b0; + assign w_vji_tdi_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_tdi : 1'b0; + assign w_vji_udr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_udr : 1'b0; + assign w_vji_uir_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_uir : 1'b0; + assign vji_ir_out = DIAG_EXPORT_VJI ? w_vji_ir_out_from_the_hard_nios : 2'b0; + assign vji_tdo = DIAG_EXPORT_VJI ? w_vji_tdo_from_the_hard_nios : 1'b0; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0ECj3HSUaZMQdsHOEoejOcwJ2RhJ9P4QDVEXGenDAmBQiJAPz6SAV4DqS0an68FB0ZOw3u6Fz9ZnsNCxHESqqKIhmHXeOOJqT0TMS7OxARNfiGSYsGZkXP2aOsQbPMyMl9Na0FpG3tX2nCq+YzVLsQyswtPgjPY/GO4ZMgPdYdp5JKSfreaxYuiLxTeDp4puFh9fP23Bzc62FleY5N14rrOPKFwR+NKcP0ZnDKesfQUGVQgHNDWd+yn8MPE4yKAFnC5UhP6/1eV6IVnPI3KCE7+1uvsrcyVo72I9ZjECteGSwb7zUBuIknMGGJLamSDccEEzp3d9zoNmEWwYEsAQ6sfJVbzrvs9dqrDzmsgVd7rsFQsAaIXZPlOjRlQJBcoDI69G4leYK9upuWONmbxZPwESZDMmSech7WRSR+Pfg8IhH2pcuaqwx+Flyt8/fEZd1nHHn/r7IbrV7vPwpWv6bwfQE4+LOlUxGkicqW/zIbwPWua1Y1pF8kRl1B24DA9A2PuASSdsPDi8qf8524t2r4XrzPEfPSuA4z8fLDKNUZ6WPPatW6xFtOpQrgjniprbGZ5Cdzlihkh1KGZUQFWqGWG9vSMwb1XceNsZWsR1lhRieIwEpGXGARM7U6MnIf+7MlzH137TXgbWLPIOwNuFNQ1W5TQen1Ntb084V6b8dzDtE07gYYf8X3PH/73It0UuW5x0UXD6aSiIv+qp+H4rdL0sTo4SHIb8muoxzrwI7lCZtReafd6NvK5+I9wtZd+IdKqB6WabzhHQoHFJnu4BF4Z7" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_f2c_gearbox.sv b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_f2c_gearbox.sv new file mode 100644 index 0000000000..bb556d9e91 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/altera_emif_f2c_gearbox.sv @@ -0,0 +1,152 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +/////////////////////////////////////////////////////////////////////////////// +// This module implements the gearbox logic to compress the number of wire +// connections to the IOSSM debug port. +// +/////////////////////////////////////////////////////////////////////////////// + +module altera_emif_f2c_gearbox #( + // Port widths for core debug access + parameter PORT_CAL_DEBUG_ADDRESS_WIDTH = 1, + parameter PORT_CAL_DEBUG_BYTEEN_WIDTH = 1, + parameter PORT_CAL_DEBUG_RDATA_WIDTH = 1, + parameter PORT_CAL_DEBUG_WDATA_WIDTH = 1 +) ( + input logic clk, + input logic reset_n, + + input logic [PORT_CAL_DEBUG_ADDRESS_WIDTH-1:0] cal_debug_addr, + input logic [PORT_CAL_DEBUG_BYTEEN_WIDTH-1:0] cal_debug_byteenable, + input logic cal_debug_read, + input logic cal_debug_write, + input logic [PORT_CAL_DEBUG_WDATA_WIDTH-1:0] cal_debug_write_data, + + output logic [PORT_CAL_DEBUG_RDATA_WIDTH-1:0] cal_debug_read_data, + output logic cal_debug_read_data_valid, + output logic cal_debug_waitrequest, + + input logic [7:0] soft_nios_read_data, + input logic soft_nios_rdata_valid_n, + input logic soft_nios_waitrequest_n, + + output logic soft_nios_read, + output logic soft_nios_write, + output logic soft_nios_byteenable, + output logic [7:0] soft_nios_write_data, + output logic [6:0] soft_nios_address +); + timeunit 1ps; + timeprecision 1ps; + + typedef enum logic [2:0] { + F2C_IDLE = 3'b000, + F2C_WAIT = 3'b001, + F2C_CMD = 3'b010, + F2C_RDATA= 3'b100 + } f2c_state_t; + + localparam F2C_RDATA_SHIFT_CNT = PORT_CAL_DEBUG_RDATA_WIDTH / 8; + localparam F2C_CMD_SHIFT_CNT = PORT_CAL_DEBUG_BYTEEN_WIDTH; + + logic f2c_cmd_valid; + logic f2c_cmd_rnw; + logic [PORT_CAL_DEBUG_ADDRESS_WIDTH-1:0] f2c_cmd_addr; + logic [PORT_CAL_DEBUG_BYTEEN_WIDTH-1:0] f2c_byteenable; + logic [PORT_CAL_DEBUG_WDATA_WIDTH-1:0] f2c_write_data; + logic [PORT_CAL_DEBUG_RDATA_WIDTH-1:0] f2c_read_data; + + logic [3:0] f2c_cmd_shift; + logic [3:0] f2c_data_shift; + + logic f2c_cmd_done; + logic f2c_rdata_done; + logic f2c_cmd_carry_out; + logic f2c_data_carry_out; + + f2c_state_t f2c_state /* synthesis ignore_power_up */; + + always_ff @(posedge clk, negedge reset_n) begin + if (!reset_n) + f2c_state <= F2C_IDLE; + else begin + case (f2c_state) + F2C_IDLE: + if (cal_debug_read | cal_debug_write) + f2c_state <= F2C_WAIT; + F2C_WAIT: + if (~soft_nios_waitrequest_n) + f2c_state <= F2C_CMD; + F2C_CMD: + if (f2c_cmd_done) + f2c_state <= f2c_cmd_rnw ? F2C_RDATA : F2C_IDLE; + F2C_RDATA: + if (f2c_rdata_done) + f2c_state <= F2C_IDLE; + default: + f2c_state <= F2C_IDLE; + endcase + end + end + + always_ff @(posedge clk, negedge reset_n) begin + if (!reset_n) begin + f2c_cmd_rnw <= 1'b0; + f2c_cmd_addr <= 'b0; + f2c_byteenable <= 'b0; + f2c_write_data <= 'b0; + f2c_cmd_shift <= 'b0; + f2c_data_shift <= 'b0; + end else if (f2c_state == F2C_IDLE) begin + f2c_cmd_rnw <= cal_debug_read; + f2c_cmd_addr <= cal_debug_addr; + f2c_byteenable <= cal_debug_byteenable; + f2c_write_data <= cal_debug_write_data; + f2c_cmd_shift <= 'b0; + f2c_data_shift <= 'b0; + end else if (f2c_state == F2C_CMD) begin + {f2c_cmd_carry_out, f2c_cmd_shift} <= f2c_cmd_shift + 1; + f2c_cmd_addr <= {7'b0,f2c_cmd_addr [PORT_CAL_DEBUG_ADDRESS_WIDTH - 1 : 7]}; + f2c_byteenable <= {1'b0,f2c_byteenable [PORT_CAL_DEBUG_BYTEEN_WIDTH - 1 : 1]}; + f2c_write_data <= {8'b0,f2c_write_data [PORT_CAL_DEBUG_WDATA_WIDTH - 1 : 8]}; + end else if (f2c_state == F2C_RDATA && ~soft_nios_rdata_valid_n) begin + {f2c_data_carry_out, f2c_data_shift} <= f2c_data_shift + 1; + f2c_read_data <= {soft_nios_read_data, f2c_read_data[PORT_CAL_DEBUG_RDATA_WIDTH - 1 : 8]}; + end + end + + always_ff @(posedge clk, negedge reset_n) begin + if (!reset_n) + cal_debug_read_data_valid <= 1'b0; + else + cal_debug_read_data_valid <= f2c_rdata_done; + end + + assign f2c_cmd_valid = f2c_state == F2C_CMD; + assign f2c_cmd_done = f2c_cmd_shift == (F2C_CMD_SHIFT_CNT - 1); + assign f2c_rdata_done = f2c_data_shift == (F2C_RDATA_SHIFT_CNT - 1); + + assign soft_nios_read = f2c_cmd_valid & f2c_cmd_rnw; + assign soft_nios_write = f2c_cmd_valid & ~f2c_cmd_rnw; + assign soft_nios_byteenable = f2c_byteenable [0]; + assign soft_nios_write_data = f2c_write_data [7:0]; + assign soft_nios_address = f2c_cmd_addr [6:0]; + + assign cal_debug_waitrequest = f2c_state != F2C_IDLE; + assign cal_debug_read_data = f2c_read_data; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0EBIioGIcwebGLngzwkT26A7K1SYyh9Dtiac9CerfvFZcK7Sg5dxGmob6a6YHlOjHgxgTAJfWGmg9lJmaH2CWRDnu0TGIto6A0JDLdyo1DDH4xDr12EuwtDrBAjsPgqUebpmVU1ybjm4TYcJj/AMqFqoU5LxerYQ2a99pjJ/ssQDQLWyooHVX74eCxsTnmMuPm/aoYF2IrWT+TN8zan+zKrydptRlQ7eRZZkOvOIadDHLBkEYfQFijyq0W8punO2tFyECjnB3RTgfEeHEXC3apKnn7ek5S5rKJ6RT9hyYVDxJC85a/LaLIrobdZQHtV+QGL0ZS28XJ4yVZ9OLSc5QHLUG1djNtoEbZ7GFeGXurxO4efq+Dg5T9s/FTdouXm/oo5a2hGYAJQE0W3a73xlwhdsszCM3Ml+7+xjCpdcUl2bLcfM+tvIvIeTH+cijMGf6OZL47JY2IogcSd8deavB6h+4WNun4kDom0YSBWepSH/kEWP7/Gz7uI9hxyO3N8gh/PIyO8tvg1ALVEgiTwIeergUGRwuDC9o9m4otU97aiHGDeyBMwTGZ2Jm2DOTBTLvTf5jFnsznVrPoqJWTFqWtvTr3+e3eW+Y+V6CyFzP1Zwj/QIuH5wXJ6RVZSmfuZKgyUwMkjYrlQzjtTYmDjthbxv+sJ+LFLW18jyTpt96JNjn9JKmIlFFt/sTVgRsLqU5sOAHSQuZiHxIkAjRccPG8dHmpXKS9G3jDSAa9fju7CtRnXvXJrjUWjEfqG6FF1Rz5c5PrQyCiLTiTyMkodlMzKQ" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq.sv b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq.sv new file mode 100644 index 0000000000..bd59e2da4f --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq.sv @@ -0,0 +1,300 @@ +module emif_cal_altera_emif_cal_iossm_274_yagv7fq #( + parameter NUM_CALBUS_USED = 0, + parameter IOSSM_USE_MODEL = 0, + parameter USE_SYNTH_FOR_SIM = 0, + parameter USE_SOFT_NIOS = 0, + parameter IOSSM_SIM_NIOS_PERIOD_PS = 0, + parameter SEQ_GPT_GLOBAL_PAR_VER = 0, + parameter SEQ_GPT_NIOS_C_VER = 0, + parameter SEQ_GPT_COLUMN_ID = 0, + parameter SEQ_GPT_NUM_IOPACKS = 0, + parameter SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SEQ_GPT_PARAM_TABLE_SIZE = 0, + parameter SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + parameter SIM_SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + parameter SEQ_GPT_GLOBAL_CAL_CONFIG = 0, + parameter SEQ_GPT_SLAVE_CLK_DIVIDER = 0, + parameter PORT_CAL_DEBUG_ADDRESS_WIDTH = 0, + parameter PORT_CAL_DEBUG_RDATA_WIDTH = 0, + parameter PORT_CAL_DEBUG_WDATA_WIDTH = 0, + parameter PORT_CAL_DEBUG_BYTEEN_WIDTH = 0, + parameter PORT_CALBUS_ADDRESS_WIDTH = 0, + parameter PORT_CALBUS_WDATA_WIDTH = 0, + parameter PORT_CALBUS_RDATA_WIDTH = 0, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 0, + parameter PORT_VJI_IR_IN_WIDTH = 0, + parameter PORT_VJI_IR_OUT_WIDTH = 0 +) ( + output logic cal_debug_waitrequest, + input logic cal_debug_read, + input logic cal_debug_write, + input logic [26:0] cal_debug_addr, + output logic [31:0] cal_debug_read_data, + input logic [31:0] cal_debug_write_data, + input logic [3:0] cal_debug_byteenable, + output logic cal_debug_read_data_valid, + input logic cal_debug_clk, + input logic cal_debug_reset_n, + output logic calbus_read_0, + output logic calbus_write_0, + output logic [19:0] calbus_address_0, + output logic [31:0] calbus_wdata_0, + input logic [31:0] calbus_rdata_0, + input logic [4095:0] calbus_seq_param_tbl_0, + output logic calbus_read_1, + output logic calbus_write_1, + output logic [19:0] calbus_address_1, + output logic [31:0] calbus_wdata_1, + input logic [31:0] calbus_rdata_1, + input logic [4095:0] calbus_seq_param_tbl_1, + output logic calbus_read_2, + output logic calbus_write_2, + output logic [19:0] calbus_address_2, + output logic [31:0] calbus_wdata_2, + input logic [31:0] calbus_rdata_2, + input logic [4095:0] calbus_seq_param_tbl_2, + output logic calbus_read_3, + output logic calbus_write_3, + output logic [19:0] calbus_address_3, + output logic [31:0] calbus_wdata_3, + input logic [31:0] calbus_rdata_3, + input logic [4095:0] calbus_seq_param_tbl_3, + output logic calbus_read_4, + output logic calbus_write_4, + output logic [19:0] calbus_address_4, + output logic [31:0] calbus_wdata_4, + input logic [31:0] calbus_rdata_4, + input logic [4095:0] calbus_seq_param_tbl_4, + output logic calbus_read_5, + output logic calbus_write_5, + output logic [19:0] calbus_address_5, + output logic [31:0] calbus_wdata_5, + input logic [31:0] calbus_rdata_5, + input logic [4095:0] calbus_seq_param_tbl_5, + output logic calbus_read_6, + output logic calbus_write_6, + output logic [19:0] calbus_address_6, + output logic [31:0] calbus_wdata_6, + input logic [31:0] calbus_rdata_6, + input logic [4095:0] calbus_seq_param_tbl_6, + output logic calbus_read_7, + output logic calbus_write_7, + output logic [19:0] calbus_address_7, + output logic [31:0] calbus_wdata_7, + input logic [31:0] calbus_rdata_7, + input logic [4095:0] calbus_seq_param_tbl_7, + output logic calbus_read_8, + output logic calbus_write_8, + output logic [19:0] calbus_address_8, + output logic [31:0] calbus_wdata_8, + input logic [31:0] calbus_rdata_8, + input logic [4095:0] calbus_seq_param_tbl_8, + output logic calbus_read_9, + output logic calbus_write_9, + output logic [19:0] calbus_address_9, + output logic [31:0] calbus_wdata_9, + input logic [31:0] calbus_rdata_9, + input logic [4095:0] calbus_seq_param_tbl_9, + output logic calbus_read_10, + output logic calbus_write_10, + output logic [19:0] calbus_address_10, + output logic [31:0] calbus_wdata_10, + input logic [31:0] calbus_rdata_10, + input logic [4095:0] calbus_seq_param_tbl_10, + output logic calbus_read_11, + output logic calbus_write_11, + output logic [19:0] calbus_address_11, + output logic [31:0] calbus_wdata_11, + input logic [31:0] calbus_rdata_11, + input logic [4095:0] calbus_seq_param_tbl_11, + output logic calbus_read_12, + output logic calbus_write_12, + output logic [19:0] calbus_address_12, + output logic [31:0] calbus_wdata_12, + input logic [31:0] calbus_rdata_12, + input logic [4095:0] calbus_seq_param_tbl_12, + output logic calbus_read_13, + output logic calbus_write_13, + output logic [19:0] calbus_address_13, + output logic [31:0] calbus_wdata_13, + input logic [31:0] calbus_rdata_13, + input logic [4095:0] calbus_seq_param_tbl_13, + output logic calbus_read_14, + output logic calbus_write_14, + output logic [19:0] calbus_address_14, + output logic [31:0] calbus_wdata_14, + input logic [31:0] calbus_rdata_14, + input logic [4095:0] calbus_seq_param_tbl_14, + output logic calbus_read_15, + output logic calbus_write_15, + output logic [19:0] calbus_address_15, + output logic [31:0] calbus_wdata_15, + input logic [31:0] calbus_rdata_15, + input logic [4095:0] calbus_seq_param_tbl_15, + output logic calbus_clk, + input logic [1:0] vji_ir_in, + output logic [1:0] vji_ir_out, + input logic vji_jtag_state_rti, + input logic vji_tck, + input logic vji_tdi, + output logic vji_tdo, + input logic vji_virtual_state_cdr, + input logic vji_virtual_state_sdr, + input logic vji_virtual_state_udr, + input logic vji_virtual_state_uir +); + timeunit 1ns; + timeprecision 1ps; + + emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch # ( + .NUM_CALBUS_USED (NUM_CALBUS_USED), + .IOSSM_USE_MODEL (IOSSM_USE_MODEL), + .USE_SYNTH_FOR_SIM (USE_SYNTH_FOR_SIM), + .USE_SOFT_NIOS (USE_SOFT_NIOS), + .IOSSM_SIM_NIOS_PERIOD_PS (IOSSM_SIM_NIOS_PERIOD_PS), + .SEQ_GPT_GLOBAL_PAR_VER (SEQ_GPT_GLOBAL_PAR_VER), + .SEQ_GPT_NIOS_C_VER (SEQ_GPT_NIOS_C_VER), + .SEQ_GPT_COLUMN_ID (SEQ_GPT_COLUMN_ID), + .SEQ_GPT_NUM_IOPACKS (SEQ_GPT_NUM_IOPACKS), + .SEQ_GPT_NIOS_CLK_FREQ_KHZ (SEQ_GPT_NIOS_CLK_FREQ_KHZ), + .SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ (SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ), + .SEQ_GPT_PARAM_TABLE_SIZE (SEQ_GPT_PARAM_TABLE_SIZE), + .SEQ_GPT_GLOBAL_SKIP_STEPS (SEQ_GPT_GLOBAL_SKIP_STEPS), + .SIM_SEQ_GPT_GLOBAL_SKIP_STEPS (SIM_SEQ_GPT_GLOBAL_SKIP_STEPS), + .SEQ_GPT_GLOBAL_CAL_CONFIG (SEQ_GPT_GLOBAL_CAL_CONFIG), + .SEQ_GPT_SLAVE_CLK_DIVIDER (SEQ_GPT_SLAVE_CLK_DIVIDER), + .PORT_CAL_DEBUG_ADDRESS_WIDTH (PORT_CAL_DEBUG_ADDRESS_WIDTH), + .PORT_CAL_DEBUG_RDATA_WIDTH (PORT_CAL_DEBUG_RDATA_WIDTH), + .PORT_CAL_DEBUG_WDATA_WIDTH (PORT_CAL_DEBUG_WDATA_WIDTH), + .PORT_CAL_DEBUG_BYTEEN_WIDTH (PORT_CAL_DEBUG_BYTEEN_WIDTH), + .PORT_CALBUS_ADDRESS_WIDTH (PORT_CALBUS_ADDRESS_WIDTH), + .PORT_CALBUS_WDATA_WIDTH (PORT_CALBUS_WDATA_WIDTH), + .PORT_CALBUS_RDATA_WIDTH (PORT_CALBUS_RDATA_WIDTH), + .PORT_CALBUS_SEQ_PARAM_TBL_WIDTH (PORT_CALBUS_SEQ_PARAM_TBL_WIDTH), + .PORT_VJI_IR_IN_WIDTH (PORT_VJI_IR_IN_WIDTH), + .PORT_VJI_IR_OUT_WIDTH (PORT_VJI_IR_OUT_WIDTH), + .SEQ_USE_SIM_PARAMS ("off"), + .IOSSM_CODE_HEX_FILENAME ("emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex"), + .IOSSM_SIM_GPT_HEX_FILENAME ("emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex"), + .IOSSM_SYNTH_GPT_HEX_FILENAME ("emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex") + ) arch_inst ( + .cal_debug_waitrequest (cal_debug_waitrequest), + .cal_debug_read (cal_debug_read), + .cal_debug_write (cal_debug_write), + .cal_debug_addr (cal_debug_addr), + .cal_debug_read_data (cal_debug_read_data), + .cal_debug_write_data (cal_debug_write_data), + .cal_debug_byteenable (cal_debug_byteenable), + .cal_debug_read_data_valid (cal_debug_read_data_valid), + .cal_debug_clk (cal_debug_clk), + .cal_debug_reset_n (cal_debug_reset_n), + .calbus_read_0 (calbus_read_0), + .calbus_write_0 (calbus_write_0), + .calbus_address_0 (calbus_address_0), + .calbus_wdata_0 (calbus_wdata_0), + .calbus_rdata_0 (calbus_rdata_0), + .calbus_seq_param_tbl_0 (calbus_seq_param_tbl_0), + .calbus_read_1 (calbus_read_1), + .calbus_write_1 (calbus_write_1), + .calbus_address_1 (calbus_address_1), + .calbus_wdata_1 (calbus_wdata_1), + .calbus_rdata_1 (calbus_rdata_1), + .calbus_seq_param_tbl_1 (calbus_seq_param_tbl_1), + .calbus_read_2 (calbus_read_2), + .calbus_write_2 (calbus_write_2), + .calbus_address_2 (calbus_address_2), + .calbus_wdata_2 (calbus_wdata_2), + .calbus_rdata_2 (calbus_rdata_2), + .calbus_seq_param_tbl_2 (calbus_seq_param_tbl_2), + .calbus_read_3 (calbus_read_3), + .calbus_write_3 (calbus_write_3), + .calbus_address_3 (calbus_address_3), + .calbus_wdata_3 (calbus_wdata_3), + .calbus_rdata_3 (calbus_rdata_3), + .calbus_seq_param_tbl_3 (calbus_seq_param_tbl_3), + .calbus_read_4 (calbus_read_4), + .calbus_write_4 (calbus_write_4), + .calbus_address_4 (calbus_address_4), + .calbus_wdata_4 (calbus_wdata_4), + .calbus_rdata_4 (calbus_rdata_4), + .calbus_seq_param_tbl_4 (calbus_seq_param_tbl_4), + .calbus_read_5 (calbus_read_5), + .calbus_write_5 (calbus_write_5), + .calbus_address_5 (calbus_address_5), + .calbus_wdata_5 (calbus_wdata_5), + .calbus_rdata_5 (calbus_rdata_5), + .calbus_seq_param_tbl_5 (calbus_seq_param_tbl_5), + .calbus_read_6 (calbus_read_6), + .calbus_write_6 (calbus_write_6), + .calbus_address_6 (calbus_address_6), + .calbus_wdata_6 (calbus_wdata_6), + .calbus_rdata_6 (calbus_rdata_6), + .calbus_seq_param_tbl_6 (calbus_seq_param_tbl_6), + .calbus_read_7 (calbus_read_7), + .calbus_write_7 (calbus_write_7), + .calbus_address_7 (calbus_address_7), + .calbus_wdata_7 (calbus_wdata_7), + .calbus_rdata_7 (calbus_rdata_7), + .calbus_seq_param_tbl_7 (calbus_seq_param_tbl_7), + .calbus_read_8 (calbus_read_8), + .calbus_write_8 (calbus_write_8), + .calbus_address_8 (calbus_address_8), + .calbus_wdata_8 (calbus_wdata_8), + .calbus_rdata_8 (calbus_rdata_8), + .calbus_seq_param_tbl_8 (calbus_seq_param_tbl_8), + .calbus_read_9 (calbus_read_9), + .calbus_write_9 (calbus_write_9), + .calbus_address_9 (calbus_address_9), + .calbus_wdata_9 (calbus_wdata_9), + .calbus_rdata_9 (calbus_rdata_9), + .calbus_seq_param_tbl_9 (calbus_seq_param_tbl_9), + .calbus_read_10 (calbus_read_10), + .calbus_write_10 (calbus_write_10), + .calbus_address_10 (calbus_address_10), + .calbus_wdata_10 (calbus_wdata_10), + .calbus_rdata_10 (calbus_rdata_10), + .calbus_seq_param_tbl_10 (calbus_seq_param_tbl_10), + .calbus_read_11 (calbus_read_11), + .calbus_write_11 (calbus_write_11), + .calbus_address_11 (calbus_address_11), + .calbus_wdata_11 (calbus_wdata_11), + .calbus_rdata_11 (calbus_rdata_11), + .calbus_seq_param_tbl_11 (calbus_seq_param_tbl_11), + .calbus_read_12 (calbus_read_12), + .calbus_write_12 (calbus_write_12), + .calbus_address_12 (calbus_address_12), + .calbus_wdata_12 (calbus_wdata_12), + .calbus_rdata_12 (calbus_rdata_12), + .calbus_seq_param_tbl_12 (calbus_seq_param_tbl_12), + .calbus_read_13 (calbus_read_13), + .calbus_write_13 (calbus_write_13), + .calbus_address_13 (calbus_address_13), + .calbus_wdata_13 (calbus_wdata_13), + .calbus_rdata_13 (calbus_rdata_13), + .calbus_seq_param_tbl_13 (calbus_seq_param_tbl_13), + .calbus_read_14 (calbus_read_14), + .calbus_write_14 (calbus_write_14), + .calbus_address_14 (calbus_address_14), + .calbus_wdata_14 (calbus_wdata_14), + .calbus_rdata_14 (calbus_rdata_14), + .calbus_seq_param_tbl_14 (calbus_seq_param_tbl_14), + .calbus_read_15 (calbus_read_15), + .calbus_write_15 (calbus_write_15), + .calbus_address_15 (calbus_address_15), + .calbus_wdata_15 (calbus_wdata_15), + .calbus_rdata_15 (calbus_rdata_15), + .calbus_seq_param_tbl_15 (calbus_seq_param_tbl_15), + .calbus_clk (calbus_clk), + .vji_ir_in (vji_ir_in), + .vji_ir_out (vji_ir_out), + .vji_jtag_state_rti (vji_jtag_state_rti), + .vji_tck (vji_tck), + .vji_tdi (vji_tdi), + .vji_tdo (vji_tdo), + .vji_virtual_state_cdr (vji_virtual_state_cdr), + .vji_virtual_state_sdr (vji_virtual_state_sdr), + .vji_virtual_state_udr (vji_virtual_state_udr), + .vji_virtual_state_uir (vji_virtual_state_uir) + ); +endmodule diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch.sv b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch.sv new file mode 100644 index 0000000000..829b09eb35 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch.sv @@ -0,0 +1,494 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +module emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch #( + // IOSSM parameters + parameter IOSSM_CODE_HEX_FILENAME = "", + parameter IOSSM_USE_MODEL = 1, + + parameter IOSSM_SIM_GPT_HEX_FILENAME = "", + parameter IOSSM_SYNTH_GPT_HEX_FILENAME = "", + parameter IOSSM_SIM_NIOS_PERIOD_PS = 0, + + // Debug Parameters + parameter USE_SYNTH_FOR_SIM = 0, + parameter DIAG_EXPORT_VJI = 0, + + // Port widths for core debug access + parameter PORT_CAL_DEBUG_ADDRESS_WIDTH = 1, + parameter PORT_CAL_DEBUG_BYTEEN_WIDTH = 1, + parameter PORT_CAL_DEBUG_RDATA_WIDTH = 1, + parameter PORT_CAL_DEBUG_WDATA_WIDTH = 1, + + // Port widths for core debug access + parameter PORT_CALBUS_ADDRESS_WIDTH = 1, + parameter PORT_CALBUS_WDATA_WIDTH = 1, + parameter PORT_CALBUS_RDATA_WIDTH = 1, + parameter PORT_CALBUS_SEQ_PARAM_TBL_WIDTH = 1, + + + // Global param table data + parameter SEQ_GPT_GLOBAL_PAR_VER = 0, + parameter SEQ_GPT_NIOS_C_VER = 0, + parameter SEQ_GPT_COLUMN_ID = 0, + parameter SEQ_GPT_NUM_IOPACKS = 0, + parameter SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SEQ_GPT_PARAM_TABLE_SIZE = 0, + parameter SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + parameter SEQ_GPT_GLOBAL_CAL_CONFIG = 0, + parameter SEQ_GPT_SLAVE_CLK_DIVIDER = 0, + + parameter SEQ_USE_SIM_PARAMS = "", + parameter SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ = 0, + parameter SIM_SEQ_GPT_GLOBAL_SKIP_STEPS = 0, + + // Hard-Nios debug ports + parameter PORT_VJI_IR_IN_WIDTH = 1, + parameter PORT_VJI_IR_OUT_WIDTH = 1, + + // Enable/disable Abstract PHY + parameter NUM_CALBUS_USED = 1, + parameter USE_SOFT_NIOS = 0 +) ( + + // EMIF calibration bus interfaces + output logic calbus_clk, + + output logic calbus_read_0, + output logic calbus_write_0, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_0, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_0, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_0, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_0, + + output logic calbus_read_1, + output logic calbus_write_1, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_1, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_1, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_1, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_1, + + output logic calbus_read_2, + output logic calbus_write_2, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_2, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_2, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_2, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_2, + + output logic calbus_read_3, + output logic calbus_write_3, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_3, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_3, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_3, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_3, + + output logic calbus_read_4, + output logic calbus_write_4, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_4, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_4, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_4, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_4, + + output logic calbus_read_5, + output logic calbus_write_5, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_5, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_5, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_5, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_5, + + output logic calbus_read_6, + output logic calbus_write_6, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_6, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_6, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_6, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_6, + + output logic calbus_read_7, + output logic calbus_write_7, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_7, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_7, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_7, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_7, + + output logic calbus_read_8, + output logic calbus_write_8, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_8, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_8, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_8, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_8, + + output logic calbus_read_9, + output logic calbus_write_9, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_9, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_9, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_9, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_9, + + output logic calbus_read_10, + output logic calbus_write_10, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_10, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_10, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_10, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_10, + + output logic calbus_read_11, + output logic calbus_write_11, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_11, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_11, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_11, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_11, + + output logic calbus_read_12, + output logic calbus_write_12, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_12, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_12, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_12, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_12, + + output logic calbus_read_13, + output logic calbus_write_13, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_13, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_13, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_13, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_13, + + output logic calbus_read_14, + output logic calbus_write_14, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_14, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_14, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_14, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_14, + + output logic calbus_read_15, + output logic calbus_write_15, + output logic [PORT_CALBUS_ADDRESS_WIDTH-1:0] calbus_address_15, + input logic [PORT_CALBUS_RDATA_WIDTH-1:0] calbus_rdata_15, + output logic [PORT_CALBUS_WDATA_WIDTH-1:0] calbus_wdata_15, + input logic [PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_15, + + // Input clock/reset intended for core logic connected to the Avalon slave port of the sequencer CPU. + // The "out" clock/reset is intended for daisy-chaining logic from multiple interfaces. + // Ports for "cal_debug" interface + input logic cal_debug_clk, + input logic cal_debug_reset_n, + input logic [PORT_CAL_DEBUG_ADDRESS_WIDTH-1:0] cal_debug_addr, + input logic [PORT_CAL_DEBUG_BYTEEN_WIDTH-1:0] cal_debug_byteenable, + input logic cal_debug_read, + input logic cal_debug_write, + input logic [PORT_CAL_DEBUG_WDATA_WIDTH-1:0] cal_debug_write_data, + output logic [PORT_CAL_DEBUG_RDATA_WIDTH-1:0] cal_debug_read_data, + output logic cal_debug_read_data_valid, + output logic cal_debug_waitrequest, + + // Hard-Nios debug port + input logic [1:0] vji_ir_in, + output logic [1:0] vji_ir_out, + input logic vji_jtag_state_rti, + input logic vji_tck, + input logic vji_tdi, + output logic vji_tdo, + input logic vji_virtual_state_cdr, + input logic vji_virtual_state_sdr, + input logic vji_virtual_state_udr, + input logic vji_virtual_state_uir +); + timeunit 1ns; + timeprecision 1ps; + + // Derive localparam values + + // Typically we synthesize full-calibration behavior for hardware, + // except when USE_SYNTH_FOR_SIM is set, which allows flows such + // as post-fit simulation to adopt RTL simulation behavior. + localparam REMAP_IOSSM_GPT_HEX_FILENAME = (SEQ_USE_SIM_PARAMS == "on") ? IOSSM_SIM_GPT_HEX_FILENAME : ( + (USE_SYNTH_FOR_SIM) ? IOSSM_SIM_GPT_HEX_FILENAME : IOSSM_SYNTH_GPT_HEX_FILENAME ); + localparam REMAP_SEQ_GPT_NIOS_CLK_FREQ_KHZ = (SEQ_USE_SIM_PARAMS == "on") ? SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ : ( + (USE_SYNTH_FOR_SIM) ? SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ : SEQ_GPT_NIOS_CLK_FREQ_KHZ ); + localparam REMAP_SEQ_GPT_GLOBAL_SKIP_STEPS = (SEQ_USE_SIM_PARAMS == "on") ? SIM_SEQ_GPT_GLOBAL_SKIP_STEPS : ( + (USE_SYNTH_FOR_SIM) ? SIM_SEQ_GPT_GLOBAL_SKIP_STEPS : SEQ_GPT_GLOBAL_SKIP_STEPS ); + + wire w_vji_cdr_to_the_hard_nios; + wire [ 1: 0] w_vji_ir_in_to_the_hard_nios; + wire w_vji_rti_to_the_hard_nios; + wire w_vji_sdr_to_the_hard_nios; + wire w_vji_tck_to_the_hard_nios; + wire w_vji_tdi_to_the_hard_nios; + wire w_vji_udr_to_the_hard_nios; + wire w_vji_uir_to_the_hard_nios; + + wire [ 1: 0] w_sld_vji_ir_out_from_the_hard_nios; + wire w_sld_vji_tdo_from_the_hard_nios; + wire [ 1: 0] w_vji_ir_out_from_the_hard_nios; + wire w_vji_tdo_from_the_hard_nios; + + wire [15:0][PORT_CALBUS_WDATA_WIDTH-1:0] calbus_rdata_i; + wire [15:0][PORT_CALBUS_SEQ_PARAM_TBL_WIDTH-1:0] calbus_seq_param_tbl_i; + + logic [7:0] soft_nios_read_data; + logic soft_nios_rdata_valid_n; + logic soft_nios_waitrequest_n; + + logic soft_nios_read; + logic soft_nios_write; + logic soft_nios_byteenable; + logic [7:0] soft_nios_write_data; + logic [6:0] soft_nios_address; + + + generate if (USE_SOFT_NIOS != 0) begin + altera_emif_f2c_gearbox #( + .PORT_CAL_DEBUG_ADDRESS_WIDTH (PORT_CAL_DEBUG_ADDRESS_WIDTH), + .PORT_CAL_DEBUG_BYTEEN_WIDTH (PORT_CAL_DEBUG_BYTEEN_WIDTH), + .PORT_CAL_DEBUG_RDATA_WIDTH (PORT_CAL_DEBUG_RDATA_WIDTH), + .PORT_CAL_DEBUG_WDATA_WIDTH (PORT_CAL_DEBUG_WDATA_WIDTH) + ) f2c_gearbox_inst ( + .clk (cal_debug_clk), + .reset_n (cal_debug_reset_n), + + .cal_debug_addr (cal_debug_addr), + .cal_debug_byteenable (cal_debug_byteenable), + .cal_debug_read (cal_debug_read), + .cal_debug_write (cal_debug_write), + .cal_debug_write_data (cal_debug_write_data), + + .cal_debug_read_data (cal_debug_read_data), + .cal_debug_read_data_valid(cal_debug_read_data_valid), + .cal_debug_waitrequest (cal_debug_waitrequest), + + .soft_nios_read_data (soft_nios_read_data), + .soft_nios_rdata_valid_n (soft_nios_rdata_valid_n), + .soft_nios_waitrequest_n (soft_nios_waitrequest_n), + + .soft_nios_read (soft_nios_read), + .soft_nios_write (soft_nios_write), + .soft_nios_byteenable (soft_nios_byteenable), + .soft_nios_write_data (soft_nios_write_data), + .soft_nios_address (soft_nios_address) + ); + end else begin + assign soft_nios_address = 7'd0; + assign soft_nios_byteenable = 1'b0; + assign soft_nios_write_data = 8'd0; + assign soft_nios_read = 1'b0; + assign soft_nios_write = 1'b0; + assign cal_debug_read_data = '0; + assign cal_debug_read_data_valid = '0; + assign cal_debug_waitrequest = '0; + end + endgenerate + + assign calbus_rdata_i[0] = (NUM_CALBUS_USED > 0) ? calbus_rdata_0 : 'd0; + assign calbus_seq_param_tbl_i[0] = (NUM_CALBUS_USED > 0) ? calbus_seq_param_tbl_0 : 'd0; + assign calbus_rdata_i[1] = (NUM_CALBUS_USED > 1) ? calbus_rdata_1 : 'd0; + assign calbus_seq_param_tbl_i[1] = (NUM_CALBUS_USED > 1) ? calbus_seq_param_tbl_1 : 'd0; + assign calbus_rdata_i[2] = (NUM_CALBUS_USED > 2) ? calbus_rdata_2 : 'd0; + assign calbus_seq_param_tbl_i[2] = (NUM_CALBUS_USED > 2) ? calbus_seq_param_tbl_2 : 'd0; + assign calbus_rdata_i[3] = (NUM_CALBUS_USED > 3) ? calbus_rdata_3 : 'd0; + assign calbus_seq_param_tbl_i[3] = (NUM_CALBUS_USED > 3) ? calbus_seq_param_tbl_3 : 'd0; + assign calbus_rdata_i[4] = (NUM_CALBUS_USED > 4) ? calbus_rdata_4 : 'd0; + assign calbus_seq_param_tbl_i[4] = (NUM_CALBUS_USED > 4) ? calbus_seq_param_tbl_4 : 'd0; + assign calbus_rdata_i[5] = (NUM_CALBUS_USED > 5) ? calbus_rdata_5 : 'd0; + assign calbus_seq_param_tbl_i[5] = (NUM_CALBUS_USED > 5) ? calbus_seq_param_tbl_5 : 'd0; + assign calbus_rdata_i[6] = (NUM_CALBUS_USED > 6) ? calbus_rdata_6 : 'd0; + assign calbus_seq_param_tbl_i[6] = (NUM_CALBUS_USED > 6) ? calbus_seq_param_tbl_6 : 'd0; + assign calbus_rdata_i[7] = (NUM_CALBUS_USED > 7) ? calbus_rdata_7 : 'd0; + assign calbus_seq_param_tbl_i[7] = (NUM_CALBUS_USED > 7) ? calbus_seq_param_tbl_7 : 'd0; + assign calbus_rdata_i[8] = (NUM_CALBUS_USED > 8) ? calbus_rdata_8 : 'd0; + assign calbus_seq_param_tbl_i[8] = (NUM_CALBUS_USED > 8) ? calbus_seq_param_tbl_8 : 'd0; + assign calbus_rdata_i[9] = (NUM_CALBUS_USED > 9) ? calbus_rdata_9 : 'd0; + assign calbus_seq_param_tbl_i[9] = (NUM_CALBUS_USED > 9) ? calbus_seq_param_tbl_9 : 'd0; + assign calbus_rdata_i[10] = (NUM_CALBUS_USED > 10) ? calbus_rdata_10 : 'd0; + assign calbus_seq_param_tbl_i[10] = (NUM_CALBUS_USED > 10) ? calbus_seq_param_tbl_10 : 'd0; + assign calbus_rdata_i[11] = (NUM_CALBUS_USED > 11) ? calbus_rdata_11 : 'd0; + assign calbus_seq_param_tbl_i[11] = (NUM_CALBUS_USED > 11) ? calbus_seq_param_tbl_11 : 'd0; + assign calbus_rdata_i[12] = (NUM_CALBUS_USED > 12) ? calbus_rdata_12 : 'd0; + assign calbus_seq_param_tbl_i[12] = (NUM_CALBUS_USED > 12) ? calbus_seq_param_tbl_12 : 'd0; + assign calbus_rdata_i[13] = (NUM_CALBUS_USED > 13) ? calbus_rdata_13 : 'd0; + assign calbus_seq_param_tbl_i[13] = (NUM_CALBUS_USED > 13) ? calbus_seq_param_tbl_13 : 'd0; + assign calbus_rdata_i[14] = (NUM_CALBUS_USED > 14) ? calbus_rdata_14 : 'd0; + assign calbus_seq_param_tbl_i[14] = (NUM_CALBUS_USED > 14) ? calbus_seq_param_tbl_14 : 'd0; + assign calbus_rdata_i[15] = (NUM_CALBUS_USED > 15) ? calbus_rdata_15 : 'd0; + assign calbus_seq_param_tbl_i[15] = (NUM_CALBUS_USED > 15) ? calbus_seq_param_tbl_15 : 'd0; + + tennm_iossm # ( + .gpt_ver (SEQ_GPT_GLOBAL_PAR_VER), + .nios_ver (SEQ_GPT_NIOS_C_VER), + .col_id (SEQ_GPT_COLUMN_ID), + .num_iopacks (SEQ_GPT_NUM_IOPACKS), + .pt_size (SEQ_GPT_PARAM_TABLE_SIZE), + .cal_config (SEQ_GPT_GLOBAL_CAL_CONFIG), + .slave_clk_divider (SEQ_GPT_SLAVE_CLK_DIVIDER), + .nios_clk_freq (REMAP_SEQ_GPT_NIOS_CLK_FREQ_KHZ), + .skip_steps (REMAP_SEQ_GPT_GLOBAL_SKIP_STEPS), + .parameter_table_hex_file (REMAP_IOSSM_GPT_HEX_FILENAME), + + .abstract_phy ("false"), + .iossm_sim_clk_period_ps (IOSSM_SIM_NIOS_PERIOD_PS), + .nios_calibration_code_hex_file(IOSSM_CODE_HEX_FILENAME), + .iossm_use_model (IOSSM_USE_MODEL) + ) io_ssm ( + .soft_nios_irq (4'b0), + .soft_nios_address (soft_nios_address), + .soft_nios_byteenable (soft_nios_byteenable), + .soft_nios_clk (cal_debug_clk), + .soft_nios_read (soft_nios_read), + .soft_nios_write (soft_nios_write), + .soft_nios_write_data (soft_nios_write_data), + .soft_nios_read_data (soft_nios_read_data), + .soft_nios_rdata_valid (soft_nios_rdata_valid_n), + .soft_nios_waitrequest (soft_nios_waitrequest_n), + + // IO Subsystem Calibration Bus + .calbus_clock (calbus_clk), + + .calbus_read_0 (calbus_read_0), + .calbus_write_0 (calbus_write_0), + .calbus_address_0 (calbus_address_0), + .calbus_wdata_0 (calbus_wdata_0), + .calbus_rdata_0 (calbus_rdata_i[0]), + .calbus_param_tbl_0 (calbus_seq_param_tbl_i[0]), + + .calbus_read_1 (calbus_read_1), + .calbus_write_1 (calbus_write_1), + .calbus_address_1 (calbus_address_1), + .calbus_wdata_1 (calbus_wdata_1), + .calbus_rdata_1 (calbus_rdata_i[1]), + .calbus_param_tbl_1 (calbus_seq_param_tbl_i[1]), + + .calbus_read_2 (calbus_read_2), + .calbus_write_2 (calbus_write_2), + .calbus_address_2 (calbus_address_2), + .calbus_wdata_2 (calbus_wdata_2), + .calbus_rdata_2 (calbus_rdata_i[2]), + .calbus_param_tbl_2 (calbus_seq_param_tbl_i[2]), + + .calbus_read_3 (calbus_read_3), + .calbus_write_3 (calbus_write_3), + .calbus_address_3 (calbus_address_3), + .calbus_wdata_3 (calbus_wdata_3), + .calbus_rdata_3 (calbus_rdata_i[3]), + .calbus_param_tbl_3 (calbus_seq_param_tbl_i[3]), + + .calbus_read_4 (calbus_read_4), + .calbus_write_4 (calbus_write_4), + .calbus_address_4 (calbus_address_4), + .calbus_wdata_4 (calbus_wdata_4), + .calbus_rdata_4 (calbus_rdata_i[4]), + .calbus_param_tbl_4 (calbus_seq_param_tbl_i[4]), + + .calbus_read_5 (calbus_read_5), + .calbus_write_5 (calbus_write_5), + .calbus_address_5 (calbus_address_5), + .calbus_wdata_5 (calbus_wdata_5), + .calbus_rdata_5 (calbus_rdata_i[5]), + .calbus_param_tbl_5 (calbus_seq_param_tbl_i[5]), + + .calbus_read_6 (calbus_read_6), + .calbus_write_6 (calbus_write_6), + .calbus_address_6 (calbus_address_6), + .calbus_wdata_6 (calbus_wdata_6), + .calbus_rdata_6 (calbus_rdata_i[6]), + .calbus_param_tbl_6 (calbus_seq_param_tbl_i[6]), + + .calbus_read_7 (calbus_read_7), + .calbus_write_7 (calbus_write_7), + .calbus_address_7 (calbus_address_7), + .calbus_wdata_7 (calbus_wdata_7), + .calbus_rdata_7 (calbus_rdata_i[7]), + .calbus_param_tbl_7 (calbus_seq_param_tbl_i[7]), + + .calbus_read_8 (calbus_read_8), + .calbus_write_8 (calbus_write_8), + .calbus_address_8 (calbus_address_8), + .calbus_wdata_8 (calbus_wdata_8), + .calbus_rdata_8 (calbus_rdata_i[8]), + .calbus_param_tbl_8 (calbus_seq_param_tbl_i[8]), + + .calbus_read_9 (calbus_read_9), + .calbus_write_9 (calbus_write_9), + .calbus_address_9 (calbus_address_9), + .calbus_wdata_9 (calbus_wdata_9), + .calbus_rdata_9 (calbus_rdata_i[9]), + .calbus_param_tbl_9 (calbus_seq_param_tbl_i[9]), + + .calbus_read_10 (calbus_read_10), + .calbus_write_10 (calbus_write_10), + .calbus_address_10 (calbus_address_10), + .calbus_wdata_10 (calbus_wdata_10), + .calbus_rdata_10 (calbus_rdata_i[10]), + .calbus_param_tbl_10 (calbus_seq_param_tbl_i[10]), + + .calbus_read_11 (calbus_read_11), + .calbus_write_11 (calbus_write_11), + .calbus_address_11 (calbus_address_11), + .calbus_wdata_11 (calbus_wdata_11), + .calbus_rdata_11 (calbus_rdata_i[11]), + .calbus_param_tbl_11 (calbus_seq_param_tbl_i[11]), + + .calbus_read_12 (calbus_read_12), + .calbus_write_12 (calbus_write_12), + .calbus_address_12 (calbus_address_12), + .calbus_wdata_12 (calbus_wdata_12), + .calbus_rdata_12 (calbus_rdata_i[12]), + .calbus_param_tbl_12 (calbus_seq_param_tbl_i[12]), + + .calbus_read_13 (calbus_read_13), + .calbus_write_13 (calbus_write_13), + .calbus_address_13 (calbus_address_13), + .calbus_wdata_13 (calbus_wdata_13), + .calbus_rdata_13 (calbus_rdata_i[13]), + .calbus_param_tbl_13 (calbus_seq_param_tbl_i[13]), + + .calbus_read_14 (calbus_read_14), + .calbus_write_14 (calbus_write_14), + .calbus_address_14 (calbus_address_14), + .calbus_wdata_14 (calbus_wdata_14), + .calbus_rdata_14 (calbus_rdata_i[14]), + .calbus_param_tbl_14 (calbus_seq_param_tbl_i[14]), + + .calbus_read_15 (calbus_read_15), + .calbus_write_15 (calbus_write_15), + .calbus_address_15 (calbus_address_15), + .calbus_wdata_15 (calbus_wdata_15), + .calbus_rdata_15 (calbus_rdata_i[15]), + .calbus_param_tbl_15 (calbus_seq_param_tbl_i[15]), + + // IO Subsystem Calibration Bus + .vji_cdr_to_the_hard_nios (w_vji_cdr_to_the_hard_nios), + .vji_ir_in_to_the_hard_nios (w_vji_ir_in_to_the_hard_nios), + .vji_rti_to_the_hard_nios (w_vji_rti_to_the_hard_nios), + .vji_sdr_to_the_hard_nios (w_vji_sdr_to_the_hard_nios), + .vji_tck_to_the_hard_nios (w_vji_tck_to_the_hard_nios), + .vji_tdi_to_the_hard_nios (w_vji_tdi_to_the_hard_nios), + .vji_udr_to_the_hard_nios (w_vji_udr_to_the_hard_nios), + .vji_uir_to_the_hard_nios (w_vji_uir_to_the_hard_nios), + .vji_ir_out_from_the_hard_nios (w_vji_ir_out_from_the_hard_nios), + .vji_tdo_from_the_hard_nios (w_vji_tdo_from_the_hard_nios) + ); + + assign w_vji_cdr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_cdr : 1'b0; + assign w_vji_ir_in_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_ir_in : 2'b00; + assign w_vji_rti_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_jtag_state_rti : 1'b0; + assign w_vji_sdr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_sdr : 1'b0; + assign w_vji_tck_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_tck : 1'b0; + assign w_vji_tdi_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_tdi : 1'b0; + assign w_vji_udr_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_udr : 1'b0; + assign w_vji_uir_to_the_hard_nios = DIAG_EXPORT_VJI ? vji_virtual_state_uir : 1'b0; + assign vji_ir_out = DIAG_EXPORT_VJI ? w_vji_ir_out_from_the_hard_nios : 2'b0; + assign vji_tdo = DIAG_EXPORT_VJI ? w_vji_tdo_from_the_hard_nios : 1'b0; + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "sfv4CgBD2gRw66FfSic/D/DxyUF4ju6abSGjNZTz+XJ5wNcp1RmzgamT61rscvjMkkNKCYCGE4Hkry++3eL2fSJkmOtrYLQextJ2AFr2kX/6sa63SwNG1Dg8CndZgqHpcPsbI8J/52/6EA/5eQJiUNmwpEDzzugi2WpUBRBy4gGrSJ7A8zUzUrkHlWNSHE1mVOTkuXrL/BUqA6hBwwkS7qZD/J3TRyAu6L9p+9tB0ECj3HSUaZMQdsHOEoejOcwJ2RhJ9P4QDVEXGenDAmBQiJAPz6SAV4DqS0an68FB0ZOw3u6Fz9ZnsNCxHESqqKIhmHXeOOJqT0TMS7OxARNfiGSYsGZkXP2aOsQbPMyMl9Na0FpG3tX2nCq+YzVLsQyswtPgjPY/GO4ZMgPdYdp5JKSfreaxYuiLxTeDp4puFh9fP23Bzc62FleY5N14rrOPKFwR+NKcP0ZnDKesfQUGVQgHNDWd+yn8MPE4yKAFnC5UhP6/1eV6IVnPI3KCE7+1uvsrcyVo72I9ZjECteGSwb7zUBuIknMGGJLamSDccEEzp3d9zoNmEWwYEsAQ6sfJVbzrvs9dqrDzmsgVd7rsFQsAaIXZPlOjRlQJBcoDI69G4leYK9upuWONmbxZPwESZDMmSech7WRSR+Pfg8IhH2pcuaqwx+Flyt8/fEZd1nHHn/r7IbrV7vPwpWv6bwfQE4+LOlUxGkicqW/zIbwPWua1Y1pF8kRl1B24DA9A2PuASSdsPDi8qf8524t2r4XrzPEfPSuA4z8fLDKNUZ6WPPatW6xFtOpQrgjniprbGZ5Cdzlihkh1KGZUQFWqGWG9vSMwb1XceNsZWsR1lhRieIwEpGXGARM7U6MnIf+7MlzH137TXgbWLPIOwNuFNQ1W5TQen1Ntb084V6b8dzDtE07gYYf8X3PH/73It0UuW5x0UXD6aSiIv+qp+H4rdL0sTo4SHIb8muoxzrwI7lCZtReafd6NvK5+I9wtZd+IdKqB6WabzhHQoHFJnu4BF4Z7" +`endif diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex new file mode 100644 index 0000000000..ea4df0b630 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex @@ -0,0 +1,30722 @@ +:020000020000FC +:0400000000000834C0 +:04000100002008547F +:040002003400006066 +:0400030000000000F9 +:0400040000000000F8 +:0400050000000000F7 +:0400060000000000F6 +:0400070000000000F5 +:04000800980200203A +:04000900FC00108C5B +:04000A00001000AA38 +:04000B000000F014ED +:04000C000000E834D4 +:04000D00003CEF5470 +:04000E000400F76093 +:04000F000001D834E0 +:04001000D000DED46A +:040011000002D034E5 +:0400120000B8D694C8 +:0400130000001014C5 +:0400140000011814BB +:040015000001203492 +:04001600C40220A060 +:04001700B80000A08D +:040018005000002074 +:04001900501A06A0D3 +:04001A00FFFF18C408 +:04001B00FFE800E218 +:04001C00000110349B +:04001D00812C10948E +:04001E000001183491 +:04001F009F7418D4DE +:04002000000C18AA0E +:04002100000000B724 +:040022000004108442 +:04002300FFF418BA14 +:0400240000165B4027 +:04002500FFFC0002DA +:04002600112B029BFD +:0400270010E81715B1 +:040028001715900018 +:04002900901410E837 +:04002A00E009103B9E +:04002B00003BE009AD +:04002C000108012A9C +:04002D00016A113B18 +:04002E001695010220 +:04002F00800C18E841 +:040030006755F8E335 +:04003100002D314627 +:0400320018C4089551 +:040033004BAB0003D0 +:0400340090001928F7 +:0400350049550755CD +:0400360000E00C9545 +:04003700590B4B43D3 +:04003800195528C965 +:040039004A840120D4 +:04003A0003F0212C82 +:04003B00295528C952 +:04003C00212C591901 +:04003D0028C9000FBF +:04003E00012039550F +:04003F00F90B4884ED +:0400400019A828C90A +:04004100069590048C +:04004200900400E83E +:0400430000E8069536 +:040044006D55900462 +:04004500103B65A364 +:040046001928E0098C +:0400470007559000C9 +:040048000C95495575 +:040049004B4300E045 +:04004A0028C9590B5D +:04004B000120195522 +:04004C00212C4A8495 +:04004D0028C903F0CB +:04004E0059192955BE +:04004F00000F212C51 +:04005000395528C92D +:0400510048840120BE +:0400520028C9F90BB5 +:04005300900419A854 +:04005400695557553E +:0400550056D90C95D7 +:0400560048A4012099 +:04005700000718EC9A +:040058007FE0210C18 +:04005900795528C9E4 +:04005A0028C9590B4D +:04005B00900419A84C +:04005C008955069527 +:04005D00900420E803 +:04005E003946F30329 +:04005F009955002C83 +:040060000FEB069507 +:040061008021AF55F6 +:0400620024C02AD1BB +:04006300103B00004E +:04006400183B002124 +:040065001ED99955B2 +:040066004F010C95A5 +:0400670021A80915AE +:040068001895900453 +:04006900800C3928A6 +:04006A0021846D552B +:04006B00C7010003C6 +:04006C00FFEE393A30 +:04006D0030FA06D18E +:04006E00EB43FFDA87 +:04006F00E009029B07 +:040070001715132B22 +:04007100800810E80B +:04007200FFFC109FE0 +:04007300900810E8F9 +:04007400E009103B54 +:04007500E009029B01 +:040076001715132B1C +:04007700800810E805 +:0400780000031094DD +:04007900900810E8F3 +:04007A00E009103B4E +:04007B00E009029BFB +:04007C0010A815159E +:04007D00108C80085B +:04007E0010AE0007B9 +:04007F00E00900078D +:040080000400103434 +:04008100910000A842 +:0400820080741697D9 +:04008300A08902ABA3 +:04008400003BE00954 +:04008500040010342F +:0400860000841804D6 +:04008700911818A80C +:04008800040010342C +:04008900910000A83A +:04008A00003BE0094E +:04008B00214080612F +:04008C00303400000C +:04008D00003300003C +:04008E003184383B46 +:04008F00095B020007 +:0400900006B7203B54 +:04009100A4C0807413 +:0400920000610016F3 +:040093000400183419 +:0400940018C4CC219F +:04009500913B01009A +:0400960081BB897B26 +:0400970010E899FBD9 +:04009800148B800045 +:040099002140F8A367 +:04009A0094BF00000F +:04009B00103400011C +:04009C0090A8040024 +:04009D008C7F9104BF +:04009E001034000317 +:04009F0088A8040029 +:0400A000101991089A +:0400A1000400103413 +:0400A2000003843F94 +:0400A300910C80A894 +:0400A4000400103410 +:0400A500911898A86E +:0400A600003B4C21AE +:0400A70026B7052B48 +:0400A800E009807477 +:0400A900807406B7A2 +:0400AA000000E00969 +:0400AB0005158D5555 +:0400AC0000302944B3 +:0400AD0096D9C79188 +:0400AE00399F749171 +:0400AF0028E3FFFC47 +:0400B000800018A80C +:0400B100F8E306CB9F +:0400B2002D15E0091F +:0400B30000004117F1 +:0400B4000D856181D4 +:0400B50041A01D99B0 +:0400B6004457C406E1 +:0400B70041A800005C +:0400B80000119000A3 +:0400B90001C31E4120 +:0400BA0030A8C42185 +:0400BB000D8B800029 +:0400BC00897BF9A3A0 +:0400BD004D05803B32 +:0400BE00FFCE343A03 +:0400BF00800030A8E5 +:0400C0000001319476 +:0400C100900030A8D3 +:0400C2002B5186D167 +:0400C30018A8DCE3BA +:0400C40006CB8000E7 +:0400C5004421F8E3F7 +:0400C6008078169791 +:0400C70038021120CA +:0400C800000A18B65C +:0400C900149B02E39F +:0400CA00003BE0090E +:0400CB00807826B75C +:0400CC00003BE0090C +:0400CD002EB78021A9 +:0400CE001034807CEE +:0400CF0000A8040081 +:0400D000D75990A0CC +:0400D10004001034E3 +:0400D20090AC18A82E +:0400D3001034FB4B9F +:0400D40028A8040054 +:0400D500103490A8AB +:0400D6000CDB04003B +:0400D70090A418A831 +:0400D80004322804C2 +:0400D900001571C0DD +:0400DA006A8200A096 +:0400DB0016B70491BF +:0400DC0000218080FF +:0400DD0000042034C7 +:0400DE002104FF5B9F +:0400DF003348D09042 +:0400E000003B0000E1 +:0400E10004001034D3 +:0400E20090A400A83E +:0400E300003BE009F5 +:0400E40004001834C8 +:0400E50000B018C48B +:0400E600900000E89E +:0400E70004001034CD +:0400E80000B41084CC +:0400E900800010A8DB +:0400EA00800018E892 +:0400EB002689549975 +:0400EC00003BE009EC +:0400ED0080802E974A +:0400EE0071C080213C +:0400EF0000A0001558 +:0400F0000021694240 +:0400F100813BC4216A +:0400F2002E97217BA9 +:0400F30010198080E0 +:0400F400001571C0C2 +:0400F500695100A0AD +:0400F60000003900CD +:0400F70000021834B7 +:0400F8003601A281AA +:0400F900859010F7E7 +:0400FA00003B442162 +:0400FB00813BC02164 +:0400FC00390010199E +:0400FD0018340000B3 +:0400FE0036010002C5 +:0400FF00859018D7F9 +:04010000F499A68147 +:04010100003B40215E +:04010200813BC0215C +:040103003900101996 +:0401040018340000AB +:0401050036010002BD +:04010600859010F7D9 +:04010700003B402158 +:04010800103419197D +:04010900C02100020F +:04010A0080972501B4 +:04010B0039008590A2 +:04010C00A40100004A +:04010D00003B402152 +:04010E0080802E9728 +:04010F0071C0C421D6 +:0401100000A0001536 +:0401110039006950F8 +:0401120088BB0000A6 +:0401130000003900AF +:0401140080FAB44178 +:040115004421FFF68C +:040116008078169740 +:04011700113605098F +:0401180002A3000A34 +:040119004388151BE7 +:04011A00003B0000A6 +:04011B000000E009F7 +:04011C00D03816E8D9 +:04011D00002016FBAD +:04011E00413BC40994 +:04011F000260023048 +:040120000460003047 +:040121000460003046 +:040122000460003045 +:040123000460003044 +:040124000460003043 +:040125000008026A62 +:040126000560003040 +:04012700E00900E902 +:04012800056000303E +:0401290000004097FB +:04012A0002302691E8 +:04012B004804036021 +:04012C00003000019E +:04012D00003004603A +:04012E000030046039 +:04012F000030046038 +:040130000030046037 +:0401310010FB04605B +:04013200003BF94352 +:0401330016841919FC +:040134002881808C12 +:040135001684009D8F +:040136002881808418 +:04013700E009009D3E +:040138001E841D19EB +:04013900C021808CD5 +:04013A0001D57CC1AE +:04013B0048C4012093 +:04013C000002103479 +:04013D0085A0108405 +:04013E001919410149 +:04013F000AB5288154 +:04014000203405D58D +:040141002104800015 +:040142000491003FE5 +:040143000092088995 +:040144008491000A98 +:04014500FFC02004D3 +:04014600049128896F +:0401470004F53CC1BE +:040148001E8408D534 +:040149003CC18084B1 +:04014A00112004D5A7 +:04014B004021A002AD +:04014C0016841919E3 +:04014D001E84808C00 +:04014E002881808400 +:04014F00049538C11A +:04015000A68106D5A9 +:040151000002009216 +:04015200E0096491CB +:040153001E841D19D0 +:040154002834808447 +:040155002CC1800039 +:0401560004950E9569 +:04015700003F2944F8 +:040158000A8904917B +:04015900000A009206 +:04015A002804849160 +:04015B002A89FFC02E +:04015C0001200491E9 +:04015D003CC148C495 +:04015E004F0104F554 +:04015F001034191926 +:040160001084000205 +:04016100288185A0CC +:04016200E009049517 +:040163001B590F6BAA +:0401640029115B0101 +:04016500FFFC313733 +:04016600FFF6293A3D +:040167000000E009AB +:04016800197B113BB3 +:0401690009AB0CCB07 +:04016A00000118E692 +:04016B00E00912E3B2 +:04016C0086D9849913 +:04016D00CB01FDC302 +:04016E00293204919D +:04016F00E009FFF8AC +:04017000FEC3103B7F +:04017100E8A201609F +:0401720014997B4B16 +:040173000515450128 +:04017400048B5A8915 +:04017500003BE00962 +:0401760016970919B6 +:04017700288181A4B6 +:040178005A81048D17 +:04017900000110343D +:04017A00188625417D +:04017B00103476A81E +:04017C0016D900018F +:04017D00109724C1F2 +:04017E00E009794CCF +:04017F0083941697B8 +:04018000012028AB87 +:04018100196BE8A26C +:0401820082D41E976E +:0401830083402E97F0 +:040184001E97474932 +:0401850018C4829C7C +:0401860000E0007F16 +:040187005741E8E311 +:0401880000051084DA +:040189000092AA81B5 +:04018A00103B000224 +:04018B00003BE0094C +:04018C0083C416977B +:04018D00030018341F +:04018E0000D018C4C1 +:04018F00288914990E +:04019000E0092689D3 +:04019100169719198B +:04019200288181CC73 +:04019300B7190895FB +:04019400F0FF111F48 +:04019500CD682120F0 +:040196000006293EF8 +:0401970019111D63BA +:040198002697171976 +:0401990038C183C422 +:04019A00203416D91E +:04019B002104030038 +:04019C0038C11880CE +:04019D00580210E014 +:04019E0016D9E00985 +:04019F00003C18CC3C +:0401A000003BFC0321 +:0401A10010341919E4 +:0401A2002501000231 +:0401A30090342097DD +:0401A400111FB71957 +:0401A5002120F0FF26 +:0401A600293ECD68B9 +:0401A7001D630006CE +:0401A80017191911F9 +:0401A90083C426974E +:0401AA0016D938C169 +:0401AB0003002034F9 +:0401AC001880210492 +:0401AD0010E038C165 +:0401AE00E00958020A +:0401AF0018CC16D979 +:0401B000FC03003C10 +:0401B100169719196B +:0401B200288181D04F +:0401B3006308089540 +:0401B400003B00000C +:0401B5000002103400 +:0401B6001086250189 +:0401B70000A093040D +:0401B80010B449A294 +:0401B900E009030056 +:0401BA00838C169785 +:0401BB00191914AB4F +:0401BC0081BC169755 +:0401BD0004952881FC +:0401BE00CD6810A058 +:0401BF00000610AE78 +:0401C000103BE00907 +:0401C100003BE00916 +:0401C20082FC16970E +:0401C3001120C42122 +:0401C4000A014C10D0 +:0401C50000006E8048 +:0401C60088BB243B93 +:0401C70000006D4087 +:0401C80083C41E9737 +:0401C90010E016D953 +:0401CA00183458028B +:0401CB00086B0300BA +:0401CC00196018C4DA +:0401CD00442126891A +:0401CE0018E018C459 +:0401CF00003BFEC330 +:0401D00082FC169700 +:0401D100813BC42189 +:0401D2004C021120AA +:0401D3006D404A81B0 +:0401D400243B0000C8 +:0401D5006E8088BBF5 +:0401D6001E97000070 +:0401D70016D983C4EE +:0401D800103410AB24 +:0401D900108403008B +:0401DA0010E01970A8 +:0401DB00228958021B +:0401DC001034442176 +:0401DD001084030087 +:0401DE00FDC318F055 +:0401DF00169719193D +:0401E000288181C42D +:0401E1006308089512 +:0401E200003B0000DE +:0401E30010341919A2 +:0401E40025010002EF +:0401E500903420979B +:0401E60000006308AA +:0401E7000030110CC7 +:0401E800054B22ABF6 +:0401E90003001834C3 +:0401EA0018C444A34E +:0401EB00169719C08A +:0401EC00203483C474 +:0401ED0021040040A9 +:0401EE001499E00080 +:0401EF002A89094907 +:0401F000E009268973 +:0401F1000400112EC7 +:0401F20003001834BA +:0401F300112E1AA30C +:0401F40014A301004F +:0401F5000200212EB5 +:0401F60018C40F23F7 +:0401F70095591C00FA +:0401F80003C0108CA4 +:0401F900F8C3368190 +:0401FA001C2018C4E9 +:0401FB0018C4FE0323 +:0401FC00F74319E0CC +:0401FD0082C8169707 +:0401FE0002DB419B44 +:0401FF004CC9E58181 +:040200008138369774 +:0402010086D18B59BE +:040202004D0144C99D +:0402030054C908C909 +:0402040082D82697DF +:040205002E973AC135 +:0402060010C4839805 +:04020700116B000374 +:0402080082D01E97EB +:040209008491288133 +:04020A00EC0218A04A +:04020B00E009468937 +:04020C00000429269B +:04020D0018C40F639F +:04020E0018DF0005F0 +:04020F0010D4FFFC0C +:04021000E009000100 +:0402110000022126A0 +:04021200109405231C +:04021300E0090001FD +:0402140082D81697DF +:0402150016974501F2 +:04021600891182D0F8 +:04021700EC041120C2 +:04021800838416972E +:040219000005108448 +:04021A00E0092501D1 +:04021B0081DC1697D5 +:04021C00108C549559 +:04021D00E0090007ED +:04021E00833C169770 +:04021F00048B58896B +:0402200016970CAB76 +:0402210020A083781E +:04022200048BEC025B +:04022300103BE009A3 +:04022400003BE009B2 +:040225002000190C90 +:04022600CD6911206D +:040227000CDB02EBFF +:04022800149926817E +:040229000300183482 +:04022A00268166D1F2 +:04022B00003F212C43 +:04022C00030118347E +:04022D0018C4288940 +:04022E002689C0005D +:04022F00003BE009A7 +:04023000283B8021C6 +:0402310000007080D9 +:04023200800010A890 +:0402330003FF108C29 +:04023400003B00216A +:04023500283B8021C1 +:040236000000740050 +:04023700800010A88B +:040238001FFF108C08 +:04023900003B002165 +:04023A0082FC169795 +:04023B0045098021D0 +:04023C0000006D4011 +:04023D00030018346E +:04023E00180818C4C0 +:04023F0010A8268954 +:04024000948B80001B +:04024100003B00215D +:04024200A17BD821A3 +:04024300830C2E9763 +:040244009034A93B0E +:0402450071C0030081 +:0402460016990015F0 +:0402470081CC9E9731 +:0402480000E49484B6 +:04024900C4031CE0EE +:04024A0090E006D565 +:04024B0080E85803EC +:04024C000691800097 +:04024D001CE016D9C2 +:04024E0006D5C4030A +:04024F00580390E0E0 +:04025000800088E8BA +:040251001499149157 +:04025200C40214E0EE +:0402530090A00495DE +:04025400B0A85802F4 +:040255002E97800060 +:04025600257B830C75 +:04025700001571C05D +:04025800000310840B +:0402590014E0149900 +:04025A0014D7C413DE +:04025B0090A000006F +:04025C0018A8580284 +:04025D00052A8000EE +:04025E001E2B001043 +:04025F0005AA086B79 +:0402600000E00018A2 +:04026100147B801179 +:040262008C20582173 +:04026300B0A05802ED +:04026400268958028D +:04026500801100A064 +:04026600883BFD8351 +:04026700003BFD0358 +:04026800644080214D +:0402690010A80000D9 +:04026A00108C800074 +:04026B00002101FF6E +:04026C0016971919AF +:04026D00183481D0F0 +:04026E0018C40300AD +:04026F00288100C022 +:040270002689049542 +:04027100800010A851 +:04027200003BE00964 +:040273001034191911 +:040274001834000238 +:04027500250103005C +:040276009034109719 +:0402770000AC18C4FB +:0402780010A826891B +:040279000D63800091 +:04027A000008109CCC +:04027B00CC6310A0A0 +:04027C00E009183B42 +:04027D00CC4210A0BF +:04027E00003BFEC380 +:04027F006840802132 +:0402800010A80000C2 +:04028100108C80005D +:04028200002101FF57 +:0402830000C0103473 +:0402840003AC108433 +:040285001B5955416B +:04028600E000111F64 +:040287001968254984 +:04028800029B800055 +:04028900CD682120FB +:04028A0026894889F0 +:04028B009000116866 +:04028C00003BE0094A +:04028D0000C0103469 +:04028E0003A810842D +:04028F001B59554161 +:04029000E000111F5A +:04029100196825497A +:04029200029B80004B +:04029300CD682120F1 +:0402940026894889E6 +:04029500900011685C +:04029600003BE00940 +:040297000120D02151 +:04029800893B485303 +:04029900803B917B9A +:04029A001000A1545B +:04029B00830416972B +:04029C000002143A0E +:04029D002C3B502185 +:04029E007080247BCD +:04029F00A0A8000013 +:0402A000169790001D +:0402A1000CAB84849A +:0402A200846C1697BB +:0402A300C40298A059 +:0402A400000090AF17 +:0402A500FA830011C7 +:0402A600913BCC219B +:0402A700803B897B94 +:0402A8000002996651 +:0402A900825C1697C6 +:0402AA000002143A00 +:0402AB00166B4C2161 +:0402AC0004E2243B09 +:0402AD006E80000A55 +:0402AE000AA300009F +:0402AF00FC830011BB +:0402B00000006E805C +:0402B1002CBBF6A3C9 +:0402B200A5C0243B84 +:0402B300FD830000C7 +:0402B40010341919D0 +:0402B500250100021D +:0402B6008E441897C3 +:0402B70003001034FC +:0402B800008410842A +:0402B90010E824C95C +:0402BA002B5980003C +:0402BB00FFF7109F9A +:0402BC0010E82A8993 +:0402BD00E0099000C4 +:0402BE0058D3C4212C +:0402BF000300803484 +:0402C0005011183B86 +:0402C10000016004D4 +:0402C200000228E22C +:0402C30019E04421D9 +:0402C400048B6C0239 +:0402C500411732A308 +:0402C60000E0000054 +:0402C700423448690C +:0402C80049A0030046 +:0402C90002E2C40980 +:0402CA005186002435 +:0402CB001299000084 +:0402CC00C4114460B5 +:0402CD0090005468E1 +:0402CE0088A6049169 +:0402CF00E6630008DA +:0402D0002089051567 +:0402D100900060A891 +:0402D200291106D117 +:0402D3001260F7437B +:0402D4005446C411B7 +:0402D500FAC3000068 +:0402D6008034C4218B +:0402D700103B0300D5 +:0402D8000074840426 +:0402D900001A28A23D +:0402DA0003004834A1 +:0402DB000300503498 +:0402DC00C408002032 +:0402DD0000704A441F +:0402DE000040528406 +:0402DF0000B42A221B +:0402E0001699442106 +:0402E10002551701AA +:0402E20006D5378185 +:0402E3001C6820492A +:0402E40004919000F1 +:0402E50006D1F9C382 +:0402E60048A0051512 +:0402E70031A85806DC +:0402E800F3AB8000F4 +:0402E900000330FEE0 +:0402EA0050A0EDA390 +:0402EB00183B58065E +:0402EC001099103B1A +:0402ED0084280C0154 +:0402EE0002998000F1 +:0402EF00006D13C1CA +:0402F000000888B6C4 +:0402F100F00B0C639F +:0402F2008000841CE8 +:0402F30080008404FF +:0402F400049130C180 +:0402F500000C80A6D3 +:0402F60010C4D82335 +:0402F7000092D000A1 +:0402F80010C400042A +:0402F90031CFD0072A +:0402FA0000A0000060 +:0402FB0011CFE863D4 +:0402FC0089FB000872 +:0402FD00AC81803B15 +:0402FE00001031CFEC +:0402FF0031CF2C814E +:040300002C8100123A +:04030100F000108474 +:040302006581FC997C +:04030300E82601A047 +:0403040000085C365B +:0403050002E2044DBF +:04030600A681001EAE +:04030700046D001170 +:04030800000C1426AB +:04030900E8A3125102 +:04030A0000014204A8 +:04030B00001839C4D9 +:04030C00E9032911C7 +:04030D00EC03183BAA +:04030E00FC03AC81BF +:04030F0082D41697E7 +:04031000103445015F +:0403110026B7033FC9 +:040312001084828051 +:040313002114181089 +:0403140020A880009D +:04031500E00990006B +:04031600103417196F +:04031700CC210002F3 +:04031800109724C155 +:04031900915F8E441E +:04031A00817BFFFCE8 +:04031B00581214A0C0 +:04031C00000211E6E4 +:04031D0094B499BB40 +:04031E0022A3030013 +:04031F00800014A89E +:04032000FB1B183B70 +:040321002019200B74 +:04032200580398E004 +:0403230040C9410983 +:040324001120690932 +:0403250026893802EB +:04032600900014A887 +:040327009B594C2171 +:040328005D8089FB70 +:040329000A63000063 +:04032A00490304E09F +:04032B00FFFF20149C +:04032C008C6EFA4396 +:04032D00E063000386 +:04032E00FE03183B77 +:04032F00913BD0210D +:04033000883B997BF2 +:040331000013A444CD +:040332001697803B5F +:0403330018AE827C02 +:040334002AE30001B7 +:04033500000710AEFF +:04033600269B28A337 +:040337006C0684A02C +:040338000D8B408168 +:04033900FB9B03AB7C +:04033A002D3B3CFB20 +:04033B000000C58079 +:04033C001426001172 +:04033D00D2A300093E +:04033E00025B0C63EF +:04033F002A9BF8C33A +:04034000229BFB43BE +:040341005021FAC38A +:040342000340103430 +:04034300841410848A +:04034400900020A85D +:04034500033F10342E +:040346000E441084CD +:04034700900020A85A +:04034800033F10342B +:040349002E441084AA +:04034A00900020A857 +:04034B0084841697F9 +:04034C00169708AB4D +:04034D0020B78490C1 +:04034E00E00900744E +:04034F00033F103424 +:04035000108402DB38 +:0403510018A810A830 +:0403520010349000D3 +:040353001084033FD0 +:0403540018A812A82B +:0403550010349000D0 +:040356001084033FCD +:0403570018A80E28AC +:04035800E009900028 +:04035900813BC421FF +:04035A0077C0897B64 +:04035B0088A800006E +:04035C001697900060 +:04035D000AAB8484DF +:04035E00846016970A +:04035F0020811019D0 +:04036000442102AD85 +:04036100893BC421EF +:040362001697803B2F +:04036300143A826066 +:04036400442100022E +:040365002C7B243B8E +:040366000000D6407D +:04036700FD43001141 +:04036800813BC421F0 +:040369006C40897BE0 +:04036A0088A800005F +:04036B001697900051 +:04036C000AAB8484D0 +:04036D0084781697E3 +:04036E0020811019C1 +:04036F00442102AD76 +:04037000913BDC21C0 +:040371000020997B54 +:040372000020C4178C +:040373001697C416FF +:0403740015BA8260D4 +:040375005C21000205 +:0403760082C0869724 +:04037700830C1E973E +:0403780020F6103B20 +:040379004323000218 +:04037A00C40214E0C5 +:04037B00EC1114204D +:04037C00EC109C20C5 +:04037D000020ACBBF5 +:04037E009420C414EF +:04037F001697C410F9 +:04038000A5E0830C65 +:040381008491C4049B +:040382000024153A04 +:0403830001801416CB +:0403840004A32C3B67 +:0403850001802804C7 +:040386000000DA0099 +:04038700830C169736 +:040388000001B58437 +:04038900C41715E0A0 +:04038A0086D9F48399 +:04038B00F6430491A0 +:04038C000180155681 +:04038D0004A32D7B1D +:04038E0001802804BE +:04038F0000022C122A +:04039000DA002C3B28 +:040391008D6000007B +:04039200A504C415E5 +:04039300F5C30001AD +:04039400813BC421C4 +:0403950078C0897B28 +:0403960088A8000033 +:040397001697900025 +:040398000AAB8484A4 +:0403990084701697BF +:04039A002081101995 +:04039B00442102AD4A +:04039C001319C4214C +:04039D000002103416 +:04039E002441817BFA +:04039F008E442097D1 +:0403A00000006300F6 +:0403A100900080A8A0 +:0403A20084841697A2 +:0403A300169708ABF6 +:0403A40022818454DA +:0403A500442100AD42 +:0403A6009834D02196 +:0403A700893B03008B +:0403A800803B917B8A +:0403A900180C9CC4CC +:0403AA008000A154DA +:0403AB00830416971A +:0403AC000002143AFD +:0403AD00269750211E +:0403AE00246082FC49 +:0403AF0041014C04B8 +:0403B00000006D409C +:0403B100580298A0B6 +:0403B2009000A0A86F +:0403B3008484169791 +:0403B40016970AABE3 +:0403B50022818448D5 +:0403B600000090A70C +:0403B700F9830011B5 +:0403B800893BC42198 +:0403B9001697803BD8 +:0403BA00143A825C13 +:0403BB0044210002D7 +:0403BC0082FC1E970A +:0403BD0000021034F6 +:0403BE001C20243BA0 +:0403BF0000114C03DA +:0403C000288624C1A6 +:0403C100DA4198D0B5 +:0403C2000000E980CE +:0403C300003BFB03FD +:0403C4008484169780 +:0403C50008AB8021E0 +:0403C600848C169776 +:0403C70076B50EDB1E +:0403C800826C2E977E +:0403C90083D0269720 +:0403CA0000007F4070 +:0403CB0016B720BB86 +:0403CC00EE00814876 +:0403CD00269700006F +:0403CE0085008148DD +:0403CF0020BB00004F +:0403D000814416B797 +:0403D1000000D080D8 +:0403D2000021103BBB +:0403D300813BC02189 +:0403D400033F20348F +:0403D50030002104CF +:0403D60000006300C0 +:0403D700900080A86A +:0403D800827C1E976E +:0403D90080481684BE +:0403DA00848436974A +:0403DB0084543E9771 +:0403DC000A852681E7 +:0403DD00289A103B0F +:0403DE00169700323C +:0403DF00269783A832 +:0403E000288983A441 +:0403E100169758AB68 +:0403E20038AB836849 +:0403E30082C02E970F +:0403E40082AC16973A +:0403E50028925A01FF +:0403E60028BB00022E +:0403E700000718EE05 +:0403E800531B38E388 +:0403E900C8043EE81E +:0403EA000000E70820 +:0403EB0000022034B8 +:0403EC00210648811D +:0403ED00092B98F44C +:0403EE00189907ABA8 +:0403EF00012D49C1D2 +:0403F000F64304913B +:0403F100836C16976C +:0403F2001E9714AB93 +:0403F300169782C017 +:0403F400560182AC80 +:0403F5000002289248 +:0403F6004B1B28BBBA +:0403F7004021F8C3E6 +:0403F800897BC42118 +:0403F9006440813BA0 +:0403FA001C5400008F +:0403FB0018A810002E +:0403FC0016979000C0 +:0403FD000AAB84843F +:0403FE00847C16974E +:0403FF002081101930 +:04040000442102ADE4 +:0404010082D41697F4 +:040402001136450169 +:0404030016A3000438 +:04040400828426B711 +:0404050082841E9738 +:04040600033F10346C +:040407001834108411 +:04040800900018A8A0 +:04040900069BE00965 +:04040A00828416B71B +:04040B00003BFCC3F3 +:04040C00827C169741 +:04040D00897BC42102 +:04040E00000710A62D +:04040F00211C04A305 +:040410007A6B0004FF +:04041100FFFF18349D +:0404120000FF18C40B +:040413000001283488 +:0404140070E4395700 +:040415000001283486 +:0404160081571919D8 +:04041700103B710421 +:04041800830C2E978C +:04041900005A28BAA3 +:04041A0082D8869767 +:04041B000004142E97 +:04041C0084267AA315 +:04041D0010110002B8 +:04041E0016977A6350 +:04041F0010AE827C1D +:040420006CA30007C2 +:04042100035B591B05 +:0404220000005D80F9 +:0404230018345089B0 +:0404240018C4033FB6 +:0404250010E80D04CA +:04042600606390007F +:04042700827C169726 +:04042800000710AE0B +:04042900591B52A366 +:04042A005D80283B8E +:04042B0050890000F4 +:04042C00033F18343E +:04042D000D0018C4E2 +:04042E00900010E842 +:04042F00FEDB44218B +:040430002E97F143CF +:04043100594181CCE0 +:040432000A8B0D55CF +:04043300030031B4DD +:040434002E97096393 +:04043500116B834C78 +:0404360029FB0EA3ED +:0404370029A80749A0 +:04043800049190009B +:04043900EF03291193 +:04043A00FE032C3B56 +:04043B00F103803B0E +:04043C00F243511B1B +:04043D00F2C3FE9B6D +:04043E00F583511BD6 +:04043F00F603FE9B27 +:04044000E82401208B +:04044100030829196A +:04044200003B00017A +:04044300897BC421CC +:040444006840813B50 +:040445001C54000043 +:0404460018A81000E2 +:040447001697900074 +:040448000AAB8484F3 +:04044900847416970A +:04044A0020811019E4 +:04044B00442102AD99 +:04044C000300103465 +:04044D0004201084F3 +:04044E00192825093B +:04044F0010DF80003A +:04045000296BFFBF56 +:0404510000401094C3 +:04045200002410E290 +:0404530081A81697CF +:0404540000041094FC +:0404550081A816B7AD +:0404560081A81697CC +:0404570010AE548B04 +:0404580014A3000FDA +:0404590015AA2004BC +:04045A00000047084F +:04045B00FFE810EABC +:04045C0090001128D3 +:04045D00FC03D76362 +:04045E00003BE00976 +:04045F00813BC021FC +:0404600000C82004AC +:0404610000004380D4 +:040462000002103450 +:0404630093A42097A7 +:04046400030010344D +:0404650004001084FB +:0404660081282509BB +:040467002697900044 +:04046800132B83A02F +:040469000002183441 +:04046A0093A418C47B +:04046B0010E016D5B2 +:04046C0080A858020A +:04046D0020049000D7 +:04046E00438000C8FF +:04046F001E970000D4 +:0404700084D583FCB0 +:04047100342B26A35F +:040472002E9746D5A6 +:04047300203B827038 +:0404740030FB16D96A +:0404750029B209118E +:040476002136001417 +:040477001523000841 +:04047800748B109BD6 +:04047900040018342F +:04047A00952010E8D1 +:04047B00EB814021B0 +:04047C00BAC1FC43C2 +:04047D0028F20491CC +:04047E00FCC3FFF8C4 +:04047F00FC43209B7F +:04048000DEC4FFE1F6 +:04048100993BF96C3E +:040482000020897B52 +:04048300803BC412E4 +:0404840081B0169796 +:0404850003BA00A214 +:040486000008143E18 +:04048700B00442A3D8 +:0404880090040008D4 +:0404890077430006AF +:04048A000420103BFF +:04048B002C7B4886F8 +:04048C0025892D3D54 +:04048D00000058C053 +:04048E0099FD24FBB5 +:04048F002C7B2DBDD8 +:040490000000B58033 +:04049100025016C43B +:04049200C40490A06E +:040493000130AEC4C2 +:04049400C41400206C +:04049500000C8D22A8 +:040496009484001139 +:04049700F603001850 +:04049800F8C30C9BFE +:04049900319B2D7BEB +:04049A000016588070 +:04049B000001A504B3 +:04049C0000C02084F8 +:04049D000018AD4452 +:04049E00419BFB4340 +:04049F00813D283B38 +:0404A00000165A00E8 +:0404A1004868056042 +:0404A200025016C42A +:0404A300010056C43A +:0404A400C40C40A0A4 +:0404A50032BB5B3BD0 +:0404A6000011803B86 +:0404A7003C3B49BBD6 +:0404A8000088B1FA1D +:0404A9005AC42D9173 +:0404AA00B422001860 +:0404AB00103BFFEC17 +:0404AC00189902DBBE +:0404AD0021041B7D8E +:0404AE004B01069C5C +:0404AF00FA302117E7 +:0404B00000042A9783 +:0404B10000022152D2 +:0404B20006D110FB64 +:0404B300000452846B +:0404B400FFDEB0E2D5 +:0404B5000520009985 +:0404B6002D3D48434D +:0404B7002019040103 +:0404B80000A0370168 +:0404B900442048840F +:0404BA0016C4C41090 +:0404BB00008102506A +:0404BC00580491202F +:0404BD0008F598BDE9 +:0404BE00A8A0319B26 +:0404BF002C3BC4040A +:0404C000001658804A +:0404C100A8A0E0BD52 +:0404C200319BC404A2 +:0404C30058802C3BF6 +:0404C40005200016F9 +:0404C50038BD486492 +:0404C600375B119BF4 +:0404C7005A0048810E +:0404C800A504001671 +:0404C900AD4400013D +:0404CA0057C30018FC +:0404CB00203B05D9F4 +:0404CC002E81183B2A +:0404CD0060A024996E +:0404CE0022E0C40262 +:0404CF0020A0C405A0 +:0404D0006B4EC40D9E +:0404D1000B4D0000CF +:0404D200E405696074 +:0404D300FFFF714C6A +:0404D4008000739C95 +:0404D50080007384AC +:0404D6000392697BA9 +:0404D70028200004D5 +:0404D8001911E40D05 +:0404D90000102926C0 +:0404DA00C4031B60DC +:0404DB000595CD6353 +:0404DC0018DCF6CB67 +:0404DD0018C48000BF +:0404DE0026818000F3 +:0404DF00125705B5F6 +:0404E0000FD1000434 +:0404E10000044A4485 +:0404E20012772681E6 +:0404E300E203000030 +:0404E40050C31F1BC7 +:0404E500397D369196 +:0404E6000B4555412C +:0404E700658169BD05 +:0404E8000FA5F94122 +:0404E900658181BDEB +:0404EA000FA57941A0 +:0404EB00658151BD19 +:0404EC0004910BA5C7 +:0404ED00FFDE10E23C +:0404EE004C0310FBB0 +:0404EF006C02A56096 +:0404F00000A2048BD7 +:0404F10038BD0170A1 +:0404F200C402B0A0F0 +:0404F30050BD11F3F4 +:0404F400C40AB0A0E6 +:0404F500B0A068BD8E +:0404F6001173C402B8 +:0404F700B0A080BD74 +:0404F8001233C402F5 +:0404F9001073069BDB +:0404FA00486205202F +:0404FB0048931AFD0B +:0404FC00069C1084C6 +:0404FD0028342681F8 +:0404FE006004000195 +:0404FF001273000173 +:040500006C582944C6 +:04050100CC83126035 +:04050200827B1133B4 +:0405030068A9026081 +:04050400010A00AA3E +:04050500840C1253FD +:040506002081000749 +:04050700FA00188757 +:04050800FA3010872E +:0405090000F6189A46 +:04050A00253D219BCF +:04050B004B335373A8 +:04050C002AB362F3B9 +:04050D0000165880FC +:04050E001AFD0419B5 +:04050F0010845353AE +:040510002681069C9E +:04051100F978588E8F +:0405120062D34B1352 +:0405130042FB2A93EA +:04051400C40D0020F2 +:04051500103B183B44 +:04051600320C383B30 +:04051700220C0008AA +:04051800FA3B000F9B +:0405190068A80220AC +:04051A00010201A237 +:04051B000600700462 +:04051C002720091972 +:04051D0025E0C4060B +:04051E00318FC40451 +:04051F00210F0000A8 +:0405200071A00000C6 +:040521007120E4065B +:0405220019EBE404E9 +:04052300019271BB15 +:04052400302000047F +:0405250078BBE40EAD +:04052600000400923B +:04052700E40F1020AD +:04052800000873D282 +:04052900CC846FE02F +:04052A0017EB11BBFF +:04052B000112313B4D +:04052C0079890002C7 +:04052D0000D270FB8D +:04052E00182000048D +:04052F003392E40E11 +:04053000193B000271 +:040531000FD12113B2 +:04053200FF8E3922DD +:04053300009220BB57 +:040534007509000243 +:04053500000200D2EE +:04053600191A76C94F +:040537001A130096FD +:0405380030C121535A +:04053900101A410152 +:04053A0000AA00B45F +:04053B00036200C097 +:04053C0082A000B0E9 +:04053D000485C4026B +:04053E0004E58491BB +:04053F0000001107A0 +:04054000000018C7D8 +:0405410000AA10DA22 +:04054200F4D934C1F3 +:04054300C41082A0BE +:0405440000A026816C +:040545000425E8227F +:040546001320103B33 +:040547001053380C09 +:040548001073849117 +:04054900FEDC00A232 +:04054A00000A032A76 +:04054B00A0A0029BCF +:04054C0015604C02E8 +:04054D00A504581594 +:04054E00E7040001BD +:04054F00BDC400180F +:04055000B584001856 +:040551008D220008EF +:0405520010D3FE7252 +:040553000066156ABF +:040554001033049BC1 +:0405550051BD3D7BDC +:0405560024FB2C7BDB +:040557000000AF8071 +:040558002DBD99FD1F +:0405590024FB2C7BD8 +:04055A000000B58068 +:04055B00700417030E +:04055C00DF83080031 +:04055D0082A019D38C +:04055E000905C404C3 +:04055F0008E530C1BA +:040560001ACC071B8F +:0405610006D9000FA8 +:0405620002E0891119 +:040563001DE068AB84 +:040564001F20C4068A +:0405650006CDC403F8 +:04056600E72307ADD3 +:040567000362E80340 +:0405680082A0FF501E +:040569000485C4023F +:04056A0005250491CE +:04056B0004C5E9C317 +:04056C00029BFEC32D +:04056D00049BEC837C +:04056E00383B1033D3 +:04056F00F30339BD9C +:04057000000294846D +:0405710014A224BDEF +:04057200103B0044F6 +:040573000694DEC448 +:04057400143E7FE1D1 +:0405750000A20003DD +:04057600B004FC4E83 +:04057700002000035D +:040578000020C41289 +:040579000020C41585 +:04057A008D22C414F6 +:04057B002834FC8C98 +:04057C00219B0001BE +:04057D006C68294439 +:04057E0058801D3D47 +:04057F00029B0016C5 +:0405800096C4428952 +:040581008491003829 +:04058200245910F3F5 +:04058300148F11B30D +:0405840010B30000B0 +:04058500FD7800926B +:04058600103B071B04 +:0405870010E21993D2 +:040588000020FD72E0 +:0405890010D3C415B2 +:04058A00FF94156A5B +:04058B000130E6C491 +:04058C0001C0BEC428 +:04058D00C416002070 +:04058E00C414002071 +:04058F00003BE10349 +:040590001136CFE170 +:0405910080E90002FB +:0405920000A2893BFF +:0405930001200166DC +:0405940006D9800301 +:04059500000210341C +:04059600288E24C1C6 +:040597001034989CE8 +:0405980000AF0002AE +:04059900183498AECC +:04059A0038340002EF +:04059B0030340301F4 +:04059C00103B03010C +:04059D0018C4803BC3 +:04059E005466987C8B +:04059F0039C4000259 +:0405A0005C668418F9 +:0405A100318400039E +:0405A2004804C00049 +:0405A30011600001E2 +:0405A400090B6C04CF +:0405A50020CE372B02 +:0405A60011200032EE +:0405A700090BEC044C +:0405A80058992B2310 +:0405A900014402A265 +:0405AA004848042099 +:0405AB0000112D0905 +:0405AC0000484204BD +:0405AD00C408DA2084 +:0405AE00FFC0223731 +:0405AF00003240CE08 +:0405B0004C04126085 +:0405B1005804412089 +:0405B200003220EF04 +:0405B30020A60491E9 +:0405B400BB23001055 +:0405B50000A8042A6C +:0405B60000031466C4 +:0405B70026970AA3D6 +:0405B800283B832039 +:0405B900000113002A +:0405BA000033369B39 +:0405BB0036C4383BCF +:0405BC002C3B0007CD +:0405BD008C6E053DFE +:0405BE0016E700023A +:0405BF00AF80000702 +:0405C00004620000D1 +:0405C1001697010880 +:0405C200629583FCBF +:0405C3000462424B41 +:0405C400143E00FCE5 +:0405C5009C3B000754 +:0405C600980404A3EE +:0405C700002000060A +:0405C800031BC4123B +:0405C900000040806E +:0405CA00484404A0FD +:0405CB002CFB04BD44 +:0405CC002000488142 +:0405CD00031B00010B +:0405CE00420024497A +:0405CF00B6990000D9 +:0405D00083B816973F +:0405D1000006948408 +:0405D200E41394207A +:0405D30016B72681B0 +:0405D40014FE83B8D6 +:0405D50004A3000774 +:0405D600000698047F +:0405D700FFC284BA21 +:0405D800357B20044B +:0405D90000004700D7 +:0405DA0081AC168654 +:0405DB00001710B63F +:0405DC0020340CA318 +:0405DD002104001FD6 +:0405DE004580848050 +:0405DF00847B000019 +:0405E000827C16976C +:0405E100000710A659 +:0405E200169724A3A1 +:0405E3001E9783F8E4 +:0405E400C49581B089 +:0405E5002000108C56 +:0405E60012AB2689A5 +:0405E7003595200422 +:0405E80000004700C8 +:0405E90083202697AE +:0405EA001300035B9C +:0405EB00143B0001BC +:0405EC004FE100E9F2 +:0405ED0000041126CF +:0405EE002E9706A39B +:0405EF00D4C383707E +:0405F00000021034C1 +:0405F10000021926C5 +:0405F200987C10845D +:0405F300188E0CE36F +:0405F400288E002E1F +:0405F5000749002A88 +:0405F6001E97D183F8 +:0405F700103483CC6D +:0405F80006D900021E +:0405F900288E24C163 +:0405FA00CF43987CD7 +:0405FB005808392043 +:0405FC0080006228F1 +:0405FD00FEB0032227 +:0405FE00001602E2FF +:0405FF0080006228EE +:04060000FEA403222F +:0406010080A06697D8 +:04060200FE9C032235 +:04060300883BFDC370 +:04060400201BEAC30A +:04060500003BF303C0 +:0406060084041697BB +:0406070003BE20AA64 +:0406080026B7CFE161 +:04060900112684042E +:04060A0085690001FD +:04060B0003A000A2A6 +:04060C000001303485 +:04060D00000128348C +:04060E00033F8834EA +:04060F00033F403431 +:04061000033F483428 +:04061100033F50341F +:04061200033F583416 +:04061300033F60340D +:04061400030080342B +:0406150071043184B7 +:0406160070E429441F +:040617008C44103BC4 +:040618004204120086 +:040619004A441240FD +:04061A0052841000F6 +:04061B005AC41100AC +:04061C006304104023 +:04061D006011114017 +:04061E00000118348B +:04061F0070D73681D9 +:0406200088A070C47A +:0406210070E8580322 +:0406220040A0900064 +:0406230070E8580320 +:0406240018849000A6 +:0406250018F6FFE8DC +:0406260068E300087D +:04062700827C1E971C +:04062800000518EEC3 +:0406290019976AE3D0 +:04062A006997FFF8D5 +:04062B0079570000FB +:04062C000F55FFF86F +:04062D00780468E005 +:04062E0038047120FB +:04062F003BE037096C +:0406300070E07803FB +:0406310078E0380332 +:0406320048A0780361 +:040633006BA8580E4A +:0406340050A0900042 +:040635003B68580DB9 +:0406360058A0900038 +:040637002368580DCF +:0406380060A090002E +:040639001928580420 +:04063A00269790006F +:04063B000122834CC9 +:04063C002491008E77 +:04063D00002018A6DB +:04063E002B512D917E +:04063F00FF7800E25E +:040640004FE1056918 +:0406410000006997B5 +:04064200237B0F55B2 +:04064300F74319FB65 +:04064400FFDBFEDBFF +:040645006804FF1B2B +:04064600F5C3FFFFFA +:04064700484E0360B6 +:0406480081D02697A0 +:04064900C404712054 +:04064A0020A00915CE +:04064B0021345804FA +:04064C003928030046 +:04064D00269790005C +:04064E00712081D0C6 +:04064F000915C404C1 +:04065000580420A08A +:04065100192821093A +:040652002697900057 +:040653002360830C91 +:040654002697C40D14 +:04065500237A82582A +:04065600383BFFC26C +:04065700825426970C +:04065800FF8E21F2FE +:04065900484D01E027 +:04065A0081C8269796 +:04065B00C40469204A +:04065C0020A00915BC +:04065D002109580413 +:04065E0090001928C7 +:04065F00FB830FD139 +:04066000C40D0020A5 +:040661002104F983F4 +:040662001E97FFCE12 +:04066300168482D0A7 +:04066400315B804442 +:0406650090862681D4 +:04066600303B000025 +:0406670000018C669C +:040668004C10912081 +:0406690058C0193D1F +:04066A00035B00002E +:04066B004C05916049 +:04066C0000025834FC +:04066D000002503403 +:04066E0000016034F3 +:04066F0003006834E8 +:040670005AC45141D6 +:0406710052848ABC69 +:0406720000208A9842 +:040673006304C4094F +:0406740076C46F14C5 +:040675006B440010C2 +:0406760002600040DE +:04067700343B4823A5 +:0406780048E0409B7B +:0406790000E0C403D6 +:04067A001B20488376 +:04067B000543C4036C +:04067C0079064CC1EE +:04067D000F910000D9 +:04067E007820046379 +:04067F002697180F93 +:04068000412682D8B5 +:04068100022200044D +:04068200849100A6B9 +:04068300009020843F +:04068400C404D920B1 +:04068500FF80792752 +:0406860029BA31FB61 +:040687003AFBFFD269 +:040688001297303B5A +:0406890011BA0000A2 +:04068A004A440100DD +:04068B00126E0001EA +:04068C005AC4000943 +:04068D00528400484B +:04068E009EAB00041B +:04068F00033F1834D9 +:0406900018C4FE9BF1 +:0406910010E812005B +:040692001834900088 +:0406930018C4033F45 +:0406940010E8120454 +:040695001834900085 +:0406960018C4033F42 +:0406970010E812084D +:040698001834900082 +:0406990018C4033F3F +:04069A0010E8120C46 +:04069B00183490007F +:04069C0018C4033F3C +:04069D0010E812103F +:04069E00183490007C +:04069F0018C4033F39 +:0406A00010E8121438 +:0406A1001834900079 +:0406A20018C4033F36 +:0406A30010E8121831 +:0406A4001834900076 +:0406A50018C4033F33 +:0406A60010E8121C2A +:0406A7001697900012 +:0406A80000AA834CD5 +:0406A9002834FE5A99 +:0406AA00183B0300F6 +:0406AB0021C36B51AB +:0406AC0041847EC146 +:0406AD000DC5000275 +:0406AE006D890263ED +:0406AF0078B3783371 +:0406B00030F3307380 +:0406B100F9267EFBAD +:0406B200391E0001EC +:0406B30033D7000336 +:0406B4008891000029 +:0406B500009091041C +:0406B600C412DCA0EE +:0406B700FF8034A7E5 +:0406B80000E407E271 +:0406B900685201A0E2 +:0406BA00108498917F +:0406BB00D8A0008E35 +:0406BC0090A7C4023D +:0406BD0001A0FF8019 +:0406BE0085116893A7 +:0406BF000090908493 +:0406C000C412DCA0E4 +:0406C100FF809CA773 +:0406C200001207E239 +:0406C30068C601A064 +:0406C40020849511E8 +:0406C500D9200090A8 +:0406C6003127C40410 +:0406C7007BC4FF8071 +:0406C8007BA200040D +:0406C9003A3BFFA811 +:0406CA0018BDDDC3B7 +:0406CB001BA0183B1D +:0406CC007917C404D2 +:0406CD0009D500004B +:0406CE00580420E0CC +:0406CF0003002134CF +:0406D00090007928F5 +:0406D10020E009D547 +:0406D200692058043F +:0406D3007928580426 +:0406D40026979000D5 +:0406D5002F2B834CF8 +:0406D60040972DA379 +:0406D7007A20000085 +:0406D8007A20380448 +:0406D90040B77808A6 +:0406DA004097000045 +:0406DB00412000209A +:0406DC004120780F32 +:0406DD004097380406 +:0406DE0078B70040A9 +:0406DF0022200020B5 +:0406E00020B75804E3 +:0406E10026D10040DE +:0406E200002020E6EE +:0406E3009F2324919C +:0406E4002FD10D9174 +:0406E50010D9D183D4 +:0406E600203B19BDDF +:0406E70081C8169719 +:0406E80000403997FE +:0406E90004952081D3 +:0406EA005802112081 +:0406EB0038A82A8978 +:0406EC002911900040 +:0406ED0000201126B2 +:0406EE00E0A32D91C7 +:0406EF00169706D183 +:0406F00010FA82601A +:0406F100A703FFD08C +:0406F200FF2A01E2F8 +:0406F300E9C3113B0B +:0406F4000032113689 +:0406F50000A2897B5B +:0406F6009911FDACAD +:0406F700E009B583DE +:0406F80083FC1697D2 +:0406F900FF5B802102 +:0406FA0033404895AC +:0406FB0006B700003E +:0406FC000021837CDA +:0406FD0005001834A8 +:0406FE00000018C41C +:0406FF001EB754D5F9 +:04070000203483FC22 +:04070100108400025E +:04070200109F000341 +:040703002681FFFC50 +:0407040005001834A0 +:04070500100018C404 +:0407060083E01EB7B7 +:0407070000021834A0 +:04070800D00018C441 +:04070900E0002104E7 +:04070A0016B780217D +:04070B0016B783F0AA +:04070C001EB783E8A9 +:04070D0026B783F494 +:04070E001EB783E4AB +:04070F0006B783ECBA +:0407100006B783DCC9 +:04071100174083D832 +:040712001697001224 +:04071300109481A815 +:0407140016B7000113 +:04071500002181A896 +:04071600848016972E +:0407170016974AAB3C +:04071800C421848CE8 +:0407190084502E9743 +:04071A00825C8E97D8 +:04071B0084848697B5 +:04071C00303B769563 +:04071D0089A2CF0BD3 +:04071E003A950018F0 +:04071F00F6CB3AC912 +:04072000C90B04EB12 +:04072100082B0B2B6B +:040722000C9D069D87 +:040723000A9D089D86 +:04072400414E4421DD +:0407250040EA0000A6 +:0407260007EB0002DB +:04072700016F042B2F +:040728000D9100002F +:04072900F9C32B5194 +:04072A00003BE009A7 +:04072B008480169719 +:04072C00C4214EABEB +:04072D00848C16970B +:04072E00825C8E97C4 +:04072F0084848697A1 +:0407300084503E971C +:04073100416E183BC2 +:0407320088E200FF5A +:0407330036950012E5 +:040734000A2B0CE39D +:040735006CB5769594 +:0407360036B54AB5D5 +:04073700442158B54C +:040738000004022295 +:04073900001219622F +:04073A00000049CEA4 +:04073B00000A02624C +:04073C004897082BA7 +:04073D0049EF001C64 +:04073E0006D10000E0 +:04073F00F9432FD17A +:04074000003BE00991 +:040741008320169764 +:04074200392EC0216B +:04074300813B0001F5 +:04074400030020345A +:040745000404210483 +:0407460038A828891E +:040747001E97900069 +:0407480010348320C6 +:040749001084030015 +:04074A00342E04083D +:04074B0024C90002BB +:04074C00900030E801 +:04074D0083A01E97D0 +:04074E0018341CEB54 +:04074F0018C40002C8 +:040750001AD593A47F +:0407510058042160C7 +:0407520090003928B2 +:0407530010E016D5C7 +:0407540030A858026F +:040755003C2B9000A9 +:04075600832016974F +:04075700030018344F +:04075800042018C49D +:0407590018A826892D +:04075A0088CB8000C8 +:04075B0018D4092382 +:04075C0018A80020B9 +:04075D00269790004B +:04075E00035B832096 +:04075F0000028426EA +:040760000001130081 +:04076100FB9B0E23CD +:04076200031BFB5B1F +:04076300C8043EE8A0 +:040764000001CAC8FE +:04076500003B4021F4 +:0407660084841697DA +:0407670028121CAB8D +:040768001697001AC6 +:04076900116082D4C5 +:04076A002B25EC054A +:04076B000010301238 +:04076C0082D4169786 +:04076D00EC0611A0E5 +:04076E00E0093D253C +:04076F00FD43283BE3 +:04077000FE83303B99 +:04077100827C1697D9 +:04077200000118AEBC +:0407730010A606E3E3 +:0407740016A30007C1 +:040775001697871933 +:04077600191981D4F8 +:04077700048526814E +:0407780020A0390B79 +:04077900548BEC02AF +:04077A00103BE00947 +:04077B00003BE00956 +:04077C000002103433 +:04077D0093A4289782 +:04077E000300103430 +:04077F0008001084DA +:040780002549D02116 +:0407810001FC300443 +:04078200900031684A +:0407830083A02E978A +:04078400011C016AE9 +:040785000002183422 +:0407860093A418C45C +:0407870010E016D593 +:0407880030A858023B +:04078900049B90003D +:04078A0000EA370B3F +:04078B00300401062F +:04078C00183401FC20 +:04078D0018C4030089 +:04078E002E9708009A +:04078F0028BA822CD6 +:04079000410B00F821 +:0407910000E6042258 +:04079200000210341D +:0407930003003034FB +:0407940003003834F2 +:0407950003008834A1 +:0407960093941084A4 +:040797003184283B46 +:0407980040040E808B +:0407990039C401F965 +:04079A008C440EA0DD +:04079B001E970EB0E7 +:04079C00197A82281C +:04079D00103400DA3A +:04079E0030340002F1 +:04079F0038340300E7 +:0407A0008834030096 +:0407A10010840300BD +:0407A200283B934C11 +:0407A3000E8031840F +:0407A40001F8400414 +:0407A5000EA039C4A5 +:0407A6000EB08C44C1 +:0407A70082241E97F3 +:0407A80000DC197ADE +:0407A900000298347E +:0407AA009CC4883B28 +:0407AB00169789F420 +:0407AC00147A8258E1 +:0407AD00883401B8D3 +:0407AE008C44000275 +:0407AF009C7B8F148C +:0407B000C41200204F +:0407B10082541697C1 +:0407B20000E414BA91 +:0407B300C41200204C +:0407B40082601697B2 +:0407B500010414BA6D +:0407B6000002883481 +:0407B7008E448C449C +:0407B800C412002047 +:0407B90080489E8452 +:0407BA00827C169790 +:0407BB00C40214E080 +:0407BC0014BA0485E2 +:0407BD00169700F695 +:0407BE0004998240D8 +:0407BF00010A143ADD +:0407C000838C869709 +:0407C1009034282325 +:0407C2008834000275 +:0407C3009834000264 +:0407C400A03403005A +:0407C5009484030015 +:0407C6008C4489F4E2 +:0407C7009CC489D075 +:0407C800A5040EA0D6 +:0407C90016970EA8C9 +:0407CA00143A81E478 +:0407CB0050210114A4 +:0407CC00DE83029B2B +:0407CD0001FF3004F4 +:0407CE001E99DF038E +:0407CF0000022834C8 +:0407D00029575BC189 +:0407D100274993A47D +:0407D20090003168FA +:0407D300DD4304916D +:0407D4002CC9069591 +:0407D500900040E868 +:0407D6000895183B2F +:0407D700580420E0C2 +:0407D80001282F09BC +:0407D90008959000EF +:0407DA00580420E0BF +:0407DB0001282309C5 +:0407DC0026D1900092 +:0407DD00001020E602 +:0407DE000B51E123B7 +:0407DF00DDC32491C1 +:0407E0002CC9069585 +:0407E100900040E85C +:0407E2000895183B23 +:0407E300580420E0B6 +:0407E40001282F09B0 +:0407E50008959000E3 +:0407E600580420E0B3 +:0407E70001282309B9 +:0407E80026D1900086 +:0407E900001020E6F6 +:0407EA000B51E123AB +:0407EB00DD832491F5 +:0407EC000120A4D76D +:0407ED00253B055B48 +:0407EE000000A34024 +:0407EF00253B283B43 +:0407F0000000A0C0A5 +:0407F1000001148C63 +:0407F200075B08ABEE +:0407F300A340253BBF +:0407F40094840000E9 +:0407F5009CC400019F +:0407F600DD0300041B +:0407F700035B085543 +:0407F80000019484E4 +:0407F9000000A0C09C +:0407FA00DC83225129 +:0407FB0000021034B4 +:0407FC00C40214A07F +:0407FD0098F41086D6 +:0407FE00085508ABE7 +:0407FF00A340283BB0 +:0408000094840000DC +:04080100225100017F +:040802001697DBC3A7 +:0408030018AE827C2D +:0408040026E30001E6 +:04080500000718AE22 +:0408060010AE20E32D +:040807001EA3000527 +:040808002401509BDC +:0408090018341499F2 +:04080A00035B00028A +:04080B0020D736813B +:04080C0000118E4405 +:04080D000000A34004 +:04080E00589BD78399 +:04080F00489BFC8383 +:04081000243BFC0386 +:0408110000006D4036 +:04081200580298A050 +:04081300800010A8A9 +:04081400000014AF1D +:040815006D40243BD3 +:04081600A0A000009E +:0408170010A85802CB +:04081800046D8000EB +:0408190094840011B2 +:04081A001251000275 +:04081B001659D70390 +:04081C0081D01697DA +:04081D002681283BCD +:04081E0000009097AF +:04081F00A34024BB13 +:04082000283B000071 +:04082100A0C024BB94 +:04082200044B000083 +:04082300035B08ABC0 +:04082400A34024BB0E +:040825001697000022 +:0408260018AB838CFC +:0408270094A09459AC +:0408280002DBCD68BA +:0408290090E00499BE +:04082A0014E04C0387 +:04082B00088DC4026E +:04082C0006AD28C924 +:04082D00BEC30251F3 +:04082E00650BC42171 +:04082F007EA3813BE8 +:0408300018AB350BC1 +:04083100033F10343D +:040832000F0010841F +:04083300900000A889 +:04083400033F10343A +:040835002F001084FC +:04083600900000A886 +:0408370024AB040BDF +:04083800033F103436 +:040839000F04108414 +:04083A00900000A882 +:04083B00033F103433 +:04083C002F041084F1 +:04083D00900000A87F +:04083E00034010342F +:04083F00870C10848E +:04084000900000A87C +:040841000CAB440BAD +:04084200034010342B +:040843008700108496 +:04084400900000A878 +:0408450026AB140BBF +:0408460083F8169786 +:0408470003408834AE +:0408480087048C4451 +:0408490010ACC49596 +:04084A0000AA0010F0 +:04084B00191B00E88D +:04084C000001DF00C8 +:04084D0090000468AB +:04084E00DF00151B97 +:04084F00840B000115 +:04085000009C00A266 +:04085100DF00191B90 +:04085200103400015D +:0408530002DB034081 +:04085400870810847D +:04085500900018A84F +:040856000CAB140BC8 +:040857000340103416 +:04085800870410847D +:04085900900018A84B +:04085A00DF00151B8B +:04085B00440B000149 +:04085C0010340EAB9B +:04085D0010840340C0 +:04085E0002DB870032 +:04085F00900018A845 +:04086000033F183406 +:0408610018C4029B1A +:0408620010E82F0863 +:0408630018349000B5 +:0408640018C4033F72 +:0408650010E80F0880 +:04086600060B9000ED +:04086700183424EB32 +:0408680018C403406D +:0408690010E8870C00 +:04086A0018349000AE +:04086B0018C4033F6B +:04086C0010E82F045D +:04086D0018349000AB +:04086E0018C4033F68 +:04086F0010E80F047A +:04087000340B9000B5 +:0408710010341AAB7A +:0408720002DB033F63 +:040873002F001084BE +:04087400900018A830 +:04087500033F1034F9 +:040876000F001084DB +:04087700900018A82D +:040878000014840CD8 +:0408790000048426CD +:04087A0020342A23D9 +:04087B002104000252 +:04087C003E97987C8F +:04087D00290E822C92 +:04087E0018340032F8 +:04087F0018C4000297 +:04088000103B93A4F2 +:04088100021B303BEB +:04088200001039A287 +:0408830004ABC48B73 +:040884000032292FE6 +:04088500046844219E +:04088600E4439000B7 +:040887000D9114CDEE +:04088800948B26D156 +:040889004C021420E9 +:04088A0028A06489B5 +:04088B00029B38058F +:04088C00003BFAC370 +:04088D00827C1697BC +:04088E00000110A6AF +:04088F0016976AA3AB +:0408900010A682D854 +:0408910060A300025E +:040892002834C0A1A5 +:04089300813B0001A4 +:0408940029440F9B49 +:0408950026C46E0CFB +:040896005880000185 +:0408970044230016E0 +:040898000C008004CC +:0408990003402834BC +:04089A002944203B92 +:04089B0016C48000FF +:04089C0028810001AE +:04089D00169706851F +:04089E00303481A0D1 +:04089F000ED900026C +:0408A0002E8116D9B6 +:0408A1006DC1048D94 +:0408A200109F2AC9B0 +:0408A3002089E3FFC6 +:0408A4008D4411AFBF +:0408A50010E8F48BD8 +:0408A60009119000A4 +:0408A700000711260F +:0408A80040A1CCA3FC +:0408A900F783803B16 +:0408AA00003BE00926 +:0408AB0083F8169721 +:0408AC00148BC49550 +:0408AD00C02136AB85 +:0408AE00292B813B36 +:0408AF00C3C0217B26 +:0408B0001697000097 +:0408B10020A3838C71 +:0408B200827C169797 +:0408B300000510AE7E +:0408B4001834049957 +:0408B50018C4033F21 +:0408B600208918007D +:0408B700900010E8B5 +:0408B8004021143B8C +:0408B900FD03103BF0 +:0408BA00FC83029B1E +:0408BB00003BE00915 +:0408BC0016972F2339 +:0408BD0010AE827C7B +:0408BE0028A3000764 +:0408BF0011001034E0 +:0408C00081941E976A +:0408C100900010E8AB +:0408C2001697152B45 +:0408C30010AE827C75 +:0408C40016A3000770 +:0408C5001E97E09BFF +:0408C60010E8831C97 +:0408C700E0099000B4 +:0408C800FB83103B63 +:0408C9001B001034CC +:0408CA00CC9BFAC306 +:0408CB00003BFD03EE +:0408CC00827C16977D +:0408CD00000118AE60 +:0408CE0010AE08E37D +:0408CF0000AA000774 +:0408D00016970094E3 +:0408D100183481D086 +:0408D20018C4030043 +:0408D300049500E0A8 +:0408D40010A82689B9 +:0408D500303480003B +:0408D6000160033F7B +:0408D700109F49C560 +:0408D8003184BFFFA9 +:0408D9002A8910E078 +:0408DA00900011A8D1 +:0408DB0024AB350B0A +:0408DC008254169795 +:0408DD0016971EABA1 +:0408DE00049581C834 +:0408DF0010A82689AE +:0408E0001834800048 +:0408E100109F033F22 +:0408E2002A89BFFFA1 +:0408E30012E018C443 +:0408E400900010E888 +:0408E5004123190B87 +:0408E6001ED9E0092E +:0408E70081BC169723 +:0408E8000C952E81BC +:0408E90011A82989A0 +:0408EA00109F8000DB +:0408EB002A89BFFF98 +:0408EC00900011A8BF +:0408ED0081B8169721 +:0408EE000C952E81B6 +:0408EF0011A829899A +:0408F000109F8000D5 +:0408F1002A89BFFF92 +:0408F200900011A8B9 +:0408F300169706D17D +:0408F40010FA825C18 +:0408F500E009FFC453 +:0408F60003002034A7 +:0408F7002104183B85 +:0408F800FD4300E0DC +:0408F90083F81697D3 +:0408FA000040109713 +:0408FB00100010AC2D +:0408FC0000C200A294 +:0408FD0081AC16862E +:0408FE00001710BE11 +:0408FF0000B600A29D +:04090000033F10346D +:0409010038581084CE +:0409020002DB792B70 +:04090300900018A8A0 +:04090400033F103469 +:04090500385C1084C6 +:0409060018A87EDBD4 +:0409070016979000AF +:0409080018AE82E4BF +:0409090010E30001F6 +:04090A008390169729 +:04090B00169750A348 +:04090C00108E83F8CE +:04090D00048B003225 +:04090E00838C1E9721 +:04090F00A00300E061 +:0409100000E01CD90E +:04091100278948A347 +:040912002499258976 +:0409130010342589EE +:040914001084033F09 +:0409150030A8185C92 +:040916001034900009 +:040917001084033F06 +:0409180000A82F10F4 +:040919001034900006 +:04091A001084033F03 +:04091B0000A80F1011 +:04091C00383B9000D4 +:04091D0020047F5BD8 +:04091E00470825A7BA +:04091F00029B000037 +:0409200000A8F6C372 +:0409210010349000FE +:040922001084033FFB +:0409230000A8385C94 +:0409240010349000FB +:040925001084033FF8 +:0409260000A8185CB1 +:0409270010349000F8 +:040928001084033FF5 +:0409290000A82F10E3 +:04092A0010349000F5 +:04092B001084033FF2 +:04092C0000A80F1000 +:04092D00E00990004D +:04092E0000201196FE +:04092F0005150AA3FD +:040930004C033160E3 +:0409310005352689D9 +:040932000021199EE9 +:040933001EE3151595 +:040934004D49DD91BB +:04093500580628A098 +:04093600827C169712 +:0409370010A61D35B4 +:0409380018A30007F9 +:0409390020040B1576 +:04093A00470814F462 +:04093B0009AB000004 +:04093C00BCC140DB1F +:04093D00FB83574998 +:04093E00FB03283B54 +:04093F00003BE00990 +:040940009834CCA17A +:04094100893B0300EB +:040942000033917B72 +:04094300803B007382 +:0409440000AC9CC4A3 +:04094500831026975E +:040946000006243A49 +:04094700185310131E +:040948002C7B4CA117 +:04094900001571C064 +:04094A001E97208153 +:04094B00149981CCAE +:04094C00049524C129 +:04094D00580298A014 +:04094E00800010A86D +:04094F00001404A2EA +:040950000008109CEF +:04095100CC6328A0AB +:0409520026FB343B11 +:0409530000024B80D3 +:04095400F803001193 +:04095500CC4228A0C8 +:04095600003BFDC3A2 +:040957008697C0219E +:04095800169781B0BD +:04095900162B80B029 +:04095A002E9754A3DD +:04095B00029B80ACCF +:04095C0080B016B79A +:04095D008180803BDA +:04095E00143B000145 +:04095F003E9740215E +:04096000368482D087 +:040961002E9780400D +:040962006F8180AC75 +:0409630030B20D851C +:040964004501001237 +:04096500000181808C +:0409660080B01697B0 +:0409670016B704912A +:04096800FAC380B09E +:040969000002192E41 +:04096A00197206D127 +:04096B000B5100101C +:04096C0080AC2EB776 +:04096D0080B006B799 +:04096E000001818083 +:04096F00021BF783ED +:04097000003BF7034E +:04097100806983E135 +:040972000001283424 +:040973002944819BF7 +:0409740026FB6C787A +:040975000016588090 +:0409760020FD16FB4F +:0409770001280895B6 +:040978002491900036 +:04097900FFF418A2CD +:04097A0003E100692C +:04097B0082F8169751 +:04097C0082FC1E9744 +:04097D00025BCCA1AC +:04097E001120A6811D +:04097F0044494C1388 +:0409800000730033CD +:04098100C41200207C +:0409820084E0803B52 +:04098300283BC40445 +:04098400000250001D +:0409850028BB34BB9C +:040986004B8026FB81 +:0409870016970002BD +:0409880000118310C7 +:04098900C41214A0E0 +:04098A00FFDE8C22DE +:04098B0018531013DA +:04098C00003B4CA13F +:04098D0026B7FD612B +:04098E00203481A4EC +:04098F002833033FC7 +:040990002104103BF3 +:0409910028133000F7 +:0409920028A21699E8 +:04099300883400B0F4 +:040994008C4400028D +:04099500803B8E44D1 +:040996008048B6845B +:04099700827C1697B1 +:04099800C40315A0DF +:040999001C3A06C539 +:04099A0020AE009EED +:04099B00092300012B +:04099C00000718A692 +:04099D0000D400E2A0 +:04099E0082D81E9746 +:04099F00000428EE3A +:0409A00000C401622C +:0409A100000218E652 +:0409A200012216D147 +:0409A30010AE00C2D0 +:0409A40000A20005A8 +:0409A500900400CAF0 +:0409A600A004002881 +:0409A7004FDB0026FC +:0409A8000029980486 +:0409A9000340A8342B +:0409AA000340B03422 +:0409AB00033FB8341A +:0409AC00033FE034F1 +:0409AD00033F403490 +:0409AE00033F483487 +:0409AF00AD44803B98 +:0409B000B584854045 +:0409B100BDC485003C +:0409B200E7040DC089 +:0409B30042042DC00D +:0409B4004A440D00A4 +:0409B50010132D00EE +:0409B60080A21219F0 +:0409B70016970092FD +:0409B80010A6827C87 +:0409B90010A3000582 +:0409BA00431B035B7D +:0409BB000000AD008B +:0409BC00451B035B79 +:0409BD000000AD0089 +:0409BE00838806B76D +:0409BF0028C97D6165 +:0409C000900000E8BB +:0409C100E7C30491F3 +:0409C20000021034EB +:0409C3001086240175 +:0409C40006A398F4FA +:0409C50022510011AA +:0409C600AC57E843FF +:0409C700002000000C +:0409C800AD74C41333 +:0409C9001013030004 +:0409CA00485404E0A9 +:0409CB00FFE498AA03 +:0409CC00243B2CFBA1 +:0409CD0000005D8049 +:0409CE00A56008AB6D +:0409CF00152858147B +:0409D0009CC4900033 +:0409D100FBC3000163 +:0409D200E7C3183B24 +:0409D300E7C3183B23 +:0409D400002C90045F +:0409D500002AA00450 +:0409D600980457DB4F +:0409D700E883002D84 +:0409D8000025900462 +:0409D9000023A00453 +:0409DA00980449DB59 +:0409DB00E683002689 +:0409DC002C3B21FB94 +:0409DD0040F3493367 +:0409DE00387318B39F +:0409DF0000005D8037 +:0409E0005804AC60AB +:0409E1009000112849 +:0409E2002C3B253B4A +:0409E30000005D8033 +:0409E4005804B4609F +:0409E5009000112845 +:0409E6002C3B24FB87 +:0409E70000005D802F +:0409E8005804BC6093 +:0409E9009000112841 +:0409EA005802E4606B +:0409EB00900000A8D0 +:0409EC002C3B24BBC1 +:0409ED0000005D8029 +:0409EE0040D3189347 +:0409EF004460568981 +:0409F000112858046E +:0409F1004913900016 +:0409F200827416975E +:0409F3004C603853C9 +:0409F4001EA35811D5 +:0409F50024BB2C3BB8 +:0409F60018B340F3FF +:0409F70000005D801F +:0409F80038531893C5 +:0409F900568940D308 +:0409FA001468491321 +:0409FB000011900057 +:0409FC00FE9BDC83FF +:0409FD00003BFE833A +:0409FE00030020349E +:0409FF002104183B7C +:040A00003004188026 +:040A010028FE1000BB +:040A020014D90006FD +:040A030034910363C4 +:040A040083C42E97E2 +:040A050014992A8195 +:040A060010B428817F +:040A070030A8033FD1 +:040A080006D1900083 +:040A0900000C10E6E7 +:040A0A00E009DCA380 +:040A0B00839C1E9713 +:040A0C008069DFE13D +:040A0D00897B813B25 +:040A0E00012A00EACF +:040A0F0000AA154BD9 +:040A10001697012410 +:040A1100849182E466 +:040A120016B7088982 +:040A1300146E83C01A +:040A140000A200023A +:040A150094510114E3 +:040A1600000210B614 +:040A1700010E00A22A +:040A180084008E9731 +:040A1900827C16972E +:040A1A00000120AE09 +:040A1B0010AE0923ED +:040A1C0000AA000725 +:040A1D00269700EC2C +:040A1E002E9782F09D +:040A1F00029B83A013 +:040A200024208911F4 +:040A21002AC94C137F +:040A22004C1398A039 +:040A230000E400EA01 +:040A240082E41E97B3 +:040A250048C9360185 +:040A260014E0468909 +:040A27009EB758130B +:040A2800002080CC5E +:040A2900A804C41247 +:040A2A00169700011A +:040A2B0014BA824433 +:040A2C001C3600C6AE +:040A2D001697000216 +:040A2E0000E283F867 +:040A2F00A895010481 +:040A300002AB040B06 +:040A31002E97D9190A +:040A3200183B8234B7 +:040A33008000368485 +:040A340028E21B5940 +:040A3500B83400F0E1 +:040A36009EFB000221 +:040A3700C4150020C2 +:040A38008E44BDC467 +:040A39008234169756 +:040A3A0000FC157A2D +:040A3B008230169758 +:040A3C00969770AB6E +:040A3D001CB6827CE5 +:040A3E0066E3000269 +:040A3F008E975089B5 +:040A4000048B83C8D8 +:040A4100005A88AA25 +:040A42000001283453 +:040A43002944619B46 +:040A4400093D6CB844 +:040A450000165880BF +:040A46008248369715 +:040A4700000228344D +:040A480021FD08BDC7 +:040A4900000194A66E +:040A4A008E44294469 +:040A4B00000131A6CF +:040A4C0004A2069565 +:040A4D0007A30008F3 +:040A4E00001320EE83 +:040A4F0018951723BC +:040A5000191916D981 +:040A510000D5374154 +:040A520041174941BE +:040A530040F7000068 +:040A54000135000068 +:040A550011E23491E5 +:040A56000460FFD663 +:040A57008EB7A011A5 +:040A5800006983C8E6 +:040A5900143B5FE10A +:040A5A00183BDC0366 +:040A5B008EB7DE4331 +:040A5C00DE03840031 +:040A5D00E443103B23 +:040A5E00827C1697E9 +:040A5F00000118AECC +:040A600010AE38E3B9 +:040A610036A30007B1 +:040A62009560191B67 +:040A630024A04C146B +:040A64009D20C40409 +:040A6500052038141C +:040A66002D3BA01470 +:040A67000000AD00DE +:040A6800827C1697DF +:040A6900000710A6CC +:040A6A002D3B0AA373 +:040A6B0000082484D7 +:040A6C000000AD00D9 +:040A6D00000194846C +:040A6E00151BDE0373 +:040A6F000D1BF983DF +:040A7000B895F90339 +:040A71001C6BDF43D8 +:040A72006C021920D9 +:040A73009491548B7B +:040A7400000638B68A +:040A750025810FE3E5 +:040A76001EE00485F5 +:040A770005F5C407B6 +:040A7800DDC326D1E3 +:040A7900FE43103BED +:040A7A00827C1697CD +:040A7B00000710AEB2 +:040A7C0090045EA3E1 +:040A7D008CD700040E +:040A7E00ACA0000028 +:040A7F0024BBC412BE +:040A8000FFFEA4448D +:040A810000022D360C +:040A82000000AD00C3 +:040A830024BB283B2D +:040A84000002A53E89 +:040A850000005D8090 +:040A8600000805223D +:040A8700FF00109FBD +:040A8800580214609C +:040A8900484304A03A +:040A8A000002203412 +:040A8B00211748C126 +:040A8C0021348E443F +:040A8D001128030029 +:040A8E001697900027 +:040A8F008C6E83885E +:040A900012A30003AA +:040A9100AD441063FD +:040A92009CC40001FF +:040A9300D283000406 +:040A940000029004C8 +:040A95001259F403FB +:040A960016B7029BF2 +:040A97000020838830 +:040A98001DE0C41485 +:040A99001E97C416CA +:040A9A001034827C16 +:040A9B0016D9000167 +:040A9C00109724C1CA +:040A9D001532721488 +:040A9E0024BBFFCCAA +:040A9F005D802D3B0E +:040AA000052000002D +:040AA100259748430A +:040AA2005289000075 +:040AA30018F428C952 +:040AA40010E8030053 +:040AA500A504900014 +:040AA600F94300010F +:040AA70000022834ED +:040AA800987C2944C9 +:040AA9000036194EAC +:040AAA000030114EB9 +:040AAB000689C421D3 +:040AAC00003A194EA5 +:040AAD00068966C987 +:040AAE000038194EA5 +:040AAF000080012A98 +:040AB000012066C9F2 +:040AB1008834484BF2 +:040AB20040340002CA +:040AB30006890301AC +:040AB4006004303B6F +:040AB5008C4400016C +:040AB600420493BCA7 +:040AB7003320C02404 +:040AB80012604C0973 +:040AB9004AEB3803C9 +:040ABA00002011996E +:040ABB004820C40A01 +:040ABC000041180DD0 +:040ABD0038EE1605F4 +:040ABE0033E300FF1F +:040ABF0040E056D9E4 +:040AC00038E85803B7 +:040AC10039DF800099 +:040AC20059E0FFFBFD +:040AC30038E85807B0 +:040AC400392B90003A +:040AC500800038E88D +:040AC60007E36FCB08 +:040AC70080A03E9736 +:040AC800194EF3EBE5 +:040AC9001A60003877 +:040ACA00196F580345 +:040ACB0002AA003843 +:040ACC000D91001276 +:040ACD00001019A656 +:040ACE001697A4E3F0 +:040ACF00442180A09E +:040AD000EFC3648983 +:040AD10050042605A2 +:040AD200F5430001E7 +:040AD3000038194E80 +:040AD40038031B6068 +:040AD500003BFA8365 +:040AD60081AC168653 +:040AD700001710BE36 +:040AD800016C00A20B +:040AD90083FC1697ED +:040ADA009097CC2104 +:040ADB00948C0018DF +:040ADC0004A201006F +:040ADD008034015E02 +:040ADE00840400028A +:040ADF00140E987CDD +:040AE0001C0E0030B8 +:040AE1006489002EF6 +:040AE20000AA0689D7 +:040AE3002834013280 +:040AE400183B0301B7 +:040AE500294403DBC2 +:040AE60019E0841877 +:040AE70020A04C04FB +:040AE80015AB38060C +:040AE9002B895CD920 +:040AEA00800031A8AF +:040AEB00340E0BAB0F +:040AEC002D090030A0 +:040AED000030242F82 +:040AEE0020E606D127 +:040AEF00DB230010F5 +:040AF0002C0E029B2B +:040AF1001C0E0032A5 +:040AF200F94B00308C +:040AF300FCCB6909C6 +:040AF400032B0D09BA +:040AF5008C0E029BC6 +:040AF6000AC9003CED +:040AF7006249F6CB8F +:040AF800526B0649EE +:040AF90083FC1697CD +:040AFA0000189897B1 +:040AFB0004009CCC8B +:040AFC0000D004E240 +:040AFD000499409B7D +:040AFE0000021834A6 +:040AFF0028CE368146 +:040B00000349987C91 +:040B010004E20B6B94 +:040B0200211B00BEF5 +:040B03000013520089 +:040B040000282C0E8B +:040B05000040140E8A +:040B060005496B49E9 +:040B07000B6B034928 +:040B080000A804E25B +:040B09005200491B32 +:040B0A00140E0013B2 +:040B0B002449003C3D +:040B0C00003C8C2FEE +:040B0D00240E029B15 +:040B0E001C0E003287 +:040B0F0008C90030E1 +:040B1000003C240E73 +:040B1100240E08C9DD +:040B120008C90034DA +:040B13000036240E76 +:040B140008C969099A +:040B1500283444EB51 +:040B160003DB0301F9 +:040B1700C024294489 +:040B18004C0491E018 +:040B1900380220E09E +:040B1A0004A024AB64 +:040B1B001034484604 +:040B1C00258100022D +:040B1D0093BC1086EF +:040B1E002A89549933 +:040B1F00800010A89A +:040B20000AAB448B4D +:040B21000036140E78 +:040B2200242F25094E +:040B23009484003680 +:040B240014A6000112 +:040B2500C8A3001051 +:040B2600240E029BFC +:040B27001C0E00366A +:040B280008C90030C8 +:040B2900003A240E5C +:040B2A0008C9690984 +:040B2B000038240E5C +:040B2C0008C9690982 +:040B2D00031B08EBB3 +:040B2E000002A9C058 +:040B2F004C21029BB8 +:040B3000DFC3103BD4 +:040B3100E5C32C9B51 +:040B3200E803031BB6 +:040B3300EAC30D1BE9 +:040B3400E009103B89 +:040B3500FCC3103BB2 +:040B360026972D636E +:040B3700168482D0CE +:040B38001E97803450 +:040B390028818198F6 +:040B3A001EB7048559 +:040B3B0006B780A8D1 +:040B3C00268180B0DE +:040B3D0080AC06B7CB +:040B3E000009189EF4 +:040B3F00109B02E322 +:040B4000819816B7CB +:040B41002966E00938 +:040B42001363000237 +:040B4300031B8021EF +:040B440000018180AB +:040B450080A81697D7 +:040B4600819816B7C5 +:040B4700E0090021A0 +:040B4800803BC82105 +:040B4900825C16971D +:040B4A00002E143A2B +:040B4B002C7B482196 +:040B4C007080243B56 +:040B4D0010A80000EC +:040B4E00108C800087 +:040B4F00149203FFFA +:040B500090BB000254 +:040B510016970251A0 +:040B5200147A83048A +:040B5300243BFFE060 +:040B5400A5C02CBB51 +:040B5500001100008B +:040B56000020F9433F +:040B5700883BC41201 +:040B5800003BFC83DF +:040B59000300103451 +:040B5A000300108400 +:040B5B0083201E973E +:040B5C0018E824C9A8 +:040B5D0006CB800043 +:040B5E001E9706E3F5 +:040B5F00ECEB80A09B +:040B6000003BE0096D +:040B6100831C169744 +:040B6200900020A837 +:040B63000002D6486E +:040B6400827C1697E2 +:040B6500000710AEC7 +:040B660080211CA32B +:040B6700D840111B46 +:040B68001E970002D2 +:040B6900103483C001 +:040B6A0016D9000296 +:040B6B0002DB24C1C4 +:040B6C0098C018B75E +:040B6D00E00900217A +:040B6E00827C1697D8 +:040B6F00000710AEBD +:040B70001E972AA3FF +:040B71001034819427 +:040B720080210100DD +:040B7300000F1084DB +:040B7400900010E8F5 +:040B7500D8401F1B2A +:040B76001E970002C4 +:040B7700103483C0F3 +:040B780016D9000288 +:040B790000B724C1DC +:040B7A00002198C0FE +:040B7B00003BE00952 +:040B7C00827C1697CA +:040B7D00000118AEAD +:040B7E0010A606E3D4 +:040B7F0016A30007B2 +:040B800083801697C1 +:040B8100000E20AA98 +:040B8200838026B78F +:040B8300DB880523E3 +:040B8400D90800028A +:040B8500E009000281 +:040B8600827C1697C0 +:040B870018AE802103 +:040B880006E300017F +:040B8900000710A6AB +:040B8A0016970EA309 +:040B8B0010A68380AD +:040B8C0004A30001BD +:040B8D000002DB8007 +:040B8E0082D01E975C +:040B8F0018A0809B8F +:040B90001E97EC02BE +:040B910026818140F8 +:040B920081941E9795 +:040B9300010010B499 +:040B9400900010E8D5 +:040B9500827C2697A1 +:040B96000001112E1B +:040B9700112E34A344 +:040B980032A300057F +:040B99000007212E02 +:040B9A00001421041E +:040B9B000002D8403C +:040B9C00827C1697AA +:040B9D00000118AE8D +:040B9E0010A606E3B4 +:040B9F001AA300078E +:040BA00083801697A1 +:040BA100000110A699 +:040BA2003EE810A376 +:040BA300D908C800A5 +:040BA400291B000207 +:040BA500A31BFAC3D1 +:040BA6000021FA43ED +:040BA700827C16979F +:040BA800893BCC2198 +:040BA900000118AE81 +:040BAA0091BB817BFF +:040BAB0006E399FBC9 +:040BAC00000710A688 +:040BAD0016970EA3E6 +:040BAE0010A683808A +:040BAF0004A300019A +:040BB0000002DB80E4 +:040BB100840416970B +:040BB200000110AE80 +:040BB30010340EA349 +:040BB4001084034066 +:040BB50004DB82C01B +:040BB600900018A8EB +:040BB700017804E2DB +:040BB80001011436ED +:040BB9009C047EA377 +:040BBA00021BFFFF1C +:040BBB0000022034E0 +:040BBC002104283BAD +:040BBD00419B87B021 +:040BBE0080BC9EB7A2 +:040BBF0080C086B7B5 +:040BC00000165A00C1 +:040BC100827C169785 +:040BC20000021834E1 +:040BC30082D8269717 +:040BC400000128AE56 +:040BC50087B018C419 +:040BC60028A60763F3 +:040BC7005D63000763 +:040BC8000004292ECE +:040BC90028344B631E +:040BCA0029440101B8 +:040BCB003034001FA3 +:040BCC0029B7000243 +:040BCD002E9787B028 +:040BCE0031448140ED +:040BCF0031B4FFFD41 +:040BD0001CF501000F +:040BD10000043126C5 +:040BD20030342DA3EB +:040BD3003CF50202E9 +:040BD4000001316E7D +:040BD500019601A2E2 +:040BD6000002296E82 +:040BD70028346F63EC +:040BD8000D83010088 +:040BD90068D00420BC +:040BDA00003F98043C +:040BDB00EF83001193 +:040BDC0002022834B5 +:040BDD003034F68337 +:040BDE00FA430101D4 +:040BDF00000528A63F +:040BE000392E5163F6 +:040BE10001E2000429 +:040BE2002834015260 +:040BE300294401019F +:040BE4003034001F8A +:040BE50029B700022A +:040BE6002E9787B00F +:040BE700812E81409A +:040BE8009D51000219 +:040BE90031B4E181C1 +:040BEA001CF50100F5 +:040BEB00013201E2F0 +:040BEC000002316E64 +:040BED00013001A230 +:040BEE00010030349E +:040BEF0031263CF57A +:040BF0009BA30004BF +:040BF1000001296E68 +:040BF2000122016279 +:040BF30002002834A0 +:040BF40038AE5AF5C8 +:040BF5003697000728 +:040BF6008697833427 +:040BF7002E9783387A +:040BF80001E282D0C4 +:040BF900E181010E87 +:040BFA0031846D01D4 +:040BFB0029A0000E1F +:040BFC0094B4EC05BC +:040BFD0090F701006C +:040BFE002974001046 +:040BFF002AF50100D2 +:040C000000F4046296 +:040C0100010A01E201 +:040C0200000528AE13 +:040C030000F6016294 +:040C04001F6328340E +:040C05005805996095 +:040C06002E976AF5C6 +:040C0700039B819832 +:040C08002C664B8982 +:040C09008D910002C7 +:040C0A0000EC016297 +:040C0B00000528A612 +:040C0C000100016280 +:040C0D000004212E90 +:040C0E00010C0122B2 +:040C0F007D00283408 +:040C100004627AF50B +:040C110001E20108F3 +:040C120010AE01100F +:040C130000A2000536 +:040C14008A9B010CAA +:040C150080B816B7D6 +:040C160081942E9700 +:040C17001834103B42 +:040C1800368100021F +:040C190087B018D7B1 +:040C1A00192845410F +:040C1B002491900090 +:040C1C00002018A6F6 +:040C1D008C66E8E316 +:040C1E00D3C000023D +:040C1F00046200006B +:040C2000169700FC27 +:040C210010A6827C1B +:040C220000A2000527 +:040C2300169700F030 +:040C24001E97831C78 +:040C250018A880B8D3 +:040C2600169790008D +:040C270018A8832066 +:040C280010A8800090 +:040C2900169780009A +:040C2A0018AE827C02 +:040C2B0006E30001DB +:040C2C00000710A607 +:040C2D0016970EA365 +:040C2E0010A6838009 +:040C2F0004A3000119 +:040C30000002D900E5 +:040C3100840416978A +:040C3200000110AEFF +:040C330010340CA3CA +:040C340010840340E5 +:040C350000A882C0D1 +:040C36004C219000BD +:040C37000202283459 +:040C38003034D583FC +:040C3900DA83020256 +:040C3A000200303450 +:040C3B002834D9C3BD +:040C3C00DB83030053 +:040C3D00DEC3A19BD6 +:040C3E00000528AED7 +:040C3F0013E30F6349 +:040C40003D6D2834AA +:040C41002834E1C3AF +:040C4200E103316435 +:040C43004E6428349F +:040C44002834E0432D +:040C4500DF83366AA9 +:040C460027E310632D +:040C4700000520AED6 +:040C480028341B230E +:040C49002D490165CB +:040C4A0020AEE2C333 +:040C4B002834000544 +:040C4C00F323016627 +:040C4D0028340DE357 +:040C4E00FD43016FF2 +:040C4F0001662834DE +:040C50002834FC83C5 +:040C5100FBC3016C74 +:040C52007E002834C4 +:040C530018AEDE43B6 +:040C54000EE30005A6 +:040C5500000710A6DE +:040C56006A9B0CA3E6 +:040C5700689BDEC3F5 +:040C58002E9BDE43AE +:040C5900629BDDC3FA +:040C5A002697DD43B9 +:040C5B00001180B84C +:040C5C000002D8407A +:040C5D0080C01697A6 +:040C5E00FFEE143A57 +:040C5F00803BE38370 +:040C6000003BFE4314 +:040C6100383B317B70 +:040C6200031B293B0C +:040C63000002E9C8DA +:040C6400303B03DB43 +:040C6500203B283BCD +:040C66000002E9C8D7 +:040C670082D8169782 +:040C68008491C02192 +:040C69001697488111 +:040C6A00550982D0D6 +:040C6B00113E452BC6 +:040C6C0081110101F0 +:040C6D0010343EA35E +:040C6E0020BA0001A7 +:040C6F00B419002C88 +:040C70002E97803B00 +:040C7100183481941E +:040C720018C40100A1 +:040C7300196800FFFD +:040C74001E97900037 +:040C750010B48190A6 +:040C760010E87E7F85 +:040C770010349000A5 +:040C780020BA00019D +:040C7900051B002433 +:040C7A0084200303CC +:040C7B00FA9BCFF021 +:040C7C00803BFA03BC +:040C7D0081901697B5 +:040C7E007E0084343C +:040C7F00900080A8B9 +:040C80003EE8071B28 +:040C8100D848C80483 +:040C8200051B00024C +:040C83000002D84053 +:040C84008011F40BDC +:040C85004021F4A373 +:040C86003180802118 +:040C870020BB00008E +:040C8800C8003EE87A +:040C8900000319C883 +:040C8A000120D02154 +:040C8B00F30B6A14E9 +:040C8C00C41200206E +:040C8D001697803BFB +:040C8E0018AE827C9E +:040C8F0000E200017E +:040C900010AE01128F +:040C910000A20007B6 +:040C9200211B010E13 +:040C93006C13852039 +:040C94009CCC4101B2 +:040C950004E2000174 +:040C9600303B0102EC +:040C9700095B383B82 +:040C98000000C58013 +:040C9900142600110C +:040C9A009CA0000416 +:040C9B00C6A3781262 +:040C9C00C41400205C +:040C9D00827C1697A8 +:040C9E00000118AE8B +:040C9F0000E400E28B +:040CA000000718AE83 +:040CA10000E000E28D +:040CA200000510AE8B +:040CA30000DC00A2CF +:040CA400A460269B87 +:040CA500A0A06C138C +:040CA6009CCCC4041A +:040CA70004E2000162 +:040CA800303B00CE0F +:040CA900095B383B70 +:040CAA000000C58001 +:040CAB000001A5049B +:040CAC00000E1526FB +:040CAD00780394E054 +:040CAE0000A400A2FC +:040CAF00FB9B383B38 +:040CB0004B1B095B76 +:040CB1000000C580FA +:040CB20082501697BF +:040CB300001210BE5D +:040CB400383B0CA31A +:040CB500095B303B6C +:040CB600C5804D1B8D +:040CB700169700008C +:040CB80028AB83687A +:040CB900827C16978C +:040CBA00000118AE6F +:040CBB00008800E2CB +:040CBC00000718AE67 +:040CBD0010A67EE31C +:040CBE007CA300050E +:040CBF0094E20F1B91 +:040CC000303B007A4B +:040CC100095B383B58 +:040CC2000000C580E9 +:040CC30081901E9767 +:040CC40001001034E7 +:040CC50010E874912E +:040CC60016979000ED +:040CC7001E97827C76 +:040CC80020AE819445 +:040CC90059230001AA +:040CCA00000510A66B +:040CCB00103452A3EC +:040CCC0074917700A8 +:040CCD00900010E89B +:040CCE00827C169777 +:040CCF00000118AE5A +:040CD00010A606E381 +:040CD10002AB00056D +:040CD200243B0A1B9A +:040CD300C87C3EE8B3 +:040CD4000002D848FA +:040CD500DE83231B7C +:040CD600DE031B1B03 +:040CD700DF83FB9B21 +:040CD800E20390FBA8 +:040CD900E5432A9B2A +:040CDA00E4C3229BB2 +:040CDB00E443109B43 +:040CDC00E603FB9B95 +:040CDD00F0C34B1BFA +:040CDE00F043531B71 +:040CDF00F0831F9BE4 +:040CE0007C7F1034D1 +:040CE100F583049102 +:040CE20061238021E9 +:040CE30082D82697F6 +:040CE40081B036970E +:040CE5000002292EB2 +:040CE600008E01AAD1 +:040CE70000021126D0 +:040CE800009400A2D2 +:040CE90001001034C2 +:040CEA00000310846F +:040CEB0000021834B7 +:040CEC0087A010F7D6 +:040CED0001001034BE +:040CEE00008401621B +:040CEF001834049120 +:040CF00018C4000222 +:040CF10014F587A0CF +:040CF200017E10343B +:040CF300108479A34D +:040CF40024F5000FD4 +:040CF500827C169750 +:040CF600000710AE35 +:040CF70010346EA3A4 +:040CF8006FAB550089 +:040CF900031B7763FF +:040CFA0034F528891C +:040CFB0081942E971B +:040CFC001834103B5D +:040CFD00368100023A +:040CFE0087A018D7DC +:040CFF00192845412A +:040D000024919000AA +:040D0100001018A620 +:040D0200D3C0E8E38F +:040D0300DB80000091 +:040D0400169700023C +:040D050010AE827C2E +:040D060044A30007FB +:040D0700D840511B64 +:040D08003EE80002BF +:040D0900D908C8003D +:040D0A00103400029F +:040D0B00016A010078 +:040D0C001084FF76DA +:040D0D00EE8300076A +:040D0E00010010349C +:040D0F00ED830491DB +:040D10000003108448 +:040D11001084EF0358 +:040D1200F0C3000723 +:040D13005300103445 +:040D14002126F2039F +:040D150005230002B0 +:040D1600F1830F1B3B +:040D1700F103071BC2 +:040D1800F743551B2D +:040D1900827C16972B +:040D1A0081941E970B +:040D1B00000710AE0F +:040D1C00103438A3B4 +:040D1D0010845300EB +:040D1E0010E8001FBA +:040D1F001697900093 +:040D200010A6827C1B +:040D21001CA3000708 +:040D220081901E9707 +:040D23000100103487 +:040D24000031108406 +:040D2500900010E842 +:040D2600827C16971E +:040D270010AE5F1B90 +:040D280002A300071B +:040D2900D8485B1B30 +:040D2A00103400027F +:040D2B00F8C34F00BA +:040D2C00827C169718 +:040D2D00813BC42121 +:040D2E00000118AEFA +:040D2F0008E3897BD1 +:040D3000000710AEFA +:040D3100012C00AAE7 +:040D3200838016970D +:040D3300000110A605 +:040D3400042306A3EB +:040D35000002DB805D +:040D3600D281169BB5 +:040D370082D81E97A9 +:040D38004A891A9B2F +:040D3900000218E6B6 +:040D3A0081942697E3 +:040D3B0000E28499B5 +:040D3C00183400B2B5 +:040D3D0018C4017F56 +:040D3E001928000F61 +:040D3F001E9790006B +:040D40002697827CF4 +:040D410018EE819097 +:040D420000E20007C4 +:040D43001834008AD6 +:040D44001928011851 +:040D4500269790005D +:040D46001834818C50 +:040D470018C4017F4C +:040D48001928001452 +:040D49002697900059 +:040D4A001834818850 +:040D4B0018C40100C7 +:040D4C001928003F23 +:040D4D001E9790005D +:040D4E002697827CE6 +:040D4F0018EE8178A1 +:040D50005AE300075B +:040D5100011B183436 +:040D520090001928CC +:040D530081841E97E2 +:040D5400017910B45D +:040D5500900010E812 +:040D5600827C1697EE +:040D570081801E97E2 +:040D5800000710AED2 +:040D5900008200A272 +:040D5A0013781034C6 +:040D5B0000011094EF +:040D5C00900010E80B +:040D5D00827C1697E7 +:040D5E00000710AECC +:040D5F00CD1B72A393 +:040D60000002D84075 +:040D610083801697DE +:040D6200000110A6D6 +:040D6300642366A3FC +:040D6400C80C3EE891 +:040D65000002D908A7 +:040D6600012218341A +:040D67001834EE83CB +:040D6800F4830125EA +:040D69000200183438 +:040D6A00000F18C49A +:040D6B0090001928B3 +:040D6C00827C1E97D0 +:040D6D0081902697B4 +:040D6E00000718EE74 +:040D6F00183426E32B +:040D70001928021824 +:040D71002697900031 +:040D72001834818C24 +:040D730018C402009E +:040D74001928001426 +:040D7500183490009E +:040D760026970100BB +:040D770018C4818893 +:040D7800EC83001FE9 +:040D79000222183406 +:040D7A001034FB0333 +:040D7B00EF831D786D +:040D7C00F183B91B2B +:040D7D00003B4421D2 +:040D7E00827C1697C6 +:040D7F00893BFC218F +:040D8000000118AEA8 +:040D810020A608E3BD +:040D82000122000743 +:040D8300B80401C6E9 +:040D84001E1B00042E +:040D8500000EB004A8 +:040D86006A1C04607F +:040D8700FFFFA44C7A +:040D880000E2000B7A +:040D890010AE013A6D +:040D8A0000A20007BC +:040D8B00900401329D +:040D8C00002000083B +:040D8D00BCE2C413ED +:040D8E000020012C14 +:040D8F001697C413DC +:040D900018AE827C9B +:040D910000E200017B +:040D920018AE015E38 +:040D930000E2000773 +:040D940010AE015A42 +:040D950000A20005B3 +:040D9600271B0156C0 +:040D97006C159D201A +:040D9800C4049920D6 +:040D99000001AD4C5C +:040D9A0001480562A5 +:040D9B00383B303B76 +:040D9C009CC42CBB0C +:040D9D00C58000010C +:040D9E00AC20000085 +:040D9F00B4E2781032 +:040DA0001697FFBCE7 +:040DA10018AE827C8A +:040DA20000E200016A +:040DA30010A6012A6B +:040DA4003CA3000765 +:040DA500383B431B79 +:040DA6002CBB303BF7 +:040DA7000000C58003 +:040DA80082501697C8 +:040DA900001210BE66 +:040DAA00169726A3CF +:040DAB0010AE827C88 +:040DAC0000A200079A +:040DAD004D1B0106D3 +:040DAE004000344C81 +:040DAF00FB9B03ABFC +:040DB0002CBB383BE5 +:040DB100CDCEA520DE +:040DB2000000C580F8 +:040DB3007810A420F0 +:040DB40083681E979B +:040DB500836C16979E +:040DB6001E972689D5 +:040DB70026898358AE +:040DB80016972CABB3 +:040DB90018AE827C72 +:040DBA0000E2000152 +:040DBB0018AE00D698 +:040DBC0000E200074A +:040DBD0010A600CAB2 +:040DBE0000A200058A +:040DBF000F1B00C640 +:040DC0001E1B022BC9 +:040DC100343B383B4C +:040DC200C5802CBB01 +:040DC300169700007F +:040DC40010AE827C6F +:040DC5000EAB00056C +:040DC60081901E9763 +:040DC70001001034E3 +:040DC80010E874912A +:040DC90016979000E9 +:040DCA001E97827C72 +:040DCB0020AE819441 +:040DCC0001220001FF +:040DCD0010A60092DA +:040DCE0000A200057A +:040DCF001034008A52 +:040DD00074917700A3 +:040DD100900010E896 +:040DD200827C269762 +:040DD3000001112EDC +:040DD40021267EA3B3 +:040DD50029110005DB +:040DD600CFFC3EE828 +:040DD7000002D848F6 +:040DD800000490047F +:040DD9001697D9830D +:040DDA0018AE827C51 +:040DDB002CE3000104 +:040DDC00000710AE4E +:040DDD00211B2AA309 +:040DDE006C159F20D1 +:040DDF00C40499208F +:040DE0000001AD4C15 +:040DE100001C05628B +:040DE200383B303B2F +:040DE300C5802CBBE0 +:040DE400AC2000003F +:040DE5009CC4781022 +:040DE600D3430001F2 +:040DE700FB03231BCC +:040DE800FA831B1B54 +:040DE900FC43FB9B31 +:040DEA00D6032B1BE6 +:040DEB00D583231B6E +:040DEC00D503111BFF +:040DED00D6C3FB9BD3 +:040DEE00DB434B1B7D +:040DEF00DF03451BBE +:040DF000E7834B1B2F +:040DF100E703531BA6 +:040DF2007C7F1034BE +:040DF300EE830491F6 +:040DF400F0830B1B62 +:040DF500000520AE27 +:040DF600FF4A012A85 +:040DF700C4170020FD +:040DF800B004803B88 +:040DF900C603000C21 +:040DFA00827C16974A +:040DFB00813BC02157 +:040DFC0018AE090B19 +:040DFD00012A0001C6 +:040DFE0006E3008682 +:040DFF00000710A633 +:040E000016976EA330 +:040E010010A6838034 +:040E020004A3000144 +:040E03000002DB808E +:040E040082D81697E3 +:040E0500000210AE29 +:040E060018343EA3BB +:040E070010340200A1 +:040E080026977E00AB +:040E0900192881948F +:040E0A001E9790009F +:040E0B0010E88190DA +:040E0C0016979000A5 +:040E0D001834818C88 +:040E0E0018A87D00A3 +:040E0F0016979000A2 +:040E1000300B827CA5 +:040E1100000710AE18 +:040E12001CA3182BDA +:040E13001E97DE9BAD +:040E140010E8831C43 +:040E150040219000E8 +:040E1600010018348B +:040E17000100103492 +:040E180008A3F80330 +:040E1900FCC3E69B95 +:040E1A00FC43CA9B30 +:040E1B00FBC3D29BA8 +:040E1C00579B383B6D +:040E1D00051B035B53 +:040E1E00C8043EE8DE +:040E1F000002E9C81C +:040E200010A606E32F +:040E210056A30007CD +:040E22003A2B300B2C +:040E2300103444E360 +:040E24001E971900FC +:040E250010E8818CC4 +:040E2600169790008B +:040E270010A682D8B7 +:040E28000CA3000413 +:040E29008190169707 +:040E2A000100183477 +:040E2B00900018A873 +:040E2C000002D640AA +:040E2D008380169711 +:040E2E00000110A609 +:040E2F003EE898A35E +:040E3000D908C80411 +:040E310010E30002C8 +:040E32001500103463 +:040E3300001E108409 +:040E34001034F8037B +:040E3500F7430F0070 +:040E36000B00103469 +:040E37001697FDC34A +:040E38001E9782D8A7 +:040E390010AE8178FE +:040E3A0010A30004FD +:040E3B00520010341D +:040E3C00900010E82A +:040E3D00C8043EE8BF +:040E3E000002D64890 +:040E3F005300103418 +:040E4000003BFDC3B3 +:040E41009834D021F0 +:040E4200893B0300E5 +:040E4300803B917BE4 +:040E440018089CC42A +:040E45008000A15434 +:040E46008304169774 +:040E47000002143A57 +:040E48002697502178 +:040E4900246082FCA3 +:040E4A0041014C0412 +:040E4B0000006D40F6 +:040E4C00580298A010 +:040E4D009000A0A8C9 +:040E4E0084841697EB +:040E4F0016970AAB3D +:040E50002281844C2B +:040E5100000090A766 +:040E5200F98300110F +:040E5300827C1697F0 +:040E5400893BC821ED +:040E5500000118AED2 +:040E560081BB917B50 +:040E570010A606E3F8 +:040E58000EA30007DE +:040E590083801697E5 +:040E5A00000110A6DD +:040E5B00DB8004A391 +:040E5C00042200026A +:040E5D00147600AE59 +:040E5E0032A30101B9 +:040E5F00025B8C5155 +:040E6000827C1E97DB +:040E610080C88EB700 +:040E620080C436B75B +:040E6300000188EE14 +:040E6400000738E665 +:040E650021E3026320 +:040E660082D8169781 +:040E6700000210AEC7 +:040E680000DA00A20A +:040E690002028034CD +:040E6A00001F8404DD +:040E6B000460040318 +:040E6C007F9B68D12F +:040E6D00F903025132 +:040E6E00000510E685 +:040E6F00169710A31F +:040E700010AE82D866 +:040E710000A20002D9 +:040E7200803400BA0E +:040E73002E970202B2 +:040E74002034819C09 +:040E750081370002BF +:040E7600031B87D003 +:040E770010344B09DF +:040E780010840002E0 +:040E790094B487D0D6 +:040E7A0090B701002C +:040E7B0080EE000401 +:040E7C0089110007D1 +:040E7D0000920422B9 +:040E7E00017828349B +:040E7F002AB529491E +:040E800018EE0C63F9 +:040E810000E2000586 +:040E820004220086C0 +:040E83001834008897 +:040E84002CC95A76A5 +:040E850001E236B59B +:040E8600183400829A +:040E870018C401008A +:040E880046B5001358 +:040E890081942E978B +:040E8A001834103BCD +:040E8B0036810002AA +:040E8C0087D018D71C +:040E8D00192845419A +:040E8E00249190001B +:040E8F00001418A68D +:040E9000D3C0E8E300 +:040E9100803B0000A2 +:040E920080C8169767 +:040E93000054143AB9 +:040E9400832016970A +:040E9500800018A819 +:040E9600800010A820 +:040E9700827C1697AC +:040E9800000118AE8F +:040E990010A606E3B6 +:040E9A0060A300074A +:040E9B0083801697A3 +:040E9C00000110A69B +:040E9D003EE856A332 +:040E9E00D908C81C8B +:040E9F008034000299 +:040EA000E4830101E5 +:040EA1000101803497 +:040EA2002834E88385 +:040EA300ED83017763 +:040EA4006B7618341D +:040EA5001834EF838B +:040EA600EEC35875CA +:040EA700017F18347B +:040EA800EFC306D1BD +:040EA900827C26978A +:040EAA000001112E04 +:040EAB00112E16A34B +:040EAC0014A3000586 +:040EAD000007212EEB +:040EAE00001D2104FE +:040EAF000002D84025 +:040EB000F0830011BA +:040EB100FE833B1B66 +:040EB200FE03191B07 +:040EB300003B482197 +:040EB40094C8303B73 +:040EB500003B0003FB +:040EB600827C16978D +:040EB700000110AE78 +:040EB800E0093EA36C +:040EB90026971A99C5 +:040EBA004B0181BCAB +:040EBB0027090915E5 +:040EBC008000212869 +:040EBD0026970491DF +:040EBE0020BA825C78 +:040EBF00575BFFE698 +:040EC000AD00031B63 +:040EC100883400036E +:040EC200803B03006E +:040EC3009004103B4C +:040EC4008C44002139 +:040EC5001E9700CCA8 +:040EC6001C3A825CF4 +:040EC70048210010AE +:040EC80003001834D7 +:040EC900103BC821F1 +:040ECA0000CC18C47C +:040ECB003E97F90352 +:040ECC003CA0819C29 +:040ECD0019DE4C07D7 +:040ECE0002E301003A +:040ECF001819FBDB18 +:040ED00081BC1E972C +:040ED10006D538C149 +:040ED20030E822C919 +:040ED30087D980003B +:040ED400000C19B243 +:040ED50020042C3B8E +:040ED60047003B7A1C +:040ED700029B00007A +:040ED800F6430011CC +:040ED900283B039B14 +:040EDA0094C8203B5D +:040EDB00003B0003D5 +:040EDC0083F81697EA +:040EDD00348BC495F9 +:040EDE00024400AA20 +:040EDF008697C4210D +:040EE000042283A0C5 +:040EE100169701F46B +:040EE200893B827C4A +:040EE300000118AE44 +:040EE40018A608E361 +:040EE50000E2000720 +:040EE600046A01E0B9 +:040EE70014990192C7 +:040EE80000011834B9 +:040EE90028D736814F +:040EEA00183471F453 +:040EEB00368100014B +:040EEC007E3020D75D +:040EED00000263405C +:040EEE00827C169755 +:040EEF0000011834B2 +:040EF000368114999A +:040EF10071B428D7D9 +:040EF20000011834AF +:040EF30010D736815D +:040EF40016B77DF0C0 +:040EF500103481A094 +:040EF6001084034021 +:040EF7008162800094 +:040EF8001697019AAE +:040EF90018AE82E4C9 +:040EFA0000E2000111 +:040EFB0018AE01A488 +:040EFC0000E200020E +:040EFD0010A601A09A +:040EFE001CA300032E +:040EFF0014991C9B8B +:040F0000034018345E +:040F0100800018C490 +:040F0200580418A0D7 +:040F03009000012831 +:040F040020A624916E +:040F0500F123004490 +:040F060082E41697D4 +:040F0700000118AE1F +:040F0800017600E28C +:040F0900000218AE1C +:040F0A00017200E28E +:040F0B00000310A629 +:040F0C00709B1CA317 +:040F0D0018341499E7 +:040F0E0018C40340C0 +:040F0F0018A08000A6 +:040F10000128580458 +:040F11002491900097 +:040F1200010420A610 +:040F13001697F12319 +:040F1400108C81704C +:040F150000A2100026 +:040F1600115B014822 +:040F170082D81E97C7 +:040F18004A89029B65 +:040F1900000418EECA +:040F1A008194269701 +:040F1B0000E28491DB +:040F1C001834013450 +:040F1D00192801008E +:040F1E001E9790008A +:040F1F00269782D8B7 +:040F200018EE8190B6 +:040F210000E20004E6 +:040F2200183401225C +:040F230036D10100C2 +:040F240090001928F8 +:040F250082D81E97B9 +:040F2600818C2697FD +:040F2700000418EEBC +:040F2800011000E2D2 +:040F29000100183477 +:040F2A00192866D14B +:040F2B001E9790007D +:040F2C0010B4817C00 +:040F2D0010E8017D4A +:040F2E002697900072 +:040F2F00210C8170A0 +:040F3000012A100082 +:040F3100169700F619 +:040F3200349182D4A0 +:040F33000092AA81FD +:040F3400103B00026C +:040F350044C902DBCE +:040F36000D2B84D12A +:040F37000004009220 +:040F3800000610C4DB +:040F3900E86200A0CA +:040F3A0081781E9705 +:040F3B00017C10B471 +:040F3C00900010E829 +:040F3D008320169760 +:040F3E000300183460 +:040F3F00028018C450 +:040F400018042689E2 +:040F410018A80A00E2 +:040F4200169790006E +:040F430026DB831C0A +:040F4400900018A859 +:040F4500033F103422 +:040F46002E4810849D +:040F470018A80ADB01 +:040F480010349000D1 +:040F49001084033FCE +:040F4A000CDB0E4866 +:040F4B00900018A852 +:040F4C00000210345B +:040F4D0093A41097C2 +:040F4E000300183450 +:040F4F00060018C4BC +:040F500088A82689BE +:040F51003263900077 +:040F52000008283437 +:040F5300A12029446C +:040F54008034203B8A +:040F55003C40030019 +:040F5600840400000F +:040F570016970300E6 +:040F58002089832049 +:040F5900800010A85C +:040F5A000EA3048B53 +:040F5B003EC0203B39 +:040F5C0006A30000E8 +:040F5D0080A01697C3 +:040F5E004421E4AB9B +:040F5F0026970C19AC +:040F6000161981A03D +:040F6100090D4D0128 +:040F620020E824C996 +:040F630000119000E9 +:040F6400109BC98392 +:040F6500169BCD0307 +:040F66004C9BCC8351 +:040F67005E9BD2C3F8 +:040F6800075BD2430E +:040F69001834D6C39F +:040F6A00D943020065 +:040F6B000100183435 +:040F6C00DB8326D12C +:040F6D000100183433 +:040F6E00DDC356D1B8 +:040F6F00E183209B5F +:040F7000003BE00959 +:040F71000120D0216A +:040F7200913B6A1332 +:040F7300000814F668 +:040F740004E00EA3E4 +:040F750010344843A9 +:040F760024C1000290 +:040F77008A6020B7B5 +:040F7800000710342A +:040F79006BF810847D +:040F7A00780214A045 +:040F7B009CCC803B4F +:040F7C0088B400072E +:040F7D0016970008BB +:040F7E0060AB839C45 +:040F7F000002143E1A +:040F800083C0A697ED +:040F8100075B0CA35B +:040F82003EE8253BE5 +:040F830082C8C87CDC +:040F84002E970002A2 +:040F8500243B82E4A3 +:040F8600001571C021 +:040F8700A0A0055BC6 +:040F880082C0C4045B +:040F890024BB000283 +:040F8A0000035F8081 +:040F8B00827C1697B7 +:040F8C00000110A6AA +:040F8D00169722A3EE +:040F8E001E9783A87F +:040F8F00268983A488 +:040F900014EE16AB9A +:040F910010A30007A2 +:040F920081D8169755 +:040F9300048B048542 +:040F9400247B06A311 +:040F950000035F8076 +:040F9600F343001110 +:040F97005021C82BF2 +:040F98002834CEA18A +:040F9900099B0001AF +:040F9A006E14294464 +:040F9B0026C4993B94 +:040F9C005880000178 +:040F9D0028340016DE +:040F9E000F9B0001A4 +:040F9F006E1829445B +:040FA000000526C45E +:040FA100001658805E +:040FA200827C969720 +:040FA300000114AE87 +:040FA400009000A217 +:040FA500000714A687 +:040FA600009000A215 +:040FA70086C40E5B93 +:040FA8002E9700057B +:040FA900399B81DC13 +:040FAA009CCC073D97 +:040FAB005880000466 +:040FAC0004EA00163D +:040FAD0010D3000855 +:040FAE00010010949A +:040FAF0094A610F301 +:040FB00004A2000196 +:040FB1001697003857 +:040FB20032AB83A437 +:040FB30082E4169727 +:040FB400000410A67F +:040FB500169728A3C0 +:040FB600949183C0CF +:040FB700000210B66E +:040FB8000D1B1CA34E +:040FB9000001DC4017 +:040FBA0012EB068BA5 +:040FBB0000A01A1365 +:040FBC0018DF48A250 +:040FBD00108CFE3F57 +:040FBE00268901C0BF +:040FBF0000201233C9 +:040FC0009420C412A3 +:040FC1000485C402DD +:040FC2000001948412 +:040FC30010841499E9 +:040FC400D8A0002889 +:040FC5002097C402AB +:040FC600DC40FFE428 +:040FC700946200032D +:040FC8004EA1FFE057 +:040FC900000586C4D5 +:040FCA00EEC30E5B09 +:040FCB00000186C4D7 +:040FCC00EDC3085B0E +:040FCD001697191941 +:040FCE00288181DC19 +:040FCF00DC4808955D +:040FD000003B0003DF +:040FD100827C169771 +:040FD20018AEC02174 +:040FD30006E3000130 +:040FD400000718AE4C +:040FD500803B1EEB54 +:040FD600243B0203B3 +:040FD70082C0283B71 +:040FD800203B0002B8 +:040FD9000003E6002B +:040FDA001697001155 +:040FDB00141A82E47E +:040FDC004021FFE8C9 +:040FDD00000510A655 +:040FDE002034F8A320 +:040FDF0021040006E3 +:040FE00021801A80D2 +:040FE100051B0003E9 +:040FE2000003F340D5 +:040FE3003EE8811B48 +:040FE4002188C80494 +:040FE500003B0003CA +:040FE600803BC42167 +:040FE700825816977F +:040FE800002E143A89 +:040FE90081DC1697FA +:040FEA003895803B7B +:040FEB000003DC40E3 +:040FEC00825816977A +:040FED00002A143A88 +:040FEE0083C08E9797 +:040FEF001697803B96 +:040FF000141A82E469 +:040FF100035B002C72 +:040FF2003EE8247B36 +:040FF30082C8C80CDC +:040FF400243B000298 +:040FF5000300035B97 +:040FF6001697000149 +:040FF7000401830C62 +:040FF800243BF7435C +:040FF9000300283B8E +:040FFA001697000145 +:040FFB000401830C5E +:040FFC00283BF7C3D4 +:040FFD0082C0243B4F +:040FFE008C2A000237 +:040FFF00031B000AC6 +:041000000003F340B6 +:04100100F6C3001121 +:04100200FE830B1B43 +:0410030000021034A3 +:041004008A64109753 +:0410050048A30120DB +:041006004964012018 +:04100700DF9F109FB8 +:04100800006018CCA0 +:04100900210C268907 +:04100A0020A0200002 +:04100B00DC48580461 +:04100C00003B0003A2 +:04100D00827C169734 +:04100E00000110A627 +:04100F0000BA00A281 +:0410100083A4169708 +:0410110000B200A287 +:0410120081DC1E97C8 +:04101300494201202D +:0410140056D5C821C4 +:041015000400108C37 +:041016002689813B6B +:04101700330B170B75 +:041018000008910C2F +:04101900008400EA65 +:04101A000689FEDB6A +:04101B00008204A2A9 +:04101C00F7FF1804BE +:04101D007E6306895F +:04101E00EFFF2004BC +:04101F00380420A0D1 +:041020000003DC40AD +:041021000096200411 +:041022000000438007 +:0410230081CC1697CF +:041024000300183479 +:041025000F0C18C4D0 +:04102600268904957E +:04102700800010A88D +:04102800FFF7109F1F +:04102900001004AA05 +:04102A0081DC1E97B0 +:04102B00001490D746 +:04102C00691204A0A1 +:04102D000008948C97 +:04102E00580290A034 +:04102F00FFEF109F20 +:041030001E970A6B92 +:0410310052D581DC37 +:04103200624BB25902 +:04103300000C840C1D +:04103400000C842602 +:0410350022891019E3 +:04103600FFFB109F0D +:041037001034240944 +:041038001084033FDE +:0410390080A80F0C70 +:04103A0048219000B9 +:04103B00FBFF18049B +:04103C00FEDBEF03E5 +:04103D00FF1BEFC3E3 +:04103E00E009F04392 +:04103F00993BFE21BA +:041040000100216E1C +:041041000122817B8C +:04104200116E016AC0 +:0410430000A2020005 +:04104400116E0162C6 +:0410450000A21000F5 +:041046001166015AD4 +:0410470018A30010DA +:04104800827C1697F9 +:04104900000118AEDC +:04104A00014800E277 +:04104B00000710AEDC +:04104C00014000A2BD +:04104D000443883B95 +:04104E000004116E1B +:04104F00116E0CA36F +:0410500006A30008EB +:0410510000401166E4 +:041052008E97EAA3E8 +:04105300146E827C19 +:0410540000A20001F5 +:041055008C6E011A82 +:04105600AC2E0007B5 +:041057000020004035 +:041058001E97C41605 +:04105900169783481B +:04105A0010E08350CF +:04105B0000AA58028D +:04105C00E42E010E6F +:04105D0005A20040A8 +:04105E00142E010C3F +:04105F0000A20800E3 +:04106000A42E0108B1 +:0410610016971000CE +:041062000CAB834C04 +:041063000100012265 +:041064001000142E36 +:0410650000F800A2ED +:0410660000FA00EAA2 +:041067000040942E83 +:04106800012C04E271 +:041069000088056A8C +:04106A000001283425 +:04106B002944219B58 +:04106C0026FB6CE80B +:04106D000016588091 +:04106E0080B4BE97F5 +:04106F000010841CCD +:04107000CC84842088 +:04107100484205E00C +:0410720028342019E5 +:041073005491000193 +:04107400C402D8A03A +:041075002944219B4E +:04107600093D6CF8CC +:04107700FFE0A89757 +:041078000016588086 +:04107900D8A0541196 +:04107A001417C41073 +:04107B008491FFF469 +:04107C00000415F265 +:04107D0000019DC40D +:04107E00033F1034E8 +:04107F0080B49EB7E4 +:0410800010101084B8 +:041081009000A8A88B +:04108200033F1034E4 +:0410830010141084B1 +:041084009000A8A888 +:041085000018072A1E +:04108600033F1034E0 +:0410870012101084AF +:041088009000A8A884 +:04108900033F1034DD +:04108A0012141084A8 +:04108B009000A8A881 +:04108C00002405AA8D +:04108D00827C1697B4 +:04108E00000118AE97 +:04108F0010A606E3BE +:0410900058A300075A +:041091000340203BBD +:04109200031B000438 +:041093001840095B9D +:041094001D1B00031D +:041095000004034010 +:04109600000604AAA2 +:041097000340203BB7 +:04109800646B000481 +:041099000229131BFA +:04109A00CFFC3EE861 +:04109B0000037E8848 +:04109C00DCC3025B54 +:04109D000001B0049A +:04109E00A804883BDF +:04109F00DC4300012D +:0410A000C41C00204C +:0410A100A5BBDE030A +:0410A200A004DF8344 +:0410A300DEC30001A7 +:0410A40000019004B3 +:0410A5000020E14303 +:0410A600E083C4120D +:0410A70082D816973E +:0410A80003402034AD +:0410A900800021049E +:0410AA00000410A688 +:0410AB00002E10847F +:0410AC0004991699F4 +:0410AD00269728C991 +:0410AE00250181A0F7 +:0410AF001094048D08 +:0410B00010E81C0028 +:0410B100F2039000B6 +:0410B2000022052AE9 +:0410B300F2C30B1B5E +:0410B40000039CE6B3 +:0410B500001604E23B +:0410B600151B166B85 +:0410B70000037E8034 +:0410B800000604AA80 +:0410B90003401D1BB8 +:0410BA0005620004C7 +:0410BB007E2100444E +:0410BC00FFEC052A16 +:0410BD007E800D1B09 +:0410BE00169700037E +:0410BF0018AE827C69 +:0410C000DCE300016C +:0410C100000710AE66 +:0410C2001697D6A304 +:0410C300203482D87B +:0410C40021040340C0 +:0410C50010A68000F1 +:0410C600108400048E +:0410C7001699002E48 +:0410C80028C9049996 +:0410C90081A0269745 +:0410CA00048D25016B +:0410CB00900010E899 +:0410CC00283BF5C305 +:0410CD0006B7031B44 +:0410CE00022984046B +:0410CF00CFFC3EE82C +:0410D0000001818812 +:0410D100821C1E97C8 +:0410D200033F103494 +:0410D3001084C021A4 +:0410D400813B181430 +:0410D500900018A8C7 +:0410D60081DC16970C +:0410D7003D8B2C958C +:0410D800FB9B03ABD0 +:0410D9000D5B383B38 +:0410DA00C5802B1B87 +:0410DB001697000064 +:0410DC001C9581DC02 +:0410DD0003AB0D8BC9 +:0410DE00383BFB9B05 +:0410DF00211B0D5B69 +:0410E0000000C580C7 +:0410E10081DC169701 +:0410E2004D8B0C9591 +:0410E300FB9B03ABC5 +:0410E4000D5B383B2D +:0410E500C580171B90 +:0410E6001697000059 +:0410E7000C9581DC07 +:0410E80003AB0D8BBE +:0410E900383BFB9BFA +:0410EA00111B0D5B6E +:0410EB000000C580BC +:0410EC0007D0200405 +:0410ED00000045803A +:0410EE00831C1697B2 +:0410EF0018A816DB4C +:0410F0002034900018 +:0410F10021040BEFDC +:0410F2004580CF4026 +:0410F300169700004C +:0410F40000A8831CB1 +:0410F5002034900013 +:0410F60021040006CB +:0410F700100B1A8040 +:0410F8000003218050 +:0410F9001697402BDB +:0410FA00289581DCD8 +:0410FB00FFBF211FF3 +:0410FC000003DC40D1 +:0410FD002180811BB2 +:0410FE00031B0003CD +:0410FF000003F340B7 +:0411000010002004B7 +:041101000003218046 +:04110200F340203B5B +:0411030020040003C1 +:041104002180100036 +:04110500203400038F +:0411060021040002BE +:041107003EE886A098 +:041108004588C8044A +:04110900051B0000C2 +:04110A000003F340AB +:04110B00003BF8C3EA +:04110C000007103494 +:04110D001084C90B76 +:04110E00C8211700DD +:04110F00917B2509A2 +:0411100089FB81BB1B +:041111000003DC40BB +:04111200002204A211 +:0411130048840420E8 +:04111400C90B524B66 +:041115002114230975 +:041116002134100070 +:04111700DC400007B1 +:0411180020040003AC +:041119003EE8138811 +:04111A004588C81C20 +:04111B00381900007F +:04111C00210CC24B95 +:04111D00FB830F0041 +:04111E0081D81697C7 +:04111F00035B099BCA +:0411200000133886FA +:04112100832C16867F +:0411220001E00D1BC0 +:04112300049968E7DC +:0411240025C91FD9E1 +:04112500000139D4B8 +:041126000004430876 +:04112700199B383B9D +:04112800203B283B05 +:041129000004430873 +:04112A00826816972A +:04112B0082641E9725 +:04112C00283BC42177 +:04112D0018B2813B38 +:04112E008E97003266 +:04112F00203B83C01E +:0411300028B2147B52 +:0411310071C0002C5D +:0411320020BB0015C9 +:0411330082C0283B13 +:041134000420000291 +:04113500039B488749 +:04113600203B035BFC +:04113700000443006D +:04113800247B035BB6 +:04113900C80C3EE8B8 +:04113A00000282C865 +:04113B000B51A6812D +:04113C00AA81F88309 +:04113D00F943091158 +:04113E001697C82117 +:04113F009697826895 +:041140001E9783C0B3 +:04114100803B826409 +:04114200008418B25B +:04114300883B14BB16 +:04114400008280B2F3 +:04114500243B2C7BA0 +:04114600001571C05F +:04114700283B20BB66 +:04114800000282C05F +:041149002258200404 +:04114A00000047005A +:04114B00059B0DDB18 +:04114C00203B283BE1 +:04114D000004430057 +:04114E00039B03DB21 +:04114F00203B035BE3 +:041150000004430054 +:041151008264169707 +:04115200000210A6E1 +:041153002C3B36A358 +:041154000001245C16 +:04115500001571C050 +:04115600283B20BB57 +:04115700000282C050 +:04115800199B0BDBF9 +:04115900203B283BD4 +:04115A00000443004A +:04115B00DC40071B52 +:04115C00388C0001CA +:04115D0039D400077A +:04115E00079B0008E3 +:04115F00203B283BCE +:041160000004430044 +:0411610024BB283B48 +:04116200C81C3EE87F +:04116300000282C83C +:041164000011A6814F +:04116500A081EE4334 +:04116600EE830251C1 +:041167001697D021E6 +:04116800A69782685C +:041169001E9783C08A +:04116A00803B8264E0 +:04116B00009E18B218 +:04116C000020153B0F +:04116D0080B2C41375 +:04116E002CFB009ABC +:04116F0071C0243BEC +:04117000283B001503 +:0411710090BB20BB54 +:0411720082C0883B74 +:0411730016970002C9 +:04117400147A826007 +:04117500051B0086D0 +:041176000001DC4058 +:04117700200428BB6D +:0411780088BB2237D7 +:04117900000047002B +:04117A00059B3C7B1A +:04117B00203B283BB2 +:04117C000004430028 +:04117D0082641697DB +:04117E00000210A6B5 +:04117F002C3B3CA326 +:04118000000124DC6A +:04118100001571C024 +:0411820020BB283B2B +:0411830082C080BBEB +:04118400071B000243 +:041185000001DC4049 +:041186000007388C9A +:04118700283B079B5F +:041188004300203BC5 +:04118900283B0004FB +:04118A00383B203B93 +:04118B004300199B69 +:04118C00035B0004FD +:04118D0082C0243BBD +:04118E0024BB00027C +:04118F0082C0035BBC +:04119000035B0002FB +:041191003EE8253BD4 +:0411920082C8C87CCB +:04119300A68100022F +:04119400EB03001158 +:041195009CC4A081D5 +:04119600EB43000126 +:04119700830C2E9700 +:0411980071C0247B83 +:0411990020BB001562 +:04119A000300035BF0 +:04119B00383B0001DC +:04119C00035B039B53 +:04119D004300203BB0 +:04119E002E97000484 +:04119F00247B830C1E +:0411A00071C01251B7 +:0411A100283B0015D2 +:0411A200030020BB6B +:0411A300E7C300019D +:0411A40082681697B0 +:0411A50082641E97AB +:0411A600897BC82158 +:0411A700283B813B25 +:0411A800004218B237 +:0411A90083C09697D2 +:0411AA0014BB203B17 +:0411AB00003C28B22A +:0411AC00001571C0F9 +:0411AD0020BB283B00 +:0411AE00000282C0F9 +:0411AF000004478071 +:0411B0009E0B0C6B1B +:0411B100035B0B9B36 +:0411B20043000B1BD0 +:0411B30020340004E0 +:0411B400210400070B +:0411B500DC40170003 +:0411B600035B0003D4 +:0411B7003EE824BB2F +:0411B80082C8C81C05 +:0411B900A681000209 +:0411BA00F6830B515C +:0411BB000911AA81EB +:0411BC00003BF743BA +:0411BD0083A416975A +:0411BE0014AB8021CD +:0411BF00203B283B6E +:0411C00000046900BE +:0411C1000096200470 +:0411C200C8003EE83B +:0411C300000043885D +:0411C40081DC16971D +:0411C500168668958D +:0411C600211F832C36 +:0411C70000A0FF0085 +:0411C800250948C2EB +:0411C900008021146D +:0411CA000003DC4002 +:0411CB00003BFAC328 +:0411CC00827C169774 +:0411CD00813BC02181 +:0411CE00000118AE56 +:0411CF0010A606E37D +:0411D0001EA3000753 +:0411D10083A4169746 +:0411D200035B18ABF8 +:0411D3006900243B50 +:0411D40020040004EF +:0411D50086B7009643 +:0411D6003EE8832448 +:0411D7004388C8047D +:0411D8001686000077 +:0411D9001E97832CAE +:0411DA00016081DC53 +:0411DB0000A048E543 +:0411DC0066D548C2CA +:0411DD0018DF2A8964 +:0411DE002689FF005F +:0411DF00580480A090 +:0411E0000003DC40EC +:0411E100003BF98353 +:0411E200035BC021CA +:0411E3007300813BD9 +:0411E400283B0004A0 +:0411E5003EE8243B81 +:0411E6007308C804BE +:0411E700003B0004C5 +:0411E8008E97C421F9 +:0411E900803B83C004 +:0411EA0082E41697EE +:0411EB00141A283B6F +:0411EC00247B001848 +:0411ED00000282C0BA +:0411EE0081DC1697F3 +:0411EF0021143895FA +:0411F0003EE80010C5 +:0411F100DC48C80C02 +:0411F200243B000397 +:0411F300000282C0B4 +:0411F40000128C2A2F +:0411F50081DC1697EC +:0411F6002114189513 +:0411F700DC401000C8 +:0411F80000110003DF +:0411F9002004F84393 +:0411FA000D5B220265 +:0411FB0000004700A9 +:0411FC0081DC1697E5 +:0411FD00211F5895C1 +:0411FE002114FE3F7B +:0411FF00FBC30180AD +:04120000112EC4E106 +:04120100897B0040A5 +:0412020000CC00A27A +:04120300004111365F +:0412040000A200A2A2 +:041205000008112E9E +:0412060000BC00A286 +:041207000009113693 +:04120800008200A2BE +:041209000003113E8F +:04120A0000AC00A292 +:04120B000004212E8C +:04120C002834011968 +:04120D00139B00012E +:04120E006D082944FA +:04120F00000326C4EE +:0412100000165880EC +:04121100000C1C04AD +:04121200D8E02459A3 +:041213001C07C410E0 +:04121400448BFFF711 +:0412150018342681E2 +:0412160018C4033FB6 +:0412170010E83F900C +:0412180018349000F6 +:0412190018C4033FB3 +:04121A0010E83FD0C9 +:04121B0018349000F3 +:04121C0018C4033FB0 +:04121D0010E81F9026 +:04121E0018349000F0 +:04121F0018C4033FAD +:0412200010E81FD0E3 +:04122100124B9000DC +:04122200439B566B29 +:041223000002103481 +:041224000300283467 +:0412250093A41084FA +:041226005B51203BBD +:04122700822C1E9760 +:041228000040193A2F +:04122900112E44E15D +:04122A0006A3001007 +:04122B000020212658 +:04122C000C1B2B2349 +:04122D001136EF8304 +:04122E0010A3040104 +:04122F000100112E7B +:04123000212606A3CA +:04123100152302007F +:04123200ECC30A1BE4 +:041233000800112E70 +:041234002126E0A3EC +:04123500FDC31000E5 +:04123600EAC3041BE8 +:04123700EA43803BCB +:04123800F503239BFC +:0412390018C406953A +:04123A002AC940007D +:04123B00900030E807 +:04123C0024910911DF +:04123D00003BF4C3BB +:04123E00DEC4FFE12A +:04123F000B1BFDDCAC +:0412400000037E80A9 +:04124100283B219B8A +:041242005A00093D08 +:041243002E970016CC +:041244003697838CCA +:041245003E97825CF2 +:04124600016081BC06 +:041247000B518005C2 +:04124800021B203B2A +:041249000068313ACE +:04124A000300A034C9 +:04124B000300A834C0 +:04124C00A5041E5B7C +:04124D00AD4400703C +:04124E0010340074E4 +:04124F001084033FC5 +:0412500088A8171043 +:04125100146690008F +:0412520096C4000F2F +:041253000020001067 +:0412540010B3C413FC +:0412550000001497EA +:041256009CC464A32D +:0412570014E6000198 +:041258009484000476 +:04125900ECA30004FE +:04125A001466825143 +:04125B00CAA300061C +:04125C0003009034C7 +:04125D009484803BBA +:04125E0016971410BB +:04125F00143A825C5F +:041260000D1B01CA97 +:041261000260DEC485 +:04126200CFFC3EE897 +:0412630000037E887E +:041264002420151914 +:041265004B014C11DC +:04126600069525C103 +:04126700CD0810E0BE +:0412680069A300E096 +:04126900268916CBF1 +:04126A0004FD1499D2 +:04126B000258108491 +:04126C001897268128 +:04126D0022C9FDB0E5 +:04126E00FDB018B700 +:04126F002CFBECC3A5 +:041270008034211B8A +:0412710080000002F7 +:0412720084040004EC +:041273002C3B93A4D9 +:041274001697203B6E +:04127500113A822C7C +:04127600283400EC2C +:0412770029443B9B30 +:04127800203BCA004D +:041279003B9BE03487 +:04127A0000003C40F4 +:04127B00C416002075 +:04127C00CA00E704B9 +:04127D00822C169712 +:04127E0000F415BAA9 +:04127F00B804803BF4 +:0412800016970001BC +:041281001432825C45 +:041282003497FF504E +:0412830085E0000002 +:0412840030F34C1CDB +:0412850038023720D4 +:04128600009C00AA1E +:041287001697161987 +:04128800268181BC7E +:0412890089400895FB +:04128A0020A8000098 +:04128B001893800034 +:04128C002C0430D32B +:04128D0014040048FD +:04128E001AE300243B +:04128F0005FD1759E9 +:04129000025818C424 +:0412910020F73EC143 +:041292001699FDC0EC +:04129300025818C421 +:0412940020F73EC140 +:041295001B59FDC024 +:04129600149905FDA5 +:04129700025829448C +:0412980029575F4132 +:0412990004FDFDC093 +:04129A000258108462 +:04129B000050294492 +:04129C002681D9418D +:04129D0000A129760D +:04129E00FDC01897E0 +:04129F0000B4016234 +:0412A000002718C447 +:0412A10018F6B8C1C2 +:0412A20000E2004F17 +:0412A3001C0400A681 +:0412A40016D9006CEB +:0412A500FDC020B7B1 +:0412A60027102804E1 +:0412A700025818C40D +:0412A80088F73EC1C4 +:0412A90071C0FDC053 +:0412AA00CE990015C4 +:0412AB002C3B347B29 +:0412AC00766820043C +:0412AD0000004700F6 +:0412AE00838C169780 +:0412AF00800200A019 +:0412B00004010491A0 +:0412B1001697E78322 +:0412B20020A381B044 +:0412B30005550D9B35 +:0412B4004000108462 +:0412B5005802A8A093 +:0412B600800018A8F4 +:0412B700FF8818DFB5 +:0412B80018A82CC97D +:0412B9000911900087 +:0412BA00DCC32B5115 +:0412BB00FBC3303B06 +:0412BC000000BC175B +:0412BD00BDC4303B41 +:0412BE00A5E0400067 +:0412BF0015E85817BF +:0412C0000EAB8000F1 +:0412C100000311BE57 +:0412C200B58408A344 +:0412C30020110001F5 +:0412C4000D91DC4369 +:0412C50030F3203BA7 +:0412C60000003EC026 +:0412C700DEAB30D397 +:0412C800583C20046A +:0412C90000004700DA +:0412CA00203B2F3B5B +:0412CB0000003C40A3 +:0412CC00F94330D3DF +:0412CD00181CE020E9 +:0412CE00381C372071 +:0412CF000000E4B780 +:0412D00020042C3B8F +:0412D1004700766CF0 +:0412D200ED830000A8 +:0412D30082FC2697DC +:0412D4004C04242082 +:0412D50000006D4068 +:0412D600006C1C0488 +:0412D700053D16D9E2 +:0412D800580290A088 +:0412D900025818C4DB +:0412DA0098D738C1A8 +:0412DB0098A8FDC012 +:0412DC001404900066 +:0412DD00149900243C +:0412DE0027102804A9 +:0412DF00025810841D +:0412E00020972881AA +:0412E10071C0FDC01B +:0412E2000092001561 +:0412E300108400046F +:0412E40016190FFFC9 +:0412E500E99100A0EB +:0412E60081BC16971A +:0412E70027102804A0 +:0412E800148D2681BA +:0412E900948B04FDE1 +:0412EA001404107365 +:0412EB00149900480A +:0412EC000258108410 +:0412ED00209726819F +:0412EE0071C0FDC00E +:0412EF000092001554 +:0412F0001084000462 +:0412F10000A00FFF4B +:0412F2002C3BE98226 +:0412F30010333C7BFD +:0412F400200434FBA3 +:0412F50047007678C0 +:0412F6001697000047 +:0412F70000A0838C44 +:0412F80004918002DB +:0412F900B2430401F7 +:0412FA0081AC168627 +:0412FB00001710BE0A +:0412FC00169734A36A +:0412FD00802181705B +:0412FE00400010ACF0 +:0412FF0021260EA3F3 +:0413000009230001BC +:0413010000048F80D5 +:041302000021103B7B +:041303002004195B4E +:0413040047007683A5 +:0413050010340000A0 +:041306001084033F0D +:0413070018DB1410CB +:04130800900018A891 +:04130900103BFC4356 +:04130A00003BE009BB +:04130B00813BFCA185 +:04130C00917B203B76 +:04130D002EA7A97BE3 +:04130E000340832CE9 +:04130F001697000429 +:0413100018AE827C15 +:0413110070E3000184 +:04131200000710AE12 +:0413130026976AA30C +:04131400103B8260A8 +:0413150020E2183B7F +:04131600883B0150BF +:04131700015420B2AB +:0413180000046F401E +:041319007880247B39 +:04131A0000200004AB +:04131B002E97C41332 +:04131C00269782602E +:04131D002CFA83C063 +:04131E00A48C01405A +:04131F00283400FF6F +:0413200005200001A3 +:041321003C7B4916B2 +:041322002944313BEE +:0413230020046E2C08 +:04132400A033544C52 +:041325000001A834E7 +:04132600000047007C +:041327007A00883B85 +:04132800002000049D +:04132900AD44C413F8 +:04132A0016976E2C78 +:04132B00147A825856 +:04132C00F98001241F +:04132D000643000370 +:04132E0083A41697E7 +:04132F00BC8C90AB37 +:0413300005E000FFD5 +:04133100B034491774 +:041332004F800001E7 +:04133300A43B0004D3 +:04133400C4130020BE +:04133500AD4C883BF8 +:04133600B58400FF7B +:0413370016976E2C6B +:0413380014FA8258C9 +:0413390059C0001087 +:04133A001D1B000473 +:04133B000004034067 +:04133C00832C96A7C1 +:04133D0015067CA174 +:04133E00850600011F +:04133F00035B00004C +:04134000040124FB85 +:04134100E83004206C +:0413420000010300A3 +:0413430000046F40F3 +:041344007880243B4E +:04134500283B00043D +:04134600030024FB81 +:0413470016970001F4 +:04134800E444848471 +:0413490010AB0001E4 +:04134A008458169716 +:04134B00BC20185951 +:04134C002881580399 +:04134D0026AD06AD16 +:04134E0084801697EA +:04134F0083C026979A +:041350002E972EABFB +:0413510071C0826085 +:041352001E970015CD +:0413530032C18428F7 +:0413540000E534C1BB +:0413550084801697E3 +:041356002E9716AB0D +:04135700269783C092 +:0413580071C082607E +:041359001E970015C6 +:04135A0032C18428F0 +:04135B0010E534C1A4 +:04135C0083C036977D +:04135D002DBB3C7BED +:04135E0054362004DD +:04135F008033A873BC +:041360000000470042 +:0413610083C0369778 +:041362008033A873B9 +:041363002DBB3F3B24 +:0413640054382004D5 +:04136500000047003D +:04136600830C169747 +:04136700A504125176 +:0413680004990002E2 +:04136900C41314E0B5 +:04136A005601E683BF +:04136B0006D10B4557 +:04136C00D4432A81BB +:04136D000251A88100 +:04136E001697D443B7 +:04136F0010AB8480BB +:04137000001571C033 +:0413710084281E9717 +:04137200C40398E038 +:0413730002E534C19A +:0413740000019CC414 +:04137500BC06D303DC +:04137600035B000015 +:041377000300247BD0 +:041378006F400001C1 +:0413790025FB00044C +:04137A000004788073 +:04137B00247B283B6C +:04137C000001030069 +:04137D0084841697B7 +:04137E0004E012ABCA +:04137F001697484332 +:0413800026818458E6 +:04138100B0E00605CD +:0413820006AD580359 +:0413830084801697B5 +:041384002E971EABD7 +:04138500269783C064 +:04138600BC068260BF +:0413870071C0000031 +:041388001E97001597 +:0413890098E084283C +:04138A0034C1C403A3 +:04138B000000B8E7BF +:04138C000405A07341 +:04138D0083C036974C +:04138E0010333CFBE1 +:04138F0020042D7B8E +:041390004700546559 +:0413910016970000AB +:041392009CC4830C68 +:041393000011000144 +:04139400CAC3144173 +:0413950082681697BD +:0413960082641E97B8 +:041397009029FFE1B9 +:04139800813B917B89 +:0413990018B2283B23 +:04139A00994400442E +:04139B0094E0FFFFDC +:04139C0014BB381333 +:04139D0028B2203B17 +:04139E0071C0003AE0 +:04139F00A8BB0015D2 +:0413A000827C16979E +:0413A100000710AE83 +:0413A200283B30A311 +:0413A30082C0257B64 +:0413A4001697000296 +:0413A50010AE827C88 +:0413A60070AB000721 +:0413A700031B702391 +:0413A800001272803D +:0413A9008680631BBC +:0413AA0003DB00124F +:0413AB00A6810C43C8 +:0413AC00F6430B51A8 +:0413AD000911AA81F7 +:0413AE00142EF7837F +:0413AF00CAAB0001C4 +:0413B000000EB03447 +:0413B100C414002040 +:0413B20000E8B58416 +:0413B3001034068369 +:0413B40015200001FF +:0413B5001086C402D8 +:0413B600A5046D4CD1 +:0413B7003299000166 +:0413B800492200A026 +:0413B9000F008C4C49 +:0413BA00000110AC72 +:0413BB00B4602449AD +:0413BC00247BC411B9 +:0413BD0000127E009C +:0413BE0001C02894AE +:0413BF007580247B96 +:0413C000169700126A +:0413C100153A825CFB +:0413C200EFC3FFC4B2 +:0413C30009DB9C2B7B +:0413C400283B199B0E +:0413C5004300203B86 +:0413C60030040004EB +:0413C700283B00902F +:0413C8005A000F3D7B +:0413C90030040016D6 +:0413CA00FB5B009039 +:0413CB005A00573D30 +:0413CC00542B001688 +:0413CD00000AA0046E +:0413CE00B504883B9F +:0413CF00BC4C000111 +:0413D0003DFB003FA2 +:0413D100035B353B4A +:0413D200430024FBB5 +:0413D3003DFB0004DA +:0413D400035B35BBC7 +:0413D500430024FBB2 +:0413D60032230004BA +:0413D70024BB035BD5 +:0413D800000282C0CD +:0413D9007E800B1BEC +:0413DA0020040003E8 +:0413DB00438007D074 +:0413DC003444000095 +:0413DD00BEC4003A50 +:0413DE00E6C400ACB5 +:0413DF00203B001C93 +:0413E00000073C5E68 +:0413E1000DC39D8B10 +:0413E2000002A00461 +:0413E300031BF543B0 +:0413E40000022F00D4 +:0413E500035BFB8328 +:0413E60038F3313374 +:0413E700908020B31F +:0413E8001F170000CB +:0413E900048B000071 +:0413EA0006D920936D +:0413EB00311338D3AF +:0413EC00580210E0B3 +:0413ED0000001DD708 +:0413EE0000001737AD +:0413EF00FFFF18EEF6 +:0413F00029E32AEBD8 +:0413F10010A6C48BF3 +:0413F20020A3007FB5 +:0413F300000035F7CA +:0413F40016971A230B +:0413F500469581DCBC +:0413F600080018DCF7 +:0413F700CD6B18E0C2 +:0413F80048A300E026 +:0413F90096CB3CC192 +:0413FA0000001DF7DB +:0413FB00BDC4091153 +:0413FC00E7040004FE +:0413FD00169700043B +:0413FE00113A8260BE +:0413FF000422FF982D +:041400000D1B009828 +:0414010000037E80E6 +:04140200257B283BE3 +:04140300000282C0A1 +:041404001466025117 +:0414050000A20050F1 +:0414060049C0FF24B6 +:041407001697000430 +:0414080010AE827C24 +:0414090010AB00071D +:04140A0000BA0422FE +:04140B007280203B90 +:04140C00431B00126C +:04140D0000128680C3 +:04140E0000044F8007 +:04140F0000B40422FF +:041410000001B834EB +:041411006E30BDC4B8 +:04141200487104A079 +:04141300000210348F +:04141400948C108420 +:04141500C41194600A +:04141600A83412598B +:0414170000200001B0 +:041418001441C41C9B +:04141900000110348A +:04141A006E201084AC +:04141B00103410F386 +:04141C001084000137 +:04141D0011336E30E9 +:04141E000001103485 +:04141F006E3810848F +:04142000AD4400B324 +:0414210011736E28AD +:041422008260269727 +:04142300006E273AF6 +:04142400000459C0A7 +:0414250010291093E7 +:04142600203B7FE107 +:0414270000022F0090 +:041428001034EDC3CC +:041429001560000149 +:04142A001086C40262 +:04142B00AD446D4C13 +:04142C0032990001F0 +:04142D00492200A0B0 +:04142E000F008C4CD3 +:04142F00000110ACFC +:04143000B460244937 +:04143100247BC41143 +:0414320000127E0026 +:04143300FE3F289FB1 +:041434007580247B20 +:04143500247B001202 +:0414360000127E0022 +:04143700825C169726 +:04143800FFBE157A64 +:04143900B034EA439E +:04143A000020000E80 +:04143B00B584C4159B +:04143C00FD0300E8C4 +:04143D000001B834BE +:04143E006E20BDC49B +:04143F000720E94356 +:0414400056BD484409 +:04144100B117488116 +:0414420025AE0000D3 +:041443007B23FFFF09 +:04144400827C2697E9 +:0414450000012F0C67 +:041446000007212654 +:04144700E0202F234F +:041448000D8B1806EA +:04144900C406352080 +:04144A00035B2763B6 +:04144B0031B3273B57 +:04144C00000110008B +:04144D003DBB3193DF +:04144E0024FB035B1D +:04144F000004430052 +:04145000B467222338 +:0414510021530240E1 +:0414520004C32DFBA7 +:04145300FA83317B6C +:041454003DBB24FB7D +:041455004300035BF2 +:04145600283B00042B +:041457001000273B1F +:04145800FB83000111 +:041459000090B467E4 +:04145A002913FB83D4 +:04145B0010B3029B2D +:04145C002033257B99 +:04145D00B0733F3BEE +:04145E00200434BB77 +:04145F00470075735A +:04146000E70400009D +:041461000251000133 +:04146200DE2BDFC3DB +:0414630080B328D357 +:04146400003BFBC38B +:0414650082681697EC +:0414660082641E97E7 +:04146700997BCC2180 +:0414680091BB813B78 +:0414690018B2283B52 +:04146A0014FB003E31 +:04146B0028B2203B48 +:04146C0071C0003C0F +:04146D0094A600152C +:04146E0088BB000136 +:04146F00009804A23B +:04147000827C1697CD +:04147100000710A6BA +:0414720020342AA355 +:041473002C3B00020C +:0414740060C05911EA +:04147500203400120D +:041476002C3B000407 +:04147700001C210430 +:04147800C83C3EE846 +:04147900001260C835 +:04147A000B51A681EB +:04147B00AA81F70348 +:04147C00F743091118 +:04147D00247B283B69 +:04147E00000282C026 +:04147F00000720340E +:04148000DC40091132 +:041481002004000340 +:041482004580138806 +:04148300283B000002 +:0414840082C024FB03 +:04148500940C0002C1 +:0414860024BB00FF84 +:0414870000032280BC +:04148800000324B485 +:041489002280600954 +:04148A00C00B000390 +:04148B000001243404 +:04148C0000032280B7 +:04148D000002243401 +:04148E0000032280B5 +:04148F00247B283B57 +:04149000000282C014 +:0414910000072034FC +:041492000003DC4037 +:041493001388200496 +:04149400C83C3EE82A +:041495000000458886 +:04149600283B20BB14 +:04149700000282C00D +:041498000B1B883B67 +:0414990000079004B4 +:04149A00E4078CA037 +:04149B006C073C207E +:04149C000FCB2C4BFB +:04149D00FBDB03EB87 +:04149E004300035BA9 +:04149F0002510004F2 +:0414A00000081466C6 +:0414A1004C2102A335 +:0414A2000004245EC0 +:0414A300A004012080 +:0414A400000521041A +:0414A500003BFA43CB +:0414A600A193D0211D +:0414A70099BB913B21 +:0414A800776381FBEA +:0414A900039B897B9D +:0414AA00194029FBC1 +:0414AB0004E2000552 +:0414AC009020000488 +:0414AD00303B1812A6 +:0414AE002C3B24BBF4 +:0414AF0000051940DB +:0414B000243B035B7B +:0414B100000282C0F3 +:0414B20000034640AD +:0414B3002F00031BE8 +:0414B4000020000212 +:0414B5001697C412B0 +:0414B600147A8260C2 +:0414B700203B002AAC +:0414B80000022F00FF +:0414B9008268169798 +:0414BA0082641E9793 +:0414BB0018B2283B00 +:0414BC00203B00D001 +:0414BD0000D02C32FD +:0414BE00001571C0E4 +:0414BF00283B20BBEB +:0414C000000282C0E4 +:0414C100502114BBE7 +:0414C2002D3B247B1F +:0414C3000000908015 +:0414C4000251428906 +:0414C500581214A005 +:0414C60021FBF7838C +:0414C70082C0035B81 +:0414C800D900000245 +:0414C900DB800002C2 +:0414CA00303B0002B1 +:0414CB0024BB2C3BD7 +:0414CC0000051940BE +:0414CD00243B035B5E +:0414CE00000282C0D6 +:0414CF00827C16976E +:0414D00081941E974E +:0414D100000710AE52 +:0414D200103458A3D7 +:0414D3001084510030 +:0414D40010E8001FFD +:0414D50016979000D6 +:0414D60010AE827C56 +:0414D7004CA300071B +:0414D800D8405F1B7E +:0414D90004E2000227 +:0414DA00303B000C97 +:0414DB0090202C3BF6 +:0414DC001940180497 +:0414DD00035B0005A8 +:0414DE0082C0243B69 +:0414DF004640000281 +:0414E000031B0003E7 +:0414E10000022F00D6 +:0414E2000020883B23 +:0414E3001697C41282 +:0414E400147A826094 +:0414E500203B001A8E +:0414E60000022F00D1 +:0414E7000002D90026 +:0414E8001034E84391 +:0414E90010844D001E +:0414EA00F4C3003F08 +:0414EB00F643671B42 +:0414EC002D3B247BF5 +:0414ED0000009080EB +:0414EE0002514289DC +:0414EF00581214A0DB +:0414F000A681F98355 +:0414F100E4C30B51F4 +:0414F20009118A0151 +:0414F300003BE4C313 +:0414F4009F29FFE14C +:0414F500A97BA13BF3 +:0414F600009030042E +:0414F700873DFB5BD7 +:0414F80000165A0080 +:0414F90001060522C1 +:0414FA001133089B07 +:0414FB0000011034A8 +:0414FC006E401084AA +:0414FD001034123362 +:0414FE001084000155 +:0414FF0012736E30C6 +:0415000048620560D8 +:041501000002183498 +:04150200948C18C4E9 +:04150300C402A8A0D6 +:04150400883B149973 +:0415050011F3268137 +:0415060000011526A5 +:04150700169712B36E +:0415080010AE827C23 +:041509002CAB000700 +:04150A000002203487 +:04150B005911575BC0 +:04150C00001260C0A9 +:04150D000004203482 +:04150E002104575B02 +:04150F0060C0001C9C +:04151000031B0012A7 +:04151100001288C07C +:0415120008A3129385 +:041513000012690059 +:0415140000126DC094 +:04151500826816973B +:0415160082641E9736 +:0415170018B2283BA3 +:04151800914400A456 +:04151900ACA0FFFF84 +:04151A00157B3812F3 +:04151B0028B2203B97 +:04151C0071C0009A00 +:04151D0020BB0015DA +:04151E000001148C28 +:04151F00149E117392 +:0415200000A2000223 +:041521009804008C9E +:04152200283B000E54 +:04152300000282C080 +:0415240080181E8489 +:041525001E8419B354 +:041526001AF3801024 +:041527009D201913D7 +:04152800803BC4132D +:04152900B504103BBA +:04152A00E0C4000613 +:04152B0068AB0001A8 +:04152C004F8010F3E9 +:04152D001034000472 +:04152E0089D300015C +:04152F006E20108496 +:0415300000019034F2 +:041531000001B034D1 +:04153200C4170020BA +:04153300948411B3D8 +:04153400B5846E28E4 +:0415350016976E3067 +:0415360015FA8260C0 +:0415370059C0013A5C +:0415380010D30004C8 +:0415390001E200A229 +:04153A001F29029BC8 +:04153B00109B7FE1A1 +:04153C001034113323 +:04153D001084000115 +:04153E0012336E3CBA +:04153F000001103463 +:041540006E20108485 +:04154100A681DF039D +:04154200EA430B511C +:041543000911AA815F +:041544009804EB8399 +:04154500EE43000C65 +:04154600199B3DBBF5 +:04154700203B283BE2 +:041548000004430058 +:041549002153119386 +:04154A00228134FBCB +:04154B00035B0485B5 +:04154C00C4170020A0 +:04154D00488700A02B +:04154E00430025C968 +:04154F0012D30004AF +:04155000035B3113F5 +:04155100C402B8A078 +:0415520024BB008531 +:0415530043003C3BDA +:041554003C3B000418 +:04155500035B373BC2 +:04155600430024BB6F +:041557002D3B000424 +:041558003D7B0033A4 +:04155900571B303BB1 +:04155A0000052980DF +:04155B0082602E97E5 +:04155C0028E2183B2E +:04155D00039B005C90 +:04155E00571B2D3BAF +:04155F003D7B00339D +:0415600000052980D9 +:0415610082603697D7 +:04156200203B757D38 +:0415630000543122DD +:0415640086FD031BE2 +:0415650020F3103B24 +:04156600005E11A270 +:041567000001BDC4FE +:04156800000515EE77 +:0415690010D304A3F4 +:04156A0049C094AB35 +:04156B0016970004CB +:04156C0010A6827CC7 +:04156D000CA30007C4 +:04156E0008A3129329 +:04156F0000126900FD +:0415700000126DC038 +:04157100146E0251A1 +:0415720000A20005CE +:0415730010D3FEE4AF +:04157400753DDB8363 +:0415750018A0670152 +:0415760006D16C042A +:04157700090B6909EA +:04157800F1C309A50D +:0415790000003947EE +:04157A006C0320A03E +:04157B0009110B51F6 +:04157C0006CB0EC9C3 +:04157D00FFFF1967EC +:04157E0008D5F24357 +:04157F00FFFF212623 +:04158000753D0D2385 +:0415810021074501F8 +:04158200092B000031 +:04158300049102F5D8 +:04158400F08326D1F9 +:04158500FEC300F3AE +:04158600484205E0F2 +:0415870024C186FDF8 +:041588000000E097E8 +:04158900FFFF172E1B +:04158A00039600A222 +:04158B00827C1697B1 +:04158C00000125CC69 +:04158D00000710A69D +:04158E00B82040A39E +:04158F00048B1802AF +:041590001E84149908 +:041591003723801864 +:04159200035B25FBD7 +:041593001AF3133301 +:041594000001100042 +:0415950013131AD33F +:04159600C404E0E0C9 +:0415970044090105FD +:04159800C403E0E0C8 +:04159900052204C55E +:04159A001467003A98 +:04159B00103402D036 +:04159C002A530001CD +:04159D006E38108410 +:04159E00113B068374 +:04159F00E0E0F8434D +:0415A0000905C40471 +:0415A100035B34FBB9 +:0415A2004C021120C6 +:0415A3001AF32153C3 +:0415A4003C3B24099F +:0415A50000044300FB +:0415A60025FB283BBE +:0415A700000110002F +:0415A800F7831AD3D8 +:0415A90001201467A2 +:0415AA002DBBF883DA +:0415AB00E70414BB82 +:0415AC003DFBFFFE06 +:0415AD001033E073A4 +:0415AE002004357B65 +:0415AF00470074621B +:0415B000BDC40000B6 +:0415B10002510001E2 +:0415B2001697C18344 +:0415B30010AE827C78 +:0415B40000A200078A +:0415B500AA1B017EEE +:0415B6002804499B21 +:0415B7003F3D00F0C4 +:0415B80000165A00BF +:0415B9002804499B1E +:0415BA00513D00F0AF +:0415BB0000165A00BC +:0415BC002804499B1B +:0415BD001B3D00F0E2 +:0415BE0000165A00B9 +:0415BF002804499B18 +:0415C0002D3D00F0CD +:0415C10000165A00B6 +:0415C200499B283BDE +:0415C3005A00633D2A +:0415C4001697001660 +:0415C5001E97826883 +:0415C600283B8264D8 +:0415C700013818B21D +:0415C800A8A0855101 +:0415C9001173380260 +:0415CA00157B203B32 +:0415CB00012E28B213 +:0415CC00001571C0D5 +:0415CD00283B20BBDC +:0415CE00000282C0D5 +:0415CF0000063D04D1 +:0415D000283B199B00 +:0415D1004300203B78 +:0415D20011130004ED +:0415D300FFF1B80468 +:0415D40000019884F6 +:0415D50000FF15CC32 +:0415D6000080109CE5 +:0415D7008DFBF49103 +:0415D80095FBB5FBCF +:0415D90000FC009280 +:0415DA00B8A0209BFA +:0415DB003113E41CC8 +:0415DC003F3B21531D +:0415DD004300035B69 +:0415DE002153000491 +:0415DF0034FB3F3B5F +:0415E0004300035B66 +:0415E100029B000465 +:0415E20010332D3B5A +:0415E300303B3D7BE1 +:0415E4002980243BFB +:0415E5002E97000538 +:0415E600183B8260CC +:0415E70000C828E22E +:0415E8002D3B029BFA +:0415E9001033243B5C +:0415EA00039B3D7BA7 +:0415EB00000529804E +:0415EC0082605E9724 +:0415ED00203B757DAD +:0415EE0000BE5922C0 +:0415EF0000FF548C19 +:0415F0000080529C89 +:0415F100FF805284A1 +:0415F200517D62FDC8 +:0415F3004EC43FBDE6 +:0415F4001BFD005883 +:0415F5008251203BC4 +:0415F600000F52AEE2 +:0415F70000B022E23C +:0415F8000001BDC46D +:0415F900001015E6E3 +:0415FA00FF6800A2E4 +:0415FB00000449C0DF +:0415FC0000044F8018 +:0415FD0000011034A5 +:0415FE00983481D3C9 +:0415FF009034000123 +:041600001084000151 +:0416010000206E4017 +:041602009CC4C416AA +:0416030094846E3C21 +:0416040012F36E2847 +:041605008260169752 +:0416060000B015BA61 +:04160700000459C0C2 +:0416080000A210D359 +:041609003697019679 +:04160A00CF7D8260AE +:04160B000A5B86BD33 +:04160C00FFDB203BA5 +:04160D00016C21A2A9 +:04160E000005147649 +:04160F00FCA800A291 +:0416100020042C7B0B +:041611004700749882 +:041612001697000027 +:0416130000AA80A009 +:041614009283FBCCF6 +:04161500D003561B8D +:041616000B51A6814D +:04161700AA81D7C30A +:04161800D9030911D8 +:04161900E0C3E5FB4A +:04161A006701753DB2 +:04161B006C0418A0A3 +:04161C00690906D181 +:04161D0009A5090B07 +:04161E003147E44329 +:04161F0020A0000007 +:041620000B516C03FB +:041621000CC90911D6 +:04162200196706CB73 +:04162300E503FFFFDD +:04162400288174BDE8 +:0416250040C7048531 +:04162600608C0000D4 +:04162700631C00FF41 +:0416280063040080D7 +:04162900032AFF8011 +:04162A000222012077 +:04162B00B1E700041F +:04162C0002AA00000E +:04162D0044BB0004B6 +:04162E0004E522C3EA +:04162F0006D10911C6 +:041630000D910B51BC +:0416310000014A4426 +:04163200E2030FD1EF +:04163300B0A03EBD68 +:041634001887C4024D +:0416350050BD0000A4 +:04163600C402B0A09A +:041637000000B88770 +:04163800E4111DE0BC +:0416390011B3045194 +:04163A00E82200A002 +:04163B0018EE16810E +:04163C0066E3FFF072 +:04163D00FFF0BDE617 +:04163E00484305A078 +:04163F003681CEBD65 +:041640000000B8F7F7 +:0416410000580452F7 +:041642000010E004B0 +:04164300E41C8F20F4 +:0416440000FC05EAB7 +:04164500827C1E97EE +:041646000001258CEE +:04164700000718E69A +:04164800B02042E3A9 +:041649000D8B1806E7 +:04164A006C8111138B +:04164B00035B3B23DF +:04164C00333325BB54 +:04164D000001100088 +:04164E0021533313DE +:04164F00035B3F3BBF +:04165000000443004F +:04165100003405223A +:0416520001B0E427D8 +:041653000001183446 +:041654002A13B8D3CA +:041655006E3818C40F +:0416560000200583E8 +:04165700F303C417BE +:04165800F583E47BB7 +:04165900F803313B26 +:04165A003F3B21539E +:04165B004300035BEA +:04165C00283B000423 +:04165D00100025BB99 +:04165E00F90300018B +:04165F000000E4277C +:041660002AD3F9434D +:0416610011931CBB0A +:0416620088733DBB91 +:04166300183310B375 +:041664002004357BAE +:041665004700738641 +:04166600B584000047 +:04166700001100016D +:04166800CE03B8F302 +:041669000CE3075532 +:04166A0006D106950A +:04166B00000288D21F +:04166C000EB588FB34 +:04166D002B510911E3 +:04166E00CF032491F1 +:04166F000002103B2A +:04167000052AFB2824 +:041671002993FCE4D9 +:04167200022A9C4369 +:04167300447BFEEEC8 +:04167400054504E53F +:04167500000061C64A +:041676000000718679 +:0416770000016A0400 +:041678006360049116 +:0416790070A0E40D6C +:04167A006B4CE402CF +:04167B00C48B00FF1D +:04167C0000806B5C23 +:04167D000080109C3D +:04167E0000004267BF +:04167F00FF806B4439 +:041680006892F491E7 +:041681004167FEB609 +:0416820061A700005C +:04168300D58300000B +:04168400FF6E052AC6 +:04168500ED832CFBCA +:04168600827C1697B5 +:04168700000110A6A8 +:04168800169724A3EA +:041689001EAB8360B1 +:04168A000002103416 +:04168B008EEC10973A +:04168C00030018340B +:04168D0000E018C49D +:04168E0018A82689E9 +:04168F0018D48000EB +:0416900018A8100086 +:041691001697900018 +:0416920018AE827C90 +:0416930008E3000167 +:04169400000718A68D +:04169500041600E255 +:04169600690BFC21BF +:04169700D8406923AB +:04169800169700029F +:0416990010A6827C99 +:04169A001EA3000784 +:04169B0083F8169723 +:04169C00108CC49555 +:04169D0012A3200074 +:04169E0083C08E97E0 +:04169F0082E48697C4 +:0416A000041280119F +:0416A1008EB700A65A +:0416A200203483C0AD +:0416A300210400031B +:0416A40045800D4030 +:0416A5001697000094 +:0416A60010AE827C84 +:0416A70000A2000796 +:0416A800151B00A668 +:0416A9000002D84023 +:0416AA0000082034E0 +:0416AB00A120210455 +:0416AC000000458075 +:0416AD00831C1697ED +:0416AE0018A802DB9B +:0416AF002004900083 +:0416B000218000FA9B +:0416B1001697000385 +:0416B20010AE827C78 +:0416B3007CA300070D +:0416B40083A816975A +:0416B50083A41E9755 +:0416B60000A22689DF +:0416B70086970122EF +:0416B8009E9782E493 +:0416B900883483C02E +:0416BA009034787F71 +:0416BB008011747FA7 +:0416BC0094840251BF +:0416BD000412000112 +:0416BE001E97027AF7 +:0416BF00169783A453 +:0416C0009EB783A8A6 +:0416C10010E083C0F2 +:0416C20000A2580228 +:0416C300169702D2A2 +:0416C40018AE827C5E +:0416C50000EA000136 +:0416C6001E97034A1E +:0416C7001034821C3D +:0416C8001084033F48 +:0416C90018A8181431 +:0416CA006803900021 +:0416CB0020042C3B90 +:0416CC0086B7239129 +:0416CD00470083C08F +:0416CE00203B0000BD +:0416CF00001267405E +:0416D000001010AC4A +:0416D100E703F4AB8C +:0416D200EB030D1BFE +:0416D30082E4869790 +:0416D400013190341C +:0416D5000004883451 +:0416D6009484801167 +:0416D7008C442D0012 +:0416D800041A0818D0 +:0416D900283BFF6A41 +:0416DA0082C0243B6B +:0416DB00169700025C +:0416DC00C49583F836 +:0416DD002000108C4D +:0416DE0016970CA3AC +:0416DF000AAB81B021 +:0416E0008680431BA2 +:0416E1008011001262 +:0416E2002004FB03E2 +:0416E3004700235D3C +:0416E40024BB000023 +:0416E500000045803C +:0416E6000012674047 +:0416E700200010AC23 +:0416E80020041EAB11 +:0416E900470023642F +:0416EA00169700004F +:0416EB00183483200C +:0416EC0018C403001B +:0416ED00268904083E +:0416EE0018A802DB5B +:0416EF00FFC39000A5 +:0416F000031B283B75 +:0416F10000128B4018 +:0416F2002804247B29 +:0416F30060C0008053 +:0416F4000D5B001278 +:0416F5008B400F1BFC +:0416F600A800001236 +:0416F700247B00123E +:0416F80060C028BBEB +:0416F9000D5B001273 +:0416FA008B400F1BF7 +:0416FB00031B0012BB +:0416FC00001288C090 +:0416FD008680431B85 +:0416FE00674000122F +:0416FF00F0C3001222 +:04170000827C16973A +:04170100000718A61F +:04170200026C00E293 +:0417030083F81697BA +:04170400108CC495EC +:0417050000A220001E +:041706001697FEC470 +:041707001E9782683F +:04170800883B826434 +:04170900011218B2FF +:04170A00000198340E +:04170B000007A034FF +:04170C000007A834F6 +:04170D000007B034ED +:04170E00C4120020E1 +:04170F009CC4803BBB +:04171000A5046D704F +:04171100AD440400DF +:04171200B584060094 +:0417130016970065C0 +:0417140014328264A5 +:04171500283BFE88E7 +:0417160082C024BBAE +:0417170000200002AC +:0417180005E0C4170D +:041719001697682394 +:04171A00268181D8CB +:04171B0005E0088558 +:04171C00348B484280 +:04171D00EC041120A7 +:04171E00488205E018 +:04171F000001BDC444 +:041720002509590B33 +:041721000007213468 +:041722000003DC40A4 +:041723001388200403 +:0417240000004580FC +:04172500001015E6B5 +:041726000020C8A334 +:041727001697C41736 +:041728001DFB81D84C +:041729000001BDC43A +:04172A008885268107 +:04172B00490205E08A +:04172C002134250936 +:04172D00DC40000795 +:04172E002004000390 +:04172F004580138856 +:0417300015E60000BA +:04173100D6A3000B30 +:04173200827C169708 +:04173300000710AEED +:0417340016976EA3F3 +:041735005AAB83A484 +:04173600C4170020B4 +:04173700000615EEA5 +:0417380025FB12A3D8 +:041739000001DC408F +:04173A0035FB38BB88 +:04173B00203B283BEC +:04173C000004430062 +:04173D000001BDC426 +:04173E00001015E69C +:04173F001697DEA378 +:041740000D9B81D8A4 +:04174100AE85035B13 +:041742004300203B05 +:0417430016970004F1 +:041744000B1B81D822 +:0417450038860D9B3A +:04174600035B00132E +:0417470043009FCBF1 +:0417480047800004D2 +:041749002034000444 +:04174A00210400076F +:04174B00DC40170067 +:04174C000011000385 +:04174D00C4128CA096 +:04174E00A681E2830B +:04174F00DC830251E4 +:041750000001B834A8 +:041751006D5EBDC448 +:041752000000E5CEE0 +:041753000002BDC40F +:04175400CDE8272095 +:041755005804A12073 +:041756000003DC4070 +:0417570000FF270C5C +:041758005804A92068 +:041759000003DC406D +:04175A00DC4025BB8F +:04175B00BCE20003E9 +:04175C00EBC3FFD606 +:04175D00243B283BC6 +:04175E00000282C043 +:04175F00E6000B1B7A +:0417600016970003D5 +:041761001E97827CD1 +:0417620010AE8194B0 +:0417630048A3000790 +:0417640010E814BBBA +:041765001697900043 +:0417660010AE827CC3 +:041767003CA3000798 +:04176800D8401B1B2F +:041769002004000256 +:04176A0019C00200A0 +:04176B0016970003CA +:04176C0018AE827CB5 +:04176D0006E300018E +:04176E00000710A6BA +:04176F00169716A310 +:04177000A6978210A6 +:0417710016A782181D +:041772006F40832C15 +:04177300253B00040E +:041774000004788075 +:04177500A3C3801179 +:04177600F6C3147B27 +:04177700F843131B05 +:04177800827C1697C2 +:04177900000720A69F +:04177A001697152386 +:04177B00C49583F896 +:04177C002000108CAD +:04177D00FD1600A2B3 +:04177E00FD1200EA6E +:04177F0000EA0183F8 +:0417800010AEFD0C9E +:0417810000AA0001B9 +:04178200803BFD04A7 +:04178300283B098373 +:0417840082C0243BC0 +:0417850016970002B1 +:04178600001181DCF1 +:04178700211F689521 +:041788002114FF40E9 +:04178900DC400080C0 +:04178A002004000334 +:04178B004380009601 +:04178C0016970000AC +:04178D00689581DCFE +:04178E0000802114A2 +:04178F000003DC4037 +:04179000009620049B +:041791000000438091 +:0417920081DC169749 +:04179300DC40689539 +:04179400200400032A +:0417950043800096F7 +:0417960016970000A2 +:04179700141A82E4BA +:041798009543FFACCA +:04179900000710AE87 +:04179A00FCAE00A2FF +:04179B0010A67C21F7 +:04179C000EA3000593 +:04179D0000043448C8 +:04179E00000110AE88 +:04179F00FC5E00AA42 +:0417A000E009B303A6 +:0417A10083DC1E9730 +:0417A20000012926F3 +:0417A30014D9313BE9 +:0417A40083E826842C +:0417A5001E973363F5 +:0417A600250180F8A1 +:0417A70083D806B726 +:0417A8001E9706B5CD +:0417A90004D180F4F3 +:0417AA001EB71A99B3 +:0417AB0010B683DC15 +:0417AC004B010003EA +:0417AD00E7810EA31F +:0417AE0016841D99E7 +:0417AF005A8183F0E8 +:0417B000001658883F +:0417B100FE43303B88 +:0417B20005154501D3 +:0417B30080F41EB7E9 +:0417B40080F816B7EC +:0417B500003BE0090C +:0417B60003001834E0 +:0417B7000A0018C448 +:0417B80020001104F8 +:0417B90018342709B0 +:0417BA0018C403004C +:0417BB0028A00FFC57 +:0417BC0018A0580514 +:0417BD001168580354 +:0417BE00112880006E +:0417BF0030E880008E +:0417C000312880004C +:0417C10007A38000FA +:0417C20080A0369736 +:0417C300E009E9ABA5 +:0417C40003001834D2 +:0417C50020001104EB +:0417C6000FFC18C438 +:0417C700580528A0F9 +:0417C8001834268922 +:0417C90018C403003D +:0417CA0027090A00E1 +:0417CB0090003168F1 +:0417CC00800018A8D9 +:0417CD008000192857 +:0417CE001E9706E379 +:0417CF00ECEB80A01F +:0417D000003BE009F1 +:0417D100211F951926 +:0417D200108CF0FF88 +:0417D300288903C09E +:0417D400003BE009ED +:0417D500190CC42106 +:0417D600893B180033 +:0417D70034EB81BBB3 +:0417D800C00B217BA6 +:0417D9000005F440D3 +:0417DA000080841CEB +:0417DB0008008C4C2A +:0417DC001834F011BC +:0417DD00166B030084 +:0417DE00140C18C40B +:0417DF0018A8268997 +:0417E00018DF80008E +:0417E10020C9FFF02C +:0417E200900018A8B3 +:0417E30018C44421C1 +:0417E400FD031408E5 +:0417E50000CF8C4C59 +:0417E600000079C0C6 +:0417E700700B086B10 +:0417E800900080A845 +:0417E9001C3BFCC3E6 +:0417EA00841CC00B90 +:0417EB00F011008079 +:0417EC0000020412E1 +:0417ED00C6CB183B14 +:0417EE00008018DC83 +:0417EF0018A8F6D16F +:0417F0000420901031 +:0417F1007009EBE3AD +:0417F200FA83060967 +:0417F300BAD3FC6108 +:0417F400A17B893B11 +:0417F50099FB91BB10 +:0417F6000020103B84 +:0417F70090A2C41CDC +:0417F800072A007646 +:0417F90084FB0184E8 +:0417FA00103BACFBF9 +:0417FB000830B44CB2 +:0417FC00007A14A2B9 +:0417FD0000021034A2 +:0417FE0093A410841C +:0417FF000300383477 +:04180000283B30BB96 +:04180100007439C472 +:04180200822C1E977F +:04180300008E197AC0 +:041804000300283481 +:041805002944203B17 +:041806001E970070B9 +:04180700193A822CDC +:0418080005A200B87D +:04180900B4AA013646 +:04180A000405012AA6 +:04180B00000410AE17 +:04180C0064051EA3AE +:04180D000018152288 +:04180E00042F381556 +:04180F008940000804 +:0418100020A800000C +:04181100035B8000F5 +:041812005A00F90B74 +:04181300442D000060 +:041814000001B58496 +:04181500F9C34011C2 +:04181600488300A063 +:041817001CE004913C +:0418180006C5C4033A +:04181900000418E6C9 +:04181A00581C1F2017 +:04181B001D46EE0375 +:04181C0018EE0000C2 +:04181D001EE30004C2 +:04181E00000805A217 +:04181F0000061D465C +:0418200000121D2273 +:041821000002354745 +:04182200000C2D5732 +:041823001033247BDF +:041824000005F54086 +:041825000491101307 +:041826000010AD44BD +:041827001E97E9C35C +:041828002CE381B07C +:0418290000001CC6D9 +:04182A00000218FEA2 +:04182B00400426E36C +:04182C000795000517 +:04182D00400018C49B +:04182E0020E82EC9B7 +:04182F00211F8000F5 +:041830004120FFF85C +:0418310020E858044F +:041832000B519000C6 +:04183300E7032D9109 +:04183400FBC3473B70 +:041835000003400468 +:041836000695FB0315 +:0418370018C4303B66 +:041838002AC9400079 +:04183900800038E80B +:04183A0039BE0DEBBB +:04183B0007E30003BC +:04183C0024910911D9 +:04183D000D91E483A2 +:04183E000405FD435D +:04183F00000410AEE3 +:04184000341534A384 +:0418410088A2048BEA +:0418420015C6002C9B +:041843001522000169 +:0418440004E0002498 +:041845001697484367 +:0418460005EF81CC5D +:0418470026810002F4 +:041848008940089536 +:0418490020A80000D3 +:04184A00035B8000BC +:04184B005A00F90B3B +:04184C0015EF000094 +:04184D009CC4000235 +:04184E00BDC4000114 +:04184F007405000418 +:04185000E403B4E019 +:04185100FFB210FAD8 +:041852000001AD44A0 +:04185300B4FB401191 +:041854000004ACA23E +:041855007C61103B67 +:04185600FC439DBBF7 +:04185700C416002093 +:04185800C415002093 +:0418590000208C6E71 +:04185A00029BFCC32E +:04185B00003BFD034E +:04185C00112CFFA1AB +:04185D00813B0002C9 +:04185E0010041CABAB +:04185F0016A7FF9831 +:04186000168680E187 +:0418610010B681AC90 +:0418620000A20017C9 +:0418630010DB010C89 +:0418640016A7268914 +:04186500142C80E0DF +:0418660000A20004D8 +:04186700040B013439 +:04186800140C10F359 +:0418690010AE0005B8 +:04186A0016AB0005B4 +:04186B0080E116867C +:04186C0048C301A0CC +:04186D002689548BE9 +:04186E00488301604A +:04186F0016A7268909 +:04187000140C80E1F3 +:04187100113301002E +:041872000500140C4D +:04187300050010A6B6 +:04187400168616A31B +:0418750001A080E06E +:04187600548B48C384 +:04187700016026895D +:0418780026894883F2 +:0418790080E016A74E +:04187A000002940CC8 +:04187B0000E604A2DD +:04187C000200140C46 +:04187D0000A2117341 +:04187E00440B01080E +:04187F00020800A2B9 +:041880002000140C24 +:04188100033600A288 +:041882008000140CC2 +:04188300B03414ABBE +:04188400B584000225 +:04188500002087E4D4 +:041886001697C415D8 +:04188700157A825CF0 +:04188800640B03B634 +:04188900045C00A259 +:04188A0000A210D3D5 +:04188B001113045CD5 +:04188C001E8636ABD3 +:04188D00103480E0B3 +:04188E001084033F80 +:04188F0018A8174C32 +:04189000103B900079 +:04189100825C1E97C0 +:0418920080E0368636 +:04189300048618BAF5 +:0418940083C02E9748 +:0418950039A0558B96 +:041896001033CCE659 +:04189700CCA431A00C +:04189800688E200432 +:041899000000470004 +:04189A000001842C99 +:04189B001E86202B5A +:04189C00103480E1A3 +:04189D001084033F71 +:04189E0018A8370847 +:04189F001E86900011 +:0418A000103480E0A0 +:0418A1001084033F6D +:0418A20018A8374CFF +:0418A30004A290000B +:0418A400115304BE1A +:0418A500052800A270 +:0418A60030DB7FA113 +:0418A700FF801004AA +:0418A8001E97DDC3E7 +:0418A900268680E827 +:0418AA0034C180E1E4 +:0418AB00049108E5B7 +:0418AC0082581E97A9 +:0418AD00FFEA18BA7C +:0418AE001E97103B36 +:0418AF0018B2825C8D +:0418B0001E97FEDCA5 +:0418B100268680E423 +:0418B20034C180E0DD +:0418B300049108E5AF +:0418B400103BFD03E5 +:0418B50001A0FB4350 +:0418B600016048D1B4 +:0418B7003E0B488814 +:0418B8001697183B2C +:0418B90010F282584F +:0418BA0013EBFF0627 +:0418BB0080E8269704 +:0418BC0005054701D6 +:0418BD002289548B9D +:0418BE00580240A0EC +:0418BF0006D1052524 +:0418C00001A0FC0384 +:0418C100016048C6B4 +:0418C2003C0C48850D +:0418C300183B0400CA +:0418C400825C169795 +:0418C500FEE210F23D +:0418C600269711EB65 +:0418C700470180E471 +:0418C800548B050533 +:0418C9002A892C89B3 +:0418CA0006D1052519 +:0418CB002804FC43AE +:0418CC00253B02D0E6 +:0418CD00001571C0D1 +:0418CE00883B48BB50 +:0418CF0080DCB6976C +:0418D00000B4280434 +:0418D1004DA0247B87 +:0418D20049B3C4163C +:0418D300001571C0CB +:0418D400C41615A081 +:0418D500C416ADA0E8 +:0418D6000000258663 +:0418D70083C02E9705 +:0418D800B10C883394 +:0418D900C90B00FF38 +:0418DA003D3B2073FF +:0418DB006805200478 +:0418DC004700357B11 +:0418DD00158C000066 +:0418DE0025CCFFFF17 +:0418DF004993FFFF2B +:0418E00000061132BB +:0418E100E53B9C7BCC +:0418E2000251BDBB37 +:0418E3000004146683 +:0418E400A504AAA30A +:0418E5001686000162 +:0418E60010BE81AC03 +:0418E70064A30017DF +:0418E800153A089B0A +:0418E9001697FF88C7 +:0418EA0008AB80D8EF +:0418EB00C402A8A0EB +:0418EC000000B8A799 +:0418ED0080E82697D2 +:0418EE0048C504E005 +:0418EF00FFFFBDCC6E +:0418F000C404A92063 +:0418F100357B050539 +:0418F200548B3F3B99 +:0418F30007202A8917 +:0418F400AD44488532 +:0418F5002A8900013B +:0418F6002E970525FF +:0418F700B87383C07F +:0418F80020049833FD +:0418F9004700681923 +:0418FA00169700003D +:0418FB001572825888 +:0418FC000020FE0EBC +:0418FD000020C414EF +:0418FE000020C413EF +:0418FF000020C41CE5 +:04190000F243C417D3 +:04190100F343049B0D +:04190200C4150020E8 +:041903003697FB8395 +:041904005DE080DC46 +:041905002804C407E7 +:0419060061A000B428 +:04190700253BC406B2 +:041908006B33737357 +:041909001AB342F3D8 +:04190A0061F35A73B8 +:04190B0031B33A3387 +:04190C00001571C091 +:04190D003A133193C5 +:04190E0083C02E97CD +:04190F006F816581FE +:04191000A073058536 +:04191100C88B9833B4 +:04191200357B20B34E +:04191300682B200419 +:04191400470011B3C4 +:04191500119300002A +:0419160061D37353D3 +:04191700C48BC88B2A +:041918001A935A5371 +:041919006B1342D337 +:04191A00000270B2A5 +:04191B005AC4693B06 +:04191C001697000119 +:04191D00734C831074 +:04191E0012FAFFFFBB +:04191F00158CFF9094 +:0419200070B2FFFFA3 +:04192100453B00063C +:04192200B37B1CFB7C +:041923000001A50416 +:041924000004152E78 +:04192500009800AA7C +:0419260000019CC45C +:0419270002D0630483 +:0419280081AC1686F2 +:04192900001710BED5 +:04192A00008E00A289 +:04192B0014FA089B07 +:04192C002697007A80 +:04192D00022080E430 +:04192E003A3B48C533 +:04192F00C404A92023 +:0419300030FB05057E +:041931002A89548B20 +:04193200488500E004 +:0419330005252A89D3 +:0419340080E416979E +:0419350083C02697AE +:04193600C402A8A09F +:0419370025190A85DF +:041938001499288155 +:0419390068422004DC +:04193A00C402A8A09B +:04193B0017200499D4 +:04193C000AA5C40232 +:04193D000001B0A74E +:04193E00FFFFB58C66 +:04193F00B0332D7B19 +:04194000000047005C +:041941008310169762 +:041942000001AD44AF +:04194300C41715E0D0 +:04194400825C169714 +:04194500FCF015722B +:04194600C40C0020AD +:04194700C4130020A5 +:04194800C4080020AF +:041949000020183B27 +:04194A00EE83C4164E +:04194B00C4140020A0 +:04194C00C40B0020A8 +:04194D00FFFF68042C +:04194E00049BE7030C +:04194F00E034EE038F +:041950000020000271 +:041951000020C41599 +:04195200E704C417CB +:04195300F80387E42A +:0419540000014886C0 +:0419550020041E85C7 +:04195600357B685025 +:041957001A732DFBD7 +:0419580049F34233DA +:04195900470011B37F +:04195A0049D300006D +:04195B0011931A5377 +:04195C00FFFF224C1B +:04195D0019324213E6 +:04195E00E5FB0004A1 +:04195F00BDC4427B46 +:0419600010840001EE +:04196100269700487D +:041962001A0C82E4F5 +:0419630025DAFFFF83 +:041964000720FFBE9B +:041965002034486280 +:041966002D7B0002D3 +:04196700C402E0A036 +:04196800373B14995C +:041969000002B5843F +:04196A00C402A8A06B +:04196B004881049912 +:04196C0080E4169766 +:04196D0087E42106E4 +:04196E00C402A8A067 +:04196F00169708A51A +:04197000200480E4EB +:04197100A8A0685B67 +:041972000E85C40218 +:04197300AD44183334 +:041974004700000127 +:0419750088430000A3 +:04197600002015BB7D +:041977000020C41771 +:041978004004C41C47 +:04197900F3C3FFFFB6 +:04197A0080D4169768 +:04197B00686C200470 +:04197C002681357B10 +:04197D00C402A8A058 +:04197E002DBB0E85EA +:04197F00C5CB42335F +:0419800019F3CFCBBD +:04198100470011B357 +:0419820011930000BD +:04198300421319D31F +:04198400E132F88BC9 +:04198500BDBB0004E2 +:04198600B58440BB29 +:0419870018C400017F +:04198800169700901E +:04198900E20C82E406 +:04198A00159AFFFFAC +:04198B0005E0FFBABA +:04198C0016974863FF +:04198D002D7B80D05E +:04198E00C403B8E0F6 +:04198F00488300E0A9 +:04199000200435FBFF +:0419910026816875CE +:04199200C402A8A043 +:041993001697068518 +:04199400A8A080E89F +:0419950006A5C402DD +:0419960080E8169738 +:04199700C402A8A03E +:04199800E0330E85A5 +:041999000001AD4458 +:04199A000000470002 +:04199B0082581697C1 +:04199C00FBB4157211 +:04199D000020183BD3 +:04199E000020C4164B +:04199F004004C41725 +:0419A000F3C3FFFF8F +:0419A100C415002049 +:0419A2001E86FC435E +:0419A300103480E19B +:0419A4001084033F69 +:0419A50018A817085F +:0419A600103B900062 +:0419A70082581E97AD +:0419A80080E136861E +:0419A900001C18BA4C +:0419AA0083C02E9731 +:0419AB0039A0558B7F +:0419AC001033CCE642 +:0419AD00CCA431A0F5 +:0419AE006883200426 +:0419AF0000004700ED +:0419B000FB6A0002CC +:0419B10084841E9775 +:0419B2001E9708EB89 +:0419B30034C1842097 +:0419B40004910CE5A9 +:0419B5001E97F8C3BE +:0419B60008EB848432 +:0419B700841C1E97D7 +:0419B8000CE534C145 +:0419B9000002049193 +:0419BA001619FB5AA5 +:0419BB0081CC16972E +:0419BC0008952681E3 +:0419BD000005F440ED +:0419BE0080E81E9708 +:0419BF00580290A09A +:0419C00006C530C167 +:0419C100900018A8D2 +:0419C200848416976C +:0419C300169710ABB8 +:0419C400208180E816 +:0419C50016970685E6 +:0419C60020818420D8 +:0419C700169706A5C4 +:0419C8002E9780E8EE +:0419C900343B83C068 +:0419CA000E852081E5 +:0419CB0068A22004EA +:0419CC0055CB0011E6 +:0419CD0011E01073A2 +:0419CE001033CCE620 +:0419CF00CCA439E08B +:0419D00000004700CC +:0419D100825816978B +:0419D200FF9E143A26 +:0419D300FB420002D1 +:0419D4000300903448 +:0419D5009484803B3B +:0419D600FD031408F1 +:0419D7001697161930 +:0419D800268181BC27 +:0419D900F440089539 +:0419DA001E9700054F +:0419DB00228980E4F9 +:0419DC0006C530C14B +:0419DD00900018A8B6 +:0419DE008484169750 +:0419DF00169710AB9C +:0419E000208180E4FE +:0419E10016970685CA +:0419E2002081841CC0 +:0419E300169706A5A8 +:0419E4002E9780E4D6 +:0419E500343B83C04C +:0419E6000E852081C9 +:0419E70068AD2004C3 +:0419E80055CB0011CA +:0419E90011E0107386 +:0419EA001033CCE604 +:0419EB00CCA439E06F +:0419EC0000004700B0 +:0419ED00825C16976B +:0419EE00FFA0143A08 +:0419EF00FAD8000220 +:0419F0000300883434 +:0419F1008C44803B67 +:0419F200FD03140CD1 +:0419F30082C02E97E9 +:0419F40082C81697F8 +:0419F50082A81E970F +:0419F600419B0B59AD +:0419F700BAC1E5810B +:0419F8004D49035BF7 +:0419F90045498B5180 +:0419FA0054C90AC9F9 +:0419FB000092A701AE +:0419FC00103B00029A +:0419FD00003BE009C2 +:0419FE00293BC021A0 +:0419FF002004813B04 +:041A000047001C1D62 +:041A0100FB9B00004B +:041A0200243BFB5B2B +:041A03000001CAC054 +:041A0400D040051BAE +:041A0500408000011C +:041A0600169700121D +:041A0700FAAB80A016 +:041A08004021103B2E +:041A090083DC1697CD +:041A0A000120CC21CA +:041A0B00893B485279 +:041A0C00868418991B +:041A0D00997B83E856 +:041A0E000AD53801BC +:041A0F0083E01E84CE +:041A1000091548C1AB +:041A1100C405916017 +:041A1200000629326F +:041A130016B704916D +:041A1400169783DCC2 +:041A150020B683DC98 +:041A16001D2300028A +:041A170083D82697B3 +:041A1800000C213667 +:041A190014991323E6 +:041A1A000915440165 +:041A1B0004D534C1F9 +:041A1C00C40491204D +:041A1D00000620B2ED +:041A1E007F80051BA5 +:041A1F001697000610 +:041A2000183483DC17 +:041A21001499000212 +:041A220004150401A2 +:041A2300000014F7B4 +:041A2400C40290A0C8 +:041A250016970435D7 +:041A2600089983D8C0 +:041A270088EF37010C +:041A28000691991E6C +:041A290083D81EB789 +:041A2A00003B4C2110 +:041A2B0081BC2697BD +:041A2C00FD0018346D +:041A2D00E07F18C47A +:041A2E0080210515F9 +:041A2F0018340689D8 +:041A300018C40300D3 +:041A31002689198069 +:041A3200800010A878 +:041A3300FD00183466 +:041A340016B7248B32 +:041A3500051582E031 +:041A3600E07B18C475 +:041A370018340689D0 +:041A380018C40300CB +:041A3900268919845D +:041A3A00800020A860 +:041A3B00CCA41920FE +:041A3C002120250B35 +:041A3D0026B7CD8C6F +:041A3E0020EE83987B +:041A3F00012200037D +:041A400018E601841F +:041A410006D10002C8 +:041A420082D01EB779 +:041A4300000320AECE +:041A44000176012204 +:041A4500000220AECD +:041A46000172012206 +:041A4700000110A6E4 +:041A4800031B1491D7 +:041A49004C03192011 +:041A4A0016B745097D +:041A4B00169782D494 +:041A4C001EB781BC84 +:041A4D0026B782D85E +:041A4E00049582DC9D +:041A4F00FD0018344A +:041A5000E05318C483 +:041A510018340689B6 +:041A520018C40300B1 +:041A5300268919AC1B +:041A5400800010A856 +:041A5500030018343E +:041A560016B7548BE0 +:041A5700169783401B +:041A580018C481D05D +:041A5900049500FCF4 +:041A5A0010A8268921 +:041A5B00108C80006B +:041A5C0010AE0007C1 +:041A5D0006A30007D5 +:041A5E007F801D1B4D +:041A5F0016970006D0 +:041A6000183481D0E5 +:041A610018C40300A2 +:041A6200049500ECFB +:041A630010A8268918 +:041A64001E97800049 +:041A6500031B82D409 +:041A6600CDEF10A010 +:041A670029203AD127 +:041A680016B74C075A +:041A690010C48344DE +:041A6A003EB700077C +:041A6B003E9782C45C +:041A6C00112082D0F3 +:041A6D0016B74C0656 +:041A6E002E8182C87B +:041A6F0082B816B76C +:041A70004C021120F3 +:041A710082CC2EB73E +:041A720016B75F4103 +:041A730004D982B060 +:041A740036B74B092D +:041A7500268182C084 +:041A760004992E8120 +:041A770082B426B758 +:041A78000001203415 +:041A7900210F488170 +:041A7A002EB76D888E +:041A7B0026B782BC4C +:041A7C00203482ACE4 +:041A7D00488100019B +:041A7E006D70110F67 +:041A7F0082A816B76C +:041A800082DC169757 +:041A8100000110A6AA +:041A8200008600A238 +:041A830082E0169750 +:041A840000021096B6 +:041A850048E200A093 +:041A8600829C16B771 +:041A870082741697B8 +:041A8800827C1E97A7 +:041A8900A00200A017 +:041A8A00838416B784 +:041A8B00000110EE58 +:041A8C0010E606A3B7 +:041A8D0066A3000745 +:041A8E0082E4169741 +:041A8F000002109EA3 +:041A900016975CA3A6 +:041A9100C49583F87D +:041A9200000110AC93 +:041A930001A050A3BB +:041A9400035BE844C4 +:041A95002EB7029BCB +:041A960026B7839458 +:041A970004AB82908A +:041A9800E82201A09F +:041A9900828C16B76E +:041A9A00826C1697AD +:041A9B00000518E644 +:041A9C00817416B784 +:041A9D00169730E385 +:041A9E0010A682D834 +:041A9F0004910004AA +:041AA000813C16B7B8 +:041AA100183B0021CD +:041AA200103BCFC363 +:041AA300029BD2834D +:041AA4001697D203BC +:041AA50018C482E0FF +:041AA6004689000667 +:041AA700283BEF43A6 +:041AA800203B103B94 +:041AA900049BF603A1 +:041AAA00003BFAC340 +:041AAB00827C16978C +:041AAC009697FF61A9 +:041AAD0010A683C03C +:041AAE00813B000177 +:041AAF00009A00A2F7 +:041AB000FFF6110428 +:041AB100000418B65F +:041AB200008E00E2C0 +:041AB300025B90BB87 +:041AB40024BB035BF1 +:041AB500000282C0E9 +:041AB6008368169794 +:041AB70016970CA3CF +:041AB8001CAB836C74 +:041AB9000025142EC2 +:041ABA00169716A3C2 +:041ABB0010AE827C6B +:041ABC006AA3000118 +:041ABD0003DB4B1BE1 +:041ABE002B5BFB9B08 +:041ABF000000C580DE +:041AC000839C169756 +:041AC100825CE697C6 +:041AC200C415002027 +:041AC300203416A312 +:041AC400FB5B0300C5 +:041AC50000CC21042C +:041AC600825C1E9789 +:041AC700004218BA07 +:041AC8000001E00435 +:041AC900825C16978E +:041ACA00C403E5600C +:041ACB0018B21973C1 +:041ACC001173000290 +:041ACD003880203B02 +:041ACE002697000354 +:041ACF00B6978164E1 +:041AD000B12082C0FF +:041AD100B0A0E402DB +:041AD200109EE4027C +:041AD30052A3018099 +:041AD400483605A0EB +:041AD500103B6E6BE9 +:041AD600883B0C83BA +:041AD700531BEE436C +:041AD80000A0F283F5 +:041AD9001E974848C4 +:041ADA0040E081BCAB +:041ADB0006D5C40365 +:041ADC0018E828C915 +:041ADD00183B800032 +:041ADE003E970B9B89 +:041ADF0041E081BCA5 +:041AE0000FD5C40753 +:041AE10039E829C9EE +:041AE2008D91800062 +:041AE300EBA33EC172 +:041AE400000A28F2DA +:041AE50088EBA8BB27 +:041AE60028FB049144 +:041AE700197BEF4335 +:041AE800206BFEC3AE +:041AE900482305A0E9 +:041AEA0082AC16971D +:041AEB00C405B1205D +:041AEC001152A6816C +:041AED00117B000267 +:041AEE00009AA88131 +:041AEF004501FF9816 +:041AF0000000F4C03E +:041AF10082C09E977A +:041AF20081641E9756 +:041AF30082AC269704 +:041AF400484204E080 +:041AF500E416B0E063 +:041AF600C40298A0EE +:041AF700C402B0A0D5 +:041AF800111211B303 +:041AF90021B3000213 +:041AFA0081B016970A +:041AFB0001DE00AA5E +:041AFC00E86204E0B8 +:041AFD0004E011F3FD +:041AFE0004A0E84216 +:041AFF000020482358 +:041B000012B3C41741 +:041B0100E40214E006 +:041B0200029B1233FD +:041B03001034113356 +:041B04001084030046 +:041B0500127300CC8B +:041B0600482204A0CD +:041B070000B300F334 +:041B0800168412F33A +:041B0900268181248C +:041B0A00C4140020DF +:041B0B0011931333EC +:041B0C00000CB09A7F +:041B0D00151A121380 +:041B0E00111301A00E +:041B0F00019A00AA8D +:041B1000AE97121367 +:041B1100151A8164BC +:041B120012930346E1 +:041B1300C41314E003 +:041B1400033CA4DA10 +:041B1500029A046AC2 +:041B1600483704A0A8 +:041B1700812C2E846B +:041B1800812426847A +:041B1900C402B960E9 +:041B1A000000B08E89 +:041B1B00C402B92027 +:041B1C009D8C0E8D01 +:041B1D009CDCFFFF4E +:041B1E00F5CB800083 +:041B1F008000109C96 +:041B200080001084AD +:041B210080009CC4E0 +:041B2200C41314E0F4 +:041B2300839C1697F2 +:041B2400E83304E0BE +:041B250082AC4697B1 +:041B260082E44E9770 +:041B2700026004ABA9 +:041B2800368448298E +:041B2900103B811CD0 +:041B2A00C40A0020C9 +:041B2B004A9AE1BB36 +:041B2C001E9701F20D +:041B2D0000A282C0D0 +:041B2E001D6002082C +:041B2F0014FBE406B9 +:041B300001FA309AEC +:041B3100E84600E0A2 +:041B3200E406356030 +:041B3300A681A0BB2C +:041B3400FFF83092F4 +:041B35000180151600 +:041B3600A00404A360 +:041B37009D2001806C +:041B3800B4E0E4131E +:041B3900B920C416F5 +:041B3A003CE0C404C3 +:041B3B001697C41322 +:041B3C00B960827C8E +:041B3D00992FC40513 +:041B3E00B16F000083 +:041B3F009CCC00003A +:041B4000B58CFFFF62 +:041B4100B59CFFFF51 +:041B42009CDC8000A7 +:041B4300B5848000E5 +:041B44009CC48000BD +:041B450018AE800056 +:041B460026970001DD +:041B4700A5A084547D +:041B48009D20E416E2 +:041B490000E2E413BF +:041B4A0010AE01C018 +:041B4B0000A20007ED +:041B4C00189B01BC25 +:041B4D00C40214A01A +:041B4E0034FB1499B7 +:041B4F0045012DBB64 +:041B50000001D98037 +:041B51000252B0127A +:041B5200024E981295 +:041B5300C41CBF20CF +:041B54008164A6B74B +:041B55000000A72FB6 +:041B56000020AD3B83 +:041B5700257BC41412 +:041B58000000F4C0D5 +:041B590003E8200479 +:041B5A0000004380C4 +:041B5B00023005222D +:041B5C000001303420 +:041B5D006E38318429 +:041B5E00B033987395 +:041B5F002CBB3D7BE3 +:041B600044642004B5 +:041B61000000470039 +:041B62000002D900A4 +:041B630083681697E6 +:041B640016970CA321 +:041B65001EAB836CC4 +:041B66000025842EA4 +:041B67001697182392 +:041B680010AE827CBD +:041B690000A20001D5 +:041B6A004B1B0236D9 +:041B6B00303B07DB29 +:041B6C00C5802B5BAA +:041B6D00A460000070 +:041B6E000E6B581191 +:041B6F00A180051B31 +:041B7000035B00050E +:041B710082C024BB4F +:041B7200153B00021D +:041B730016977F61E1 +:041B7400051B82D4F7 +:041B75004C021120ED +:041B76002DBBC3437D +:041B7700E700243B24 +:041B780016970000BC +:041B790010A883200D +:041B7A00157B800057 +:041B7B0018BA195328 +:041B7C00031B003A0D +:041B7D0000033880A9 +:041B7E00203B157B78 +:041B7F001953283B93 +:041B8000003E18BA51 +:041B81000058E162C5 +:041B82006A402F3B4B +:041B8300269700158C +:041B8400512381B0B8 +:041B85001913791B9C +:041B8600600520A036 +:041B870020924AEB73 +:041B880011D30078FD +:041B890015A0293347 +:041B8A00C043C4167A +:041B8B0026971A99E6 +:041B8C001A5381BCAB +:041B8D0009154B01EA +:041B8E0021282709DA +:041B8F00049180003D +:041B90001E99F54362 +:041B910081BC369746 +:041B92006F811A53F2 +:041B930027890D95FC +:041B9400800031A8F4 +:041B95000004301206 +:041B96004D010B51A1 +:041B9700F3C30491FF +:041B9800F543103BC6 +:041B9900F5C33D1B38 +:041B9A00FFB6209AD8 +:041B9B00000A05E255 +:041B9C002933171BB7 +:041B9D0000067F803F +:041B9E00BDA02913AA +:041B9F001512E40235 +:041BA0001A6BFFA01D +:041BA10026841B1368 +:041BA200B8EF812CEB +:041BA3001AD3000051 +:041BA400B12F470115 +:041BA500A0BB0000E1 +:041BA600BDBBF103CF +:041BA700B8F3F0831C +:041BA800FE43B0B395 +:041BA9000000198F90 +:041BAA0018920CEB96 +:041BAB0010FB000229 +:041BAC00000240D221 +:041BAD00528440FB23 +:041BAE001D91000184 +:041BAF002681BE03CA +:041BB00040A0BFC3CF +:041BB10000A0C402CA +:041BB20000E0E82245 +:041BB300A4FBE82681 +:041BB400C40811A0B0 +:041BB500000CA21A64 +:041BB6001512AC81D7 +:041BB7001D20FDF6FA +:041BB800FEC3C41490 +:041BB900E4141D20F3 +:041BBA00149BFD4338 +:041BBB000C9BC8C3F4 +:041BBC001093C84377 +:041BBD0018A018D381 +:041BBE000560C415E5 +:041BBF00A8A0E835BD +:041BC000142EE413E8 +:041BC1001D60000A99 +:041BC2007CA3E41705 +:041BC3000009142ED3 +:041BC40014267AA3C6 +:041BC5001491000B6C +:041BC6001834049932 +:041BC70018C400023C +:041BC80034C1899407 +:041BC900000020CF29 +:041BCA0021522893E9 +:041BCB000AED00021D +:041BCC0000021834C7 +:041BCD00895818C457 +:041BCE0010CF34C13F +:041BCF0020D300001F +:041BD000000220925D +:041BD100002008EDFB +:041BD2002D7BC4148F +:041BD300E700243BC8 +:041BD400142E0000CB +:041BD50060A3000AFF +:041BD6000009142EC0 +:041BD700142E64A3C1 +:041BD80068A3000BF3 +:041BD90000012834AB +:041BDA006E5C2944D0 +:041BDB000066052279 +:041BDC000001383498 +:041BDD006E3839C461 +:041BDE00C413BCE090 +:041BDF00A83398731C +:041BE000200434BBEE +:041BE100BF83446C0E +:041BE200F183103B40 +:041BE300F103029B6D +:041BE4000020186B5A +:041BE5000020C41305 +:041BE600A004C4167D +:041BE700B7C300017F +:041BE8000001303494 +:041BE9006E283184AD +:041BEA000020B9C35B +:041BEB000020C417FB +:041BEC00A004C4137A +:041BED00F2430001BE +:041BEE000001283496 +:041BEF006E502944C7 +:041BF0002834F5435D +:041BF1002944000182 +:041BF200F4036E4446 +:041BF3000001283491 +:041BF4006E6C2944A6 +:041BF5003834F2C3CB +:041BF60039C40001ED +:041BF700F3036E285E +:041BF800B903531BBF +:041BF900827C16973D +:041BFA003133FDE1A5 +:041BFB0018AE3833B5 +:041BFC00913B000118 +:041BFD005EE3817BA7 +:041BFE00000710A626 +:041BFF00E00458A303 +:041C0000A834000AFA +:041C01001E97737C3B +:041C02001034819089 +:041C03001084010048 +:041C040010E8001FC5 +:041C0500169790009E +:041C060000A082C0F8 +:041C0700A681E823A7 +:041C0800169710F328 +:041C090010A6827C23 +:041C0A000CA3000720 +:041C0B0008AB15D33A +:041C0C000007203479 +:041C0D000003DC40B4 +:041C0E001834141959 +:041C0F0018C40002F3 +:041C1000B0138E443B +:041C1100C4140020D7 +:041C12000020FE5B55 +:041C1300B804C4133A +:041C140004C1000106 +:041C1500E0041EC306 +:041C1600A834000EE0 +:041C1700F4C373009F +:041C180024BB2DBB01 +:041C19000000E700E0 +:041C1A00C91B15537A +:041C1B000000B0B75E +:041C1C000000438001 +:041C1D00183404155E +:041C1E0018C40300E3 +:041C1F00268900CC46 +:041C2000800010A888 +:041C210081941697FD +:041C22009000A8A8DE +:041C23007C7F30345E +:041C24000D91103BD3 +:041C250081B01E97D5 +:041C2600009000E248 +:041C2700189A06DB26 +:041C2800183B000461 +:041C2900273B0D0345 +:041C2A00117331B34E +:041C2B000002D8409B +:041C2C0000962004FA +:041C2D0000004380F0 +:041C2E00827C1E97FF +:041C2F003193115389 +:041C3000000718E6AB +:041C31001DD362E37A +:041C32001E975EEBB0 +:041C330011B38194D4 +:041C3400900030E804 +:041C350031730B1BE1 +:041C36000002D84090 +:041C370081941E97DF +:041C38009000A8E888 +:041C39002034061538 +:041C3A00210403007E +:041C3B0028C900CCE8 +:041C3C00800018E824 +:041C3D00119331537B +:041C3E003834081519 +:041C3F0039C40300A1 +:041C40002F0900CC9C +:041C410080002128D6 +:041C4200049138C110 +:041C4300111386EB08 +:041C440000E01EABF3 +:041C45001593800370 +:041C460005EA1CA3EC +:041C47000020004C2D +:041C480020E3C414BD +:041C490003838DBBC9 +:041C4A00F983183BC7 +:041C4B00EDC302DB08 +:041C4C00A00300E011 +:041C4D001593FC03EC +:041C4E00000110A6DB +:041C4F0005E206A301 +:041C5000E0E3004A83 +:041C5100B8FB149335 +:041C5200C41615A0FF +:041C5300B09A1453DC +:041C5400052A000459 +:041C55009812FF0AD8 +:041C560014D300465D +:041C570006B5185363 +:041C580018931513B5 +:041C5900103B06B581 +:041C5A002CE37DE119 +:041C5B00FFFF14660D +:041C5C00171B0AA3A5 +:041C5D007F801973F8 +:041C5E001953000610 +:041C5F00E4028DA06E +:041C6000FFC014D2DB +:041C6100B07388B321 +:041C6200F70398BB31 +:041C630010130AEB65 +:041C6400FFD815A2EE +:041C6500FC838DBBB4 +:041C660014E010D3A3 +:041C6700F4834014AE +:041C680020042CBB6D +:041C6900470046DD0D +:041C6A00029B0000D9 +:041C6B00003BF74300 +:041C6C008129FFE1EA +:041C6D00020010342D +:041C6E000001283415 +:041C6F0008061084CF +:041C7000219B893BF0 +:041C71006D14294481 +:041C720013B31F3D4C +:041C7300001658807F +:041C740081B016978E +:041C750082C09697FC +:041C76008164A69748 +:041C7700E4149520BC +:041C780001C600AAF7 +:041C7900E88204A059 +:041C7A00483204A048 +:041C7B00183411F315 +:041C7C00A4A000021E +:041C7D001233C40258 +:041C7E000300283403 +:041C7F00000210341B +:041C8000002AE4440E +:041C810093941084A4 +:041C820093A418C44B +:041C830018142944C4 +:041C84000895119B13 +:041C850031282B09CE +:041C86002491900015 +:041C8700FFF218A2AE +:041C8800247B035B5B +:041C8900000282C013 +:041C8A0088C0203BB3 +:041C8B00203B0012E8 +:041C8C0000128A4078 +:041C8D0048420720A2 +:041C8E000002A83474 +:041C8F008E44AD448E +:041C90000300B03469 +:041C9100C412002059 +:041C9200C415156000 +:041C930000CCB58448 +:041C940012F3FE9BAE +:041C95001CBD13332C +:041C9600C40290A054 +:041C970004A0008520 +:041C98001EFD4842A3 +:041C990000022034F1 +:041C9A000A9524C1C2 +:041C9B0000B8210468 +:041C9C0060C0020121 +:041C9D00243B0012D2 +:041C9E00AD00283B32 +:041C9F0003DB000063 +:041CA000243B159B31 +:041CA100C5803B5B64 +:041CA2002D3B0000D6 +:041CA300A373243BC8 +:041CA4000000E70055 +:041CA5004380C91B94 +:041CA60015570000CE +:041CA700B0A00000E9 +:041CA80010A8580226 +:041CA900169780000A +:041CAA0020348194CD +:041CAB0020A8737C7E +:041CAC0026979000E7 +:041CAD0010348190DE +:041CAE00108401009D +:041CAF001128001FD9 +:041CB000151B900070 +:041CB1000002D84015 +:041CB2000096200474 +:041CB300000043806A +:041CB40000001557C0 +:041CB5005802B0A081 +:041CB600800030A8D2 +:041CB70011331ABD0E +:041CB80010F318BD50 +:041CB90010B316BD91 +:041CBA0001A011D3A1 +:041CBB0001B38006EB +:041CBC00121310737C +:041CBD003D3B017337 +:041CBE002F3B103375 +:041CBF00FE40243B84 +:041CC00032D3000615 +:041CC10098BB431376 +:041CC200C40241A077 +:041CC300E83700A05E +:041CC400001404A262 +:041CC50026840A590E +:041CC6004B01812429 +:041CC7000000412FA9 +:041CC800812C2684C1 +:041CC9000D2D4B0191 +:041CCA00008204E2AE +:041CCB00243B2DFB8E +:041CCC00327342B37A +:041CCD000000E7002C +:041CCE0042933253B8 +:041CCF0000013834A4 +:041CD0006E3839C46D +:041CD100E40441A046 +:041CD200303320F398 +:041CD3004073B8B3EF +:041CD4002C7B343BF6 +:041CD500475F200441 +:041CD60000004700C3 +:041CD700000404A25F +:041CD8008164BEB7AE +:041CD900303B07DBBA +:041CDA00243B3B5B11 +:041CDB000000C580C0 +:041CDC00000C04E212 +:041CDD0000019484EA +:041CDE00000414A644 +:041CDF00FED000A291 +:041CE00000022034AA +:041CE1002104283B77 +:041CE20060C000B826 +:041CE300031B0012CD +:041CE400001288C0A2 +:041CE5008368269753 +:041CE60000128A401E +:041CE700247B035BFC +:041CE800000282C0B4 +:041CE900012914FBBE +:041CEA00029B7FE1F9 +:041CEB003834C7437F +:041CEC009804000157 +:041CED0039C40001F5 +:041CEE00F1036E2868 +:041CEF008368169759 +:041CF000E6C4FFE166 +:041CF1001737005C45 +:041CF2001697FEEC57 +:041CF3008EA983C073 +:041CF4001084203BFD +:041CF5001737002A73 +:041CF600029BFEE867 +:041CF700836816B731 +:041CF800001288C08E +:041CF9008680471B7F +:041CFA00031B0012B6 +:041CFB0000128A4009 +:041CFC0083C02697E4 +:041CFD0082C0283B3E +:041CFE001697000233 +:041CFF0000A281B00E +:041D0000049B0096AA +:041D010082D41E97D3 +:041D020082C02697DE +:041D03008164B697AA +:041D04008834468950 +:041D0500A70400022D +:041D06001737FF206C +:041D07000120FEE4D5 +:041D08008C44E822FD +:041D0900B5018E444E +:041D0A001737250161 +:041D0B001519FEDCCC +:041D0C00C404B1203A +:041D0D00FEE01F379E +:041D0E00C402B0A0BB +:041D0F00FF00173783 +:041D10000000F4C01B +:041D11000300303467 +:041D12002D3B247BC6 +:041D13003E84103BBF +:041D1400318480484E +:041D15001E9700C055 +:041D160037C1827CD3 +:041D170018BA06C52B +:041D18001717003A5F +:041D19009834FF00FB +:041D1A0090340002FF +:041D1B009CC4000262 +:041D1C0094848958CA +:041D1D001737899457 +:041D1E000737FF0480 +:041D1F000737FEF88C +:041D20000737FEF48F +:041D21001686FF081B +:041D22001F17810CFA +:041D230010DAFF08CB +:041D24000020002C6F +:041D250050C3C415CE +:041D2600ED03109B1E +:041D2700000218346A +:041D280018C6368122 +:041D290012EB98F42D +:041D2A002CC90715A4 +:041D2B00800018E834 +:041D2C0004910775A2 +:041D2D0029112B51FC +:041D2E00183BF383E8 +:041D2F001F17FE4339 +:041D30001697FF08FB +:041D31002681811076 +:041D320018340485D8 +:041D3300C08B00025F +:041D340018C6360196 +:041D350000EA98F434 +:041D3600DF37021E73 +:041D37001C2EFEF070 +:041D380078E3002527 +:041D3900FFE1108432 +:041D3A0010BEC48B88 +:041D3B0070AB000386 +:041D3C00C4170020A8 +:041D3D00029B70ABEA +:041D3E00FEFC173759 +:041D3F0016971D9B3B +:041D40000737827C63 +:041D41000737FF1051 +:041D420010AEFF18C8 +:041D43000020000775 +:041D440000A2C41520 +:041D45003F5B0154AB +:041D4600243B03DB5C +:041D47000000C58053 +:041D4800FF001F1762 +:041D490005603DBB39 +:041D4A00031B4842ED +:041D4B00270421B395 +:041D4C002133FF0C34 +:041D4D00FF18270450 +:041D4E0020F3450138 +:041D4F00FF10270456 +:041D5000A97325014D +:041D5100171710B39D +:041D52001833FEE460 +:041D53001073303B9E +:041D5400FEE82F175F +:041D5500FE40243BED +:041D56000B43000635 +:041D5700F203029BF6 +:041D5800000FB804BC +:041D59001C9BF1C31B +:041D5A00FEFC17373D +:041D5B00F1C3039B32 +:041D5C0035FB03DB75 +:041D5D00243B283BC0 +:041D5E00FF14073730 +:041D5F00FF1C073727 +:041D60000000C5803A +:041D6100827C1697D3 +:041D62000001A804D0 +:041D6300000710AEB7 +:041D640000DA00A2FF +:041D650037173F5B92 +:041D660003DBFEFCA1 +:041D6700C580243BD4 +:041D68003F17000021 +:041D6900B1DAFF18D4 +:041D6A001F17000C33 +:041D6B001717FF1037 +:041D6C001892FF00CA +:041D6D00056AFF7094 +:041D6E001F17FFB686 +:041D6F001717FF1C27 +:041D70001892FF18AE +:041D710010FB000261 +:041D7200FF1427171C +:041D7300FF101F1727 +:041D7400000219123E +:041D7500BE97193BC1 +:041D7600B8E082C08F +:041D7700B8A0E40824 +:041D7800A4C1E41707 +:041D7900FEE01F1752 +:041D7A00FEFC17371D +:041D7B000082189A30 +:041D7C00FEDC17175B +:041D7D00FEFC1F1732 +:041D7E000076189A39 +:041D7F00C415BA20AD +:041D8000E8350560DD +:041D8100FF0417172D +:041D8200FF0CAF376C +:041D830000041552F1 +:041D8400FF04AF3772 +:041D8500243B2D7B53 +:041D8600FED8473705 +:041D87000000E70071 +:041D880047171419CC +:041D89002697FED8C3 +:041D8A00D691845416 +:041D8B00C403E0E0CD +:041D8C00AA20450143 +:041D8D00A8F7E405CA +:041D8E00BD60FF40F5 +:041D8F00D980E4060D +:041D9000C91B00016A +:041D9100000043808B +:041D92000000148FAA +:041D9300FED8471718 +:041D94000004121223 +:041D9500000044AF57 +:041D9600000014CF66 +:041D97000004B892FA +:041D98000000BCEF9C +:041D9900C41500204D +:041D9A003B5B0203AA +:041D9B003B5BD54396 +:041D9C000737E4839E +:041D9D00A804FF0C8B +:041D9E00156E0001BD +:041D9F002E9700017A +:041DA00000A283C05A +:041DA100383400864C +:041DA20039C400013F +:041DA30017376E3848 +:041DA4001717FED837 +:041DA500343BFEFCD1 +:041DA6004BC2200408 +:041DA7001F1710F3FF +:041DA800B873FF0C01 +:041DA90018B34033F8 +:041DAA0000004700EE +:041DAB00FED8171730 +:041DAC0007DB68A346 +:041DAD00283B303B64 +:041DAE00C580243B8D +:041DAF001697000083 +:041DB00010AE827C73 +:041DB1004EA3000736 +:041DB20007DB3F5BB1 +:041DB300243B303B62 +:041DB4000000C580E6 +:041DB500343B031B9D +:041DB6005E80283BE8 +:041DB70027170015D5 +:041DB8001120FEF800 +:041DB900173758027E +:041DBA001717FEF801 +:041DBB002689FEF483 +:041DBC00FEF41737E3 +:041DBD00FEF0DF173E +:041DBE00FF081717EC +:041DBF0000029CC4BE +:041DC0000002948405 +:041DC100173704913B +:041DC200AF43FF0824 +:041DC30000013834AF +:041DC4006E2839C488 +:041DC5003B5BEF0392 +:041DC600DF17F6032A +:041DC7009D3BFEF052 +:041DC8009684803B42 +:041DC90016978048A1 +:041DCA0014A0827C63 +:041DCB000485C402C5 +:041DCC000092143A33 +:041DCD009834C91B62 +:041DCE00438003004B +:041DCF00803B000055 +:041DD000C416002015 +:041DD10000C09CC4EE +:041DD200827C169762 +:041DD300C40214A092 +:041DD400143A048534 +:041DD5001E9700A8AD +:041DD600169782C01A +:041DD700A6818164FC +:041DD800E84300E0FC +:041DD9001F17A681A9 +:041DDA0010D2FF0420 +:041DDB002004000CD4 +:041DDC0047004BF37E +:041DDD00A804000056 +:041DDE0005AA00044E +:041DDF002004000CD0 +:041DE00047004BF875 +:041DE100A804000052 +:041DE2001697000848 +:041DE3001E9783A81C +:041DE400268983A425 +:041DE50016970AA3A0 +:041DE600589581DCAF +:041DE7000003DC40D9 +:041DE800FEEC1717DF +:041DE90006B704A392 +:041DEA00269783684D +:041DEB008A4083683F +:041DEC00431B001283 +:041DED0000128680DA +:041DEE0088C0031B8B +:041DEF00157B00124E +:041DF000FFE0DF042D +:041DF10010347C210D +:041DF20024010002C6 +:041DF30098F41086CA +:041DF400271724ABDE +:041DF5002F17FEF8AE +:041DF600343BFEF488 +:041DF70000155BC0B8 +:041DF80012A3048BA3 +:041DF90081642E973C +:041DFA00E700243B9F +:041DFB001697000037 +:041DFC0014F78164F3 +:041DFD0000110000D1 +:041DFE0000049CC47D +:041DFF001034E503B4 +:041E000024010002B7 +:041E010098F41086BB +:041E02000C5522ABAE +:041E0300580699A044 +:041E0400800011A8A1 +:041E050000003D1785 +:041E0600001011EACD +:041E07002C3B10332D +:041E08004BE7200480 +:041E0900000047008E +:041E0A000001B0041F +:041E0B00225100114F +:041E0C000004A50425 +:041E0D00003BE24371 +:041E0E00DEC4FFE14E +:041E0F002834FD9CDA +:041E10004F9B0001E3 +:041E11006D242944CF +:041E1200007126C471 +:041E130000165880DD +:041E140082C01697DB +:041E150081641E972F +:041E16001933B4C107 +:041E170081B01E97E1 +:041E1800028600EA54 +:041E1900E88300A0BA +:041E1A001B330499D9 +:041E1B0026811913F0 +:041E1C00C09B1373E1 +:041E1D00BA9B16B3A3 +:041E1E00169716F30A +:041E1F0010AC817012 +:041E20001273001029 +:041E2100026600AAAB +:041E220016EF029B1A +:041E2300029B0044DA +:041E2400002E16EF87 +:041E2500002C16EF88 +:041E2600033F103432 +:041E270030CC108427 +:041E28000001980419 +:041E2900023303B3CA +:041E2A00002002B3DF +:041E2B0014F3C412D6 +:041E2C0000469EEFDF +:041E2D0011D301F3D9 +:041E2E0013F3049115 +:041E2F0026A3125381 +:041E30002180811B71 +:041E310016970003FD +:041E32001BD381DC61 +:041E330028D9049511 +:041E3400FFC0109F3C +:041E3500580298A017 +:041E3600580420A08C +:041E37000003DC4088 +:041E38002180811B69 +:041E3900A697000365 +:041E3A0016C482C088 +:041E3B0010F300712F +:041E3C00017311B36A +:041E3D0000B3803B33 +:041E3E00000210345A +:041E3F008E44108439 +:041E4000008418976B +:041E410018F4080B7E +:041E4200032B03006B +:041E430020E8FB1B7D +:041E44001097900063 +:041E4500160B0088F0 +:041E4600030010B4D1 +:041E4700FADB02EBD5 +:041E4800900018A846 +:041E49004580C91BEC +:041E4A004C7D0000CB +:041E4B001913147BD8 +:041E4C0018AF249116 +:041E4D001B53FFFC28 +:041E4E00FFFE18AFCC +:041E4F0018A266FD72 +:041E5000141FFFEC70 +:041E5100B6C4FFFD17 +:041E520014330068DD +:041E53000000BD9737 +:041E5400831C16973E +:041E55009000B8A899 +:041E56004580C91BDF +:041E5700AEC4000015 +:041E58001EC402049E +:041E5900157B021ED5 +:041E5A0000AF031BB7 +:041E5B0000AF001ABA +:041E5C0000AF00349F +:041E5D0020AF0000B2 +:041E5E001491008259 +:041E5F00FFEA10E2A4 +:041E6000BDE6E113E7 +:041E61001353005DBA +:041E62000166E092A3 +:041E630082C036976C +:041E6400257B147B4B +:041E6500290E51BB36 +:041E6600190E004E03 +:041E6700D7410068F7 +:041E680048CC391316 +:041E69004A5CFFFFD1 +:041E6A004A44800066 +:041E6B003A60800059 +:041E6C001960E40B0A +:041E6D00599AC408B2 +:041E6E000A8D024097 +:041E6F00FFFF594CCC +:041E700080005ADCB8 +:041E710080005AC4CF +:041E720000024AD24E +:041E7300168D28FBA5 +:041E74004A0C0AAD5D +:041E7500FACBFFFFA6 +:041E76008000295C63 +:041E770080004A5C41 +:041E78008000294479 +:041E790080004A4457 +:041E7A0000022A52E6 +:041E7B0016AD1A3B4B +:041E7C0066FD24914A +:041E7D0010E2191145 +:041E7E00B584FF9C8C +:041E7F0038BD000466 +:041E8000FF48B0A2C5 +:041E8100B0FB11534E +:041E8200011ABEC4BF +:041E83001C26268172 +:041E84001C3300010A +:041E850000011C2E0E +:041E8600C41C002058 +:041E870019931CB3DC +:041E8800C403E0E0CF +:041E8900192E08C541 +:041E8A0000E200FF73 +:041E8B00183401D234 +:041E8C003701000218 +:041E8D0098F418C6E7 +:041E8E00800300E0ED +:041E8F0000002D4FD3 +:041E9000FFFF316EB1 +:041E9100021401A294 +:041E920003CE00EA91 +:041E930003CA281244 +:041E940000021C4FDD +:041E95000000344FC6 +:041E9600A152DCC1B8 +:041E97003C93000672 +:041E9800A17B03E344 +:041E99003CC138937D +:041E9A007BC1FCD933 +:041E9B003C1338B309 +:041E9C0001A06781B9 +:041E9D001E97E8267E +:041E9E0001E282C01B +:041E9F00572E018633 +:041EA00002A2000C8E +:041EA100554F017E1A +:041EA200354F006850 +:041EA3000B59004E89 +:041EA400C40651A07F +:041EA500E82601A08A +:041EA600E84A00E026 +:041EA700001A2DEF01 +:041EA800E40651A05B +:041EA900001A35AF37 +:041EAA000000288F7D +:041EAB00004E554F41 +:041EAC000068354F46 +:041EAD001D7319196F +:041EAE002AA0ED4138 +:041EAF005697E40559 +:041EB000153384540E +:041EB100C40422A0A3 +:041EB2000001D980D2 +:041EB30000CC26CF6A +:041EB4001D53151392 +:041EB50001380422CA +:041EB60000040722FB +:041EB7008164269785 +:041EB800E82500E039 +:041EB900E40A2920EE +:041EBA0002DB28839C +:041EBB000A9BAF438C +:041EBC00273BB3030A +:041EBD000000F4C06D +:041EBE0010A814D381 +:041EBF00C91B8000BB +:041EC0000000458059 +:041EC1005A8C573BA5 +:041EC2005ADCFFFFE8 +:041EC3001D7B800003 +:041EC4005AC4303B91 +:041EC5001413800072 +:041EC60011A606ABB0 +:041EC7005EA3000C0A +:041EC80011934DFB2A +:041EC90008852C81DB +:041ECA0000FF112ED6 +:041ECB00103456A3D6 +:041ECC0025010002EA +:041ECD0098F41086EF +:041ECE0019994AAB69 +:041ECF0081CC169715 +:041ED00008952881C8 +:041ED10003001034C6 +:041ED20000CC1084AC +:041ED3005802112080 +:041ED400800040A8A2 +:041ED50003001034C2 +:041ED60000E4108490 +:041ED70011282509A0 +:041ED8001262800012 +:041ED90002200034AF +:041EDA0010CF80089D +:041EDB0030AB0082A6 +:041EDC0000040222DA +:041EDD000034E0EFFE +:041EDE00008240EF4F +:041EDF00480401436F +:041EE000F3C3000147 +:041EE10004EDFE9B73 +:041EE20011A60D91A7 +:041EE30016D1000D07 +:041EE400131384A3AD +:041EE500C41C1720E2 +:041EE6004004BD8374 +:041EE700F9430001BA +:041EE800FFD40222FF +:041EE900003460CE93 +:041EEA00001AE0EF0B +:041EEB00FFFF4B0C9E +:041EEC0080004A5CCC +:041EED0080004A44E3 +:041EEE00002202626A +:041EEF005E73171BEC +:041EF0004DF3563325 +:041EF10035731DB375 +:041EF20064B345335D +:041EF30000067F80E6 +:041EF40056135E53D0 +:041EF5001D934DD319 +:041EF6004513355308 +:041EF70010CF649311 +:041EF8004AE00000BC +:041EF9004892E4091E +:041EFA006720FF8ED0 +:041EFB0004EDE4020C +:041EFC00006860EF2B +:041EFD00004E50EF54 +:041EFE0050E0EFC3FE +:041EFF00B403E40341 +:041F0000C703183BC0 +:041F010031530CAD9F +:041F0200C40635E0FC +:041F0300D3030BAD4C +:041F040001622C1337 +:041F05002F04FECADD +:041F06002976FFF643 +:041F07000162000271 +:041F080000E0FEBE39 +:041F09004B01E8257B +:041F0A006781D6C352 +:041F0B000C8D0CAD80 +:041F0C00FFFF598CEE +:041F0D0080005ADC1A +:041F0E0080005AC431 +:041F0F00FFEA52DAB9 +:041F10000C8D59419A +:041F1100211CF98B0B +:041F12002104800026 +:041F1300215A8000CF +:041F1400211601C2CF +:041F1500052301801F +:041F16001A3308DB97 +:041F17000001E704DA +:041F1800000D1F2673 +:041F19000002AD44D1 +:041F1A00B5841491E5 +:041F1B00BDC400023F +:041F1C00225100024C +:041F1D00FDA600E23B +:041F1E00831C169773 +:041F1F0018A802DB21 +:041F2000C91B900049 +:041F210000004580F7 +:041F22000011115346 +:041F2300001A10840C +:041F24001193117391 +:041F2500000D108417 +:041F2600142611B3B9 +:041F270000A2000311 +:041F28001034FC561F +:041F2900108400021E +:041F2A0018978E4432 +:041F2B00FB1B008418 +:041F2C00030018F4A2 +:041F2D00900020E818 +:041F2E000088109780 +:041F2F00030010B4E7 +:041F3000900020A855 +:041F3100000CA49A62 +:041F320000389522BC +:041F3300189312935A +:041F340000301892CF +:041F3500677D9D9B8C +:041F36005880B53DDD +:041F37009D9B001658 +:041F3800011A2EC498 +:041F390001B626C403 +:041F3A0000165880B5 +:041F3B00953B1213AD +:041F3C0013D313B3F5 +:041F3D00002E16EF6D +:041F3E00004616CE75 +:041F3F00002C16EF6D +:041F400012B3109335 +:041F41001ECE11D3CC +:041F420004910044C2 +:041F4300049111F301 +:041F440010F2F48B18 +:041F45009CC4FBA09D +:041F460014CC0001B6 +:041F470010F2FFFF96 +:041F48001253FB8EA7 +:041F4900901A34A313 +:041F4A002834010630 +:041F4B002944000124 +:041F4C0086CE6E28A7 +:041F4D008ECE002E06 +:041F4E009033002CA0 +:041F4F003C7B343B68 +:041F5000510920040F +:041F51000000470045 +:041F520081DC1E9779 +:041F530004D5201978 +:041F5400FFC0109F1B +:041F55002089228934 +:041F560026CF04F599 +:041F570000200168FD +:041F58000020C4138E +:041F5900F4C0C412FA +:041F5A008CFB0000FC +:041F5B0010D3803BE4 +:041F5C00A0862081BA +:041F5D0016C40000A6 +:041F5E00228101B625 +:041F5F000000A88E48 +:041F600000FF152E3B +:041F610010344EA347 +:041F62001520000244 +:041F63001086C4021E +:041F640040AB98F402 +:041F6500FFFF1D4C11 +:041F6600800018DC03 +:041F6700800018C41A +:041F680008D1B4BD2B +:041F6900B08F228192 +:041F6A00F519000065 +:041F6B003DBB2CBB93 +:041F6C0000A0288128 +:041F6D002004E82242 +:041F6E00343B511E91 +:041F6F00F4D910731E +:041F700000A0268126 +:041F71001033E8221F +:041F72000000470024 +:041F7300253B2DBB22 +:041F74000000E70082 +:041F75002281B4BD54 +:041F7600A8AF0011FF +:041F7700142600002C +:041F78001251000DF5 +:041F790010D388A356 +:041F7A00000194844A +:041F7B00001A9CC4E8 +:041F7C00000D1084C0 +:041F7D0014AE10F39B +:041F7E0000AA0003B2 +:041F7F002004FF6CCF +:041F8000438003E8AF +:041F8100051B00003C +:041F820000043440E3 +:041F8300DEC4139312 +:041F84007FE1026493 +:041F85000CADE78137 +:041F8600373BC5031D +:041F870020042C3BCB +:041F8800153350E6D7 +:041F8900000047000D +:041F8A001233029B71 +:041F8B00C5831513E2 +:041F8C0000012834F4 +:041F8D006E3829443D +:041F8E00003BDF0332 +:041F8F0083681697B6 +:041F9000E6C4FFE1C3 +:041F91001737005CA2 +:041F9200029BFF8827 +:041F930083A88E97FA +:041F9400836816B791 +:041F950083A4169774 +:041F9600244983A9AE +:041F970000FA0462E6 +:041F980081DC16973B +:041F990082701E979D +:041F9A000014909708 +:041F9B0082D0169743 +:041F9C0000072C8C82 +:041F9D00103444C9EF +:041F9E00108400119A +:041F9F0018B2C8DFCD +:041FA000103400D425 +:041FA1001084001593 +:041FA20018A05CBF68 +:041FA3001491E002B3 +:041FA400FFF8249F7F +:041FA500800328A0ED +:041FA600581011209E +:041FA700FFA81F3739 +:041FA800020084149B +:041FA900000428AA5E +:041FAA000003DC4014 +:041FAB00000884AAFC +:041FAC00DC40243BB6 +:041FAD00025B0003D0 +:041FAE0081B0169751 +:041FAF0000A200A2EA +:041FB0001E97049BD9 +:041FB100468982D407 +:041FB200730018346C +:041FB300FF84173759 +:041FB4008194169767 +:041FB500900018A8D8 +:041FB60000021034E1 +:041FB7008EEC109705 +:041FB80003001834D6 +:041FB90000CC18C47C +:041FBA001F3726891E +:041FBB0010A8FF94D7 +:041FBC0026978000E4 +:041FBD00983482C012 +:041FBE009034000259 +:041FBF0001200002FB +:041FC0009CC4E822B3 +:041FC1009484895823 +:041FC200B501899448 +:041FC30017372501A6 +:041FC4001697FF80ED +:041FC5001F378164DD +:041FC6001737FF9C2E +:041FC7001F17FFC41D +:041FC8001519FFC424 +:041FC9002681470125 +:041FCA00FFB4173712 +:041FCB000000F4C05E +:041FCC00FFB4171730 +:041FCD00FFB0073723 +:041FCE00FFAC073726 +:041FCF00FFC0173701 +:041FD000FFC8073708 +:041FD100810C1686E3 +:041FD200FFC81F170E +:041FD300001610DA0A +:041FD400C414002011 +:041FD500029B6DC33B +:041FD600883BE6C39B +:041FD700FFA8073721 +:041FD800109BEAC3AD +:041FD9001F17EB8360 +:041FDA001697FFC88F +:041FDB0026818110CA +:041FDC00183404852C +:041FDD00C08B0002B3 +:041FDE0018C63601EA +:041FDF0000EA98F488 +:041FE000DF370320C4 +:041FE1001C2EFF981B +:041FE20000E2000910 +:041FE300108401283D +:041FE400C48BFFDDCE +:041FE500000310BE27 +:041FE600011E00AA2E +:041FE700FF90073729 +:041FE800011E00AA2C +:041FE9001737029B09 +:041FEA001D9BFF8CB0 +:041FEB003F5B03DB7A +:041FEC000737243B54 +:041FED000737FFD0E3 +:041FEE00C580FFD8D3 +:041FEF0017170000C0 +:041FF000A717FFB47C +:041FF1000020FFC409 +:041FF2000020C415F2 +:041FF3001737C416C2 +:041FF400FE9BFFB899 +:041FF50003DBBD3B12 +:041FF600FFCC1737CE +:041FF700FFA0073709 +:041FF800FFA4073704 +:041FF900FFBC0737EB +:041FFA00FFB81717FE +:041FFB000004B89A8C +:041FFC00013205AAFF +:041FFD0048420560F1 +:041FFE00FFA0271702 +:041FFF00E0E0D691B7 +:0420000010FBC4030A +:04200100FFF820F7CD +:04200200FFA41F1701 +:04200300FFF018B71B +:0420040000B8056AB1 +:04200500FFDC1717CE +:04200600FFD81F17C9 +:04200700000210D2F1 +:04200800271718BBC3 +:042009001717FFD4D2 +:04200A001112FFD0E0 +:04200B00113B000283 +:04200C00FF9C2F17EF +:04200D00291AC68145 +:04200E002F1701EC9B +:04200F00215AFF80D3 +:0420100010E001E4F7 +:042011000560C4158D +:042012002717E8356F +:042013002552FFC093 +:04201400AF370004DE +:042015002D7BFFC060 +:042016001737243B19 +:042017001F37FFB8B8 +:04201800E700FFCC12 +:042019001F1700008D +:04201A001717FFCCC9 +:04201B003E97FFB835 +:04201C0018198454B7 +:04201D00E4061D6058 +:04201E00E405A8A08D +:04201F001F3749C15D +:042020001737FFBCB3 +:04202100D980FFCC97 +:04202200C91B0001D5 +:0420230000004380F6 +:042024000000248F05 +:04202500FFCC1717BE +:04202600FFBC1F17C5 +:0420270000042092FF +:04202800000014AFF1 +:04202900000024CFC0 +:04202A000004191283 +:04202B0000001CEFA6 +:04202C00C4140020B8 +:04202D00029B2F03E0 +:04202E001EDBDC4396 +:04202F00FF901F37C8 +:042030001C9BDBC357 +:04203100FF8C1737D2 +:04203200DC03039B2D +:04203300FF903717CC +:04203400283B03DB67 +:042035000737243B0A +:042036000737FFD495 +:04203700C580FFDC85 +:042038003717000056 +:0420390003DBFF8C3A +:04203A00243B3F5BA9 +:04203B000000C5805C +:04203C0082C01697B1 +:04203D00FFD8A7170A +:04203E00FFD01F1799 +:04203F000001A804F0 +:04204000C414A0A084 +:0420410017372681A6 +:042042001717FFB8B5 +:04204300151AFFC4A7 +:042044001717000E5C +:042045001F17FFB4AE +:0420460018A0FFB827 +:04204700D643601606 +:042048000001B004DF +:042049002DFBD58313 +:04204A003F37243BBD +:04204B00E700FF7C2F +:04204C00C91B0000AC +:04204D0000004380CC +:04204E00FF7C3F17BD +:04204F00C4080020A1 +:0420500081B01697AE +:04205100069B52A3F5 +:042052000004121A5A +:0420530006C3103B75 +:0420540047371D1BD2 +:042055003F37FF789A +:04205600D840FF7CF3 +:04205700200400025F +:04205800438000962B +:04205900103400003F +:04205A0010970002D9 +:04205B001F178EECD1 +:04205C002689FF943E +:04205D00800010A847 +:04205E00FF784717A9 +:04205F00FF7C3F17AC +:042060000001420435 +:0420610000A0BAAB76 +:042062000562A0086B +:042063002BEB000E55 +:04206400002010A3A5 +:0420650002C3C416D8 +:04206600F583029B61 +:04206700580411E028 +:042068001E97292373 +:042069001DE082C034 +:04206A001737E4023E +:04206B001717FFCC78 +:04206C003A3BFF8478 +:04206D00C41715E09F +:04206E0010A3C5C333 +:04206F00FFBC171784 +:04207000FF9C1F179B +:04207100401618A05D +:0420720056A3FC83F2 +:0420730082C03E9752 +:04207400E4073DE060 +:042075000004056AF4 +:042076000040A5EA97 +:04207700FFCC17176C +:04207800FFFF10A6B0 +:04207900171B16A378 +:04207A00FF783F3775 +:04207B00FF7C473768 +:04207C0000067F805B +:04207D00FF7C471786 +:04207E00FF783F1791 +:04207F00FFCC171764 +:04208000FFBC1F176B +:0420810010D2A5C113 +:042082001F17FFA481 +:042083003F37FFCC18 +:042084001737FFA467 +:042085001F37FFBC46 +:04208600F243FFA082 +:04208700FFCC3F3714 +:042088008BEBFB43A0 +:042089000020F2C37E +:04208A00A004C415D5 +:04208B00452E0001DD +:04208C002E9700018A +:04208D00022283C0E8 +:04208E003834007C66 +:04208F0039C400014F +:0420900047376E3828 +:042091001D60FFCC03 +:04209200A8A0E4031B +:0420930018B3E40298 +:04209400A8331073EA +:042095002004343BB4 +:0420960047004D5062 +:0420970047170000E7 +:042098000222FFCC55 +:0420990007DB005A07 +:04209A00283B303B74 +:04209B00C580243B9D +:04209C0007DB00005E +:04209D003F5B303B3A +:04209E00C580243B9A +:04209F00031B00001F +:0420A000283B343B6A +:0420A10000155E8048 +:0420A200FFB027174D +:0420A30058021120AE +:0420A400FFB017373B +:0420A500FFAC17175E +:0420A6001737268939 +:0420A700DF17FFAC94 +:0420A8001717FF986F +:0420A9009CC4FFC80C +:0420AA009484000218 +:0420AB00049100029A +:0420AC00FFC817371B +:0420AD00383491C36F +:0420AE0039C4000130 +:0420AF00F0436E2864 +:0420B000FF98DF179F +:0420B100C413002034 +:0420B2008048968448 +:0420B300827C16977E +:0420B4008164869726 +:0420B500C40214A0AD +:0420B60014DA0485AF +:0420B7001697007206 +:0420B800840182C05D +:0420B900E84200A059 +:0420BA00171784016F +:0420BB008092FFC050 +:0420BC002004000CF0 +:0420BD0047004D8902 +:0420BE00A00400007A +:0420BF00169700046C +:0420C0001E9783A83C +:0420C100268983A445 +:0420C2001E6B20A3CE +:0420C300FFA8171744 +:0420C40016970EABB2 +:0420C500589581DCCD +:0420C600FFF8211FDF +:0420C7000003DC40F6 +:0420C80081DC16970A +:0420C900DC4058950A +:0420CA0017170003E1 +:0420CB0016B7FF88BD +:0420CC00052A8368F6 +:0420CD0086970012E0 +:0420CE00051B83C0AB +:0420CF000005A180E7 +:0420D000243B035B4F +:0420D100000282C0C7 +:0420D200DF04153BD7 +:0420D3007C21FFE08D +:0420D40000021034C2 +:0420D500C40214E04D +:0420D60098F41086E4 +:0420D70027171AAB02 +:0420D8002F17FFB00F +:0420D90034FBFFAC29 +:0420DA0000155BC0D2 +:0420DB0008A3048BC7 +:0420DC0024FB2C3B7A +:0420DD000000E70018 +:0420DE0000019CC49D +:0420DF00003BE9C316 +:0420E0008484169747 +:0420E10008ABFCA1AB +:0420E200848C16973D +:0420E30076B510DBE3 +:0420E400827C16974D +:0420E500000118AE30 +:0420E60010A608E355 +:0420E70000A200074C +:0420E800169701E660 +:0420E900789583FC67 +:0420EA000005210CC0 +:0420EB000005212E9D +:0420EC000012164088 +:0420ED0081708697E1 +:0420EE00202B800B18 +:0420EF00817016974F +:0420F0000040108C10 +:0420F10000E400AA5D +:0420F2002004803B0B +:0420F300438003E83B +:0420F400203B00008D +:0420F500001216407F +:0420F6007CA1143B7A +:0420F700827C16973A +:0420F800000118AE1D +:0420F90010A606E344 +:0420FA00D0A3000768 +:0420FB00812C368E70 +:0420FC0081242E8E7F +:0420FD0082E446979C +:0420FE00812C1E848F +:0420FF00812426848E +:04210000918C103B73 +:04210100F34BFFFF9E +:042102008000949C29 +:0421030080008C5C70 +:04210400800094843F +:0421050080008C4486 +:042106000036409AC5 +:042107000062945A84 +:0421080083C03697C3 +:042109002004FB5B58 +:04210A00CAC0009BAC +:04210B002834000173 +:04210C00021B0001B1 +:04210D006E282944CB +:04210E00816436971B +:04210F0047DF200482 +:0421100088339381FC +:04211100E40734A00B +:042112000000470082 +:04211300FF6C042A2F +:042114000ECDEF03FA +:04211500FFFF49CCB3 +:0421160080004A5C9F +:0421170080004A44B6 +:0421180000029252DD +:042119000F0D31FB7A +:04211A00FFFF49CCAE +:04211B0080004A5C9A +:04211C0080004A44B1 +:04211D0000024C521E +:04211E00049129FB04 +:04211F00191116D1AB +:042120008CA0F0039C +:0421210000A0C40254 +:0421220016B7E822E2 +:04212300109681642D +:0421240006A301808D +:042125007F80031B99 +:0421260026970006F2 +:04212700F4C081641B +:042128002834000057 +:042129002944000144 +:04212A00F1836E3897 +:04212B00835C8697B4 +:04212C0016970C23D3 +:04212D0010A6827CFA +:04212E0000A2000704 +:04212F00BE86FF0C5D +:042130009834810C52 +:0421310090340002E4 +:04213200A8340002CB +:04213300B0340001C3 +:042134009CC4000146 +:042135009484899471 +:04213600803B895809 +:04213700C4140020AC +:042138006E28AD441C +:042139006E38B584C3 +:04213A00FEDEBD12F6 +:04213B008110169762 +:04213C00C402A0A099 +:04213D000000E08638 +:04213E000002103457 +:04213F00C40217209F +:0421400098F4108679 +:042141001CCF66AB9E +:04214200148F0000F6 +:0421430014C10000C3 +:04214400E83104601A +:04214500006210D252 +:0421460083C0369785 +:042147002004FB5B1A +:04214800CAC0009B6E +:04214900021B000174 +:04214A00000014CFAE +:04214B0000001C8FE5 +:04214C000050189A8D +:04214D00B64135BBA7 +:04214E001873A281DF +:04214F003C7B103392 +:0421500020042F3BFD +:0421510047004802F9 +:0421520036970000BC +:04215300899282AC3F +:042154002C7B001AC6 +:04215500480C20040E +:04215600000047003E +:0421570083C0369774 +:042158002004FB5B09 +:04215900CAC0009B5D +:04215A00021B000163 +:04215B000001A504D6 +:04215C0000029CC41D +:04215D000002948464 +:04215E002C7BEDC326 +:04215F00E700273B33 +:04216000F483000004 +:04216100F5C3357B12 +:04216200C983803B72 +:0421630083D8169770 +:0421640083DC2E9753 +:042165000002203420 +:0421660016B7849193 +:04216700049983D87C +:042168001E841D595B +:04216900488183E83E +:04216A00991E210E8B +:04216B0004D53CC19A +:04216C00A881191914 +:04216D001E8404F5D3 +:04216E003CC183F0FD +:04216F0018A206D5D7 +:0421700015630022D1 +:04217100051B8021A9 +:0421720000067F8064 +:0421730083DC16975C +:0421740016B7849185 +:04217500002183DCE6 +:0421760083DC169759 +:0421770016B7849182 +:04217800E00983DC1B +:04217900003BE0093E +:04217A008129FFE1D7 +:04217B000081113698 +:04217C00112E11F31C +:04217D0010B300108B +:04217E000081113695 +:04217F00A97B993B64 +:04218000112E4CA32D +:0421810000A20008B0 +:04218200113601E031 +:0421830020A300098C +:042184000002112E16 +:0421850001E600A2CD +:042186000004112E12 +:0421870001D400A2DD +:042188000001112E13 +:0421890001E800A2C7 +:04218A000020803B76 +:04218B000BC3C417A7 +:04218C000010112E00 +:04218D0001A600A205 +:04218E000040112ECE +:04218F008697EAAB9A +:0421900016978258C4 +:04219100BE9782E88B +:04219200040181D0F3 +:0421930011360803F6 +:0421940016A3040189 +:042195000100112E06 +:04219600112E1CA347 +:04219700C8AB0200CF +:0421980082EC8697B8 +:0421990081C8BE97A4 +:04219A00112E04837B +:04219B0010A3080085 +:04219C001000112EF0 +:04219D008697B2ABC4 +:04219E00BE9782580E +:04219F0001C381CC2B +:0421A000825C869740 +:0421A10082FC16970F +:0421A20081BCBE97A7 +:0421A3000560440986 +:0421A400181968623C +:0421A5000473257D1D +:0421A60080F016B7F8 +:0421A700824004B3BB +:0421A80014EE00062B +:0421A90006A3001079 +:0421AA00080014E62F +:0421AB0026970AA3C6 +:0421AC00237D8258B5 +:0421AD000006824066 +:0421AE008C931453A7 +:0421AF000002A03456 +:0421B00010F31133E4 +:0421B10003001034E3 +:0421B20000EC1084A9 +:0421B30014E611B36A +:0421B40012330800DA +:0421B50004C014CC82 +:0421B60014C41273C8 +:0421B70010BEFFFF58 +:0421B80012B300025C +:0421B9000004154CBD +:0421BA00154C12F3BB +:0421BB0013330001D9 +:0421BC00080014EE15 +:0421BD0014EE137396 +:0421BE00A504100064 +:0421BF00B47B903429 +:0421C000C41C00201B +:0421C100C412002024 +:0421C200872213B3AA +:0421C3002CFB014AA6 +:0421C4000FC0203BED +:0421C500FE9B000479 +:0421C60080EC16B7DC +:0421C70000CF14CC65 +:0421C800000F949CD4 +:0421C90002BC00AAAA +:0421CA000020A0044D +:0421CB006842052041 +:0421CC000010B4E665 +:0421CD00052011B325 +:0421CE0011734842FF +:0421CF00C417002011 +:0421D0000001A8045E +:0421D1004C02BD609F +:0421D200380290A09F +:0421D3002DFB4AA3F3 +:0421D400800024FB68 +:0421D50011130004DE +:0421D600343B3C7BDF +:0421D7002DFB103399 +:0421D800FCC024FB28 +:0421D900B8A00005A5 +:0421DA0014A04C02FF +:0421DB0005A25812EF +:0421DC00169700262C +:0421DD0020AB838C24 +:0421DE00411B2DFB79 +:0421DF000004800078 +:0421E0003C7B111320 +:0421E1001033343B48 +:0421E200411B2DFB75 +:0421E3000005FCC037 +:0421E4004C02B8A051 +:0421E500581214A0D8 +:0421E6000001BDC473 +:0421E700000415E6F5 +:0421E8001697A2A301 +:0421E90000A280F0E0 +:0421EA0005A2024008 +:0421EB00A11302A496 +:0421EC00004014EEAD +:0421ED000001A83411 +:0421EE000002E444C3 +:0421EF0010F3383B76 +:0421F0006ED8AD44B4 +:0421F100029281EAEB +:0421F2000001B834FC +:0421F30008001004CC +:0421F400C40B0020F8 +:0421F5006E2CBDC4CB +:0421F600004164F64A +:0421F700869764C3A0 +:0421F8001697825C58 +:0421F900440982FC17 +:0421FA008697C803F9 +:0421FB00BE978260A9 +:0421FC00D34381C088 +:0421FD0082608697DF +:0421FE0081C4BE9743 +:0421FF001697D2035A +:042200008697827CBF +:0422010020A6824051 +:04220200392300017B +:0422030003835B9B5B +:04220400827C16972B +:0422050082408697F6 +:04220600000120AE05 +:0422070020AE1F23C3 +:04220800192300078F +:04220900000510AE0E +:04220A00519B16A32B +:04220B0010341D99D5 +:04220C001084000238 +:04220D0011A08E444A +:04220E00CA43C417E4 +:04220F00FD83599B57 +:04221000FD03499BE6 +:04221100000720AEF4 +:0422120010AEC32324 +:0422130004A300051B +:04221400FB03539BDA +:04221500FA834B9B62 +:0422160005A7109375 +:0422170078A30007A1 +:0422180000A21213FB +:042219000720013663 +:04221A001697484586 +:04221B002A8181BCD7 +:04221C0015B7049559 +:04221D000020000C91 +:04221E001697C40942 +:04221F00127A825855 +:04222000FF5B006EF2 +:042221002DA712D300 +:0422220000A2000610 +:042223001313014A46 +:04222400014800A2CB +:042225000001158619 +:04222600000115A7F7 +:0422270000A21353AB +:042228001393013ECD +:04222900013800A2D6 +:04222A00FFF11004AC +:04222B00000215A7F1 +:04222C00000415A7EE +:04222D0005A71E9B48 +:04222E0005AF0000F8 +:04222F0015A70008E7 +:0422300005A70005F9 +:0422310005AF0003F2 +:04223200E704000AB3 +:04223300B58400016D +:04223400A5040010ED +:04223500C643FFFCA1 +:042236006D40273B95 +:04223700273B000041 +:042238006E80A8BB51 +:0422390000A0000001 +:04223A00A960800512 +:04223B00F043580212 +:04223C0048450260AF +:04223D0081CC1697A3 +:04223E00A8972A81B2 +:04223F002D970000D7 +:042240000560000C29 +:04224100016069A22D +:04224200117369A506 +:04224300169735496C +:04224400294C838C12 +:04224500016001FF34 +:042246002AABA0051A +:04224700156011937A +:0422480010A8580280 +:0422490010A0800061 +:04224A0058A6CDCCF9 +:04224B0002E20003A8 +:04224C00273B0050DC +:04224D004BF32C33F0 +:04224E0000006E809E +:04224F00800200A069 +:042250002C134BD32D +:04225100356B05499B +:04225200195310D339 +:04225300000048A798 +:04225400CD0815603C +:042255000002A8CC0F +:042256005815A8A0CF +:04225700A8A710D351 +:04225800029B0001E4 +:042259004C15A8A0D8 +:04225A00ACA010D351 +:04225B002491581260 +:04225C00158610F3E0 +:04225D0004910007E1 +:04225E00000715A7B9 +:04225F0000014A44EC +:0422600010A6DF03E2 +:0422610010A30002C4 +:042262002C33273BB7 +:042263006E804BF34B +:0422640000A00000D6 +:04226500F503A002DB +:04226600F503103B31 +:042267000AAB125359 +:0422680082581697EB +:042269000002E0A2ED +:04226A001293BD3BD3 +:04226B00172002DB5B +:04226C0014994C0273 +:04226D00C40215E0B2 +:04226E0028A004950B +:04226F0015B7CD08CA +:0422700000A0000CBE +:04227100148B69A2BF +:04227200580211609D +:0422730010E028BB94 +:0422740014A04C0264 +:04227500D5835812A3 +:04227600D783109B5F +:04227700D703103B3E +:04227800D903103B3B +:042279000010A004AD +:04227A000445A8432C +:04227B00000210A6A7 +:04227C00FDB600A209 +:04227D000008A4446D +:04227E00C417002061 +:04227F00C415002062 +:042280002E97203B3A +:042281002DF2825860 +:042282002D0EFDA080 +:042283004B0100000B +:0422840083102E97FE +:0422850011A28D51C4 +:042286005A000034C6 +:0422870005600000EE +:042288002034482591 +:04228900FE8B0002C6 +:04228A002E97494101 +:04228B00112F83C0CC +:04228C00357B890411 +:04228D003FDD20040D +:04228E000000470005 +:04228F000001AD4459 +:04229000203B103BA4 +:042291000001BDC4C7 +:042292000010A5048F +:042293000491F68339 +:0422940014EEFE4303 +:0422950000A208009B +:0422960014EEFD54F1 +:04229700A834004027 +:04229800B834000155 +:04229900A47B000121 +:04229A0000015004EB +:04229B00C41C00203F +:04229C00AD4410F34A +:04229D00BDC46ED876 +:04229E0000026E2CA0 +:04229F0018D3081236 +:0422A000012800E22F +:0422A10000E2032232 +:0422A200000824EE1E +:0422A30001200122F3 +:0422A400000924F613 +:0422A50000C401224E +:0422A600000224EE20 +:0422A700011A0122F5 +:0422A800000424EE1C +:0422A900011C0122F1 +:0422AA00000124E625 +:0422AB00011E0122ED +:0422AC0000012834D1 +:0422AD006E9C2944B6 +:0422AE00250E35FBC9 +:0422AF00583300029E +:0422B000207362F342 +:0422B10040172004AE +:0422B2005A7312B396 +:0422B30047003A3373 +:0422B400250E0000F3 +:0422B5003A130002D6 +:0422B600293E5A5310 +:0422B7001293080175 +:0422B800016262D38A +:0422B90029040106ED +:0422BA00309EF8005A +:0422BB0001A2080173 +:0422BC003084010267 +:0422BD002992F8006A +:0422BE00113B0002CE +:0422BF0000015AC4FC +:0422C0000004A5046D +:0422C10000052706E7 +:0422C200FF7222FA8B +:0422C3000006172FCB +:0422C400000124EE03 +:0422C500015601229B +:0422C60000E219D346 +:0422C700189300F078 +:0422C80007E800E241 +:0422C900001124F6E6 +:0422CA0000D001221D +:0422CB00000424EEF9 +:0422CC0007E4012200 +:0422CD0000012834B0 +:0422CE00000824EEF2 +:0422CF006EAC294484 +:0422D000283411237A +:0422D10024EE0001F6 +:0422D2002944000299 +:0422D300012A6EA0CE +:0422D400303400B2F0 +:0422D500318400014F +:0422D6001E836E2CC9 +:0422D700006E05A2EE +:0422D80000012834A5 +:0422D9006EB829446E +:0422DA0024F6E9C33A +:0422DB0017230401C0 +:0422DC00010024EEEB +:0422DD0024E663236D +:0422DE005323020084 +:0422DF00000128349E +:0422E0006E8C294493 +:0422E10024EEE643BE +:0422E2005723080076 +:0422E300100024E6DD +:0422E40026973D23D9 +:0422E500283480F029 +:0422E6002944000186 +:0422E70001226E78EA +:0422E8003034FF1679 +:0422E900318400013B +:0422EA00E1C36E8856 +:0422EB00E1032D7B63 +:0422EC000001283491 +:0422ED006EAC294466 +:0422EE002834DFC3EE +:0422EF00294400017D +:0422F000DE836EA07B +:0422F100000128348C +:0422F2006EA4294469 +:0422F3002834DD436B +:0422F4002944000178 +:0422F500DC036ED0C8 +:0422F6000001283487 +:0422F7006E94294474 +:0422F8002834DAC3E9 +:0422F9002944000173 +:0422FA00D9836EC056 +:0422FB0008002804AB +:0422FC00DEC3D94123 +:0422FD0008003004A1 +:0422FE00DF43E58154 +:0422FF002D7B18D348 +:04230000FF4E00E2AA +:04230100000128347B +:042302006ED029442C +:0423030024F6E88351 +:042304001723040196 +:04230500010024EEC1 +:0423060007080122A1 +:042307000001283475 +:04230800020024EEBD +:042309006E8C294469 +:04230A0024EEE48356 +:04230B0001220800A3 +:04230C0024E606FEBF +:04230D00CD231000CC +:04230E0080F026979E +:04230F00000128346D +:042310006E78294476 +:04231100FF0A01229C +:042312000001303462 +:042313006E8831841B +:042314001707107324 +:0423150020040000A0 +:042316003A334022F4 +:042317004700103338 +:042318003A13000074 +:042319000010E704C5 +:04231A0000020FD1DD +:04231B002834FB5611 +:04231C00294400014F +:04231D00DB436E9C94 +:04231E0000001506A0 +:04231F00150E1CA3D8 +:04232000152F00086D +:042321001E9B000AF5 +:042322000002152779 +:042323001527029BDD +:042324000020000095 +:042325000002C40AE4 +:0423260020A605EEFA +:04232700012200018E +:042328002E9701D417 +:04232900150E80EC21 +:04232A00250E000A72 +:04232B00316600080F +:04232C0001A2FFFF0C +:04232D00FA8B00F433 +:04232E0029A0FD0BDA +:04232F0056B7C00AD3 +:0423300029BA80EC5A +:04233100A501006A98 +:0423320010BEF48B5A +:0423330050AB002883 +:0423340000A210D320 +:0423350014F6009EFC +:0423360066A3004159 +:04233700000814EE98 +:04233800009400A26B +:04233900000914F68D +:04233A0014EE4AA3B0 +:04233B0000A20002FA +:04233C0028340090B1 +:04233D0014EE000199 +:04233E00294400042A +:04233F0010A36EA4D5 +:04234000000114E69E +:04234100009800A25E +:04234200000128343A +:042343006E9C29441F +:0423440040902004A1 +:04234500000047004D +:04234600FFFF101471 +:0423470080EC16B759 +:042348000001150675 +:04234900000A052F52 +:04234A000002152751 +:04234B00EBC3049B41 +:04234C00F283A881EF +:04234D00006805A27D +:04234E00000128342E +:04234F006EB82944F7 +:0423500014F6F9C3C3 +:0423510016A30401CA +:04235200010014EE84 +:0423530014E63EA3AB +:042354004CA3020094 +:042355000001283427 +:042356006E8C29441C +:0423570014EEF64347 +:0423580032A30800A4 +:04235900100014E676 +:04235A00283436A34A +:04235B002944000110 +:04235C00F3836E7821 +:04235D00F3032D7BDE +:04235E00000128341E +:04235F006EAC2944F3 +:042360002834F1C369 +:04236100294400010A +:04236200F0836EA0F6 +:042363000001283419 +:042364006E94294406 +:042365002834EF43E6 +:042366002944000105 +:04236700EE036EC053 +:042368000001283414 +:042369006ED02944C5 +:04236A003014ECC37C +:04236B00316AFFFFD5 +:04236C001953FF6E94 +:04236D00F48BF90BE9 +:04236E004701556B63 +:04236F00FF6020BA31 +:04237000A005016063 +:0423710080EC2EB717 +:04237200000114EE64 +:04237300008800A23C +:0423740048A311D396 +:0423750000A210931F +:0423760014F60562F2 +:0423770036A3001178 +:04237800000414EE5B +:04237900056000A259 +:04237A000001283402 +:04237B00000814EE54 +:04237C006EAC2944D6 +:04237D0028345EA3FF +:04237E0014EE000158 +:04237F0029440002EB +:0423800050A36EA058 +:0423810000012834FB +:042382006ED02944AC +:04238300268108C3E4 +:04238400FF0C113AFF +:0423850010D3F54339 +:04238600FCC32D7BEC +:04238700040114F643 +:0423880014EE16A396 +:0423890000A20100AD +:04238A002834052AC4 +:04238B0014EE00014B +:04238C0029440200DE +:04238D00F9436E8C16 +:04238E00080014EE41 +:04238F00052000A283 +:04239000100014E63F +:042391001697BEA33A +:04239200283480F07B +:0423930029440001D8 +:042394000EAB6E78A6 +:04239500024335FBCF +:0423960000012834E6 +:042397006E9C2944CB +:042398003034FE439C +:04239900318400018A +:04239A003F3B6E88CF +:04239B0040A6200434 +:04239C0000004700F6 +:04239D0010AED54366 +:04239E0000A2000495 +:04239F0010D3040A49 +:0423A00000EC00A2AB +:0423A100004114F6ED +:0423A20000A200A2F3 +:0423A300000814EE2C +:0423A40000E000A2B3 +:0423A500000914F621 +:0423A600008400A20D +:0423A700000214EE2E +:0423A80000DA00A2B5 +:0423A900000414EE2A +:0423AA0000DC00A2B1 +:0423AB00000114E633 +:0423AC0000F200A299 +:0423AD0000012834CF +:0423AE006E9C2944B4 +:0423AF00150E35FBD7 +:0423B0003F3B0008A7 +:0423B10040B520040F +:0423B2001507107388 +:0423B300523300029F +:0423B400470010339B +:0423B5001697000077 +:0423B600521380F04E +:0423B70000D000AAA8 +:0423B80083102E97C9 +:0423B9005A00273B64 +:0423BA000499000082 +:0423BB0000022034C8 +:0423BC0048815213EF +:0423BD008904290E58 +:0423BE0000085D0EA8 +:0423BF0036971993A1 +:0423C00012CC80ECCF +:0423C10028E0FFFF12 +:0423C20010E0C40E55 +:0423C30013A0C40C93 +:0423C4002B20400D7D +:0423C50001A240042D +:0423C6002B1202F2E2 +:0423C7005FC302F2FC +:0423C800008205A2E8 +:0423C90000012834B3 +:0423CA006EB829447C +:0423CB0014F6F1C350 +:0423CC0016A304014F +:0423CD00010014EE09 +:0423CE0014E658A316 +:0423CF0066A30200FF +:0423D00000012834AC +:0423D1006E8C2944A1 +:0423D20014EEEE43D4 +:0423D3004CA308000F +:0423D400100014E6FB +:0423D500169750A364 +:0423D600283480F037 +:0423D7002944000194 +:0423D80000A26E7879 +:0423D9003034FF5647 +:0423DA003184000149 +:0423DB00E9C36E885C +:0423DC00E9032D7B69 +:0423DD00000128349F +:0423DE006EAC294474 +:0423DF002834E7C3F4 +:0423E000294400018B +:0423E100E6836EA081 +:0423E200000128349A +:0423E3006EA4294477 +:0423E4002834E54371 +:0423E5002944000186 +:0423E600E4036E940A +:0423E7000001283495 +:0423E8006EC0294456 +:0423E9002834E2C3EF +:0423EA002944000181 +:0423EB00E1836ED04C +:0423EC0008002804B9 +:0423ED004501E8437B +:0423EE002881F51934 +:0423EF00E82200A040 +:0423F00000021527AB +:0423F10004A2998326 +:0423F200052200ECD4 +:0423F30014EE003EA6 +:0423F40000A200083B +:0423F50014F600E4F6 +:0423F60022A3000915 +:0423F700000214EEDE +:0423F80000E000A25F +:0423F900000414EEDA +:0423FA0000E200A25B +:0423FB00000114EEDB +:0423FC0000E400A257 +:0423FD00000128347F +:0423FE006ED0294430 +:0423FF0010930943EB +:042400002834F2ABDF +:042401002944000169 +:0424020007836EB826 +:04240300040114F6C6 +:0424040014EE18A317 +:0424050000A2010030 +:0424060014EE00C808 +:04240700D4AB020050 +:042408000001283473 +:042409006E8C294468 +:04240A0014EE03C306 +:04240B0000A2080023 +:04240C0014E600BA18 +:04240D00BCA310005C +:04240E0080F01697AD +:04240F00000128346C +:042410006E78294475 +:0424110000AE00AA6F +:04241200144E357BB4 +:04241300200400079A +:042414003DBB410D7E +:0424150014471073E5 +:04241600103300007F +:04241700000047007A +:04241800000124E6B5 +:042419008258169738 +:04241A0000032CCCC3 +:04241B000098012202 +:04241C00827C269701 +:04241D00842C16975E +:04241E000001292E62 +:04241F0000800162D6 +:042420000007292E5A +:04242100212E7B638A +:042422007923000515 +:042423002881511BA0 +:04242400482405A0A3 +:0424250084842E97E6 +:042426000A45076BF1 +:042427000AA5288159 +:042428000000344735 +:0424290000092C5723 +:04242A00B58424FB56 +:04242B00F540000177 +:04242C004251000514 +:04242D002DFB4243FE +:04242E002834F1C39A +:04242F00294400013B +:04243000F0836EAC1B +:04243100000128344A +:042432006EA029442B +:042433002834EF4317 +:042434002944000136 +:04243500EE036EA4A0 +:042436000001283445 +:042437006E9C29442A +:042438002834ECC395 +:042439002944000131 +:04243A00EB836E942E +:04243B000001283440 +:04243C006EC0294401 +:04243D003034EA430A +:04243E0031840001E4 +:04243F00E9436E8877 +:04244000F143591BF0 +:04244100F0C3491B80 +:04244200000224E68A +:04244300269727238E +:042444001697827CE9 +:04244500292E842C8C +:04244600116300011D +:042447000007292E33 +:04244800212E0B63D3 +:04244900092300055E +:04244A00EC43531BF1 +:04244B00EBC35B1B69 +:04244C00EB434B1BF8 +:04244D0058E31893A5 +:04244E00080024EE70 +:04244F0024EE532301 +:04245000472300041A +:04245100000824EE6D +:0424520024EE3B2316 +:042453002D23010034 +:04245400100024EE62 +:0424550024E627232F +:042456000B23020052 +:04245700843C269704 +:0424580025BBA501FA +:0424590024E6E5C3CD +:04245A002B230040F0 +:04245B00000615BAA8 +:04245C008438269703 +:04245D001697FD438E +:04245E00FCC38440F7 +:04245F008444169704 +:04246000E183E16BC8 +:04246100841816972E +:042462001697FB03CB +:04246300FA43843084 +:04246400843416970F +:04246500103BFD43E8 +:042466000520FCC38E +:042467001697484339 +:04246800268181CC7C +:04246900F44008959E +:04246A0090A0000539 +:04246B0010A858025B +:04246C00548B80000D +:04246D00C41515601D +:04246E000001A504C0 +:04246F0083102E9711 +:04247000E4028520DD +:04247100FFD228BAB4 +:04247200A9208959BB +:042473005A00C40443 +:0424740024D7000069 +:0424750080BB012007 +:042476000005F44029 +:04247700580290A0D7 +:04247800800018A820 +:04247900FFF018DF79 +:04247A0018A820C9B5 +:04247B00343B90005E +:04247C0020042C7B91 +:04247D0047003EEFE7 +:04247E000251000007 +:04247F0000049CC4F5 +:042480001F43853B36 +:042481000020A43B58 +:04248200F603C41584 +:042483000010139A98 +:0424840000026506E7 +:0424850000016304EB +:0424860000046527C2 +:04248700237B03A30D +:042488000B2BC90B46 +:042489000002250622 +:04248A002527891168 +:04248B0065060005DD +:04248C00250E000019 +:04248D006B2E000AA8 +:04248E0003620002E3 +:04248F00AA81001608 +:0424900000020092B4 +:04249100F90B748946 +:042492000112CB0167 +:0424930079090002C1 +:04249400001A20B258 +:042495000002150626 +:04249600000A5D2FAC +:0424970000026326B6 +:042498000003152701 +:042499000006032214 +:04249A001527069B61 +:04249B002507000011 +:04249C00150700041C +:04249D00209A00057C +:04249E0028140008F6 +:04249F0029A2FFFF70 +:0424A000089BFD3464 +:0424A10000001527FB +:0424A2000001E7044A +:0424A3000010A5047C +:0424A400F9E48722AE +:0424A500000802A287 +:0424A60080A0169765 +:0424A700F49C00AAF7 +:0424A800071B2CFBE7 +:0424A9000001B83442 +:0424AA000001A83451 +:0424AB0000040FC05A +:0424AC0000038C4459 +:0424AD00C416002031 +:0424AE00004094EE68 +:0424AF006ED8BDC462 +:0424B0006E2CAD449D +:0424B1000041A4F64C +:0424B200FCFA85A209 +:0424B30006A31093D9 +:0424B400080014E622 +:0424B50058C004A364 +:0424B60058C0000802 +:0424B7001CCC000831 +:0424B80022EB100003 +:0424B900834C1697A3 +:0424BA0098341CAB8B +:0424BB009034000257 +:0424BC009CC40300B9 +:0424BD00803B8F14BD +:0424BE009484883B3F +:0424BF001697140850 +:0424C000147A825CAC +:0424C100103BFEFED0 +:0424C2007FE101298C +:0424C30000012834B8 +:0424C4006EB8294481 +:0424C500F83A0002DF +:0424C60000012834B5 +:0424C7006EA4294492 +:0424C800F82E0002E8 +:0424C90000012834B2 +:0424CA006E9429449F +:0424CB00F8220002F1 +:0424CC0000012834AF +:0424CD006EC0294470 +:0424CE00F8160002FA +:0424CF0000012834AC +:0424D0006EB8294475 +:0424D100FB0C0002FE +:0424D20000012834A9 +:0424D3006EA4294486 +:0424D400FB00000207 +:0424D50000012834A6 +:0424D6006E94294493 +:0424D700FAF4000211 +:0424D80000012834A3 +:0424D9006EC0294464 +:0424DA00FAE800021A +:0424DB000120FC617F +:0424DC00A034485789 +:0424DD00A83403001C +:0424DE00B034030013 +:0424DF00813B03003A +:0424E000883B917B29 +:0424E1008000E15442 +:0424E2001830A50405 +:0424E3001970AD447B +:0424E4001840B58463 +:0424E50083041697BF +:0424E6000002147A62 +:0424E700243B7C61B5 +:0424E80000006E8002 +:0424E9002C7B1EA387 +:0424EA007400243B1B +:0424EB00E0A8000065 +:0424EC0016979000AF +:0424ED000CAB84842C +:0424EE008468169751 +:0424EF00C402B8A0CB +:0424F000000090AFA9 +:0424F10082FC2697AC +:0424F2004C04242052 +:0424F3006D404301F4 +:0424F4002697000027 +:0424F50098BB828C82 +:0424F600A0A0035B44 +:0424F7001033580244 +:0424F80000005FC0C1 +:0424F900000518843E +:0424FA00001910DED7 +:0424FB001F1B0AA3F6 +:0424FC007F80183392 +:0424FD0018130006AA +:0424FE00006018D48E +:0424FF005802A4E0FB +:04250000900018A887 +:042501006E80243B89 +:0425020030AB0000FA +:0425030082FC269799 +:042504004C0424203F +:042505006D404301E1 +:042506001E9700001C +:0425070016D983C49A +:04250800A8E024C95A +:04250900E0E85803AB +:04250A001697900090 +:04250B000CAB84840D +:04250C008464169736 +:04250D00C402B8A0AC +:04250E00000090AF8A +:04250F0082C81697D1 +:042510005813B4E0C8 +:0425110014A014916D +:04251200101AEC02AD +:04251300029B000225 +:04251400900014E837 +:04251500E783025105 +:0425160081A9FFE1B7 +:042517000001192680 +:042518002B7322F30C +:04251900103B33330D +:04251A001B931BB341 +:04251B0083C416B7A8 +:04251C00070A00E2C8 +:04251D0082E41E979F +:04251E000050189AB7 +:04251F0082902697E9 +:042520005FC0283B35 +:0425210080840000B2 +:04252200141E00067D +:0425230006A30019F2 +:042524007F801F1B7A +:042525001834000660 +:042526001414033F47 +:0425270018C400C014 +:0425280010E810E0C7 +:0425290018349000D2 +:04252A0018C4033F8F +:04252B0010E812E0C2 +:04252C0020349000C7 +:04252D00183B030054 +:04252E0000E02104A4 +:04252F0082602E9701 +:0425300006C028FABF +:0425310083C406B7A2 +:042532003903103B1E +:04253300148B12D320 +:0425340010AB1233A3 +:04253500833836971A +:0425360083342E9725 +:042537006B3C2004D5 +:042538000000470058 +:0425390083F8169776 +:04253A000300B034B6 +:04253B00C4150020A3 +:04253C00003098973C +:04253D0000E8B58479 +:04253E0004009CCC2D +:04253F0082902697C9 +:0425400006B7283B77 +:0425410006B78294C3 +:042542005FC082985C +:0425430026970000D7 +:04254400288182DC8C +:0425450082D426977F +:0425460020A08491BC +:042547000092EC040E +:04254800203B000232 +:04254900834416971A +:04254A00201A06ABA2 +:04254B00031B00026C +:04254C00827C969760 +:04254D00000114AEC7 +:04254E0014A606A326 +:04254F000EA30007D0 +:0425500083A41697B3 +:04255100111608ABAC +:0425520002A30002DE +:04255300BE97051B0F +:0425540036978274C0 +:0425550005E282D049 +:042556002E97013E7D +:04255700316083D498 +:042558002944EC0521 +:042559003E970003A6 +:04255A0031E08338B1 +:04255B0005EAEC1190 +:04255C0014A6012A96 +:04255D0000A20001D7 +:04255E00BDEE0128A5 +:04255F00BC6000015B +:042560004C89C402DC +:04256100209AA5C156 +:04256200E697011ED9 +:04256300135382C0CC +:0425640082B03E976C +:04256500E85407200F +:042566001313944176 +:042567000180A50446 +:04256800C408002083 +:04256900C40915206C +:04256A0081644EB783 +:04256B00289A147B1B +:04256C00895A00FA8E +:04256D00834100FEA8 +:04256E0021FB2C3BE6 +:04256F004AB343F335 +:0425700071C03A7389 +:0425710043D300153B +:042572003A534A93FB +:0425730000FF420C17 +:04257400C40248A0B5 +:04257500022A5041A5 +:0425760016B7000490 +:0425770016978164CE +:04257800217B813C06 +:04257900111A803B78 +:04257A00289A00CECD +:04257B00CA8100D041 +:04257C00C00B29FB6C +:04257D00001571C014 +:04257E0016B7042B5D +:04257F001697829891 +:04258000269783A86F +:042581003E9783A45A +:0425820028898164BF +:04258300169718ABE4 +:0425840026978368AB +:042585002889836CB2 +:04258600A7200CABD3 +:0425870011D2C402A7 +:04258800E560000406 +:042589002697C415B8 +:04258A001B13829805 +:04258B00C402A920BD +:04258C00C40525203D +:04258D002E81574103 +:04258E00000228928D +:04258F00449F117BD9 +:04259000F501FFFB57 +:04259100816416B794 +:04259200422E803B1A +:0425930024A6000179 +:0425940011E000074B +:042595000222C40951 +:042596006F230002AD +:042597002D202F3B89 +:04259800289AC405B4 +:04259900C00B005C17 +:04259A0016B7082B3D +:04259B004EB7816452 +:04259C0004EA829833 +:04259D001034005C9A +:04259E001097000290 +:04259F00B0A08E4416 +:0425A00010A8580225 +:0425A10026978000F9 +:0425A200108C8164B4 +:0425A30020921FFF64 +:0425A400029B003C5A +:0425A5007FE101A928 +:0425A600D943283BB2 +:0425A7000001B80473 +:0425A8000020DB83B1 +:0425A900DAC3C417B6 +:0425AA00DA4382513D +:0425AB004004049153 +:0425AC00DF43000108 +:0425AD00E003803B8C +:0425AE00021B0911F2 +:0425AF00203BE503E5 +:0425B000E0A0E5C3FF +:0425B100021BC40243 +:0425B200283BF103CE +:0425B30016B7F20362 +:0425B400E6978164C1 +:0425B500169782C033 +:0425B600269781647F +:0425B700072082D0A7 +:0425B8001273E84C66 +:0425B9004C0424604A +:0425BA000180930405 +:0425BB00E41090A0F8 +:0425BC0083381697B3 +:0425BD0082C8369703 +:0425BE0082B8A697A2 +:0425BF002697A88132 +:0425C0004C8982B010 +:0425C1004C17A5E02E +:0425C2000109891171 +:0425C30083AC5697F8 +:0425C400C40491209A +:0425C500B8A0288111 +:0425C60002A2E41772 +:0425C700233B008E24 +:0425C80083302E9797 +:0425C900B92085911F +:0425CA004549C404B7 +:0425CB0083341697A8 +:0425CC00C40B2320F9 +:0425CD00815426B758 +:0425CE005EB74C891F +:0425CF005541815899 +:0425D000010B1404E3 +:0425D10002A25541CC +:0425D200103B006654 +:0425D300827CBE97B1 +:0425D4008340769733 +:0425D500829C6E97DF +:0425D600029BD5414E +:0425D7004C0FA0A065 +:0425D800FF281004C4 +:0425D900E40C60A00E +:0425DA00000515EEF5 +:0425DB004C0E33A0CF +:0425DC0000C06B448C +:0425DD0015E644A318 +:0425DE0038A300011D +:0425DF008274169755 +:0425E000000110AE38 +:0425E100049B34A380 +:0425E2004C02A0A067 +:0425E300C40278A016 +:0425E40070A07491DE +:0425E50068A0C40224 +:0425E60060A0C4022B +:0425E70016B7C4025D +:0425E80011528138D3 +:0425E900E560001891 +:0425EA00AA03C41567 +:0425EB00EE03203BA0 +:0425EC00F303133BA7 +:0425ED00000715EEE0 +:0425EE0013FBF9439F +:0425EF00D541F9C316 +:0425F0008298169720 +:0425F10083D02EB7AE +:0425F20014A012B36C +:0425F300115AC402B3 +:0425F400111AFFD4E5 +:0425F50012DAFFD027 +:0425F600409BFFCC3B +:0425F700029BCC81F6 +:0425F8004C0420A0CF +:0425F9002C7354B338 +:0425FA004D098911ED +:0425FB000B09343361 +:0425FC0023F35D095F +:0425FD0000067CC098 +:0425FE0083D45E978D +:0425FF00816016B72A +:04260000341323D399 +:0426010054932C536F +:0426020000045892E6 +:0426030081605EB7DD +:042604008160169744 +:042605000112C501F8 +:0426060004E20006E4 +:04260700F0C3FE74AA +:0426080030A0FE9B65 +:042609004D094C0B20 +:04260A00582054B34D +:04260B002AE0180B9E +:04260C0022E0380B85 +:04260D002697580BA9 +:04260E00035B828C5C +:04260F00815C5EB7D5 +:0426100034735C3390 +:042611005FC023F390 +:0426120000A0000024 +:042613005C1348E22A +:04261400C40290A0CC +:04261500FF4E12DA88 +:04261600000115EEBC +:04261700345323D342 +:0426180010A3549324 +:0426190000074DEE7B +:04261A000008026250 +:04261B0081B01697DD +:04261C00017800A29F +:04261D0083F8169791 +:04261E00148BC495C0 +:04261F00016C00AAA0 +:0426200082E41697A3 +:042621000002109E05 +:04262200016000A2B1 +:04262300015C201224 +:042624000780100417 +:04262500FF0E12DAB8 +:04262600015402A2B7 +:0426270014A0103BB0 +:042628001A93C41627 +:0426290018A0125390 +:04262A000720E4128F +:04262B0014A0E822ED +:04262C00959AE41285 +:04262D001213014241 +:04262E002DBB0AAB0B +:04262F006CFD20041A +:04263000000047005F +:04263100033F20340F +:04263200310021044E +:042633000000630040 +:042634009000B0A8BA +:04263500000804E2B3 +:0426360081642697FE +:042637000000F4C0EB +:0426380081609E9788 +:04263900C4120020A7 +:04263A00825C169711 +:04263B00010E14BABE +:04263C00815C9E9788 +:04263D00C4120020A3 +:04263E00825C16970D +:04263F00012014BAA8 +:04264000EC10A420D6 +:0426410081741697F3 +:04264200826C2E97E1 +:04264300115202012D +:0426440028BB0002AD +:0426450082C81E9792 +:042646008160169702 +:04264700815C2697F5 +:0426480048814689F6 +:0426490000007F40CE +:04264A0016B720BBE4 +:04264B00EE008148D4 +:04264C0026970000CD +:04264D00850081483B +:04264E0020BB0000AD +:04264F00814416B7F5 +:042650000000D08036 +:04265100814C06B7FB +:0426520000027F8083 +:0426530082C4269780 +:042654000120283BFE +:0426550026B7E84478 +:04265600A980815086 +:04265700103400003B +:0426580086B70340FE +:042659001084814028 +:04265A0080A88410C0 +:04265B0010349000A7 +:04265C001084033FA4 +:04265D0080A80E4003 +:04265E0010349000A4 +:04265F001084033FA1 +:0426600080A82E40E0 +:042661001697900038 +:0426620008AB8484B9 +:0426630084901697B2 +:04266400007080B7CB +:0426650081582697DB +:042666000000D84058 +:04266700033F2034D9 +:0426680081548E9774 +:042669001000210438 +:04266A000000630009 +:04266B00900088A8AB +:04266C00827C1697BF +:04266D00000510AEA6 +:04266E00008E00A238 +:04266F0081548E976D +:04267000033F2034D0 +:04267100120021042E +:042672000000630001 +:04267300900088A8A3 +:04267400827C1697B7 +:04267500000510AE9E +:0426760086970EAB8A +:0426770080198254F0 +:0426780082541697DB +:042679000084143A8B +:04267A001B83803B03 +:04267B00D483103BB9 +:04267C00069B9D918B +:04267D00D4C34C89ED +:04267E00C416E5A0F9 +:04267F001E97D68349 +:04268000103482FC94 +:0426810024BB000274 +:042682004C031CA049 +:04268300000194843A +:04268400288624C1BF +:042685002CE098D0DD +:042686009040E40597 +:04268700D903000370 +:04268800827C1E979B +:04268900000518E64A +:04268A00849912E33A +:04268B00000C90A20D +:04268C0082C016975B +:04268D00E82200A09F +:04268E00C41314E07D +:04268F002CFB24BB41 +:04269000000936C047 +:04269100000194842C +:042692008697D5C38F +:0426930080198258D0 +:0426940082581697BB +:04269500FF64143298 +:0426960082C02E9739 +:042697000011243BCF +:04269800E8250160D0 +:04269900DA005341CF +:04269A00FC830000BD +:04269B0082C02E9734 +:04269C000011243BCA +:04269D00E8250160CB +:04269E00E5005341BF +:04269F00EC03000048 +:0426A000827C16978B +:0426A100000118AE6E +:0426A20000A800E2AA +:0426A300000718AE66 +:0426A40000A000E2B0 +:0426A500000510AE6E +:0426A600009C00A2F2 +:0426A7002401509B1F +:0426A8001834149935 +:0426A900080B000218 +:0426AA0028D7368176 +:0426AB0009118E443F +:0426AC00000079C0F1 +:0426AD00800010A8F1 +:0426AE004B6200A0DB +:0426AF0030C126FD13 +:0426B000EB6200A039 +:0426B10004E500112B +:0426B20082401697B5 +:0426B300143A049938 +:0426B4005C40FFAED9 +:0426B500803B000264 +:0426B60082401697B1 +:0426B700143A049934 +:0426B8001213005A9F +:0426B900169744AB81 +:0426BA003E97815472 +:0426BB00369781606D +:0426BC0011F38298FC +:0426BD008158169793 +:0426BE0081642E976E +:0426BF006D3B20044B +:0426C000169711B3A5 +:0426C10011738140D0 +:0426C200814C16979A +:0426C3001697113322 +:0426C40010F381503E +:0426C500814416979F +:0426C600169710B3A0 +:0426C70010738148C3 +:0426C800815C169784 +:0426C9004700103383 +:0426CA00169700005F +:0426CB00049183C42F +:0426CC00F9360002D9 +:0426CD00ECC3589B67 +:0426CE00EC43489BF6 +:0426CF00827C16975C +:0426D000000118AE3F +:0426D10018AE30E32C +:0426D2002AE30007F0 +:0426D300000510AE40 +:0426D400509B28A34C +:0426D500149924012F +:0426D60030C126FDEC +:0426D700000030C708 +:0426D80000021834B0 +:0426D90028D7368147 +:0426DA00080B8E4417 +:0426DB00F5400911AC +:0426DC0000110005E4 +:0426DD00589BEC43D7 +:0426DE00489BFB43D7 +:0426DF0002DBFAC35D +:0426E000F8F4000208 +:0426E1002E971CD93B +:0426E2005D4181C411 +:0426E30029490B5521 +:0426E40090001168E9 +:0426E50081C02E97EB +:0426E6000B555D41F2 +:0426E7001168294904 +:0426E80006D1900087 +:0426E900F9140002DE +:0426EA001D99EB81CA +:0426EB0000021034A5 +:0426EC00894C108481 +:0426ED00000218349B +:0426EE0083C42EB7BC +:0426EF00894C00F71B +:0426F00028B51CB538 +:0426F100003BE009C1 +:0426F2000002183496 +:0426F300894C18C432 +:0426F400250114D5D3 +:0426F5008000292810 +:0426F60008E326D5FA +:0426F700800018A89F +:0426F800900019280D +:0426F900900028A87D +:0426FA00003BE009B8 +:0426FB000002103495 +:0426FC00894C10975E +:0426FD0083C406B7D5 +:0426FE00003BE009B4 +:0426FF00BA80D821A4 +:04270000803B000911 +:04270100825816974D +:042702000040143A45 +:04270300000290340C +:042704008F14948416 +:042705000300A034F9 +:0427060000209CBB58 +:04270700803BC4153A +:042708001970A5049B +:04270900825C169741 +:04270A000118143A64 +:04270B001697803B62 +:04270C00143A826099 +:04270D00803B0112FA +:04270E008254169744 +:04270F0000049484AA +:04271000013E143A38 +:04271100C9FC3EE8D9 +:042712000009BEC834 +:042713006440243BBF +:0427140020BB0000E6 +:042715000009BC807B +:042716006C40243BB4 +:0427170020BB0000E3 +:042718000009BC8078 +:0427190048520420FE +:04271A0081CC1697C1 +:04271B000400200492 +:04271C0090A0001178 +:04271D000A95C40253 +:04271E00000079C07E +:04271F0088BB20BB98 +:042720000009BC8070 +:04272100BC804851DF +:0427220016970009FD +:04272300811B81D0C5 +:04272400C40290A0BB +:0427250079C00A95D8 +:0427260020BB0000D4 +:042727000009BC8069 +:042728002C7BEC43D7 +:042729007080243B5D +:04272A0020BB0000D0 +:04272B000009BC8065 +:04272C00243B2C7BA3 +:04272D000000740034 +:04272E00BC8020BB90 +:04272F0016970009F0 +:042730001EA3838CD5 +:0427310082FC269769 +:042732004C0424200F +:042733006D404301B1 +:0427340026970000E4 +:04273500191983C427 +:04273600A1202509B0 +:04273700BC80580406 +:0427380025BB0009B4 +:0427390000006D40EF +:04273A00211B28BB7C +:04273B00000079C061 +:04273C00B0BB20BB53 +:04273D000009BC8053 +:04273E0000102584DE +:04273F000009BC8051 +:042740001697025195 +:04274100AC60830401 +:04274200147AC4162B +:042743001697FF9452 +:0427440026AB834CF1 +:042745006840243B89 +:0427460020BB0000B4 +:042747000009BC8049 +:0427480001202CD769 +:042749000400200464 +:04274A00000079C052 +:04274B0088BB20BB6C +:04274C000009BC8044 +:04274D00BC804851B3 +:04274E00001100096D +:04274F0000049CC422 +:04275000DC03ADBB3E +:04275100F743883B87 +:0427520077C0243BED +:0427530020BB0000A7 +:042754000009BC803C +:0427550016971219A8 +:04275600091B81C416 +:0427570022810011CA +:0427580079C00A95A5 +:0427590020BB0000A1 +:04275A000009BC8036 +:04275B0081C016978C +:04275C002281111BAA +:04275D0079C00A95A0 +:04275E0020BB00009C +:04275F000009BC8031 +:04276000243BD583BE +:04276100000078C03C +:04276200BC8020BB5C +:042763002C970009A6 +:04276400811B011CB8 +:0427650079C0001126 +:0427660020BB000094 +:042767000009BC8029 +:04276800003BD2C39D +:04276900292A317B6D +:04276A00293B0008FF +:04276B00BFC8203B88 +:04276C00E009000977 +:04276D0083FC16973C +:04276E00E0092881D5 +:04276F000009190440 +:0427700083FC169739 +:04277100368116D9BE +:0427720012EB06D58B +:0427730029323A9538 +:0427740000E0000C75 +:0427750007236BC407 +:042776002681F6CBF7 +:04277700103BE0092A +:04277800003BE00939 +:042779008A29FFE1C9 +:04277A0026B7A17B62 +:04277B00DBC083CC70 +:04277C0080BB000915 +:04277D0083F816B710 +:04277E000006152E0E +:04277F00141708A380 +:0427800016B7004048 +:0427810016978170B6 +:042782004C06817010 +:0427830082050009C2 +:04278400108C10F3B2 +:0427850016B704007F +:04278600A405816CB9 +:0427870000135406E1 +:0427880000146C06C7 +:04278900827416B789 +:04278A002C063415D0 +:04278B00240600160A +:04278C0016B7001765 +:04278D00140682703C +:04278E00E40600104D +:04278F00924C001850 +:0427900016B700FF79 +:042791001406826C3C +:042792008EB70015E9 +:0427930096B7827CF7 +:042794001033827804 +:04279500826016B791 +:04279600001914060C +:04279700826856B747 +:0427980082646EB732 +:0427990016B711B3AB +:04279A00140682504F +:04279B002EB7001A3B +:04279C0026B7825C7E +:04279D00E6B78258C1 +:04279E0011F382545D +:04279F00824C16B79B +:0427A000001F1406FC +:0427A10083FC3E97E0 +:0427A20000361C0ED3 +:0427A30016B7123320 +:0427A400140682484D +:0427A5003406001BDB +:0427A6005C060025A8 +:0427A7001073002685 +:0427A800824416B79A +:0427A90000211406F1 +:0427AA00002764069A +:0427AB0016B737C165 +:0427AC00140682404D +:0427AD0036B7001E1D +:0427AE005EB7822C64 +:0427AF001133822838 +:0427B000823C16B79A +:0427B100001C1406EE +:0427B200822466B760 +:0427B30082201EB7AB +:0427B40016B71273CF +:0427B500140682384C +:0427B60012B3001D3D +:0427B700823416B79B +:0427B80000201406E3 +:0427B900823016B79D +:0427BA000001146E98 +:0427BB00146E0EA3E7 +:0427BC0000A2000770 +:0427BD00146E097A13 +:0427BE007CAB0005EB +:0427BF0000061526D5 +:0427C00004D576AB1B +:0427C10000FF708C19 +:0427C200CD0810A08E +:0427C300821416B7AF +:0427C400821C76B746 +:0427C500000714668F +:0427C60024D15EA319 +:0427C7000022740672 +:0427C800000C788405 +:0427C900484E03A0D3 +:0427CA00C40370E0F4 +:0427CB0001F078FAA7 +:0427CC000000709702 +:0427CD00820876B751 +:0427CE0000047097FC +:0427CF00820476B753 +:0427D00000087097F6 +:0427D10076B713FBC9 +:0427D200708482008D +:0427D30070FA001088 +:0427D400069501DC89 +:0427D50081FC1EB7AE +:0427D6001EB716957F +:0427D700269581F8CA +:0427D8001EB734955F +:0427D90016B781F4BA +:0427DA00169781F0DD +:0427DB0000AA81B01F +:0427DC00029B01D289 +:0427DD0081EC16B7BE +:0427DE00FFF7949FCE +:0427DF00000214AE32 +:0427E00083A816B7FD +:0427E100000414AE2E +:0427E20083A416B7FF +:0427E300CC63126051 +:0427E40016B712F31F +:0427E500146E83A04B +:0427E60016B700051D +:0427E700105383AC5C +:0427E8000010724C1F +:0427E900CC844A60F2 +:0427EA00839C4EB7C7 +:0427EB00840006B7A9 +:0427EC0050B2183B94 +:0427ED0048530194B8 +:0427EE0082F01EB7A0 +:0427EF006A72103BBF +:0427F00016B7019087 +:0427F10003AA82F4C1 +:0427F20086D9000C78 +:0427F3001EB78499F0 +:0427F40016B782F0A2 +:0427F50012D382F485 +:0427F60000451C0678 +:0427F700004A4C0E3A +:0427F8006C0A12A0B5 +:0427F90049E014D9C6 +:0427FA0056B7C40901 +:0427FB00126082E402 +:0427FC001173C4028F +:0427FD0081D816B7B2 +:0427FE00002314069A +:0427FF0081DC4EB774 +:042800000006A52EFB +:04280100149926817F +:04280200C40212609A +:0428030081D416B7AF +:04280400002A05227F +:042805000001146E4C +:04280600146608A3A9 +:0428070000A2000724 +:0428080014A60142CF +:0428090000A2000425 +:04280A001153013035 +:04280B00001410861F +:04280C00CCE718A05D +:04280D001EB7948BD3 +:04280E0016B7821067 +:04280F00146E8218A9 +:0428100008A3000118 +:042811000007146642 +:04281200012000A2FF +:04281300821816977A +:04281400832416B74C +:042815000001146E3C +:042816001C6608A391 +:0428170000E20007D4 +:042818007686010EB1 +:0428190000A2821087 +:04281A0044DB010C8E +:04281B000020113B4D +:04281C004013C4148D +:04281D00010240B2C2 +:04281E000020113B4A +:04281F0028B2C41304 +:042820000722010486 +:04282100103B011453 +:04282200830816B75A +:04282300832C76A7E5 +:0428240083281EB730 +:04282500830CA6B7C3 +:0428260083109EB7C6 +:0428270081E406B78B +:0428280081E006B78E +:042829000024152E44 +:04282A0000F400A214 +:04282B000012B52EB4 +:04282C0082F8B6B7C1 +:04282D00002414EE81 +:04282E0000EA00A21A +:04282F00001214EE91 +:04283000109310B33E +:0428310000466C0EE3 +:0428320016B736F3AC +:04283300029B82FC86 +:042834004C03B0A001 +:04283500C40D69E085 +:042836001BB35F333E +:0428370083001EB745 +:042838006773189317 +:04283900183B468979 +:04283A0016B7133387 +:04283B0010348304CE +:04283C001084000202 +:04283D00163393A417 +:04283E000002103450 +:04283F0093941084DA +:0428400010341673C7 +:0428410010840002FD +:0428420016B3934CEA +:04284300268136BDF7 +:04284400006030C43C +:042845000000709788 +:04284600C40CD9A045 +:042847001503103B2A +:04284800820806B745 +:04284900820406B748 +:04284A00C40E002098 +:04284B00029BC30326 +:04284C0081F816B742 +:04284D002EE0100465 +:04284E0081F416B744 +:04284F0081FC06B74B +:04285000C443029BE0 +:0428510081EC06B759 +:0428520050A0C5C30A +:0428530006D1E402C4 +:042854006A60CC03E7 +:042855000491E409FD +:042856001257CC83C6 +:0428570018A00018AD +:04285800DA03CCC60D +:04285900821006B72C +:04285A00821806B723 +:04285B00DC03103B4F +:04285C00C40E002086 +:04285D00183BDE83C3 +:04285E004013DE4302 +:04285F000001A504CB +:04286000E40240A0AE +:04286100AA81DD83E8 +:0428620000019CC411 +:04286300E360DE034D +:042864000491E40DEA +:04286500FFF6E37225 +:04286600693BDDC32A +:04286700FE83103BA1 +:042868000002B004B6 +:04286900049BE143A8 +:04286A001C99E2C310 +:04286B0000005B17F7 +:04286C00C40B32E087 +:04286D00C40613602A +:04286E0004910D853F +:04286F0049A601A0D5 +:04287000030031B47C +:04287100000032F73A +:04287200FFDE70A273 +:04287300136026D1F7 +:0428740010EEC40D91 +:0428750000AA000CA9 +:042876001034FF32E9 +:0428770010840002C7 +:0428780017B38E44C0 +:042879000002103415 +:04287A008F14108423 +:04287B00146E17F3CD +:04287C0000A20001B5 +:04287D00146E010CC8 +:04287E0000A20007AD +:04287F00249B010491 +:04288000183414995B +:0428810018C4000275 +:0428820026818F1408 +:0428830016F71373BE +:04288400103400808C +:0428850010840002B9 +:0428860016F78FA40E +:042887001034008485 +:0428880010840002B6 +:0428890016F78FECC3 +:04288A00103400887E +:04288B0010840002B3 +:04288C0016F7903477 +:04288D001034008C77 +:04288E0010840002B0 +:04288F0016F790C4E4 +:04289000110400909F +:042891001499006C2A +:0428920016F726818E +:04289300146E00942B +:0428940000A200019D +:04289500146E00B00D +:0428960000A2000597 +:04289700609B00AC96 +:042898004DBD4BF3F4 +:04289900D00909A8B1 +:04289A0010132BB537 +:04289B0000B026F76C +:04289C0000022034E2 +:04289D0000A416F786 +:04289E0000A816F781 +:04289F000048140ECB +:0428A000FB5B499BFA +:0428A1009304210477 +:0428A200C41511E068 +:0428A30000ACE6F7A8 +:0428A40000B406F77F +:0428A50000165A00BF +:0428A60000022034D8 +:0428A700FB5B499BF3 +:0428A800932821044C +:0428A90000165A00BB +:0428AA0000022034D4 +:0428AB00283B919B9A +:0428AC0089F4210486 +:0428AD0000165A00B7 +:0428AE0060344BD374 +:0428AF001684000289 +:0428B000303B81E454 +:0428B1009304630425 +:0428B200146E14B3D9 +:0428B30001AA000175 +:0428B400B834058EA1 +:0428B500BDC400029C +:0428B60032A3934C6A +:0428B700000714669C +:0428B80015992CAB97 +:0428B9001884313D11 +:0428BA0048C1007C95 +:0428BB00FFBC19172E +:0428BC001BF3203BAF +:0428BD0024C13CFDF9 +:0428BE0011AE143310 +:0428BF00147300018D +:0428C000489B7B8333 +:0428C100689BDF43EE +:0428C2004C9BEAC37E +:0428C3001184EA434F +:0428C40010BEFFFD46 +:0428C500CAAB000298 +:0428C60011A60D91B9 +:0428C700AAA30008B8 +:0428C80081E4B6975A +:0428C9000002A8342D +:0428CA009304AD4482 +:0428CB0000022034B3 +:0428CC002D7B35BB70 +:0428CD009328210427 +:0428CE00588048B333 +:0428CF0014E60016F5 +:0428D000B6B7000493 +:0428D100489381E0C7 +:0428D200042C00A230 +:0428D30000021034BB +:0428D40093041086D3 +:0428D50000011D469B +:0428D600A00218A0A4 +:0428D700838C16B721 +:0428D80000021034B6 +:0428D90090C4108413 +:0428DA0081D016B7DC +:0428DB0081CC16B7DF +:0428DC0000021034B2 +:0428DD00903410849F +:0428DE0081C816B7E0 +:0428DF0000021034AF +:0428E0008F141084BD +:0428E10081BC16B7E9 +:0428E2001C6E135302 +:0428E30016B7000123 +:0428E40000E281B8D5 +:0428E500146E03E882 +:0428E60000A2000745 +:0428E700069B03E069 +:0428E800313D1499D1 +:0428E900007C1084DB +:0428EA00109728819A +:0428EB0016B7FF9C81 +:0428EC0000E281C4C1 +:0428ED00146E03CC96 +:0428EE0000A200073D +:0428EF00089B03C47B +:0428F00030FD14990A +:0428F1000014225756 +:0428F200007C1084D2 +:0428F3001097268193 +:0428F400B466FF9C2B +:0428F50016B7000111 +:0428F600140681C083 +:0428F70016B70012FE +:0428F8001406833807 +:0428F900A68B001199 +:0428FA00CCE710A077 +:0428FB0083341EB74D +:0428FC00833016B758 +:0428FD0000071C664E +:0428FE00038A00E267 +:0428FF00908611535B +:04290000948C0007AC +:04290100C0150001FC +:04290200836896B799 +:04290300836C06B724 +:042904000020842CFF +:0429050081B086B760 +:04290600038C00E25C +:04290700039404220F +:042908000001103486 +:042909006DD41084F5 +:04290A00811016B76B +:04290B00039000E253 +:04290C00039204220C +:04290D0016A7349B3A +:04290E000422810C12 +:04290F001034038CF1 +:04291000108400012E +:0429110016B76DBCCC +:042912000422810812 +:042913002C9B038274 +:04291400810416A77D +:04291500037C042219 +:042916000001103478 +:042917006DA010841B +:04291800810016B76D +:04291900037204221F +:04291A0016A7369B2B +:04291B001C6680FCBA +:04291C0000E20005D0 +:04291D0012570368E2 +:04291E0040A00008CD +:04291F0046B7CC8467 +:0429200000E28358F6 +:042921001257035EE8 +:0429220010A00008F9 +:0429230016B7CCC651 +:0429240000E28354F6 +:042925003A570352C8 +:0429260039E000088C +:0429270004A2CCA595 +:0429280005A2034AB7 +:0429290010D3034C78 +:04292A000040A89C25 +:04292B00CCC6AD6009 +:04292C008364AEB75B +:04292D008360AEB75E +:04292E00033C072A35 +:04292F00033C05A2BE +:04293000CD4A192053 +:0429310083501EB7FA +:04293200033405A2C3 +:04293300CD6BB9208F +:042934008348BEB75F +:04293500032E05A2C6 +:04293600CD8C912093 +:04293700834C96B780 +:04293800032805A2C9 +:04293900108C10D31B +:04293A0000A20040B7 +:04293B00157B031EE7 +:04293C00835C16B7EB +:04293D000002103450 +:04293E001084031BE3 +:04293F0018B598C06F +:0429400038B528B5C9 +:042941008048168430 +:042942002834228192 +:042943000C850002FD +:0429440098C021779F +:04294500838026B7AE +:042946000002203437 +:042947002104035B09 +:04294800197398F473 +:0429490040B338F36C +:04294A0083C806B781 +:04294B0000165A0018 +:04294C00195311D337 +:04294D0016F738D36E +:04294E00119300B829 +:04294F004834409335 +:0429500016F7000274 +:04295100121300BCA1 +:042952005EC45D7D85 +:0429530016F700DC97 +:04295400105300C05C +:0429550098F44A4464 +:0429560000C416F7AC +:0429570016F711134B +:04295800129300C80E +:0429590000CC16F7A1 +:04295A0016F7125307 +:04295B00111300D084 +:04295C0000D416F796 +:04295D0016F7105306 +:04295E00245900D820 +:04295F00203422817D +:0429600048810001A9 +:0429610061060D55A9 +:0429620061BA7124C1 +:042963002B51028270 +:04296400596204911F +:0429650005A2FFE8E0 +:042966000562028E76 +:042967001034000820 +:0429680000A70002C2 +:04296900273B991D52 +:04296A002813103BE3 +:04296B00029A293271 +:04296C00831816B7FF +:04296D00029A04AA1C +:04296E0016B7173B46 +:04296F00B8E082EC5E +:0429700005E258170D +:04297100002000043E +:042972002CFBC41C5A +:04297300E6B7253B63 +:042974005A0082E89B +:0429750016B7000091 +:042976001034831482 +:0429770010970002B3 +:0429780016B793A457 +:0429790012D38320D2 +:04297A001034169966 +:04297B0024C1000271 +:04297C0093A4109779 +:04297D000300183407 +:04297E00020018C477 +:04297F00042A268977 +:04298000203B0254A2 +:0429810016B7183B32 +:042982001034831C6E +:042983001084034079 +:0429840016B78240C0 +:0429850010348194F5 +:042986001084034076 +:0429870016B78244B9 +:0429880010348190F6 +:042989001084034073 +:04298A0016B78248B2 +:04298B001034818CF7 +:04298C001084034070 +:04298D0016B7824CAB +:04298E0010348188F8 +:04298F00108403406D +:0429900016B78250A4 +:0429910010348184F9 +:04299200108403406A +:0429930016B782549D +:0429940010348180FA +:042995001084034067 +:0429960016B7825896 +:042997001034817CFB +:042998001084034064 +:0429990016B7825C8F +:04299A0026B7817863 +:04299B001EB7819C46 +:04299C000A298198EB +:04299D0014997FE129 +:04299E000001AD4443 +:04299F00C40215E079 +:0429A0000000589744 +:0429A10010C3117BD3 +:0429A20065F32CFBB2 +:0429A3004D7335B388 +:0429A40024F35D3388 +:0429A50000005A00D4 +:0429A6005D1324D3C6 +:0429A70035934D53C4 +:0429A800189365D348 +:0429A9007C932B13DD +:0429AA006B3B4689B4 +:0429AB0002E05A816B +:0429AC00136069BF8C +:0429AD005AE0C40E1A +:0429AE002B60CEAD1F +:0429AF001386C405C2 +:0429B00058AA000021 +:0429B10010A6001656 +:0429B20000A200FF80 +:0429B30013D700A096 +:0429B400FBA700007D +:0429B5000491000089 +:0429B600000013F713 +:0429B70013D309111C +:0429B800FC34112AB0 +:0429B90000002D46A7 +:0429BA00CCE41160F8 +:0429BB0059665B4BB3 +:0429BC0002E2000F24 +:0429BD005D46FF80F4 +:0429BE0028340001B8 +:0429BF00AD44000221 +:0429C00002E000022F +:0429C1002AE0484B75 +:0429C2005957C40598 +:0429C3001C13934C02 +:0429C400484D012059 +:0429C5000AD5349962 +:0429C600580258A0BB +:0429C700C40569607A +:0429C800145305752A +:0429C90011AE44A364 +:0429CA0000A2000364 +:0429CB0011AE012E1A +:0429CC0000A200065F +:0429CD0011AEFF52F6 +:0429CE00A0AB0007B3 +:0429CF0065F32D3B44 +:0429D0004D7335B35B +:0429D10024F35D335B +:0429D20000005A00A7 +:0429D3005D1324D399 +:0429D40035934D5397 +:0429D500683465D32A +:0429D600B0A00002AB +:0429D7002B934C02F0 +:0429D80093286B4491 +:0429D90081E07E8497 +:0429DA00113BE84382 +:0429DB007384E68398 +:0429DC007162000123 +:0429DD00EC83FF4840 +:0429DE000002103BA8 +:0429DF00029BFBDE7E +:0429E000049B83C30E +:0429E10005A2874381 +:0429E200110C0012C2 +:0429E30012A3000734 +:0429E400000214AE2B +:0429E50094AE0CA3FD +:0429E6008D43000419 +:0429E700C4120020F6 +:0429E80090048C8348 +:0429E9008BC300019B +:0429EA001034102372 +:0429EB001084000153 +:0429EC008E836DF079 +:0429ED00802C1684A0 +:0429EE0016848DC3FB +:0429EF008D038030A4 +:0429F000369B0423EB +:0429F100069B8E03B0 +:0429F20016848D8337 +:0429F3008EC38024EB +:0429F4008F830C9B26 +:0429F50080201684A4 +:0429F600089B90C3E7 +:0429F70000209183A8 +:0429F8009343C40839 +:0429F90094C3103B38 +:0429FA009643383B8D +:0429FB000001A8042B +:0429FC00002097C35D +:0429FD009703C41563 +:0429FE009903183BE6 +:0429FF00988302DBDC +:042A0000C4170020D7 +:042A010000209943D5 +:042A02009A03C4125D +:042A03009C03103BE5 +:042A04000001203479 +:042A05006906488195 +:042A06003260716C5D +:042A07000D91C40465 +:042A0800C404692079 +:042A0900AC43811D3C +:042A0A0000058C66D1 +:042A0B00FD760462EE +:042A0C00000802229A +:042A0D00000210347F +:042A0E0098FB00A78A +:042A0F00FD6601E27D +:042A1000000210347C +:042A110098FA00A788 +:042A12002813AB8357 +:042A1300CB0104915E +:042A1400103BAB03C5 +:042A1500071BAC836C +:042A1600B5430ADBDF +:042A1700DEC3113BCE +:042A18000002B834CC +:042A19009394BDC411 +:042A1A00FA7000AAA4 +:042A1B00FA72000249 +:042A1C000006152675 +:042A1D00F68A00A293 +:042A1E00000210FBA7 +:042A1F00003BF69EE4 +:042A20008E97DC2190 +:042A210006B783FC75 +:042A22000020833CD1 +:042A23003055C41452 +:042A2400833C9E97BA +:042A2500018EA42258 +:042A26000002203456 +:042A2700283B859B28 +:042A2800987C210471 +:042A290000165A0039 +:042A2A0000029034E2 +:042A2B0083A0AE973F +:042A2C00987C94847A +:042A2D00C4170020AA +:042A2E00B00484BBB1 +:042A2F00BCE0000106 +:042A3000048B6C02A5 +:042A310025FB36ABA0 +:042A32000009DBC0FC +:042A3300488EC8956C +:042A34004086004692 +:042A350016B70025AB +:042A3600112C83F8E4 +:042A370000AA0010E1 +:042A380020DB01603E +:042A390006D9255B3A +:042A3A00303B0B59C9 +:042A3B005A01360105 +:042A3C00015441BA46 +:042A3D000020112C38 +:042A3E0081B016B796 +:042A3F000001BDC411 +:042A4000001015E687 +:042A41000002948477 +:042A42007455B4A370 +:042A4300CD4618A0C4 +:042A4400109F0AE3F2 +:042A45001094F83FB2 +:042A4600747505009E +:042A47000022240E37 +:042A480000201C0E40 +:042A490028C97455CF +:042A4A00A120031BA9 +:042A4B0010A04C0487 +:042A4C001C2FCD4628 +:042A4D0089110028C3 +:042A4E0016A766C998 +:042A4F00242F81AC03 +:042A5000C48B002C07 +:042A5100242F07091E +:042A520010BE002A88 +:042A530000A20017C6 +:042A5400685500D2EF +:042A55000100210C4F +:042A560000C8012291 +:042A5700000238340D +:042A58000100303415 +:042A590039C4183B29 +:042A5A008D9193BC0B +:042A5B0006D11AD9AD +:042A5C0005555F417C +:042A5D00FE0010ACBB +:042A5E0005752C8945 +:042A5F00001010E66D +:042A60001034EAA3A1 +:042A610000AF0002C0 +:042A6200103498BADA +:042A630000AF0002BE +:042A64008C4498BC4A +:042A650040040064C5 +:042A6600064D000118 +:042A6700FFFF48CC59 +:042A680080004A5C44 +:042A690080004A445B +:042A6A00CC6010E04C +:042A6B00CD0550E065 +:042A6C00CD4A30E03F +:042A6D00CD6B28E025 +:042A6E0000400252D0 +:042A6F005C0EC48BAA +:042A700012200034FC +:042A710018E04C0914 +:042A720044C9CDCEB8 +:042A730058095A6044 +:042A740000344C2FAF +:042A7500003A4C0EC9 +:042A760048E0149987 +:042A770025C158031A +:042A7800003A1C2FD5 +:042A79001A20069584 +:042A7A0006B58F18F6 +:042A7B0050A71685C5 +:042A7C0018E6000058 +:042A7D0000E200FF74 +:042A7E0018A5008611 +:042A7F001C0EC58BD9 +:042A80004889003E43 +:042A8100268912513F +:042A8200003E142FCF +:042A83004889C54B6E +:042A840000401C0EE4 +:042A85002689091184 +:042A86000040142FC9 +:042A87000010112604 +:042A8800FF7600A233 +:042A8900253B5C216C +:042A8A000009DBC0A4 +:042A8B00800200A025 +:042A8C004C02A0A0B8 +:042A8D000001A5049B +:042A8E00580298A0B2 +:042A8F00833C16B7B7 +:042A900022DBC9C3B9 +:042A9100D3C3275B29 +:042A9200C4023260E8 +:042A93000485244151 +:042A940000003C8E74 +:042A950015A0A4994B +:042A960038A04C0216 +:042A97003CAF5807F1 +:042A98000ECD00005F +:042A9900580738A002 +:042A9A000BAB0EED87 +:042A9B00000139A657 +:042A9C00056A0BE3D9 +:042A9D000F4D0006D3 +:042A9E00056D2E890B +:042A9F00CE030D91C4 +:042AA00018E6268589 +:042AA10000E200FF50 +:042AA20028A5FF72F2 +:042AA300003BEDC344 +:042AA400833C1697C2 +:042AA500048B5889BD +:042AA600003BE00908 +:042AA700893BC42182 +:042AA800DBC0217BF3 +:042AA900188E00097A +:042AAA001697004635 +:042AAB00071B83FC86 +:042AAC0048B10460C9 +:042AAD0000852681F9 +:042AAE0000020B8097 +:042AAF0003002834C4 +:042AB00049B0042005 +:042AB100002C294488 +:042AB2000300843465 +:042AB300ED80243B53 +:042AB400309F00054A +:042AB5002834FF9F23 +:042AB600238903006D +:042AB700002C294482 +:042AB8003EE8243B95 +:042AB900F108C80C4C +:042ABA00003B0005D8 +:042ABB0082C4169724 +:042ABC000699C02196 +:042ABD00040020DE13 +:042ABE0018040523D0 +:042ABF001EB703FF3C +:042AC000189E82A436 +:042AC10004E3020028 +:042AC20001FF1004FC +:042AC30016B7203BE7 +:042AC4008C0082A060 +:042AC5002E97000048 +:042AC600203B82A48B +:042AC700A5C080BB6B +:042AC8001E97000055 +:042AC90010EE827C0D +:042ACA0006A300015E +:042ACB00000718E602 +:042ACC001E9716E358 +:042ACD0010EB83A0E7 +:042ACE008194269732 +:042ACF00183444A3D0 +:042AD00006D1787F34 +:042AD1009000192830 +:042AD2001388200441 +:042AD300000043803C +:042AD4008C00203B17 +:042AD500F69900006E +:042AD60082A4269719 +:042AD70000E034C126 +:042AD8002092E8233D +:042AD90016B7000428 +:042ADA00169782A425 +:042ADB0010D282A0F3 +:042ADC001EB700041D +:042ADD002C3B82A06C +:042ADE003EE8203B73 +:042ADF00A5C8C804BA +:042AE00018340000A6 +:042AE100F743747FC4 +:042AE2001126FC615C +:042AE300813B000132 +:042AE400203B2AABBE +:042AE5000001D040DC +:042AE60000041426AE +:042AE700030800A23E +:042AE800827C16973F +:042AE900000710A62C +:042AEA0016970CA38C +:042AEB00C49583F813 +:042AEC002000108C2A +:042AED00471B06A3DA +:042AEE0000020B8057 +:042AEF000B803B1B02 +:042AF000251B0002A0 +:042AF10000020B8054 +:042AF20082748E97C5 +:042AF30002F4046283 +:042AF400827C169733 +:042AF500000110A626 +:042AF600269714A368 +:042AF70028348320DC +:042AF800294403006A +:042AF900ED80009CD0 +:042AFA0088A00005AB +:042AFB001034CE7352 +:042AFC00B08E000296 +:042AFD00969793A66F +:042AFE009E978274A9 +:042AFF00A69781E431 +:042B0000025182D02C +:042B0100820C8EB7FD +:042B0200003FB58C4F +:042B030083D406B7BA +:042B0400C4150020D4 +:042B0500000194AE89 +:042B060002AC9D621E +:042B0700832016977A +:042B0800030018347A +:042B0900042018C4C8 +:042B0A0018A8268958 +:042B0B0018D480005A +:042B0C0018A80010F5 +:042B0D0010349000F0 +:042B0E001084033FED +:042B0F0002DB184489 +:042B1000900018A871 +:042B1100033F183432 +:042B1200100010049B +:042B1300108418C44E +:042B1400900010E835 +:042B1500033F18342E +:042B1600128418C449 +:042B1700900010E832 +:042B1800033F18342B +:042B1900308418C428 +:042B1A00900010E82F +:042B1B00033F183428 +:042B1C00318418C424 +:042B1D00900010E82C +:042B1E00827C969788 +:042B1F00000714A6F1 +:042B200016970EA353 +:042B2100C49583F8DC +:042B22002000108CF3 +:042B2300013A00A2D1 +:042B24000002203457 +:042B2500283B499B65 +:042B26008A98210464 +:042B2700840406B765 +:042B280000165A0039 +:042B2900838CB6974C +:042B2A0081E4BE97ED +:042B2B000002A034D0 +:042B2C000002A834C7 +:042B2D000001E5843A +:042B2E00C4130020AC +:042B2F0089F4A5047C +:042B30008A98AD448E +:042B3100024ABCFA9E +:042B3200485204A061 +:042B33000001103459 +:042B3400C40214A023 +:042B35007214289757 +:042B36000001103456 +:042B3700C40214A020 +:042B38007E50209714 +:042B390000026340F3 +:042B3A00031B283B16 +:042B3B000001818094 +:042B3C00827C1697EA +:042B3D000001183447 +:042B3E00368114992F +:042B3F007E1028D705 +:042B40000001183444 +:042B410030D73681D2 +:042B4200103B71D4FF +:042B430011220999B9 +:042B440010340262E5 +:042B450010840002F6 +:042B460018348D446E +:042B470016B703407A +:042B480018C481A08C +:042B4900103B8000BD +:042B4A00025A11A278 +:042B4B0082D816977F +:042B4C00000410A6CB +:042B4D00009200A250 +:042B4E00827C1697D8 +:042B4F00000120AEB3 +:042B500018AE112387 +:042B510000E2000797 +:042B520018AE025265 +:042B530000E2000597 +:042B540068DB024EEA +:042B550000011EE776 +:042B560018AE112381 +:042B570000E2000791 +:042B580018AE02426F +:042B590000E2000591 +:042B5A0072DB023EEA +:042B5B0000021EE76F +:042B5C00023C012214 +:042B5D00000718AEA7 +:042B5E00023000E25F +:042B5F00000510A6B7 +:042B6000022C00A2A1 +:042B61002834589B21 +:042B620016E703402F +:042B6300203B000310 +:042B64008000294480 +:042B6500000116C491 +:042B66000685288137 +:042B670081A016979C +:042B68000002303403 +:042B690016D90ED992 +:042B6A00048D2E8127 +:042B6B002AC96DC145 +:042B6C00E3FF109FD4 +:042B6D000C001094B4 +:042B6E008D4411AFD2 +:042B6F0010E8F48BEB +:042B700009119000B7 +:042B71000003112626 +:042B72001697CAA345 +:042B7300842E83A089 +:042B740000AA0001B2 +:042B7500183401DE31 +:042B760018C400027D +:042B770018D593A436 +:042B78000300103412 +:042B79000380108441 +:042B7A000128250900 +:042B7B002034900072 +:042B7C00211700021B +:042B7D00112093A4EC +:042B7E0000A8580251 +:042B7F00103490007E +:042B80002097000298 +:042B8100103493A4D5 +:042B820010840300B8 +:042B8300250902001E +:042B84009000812814 +:042B850010E016D571 +:042B860080A85802C9 +:042B8700169790000D +:042B880010A6827C95 +:042B89000CA3000792 +:042B8A0083F816971F +:042B8B00108CC49551 +:042B8C0006A320007C +:042B8D0017C0031B4F +:042B8E001697000195 +:042B8F0030AB83A044 +:042B900000021034FB +:042B910093A820974E +:042B9200820C169704 +:042B930003001834EF +:042B9400038018C4DE +:042B950000031084A5 +:042B9600270904996E +:042B97009000112871 +:042B980000021034F3 +:042B990093A410975A +:042B9A0002DB2689AB +:042B9B00900018A8E6 +:042B9C00033F1034AF +:042B9D002E4810842A +:042B9E00900000A8FB +:042B9F00033F1034AC +:042BA0000E48108447 +:042BA100900000A8F8 +:042BA200203B283B71 +:042BA30000022AC042 +:042BA400B700203B1B +:042BA500169700037C +:042BA60000AA82748B +:042BA7000069011CA4 +:042BA800CFFC3EE838 +:042BA900000AAEC8A8 +:042BAA00827C16977C +:042BAB00000710A669 +:042BAC0016970EA3C7 +:042BAD00C49583F850 +:042BAE002000108C67 +:042BAF00FCFC00A288 +:042BB0009E83451BA0 +:042BB100A4C3883BF6 +:042BB2006D40257BD2 +:042BB30020A000005E +:042BB40025B2CEB0C8 +:042BB500B120003219 +:042BB60004A2E4048D +:042BB700A120003029 +:042BB8002C7B4C0422 +:042BB900001571C0D2 +:042BBA0000021834C9 +:042BBB00C4031D60D2 +:042BBC0098D010E7B6 +:042BBD0083D41E9708 +:042BBE0010D2C48BE2 +:042BBF0016B7000441 +:042BC000AD4483D4C9 +:042BC100A20300016A +:042BC200E40425A062 +:042BC300103BF98347 +:042BC40004E0FAC36C +:042BC500A0A0482262 +:042BC600028DC402B6 +:042BC700001605AA45 +:042BC80024FB148D49 +:042BC9006D402449EE +:042BCA00203B0000AC +:042BCB000A63283B36 +:042BCC00C413E4E06A +:042BCD00103BB1C345 +:042BCE00064BFD03B2 +:042BCF0017592EEB79 +:042BD000C4031D60BD +:042BD1000F910CD57F +:042BD20027590EF57C +:042BD300580720A0DF +:042BD40006D93AC123 +:042BD5003CC10B51A3 +:042BD600303416D9A8 +:042BD7006CC10002CB +:042BD8008ABC39B7C3 +:042BD9000009196670 +:042BDA00283B02E3AF +:042BDB0021048259F6 +:042BDC00F7430100BA +:042BDD000ECD3541A3 +:042BDE0000021834A5 +:042BDF0038EF368114 +:042BE00014918D447B +:042BE1000E99B10395 +:042BE20081A02E9709 +:042BE3005F4118999D +:042BE40027090B4D65 +:042BE500900029280B +:042BE600B183049122 +:042BE700B68370DB66 +:042BE800B60348DB0D +:042BE900B8837ADB58 +:042BEA00B80352DBFF +:042BEB00BAC3829B4C +:042BEC00BA437A9BD3 +:042BED00831C169798 +:042BEE002697CC0357 +:042BEF0028348320E3 +:042BF0002944030071 +:042BF100ED80002C47 +:042BF200183400058E +:042BF30080A00002BC +:042BF40010F7CDAD5C +:042BF50086B78A8095 +:042BF60004228168CC +:042BF7009034FEC058 +:042BF800883400021B +:042BF900A8340002FA +:042BFA00A034030000 +:042BFB0094840300BB +:042BFC008C448A80FB +:042BFD00AD4493A4AC +:042BFE00B8040E8089 +:042BFF00A504000128 +:042C00001697002CF7 +:042C01001432822CDB +:042C0200B457FE9431 +:042C03009834000001 +:042C04001CDB0004D1 +:042C050080002584A2 +:042C060030009CC43A +:042C07005802A920A6 +:042C0800800010A890 +:042C0900FE0810842D +:042C0A00000210B6FE +:042C0B001DE008A31D +:042C0C0014E04C0282 +:042C0D0006D1581381 +:042C0E00001210E6BA +:042C0F00200021047C +:042C10002D3BDAA3DB +:042C1100ED8025BB72 +:042C120014B70005EE +:042C130098A0000085 +:042C14002D3B5806F6 +:042C1500F10025BBEA +:042C160000110005A4 +:042C1700000494849D +:042C1800F3C322518F +:042C1900893BFFE113 +:042C1A008129390BC8 +:042C1B00012291BB46 +:042C1C00044B010460 +:042C1D0000DA00AA2F +:042C1E00819C1E97E0 +:042C1F004689409B07 +:042C200082D01E97A9 +:042C210018A006D120 +:042C22001697EC17FE +:042C230018AE82D88D +:042C240000E20004C6 +:042C250010AE00EA03 +:042C260000A2000206 +:042C2700100400E6AF +:042C28001C4400FC4C +:042C290018FEFF7F13 +:042C2A0000E20002C2 +:042C2B001C4400DC69 +:042C2C0018FEFFBFD0 +:042C2D0000E20002BF +:042C2E00303B00D463 +:042C2F00494305E030 +:042C300000A02C894B +:042C310028E04882CD +:042C32000120580520 +:042C330006D980033B +:042C340006009C4CAE +:042C35001094268948 +:042C360004EA10009C +:042C3700464B00B454 +:042C380000AE00E208 +:042C3900033F183409 +:042C3A00128018C428 +:042C3B00900028E8F5 +:042C3C00033F183406 +:042C3D00128418C421 +:042C3E00900010E80A +:042C3F00014C04AA96 +:042C400000C6012A9F +:042C4100831036972F +:042C420082603E97D7 +:042C430081D02E9777 +:042C440002FD1D99D7 +:042C4500A8FB203B8D +:042C46003922021B12 +:042C4700844B009624 +:042C48000300E03471 +:042C49000040A03473 +:042C4A000020103323 +:042C4B008C4CC416D3 +:042C4C00E704003465 +:042C4D00A5040E00CC +:042C4E001697FC00D9 +:042C4F0015BA81E44D +:042C500010340092AA +:042C51001084033FA9 +:042C5200B8A80E040C +:042C530001299000C3 +:042C5400146E7FE19A +:042C550012A30800BE +:042C56001000146EE8 +:042C5700144B10A367 +:042C58001E9710AB08 +:042C5900209B8198A3 +:042C5A00209BE28356 +:042C5B00109BE243A5 +:042C5C00103BE1C385 +:042C5D00B804E14393 +:042C5E00100400015D +:042C5F00E44300FE4C +:042C6000E3C3103B7F +:042C610000F010046B +:042C62000B9BE303E2 +:042C6300159BE5C315 +:042C64001834E543F8 +:042C650018C4033F4D +:042C660028E81080CA +:042C6700183490008D +:042C680018C4033F4A +:042C690010E81084DB +:042C6A001C4C90006E +:042C6B0000E2060875 +:042C6C00E903FF3247 +:042C6D0009110555EF +:042C6E0010A05D4114 +:042C6F001420CD68F8 +:042C700016D14C022B +:042C7100FFFE10EF63 +:042C7200A834EA0395 +:042C7300AD4400026A +:042C7400E94389F4B3 +:042C7500838C16979F +:042C760005A040A3D2 +:042C770004EA482201 +:042C78001834007894 +:042C7900368100029E +:042C7A0089D010CE1F +:042C7B002409803B6D +:042C7C006D4025BBC7 +:042C7D00F60B000052 +:042C7E0000E066C943 +:042C7F00E0A0494345 +:042C8000A0E0580276 +:042C810090E03803A4 +:042C820018A8580333 +:042C83001697900010 +:042C84000491838CA8 +:042C8500C41615A0BC +:042C86000E63E403F2 +:042C8700482205A03A +:042C8800C40215600D +:042C8900048D108D19 +:042C8A0025BBF883EB +:042C8B0000006E8057 +:042C8C000EEB181320 +:042C8D0005A00EABE5 +:042C8E001560482263 +:042C8F00008DC402EE +:042C9000F2ABF5C3EB +:042C910000011584A5 +:042C9200FDC30499E1 +:042C9300033F1034B7 +:042C94000E0010849A +:042C9500900000A803 +:042C96001560DE8364 +:042C9700008DC402E6 +:042C9800F143103BB9 +:042C99008484169782 +:042C9A0008ABFCE1A6 +:042C9B00848C169778 +:042C9C0076B51ADB14 +:042C9D00078A01227F +:042C9E0083FC169706 +:042C9F000300A0345A +:042CA000C41200203A +:042CA100A50472957F +:042CA2008C4C00C096 +:042CA3009C6E00051E +:042CA40024FB000508 +:042CA50000121640C3 +:042CA6000005AC6613 +:042CA70082988697F2 +:042CA8002C3B622B34 +:042CA9006D91200405 +:042CAA0000004700DF +:042CAB00803B203B0F +:042CAC000001B0046F +:042CAD0082E4169710 +:042CAE0083C426B7FE +:042CAF000068111A8E +:042CB000B83424FB15 +:042CB10006B7000260 +:042CB200BDC483C456 +:042CB30016408E44F5 +:042CB40000200012EA +:042CB500E684C416D7 +:042CB60016978048A5 +:042CB7001720827CE4 +:042CB8000485C402C9 +:042CB900013615BA11 +:042CBA00B004203B07 +:042CBB001697000167 +:042CBC0026B782E4D1 +:042CBD00111A83C4A1 +:042CBE0024FB017280 +:042CBF0083C406B70D +:042CC00000121640A8 +:042CC10001D004A298 +:042CC20082B026971F +:042CC30082981E973E +:042CC40028FB103B9E +:042CC500041AB8C174 +:042CC600C48B01B802 +:042CC7002EB704AB75 +:042CC800900482985A +:042CC900EE83000195 +:042CCA00004005625F +:042CCB0083F81697DD +:042CCC004C0425A0EF +:042CCD000509E4957C +:042CCE00A00401203D +:042CCF000012164099 +:042CD000C417002005 +:042CD1008260169770 +:042CD200002415FACB +:042CD300C417002002 +:042CD4008258169775 +:042CD500005215FA9A +:042CD600C4170020FF +:042CD7008254169776 +:042CD800008015FA69 +:042CD90083C42697F3 +:042CDA00E9030911F0 +:042CDB00F983203B1E +:042CDC0077C025FB9D +:042CDD00E0A800006B +:042CDE0016978000C5 +:042CDF0017208298A0 +:042CE0001704E41CD5 +:042CE10004A2FE80CB +:042CE2008092000CD0 +:042CE30080BB0002B0 +:042CE4000001BDC46A +:042CE5000092F5C3A1 +:042CE600031B0006C6 +:042CE70000067F80E4 +:042CE80025FB2F3B5E +:042CE9000000D640D1 +:042CEA0025FBFCC307 +:042CEB0000006C4039 +:042CEC008000E0A8DC +:042CED00829816971C +:042CEE00E41C1720AB +:042CEF00FE80170448 +:042CF000000C04A22E +:042CF10000028092CB +:042CF200BDC480BB22 +:042CF300F0030001E9 +:042CF4000006009244 +:042CF5007F80031BBE +:042CF6002F3B00066A +:042CF700DA0025FBDF +:042CF800FCC3000019 +:042CF90078C025FB7F +:042CFA00E0A800004E +:042CFB0016978000A8 +:042CFC001720829883 +:042CFD001704E41CB8 +:042CFE0004A2FE80AE +:042CFF008092000CB3 +:042D000080BB000292 +:042D01000001BDC44C +:042D02000092EA430E +:042D0300031B0006A8 +:042D040000067F80C6 +:042D050025FB2F3B40 +:042D06000000E500E4 +:042D07001034FCC3C5 +:042D080015A0000210 +:042D09001086C4026A +:042D0A0020AB98F46E +:042D0B00000015D7D8 +:042D0C005802A0A029 +:042D0D00800028A872 +:042D0E0082981697FA +:042D0F001144D54155 +:042D100004A2FE809B +:042D1100809200109C +:042D120080BB000280 +:042D13000001B58482 +:042D14000004BDC436 +:042D15000092D083D5 +:042D1600031B000A91 +:042D17007F8028731E +:042D18002853000636 +:042D1900E70025BBEF +:042D1A00FC030000B6 +:042D1B000028056225 +:042D1C0083F816978B +:042D1D004C0425A09D +:042D1E000509E4952A +:042D1F00A0040120EB +:042D20000012164047 +:042D2100C4170020B3 +:042D2200825C169722 +:042D2300000C15FA91 +:042D240083C42697A7 +:042D2500CAC3091103 +:042D2600FC83203BCF +:042D27008D4025FBBB +:042D28001E970000F2 +:042D290018A08298D4 +:042D2A001704E41C8A +:042D2B0004A2FE8080 +:042D2C008092000C85 +:042D2D0080BB000265 +:042D2E000001BDC41F +:042D2F000092F943D2 +:042D3000031B00067B +:042D310000067F8099 +:042D320025FB2F3B13 +:042D3300000936C09D +:042D34000801FCC3D3 +:042D3500C743029BF3 +:042D3600827C1697EE +:042D3700000118AED1 +:042D3800028400E22F +:042D3900000718AEC9 +:042D3A00027C00E235 +:042D3B00000510AED1 +:042D3C00027800A277 +:042D3D001499509BFA +:042D3E000002183443 +:042D3F000002A834B2 +:042D400020D73681E1 +:042D4100AD448E44CB +:042D420063008E4458 +:042D430080A8000064 +:042D440010348000C7 +:042D450020970002D1 +:042D460063008E4454 +:042D470018A80000C8 +:042D4800269780004A +:042D4900103B82C0F9 +:042D4A00024480DAE5 +:042D4B00E825012056 +:042D4C000491BAC173 +:042D4D00023E1C1A0C +:042D4E00000310BEB0 +:042D4F002C3B1AA35C +:042D50006DFB2004F3 +:042D51000000470037 +:042D5200033F2034E7 +:042D53003100210426 +:042D54000000630018 +:042D5500900080A8C2 +:042D560082981E97AA +:042D5700169718EBC8 +:042D5800A68183D0FD +:042D59000180189647 +:042D5A00100404E37A +:042D5B0016B7018026 +:042D5C00F10083D02F +:042D5D001E970000BD +:042D5E00C4D583F85D +:042D5F002000108CB4 +:042D600000CA00A203 +:042D6100004010D747 +:042D620000A2B48B8C +:042D63001E9700C0F7 +:042D640074D583FCA3 +:042D65004008108C86 +:042D6600400810AE63 +:042D6700031BF4A3B3 +:042D680000004080A7 +:042D6900827C1697BB +:042D6A00814896976F +:042D6B00000710A6A7 +:042D6C0001C600A2FA +:042D6D0083F816973A +:042D6E00841CC0956C +:042D6F00842020009C +:042D700024BBCDAD06 +:042D710000008500D9 +:042D72002CBB30BB8B +:042D73005F47200492 +:042D74000000470014 +:042D750081481697E4 +:042D760082D81E974A +:042D770016B7A68164 +:042D78000422814868 +:042D79001E9701F6AA +:042D7A00169782D84E +:042D7B0024C18148A6 +:042D7C00149A2681FE +:042D7D0016B7027013 +:042D7E00A69781484B +:042D7F00253B814827 +:042D800000008500CA +:042D810080BB253BB3 +:042D82000000EE005F +:042D8300D080243B9D +:042D8400A69700000E +:042D850024BB8148A2 +:042D860000008500C4 +:042D8700A4A0A081E3 +:042D88002D3BE416E5 +:042D89003C3B10338C +:042D8A00200435BB31 +:042D8B0047005F920C +:042D8C00031B000025 +:042D8D000000420000 +:042D8E001697BA9941 +:042D8F0006AB848487 +:042D900084141697FA +:042D910020042AB53B +:042D920047006E1177 +:042D9300169700008F +:042D940000A2829483 +:042D9500169702F695 +:042D96001E9783A859 +:042D9700268983A462 +:042D980016973AABA5 +:042D990000AA8368A1 +:042D9A00169702F096 +:042D9B0010AE827C78 +:042D9C0000A200078A +:042D9D00531B02E0E2 +:042D9E0010341719BD +:042D9F0024C1000249 +:042DA0008E441097B6 +:042DA10003001834DF +:042DA20000C018C491 +:042DA30028A82689AD +:042DA40016978000FE +:042DA500D54182C0D2 +:042DA6000000E70042 +:042DA70083A0169758 +:042DA80000A000AADD +:042DA900820C96976B +:042DAA0082D0169726 +:042DAB000002B0046E +:042DAC00000194840A +:042DAD004C0615A01B +:042DAE004C0214A01F +:042DAF000002983452 +:042DB00093A49CC488 +:042DB10014D71073B0 +:042DB20018340004CD +:042DB30018C403003D +:042DB4002689041058 +:042DB5008000A0A852 +:042DB6000002A5046E +:042DB7009000A0A840 +:042DB800825C86971C +:042DB900FD00B8342D +:042DBA000300E034FE +:042DBB00B034801997 +:042DBC009034FD0052 +:042DBD0000200300EF +:042DBE00BDC4C415B7 +:042DBF00E704F0BF76 +:042DC000B5840E4088 +:042DC1009484E0F323 +:042DC2008E97180CC4 +:042DC3008C3A825C68 +:042DC400257B026CFD +:042DC5000000850085 +:042DC60028348659CE +:042DC7003034FD00A7 +:042DC8002944030097 +:042DC9003184F0BBA6 +:042DCA0026970E44F6 +:042DCB0020FA825C0C +:042DCC001CD702B45A +:042DCD0020340004AA +:042DCE0021040300D9 +:042DCF0028C90414F7 +:042DD000900010E877 +:042DD1001640203B4D +:042DD200169700123E +:042DD30010A6827C48 +:042DD4000EA3000743 +:042DD50083F81697D2 +:042DD600108CC49504 +:042DD70000A2200036 +:042DD800F44002A819 +:042DD900544300035C +:042DDA00B143589B0E +:042DDB00B0C3489B9E +:042DDC008491880155 +:042DDD000801B643F0 +:042DDE00021BB7031A +:042DDF0025BBC883C5 +:042DE0005000283B3C +:042DE100268900023D +:042DE200A01000A09D +:042DE3000001B584B2 +:042DE400042A154365 +:042DE500303B00B2CD +:042DE600051B283B66 +:042DE700000B064097 +:042DE800031B095B65 +:042DE900000318408B +:042DEA00C4160020EB +:042DEB008260169755 +:042DEC00009615B286 +:042DED000090042A24 +:042DEE005EC025BBE3 +:042DEF00268900022F +:042DF000A01000A08F +:042DF1000001B584A4 +:042DF2001697FC43F1 +:042DF3001E9781485E +:042DF400042A82D853 +:042DF500A681FE10A5 +:042DF600814816B743 +:042DF70081488697F2 +:042DF80083D41697D3 +:042DF900FDFE141AAD +:042DFA008500243BF1 +:042DFB00243B000075 +:042DFC00EE00A0BB8A +:042DFD00253B000072 +:042DFE000000D08081 +:042DFF000020021B93 +:042E00001697C41449 +:042E0100151282E440 +:042E0200042AFFC0DF +:042E0300035BFDD898 +:042E040082C0253B28 +:042E0500203B00026C +:042E06000004034081 +:042E0700DF00203B8D +:042E0800303B000259 +:042E0900031B283B44 +:042E0A00000B064073 +:042E0B000002E18060 +:042E0C00411B575BB4 +:042E0D000003AD0011 +:042E0E00C4160020C6 +:042E0F008260169730 +:042E1000FF4E15B2AA +:042E1100FF36042262 +:042E1200303B803B96 +:042E1300111B283B2C +:042E1400000B064069 +:042E1500DF00031BBC +:042E16001D1B00027E +:042E17000004034070 +:042E18000001A5040C +:042E190096B7F383F2 +:042E1A00B1C3814877 +:042E1B00169756634D +:042E1C00242083F8F3 +:042E1D00E4954C04E8 +:042E1E000120050981 +:042E1F001640A004B5 +:042E2000002000127C +:042E21001697C4122A +:042E220014BA8260FC +:042E23000020003A51 +:042E24001697C41227 +:042E250014BA825801 +:042E26000020005A2E +:042E27001697C41224 +:042E280014BA825402 +:042E29002697007A6E +:042E2A00091183C443 +:042E2B0082E4169790 +:042E2C0083C426B77E +:042E2D00FFB4111AC3 +:042E2E0006B724FBC4 +:042E2F00164083C402 +:042E3000B243001297 +:042E3100F6C3203B89 +:042E320077C024BB86 +:042E3300A0A8000053 +:042E3400169780006D +:042E3500200482945F +:042E36002CBB6E2023 +:042E3700E41415206A +:042E38004700353BDF +:042E390024BB0000B6 +:042E3A00D6402D3B16 +:042E3B00948400007B +:042E3C00F24300015C +:042E3D006C4024BB06 +:042E3E00A0A8000048 +:042E3F001697800062 +:042E40002004829454 +:042E41002CBB6E2513 +:042E4200E41415205F +:042E43004700353BD4 +:042E440024BB0000AB +:042E4500DA002D3B47 +:042E46009484000070 +:042E4700EE43000155 +:042E480078C024BB6F +:042E4900A0A800003D +:042E4A001697800057 +:042E4B002004829449 +:042E4C002CBB6E2A03 +:042E4D00E414152054 +:042E4E004700353BC9 +:042E4F0024BB0000A0 +:042E5000E5002D3B31 +:042E51009484000065 +:042E5200EA4300014E +:042E53008C66203B2E +:042E5400021B000558 +:042E55004B1BEAC366 +:042E56001697A3C365 +:042E570000AA836CDE +:042E58001557FD3AD3 +:042E59001834009495 +:042E5A0018C4030095 +:042E5B00268900C004 +:042E5C00800028A822 +:042E5D0082C0169782 +:042E5E00D5414B1BF4 +:042E5F001219A3435E +:042E600081BC169784 +:042E6100228130B3E7 +:042E6200B8A004957B +:042E6300E0A03802B1 +:042E6400A0A85802C8 +:042E6500243B90007A +:042E660000008E805A +:042E6700243B18539D +:042E6800904054C181 +:042E690016970003B5 +:042E6A00228181BC84 +:042E6B00B0A004957A +:042E6C0090A03802F8 +:042E6D0088A85802D7 +:042E6E00105380007D +:042E6F00243BA24B13 +:042E7000E980528122 +:042E71001034000019 +:042E72002401000235 +:042E730098D010865D +:042E740022813093F4 +:042E750015522C8145 +:042E7600A8BB0002F3 +:042E7700838C16979B +:042E780004010491BC +:042E79001ED9A48337 +:042E7A0081BC26975A +:042E7B0009154F01E5 +:042E7C002D090B0908 +:042E7D009000112888 +:042E7E00838C269784 +:042E7F0038C109113C +:042E80002126A5035F +:042E81000122000228 +:042E82001034FD40CB +:042E83001084033F75 +:042E840000A8184446 +:042E8500169790000C +:042E860018AE827C84 +:042E87000CE3000157 +:042E8800000710AE81 +:042E8900169706A3EF +:042E8A001AA381B056 +:042E8B0081701697A5 +:042E8C001000108C96 +:042E8D0000DE00AAB9 +:042E8E0082D416973D +:042E8F00D541135BBB +:042E90002AC0031B36 +:042E9100031B00021D +:042E920000020B80AF +:042E930017C0203B09 +:042E9400169700018C +:042E950026AB83A045 +:042E960000021034F2 +:042E970093A818974D +:042E980003001034EF +:042E9900038010841E +:042E9A0000E824C95F +:042E9B001834900057 +:042E9C0018D7000241 +:042E9D0010E093A40A +:042E9E0000A858022E +:042E9F00031B900081 +:042EA0000003B70074 +:042EA1008168169797 +:042EA2008274869719 +:042EA30020232409BB +:042EA4000002903464 +:042EA500000288346B +:042EA6000300983459 +:042EA70093A49484D8 +:042EA8008A808C444C +:042EA900002C9CC499 +:042EAA00822C1697C9 +:042EAB00006A143A6B +:042EAC00033F10349C +:042EAD0010841084F9 +:042EAE00900000A8E8 +:042EAF00033F103499 +:042EB00012841084F4 +:042EB100900000A8E5 +:042EB200033F103496 +:042EB30030841084D3 +:042EB400900000A8E2 +:042EB500033F103493 +:042EB60031841084CF +:042EB700900000A8DF +:042EB8003E40031B7A +:042EB90010340002CF +:042EBA0018040340B5 +:042EBB00108401FF7F +:042EBC0018A88800CA +:042EBD00103490003D +:042EBE001084033F3A +:042EBF0018A82E80A1 +:042EC000103490003A +:042EC1001084033F37 +:042EC20018A80E80BE +:042EC30016979000CE +:042EC4001CA3848443 +:042EC500035B7CE14E +:042EC6000C55E4C300 +:042EC700000024974C +:042EC80000112CFBCE +:042EC9000005F1000F +:042ECA0000049484E8 +:042ECB00EF0322519E +:042ECC00848C169745 +:042ECD00FB830E9DD8 +:042ECE0081B0169722 +:042ECF0032A3D861F1 +:042ED000031B075B7E +:042ED10000022AC011 +:042ED200169728AB7C +:042ED3000ADB81B0E5 +:042ED400169706AB9C +:042ED500B4C182D42E +:042ED60082C8169701 +:042ED7001084031B45 +:042ED8002681000748 +:042ED90019C04509CE +:042EDA00283B00038E +:042EDB002AC0203BAE +:042EDC00203B000295 +:042EDD0000040340AA +:042EDE000002E1808D +:042EDF00283B303B21 +:042EE0000640031B8A +:042EE100AE97000B9D +:042EE2000020814CFF +:042EE3000020C416F1 +:042EE4001697C41465 +:042EE500153A825CBC +:042EE600200400685C +:042EE7002180012C19 +:042EE8002697000326 +:042EE90089118310B8 +:042EEA0000009A004A +:042EEB00814C1E9761 +:042EEC001E97468166 +:042EED00169782A40E +:042EEE0001208150EE +:042EEF0010D2E824F1 +:042EF00010FB0002D1 +:042EF10000021112B8 +:042EF200283B20BB9E +:042EF300000198340E +:042EF4000001A03405 +:042EF5000000A980B0 +:042EF6000020883BF5 +:042EF7009CC4C412A1 +:042EF800A5046E2897 +:042EF90016976E3882 +:042EFA00147A825C68 +:042EFB00191B00900F +:042EFC00000403408B +:042EFD00283B303B03 +:042EFE000640111B5E +:042EFF0014BB000BF5 +:042F000086975861F7 +:042F0100169782C4D9 +:042F0200801182A018 +:042F030000028092B6 +:042F04001E9780BBD9 +:042F0500103B8310EA +:042F0600000220F6AF +:042F07001420392336 +:042F0800957BEC11B8 +:042F0900C41085600B +:042F0A00C4130020CC +:042F0B008310169782 +:042F0C00C4049DA0BC +:042F0D0014FA84919D +:042F0E002E970022D8 +:042F0F002C1282A05E +:042F10002C3B000254 +:042F11000000FE00BE +:042F1200831016977B +:042F13000001A50410 +:042F1400C41615A02A +:042F150086D9E783EF +:042F1600F7830491A8 +:042F1700FE002CBBD1 +:042F18001697000008 +:042F1900141282A06C +:042F1A00143B000262 +:042F1B00C4039460F7 +:042F1C0010D290BB84 +:042F1D0090FB000223 +:042F1E0000019CC44E +:042F1F00247BF5C357 +:042F200000008D40E0 +:042F2100169780BBC4 +:042F2200188482C0CD +:042F230080DA0180CF +:042F24001697002AD2 +:042F2500809282A86C +:042F2600A8040026D5 +:042F27002E970001E0 +:042F2800056283C0FB +:042F29003D3B0066C6 +:042F2A008033347B41 +:042F2B005D742004AD +:042F2C00000047005A +:042F2D005812ACA0EA +:042F2E00E543025124 +:042F2F00F9C384015D +:042F3000247B2C3B97 +:042F3100000936C09D +:042F32004580C91BF2 +:042F3300095B000036 +:042F3400AD00031BCE +:042F3500035B000337 +:042F36005000247BA8 +:042F370036970002C7 +:042F3800031B8310E4 +:042F3900B0BB283BC6 +:042F3A005E80A8FB12 +:042F3B0000A00015DD +:042F3C008A91A004D2 +:042F3D002DA2C8C138 +:042F3E002562000CFC +:042F3F0016970008D9 +:042F4000040182C046 +:042F41000020F183F8 +:042F4200F243C4157D +:042F4300F3033CFB5D +:042F4400A697FFE16C +:042F4500103481586B +:042F46008FE9033FCD +:042F4700182C1084AE +:042F480018A802DBE8 +:042F49001697900047 +:042F4A0018A6827CC7 +:042F4B0000E200019F +:042F4C00169700D6FE +:042F4D0000AA83A4AF +:042F4E00969700D47E +:042F4F00169783C08E +:042F50001E978268DE +:042F5100803B8264DB +:042F520000B018B201 +:042F5300883B14BBE8 +:042F540000AE80B299 +:042F5500243B2C7B72 +:042F5600001571C031 +:042F5700283B20BB38 +:042F5800000282C031 +:042F5900199B0BDBDA +:042F5A00203B283BB5 +:042F5B00000443002B +:042F5C0082641697DE +:042F5D00000210A6B8 +:042F5E002C3B36A32F +:042F5F000001245CED +:042F6000001571C027 +:042F6100283B20BB2E +:042F6200000282C027 +:042F6300199B0BDBD0 +:042F6400203B283BAB +:042F65000004430021 +:042F6600DC40071B29 +:042F6700388C0001A1 +:042F680039D4000751 +:042F6900079B0008BA +:042F6A00203B283BA5 +:042F6B00000443001B +:042F6C0024BB283B1F +:042F6D00000282C01C +:042F6E00031B035BE3 +:042F6F000002330029 +:042F70000090300499 +:042F71000D3D283BAF +:042F720000165A00EB +:042F73000090300496 +:042F7400553DFB5B71 +:042F75000100A8347B +:042F76001D7FB034D7 +:042F770000165A00E6 +:042F7800C41200205F +:042F7900000AAD4459 +:042F7A0000A1B58479 +:042F7B00838C169796 +:042F7C0002AC00A201 +:042F7D0002B004A2F8 +:042F7E001283051B9A +:042F7F000011A68116 +:042F8000A081E8C381 +:042F8100E90302510D +:042F8200000710A68E +:042F8300151BAAA3CD +:042F84000004034002 +:042F850082E4169735 +:042F86000002109E97 +:042F87008E9732A34C +:042F8800803B83C047 +:042F890000168C2A78 +:042F8A00283B243B81 +:042F8B00000282C0FE +:042F8C0081DC169737 +:042F8D00211418955E +:042F8E00DC40100013 +:042F8F00169700038E +:042F9000001182E4C6 +:042F9100FFDC141A33 +:042F9200247B035B3E +:042F9300000282C0F6 +:042F9400827C16978E +:042F9500000710AE73 +:042F9600169714A3D3 +:042F9700289581DC1C +:042F98000E00110C0A +:042F9900211F08AB41 +:042F9A00DC40F1FF27 +:042F9B001697000382 +:042F9C00109581DC2F +:042F9D00F8FF841F96 +:042F9E0001002414F6 +:042F9F000003DC400F +:042FA0000180241474 +:042FA1000003DC400D +:042FA20004AAE5C3D5 +:042FA300451B00804A +:042FA400283B303B5B +:042FA500000B0640D7 +:042FA60082C08697C8 +:042FA7000100B83439 +:042FA80004209D3B29 +:042FA900BDC4E8D0EB +:042FAA0002190015F3 +:042FAB001041241994 +:042FAC00A0810259A5 +:042FAD00C402A0A01A +:042FAE0072891073A1 +:042FAF0024FB10B33C +:042FB00000164B803C +:042FB10082C026971D +:042FB2001173E0FBBC +:042FB30000164B8039 +:042FB4003834303B42 +:042FB50028FB3FF4C2 +:042FB600EC8020BBD0 +:042FB700253B0015A1 +:042FB80018F31133C6 +:042FB90000164B8033 +:042FBA0028D34913BC +:042FBB0038FB30BBF4 +:042FBC007300227B01 +:042FBD004153001567 +:042FBE0038FB30BBF1 +:042FBF002F3B223B47 +:042FC0000015E240D6 +:042FC100000A009A68 +:042FC20000019484F2 +:042FC300251BDBC32C +:042FC40024FBEFC338 +:042FC5000000D840F0 +:042FC6000000D3C074 +:042FC700827C16975B +:042FC80081941E973B +:042FC900000710AE3F +:042FCA0015FB48A308 +:042FCB00900010E87A +:042FCC00827C169756 +:042FCD0081901E973A +:042FCE00000710AE3A +:042FCF0015BB38A353 +:042FD000900010E875 +:042FD100827C169751 +:042FD200000710AE36 +:042FD300C71B2CA349 +:042FD4000002D840DF +:042FD500547D109384 +:042FD60014E00DFDF9 +:042FD70010F3C4022D +:042FD800C41C0020F5 +:042FD9008260169765 +:042FDA000012173A90 +:042FDB00C41384E0B7 +:042FDC00157BE983F5 +:042FDD00103BF6C3EC +:042FDE00B31BF8C366 +:042FDF001697FA4304 +:042FE0000EAB838C25 +:042FE1003933273B1E +:042FE20000006E80FD +:042FE30014A23913E8 +:042FE400283B003254 +:042FE5003933273B1A +:042FE6000002500095 +:042FE700048B39130B +:042FE80006D907D52A +:042FE900580210E09A +:042FEA0005F506558E +:042FEB00FFFF18E6E6 +:042FEC00185312E381 +:042FED00000C1CDADE +:042FEE0010A6C48BDA +:042FEF0004A3007FB8 +:042FF000047510D381 +:042FF1000001E704F0 +:042FF2002FD1225168 +:042FF300A681F2C3FE +:042FF4001EC30011E7 +:042FF5009484A0819F +:042FF6001F030001B4 +:042FF700000710AE11 +:042FF800016800AAC2 +:042FF900F340031B83 +:042FFA001697000323 +:042FFB0010AE827C16 +:042FFC0000A2000728 +:042FFD0016970156CC +:042FFE00249581DCB9 +:042FFF000E00108C24 +:04300000051B06ABFB +:043001000003F34095 +:0430020003401D1B4F +:04300300278300041B +:0430040082E41697B5 +:043005000002109E17 +:043006008E97CAA334 +:04300700803B83C0C7 +:0430080000128C2AFC +:04300900283B243B01 +:04300A00000282C07E +:04300B0081DC1697B7 +:04300C00DC401895F7 +:04300D00169700030F +:04300E00001182E447 +:04300F00FFE0141AB0 +:04301000247B035BBF +:04301100000282C077 +:043012009417F343D9 +:0430130014AE0000F7 +:0430140042A3FFFFD5 +:0430150083C01E97BF +:04301600247B2CBB30 +:04301700268124D911 +:043018001E86149963 +:04301900152082C03C +:04301A0086D1C40295 +:04301B0090E022819E +:04301C0006A53803CA +:04301D000000D64099 +:04301E00FFFF14A6F6 +:04301F0083C02E97A5 +:043020003DBB1AA3F7 +:043021009033347B39 +:043022005FE4200443 +:043023000000470062 +:043024002011025124 +:0430250098041D43AB +:04302600FB83000127 +:04302700FC833D7B6E +:04302800000214BED0 +:04302900FDE200A222 +:04302A00827C1697F7 +:04302B00000118A6E2 +:04302C00FF2800E297 +:04302D0083A41697CB +:04302E00FF5400AAA1 +:04302F0083C09E9725 +:043030008268169705 +:0430310082641E9700 +:0430320018B2803B15 +:0430330014FBFF008B +:04303400C4120020A2 +:04303500FEFC80B26B +:04303600243B2CBB50 +:04303700001571C04F +:04303800283B20BB56 +:0430390082C088BB0E +:04303A00383B00021D +:04303B00283B199B7A +:04303C004300203BF2 +:04303D0016970004DE +:04303E0010A68264F2 +:04303F003CA30002AC +:04304000249C2C3B65 +:0430410071C0000159 +:04304200283B001512 +:0430430080BB20BB73 +:04304400000282C044 +:04304500DC40071B49 +:04304600388C0001C1 +:04304700079B0007DC +:04304800203B283BC6 +:04304900000443003C +:04304A00203B283BC4 +:04304B00199B383B5A +:04304C000004430039 +:04304D00243B035BC2 +:04304E00000282C03A +:04304F00247B035B80 +:04305000000282C038 +:0430510024FB035BFE +:04305200000282C036 +:04305300031B283BF8 +:043054000002330043 +:04305500033F1034F1 +:04305600182C10849E +:04305700900000A83D +:043058000002A0349E +:043059000001A83496 +:04305A000001B0348D +:04305B00883B543D1D +:04305C00C413002079 +:04305D0093FCA50437 +:04305E006E38AD44D7 +:04305F006E28B5849E +:0430600082601697DD +:04306100FEC2147A1D +:04306200283B303B9C +:043063000640111BF7 +:0430640014FB000B4E +:043065007FE10FE90F +:0430660084841697B1 +:043067001E970EABF7 +:043068001034848C10 +:0430690010840001CE +:04306A0074F50005F4 +:04306B00827C1697B6 +:04306C00000118AE99 +:04306D0010A606E3C0 +:04306E0004A30007B0 +:04306F00000BD10879 +:04307000E009103B28 +:043071008697D42149 +:043072001404821CA4 +:0430730018B6000586 +:0430740002E3003340 +:04307500369780BB4F +:043076002C3B821459 +:0430770060022004CF +:04307800000047000D +:04307900000C1980AE +:04307A00033F983444 +:04307B0000A088BB6E +:04307C00A804A012F2 +:04307D009CC40001EE +:04307E001697181475 +:04307F0024A380A066 +:0430800014A65263DD +:0430810044A3000262 +:04308200821C2E97E7 +:04308300600A2004BB +:043084000000470001 +:04308500821C1E97F4 +:04308600033F1034C0 +:043087001814108485 +:04308800900018A8F4 +:043089005421147B3F +:04308A00FFFB8404C0 +:04308B000001A48418 +:04308C002D3B343B69 +:04308D006029200492 +:04308E0000004700F7 +:04308F00900084E841 +:04309000000C198097 +:04309100B2A388BBA3 +:04309200F5C3953BB2 +:043093000002149E85 +:04309400FB0314A383 +:043095000002149E83 +:043096002004D2AB95 +:043097004700600F7F +:043098000020000014 +:04309900056AC412EE +:04309A001416000AFE +:04309B00B8A30005D1 +:04309C00821C869775 +:04309D00002E1416D7 +:04309E008404AAA359 +:04309F000020000508 +:0430A000F503C4155B +:0430A1008484169776 +:0430A200DEC4FFE1A8 +:0430A300813BFD5C14 +:0430A4001E970EABBA +:0430A5001034848CD3 +:0430A6001084000290 +:0430A70074F50005B7 +:0430A8000003AD80F4 +:0430A9001233203B83 +:0430AA0000040340DB +:0430AB00DF00203BE7 +:0430AC001697000271 +:0430AD0010A6827C6B +:0430AE0000A2000775 +:0430AF003034009821 +:0430B0003184000166 +:0430B10047957104CA +:0430B200033F103494 +:0430B3001050108425 +:0430B400FF0018DF22 +:0430B500003C18D4EF +:0430B600900018A8C6 +:0430B70000012834B8 +:0430B80070E4294453 +:0430B9002034455525 +:0430BA002104033FAB +:0430BB00109F115001 +:0430BC001094FF006D +:0430BD001128007E58 +:0430BE00203490002A +:0430BF002104033FA6 +:0430C00019281010AB +:0430C100183490002F +:0430C20018C4033FEC +:0430C30010E81110F0 +:0430C400579590008C +:0430C500033F103481 +:0430C600105410840E +:0430C700FF0018DF0F +:0430C800007E18D49A +:0430C900900018A8B3 +:0430CA002034555504 +:0430CB002104033F9A +:0430CC00109F1154EC +:0430CD001094FF005C +:0430CE001128003C89 +:0430CF002034900019 +:0430D0002104033F95 +:0430D1001928101496 +:0430D200183490001E +:0430D30018C4033FDB +:0430D40010E81114DB +:0430D500243B900008 +:0430D6000000C3C073 +:0430D70082609697E6 +:0430D80002DBBCBD9E +:0430D900483004A0D7 +:0430DA00485104A0B5 +:0430DB00C41780A0F6 +:0430DC00C41485E0B3 +:0430DD00C402852084 +:0430DE00208111B389 +:0430DF00169711F33C +:0430E00084918280D5 +:0430E1004C0210E0AD +:0430E2002201127342 +:0430E3000032101295 +:0430E400002E8452E4 +:0430E50074FD2D3D0C +:0430E600FF5B103B41 +:0430E700142A039B09 +:0430E800BDFD005AD0 +:0430E9000BED75C1B5 +:0430EA00C40715E022 +:0430EB0015200BEDB4 +:0430EC000D35C407D3 +:0430ED0001EF00DD12 +:0430EE0029110000A4 +:0430EF00149126D141 +:0430F000343BFB83EF +:0430F100BD3DFB5B8B +:0430F20000165A006A +:0430F300283B343B07 +:0430F4005A00253B1E +:0430F50025FB0016A1 +:0430F600FB5B343B11 +:0430F70000165A0065 +:0430F800183B2CBD98 +:0430F9001CAA031BEF +:0430FA0008B500080D +:0430FB00249106D145 +:0430FC00347BFE83A0 +:0430FD00753D283BBA +:0430FE0000165A005E +:0430FF00827C169722 +:04310000000718AEFE +:04310100008600E262 +:0431020000801834FD +:04310300280406D1C5 +:0431040010A6008091 +:0431050000A000071F +:04310600274948C24B +:0431070028A0051BDC +:04310800303B5805FB +:04310900000B064071 +:04310A00827C169716 +:04310B0082C01E97C9 +:04310C00000120AEF0 +:04310D0020A60723CE +:04310E005B23000738 +:04310F0083A42697D8 +:0431100010AE552B7D +:04311100049100071E +:0431120081549697B7 +:043113004C0210E07A +:04311400FE80948421 +:043115000002909292 +:04311600169790BBBD +:04311700883B815818 +:0431180090A000F390 +:043119001133E40288 +:04311A00030010346A +:04311B000E2C1084E2 +:04311C00169712B33D +:04311D0018AE827CEA +:04311E0000E20001CA +:04311F0010AE037873 +:0431200000AA0007FA +:04312100046A0452E6 +:043122000002037034 +:043123001834042C2C +:04312400283B0080C4 +:04312500103BEF83E9 +:043126000D1BF5C3C5 +:0431270010347BC322 +:043128001084033FCD +:0431290002DB10A80D +:04312A00900018A851 +:04312B00D840243B29 +:04312C0016970000F2 +:04312D0010A6827CEA +:04312E000EA30007E5 +:04312F002D7B1113D0 +:043130009920C4011D +:04313100DC00C404F6 +:04313200E180000038 +:0431330036970002C9 +:04313400283B826052 +:043135001D99753D2E +:0431360000165A0025 +:04313700827C1697E9 +:04313800000710AECE +:04313900B00428A313 +:04313A000020000170 +:04313B002463C41C29 +:04313C001422111335 +:04313D00095B001E0C +:04313E001840031B17 +:04313F004004000345 +:0431400074FD000119 +:043141004C08E22034 +:04314200283B30FBFB +:04314300B0040EC303 +:04314400FAC30003C7 +:04314500000319006A +:043146002697FC8349 +:043147001C3382F8BB +:04314800216034735B +:043149004BF34C04F4 +:04314A004F0143B33B +:04314B003B332B7374 +:04314C006D4022F3BD +:04314D001A930000D1 +:04314E0010A8268916 +:04314F005034800078 +:0431500022D3000284 +:043151003B134BD30E +:043152002B530919D9 +:043153005120439331 +:04315400228EC40AF9 +:043155001C1389F4CA +:04315600088934535D +:043157000FFF108CCA +:04315800800220A031 +:04315900580912609F +:04315A0016970FD1E4 +:04315B0011FA8300E2 +:04315C000262FFA864 +:04315D00223B0062AF +:04315E000B51059577 +:04315F0028892D91FD +:04316000FFFC11B7A8 +:0431610082601697DB +:043162000044117A9A +:043163000001E7047C +:04316400FF5AE5A287 +:04316500FFFF5C0C00 +:0431660080005ADCAF +:04316700005846C402 +:043168002D3B35FBCB +:043169000020BDFD88 +:04316A004DAEC41C86 +:04316B00500400010B +:04316C005AC4000140 +:04316D002697800021 +:04316E00273A82601A +:04316F00029B001EA1 +:0431700018D348899F +:0431710010EA84914B +:04317200125302DE14 +:0431730058430401B8 +:04317400C40900206A +:04317500F243383BAE +:04317600F383203B84 +:0431770000100262E0 +:0431780020BE04D59C +:043179000723000325 +:04317A00000410A697 +:04317B0000DD02A3CE +:04317C000000121726 +:04317D000000B0D7C7 +:04317E0005A21CABDF +:04317F0001AD00029C +:043180000000B23762 +:043181000001E7045E +:0431820000044204FF +:043183001B511D912E +:0431840026D11FD160 +:0431850005A2F403A8 +:0431860001ED0076E1 +:043187000000618E55 +:04318800FFFF6B0CCE +:0431890080006B5CFB +:04318A0080006B4412 +:04318B00FFFF1366C9 +:04318C00171B2EA33C +:04318D004CB35CF3F0 +:04318E001C336C730F +:04318F0043B333F320 +:043190002B333B732F +:043191007F8062F3E6 +:043192005CD3000604 +:043193006C534C939A +:0431940033D31C1302 +:043195003B534393D2 +:0431960062D32B13C2 +:0431970000015004DF +:043198000000114FD3 +:04319900E40D6AE0F7 +:04319A00FF946892A4 +:04319B00E40C6420BC +:04319C000000616F5F +:04319D00482207209D +:04319E0061CE21934A +:04319F0045010000E6 +:0431A0000000612F9B +:0431A100098D61D360 +:0431A200C402132030 +:0431A300EE0308AD82 +:0431A40082C0269728 +:0431A50081B06697F8 +:0431A600E8420120DA +:0431A70000020322FD +:0431A800214FA5010D +:0431A9002092000070 +:0431AA0020D3FF56D9 +:0431AB004C02E2A050 +:0431AC005802112094 +:0431AD00E90310F32F +:0431AE00B6C3025151 +:0431AF0021D30459CB +:0431B000C40315201F +:0431B1000000E0CF6B +:0431B200908F2501D4 +:0431B300E012000026 +:0431B4001697011851 +:0431B50010A6827C62 +:0431B60000A2000172 +:0431B700269700FE59 +:0431B8001E9783C01B +:0431B900251982C092 +:0431BA0094207609DE +:0431BB00288138101F +:0431BC0015601499ED +:0431BD002281C402A5 +:0431BE002409048557 +:0431BF000002941264 +:0431C0002C3B06019D +:0431C100D640247B55 +:0431C2002E97000044 +:0431C300E01A83C0CB +:0431C4003DFB00E0EF +:0431C500E41294205C +:0431C60014CF90B3DF +:0431C700347B000055 +:0431C800A08180332F +:0431C900200410735B +:0431CA0047006280D8 +:0431CB0002510000AD +:0431CC0000029CC49D +:0431CD00826016976F +:0431CE00FF80147AF0 +:0431CF00827C169751 +:0431D000000710A63E +:0431D100183478A393 +:0431D20018C400011C +:0431D3004CD5710462 +:0431D400033F103471 +:0431D5001050108402 +:0431D600900030A88D +:0431D70000011034AF +:0431D80070E410840B +:0431D90020344A95BF +:0431DA002104033F8A +:0431DB00292811503E +:0431DC0058D5900032 +:0431DD00033F183460 +:0431DE00105418C4AD +:0431DF00900020E854 +:0431E00010345695BC +:0431E1001084033F14 +:0431E20018A81154C4 +:0431E3001034900014 +:0431E4001084033F11 +:0431E50030A81010EE +:0431E6001034900011 +:0431E7001084033F0E +:0431E80028A81110F2 +:0431E900103490000E +:0431EA001084033F0B +:0431EB0020A81014F4 +:0431EC00103490000B +:0431ED001084033F08 +:0431EE0018A81114F8 +:0431EF00031B90002E +:0431F0000002DF00FA +:0431F10003401D1B5F +:0431F200303B00046A +:0431F300111B283B49 +:0431F400000B064086 +:0431F500DEC412130F +:0431F6007FE102A4CF +:0431F700000084CF81 +:0431F800C41094204B +:0431F900E830042096 +:0431FA00029BE3034E +:0431FB001233803BD0 +:0431FC003DBBE303F1 +:0431FD000462E3C3C2 +:0431FE00002000B8F5 +:0431FF001034C415AF +:04320000108403FD36 +:04320100153301FF81 +:0432020082C0869769 +:0432030007F9103483 +:0432040005FB108432 +:0432050015441573E4 +:04320600142000018F +:0432070022FDEC10A8 +:04320800029C1444CC +:043209002087268173 +:04320A002C3BFD70EC +:04320B0071C0001975 +:04320C001E970015F4 +:04320D0090E0815478 +:04320E0018A0E4031D +:04320F001004C413D0 +:04321000A081018018 +:04321100FE70989221 +:04321200018014D64D +:0432130004A324FBF1 +:043214000180200411 +:04321500DC002D7B31 +:043216001697000007 +:043217008697827C98 +:0432180018AE82ACBE +:0432190008E30001C5 +:04321A00000710A6F3 +:04321B00FC2A00A2E7 +:04321C0083A42697CA +:04321D008004012008 +:04321E000006210481 +:04321F0082C02E97A4 +:04322000001571C064 +:0432210026811913D6 +:0432220014121173FE +:0432230081730002B1 +:0432240011538113AE +:04322500FC06141A75 +:0432260082601E970D +:043227004689029B37 +:04322800849118D3A2 +:04322900FE1018A2D9 +:04322A00827C1697F5 +:04322B00000110AEE0 +:04322C00200408ABC7 +:04322D00470062658F +:04322E00A8340000C0 +:04322F00B0340002B5 +:04323000B8340001AD +:04323100999300016C +:04323200AD44883BE4 +:04323300B58493FCCF +:04323400BDC46E386F +:04323500CB836E28B1 +:043236000008146612 +:04323700A804DCAB60 +:04323800E343000369 +:043239001697FFE104 +:04323A00DEC48484E6 +:04323B0029F3FC80F7 +:04323C0000443EE725 +:04323D00A1BBB93B3D +:04323E00169708AB2C +:04323F0008DB848C98 +:0432400011D376B57B +:04324100000110A6D2 +:04324200010400A2E1 +:04324300831816973F +:0432440000009834BA +:0432450009FC9CC420 +:04324600103411B37C +:0432470010840000EF +:043248001273110CE0 +:04324900B8A0029B8C +:04324A001C33E4034A +:04324B0082A48E9734 +:04324C0000F6B8A22E +:04324D0000008034C9 +:04324E000000B03498 +:04324F00318484043E +:043250003190B58480 +:0432510020AE11D3C7 +:043252000122000154 +:04325300A83400EEAD +:04325400AD44000085 +:04325500012025002F +:0432560015C4495200 +:043257001919000140 +:04325800581214A054 +:0432590000101494B9 +:04325A00149412F3C3 +:04325B001333002009 +:04325C000004034027 +:04325D0081702697BF +:04325E00696401207E +:04325F000040190B07 +:0432600005E2000182 +:04326100169700C4F8 +:0432620010A6827CB4 +:0432630000A20007BE +:04326400152E00B46F +:0432650000AA0001BA +:04326600169700BCFB +:04326700389581DC39 +:043268000004211429 +:043269000003DC4042 +:04326A0081DC169756 +:04326B000004203407 +:04326C003A95591125 +:04326D0000042954DC +:04326E00001260C02A +:04326F000002203405 +:043270005911575B3E +:04327100001260C027 +:043272000004203400 +:043273002104575B80 +:0432740060C0001C1A +:0432750010340012FF +:0432760010970001AC +:04327700183471088E +:0432780018C4033F34 +:04327900109F10444E +:04327A00109400FFAD +:04327B0010E8D40083 +:04327C00103490007A +:04327D0010970001A5 +:04327E00183470E8A8 +:04327F0018C4033F2D +:04328000109F114446 +:04328100109400FFA6 +:0432820010E8D4007C +:0432830008C39000EC +:043284008310169706 +:043285000000983479 +:0432860009A09CC43B +:04328700103411B33B +:0432880010840000AE +:0432890012730FE0CD +:04328A008034DF436A +:04328B00B03400005B +:04328C0084040000B6 +:04328D00B5843AD0FA +:04328E00E1033B64B9 +:04328F000000A8345F +:0432900009CCAD4474 +:04329100E180E203F3 +:043292001697000289 +:0432930010AE827C7B +:0432940000A200078D +:04329500BE97FF3CA5 +:04329600283B825CF3 +:0432970005E02F3DE2 +:043298005A0048662A +:043299001193001677 +:04329A00029C2EC4A0 +:04329B000E99BFBD0C +:04329C0001C3203B0F +:04329D001993103B36 +:04329E00003218A240 +:04329F006F81091121 +:0432A00025E25F4183 +:0432A1001E97FFEE87 +:0432A200109B828477 +:0432A3004689203BFD +:0432A400EC111C60AD +:0432A500DF001441F1 +:0432A60011D300023E +:0432A700000110AE64 +:0432A80000FE00AA7A +:0432A900C417002026 +:0432AA001000E0042C +:0432AB000699044339 +:0432AC0019A00491D0 +:0432AD003741C408D9 +:0432AE0000008A2F63 +:0432AF00000000EF2C +:0432B00025FBF68381 +:0432B1000000684071 +:0432B2009000E0A800 +:0432B3000001BDC495 +:0432B4008254169793 +:0432B500FFEA15FA1D +:0432B60082A4269731 +:0432B700A980283B87 +:0432B80020040000EE +:0432B9002180025816 +:0432BA001697000360 +:0432BB0000A2838C5E +:0432BC0024BB00B679 +:0432BD00020A3004CD +:0432BE000640283B63 +:0432BF00575B000B4E +:0432C0008409247BDE +:0432C100838C16974D +:0432C200231324AB03 +:0432C300020A3004C7 +:0432C4000640283B5D +:0432C500B834000B0E +:0432C600BDC4033F41 +:0432C700089B183C0C +:0432C800900015E875 +:0432C900247B575BB0 +:0432CA0005E8840986 +:0432CB0011939000CB +:0432CC00000A10BE26 +:0432CD00D20004A384 +:0432CE00303B00028F +:0432CF0000A228042D +:0432D000064024BBD5 +:0432D100575B000B3C +:0432D2008409247BCC +:0432D3000001152EB3 +:0432D400283B36A3BA +:0432D500CD80253B48 +:0432D600253B000292 +:0432D700000255C0DC +:0432D8002804303B5B +:0432D90024BB00A270 +:0432DA00000B06409F +:0432DB0081B0169711 +:0432DC00411B3AA3B5 +:0432DD008409575BAE +:0432DE0055C0253B77 +:0432DF0030AB00020E +:0432E000253B055B2A +:0432E1000002CD809A +:0432E20010A611D34E +:0432E30000A2000144 +:0432E400E034015C75 +:0432E500E7040001F9 +:0432E60002B36EE4DD +:0432E700C4170020E8 +:0432E8007F800AC316 +:0432E900E6030002F6 +:0432EA00E90322D3FF +:0432EB00F883091B40 +:0432EC00F883858955 +:0432ED0025FB283B5A +:0432EE0025FB8549EE +:0432EF001DB31BF3FD +:0432F000157313B38C +:0432F10000008C004D +:0432F20012931373AD +:0432F300029C1EC457 +:0432F4000499383BC6 +:0432F50012332681E9 +:0432F6006E81129340 +:0432F70011E211933C +:0432F80005E0009E4F +:0432F9002EFD4862FC +:0432FA0024C132B306 +:0432FB00BDC41B93A0 +:0432FC0006B5000112 +:0432FD0016B51BD314 +:0432FE00825C169741 +:0432FF00FFB415FA09 +:04330000838C2E97F5 +:043301000160203B0C +:04330200A980800519 +:0433030020040000A2 +:043304002180012CF7 +:043305001697000314 +:0433060002A3838C0F +:0433070022D392F348 +:043308000086300407 +:043309000640283B17 +:04330A00575B000B02 +:04330B008409247B92 +:04330C00838C169701 +:04330D00055B34AB7D +:04330E00A980203B37 +:04330F002004000096 +:043310002180012CEB +:04331100231300037F +:0433120000863004FD +:043313000640283B0D +:04331400B834000BBE +:04331500BDC4033FF1 +:04331600089B183CBC +:04331700900015E825 +:04331800247B575B60 +:0433190005E8840936 +:04331A00119390007B +:04331B00000A10BED6 +:04331C00D20004A334 +:04331D00002000028A +:04331E000020C417B0 +:04331F001743C41C70 +:043320002B3D29FB1D +:043321003CB334F392 +:0433220000005C400B +:0433230034D33C93D0 +:04332400121320ABB5 +:043325008000180408 +:0433260006AD35FBC0 +:0433270020042F3B14 +:0433280047005643C1 +:04332900121300007B +:04332A0014913C932B +:04332B0012330FD179 +:04332C0021BBE4C31A +:04332D0034B33CF386 +:04332E001B5384C9E0 +:04332F00349322139E +:04333000072DB6812E +:0433310082C41E979D +:043332003CD3235312 +:04333300E88300E04B +:043334000152D8C1A9 +:04333500283B00022F +:04333600BAC1554182 +:04333700000200D2BE +:043338001253183BD9 +:0433390021BB57411C +:04333A0080893CB397 +:04333B00E034F70380 +:04333C00E7040001A1 +:04333D00D4436E2CDB +:04333E0082C41E9790 +:04333F0000E0273B48 +:043340001A33E863F1 +:0433410000008C00FC +:0433420026811A13B3 +:0433430082A41E97AB +:0433440000021892D9 +:0433450028FB18BB8E +:043346001A33273BD4 +:043347000000A5C01D +:04334800482205E032 +:04334900029C1EC400 +:04334A00199326812C +:04334B00C4061DE0B7 +:04334C0035E21A1339 +:04334D00E704006829 +:04334E0016970001CD +:04334F00173A825C4B +:043350002004FFB6A0 +:043351002180012CAA +:04335200303B000309 +:043353000222280426 +:04335400064024BB50 +:04335500575B000BB7 +:043356008409247B47 +:043357000001152E2E +:04335800283B36A335 +:04335900CD80253BC3 +:04335A00253B00020D +:04335B00000255C057 +:04335C002804303BD6 +:04335D0024BB022269 +:04335E00000B06401A +:04335F0081B016978C +:04336000411B5EA30C +:043361008409575B29 +:0433620055C0253BF2 +:0433630054AB000265 +:04336400253B055BA5 +:043365000002CD8015 +:04336600803B883BE5 +:04336700288F104358 +:04336800216E0000D2 +:04336900312380008C +:04336A0082C426975C +:04336B00594157412C +:04336C00E844012010 +:04336D000152D941EF +:04336E00283B0002F6 +:04336F0082A026977B +:04337000000229121C +:043371001233293BAF +:0433720025FB1253D2 +:043373001AB332F364 +:0433740032D3808947 +:0433750012131A9382 +:043376000001BDC4D1 +:04337700EA43149180 +:04337800F403091B36 +:04337900F40385894B +:04337A00243B283B8D +:04337B00042085495C +:04337C00243B487630 +:04337D00483204606E +:04337E001DB31573F3 +:04337F0000008C00BE +:043380002EBD123319 +:04338100C41615A0B9 +:0433820014A0BEBD18 +:043383000020C41250 +:043384001193C417C6 +:04338500C41CBC6048 +:0433860000A615E2A6 +:0433870000118F3B67 +:04338800825C1697B6 +:04338900FFC0143A33 +:04338A00DF00031B42 +:04338B001413000215 +:04338C0000C000AAD3 +:04338D00000188347F +:04338E006E2C8C44D1 +:04338F00023311D321 +:0433900010A6803BC8 +:0433910012F3000132 +:04339200004416C617 +:04339300133302B33B +:04339400825C1697AA +:0433950000A6143A40 +:0433960003401D1BB8 +:04339700303B0004C3 +:04339800111B283BA2 +:04339900000B0640DF +:04339A00827C169784 +:04339B00000710A671 +:04339C00152648A307 +:04339D0042A3000146 +:04339E0000011834DE +:04339F00710818D7C2 +:0433A000033F1034A3 +:0433A1001044108440 +:0433A200900018A8D7 +:0433A30000011834D9 +:0433A40070E818D7DE +:0433A500033F10349E +:0433A600114410843A +:0433A700900018A8D2 +:0433A80081DC169717 +:0433A900DC40389537 +:0433AA00169700036F +:0433AB00203481DC6D +:0433AC0059110004AF +:0433AD0060C03A952D +:0433AE001293001264 +:0433AF000380DEC4F5 +:0433B0002DFB7FE191 +:0433B1005C4025BB9C +:0433B20022A3000052 +:0433B3002B3D2DFB86 +:0433B40000005C4079 +:0433B500273B18A3F7 +:0433B6001A1384C999 +:0433B70005E0A68106 +:0433B800BDC4482325 +:0433B9001CA0000153 +:0433BA0004EDC40357 +:0433BB001004E48393 +:0433BC00FD4380004D +:0433BD00000188344F +:0433BE006E888C4445 +:0433BF001213E7C33B +:0433C000E697BEFDD1 +:0433C100049982A049 +:0433C2001B733681C2 +:0433C300029C1EC486 +:0433C40013B3268198 +:0433C5001193183B0D +:0433C60000E610E22B +:0433C70000A212D37B +:0433C80014190106CD +:0433C90003E81ED720 +:0433CA00B09724C1D3 +:0433CB00B02000002E +:0433CC002DBBE41C15 +:0433CD00A5C0243B38 +:0433CE0096970000CE +:0433CF00103482A094 +:0433D000AA1300013B +:0433D1000001503473 +:0433D2006E381084BD +:0433D30001F39CBBAB +:0433D400C4170020FA +:0433D5006E28528488 +:0433D600119313F349 +:0433D70000F215E209 +:0433D8001993121320 +:0433D9001233268104 +:0433DA00835416976B +:0433DB0021D35AABF5 +:0433DC005A0028FB70 +:0433DD0028BB000009 +:0433DE00A8BB243B29 +:0433DF00000110C019 +:0433E00003E416D715 +:0433E1001E9714AB74 +:0433E200208182586C +:0433E30094E02681CB +:0433E40000D2C4034C +:0433E500183B00028F +:0433E600131306A512 +:0433E70036972AA348 +:0433E800901283C0FC +:0433E900981A00042A +:0433EA00183401D4BE +:0433EB0018C4000101 +:0433EC0099336E287B +:0433ED00A8B390F3FE +:0433EE001833B0736D +:0433EF002C7B3C3BBC +:0433F00057C320049B +:0433F1000000470091 +:0433F20001BC901278 +:0433F30040159820C9 +:0433F40010A31313FC +:0433F50016971819F6 +:0433F60034FB846CB4 +:0433F70048812CBB22 +:0433F8000001D98077 +:0433F900000E056A53 +:0433FA0083C03697BF +:0433FB0020042C3B43 +:0433FC00CAC0009BA8 +:0433FD001293000126 +:0433FE00A8A0001172 +:0433FF0012B35802AB +:0434000004D9C9C35F +:043401002B93235393 +:04340200254145011A +:043403000000108F26 +:043404000000210F94 +:04340500F51945016F +:0434060000A0288179 +:04340700E092E82245 +:04340800E0BB000223 +:04340900DDC306D148 +:04340A00834C169742 +:04340B00E02012A308 +:04340C000592E4162B +:04340D000020FEFCA1 +:04340E000020C416C0 +:04340F00DE43C41CB8 +:0434100082C41697C5 +:04341100E88200A0AD +:04341200E416E0A03C +:04341300E41C17207E +:0434140005E0FC03D0 +:043415002393482293 +:0434160034C11B534F +:04341700308F2501CC +:0434180018CF0000C9 +:043419004CC10000A2 +:04341A002881F519F7 +:04341B00E82200A003 +:04341C00E405E0A043 +:04341D000002015256 +:04341E0014F3283B40 +:04341F00257B11D325 +:043420002A81553375 +:04342100125311F33E +:043422001C7334B330 +:0434230080892C333D +:043424002C131C53F6 +:0434250020EE3493CE +:0434260014D380003B +:043427000122551316 +:04342800B4C1008E9D +:04342900000290D23B +:04342A0021AE90FB44 +:04342B0001228000FA +:04342C00AC810082ED +:04342D00000298926F +:04342E0026D798BB4A +:04342F001D2B03E46A +:04343000019264C1E0 +:04343100303B00022A +:043432006D2322D311 +:0434330082583E97E6 +:0434340003E426D7B0 +:04343500C404A92002 +:043436000D254F0110 +:0434370047232313F1 +:04343800369722D3CE +:04343900592383C0D0 +:04343A000004181260 +:04343B00004C101A17 +:04343C00113322BB6B +:04343D0028B318F3A5 +:04343E002C7B203390 +:04343F005798200476 +:043440003C3BB073EE +:043441001C331473B1 +:04344200470054B338 +:04344300145300001E +:0434440005601C13F0 +:0434450030BB48440C +:0434460084741697DD +:04344700488128FB95 +:043448000001D98026 +:04344900BDC4549317 +:04344A00AD4400018C +:04344B00C543000174 +:04344C00EE03183B38 +:04344D00EF83103BBE +:04344E00F283383B92 +:04344F00F64323D34A +:04345000000418124A +:043451000032101A1B +:04345200117322BB15 +:0434530028F319330E +:043454002C7B20733A +:0434550057A0200458 +:04345600B833B0B324 +:0434570014733C3B73 +:0434580054B31C331A +:043459000000470028 +:04345A001C131453D8 +:04345B00484405607C +:04345C0028FB30BB5E +:04345D00847C1697BE +:04345E0023D3F483FD +:04345F001834F983A1 +:0434600018C400018B +:04346100C5436E38B9 +:043462000001A804B9 +:04346300003BC8431F +:04346400917BDFE198 +:0434650081FB85E979 +:04346600000394A625 +:0434670000BCAED720 +:04346800B1BBA13B18 +:04346900AD80C00B67 +:04346A0004A20003B5 +:04346B0088BB006AB0 +:04346C00834C1697E0 +:04346D00169762ABA1 +:04346E000CAB84849B +:04346F00848C1E9794 +:043470000001103413 +:0434710074F5249139 +:04347200A833007308 +:0434730035BB3C3BEE +:04347400253B055B94 +:04347500000C8E4079 +:0434760000089EC4E8 +:0434770000202449C4 +:04347800BCFBC412C3 +:04347900825C1697C4 +:04347A00001814BA68 +:04347B00A833B87347 +:04347C0035BB3C3BE5 +:04347D00253B035B8D +:04347E00000C8E4070 +:04347F00580214607B +:043480005FE105E91A +:043481008C0024BBDC +:0434820014F700003B +:04348300948400002D +:043484009CC40001E3 +:04348500F9830004C3 +:04348600848416978D +:04348700169708ABE1 +:0434880008DB848C4D +:04348900007376B5A1 +:04348A003C3BA833EC +:04348B00055B35BBED +:04348C008E40253B0E +:04348D00F903000C33 +:04348E002697DBE1C1 +:04348F002E97825C96 +:0434900090E98158E6 +:04349100103B02FDED +:0434920000461122BD +:0434930000019004A0 +:0434940000949EC43E +:0434950080A08697F6 +:0434960000B8042254 +:04349700383B9833F3 +:04349800075B039B30 +:043499001900203BBB +:04349A0090BB000DD6 +:04349B0000A400AADF +:04349C000004B6C4AE +:04349D00C414002033 +:04349E001697883BBA +:04349F001472825CC5 +:0434A0000522008E73 +:0434A100AE97008E54 +:0434A20002DB8310B6 +:0434A300C415AC2080 +:0434A4000AF50283A0 +:0434A50026D1049197 +:0434A60084E0F5C306 +:0434A7000485C402D2 +:0434A800183B02A328 +:0434A900AC22001140 +:0434AA001697FFF082 +:0434AB0018AB82ECEC +:0434AC008258269785 +:0434AD00014814447A +:0434AE00C402D8A0DC +:0434AF0010862881DA +:0434B00000A0FF4C2D +:0434B10004C98002C8 +:0434B200869740E3D6 +:0434B300169782C026 +:0434B4001D97815887 +:0434B50024010000EE +:0434B600002E10D202 +:0434B700E8500420B5 +:0434B8000601247B6A +:0434B90085B72C3B6C +:0434BA00D6400000F8 +:0434BB00203B0000B2 +:0434BC000001C580C6 +:0434BD002C7B343BF5 +:0434BE005C7C20040E +:0434BF0000004700C2 +:0434C000B58402517C +:0434C100857B000403 +:0434C200A004EE0371 +:0434C300FE03000103 +:0434C400FF40052A96 +:0434C50010E914BB3B +:0434C600003B5BE18B +:0434C700A13BD461F0 +:0434C8000020917BD4 +:0434C900803BC4136D +:0434CA0081AC168635 +:0434CB00001710BE18 +:0434CC00089B62A354 +:0434CD000010143A9D +:0434CE00283B303B2C +:0434CF00006924BBB1 +:0434D000C8FC3EE80E +:0434D10000061708D2 +:0434D200C4150020FD +:0434D300347B883B83 +:0434D400253B2C3B2D +:0434D50000061700D6 +:0434D60083F81697CA +:0434D700108CC495FC +:0434D8002CA38000A1 +:0434D9001697039BA4 +:0434DA009D6080DC95 +:0434DB0003DBC40348 +:0434DC001033268102 +:0434DD00031B055B6D +:0434DE00000D1900C4 +:0434DF00146602511C +:0434E000AD440004F3 +:0434E100C6A300B4CA +:0434E2009CC4001175 +:0434E300F30302D01D +:0434E400FA43659BA7 +:0434E500F383049BCE +:0434E600848416972D +:0434E700DEC4D3E18B +:0434E80008ABF058E5 +:0434E900848C169722 +:0434EA0076B516DBC2 +:0434EB0083FC1697B1 +:0434EC00210C7895A2 +:0434ED00212E000587 +:0434EE00164000057F +:0434EF00168600122B +:0434F00010B681ACE5 +:0434F10000A200171E +:0434F20016C40110EB +:0434F300123D04A4DE +:0434F400026496C414 +:0434F50069922004B4 +:0434F60080DC16B7A9 +:0434F70080D086B744 +:0434F80080D496B72F +:0434F90080E886B72A +:0434FA0080E4DEB7D5 +:0434FB000000470086 +:0434FC0081AC168603 +:0434FD00001710B6EE +:0434FE0000F600A232 +:0434FF000003203472 +:04350000283B303BF9 +:04350100010121049F +:04350200035B1E0346 +:0435030082C0243B23 +:04350400283B00025E +:04350500DA40243B49 +:04350600303B00094D +:04350700247B283BBE +:0435080080E896B70A +:0435090080E49EB705 +:04350A0080DCA6B704 +:04350B0080D806B7A7 +:04350C0080D406B7AA +:04350D0080D006B7AD +:04350E00000617009C +:04350F0082E41697A5 +:04351000000110A600 +:04351100200408A3E7 +:043512004700692FD6 +:043513002004000090 +:0435140047006933D0 +:043515001686000016 +:0435160010B681ACBE +:0435170074A3001782 +:04351800155B0B1B19 +:04351900000D31C0B0 +:04351A0081AC1686E4 +:04351B00001710BEC7 +:04351C00169726A335 +:04351D0010A682E48E +:04351E0008A30001FD +:04351F0069432004D8 +:043520000000470060 +:0435210069462004D3 +:04352200000047005E +:043523002200280456 +:04352400050020047A +:04352500000D31C0A4 +:04352600203B2C3BDF +:043527000009DA407D +:0435280080A01697D2 +:0435290000C200A23A +:04352A0016970011DF +:04352B00141A82E408 +:04352C001E86FF58A0 +:04352D0018FE81AC57 +:04352E0000E20017A0 +:04352F001096FF0CE7 +:0435300000A20002F3 +:04353100203BFF0438 +:043532000FE4DEC400 +:04353300C87C3EE82A +:043534000012164823 +:043535000505200464 +:043536008834F103E1 +:04353700803B0007CE +:04353800026496C4CF +:0435390000249EC408 +:04353A0004A4A6C47B +:04353B0001018C44BA +:04353C00303BF70326 +:04353D002014283BF3 +:04353E0017008200F0 +:04353F00883B0006BF +:0435400082E4169774 +:043541000014145A04 +:0435420069BC20043C +:04354300000047003D +:04354400283B303BB5 +:043545001700251B2B +:04354600F543000643 +:04354700283B303BB2 +:043548000004203427 +:0435490080E886B7D9 +:04354A0080D896B7D8 +:04354B00000617005F +:04354C00247B035B7E +:04354D00000282C036 +:04354E00247B283B77 +:04354F000009DA4055 +:0435500069AE20043C +:04355100000047002F +:043552000B1B115BE3 +:04355300000D31C076 +:04355400247B283B71 +:043555000009DA404F +:0435560080A01697A4 +:043557000090840458 +:0435580000909484C7 +:04355900025104A374 +:04355A00DEC4F2C316 +:04355B0053E10FA881 +:04355C001697FFE1DE +:04355D00DEC48484C0 +:04355E0021F3FC4019 +:04355F0036E73A739E +:04356000817B003B30 +:04356100169708AB06 +:043562000CDB848C6E +:04356300AD8076B50C +:0435640012B300039B +:04356500827C1697B7 +:04356600000710A6A4 +:04356700009800A226 +:043568000001283402 +:04356900710429447C +:04356A00103447557D +:04356B001084033F86 +:04356C0018DF105004 +:04356D0018D4FF006F +:04356E0018A8003C5D +:04356F002034900074 +:043570002104000131 +:04357100451570E4A8 +:04357200033F3034AF +:04357300115031843E +:04357400FF00109FA5 +:04357500007E109430 +:04357600900011A808 +:04357700033F3034AA +:04357800101031847A +:04357900900019A8FD +:04357A00033F1834BF +:04357B00111018C44F +:04357C00900010E8C3 +:04357D00103457555A +:04357E001084033F73 +:04357F0018DF1054ED +:0435800018D4FF005C +:0435810018A8007E08 +:04358200551590004B +:04358300033F2034AE +:0435840011542104B9 +:04358500FF00109F94 +:04358600003C109461 +:043587009000112877 +:04358800033F2034A9 +:0435890010142104F5 +:04358A00900019286C +:04358B00033F1834AE +:04358C00111418C43A +:04358D00900010E8B2 +:04358E000340203B9B +:04358F002A7D00048D +:0435900003003034D0 +:04359100183B2C7B3C +:0435920000C03184C0 +:0435930082601697A5 +:0435940000EC10FA3D +:0435950082C0169743 +:043596008170269783 +:043597002120049952 +:043598000911CD8CBC +:04359900C3C0133365 +:04359A009697000000 +:04359B00A69782600D +:04359C00283B831035 +:04359D00486604A0D8 +:04359E009E974F3D68 +:04359F005A00830C3F +:0435A00005200016EC +:0435A1002C7B482215 +:0435A2001233203B85 +:0435A30011B3DEBDC5 +:0435A40016C4319385 +:0435A500117302DCC0 +:0435A60024A238BB68 +:0435A700169700E48F +:0435A80002DB828040 +:0435A9008491203BAE +:0435AA00A83444C934 +:0435AB00B034000236 +:0435AC001B7303008A +:0435AD0000201B13CC +:0435AE00AD44C41351 +:0435AF0010E093286D +:0435B00010DBEC122E +:0435B1004C0210E0D8 +:0435B2001000B584CC +:0435B300C41214A08A +:0435B4000002DF0032 +:0435B5008260169783 +:0435B600011214FAF0 +:0435B7002804303B79 +:0435B800051B00A14E +:0435B900000B0640BD +:0435BA0024BB095BCA +:0435BB0000031840B1 +:0435BC000001142EC8 +:0435BD00283B3CA3C8 +:0435BE00CD80243B5D +:0435BF00243B0002A7 +:0435C000000255C0F0 +:0435C1002804303B6F +:0435C200051B00A144 +:0435C300000B0640B3 +:0435C40081B0169725 +:0435C50000DC00A284 +:0435C600095B411B41 +:0435C70000031840A5 +:0435C80055C0243B8B +:0435C90000AA000252 +:0435CA00055B00CECF +:0435CB00CD80243B50 +:0435CC00B9530002ED +:0435CD00009C9EC4FC +:0435CE00C41C0020F9 +:0435CF001EC3883B54 +:0435D000827C16974C +:0435D100000510AE33 +:0435D20018D932A32F +:0435D30081C4169702 +:0435D40004952881B1 +:0435D50010A82C8985 +:0435D60026978000B4 +:0435D700012082C08D +:0435D8000120E827BF +:0435D900AE81E84493 +:0435DA002096A8810E +:0435DB000523018043 +:0435DC000180100456 +:0435DD0006D1056DA1 +:0435DE00DA031B51A0 +:0435DF008154169766 +:0435E000103BFB039E +:0435E100000C14E2E4 +:0435E20009111213A6 +:0435E30065811B5192 +:0435E400E0C375C10A +:0435E500414E0699B4 +:0435E600531300007B +:0435E700C40919A05A +:0435E80042A037C105 +:0435E900526FC40A4F +:0435EA0040EF0000AE +:0435EB000491000047 +:0435EC001E97FA43E9 +:0435ED00A56082F85B +:0435EE001CE0C40217 +:0435EF0026814C03E2 +:0435F0000120088529 +:0435F100213449A494 +:0435F200630003006F +:0435F3001C4F000069 +:0435F400B0A0000083 +:0435F50018A85802B8 +:0435F600A504900098 +:0435F7001697000122 +:0435F800153A8300FD +:0435F9009CC4FFCCA3 +:0435FA001251000169 +:0435FB000020DCC30D +:0435FC00FD43C414B3 +:0435FD00E443091B7F +:0435FE0000031900AD +:0435FF00247BE44302 +:0436000000025EC0A6 +:043601001AF3A8BB55 +:043602001D3314F36D +:043603000020B5FBF3 +:043604001697C4143D +:04360500E520830C2D +:04360600153AC403AA +:0436070012D30036A4 +:043608000000ACF71B +:0436090014F702515F +:04360A001213000493 +:04360B0000089CC453 +:04360C0015E0E0FBEA +:04360D001697C41731 +:04360E00147A826048 +:04360F00A153FFC004 +:04361000C4150020BD +:04361100C4130020BE +:043612008260169725 +:04361300007214F23B +:043614000A83883B62 +:04361500273D2D3BE5 +:043616005C401BF306 +:043617001BD30000C1 +:0436180016971EAB38 +:04361900353B82AC0F +:04361A0015AF2C7B41 +:04361B002004000087 +:04361C00470063847C +:04361D00A504000000 +:04361E00B58400016E +:04361F00F243000270 +:043620009B0020FBF0 +:0436210015AF0000E1 +:04362200FD43000064 +:043623001697065997 +:04362400025182C00D +:04362500C4031D209D +:04362600000028CFA9 +:0436270000A0554169 +:04362800D541E8425E +:043629000000DA00C3 +:04362A00830C169760 +:04362B00C404AC60C7 +:04362C00FFD8147A35 +:04362D009CC4121314 +:04362E00A93B0001B3 +:04362F00C41415208A +:04363000303BF0C378 +:043631000221280446 +:043632000640051B2E +:04363300095B000B24 +:04363400184024BB5B +:04363500142E00034C +:0436360038A30001B4 +:04363700243B283BCD +:043638000002CD803F +:0436390055C0243B19 +:04363A00303B00021F +:04363B00022128043C +:04363C000640051B24 +:04363D001697000BD1 +:04363E0022A381B092 +:04363F00095B411BC7 +:04364000000318402B +:0436410055C0243B11 +:0436420016AB0002C1 +:04364300243B055BC4 +:043644000002CD8033 +:04364500002091933D +:04364600883BC414E5 +:04364700091B070351 +:043648001900FB83E7 +:04364900FB830003FC +:04364A00487304605D +:04364B005EC0247BBE +:04364C0014F3000271 +:04364D001D334EBD1E +:04364E00C41398A069 +:04364F00C41600207D +:04365000830C16973A +:04365100C415A5A057 +:04365200012A15BA7A +:0436530002511213FB +:0436540014A0A57B9E +:043655001697C412EE +:04365600147A826000 +:04365700031BFFCA88 +:0436580000018426C3 +:043659000002DF008C +:04365A00013E042207 +:04365B000001103426 +:04365C006E2C10843C +:04365D0016C6137307 +:04365E008834003B71 +:04365F000020000146 +:04366000803BC412D5 +:04366100C41500206C +:043662008C4412F38F +:0436630016976E2820 +:04366400157A8260F1 +:043665001697011E95 +:0436660010A6827CAC +:0436670078A300073D +:043668000001183411 +:04366900710418C40C +:04366A0010344CD5F7 +:04366B001084033F85 +:04366C0030A8105022 +:04366D001034900085 +:04366E0010840001C3 +:04366F004A9570E424 +:04367000033F2034C0 +:0436710011502104CF +:043672009000292873 +:04367300183458D5DA +:0436740018C4033F34 +:0436750020E81054E5 +:0436760056959000D5 +:04367700033F1034C9 +:043678001154108455 +:04367900900018A8FD +:04367A00033F1034C6 +:04367B001010108497 +:04367C00900030A8E2 +:04367D00033F1034C3 +:04367E001110108493 +:04367F00900028A8E7 +:04368000033F1034C0 +:04368100101410848D +:04368200900020A8EC +:04368300033F1034BD +:043684001114108489 +:04368500900018A8F1 +:0436860000A211D3BA +:04368700169704A8E6 +:0436880010AE827C82 +:0436890000A2000596 +:04368A001697049CEF +:04368B001E978350B3 +:04368C0026898348C0 +:04368D00048E00AAFD +:04368E000340071BD3 +:04368F001697000486 +:043690000EAB848475 +:04369100848C1E9770 +:0436920000011034EF +:043693000006108499 +:04369400051B74F5A9 +:043695002834303B6A +:04369600064000806A +:043697001953000BB8 +:04369800825486973B +:04369900031B103BC4 +:04369A00142A16D107 +:04369B0020EF015CBF +:04369C00049100D6BF +:04369D002DBBFE4300 +:04369E005C4024FB6D +:04369F0024A3000060 +:0436A000273D2DBBDA +:0436A10000005C4089 +:0436A200257B1AA3C7 +:0436A30000009B0088 +:0436A400A6811B538D +:0436A500482305A011 +:0436A6000001B584E6 +:0436A700C4031CA09C +:0436A800D38304EDD7 +:0436A9000180100488 +:0436AA001034FD4398 +:0436AB001084000186 +:0436AC00D8036E8849 +:0436AD0082AC16973E +:0436AE00000148349B +:0436AF00C41400201F +:0436B000FE8098847C +:0436B10044FB119332 +:0436B2006E384A44E0 +:0436B300C40214A099 +:0436B400115313F3A8 +:0436B500C40214A097 +:0436B600269714330C +:0436B700253A830C21 +:0436B8009812004420 +:0436B900402000DECF +:0436BA0012D34014D3 +:0436BB00056012A3F1 +:0436BC0016974844D1 +:0436BD00323B8460B8 +:0436BE0048812CFB18 +:0436BF000001D980AD +:0436C000000E052AC9 +:0436C10083C03697F5 +:0436C20020042D7B38 +:0436C300CAC0009BDE +:0436C400129300015C +:0436C5000001AD440F +:0436C6005802A0A066 +:0436C700121312B315 +:0436C800C41214A074 +:0436C90013D3CD0347 +:0436CA00482405206B +:0436CB0044734CB345 +:0436CC0014135881FA +:0436CD000000B14FF9 +:0436CE00B90F488167 +:0436CF00243B000098 +:0436D000C41CBDA0B9 +:0436D1000001E70409 +:0436D200E83C0720A9 +:0436D300DA002F3BAF +:0436D400E5A000006D +:0436D5004453E41660 +:0436D6009D924C93E2 +:0436D7009DBB000295 +:0436D800E417BF2014 +:0436D900000245D2D4 +:0436DA00125345FB47 +:0436DB00408108AB77 +:0436DC00C405BDA0C4 +:0436DD0012D30B25D4 +:0436DE0036973EA33A +:0436DF00B01283C0E2 +:0436E000B81A000410 +:0436E100247B003A0C +:0436E20020732B53D3 +:0436E30020043D7B07 +:0436E400B933642D65 +:0436E500E0B3B0F3AB +:0436E6004CB3A0330E +:0436E70047004473E1 +:0436E80056970000F1 +:0436E90018198478B0 +:0436EA002DBB35FBC4 +:0436EB00C40422A051 +:0436EC000001D98080 +:0436ED0044534C9363 +:0436EE000001A5042E +:0436EF00E3430011A0 +:0436F000F883227BBE +:0436F1000001A00430 +:0436F2000019E403D4 +:0436F300283B2153FC +:0436F4005A00343B09 +:0436F500343B00164C +:0436F60026C4283B83 +:0436F7005A00024C27 +:0436F8002193001604 +:0436F900283B343BFB +:0436FA0000165A005C +:0436FB0081B01E97E5 +:0436FC0082C01697DB +:0436FD0000A03AEB04 +:0436FE0004E0E89369 +:0436FF00203B4857CD +:04370000C40215E00A +:04370100DF0013F3DF +:04370200383B00024E +:04370300203B099BC3 +:04370400E9C0155BA8 +:043705003834000252 +:04370600303B030051 +:0437070039C4203B66 +:04370800169700C050 +:043709001132826097 +:04370A00131901BCD2 +:04370B00080319BBDB +:04370C00000198041C +:04370D001697F88390 +:04370E00228181C4CF +:04370F002E89049566 +:04371000800010A87D +:0437110082C02E97AD +:0437120046C400D9D0 +:04371300822002DC32 +:043714000160C4107C +:043715000160E8283F +:0437160040A0E845A2 +:04371700AA81E4029D +:04371800018028966E +:043719001004056330 +:04371A00142F0180E7 +:04371B0006D1009043 +:04371C0083182E9749 +:04371D0028BAACC159 +:04371E000911FFBCD2 +:04371F00F44330FB44 +:04372000008E2C4F9C +:043721000011243B34 +:043722000000E500BE +:04372300825416971F +:04372400143A1251F0 +:043725001034FFEA73 +:043726001084033FC9 +:0437270002DB10A809 +:04372800900018A84D +:043729000003190080 +:04372A000233883BA3 +:04372B000001B004E5 +:04372C00826016970A +:04372D0000F414721E +:04372E000020121352 +:04372F00803BC41700 +:0437300016C40E9914 +:0437310038A002DCDE +:043732001193C41417 +:04373300C41538A0E1 +:0437340089530BC3E7 +:04373500F683803B5C +:04373600247B035B92 +:04373700000250003C +:043738008308269745 +:043739001D332C3BD5 +:04373A0014F324332D +:04373B00001571C044 +:04373C0028BB24136F +:04373D003501001141 +:04373E000048197AAC +:04373F0000D8150F8A +:0437400001E400AAF6 +:04374100000805E295 +:043742000090150ED0 +:043743000000152F3E +:0437440000D8BD2FBD +:04374500000405E295 +:04374600C416002085 +:043747000090150ECB +:043748000002AD448A +:043749000002A504D1 +:04374A00C40214E0C1 +:04374B00008E152FA8 +:04374C001420121320 +:04374D001697C41CEB +:04374E00143A83188E +:04374F000251FF9A8A +:04375000ED83E233F0 +:043751001C73273D81 +:043752005C402C3378 +:0437530008A30000C7 +:043754001C532C13C3 +:04375500F4030B511D +:043756000001B804B2 +:043757001D0EF3C38D +:04375800E50E00007A +:04375900FACB009017 +:04375A008000295C66 +:04375B000000E56F16 +:04375C00800029447C +:04375D00171B0F63C4 +:04375E001C332C7379 +:04375F0000067F8061 +:043760001C132C53B7 +:04376100FFFF170C43 +:043762008000109C37 +:043763000090254F5E +:04376400800010844D +:043765001112AA8112 +:043766001F20FF76AB +:04376700156FE402F4 +:043768001D2F009081 +:04376900E56F0048C0 +:04376A00EC830048A4 +:04376B0082541E97CF +:04376C004689029BED +:04376D0084911AD356 +:04376E00001418AA81 +:04376F00C4129CA044 +:04377000909213D34D +:043771001313FF0C23 +:043772000004909A25 +:04377300FF0205AAA2 +:04377400000190348C +:043775000001983483 +:04377600003B86C6C8 +:043777006E38948490 +:043778006E289CC457 +:0437790000201A030F +:04377A00B004C412C1 +:04377B0002F3000154 +:04377C001193F9C3E9 +:04377D000090888EA2 +:04377E00FFFFA44C59 +:04377F008000A51C05 +:043780008000A5041C +:04378100006CA01226 +:043782000048B08FBC +:0437830021D31153EA +:043784000048B88FB2 +:04378500C415BDA00A +:04378600E8350560BD +:04378700E5002D7BB1 +:043788000422000017 +:0437890011D300E672 +:04378A00E406BD6034 +:04378B00E405ADA004 +:04378C0016971899DB +:04378D00488184707B +:04378E000001D980DD +:04378F004EA31253E0 +:0437900083C0369725 +:04379100009CA01ADE +:0437920011931CFB78 +:043793002B5339D3A8 +:043794000048108F4A +:043795006522200485 +:04379600E402A8A001 +:04379700115310F3C7 +:043798000048108F46 +:043799001833A873C6 +:04379A00E4021560D0 +:04379B00470010B320 +:04379C000603000020 +:04379D0083C0369718 +:04379E00200429D307 +:04379F000020009B6B +:0437A000CAC0C415C2 +:0437A10012530001BE +:0437A200029B54AB87 +:0437A30019D312B371 +:0437A4002681125315 +:0437A50082581E9791 +:0437A6000512268161 +:0437A700883B000259 +:0437A8009C2B02A5AF +:0437A900049111D3A3 +:0437AA00115311F3B3 +:0437AB0011731491F1 +:0437AC0014911193D0 +:0437AD00169711B3A7 +:0437AE0019D3825455 +:0437AF00FF3210FADB +:0437B000DF00031B18 +:0437B1001D1B0002DA +:0437B20000040340CC +:0437B300283B303B44 +:0437B4000640111B9F +:0437B5001293000B60 +:0437B60003C0DEC4AA +:0437B700029B7FE111 +:0437B800F7C312B38E +:0437B900EC431CBB06 +:0437BA00FE7205EAAC +:0437BB0082C016971B +:0437BC0000901D4F0D +:0437BD00E84200A03E +:0437BE00FE1418924B +:0437BF001AD3029B7C +:0437C0004C02E0A037 +:0437C100580210E0BA +:0437C200C08312F3BB +:0437C30000A21253FB +:0437C400F203FF7C91 +:0437C500827C169755 +:0437C600DEC4FFE17D +:0437C70010A6FDFC4F +:0437C80000A2000556 +:0437C900E697030478 +:0437CA00072A8354F3 +:0437CB00200400E8EE +:0437CC002180100048 +:0437CD001697000348 +:0437CE00289581DCDD +:0437CF000040211481 +:0437D0000003DC40D6 +:0437D10010002004C0 +:0437D200000321804F +:0437D30082548697FF +:0437D400283424BDB4 +:0437D5000019008057 +:0437D60002022004C7 +:0437D70080A0303B63 +:0437D8008560C4152F +:0437D9002041C411B6 +:0437DA00C41680A0F1 +:0437DB00064010F3A1 +:0437DC002697000B21 +:0437DD0085A08254ED +:0437DE0084A0C412ED +:0437DF00103BC410C7 +:0437E000035B183B34 +:0437E1000096192213 +:0437E20081B01E97FD +:0437E30082C01697F3 +:0437E40000AE00EA49 +:0437E500E89400A0C4 +:0437E600484305202F +:0437E700099B383BC7 +:0437E800035B24C19A +:0437E9001133203B3D +:0437EA00C4170020E0 +:0437EB000002E9C02F +:0437EC00C4130020E2 +:0437ED008254169755 +:0437EE00008C14FA3D +:0437EF0082C01697E7 +:0437F000033FB834A7 +:0437F1000300E034BD +:0437F2000020049916 +:0437F30002DBC4131E +:0437F400BDC41173CC +:0437F500E70412A82B +:0437F600111300ACFF +:0437F70000E29892C2 +:0437F800989A115337 +:0437F90000EA0004DE +:0437FA00A0D300A8B0 +:0437FB000001A834ED +:0437FC000001B034E4 +:0437FD00C4130020D1 +:0437FE00C41C0020C7 +:0437FF006E38AD442F +:043800006E28B584F5 +:043801008254169740 +:04380200019214FA21 +:04380300283B303BF3 +:043804000640111B4E +:04380500173B000B62 +:043806000204DEC416 +:0438070025BD7FE17B +:0438080001AF658126 +:043809001560000046 +:04380A0001AFC40640 +:04380B0014A0000005 +:04380C0001AFC4063E +:04380D0015A0000002 +:04380E000BADC40634 +:04380F00149106D139 +:04381000A004E843E5 +:04381100EA030001C5 +:043812009B0025FBF7 +:043813001E970000FC +:0438140004E082C08A +:0438150000E0482463 +:0438160000E0E825C1 +:043817004801E84339 +:04381800A681AA815A +:04381900018018967C +:04381A00100404E3AF +:04381B00052D0180F6 +:04381C00830C16976C +:04381D0000019CC446 +:04381E00C41715E0D6 +:04381F0004D9E6C31F +:0438200019B320FBBD +:04382100288F2401C7 +:04382200E5000000BD +:0438230019930000F5 +:04382400169706D11C +:0438250010FA8254BF +:04382600029BFFE41E +:04382700900015E810 +:043828000003190080 +:043829005DBB2C3B1C +:04382A00004846C448 +:04382B00657B54BBAA +:04382C00383B02DB48 +:04382D008254169714 +:04382E00000A11FA81 +:04382F00C413A4E03A +:04383000183BE3035B +:0438310019D9F98325 +:0438320081C816979C +:04383300049528814F +:043834005802E0A0B6 +:04383500800030A837 +:04383600000012CFAD +:0438370001A04D8B14 +:0438380030ABA00D04 +:04383900054D07AB87 +:04383A000000122F49 +:04383B0000006AEF30 +:04383C00183B03AB87 +:04383D000FD1054D55 +:04383E0015201B51E5 +:04383F00116FC4023F +:043840005AC4FFFE69 +:04384100420400023B +:0438420052840002AA +:043843006304000218 +:04384400F403000287 +:04384500494ED7AB66 +:043846004B2F000004 +:04384700720E0000FD +:043848007B8C000075 +:043849007BDCFFFF26 +:04384A007BC48000BB +:04384B0003E2800014 +:04384C00FEC4003284 +:04384D000FE8003050 +:04384E00171BDE481E +:04384F0052F37C7341 +:0438500072733AB3A2 +:0438510019F34A33EA +:043852007F8031B38F +:043853004EC4000659 +:043854000A680030CE +:043855007C53CE488A +:043856003A9352D37C +:043857004A1372534B +:04385800319319D3BC +:04385900FFFF124C0F +:04385A008000109C3E +:04385B000000228FB8 +:04385C008000108454 +:04385D00E40278A069 +:04385E00FF701112D4 +:04385F00E4097260A6 +:0438600000004AAF6B +:043861004A0E05D92D +:0438620044410000DD +:043863000000492FE9 +:04386400230E48D314 +:0438650012600000ED +:0438660008ADC402E3 +:0438670004E0E9C3CD +:0438680014A048223E +:04386900B88FC4024E +:04386A00B812000090 +:04386B00150F0062D3 +:04386C00344F0000D5 +:04386D0024FB000038 +:04386E000C8110F3C6 +:04386F00E830042019 +:043870002C3B313389 +:043871000000E5006E +:0438720004E010D38B +:043873003113484481 +:043874001697D08152 +:04387500EC0184706E +:04387600D98048812C +:043877002E97000187 +:04387800B81A83C037 +:043879003DBB004013 +:04387A000000150F26 +:04387B00200434FBF6 +:04387C00A0814F8454 +:04387D00144F10B321 +:04387E008033000093 +:04387F0000019CC4E4 +:043880001073A4011C +:0438810000004700FC +:04388200A504125136 +:04388300BE830002FE +:0438840083C0369730 +:0438850020042CFBF4 +:04388600CAC0009B19 +:04388700803B000181 +:043888000001E00457 +:043889003D7BF70389 +:04388A000020F7C360 +:04388B00BCC3C41CDA +:04388C001697FFE1AB +:04388D00E6C481B05C +:04388E002F37005C74 +:04388F00DEC4FE0C89 +:04389000813BFDF487 +:0438910000F600A29B +:0438920081701E978C +:04389300CD8C18E0E0 +:043894004689029BC4 +:04389500FE381737AB +:0438960000E6042222 +:0438970082C416973A +:04389800E86200A042 +:04389900173746890E +:04389A000422FE1CEA +:04389B00169700DAA2 +:04389C001737821C3C +:04389D001697FE3448 +:04389E001E97827C73 +:04389F0020AE838C48 +:0438A00035110005D9 +:0438A10000C600EA73 +:0438A200B0C102DBD4 +:0438A300FE2C1F37A1 +:0438A40000C004223A +:0438A50000C201223A +:0438A60083101E97D6 +:0438A700FE2C2F17AD +:0438A8004A894AC936 +:0438A900FE081F37BF +:0438AA00FE281737A6 +:0438AB00FE281F17BD +:0438AC00FE081717E4 +:0438AD000004189269 +:0438AE00FE281737A2 +:0438AF00009E012254 +:0438B0008E97209B34 +:0438B10017378258EB +:0438B2001717FE24C2 +:0438B3008F37FE2429 +:0438B4008892FE20D8 +:0438B50017370004BD +:0438B6000422FE20CA +:0438B7002E970084C4 +:0438B800271783103B +:0438B9005A00FE2093 +:0438BA002F170000C4 +:0438BB008851FE2012 +:0438BC00FE041737B8 +:0438BD005A004B0161 +:0438BE00DEC4000064 +:0438BF001737FC6853 +:0438C0000CBDFDD46A +:0438C100FE30173787 +:0438C200084A042A82 +:0438C3008280169752 +:0438C400FE1C1F17B0 +:0438C50010E08491FA +:0438C6000499EC0273 +:0438C700FDEC1737C6 +:0438C80000001034B8 +:0438C9000DA01084BA +:0438CA00FDF01737BF +:0438CB0000001034B5 +:0438CC0009B01084AB +:0438CD00FDF41737B8 +:0438CE000002089B51 +:0438CF0006DB0844C8 +:0438D0001697E1C3A3 +:0438D100E30382C0CB +:0438D200832416979E +:0438D3000737E4834C +:0438D400E783FE2C5C +:0438D500830C1E97AB +:0438D60012DBE843D6 +:0438D700249BE7C384 +:0438D8002E97EC0338 +:0438D900EF43830C2A +:0438DA00FDF41717CB +:0438DB009484247B32 +:0438DC0080890002DD +:0438DD00FFFE14AF27 +:0438DE0016970251E6 +:0438DF00147A82587D +:0438E0000E23FFE6CE +:0438E100FE789704D2 +:0438E2001697883B72 +:0438E300147A825C75 +:0438E400203B007411 +:0438E5000004034098 +:0438E600883460239F +:0438E7008C4400010C +:0438E800569B6EFC81 +:0438E900FDE01737B0 +:0438EA00C4170020DF +:0438EB00C4120020E3 +:0438EC00FE1007378C +:0438ED00FDFC0737A0 +:0438EE00FDE80737B3 +:0438EF00FDD41717D6 +:0438F000FE101F1790 +:0438F100005018A2C9 +:0438F20003401D1B57 +:0438F300883B00040A +:0438F4008258169749 +:0438F5000744147AF6 +:0438F6008F040C230C +:0438F7001697FE78AA +:0438F800143A825CA0 +:0438F900303B075603 +:0438FA00111B283B3B +:0438FB00000B064078 +:0438FC00FDE81717B5 +:0438FD00FFE0DF0405 +:0438FE0088347C216D +:0438FF008C440001F4 +:04390000089B6F00B1 +:04390100247BF3C36D +:0439020000008C0035 +:04390300000014AFFD +:043904009484025154 +:04390500EE4300028B +:04390600FE30171761 +:04390700FDD0DF37D9 +:043908000396988406 +:04390900371720BB91 +:04390A002804FE246B +:04390B005A000080DE +:04390C0020840016FD +:04390D0024E200129E +:04390E001F04FFECA7 +:04390F00103BFE5417 +:04391000FF80200410 +:04391100FE242F174A +:04391200049108ED27 +:04391300116216D156 +:043914002704FFF293 +:04391500259BFE42AE +:043916005A00283BF0 +:043917001F17001660 +:043918002697FE20D0 +:043919009737825802 +:04391A000020FE3C4F +:04391B00103BC41683 +:04391C00C40390E070 +:04391D00FE3C2F1726 +:04391E00007E28E21D +:04391F00825C169719 +:04392000E402B8A065 +:04392100FE00173756 +:04392200FE001F176D +:04392300FE04171770 +:0439240000041892F1 +:04392500FE00173752 +:04392600009A0422DD +:0439270082A01697CD +:04392800FE781F0FF7 +:04392900FEC02F0F9E +:04392A00E82200A0EF +:04392B0082A42697B5 +:04392C00C701AA81A4 +:04392D000002111271 +:04392E0076C9113B0A +:04392F0000021892E8 +:043930001E9710FBD3 +:04393100269782C48F +:0439320000E08170C0 +:043933002120E883E4 +:043934002681CD8C8F +:04393500FDFC173747 +:04393600000100404C +:04393700DF00203B52 +:0439380016970002DC +:043939001737819823 +:04393A001697FDE4FB +:04393B0010AE82D870 +:04393C0000AA0002DB +:04393D00069B009253 +:04393E002F1712032A +:04393F001162FE080B +:04394000103B000236 +:04394100FE282F1716 +:04394200001C28B28B +:04394300FE3C2F1700 +:0439440000142172D8 +:04394500FE3C3717F6 +:04394600FFE02D84ED +:04394700C405E16072 +:04394800FE62316783 +:043949000001B58440 +:04394A00FE3C2F17F9 +:04394B000B51049187 +:04394C00FE3C2F37D7 +:04394D006F40E7C31D +:04394E0016970004C4 +:04394F00108C8170E7 +:0439500040A3100080 +:04395100C3C0243B90 +:043952000737000033 +:04395300029BFDE4F2 +:043954004C02B0A0D1 +:04395500FE1407371E +:04395600173784910A +:043957001F17FDC871 +:04395800649BFE145A +:0439590000E2A08167 +:04395A001804032A20 +:04395B002689024077 +:04395C00FDCC173750 +:04395D00FE38171702 +:04395E00C41300206E +:04395F001737748919 +:043960000543FDD846 +:04396100F7C3051B88 +:04396200283B103BB3 +:0439630016B7051B73 +:04396400CD808198F9 +:04396500051B00023C +:04396600000255C046 +:043967008198169796 +:04396800203BACABA9 +:0439690000022340F5 +:04396A009804F48346 +:04396B002F17000111 +:04396C002004FDCC6A +:04396D00303B0102E8 +:04396E00000B064004 +:04396F004380C91BAD +:0439700004E200006D +:0439710017170052D2 +:04397200A717FE385D +:043973001737FE34D0 +:04397400103BFDDC2B +:043975001F17AD3B30 +:0439760010EAFDC88E +:0439770004E202A4C0 +:04397800251E029C6A +:04397900C32B003329 +:04397A0080A09697FC +:04397B00029204A20E +:04397C00FE341F17DF +:04397D0000C01D2247 +:04397E0010344E2390 +:04397F001084033F6E +:04398000A0A81814CF +:043981001717900084 +:0439820025FBFE0023 +:04398300C40615E081 +:04398400000A3122E2 +:043985000C83103B64 +:04398600FDD817173A +:043987000519F583A6 +:04398800FE781F04A2 +:04398900FDC037370F +:04398A00288F24C19D +:04398B00171700000A +:04398C002737FDFCE0 +:04398D005541FDC4DF +:04398E000000A5C0D0 +:04398F00FDC4271735 +:04399000FDC0371728 +:04399100F90309111C +:04399200253B035B73 +:0439930000047300B9 +:043994001F04F843D1 +:0439950044C1FE42E9 +:0439960017370905D1 +:043997000B19FDC447 +:04399800E0A0D55185 +:04399900294FC405E9 +:04399A001717FEE01D +:04399B005541FDFC99 +:04399C00FDF017170C +:04399D0017178089EF +:04399E000491FDC4CF +:04399F00FFD215A29C +:0439A00016972C2327 +:0439A100269782845F +:0439A200049182C446 +:0439A300EC041120FF +:0439A400FDE02F17FC +:0439A50000031840C3 +:0439A6002F170C23A8 +:0439A7002717FDF8E9 +:0439A8001840FDECDA +:0439A90004E2000331 +:0439AA0014FB00DC2E +:0439AB0026970483D4 +:0439AC00169782C028 +:0439AD00FA83828097 +:0439AE00FDC4173706 +:0439AF002034462357 +:0439B0002104033FAC +:0439B100A12818141D +:0439B2001900900068 +:0439B30017170003DF +:0439B4000520FDC429 +:0439B50005604865FC +:0439B6001F17486827 +:0439B700A160FE30DD +:0439B8000B59C405DE +:0439B900C408AA2074 +:0439BA004828022077 +:0439BB00317B5AC141 +:0439BC00FE543F0472 +:0439BD00C41500200D +:0439BE00480490BB6E +:0439BF00A420FFFF42 +:0439C0000F43580A4F +:0439C100035B253B44 +:0439C200000473008A +:0439C300FDF82F17C5 +:0439C400FDEC2717D8 +:0439C50000031840A3 +:0439C6001704F68369 +:0439C700A8A0FE4274 +:0439C8000885C402A8 +:0439C900FDF41717DB +:0439CA00FDB05737BE +:0439CB00FDB44F37C1 +:0439CC00FDB84737C4 +:0439CD00FDBC3F37C7 +:0439CE00FDC03737CA +:0439CF00FDC42F37CD +:0439D000269780892D +:0439D1001F0482D479 +:0439D2004717FDB8DE +:0439D30020A0FDB87B +:0439D4001717EC0BCA +:0439D5004F17FE1476 +:0439D6005717FDB4CE +:0439D7001ED5FDB04C +:0439D8003AD52CD5DB +:0439D900009A00A2AE +:0439DA00FE34171789 +:0439DB00002415228D +:0439DC00000059EF9F +:0439DD00AD44819DD7 +:0439DE001FD10001F4 +:0439DF00ADA20D91F7 +:0439E00004EAFF985E +:0439E100271700F2B2 +:0439E200AD3BFDD824 +:0439E300252014BBCC +:0439E400C843C414FC +:0439E500A920031BF7 +:0439E60091204C04DC +:0439E700D6A3380229 +:0439E800FE301F1777 +:0439E900C40245606F +:0439EA00000071CF99 +:0439EB00108724C15C +:0439EC001F170000A1 +:0439ED0072E0FE1C6A +:0439EE0070A0E40DD4 +:0439EF0012E0C4021C +:0439F0006344E40246 +:0439F1001892007FA9 +:0439F2001820002871 +:0439F30012E0E40BEF +:0439F4005E97400298 +:0439F5005AE68214F8 +:0439F60002E20001E8 +:0439F70002AA00041C +:0439F800633600141E +:0439F900032200FFA6 +:0439FA000AA3000C10 +:0439FB00000069A7B8 +:0439FC00029BF083B7 +:0439FD001004FB8334 +:0439FE0005A5FF809C +:0439FF00581224A096 +:043A0000031BEE8333 +:043A01004C04A920A8 +:043A0200380224A0C2 +:043A0300FF6600A2B8 +:043A040000006187D6 +:043A0500FF80132EFD +:043A060011CF4CA3ED +:043A070060A00000BB +:043A080058A0C402FC +:043A0900009AE40239 +:043A0A0058BE003C66 +:043A0B00A96000FFAF +:043A0C0002E2C4040A +:043A0D00100400049D +:043A0E00052500FE8C +:043A0F0002E0E703E7 +:043A100058A0486210 +:043A11000499C4024E +:043A1200C4021320B7 +:043A1300000048A7C0 +:043A1400FDDC1717A7 +:043A1500C40B12E0EC +:043A1600001604E2B0 +:043A1700003312DE88 +:043A1800DAA3C48BDE +:043A19001717F2C3C6 +:043A1A005D3BFE30E2 +:043A1B00C40CA8A08F +:043A1C0002E0FCC305 +:043A1D00FD03400263 +:043A1E00FE38271730 +:043A1F000512E18328 +:043A200004EAFD6651 +:043A21001717FD2452 +:043A22000EA3FE14DD +:043A23001737029BB4 +:043A24009943FE14B0 +:043A25000180180400 +:043A260004229A8359 +:043A2700031B02B0CB +:043A28000002DF00B9 +:043A2900031B055B1B +:043A2A000002CD8049 +:043A2B00FDE4171788 +:043A2C00819816B7B0 +:043A2D0082D816978E +:043A2E00000210A6DC +:043A2F00031B06A3CC +:043A3000000223402D +:043A3100FE2817173D +:043A3200FE00073754 +:043A3300000218B6BF +:043A3400171768E315 +:043A35001737FE340D +:043A36001717FE144C +:043A37001F17FE1443 +:043A38001892FE38AA +:043A390010340062E3 +:043A3A0098340001BB +:043A3B00A0340001B2 +:043A3C0010840001F1 +:043A3D0000206E28CF +:043A3E004804C41262 +:043A3F000020FFFF65 +:043A4000183BC40863 +:043A4100C40A002093 +:043A4200C415002087 +:043A43006EEC9CC4C5 +:043A44006EF4A50473 +:043A4500FDDC173756 +:043A46000038ADA2F5 +:043A4700FE1017173F +:043A4800FDD0DF17B7 +:043A4900FE3C971791 +:043A4A001737049195 +:043A4B001717FE103B +:043A4C0015E0FE047F +:043A4D000002C41798 +:043A4E001F17FA82C2 +:043A4F008499FE0058 +:043A50001F3706D145 +:043A5100F083FE0000 +:043A5200FE14171730 +:043A5300FE381F1703 +:043A5400F043A68114 +:043A5500FE30271701 +:043A5600FE1417172C +:043A5700283B383B95 +:043A58000020FF9BB0 +:043A5900A920C40BD1 +:043A5A002899C40ED5 +:043A5B0009194501FF +:043A5C00C40423A0DB +:043A5D00792E0905B0 +:043A5E0003E200FF80 +:043A5F00591A0018D8 +:043A600038BB00046B +:043A6100C98B593B79 +:043A620000022092AC +:043A6300C94B30BB60 +:043A64000002111239 +:043A6500271728BB3C +:043A66002881FE387D +:043A67000033209E6A +:043A6800120CC92350 +:043A6900C98B00FF06 +:043A6A00000220B284 +:043A6B00124C41BBFD +:043A6C00C94B00FF43 +:043A6D000002113210 +:043A6E001284497BFA +:043A6F001737000104 +:043A70001704FDD862 +:043A7100A8A0FE42C9 +:043A72003EC1C40489 +:043A73004F370D05B7 +:043A74004737FDC013 +:043A75001F37FDC436 +:043A76005737FDC8F9 +:043A77005833FDCCF7 +:043A7800FDE45F37D3 +:043A790053C0200412 +:043A7A0047002C7B5A +:043A7B002717000009 +:043A7C001717FE28F2 +:043A7D003704FDD835 +:043A7E0009A8FDC8CE +:043A7F005F17C1020A +:043A80004717FDE403 +:043A81004F17FDC41A +:043A82001122FDC050 +:043A8300171700F61B +:043A840054C9FE0023 +:043A8500FE0C171705 +:043A86001737049159 +:043A87001717FDE42C +:043A880006A5FE0C85 +:043A89008484169784 +:043A8A0000B804225A +:043A8B0017172EAB30 +:043A8C002697FE2C4F +:043A8D0014A0845CA1 +:043A8E00B8A04C028E +:043A8F001499C402C0 +:043A90004167550134 +:043A9100496700027F +:043A92002F170003E7 +:043A93000D6BFE2C8D +:043A940028812491D0 +:043A9500000240A744 +:043A9600000348A73A +:043A9700FDE8271708 +:043A98004002582070 +:043A9900E40A556086 +:043A9A00580211209D +:043A9B00FDE81737F4 +:043A9C00FFE01284B1 +:043A9D00C40AE0A0D7 +:043A9E0083C03E970C +:043A9F00FE622A8613 +:043AA0000001948409 +:043AA100006C02EAC9 +:043AA20000011034DB +:043AA3006E381084E5 +:043AA40026976823D6 +:043AA50069238214FB +:043AA6005973253BF0 +:043AA700FE0C5F377B +:043AA80018F32133BB +:043AA900171710B328 +:043AAA003034FE10A6 +:043AAB0028330001BB +:043AAC0031841073DE +:043AAD002C7B6E2CD4 +:043AAE0053E12004BC +:043AAF0000004700CC +:043AB000FE0C5F1792 +:043AB100000E02E21F +:043AB20083C0369700 +:043AB30020042CBB04 +:043AB400CAC0009BE9 +:043AB50048040001C0 +:043AB6000020FFFFEE +:043AB700183BC408EC +:043AB8000503103BB7 +:043AB900FF7400AAEC +:043ABA00C40495E0CB +:043ABB001697191928 +:043ABC00EBC384587C +:043ABD00FDDC1717FE +:043ABE002686F2C3A3 +:043ABF00F2C3832C9F +:043AC000F2C324FB2E +:043AC100FE0C2717B9 +:043AC200FDE42737C1 +:043AC300171750BBC6 +:043AC400AD44FDE42C +:043AC50017370001AE +:043AC600BF83FE0CB0 +:043AC700FE181717B7 +:043AC8000251247B08 +:043AC9000000288F42 +:043ACA00FDF01717DD +:043ACB0017178089C0 +:043ACC001491FE183B +:043ACD00FE18173791 +:043ACE00F894000266 +:043ACF0000002C4F78 +:043AD0001251243B30 +:043AD1000000A5C08C +:043AD20000020011DD +:043AD300257BF890C7 +:043AD40000047880F2 +:043AD5001697ADC3D0 +:043AD6001F178284B0 +:043AD70010E0FE1CE1 +:043AD8000499EC025F +:043AD900FDEC1737B2 +:043ADA0000001034A4 +:043ADB000FE0108464 +:043ADC00FDF01737AB +:043ADD0000001034A1 +:043ADE0009A01084A7 +:043ADF00FDF41737A4 +:043AE0001737569BA3 +:043AE1001704FDF8D1 +:043AE2001737FEC0D4 +:043AE30090BBFE187E +:043AE4000002883B19 +:043AE500003BF7E4C7 +:043AE600813BC82137 +:043AE7009034512B9B +:043AE80094840002C0 +:043AE900148E987C23 +:043AEA008C8E002896 +:043AEB00051B002E89 +:043AEC0040800449C9 +:043AED00F84B000092 +:043AEE000109690958 +:043AEF00001425009A +:043AF00012AB88BBD2 +:043AF1004200051B6F +:043AF200B699000081 +:043AF30083BC1697E3 +:043AF40016B726815A +:043AF500148E83BCEC +:043AF6002449002E31 +:043AF7000028148E01 +:043AF800002E8CAF61 +:043AF900381080A061 +:043AFA00846000499B +:043AFB00143B8010E8 +:043AFC00003B482122 +:043AFD00031B802106 +:043AFE000000408004 +:043AFF0080002034EF +:043B00000014250088 +:043B0100031B0CABEB +:043B0200000042007D +:043B030016B7B499A4 +:043B0400103B83B43B +:043B0500003B002160 +:043B0600003BE00997 +:043B07009834D421F9 +:043B08000020030096 +:043B09009CC4C41282 +:043B0A00A004041CF3 +:043B0B008CBB00016E +:043B0C00243B803B9B +:043B0D0000008780AD +:043B0E00243B44AB65 +:043B0F000009DBC00E +:043B10000046188EC5 +:043B110083FC169784 +:043B1200048526817F +:043B130049A200A023 +:043B1400030010B4E6 +:043B1500580298A01A +:043B1600800010A873 +:043B17000041188CC5 +:043B1800004018E66B +:043B1900C48B18E35E +:043B1A0000FF10AEEA +:043B1B002C3B10A38C +:043B1C006FE720042B +:043B1D00000047005D +:043B1E004C028520B0 +:043B1F000011244924 +:043B20000010142657 +:043B21008CA2ACA323 +:043B2200869700AAD8 +:043B2300042280A058 +:043B2400002000A0DD +:043B25009804C4122A +:043B260094E0000126 +:043B270002894C02C1 +:043B280024BB20ABEF +:043B29000009DBC0F4 +:043B2A000046188EAB +:043B2B0083FC16976A +:043B2C002681283B8B +:043B2D0001200885E6 +:043B2E00213449A451 +:043B2F00130003007C +:043B30009484000178 +:043B310014A60001D5 +:043B3200CEA300100E +:043B33000340903487 +:043B3400033F98347F +:043B3500033FA03476 +:043B36000001A804DE +:043B370088009484EA +:043B38002E809CC47B +:043B39000E80A50451 +:043B3A004C02856054 +:043B3B003AAB028916 +:043B3C00243B0F5BBC +:043B3D000009DE405D +:043B3E00DF00051B84 +:043B3F00203B000126 +:043B400000023E4001 +:043B410000068AC030 +:043B4200B700203B6D +:043B43001F1B000341 +:043B440000020B80F0 +:043B45003E40031BE0 +:043B46001004000265 +:043B470014A801FFBE +:043B480014E89000ED +:043B490015289000AB +:043B4A0000119000D6 +:043B4B00001014262C +:043B4C005421B6A3A7 +:043B4D00DEC3947BC4 +:043B4E0081701697D5 +:043B4F0006B7FFE1D5 +:043B500010AC83C072 +:043B510090E92000D7 +:043B5200897B913B9F +:043B53002AA381BB65 +:043B5400827C1697C2 +:043B5500000110A6B5 +:043B560086C020A362 +:043B57001AAB0000A5 +:043B58008320169719 +:043B59000300183419 +:043B5A00042018C467 +:043B5B0018A82689F7 +:043B5C0018DF8000EE +:043B5D0018A8FF7F26 +:043B5E00203490007F +:043B5F002104001F1E +:043B60004580848098 +:043B610024BB000081 +:043B6200000AB8801D +:043B630083F8169736 +:043B640010ECC69506 +:043B650040AB001061 +:043B6600000820EC47 +:043B670082581686E4 +:043B68001094052B85 +:043B690018EC010053 +:043B6A0000E2000273 +:043B6B00309400F49E +:043B6C002697020096 +:043B6D002834832055 +:043B6E0029440300E3 +:043B6F00F100011050 +:043B7000169700059F +:043B7100269783F818 +:043B72002834832050 +:043B73000C8D0300B2 +:043B740001142944CB +:043B75000005F10056 +:043B76006400071BC5 +:043B770090BB0001FE +:043B780083F8169721 +:043B790018ACC4952B +:043B7A0014EB000840 +:043B7B00108C122B6D +:043B7C000CA3200076 +:043B7D00001F2034D1 +:043B7E00848021041A +:043B7F00000045807D +:043B80007C8720041A +:043B810000004700F9 +:043B820000021034F9 +:043B8300934C809748 +:043B840003001034F6 +:043B850019B81084D7 +:043B860058021420AD +:043B8700800098A87A +:043B880082702E9782 +:043B890071C024FBE8 +:043B8A0020340015CE +:043B8B0028BB3B9B7D +:043B8C00CA00210446 +:043B8D0000156A4075 +:043B8E00103430BB04 +:043B8F00108403009B +:043B9000240919BC2F +:043B910080003C284C +:043B92007C8D200402 +:043B930047002CFBC0 +:043B94008697000010 +:043B9500842C81708B +:043B960004220800FD +:043B97001E8600C0C6 +:043B9800103481ACB8 +:043B99001084000292 +:043B9A0018FE987CFD +:043B9B0038E30017F4 +:043B9C0083FC1E97F1 +:043B9D0018CC66D505 +:043B9E002CE3040010 +:043B9F0083CC1E971E +:043BA0000040288E2B +:043BA10000021034DA +:043BA20024C106D95B +:043BA300987C108E6C +:043BA40006896749DE +:043BA500200408AB45 +:043BA600470075DE81 +:043BA700511B0000AE +:043BA8003094010351 +:043BA900E1430600EE +:043BAA001E97051B42 +:043BAB00103483CC83 +:043BAC009834000247 +:043BAD0006D9000233 +:043BAE000300A83434 +:043BAF0093A49CC47B +:043BB000288E24C176 +:043BB1000020987CDC +:043BB200AD44C41446 +:043BB3005200002C90 +:043BB400169700134D +:043BB500153A822C0F +:043BB6009834042615 +:043BB700A034000234 +:043BB8009CC40300A6 +:043BB900A504939438 +:043BBA001E971854E6 +:043BBB0016978228AF +:043BBC0024C182247A +:043BBD000438143A7A +:043BBE00033F10347D +:043BBF008000181456 +:043BC0001850108405 +:043BC100900018A8B0 +:043BC200033F103479 +:043BC30038501084E2 +:043BC400900018A8AD +:043BC5002004283B75 +:043BC6004700760D31 +:043BC700168600005E +:043BC80010B681AC06 +:043BC90000A200173F +:043BCA005C40044A0D +:043BCB00303B000289 +:043BCC00031B283B74 +:043BCD000009458026 +:043BCE00580214A0E5 +:043BCF00169710B382 +:043BD00010AC817044 +:043BD10074A30001D8 +:043BD20083FC1697C3 +:043BD300840C709559 +:043BD400842E000536 +:043BD500243B000588 +:043BD600001216C003 +:043BD7001640243B35 +:043BD800269700121A +:043BD900103483FC25 +:043BDA003491002002 +:043BDB0004C977158D +:043BDC00FFF810EAF4 +:043BDD004080031B06 +:043BDE00035B000085 +:043BDF005E80031BE6 +:043BE000035B00087B +:043BE10080BB051B85 +:043BE20000085E80F9 +:043BE300109324090E +:043BE4002089031B16 +:043BE500420010B3D7 +:043BE600BA99000088 +:043BE7008480169729 +:043BE800169706AB7B +:043BE9009AB58414F1 +:043BEA007CCD20046A +:043BEB00000047008F +:043BEC0016C0203BA4 +:043BED00203B001267 +:043BEE00001216406B +:043BEF00827C169727 +:043BF000000710A614 +:043BF10016973EA342 +:043BF200C49583F8FB +:043BF3002000108C12 +:043BF400169732AB43 +:043BF500108C81703F +:043BF60028A30800F8 +:043BF70082E4869747 +:043BF80083C0A69749 +:043BF900FADF90342B +:043BFA0000AA983451 +:043BFB00948480111D +:043BFC009CC4BEADFA +:043BFD00041A055C45 +:043BFE00109300061A +:043BFF0003D600AA3F +:043C000083C0A6B720 +:043C0100827C169714 +:043C0200000710A601 +:043C030016970EA35F +:043C0400C49583F8E8 +:043C05002000108CFF +:043C060005AC00A267 +:043C070003D204627E +:043C0800A180051B77 +:043C09001697000505 +:043C0A00C49583F8E2 +:043C0B002000108CF9 +:043C0C00059400A279 +:043C0D004080071BD1 +:043C0E001697000005 +:043C0F00C49583F8DD +:043C1000CDEF10A044 +:043C110011B3049156 +:043C120083FC169782 +:043C1300108C749508 +:043C14001233000562 +:043C1500000510AEE8 +:043C1600117320BB4B +:043C1700001216C0C1 +:043C180084801697F7 +:043C19001E9718AB2F +:043C1A00168682DCAC +:043C1B0000E082D86B +:043C1C00548B4883FA +:043C1D001E9726893F +:043C1E0010E7848C9B +:043C1F00203B0048FE +:043C20000004BE805E +:043C210016402153D5 +:043C220016970012DF +:043C230018AB8484D2 +:043C240083CC1697A0 +:043C250083FC1E9767 +:043C260000091084FD +:043C270024C1149907 +:043C28001697168D48 +:043C290086B5848C4C +:043C2A0084801697E5 +:043C2B0083BC2E9791 +:043C2C00169708AB34 +:043C2D0028B784141C +:043C2E00200400600E +:043C2F00470076E2F2 +:043C300016970000E3 +:043C31000CAB8480D4 +:043C32008414169749 +:043C330083B41E97A1 +:043C3400006418B759 +:043C350083B42E978F +:043C360076E420040C +:043C37000000470042 +:043C380084801697D7 +:043C390016970CAB23 +:043C3A001E97841439 +:043C3B0018B783B87B +:043C3C002E97005C63 +:043C3D00200483B824 +:043C3E00470076E6DF +:043C3F0016970000D4 +:043C40000CAB8480C5 +:043C4100841416973A +:043C4200809C1E97AD +:043C4300006818B746 +:043C4400809C2E979B +:043C450076E82004F9 +:043C4600C416002080 +:043C47000000470032 +:043C480001330273CF +:043C4900C580031B14 +:043C4A001034000131 +:043C4B0002DB033F56 +:043C4C0010A0108430 +:043C4D00900018A823 +:043C4E00033F1034EC +:043C4F0012A010842B +:043C5000900018A820 +:043C5100033F1034E9 +:043C52000E201084AC +:043C5300900018A81D +:043C540084841697B7 +:043C5500169706AB0D +:043C5600069D848CB7 +:043C5700813406B7F7 +:043C580083D006B758 +:043C59002804103BF0 +:043C5A0020047FFFC4 +:043C5B001834800198 +:043C5C0036810002AB +:043C5D00899428EF2F +:043C5E000002183414 +:043C5F001491368105 +:043C6000895820EF70 +:043C6100003C18A665 +:043C62001697E4E3EA +:043C63008E97839C19 +:043C640002AB82E449 +:043C650096840259E6 +:043C6600803B811C02 +:043C6700043E8C1A71 +:043C6800164021538E +:043C69001697001298 +:043C6A0010A6827CA2 +:043C6B0010A30001A1 +:043C6C0000032034FD +:043C6D00283B303B85 +:043C6E00010121042B +:043C6F000006170034 +:043C700083A416977C +:043C7100203412AB3E +:043C7200303B0002E1 +:043C730000D8280449 +:043C7400948C210407 +:043C7500000058C033 +:043C760082E48697C7 +:043C770000F302B3A1 +:043C78000020801197 +:043C79000412C41C51 +:043C7A001697040C89 +:043C7B00108C8170B8 +:043C7C0010AE006026 +:043C7D0014A300602C +:043C7E000008380002 +:043C7F00581C172096 +:043C80000008072A07 +:043C8100816C1697A5 +:043C8200050200A295 +:043C830083A41E9761 +:043C8400827C169791 +:043C8500145400E2F1 +:043C8600827C16978F +:043C8700000110AE7A +:043C8800869770AB00 +:043C8900903482E40D +:043C8A008E84000222 +:043C8B00801182889A +:043C8C0097EC948499 +:043C8D00158A04127E +:043C8E00827C169787 +:043C8F00000110A67A +:043C9000168650A3A1 +:043C910010BE81AC34 +:043C920046A300172E +:043C9300817016978F +:043C94002000108C70 +:043C9500031B3CA32E +:043C9600000040806A +:043C9700035B20D3D8 +:043C9800000282C0E4 +:043C9900203B28D3D1 +:043C9A000009DA4003 +:043C9B002004195B8D +:043C9C005E80100036 +:043C9D0028D3000820 +:043C9E001720203B90 +:043C9F00DA40581C93 +:043CA000031B0009F9 +:043CA10000004200DD +:043CA2002004BA99A7 +:043CA300470079ED70 +:043CA4001E97000067 +:043CA500169780A04E +:043CA60000E2827C3A +:043CA700189F046CF2 +:043CA80018EEFFFB18 +:043CA90008E300012B +:043CAA00000710A659 +:043CAB0015C200A29C +:043CAC008170869706 +:043CAD004000840C43 +:043CAE0015B6042221 +:043CAF0083FC2697D5 +:043CB00000081034C4 +:043CB10077153491BE +:043CB20010EA04C947 +:043CB300031BFFF8F8 +:043CB400000040804C +:043CB5001640215341 +:043CB60020040012D4 +:043CB70047007A0048 +:043CB800169700005B +:043CB90008AB84844C +:043CBA00848C169749 +:043CBB0076B512DBED +:043CBC00C41400200C +:043CBD00C41200200D +:043CBE00C41300200B +:043CBF0015200002CA +:043CC00000002CD7FD +:043CC1004000294452 +:043CC2005802A9609B +:043CC300800030A8A5 +:043CC40075F1200472 +:043CC5000007398C2F +:043CC600CEB02960F3 +:043CC700CC8331A0D9 +:043CC80000004700B1 +:043CC9000001A5044D +:043CCA0000049CC492 +:043CCB00FBA2000256 +:043CCC0000301C3276 +:043CCD0000002CD7F0 +:043CCE005802A16097 +:043CCF00800038A891 +:043CD00075FD20045A +:043CD100000711CC0B +:043CD200CDED3160A3 +:043CD30039E0103391 +:043CD4002960CCA4F3 +:043CD5004700CEB026 +:043CD60000110000D9 +:043CD70000049CC485 +:043CD800FB86000265 +:043CD90016D9B60141 +:043CDA0000021034A0 +:043CDB00289724C141 +:043CDC00F883934C8A +:043CDD0083FC1697B7 +:043CDE00840C60955D +:043CDF0004220100BA +:043CE0009834FBA871 +:043CE100A034000209 +:043CE2009CC400027C +:043CE300A504987C20 +:043CE40014CE93BCAB +:043CE50080A0003487 +:043CE600048BEC025D +:043CE70014192CABD5 +:043CE800C4021520DD +:043CE9000C8526859B +:043CEA0010EE1E8535 +:043CEB0002AB00FF29 +:043CEC0014CEFEDB19 +:043CED002C3B003A32 +:043CEE0080A0183367 +:043CEF002004EC02BF +:043CF000048B2ED73C +:043CF1004700107305 +:043CF20000110000BD +:043CF3000010142683 +:043CF4000002C0A367 +:043CF5002CBBFB5495 +:043CF60086B724FB6E +:043CF70060C083C066 +:043CF80024FB001297 +:043CF9000012630052 +:043CFA00800290A014 +:043CFB00801110B371 +:043CFC00251B808381 +:043CFD00035B85835D +:043CFE0082C024BBA1 +:043CFF001697000212 +:043D000010AE827C03 +:043D010000A2000715 +:043D0200E1800096C6 +:043D0300303B00024F +:043D0400031B283B3A +:043D0500000B064069 +:043D0600031B575BE9 +:043D07000003AD0008 +:043D0800C4160020BD +:043D0900C4150020BD +:043D0A001697803B4D +:043D0B00143A825C88 +:043D0C00ADA0016AFB +:043D0D0000A25802B6 +:043D0E002D3B0176D2 +:043D0F006A22200400 +:043D10000000470068 +:043D1100283B303BE0 +:043D12000640111B3B +:043D1300303B000B36 +:043D1400051B283B28 +:043D1500000B064059 +:043D1600031B095B27 +:043D1700000318404D +:043D1800883B803B29 +:043D1900C4170020AB +:043D1A008260169716 +:043D1B00014415FA50 +:043D1C0058028C209D +:043D1D00014C00A2B3 +:043D1E0020042D3B15 +:043D1F0047006A34BB +:043D2000303B000034 +:043D2100111B283B0F +:043D2200000B06404C +:043D2300B420109325 +:043D2400AC60581027 +:043D25002209581106 +:043D260080100420E5 +:043D270010B320892C +:043D2800000194847E +:043D290082E4169783 +:043D2A00FF4A149A9E +:043D2B00827C1697E9 +:043D2C00000710AECE +:043D2D001B9A00A23B +:043D2E0083FC169765 +:043D2F0081701E97EA +:043D300018EC749582 +:043D3100848B000877 +:043D320000A226893C +:043D3300203B1BC650 +:043D3400000B26401A +:043D35003EA3109306 +:043D3600827C1697DE +:043D3700000710A6CB +:043D3800169734A303 +:043D3900C49583F8B2 +:043D3A002000108CC9 +:043D3B00869728A39C +:043D3C009E9782E4E8 +:043D3D00883483C083 +:043D3E0090340001BC +:043D3F0080110001EE +:043D40006E288C4419 +:043D41006E389484C0 +:043D42000006041A59 +:043D430000AA10932F +:043D44009EB71B9279 +:043D45001E9783C082 +:043D4600169783F851 +:043D470018D7827C8B +:043D480018EC004033 +:043D490000E2200074 +:043D4A0010AE1BB8E4 +:043D4B0000AA0001C9 +:043D4C0086C01BBE54 +:043D4D0000AA0000C8 +:043D4E0010341BB65C +:043D4F0010970002C7 +:043D500018348EECA9 +:043D510018C403008F +:043D5200268900CCF2 +:043D5300800010A834 +:043D54001B9C00AA0A +:043D550020041093A3 +:043D560010947D55F3 +:043D570010B3002085 +:043D58000000470020 +:043D59007D6E200457 +:043D5A00000047001E +:043D5B0083FC169738 +:043D5C00840C7095CE +:043D5D00842E0005AB +:043D5E00243B0005FD +:043D5F0000121640F8 +:043D600016C0243B2A +:043D6100051B00122C +:043D62000001D0404C +:043D63001640203BAB +:043D6400203B0012EE +:043D6500001216C072 +:043D66001B680002D4 +:043D6700283B243B96 +:043D68000002500005 +:043D6900581615A033 +:043D6A0058151D606B +:043D6B00CF43001131 +:043D6C00D1032CFB58 +:043D6D005EC025FB14 +:043D6E002409000222 +:043D6F00BDC4264960 +:043D7000D4830001F7 +:043D7100D6432CFB0E +:043D72000001983480 +:043D73000001A03477 +:043D7400C412002055 +:043D75006F049CC477 +:043D76006F0CA50425 +:043D770004AFD8C3FA +:043D78002C3B0000E0 +:043D7900771A200491 +:043D7A0000004700FE +:043D7B00948400111B +:043D7C00000200023F +:043D7D001213FBA67C +:043D7E00000510A686 +:043D7F0000BE00A2E0 +:043D800083F8169717 +:043D81004109031BD6 +:043D82000509E495B6 +:043D8300A004012077 +:043D840000121640D3 +:043D8500243B035B7D +:043D8600000282C0F5 +:043D870035BB29130C +:043D88004580051B52 +:043D890017200009F6 +:043D8A00072A581C90 +:043D8B00169700087F +:043D8C0000A2816CA4 +:043D8D001E9700D8A5 +:043D8E001697817093 +:043D8F0086CB827CE1 +:043D900000C000E28D +:043D9100000118AE67 +:043D920010A608E38C +:043D930000A2000783 +:043D9400269700B2BC +:043D9500103483FC67 +:043D96003491000262 +:043D970004C97715CF +:043D9800FFF810EA36 +:043D99004080031B48 +:043D9A001697000078 +:043D9B0008AB848469 +:043D9C00848C169766 +:043D9D0076B502DB1A +:043D9E00827C169776 +:043D9F00000118A661 +:043DA000240440E3D4 +:043DA100AAC0000AAA +:043DA20017200006E0 +:043DA3004EAB581CAF +:043DA40082C016972C +:043DA500E88300A00F +:043DA600E82200A06F +:043DA700C4161DA081 +:043DA800002CB09AA1 +:043DA90020042DBB0A +:043DAA0047007794C3 +:043DAB002E9700004F +:043DAC002004832844 +:043DAD0047007795BF +:043DAE00000200000F +:043DAF00203BFA6655 +:043DB00010A6E9C3AD +:043DB10016A300074E +:043DB2001B00243B93 +:043DB300F7430007CB +:043DB40083C03697FB +:043DB5002004FB5B90 +:043DB600CAC0009BE4 +:043DB700031B0001E9 +:043DB80000004200C5 +:043DB9001697BA9906 +:043DBA0006AB84844C +:043DBB0084141697BF +:043DBC0020045AB5D0 +:043DBD004700779CA8 +:043DBE00072A0000D0 +:043DBF00169700064D +:043DC0000AA3816C65 +:043DC10080A0169731 +:043DC200E0040EAB60 +:043DC3001093000158 +:043DC4005802E0A021 +:043DC500B28310B302 +:043DC600817016975B +:043DC7000040108C1C +:043DC80000AE00A2A7 +:043DC900835C16976A +:043DCA00169710A395 +:043DCB00109F827C47 +:043DCC0010A6FFFD41 +:043DCD0000A200054B +:043DCE00269700989C +:043DCF00103483FC2D +:043DD0003491000426 +:043DD10004C9771595 +:043DD200FFF810EAFC +:043DD3004080031B0E +:043DD400169700003E +:043DD50008AB84842F +:043DD600848C16972C +:043DD70076B504DBDE +:043DD800827C16973C +:043DD900000518A623 +:043DDA00032C00E2D4 +:043DDB0000078380DA +:043DDC00581C172038 +:043DDD00468B34AB32 +:043DDE001E9730E319 +:043DDF00348B82C0DF +:043DE00002A308D959 +:043DE1001253183B26 +:043DE200C4161DA046 +:043DE30012730491C2 +:043DE4000008B11A08 +:043DE500000A109E22 +:043DE600F98800A2B6 +:043DE70083C03697C8 +:043DE8002004FB5B5D +:043DE900CAC0009BB1 +:043DEA00031B0001B6 +:043DEB000000420092 +:043DEC001697BA99D3 +:043DED0006AB848419 +:043DEE00841416978C +:043DEF0020046AB58D +:043DF000470077CE43 +:043DF100072A00009D +:043DF2001697000818 +:043DF30000A2816C3D +:043DF4008E97FF3C6B +:043DF500169780A0FD +:043DF6000462827C65 +:043DF70018AEFF2CD7 +:043DF80006E30001DD +:043DF900000710A609 +:043DFA00031B06A3FE +:043DFB000003E600DB +:043DFC00827C169718 +:043DFD00000118AEFB +:043DFE0018A606E31A +:043DFF0022E30007B4 +:043E000083A41E97E2 +:043E010010A61CEB00 +:043E020000A2000713 +:043E0300169702A468 +:043E040000AA81B0DF +:043E05002004029CF7 +:043E06004700758478 +:043E07008F20000008 +:043E08001E97581C8D +:043E090074D583FCED +:043E0A00FAA3448B48 +:043E0B004080031BD5 +:043E0C00031B000094 +:043E0D000004BE806F +:043E0E001720031B5B +:043E0F004200581CF9 +:043E1000BA9900005B +:043E110084841697F8 +:043E1200169708AB4C +:043E130028B7841434 +:043E14002004006C1A +:043E1500470077F3F8 +:043E160016970000FB +:043E170010A6827CF3 +:043E180042A30001C0 +:043E190081AC1686DC +:043E1A00001710BEBF +:043E1B00169738A31B +:043E1C00108C817015 +:043E1D002EA32000B0 +:043E1E002AA312932E +:043E1F004080031BC1 +:043E2000095B00003A +:043E21000800200471 +:043E220000085E80B6 +:043E23001720031B46 +:043E240080F3581CB3 +:043E25000000420057 +:043E26002004BA9921 +:043E270047007800D8 +:043E2800029B0000F9 +:043E2900169712B323 +:043E2A001E9780A0BF +:043E2B0000A2827CF3 +:043E2C0018EEFE5836 +:043E2D0016970007DD +:043E2E0000E28170BD +:043E2F0010AC00B023 +:043E300000A20002EA +:043E3100269700A828 +:043E3200103483FCC9 +:043E33003491400086 +:043E340004C9771531 +:043E3500FFF810EA98 +:043E36004080031BAA +:043E3700035B000029 +:043E38005E80091B84 +:043E3900035B00081F +:043E3A0088BB111B15 +:043E3B0000085E809D +:043E3C002449031BF7 +:043E3D00000042003F +:043E3E001697BA9980 +:043E3F008F208480CC +:043E400008AB581C57 +:043E41008414169738 +:043E4200004828B755 +:043E4300781D2004C2 +:043E44000000470033 +:043E45000008072A40 +:043E4600816C1697DE +:043E4700FDEE00A2EA +:043E480083FC26973A +:043E490080001034B1 +:043E4A007715349123 +:043E4B0010EA04C9AC +:043E4C00031BFFF85D +:043E4D0000004080B1 +:043E4E00811B035B76 +:043E4F0000085E8089 +:043E50001720031B19 +:043E51004200581CB7 +:043E5200BA99000019 +:043E530084801697BA +:043E5400169708AB0A +:043E550028B78414F2 +:043E56002004004CF8 +:043E57004700782385 +:043E5800072A000035 +:043E590016970008B0 +:043E5A0000A2816CD5 +:043E5B001697FDA019 +:043E5C0010AC8170B5 +:043E5D0046A3000474 +:043E5E0083FC1E972C +:043E5F00448B74D547 +:043E6000031BFAA3A3 +:043E6100000040809D +:043E6200211B035BC2 +:043E630000085E8075 +:043E64001720031B05 +:043E65004200581CA3 +:043E6600BA99000005 +:043E670084801697A6 +:043E6800169708ABF6 +:043E690028B78414DE +:043E6A0020040050E0 +:043E6B004700782E66 +:043E6C00072A000021 +:043E6D00169700089C +:043E6E0000A2816CC1 +:043E6F001697FD5055 +:043E700000A280A08C +:043E71001697FD445F +:043E7200048B8170CC +:043E730007A800A2FA +:043E740083FC1E9716 +:043E7500108C74D564 +:043E760010AE100872 +:043E7700F4A3100898 +:043E78004080031B68 +:043E79001697000098 +:043E7A0008AB848489 +:043E7B00848C169786 +:043E7C0076B506DB36 +:043E7D00827C169796 +:043E7E00000118AE79 +:043E7F0018A608E396 +:043E800000E2000755 +:043E8100AD800744C5 +:043E820011F3000335 +:043E8300827C169790 +:043E8400000118AE73 +:043E8500020000E255 +:043E8600000710AE73 +:043E8700169712F385 +:043E880010A6827C82 +:043E890060A300072B +:043E8A0081AC16866B +:043E8B00000D10BE58 +:043E8C00035B08A329 +:043E8D0033000F1BD4 +:043E8E00151B0002FE +:043E8F0000040340E8 +:043E90004A80031B46 +:043E9100169700047C +:043E9200389581DC02 +:043E930000042114F2 +:043E94000003DC400B +:043E950081DC16971F +:043E96002114489516 +:043E9700DC40040007 +:043E980020340003CF +:043E9900095B0004BD +:043E9A0060C059119A +:043E9B0020340012BD +:043E9C00AB5B00021A +:043E9D0060C0591197 +:043E9E0020340012BA +:043E9F00AB5B000415 +:043EA000001C2104DD +:043EA100001260C0EB +:043EA200033F103496 +:043EA300183C108433 +:043EA400C41700201F +:043EA50052C313B33E +:043EA600000718A653 +:043EA7003BC006E333 +:043EA80099830007F3 +:043EA900000110A65E +:043EAA00FCFE00A278 +:043EAB000007E3C069 +:043EAC00283B97C355 +:043EAD0082C0243B70 +:043EAE00D900000235 +:043EAF001697000260 +:043EB000389581DCE4 +:043EB10000042114D4 +:043EB2000003DC40ED +:043EB300827C169760 +:043EB400000710A64D +:043EB500203430A3E2 +:043EB600095B0004A0 +:043EB70060C059117D +:043EB80020340012A0 +:043EB90021040002DE +:043EBA006300007031 +:043EBB002834001295 +:043EBC002944800015 +:043EBD002034FFBFEF +:043EBE0028A0000236 +:043EBF00210438059D +:043EC00060C000706E +:043EC100169700123E +:043EC2001E9782685D +:043EC300283B8264B2 +:043EC40000F818B238 +:043EC500FFFF914426 +:043EC600381284A08A +:043EC70028B2143BCE +:043EC800247B00F067 +:043EC900001571C0AF +:043ECA00283B20BBB6 +:043ECB00000282C0AF +:043ECC00827C169747 +:043ECD00000710A634 +:043ECE001DDB0CA349 +:043ECF00283B0F9BE2 +:043ED0004300203B50 +:043ED1003CBB0004F2 +:043ED200283B119BDD +:043ED3004300203B4D +:043ED4002C3B00047F +:043ED500E540203B69 +:043ED6002C3B00047D +:043ED70088BB203B49 +:043ED80000053D00A4 +:043ED90016972449CB +:043EDA0010A6827C30 +:043EDB000CA300072D +:043EDC00000420348A +:043EDD005911283B14 +:043EDE00001260C0AE +:043EDF00243B283B1D +:043EE000000282C09A +:043EE1000002D90002 +:043EE20081DC1697D2 +:043EE300DC403895F2 +:043EE400283B000374 +:043EE50082C0243B38 +:043EE6001697000229 +:043EE700909781DC53 +:043EE800949F00049F +:043EE9002494F8FF26 +:043EEA00DC400100B7 +:043EEB002494000318 +:043EEC00DC40018035 +:043EED002C3B000367 +:043EEE00E540031B8D +:043EEF00283B000468 +:043EF0002449243B02 +:043EF100000282C089 +:043EF20081DC1697C2 +:043EF300DC40189502 +:043EF400169700031A +:043EF50010AE827C0D +:043EF6000EA3000710 +:043EF7008170169729 +:043EF8000006009A26 +:043EF900000C1C405D +:043EFA002C3B2449F0 +:043EFB003D00031B68 +:043EFC002034000569 +:043EFD002104000795 +:043EFE0088A0170081 +:043EFF00DC4058113A +:043F0000035B00035C +:043F010082C0243B1B +:043F020082430002F4 +:043F03000B51A68137 +:043F0400AA81DFC3EC +:043F0500E0C30251C2 +:043F060012F3029B15 +:043F070081AC1686ED +:043F0800000D10BEDA +:043F0900035B08A3AB +:043F0A0033000F1B56 +:043F0B00151B000280 +:043F0C00000403406A +:043F0D0083A41697DC +:043F0E00031B08ABDE +:043F0F0000044A80E0 +:043F10001697BB83C2 +:043F1100389581DC82 +:043F12000004211472 +:043F13000003DC408B +:043F140081DC16979F +:043F15002114489596 +:043F1600DC40040087 +:043F1700B7C3000329 +:043F1800000805EAAE +:043F1900089B1B9353 +:043F1A00900010E81B +:043F1B0004B3047374 +:043F1C00053304F372 +:043F1D00C4120020AA +:043F1E00825C169714 +:043F1F00016414BA6B +:043F2000817096977F +:043F2100CD8C94A00F +:043F2200000694847D +:043F2300C3C024BB38 +:043F24001034000055 +:043F25001084033FC2 +:043F260008DB18009C +:043F2700900018A846 +:043F280007730733E1 +:043F2900009406F703 +:043F2A00009806F7FE +:043F2B001697883B22 +:043F2C00147A825C25 +:043F2D00A034019427 +:043F2E00A504FD00E9 +:043F2F0016D7E0DFE2 +:043F300013330094B3 +:043F3100009816D707 +:043F320013731B13D7 +:043F330018A21713A6 +:043F34001753019688 +:043F350018A21B5360 +:043F36008834018E3C +:043F370098340002B8 +:043F38009034FD00C4 +:043F39008C440300B1 +:043F3A0000208A3C9D +:043F3B009CC4C41549 +:043F3C009484E0DBAE +:043F3D001697182497 +:043F3E00157A825C12 +:043F3F001453028A8B +:043F400018A21B1395 +:043F410014930430A1 +:043F420018A21B5353 +:043F430014D3042867 +:043F440026891D139A +:043F4500800200A056 +:043F460010E019D39B +:043F470011F3580218 +:043F4800000605EA80 +:043F490000A8139326 +:043F4A00BDC4900062 +:043F4B0016970001C4 +:043F4C0000A0838CC2 +:043F4D000491800259 +:043F4E00FF2415FA3D +:043F4F0016B7029B04 +:043F5000169781340B +:043F510010AE827CB0 +:043F520026AB000199 +:043F530083A4169796 +:043F540003E800AAD4 +:043F55004A80203B43 +:043F56001D1B00042B +:043F5700000403401F +:043F580081AC16869C +:043F5900000D10BE89 +:043F5A00283B08A355 +:043F5B0033000F1B05 +:043F5C0016970002B2 +:043F5D0010AE827CA4 +:043F5E003AAB000773 +:043F5F0000126DC01F +:043F60000004203405 +:043F61005911283B8F +:043F6200001260C029 +:043F63004A80203B35 +:043F6400091B000431 +:043F65000003F34022 +:043F6600F340071B02 +:043F67001D1B00031B +:043F6800000403400E +:043F690081AC16868B +:043F6A00000D10BE78 +:043F6B00283B08A344 +:043F6C0033000F1BF4 +:043F6D00200400022A +:043F6E00438003E8A1 +:043F6F0011D300006A +:043F7000581C1720A2 +:043F7100039000AA0F +:043F720082C016975C +:043F73000001B58410 +:043F7400E82200A09F +:043F7500F34CB092C7 +:043F7600816C1697AD +:043F7700037C00AA1D +:043F7800F92A000220 +:043F7900838C169788 +:043F7A0000018C8432 +:043F7B0012AB24BBA6 +:043F7C0000006E8053 +:043F7D00004015E209 +:043F7E000001148C9E +:043F7F0024843EABAD +:043F80008E80FFFF31 +:043F810024BB00005D +:043F82008D4098BB1B +:043F8300A0BB0000DF +:043F840082C016974A +:043F8500017F208414 +:043F86000006A1127E +:043F870000431CDEF9 +:043F88002CFB1EE30D +:043F8900000204D25C +:043F8A0024BB283BF1 +:043F8B00000390405F +:043F8C0024BB2D3BEA +:043F8D00000936C031 +:043F8E00C783947BD6 +:043F8F00F843247B54 +:043F9000E414152000 +:043F910000019CC4CB +:043F92001697F9C3C2 +:043F93000AAB838C66 +:043F94006E80247B9C +:043F950015E2000031 +:043F9600347B000A6E +:043F97004B3D035B40 +:043F980000024B8058 +:043F9900C8C3025146 +:043F9A002CBB22D347 +:043F9B000300A83443 +:043F9C00FD00983458 +:043F9D0000034B00D2 +:043F9E00AD44883B6B +:043F9F009CC4182086 +:043FA0001697E0FF91 +:043FA1001472825CB8 +:043FA2001697FE343C +:043FA3000AAB838C56 +:043FA4006E80247B8C +:043FA50015E2000021 +:043FA6002C7B005020 +:043FA7005C40393D04 +:043FA80046A300002C +:043FA9004848046020 +:043FAA0081BC169729 +:043FAB00C40240A06C +:043FAC00A0A0049538 +:043FAD00A8E038034D +:043FAE0020E85803AC +:043FAF001834800042 +:043FB00098A00300D2 +:043FB10018C43802F6 +:043FB2002689180044 +:043FB300900000A8D2 +:043FB40000201126B2 +:043FB500347B18A39E +:043FB600233D035B49 +:043FB70000024B8039 +:043FB800035B347BF8 +:043FB9004B80393DC3 +:043FBA0002510002AE +:043FBB001697F283E0 +:043FBC00443381BC4D +:043FBD0040A01BF312 +:043FBE000495C402A0 +:043FBF0098A0091BA2 +:043FC0002689380214 +:043FC100900020A8A4 +:043FC2008E80247B4E +:043FC3003A9100002F +:043FC4000040115E4A +:043FC500347B60A346 +:043FC600035B273D35 +:043FC70000024B8029 +:043FC800393D347BD0 +:043FC9004B80035BCB +:043FCA002E9700022C +:043FCB00247B83C010 +:043FCC008E802B7345 +:043FCD00247B000051 +:043FCE008D401333DC +:043FCF003B130000A0 +:043FD00010332B532C +:043FD1002004347B19 +:043FD20047005E62E4 +:043FD300369700001D +:043FD4002C7B83C0FF +:043FD500009B200429 +:043FD6000001CAC05C +:043FD70081BC1697FC +:043FD8001BD34413A0 +:043FD900C40240A03E +:043FDA0098A0049512 +:043FDB0026893802F9 +:043FDC00900000A8A9 +:043FDD00247BEE83D0 +:043FDE00000390400C +:043FDF000180280431 +:043FE00036C0247B48 +:043FE100EC430009A4 +:043FE200838C16971F +:043FE300257B0AAB85 +:043FE40000006E80EB +:043FE500014615E29A +:043FE600233D2D7BCF +:043FE70000005C403A +:043FE800013A00AAF0 +:043FE9008E80257B26 +:043FEA00257B000033 +:043FEB008D4013F3FF +:043FEC001E9700001C +:043FED003BD3827CC4 +:043FEE00000120EEC0 +:043FEF0018E60723A6 +:043FF0000AE30007D9 +:043FF10082C01E97D5 +:043FF200E82300E0E0 +:043FF3001E97A681EE +:043FF400C681829C64 +:043FF50082C01E97D1 +:043FF600011A103B61 +:043FF7000560010858 +:043FF8002E9748496F +:043FF900469781BCAA +:043FFA00FEDB82C8A0 +:043FFB00C405496050 +:043FFC004C0340E052 +:043FFD0066C90B5531 +:043FFE003805996089 +:043FFF00916008C9FC +:0440000029685805CE +:0440010048048000EF +:0440020042600020F8 +:04400300A004E40928 +:044004004D2000014A +:04400500A5044C14AE +:044006004520FFFF53 +:0440070025204C1410 +:044008004520381403 +:044009003D206C14D6 +:04400A001520C414A5 +:04400B000559C4147B +:04400C00C4141520A3 +:04400D00813416974D +:04400E00FFFCA5040A +:04400F0000AC00AA57 +:0440100016970E45AC +:044011003D2082C804 +:044012004697E414D5 +:04401300152081B043 +:0440140016974C149B +:044015004E97827CC4 +:044016001D2083F8EE +:044017001E97581484 +:04401800569782E451 +:044019002E97828CD0 +:04401A0058AE82C05A +:04401B0018DE0001AA +:04401C0010AE0002E0 +:04401D00251E000755 +:04401E0001220180FA +:04401F0002E200A217 +:0440200004A30006EF +:044021000016022261 +:0440220000302257F1 +:044023000F2B190B3B +:0440240050120CE347 +:04402500251E00084C +:0440260001220780EC +:0440270001DA008238 +:0440280029FB0086EA +:044029003BF3257BC5 +:04402A0000039040BF +:04402B00257B2D3B89 +:04402C00000936C091 +:04402D0082C8169798 +:04402E001E973BD3CB +:04402F0011E083D049 +:04403000A0A04C02FE +:0440310010D2C402E3 +:0440320016B70004B9 +:044033002E9783D071 +:04403400A03383C072 +:044035002004357BB3 +:0440360047005ED50C +:04403700AD44000094 +:044038000251000130 +:0440390084918203E9 +:04403A00DDC347019A +:04403B00002005EA72 +:04403C000001154C1E +:04403D00254414A35F +:04403E001034000139 +:04403F002501000255 +:044040008A3C108620 +:044041000465CE8BB9 +:044042002544E70327 +:04404300FD43FFFF3B +:044044001BF3253B0A +:0440450000067CC035 +:0440460038BB1BD395 +:04404700E4430465E5 +:04404800C4142D204F +:04404900E9C38FD167 +:04404A0083C02E976A +:04404B00357BA033EE +:04404C005ED7200417 +:04404D00029BF4835B +:04404E00FBDC000295 +:04404F00F340091B16 +:04405000071B000347 +:044051000003F34035 +:0440520010A682032F +:0440530008A30005B9 +:04405400000BB3802A +:044055008CC311F314 +:04405600FC7C0722C5 +:044057004200031B05 +:04405800BA99000011 +:0440590084841697AE +:04405A00169706AB04 +:04405B000AB584140A +:04405C007854200470 +:04405D000000470018 +:04405E0081701697C0 +:04405F0014A3348BE7 +:044060000000F1006B +:04406100581C1720B0 +:044062000008072A21 +:04406300816C1697BF +:04406400F57A00A247 +:04406500827C1697AC +:04406600000110A69F +:0440670016974AA3BB +:04406800009A8170C9 +:044069001E9700425C +:04406A0074D583FC8A +:04406B00FAA3448BE5 +:04406C004080031B72 +:04406D001C400000F3 +:04406E00031B000C24 +:04406F00581C1720A2 +:04407000000042000A +:044071001697BA994B +:0440720008AB84848F +:044073008414169704 +:04407400007028B7F9 +:044075007867200444 +:0440760000004700FF +:044077000008072A0C +:04407800816C1697AA +:04407900F52600A286 +:04407A0080A0169775 +:04407B00F51A00A290 +:04407C0081701697A2 +:04407D0058A3148BA5 +:04407E0083FC1E970A +:04407F00108C74D558 +:0440800010AE200856 +:04408100F4A320087C +:044082004080031B5C +:04408300169700008C +:0440840018AE827C74 +:0440850008E300014B +:04408600000710A679 +:0440870000B200A2E1 +:04408800000D238084 +:044089001720031BDE +:04408A004200581C7C +:04408B00BA990000DE +:04408C00848416977B +:04408D00169706ABD1 +:04408E001AB58414C7 +:04408F0078A12004F0 +:0440900000004700E5 +:044091000008072AF2 +:04409200816C169790 +:04409300F4BE00A2D5 +:0440940080A016975B +:04409500F4B200A2DF +:044096008170169788 +:0440970000A2448BB4 +:04409800269700ACBB +:04409900181483FC78 +:04409A007515800810 +:04409B008008108CFD +:04409C00FFF618AA69 +:04409D004080031B41 +:04409E001697000071 +:04409F0018AE827C59 +:0440A0005EE30001DA +:0440A100000710AE56 +:0440A200169758A372 +:0440A300108C81708C +:0440A4004EA3100017 +:0440A5002840051B8F +:0440A6001E97000C55 +:0440A70020EE827C09 +:0440A80007230001E9 +:0440A900000718E60E +:0440AA001E970AE370 +:0440AB0018CC81703C +:0440AC0004EB8000A1 +:0440AD00581C172064 +:0440AE002AAB148B9A +:0440AF000491111354 +:0440B0001096113322 +:0440B1001EA3000347 +:0440B20020042913AA +:0440B300000278D1BE +:0440B4000033F3E4FE +:0440B500039B383BF6 +:0440B600203B075B49 +:0440B700000D1900DF +:0440B800091BE843B5 +:0440B900031BF603EC +:0440BA0000004200C0 +:0440BB001697BA9901 +:0440BC0006AB848447 +:0440BD0084141697BA +:0440BE0020043AB5EB +:0440BF00470078D668 +:0440C000072A0000CB +:0440C1001697000846 +:0440C20000A2816C6B +:0440C3001697F40058 +:0440C40000A280A036 +:0440C5001697F3F463 +:0440C600648B817016 +:0440C700269772A323 +:0440C800103483FC31 +:0440C900349100012D +:0440CA0004C9771599 +:0440CB00FFF810EA00 +:0440CC004080031B12 +:0440CD001697000042 +:0440CE0018AE827C2A +:0440CF0008E3000101 +:0440D000000710A62F +:0440D100029800A2AF +:0440D20081709697CC +:0440D3008000948C49 +:0440D400028C04A2B4 +:0440D50082189E9718 +:0440D6000001A00441 +:0440D70080A08E97A0 +:0440D8000202046A72 +:0440D900581C9720B8 +:0440DA004200031B82 +:0440DB00BA9900008E +:0440DC00848416972B +:0440DD00169706AB81 +:0440DE004AB5841447 +:0440DF0078E720045A +:0440E0000000470095 +:0440E1000008072AA2 +:0440E200816C169740 +:0440E300F37E00A2C6 +:0440E40080A016970B +:0440E500F37200A2D0 +:0440E60080A08E9791 +:0440E700F36A046212 +:0440E80083FC269798 +:0440E900001010347F +:0440EA007715349181 +:0440EB0010EA04C90A +:0440EC00031BFFF8BB +:0440ED00000040800F +:0440EE008484169719 +:0440EF00169708AB6D +:0440F00014DB848CCD +:0440F1009E9776B56B +:0440F200103483C043 +:0440F3001084000233 +:0440F40004E097EC61 +:0440F5009CA04872D1 +:0440F6000520C414C9 +:0440F70015204854F4 +:0440F8001697C4143F +:0440F90018AE827CFF +:0440FA0008E30001D6 +:0440FB00000710A604 +:0440FC00026600A2B6 +:0440FD008170169721 +:0440FE008000108CA2 +:0440FF00025A00A2BF +:04410000031B2D3B35 +:04410100000E230089 +:044102003EA388BB95 +:04410300C4039CA0B5 +:04410400103416D984 +:0441050024C10002CF +:0441060097EC10869C +:04410700832C1E8661 +:04410800832416B73F +:0441090001CA00E205 +:04410A00000418BED7 +:04410B0001DA00E2F3 +:04410C00832C2E864C +:04410D00C2C0253BCC +:04410E001E970004F4 +:04410F00168483C0CF +:0441100026818288FA +:04411100832C1E8657 +:04411200969706A5D1 +:0441130004A280A0E2 +:04411400031BF2B8DF +:044115000000420064 +:044116001697BA99A5 +:0441170006AB8484EB +:04411800841416975E +:0441190020048AB53F +:04411A0047007923BE +:04411B0026970000E3 +:04411C00103483FCDC +:04411D0034910400D5 +:04411E0004C9771544 +:04411F00FFF810EAAB +:044120004080031BBD +:0441210016970000ED +:0441220010AC8170EC +:044123001EA3008057 +:0441240020042C3B0C +:044125004700792AAC +:0441260016970000E8 +:04412700108C817007 +:0441280000A21000E1 +:04412900051B01C2AF +:04412A00000C28401D +:04412B00031B90BB27 +:04412C00000042004D +:04412D001697BA998E +:04412E0006AB8484D4 +:04412F008414169747 +:044130002004EAB5C8 +:04413100470079309A +:0441320004A20000E3 +:044133001697004C8F +:0441340010AC8170DA +:0441350042A30100A0 +:0441360083FC269749 +:044137000800103438 +:044138007715349132 +:0441390010EA04C9BB +:04413A00031BFFF86C +:04413B0000004080C0 +:04413C00383B035BAE +:04413D00203B303BB8 +:04413E00000D570019 +:04413F0090BB031B13 +:044140000000420039 +:044141001697BA997A +:0441420006AB8484C0 +:044143008414169733 +:044144002004FAB5A4 +:04414500470079397D +:0441460016970000C8 +:0441470000A280A0B2 +:044148008F20F1E8EB +:044149009460581115 +:04414A00072A581CCC +:04414B0016970008BB +:04414C0000A2816CE0 +:04414D001697F1D8F8 +:04414E0000A280A0AB +:04414F000A2BF1CC7A +:04415000283B343B99 +:04415100BFC0031BCD +:04415200071B00093E +:044153000000420026 +:044154002004BA99F0 +:0441550080117969F3 +:04415600000047001E +:044157001640203BB3 +:04415800000200124F +:04415900383BEC8083 +:04415A00035B303B98 +:04415B005700203BAE +:04415C0014A0000D9E +:04415D0004AA581246 +:04415E00052AFDEA47 +:04415F0014DE000A60 +:0441600012A3002E78 +:0441610082189E978B +:04416200000514DE62 +:04416300FDD400A2E5 +:04416400FFFB9CC4FD +:044165009CC400C333 +:044166008D3B000588 +:04416700C580203BB4 +:044168002CFB00012B +:044169006562200467 +:04416A00000047000A +:04416B0000046F409D +:04416C00788024FB38 +:04416D00169700049D +:04416E0018A6827C91 +:04416F0004E3000164 +:044170000243091BE2 +:04417100000710AE85 +:044172001697F6A303 +:04417300108C8170BB +:04417400ECA31000A8 +:044175002840051BBE +:0441760090BB000CEE +:04417700AF83A47BF3 +:04417800303B383B65 +:04417900203B035B89 +:04417A00000D5700DD +:04417B00581C172095 +:04417C0018E6AEC3D0 +:04417D0000E200015B +:04417E0018B6FE363B +:04417F0000EA002F23 +:044180001084FE2E7B +:04418100183BFFE9FF +:04418200108400C3E2 +:0441830002DB001744 +:04418400031B4B7D51 +:04418500832C1EA7C2 +:04418600832416B7C1 +:04418700000E230003 +:04418800499B24A388 +:04418900253B4B7D0A +:04418A000016588043 +:04418B00C4129CA01E +:04418C00485204A0F1 +:04418D0000021034E8 +:04418E00C40214A0B3 +:04418F0097EC108613 +:04419000832416B7B7 +:044191001686BD438E +:0441920008A3832CCF +:0441930016A7029BCE +:04419400FB03832C7A +:04419500832C06A7CA +:044196002E86FA4334 +:04419700499B832499 +:044198005A00253B69 +:04419900BC4300160D +:04419A00C783091BB3 +:04419B00000710AE5B +:04419C00EC1E00A273 +:04419D008268169787 +:04419E0082641E9782 +:04419F00C413002025 +:0441A000008818B2C9 +:0441A1000002A8343C +:0441A200FFFF14C443 +:0441A300948CAD4407 +:0441A400C412002021 +:0441A5001697133323 +:0441A600149282E409 +:0441A70014BBEB7AE0 +:0441A80098B2203B6E +:0441A9002CFB006E7D +:0441AA00001571C0CB +:0441AB00131311F3E6 +:0441AC002CBB31D324 +:0441AD00381190A095 +:0441AE0020043C7B32 +:0441AF0047007987C5 +:0441B00021D3000017 +:0441B10082C0283B65 +:0441B2004F80000238 +:0441B300044B0004B5 +:0441B4001456127318 +:0441B50044A300021D +:0441B6001AB318DB45 +:0441B7001A9B42A36A +:0441B800857B12F3FE +:0441B900C416002008 +:0441BA0000200133AD +:0441BB001E97C41770 +:0441BC001DBA826046 +:0441BD0059C0002EB7 +:0441BE0021D3000405 +:0441BF009484035B86 +:0441C00082C00001B8 +:0441C100AD44000207 +:0441C200F1430024A1 +:0441C3009CC4A68171 +:0441C400ED83000186 +:0441C500E40298A0D8 +:0441C600F0C3091128 +:0441C700F7431CDBC3 +:0441C800F7831E9BC0 +:0441C9000001A58CC0 +:0441CA0000080522C2 +:0441CB0025BB035BB2 +:0441CC0000011000DE +:0441CD0002403C066A +:0441CE0000023504B2 +:0441CF00247B035BEF +:0441D00000044300A4 +:0441D10000903C0618 +:0441D200000A3504A6 +:0441D300247B035BEB +:0441D40000044300A0 +:0441D50001B03C06F3 +:0441D60000043504A8 +:0441D700247B035BE7 +:0441D800000443009C +:0441D90035040E0596 +:0441DA00035B00087B +:0441DB004300247BFE +:0441DC001C060004B9 +:0441DD00052202D0E5 +:0441DE0014060010B3 +:0441DF00B8FB012008 +:0441E000B58411335E +:0441E10000110001C8 +:0441E20000E0EC838A +:0441E3003293488348 +:0441E4001DE0225365 +:0441E5003DFB58172F +:0441E6004300035B34 +:0441E7001C060004AE +:0441E800111301208E +:0441E90000E022537D +:0441EA0032D3488301 +:0441EB002689035BC3 +:0441EC00113338BB98 +:0441ED000004430087 +:0441EE0025BB283B8A +:0441EF0000011000BB +:0441F0002C3BF80369 +:0441F10079D220045B +:0441F2000000470082 +:0441F300035B243B0B +:0441F400000282C083 +:0441F5002041281924 +:0441F60041010A85F4 +:0441F7008011191901 +:0441F800C40424A037 +:0441F9000004C2C03C +:0441FA00EA4800028D +:0441FB0024FB035B43 +:0441FC00000282C07B +:0441FD0024FB283B3C +:0441FE000009DA409A +:0441FF00A4604A7DF1 +:04420000203BC40596 +:04420100000E230088 +:04420200203B2CFB36 +:04420300581214A099 +:044204000009DA4093 +:04420500017204E25C +:0442060000019CC453 +:044207000024A504E6 +:0442080082E416979F +:04420900FFC414DA00 +:04420A0003008834F1 +:04420B000001A034DA +:04420C0018148C44B2 +:04420D006E2CA5046A +:04420E0081E416979A +:04420F000166143AF6 +:044210001640203BF9 +:04421100031B001279 +:044212000000420066 +:044213001697BA99A7 +:0442140097208480EB +:0442150006AB581C80 +:04421600841416975F +:0442170020047AB550 +:0442180047007A0DD4 +:04421900072A000070 +:04421A0016970008EB +:04421B0000A2816C10 +:04421C001E97EE9C5F +:04421D00169780A0D0 +:04421E0000E2827CBC +:04421F0010A6EE8C6B +:0442200050A30001A6 +:0442210081AC1686D0 +:04422200001710BEB3 +:04422300169746A301 +:04422400108C817009 +:044225003CA3200096 +:044226004080031BB6 +:0442270020D30000A0 +:0442280082C0035BF2 +:0442290028D3000294 +:04422A00DA40203B1B +:04422B00095B000922 +:04422C00100020045A +:04422D0000085E80A7 +:04422E00203B28D336 +:04422F00581C1720E0 +:044230000009DA4067 +:044231004200031B29 +:04423200BA99000035 +:044233007A212004C8 +:04423400000047003F +:0442350080A01E97B0 +:04423600827C1697D9 +:04423700EE2A00E289 +:04423800000110AEC3 +:04423900015000A28E +:04423A0083F8169758 +:04423B00108CC4958A +:04423C0012AB400081 +:04423D00869712133B +:04423E0010A682E460 +:04423F0080110005E5 +:04424000041210F361 +:044241001697018249 +:04424200648B817098 +:04424300F14014A38F +:044244001720000D32 +:04424500072A581CD0 +:0442460016970008BF +:0442470000A2816CE4 +:044248001697EDECEC +:04424900C49583F89D +:04424A00000110ACB3 +:04424B0006B600A211 +:04424C0016402153A4 +:04424D0016970012AE +:04424E0000A28484C2 +:04424F00203B06AC5E +:044250000012164002 +:04425100033F1034E3 +:0442520010A0108424 +:04425300900000A82F +:04425400033F1034E0 +:0442550012A010841F +:04425600900000A82C +:04425700033F1034DD +:044258000E201084A0 +:04425900900000A829 +:04425A0080A0169793 +:04425B00ED9A00A236 +:04425C0016C0203B2D +:04425D00071B001229 +:04425E00000042001A +:04425F002004BA99E4 +:0442600047007C2671 +:044261000002000057 +:044262001697ED843A +:04426300244181E48D +:04426400FE8488AAA2 +:04426500C403A4608A +:0442660006C508453C +:0442670038C1025107 +:04426800FFFF1C67D1 +:044269001697FD4364 +:04426A001EFD838C26 +:04426B0082E42E9724 +:04426C006C021420AC +:04426D00010C1084AC +:04426E0020862681FF +:04426F005A00FF4CA6 +:04427000243B0000EB +:044271006D4098BB49 +:04427200228900009D +:04427300900098A877 +:044274008484169791 +:04427500141914AB59 +:04427600845C1E97AF +:04427700168E34C1AA +:0442780034998214DF +:04427900580298A0AF +:04427A00169704EDA2 +:04427B003CFB821472 +:04427C001033343B8C +:04427D0020042D3BB1 +:04427E00470054E4BD +:04427F00169700008E +:044280002AAB838C56 +:044281008484169784 +:0442820082142697E5 +:0442830010AB0C115F +:0442840016971799D9 +:044285002681845CAE +:0442860098E037196C +:0442870006AD580325 +:044288003CFB2033A8 +:0442890020042D3BA5 +:04428A00470054E9AC +:04428B001697000082 +:04428C000491838C8A +:04428D00C003040165 +:04428E00817016978E +:04428F00002010AC4F +:04429000FEA400A2E6 +:0442910083FC2697ED +:0442920001001034E3 +:0442930077153491D6 +:0442940010EA04C95F +:04429500031BFFF810 +:044296000000408064 +:04429700000D39805D +:044298004200031BC2 +:04429900BA990000CE +:04429A00848016976F +:04429B00169706ABC1 +:04429C00CAB5841407 +:04429D007A76200409 +:04429E0000004700D5 +:04429F0080A016974E +:0442A000FE6400AA0E +:0442A100EC820002A9 +:0442A20000A210D393 +:0442A30016970292D6 +:0442A400031B83F87D +:0442A500E495410952 +:0442A60001200509E5 +:0442A7001640A00419 +:0442A800035B0012A2 +:0442A90082C0243B70 +:0442AA00283B0002AB +:0442AB00DA40243B96 +:0442AC001697000958 +:0442AD0000A280A04B +:0442AE001697EC5023 +:0442AF0010AC81705E +:0442B00000A2000464 +:0442B1001E9700DC78 +:0442B20074D583FC40 +:0442B300FAA3448B9B +:0442B4004080031B28 +:0442B500055B0000A5 +:0442B6005E80211BEA +:0442B700031B0008DD +:0442B800581C172057 +:0442B90000004200BF +:0442BA001697BA9900 +:0442BB0008AB848048 +:0442BC0084141697B9 +:0442BD00005028B7CE +:0442BE007AD7200487 +:0442BF0000004700B4 +:0442C0000008072AC1 +:0442C100816C16975F +:0442C200EC0200A268 +:0442C30083FC1E97C3 +:0442C400448B74D5DE +:0442C500031BFAA33A +:0442C6000000408034 +:0442C7002004035B71 +:0442C8005E80010013 +:0442C900031B0008CB +:0442CA00581C172045 +:0442CB0000004200AD +:0442CC001697BA99EE +:0442CD0008AB848036 +:0442CE0084141697A7 +:0442CF00005428B7B8 +:0442D0007AE7200465 +:0442D10000004700A2 +:0442D2000008072AAF +:0442D300816C16974D +:0442D400EBBA00A29F +:0442D500834C169769 +:0442D6001E9748AB3C +:0442D70074D583FC1B +:0442D800FAA3448B76 +:0442D9004080031B03 +:0442DA00035B000082 +:0442DB0002002004B9 +:0442DC0000085E80F8 +:0442DD001720031B88 +:0442DE004200581C26 +:0442DF00BA99000088 +:0442E0008480169729 +:0442E100169708AB79 +:0442E20028B7841461 +:0442E300200400585B +:0442E40047007AF61F +:0442E500072A0000A4 +:0442E600169700081F +:0442E70000A2816C44 +:0442E8001697EB6CCE +:0442E90010AC817024 +:0442EA005EA30200CD +:0442EB0083FC269793 +:0442EC00100010347A +:0442ED00771534917C +:0442EE0010EA04C905 +:0442EF00031BFFF8B6 +:0442F000000040800A +:0442F10020042C3B3E +:0442F20047007B08FE +:0442F3003193000003 +:0442F400383B075BF1 +:0442F5000033031B74 +:0442F600000D19009E +:0442F7001720031B6E +:0442F8004200581C0C +:0442F900BA9900006E +:0442FA00848416970B +:0442FB00169708AB5F +:0442FC0028B7841447 +:0442FD002004004059 +:0442FE0047007B0CEE +:0442FF00072A00008A +:044300001697000804 +:0443010000A2816C29 +:044302001E97EB0413 +:04430300169780A0E9 +:0443040000E2827CD5 +:0443050010AEEAF418 +:0443060066A30007A3 +:044307008170169714 +:04430800000210ACF3 +:0443090026975CA3F4 +:04430A00103483FCEC +:04430B0034914000A9 +:04430C0004C9771554 +:04430D00FFF810EABB +:04430E004080031BCD +:04430F00055B00004A +:044310005E80091BA7 +:04431100055B000840 +:0443120090BB111B30 +:0443130000085E80C0 +:0443140014A0031BD3 +:0443150042005812F8 +:04431600BA99000050 +:0443170084801697F1 +:04431800581C972076 +:04431900169708AB40 +:04431A0028B7841428 +:04431B002004004832 +:04431C0047007B3F9C +:04431D00072A00006B +:04431E0016970008E6 +:04431F0000A2816C0B +:044320001697EA8C76 +:044321001E9780A0C3 +:0443220000A2827CF7 +:0443230018EEEA7C2A +:0443240016970001E7 +:0443250000E28170C1 +:044326001697008A5C +:0443270010A6827CDE +:0443280000A20007E8 +:04432900169700845F +:04432A0010AC8170E2 +:04432B005CA304008B +:04432C0083FC269751 +:04432D002000103428 +:04432E00771534913A +:04432F0010EA04C9C3 +:04433000031BFFF874 +:0443310000004080C8 +:0443320020042C3BFC +:0443330047007B794B +:0443340029930000C9 +:04433500303B383BA6 +:044336005700203BD1 +:04433700031B000D57 +:04433800581C1720D6 +:04433900000042003E +:04433A001697BA997F +:04433B0008AB8484C3 +:04433C008414169738 +:04433D00004428B759 +:04433E007B7D20045F +:04433F000000470033 +:044340000008072A40 +:04434100816C1697DE +:04434200EA0200A2E9 +:04434300203B2C3BB4 +:044344000009DA4052 +:044345001640203BC3 +:0443460080110012D0 +:04434700FBE2000293 +:04434800AF43203B24 +:04434900004010AC74 +:04434A0016977AAB9D +:04434B0010AC8170C1 +:04434C0000A20002C9 +:04434D002993FF7041 +:04434E00303B383B8D +:04434F005700203BB8 +:044350001720000D25 +:04435100072A581CC3 +:0443520016970008B2 +:0443530000A2816CD7 +:044354002697E9BC03 +:04435500103483FCA1 +:04435600349180001E +:0443570004C9771509 +:04435800FFF810EA70 +:044359004080031B82 +:04435A00055B0000FF +:04435B005E80811BE4 +:04435C00031B000837 +:04435D00581C1720B1 +:04435E000000420019 +:04435F001697BA995A +:0443600008AB8480A2 +:044361008414169713 +:04436200004C28B72C +:044363007B67200450 +:04436400000047000E +:04436500FF0E072A16 +:04436600816C1697B9 +:04436700FF0600AAA3 +:04436800E96A0002FC +:0443690083FC269714 +:04436A000200103409 +:04436B0077153491FD +:04436C0010EA04C986 +:04436D00031BFFF837 +:04436E00000040808B +:04436F008484169795 +:04437000169708ABE9 +:0443710018DB848C45 +:044372009E9776B5E7 +:0443730004E283A439 +:044374009697008C8C +:04437500283B8260FF +:0443760034BB273DF0 +:0443770000165A00D2 +:04437800283B34BBEF +:044379005A00393D70 +:04437A000020001609 +:04437B0024BBC41289 +:04437C00000400C079 +:04437D0083F8169714 +:04437E00108CC49546 +:04437F0000A2800018 +:04438000035B009843 +:04438100039B4BFD52 +:044382005700031BC2 +:04438300B6C4000DAF +:044384000020004CC9 +:044385000020C41739 +:044386002697C4159D +:04438700257A8260B1 +:04438800948400E039 +:0443890014A6000175 +:04438A00C2A30008C2 +:04438B0002DB38BD5C +:04438C00C412002037 +:04438D0000D020FA42 +:04438E0083C02E9723 +:04438F00675E200441 +:0443900000004700E2 +:04439100013404AA45 +:0443920000047A00A9 +:04439300C412002030 +:044394008260169796 +:0443950000C214FA54 +:044396000003F980A7 +:0443970020040103FA +:044398004700671C57 +:04439900031B000002 +:04439A0000004200DD +:04439B001697BA991E +:04439C0006AB848464 +:04439D0084141697D7 +:04439E002004DAB568 +:04439F0047007B4B0D +:0443A000072A0000E8 +:0443A1001697000863 +:0443A20000A2816C88 +:0443A3001697E88001 +:0443A40000AA80A04B +:0443A5000002FE0410 +:0443A600655BE870FB +:0443A7004ABDECC35C +:0443A800C402A0A00B +:0443A9002E970485C2 +:0443AA003CBB83C0D5 +:0443AB0000FF408C43 +:0443AC00353B40332A +:0443AD00674320043E +:0443AE0041331A334A +:0443AF00470011F3BF +:0443B00041130000B5 +:0443B1001A321A138F +:0443B20011D300041F +:0443B300A50488BB1A +:0443B4002697000147 +:0443B500BD20830C98 +:0443B600C64BE4020C +:0443B700FFBE20BA6B +:0443B8000000158666 +:0443B900000E18B228 +:0443BA00A8A038BDC2 +:0443BB008DA7C40204 +:0443BC0090A70000C6 +:0443BD00AD4400000B +:0443BE00B5840001C1 +:0443BF00BD3B000101 +:0443C000A5FBE30373 +:0443C100F943FE5B63 +:0443C2000A851C85C7 +:0443C300000429AA1F +:0443C4000001900460 +:0443C500049106D188 +:0443C60038BDE343D8 +:0443C700C40298A0F4 +:0443C8000000A086CB +:0443C90024BB035BB3 +:0443CA0000010300EB +:0443CB0000FFAD0C36 +:0443CC0000C0257B8D +:0443CD00283B000485 +:0443CE00030024BB09 +:0443CF00169700013C +:0443D0001AAB848020 +:0443D10082602E9741 +:0443D20083C02697E7 +:0443D300001571C0A0 +:0443D40084241E9788 +:0443D500C40398E0A5 +:0443D600A0E734C167 +:0443D7002E9700001D +:0443D80034FB83C06F +:0443D90020043D7B04 +:0443DA0047006766CB +:0443DB001697000031 +:0443DC009CC4830CEE +:0443DD0014A0000127 +:0443DE00DA83C412A8 +:0443DF0000709EC606 +:0443E00000FFA4CC6A +:0443E10000C0253BB8 +:0443E2002697000416 +:0443E30024B282601E +:0443E4001697FED456 +:0443E50016AB84800F +:0443E60083C02E97CB +:0443E700001571C08C +:0443E80084241E9774 +:0443E900C40390E099 +:0443EA0098E734C15B +:0443EB002E97000009 +:0443EC0034BB83C09B +:0443ED0020043D3B30 +:0443EE004700676DB0 +:0443EF0094840000B2 +:0443F000F8C300010D +:0443F100283B343BF6 +:0443F200BFC0031B2A +:0443F3002C3B000956 +:0443F4001D5920042B +:0443F500000047007D +:0443F6001697001105 +:0443F700141A82E42E +:0443F8000002FFE2DE +:0443F900021BF94A60 +:0443FA008697FE03A1 +:0443FB008E97849085 +:0443FC0026978290EE +:0443FD009697828C81 +:0443FE008C378394E1 +:0443FF0024370078E7 +:0444000004AA007C8E +:04440100035B004415 +:0444020000005FC097 +:0444030082DC1E97A2 +:044404001E97268158 +:04440500849182D448 +:04440600EC0218A00C +:0444070000801437E6 +:04440800002A04AAD8 +:04440900247B283BAD +:04440A0000005FC08F +:04440B0082DC1E979A +:04440C001E97268150 +:04440D00849182D440 +:04440E00EC0218A004 +:04440F0000841437DA +:04441000848C1697EB +:0444110000020E9DFA +:04441200103BF8F46F +:04441300103BF9C39E +:044414008697FD4347 +:04441500883482E481 +:0444160090340002DC +:04441700801103000D +:0444180093A48C4499 +:04441900181494845B +:04441A0000089804FA +:04441B00E448041A53 +:04441C00243B035BDF +:04441D00000282C057 +:04441E000002103454 +:04441F0093941084DE +:0444200090E006958D +:0444210098E85803BC +:044422002491900051 +:04442300FFF0146230 +:04442400FB03801105 +:044425007D352004BD +:04442600000047004B +:044427000003F4405A +:04442800E43000027A +:0444290020042C3B04 +:04442A0047007D4486 +:04442B00031B00006F +:04442C0083C086B70C +:04442D0000126740D2 +:04442E000012AF8049 +:04442F0010B3031BA8 +:0444300000126740CF +:0444310010AE109326 +:0444320012A30001D0 +:044433002C3B34BB2F +:044434007D4920049A +:04443500000047003C +:0444360000028011EF +:04443700347BE42AC4 +:0444380010A6FD834A +:0444390008A30001D3 +:04443A007D58200485 +:04443B000000470036 +:04443C0000A2109337 +:04443D002004E46E05 +:04443E0047007D5D59 +:04443F00031B00005B +:044440000001D04067 +:0444410083FC16974B +:04444200108C7495D1 +:0444430010A60005BA +:0444440004A30005C8 +:0444450000124080A1 +:044446008320169722 +:044447000300183422 +:04444800042018C470 +:0444490018A8268900 +:04444A0018DF8000F7 +:04444B0018A8FFEFBF +:04444C001093900039 +:04444D007FE110E912 +:04444E0080A016979D +:04444F00149B08AB07 +:04445000149BE009D0 +:0444510016977E211B +:04445200FE2183FCC8 +:04445300300B609535 +:0444540000EC042252 +:0444550083781697BB +:04445600008010AC26 +:04445700103414AB5E +:04445800208E0002B0 +:04445900B98098A6E8 +:04445A0080BB000E15 +:04445B00000EBF4050 +:04445C001697240982 +:04445D0010AC8378A4 +:04445E000AAB008025 +:04445F006400051BD5 +:04446000B580000122 +:0444610016970002A8 +:04446200649583FCDE +:044463000240108C77 +:04446400B90006A3F2 +:044465002409001313 +:04446600030010340B +:0444670004041084B5 +:04446800103411B348 +:04446900B034030068 +:04446A00B834000260 +:04446B00A83403006E +:04446C0010840300B5 +:04446D00B58400CC46 +:04446E0000208E326A +:04446F00BDC4C412F2 +:04447000AD44041C37 +:0444710011F304201F +:04447200878024BB60 +:0444730000AA00009B +:0444740024BB03E082 +:044475000009DBC09F +:044476000046188E56 +:0444770083FC169715 +:04447800988626817B +:0444790004E000005B +:04447A009CF449B3B2 +:04447B00BCE003009E +:04447C001168580566 +:04447D00C48B80006C +:04447E0010AE283321 +:04447F0000A200FF98 +:0444800024BB0390C6 +:044481000009DBC093 +:044482002813C8959E +:044483000010212CD8 +:04448400ACE0332352 +:0444850010A8580221 +:04448600848B8000A3 +:04448700A00200A0EF +:0444880010341133A8 +:044489001084030098 +:04448A0014E0040C2A +:04448B0010A858021B +:04448C0000A280000A +:04448D00A113036E06 +:04448E008000116831 +:04448F000183F49918 +:04449000E5C3803BC5 +:0444910000200133D3 +:04449200103BC41403 +:0444930083A01E974D +:04449400183414EBD9 +:0444950018D7000232 +:04449600B8E093A84F +:0444970018E85803C6 +:04449800F6D98000D1 +:04449900025B068933 +:04449A004C119460CD +:04449B00837C1E9769 +:04449C0038031C6065 +:04449D00035E00AA10 +:04449E00A01C00E07E +:04449F00052A0033B7 +:0444A000E0E0000850 +:0444A10000E05803DC +:0444A2002873A014C7 +:0444A3000242012AA6 +:0444A400DBC024BB9A +:0444A500C4950009B1 +:0444A600000210AC54 +:0444A700023200AA33 +:0444A8001968285314 +:0444A90016978000E2 +:0444AA0056CB81B4B8 +:0444AB00380214605F +:0444AC0000A02689BD +:0444AD000722800260 +:0444AE002013021CB9 +:0444AF00B8C102DBB3 +:0444B00010B30689B6 +:0444B1000001109C5A +:0444B2003802A0A08C +:0444B300169710F355 +:0444B400107380A061 +:0444B500FE6A00A2F9 +:0444B600827C169757 +:0444B700000110A64A +:0444B800840B34A39A +:0444B90086C030A3E6 +:0444BA002AAB000029 +:0444BB0000021034B7 +:0444BC008EEC1097DB +:0444BD00268919D360 +:0444BE00800010A8C2 +:0444BF00169718AB89 +:0444C00084148320BD +:0444C100A8A000208F +:0444C20018A85802DC +:0444C30018D4800089 +:0444C40018A80080B4 +:0444C5001013900040 +:0444C6005802E0A018 +:0444C7001953117301 +:0444C800268910939E +:0444C900268918D355 +:0444CA000F5B3EAB9B +:0444CB00DE4024BBF0 +:0444CC001697000936 +:0444CD00749583FC63 +:0444CE000005108C49 +:0444CF00000510A62E +:0444D0001D4004A3E4 +:0444D1001697001228 +:0444D200051B81A89D +:0444D3000008109439 +:0444D40081A816B7EE +:0444D5000001DF0003 +:0444D6003E40203B09 +:0444D7008AC0000295 +:0444D800203B00067F +:0444D9000003B70025 +:0444DA0083A0A6977E +:0444DB00001C052A92 +:0444DC00DBC024BB62 +:0444DD00188E00092C +:0444DE0016970046E7 +:0444DF00268183FCB3 +:0444E0000002A086B0 +:0444E10049B40520B5 +:0444E2000300A534FA +:0444E3000072072A32 +:0444E4005803ACE0ED +:0444E500800010E85B +:0444E600800010B48E +:0444E700900010E849 +:0444E80083A0169700 +:0444E90010343AABA6 +:0444EA001097000225 +:0444EB00B8A093A83A +:0444EC0018E8580371 +:0444ED0000D2800079 +:0444EE00A8A0001072 +:0444EF0018A85802AF +:0444F00018F480003C +:0444F10018A8800087 +:0444F2001697900089 +:0444F30010AB83A0E7 +:0444F4005803AD209C +:0444F500800010E84B +:0444F600800010B47E +:0444F700900010E839 +:0444F800B880031B6A +:0444F9000020000A95 +:0444FA001697C41C31 +:0444FB00171A82E426 +:0444FC00051B00E8B4 +:0444FD00000B26404A +:0444FE00837C16970E +:0444FF0016B7228941 +:044500001013837C95 +:04450100ACE032AB4D +:0445020014E858134E +:0445030010BF800065 +:0445040014E87FFF39 +:044505001697900075 +:0445060010AB83A0D3 +:044507005814AD2077 +:0445080080001528F2 +:044509007FFF10BF61 +:04450A0090001528E0 +:04450B00837C169700 +:04450C00068966496D +:04450D00837C16B7DE +:04450E0000AA10935C +:04450F0024BB016C5C +:044510000009DBC003 +:044511000046188EBA +:0445120083FC169779 +:0445130081B49E973A +:044514000485268173 +:0445150049A200A017 +:04451600030010B4DA +:044517005803B8A0ED +:04451800800018E81F +:044519005806A8A0F8 +:04451A008000E1A894 +:04451B0080A02697BF +:04451C0094E04523BF +:04451D00E71F6C1315 +:04451E0038CCFFF0A6 +:04451F009CCC000729 +:044520005ACB000171 +:04452100581C3F20C3 +:04452200008A04E225 +:04452300000920CC9F +:04452400E1A80F2BD0 +:044525002DA790002E +:04452600203B000036 +:0445270000019804F3 +:0445280081B41697AD +:044529004C1394E0BB +:04452A000449624995 +:04452B0058119C6027 +:04452C0081B48EB711 +:04452D001053207394 +:04452E0010AE18D3E0 +:04452F0026890002D7 +:0445300031130CAB8C +:04453100071B283B01 +:04453200000ED38024 +:04453300029B2409BA +:04453400103B1C0319 +:04453500183BBC0370 +:04453600283BBCC39F +:0445370082C0273BDC +:0445380016970002D0 +:04453900E70481DC36 +:04453A00589500018F +:04453B00FDF8211F47 +:04453C000003DC405C +:04453D0081DC169770 +:04453E00211F38956C +:04453F00DC40FFF766 +:0445400016970003C7 +:04454100489581DC3C +:04454200FE3D211FFA +:04454300000221143D +:044544000003DC4054 +:044545008963DA8329 +:044546000000A58646 +:0445470000081D0C3F +:0445480000FF2D0C37 +:04454900250C58E302 +:04454A0039930001A0 +:04454B0000A82E890D +:04454C0052EB90009E +:04454D000004150C45 +:04454E00383B48A30B +:04454F002160055989 +:04455000148BCC21DB +:044551002F09250900 +:0445520018B3303337 +:044553000B8028733E +:04455400301300021E +:044555009000E1A849 +:04455600285318933B +:04455700150C10EB44 +:0445580028A3000490 +:044559002833031BE5 +:04455A000001D0404C +:04455B0020042813FD +:04455C0047006FAAFB +:04455D0024FB00003B +:04455E00C413002062 +:04455F00203BE443D6 +:0445600019DBF5036B +:04456100C12BF6C3B1 +:04456200F783451B7B +:0445630000029804B6 +:04456400103BFB838A +:04456500B584038393 +:0445660000AA0001A6 +:044567000383FC2AA4 +:04456800058310DBDC +:044569000001A004A9 +:04456A0010D391C316 +:04456B00FF1200A299 +:04456C0094841153CF +:04456D001CA6000187 +:04456E00DAE300107C +:04456F00837C16979C +:0445700081B41E975D +:0445710000A02689F7 +:044572000491A0020E +:0445730020DBD22B4C +:044574000002268992 +:0445750000E0FB6EF9 +:04457600103380027C +:04457700C41C002040 +:04457800003B9383EE +:044579000033C461E6 +:04457A0089BB817BFD +:04457B0000A2101377 +:04457C002C3B00C410 +:04457D000009DE4013 +:04457E0003002834DA +:04457F0003002034E1 +:0445800004182944AE +:0445810018282104D1 +:0445820083F83E97E5 +:0445830083FC4E97D0 +:0445840041CE183BD1 +:04458500039B00464E +:04458600002511C635 +:04458700009C10FA8A +:0445880000021034E9 +:044589009304108601 +:04458A0049A200A0A2 +:04458B00030010B465 +:04458C0010A82889C2 +:04458D000C89800015 +:04458E00169706A3D3 +:04458F00C8AB80A095 +:0445900081A8169751 +:044591000002109480 +:0445920081A816B72F +:0445930083FC1697F8 +:04459400108C74957E +:0445950010A6000567 +:0445960004A3000575 +:0445970000121D40B1 +:0445980081A8169749 +:044599001094051B5A +:04459A0016B7000848 +:04459B00DF0081A814 +:04459C00203B0001BF +:04459D0000023E409A +:04459E0000068AC0C9 +:04459F00033F103492 +:0445A000108402DBA6 +:0445A10018A83424FE +:0445A2001034900041 +:0445A3001084033F3E +:0445A40018A814241B +:0445A50016979000D5 +:0445A600108C817084 +:0445A70036AB01002E +:0445A80032C0203BC2 +:0445A900039B000070 +:0445AA00243B2C7B07 +:0445AB003EE800697D +:0445AC00D388C80CDC +:0445AD001013000ED9 +:0445AE00E6031033DD +:0445AF00C4021A2008 +:0445B000C4021260CF +:0445B10000A00485DD +:0445B2002A8949A267 +:0445B300800010A8CC +:0445B40006D105899E +:0445B500FF1BE843BD +:0445B600003BF903CA +:0445B70004001034B8 +:0445B8000704108460 +:0445B900800020A8B6 +:0445BA00FFFE191FC8 +:0445BB000004192AB5 +:0445BC00900018A8AB +:0445BD0004001034B2 +:0445BE000120108444 +:0445BF00800020A8B0 +:0445C000FFFC191FC4 +:0445C1000004192AAF +:0445C200900018A8A5 +:0445C30004001034AC +:0445C40018A820DB38 +:0445C50010349520F9 +:0445C60010DB040002 +:0445C700954018A85B +:0445C800003BE009CB +:0445C9008697C421EC +:0445CA008D5180A4EB +:0445CB0018191D9905 +:0445CC0005001034A2 +:0445CD000000108456 +:0445CE002834897B89 +:0445CF002944000279 +:0445D0004881D0044A +:0445D10000165880F8 +:0445D200000210349F +:0445D300D00010976D +:0445D400000110AC26 +:0445D50006B71CAB5E +:0445D600BE0080A4FF +:0445D700BF400001E0 +:0445D8008800000156 +:0445D9002014000AA0 +:0445DA0047008253C1 +:0445DB00029B00003F +:0445DC0080114421E5 +:0445DD002EB75201A2 +:0445DE00FE8380A434 +:0445DF001126CC21B4 +:0445E00052A30001E1 +:0445E10000116DC098 +:0445E20006B7203BBD +:0445E30006B781A8EE +:0445E40032C081B4AC +:0445E5002834000076 +:0445E6002944000262 +:0445E7005D55D0004E +:0445E8000500203476 +:0445E90000002104A9 +:0445EA000003318415 +:0445EB00FFFC319F01 +:0445EC0000165880DD +:0445ED000001BF40CA +:0445EE000001BE000A +:0445EF000300103481 +:0445F000837816B7FF +:0445F100000A880034 +:0445F20083BC06B7C9 +:0445F30083B406B7D0 +:0445F40083B806B7CB +:0445F500350B4C2115 +:0445F60000AA813B5B +:0445F7001697009083 +:0445F800883B837801 +:0445F9000001980421 +:0445FA00155710BF82 +:0445FB00837816B7F4 +:0445FC000002103475 +:0445FD00987C108412 +:0445FE00002A208EE1 +:0445FF000022188EF0 +:04460000180320E09B +:04460100002E208ED9 +:04460200FFFF18F4AA +:04460300380420E077 +:04460400002E20AFB5 +:044605000030208ED3 +:04460600380420E074 +:04460700003020AFB0 +:044608000036208ECA +:04460900380420E071 +:04460A00003620AFA7 +:04460B00003C208EC1 +:04460C0018AF08C912 +:04460D00203B003C12 +:04460E000002A9C03D +:04460F00833C9697BB +:044610006C028CA00C +:044611001EAB048B4D +:04461200DBC0247B6A +:04461300C495000941 +:04461400001010ACD6 +:044615008CE010A382 +:0446160016974C03A4 +:0446170066C9837875 +:0446180016B7068942 +:04461900025183784F +:04461A000010146612 +:04461B00100BD2A30B +:04461C00FF54042A19 +:04461D0083781697F1 +:04461E009004803B49 +:04461F0010BF0001C7 +:0446200016B7EAAB34 +:044621001034837856 +:0446220010840002FE +:04462300188E987CD9 +:04462400208E0020C4 +:0446250066C9002E34 +:04462600380420E054 +:04462700002E20AF92 +:044628000030208EB0 +:04462900380420E051 +:04462A00003020AF8D +:04462B000036208EA7 +:04462C00380420E04E +:04462D00003620AF84 +:04462E00003C208E9E +:04462F0018AF08C9EF +:04463000203B003CEF +:044631000002A9C01A +:04463200833C8E97A0 +:044633006C02846031 +:0446340034AB048B14 +:04463500DBC0243B87 +:04463600C49500091E +:04463700001010ACB3 +:0446380084A026AB89 +:044639001E974C027A +:04463A006489837894 +:04463B001EB704C9D9 +:04463C001E978378CA +:04463D0010E081B454 +:04463E0016B7380271 +:04463F00103481B4FE +:04464000240100024F +:044641008E3200A70E +:044642001426001129 +:04464300BCA3001004 +:04464400003BD6C39E +:044645001E97DC617F +:04464600813B8378B9 +:044647001D23A17B13 +:044648000002103428 +:04464900989C108E9B +:04464A00008200A248 +:04464B00155418F4F6 +:04464C0083781EB79A +:04464D00000C9004C9 +:04464E00044E000214 +:04464F00000810341B +:04465000380418A072 +:04465100268907238C +:04465200837816B79C +:0446530083781697BB +:04465400400018AC5E +:0446550005A800E2D2 +:044656000592042A9B +:04465700008090341B +:044658000054009278 +:044659002000883481 +:04465A0002B0009A10 +:04465B0000A202892E +:04465C00168602AA12 +:04465D0010BE81AC5E +:04465E000CA3001792 +:04465F0083FC16972B +:04466000108C6495C1 +:0446610008AB0100A1 +:0446620007D0200459 +:04466300000045808E +:0446640083781697AA +:04466500400018AC4D +:04466600027C00EAE8 +:04466700BFFF10BFC2 +:04466800800010B40A +:04466900837816B785 +:04466A0000099004AF +:04466B00103441C303 +:04466C00F1830004D2 +:04466D000040903445 +:04466E00380390A0DD +:04466F00054000E220 +:04467000800304209F +:04467100103406D922 +:044672009834000276 +:0446730024C100025C +:04467400800304209B +:04467500A88E06D92C +:04467600103498A0C4 +:0446770024C1000258 +:04467800989CB08ECC +:04467900987C9CC4C9 +:04467A0000B2042A5C +:04467B00002ABCCE87 +:04467C0083FC16970E +:04467D00348B649581 +:04467E0000FA00AA94 +:04467F005815B560B5 +:0446800003012834D6 +:0446810003013034CD +:0446820003013834C4 +:044683000301883473 +:04468400FFFF454CA3 +:044685004804183B92 +:0446860029440001C2 +:044687003184D06842 +:0446880039C4D05C05 +:044689008C44D0305D +:04468A002697D0346B +:04468B00351583FC62 +:04468C00007010FAB0 +:04468D00002E14CE19 +:04468E005802156059 +:04468F00002E14EFF6 +:0446900065152E2B53 +:0446910028A3B48B1B +:04469200034010349D +:044693000068108427 +:04469400800018A8E2 +:04469500002018D415 +:04469600900018A8D0 +:044697000340103498 +:04469800005C10842E +:04469900800018A8DD +:04469A00008018D4B0 +:04469B00900018A8CB +:04469C0081AC168651 +:04469D00001710B63C +:04469E0024CE0CA377 +:04469F00256000286A +:0446A0003880380422 +:0446A1001697001454 +:0446A200883B837856 +:0446A300580290A089 +:0446A400837816B74A +:0446A500017A052A67 +:0446A6000009900473 +:0446A700002013C319 +:0446A800E983C417C7 +:0446A9004C021A6045 +:0446AA00380240A0F2 +:0446AB0054D944ABEF +:0446AC00580A28A0E0 +:0446AD00800022A8BF +:0446AE0000202114B3 +:0446AF00900022A8AD +:0446B000580A30A0D4 +:0446B100800022A8BB +:0446B200008021144F +:0446B300900022A8A9 +:0446B400580A38A0C8 +:0446B500800022A8B7 +:0446B600FF00211FC1 +:0446B700004021148A +:0446B800900022A8A4 +:0446B90020A822898A +:0446BA00211F80003C +:0446BB0020A8FFF044 +:0446BC0006D1900093 +:0446BD000033E6835D +:0446BE0000A2101333 +:0446BF00168600C299 +:0446C00010BE81ACFB +:0446C10000A200173C +:0446C200B56000BC23 +:0446C300254C581515 +:0446C400B920FFFF1B +:0446C500B98058045C +:0446C60088BB000E9F +:0446C7001697102B07 +:0446C800649583FC76 +:0446C90006A3B48B05 +:0446CA00000EBF40DF +:0446CB00046A244910 +:0446CC00444BFF5408 +:0446CD0000D400AA6B +:0446CE000014900440 +:0446CF0083FC1697BB +:0446D000648B7495EE +:0446D100746B76ABE5 +:0446D2005E97722B52 +:0446D3002E97833C5F +:0446D40054CE8378C5 +:0446D5001834002E67 +:0446D60006B7000221 +:0446D70006B783742B +:0446D80018C483700F +:0446D900883B987C06 +:0446DA00303B383BFE +:0446DB006004103B2C +:0446DC0012E00001E7 +:0446DD00090B6C0455 +:0446DE001320232B57 +:0446DF002A604C09F8 +:0446E000192338045E +:0446E100512008CD8F +:0446E200420C380846 +:0446E300F90BFFFFD1 +:0446E4000008412267 +:0446E500580649A08A +:0446E60003DB284981 +:0446E70020A6049174 +:0446E80016D10010D7 +:0446E900CFCBCD2343 +:0446EA008EB713EB89 +:0446EB0036B78370EB +:0446EC0009AB83741F +:0446ED0040002974EC +:0446EE0083782EB7E8 +:0446EF002E03025B39 +:0446F0001033101360 +:0446F100AD4CE643A3 +:0446F200257BFFFF26 +:0446F300000EB9807C +:0446F40006A388BBD6 +:0446F5003880257B69 +:0446F60025FB00148C +:0446F700000EB98078 +:0446F800102B244916 +:0446F90083FC169791 +:0446FA00B48B649584 +:0446FB00BF4006A313 +:0446FC002449000E3F +:0446FD00FF3A04621A +:0446FE001804A820D4 +:0446FF00FFFFB58C78 +:044700003804B120A8 +:04470100000EB9806D +:04470200E44388BB49 +:04470300001190040D +:044704009004E543F5 +:04470500E483000C3D +:04470600B103228950 +:04470700C4120020B8 +:0447080002D60422AF +:044709000100203457 +:04470A008378169703 +:04470B00380211203F +:04470C0000AA00A25D +:04470D008003042001 +:04470E00103406D984 +:04470F002834000248 +:0447100024C10301BC +:04471100989C588E8A +:04471200030130343B +:044713000301383432 +:0447140003008834E2 +:044715000300403429 +:044716000300483420 +:044717000300503417 +:044718002944183BDD +:04471900318484184B +:04471A0039C4870C0B +:04471B008C4487083B +:04471C0042040F083C +:04471D004A442F08D3 +:04471E0052844F086A +:04471F001AE06F0825 +:04472000048B6C0298 +:0447210054D946AB76 +:04472200580D28A066 +:044723008000636847 +:044724000008032264 +:0447250080A0669773 +:04472600FFF0032A73 +:04472700580C30A05A +:0447280090000328D2 +:04472900580C38A050 +:04472A0090000328D0 +:04472B00580C88A0FE +:04472C0090000328CE +:04472D00580C40A044 +:04472E0090000328CC +:04472F00580C48A03A +:0447300090000328CA +:04473100580250A03A +:04473200900000A84B +:0447330010E606D1B5 +:04473400AAA3001024 +:0447350083781697D8 +:0447360016B7288901 +:04473700062383785A +:0447380000109834A1 +:04473900983400832D +:04473A0016970020AE +:04473B0098A0837847 +:04473C0000E238035C +:04473D000092008E58 +:04473E00091B006AE9 +:04473F000001640011 +:0447400012AB88BB75 +:0447410083781697CC +:044742003FFF10BF66 +:04474300837816B7AA +:0447440000099004D4 +:04474500182B025BD0 +:044746000400103427 +:0447470000E01084FA +:04474800800020A825 +:04474900FFE7191F4E +:04474A000004192A24 +:04474B00900018A81A +:04474C000001A5269D +:04474D000002B58031 +:04474E00004C0522F4 +:04474F000002103420 +:04475000987C1084BD +:044751000020888E2E +:044752000030808E25 +:044753000002B5802B +:04475400F00B02095B +:044755008462F24B3D +:0447560000AA0004B1 +:044757009004FBD6F9 +:0447580004C300098D +:0447590080040420B4 +:04475A0000016400F6 +:04475B00062B88BBE6 +:04475C006400051BD5 +:04475D0004620001F1 +:04475E001697016643 +:04475F0098A0837823 +:04476000F103580207 +:04476100F503883B99 +:0447620014BB2A6BEF +:04476300108E5C61F7 +:0447640034C1004616 +:0447650000A004C5E7 +:0447660010B449A2A0 +:04476700B8A00300F3 +:0447680010A858023B +:0447690000A280002A +:04476A00900400C0F7 +:04476B001B830009A3 +:04476C001B03883B68 +:04476D000300B83459 +:04476E000006B0048D +:04476F00801304208F +:044770000418BDC4A8 +:044771000002A83466 +:04477200C41400204B +:04477300987CAD443D +:04477400833C8E975D +:044775006C11A460BF +:04477600046A024B84 +:044777001E9700AEDB +:04477800A0E08378C2 +:04477900048BEC02BF +:04477A0000D2C6A300 +:04477B00025B0010CD +:04477C004C11A460D8 +:04477D008374169794 +:04477E00046A04497C +:04477F00253B008E48 +:044780000009DBC091 +:0447810016B7C6950C +:0447820002CB83F8EB +:0447830020E07E6B49 +:0447840024EACE94C1 +:0447850018E0FF9A9F +:04478600B0E2CCA32E +:044787002686FF92F1 +:044788001E9781AC4B +:04478900213E83FC4E +:04478A0001220017F1 +:04478B0068D5FF608E +:04478C000100210CFB +:04478D00FF560122B0 +:04478E004823052097 +:04478F0000021034E0 +:04479000208E24C192 +:044791001D4E987CA5 +:04479200154E003A86 +:04479300268900383B +:0447940000361D4E80 +:044795001D4E068926 +:0447960066C90034BC +:044797001D4E268904 +:04479800068900305E +:044799001122088958 +:04479A00253BFF407C +:04479B00283B303B4C +:04479C0000115E406A +:04479D001E97031B45 +:04479E00A12083785B +:04479F0028C94C04D5 +:0447A00083781EB745 +:0447A100FF2200AA49 +:0447A200001190046E +:0447A3000001A50468 +:0447A400152608636B +:0447A50000A200105E +:0447A600B584FF36A1 +:0447A7000863FFFFA5 +:0447A800FFFF15AE4C +:0447A900FF1C00AA47 +:0447AA008378169763 +:0447AB000008009270 +:0447AC007FFF10BFBC +:0447AD00837816B740 +:0447AE00FECE0462D5 +:0447AF001697102326 +:0447B00010B4837846 +:0447B10016B7040033 +:0447B2000002837806 +:0447B3008426FA66F8 +:0447B40004220001DA +:0447B5001697FA5EFB +:0447B60010B4837840 +:0447B700FCC3080037 +:0447B80000108C6EF3 +:0447B900FE28046270 +:0447BA000014900453 +:0447BB000092C4C3E1 +:0447BC008834FAC281 +:0447BD0000021000E6 +:0447BE002034FA6E3B +:0447BF00A50302004C +:0447C000FA60042275 +:0447C100003BFD8339 +:0447C200837816974B +:0447C30010AC802195 +:0447C40004AB08003A +:0447C500001242009C +:0447C600000046C0E9 +:0447C700000EC1C05F +:0447C800C8003EE8FF +:0447C9000011138840 +:0447CA0083FC2697AF +:0447CB0000021034A4 +:0447CC00000218349B +:0447CD009B081084B1 +:0447CE00D00018C43B +:0447CF00671516B59F +:0447D0002AB50ACB31 +:0447D100CC2128E0EF +:0447D20028E03AB5EC +:0447D3005AB5CCA562 +:0447D400CC8428E089 +:0447D50028E04AB5D9 +:0447D60018E0CCC655 +:0447D70076B5CD08DE +:0447D800000218348F +:0447D900989C18CEC2 +:0447DA0086B56AB581 +:0447DB0000E03715AE +:0447DC0096B580030B +:0447DD0018E0771554 +:0447DE0018FECD46AE +:0447DF00A6B5001566 +:0447E0002CEB871522 +:0447E100203476CB3F +:0447E200192804008E +:0447E30018349520D1 +:0447E40018C40400F1 +:0447E50020E80C00BC +:0447E6009495800026 +:0447E700FFDF213F90 +:0447E8004AA200A041 +:0447E900002010ACF0 +:0447EA0010E8288922 +:0447EB00E009900051 +:0447EC00FA4320DB91 +:0447ED00840816978F +:0447EE008834C42126 +:0447EF008C440002F4 +:0447F00028AB9B084F +:0447F100840C2E976F +:0447F2008410269772 +:0447F30000117240FF +:0447F400F28010AB94 +:0447F5001457001144 +:0447F60010940040DB +:0447F7001477000231 +:0447F800069B0040DC +:0447F90006B7C475C6 +:0447FA00029B840892 +:0447FB006E23B05524 +:0447FC00D6552EA3BD +:0447FD0018D4E05597 +:0447FE00D67500026A +:0447FF004423100B34 +:04480000031B055B36 +:0448010000119140D1 +:0448020008EB368BFE +:0448030018D4E6558A +:04480400E675000253 +:0448050006E3468BF5 +:04480600001180A677 +:04480700029B0011FF +:0448080024E3A655AA +:04480900E45516A3B9 +:04480A000040108CCE +:04480B00D4551CABB9 +:04480C0016A3848BE0 +:04480D00203B035BEE +:04480E0000119140C4 +:04480F0080A006B7C8 +:044810004421143BF0 +:04481100FB03803BEA +:04481200F080F2A39D +:04481300468B0011BF +:04481400308B08EBF2 +:04481500061BE62B6D +:04481600041BFC4340 +:04481700803BFBC324 +:04481800003BFBC3A3 +:04481900210C8021CD +:04481A0077C000075C +:04481B00F280001116 +:04481C0006B70011CA +:04481D0006B784084E +:04481E00002180A055 +:04481F0026B7029B1B +:044820002EB784101B +:0448210016B7840C36 +:04482200E00984081D +:0448230084941697CC +:0448240036B506DBC4 +:04482500003BE0096B +:0448260084941697C9 +:044827009495869549 +:04482800848C1EB7A7 +:0448290016B7169513 +:04482A001EB78490A1 +:04482B002695847CCE +:04482C0084781EB7B7 +:04482D001EB73695E7 +:04482E0046958474B3 +:04482F0084701EB7BC +:044830001EB75695C4 +:044831006695846C98 +:0448320084681EB7C1 +:044833001EB77695A1 +:04483400869584647D +:0448350084601EB7C6 +:044836001EB796957E +:04483700A695845C62 +:0448380084581EB7CB +:044839001EB7B6955B +:04483A00C695845447 +:04483B0084501EB7D0 +:04483C001EB7D69538 +:04483D00E695844C2C +:04483E0084481EB7D5 +:04483F001EB7F69515 +:0448400018978444FD +:044841001EB700405E +:0448420018978440FF +:044843001EB7004458 +:044844001897843C01 +:044845001EB7004852 +:044846001897843803 +:044847001EB7004C4C +:044848001897843405 +:044849001EB7005046 +:04484A001897843007 +:04484B001EB7005440 +:04484C001897842C09 +:04484D001EB700583A +:04484E00189784280B +:04484F001EB7005C34 +:04485000189784240D +:044851001EB700602E +:04485200189784200F +:044853001EB7006428 +:044854001897841C11 +:044855001097006850 +:044856001EB7006C1D +:0448570016B78418F4 +:04485800E0098414DB +:04485900848426B776 +:04485A00003BE00936 +:04485B00848026B778 +:04485C00003BE00934 +:04485D002E84802104 +:04485E001F1B849404 +:04485F00000682408D +:04486000849426977F +:04486100303B1E9B2F +:044862001F5B05359E +:04486300000058C039 +:0448640084942E9773 +:044865002944351B92 +:044866008240002864 +:04486700169700069A +:04486800303B8494C9 +:04486900A895355B7E +:04486A0026B7349B9E +:04486B000535848803 +:04486C00000058C030 +:04486D00E840203BC4 +:04486E001697000594 +:04486F001804849411 +:0448700006B703E89C +:04487100029D84849C +:04487200069D26B5C4 +:04487300848006B780 +:04487400003B0021E4 +:04487500031BD461EC +:044876000005E84011 +:0448770084942E9760 +:044878005B51271B4E +:044879000006824073 +:04487A008494169775 +:04487B00275B303B4C +:04487C0058C0889503 +:04487D002E97000072 +:04487E0026DB84941D +:04487F008555031B3D +:04488000169506B5CE +:0448810018F498B5DA +:0448820016B5010066 +:04488300A6B504DBF7 +:0448840082681E9791 +:044885001E97B6B50F +:04488600C6B5825CD5 +:04488700002030F6E7 +:0448880001DC01A2AC +:044889008911470941 +:04488A00004020B713 +:04488B00002020FEEB +:04488C0001D0012234 +:04488D00031BD6D162 +:04488E004C0319209E +:04488F00269786D111 +:0448900018B782DCF7 +:044891001E8600443B +:04489200012082D8A7 +:0448930029444884E8 +:0448940056CB0024DB +:0448950018A728C96F +:04489600183400488A +:0448970018C4555597 +:0448980026B50479C4 +:044899008240451BF9 +:04489A001697000667 +:04489B00303B849496 +:04489C009895455B4B +:04489D00000058C0FF +:04489E008494169751 +:04489F002E8444DB44 +:0448A00094958498CF +:0448A10006B5203BFD +:0448A200000682404A +:0448A300849416974C +:0448A4008258A697F9 +:0448A50084988E97CE +:0448A60000249097C3 +:0448A700484205205E +:0448A800825C9E97F9 +:0448A900826026976C +:0448AA0084B704418A +:0448AB0004010008FC +:0448AC008254169785 +:0448AD00484504E096 +:0448AE00000C84B7BF +:0448AF008CB7169913 +:0448B0009CC40004A0 +:0448B10006010003F9 +:0448B200001084B7B7 +:0448B30084B70601BF +:0448B40017190014BC +:0448B50084B70A01B9 +:0448B6000A010018DB +:0448B700001C84B7A6 +:0448B80084B70A01B6 +:0448B90006010020D4 +:0448BA00002484B79B +:0448BB0084B70A01B3 +:0448BC0006010028C9 +:0448BD0083F81E97C7 +:0448BE00002C84B78F +:0448BF00FFFC9CDF7F +:0448C000002418C6F2 +:0448C1000003A50447 +:0448C200FFFCA51F33 +:0448C30010841CD968 +:0448C400109F00033E +:0448C5000C01FFFCE7 +:0448C600003084B783 +:0448C70084B70A01A7 +:0448C8009C200034FC +:0448C90084B7C410DC +:0448CA009C200038F6 +:0448CB0084B7C410DA +:0448CC00A420003CE8 +:0448CD0084B7C410D8 +:0448CE00A4200040E2 +:0448CF0084B7C410D6 +:0448D000040100449B +:0448D1000003A90433 +:0448D200004884B75F +:0448D30084B70401A1 +:0448D400AD5F004C88 +:0448D5009C20FFFC28 +:0448D60018C4C4102E +:0448D70018CC0003F6 +:0448D8002E9701FC1A +:0448D90084B782E43A +:0448DA00AC200050BE +:0448DB0084B7C410CA +:0448DC00060100547D +:0448DD00005884B744 +:0448DE00001571C090 +:0448DF00000310843E +:0448E000FFFC109F2A +:0448E10024B74401B3 +:0448E2004501005C30 +:0448E300006024B796 +:0448E400C404A12047 +:0448E500006424B790 +:0448E600C40499204D +:0448E700006824B78A +:0448E800C404A9203B +:0448E900006C24B784 +:0448EA000074210431 +:0448EB00C3012033B2 +:0448EC0000032104A0 +:0448ED00E84401207A +:0448EE0026B72EFBC0 +:0448EF008240849CE3 +:0448F0002E970006F9 +:0448F1002697849CE6 +:0448F200FF9B84980C +:0448F300000058C0A9 +:0448F40084941697FB +:0448F500825C2E971C +:0448F6009495303B2A +:0448F7003FFF297FD7 +:0448F80058C0C89547 +:0448F9000980000032 +:0448FA0016970012FB +:0448FB0016958494F6 +:0448FC0018D4169D19 +:0448FD0016B50002EA +:0448FE0083F81E9786 +:0448FF00546124EDEF +:04490000C483FF1B52 +:04490100C6C3183BD6 +:0449020084941697EC +:0449030018D4169519 +:0449040016B50004E0 +:0449050014D58695AA +:044906000001109408 +:04490700E00914F5BA +:044908008697C421A9 +:044909003415849449 +:04490A00000310AEE8 +:04490B00341508A3B4 +:04490C00000210A6EF +:04490D00241512A3B8 +:04490E00000110A6EE +:04490F00100408A3E5 +:04491000243503E85F +:044911004421061D1A +:04491200FA633215FD +:0449130018B6241599 +:0449140070E3001F2D +:04491500001118B6BF +:0449160018AE18E3DC +:044917006EE3000546 +:04491800000618AECF +:04491900009800E220 +:04491A00008C00AA63 +:04491B003435049B90 +:04491C001084FA8386 +:04491D0018B6FFEFDA +:04491E00F0E3000EB4 +:04491F00183414999B +:0449200036810001DB +:04492100248C10D7FB +:04492200003BA0892D +:044923000001252842 +:044924000001253039 +:044925000001246CFD +:044926000001246CFC +:044927000001246CFB +:044928000001246CFA +:044929000001246CF9 +:04492A000001246CF8 +:04492B000001246CF7 +:04492C000001250A57 +:04492D00000125124E +:04492E000001246CF4 +:04492F000001246CF3 +:04493000000125203D +:0449310003E810AED9 +:04493200FF7A00A266 +:044933001C44F3C36A +:0449340016D9000987 +:0449350083FC169752 +:04493600049526813D +:04493700D8994615B0 +:04493800000C192234 +:044939005A150AAB56 +:04493A00247B303B6F +:04493B0000115E40C9 +:04493C0014660251AA +:04493D00D6A30010ED +:04493E00C80C3EE87B +:04493F00001208C892 +:044940005A154815A7 +:04494100000AA9C0FF +:044942004415FDC358 +:04494300821C16B705 +:044944004415FCC357 +:04494500821816B707 +:0449460016B7541537 +:04494700FB038210DC +:0449480016B7441545 +:04494900FA0381707C +:04494A0083F8169741 +:04494B00F9031C9DB3 +:04494C00169746155F +:04494D0010F282687A +:04494E004415FF32DB +:04494F0083F826972C +:0449500044C902DB79 +:044951002689E515B9 +:04495200F583E535CF +:044953006919CB4BC8 +:0449540016975B59FE +:04495500FD8B8494BE +:044956002D092B09F3 +:044957000FFF213FEE +:04495800E009D8B5E5 +:04495900000821141D +:04495A00CB4B6919C1 +:04495B00FD8B5B591C +:04495C008494169792 +:04495D002B092D09EC +:04495E000FFF213FE7 +:04495F00E009D8B5DE +:04496000849416978E +:04496100E009E8B5CC +:04496200849416978C +:04496300E009E495EE +:04496400849416978A +:04496500C6B502DBF6 +:04496600003BE00929 +:044967008697C0214E +:04496800200484940F +:0449690045807530E0 +:04496A00C415000070 +:04496B00F2EB168BCA +:04496C00003B4021AB +:04496D00FD8BC021DD +:04496E00C90BCB4B5B +:04496F0054C081FBB4 +:044970001697001284 +:04497100E0B5849495 +:0449720000125900D6 +:04497300001259C015 +:04497400448B80BB35 +:044975002C3B08AB24 +:044976004700AF1B2C +:04497700143B0000ED +:04497800003B40219F +:044979008021CB4B83 +:04497A00C90BFD8BDD +:04497B000012564090 +:04497C0000125900CC +:04497D00001259C00B +:04497E00448B28BB83 +:04497F00CB1B06AB9D +:0449800000004700EC +:04498100849416976D +:044982000021E49597 +:0449830083C0169740 +:0449840082041E97F4 +:0449850000A0397BDA +:0449860024998002EE +:044987000FFC310CE4 +:04498800CEF0292024 +:044989006C0210E0CC +:04498A000007208C76 +:04498B0000125B4873 +:04498C0083C0169737 +:04498D0082041E97EB +:04498E000FFC310CDD +:04498F00800200A002 +:04499000292024991D +:0449910010E0CEF074 +:04499200208C6C0207 +:044993005E48000773 +:04499400003B0012D2 +:04499500310C397B2D +:0449960029200FFCC9 +:04499700203BCEF003 +:0449980000125B4866 +:044999000FFC310CD2 +:04499A00CEF0292012 +:04499B005E48203B17 +:04499C00003B0012CA +:04499D002034C021E1 +:04499E0063000004AE +:04499F0028BB00121F +:0449A000009E200451 +:0449A100470080BB90 +:0449A200143B0000C2 +:0449A300003B402174 +:0449A400000C2034AF +:0449A5002104802148 +:0449A6006300018029 +:0449A70020340012A6 +:0449A8002894000C43 +:0449A90021040001E4 +:0449AA0060C0018068 +:0449AB0020340012A2 +:0449AC002104000CD6 +:0449AD006300018022 +:0449AE00203400129F +:0449AF00289F000C31 +:0449B0002104FFFEE1 +:0449B10060C0018061 +:0449B200203400129B +:0449B3002104000CCF +:0449B4003EE8018058 +:0449B5006308C800CB +:0449B600003B0012B0 +:0449B70000032034A5 +:0449B8002104802135 +:0449B900630008008F +:0449BA002034001293 +:0449BB002894000339 +:0449BC0021040001D1 +:0449BD0060C00800CE +:0449BE00203400128F +:0449BF0021040003CC +:0449C0006300080088 +:0449C100203400128C +:0449C200289F000327 +:0449C3002104FFFECE +:0449C40060C00800C7 +:0449C5002034001288 +:0449C60021040003C5 +:0449C7003EE80800BE +:0449C8006308C800B8 +:0449C900003B00129D +:0449CA00813BC0214C +:0449CB000002203492 +:0449CC0003082104B7 +:0449CD006300C00BB8 +:0449CE00142B001294 +:0449CF0040002894E8 +:0449D000000220348D +:0449D10003082104B2 +:0449D200C8043EE8EF +:0449D300001260C8A6 +:0449D400BFFF289F5A +:0449D500003BFD4363 +:0449D600813BC4213C +:0449D7000004203484 +:0449D8000030210486 +:0449D900CE108C2050 +:0449DA00001260C0A7 +:0449DB0000B08C4458 +:0449DC0002002C5455 +:0449DD00000420347E +:0449DE0049510460D7 +:0449DF000038210477 +:0449E000001260C0A1 +:0449E100CD622C2057 +:0449E2001C008C4CDD +:0449E3002034234910 +:0449E400297400042E +:0449E5002104CF7169 +:0449E60060C0003479 +:0449E7002034001266 +:0449E80021040004A2 +:0449E90080340034E2 +:0449EA006300000462 +:0449EB00840400122E +:0449EC00009A0034F9 +:0449ED00203400185A +:0449EE006911000447 +:0449EF00000480340C +:0449F000001263004E +:0449F10010AC601195 +:0449F2000AAB01000B +:0449F300243B4421FC +:0449F400001263004A +:0449F500243BFB83E1 +:0449F6000012630048 +:0449F700003BFD0381 +:0449F8008920C4212D +:0449F9008C44CE100C +:0449FA00813B00B04D +:0449FB0002002C5436 +:0449FC00000420345F +:0449FD0049510460B8 +:0449FE000038210458 +:0449FF00001260C082 +:044A0000CD622C2037 +:044A01001C008C4CBD +:044A020020342349F0 +:044A0300297400040E +:044A040021048F7189 +:044A050060C0003459 +:044A06002034001246 +:044A07002104000482 +:044A080080340034C2 +:044A09006300000442 +:044A0A00840400120E +:044A0B00009A0034D9 +:044A0C00203400262C +:044A0D006911000427 +:044A0E0000048034EC +:044A0F00001263002E +:044A1000108C601195 +:044A110018AB0100DD +:044A12000004203448 +:044A13000044210436 +:044A1400C80C3EE8A4 +:044A15000012630820 +:044A16006300243BDA +:044A1700F9C30012CD +:044A18006300243BD8 +:044A1900FB43001249 +:044A1A00293BC02153 +:044A1B002034813B87 +:044A1C00210400026F +:044A1D0060C0003045 +:044A1E00203400122E +:044A1F002C0C000457 +:044A20003911002721 +:044A2100C8043EE89F +:044A2200001260C856 +:044A230082002E9748 +:044A240080040120E9 +:044A250058052920E7 +:044A26000002203436 +:044A27000120210445 +:044A2800001260C850 +:044A290080050120E3 +:044A2A000002203432 +:044A2B0000C02104A2 +:044A2C00001260C84C +:044A2D00C90B3B591D +:044A2E00FB4BC42159 +:044A2F0020342949BD +:044A300029740004E1 +:044A3100210400015B +:044A320080340804C0 +:044A330088340002C1 +:044A340060C000045A +:044A350084040012E3 +:044A36008C4449F073 +:044A3700247B0804D0 +:044A38000012630005 +:044A3900000110ACBC +:044A3A00200410AB99 +:044A3B0080112710AF +:044A3C0000004580B1 +:044A3D00FE9BE823D1 +:044A3E00803444215B +:044A3F0088340002B5 +:044A400084040004E6 +:044A41008C4449F068 +:044A4200247B089831 +:044A430000126300FA +:044A44000EE3068BEC +:044A45002710200412 +:044A46004580801116 +:044A4700EA2300005E +:044A480010A0FA833D +:044A4900FA03CDE8B7 +:044A4A00055BCC211B +:044A4B000D1B913B73 +:044A4C0000128B4089 +:044A4D0020A388BB5F +:044A4E000004983494 +:044A4F009CC4803B48 +:044A50009C2008A0FE +:044A51006300C40436 +:044A520084A000122A +:044A53002011C40367 +:044A5400142604F52B +:044A5500EAA30024AC +:044A56004C21147B60 +:044A5700817BC0217E +:044A58002034293BA2 +:044A59002104000430 +:044A5A0060C0081818 +:044A5B0020340012F1 +:044A5C002C3B0004EB +:044A5D00081C21040C +:044A5E00001260C022 +:044A5F000F1B055BC9 +:044A6000C8043EE860 +:044A610000128B486C +:044A6200813BC26171 +:044A6300928026FB1C +:044A64000AA300128F +:044A6500082B2213E5 +:044A660020E219131E +:044A67004261001890 +:044A680020EA181315 +:044A69002C3BFFF8EB +:044A6A00001295C0E1 +:044A6B0026FBF0A393 +:044A6C000012928022 +:044A6D00813BFD0389 +:044A6E00FD43203BA9 +:044A6F00055BD021F2 +:044A7000091B813B62 +:044A710000128B4064 +:044A720078A390BBDA +:044A7300CDE88C20DE +:044A7400A0346019F1 +:044A7500983400046D +:044A7600A50400048F +:044A77009CC408A033 +:044A7800A4A00818D6 +:044A79006300C4040E +:044A7A0028BB001243 +:044A7B00000414AE71 +:044A7C0014AE56A37B +:044A7D0060A300082A +:044A7E00000604A288 +:044A7F0000FF297F8C +:044A80009CA021498C +:044A810060C0C40449 +:044A82009484001206 +:044A830014A6000471 +:044A8400CEA300803D +:044A85000B1B055BA7 +:044A860000128B404F +:044A870024A390BB19 +:044A8800091B055BA6 +:044A89000004803471 +:044A8A000004883468 +:044A8B0000128B404A +:044A8C0008A08404F6 +:044A8D0009208C442C +:044A8E002011243B94 +:044A8F0000126300AE +:044A9000FFF48C2281 +:044A9100502114BBE1 +:044A9200FF00295F99 +:044A9300297F23490B +:044A9400297400FF82 +:044A9500F543500095 +:044A9600FF00295F95 +:044A97000046295458 +:044A9800003BF403E8 +:044A990000042034C1 +:044A9A00035B802119 +:044A9B0008182104D2 +:044A9C00001260C0E4 +:044A9D000F1B0B5B85 +:044A9E00C8003EE826 +:044A9F0000128B482E +:044AA00082D0169713 +:044AA1008270269762 +:044AA2004509802121 +:044AA300FFF51034D7 +:044AA400CF6A108441 +:044AA5001034450183 +:044AA6001084000276 +:044AA70020B208D45D +:044AA8002834002C82 +:044AA900294400029A +:044AAA006A4008D581 +:044AAB001E9700153D +:044AAC00548B81DCCA +:044AAD0000E046D50A +:044AAE0000E068C4F8 +:044AAF00890B68C344 +:044AB000004018CCDE +:044AB100580319206D +:044AB200580210E0B6 +:044AB300029B002141 +:044AB400003BFB8345 +:044AB500A8008021B4 +:044AB6002034001296 +:044AB700289400043B +:044AB80021040100D4 +:044AB90060C00818B9 +:044ABA000D5B00127E +:044ABB003EE80F1BA7 +:044ABC008B48C8005B +:044ABD00003B0012A8 +:044ABE0081F82697BE +:044ABF009880CC21EE +:044AC00074A30012C9 +:044AC10081F42697BF +:044AC20000129BC083 +:044AC30016976AA335 +:044AC4005AAB81FC6C +:044AC5008680431B89 +:044AC600169700122D +:044AC70052AB81FC71 +:044AC8000002203494 +:044AC900007C210448 +:044ACA000012630073 +:044ACB000002203491 +:044ACC000001289429 +:044ACD00007C210444 +:044ACE00001260C0B2 +:044ACF00000420348B +:044AD0000048210475 +:044AD100001263006C +:044AD2000004203488 +:044AD3000001289422 +:044AD4000048210471 +:044AD500001260C0AB +:044AD60081F01697BE +:044AD700A64006AB44 +:044AD80014A3001211 +:044AD90081EC1697BF +:044ADA00103B12ABD0 +:044ADB00203B4C210F +:044ADC00AD40F48372 +:044ADD00A8AB001270 +:044ADE00FE03029B36 +:044ADF0005F688341C +:044AE000232A9004F1 +:044AE100E1008C4420 +:044AE20018019834EB +:044AE3000012674016 +:044AE400148480BBFB +:044AE50090BBFFFF84 +:044AE600DCABF48BC6 +:044AE700842C247B7C +:044AE80045801801EC +:044AE9009C2200000B +:044AEA00F7C3FFE22D +:044AEB009834D0210A +:044AEC00A0340300EF +:044AED00913B0300F6 +:044AEE009CC4883BA1 +:044AEF00A504070C07 +:044AF00016970F08FE +:044AF100349583FC79 +:044AF2000002147A30 +:044AF300247B5021AF +:044AF400000AA9000B +:044AF500025104A3C3 +:044AF600247BFD031D +:044AF7000009DBC017 +:044AF800C49580BB26 +:044AF900001010ACED +:044AFA00148C72ABFB +:044AFB00E6AB000125 +:044AFC000046240E3E +:044AFD000009DB4091 +:044AFE000025440645 +:044AFF000300283454 +:044B0000030030344A +:044B01002944203BE8 +:044B020031840F10DB +:044B03001C06185C18 +:044B04003C06002645 +:044B05003EC1002786 +:044B06000046193A12 +:044B07000046240E32 +:044B08000009DB4085 +:044B09000300283449 +:044B0A002944203BDF +:044B0B001C06070875 +:044B0C006881002597 +:044B0D000048193A09 +:044B0E001406183B36 +:044B0F002406002652 +:044B100028810027D1 +:044B1100FF8E10F211 +:044B1200048527816E +:044B130049A200A013 +:044B14005802A0A003 +:044B1500900000A864 +:044B1600FBC306D106 +:044B17000002148CF8 +:044B18002220F183E3 +:044B19003681C4031A +:044B1A0000E006C5EC +:044B1B0028E049A3A2 +:044B1C0001E858074D +:044B1D002CC990000F +:044B1E00900000E81B +:044B1F00F1C30911C4 +:044B200000E0078525 +:044B210098E049A32C +:044B220001A8580688 +:044B23002AC990000B +:044B2400900000E815 +:044B2500F2C30911BD +:044B260083FC16975F +:044B2700108C6495F5 +:044B28006AA3040078 +:044B2900000218343A +:044B2A00987C18C497 +:044B2B000B0BC0218F +:044B2C00004030CE47 +:044B2D0028CE2F6BF4 +:044B2E00190B00203F +:044B2F0020CE2B2B3E +:044B300038CE00205B +:044B31006909002CE2 +:044B320029490F09F5 +:044B330030340D49C4 +:044B3400021B03015C +:044B3500C0283184DF +:044B360083FC26973F +:044B370020BA391552 +:044B38004021000A0E +:044B3900FA43283BD8 +:044B3A00FBC3203B5E +:044B3B004C041420F2 +:044B3C00172B0B091F +:044B3D00003E20CE48 +:044B3E0011205E994B +:044B3F002DC9EC048C +:044B40002114090B28 +:044B410021E8002443 +:044B4200049190004A +:044B4300E009F94349 +:044B440038052920E7 +:044B450084A82EB75B +:044B460084AC26B75E +:044B470084A406B785 +:044B4800183B103BCB +:044B49000B23283BD7 +:044B4A0004ABC48B69 +:044B4B0084A41EB769 +:044B4C00250BE0094C +:044B4D00800200A042 +:044B4E0099194A89DE +:044B4F0024C90B5119 +:044B5000FC43029B85 +:044B510000C0118C03 +:044B5200118C60A3BF +:044B530054A300382F +:044B54000007118CB9 +:044B5500010800AAA9 +:044B560084A41E977E +:044B570003014834DA +:044B5800518CDC217F +:044B590059AE004B06 +:044B5A0061B6000838 +:044B5B0069AE000936 +:044B5C0071B600200E +:044B5D0079AE00210C +:044B5E0091AE0040D4 +:044B5F0099AE00808B +:044B6000A1AE0010F2 +:044B6100A9AE0002F7 +:044B6200383B0004D8 +:044B6300029B803BF6 +:044B6400C0004A44FF +:044B65008000F814C0 +:044B6600000131AE6B +:044B67000001B03465 +:044B68005C210EE3DB +:044B690084AC1E9763 +:044B6A001E97F64359 +:044B6B00F58384A8A2 +:044B6C00126B02CBFB +:044B6D00002002E240 +:044B6E00001003220E +:044B6F00008005229B +:044B7000006A056270 +:044B710002A24DA3AC +:044B72000E030058D6 +:044B73000086036253 +:044B7400001603A282 +:044B7500FFEE04EA61 +:044B76000000414EAC +:044B7700581121E0D0 +:044B780058114C6024 +:044B790090004468FC +:044B7A00883BFB83F6 +:044B7B00000403E24D +:044B7C00FFD204AAB6 +:044B7D00580889202B +:044B7E000000B94E2C +:044B7F0058083A2078 +:044B800003004234B8 +:044B81009000BA28BE +:044B820020008C443F +:044B8300FFE4FC62ED +:044B8400414EF68325 +:044B850024200000E8 +:044B86008C745811C2 +:044B8700446803007B +:044B880086D990003A +:044B89001000840490 +:044B8A00C407B1E0CB +:044B8B002420EE43B1 +:044B8C008C745811BC +:044B8D008C6803002D +:044B8E00036D800033 +:044B8F00FC431B5177 +:044B90005811242074 +:044B910003008C741D +:044B920080004468F3 +:044B93008A2A034D1A +:044B9400103BFFD003 +:044B950021E0F9839F +:044B96004C60581106 +:044B9700FAC35811F4 +:044B9800E009029B93 +:044B99002EEF80611A +:044B9A00039B000079 +:044B9B00D4402EFBD9 +:044B9C0000610012A2 +:044B9D00817BC861EF +:044B9E002034293B5B +:044B9F002104031CCE +:044BA00010190014D4 +:044BA100E64089BBA6 +:044BA20020340012A9 +:044BA3008414030073 +:044BA400119B00035E +:044BA50000022EC418 +:044BA60000282104BE +:044BA700000286EF93 +:044BA8000012D440E3 +:044BA90004001034C0 +:044BAA00052010844E +:044BAB00800018A8C6 +:044BAC001EB776CBEF +:044BAD0004DB84A001 +:044BAE00900018A8B3 +:044BAF00031C20348F +:044BB0002104035B7E +:044BB100E640001CBE +:044BB2002834001291 +:044BB300294400028F +:044BB400203B86A07C +:044BB500031C803429 +:044BB60000003C407F +:044BB7000001900465 +:044BB800002484044D +:044BB9002EC4059B66 +:044BBA00243B000296 +:044BBB00000296EF6F +:044BBC000012D440CF +:044BBD00803B04AB8A +:044BBE00203B030392 +:044BBF0000003EC0F4 +:044BC000169706A39B +:044BC100DCAB80A049 +:044BC200021A2004AF +:044BC30000004700A7 +:044BC4001E97021B1B +:044BC500103484A084 +:044BC60076CB0400A6 +:044BC700952018A875 +:044BC800031C203476 +:044BC9002C7B099B9D +:044BCA00D440591169 +:044BCB00143B001285 +:044BCC00003B486101 +:044BCD00917BD421E3 +:044BCE00A9FBA1BBE3 +:044BCF000020813B06 +:044BD000883BC41347 +:044BD100000494E266 +:044BD2005421147BDB +:044BD300253B0A155F +:044BD40000019CC47C +:044BD500001571C096 +:044BD600301116156F +:044BD700A8A02681EB +:044BD8001441600222 +:044BD900003BFBC3DF +:044BDA00030DCFE117 +:044BDB00190D813BF4 +:044BDC00281480E930 +:044BDD00C841D903EF +:044BDE00001571C08D +:044BDF00240D98BB4E +:044BE000E412146067 +:044BE1000014146A3E +:044BE20024FB2CBBC9 +:044BE3000015614018 +:044BE40003E82804B6 +:044BE50071C020BBC0 +:044BE60090BB00156B +:044BE700000128346D +:044BE8002944319B90 +:044BE90026FB7B7CB0 +:044BEA0000165880D9 +:044BEB000001283469 +:044BEC002944619B5C +:044BED000D3D7B946B +:044BEE0000165880D5 +:044BEF00347B3CFBDC +:044BF00026FB075B3E +:044BF1000012F3407B +:044BF20080911EABE5 +:044BF30048840420CE +:044BF4003CBB0CBDFD +:044BF500055B347BAD +:044BF600F3404881BF +:044BF7000EDB0012BF +:044BF800A4C1B0C1E3 +:044BF9004FE100E99F +:044BFA00FF030E9B0C +:044BFB00993BD021F1 +:044BFC00803B917BEE +:044BFD000001A0040F +:044BFE004C028520C0 +:044BFF0084AC1E97CD +:044C000020AB068956 +:044C0100F68024BB5A +:044C020030BB0012B1 +:044C030020042C3B22 +:044C040088BB033135 +:044C05000000470064 +:044C06008C540419AD +:044C070014E0004075 +:044C080002ADC40233 +:044C0900142600115C +:044C0A00948400107E +:044C0B00C8A3000634 +:044C0C00003B5021F8 +:044C0D0084A82E97B2 +:044C0E00039B183BB1 +:044C0F0080003804E5 +:044C10004C0219A099 +:044C11000AAB0A8957 +:044C1200108C050DF0 +:044C13002E890037AF +:044C140006D1052D93 +:044C1500001010E695 +:044C1600E4A31911E9 +:044C1700003BE00975 +:044C180084A836979F +:044C190003DB183B66 +:044C1A004C0219E04F +:044C1B0010AB0C8945 +:044C1C0005590B0D1E +:044C1D000007294C17 +:044C1E000030108CC6 +:044C1F00052D2A89AC +:044C200010E606D1C3 +:044C21001911001055 +:044C2200E009DEA324 +:044C2300813BCC21E4 +:044C24000020883BA9 +:044C25009804C41219 +:044C26008CE000011D +:044C270016974C048C +:044C2800112084A82B +:044C290042AB380260 +:044C2A00858B0C0D5D +:044C2B0004ABF78B54 +:044C2C0036A3358BEB +:044C2D000007318CBF +:044C2E00FD8B11BB2E +:044C2F00CC8318E03A +:044C3000000429B69D +:044C3100488300E0D4 +:044C3200089B036375 +:044C330018D424C9A4 +:044C3400062D004009 +:044C3500000411B6B0 +:044C3600581224A04C +:044C3700099B02A330 +:044C380020042C7BAD +:044C390047000373BA +:044C3A000251000023 +:044C3B0000101466EB +:044C3C00A6A310110A +:044C3D004C2114BB37 +:044C3E008034FFE1DE +:044C3F008B29031C9E +:044C400099BB917B10 +:044C4100383B183BA9 +:044C42000003400427 +:044C430000148404D1 +:044C44004C051A20E1 +:044C4500216B09498D +:044C4600496200E0DF +:044C470088A8208990 +:044C48006C49800033 +:044C490030A85D8BA7 +:044C4A0048A89000E6 +:044C4B0088A88000B5 +:044C4C0049A29000E9 +:044C4D002BC900026D +:044C4E0010E616D185 +:044C4F00D0A30010DE +:044C50000301283400 +:044C5100183B883B49 +:044C52000001400419 +:044C5300C028294408 +:044C54004C061A20D0 +:044C5500380239A048 +:044C560054D91EAB64 +:044C570080A82A897E +:044C58006809800067 +:044C590020A8990BEB +:044C5A0048A89000D6 +:044C5B0080A88000AD +:044C5C004922900059 +:044C5D002C490002DC +:044C5E0010E606D185 +:044C5F00D0A30010CE +:044C6000247B2CBBCA +:044C61000012D1006C +:044C6200273D303B7F +:044C630058C0515B89 +:044C6400035B0000EE +:044C6500031C2034D8 +:044C66000012E64012 +:044C6700031C2034D6 +:044C6800958B2814EC +:044C6900E6403911D7 +:044C6A0020340012E0 +:044C6B002804031CFA +:044C6C0029110B00FF +:044C6D000012E6400B +:044C6E00031C2034CF +:044C6F00000C210410 +:044C70008000112887 +:044C71008000112886 +:044C72008000112885 +:044C73008000112884 +:044C7400E640035BB8 +:044C75002004001205 +:044C76004380271040 +:044C770010340000F5 +:044C780010840400A0 +:044C790018A8052052 +:044C7A0076CB800075 +:044C7B0084A01EB73C +:044C7C0018A804DB95 +:044C7D00203490004F +:044C7E00035B031CB5 +:044C7F00E6404911B1 +:044C800028340012C2 +:044C810029440002C0 +:044C8200203B86A0AD +:044C8300031C80345A +:044C840000003C40B0 +:044C85000001A00486 +:044C8600002884047A +:044C87002EC4059B97 +:044C8800243B001AAF +:044C8900001AA6EF78 +:044C8A000012D44000 +:044C8B00003304AB43 +:044C8C00203B034383 +:044C8D0000003EC025 +:044C8E00169706A3CC +:044C8F00DCAB80A07A +:044C900001E5200416 +:044C910000004700D8 +:044C92001033029B3E +:044C930084A01E9744 +:044C940004001034D4 +:044C950018A876CB1A +:044C96000FBD952099 +:044C9700131B283B88 +:044C98000012E740DF +:044C9900283B17BDE0 +:044C9A0080BB111BAF +:044C9B000012E740DC +:044C9C00169724093A +:044C9D00403484A477 +:044C9E00A6C4007137 +:044C9F001073001C72 +:044CA000002CE6C43A +:044CA100004CB6C449 +:044CA200C417002013 +:044CA3008000420447 +:044CA400B8A0029B17 +:044CA50018534C0252 +:044CA6003CAB068994 +:044CA70000002D0ECE +:044CA80000004F0EAB +:044CA90001B2496AA1 +:044CAA00E405496074 +:044CAB0048F3223B6D +:044CAC00614040B370 +:044CAD00409300151B +:044CAE00A8BB48D384 +:044CAF000060ADB73D +:044CB000227B2D7BBB +:044CB10071C040B3DB +:044CB20015B700151D +:044CB30040930080AA +:044CB4000004056291 +:044CB5000002841461 +:044CB6000001BDC478 +:044CB700000815E6F6 +:044CB8000004B584BB +:044CB9000002A5044C +:044CBA000002E70409 +:044CBB001013A2A38D +:044CBC00181698200E +:044CBD00C41C0020F3 +:044CBE00029B240928 +:044CBF000001A0044C +:044CC00025BB1033CD +:044CC10003092CBBFC +:044CC200000FB80423 +:044CC3000012D1000A +:044CC400E417E5E02C +:044CC5000152072A67 +:044CC600E0344CFB8F +:044CC700383400017C +:044CC800E7040001FC +:044CC90039C47BC4AB +:044CCA0046C47BD091 +:044CCB000020004C79 +:044CCC00219BC4154F +:044CCD00173D283B2C +:044CCE0038B348F3BC +:044CCF005A004073D4 +:044CD0002F17001684 +:044CD10017BD00000B +:044CD200E74025FB97 +:044CD3004053001238 +:044CD40084A45E97BF +:044CD500389348D3F5 +:044CD60058151560F8 +:044CD7002A3B17BDA0 +:044CD8002520203B38 +:044CD90058A04C0291 +:044CDA0026AB3802CB +:044CDB001520051982 +:044CDC004AA04C0A94 +:044CDD0002AA380AE5 +:044CDE00518E0008EB +:044CDF00516F000011 +:044CE000049100003B +:044CE1004C0215204C +:044CE200380248A0AC +:044CE300058D04AB8C +:044CE4000911356D10 +:044CE500000811268C +:044CE60029441D91AF +:044CE700C2A3000C58 +:044CE8000004E704D9 +:044CE900000242047F +:044CEA00FF863F22E0 +:044CEB0084AC3697C8 +:044CEC00004CE6C4CE +:044CED00C4170020C8 +:044CEE004C02BD2097 +:044CEF0000A20C898A +:044CF000BDC400AC93 +:044CF10015E60001C3 +:044CF200E7040010C3 +:044CF300E8A300062C +:044CF400AC201013CD +:044CF50000A25810B1 +:044CF6002CBB00864D +:044CF700D100247B49 +:044CF800419B0012CA +:044CF900283B173D00 +:044CFA0000165A0046 +:044CFB00173D277DBD +:044CFC000012FEC0E4 +:044CFD00030020345C +:044CFE00219B177D62 +:044CFF00002C210460 +:044D00000012D44089 +:044D01000340173D17 +:044D02002034001346 +:044D03003004030075 +:044D0400177D008097 +:044D05001854210419 +:044D06000012D44083 +:044D0700031C203435 +:044D08004911283BEA +:044D09000012E6406E +:044D0A00031C203432 +:044D0B002104283B1C +:044D0C00E640000C71 +:044D0D00283B00122D +:044D0E00031C20342E +:044D0F000012E64068 +:044D10000300203448 +:044D1100177D119B5E +:044D12000028210450 +:044D1300002C06EF7B +:044D14000012D44075 +:044D15000B29143B17 +:044D160000207FE119 +:044D1700CB83C41571 +:044D18000001E004B2 +:044D190024FB003344 +:044D1A004DBBD34377 +:044D1B0005E0D58357 +:044D1C003F3B68228F +:044D1D00C4080020A6 +:044D1E0000182084D5 +:044D1F005491191979 +:044D200019041499C5 +:044D21000D3D00D470 +:044D2200108448C1F0 +:044D23000CFD00D4AF +:044D240029172681A4 +:044D25004897FF604C +:044D260009CDFF6054 +:044D27004933417358 +:044D280028B330F389 +:044D290071C03873AA +:044D2A004913001514 +:044D2B003853415365 +:044D2C00E40248A0B5 +:044D2D00E9A200A057 +:044D2E00000142043A +:044D2F0005ED2893D3 +:044D30000003122644 +:044D31001FD130D38B +:044D3200DEC3D0A369 +:044D3300031BC0217D +:044D340000004080BB +:044D3500030128341A +:044D3600303B103BC3 +:044D37002944203BB0 +:044D3800021BC02872 +:044D39002AC9569994 +:044D3A00800018E8F5 +:044D3B00CCA238E0EE +:044D3C00000939E64B +:044D3D0006CB0DE3B1 +:044D3E004C071420EA +:044D3F002F0944C92B +:044D4000049127892A +:044D4100001018A6A0 +:044D4200072BDAE37E +:044D43000F80283B7A +:044D4400031B00133A +:044D45000000420028 +:044D460016B7B4994F +:044D47004021809CEB +:044D4800813BCA21C0 +:044D4900897B217BC6 +:044D4A000012D10082 +:044D4B002CAB340B4E +:044D4C00030020340C +:044D4D0000019004CD +:044D4E002EFB819B1C +:044D4F000F08210424 +:044D5000000096EFDA +:044D51000012D44038 +:044D52000300203406 +:044D53002EFB819B17 +:044D54000F00210427 +:044D5500000096EFD5 +:044D56000012D44033 +:044D570018AB140B76 +:044D58000300203400 +:044D590080041004BE +:044D5A002EFB819B10 +:044D5B0018542104C3 +:044D5C00000016EF4E +:044D5D000012D4402C +:044D5E0016AB040B81 +:044D5F0003002034F9 +:044D6000119B889B80 +:044D610021042EFB00 +:044D620016EF002C1C +:044D6300D440000038 +:044D6400440B0012EA +:044D6500419B38AB8B +:044D660026FB283BC5 +:044D670000165A00D8 +:044D680003002034F0 +:044D69002EFB419B41 +:044D6A00002C2104F4 +:044D6B000012D4401E +:044D6C00060026FB1C +:044D6D0026FB00130E +:044D6E0000130340EB +:044D6F0003002034E9 +:044D7000008030048B +:044D710021042EFBF0 +:044D7200D4401854BD +:044D7300140C00120A +:044D740062AB0030FE +:044D7500283B419BFB +:044D76005A0026FBBE +:044D770020340016CE +:044D78002EFB03000B +:044D79002104419B35 +:044D7A00D440002CF5 +:044D7B0026FB001201 +:044D7C00001308C058 +:044D7D003EAB28BB66 +:044D7E00D10020BB85 +:044D7F00640B0012AF +:044D8000203410AB20 +:044D8100219B03006F +:044D820021042EFBDF +:044D8300D440002CEC +:044D8400800B00128E +:044D850026FB182BC6 +:044D860000130340D3 +:044D870003002034D1 +:044D88000080300473 +:044D890021042EFBD8 +:044D8A00D4401854A5 +:044D8B002C7B00126B +:044D8C00D100247BB3 +:044D8D004A210012A5 +:044D8E008069C3E194 +:044D8F0000012834C3 +:044D9000819B813B47 +:044D91007BD0294466 +:044D9200588026FB24 +:044D930004150016ED +:044D94006491149979 +:044D9500C402D8A0DC +:044D9600FFC01097B3 +:044D97000069043576 +:044D9800003B43E1B8 +:044D99008729FFE186 +:044D9A002AB3050B28 +:044D9B0000AA1173E6 +:044D9C00103402A825 +:044D9D001897000261 +:044D9E00150B9A3C1B +:044D9F0000AA10F363 +:044DA0001034029C2D +:044DA1001097000265 +:044DA20010E09A4043 +:044DA300B8345802C6 +:044DA40011B3030143 +:044DA500C41C00200A +:044DA600BDC400B3D5 +:044DA700029B90C813 +:044DA8004C02E0A039 +:044DA90006891993CB +:044DAA00025600AA03 +:044DAB004A11072082 +:044DAC005802BC608D +:044DAD0010A811F346 +:044DAE0014AB8000C2 +:044DAF0003011034B8 +:044DB00090C4108417 +:044DB1005802146030 +:044DB200800010A8C5 +:044DB300800200A0DA +:044DB400E0A01893D0 +:044DB50010E04C02BC +:044DB60010B35802DC +:044DB70006AB1293A2 +:044DB80000AA1093AA +:044DB9001697021C2B +:044DBA0018A380A01A +:044DBB0003011034AC +:044DBC0090C410840B +:044DBD005802146024 +:044DBE00800020A8A9 +:044DBF002697072309 +:044DC000F52B80A0AF +:044DC10080A0169721 +:044DC20001D400A276 +:044DC30000AA1153DE +:044DC4001034021095 +:044DC5002097000231 +:044DC60010D39B2843 +:044DC700020600AA36 +:044DC80000021034A1 +:044DC9009B2810977C +:044DCA0011206489C7 +:044DCB001233580245 +:044DCC00030110349B +:044DCD0090B410840A +:044DCE005802146013 +:044DCF00800028A890 +:044DD0000301103497 +:044DD10090B8108402 +:044DD200580214600F +:044DD300800020A894 +:044DD4000301103493 +:044DD50090F41084C2 +:044DD600580214600B +:044DD700800080A830 +:044DD800030110348F +:044DD90090BC1084F6 +:044DDA005802146007 +:044DDB008000A8A804 +:044DDC00030110348B +:044DDD0090B01084FE +:044DDE005802146003 +:044DDF00800090A818 +:044DE000CCE41160AE +:044DE10014A013F314 +:044DE2001273CCC6B6 +:044DE3001120153353 +:044DE4001573CCE493 +:044DE5000301103482 +:044DE60090F81084AD +:044DE700CCE4B42044 +:044DE8009CA05B4BE5 +:044DE900AD4CCCA55C +:044DEA00590B000F52 +:044DEB00CD6BA4A048 +:044DEC001460500BF4 +:044DED002C33580209 +:044DEE00B4B39C734B +:044DEF0025B3ACF349 +:044DF0008633A5F36E +:044DF100800010A886 +:044DF200CC8494A039 +:044DF30016731133EF +:044DF40004EA96B384 +:044DF5001F3D000C52 +:044DF60000136380C3 +:044DF7006380213D77 +:044DF800052A001375 +:044DF9002B3D000C42 +:044DFA0000136380BF +:044DFB0063802D3D67 +:044DFC002834001344 +:044DFD00819B000195 +:044DFE007C102944B8 +:044DFF005880373D64 +:044E00001034001654 +:044E01001084030115 +:044E02001460909018 +:044E030020A8580289 +:044E040010348000E6 +:044E05001084030111 +:044E06001460908C18 +:044E070011E858074F +:044E080004EA800038 +:044E0900113B000257 +:044E0A0000FE00A204 +:044E0B003911232B0B +:044E0C0012FD191961 +:044E0D000088110404 +:044E0E0011174681B1 +:044E0F000401FFC0DB +:044E10000010141664 +:044E1100014A00A2B0 +:044E12000002041284 +:044E13008633803B27 +:044E1400141333D36D +:044E150001A0255380 +:044E160005A0488625 +:044E17000120489698 +:044E1800258948841C +:044E19001913125304 +:044E1A00491304E054 +:044E1B0015933E9914 +:044E1C00491204A093 +:044E1D005807B1E0A1 +:044E1E00052025093D +:044E1F0099A049020B +:044E2000A9E05806A7 +:044E210011205807FD +:044E220016135814F7 +:044E230000028034D5 +:044E240003006034F3 +:044E2500488200A01F +:044E260003006834E9 +:044E2700268932F3B3 +:044E2800581290A0EC +:044E2900A3733B3301 +:044E2A00840493B3B6 +:044E2B00203B993857 +:044E2C0000019804E5 +:044E2D001400630406 +:044E2E0014046B44B9 +:044E2F004C0224E02D +:044E300006891A13C2 +:044E310000D000A20B +:044E3200112609112B +:044E3300401100101A +:044E34009073EAA3EA +:044E35002F3BA0333C +:044E360001A52004AE +:044E37000000470030 +:044E380080A01697A9 +:044E390019D31CA3CA +:044E3A0010E8029BDF +:044E3B0007209000BC +:044E3C001697482459 +:044E3D0028818488BC +:044E3E000048208E7A +:044E3F0020AF091186 +:044E4000E70400483B +:044E4100172600012F +:044E420000A20010BA +:044E43001697FD9031 +:044E440000A080A0AA +:044E450007298002B7 +:044E4600183B7FE1B5 +:044E4700103BAB83EE +:044E4800203BAD035B +:044E4900103BBE83D9 +:044E4A001499C003F4 +:044E4B002BD312FD56 +:044E4C000088108446 +:044E4D001097268113 +:044E4E005A81FFC0C6 +:044E4F0000103156C8 +:044E5000015241A327 +:044E5100283B0002F8 +:044E52002C132BF3FF +:044E530031565A81F9 +:044E540033A3001074 +:044E55000002015204 +:044E56002C33283B96 +:044E57005A812D53FC +:044E580000103156BF +:044E5900015225A33A +:044E5A00283B0002EF +:044E5B002D932D73F3 +:044E5C0028962A81E9 +:044E5D0017630010C7 +:044E5E0000020092BC +:044E5F0015B3103B3C +:044E60001F5BD543BC +:044E61001F5BF84398 +:044E62001F5BFA03D5 +:044E63001E9BFBC3D4 +:044E64001E9BFD8311 +:044E6500D703163326 +:044E66004A150120C8 +:044E6700484E012090 +:044E6800883B5C3BEC +:044E6900000012D75C +:044E6A00000210AC86 +:044E6B0002510EA33F +:044E6C0000041466C4 +:044E6D0000045AC41F +:044E6E00E183EAA34F +:044E6F00C4058BA04B +:044E700010341B5986 +:044E710025410002D5 +:044E72009938509784 +:044E7300CE0C12A0AF +:044E7400FFDAE0A2DF +:044E750049A90460E3 +:044E7600C40800204C +:044E77000FFF528C4B +:044E78005809AA60CB +:044E790003004A7474 +:044E7A00EC0242A064 +:044E7B0048C5022004 +:044E7C00048B12FD94 +:044E7D0049602499CB +:044E7E006160580512 +:044E7F001084580F34 +:044E800026810088FF +:044E8100FF80F8971F +:044E82009000FBE8B9 +:044E8300FF84109701 +:044E84005805696004 +:044E85009000116820 +:044E860000014204E1 +:044E8700000C1226E3 +:044E8800F143C6A389 +:044E890000022034CF +:044E8A0001003004EF +:044E8B002104283B9B +:044E8C005A089938EF +:044E8D00003B0016D0 +:044E8E0003012834C0 +:044E8F000020D82106 +:044E9000103BC40906 +:044E910090702944B0 +:044E92002AC956993A +:044E9300800018E89B +:044E9400049144C978 +:044E950058091A603E +:044E9600001018A64A +:044E97001034EAE306 +:044E9800509700022D +:044E9900112E9B2813 +:044E9A0004A300016C +:044E9B00180A502081 +:044E9C002834151988 +:044E9D0029440002A2 +:044E9E0055419A38A8 +:044E9F000002883451 +:044EA0000300603477 +:044EA100030068346E +:044EA2008C44015DDE +:044EA300803B99387F +:044EA40000015804AD +:044EA500140063048E +:044EA60014206B4425 +:044EA70080007814FB +:044EA8004C0282E056 +:044EA900380250A0DB +:044EAA00001114A33C +:044EAB0000101426B9 +:044EAC00ECA34251E0 +:044EAD003EE8283B78 +:044EAE006648C9FC8D +:044EAF0004200013C8 +:044EB000747B4A1FA6 +:044EB100C408002011 +:044EB2005814FA2076 +:044EB300580265201C +:044EB400800030A8A2 +:044EB500900058A869 +:044EB600800018A8B8 +:044EB700900030A88F +:044EB800000110E6FF +:044EB900009800A2BB +:044EBA00383B303B16 +:044EBB000020103B88 +:044EBC000020C412FC +:044EBD0004E0C41336 +:044EBE00A0E048C365 +:044EBF0068E058034C +:044EC00000E85803AB +:044EC10018E890005D +:044EC20004E2800086 +:044EC300A8DC002641 +:044EC40034A00020F6 +:044EC500AD608D60EF +:044EC60030A0CCA5A7 +:044EC70035608E0CB8 +:044EC8003D7B8E316F +:044EC9000002A9AC8E +:044ECA00683600E066 +:044ECB00001C056A58 +:044ECC00001F158C22 +:044ECD0098E006CB98 +:044ECE009CC44C0331 +:044ECF0090E000016E +:044ED00090CC580327 +:044ED1001CE60FFFCD +:044ED200AAE3000C43 +:044ED3004699C48BAD +:044ED40001E0CFCB5F +:044ED500948C4A2748 +:044ED60090E0FFFF6A +:044ED7002EC9580385 +:044ED8008E2030E018 +:044ED900000219AC0E +:044EDA0012E016EBE1 +:044EDB0012604C0213 +:044EDC000CEB3803A0 +:044EDD0033B707558B +:044EDE0010E00000E0 +:044EDF0005755802FB +:044EE0002000420468 +:044EE10000047384D2 +:044EE200FF3C7A22F5 +:044EE300003BE3832A +:044EE4000002103484 +:044EE5009B40209737 +:044EE600290B035B36 +:044EE7000013664806 +:044EE800006431141D +:044EE900800019A884 +:044EEA0048A2016079 +:044EEB00FF1F18DFAE +:044EEC002689C48BC4 +:044EED00900011A878 +:044EEE000024211467 +:044EEF008000112806 +:044EF000109FAB590B +:044EF1000160FF8FCE +:044EF2002549488581 +:044EF30090002928DA +:044EF400003BE00996 +:044EF500211417630A +:044EF600112801205E +:044EF7001D99800081 +:044EF800FF03109F05 +:044EF90011282C89C7 +:044EFA00E00990003B +:044EFB00BA0829BB0D +:044EFC00003B001364 +:044EFD0087A9FFE1A1 +:044EFE0029F321B3C0 +:044EFF0080001034EB +:044F00000040112A32 +:044F0100C4140020B4 +:044F02001640031B37 +:044F030019930012EC +:044F040080001034E5 +:044F0500003210EA7C +:044F060019D3153B6B +:044F07001499049164 +:044F080000F3E6D9F3 +:044F09001D731233CF +:044F0A0010341993B3 +:044F0B0010E2800030 +:044F0C00151E060E5A +:044F0D00C48B002031 +:044F0E00203B14A38D +:044F0F000012164036 +:044F10003643A8D3A9 +:044F1100001FA004D9 +:044F1200209BF7C326 +:044F1300029BF98381 +:044F14004C02A0A00B +:044F15001273199367 +:044F160046AB068917 +:044F170080001034D2 +:044F1800004410EA57 +:044F19004A10052015 +:044F1A00030110344B +:044F1B00D00010842E +:044F1C00141424093C +:044F1D001333012821 +:044F1E00800010A857 +:044F1F001173248B5B +:044F2000004814141D +:044F2100800018A84C +:044F2200010814145A +:044F2300800010A852 +:044F2400212E2153C6 +:044F2500172300034B +:044F26001A5310D337 +:044F2700580210E03C +:044F2800A50410F3D9 +:044F2900F003000190 +:044F2A00034080348C +:044F2B0010A0F88357 +:044F2C0000AACCA566 +:044F2D0008CB014666 +:044F2E000002A804D1 +:044F2F00E415256000 +:044F300000682414DD +:044F3100212823739D +:044F3200211F8000BB +:044F33002C14FFDF5C +:044F34002168006888 +:044F350024149000B0 +:044F360023B3006041 +:044F370080002928A5 +:044F380000013566D9 +:044F390048E401A0A7 +:044F3A00FF7F295F6D +:044F3B002C142B09FE +:044F3C002168006088 +:044F3D0024149000A8 +:044F3E0023F3005CFD +:044F3F0080002128A5 +:044F4000FF7F211FAF +:044F4100005C2C14D0 +:044F42009000216852 +:044F430026978BA37F +:044F44000D2B848429 +:044F4500848826979F +:044F46004B012A13DE +:044F47000000A93786 +:044F480004CB0CA3E7 +:044F490000DA00A2E8 +:044F4A00CCC610E0E1 +:044F4B0014141173B6 +:044F4C0010A8012088 +:044F4D001473800059 +:044F4E0000641414D3 +:044F4F00800010A826 +:044F5000141414B36E +:044F510010A8002480 +:044F5200183480008F +:044F530018C400027C +:044F5400B0D79B082F +:044F55009C14002880 +:044F560014F301242B +:044F5700A01605A0FB +:044F58000001B5841B +:044F5900800014E8D8 +:044F5A00482405A042 +:044F5B00FF70109F34 +:044F5C002533288948 +:044F5D0000011094AB +:044F5E00900014E8C3 +:044F5F0000A2A4D533 +:044F600020040084A5 +:044F610043807530E4 +:044F620011530000E7 +:044F630010A6883BD1 +:044F640016330001FF +:044F650000A0115344 +:044F6600167380023C +:044F670012F330BD54 +:044F680030FD1459AB +:044F6900049524C1C6 +:044F6A00033400AA62 +:044F6B0000012834E5 +:044F6C002944999BA0 +:044F6D00353D7C58FA +:044F6E000016588051 +:044F6F00800014E8C2 +:044F700048A30460EE +:044F7100FFCF109FBF +:044F720010942689E8 +:044F730014E800102E +:044F740011D39000C5 +:044F750000AA448BBF +:044F760034BD04340E +:044F7700C41700203B +:044F78002D53089518 +:044F7900BDC41DFB9B +:044F7A00292A0001DF +:044F7B001DE6042605 +:044F7C002491001369 +:044F7D00157BEAE3D3 +:044F7E007FE107A91F +:044F7F000001A80481 +:044F8000049BD7C3F4 +:044F81002004E4C361 +:044F8200EF432710C2 +:044F8300F203025BD8 +:044F84001DB3031B3B +:044F850000003EC02A +:044F860018AB1D93B4 +:044F87008484269761 +:044F880022130F2BB6 +:044F8900848816976B +:044F8A0038512881F1 +:044F8B00203B08B50A +:044F8C000683029BFB +:044F8D001DB3203BF5 +:044F8E0000003EC021 +:044F8F0000AA1D93C4 +:044F90001413037A79 +:044F9100800010A8E4 +:044F920000A2C48B2A +:044F93001697036EFC +:044F940000AA848467 +:044F9500221301A042 +:044F9600848816975E +:044F97002444288105 +:044F980008B5000652 +:044F9900103B031BAB +:044F9A00E1682C138B +:044F9B00E70C80009F +:044F9C002C1400FFD2 +:044F9D00296801344A +:044F9E00CB4B800079 +:044F9F00017A07226A +:044FA0008484169758 +:044FA1001A130EAB26 +:044FA2008488169752 +:044FA3001C44268103 +:044FA40006B5000648 +:044FA50011530A6337 +:044FA600000310AE46 +:044FA700024000A222 +:044FA8001A5310D3B5 +:044FA900243B283B42 +:044FAA0010F3268951 +:044FAB00883B1453D8 +:044FAC00CCE230A083 +:044FAD000013BD40F0 +:044FAE001C9314D369 +:044FAF008499243B82 +:044FB000CCE528E044 +:044FB1000038108C28 +:044FB200580528A0D6 +:044FB3000013BA002D +:044FB40010A813939B +:044FB5000560800013 +:044FB600109F48E31D +:044FB7002689FF7FC9 +:044FB80010E81B934F +:044FB90013D390007E +:044FBA00800010A8BB +:044FBB0048E3046063 +:044FBC00FF7F109FC4 +:044FBD001BD3268953 +:044FBE00900010E867 +:044FBF0010A81353D0 +:044FC0001B538000FF +:044FC1000020109428 +:044FC200900010E863 +:044FC300800014E86E +:044FC400109F1D130A +:044FC5002689FF41F9 +:044FC600900014E85B +:044FC7000310056A64 +:044FC800B08C11D3C5 +:044FC90005AA000134 +:044FCA0014140014A7 +:044FCB0010A8010C1D +:044FCC00B8048000A5 +:044FCD00448B000110 +:044FCE00A01600A089 +:044FCF00103432ABBD +:044FD0001097000234 +:044FD10000A29B306F +:044FD200200402ECC9 +:044FD3004380733C68 +:044FD400106B00005E +:044FD50001001C14A7 +:044FD600800010E85F +:044FD700000810942A +:044FD800900010E84D +:044FD90001F42004BB +:044FDA000000438010 +:044FDB00C4170020D7 +:044FDC0080001CE84D +:044FDD000001145C5F +:044FDE00FFFE18DFDB +:044FDF0014E8268923 +:044FE00005E2900056 +:044FE1002004002286 +:044FE200438001F413 +:044FE300106B00004F +:044FE4000100841430 +:044FE500800014280C +:044FE600FFF7109F22 +:044FE70090001428FA +:044FE80003E82004B6 +:044FE9000000438001 +:044FEA0080A01697F6 +:044FEB0014E814A30F +:044FEC0005A080009C +:044FED00109F48D6F3 +:044FEE00B0A0FFBFB1 +:044FEF0014E8580268 +:044FF00011D3900049 +:044FF100B8A0348BA5 +:044FF20016A35802A8 +:044FF30080A01697ED +:044FF400131310A3E0 +:044FF500800010A880 +:044FF600109F1B13DA +:044FF70010E8FF00BF +:044FF80005629000BE +:044FF90016970256AF +:044FFA0000A080A0F3 +:044FFB00A0A08002F0 +:044FFC0018D34C0278 +:044FFD00031B94C33B +:044FFE002889CDC36E +:044FFF00FE9400A27A +:04500000800014E830 +:04500100FF7F109F7E +:04500200900014E81E +:0450030000AA1113DB +:045004002F2000DE7B +:04500500C48BC00296 +:04500600C41C2F2077 +:04500700103460AB56 +:0450080010970002FB +:0450090000AA9B302E +:04500A00129300D22B +:04500B0000E0173278 +:04500C0000D600EAE0 +:04500D0000A21113D9 +:04500E00900400BC4E +:04500F0090E0FFFF2F +:0450100004A0C41222 +:045011001DB3484241 +:0450120010842AFDDF +:045013002681006092 +:04501400FFB430971E +:04501500243B2C7B91 +:04501600BD4035F371 +:04501700115300131E +:0450180010A61D932E +:0450190000A20003EE +:04501A0035D300AAE0 +:04501B00D341035B1F +:04501C00BD40243B34 +:04501D0012D3001397 +:04501E00029D1D933F +:04501F002113029BBC +:045020000094012ACD +:04502100A00400E007 +:04502200012A08A3B4 +:0450230095C40176B9 +:045024002034FFFF36 +:045025002917000245 +:0450260001629B3058 +:04502700071B0084DF +:04502800E40425E097 +:045029000088249245 +:04502A00015600AA81 +:04502B00484204A053 +:04502C0026DB2B3D17 +:04502D00006010848B +:04502E00209728811E +:04502F0090E0FFB45A +:045030006363E403CF +:045031000001103436 +:045032007C54108416 +:0450330010B3207323 +:045034003DBB183335 +:045035002D3B347B60 +:04503600022320042D +:04503700000047002E +:04503800A49112D35A +:04503900046A12F300 +:04503A000020FD2233 +:04503B00BC03C415D9 +:04503C00C002E1606D +:04503D009004E403F4 +:04503E00E843000142 +:04503F0010AB11138E +:04504000FFFF95C415 +:04504100601290E089 +:045042000020E683E1 +:04504300E643C4126A +:04504400E5C390FB35 +:04504500ECC3029B1B +:04504600FFFF25C47F +:04504700A004192088 +:04504800203BECC35A +:045049001034EF43ED +:04504A0010840001CD +:04504B00F3837C501F +:04504C0000071DB686 +:04504D00009200E2EB +:04504E000001B58424 +:04504F00800014E8E1 +:04505000482305A04C +:04505100FFF1109FBC +:0450520014E82689AF +:0450530020049000A5 +:0450540043807530F0 +:04505500029B0000BA +:0450560000011C84B5 +:04505700C41C002055 +:04505800FE9B113377 +:04505900E2B334C1C9 +:04505A0000AA111384 +:04505B00182000B267 +:04505C00C48B60029F +:04505D0014D95CAB5B +:04505E002AFD1DB357 +:04505F000060108459 +:0450600030972681DE +:045061002C7BFFB4F1 +:04506200BD40243BEE +:045063002004001312 +:04506400438001F490 +:0450650014E800004B +:045066001094800022 +:0450670014E80080C9 +:045068002804900088 +:04506900203B13884D +:04506A0000003C40C6 +:04506B00C3502814F2 +:04506C003C40031BA6 +:04506D001D9300008F +:04506E00012CE41419 +:04506F00800017287E +:0450700000AAC48B43 +:04507100203BFC4A9A +:045072003DC4938323 +:0450730091E2FFFFC8 +:04507400039B007624 +:04507500243B2C7B31 +:045076000013BD4026 +:0450770000021034EF +:045078009B301097C2 +:04507900103440A30C +:04507A00108400019D +:04507B0010B37C549E +:04507C001073029B10 +:04507D003DBB1033F4 +:04507E002D3B347B17 +:04507F0002632004A4 +:04508000E293DB4399 +:0450810000A2111365 +:04508200029BFF5836 +:04508300183BEAC329 +:045084000013B80459 +:0450850001301414CE +:04508600013302B33D +:04508700E9031433F2 +:045088006002B8E02A +:045089001034E98373 +:04508A00108400018D +:04508B00F7C37C509B +:04508C00C416002026 +:04508D002004A10357 +:04508E00A243251CF8 +:04508F00B5C3029B08 +:045090000010151ED9 +:04509100F9EE000232 +:04509200FE9400A2E6 +:04509300003BF0836B +:04509400219BCD216E +:04509500283B813BF8 +:045096005A0026FB9B +:0450970010340016BB +:04509800142280005E +:045099003E9B00EC4E +:04509A0012E01D43C0 +:04509B0081E04C075D +:04509C0000EA3803EB +:04509D00442A009A07 +:04509E005A9900C259 +:04509F005805496007 +:0450A000012419547A +:0450A100800018E88B +:0450A200004018CCE6 +:0450A300008000EA9F +:0450A4000044195457 +:0450A500800020E87F +:0450A600800018E886 +:0450A7000040315440 +:0450A800800069A873 +:0450A900003C315442 +:0450AA00800071A869 +:0450AB00000C315470 +:0450AC00800061A877 +:0450AD000014315466 +:0450AE00800031A8A5 +:0450AF000048295438 +:0450B00080002968EB +:0450B10000802B8CC4 +:0450B2002B602D63DF +:0450B3001163CC8336 +:0450B40000012B0CC0 +:0450B50029A0216BA2 +:0450B600296ECC4152 +:0450B7001763000378 +:0450B8000007210CC0 +:0450B9000005292E97 +:0450BA0018E00D638A +:0450BB0028E6CCA374 +:0450BC000162000588 +:0450BD004420008803 +:0450BE0016D1A00364 +:0450BF002E4916D987 +:0450C000D8E046D11D +:0450C10020D7C4032D +:0450C2002F09FFF0C3 +:0450C300FFF020F7E3 +:0450C40050BA049149 +:0450C500626BFF54C7 +:0450C6009EC496FBF3 +:0450C700803B00101A +:0450C8000000249729 +:0450C900035B092B51 +:0450CA000013BF40D0 +:0450CB00948424099C +:0450CC0094E2000466 +:0450CD006409FFEA89 +:0450CE004D210289E5 +:0450CF00034028343E +:0450D000212EE7C3E3 +:0450D10007230004AD +:0450D200000418EED0 +:0450D30002DBF5C344 +:0450D400103BF54355 +:0450D500800018340B +:0450D60000181C2280 +:0450D7000020500461 +:0450D8000301483454 +:0450D9005804883BB4 +:0450DA00403400015D +:0450DB004A448000C3 +:0450DC00F3C3D0004A +:0450DD00001050046B +:0450DE00803BFCC354 +:0450DF004422F7036D +:0450E00006DBFFC02C +:0450E100003BEEC3DF +:0450E20018342D2B26 +:0450E300103B03017A +:0450E40018C4039B4E +:0450E50011A084187A +:0450E60009494C0523 +:0450E7005A99116B56 +:0450E80039682749B3 +:0450E90007E3800059 +:0450EA0080A03E97CD +:0450EB000491F5EB4C +:0450EC00001028A6E2 +:0450ED00E009E16392 +:0450EE00031BC821B7 +:0450EF0000153880F0 +:0450F0000400103474 +:0450F100040410841F +:0450F200800010A882 +:0450F30000028834FB +:0450F4000200188C12 +:0450F5009B088C4444 +:0450F6001C570CEB4C +:0450F70018D4004881 +:0450F8001C77080019 +:0450F900468B00489A +:0450FA001C570CEB48 +:0450FB0018D400487D +:0450FC001C7710000D +:0450FD00868B004856 +:0450FE001C570CEB44 +:0450FF0018D4004879 +:045100001C772000F8 +:0451010010A00048B2 +:045102001834CD8A06 +:0451030020E804009C +:0451040018A6842045 +:045105007CE3000641 +:045106001834303BEE +:0451070080E8040038 +:04510800283484249F +:045109008691040087 +:04510A00294416D945 +:04510B003AC1042879 +:04510C00800090E8A7 +:04510D00C41234A0F4 +:04510E00E4109420F5 +:04510F0018AE90192D +:045110000011000387 +:0451110018AE52E39F +:0451120066E300064A +:04511300000110A6E1 +:04511400072B26A39C +:045115003680031BC2 +:04511600143E00152E +:0451170006A3000EDD +:045118003680031BBF +:0451190084A8001551 +:04511A0024BB9034EE +:04511B000014E1009B +:04511C00040018343F +:04511D00942810E8DA +:04511E000400103445 +:04511F0018A83EDBB3 +:04512000C455940CD2 +:04512100000210AECA +:04512200203B3AA351 +:04512300C81C3EE87E +:0451240000153888B2 +:04512500F043313BE7 +:04512600051B072B33 +:0451270000153680B9 +:0451280024BB2C3B3D +:045129000014F64038 +:04512A000400183431 +:04512B00943010E8C4 +:04512C002C3BF8C35D +:04512D00FEC024BBE1 +:04512E00183400141D +:04512F0010E8040080 +:04513000F683943C32 +:04513100003B4821D6 +:045132008034C061A4 +:0451330084040400EC +:045134003E9B040C8E +:0451350090001428AA +:045136000014DE4043 +:045137000400183424 +:04513800942810E8BF +:045139000014F50069 +:04513A000400183421 +:04513B00943010E8B4 +:04513C000014FD401E +:04513D00040018341E +:04513E00943C10E8A5 +:04513F001428809B15 +:045140001034900097 +:04514100180404004A +:0451420018A8015553 +:04514300303494046C +:045144000033000133 +:045145003184383B3E +:04514600035B43B80C +:04514700A4C0203BA5 +:045148001034001609 +:04514900049100804D +:04514A00B80000A009 +:04514B004061103B74 +:04514C008034C021CA +:04514D0084040002D4 +:04514E00F1809B0849 +:04514F00FB0000144D +:045150000140001406 +:0451510022A3001580 +:0451520010A6C415CA +:0451530006A30003AC +:045154003880203B44 +:045155003C00001505 +:04515600C415001567 +:04515700000310A69B +:04515800203BD8A37D +:045159000015388085 +:04515A004021FA03F3 +:04515B00000210340A +:04515C009B08108418 +:04515D0006E3A6952A +:04515E0002EB969535 +:04515F00E009B8B5F6 +:045160000400103403 +:045161000530108481 +:04516200800018A809 +:04516300000818D454 +:04516400900018A8F7 +:04516500800018A806 +:04516600FFF818DF57 +:04516700000418D454 +:04516800900018A8F3 +:04516900800018A802 +:04516A00FFF718DF54 +:04516B00900018A8F0 +:04516C00003BE0091B +:04516D0000021034F8 +:04516E009B08108406 +:04516F001AEB96950C +:0451700016A3649589 +:04517100813BC0219D +:0451720027102004DE +:045173000015518052 +:045174003EE8243BB2 +:04517500A388C8043F +:04517600E009001339 +:045177008034D0218F +:0451780084040002A9 +:04517900A4159B08D6 +:04517A0001AC00AADA +:04517B0000021034EA +:04517C009B481097A5 +:04517D00000C108C86 +:04517E00000C10AE63 +:04517F00019800A2F1 +:0451800000A2741500 +:04518100213E019238 +:04518200F41500021E +:0451830000B601224F +:045184000440108C47 +:04518500018000AAFB +:04518600001533805D +:04518700017800AA01 +:04518800C41400202B +:04518900108CF4157D +:04518A000CA304402E +:04518B0000441417B1 +:04518C00001010B44B +:04518D00004414378F +:04518E003200203B90 +:04518F00031B0015E9 +:04519000A01100A0CA +:0451910000153200D3 +:04519200A00200A0D7 +:0451930004001834C8 +:04519400049102512F +:045195000C3018C4FE +:04519600800090E81D +:0451970000401C17A1 +:04519800692338CB84 +:0451990038138CA09B +:04519A00A0138CE0F2 +:04519B0062E346CBBA +:04519C00381114A012 +:04519D00A0111460E9 +:04519E0058028CE047 +:04519F00011400AA4D +:0451A00000032034B4 +:0451A1000D40210498 +:0451A2000015518023 +:0451A30000D004EA4A +:0451A4000042052A96 +:0451A50004001034BE +:0451A6000C00108465 +:0451A700800018A8C4 +:0451A800001018F4E7 +:0451A900900018A8B2 +:0451AA002000283485 +:0451AB002000294473 +:0451AC004E00031B93 +:0451AD0008AB00004B +:0451AE0000042034A5 +:0451AF000015368031 +:0451B00000A00462F5 +:0451B100A0041A43F9 +:0451B200EB0300010A +:0451B300C413002001 +:0451B400883BF343FE +:0451B5002034F4436B +:0451B600303404008D +:0451B7002834001088 +:0451B80021040010BE +:0451B90059C00C00CD +:0451BA0014170015B1 +:0451BB00109400400C +:0451BC0014370004A0 +:0451BD00206B004023 +:0451BE000400203495 +:0451BF000040303448 +:0451C000004028344F +:0451C1000C002104B9 +:0451C200001559C0BB +:0451C300004014177D +:0451C400000810943B +:0451C500004014375B +:0451C600004014177A +:0451C7001AA3648B38 +:0451C8000001148C42 +:0451C900200414ABFF +:0451CA004700013762 +:0451CB0014170000B5 +:0451CC0010940040FB +:0451CD001437001083 +:0451CE001417004072 +:0451CF00848B00408D +:0451D000948C56A3C2 +:0451D10004AA00022A +:0451D2002004004E67 +:0451D3004700013F51 +:0451D40014170000AC +:0451D50010940040F2 +:0451D600143700206A +:0451D700070300408A +:0451D800FF94052A11 +:0451D900040010348A +:0451DA000C00108431 +:0451DB00800018A890 +:0451DC00004018F483 +:0451DD00900018A87E +:0451DE002000283451 +:0451DF00400029441F +:0451E0004E00031B5F +:0451E10010AB00000F +:0451E2000004203471 +:0451E300C87C3EE85E +:0451E40000153688F4 +:0451E500FF80052A18 +:0451E600003B502119 +:0451E700031B802105 +:0451E80000145DC092 +:0451E9000021103B56 +:0451EA00203BC02185 +:0451EB00000280340A +:0451EC0000145DC08E +:0451ED009B08840493 +:0451EE001CA3A41545 +:0451EF00400128341F +:0451F00080002944CE +:0451F1004E00031B4E +:0451F20008AB000006 +:0451F3000004203460 +:0451F40000153680EC +:0451F500C435049B1E +:0451F6004021103B09 +:0451F7008034C4211B +:0451F800893B0400EB +:0451F9000C0084041E +:0451FA0080001428F5 +:0451FB00002010B4CC +:0451FC0090001428E3 +:0451FD003200051B5C +:0451FE000460001534 +:0451FF0088A2A011D1 +:045200004CC000049A +:045201001C28001352 +:0452020010348000E4 +:0452030010970002FE +:0452040018FF9B2CC8 +:0452050000A0FFDF27 +:0452060010AC4AA2FC +:0452070026890020D4 +:0452080090001428D6 +:04520900003B442101 +:04520A00051B8021DF +:04520B000015320058 +:04520C00103410AB9F +:04520D0010970002F4 +:04520E0006A39B3028 +:04520F007DC0203B03 +:04521000103B00143B +:04521100003B00213D +:045212000002103452 +:045213009B3018971D +:04521400040010344E +:045215000C001084F5 +:04521600802134EBD4 +:04521700800018A853 +:04521800FFB020348F +:04521900FFF7210476 +:04521A0018D408C9D3 +:04521B0018A80008C7 +:04521C0028349000A2 +:04521D002944200000 +:04521E00031B080066 +:04521F0000004E003D +:0452200020341AAB71 +:045221003EE800045F +:045222003688C80002 +:0452230018A80015B2 +:0452240018D480001A +:0452250018A80008BD +:04522600E00990000B +:04522700003B002127 +:04522800051B8021C1 +:04522900001532003A +:04522A00848004A3D5 +:04522B001034001427 +:04522C0010970002D5 +:04522D003CAB9B30CB +:04522E003200051B2A +:04522F0034AB001587 +:045230003200031B2A +:045231002CAB00158D +:045232000400103430 +:045233000C001084D7 +:04523400800018A836 +:04523500FFBF18FFA0 +:04523600900018A824 +:0452370020002834F7 +:0452380010002944F5 +:045239004E00031B05 +:04523A0008AB0000BD +:04523B000004203417 +:04523C0000153680A3 +:04523D000021103B01 +:04523E00051B8021AB +:04523F000015320024 +:04524000848004ABB7 +:04524100103B00140A +:04524200003B00210C +:04524300040010341F +:045244000C001084C6 +:04524500800018A825 +:04524600FFFB18DF73 +:04524700900018A813 +:04524800800018A822 +:04524900FFFE18DF6D +:04524A00900018A810 +:04524B00800018A81F +:04524C00FFFD18DF6B +:04524D00900018A80D +:04524E00003BE00938 +:04524F00051B80219A +:045250000015320013 +:0452510090C004A362 +:04525200103B0014F9 +:04525300003B0021FB +:04525400051B802195 +:04525500001532000E +:0452560090C004AB55 +:04525700103B0014F4 +:04525800003B0021F6 +:04525900051B802190 +:04525A000015320009 +:04525B00103414AB4C +:04525C0010840400B6 +:04525D0018A80C0081 +:04525E0018DF8000D5 +:04525F0018A8FFF795 +:045260001034900076 +:0452610010840002B3 +:04526200A6959B086A +:0452630094950AE331 +:04526400031B06AB77 +:045265000012C980EA +:045266005B40031B8B +:04526700103B0014E4 +:04526800003B0021E6 +:0452690004001034F9 +:04526A001084C021CB +:04526B0010A8053052 +:04526C0010AE800000 +:04526D0004A3000492 +:04526E0000145800D0 +:04526F000400803483 +:045270000C008404A6 +:04527100800014287D +:045272000002109492 +:04527300900014286B +:04527400800014287A +:045275000001109490 +:045276009000142868 +:0452770027102004D8 +:04527800001551804C +:045279008000142875 +:04527A000004109488 +:04527B009000142863 +:04527C00003B402192 +:04527D00051B80216C +:04527E0000153200E5 +:04527F009A4004A3AA +:04528000203B0014BB +:04528100001456C0FF +:045282000021103BBC +:04528300051B802166 +:0452840000153200DF +:045285009A4004AB9C +:04528600203B0014B5 +:04528700001456C0F9 +:045288000021103BB6 +:04528900051B802160 +:04528A0000153200D9 +:04528B00103414AB1C +:04528C001084040086 +:04528D0018A80C0051 +:04528E0018DF8000A5 +:04528F0018A8FEFF5E +:04529000283490002E +:045291005B5140002D +:045292004E00031BAC +:0452930008AB000064 +:0452940000042034BE +:04529500001536804A +:045296008000283438 +:045297000012294494 +:045298004E00031BA6 +:0452990008AB00005E +:04529A0000042034B8 +:04529B000015368044 +:04529C0016B7029BA4 +:04529D00103B80A0A2 +:04529E00003B0021B0 +:04529F00051B80214A +:0452A00000153200C3 +:0452A100103414AB06 +:0452A2001084040070 +:0452A30018A80C003B +:0452A40018D480009A +:0452A50018A8010044 +:0452A6002834900018 +:0452A7002944400056 +:0452A800031B0012D2 +:0452A90000004E00B3 +:0452AA00203408ABF9 +:0452AB003680000445 +:0452AC00283400158D +:0452AD005B518000D1 +:0452AE004E00031B90 +:0452AF0008AB000048 +:0452B00000042034A2 +:0452B100001536802E +:0452B20056C0203B87 +:0452B30020040014BF +:0452B4004700020E9F +:0452B500103B0000AA +:0452B600003B002198 +:0452B700051B802132 +:0452B80000153200AB +:0452B90000021834A3 +:0452BA009B3018D736 +:0452BB0006A3268997 +:0452BC007DC0031B93 +:0452BD00103B00148E +:0452BE00003B002190 +:0452BF00051B80212A +:0452C00000153200A3 +:0452C100103420ABDA +:0452C2001084040050 +:0452C30018A80C001B +:0452C40018D480007A +:0452C50018A80070B5 +:0452C60018A8900094 +:0452C70018D4800077 +:0452C80018A80080A2 +:0452C90028349000F5 +:0452CA002944400033 +:0452CB00031B0400BD +:0452CC0000004E0090 +:0452CD00203408ABD6 +:0452CE003680000422 +:0452CF00103B00157B +:0452D000003B00217E +:0452D1000002103493 +:0452D2009B3C10975A +:0452D30034A3448B31 +:0452D400283B8021D2 +:0452D500A0C0203B1A +:0452D600283B00145D +:0452D7009640203BA2 +:0452D800283B00145B +:0452D900AFC0203B07 +:0452DA00031B00149E +:0452DB0000145DC09E +:0452DC00203B283B10 +:0452DD0000147A80BF +:0452DE00203B283B0E +:0452DF000014A7C050 +:0452E0000021103B5E +:0452E100E009103B95 +:0452E200051B802107 +:0452E3000015320080 +:0452E400103420ABB7 +:0452E500108404002D +:0452E60018A80C00F8 +:0452E70018DF80004C +:0452E80018A8FF7F84 +:0452E90018A8900071 +:0452EA0018DF800049 +:0452EB0018A8FF8F71 +:0452EC00103B9000E3 +:0452ED00003B002161 +:0452EE00283B8021B8 +:0452EF00A240203B7E +:0452F000283B001443 +:0452F100B880203B26 +:0452F200283B001441 +:0452F3008F80203B4D +:0452F400283B00143F +:0452F5009500203BC5 +:0452F600103B001455 +:0452F700003B002157 +:0452F800051B8021F1 +:0452F900001532006A +:0452FA00103414A3B5 +:0452FB001084040017 +:0452FC0018A80C00E2 +:0452FD0018DF800036 +:0452FE0018A8FFF7F6 +:0452FF0010349000D7 +:045300001084000213 +:04530100A6959B08CA +:0453020094950AE391 +:04530300051B06ABD5 +:045304000012C9804A +:045305005B40051BE9 +:04530600031B001471 +:04530700001456C078 +:045308000021103B35 +:04530900051B8021DF +:04530A000015320058 +:04530B00103414A3A3 +:04530C001084040005 +:04530D0018A80C00D0 +:04530E0018D480002F +:04530F0018A80100D9 +:0453100028349000AD +:045311006B5140009C +:045312004E00031B2B +:0453130008AB0000E3 +:04531400000420343D +:0453150000153680C9 +:0453160080002834B7 +:04531700031B7B51A8 +:0453180000004E0043 +:04531900203408AB89 +:04531A0036800004D5 +:04531B00203B00151E +:04531C00001456C063 +:04531D0002DA20048C +:04531E000000470044 +:04531F000021103B1E +:04532000813BC421E8 +:04532100897B051B64 +:045322000015320040 +:04532300103420A37F +:0453240010840400ED +:0453250018A80C00B8 +:0453260018D4800017 +:0453270018A8007052 +:0453280018A8900031 +:0453290018D4800014 +:04532A0018A800803F +:04532B002834900092 +:04532C002B514000C1 +:04532D004E00031B10 +:04532E0008AB0000C8 +:04532F000004203422 +:0453300000153680AE +:04533100243B2C7B72 +:045332000014C24061 +:045333004421103BC6 +:04533400000210342F +:045335009B2C109706 +:0453360006AB802121 +:04533700BAC0051BD8 +:04533800051B00123F +:045339000015320029 +:04533A00103414A374 +:04533B0010840400D6 +:04533C0018A80C00A1 +:04533D0018DF8000F5 +:04533E0018A8FEFFAE +:04533F00283490007E +:045340007B5140005D +:045341004E00031BFC +:0453420008AB0000B4 +:04534300000420340E +:04534400001536809A +:045345008000283488 +:0453460000442944B2 +:045347004E00031BF6 +:0453480008AB0000AE +:045349000004203408 +:04534A000015368094 +:04534B0016B7029BF4 +:04534C00103B80A0F2 +:04534D00003B002100 +:04534E00CD008021ED +:04534F00051B001426 +:045350000015320012 +:04535100103420A351 +:0453520010840400BF +:0453530018A80C008A +:0453540018DF8000DE +:0453550018A8FF7F16 +:0453560018A8900003 +:0453570018DF8000DB +:0453580018A8FF8F03 +:04535900103B900075 +:04535A00003B0021F3 +:04535B000002183400 +:04535C009B0818C4CE +:04535D00004810D71D +:04535E00004418D718 +:04535F0026898061BA +:045360004E1F188C38 +:04536100188C1EE3A3 +:0453620000E0B1E0D6 +:0453630000E08003E3 +:04536400108C4B63FB +:0453650026890FFF87 +:04536600031B2EFBFC +:0453670002C010333D +:0453680000610015CB +:0453690010001834E4 +:04536A00003BFD0304 +:04536B00002080217D +:04536C0000370018EE +:04536D000037000005 +:04536E00C017000460 +:04536F0010340000F6 +:045370001804040019 +:0453710018A80084F4 +:04537200103491184A +:0453730000A804008A +:045374001034910060 +:0453750000A8040088 +:04537600203B940440 +:045377000015388065 +:045378000000000031 +:0453790004001034E8 +:04537A0010848021FA +:04537B0018A80C0062 +:04537C0018EE8000A7 +:04537D0008E3200819 +:04537E0020081804E7 +:04537F00900018A8DA +:045380004CC0031BFF +:0453810010340000E4 +:045382001084000291 +:0453830000219A4427 +:04538400813BC42184 +:045385005300031BB3 +:045386000615000008 +:0453870018E088BBE7 +:045388007AEBCDEC03 +:04538900000518EE15 +:04538A00009E00E29F +:04538B005300031BAD +:04538C0088AA0000EB +:04538D0028340014AC +:04538E00031B1000ED +:04538F0000004E00CC +:04539000203408AB12 +:04539100368000045E +:0453920010340015BE +:045393001084000280 +:0453940020979B08BB +:045395002834046054 +:0453960007110002F9 +:04539700046018B7DF +:045398000C151919BE +:04539900010018E611 +:04539A0031775B010B +:04539B0012E39B6816 +:04539C0000021834BF +:04539D009F6800F70E +:04539E0004641897F4 +:04539F0018B706D164 +:0453A00018970464F2 +:0453A1002097004809 +:0453A20028C90044D2 +:0453A30018970CEB60 +:0453A40006EB0468A8 +:0453A50018B706151A +:0453A600143B046848 +:0453A7000615442182 +:0453A800000410EEFF +:0453A90010EE18A347 +:0453AA000EA3000747 +:0453AB00000318EEF5 +:0453AC00FF7800EA9C +:0453AD000014D6C052 +:0453AE00DAC0EE4330 +:0453AF0016150014BB +:0453B00000021034B3 +:0453B1009B0818B786 +:0453B2000A15EC43A9 +:0453B30000012034A1 +:0453B4007E702104E2 +:0453B5000515183B87 +:0453B600003028A2F9 +:0453B700103426D9AF +:0453B800283B00018D +:0453B900109724C164 +:0453BA00203B7E74A2 +:0453BB0010348089A1 +:0453BC001084000257 +:0453BD00A6959B080E +:0453BE00FF3000EAD2 +:0453BF0018E60615D1 +:0453C00000E25004B3 +:0453C10004DBFF26E4 +:0453C200E403C6B585 +:0453C30010E606D119 +:0453C4003911001487 +:0453C500FAC3C0A3C4 +:0453C6008034C0214E +:0453C7008404000258 +:0453C80034159B08F5 +:0453C900051B0AA313 +:0453CA0000145DC0AE +:0453CB004021103B32 +:0453CC000400103495 +:0453CD000530108413 +:0453CE00800010A8A3 +:0453CF00000410AE18 +:0453D000580004A3DA +:0453D100F4150014BB +:0453D20000461094ED +:0453D300FB83F4352F +:0453D40016B7029B6B +:0453D50006B784B4DF +:0453D600169784B8EA +:0453D70006B7805045 +:0453D800E00984B0B4 +:0453D90084B81E97DF +:0453DA0084B41697EA +:0453DB00897BC421E5 +:0453DC00000610FABD +:0453DD003680411BBA +:0453DE001697001509 +:0453DF00868484B884 +:0453E000249980503C +:0453E10014952401FA +:0453E200000888AA8D +:0453E3000080200422 +:0453E40000153680FA +:0453E50084B81697DB +:0453E60084B41E97D6 +:0453E70016B7049160 +:0453E80018BA84B8B3 +:0453E900103B000273 +:0453EA0004012499FD +:0453EB004421041540 +:0453EC0084B01697DC +:0453ED0084B81E97CB +:0453EE00001418B2DD +:0453EF001EB706914E +:0453F0000CA384B0D6 +:0453F100871B802175 +:0453F2000000470070 +:0453F3000021103B4A +:0453F400E009103B81 +:0453F500031B8021F5 +:0453F600001206405B +:0453F7000015078016 +:0453F800000210346B +:0453F9009B0C109762 +:0453FA00003B002153 +:0453FB00C021350593 +:0453FC0000028034F7 +:0453FD009B08840481 +:0453FE0005C00CA337 +:0453FF00049B0015F6 +:045400001415C43586 +:0454010010A6402190 +:04540200F6A300010C +:04540300001207C0CC +:04540400003BFD83E9 +:0454050008C080213A +:045406001034001549 +:0454070010970002F8 +:0454080004A39B1C42 +:045409000011FB4053 +:04540A000021103B32 +:04540B000001103458 +:04540C007F10108479 +:04540D0068B59AB52F +:04540E00268428BB0D +:04540F000B088058AE +:04541000003B00005D +:045411008058268415 +:045412000000098805 +:045413008058268413 +:0454140000001D88EF +:045415008058268411 +:0454160000001C086E +:0454170084C01697A0 +:04541800813BC021F3 +:04541900211B06ABA2 +:04541A0000153680C3 +:04541B0016B7029B23 +:04541C0086B784C00B +:04541D00402184BCEA +:04541E0006B780212C +:04541F00118084C0B4 +:04542000103B001528 +:0454210084BC06B78A +:04542200003B00212A +:045423008034CE61A2 +:0454240084040002FA +:0454250022159B08A9 +:04542600169764630E +:0454270010A684C087 +:0454280066A3000176 +:0454290000029EC41B +:04542A000001283421 +:04542B0029441D9B58 +:04542C0024FB7CA43D +:04542D00001658808D +:04542E0084BC96970D +:04542F0000241497AA +:0454300020044CAB5D +:0454310036800200BF +:04543200219B0015A5 +:045433000B3D283BCA +:0454340000165A0004 +:04543500000C1497BC +:0454360000A32004AB +:0454370016E78933B8 +:0454380099B3001410 +:045439000000470028 +:04543A00093D2CBB41 +:04543B0000002AC083 +:04543C001AC024BBB3 +:04543D00069B0015B5 +:04543E0006B7C435B4 +:04543F00141784C0FA +:045440001094004084 +:04544100143700011B +:04544200103B0040DB +:0454430088344E61FA +:045444008C44040090 +:04544500F643060024 +:04544600000220340C +:04544700319BCC21A8 +:045448002104283BD8 +:045449005A009AF07B +:04544A00180400162C +:04544B00103424589D +:04544C002034000206 +:04544D0018B700028A +:04544E0090049AEC40 +:04544F001034000114 +:04545000219B00029A +:045451002104283BCF +:0454520090B79AA4D1 +:045453005A009AF46D +:0454540098040016A2 +:045455001034000D02 +:04545600803400029C +:0454570020340002FB +:0454580084040002C6 +:04545900045B9A98BE +:04545A009A9898B7CD +:04545B001004219B7D +:04545C00283B122FA8 +:04545D009AC02104CC +:04545E0022351435AA +:04545F0000165A00D9 +:0454600000022034F2 +:045461001110100412 +:04546200283B219B27 +:045463009ADC2104AA +:04546400001C9C3755 +:0454650092358435C3 +:0454660000165A00D2 +:04546700044B1004DE +:04546800F435E23500 +:045469000040943734 +:04546A00003B4C2196 +:04546B009117FC2178 +:04546C008034002068 +:04546D0084040002B1 +:04546E0004A09AEC10 +:04546F002415685246 +:045470002C84993BB4 +:0454710000A2FFFC9A +:04547200641500C8F5 +:0454730084911615F5 +:04547400014610E2FB +:0454750028AA5415F8 +:0454760020340008D6 +:04547700368000017A +:04547800A83400153F +:045479008834000271 +:04547A00AD4400023B +:04547B00B8349A8C1B +:04547C008C4400025A +:04547D00BDC49A9878 +:04547E00B57B9AEC74 +:04547F000001A00484 +:045480001415365574 +:04548100004410E2F1 +:0454820024BB0A55E8 +:04548300001571C0DF +:0454840026814655E2 +:0454850026551499FB +:04548600C40214E068 +:045487000030E0977A +:0454880026815455D0 +:04548900002010BE31 +:04548A00203408A31F +:04548B003680000166 +:04548C00245500158E +:04548D00A477565555 +:04548E0015200018CD +:04548F001F204C028C +:0454900084916C1C7B +:045491003802E0A05D +:04549200000015778A +:04549300001C8C4429 +:045494000004AD441F +:04549500FFA88DE2FD +:04549600161564156E +:0454970010E284910A +:045498002034002A92 +:04549900029B000270 +:04549A009A8C2117B0 +:04549B00343524354B +:04549C0000021034C6 +:04549D009B081084D4 +:04549E00004C20B7E7 +:04549F000004259749 +:0454A000005020B7E1 +:0454A1000008259743 +:0454A200005420B7DB +:0454A300163506D1E3 +:0454A40010347C2123 +:0454A5001897000252 +:0454A600031B9AEC5E +:0454A70018C4683588 +:0454A80000E0001F01 +:0454A9004A3568A276 +:0454AA00203B039B05 +:0454AB00117A0F91D2 +:0454AC00C90B0056D2 +:0454AD006C35032B2C +:0454AE00103454352D +:0454AF0000B7000240 +:0454B00001609AF409 +:0454B100103448A8C3 +:0454B20000B700023D +:0454B30038349AF0FF +:0454B40010340002AE +:0454B500108400025D +:0454B60039C49A98C3 +:0454B70030DF9AEC5C +:0454B8001695FFE066 +:0454B90021BB069D70 +:0454BA00E411412098 +:0454BB00002088FA4B +:0454BC000120C70103 +:0454BD0086D168A488 +:0454BE0048B576CBAC +:0454BF00108456B54A +:0454C00038A2001CF2 +:0454C100D843FFDCF1 +:0454C20031FBAA818F +:0454C300F383031B51 +:0454C40009113895FD +:0454C500247B38B557 +:0454C6004415F9C3CD +:0454C700003BD703CC +:0454C800103417196C +:0454C9002136000286 +:0454CA0024C10002F7 +:0454CB009A8C109710 +:0454CC0010A60523FE +:0454CD00E0090003EF +:0454CE000002103494 +:0454CF009AEC1084BF +:0454D00008EB26952A +:0454D10000A034956E +:0454D200E00980026B +:0454D300E009103BA1 +:0454D400000210348E +:0454D5009B0810849C +:0454D6006909D695F5 +:0454D700D6B508C975 +:0454D80008C9E69584 +:0454D900E009E6B54B +:0454DA000002103488 +:0454DB009B08108496 +:0454DC0000441897D9 +:0454DD0000482897C4 +:0454DE0020B72709C3 +:0454DF00292000443C +:0454E000911B5805BF +:0454E1000000470878 +:0454E2000002103480 +:0454E3009B0810977B +:0454E4008034C0212F +:0454E50010AC000205 +:0454E60084044000FA +:0454E700C90B9B084A +:0454E800112B10ABC9 +:0454E900001504C0E6 +:0454EA000002103478 +:0454EB009B3800B733 +:0454EC00FD2340213B +:0454ED000015054061 +:0454EE00C435029B24 +:0454EF00003BFE433D +:0454F0008834C42117 +:0454F100031B100089 +:0454F2000000530063 +:0454F300001A101A71 +:0454F400031B442131 +:0454F500000054C09F +:0454F600400018ACAE +:0454F700F61520EB9B +:0454F8002FFF10BFB3 +:0454F900580210E065 +:0454FA00031BF43567 +:0454FB0000028034F7 +:0454FC000000530059 +:0454FD009B08840480 +:0454FE00FFD6101AAB +:0454FF0000920D0307 +:04550000F615000C90 +:045501002FFF10BFA9 +:045502000689648929 +:04550300A615FB43AB +:0455040018AC50EBA4 +:045505004AEB20004D +:045506000800188CF5 +:045507001C170CEB76 +:0455080018DF004068 +:045509001C37FFC389 +:04550A00188C0040B9 +:04550B000CEB100095 +:04550C0000401C1728 +:04550D00FFE718DFBD +:04550E0000401C3706 +:04550F002000188CD4 +:045510001C170CEB6D +:0455110018D400406A +:045512001C3700043E +:04551300108C0040B8 +:0455140096AB400012 +:045515000040141727 +:0455160000081094E5 +:045517000040143705 +:0455180088A2F10371 +:04551900D415FF8422 +:04551A000040188CA9 +:04551B00009600EA0C +:04551C00868BD41591 +:04551D00F6150EE38E +:04551E00800018CC25 +:04551F00109406EBF3 +:04552000D43500205E +:04552100068BD4150C +:04552200F61512E385 +:045523000CEB16CBAC +:0455240000011094DE +:04552500D435111B4D +:045526000015350037 +:04552700168BD415F6 +:04552800F61512E37F +:045529000CEB36CB86 +:04552A0000021094D7 +:04552B00D435211B37 +:04552C000015350031 +:04552D00468BD415C0 +:04552E00F61520E36B +:04552F001AEB86CB22 +:0455300000081094CB +:04553100E415D43574 +:045532001094C31BF3 +:04553300E435000853 +:045534000015350029 +:045535000640051B0C +:04553600D415001276 +:0455370000E2668B9D +:04553800F615FEE482 +:0455390000EAB6CB03 +:04553A001094FEDCEF +:04553B00D435001053 +:04553C00051BE41552 +:04553D0000101094B6 +:04553E003500E4351B +:04553F00091B00152F +:04554000001206400F +:04554100F615D80380 +:04554200040018CC7D +:04554300FF6000EA1B +:04554400004010947F +:04554500EB03D4356B +:045546000000438896 +:045547008034C021CB +:0455480084040002D5 +:0455490030049B0887 +:04554A00283B046C8A +:04554B005A00243BA3 +:04554C00029B0016A8 +:04554D003740A4350A +:04554E001034000015 +:04554F0010840400C0 +:0455500010A804009B +:0455510018A080001E +:045552001EB7CDA80B +:04555300968B80981B +:0455540080941EB76A +:045555000008009AB0 +:04555600800020149D +:045557000015368085 +:045558004700E51B08 +:045559004C80000082 +:04555A0004400014F5 +:04555B00A240001555 +:04555C00203B0013DD +:04555D00001538807D +:04555E0000145300E2 +:04555F0000441417D9 +:0455600000482C17BC +:0455610025497F1B3E +:0455620000004700FE +:0455630000481417D1 +:0455640000441C17CC +:0455650000A02689F3 +:04556600402180025E +:04556700FFFF415CA5 +:04556800FFFF423CC3 +:04556900D409012040 +:04556A00380942605A +:04556B005809326049 +:04556C00F4024920DC +:04556D00FFE400AAAD +:04556E00140007E03E +:04556F0040DB25AB4D +:045570001812BCC190 +:0455710019600010AD +:0455720031204C0395 +:045573005D496C0220 +:04557400197B2689F0 +:04557500DD91E009DB +:045576006C02316032 +:04557700197B283B39 +:04557800113BE009FA +:04557900E009197BB1 +:04557A00409B25AB82 +:04557B001012AC81DD +:04557C0011200010EA +:04557D0031606C022B +:04557E004D094C0384 +:04557F00113B24C9EF +:04558000DD91E009D0 +:045581004C03312086 +:04558200113B203B7E +:04558300113BE009EF +:04558400E009197BA6 +:045585000042011AC5 +:045586000152383B5B +:045587007B49000656 +:04558800000139DC09 +:0455890002DB313BD5 +:04558A000014217276 +:04558B0002DB409B64 +:04558C0022AB00430B +:04558D0084915B4169 +:04558E00217A36C187 +:04558F0016EBFFF424 +:0455900029BA103BE9 +:04559100EB810004A6 +:0455920086D9268907 +:04559300F2E38B595B +:04559400748903EB28 +:04559500103BE009DE +:045596007909FEC3CE +:04559700F74303DBF8 +:04559800003A011ABA +:04559900113B383B4F +:04559A0000020152B8 +:04559B0002DB7B496B +:04559C000014217264 +:04559D0002DB419B51 +:04559E001FAB0043FC +:04559F008D915B414E +:0455A000217A36C175 +:0455A10012EBFFF416 +:0455A20028BA86D9C4 +:0455A300AA810002D7 +:0455A400F4E38B5948 +:0455A500748903EB17 +:0455A600113BE009CC +:0455A7007909FEC3BD +:0455A800F84303DBE6 +:0455A9002172313BFF +:0455AA00015A003270 +:0455AB00409B002EF3 +:0455AC0000C302DB5B +:0455AD00015A22ABD2 +:0455AE005B41000C51 +:0455AF0036C18491EC +:0455B000FFF0217A6D +:0455B100103B12EBAE +:0455B200000429BA0E +:0455B3002689EB81D9 +:0455B4008B5986D9B0 +:0455B500E009F2E334 +:0455B600E009103BBD +:0455B700103B02DBC8 +:0455B800003BFCC3F5 +:0455B9002172113B0F +:0455BA00015A002E64 +:0455BB00419B002AE6 +:0455BC0000C302DB4B +:0455BD00015A1FABC5 +:0455BE005B41000C41 +:0455BF0036C18D91D3 +:0455C000FFF0217A5D +:0455C10086D90EEB8E +:0455C200000228BA01 +:0455C3008B59AA81D5 +:0455C400E009F4E323 +:0455C500E009113BAD +:0455C600FD4302DBC4 +:0455C7000F2B103B5B +:0455C8008919070B2B +:0455C9002A8102EB46 +:0455CA00F5235B4129 +:0455CB00E009E0090A +:0455CC00CE60196034 +:0455CD00CE6011E0BB +:0455CE0026D9D021E9 +:0455CF006BB001A01C +:0455D0006BA80120A3 +:0455D10001602499B8 +:0455D20061E06BF336 +:0455D3008960CFFF1D +:0455D40039E0CFD417 +:0455D5004B0CCFD4D8 +:0455D600142000FF9E +:0455D7000120580552 +:0455D80001A0486B7B +:0455D9001A20486AE2 +:0455DA008E4158089E +:0455DB0001244CEA71 +:0455DC0000FC80123D +:0455DD00016201EA7C +:0455DE0007FF146649 +:0455DF00024E00AACE +:0455E00000802974AA +:0455E1000039141663 +:0455E20002F000A231 +:0455E300002014167A +:0455E40003B400A26A +:0455E500A081409BC6 +:0455E6004C121160F2 +:0455E7004C0312A0BF +:0455E8006C0482A02D +:0455E9006C0281606F +:0455EA00800300E05A +:0455EB00581224A08E +:0455EC0058121CA095 +:0455ED00E40812209C +:0455EE00E41292E051 +:0455EF00E00492E062 +:0455F000E40422208D +:0455F1000080112CF9 +:0455F200019400AA76 +:0455F300007FA13F55 +:0455F400022C052A56 +:0455F5005340253BBF +:0455F600BA91001650 +:0455F700BAC140DB1A +:0455F8006C031CA084 +:0455F9004C042D2011 +:0455FA004C122CA083 +:0455FB00895A28C9D8 +:0455FC00D341022E67 +:0455FD001116095129 +:0455FE0000A20020E7 +:0455FF00409B013E8E +:0456000024A0A881B9 +:0456010014A06C0580 +:0456020010E04C1256 +:0456030020E04C0255 +:0456040004A06C048E +:045605002A8980125C +:04560600581290A006 +:04560700148C883B3C +:0456080018AB0007D4 +:04560900000F148CEE +:04560A00000410AEDA +:04560B0014840EA352 +:04560C0090A0000466 +:04560D009120E012F6 +:04560E0090BBC40485 +:04560F000080112CDA +:04561000012400AAC7 +:04561100142E005102 +:04561200D00B07FFB3 +:04561300016600A28A +:045614004BA2012084 +:04561500687204A013 +:04561600CEC32120BE +:04561700580290A005 +:045618004A8304209D +:045619004BF304E06B +:04561A0098E028C923 +:04561B0050215803BF +:04561C000080042ADC +:04561D00046283C1DF +:04561E005A20023AD2 +:04561F0000AA580283 +:04562000841103806E +:04562100046400AA73 +:0456220007FF8426D4 +:0456230003D4042A7E +:04562400458380BB7F +:04562500019080125E +:04562600008601EA0F +:0456270007FF1466FF +:04562800012A00AAA9 +:045629000080297460 +:04562A000039141619 +:04562B0000E200A2F7 +:04562C000020141630 +:04562D0002E600AAE7 +:04562E001C2ED41149 +:04562F0011600020E6 +:045630000CE36C0219 +:04563100B0C180DBA9 +:045632004C031960AC +:04563300580A1AA057 +:04563400801202A03E +:04563500581214A053 +:0456360051601803A4 +:0456370000AA58026B +:045638008411023A9D +:04563900035800AA68 +:04563A0007FF8426BC +:04563B000384042AB6 +:04563C00D20380BB5A +:04563D00108C045178 +:04563E0000A207FEC1 +:04563F005A2001F6F6 +:04564000516058035A +:0456410004625802A5 +:0456420000EA03086F +:0456430000A203CAF4 +:04564400022004003C +:04564500113F4BA323 +:0456460002201FFF20 +:0456470026896867E1 +:0456480051600B435F +:0456490000AA580259 +:04564A008411032A9A +:04564B0002F600AAB9 +:04564C0007FF8426AA +:04564D0003CA042A5E +:04564E00ED8380BBAD +:04564F00FFE129440A +:045650000020112EF7 +:045651006C0528E0DC +:04565200809B0AA38C +:0456530044C9A8811D +:0456540058121CA02C +:04565500801204A01B +:0456560058122CA01A +:04565700883B203B31 +:045658000007148CA7 +:04565900FEBC00A2F1 +:04565A00686204A0DE +:04565B004BA301203C +:04565C00847BAF1983 +:04565D001C2E268950 +:04565E0060E307FFFF +:04565F000420D00B48 +:0456600004E04A8395 +:0456610021FF4BF3E7 +:0456620028C9000F44 +:04566300580398E070 +:045664005160502120 +:0456650004A0581233 +:045666005CA08012B2 +:045667005CA0C4126D +:045668004120E004F9 +:04566900112CC40438 +:04566A00B4AB00805D +:04566B00146E025166 +:04566C0000AA07FF8A +:04566D00800401783C +:04566E00042007FF0E +:04566F0004E04A8386 +:04567000203B4BF39D +:04567100103B28C9F9 +:04567200580398E061 +:0456730002205021A0 +:0456740002204BA322 +:04567500113F686712 +:0456760026891FFF63 +:04567700580338A0FC +:04567800043400EA0C +:0456790007FF8004A3 +:04567A004A8304203B +:04567B004BF304E009 +:04567C00000821F40D +:04567D00000F213FBA +:04567E0098E028C9BF +:04567F00502158035B +:04568000534024BBB4 +:045681002884001663 +:04568200195600189D +:0456830000EA002019 +:04568400B691FDCA14 +:045685004C031CA016 +:04568600C41200202A +:04568700FDD2895275 +:0456880020FF9A4124 +:04568900BEC3FF7F1E +:04568A0083C15C2B51 +:04568B000154046A58 +:04568C0007FF11E61D +:04568D00024C00AA21 +:04568E000080423422 +:04568F0000391416B4 +:04569000024E00A224 +:0456910000201416CB +:04569200033E00A231 +:04569300A081409B17 +:045694004C12122082 +:045695006C0382E040 +:045696004C0212E0D0 +:045697006C108220F1 +:0456980058121CA0E8 +:04569900800200A0EB +:04569A00581214A0EE +:04569B0054A0514185 +:04569C0054A0C41240 +:04569D004B01E004D9 +:04569E00E54389FB5C +:04569F0058125160EC +:0456A000801204A0D0 +:0456A1000E51A643BD +:0456A20007FE11CC22 +:0456A300013400A22C +:0456A40058025A202E +:0456A5000226046273 +:0456A60002C000AA94 +:0456A70058025160F4 +:0456A80002C600A294 +:0456A9004BA20220EE +:0456AA001FFF213F7E +:0456AB00686702200A +:0456AC00D90328896D +:0456AD0007FF11E6FC +:0456AE0001A800AAA5 +:0456AF000080423401 +:0456B0000039141693 +:0456B10000A200A2B1 +:0456B20000201416AA +:0456B30001CC00A284 +:0456B400A081409BF6 +:0456B5004C12122061 +:0456B6006C0382E01F +:0456B7004C0212E0AF +:0456B8006C108220D0 +:0456B90058121CA0C7 +:0456BA00800200A0CA +:0456BB00581214A0CD +:0456BC000FC3D14106 +:0456BD00E41252E0C1 +:0456BE00E00292E094 +:0456BF00E4042A20B5 +:0456C000E4141120BD +:0456C1000080152C24 +:0456C20000E000A262 +:0456C3005802A4A045 +:0456C400FCBC00A288 +:0456C5000020383B4E +:0456C600CC03C4133A +:0456C7004BA30220CF +:0456C8001FFF113F70 +:0456C90068670220EC +:0456CA00C943268921 +:0456CB0004A0045BD8 +:0456CC0077196822C0 +:0456CD000001948CB8 +:0456CE00FF7F213FFA +:0456CF00580290A04D +:0456D00010E0891944 +:0456D1009AC358120E +:0456D2001C2ED411A5 +:0456D3001160002042 +:0456D4000CE36C0275 +:0456D500B0C180DB05 +:0456D6004C03196008 +:0456D700580A1AA0B3 +:0456D800801202A09A +:0456D900581214A0AF +:0456DA005A2089C306 +:0456DB0004A05812BD +:0456DC0092A0801206 +:0456DD0092A0E412A1 +:0456DE00C941E004DA +:0456DF009B0C89FB9C +:0456E000880300FF3C +:0456E10058025A20F1 +:0456E20001B000AA69 +:0456E30000AA841184 +:0456E4008426021AFC +:0456E500042A07FF8D +:0456E60080BB00EA9B +:0456E700409BD3C34E +:0456E8001160A0812C +:0456E90012A04C12AD +:0456EA0082A04C034B +:0456EB0081606C046A +:0456EC0000E06C026C +:0456ED0024A0800372 +:0456EE001CA0581292 +:0456EF00122058121B +:0456F000BAC3C4086D +:0456F10007FF11EEB0 +:0456F200FDEA00A22B +:0456F300C40352E0BA +:0456F400E00B58E08F +:0456F500C4022A20A1 +:0456F600C40258A0F2 +:0456F7004BF200A0D2 +:0456F800889986D92E +:0456F9001CA089FB6D +:0456FA00AE83581211 +:0456FB00E4125AA0BB +:0456FC00E402416023 +:0456FD00E00392A094 +:0456FE00E41418A0F8 +:0456FF0000029A7B90 +:045700000160FBCE7B +:0457010011BF4BA3E6 +:04570200AF591FFF7D +:045703009A7B2689DE +:0457040000E2AC8390 +:045705004CA301347C +:045706000010383423 +:04570700FE9B8FD1A5 +:04570800C4130020A6 +:0457090052E0B7C3F0 +:04570A002A20C4127B +:04570B005CA0C402D8 +:04570C004881E004EC +:04570D000080112CDB +:04570E00FEF000A207 +:04570F00A403025B92 +:04571000E41252E06D +:04571100E4022A2064 +:04571200E00492E03D +:04571300025BC881EC +:04571400FB70000224 +:045715004BA2022081 +:045716001FFF193F19 +:04571700686702209D +:04571800A2432689F9 +:045719004BA301603D +:04571A001FFF11BF9D +:04571B002689AF59D3 +:04571C00AD039A7BC4 +:04571D004BA2022079 +:04571E001FFF193F11 +:04571F006867022095 +:04572000AB03268928 +:045721004BA3016035 +:045722001FFF11BF95 +:045723002689AF59CB +:045724005A20A9431B +:0457250004A0581272 +:04572600BA438012F0 +:045727001C2ED4114F +:04572800122000202B +:045729000CE36C021F +:04572A00B0C180DBAF +:04572B004C031A20F1 +:04572C00580B1AE01C +:04572D00801202E004 +:04572E00581214A059 +:04572F00C4ABD683AE +:045730005803516069 +:045731004BB0022057 +:045732006867022082 +:045733001FFF113F04 +:04573400012000E26E +:04573500A0832089A4 +:04573600FE3800AA8F +:045737004BA301601F +:045738001FFF11BF7F +:045739002689AF59B5 +:04573A0092039A7BC1 +:04573B00E4125AA07A +:04573C00E4024160E2 +:04573D00E00492A052 +:04573E00025BC881C1 +:04573F0000029A7B4F +:045740000220FAC287 +:04574100213F4BA217 +:0457420002201FFF23 +:0457430028896867E2 +:0457440052E0994353 +:0457450092E0E412F8 +:045746002A20E00233 +:04574700C501E404B0 +:045748000080112CA0 +:04574900009400AA1E +:04574A00E4125AA06B +:04574B00E4024160D3 +:04574C00E00492A043 +:04574D009A7BC881FA +:04574E00FAE2000279 +:04574F004BA3016007 +:045750001FFF11BF67 +:045751002689AF599D +:045752000220858329 +:0457530002204BA342 +:0457540074A368676B +:045755001FFF113FE2 +:04575600900326890D +:045757004BA30160FF +:045758001FFF11BF5F +:045759002689AF5995 +:04575A0052E0824354 +:04575B002A20C4122A +:04575C005CA0C40287 +:04575D004881E0049B +:04575E000080112C8A +:04575F00FBE000AAC1 +:04576000FF7F213F67 +:045761000002025BE5 +:04576200D411FBD68D +:0457630000201C2ED8 +:045764006C021220A1 +:0457650080DB0CE3F6 +:045766001A20B0C194 +:045767001AE04C03F5 +:0457680002E0580BF8 +:0457690014A08012F6 +:04576A0098435812F6 +:04576B00C41252E032 +:04576C00C4022A2029 +:04576D00E00454A060 +:04576E00CF0348819C +:04576F00580224A018 +:04577000FD5000AA3E +:04577100FB9800029F +:045772001FFF113FC5 +:04577300000821EC1D +:04577400012A268957 +:04577500A759FC062E +:04577600000820EC1B +:04577700FBFC012214 +:045778004BA20160DF +:045779001FFF31BF1E +:04577A0011A038FB47 +:04577B009A7B5802BB +:04577C00FBE8000244 +:04577D00000819EC1B +:04577E0000EA208994 +:04577F00A759FBDE4D +:04578000000820EC11 +:04578100FBD4012232 +:045782004BA50160D2 +:045783001FFF11BF34 +:045784002A8938FB3B +:04578500FBC400025F +:045786008004103B50 +:04578700203B07FFBD +:04578800FA3C0002E5 +:04578900CFD4196000 +:04578A0080E6C421D0 +:04578B00016007FFB3 +:04578C00F5D96BE8F8 +:04578D00CE6089E081 +:04578E00CE60296060 +:04578F00CFD439E05A +:0457900081E61C2B67 +:04579100222B07FFC1 +:04579200216044E36B +:0457930027E35810A0 +:04579400580934601C +:04579500001E02628E +:04579600103B22237F +:045797002160442128 +:045798002223581060 +:0457990007FF81EE97 +:04579A003460242B28 +:04579B001623581069 +:04579C00216006E39F +:04579D00122B581063 +:04579E00001C122AAF +:04579F00022A029B3D +:0457A000FE9BFFDA93 +:0457A100049B442100 +:0457A200F6AB4421FD +:0457A300E9E34421D1 +:0457A4005810346005 +:0457A500FC83E2237C +:0457A600000619D20E +:0457A700029BE4A3DA +:0457A80038DA442186 +:0457A9002C7AFFE473 +:0457AA00896AFFD237 +:0457AB008972000CF3 +:0457AC00022AFFA826 +:0457AD00123BFFCCE0 +:0457AE0021BA4421B7 +:0457AF00313AFFBECE +:0457B000103BFFF0BB +:0457B1000000F2C33F +:0457B2001960FDE19C +:0457B30099FBCFD4BB +:0457B400E1BB813B99 +:0457B500CE60396029 +:0457B600CFFFA96018 +:0457B70003EE00EA13 +:0457B80007FF10EEE9 +:0457B900042E00A218 +:0457BA0001202FD9C2 +:0457BB0001206BA2BC +:0457BC00B8C44874B1 +:0457BD0038A0FC0113 +:0457BE0039F458075B +:0457BF000020008046 +:0457C0000020C412EF +:0457C10014E0C41616 +:0457C20084E0CFD4DC +:0457C3008F3BCE60EA +:0457C400CFFF9CE097 +:0457C500036C00AAC7 +:0457C60007FF20AE0B +:0457C700072037235D +:0457C80020196BA396 +:0457C900FC0130842B +:0457CA00C406B9A0B8 +:0457CB00581080E012 +:0457CC00000B149624 +:0457CD0048710720F8 +:0457CE00008084349F +:0457CF009D60283B76 +:0457D00007917808BD +:0457D10094A632ABBD +:0457D20044FB000B89 +:0457D30000AA04AA7A +:0457D40013039D7BA3 +:0457D5005802E42072 +:0457D60007FF35C4D0 +:0457D700949456A3AD +:0457D8002496000211 +:0457D900883B000BFE +:0457DA0078089D604E +:0457DB0008001DC4E1 +:0457DC0004FA0122A8 +:0457DD00055B803BAD +:0457DE00000314961A +:0457DF0094844CA3BF +:0457E00094B6FFFF7D +:0457E10004A200021C +:0457E200116E00A2A2 +:0457E30000A200021E +:0457E400296E008E9C +:0457E500016A000154 +:0457E600203B02A2C0 +:0457E7000020103B53 +:0457E8000120C414C4 +:0457E90002204A83CD +:0457EA0024C94BE89B +:0457EB00580340E03F +:0457EC007DE1153B0B +:0457ED00000394948D +:0457EE00000B149602 +:0457EF0078089D6039 +:0457F00008001DC4CC +:0457F10004EA00A224 +:0457F200029B075BB4 +:0457F3004C0290A034 +:0457F4000530208CD0 +:0457F500208C1523CC +:0457F6003123024019 +:0457F7000088108C8A +:0457F8003C3B4AAB41 +:0457F900B17BA47B61 +:0457FA009A3B004393 +:0457FB00000215AEE5 +:0457FC002CA344FB9B +:0457FD002DBB81FB44 +:0457FE00116E8D3B60 +:0457FF0092AB000366 +:045800000008143454 +:04580100000F10BFC5 +:0458020001C3A47BBF +:04580300001010344D +:04580400C4080020B4 +:04580500A0048491E6 +:045806002004FFFF7C +:04580700F04307FF64 +:0458080007FF200472 +:045809000020103B30 +:04580A00EEC3C41411 +:04580B006A130520F7 +:04580C00FFFFAD0CE1 +:04580D00FFFFE44C69 +:04580E00273B2D7B8C +:04580F0018F3413316 +:04581000387330B306 +:0458110071C0D25937 +:045812002F3B001513 +:04581300B0BB24FB07 +:04581400001571C04A +:0458150024FB2C7BC9 +:0458160071C0A0BB02 +:0458170005A00015D3 +:045818002D7B6A1268 +:04581900B8BB247B79 +:04581A0071C0103316 +:04581B00A0A0001534 +:04581C0014A0C4020E +:04581D003853C41226 +:04581E0018D33093D8 +:04581F00A4B24113DB +:045820001034000A36 +:0458210015E000018D +:045822001033C40279 +:045823004A0204A091 +:04582400FFFFBC0CBA +:04582500FFFFB58C40 +:04582600C402B0A068 +:0458270025FB2D7BB5 +:04582800197341B3FC +:0458290038F33133EC +:04582A001073D0190E +:04582B00001571C033 +:04582C002DFB24FB31 +:04582D0071C0A0BBEB +:04582E0024FB001542 +:04582F00B0BB2C3BA3 +:04583000001571C02E +:045831006A130520D1 +:04583200243B2D7B6B +:0458330071C010B37D +:04583400B0A000150B +:0458350014E0C402B5 +:0458360004A0C413F3 +:0458370050936A120E +:04583800311338D31D +:04583900419319532B +:04583A000008B4F2BC +:04583B000001103424 +:04583C00C40A12A0E8 +:04583D006A0204E017 +:04583E004A1304E025 +:04583F006A1601E004 +:04584000FFFFA9CCF1 +:04584100FFFF4D0C0C +:045842002D7B273B58 +:04584300C4134CE05E +:045844001933417360 +:0458450050A030F34C +:0458460071C0C41455 +:045847002F3B0015DE +:0458480010B325BBB9 +:04584900001571C015 +:04584A002DBB247BD3 +:04584B0071C0E0BB8D +:04584C002D7B00159B +:04584D0088BB247B75 +:04584E00001571C010 +:04584F00E0A04893FA +:0458500030D3C4028B +:045851006A05026082 +:045852004153191392 +:045853009CA055417F +:04585400E172C41227 +:045855001034000605 +:0458560014410001F8 +:045857000160D559BE +:045858004A4C4A1C50 +:0458590025FBFFFF2D +:04585A0041732D7BEE +:04585B0030F31933DA +:04585C00C41C4F20F9 +:04585D0071C0128183 +:04585E002DFB001509 +:04585F00B8BB25BBF2 +:04586000001571C0FE +:04586100243B2DBBFC +:0458620071C010B34E +:045863002D7B001584 +:04586400B0BB243B76 +:04586500001571C0F9 +:0458660005E048937E +:0458670030D36A07C9 +:04586800C40248A08E +:04586900191375C1D9 +:04586A0049F241536B +:04586B0010340008ED +:04586C0015A0000182 +:04586D0059D9C4162B +:04586E00BDCC10138A +:04586F00B920FFFF5E +:0458700014A0C404B8 +:045871009CA0C41221 +:04587200A120E0137E +:04587300E4A0C404E5 +:045874009920C412A1 +:045875008AA0C40A37 +:04587600E4A0C402E4 +:04587700DFD9E00590 +:04587800C40928A097 +:04587900E010A1207A +:04587A00E00A9AA006 +:04587B00E00288A01F +:04587C00E0052A60B9 +:04587D00581054204B +:04587E000E012A8964 +:04587F00493104A007 +:0458800004012053AC +:04588100C410B4207B +:045882004930042085 +:045883006AF204A021 +:04588400026028494D +:0458850002606AE56E +:04588600046049224F +:045887009460801198 +:04588800242C581163 +:0458890024490100AD +:04588A00012A2A09BC +:04588B00885901EC4B +:04588C00024B74193E +:04588D002309801952 +:04588E00581111207C +:04588F0003FF20C42F +:04589000012C2012B5 +:045891000007144CAC +:04589200544B12ABB6 +:04589300000410AE4F +:0458940024510AA3EE +:04589500E01188A0F6 +:0458960088BB0201C8 +:045897000100142CCC +:04589800843F08AB96 +:0458990020C4FEFF2A +:04589A0011160400DF +:04589B0000A207FF61 +:04589C00A259FDAE62 +:04589D004BB40420E4 +:04589E00CEC3142041 +:04589F008D20D90B74 +:0458A000A3C3581432 +:0458A1005802E420A5 +:0458A20000C800AA90 +:0458A300042A383368 +:0458A400243B01663A +:0458A5000016534056 +:0458A60030BB3813C8 +:0458A700FFF518846D +:0458A800B3913A9BE3 +:0458A9004209A68189 +:0458AA006C02172055 +:0458AB004C118F20ED +:0458AC00581080A070 +:0458AD00E40635E0F8 +:0458AE00FC0D318438 +:0458AF00000B149640 +:0458B0009D60283B94 +:0458B10007917808DB +:0458B200FC7A00A2DA +:0458B30021E0954318 +:0458B400052A581455 +:0458B50001EA006C98 +:0458B60021FB00FCD6 +:0458B70053403833EF +:0458B800381300168B +:0458B900188420BB74 +:0458BA003A9BFFF521 +:0458BB00FFF8A1044D +:0458BC00A1E0A68140 +:0458BD0014204C0760 +:0458BE00A4206C02B4 +:0458BF0038A04C14AD +:0458C0001804580769 +:0458C10020E0FC0DDA +:0458C2000020E417C7 +:0458C3000020C412EB +:0458C4000002C41604 +:0458C50021E0FBF0F3 +:0458C600052258144B +:0458C700383B001258 +:0458C8000008900440 +:0458C90007FFB80419 +:0458CA000002B00424 +:0458CB00FBD6000206 +:0458CC009004A13B68 +:0458CD00B804000C0F +:0458CE00B00407FF1C +:0458CF0000020003D0 +:0458D000383BFBC4A2 +:0458D100000490043B +:0458D200C4170020D7 +:0458D3000001B0041C +:0458D400FBB2000221 +:0458D50000019494A6 +:0458D600149635FBF4 +:0458D700803B000B07 +:0458D800035B883BAB +:0458D90078089D604E +:0458DA0000A2079190 +:0458DB008103FBD872 +:0458DC00A881029B02 +:0458DD0000392896D0 +:0458DE00FC1E016249 +:0458DF0000202896E7 +:0458E000009A0162C7 +:0458E100041E18C4C5 +:0458E2004C141C2026 +:0458E3006C041460DD +:0458E4004C031C60F5 +:0458E5006C0214201D +:0458E600581425200D +:0458E700800300E05A +:0458E80058141D2013 +:0458E90000071D0C8B +:0458EA001D0C18EB8E +:0458EB0018EE000FA4 +:0458EC000EE30004C3 +:0458ED0000041D0492 +:0458EE00E014A0E042 +:0458EF00C402A0A0AF +:0458F00018ACA0FB55 +:0458F10000EA008049 +:0458F200031B009AFA +:0458F3000020103B46 +:0458F4000002C414D6 +:0458F5003833FBCC7D +:0458F6000016534005 +:0458F70000151884FC +:0458F800001D28D691 +:0458F9005891381377 +:0458FA00FEFE016A43 +:0458FB001420B49130 +:0458FC0000204C0735 +:0458FD00E143C414AB +:0458FE005340273BB1 +:0458FF0018840016F3 +:0459000020D6001598 +:045901003813001D3A +:04590200012A5C9189 +:04590300B491FE92CB +:045904004C0217201A +:0459050080BB883BA0 +:0459060019BBD343B3 +:045907002804C3C3EA +:04590800C941FFE1B1 +:04590900002010AEBC +:04590A006C042420E5 +:04590B0018C40AA30F +:04590C001C20043E19 +:04590D0026494C03D8 +:04590E00801404609D +:04590F0058142520E3 +:0459100000071D0C63 +:04591100103B10E354 +:045912006874052090 +:045913001D20203BF8 +:045914000002581421 +:04591500150CFB4C26 +:0459160010A6000FC8 +:0459170004AB0004D9 +:04591800EA03103B53 +:045919004BA300A0FC +:04591A00CEC310A048 +:04591B00055BFB43EA +:04591C00000F24AEA6 +:04591D0019EC1D2B39 +:04591E0028EB00086A +:04591F00000818ACB8 +:0459200010B422E3BA +:0459210010BF0008AB +:0459220044FB000F33 +:045923000002A47B5F +:0459240094AEFB88BA +:0459250004AA000BC5 +:0459260038BBFAB6DA +:04592700B17BA47B31 +:04592800FB48000236 +:04592900000811F46D +:04592A00000F10BF9B +:04592B000002457BB6 +:04592C00143BFB68C5 +:04592D00F703075B1A +:04592E00412BC42124 +:04592F008920813B0F +:04593000011ACFFF8A +:04593100243B0068AB +:0459320000165340C8 +:04593300041E20042A +:045934001896C501FB +:04593500D90B000B7F +:04593600175B38E3E0 +:045937002C20D5410A +:0459380001206C05D9 +:0459390076594A84CD +:04593A00000F297FB2 +:04593B0010842B09A0 +:04593C00142000151E +:04593D0019204C02DF +:04593E0044215803A5 +:04593F00883B203B46 +:045940004A84012074 +:04594100283B765930 +:04594200103B2B09E2 +:0459430058031920CC +:045944001084442166 +:045945001420FFF536 +:0459460001204C05EB +:0459470076594A84BF +:04594800000F297FA4 +:04594900103B2B09DB +:04594A0058031920C5 +:04594B007809442172 +:04594C000000F283E2 +:04594D00FFFF101434 +:04594E00001A20BA61 +:04594F000100193604 +:04595000409B26D979 +:04595100A6815709CB +:045952000001183404 +:0459530018C637013A +:04595400A6817CB4F8 +:045955001034E00921 +:045956001132010009 +:0459570020DB00143D +:04595800183457099F +:04595900209B00018E +:04595A0018C6370133 +:04595B00A6817CB4F1 +:04595C0030DBE00953 +:04595D00183457099A +:04595E00109B000199 +:04595F0018C637012E +:04596000A6817CB4EC +:045961000000E00959 +:04596200183B113BA2 +:04596300000219A283 +:045964007741E0099E +:0459650046810FC5A3 +:045966000F2506D132 +:045967000000FDC37C +:045968006D01113B81 +:0459690030E2193BD4 +:04596A00E00900024E +:04596B0028E706D152 +:04596C00FE43FFFFF8 +:04596D00203B80213A +:04596E0000165D4082 +:04596F0000165F00BF +:0459700084C436971E +:0459710084C82E9721 +:0459720084CC269724 +:04597300C8003EE842 +:04597400001551C801 +:0459750000022034D8 +:045976002104802167 +:045977009E80801C72 +:0459780010340016D1 +:045979000491008015 +:04597A00B80000A0D1 +:04597B00003B0021CC +:04597C00089B8061A3 +:04597D0004003034BE +:04597E0000012834C8 +:04597F0000012034CF +:04598000383B10336D +:04598100010031846C +:045982007F402944F5 +:045983007F5C210420 +:045984000016994030 +:0459850000000061BD +:0459860025151715B7 +:04598700000610EA1C +:04598800FFFB10040D +:045989003715E009E5 +:04598A0010E24515CD +:04598B000515FFF20D +:04598C00800C10A8D3 +:04598D008B51EAA3AD +:04598E00000919767D +:04598F00010400E22D +:0459900018341B5953 +:045991003741000199 +:04599200665018D76C +:04599300003BA0C96C +:045994000001667434 +:04599500000166BCEB +:04599600000166CED8 +:04599700000166EEB7 +:04599800000166F6AE +:0459990000016700A2 +:04599A000001670C95 +:04599B000001671888 +:04599C00000167247B +:04599D0018CC5715B6 +:04599E00A4E300403E +:04599F0030E80715D0 +:0459A0005715900403 +:0459A100002018D4F6 +:0459A2001834573529 +:0459A30018C4000123 +:0459A4007735688467 +:0459A500474B5B15FC +:0459A600009000E28B +:0459A7000D995D4BAE +:0459A80000011834AE +:0459A90018CE37815C +:0459AA008D4B7DBEE6 +:0459AB0001AA09152F +:0459AC0018D400808B +:0459AD00192801F8BC +:0459AE00E009901864 +:0459AF0018DF571591 +:0459B0005735FFDF89 +:0459B10000011834A5 +:0459B200680818C4A5 +:0459B3005715F88309 +:0459B40000E286CBBC +:0459B5000715FF4A89 +:0459B600900830E83D +:0459B70018D4571594 +:0459B800573500401F +:0459B900000118349D +:0459BA00685818C44D +:0459BB005715F48305 +:0459BC00FFBF18DF32 +:0459BD005715F983FE +:0459BE00FFF018DFFF +:0459BF00F2835735E3 +:0459C00018DF571580 +:0459C10018D4FFF007 +:0459C200FE030001DF +:0459C30018DF57157D +:0459C40018D4FFF004 +:0459C500FC8300035C +:0459C60018DF57157A +:0459C70018D4FFF001 +:0459C800FB030007D6 +:0459C90018D4571582 +:0459CA00FA03000FCD +:0459CB0008001804B4 +:0459CC00294CEF0370 +:0459CD00076B004024 +:0459CE0002F818D4EF +:0459CF0018D4EF03F6 +:0459D000EE4300F8AA +:0459D100FFE71004D8 +:0459D200003BE009AD +:0459D300A117D02127 +:0459D4001315001493 +:0459D500000C91171A +:0459D60000209D0C04 +:0459D700A50C813B5F +:0459D80004E20040A5 +:0459D900045100066F +:0459DA001535248BD0 +:0459DB000008052299 +:0459DC00000114842E +:0459DD003435248BAE +:0459DE0000A8041504 +:0459DF00041590001B +:0459E000800010A88B +:0459E100243B7415DA +:0459E20004E28089D2 +:0459E3000460003824 +:0459E40024014882D0 +:0459E5002EABB4959C +:0459E60098130020F2 +:0459E700FFFE1CDFC4 +:0459E800B80000E023 +:0459E90000038C44E7 +:0459EA00489104607C +:0459EB000855120148 +:0459EC00002080898E +:0459ED00109F98026D +:0459EE009CCCFFFE50 +:0459EF0014E00001BF +:0459F00004E0581364 +:0459F1000522B800D3 +:0459F20004A0003CD1 +:0459F30024014882C1 +:0459F400006C189794 +:0459F500002030EB73 +:0459F600245F981181 +:0459F7000120FFFE8E +:0459F8009484B800DB +:0459F90004A00007FF +:0459FA002897489210 +:0459FB009420006490 +:0459FC000815C410B6 +:0459FD00002080C93D +:0459FE00109F98025C +:0459FF00024BFFFE5A +:045A000004602449D1 +:045A01005021B80078 +:045A0200251517153A +:045A0300004210EA63 +:045A040045153715F8 +:045A0500003A10EA69 +:045A06008535029B45 +:045A07000B15151551 +:045A080000A03715AE +:045A090025014882A9 +:045A0A0031689C95CE +:045A0B0000E0900423 +:045A0C000B154883AB +:045A0D0030D7370156 +:045A0E003168006497 +:045A0F0018D790080C +:045A1000A4950068F1 +:045A110010F2091571 +:045A120010FB000283 +:045A1300900C1128BA +:045A1400111DE00977 +:045A1500003BE00969 +:045A16002515171526 +:045A1700001E10EA73 +:045A18008535029B33 +:045A19000715151543 +:045A1A00488200A01E +:045A1B009A95250132 +:045A1C00900428E8E2 +:045A1D00A495071530 +:045A1E00900C10E8F0 +:045A1F00111DE0096C +:045A2000003BE0095E +:045A210045153715DB +:045A2200002210EA64 +:045A23008535029B28 +:045A24000715351518 +:045A2500488200A013 +:045A26002897250197 +:045A270028E8006407 +:045A280007159008C6 +:045A2900006810976A +:045A2A00900C10E8E4 +:045A2B00111DE00960 +:045A2C00003BE00952 +:045A2D00618869150E +:045A2E00003B001623 +:045A2F00618869150C +:045A3000003B001621 +:045A31003160691562 +:045A3200C021580235 +:045A33000689571574 +:045A34003CA3548BB0 +:045A350030BA651509 +:045A360045150036DC +:045A3700009137158E +:045A380080EA200BD5 +:045A390000A0003099 +:045A3A001084488309 +:045A3B0000A00007C0 +:045A3C003701488264 +:045A3D00006440C4FD +:045A3E00D0380A282A +:045A3F002501189392 +:045A4000413506B531 +:045A41001423811594 +:045A420080897515CD +:045A43004021143BAF +:045A4400FFEA8004F1 +:045A45008004FEC318 +:045A4600FE03FFE478 +:045A4700FD83803B20 +:045A48001695651535 +:045A490018B22495D6 +:045A4A0086D10006FB +:045A4B00E009A4C109 +:045A4C00000318C477 +:045A4D00003BFEC359 +:045A4E003160691545 +:045A4F00C021580218 +:045A50000689571557 +:045A51003AA3548B95 +:045A520030BA6515EC +:045A530025150034E1 +:045A54000091171591 +:045A550080EA200BB8 +:045A560000A0002E7E +:045A570010844883EC +:045A580000A00003A7 +:045A59003701488247 +:045A5A00ACF59AF518 +:045A5B001893BEF5E9 +:045A5C0006B5250165 +:045A5D008115213559 +:045A5E007515142383 +:045A5F00143B8089EB +:045A6000800440215D +:045A6100FEC3FFEA97 +:045A6200FFE48004D9 +:045A6300803BFE0383 +:045A6400003BFD8383 +:045A65001004C46104 +:045A6600813B100070 +:045A670021FB897B1B +:045A6800901811A8D9 +:045A6900901811A8D8 +:045A6A0000FC100428 +:045A6B00901811A8D6 +:045A6C00900001A8FD +:045A6D0029136E1576 +:045A6E0000013034CF +:045A6F00318400334B +:045A7000A4C0674C1B +:045A7100009A001681 +:045A7200243B001AB7 +:045A730080682E8495 +:045A74000016B80060 +:045A750080602E849B +:045A76000069247B24 +:045A7700C80C3EE831 +:045A78000016B80854 +:045A79000000446184 +:045A7A001684171562 +:045A7B0016D984D0E4 +:045A7C0008B52681C2 +:045A7D00FEDB051532 +:045A7E00908818A84C +:045A7F00001C1904EA +:045A80002D15103B95 +:045A810030BA0B1517 +:045A82005F15002686 +:045A830000011034DA +:045A84007DD010843D +:045A85000C95183B29 +:045A8600002439A21D +:045A87002499451504 +:045A880011682689F2 +:045A8900051590A0CF +:045A8A0018A86715DC +:045A8B00E00990A8F6 +:045A8C005D411C99C3 +:045A8D0031680CD59B +:045A8E0004919000EF +:045A8F00F84326D1E1 +:045A900030E606D125 +:045A91002491000854 +:045A9200FB43CDA362 +:045A9300D0215B23A0 +:045A940084D08E9795 +:045A95002455917B88 +:045A96000050117239 +:045A9700A1FB99BB1B +:045A98009810002042 +:045A9900FFFE141FD9 +:045A9A00B80000A0B0 +:045A9B0024BB5A5579 +:045A9C00001571C0C0 +:045A9D0024C1665565 +:045A9E0028E836912D +:045A9F00029BD06036 +:045AA0004C0290A084 +:045AA10004EA0655B8 +:045AA20010E80018F0 +:045AA30000209084CB +:045AA400109F9802B5 +:045AA500000BFFFEF5 +:045AA60004202409AB +:045AA700103BB800F8 +:045AA80010E8502191 +:045AA900FCC3908822 +:045AAA00E009FE9B76 +:045AAB00FE03FE9B5D +:045AAC00701800204E +:045AAD000016C40813 +:045AAE0000000000F4 +:045AAF0000000000F3 +:045AB000701800204A +:045AB1000016C4080F +:045AB20000000000F0 +:045AB30000000000EF +:045AB4007018002046 +:045AB5000016C4080B +:045AB60000000000EC +:045AB70000000000EB +:045AB8007018002042 +:045AB9000016C40807 +:045ABA0000000000E8 +:045ABB0000000000E7 +:045ABC00701800203E +:045ABD000016C40803 +:045ABE0000000000E4 +:045ABF0000000000E3 +:045AC000701800203A +:045AC1000016C408FF +:045AC20000000000E0 +:045AC30000000000DF +:045AC4007018002036 +:045AC5000016C408FB +:045AC60000000000DC +:045AC70000000000DB +:045AC8007018002032 +:045AC9000016C408F7 +:045ACA0000000000D8 +:045ACB0000000000D7 +:045ACC00701800202E +:045ACD000016C408F3 +:045ACE0000000000D4 +:045ACF0000000000D3 +:045AD000701800202A +:045AD1000016C408EF +:045AD20000000000D0 +:045AD30000000000CF +:045AD4007018002026 +:045AD5000016C408EB +:045AD60000000000CC +:045AD70000000000CB +:045AD8007018002022 +:045AD9000016C408E7 +:045ADA0000000000C8 +:045ADB0000000000C7 +:045ADC00701800201E +:045ADD000016C408E3 +:045ADE0000000000C4 +:045ADF0000000000C3 +:045AE0002515052B58 +:045AE100169714A35D +:045AE2001EAB807007 +:045AE3008089802115 +:045AE40006B52CDBFC +:045AE500FFEA1004C0 +:045AE6000555002141 +:045AE70005351B3531 +:045AE80018B5055593 +:045AE900103B0975F0 +:045AEA001684E00935 +:045AEB002CDB84D458 +:045AEC00100406B5E7 +:045AED00E009FFEAE3 +:045AEE002E84C02121 +:045AEF00C000806013 +:045AF00080BB001661 +:045AF10016970CA355 +:045AF2000AAB80700B +:045AF30026DB8089A5 +:045AF400143B06B5A4 +:045AF50016844021B2 +:045AF600FE4384D413 +:045AF7002E84C02118 +:045AF800C000806802 +:045AF90080BB001658 +:045AFA0016970CA34C +:045AFB000AAB807002 +:045AFC0026DB80899C +:045AFD00143B06B59B +:045AFE0016844021A9 +:045AFF00FE4384D40A +:045B00000555076BD5 +:045B0100003428A2A2 +:045B0200E009103B6B +:045B0300001839A2AB +:045B0400770106D14E +:045B0500000039C79C +:045B0600318766017C +:045B070019EB000096 +:045B080088E607AB79 +:045B0900E46303E866 +:045B0A0028AA04952C +:045B0B0020950006DB +:045B0C00FBC3183B84 +:045B0D004421103BE4 +:045B0E00FF43EFA3BF +:045B0F00FDC3C421ED +:045B100000048617F0 +:045B11007000DEE85A +:045B1200000826174A +:045B1300741F0420D7 +:045B1400FFFCEF445F +:045B15000400F76031 +:045B160001351D1424 +:045B17002C572AC11C +:045B180012390F101F +:045B19001B734B456A +:045B1A00014C000D2D +:045B1B00001302D0A1 +:045B1C008018001FCE +:045B1D00EB7CF7DF47 +:045B1E00033F19C068 +:045B1F00033F19D057 +:045B2000033F19E046 +:045B2100033F19F035 +:045B2200033F3F807E +:045B2300033F3FC03D +:045B2400033F1F809C +:045B2500033F1FC05B +:045B2600033F3FA05A +:045B2700033F3FB049 +:045B2800033F3FE018 +:045B2900033F3FF007 +:045B2A00033F1FA076 +:045B2B00033F1FB065 +:045B2C00033F1FE034 +:045B2D00033F1FF023 +:045B2E00000000185B +:045B2F000000001959 +:045B30000000001A57 +:045B31000000001B55 +:045B32000000001C53 +:045B33000000001D51 +:045B3400000000204D +:045B3500000000224A +:045B3600000000115A +:045B37000000001258 +:045B38000000001356 +:045B39000000001454 +:045B3A00AAAAAAAABF +:045B3B005555555512 +:045B3C00CCCCCCCC35 +:045B3D003333333398 +:045B3E000000001053 +:045B3F000000000161 +:045B400000001FFF43 +:045B4100000000015F +:045B42000302010752 +:045B4300060504004F +:045B4400000000005D +:045B4500000000025A +:045B46000000000358 +:045B47000000000456 +:045B48000000000653 +:045B49000B0A090832 +:045B4A000F0E0D0C21 +:045B4B001312111010 +:045B4C00FFFFFF1444 +:045B4D00FF0402FF50 +:045B4E0003FFFFFF53 +:045B4F00161507051B +:045B50001A191817EF +:045B51001E1D1C1BDE +:045B52000006201F0A +:045B53000D0E83842C +:045B54000205060937 +:045B55000F82850A2C +:045B56000407080C2C +:045B570026850B0391 +:045B580028852785F0 +:045B590021852985F4 +:045B5A0023852285F8 +:045B5B002500248578 +:045B5C0009C00A0072 +:045B5D000EFF09002E +:045B5E000CFF0F7FAA +:045B5F001F7F1E7F07 +:045B60001E7F1DFF88 +:045B61001CFF207F86 +:045B62001600168093 +:045B63001FFF15000B +:045B64001FFF1FFF01 +:045B65001FFF1FFF00 +:045B66001FFF1FFFFF +:045B67001FFF1FFFFE +:045B68000807020127 +:045B69000C0B0A090E +:045B6A00100F0E0DFD +:045B6B0014131211EC +:045B6C0018171615DB +:045B6D001C1B1A19CA +:045B6E00001F1E1DD9 +:045B6F00100B090A04 +:045B700017161211E1 +:045B71001B1A1918CA +:045B72001514131CD7 +:045B7300201F1E1DB4 +:045B740000002221EA +:045B750012110525DF +:045B760016151413D9 +:045B77001A191817C8 +:045B78001E1D1C1BB7 +:045B79002221201FA6 +:045B7A00100F0E0DED +:045B7B0000000B0A11 +:045B7C00100F0E09EF +:045B7D0014131211DA +:045B7E0018171615C9 +:045B7F001C1B1A19B8 +:045B8000201F1E1DA7 +:045B81002423222196 +:045B820000292625AB +:045B83003A39353442 +:045B8400003F3E3D63 +:045B85000001030216 +:045B86000405060309 +:045B87000000010217 +:045B8800654C2D57E4 +:045B8900006C6576D1 +:045B8A004C494146FB +:045B8B000000000016 +:045B8C002D53514400 +:045B8D0000006E6541 +:045B8E0000004B4F79 +:045B8F0000000057BB +:045B900000000052BF +:045B9100442D455703 +:045B9200656B736567 +:045B93000000007797 +:045B94002D53414309 +:045B95006B73654485 +:045B9600000077652F +:045B97002D524150FA +:045B9800442D4E4901 +:045B9900656B736560 +:045B9A000000007790 +:045B9B002D534152F3 +:045B9C006B7365447E +:045B9D000000776528 +:045B9E00495F5144C6 +:045B9F004F525F4EB4 +:045BA00045534646DD +:045BA10000000054AC +:045BA2000000482D8A +:045BA3005F494244D0 +:045BA40000004E4966 +:045BA500495F5144BF +:045BA6000000004EAD +:045BA70000004B436C +:045BA80000424B4329 +:045BA9005F535144B1 +:045BAA000054554FFF +:045BAB0042535144CC +:045BAC0054554F5F9E +:045BAD0000000000F4 +:045BAE005F535144AC +:045BAF0000004E495B +:045BB0005F535144AA +:045BB100525F4E49A8 +:045BB2005346464FC1 +:045BB3000000544555 +:045BB4004E4B4E55B1 +:045BB500004E574FF8 +:045BB600445F5144B3 +:045BB700554F5F4D9A +:045BB8000000005495 +:045BB90042445228E8 +:045BBA000000294975 +:045BBB00676E61723E +:045BBC0000313D6512 +:045BBD00676E61723C +:045BBE0000303D6511 +:045BBF0000006E492B +:045BC0000074754FA9 +:045BC1006C69616644 +:045BC2000000646516 +:045BC3007373617027 +:045BC4000000646514 +:045BC500484848B74D +:045BC60048484848BB +:045BC700EDEDED1201 +:045BC800EDEDEDED25 +:045BC9000008ED489B +:045BCA00FFF70004DD +:045BCB005AA5FFFBDD +:045BCC00A5A55A5AD7 +:045BCD0040BFBF40D6 +:045BCE00999F6660D5 +:045BCF0040BFBF40D4 +:045BD000999F6660D3 +:045BD1004848B74841 +:045BD20048484848AF +:045BD300EDED12EDF5 +:045BD400EDEDEDED19 +:045BD5000010ED4887 +:045BD600FF7F000845 +:045BD700A55AFFF7D5 +:045BD800A55AA55ACB +:045BD90040BFBF40CA +:045BDA00999F6660C9 +:045BDB00BF4040BFC8 +:045BDC006660999FC7 +:045BDD0048B7484835 +:045BDE0048484848A3 +:045BDF00ED12EDEDE9 +:045BE000EDEDEDED0D +:045BE1000020ED486B +:045BE200FFDF0010D1 +:045BE3005A5AFF7F8C +:045BE4005AA5A5A574 +:045BE50040BFBF40BE +:045BE600999F6660BD +:045BE70040BFBF40BC +:045BE800999F6660BB +:045BE900B748484829 +:045BEA004848484897 +:045BEB0012EDEDEDDD +:045BEC00EDEDEDED01 +:045BED000040ED483F +:045BEE00FFBF0020D5 +:045BEF005AA5FFDFD5 +:045BF000A5A55A5AB3 +:045BF10040BFBF40B2 +:045BF200999F6660B1 +:045BF300BF4040BFB0 +:045BF4006660999FAF +:045BF500484848488C +:045BF600484848B71C +:045BF700EDEDEDEDF6 +:045BF800EDEDED12D0 +:045BF9000800ED486B +:045BFA00F7FF0400AD +:045BFB00A55AFBFFAD +:045BFC00A55AA55AA7 +:045BFD0040BFBF40A6 +:045BFE00999F6660A5 +:045BFF0040BFBF40A4 +:045C0000999F6660A2 +:045C0100484848487F +:045C02004848B7480F +:045C0300EDEDEDEDE9 +:045C0400EDED12EDC3 +:045C05001000ED4856 +:045C06007FFF080014 +:045C07005A5AF7FFEF +:045C08005AA5A5A54F +:045C090040BFBF4099 +:045C0A00999F666098 +:045C0B00BF4040BF97 +:045C0C006660999F96 +:045C0D004848484873 +:045C0E0048B7484803 +:045C0F00EDEDEDEDDD +:045C1000ED12EDEDB7 +:045C11002000ED483A +:045C1200DFFF1000A0 +:045C13005AA57FFF10 +:045C1400A5A55A5A8E +:045C150040BFBF408D +:045C1600999F66608C +:045C170040BFBF408B +:045C1800999F66608A +:045C19004848484867 +:045C1A00B7484848F7 +:045C1B00EDEDEDEDD1 +:045C1C0012EDEDEDAB +:045C1D004000ED480E +:045C1E00BFFF2000A4 +:045C1F00A55ADFFFA4 +:045C20005A5AA55ACD +:045C210040BFBF4081 +:045C2200999F666080 +:045C2300BF4040BF7F +:045C24006660999F7E +:045C2500484848485B +:045C2600484848485A +:045C2700EDEDEDEDC5 +:045C2800EDEDEDEDC4 +:045C2900040012B7AA +:045C2A00FBFF00403C +:045C2B005A5AFFBF03 +:045C2C005AA5A5A52B +:045C2D0040BFBF4075 +:045C2E00999F666074 +:045C2F0040BFBF4073 +:045C3000999F666072 +:045C3100FFFFFFFF73 +:045C3200FFFFFFFF72 +:045C3300FFFFFFFF71 +:045C3400FFFFFFFF70 +:045C3500FFFFFFFF6F +:045C3600FFFFFFFF6E +:045C3700010501560C +:045C3800020B03BD9B +:045C390000FFFF0069 +:045C3A00000033AA89 +:045C3B000000000065 +:045C3C000000000064 +:045C3D00020B01B79E +:045C3E000104024813 +:045C3F000104024812 +:045C4000020B01B79B +:045C4100FF00FF0061 +:045C42000000CC553D +:045C4300000000005D +:045C4400000000005C +:045C4500010402480C +:045C4600020B01B795 +:045C4700020B01B794 +:045C48000104024809 +:045C49000400100340 +:045C4A00020404004C +:045C4B00021402003D +:045C4C000404030445 +:045C4D00140000003F +:045C4E00040004004A +:045C4F000400000449 +:045C50000004001537 +:045C5100000000004F +:045C52000100170333 +:045C5300000000004D +:045C54000019000033 +:045C5500000000004B +:045C56001700000033 +:045C57000000000049 +:045C58000200000046 +:045C5900030202142C +:045C5A000200020240 +:045C5B000C00131016 +:045C5C00230004001D +:045C5D00131511000A +:045C5E0000040E0A26 +:045C5F000C00000035 +:045C60000400080034 +:045C61000700000038 +:045C62000003000B30 +:045C6300000000003D +:045C64000200060331 +:045C6500000000003B +:045C66000008000032 +:045C67000000000039 +:045C68000300000035 +:045C69000000000037 +:045C6A000D00000029 +:045C6B000A060F1105 +:045C6C00080000022A +:045C6D0000000044EF +:045C6E0000000044EE +:045C6F0000000044ED +:045C70000000000030 +:045C7100000000002F +:045C7200000000002E +:045C7300000000002D +:045C7400000000002C +:045C750000000077B4 +:045C760000000077B3 +:045C770000000077B2 +:045C780000000071B7 +:045C790000000071B6 +:045C7A0000000061C5 +:045C7B0000000045E0 +:045C7C0000000070B4 +:045C7D00000000041F +:045C7E00000000041E +:045C7F00000000041D +:045C80000000000020 +:045C8100000000001F +:045C8200000000001E +:045C8300000000001D +:045C8400000000001C +:045C85000000000813 +:045C86000000000812 +:045C87000000000712 +:045C88000000000810 +:045C89000000000611 +:045C8A00000000080E +:045C8B000000000510 +:045C8C00000000080C +:045C8D0080018040D2 +:045C8E0024002000CE +:045C8F00208100A1CF +:045C900080600060D0 +:045C910020C000E04F +:045C920024000000EA +:045C9300240003A046 +:045C940020202000AC +:045C95002500366050 +:045C960002450220A1 +:045C970001E38000A5 +:045C980001C32243DF +:045C9900020222439E +:045C9A0001A22242FF +:045C9B008000224221 +:045C9C0002C502A596 +:045C9D00030502E514 +:045C9E00414530004C +:045C9F0041454145F5 +:045CA0002920414531 +:045CA1002D2025206D +:045CA20042A0632099 +:045CA3006B206720EB +:045CA40003806F20EA +:045CA5000140240096 +:045CA6000260212057 +:045CA7003660210042 +:045CA80002202500B1 +:045CA9002252225011 +:045CAA00250036801B +:045CAB00225402205D +:045CAC00010022567B +:045CAD0062B02900B8 +:045CAE0062D4633227 +:045CAF00292063360F +:045CB000015401504A +:045CB1003C0029206A +:045CB2003800300086 +:045CB3002500366032 +:045CB4000250022078 +:045CB50029000100C1 +:045CB600292042B2AD +:045CB700292001524D +:045CB80030003C007C +:045CB900216038002E +:045CBA003F206580A2 +:045CBB003F20214025 +:045CBC003F2027401E +:045CBD003F202B60F9 +:045CBE0030002D2065 +:045CBF002144340048 +:045CC0002544232430 +:045CC10021A42B24CB +:045CC20025A42244AF +:045CC30001402A442E +:045CC4003C00380068 +:045CC500800080E0FB +:045CC6002400200096 +:045CC70025402560EF +:045CC800252025006E +:045CC900254025004D +:045CCA0080C0216015 +:045CCB0062E262E24D +:045CCC0062A362A3CA +:045CCD0062C362C389 +:045CCE006302630208 +:045CCF002400280085 +:045CD00036002C006E +:045CD10024002E205D +:045CD20002960294A0 +:045CD3002E603640C9 +:045CD4000290240016 +:045CD5003600029201 +:045CD60024002E2058 +:045CD7002292229063 +:045CD8002E603640C4 +:045CD90022942400ED +:045CDA0028002296E6 +:045CDB00635263307D +:045CDC0063966374F4 +:045CDD003C0028005F +:045CDE00380030005A +:045CDF002E2036003D +:045CE000029024000A +:045CE10036400292B5 +:045CE20024002E600C +:045CE300029602948F +:045CE4002E20360038 +:045CE50022982400DD +:045CE6003640229A88 +:045CE70024002E6007 +:045CE800229E229C3A +:045CE90063382800F4 +:045CEA00637C635A1A +:045CEB002800639E8C +:045CEC0030003C0048 +:045CED0022833800D6 +:045CEE002283018389 +:045CEF00228301A368 +:045CF00001C2228249 +:045CF10001E2228228 +:045CF200800022828A +:045CF300804080204D +:045CF40080808060CC +:045CF500004080A04B +:045CF60000800060CA +:045CF700240000A0E5 +:045CF800002020C0A8 +:045CF90020E0240083 +:045CFA002400002062 +:045CFB000020210064 +:045CFC00212024003F +:045CFD00240000205F +:045CFE00240001403D +:045CFF0001608000C0 +:045D000001802800F6 +:045D010001A02800D5 +:045D020001C02800B4 +:045D03003400280040 +:045D04002400004037 +:045D0500002020C09A +:045D06003800000061 +:045D070024003C0038 +:045D080000600140F6 +:045D090020E0240072 +:045D0A000000002075 +:045D0B003C00380020 +:045D0C00014024002E +:045D0D0024000080EE +:045D0E000020210050 +:045D0F003800000058 +:045D100024003C002F +:045D110000A00140AD +:045D12002120240028 +:045D1300000000206C +:045D14003C00380017 +:045D15000140240025 +:045D160080002400E5 +:045D170080400000C8 +:045D180020008001E6 +:045D190000A12400C1 +:045D1A0000202081C4 +:045D1B0001802000E3 +:045D1C008060800023 +:045D1D0000E0202062 +:045D1E0023E020C09E +:045D1F00200001401F +:045D200020000160FE +:045D210001E280001B +:045D220001C3224255 +:045D23000203224312 +:045D240001A2224373 +:045D25008000224296 +:045D2600432262A210 +:045D2700432362C3ED +:045D2800432262E2CE +:045D290043236303AA +:045D2A0025202920E7 +:045D2B0063202D20A4 +:045D2C00672042A00A +:045D2D006F206B2058 +:045D2E0021200380AD +:045D2F0021000260ED +:045D300025003660B4 +:045D310022500220DA +:045D32003680225243 +:045D33000220250025 +:045D3400225622547D +:045D35002900010040 +:045D3600633262B0C2 +:045D3700633662D499 +:045D38003C002920E2 +:045D390038003000FE +:045D3A0025003660AA +:045D3B0022500220D0 +:045D3C003680225239 +:045D3D00022025001B +:045D3E002256225473 +:045D3F0025003660A5 +:045D400022580220C3 +:045D41003680225A2C +:045D42000220250016 +:045D4300225E225C5E +:045D44002900010031 +:045D4500633A62B8A3 +:045D4600633E62DC7A +:045D47003C002920D3 +:045D480038003000EF +:045D490067C023A06C +:045D4A0022E03F20F4 +:045D4B0027403F208E +:045D4C002B603F2069 +:045D4D002D203F20A6 +:045D4E0034003000ED +:045D4F00232422A443 +:045D50002B2426C416 +:045D5100224421A423 +:045D52002A4425C4F6 +:045D530000AA00AAF8 +:045D540001490149B7 +:045D5500000700F84B +:045D560000C100C1C7 +:045D570000D100D1A6 +:045D58000000000047 +:045D59000000000046 +:045D5A000000000045 +:045D5B00003D000007 +:045D5C000000000C37 +:045D5D000000001B27 +:045D5E000000000041 +:045D5F000000001B25 +:045D6000000000003F +:045D6100000000003E +:045D620000A300009A +:045D630000E000C993 +:045D6400000000003B +:045D650000740000C6 +:045D66000000002811 +:045D67000000015FD8 +:045D680000E800F05F +:045D690001A50195FA +:045D6A0001B501ADD1 +:045D6B00018D009412 +:045D6C000185017537 +:045D6D00016D019D26 +:045D6E000151013CA2 +:045D6F000151015984 +:045D70000094013C5E +:045D71000151015982 +:045D72000151017D5D +:045D73000094013C5B +:045D74000094013C5A +:045D75000094013C59 +:045D76000094013C58 +:045D77000094013C57 +:045D7800010C013CDD +:045D7900005C010CBD +:045D7A0001BD000067 +:045D7B0000B500006F +:045D7C0000B500B5B9 +:045D7D00000000B56D +:045D7E000000000021 +:045D7F0000B500006B +:045D80000283027721 +:045D8100028F027F0C +:045D82000000028B90 +:045D8300000000001C +:045D8400000000001B +:045D8500000000001A +:045D86000000000019 +:045D870002670000AF +:045D88000000000017 +:045D89000000000016 +:045D8A000000000015 +:045D8B0000000259B9 +:045D8C000000000013 +:045D8D00025D02733E +:045D8E0000000238D7 +:045D8F000000000010 +:045D900002640000A9 +:045D91000000029379 +:045D92000114029363 +:045D930001140114E2 +:045D94000165011490 +:045D9500016501653E +:045D9600013401656E +:045D9700012400AF34 +:045D980001240124BD +:045D990000000124E1 +:045D9A000000000005 +:045D9B00002F002FA6 +:045D9C000000002FD4 +:045D9D000000000002 +:045D9E0000540000AD +:045D9F000000000000 +:045DA00000000000FF +:045DA10000000000FE +:045DA20000000022DB +:045DA30000000000FC +:045DA40000B9009CA6 +:045DA50000000100F9 +:045DA60000000000F9 +:045DA7000044007C38 +:045DA80001410000B5 +:045DA90000000000F6 +:045DAA0000000000F5 +:045DAB0000000000F4 +:045DAC0000000001F2 +:045DAD0002000000F0 +:045DAE0000030403E7 +:045DAF0002060505DE +:045DB00000090807D7 +:045DB1000000000AE4 +:045DB2000A000000E3 +:045DB30000000300E9 +:045DB40003020000E6 +:045DB500000B0000DF +:045DB60003020C00D8 +:045DB70000000304E1 +:045DB8000E0C000DC0 +:045DB90000000008DE +:045DBA00030C030CC7 +:045DBB0000000000E4 +:045DBC0002100F00C2 +:045DBD0012111100AE +:045DBE00161514138F +:045DBF0017000A00BF +:045DC00000030C03CD +:045DC1000000010FCE +:045DC20003180F00B3 +:045DC30000000000DC +:045DC4001918180F83 +:045DC5001A000001BF +:045DC6001C1B181872 +:045DC70001180118A6 +:045DC80001181D1889 +:045DC9000A0C1800A8 +:045DCA00201F1E0078 +:045DCB0021010A1890 +:045DCC002423220F5B +:045DCD001A26262547 +:045DCE0029281A273F +:045DCF0000002B2A7B +:045DD00000000000CF +:045DD1002C01001889 +:045DD2001818242D4C +:045DD3002D2E180059 +:045DD4001801182476 +:045DD500181818186A +:045DD6001818011880 +:045DD7001818181868 +:045DD800010A2F1C71 +:045DD90030262D2E15 +:045DDA001831182440 +:045DDB0024262D2E1F +:045DDC00180A183257 +:045DDD0024262D2E1D +:045DDE00101818334E +:045DDF003418181844 +:045DE000180018018E +:045DE10018242D2C29 +:045DE20018180A186B +:045DE30033242E181F +:045DE400180C181867 +:045DE500031818186F +:045DE600181835183C +:045DE700031818186D +:045DE800181818353A +:045DE900011818186D +:045DEA000F010A2F6C +:045DEB001818181854 +:045DEC000F010A3663 +:045DED001818181852 +:045DEE000318181866 +:045DEF001818180167 +:045DF000181818184F +:045DF1001818182F37 +:045DF2001C18181849 +:045DF30026383736E1 +:045DF4002D30262DFB +:045DF5002E180A3624 +:045DF6002430262D02 +:045DF700181818352B +:045DF8001818181847 +:045DF90000003A3933 +:045DFA0000000000A5 +:045DFB0000003C3B2D +:045DFC003E00003D28 +:045DFD003F03181830 +:045DFE0000412A40F6 +:045DFF0000000000A0 +:045E00000042390023 +:045E0100000000009D +:045E02003C444300D9 +:045E03004500000056 +:045E04004746180FE6 +:045E0500002B2A48FC +:045E06004A00490005 +:045E0700003A394BD9 +:045E08004F4E4D4C60 +:045E09004942515069 +:045E0A000000000094 +:045E0B00002B2A003E +:045E0C00534A52495A +:045E0D00493A5103BA +:045E0E00575655543A +:045E0F005A42595842 +:045E10005D4B5C5B2F +:045E110000423940D2 +:045E12005E5E5E5E14 +:045E13006261605F09 +:045E14005D4B5C5B2B +:045E15004942594065 +:045E160062625C5B0D +:045E17006261604B19 +:045E180062625C5B0B +:045E19004747474B65 +:045E1A004763476231 +:045E1B006262474038 +:045E1C00474763474A +:045E1D0065000064B8 +:045E1E000000000080 +:045E1F000017250A39 +:045E200000673A6677 +:045E210038250067B9 +:045E2200692668265F +:045E23000000006A11 +:045E24003A6B66006F +:045E25006D6C6C0034 +:045E260000006D6E9D +:045E27006B6F3A6FF4 +:045E28000A45003AED +:045E29007147701835 +:045E2A0072490000B9 +:045E2B000073000000 +:045E2C00740F0000EF +:045E2D00777600750F +:045E2E0001037802F2 +:045E2F0018182626F3 +:045E30001A26257990 +:045E3100007B7A2751 +:045E3200170C0A0A35 +:045E33001818010337 +:045E3400471C1818D7 +:045E3500477D477CE2 +:045E36000101006402 +:045E37000A0001015B +:045E380000010A015A +:045E39001C180A0027 +:045E3A001868263886 +:045E3B003818181CDF +:045E3C00760C7E263C +:045E3D002F1D767629 +:045E3E001C181818FC +:045E3F0062626262D7 +:045E40000200007FDD +:045E4100020001005A +:045E420000800000DC +:045E430000010A1D33 +:045E440001001C0A33 +:045E45000182810A4B +:045E4600011C848334 +:045E4700011C350AFB +:045E4800181C180A00 +:045E4900258269380D +:045E4A00108510258A +:045E4B00181C3810D7 +:045E4C00181C3518D1 +:045E4D0018878636F6 +:045E4E00008988241B +:045E4F0066008A6CF3 +:045E50006F66003A3F +:045E5100663A668BBC +:045E52000000008BC1 +:045E5300000000004B +:045E540000000F0F2C +:045E5500000F00003A +:045E56000000000F39 +:045E5700000F000F29 +:045E58000303000040 +:045E5900030F000033 +:045E5A000003000F32 +:045E5B000000000340 +:045E5C0000030F0030 +:045E5D000F0F000023 +:045E5E000F0E0F0014 +:045E5F000F00000030 +:045E60000303030332 +:045E61000300000F2B +:045E62000F0F0F000F +:045E63000F0E0F0F00 +:045E64000300030034 +:045E6500030C030C1B +:045E66000C0C0C0014 +:045E67000303030C22 +:045E68000C00000327 +:045E690000030C0323 +:045E6A000F00000F16 +:045E6B000F0F0F0FF7 +:045E6C0000030F031D +:045E6D000A0A0A0A09 +:045E6E000F01000F11 +:045E6F00000F0F0F02 +:045E700000000F001F +:045E71000E0E010F01 +:045E72000201000128 +:045E7300000000012A +:045E7400000F0F000C +:045E7500010E0E0FFD +:045E76000D0E0F01FD +:045E77000F0F0F0EEC +:045E78000E0F0F0FEB +:045E79000E0E0E0EED +:045E7A000A0A0A0FF7 +:045E7B000A0E0F0AF2 +:045E7C00000E0A0EFC +:045E7D0055AA5500CD +:045E7E00000055AA21 +:045E7F000E0E0E00F5 +:045E80000E0F0F0EE4 +:045E81000E0E0E0FE4 +:045E82000F0F000FEF +:045E83000D0E0F0EE3 +:045E84000D0F0D0FE2 +:045E850000000E0EFD +:045E860000000F0EFB +:045E87000D0E0F0FDE +:045E88000F000F0FE9 +:045E89000F0F0E0FDA +:045E8A000E0F0E0FDA +:045E8B000E0E0F0FD9 +:045E8C00AAAA550069 +:045E8D000000555567 +:045E8E00FFFFFF0013 +:045E8F0000FF80FF91 +:045E900000F0F0002E +:045E91000FF0F00F0F +:045E9200F0F0F0003C +:045E9300000000F01B +:045E9400FFFF55AA0D +:045E9500FFFF555561 +:045E9600F000000018 +:045E9700FFFFFFF01A +:045E98000000F00F07 +:045E9900F0F0F00F26 +:045E9A00F0F0F0F044 +:045E9B00000F0FF0F5 +:045E9C00FFFF000004 +:045E9D00FF00000002 +:045E9E00000000FF01 +:045E9F00FF00FF0001 +:045EA0000CCC0CCC4E +:045EA10000FF0000FE +:045EA200CC0CCCFF59 +:045EA3000000000CEF +:045EA400AAAA55FF52 +:045EA5000FF00FF0FB +:045EA600F00FF0FF0A +:045EA700AA5555AAF9 +:045EA8005669A996F8 +:045EA9005555AAAAF7 +:045EAA0069A996AAA2 +:045EAB00000000569D +:045EAC00555555FFF4 +:045EAD00FFFF00FFF4 +:045EAE00FCFCFCFC00 +:045EAF00F000F0000F +:045EB00000F00000FE +:045EB100AAAAAAAA45 +:045EB200000000AA42 +:045EB300AAAAAAFFEE +:045EB400FFFFAAAA98 +:045EB500FFFFFFFFED +:045EB600F0F0F0FF19 +:045EB70000F0F0F017 +:045EB8000000005591 +:045EB900555500003B +:045EBA000000AAAA90 +:045EBB000F0F0E0EA9 +:045EBC000E0F0E0EA9 +:045EBD000F0F0E0DA8 +:045EBE0055005555E1 +:045EBF00550000008A +:045EC0000000550089 +:045EC1005500550033 +:045EC2005555555588 +:045EC300F0F00F0FDD +:045EC4000F0FF0F0DC +:045EC500FF80FFFF5C +:045EC600F0F00000F8 +:045EC7000F030F0FA7 +:045EC800000F0F03B5 +:045EC9000F000F00B7 +:045ECA000F0C0F0C9E +:045ECB000C0F0C0F9D +:045ECC0000010E0FB4 +:045ECD000A0E0A0AA5 +:045ECE00000E0F0EA5 +:045ECF00F3F3F3F303 +:045ED000F0F0F0F30B +:045ED100000F0E0EA2 +:045ED20000FFFFFFCF +:045ED3000055000076 +:045ED4000E000F0F9E +:045ED500000E0E0E9F +:045ED6000E0E0000AC +:045ED7000F000E0E9C +:045ED800000F0F0E9A +:045ED9000F0E0E0F8B +:045EDA00000E0F0F98 +:045EDB000F0E0F0E89 +:045EDC00000F0E0F96 +:045EDD000000FFAA18 +:045EDE0000555555C1 +:045EDF000000CE6A87 +:045EE000FEC78A224D +:045EE1000000C7E214 +:045EE200FF337F3AD1 +:045EE3000000CA7F72 +:045EE400FF5DC2E3B9 +:045EE5000001416215 +:045EE600FED7F23AB7 +:045EE70000013D7603 +:045EE800FF31247DE5 +:045EE9000001164559 +:045EEA00FFD09D91B7 +:045EEB00000147EA81 +:045EEC00FFA4CB4202 +:045EED000001000FA1 +:045EEE000085867233 +:045EEF00000140135B +:045EF0000067F6272A +:045EF10000000006A7 +:045EF2000000000BA1 +:045EF3000000000F9C +:045EF40000000000AA +:045EF50000000001A8 +:045EF60000000002A6 +:045EF70000000003A4 +:045EF80000000004A2 +:045EF900000000069F +:045EFA00000000079D +:045EFB00000000089B +:045EFC000000000999 +:045EFD000000000A97 +:045EFE000000000C94 +:045EFF000000000D92 +:045F00000000000E8F +:045F01000000000F8D +:045F02000000000F8C +:045F03000000000F8B +:045F04000000000099 +:045F0500FFFFFFFD9E +:045F0600FFFFFFFE9C +:045F0700FFFFFFFF9A +:045F08000000000194 +:045F09000000000292 +:045F0A000000000390 +:045F0B00000000048E +:045F0C000000000091 +:045F0D00FFFFFFFF94 +:045F0E00FFFFFFFF93 +:045F0F00000000008E +:045F1000000000008D +:045F1100000000018B +:045F1200000000018A +:045F13000000000288 +:045F14000000004148 +:045F15000000004246 +:045F16000000002067 +:045F17000000003056 +:045F18000000001075 +:045F1900000000384C +:045F1A00000000186B +:045F1B00000000087A +:045F1C000000003C45 +:045F1D000000001C64 +:045F1E000000000C73 +:045F1F00000000047A +:045F20000000001E5F +:045F21000000000E6E +:045F22000000000675 +:045F23000000000278 +:045F24000000001F5A +:045F25000000000F69 +:045F26000000000770 +:045F27000000000373 +:045F28000000000174 +:045F2900030201006E +:045F2A00070605045D +:045F2B000B0A09084C +:045F2C0000000D0C58 +:045F2D00020201006B +:045F2E000303030363 +:045F2F00040404045E +:045F3000040404045D +:045F31000505050558 +:045F32000505050557 +:045F33000505050556 +:045F34000505050555 +:045F35000606060650 +:045F3600060606064F +:045F3700060606064E +:045F3800060606064D +:045F3900060606064C +:045F3A00060606064B +:045F3B00060606064A +:045F3C000606060649 +:045F3D000707070744 +:045F3E000707070743 +:045F3F000707070742 +:045F40000707070741 +:045F41000707070740 +:045F4200070707073F +:045F4300070707073E +:045F4400070707073D +:045F4500070707073C +:045F4600070707073B +:045F4700070707073A +:045F48000707070739 +:045F49000707070738 +:045F4A000707070737 +:045F4B000707070736 +:045F4C000707070735 +:045F4D000808080830 +:045F4E00080808082F +:045F4F00080808082E +:045F5000080808082D +:045F5100080808082C +:045F5200080808082B +:045F5300080808082A +:045F54000808080829 +:045F55000808080828 +:045F56000808080827 +:045F57000808080826 +:045F58000808080825 +:045F59000808080824 +:045F5A000808080823 +:045F5B000808080822 +:045F5C000808080821 +:045F5D000808080820 +:045F5E00080808081F +:045F5F00080808081E +:045F6000080808081D +:045F6100080808081C +:045F6200080808081B +:045F6300080808081A +:045F64000808080819 +:045F65000808080818 +:045F66000808080817 +:045F67000808080816 +:045F68000808080815 +:045F69000808080814 +:045F6A000808080813 +:045F6B000808080812 +:045F6C000808080811 +:045F6D007665642FC2 +:045F6E00616D642FCE +:045F6F00000100002D +:045F70000800000223 +:045F71000800000420 +:045F7200080008001B +:045F73000000040026 +:045F74000000000425 +:045F75000000000820 +:045F76000000001017 +:045F77000000002006 +:045F780000000040E5 +:045F790000000080A4 +:045F7A000000010022 +:045F7B000000020020 +:045F7C000000000021 +:045F7D00000173D6D6 +:045F7E00000000001F +:045F7F00000000001E +:045F8000000000001D +:045F8100000000001C +:045F8200000000001B +:045F8300000000001A +:045F84000000000019 +:045F85000001745E45 +:045F86000000000017 +:045F87000000000016 +:045F88000000000015 +:045F8900000173148C +:045F8A000000000013 +:045F8B00000172346B +:045F8C000000000011 +:045F8D00000175EEAC +:045F8E00000000000F +:045F8F00000000000E +:045F9000000000000D +:045F9100000000000C +:045F9200000000000B +:045F9300000000000A +:045F94000000000009 +:045F95000001764A47 +:045F96000000000007 +:045F97000000000006 +:045F98000000000005 +:045F9900000175A0EE +:045F9A000000000003 +:045F9B000001754C40 +:045F9C0000005000B1 +:045F9D0000014A0CA9 +:045F9E0000005001AE +:045F9F000001495064 +:045FA00000005002AB +:045FA100000149644E +:045FA20000005003A8 +:045FA300000148F8B9 +:045FA40000005004A5 +:045FA50000014AFCB1 +:045FA60000005005A2 +:045FA70000014B8822 +:045FA800000050069F +:045FA90000014A7C2D +:045FAA00000050079C +:045FAB0000014A2483 +:045FAC000000500E93 +:045FAD0000014B4460 +:045FAE000000500F90 +:045FAF0000014BB8EA +:045FB000000050118C +:045FB1000001479C08 +:045FB200000050108B +:045FB300000147A8FA +:045FB4000000501287 +:045FB5000001482877 +:045FB600000050088F +:045FB700000149F4A8 +:045FB800000050098C +:045FB9000001493C5E +:045FBA000000500A89 +:045FBB0000014BE0B6 +:045FBC000000500B86 +:045FBD00000148A0F7 +:045FBE00000050137C +:045FBF0000014ADCB7 +:045FC0000000500C81 +:045FC10000014C800F +:045FC2000000500D7E +:045FC30000014D3854 +:045FC4000000003F9A +:045FC5000000003F99 +:045FC60000000000D7 +:045FC70000000000D6 +:045FC80000000002D3 +:045FC90000000000D4 +:045FCA0000000001D2 +:045FCB0000000000D2 +:045FCC0000000000D1 +:045FCD0000000000D0 +:045FCE000000021CB1 +:045FCF0000000000CE +:045FD00000000000CD +:045FD10000000000CC +:045FD20000017DB499 +:045FD30000000003C7 +:045FD400000168C49C +:045FD500000168BCA3 +:045FD60000017F78CF +:045FD70000000000C6 +:045FD80000000000C5 +:045FD90000017DB492 +:045FDA000001692039 +:045FDB000001693820 +:045FDC00000168B4A4 +:045FDD0000017F78C8 +:045FDE0004000100BA +:045FDF0000000000BE +:045FE00000000000BD +:045FE10000000000BC +:045FE20000000000BB +:045FE30000000003B7 +:045FE4000000FFFFBB +:045FE5000001680847 +:045FE60000000000B7 +:045FE70000000000B6 +:045FE80000000000B5 +:045FE90000000000B4 +:045FEA0000000000B3 +:045FEB0000000000B2 +:045FEC0000000000B1 +:045FED0000000000B0 +:045FEE0000000000AF +:045FEF0000000000AE +:045FF00000000000AD +:045FF10000000000AC +:045FF20000000000AB +:045FF30000000000AA +:045FF40000000000A9 +:045FF50000000000A8 +:045FF60000000000A7 +:045FF70000000000A6 +:045FF80000000000A5 +:045FF90000000000A4 +:045FFA0000000000A3 +:045FFB0000000000A2 +:045FFC0000000000A1 +:045FFD0000000000A0 +:045FFE00000000009F +:045FFF00000000009E +:04600000000000009C +:04600100000000009B +:04600200000000009A +:046003000000000099 +:046004000000000098 +:046005000000000097 +:046006000000000096 +:046007000400080089 +:046008000000000094 +:046009000000000D86 +:04600A00000000048E +:04600B000000000091 +:04600C000000001080 +:04600D0000016AB074 +:04600E000000008FFF +:04600F000000008EFF +:046010000000008DFF +:046011000000008CFF +:046012000000008BFF +:046013000000008AFF +:0460140000000089FF +:0460150000000088FF +:0460160000000087FF +:0460170000000086FF +:0460180000000085FF +:0460190000000084FF +:04601A0000000083FF +:04601B000000000081 +:04601C000000000080 +:04601D00000000007F +:04601E00000000007E +:04601F00000000007D +:04602000000000007C +:04602100000000007B +:04602200000000007A +:046023000000000079 +:046024000000000078 +:046025000000000077 +:046026000000000076 +:046027000000000075 +:046028000000000074 +:046029000000000073 +:04602A000000000072 +:04602B000000000071 +:04602C000000000070 +:04602D00000000006F +:04602E000002000369 +:04602F0000000F0F4F +:046030000000000567 +:046031000000000566 +:04603200040014183A +:046033000000000861 +:04603400010005065C +:046035000000000265 +:046036000B07020151 +:04603700100B090A37 +:0460380000001D1334 +:046039000020052519 +:04603A00002924090C +:04603B000005020159 +:04603C00002004023A +:04603D000001081046 +:04603E000001060C4B +:04603F000005030253 +:0460400020162A26D6 +:04604100261A231DDB +:0460420000019A7C43 +:046043000000000455 +:046044000002000056 +:046045000400014012 +:0460460000018118BC +:0460470000018118BB +:0460480000018120B2 +:0460490000018120B1 +:04604A000000000052 +:04604B000000000051 +:04604C000000000050 +:04604D00000000004F +:04604E00000000004E +:04604F00000000004D +:04605000000000004C +:04605100000000004B +:04605200000000004A +:046053000000000049 +:046054000000000048 +:046055000000000047 +:046056000000000046 +:046057000000000045 +:046058000000000044 +:046059000000000043 +:04605A000000000042 +:04605B000000000041 +:04605C000000000040 +:04605D00000000003F +:04605E00000000003E +:04605F00000000003D +:04606000000000003C +:04606100000000003B +:04606200000000003A +:046063000000000039 +:046064000000000038 +:046065000000000037 +:046066000000000036 +:046067000000000035 +:046068000000000034 +:046069000000000033 +:04606A000000000032 +:04606B000000000031 +:04606C000000000030 +:04606D00000000002F +:04606E00000000002E +:04606F00000000002D +:04607000000000002C +:04607100000000002B +:04607200000000002A +:046073000000000029 +:046074000000000028 +:046075000000000027 +:046076000000000026 +:046077000000000025 +:046078000000000024 +:046079000000000023 +:04607A000000000022 +:04607B000000000021 +:04607C000000000020 +:04607D00000000001F +:04607E00000000001E +:04607F00000000001D +:04608000000000001C +:04608100000000001B +:04608200000000001A +:046083000000000019 +:046084000000000018 +:046085000000000017 +:046086000000000016 +:046087000000000015 +:046088000000000014 +:046089000000000013 +:04608A000000000012 +:04608B000000000011 +:04608C000000000010 +:04608D00000000000F +:04608E00000000000E +:04608F00000000000D +:04609000000000000C +:04609100000000000B +:04609200000000000A +:046093000000000009 +:046094000000000008 +:046095000000000007 +:046096000000000006 +:046097000000000005 +:046098000000000004 +:046099000000000003 +:04609A000000000002 +:04609B000000000001 +:04609C000000000000 +:04609D0000000000FF +:04609E0000000000FE +:04609F0000000000FD +:0460A00000000000FC +:0460A10000000000FB +:0460A20000000000FA +:0460A30000000000F9 +:0460A40000000000F8 +:0460A50000000000F7 +:0460A60000000000F6 +:0460A70000000000F5 +:0460A80000000000F4 +:0460A90000000000F3 +:0460AA0000000000F2 +:0460AB0000000000F1 +:0460AC0000000000F0 +:0460AD0000000000EF +:0460AE0000000000EE +:0460AF0000000000ED +:0460B00000000000EC +:0460B10000000000EB +:0460B20000000000EA +:0460B30000000000E9 +:0460B40000000000E8 +:0460B50000000000E7 +:0460B60000000000E6 +:0460B70000000000E5 +:0460B80000000000E4 +:0460B90000000000E3 +:0460BA0000000000E2 +:0460BB0000000000E1 +:0460BC0000000000E0 +:0460BD0000000000DF +:0460BE0000000000DE +:0460BF0000000000DD +:0460C00000000000DC +:0460C10000000000DB +:0460C20000000000DA +:0460C30000000000D9 +:0460C40000000000D8 +:0460C50000000000D7 +:0460C60000000000D6 +:0460C70000000000D5 +:0460C80000000000D4 +:0460C90000000000D3 +:0460CA0000000000D2 +:0460CB0000000000D1 +:0460CC0000000000D0 +:0460CD0000000000CF +:0460CE0000000000CE +:0460CF0000000000CD +:0460D00000000000CC +:0460D10000000000CB +:0460D20000000000CA +:0460D30000000000C9 +:0460D40000000000C8 +:0460D50000000000C7 +:0460D60000000000C6 +:0460D70000000000C5 +:0460D80000000000C4 +:0460D90000000000C3 +:0460DA0000000000C2 +:0460DB0000000000C1 +:0460DC0000000000C0 +:0460DD0000000000BF +:0460DE0000000000BE +:0460DF0000000000BD +:0460E00000000000BC +:0460E10000000000BB +:0460E20000000000BA +:0460E30000000000B9 +:0460E40000000000B8 +:0460E50000000000B7 +:0460E60000000000B6 +:0460E70000000000B5 +:0460E80000000000B4 +:0460E90000000000B3 +:0460EA0000000000B2 +:0460EB0000000000B1 +:0460EC0000000000B0 +:0460ED0000000000AF +:0460EE0000000000AE +:0460EF0000000000AD +:0460F00000000000AC +:0460F10000000000AB +:0460F20000000000AA +:0460F30000000000A9 +:0460F40000000000A8 +:0460F50000000000A7 +:0460F60000000000A6 +:0460F70000000000A5 +:0460F80000000000A4 +:0460F90000000000A3 +:0460FA0000000000A2 +:0460FB0000000000A1 +:0460FC0000000000A0 +:0460FD00000000009F +:0460FE00000000009E +:0460FF00000000009D +:04610000000000009B +:04610100000000009A +:046102000000000099 +:046103000000000098 +:046104000000000097 +:046105000000000096 +:046106000000000095 +:046107000000000094 +:046108000000000093 +:046109000000000092 +:04610A000000000091 +:04610B000000000090 +:04610C00000000008F +:04610D00000000008E +:04610E00000000008D +:04610F00000000008C +:04611000000000008B +:04611100000000008A +:046112000000000089 +:046113000000000088 +:046114000000000087 +:046115000000000086 +:046116000000000085 +:046117000000000084 +:046118000000000083 +:046119000000000082 +:04611A000000000081 +:04611B000000000080 +:04611C00000000007F +:04611D00000000007E +:04611E00000000007D +:04611F00000000007C +:04612000000000007B +:04612100000000007A +:046122000000000079 +:046123000000000078 +:046124000000000077 +:046125000000000076 +:046126000000000075 +:046127000000000074 +:046128000000000073 +:046129000000000072 +:04612A000000000071 +:04612B000000000070 +:04612C00000000006F +:04612D00000000006E +:04612E00000000006D +:04612F00000000006C +:04613000000000006B +:04613100000000006A +:046132000000000069 +:046133000000000068 +:046134000000000067 +:046135000000000066 +:046136000000000065 +:046137000000000064 +:046138000000000063 +:046139000000000062 +:04613A000000000061 +:04613B000000000060 +:04613C00000000005F +:04613D00000000005E +:04613E00000000005D +:04613F00000000005C +:04614000000000005B +:04614100000000005A +:046142000000000059 +:046143000000000058 +:046144000000000057 +:046145000000000056 +:046146000000000055 +:046147000000000054 +:046148000000000053 +:046149000000000052 +:04614A000000000051 +:04614B000000000050 +:04614C00000000004F +:04614D00000000004E +:04614E00000000004D +:04614F00000000004C +:04615000000000004B +:04615100000000004A +:046152000000000049 +:046153000000000048 +:046154000000000047 +:046155000000000046 +:046156000000000045 +:046157000000000044 +:046158000000000043 +:046159000000000042 +:04615A000000000041 +:04615B000000000040 +:04615C00000000003F +:04615D00000000003E +:04615E00000000003D +:04615F00000000003C +:04616000000000003B +:04616100000000003A +:046162000000000039 +:046163000000000038 +:046164000000000037 +:046165000000000036 +:046166000000000035 +:046167000000000034 +:046168000000000033 +:046169000000000032 +:04616A000000000031 +:04616B000000000030 +:04616C00000000002F +:04616D00000000002E +:04616E00000000002D +:04616F00000000002C +:04617000000000002B +:04617100000000002A +:046172000000000029 +:046173000000000028 +:046174000000000027 +:046175000000000026 +:046176000000000025 +:046177000000000024 +:046178000000000023 +:046179000000000022 +:04617A000000000021 +:04617B000000000020 +:04617C00000000001F +:04617D00000000001E +:04617E00000000001D +:04617F00000000001C +:04618000000000001B +:04618100000000001A +:046182000000000019 +:046183000000000018 +:046184000000000017 +:046185000000000016 +:046186000000000015 +:046187000000000014 +:046188000000000013 +:046189000000000012 +:04618A000000000011 +:04618B000000000010 +:04618C00000000000F +:04618D00000000000E +:04618E00000000000D +:04618F00000000000C +:04619000000000000B +:04619100000000000A +:046192000000000009 +:046193000000000008 +:046194000000000007 +:046195000000000006 +:046196000000000005 +:046197000000000004 +:046198000000000003 +:046199000000000002 +:04619A000000000001 +:04619B000000000000 +:04619C0000000000FF +:04619D0000000000FE +:04619E0000000000FD +:04619F0000000000FC +:0461A00000000000FB +:0461A10000000000FA +:0461A20000000000F9 +:0461A30000000000F8 +:0461A40000000000F7 +:0461A50000000000F6 +:0461A60000000000F5 +:0461A70000000000F4 +:0461A80000000000F3 +:0461A90000000000F2 +:0461AA0000000000F1 +:0461AB0000000000F0 +:0461AC0000000000EF +:0461AD0000000000EE +:0461AE0000000000ED +:0461AF0000000000EC +:0461B00000000000EB +:0461B10000000000EA +:0461B20000000000E9 +:0461B30000000000E8 +:0461B40000000000E7 +:0461B50000000000E6 +:0461B60000000000E5 +:0461B70000000000E4 +:0461B80000000000E3 +:0461B90000000000E2 +:0461BA0000000000E1 +:0461BB0000000000E0 +:0461BC0000000000DF +:0461BD0000000000DE +:0461BE0000000000DD +:0461BF0000000000DC +:0461C00000000000DB +:0461C10000000000DA +:0461C20000000000D9 +:0461C30000000000D8 +:0461C40000000000D7 +:0461C50000000000D6 +:0461C60000000000D5 +:0461C70000000000D4 +:0461C80000000000D3 +:0461C90000000000D2 +:0461CA0000000000D1 +:0461CB0000000000D0 +:0461CC0000000000CF +:0461CD0000000000CE +:0461CE0000000000CD +:0461CF0000000000CC +:0461D00000000000CB +:0461D10000000000CA +:0461D20000000000C9 +:0461D30000000000C8 +:0461D40000000000C7 +:0461D50000000000C6 +:0461D60000000000C5 +:0461D70000000000C4 +:0461D80000000000C3 +:0461D90000000000C2 +:0461DA0000000000C1 +:0461DB0000000000C0 +:0461DC0000000000BF +:0461DD0000000000BE +:0461DE0000000000BD +:0461DF0000000000BC +:0461E00000000000BB +:0461E10000000000BA +:0461E20000000000B9 +:0461E30000000000B8 +:0461E40000000000B7 +:0461E50000000000B6 +:0461E60000000000B5 +:0461E70000000000B4 +:0461E80000000000B3 +:0461E90000000000B2 +:0461EA0000000000B1 +:0461EB0000000000B0 +:0461EC0000000000AF +:0461ED0000000000AE +:0461EE0000000000AD +:0461EF0000000000AC +:0461F00000000000AB +:0461F10000000000AA +:0461F20000000000A9 +:0461F30000000000A8 +:0461F40000000000A7 +:0461F50000000000A6 +:0461F60000000000A5 +:0461F70000000000A4 +:0461F80000000000A3 +:0461F90000000000A2 +:0461FA0000000000A1 +:0461FB0000000000A0 +:0461FC00000000009F +:0461FD00000000009E +:0461FE00000000009D +:0461FF00000000009C +:04620000000000009A +:046201000000000099 +:046202000000000098 +:046203000000000097 +:046204000000000096 +:046205000000000095 +:046206000000000094 +:046207000000000093 +:046208000000000092 +:046209000000000091 +:04620A000000000090 +:04620B00000000008F +:04620C00000000008E +:04620D00000000008D +:04620E00000000008C +:04620F00000000008B +:04621000000000008A +:046211000000000089 +:046212000000000088 +:046213000000000087 +:046214000000000086 +:046215000000000085 +:046216000000000084 +:046217000000000083 +:046218000000000082 +:046219000000000081 +:04621A000000000080 +:04621B00000000007F +:04621C00000000007E +:04621D00000000007D +:04621E00000000007C +:04621F00000000007B +:04622000000000007A +:046221000000000079 +:046222000000000078 +:046223000000000077 +:046224000000000076 +:046225000000000075 +:046226000000000074 +:046227000000000073 +:046228000000000072 +:046229000000000071 +:04622A000000000070 +:04622B00000000006F +:04622C00000000006E +:04622D00000000006D +:04622E00000000006C +:04622F00000000006B +:04623000000000006A +:046231000000000069 +:046232000000000068 +:046233000000000067 +:046234000000000066 +:046235000000000065 +:046236000000000064 +:046237000000000063 +:046238000000000062 +:046239000000000061 +:04623A000000000060 +:04623B00000000005F +:04623C00000000005E +:04623D00000000005D +:04623E00000000005C +:04623F00000000005B +:04624000000000005A +:046241000000000059 +:046242000000000058 +:046243000000000057 +:046244000000000056 +:046245000000000055 +:046246000000000054 +:046247000000000053 +:046248000000000052 +:046249000000000051 +:04624A000000000050 +:04624B00000000004F +:04624C00000000004E +:04624D00000000004D +:04624E00000000004C +:04624F00000000004B +:04625000000000004A +:046251000000000049 +:046252000000000048 +:046253000000000047 +:046254000000000046 +:046255000000000045 +:046256000000000044 +:046257000000000043 +:046258000000000042 +:046259000000000041 +:04625A000000000040 +:04625B00000000003F +:04625C00000000003E +:04625D00000000003D +:04625E00000000003C +:04625F00000000003B +:04626000000000003A +:046261000000000039 +:046262000000000038 +:046263000000000037 +:046264000000000036 +:046265000000000035 +:046266000000000034 +:046267000000000033 +:046268000000000032 +:046269000000000031 +:04626A000000000030 +:04626B00000000002F +:04626C00000000002E +:04626D00000000002D +:04626E00000000002C +:04626F00000000002B +:04627000000000002A +:046271000000000029 +:046272000000000028 +:046273000000000027 +:046274000000000026 +:046275000000000025 +:046276000000000024 +:046277000000000023 +:046278000000000022 +:046279000000000021 +:04627A000000000020 +:04627B00000000001F +:04627C00000000001E +:04627D00000000001D +:04627E00000000001C +:04627F00000000001B +:04628000000000001A +:046281000000000019 +:046282000000000018 +:046283000000000017 +:046284000000000016 +:046285000000000015 +:046286000000000014 +:046287000000000013 +:046288000000000012 +:046289000000000011 +:04628A000000000010 +:04628B00000000000F +:04628C00000000000E +:04628D00000000000D +:04628E00000000000C +:04628F00000000000B +:04629000000000000A +:046291000000000009 +:046292000000000008 +:046293000000000007 +:046294000000000006 +:046295000000000005 +:046296000000000004 +:046297000000000003 +:046298000000000002 +:046299000000000001 +:04629A000000000000 +:04629B0000000000FF +:04629C0000000000FE +:04629D0000000000FD +:04629E0000000000FC +:04629F0000000000FB +:0462A00000000000FA +:0462A10000000000F9 +:0462A20000000000F8 +:0462A30000000000F7 +:0462A40000000000F6 +:0462A50000000000F5 +:0462A60000000000F4 +:0462A70000000000F3 +:0462A80000000000F2 +:0462A90000000000F1 +:0462AA0000000000F0 +:0462AB0000000000EF +:0462AC0000000000EE +:0462AD0000000000ED +:0462AE0000000000EC +:0462AF0000000000EB +:0462B00000000000EA +:0462B10000000000E9 +:0462B20000000000E8 +:0462B30000000000E7 +:0462B40000000000E6 +:0462B50000000000E5 +:0462B60000000000E4 +:0462B70000000000E3 +:0462B80000000000E2 +:0462B90000000000E1 +:0462BA0000000000E0 +:0462BB0000000000DF +:0462BC0000000000DE +:0462BD0000000000DD +:0462BE0000000000DC +:0462BF0000000000DB +:0462C00000000000DA +:0462C10000000000D9 +:0462C20000000000D8 +:0462C30000000000D7 +:0462C40000000000D6 +:0462C50000000000D5 +:0462C60000000000D4 +:0462C70000000000D3 +:0462C80000000000D2 +:0462C90000000000D1 +:0462CA0000000000D0 +:0462CB0000000000CF +:0462CC0000000000CE +:0462CD0000000000CD +:0462CE0000000000CC +:0462CF0000000000CB +:0462D00000000000CA +:0462D10000000000C9 +:0462D20000000000C8 +:0462D30000000000C7 +:0462D40000000000C6 +:0462D50000000000C5 +:0462D60000000000C4 +:0462D70000000000C3 +:0462D80000000000C2 +:0462D90000000000C1 +:0462DA0000000000C0 +:0462DB0000000000BF +:0462DC0000000000BE +:0462DD0000000000BD +:0462DE0000000000BC +:0462DF0000000000BB +:0462E00000000000BA +:0462E10000000000B9 +:0462E20000000000B8 +:0462E30000000000B7 +:0462E40000000000B6 +:0462E50000000000B5 +:0462E60000000000B4 +:0462E70000000000B3 +:0462E80000000000B2 +:0462E90000000000B1 +:0462EA0000000000B0 +:0462EB0000000000AF +:0462EC0000000000AE +:0462ED0000000000AD +:0462EE0000000000AC +:0462EF0000000000AB +:0462F00000000000AA +:0462F10000000000A9 +:0462F20000000000A8 +:0462F30000000000A7 +:0462F40000000000A6 +:0462F50000000000A5 +:0462F60000000000A4 +:0462F70000000000A3 +:0462F80000000000A2 +:0462F90000000000A1 +:0462FA0000000000A0 +:0462FB00000000009F +:0462FC00000000009E +:0462FD00000000009D +:0462FE00000000009C +:0462FF00000000009B +:046300000000000099 +:046301000000000098 +:046302000000000097 +:046303000000000096 +:046304000000000095 +:046305000000000094 +:046306000000000093 +:046307000000000092 +:046308000000000091 +:046309000000000090 +:04630A00000000008F +:04630B00000000008E +:04630C00000000008D +:04630D00000000008C +:04630E00000000008B +:04630F00000000008A +:046310000000000089 +:046311000000000088 +:046312000000000087 +:046313000000000086 +:046314000000000085 +:046315000000000084 +:046316000000000083 +:046317000000000082 +:046318000000000081 +:046319000000000080 +:04631A00000000007F +:04631B00000000007E +:04631C00000000007D +:04631D00000000007C +:04631E00000000007B +:04631F00000000007A +:046320000000000079 +:046321000000000078 +:046322000000000077 +:046323000000000076 +:046324000000000075 +:046325000000000074 +:046326000000000073 +:046327000000000072 +:046328000000000071 +:046329000000000070 +:04632A00000000006F +:04632B00000000006E +:04632C00000000006D +:04632D00000000006C +:04632E00000000006B +:04632F00000000006A +:046330000000000069 +:046331000000000068 +:046332000000000067 +:046333000000000066 +:046334000000000065 +:046335000000000064 +:046336000000000063 +:046337000000000062 +:046338000000000061 +:046339000000000060 +:04633A00000000005F +:04633B00000000005E +:04633C00000000005D +:04633D00000000005C +:04633E00000000005B +:04633F00000000005A +:046340000000000059 +:046341000000000058 +:046342000000000057 +:046343000000000056 +:046344000000000055 +:046345000000000054 +:046346000000000053 +:046347000000000052 +:046348000000000051 +:046349000000000050 +:04634A00000000004F +:04634B00000000004E +:04634C00000000004D +:04634D00000000004C +:04634E00000000004B +:04634F00000000004A +:046350000000000049 +:046351000000000048 +:046352000000000047 +:046353000000000046 +:046354000000000045 +:046355000000000044 +:046356000000000043 +:046357000000000042 +:046358000000000041 +:046359000000000040 +:04635A00000000003F +:04635B00000000003E +:04635C00000000003D +:04635D00000000003C +:04635E00000000003B +:04635F00000000003A +:046360000000000039 +:046361000000000038 +:046362000000000037 +:046363000000000036 +:046364000000000035 +:046365000000000034 +:046366000000000033 +:046367000000000032 +:046368000000000031 +:046369000000000030 +:04636A00000000002F +:04636B00000000002E +:04636C00000000002D +:04636D00000000002C +:04636E00000000002B +:04636F00000000002A +:046370000000000029 +:046371000000000028 +:046372000000000027 +:046373000000000026 +:046374000000000025 +:046375000000000024 +:046376000000000023 +:046377000000000022 +:046378000000000021 +:046379000000000020 +:04637A00000000001F +:04637B00000000001E +:04637C00000000001D +:04637D00000000001C +:04637E00000000001B +:04637F00000000001A +:046380000000000019 +:046381000000000018 +:046382000000000017 +:046383000000000016 +:046384000000000015 +:046385000000000014 +:046386000000000013 +:046387000000000012 +:046388000000000011 +:046389000000000010 +:04638A00000000000F +:04638B00000000000E +:04638C00000000000D +:04638D00000000000C +:04638E00000000000B +:04638F00000000000A +:046390000000000009 +:046391000000000008 +:046392000000000007 +:046393000000000006 +:046394000000000005 +:046395000000000004 +:046396000000000003 +:046397000000000002 +:046398000000000001 +:046399000000000000 +:04639A0000000000FF +:04639B0000000000FE +:04639C0000000000FD +:04639D0000000000FC +:04639E0000000000FB +:04639F0000000000FA +:0463A00000000000F9 +:0463A10000000000F8 +:0463A20000000000F7 +:0463A30000000000F6 +:0463A40000000000F5 +:0463A50000000000F4 +:0463A60000000000F3 +:0463A70000000000F2 +:0463A80000000000F1 +:0463A90000000000F0 +:0463AA0000000000EF +:0463AB0000000000EE +:0463AC0000000000ED +:0463AD0000000000EC +:0463AE0000000000EB +:0463AF0000000000EA +:0463B00000000000E9 +:0463B10000000000E8 +:0463B20000000000E7 +:0463B30000000000E6 +:0463B40000000000E5 +:0463B50000000000E4 +:0463B60000000000E3 +:0463B70000000000E2 +:0463B80000000000E1 +:0463B90000000000E0 +:0463BA0000000000DF +:0463BB0000000000DE +:0463BC0000000000DD +:0463BD0000000000DC +:0463BE0000000000DB +:0463BF0000000000DA +:0463C00000000000D9 +:0463C10000000000D8 +:0463C20000000000D7 +:0463C30000000000D6 +:0463C40000000000D5 +:0463C50000000000D4 +:0463C60000000000D3 +:0463C70000000000D2 +:0463C80000000000D1 +:0463C90000000000D0 +:0463CA0000000000CF +:0463CB0000000000CE +:0463CC0000000000CD +:0463CD0000000000CC +:0463CE0000000000CB +:0463CF0000000000CA +:0463D00000000000C9 +:0463D10000000000C8 +:0463D20000000000C7 +:0463D30000000000C6 +:0463D40000000000C5 +:0463D50000000000C4 +:0463D60000000000C3 +:0463D70000000000C2 +:0463D80000000000C1 +:0463D90000000000C0 +:0463DA0000000000BF +:0463DB0000000000BE +:0463DC0000000000BD +:0463DD0000000000BC +:0463DE0000000000BB +:0463DF0000000000BA +:0463E00000000000B9 +:0463E10000000000B8 +:0463E20000000000B7 +:0463E30000000000B6 +:0463E40000000000B5 +:0463E50000000000B4 +:0463E60000000000B3 +:0463E70000000000B2 +:0463E80000000000B1 +:0463E90000000000B0 +:0463EA0000000000AF +:0463EB0000000000AE +:0463EC0000000000AD +:0463ED0000000000AC +:0463EE0000000000AB +:0463EF0000000000AA +:0463F00000000000A9 +:0463F10000000000A8 +:0463F20000000000A7 +:0463F30000000000A6 +:0463F40000000000A5 +:0463F50000000000A4 +:0463F60000000000A3 +:0463F70000000000A2 +:0463F80000000000A1 +:0463F90000000000A0 +:0463FA00000000009F +:0463FB00000000009E +:0463FC00000000009D +:0463FD00000000009C +:0463FE00000000009B +:0463FF00000000009A +:046400000000000098 +:046401000000000097 +:046402000000000096 +:046403000000000095 +:046404000000000094 +:046405000000000093 +:046406000000000092 +:046407000000000091 +:046408000000000090 +:04640900000000008F +:04640A00000000008E +:04640B00000000008D +:04640C00000000008C +:04640D00000000008B +:04640E00000000008A +:04640F000000000089 +:046410000000000088 +:046411000000000087 +:046412000000000086 +:046413000000000085 +:046414000000000084 +:046415000000000083 +:046416000000000082 +:046417000000000081 +:046418000000000080 +:04641900000000007F +:04641A00000000007E +:04641B00000000007D +:04641C00000000007C +:04641D00000000007B +:04641E00000000007A +:04641F000000000079 +:046420000000000078 +:046421000000000077 +:046422000000000076 +:046423000000000075 +:046424000000000074 +:046425000000000073 +:046426000000000072 +:046427000000000071 +:046428000000000070 +:04642900000000006F +:04642A00000000006E +:04642B00000000006D +:04642C00000000006C +:04642D00000000006B +:04642E00000000006A +:04642F000000000069 +:046430000000000068 +:046431000000000067 +:046432000000000066 +:046433000000000065 +:046434000000000064 +:046435000000000063 +:046436000000000062 +:046437000000000061 +:046438000000000060 +:04643900000000005F +:04643A00000000005E +:04643B00000000005D +:04643C00000000005C +:04643D00000000005B +:04643E00000000005A +:04643F000000000059 +:046440000000000058 +:046441000000000057 +:046442000000000056 +:046443000000000055 +:046444000000000054 +:046445000000000053 +:046446000000000052 +:046447000000000051 +:046448000000000050 +:04644900000000004F +:04644A00000000004E +:04644B00000000004D +:04644C00000000004C +:04644D00000000004B +:04644E00000000004A +:04644F000000000049 +:046450000000000048 +:046451000000000047 +:046452000000000046 +:046453000000000045 +:046454000000000044 +:046455000000000043 +:046456000000000042 +:046457000000000041 +:046458000000000040 +:04645900000000003F +:04645A00000000003E +:04645B00000000003D +:04645C00000000003C +:04645D00000000003B +:04645E00000000003A +:04645F000000000039 +:046460000000000038 +:046461000000000037 +:046462000000000036 +:046463000000000035 +:046464000000000034 +:046465000000000033 +:046466000000000032 +:046467000000000031 +:046468000000000030 +:04646900000000002F +:04646A00000000002E +:04646B00000000002D +:04646C00000000002C +:04646D00000000002B +:04646E00000000002A +:04646F000000000029 +:046470000000000028 +:046471000000000027 +:046472000000000026 +:046473000000000025 +:046474000000000024 +:046475000000000023 +:046476000000000022 +:046477000000000021 +:046478000000000020 +:04647900000000001F +:04647A00000000001E +:04647B00000000001D +:04647C00000000001C +:04647D00000000001B +:04647E00000000001A +:04647F000000000019 +:046480000000000018 +:046481000000000017 +:046482000000000016 +:046483000000000015 +:046484000000000014 +:046485000000000013 +:046486000000000012 +:046487000000000011 +:046488000000000010 +:04648900000000000F +:04648A00000000000E +:04648B00000000000D +:04648C00000000000C +:04648D00000000000B +:04648E00000000000A +:04648F000000000009 +:046490000000000008 +:046491000000000007 +:046492000000000006 +:046493000000000005 +:046494000000000004 +:046495000000000003 +:046496000000000002 +:046497000000000001 +:046498000000000000 +:0464990000000000FF +:04649A0000000000FE +:04649B0000000000FD +:04649C0000000000FC +:04649D0000000000FB +:04649E0000000000FA +:04649F0000000000F9 +:0464A00000000000F8 +:0464A10000000000F7 +:0464A20000000000F6 +:0464A30000000000F5 +:0464A40000000000F4 +:0464A50000000000F3 +:0464A60000000000F2 +:0464A70000000000F1 +:0464A80000000000F0 +:0464A90000000000EF +:0464AA0000000000EE +:0464AB0000000000ED +:0464AC0000000000EC +:0464AD0000000000EB +:0464AE0000000000EA +:0464AF0000000000E9 +:0464B00000000000E8 +:0464B10000000000E7 +:0464B20000000000E6 +:0464B30000000000E5 +:0464B40000000000E4 +:0464B50000000000E3 +:0464B60000000000E2 +:0464B70000000000E1 +:0464B80000000000E0 +:0464B90000000000DF +:0464BA0000000000DE +:0464BB0000000000DD +:0464BC0000000000DC +:0464BD0000000000DB +:0464BE0000000000DA +:0464BF0000000000D9 +:0464C00000000000D8 +:0464C10000000000D7 +:0464C20000000000D6 +:0464C30000000000D5 +:0464C40000000000D4 +:0464C50000000000D3 +:0464C60000000000D2 +:0464C70000000000D1 +:0464C80000000000D0 +:0464C90000000000CF +:0464CA0000000000CE +:0464CB0000000000CD +:0464CC0000000000CC +:0464CD0000000000CB +:0464CE0000000000CA +:0464CF0000000000C9 +:0464D00000000000C8 +:0464D10000000000C7 +:0464D20000000000C6 +:0464D30000000000C5 +:0464D40000000000C4 +:0464D50000000000C3 +:0464D60000000000C2 +:0464D70000000000C1 +:0464D80000000000C0 +:0464D90000000000BF +:0464DA0000000000BE +:0464DB0000000000BD +:0464DC0000000000BC +:0464DD0000000000BB +:0464DE0000000000BA +:0464DF0000000000B9 +:0464E00000000000B8 +:0464E10000000000B7 +:0464E20000000000B6 +:0464E30000000000B5 +:0464E40000000000B4 +:0464E50000000000B3 +:0464E60000000000B2 +:0464E70000000000B1 +:0464E80000000000B0 +:0464E90000000000AF +:0464EA0000000000AE +:0464EB0000000000AD +:0464EC0000000000AC +:0464ED0000000000AB +:0464EE0000000000AA +:0464EF0000000000A9 +:0464F00000000000A8 +:0464F10000000000A7 +:0464F20000000000A6 +:0464F30000000000A5 +:0464F40000000000A4 +:0464F50000000000A3 +:0464F60000000000A2 +:0464F70000000000A1 +:0464F80000000000A0 +:0464F900000000009F +:0464FA00000000009E +:0464FB00000000009D +:0464FC00000000009C +:0464FD00000000009B +:0464FE00000000009A +:0464FF000000000099 +:046500000000000097 +:046501000000000096 +:046502000000000095 +:046503000000000094 +:046504000000000093 +:046505000000000092 +:046506000000000091 +:046507000000000090 +:04650800000000008F +:04650900000000008E +:04650A00000000008D +:04650B00000000008C +:04650C00000000008B +:04650D00000000008A +:04650E000000000089 +:04650F000000000088 +:046510000000000087 +:046511000000000086 +:046512000000000085 +:046513000000000084 +:046514000000000083 +:046515000000000082 +:046516000000000081 +:046517000000000080 +:04651800000000007F +:04651900000000007E +:04651A00000000007D +:04651B00000000007C +:04651C00000000007B +:04651D00000000007A +:04651E000000000079 +:04651F000000000078 +:046520000000000077 +:046521000000000076 +:046522000000000075 +:046523000000000074 +:046524000000000073 +:046525000000000072 +:046526000000000071 +:046527000000000070 +:04652800000000006F +:04652900000000006E +:04652A00000000006D +:04652B00000000006C +:04652C00000000006B +:04652D00000000006A +:04652E000000000069 +:04652F000000000068 +:046530000000000067 +:046531000000000066 +:046532000000000065 +:046533000000000064 +:046534000000000063 +:046535000000000062 +:046536000000000061 +:046537000000000060 +:04653800000000005F +:04653900000000005E +:04653A00000000005D +:04653B00000000005C +:04653C00000000005B +:04653D00000000005A +:04653E000000000059 +:04653F000000000058 +:046540000000000057 +:046541000000000056 +:046542000000000055 +:046543000000000054 +:046544000000000053 +:046545000000000052 +:046546000000000051 +:046547000000000050 +:04654800000000004F +:04654900000000004E +:04654A00000000004D +:04654B00000000004C +:04654C00000000004B +:04654D00000000004A +:04654E000000000049 +:04654F000000000048 +:046550000000000047 +:046551000000000046 +:046552000000000045 +:046553000000000044 +:046554000000000043 +:046555000000000042 +:046556000000000041 +:046557000000000040 +:04655800000000003F +:04655900000000003E +:04655A00000000003D +:04655B00000000003C +:04655C00000000003B +:04655D00000000003A +:04655E000000000039 +:04655F000000000038 +:046560000000000037 +:046561000000000036 +:046562000000000035 +:046563000000000034 +:046564000000000033 +:046565000000000032 +:046566000000000031 +:046567000000000030 +:04656800000000002F +:04656900000000002E +:04656A00000000002D +:04656B00000000002C +:04656C00000000002B +:04656D00000000002A +:04656E000000000029 +:04656F000000000028 +:046570000000000027 +:046571000000000026 +:046572000000000025 +:046573000000000024 +:046574000000000023 +:046575000000000022 +:046576000000000021 +:046577000000000020 +:04657800000000001F +:04657900000000001E +:04657A00000000001D +:04657B00000000001C +:04657C00000000001B +:04657D00000000001A +:04657E000000000019 +:04657F000000000018 +:046580000000000017 +:046581000000000016 +:046582000000000015 +:046583000000000014 +:046584000000000013 +:046585000000000012 +:046586000000000011 +:046587000000000010 +:04658800000000000F +:04658900000000000E +:04658A00000000000D +:04658B00000000000C +:04658C00000000000B +:04658D00000000000A +:04658E000000000009 +:04658F000000000008 +:046590000000000007 +:046591000000000006 +:046592000000000005 +:046593000000000004 +:046594000000000003 +:046595000000000002 +:046596000000000001 +:046597000000000000 +:0465980000000000FF +:0465990000000000FE +:04659A0000000000FD +:04659B0000000000FC +:04659C0000000000FB +:04659D0000000000FA +:04659E0000000000F9 +:04659F0000000000F8 +:0465A00000000000F7 +:0465A10000000000F6 +:0465A20000000000F5 +:0465A30000000000F4 +:0465A40000000000F3 +:0465A50000000000F2 +:0465A60000000000F1 +:0465A70000000000F0 +:0465A80000000000EF +:0465A90000000000EE +:0465AA0000000000ED +:0465AB0000000000EC +:0465AC0000000000EB +:0465AD0000000000EA +:0465AE0000000000E9 +:0465AF0000000000E8 +:0465B00000000000E7 +:0465B10000000000E6 +:0465B20000000000E5 +:0465B30000000000E4 +:0465B40000000000E3 +:0465B50000000000E2 +:0465B60000000000E1 +:0465B70000000000E0 +:0465B80000000000DF +:0465B90000000000DE +:0465BA0000000000DD +:0465BB0000000000DC +:0465BC0000000000DB +:0465BD0000000000DA +:0465BE0000000000D9 +:0465BF0000000000D8 +:0465C00000000000D7 +:0465C10000000000D6 +:0465C20000000000D5 +:0465C30000000000D4 +:0465C40000000000D3 +:0465C50000000000D2 +:0465C60000000000D1 +:0465C70000000000D0 +:0465C80000000000CF +:0465C90000000000CE +:0465CA0000000000CD +:0465CB0000000000CC +:0465CC0000000000CB +:0465CD0000000000CA +:0465CE0000000000C9 +:0465CF0000000000C8 +:0465D00000000000C7 +:0465D10000000000C6 +:0465D20000000000C5 +:0465D30000000000C4 +:0465D40000000000C3 +:0465D50000000000C2 +:0465D60000000000C1 +:0465D70000000000C0 +:0465D80000000000BF +:0465D90000000000BE +:0465DA0000000000BD +:0465DB0000000000BC +:0465DC0000000000BB +:0465DD0000000000BA +:0465DE0000000000B9 +:0465DF0000000000B8 +:0465E00000000000B7 +:0465E10000000000B6 +:0465E20000000000B5 +:0465E30000000000B4 +:0465E40000000000B3 +:0465E50000000000B2 +:0465E60000000000B1 +:0465E70000000000B0 +:0465E80000000000AF +:0465E90000000000AE +:0465EA0000000000AD +:0465EB0000000000AC +:0465EC0000000000AB +:0465ED0000000000AA +:0465EE0000000000A9 +:0465EF0000000000A8 +:0465F00000000000A7 +:0465F10000000000A6 +:0465F20000000000A5 +:0465F30000000000A4 +:0465F40000000000A3 +:0465F50000000000A2 +:0465F60000000000A1 +:0465F70000000000A0 +:0465F800000000009F +:0465F900000000009E +:0465FA00000000009D +:0465FB00000000009C +:0465FC00000000009B +:0465FD00000000009A +:0465FE000000000099 +:0465FF000000000098 +:046600000000000096 +:046601000000000095 +:046602000000000094 +:046603000000000093 +:046604000000000092 +:046605000000000091 +:046606000000000090 +:04660700000000008F +:04660800000000008E +:04660900000000008D +:04660A00000000008C +:04660B00000000008B +:04660C00000000008A +:04660D000000000089 +:04660E000000000088 +:04660F000000000087 +:046610000000000086 +:046611000000000085 +:046612000000000084 +:046613000000000083 +:046614000000000082 +:046615000000000081 +:046616000000000080 +:04661700000000007F +:04661800000000007E +:04661900000000007D +:04661A00000000007C +:04661B00000000007B +:04661C00000000007A +:04661D000000000079 +:04661E000000000078 +:04661F000000000077 +:046620000000000076 +:046621000000000075 +:046622000000000074 +:046623000000000073 +:046624000000000072 +:046625000000000071 +:046626000000000070 +:04662700000000006F +:04662800000000006E +:04662900000000006D +:04662A00000000006C +:04662B00000000006B +:04662C00000000006A +:04662D000000000069 +:04662E000000000068 +:04662F000000000067 +:046630000000000066 +:046631000000000065 +:046632000000000064 +:046633000000000063 +:046634000000000062 +:046635000000000061 +:046636000000000060 +:04663700000000005F +:04663800000000005E +:04663900000000005D +:04663A00000000005C +:04663B00000000005B +:04663C00000000005A +:04663D000000000059 +:04663E000000000058 +:04663F000000000057 +:046640000000000056 +:046641000000000055 +:046642000000000054 +:046643000000000053 +:046644000000000052 +:046645000000000051 +:046646000000000050 +:04664700000000004F +:04664800000000004E +:04664900000000004D +:04664A00000000004C +:04664B00000000004B +:04664C00000000004A +:04664D000000000049 +:04664E000000000048 +:04664F000000000047 +:046650000000000046 +:046651000000000045 +:046652000000000044 +:046653000000000043 +:046654000000000042 +:046655000000000041 +:046656000000000040 +:04665700000000003F +:04665800000000003E +:04665900000000003D +:04665A00000000003C +:04665B00000000003B +:04665C00000000003A +:04665D000000000039 +:04665E000000000038 +:04665F000000000037 +:046660000000000036 +:046661000000000035 +:046662000000000034 +:046663000000000033 +:046664000000000032 +:046665000000000031 +:046666000000000030 +:04666700000000002F +:04666800000000002E +:04666900000000002D +:04666A00000000002C +:04666B00000000002B +:04666C00000000002A +:04666D000000000029 +:04666E000000000028 +:04666F000000000027 +:046670000000000026 +:046671000000000025 +:046672000000000024 +:046673000000000023 +:046674000000000022 +:046675000000000021 +:046676000000000020 +:04667700000000001F +:04667800000000001E +:04667900000000001D +:04667A00000000001C +:04667B00000000001B +:04667C00000000001A +:04667D000000000019 +:04667E000000000018 +:04667F000000000017 +:046680000000000016 +:046681000000000015 +:046682000000000014 +:046683000000000013 +:046684000000000012 +:046685000000000011 +:046686000000000010 +:04668700000000000F +:04668800000000000E +:04668900000000000D +:04668A00000000000C +:04668B00000000000B +:04668C00000000000A +:04668D000000000009 +:04668E000000000008 +:04668F000000000007 +:046690000000000006 +:046691000000000005 +:046692000000000004 +:046693000000000003 +:046694000000000002 +:046695000000000001 +:046696000000000000 +:0466970000000000FF +:0466980000000000FE +:0466990000000000FD +:04669A0000000000FC +:04669B0000000000FB +:04669C0000000000FA +:04669D0000000000F9 +:04669E0000000000F8 +:04669F0000000000F7 +:0466A00000000000F6 +:0466A10000000000F5 +:0466A20000000000F4 +:0466A30000000000F3 +:0466A40000000000F2 +:0466A50000000000F1 +:0466A60000000000F0 +:0466A70000000000EF +:0466A80000000000EE +:0466A90000000000ED +:0466AA0000000000EC +:0466AB0000000000EB +:0466AC0000000000EA +:0466AD0000000000E9 +:0466AE0000000000E8 +:0466AF0000000000E7 +:0466B00000000000E6 +:0466B10000000000E5 +:0466B20000000000E4 +:0466B30000000000E3 +:0466B40000000000E2 +:0466B50000000000E1 +:0466B60000000000E0 +:0466B70000000000DF +:0466B80000000000DE +:0466B90000000000DD +:0466BA0000000000DC +:0466BB0000000000DB +:0466BC0000000000DA +:0466BD0000000000D9 +:0466BE0000000000D8 +:0466BF0000000000D7 +:0466C00000000000D6 +:0466C10000000000D5 +:0466C20000000000D4 +:0466C30000000000D3 +:0466C40000000000D2 +:0466C50000000000D1 +:0466C60000000000D0 +:0466C70000000000CF +:0466C80000000000CE +:0466C90000000000CD +:0466CA0000000000CC +:0466CB0000000000CB +:0466CC0000000000CA +:0466CD0000000000C9 +:0466CE0000000000C8 +:0466CF0000000000C7 +:0466D00000000000C6 +:0466D10000000000C5 +:0466D20000000000C4 +:0466D30000000000C3 +:0466D40000000000C2 +:0466D50000000000C1 +:0466D60000000000C0 +:0466D70000000000BF +:0466D80000000000BE +:0466D90000000000BD +:0466DA0000000000BC +:0466DB0000000000BB +:0466DC0000000000BA +:0466DD0000000000B9 +:0466DE0000000000B8 +:0466DF0000000000B7 +:0466E00000000000B6 +:0466E10000000000B5 +:0466E20000000000B4 +:0466E30000000000B3 +:0466E40000000000B2 +:0466E50000000000B1 +:0466E60000000000B0 +:0466E70000000000AF +:0466E80000000000AE +:0466E90000000000AD +:0466EA0000000000AC +:0466EB0000000000AB +:0466EC0000000000AA +:0466ED0000000000A9 +:0466EE0000000000A8 +:0466EF0000000000A7 +:0466F00000000000A6 +:0466F10000000000A5 +:0466F20000000000A4 +:0466F30000000000A3 +:0466F40000000000A2 +:0466F50000000000A1 +:0466F60000000000A0 +:0466F700000000009F +:0466F800000000009E +:0466F900000000009D +:0466FA00000000009C +:0466FB00000000009B +:0466FC00000000009A +:0466FD000000000099 +:0466FE000000000098 +:0466FF000000000097 +:046700000000000095 +:046701000000000094 +:046702000000000093 +:046703000000000092 +:046704000000000091 +:046705000000000090 +:04670600000000008F +:04670700000000008E +:04670800000000008D +:04670900000000008C +:04670A00000000008B +:04670B00000000008A +:04670C000000000089 +:04670D000000000088 +:04670E000000000087 +:04670F000000000086 +:046710000000000085 +:046711000000000084 +:046712000000000083 +:046713000000000082 +:046714000000000081 +:046715000000000080 +:04671600000000007F +:04671700000000007E +:04671800000000007D +:04671900000000007C +:04671A00000000007B +:04671B00000000007A +:04671C000000000079 +:04671D000000000078 +:04671E000000000077 +:04671F000000000076 +:046720000000000075 +:046721000000000074 +:046722000000000073 +:046723000000000072 +:046724000000000071 +:046725000000000070 +:04672600000000006F +:04672700000000006E +:04672800000000006D +:04672900000000006C +:04672A00000000006B +:04672B00000000006A +:04672C000000000069 +:04672D000000000068 +:04672E000000000067 +:04672F000000000066 +:046730000000000065 +:046731000000000064 +:046732000000000063 +:046733000000000062 +:046734000000000061 +:046735000000000060 +:04673600000000005F +:04673700000000005E +:04673800000000005D +:04673900000000005C +:04673A00000000005B +:04673B00000000005A +:04673C000000000059 +:04673D000000000058 +:04673E000000000057 +:04673F000000000056 +:046740000000000055 +:046741000000000054 +:046742000000000053 +:046743000000000052 +:046744000000000051 +:046745000000000050 +:04674600000000004F +:04674700000000004E +:04674800000000004D +:04674900000000004C +:04674A00000000004B +:04674B00000000004A +:04674C000000000049 +:04674D000000000048 +:04674E000000000047 +:04674F000000000046 +:046750000000000045 +:046751000000000044 +:046752000000000043 +:046753000000000042 +:046754000000000041 +:046755000000000040 +:04675600000000003F +:04675700000000003E +:04675800000000003D +:04675900000000003C +:04675A00000000003B +:04675B00000000003A +:04675C000000000039 +:04675D000000000038 +:04675E000000000037 +:04675F000000000036 +:046760000000000035 +:046761000000000034 +:046762000000000033 +:046763000000000032 +:046764000000000031 +:046765000000000030 +:04676600000000002F +:04676700000000002E +:04676800000000002D +:04676900000000002C +:04676A00000000002B +:04676B00000000002A +:04676C000000000029 +:04676D000000000028 +:04676E000000000027 +:04676F000000000026 +:046770000000000025 +:046771000000000024 +:046772000000000023 +:046773000000000022 +:046774000000000021 +:046775000000000020 +:04677600000000001F +:04677700000000001E +:04677800000000001D +:04677900000000001C +:04677A00000000001B +:04677B00000000001A +:04677C000000000019 +:04677D000000000018 +:04677E000000000017 +:04677F000000000016 +:046780000000000015 +:046781000000000014 +:046782000000000013 +:046783000000000012 +:046784000000000011 +:046785000000000010 +:04678600000000000F +:04678700000000000E +:04678800000000000D +:04678900000000000C +:04678A00000000000B +:04678B00000000000A +:04678C000000000009 +:04678D000000000008 +:04678E000000000007 +:04678F000000000006 +:046790000000000005 +:046791000000000004 +:046792000000000003 +:046793000000000002 +:046794000000000001 +:046795000000000000 +:0467960000000000FF +:0467970000000000FE +:0467980000000000FD +:0467990000000000FC +:04679A0000000000FB +:04679B0000000000FA +:04679C0000000000F9 +:04679D0000000000F8 +:04679E0000000000F7 +:04679F0000000000F6 +:0467A00000000000F5 +:0467A10000000000F4 +:0467A20000000000F3 +:0467A30000000000F2 +:0467A40000000000F1 +:0467A50000000000F0 +:0467A60000000000EF +:0467A70000000000EE +:0467A80000000000ED +:0467A90000000000EC +:0467AA0000000000EB +:0467AB0000000000EA +:0467AC0000000000E9 +:0467AD0000000000E8 +:0467AE0000000000E7 +:0467AF0000000000E6 +:0467B00000000000E5 +:0467B10000000000E4 +:0467B20000000000E3 +:0467B30000000000E2 +:0467B40000000000E1 +:0467B50000000000E0 +:0467B60000000000DF +:0467B70000000000DE +:0467B80000000000DD +:0467B90000000000DC +:0467BA0000000000DB +:0467BB0000000000DA +:0467BC0000000000D9 +:0467BD0000000000D8 +:0467BE0000000000D7 +:0467BF0000000000D6 +:0467C00000000000D5 +:0467C10000000000D4 +:0467C20000000000D3 +:0467C30000000000D2 +:0467C40000000000D1 +:0467C50000000000D0 +:0467C60000000000CF +:0467C70000000000CE +:0467C80000000000CD +:0467C90000000000CC +:0467CA0000000000CB +:0467CB0000000000CA +:0467CC0000000000C9 +:0467CD0000000000C8 +:0467CE0000000000C7 +:0467CF0000000000C6 +:0467D00000000000C5 +:0467D10000000000C4 +:0467D20000000000C3 +:0467D30000000000C2 +:0467D40000000000C1 +:0467D50000000000C0 +:0467D60000000000BF +:0467D70000000000BE +:0467D80000000000BD +:0467D90000000000BC +:0467DA0000000000BB +:0467DB0000000000BA +:0467DC0000000000B9 +:0467DD0000000000B8 +:0467DE0000000000B7 +:0467DF0000000000B6 +:0467E00000000000B5 +:0467E10000000000B4 +:0467E20000000000B3 +:0467E30000000000B2 +:0467E40000000000B1 +:0467E50000000000B0 +:0467E60000000000AF +:0467E70000000000AE +:0467E80000000000AD +:0467E90000000000AC +:0467EA0000000000AB +:0467EB0000000000AA +:0467EC0000000000A9 +:0467ED0000000000A8 +:0467EE0000000000A7 +:0467EF0000000000A6 +:0467F00000000000A5 +:0467F10000000000A4 +:0467F20000000000A3 +:0467F30000000000A2 +:0467F40000000000A1 +:0467F50000000000A0 +:0467F600000000009F +:0467F700000000009E +:0467F800000000009D +:0467F900000000009C +:0467FA00000000009B +:0467FB00000000009A +:0467FC000000000099 +:0467FD000000000098 +:0467FE000000000097 +:0467FF000000000096 +:046800000000000094 +:046801000000000093 +:046802000000000092 +:046803000000000091 +:046804000000000090 +:04680500000000008F +:04680600000000008E +:04680700000000008D +:04680800000000008C +:04680900000000008B +:04680A00000000008A +:04680B000000000089 +:04680C000000000088 +:04680D000000000087 +:04680E000000000086 +:04680F000000000085 +:046810000000000084 +:046811000000000083 +:046812000000000082 +:046813000000000081 +:046814000000000080 +:04681500000000007F +:04681600000000007E +:04681700000000007D +:04681800000000007C +:04681900000000007B +:04681A00000000007A +:04681B000000000079 +:04681C000000000078 +:04681D000000000077 +:04681E000000000076 +:04681F000000000075 +:046820000000000074 +:046821000000000073 +:046822000000000072 +:046823000000000071 +:046824000000000070 +:04682500000000006F +:04682600000000006E +:04682700000000006D +:04682800000000006C +:04682900000000006B +:04682A00000000006A +:04682B000000000069 +:04682C000000000068 +:04682D000000000067 +:04682E000000000066 +:04682F000000000065 +:046830000000000064 +:046831000000000063 +:046832000000000062 +:046833000000000061 +:046834000000000060 +:04683500000000005F +:04683600000000005E +:04683700000000005D +:04683800000000005C +:04683900000000005B +:04683A00000000005A +:04683B000000000059 +:04683C000000000058 +:04683D000000000057 +:04683E000000000056 +:04683F000000000055 +:046840000000000054 +:046841000000000053 +:046842000000000052 +:046843000000000051 +:046844000000000050 +:04684500000000004F +:04684600000000004E +:04684700000000004D +:04684800000000004C +:04684900000000004B +:04684A00000000004A +:04684B000000000049 +:04684C000000000048 +:04684D000000000047 +:04684E000000000046 +:04684F000000000045 +:046850000000000044 +:046851000000000043 +:046852000000000042 +:046853000000000041 +:046854000000000040 +:04685500000000003F +:04685600000000003E +:04685700000000003D +:04685800000000003C +:04685900000000003B +:04685A00000000003A +:04685B000000000039 +:04685C000000000038 +:04685D000000000037 +:04685E000000000036 +:04685F000000000035 +:046860000000000034 +:046861000000000033 +:046862000000000032 +:046863000000000031 +:046864000000000030 +:04686500000000002F +:04686600000000002E +:04686700000000002D +:04686800000000002C +:04686900000000002B +:04686A00000000002A +:04686B000000000029 +:04686C000000000028 +:04686D000000000027 +:04686E000000000026 +:04686F000000000025 +:046870000000000024 +:046871000000000023 +:046872000000000022 +:046873000000000021 +:046874000000000020 +:04687500000000001F +:04687600000000001E +:04687700000000001D +:04687800000000001C +:04687900000000001B +:04687A00000000001A +:04687B000000000019 +:04687C000000000018 +:04687D000000000017 +:04687E000000000016 +:04687F000000000015 +:046880000000000014 +:046881000000000013 +:046882000000000012 +:046883000000000011 +:046884000000000010 +:04688500000000000F +:04688600000000000E +:04688700000000000D +:04688800000000000C +:04688900000000000B +:04688A00000000000A +:04688B000000000009 +:04688C000000000008 +:04688D000000000007 +:04688E000000000006 +:04688F000000000005 +:046890000000000004 +:046891000000000003 +:046892000000000002 +:046893000000000001 +:046894000000000000 +:0468950000000000FF +:0468960000000000FE +:0468970000000000FD +:0468980000000000FC +:0468990000000000FB +:04689A0000000000FA +:04689B0000000000F9 +:04689C0000000000F8 +:04689D0000000000F7 +:04689E0000000000F6 +:04689F0000000000F5 +:0468A00000000000F4 +:0468A10000000000F3 +:0468A20000000000F2 +:0468A30000000000F1 +:0468A40000000000F0 +:0468A50000000000EF +:0468A60000000000EE +:0468A70000000000ED +:0468A80000000000EC +:0468A90000000000EB +:0468AA0000000000EA +:0468AB0000000000E9 +:0468AC0000000000E8 +:0468AD0000000000E7 +:0468AE0000000000E6 +:0468AF0000000000E5 +:0468B00000000000E4 +:0468B10000000000E3 +:0468B20000000000E2 +:0468B30000000000E1 +:0468B40000000000E0 +:0468B50000000000DF +:0468B60000000000DE +:0468B70000000000DD +:0468B80000000000DC +:0468B90000000000DB +:0468BA0000000000DA +:0468BB0000000000D9 +:0468BC0000000000D8 +:0468BD0000000000D7 +:0468BE0000000000D6 +:0468BF0000000000D5 +:0468C00000000000D4 +:0468C10000000000D3 +:0468C20000000000D2 +:0468C30000000000D1 +:0468C40000000000D0 +:0468C50000000000CF +:0468C60000000000CE +:0468C70000000000CD +:0468C80000000000CC +:0468C90000000000CB +:0468CA0000000000CA +:0468CB0000000000C9 +:0468CC0000000000C8 +:0468CD0000000000C7 +:0468CE0000000000C6 +:0468CF0000000000C5 +:0468D00000000000C4 +:0468D10000000000C3 +:0468D20000000000C2 +:0468D30000000000C1 +:0468D40000000000C0 +:0468D50000000000BF +:0468D60000000000BE +:0468D70000000000BD +:0468D80000000000BC +:0468D90000000000BB +:0468DA0000000000BA +:0468DB0000000000B9 +:0468DC0000000000B8 +:0468DD0000000000B7 +:0468DE0000000000B6 +:0468DF0000000000B5 +:0468E00000000000B4 +:0468E10000000000B3 +:0468E20000000000B2 +:0468E30000000000B1 +:0468E40000000000B0 +:0468E50000000000AF +:0468E60000000000AE +:0468E70000000000AD +:0468E80000000000AC +:0468E90000000000AB +:0468EA0000000000AA +:0468EB0000000000A9 +:0468EC0000000000A8 +:0468ED0000000000A7 +:0468EE0000000000A6 +:0468EF0000000000A5 +:0468F00000000000A4 +:0468F10000000000A3 +:0468F20000000000A2 +:0468F30000000000A1 +:0468F40000000000A0 +:0468F500000000009F +:0468F600000000009E +:0468F700000000009D +:0468F800000000009C +:0468F900000000009B +:0468FA00000000009A +:0468FB000000000099 +:0468FC000000000098 +:0468FD000000000097 +:0468FE000000000096 +:0468FF000000000095 +:046900000000000093 +:046901000000000092 +:046902000000000091 +:046903000000000090 +:04690400000000008F +:04690500000000008E +:04690600000000008D +:04690700000000008C +:04690800000000008B +:04690900000000008A +:04690A000000000089 +:04690B000000000088 +:04690C000000000087 +:04690D000000000086 +:04690E000000000085 +:04690F000000000084 +:046910000000000083 +:046911000000000082 +:046912000000000081 +:046913000000000080 +:04691400000000007F +:04691500000000007E +:04691600000000007D +:04691700000000007C +:04691800000000007B +:04691900000000007A +:04691A000000000079 +:04691B000000000078 +:04691C000000000077 +:04691D000000000076 +:04691E000000000075 +:04691F000000000074 +:046920000000000073 +:046921000000000072 +:046922000000000071 +:046923000000000070 +:04692400000000006F +:04692500000000006E +:04692600000000006D +:04692700000000006C +:04692800000000006B +:04692900000000006A +:04692A000000000069 +:04692B000000000068 +:04692C000000000067 +:04692D000000000066 +:04692E000000000065 +:04692F000000000064 +:046930000000000063 +:046931000000000062 +:046932000000000061 +:046933000000000060 +:04693400000000005F +:04693500000000005E +:04693600000000005D +:04693700000000005C +:04693800000000005B +:04693900000000005A +:04693A000000000059 +:04693B000000000058 +:04693C000000000057 +:04693D000000000056 +:04693E000000000055 +:04693F000000000054 +:046940000000000053 +:046941000000000052 +:046942000000000051 +:046943000000000050 +:04694400000000004F +:04694500000000004E +:04694600000000004D +:04694700000000004C +:04694800000000004B +:04694900000000004A +:04694A000000000049 +:04694B000000000048 +:04694C000000000047 +:04694D000000000046 +:04694E000000000045 +:04694F000000000044 +:046950000000000043 +:046951000000000042 +:046952000000000041 +:046953000000000040 +:04695400000000003F +:04695500000000003E +:04695600000000003D +:04695700000000003C +:04695800000000003B +:04695900000000003A +:04695A000000000039 +:04695B000000000038 +:04695C000000000037 +:04695D000000000036 +:04695E000000000035 +:04695F000000000034 +:046960000000000033 +:046961000000000032 +:046962000000000031 +:046963000000000030 +:04696400000000002F +:04696500000000002E +:04696600000000002D +:04696700000000002C +:04696800000000002B +:04696900000000002A +:04696A000000000029 +:04696B000000000028 +:04696C000000000027 +:04696D000000000026 +:04696E000000000025 +:04696F000000000024 +:046970000000000023 +:046971000000000022 +:046972000000000021 +:046973000000000020 +:04697400000000001F +:04697500000000001E +:04697600000000001D +:04697700000000001C +:04697800000000001B +:04697900000000001A +:04697A000000000019 +:04697B000000000018 +:04697C000000000017 +:04697D000000000016 +:04697E000000000015 +:04697F000000000014 +:046980000000000013 +:046981000000000012 +:046982000000000011 +:046983000000000010 +:04698400000000000F +:04698500000000000E +:04698600000000000D +:04698700000000000C +:04698800000000000B +:04698900000000000A +:04698A000000000009 +:04698B000000000008 +:04698C000000000007 +:04698D000000000006 +:04698E000000000005 +:04698F000000000004 +:046990000000000003 +:046991000000000002 +:046992000000000001 +:046993000000000000 +:0469940000000000FF +:0469950000000000FE +:0469960000000000FD +:0469970000000000FC +:0469980000000000FB +:0469990000000000FA +:04699A0000000000F9 +:04699B0000000000F8 +:04699C0000000000F7 +:04699D0000000000F6 +:04699E0000000000F5 +:04699F0000000000F4 +:0469A00000000000F3 +:0469A10000000000F2 +:0469A20000000000F1 +:0469A30000000000F0 +:0469A40000000000EF +:0469A50000000000EE +:0469A60000000000ED +:0469A70000000000EC +:0469A80000000000EB +:0469A90000000000EA +:0469AA0000000000E9 +:0469AB0000000000E8 +:0469AC0000000000E7 +:0469AD0000000000E6 +:0469AE0000000000E5 +:0469AF0000000000E4 +:0469B00000000000E3 +:0469B10000000000E2 +:0469B20000000000E1 +:0469B30000000000E0 +:0469B40000000000DF +:0469B50000000000DE +:0469B60000000000DD +:0469B70000000000DC +:0469B80000000000DB +:0469B90000000000DA +:0469BA0000000000D9 +:0469BB0000000000D8 +:0469BC0000000000D7 +:0469BD0000000000D6 +:0469BE0000000000D5 +:0469BF0000000000D4 +:0469C00000000000D3 +:0469C10000000000D2 +:0469C20000000000D1 +:0469C30000000000D0 +:0469C40000000000CF +:0469C50000000000CE +:0469C60000000000CD +:0469C70000000000CC +:0469C80000000000CB +:0469C90000000000CA +:0469CA0000000000C9 +:0469CB0000000000C8 +:0469CC0000000000C7 +:0469CD0000000000C6 +:0469CE0000000000C5 +:0469CF0000000000C4 +:0469D00000000000C3 +:0469D10000000000C2 +:0469D20000000000C1 +:0469D30000000000C0 +:0469D40000000000BF +:0469D50000000000BE +:0469D60000000000BD +:0469D70000000000BC +:0469D80000000000BB +:0469D90000000000BA +:0469DA0000000000B9 +:0469DB0000000000B8 +:0469DC0000000000B7 +:0469DD0000000000B6 +:0469DE0000000000B5 +:0469DF0000000000B4 +:0469E00000000000B3 +:0469E10000000000B2 +:0469E20000000000B1 +:0469E30000000000B0 +:0469E40000000000AF +:0469E50000000000AE +:0469E60000000000AD +:0469E70000000000AC +:0469E80000000000AB +:0469E90000000000AA +:0469EA0000000000A9 +:0469EB0000000000A8 +:0469EC0000000000A7 +:0469ED0000000000A6 +:0469EE0000000000A5 +:0469EF0000000000A4 +:0469F00000000000A3 +:0469F10000000000A2 +:0469F20000000000A1 +:0469F30000000000A0 +:0469F400000000009F +:0469F500000000009E +:0469F600000000009D +:0469F700000000009C +:0469F800000000009B +:0469F900000000009A +:0469FA000000000099 +:0469FB000000000098 +:0469FC000000000097 +:0469FD000000000096 +:0469FE000000000095 +:0469FF000000000094 +:046A00000000000092 +:046A01000000000091 +:046A02000000000090 +:046A0300000000008F +:046A0400000000008E +:046A0500000000008D +:046A0600000000008C +:046A0700000000008B +:046A0800000000008A +:046A09000000000089 +:046A0A000000000088 +:046A0B000000000087 +:046A0C000000000086 +:046A0D000000000085 +:046A0E000000000084 +:046A0F000000000083 +:046A10000000000082 +:046A11000000000081 +:046A12000000000080 +:046A1300000000007F +:046A1400000000007E +:046A1500000000007D +:046A1600000000007C +:046A1700000000007B +:046A1800000000007A +:046A19000000000079 +:046A1A000000000078 +:046A1B000000000077 +:046A1C000000000076 +:046A1D000000000075 +:046A1E000000000074 +:046A1F000000000073 +:046A20000000000072 +:046A21000000000071 +:046A22000000000070 +:046A2300000000006F +:046A2400000000006E +:046A2500000000006D +:046A2600000000006C +:046A2700000000006B +:046A2800000000006A +:046A29000000000069 +:046A2A000000000068 +:046A2B000000000067 +:046A2C000000000066 +:046A2D000000000065 +:046A2E000000000064 +:046A2F000000000063 +:046A30000000000062 +:046A31000000000061 +:046A32000000000060 +:046A3300000000005F +:046A3400000000005E +:046A3500000000005D +:046A3600000000005C +:046A3700000000005B +:046A3800000000005A +:046A39000000000059 +:046A3A000000000058 +:046A3B000000000057 +:046A3C000000000056 +:046A3D000000000055 +:046A3E000000000054 +:046A3F000000000053 +:046A40000000000052 +:046A41000000000051 +:046A42000000000050 +:046A4300000000004F +:046A4400000000004E +:046A4500000000004D +:046A4600000000004C +:046A4700000000004B +:046A4800000000004A +:046A49000000000049 +:046A4A000000000048 +:046A4B000000000047 +:046A4C000000000046 +:046A4D000000000045 +:046A4E000000000044 +:046A4F000000000043 +:046A50000000000042 +:046A51000000000041 +:046A52000000000040 +:046A5300000000003F +:046A5400000000003E +:046A5500000000003D +:046A5600000000003C +:046A5700000000003B +:046A5800000000003A +:046A59000000000039 +:046A5A000000000038 +:046A5B000000000037 +:046A5C000000000036 +:046A5D000000000035 +:046A5E000000000034 +:046A5F000000000033 +:046A60000000000032 +:046A61000000000031 +:046A62000000000030 +:046A6300000000002F +:046A6400000000002E +:046A6500000000002D +:046A6600000000002C +:046A6700000000002B +:046A6800000000002A +:046A69000000000029 +:046A6A000000000028 +:046A6B000000000027 +:046A6C000000000026 +:046A6D000000000025 +:046A6E000000000024 +:046A6F000000000023 +:046A70000000000022 +:046A71000000000021 +:046A72000000000020 +:046A7300000000001F +:046A7400000000001E +:046A7500000000001D +:046A7600000000001C +:046A7700000000001B +:046A7800000000001A +:046A79000000000019 +:046A7A000000000018 +:046A7B000000000017 +:046A7C000000000016 +:046A7D000000000015 +:046A7E000000000014 +:046A7F000000000013 +:046A80000000000012 +:046A81000000000011 +:046A82000000000010 +:046A8300000000000F +:046A8400000000000E +:046A8500000000000D +:046A8600000000000C +:046A8700000000000B +:046A8800000000000A +:046A89000000000009 +:046A8A000000000008 +:046A8B000000000007 +:046A8C000000000006 +:046A8D000000000005 +:046A8E000000000004 +:046A8F000000000003 +:046A90000000000002 +:046A91000000000001 +:046A92000000000000 +:046A930000000000FF +:046A940000000000FE +:046A950000000000FD +:046A960000000000FC +:046A970000000000FB +:046A980000000000FA +:046A990000000000F9 +:046A9A0000000000F8 +:046A9B0000000000F7 +:046A9C0000000000F6 +:046A9D0000000000F5 +:046A9E0000000000F4 +:046A9F0000000000F3 +:046AA00000000000F2 +:046AA10000000000F1 +:046AA20000000000F0 +:046AA30000000000EF +:046AA40000000000EE +:046AA50000000000ED +:046AA60000000000EC +:046AA70000000000EB +:046AA80000000000EA +:046AA90000000000E9 +:046AAA0000000000E8 +:046AAB0000000000E7 +:046AAC0000000000E6 +:046AAD0000000000E5 +:046AAE0000000000E4 +:046AAF0000000000E3 +:046AB00000000000E2 +:046AB10000000000E1 +:046AB20000000000E0 +:046AB30000000000DF +:046AB40000000000DE +:046AB50000000000DD +:046AB60000000000DC +:046AB70000000000DB +:046AB80000000000DA +:046AB90000000000D9 +:046ABA0000000000D8 +:046ABB0000000000D7 +:046ABC0000000000D6 +:046ABD0000000000D5 +:046ABE0000000000D4 +:046ABF0000000000D3 +:046AC00000000000D2 +:046AC10000000000D1 +:046AC20000000000D0 +:046AC30000000000CF +:046AC40000000000CE +:046AC50000000000CD +:046AC60000000000CC +:046AC70000000000CB +:046AC80000000000CA +:046AC90000000000C9 +:046ACA0000000000C8 +:046ACB0000000000C7 +:046ACC0000000000C6 +:046ACD0000000000C5 +:046ACE0000000000C4 +:046ACF0000000000C3 +:046AD00000000000C2 +:046AD10000000000C1 +:046AD20000000000C0 +:046AD30000000000BF +:046AD40000000000BE +:046AD50000000000BD +:046AD60000000000BC +:046AD70000000000BB +:046AD80000000000BA +:046AD90000000000B9 +:046ADA0000000000B8 +:046ADB0000000000B7 +:046ADC0000000000B6 +:046ADD0000000000B5 +:046ADE0000000000B4 +:046ADF0000000000B3 +:046AE00000000000B2 +:046AE10000000000B1 +:046AE20000000000B0 +:046AE30000000000AF +:046AE40000000000AE +:046AE50000000000AD +:046AE60000000000AC +:046AE70000000000AB +:046AE80000000000AA +:046AE90000000000A9 +:046AEA0000000000A8 +:046AEB0000000000A7 +:046AEC0000000000A6 +:046AED0000000000A5 +:046AEE0000000000A4 +:046AEF0000000000A3 +:046AF00000000000A2 +:046AF10000000000A1 +:046AF20000000000A0 +:046AF300000000009F +:046AF400000000009E +:046AF500000000009D +:046AF600000000009C +:046AF700000000009B +:046AF800000000009A +:046AF9000000000099 +:046AFA000000000098 +:046AFB000000000097 +:046AFC000000000096 +:046AFD000000000095 +:046AFE000000000094 +:046AFF000000000093 +:046B00000000000091 +:046B01000000000090 +:046B0200000000008F +:046B0300000000008E +:046B0400000000008D +:046B0500000000008C +:046B0600000000008B +:046B0700000000008A +:046B08000000000089 +:046B09000000000088 +:046B0A000000000087 +:046B0B000000000086 +:046B0C000000000085 +:046B0D000000000084 +:046B0E000000000083 +:046B0F000000000082 +:046B10000000000081 +:046B11000000000080 +:046B1200000000007F +:046B1300000000007E +:046B1400000000007D +:046B1500000000007C +:046B1600000000007B +:046B1700000000007A +:046B18000000000079 +:046B19000000000078 +:046B1A000000000077 +:046B1B000000000076 +:046B1C000000000075 +:046B1D000000000074 +:046B1E000000000073 +:046B1F000000000072 +:046B20000000000071 +:046B21000000000070 +:046B2200000000006F +:046B2300000000006E +:046B2400000000006D +:046B2500000000006C +:046B2600000000006B +:046B2700000000006A +:046B28000000000069 +:046B29000000000068 +:046B2A000000000067 +:046B2B000000000066 +:046B2C000000000065 +:046B2D000000000064 +:046B2E000000000063 +:046B2F000000000062 +:046B30000000000061 +:046B31000000000060 +:046B3200000000005F +:046B3300000000005E +:046B3400000000005D +:046B3500000000005C +:046B3600000000005B +:046B3700000000005A +:046B38000000000059 +:046B39000000000058 +:046B3A000000000057 +:046B3B000000000056 +:046B3C000000000055 +:046B3D000000000054 +:046B3E000000000053 +:046B3F000000000052 +:046B40000000000051 +:046B41000000000050 +:046B4200000000004F +:046B4300000000004E +:046B4400000000004D +:046B4500000000004C +:046B4600000000004B +:046B4700000000004A +:046B48000000000049 +:046B49000000000048 +:046B4A000000000047 +:046B4B000000000046 +:046B4C000000000045 +:046B4D000000000044 +:046B4E000000000043 +:046B4F000000000042 +:046B50000000000041 +:046B51000000000040 +:046B5200000000003F +:046B5300000000003E +:046B5400000000003D +:046B5500000000003C +:046B5600000000003B +:046B5700000000003A +:046B58000000000039 +:046B59000000000038 +:046B5A000000000037 +:046B5B000000000036 +:046B5C000000000035 +:046B5D000000000034 +:046B5E000000000033 +:046B5F000000000032 +:046B60000000000031 +:046B61000000000030 +:046B6200000000002F +:046B6300000000002E +:046B6400000000002D +:046B6500000000002C +:046B6600000000002B +:046B6700000000002A +:046B68000000000029 +:046B69000000000028 +:046B6A000000000027 +:046B6B000000000026 +:046B6C000000000025 +:046B6D000000000024 +:046B6E000000000023 +:046B6F000000000022 +:046B70000000000021 +:046B71000000000020 +:046B7200000000001F +:046B7300000000001E +:046B7400000000001D +:046B7500000000001C +:046B7600000000001B +:046B7700000000001A +:046B78000000000019 +:046B79000000000018 +:046B7A000000000017 +:046B7B000000000016 +:046B7C000000000015 +:046B7D000000000014 +:046B7E000000000013 +:046B7F000000000012 +:046B80000000000011 +:046B81000000000010 +:046B8200000000000F +:046B8300000000000E +:046B8400000000000D +:046B8500000000000C +:046B8600000000000B +:046B8700000000000A +:046B88000000000009 +:046B89000000000008 +:046B8A000000000007 +:046B8B000000000006 +:046B8C000000000005 +:046B8D000000000004 +:046B8E000000000003 +:046B8F000000000002 +:046B90000000000001 +:046B91000000000000 +:046B920000000000FF +:046B930000000000FE +:046B940000000000FD +:046B950000000000FC +:046B960000000000FB +:046B970000000000FA +:046B980000000000F9 +:046B990000000000F8 +:046B9A0000000000F7 +:046B9B0000000000F6 +:046B9C0000000000F5 +:046B9D0000000000F4 +:046B9E0000000000F3 +:046B9F0000000000F2 +:046BA00000000000F1 +:046BA10000000000F0 +:046BA20000000000EF +:046BA30000000000EE +:046BA40000000000ED +:046BA50000000000EC +:046BA60000000000EB +:046BA70000000000EA +:046BA80000000000E9 +:046BA90000000000E8 +:046BAA0000000000E7 +:046BAB0000000000E6 +:046BAC0000000000E5 +:046BAD0000000000E4 +:046BAE0000000000E3 +:046BAF0000000000E2 +:046BB00000000000E1 +:046BB10000000000E0 +:046BB20000000000DF +:046BB30000000000DE +:046BB40000000000DD +:046BB50000000000DC +:046BB60000000000DB +:046BB70000000000DA +:046BB80000000000D9 +:046BB90000000000D8 +:046BBA0000000000D7 +:046BBB0000000000D6 +:046BBC0000000000D5 +:046BBD0000000000D4 +:046BBE0000000000D3 +:046BBF0000000000D2 +:046BC00000000000D1 +:046BC10000000000D0 +:046BC20000000000CF +:046BC30000000000CE +:046BC40000000000CD +:046BC50000000000CC +:046BC60000000000CB +:046BC70000000000CA +:046BC80000000000C9 +:046BC90000000000C8 +:046BCA0000000000C7 +:046BCB0000000000C6 +:046BCC0000000000C5 +:046BCD0000000000C4 +:046BCE0000000000C3 +:046BCF0000000000C2 +:046BD00000000000C1 +:046BD10000000000C0 +:046BD20000000000BF +:046BD30000000000BE +:046BD40000000000BD +:046BD50000000000BC +:046BD60000000000BB +:046BD70000000000BA +:046BD80000000000B9 +:046BD90000000000B8 +:046BDA0000000000B7 +:046BDB0000000000B6 +:046BDC0000000000B5 +:046BDD0000000000B4 +:046BDE0000000000B3 +:046BDF0000000000B2 +:046BE00000000000B1 +:046BE10000000000B0 +:046BE20000000000AF +:046BE30000000000AE +:046BE40000000000AD +:046BE50000000000AC +:046BE60000000000AB +:046BE70000000000AA +:046BE80000000000A9 +:046BE90000000000A8 +:046BEA0000000000A7 +:046BEB0000000000A6 +:046BEC0000000000A5 +:046BED0000000000A4 +:046BEE0000000000A3 +:046BEF0000000000A2 +:046BF00000000000A1 +:046BF10000000000A0 +:046BF200000000009F +:046BF300000000009E +:046BF400000000009D +:046BF500000000009C +:046BF600000000009B +:046BF700000000009A +:046BF8000000000099 +:046BF9000000000098 +:046BFA000000000097 +:046BFB000000000096 +:046BFC000000000095 +:046BFD000000000094 +:046BFE000000000093 +:046BFF000000000092 +:046C00000000000090 +:046C0100000000008F +:046C0200000000008E +:046C0300000000008D +:046C0400000000008C +:046C0500000000008B +:046C0600000000008A +:046C07000000000089 +:046C08000000000088 +:046C09000000000087 +:046C0A000000000086 +:046C0B000000000085 +:046C0C000000000084 +:046C0D000000000083 +:046C0E000000000082 +:046C0F000000000081 +:046C10000000000080 +:046C1100000000007F +:046C1200000000007E +:046C1300000000007D +:046C1400000000007C +:046C1500000000007B +:046C1600000000007A +:046C17000000000079 +:046C18000000000078 +:046C19000000000077 +:046C1A000000000076 +:046C1B000000000075 +:046C1C000000000074 +:046C1D000000000073 +:046C1E000000000072 +:046C1F000000000071 +:046C20000000000070 +:046C2100000000006F +:046C2200000000006E +:046C2300000000006D +:046C2400000000006C +:046C2500000000006B +:046C2600000000006A +:046C27000000000069 +:046C28000000000068 +:046C29000000000067 +:046C2A000000000066 +:046C2B000000000065 +:046C2C000000000064 +:046C2D000000000063 +:046C2E000000000062 +:046C2F000000000061 +:046C30000000000060 +:046C3100000000005F +:046C3200000000005E +:046C3300000000005D +:046C3400000000005C +:046C3500000000005B +:046C3600000000005A +:046C37000000000059 +:046C38000000000058 +:046C39000000000057 +:046C3A000000000056 +:046C3B000000000055 +:046C3C000000000054 +:046C3D000000000053 +:046C3E000000000052 +:046C3F000000000051 +:046C40000000000050 +:046C4100000000004F +:046C4200000000004E +:046C4300000000004D +:046C4400000000004C +:046C4500000000004B +:046C4600000000004A +:046C47000000000049 +:046C48000000000048 +:046C49000000000047 +:046C4A000000000046 +:046C4B000000000045 +:046C4C000000000044 +:046C4D000000000043 +:046C4E000000000042 +:046C4F000000000041 +:046C50000000000040 +:046C5100000000003F +:046C5200000000003E +:046C5300000000003D +:046C5400000000003C +:046C5500000000003B +:046C5600000000003A +:046C57000000000039 +:046C58000000000038 +:046C59000000000037 +:046C5A000000000036 +:046C5B000000000035 +:046C5C000000000034 +:046C5D000000000033 +:046C5E000000000032 +:046C5F000000000031 +:046C60000000000030 +:046C6100000000002F +:046C6200000000002E +:046C6300000000002D +:046C6400000000002C +:046C6500000000002B +:046C6600000000002A +:046C67000000000029 +:046C68000000000028 +:046C69000000000027 +:046C6A000000000026 +:046C6B000000000025 +:046C6C000000000024 +:046C6D000000000023 +:046C6E000000000022 +:046C6F000000000021 +:046C70000000000020 +:046C7100000000001F +:046C7200000000001E +:046C7300000000001D +:046C7400000000001C +:046C7500000000001B +:046C7600000000001A +:046C77000000000019 +:046C78000000000018 +:046C79000000000017 +:046C7A000000000016 +:046C7B000000000015 +:046C7C000000000014 +:046C7D000000000013 +:046C7E000000000012 +:046C7F000000000011 +:046C80000000000010 +:046C8100000000000F +:046C8200000000000E +:046C8300000000000D +:046C8400000000000C +:046C8500000000000B +:046C8600000000000A +:046C87000000000009 +:046C88000000000008 +:046C89000000000007 +:046C8A000000000006 +:046C8B000000000005 +:046C8C000000000004 +:046C8D000000000003 +:046C8E000000000002 +:046C8F000000000001 +:046C90000000000000 +:046C910000000000FF +:046C920000000000FE +:046C930000000000FD +:046C940000000000FC +:046C950000000000FB +:046C960000000000FA +:046C970000000000F9 +:046C980000000000F8 +:046C990000000000F7 +:046C9A0000000000F6 +:046C9B0000000000F5 +:046C9C0000000000F4 +:046C9D0000000000F3 +:046C9E0000000000F2 +:046C9F0000000000F1 +:046CA00000000000F0 +:046CA10000000000EF +:046CA20000000000EE +:046CA30000000000ED +:046CA40000000000EC +:046CA50000000000EB +:046CA60000000000EA +:046CA70000000000E9 +:046CA80000000000E8 +:046CA90000000000E7 +:046CAA0000000000E6 +:046CAB0000000000E5 +:046CAC0000000000E4 +:046CAD0000000000E3 +:046CAE0000000000E2 +:046CAF0000000000E1 +:046CB00000000000E0 +:046CB10000000000DF +:046CB20000000000DE +:046CB30000000000DD +:046CB40000000000DC +:046CB50000000000DB +:046CB60000000000DA +:046CB70000000000D9 +:046CB80000000000D8 +:046CB90000000000D7 +:046CBA0000000000D6 +:046CBB0000000000D5 +:046CBC0000000000D4 +:046CBD0000000000D3 +:046CBE0000000000D2 +:046CBF0000000000D1 +:046CC00000000000D0 +:046CC10000000000CF +:046CC20000000000CE +:046CC30000000000CD +:046CC40000000000CC +:046CC50000000000CB +:046CC60000000000CA +:046CC70000000000C9 +:046CC80000000000C8 +:046CC90000000000C7 +:046CCA0000000000C6 +:046CCB0000000000C5 +:046CCC0000000000C4 +:046CCD0000000000C3 +:046CCE0000000000C2 +:046CCF0000000000C1 +:046CD00000000000C0 +:046CD10000000000BF +:046CD20000000000BE +:046CD30000000000BD +:046CD40000000000BC +:046CD50000000000BB +:046CD60000000000BA +:046CD70000000000B9 +:046CD80000000000B8 +:046CD90000000000B7 +:046CDA0000000000B6 +:046CDB0000000000B5 +:046CDC0000000000B4 +:046CDD0000000000B3 +:046CDE0000000000B2 +:046CDF0000000000B1 +:046CE00000000000B0 +:046CE10000000000AF +:046CE20000000000AE +:046CE30000000000AD +:046CE40000000000AC +:046CE50000000000AB +:046CE60000000000AA +:046CE70000000000A9 +:046CE80000000000A8 +:046CE90000000000A7 +:046CEA0000000000A6 +:046CEB0000000000A5 +:046CEC0000000000A4 +:046CED0000000000A3 +:046CEE0000000000A2 +:046CEF0000000000A1 +:046CF00000000000A0 +:046CF100000000009F +:046CF200000000009E +:046CF300000000009D +:046CF400000000009C +:046CF500000000009B +:046CF600000000009A +:046CF7000000000099 +:046CF8000000000098 +:046CF9000000000097 +:046CFA000000000096 +:046CFB000000000095 +:046CFC000000000094 +:046CFD000000000093 +:046CFE000000000092 +:046CFF000000000091 +:046D0000000000008F +:046D0100000000008E +:046D0200000000008D +:046D0300000000008C +:046D0400000000008B +:046D0500000000008A +:046D06000000000089 +:046D07000000000088 +:046D08000000000087 +:046D09000000000086 +:046D0A000000000085 +:046D0B000000000084 +:046D0C000000000083 +:046D0D000000000082 +:046D0E000000000081 +:046D0F000000000080 +:046D1000000000007F +:046D1100000000007E +:046D1200000000007D +:046D1300000000007C +:046D1400000000007B +:046D1500000000007A +:046D16000000000079 +:046D17000000000078 +:046D18000000000077 +:046D19000000000076 +:046D1A000000000075 +:046D1B000000000074 +:046D1C000000000073 +:046D1D000000000072 +:046D1E000000000071 +:046D1F000000000070 +:046D2000000000006F +:046D2100000000006E +:046D2200000000006D +:046D2300000000006C +:046D2400000000006B +:046D2500000000006A +:046D26000000000069 +:046D27000000000068 +:046D28000000000067 +:046D29000000000066 +:046D2A000000000065 +:046D2B000000000064 +:046D2C000000000063 +:046D2D000000000062 +:046D2E000000000061 +:046D2F000000000060 +:046D3000000000005F +:046D3100000000005E +:046D3200000000005D +:046D3300000000005C +:046D3400000000005B +:046D3500000000005A +:046D36000000000059 +:046D37000000000058 +:046D38000000000057 +:046D39000000000056 +:046D3A000000000055 +:046D3B000000000054 +:046D3C000000000053 +:046D3D000000000052 +:046D3E000000000051 +:046D3F000000000050 +:046D4000000000004F +:046D4100000000004E +:046D4200000000004D +:046D4300000000004C +:046D4400000000004B +:046D4500000000004A +:046D46000000000049 +:046D47000000000048 +:046D48000000000047 +:046D49000000000046 +:046D4A000000000045 +:046D4B000000000044 +:046D4C000000000043 +:046D4D000000000042 +:046D4E000000000041 +:046D4F000000000040 +:046D5000000000003F +:046D5100000000003E +:046D5200000000003D +:046D5300000000003C +:046D5400000000003B +:046D5500000000003A +:046D56000000000039 +:046D57000000000038 +:046D58000000000037 +:046D59000000000036 +:046D5A000000000035 +:046D5B000000000034 +:046D5C000000000033 +:046D5D000000000032 +:046D5E000000000031 +:046D5F000000000030 +:046D6000000000002F +:046D6100000000002E +:046D6200000000002D +:046D6300000000002C +:046D6400000000002B +:046D6500000000002A +:046D66000000000029 +:046D67000000000028 +:046D68000000000027 +:046D69000000000026 +:046D6A000000000025 +:046D6B000000000024 +:046D6C000000000023 +:046D6D000000000022 +:046D6E000000000021 +:046D6F000000000020 +:046D7000000000001F +:046D7100000000001E +:046D7200000000001D +:046D7300000000001C +:046D7400000000001B +:046D7500000000001A +:046D76000000000019 +:046D77000000000018 +:046D78000000000017 +:046D79000000000016 +:046D7A000000000015 +:046D7B000000000014 +:046D7C000000000013 +:046D7D000000000012 +:046D7E000000000011 +:046D7F000000000010 +:046D8000000000000F +:046D8100000000000E +:046D8200000000000D +:046D8300000000000C +:046D8400000000000B +:046D8500000000000A +:046D86000000000009 +:046D87000000000008 +:046D88000000000007 +:046D89000000000006 +:046D8A000000000005 +:046D8B000000000004 +:046D8C000000000003 +:046D8D000000000002 +:046D8E000000000001 +:046D8F000000000000 +:046D900000000000FF +:046D910000000000FE +:046D920000000000FD +:046D930000000000FC +:046D940000000000FB +:046D950000000000FA +:046D960000000000F9 +:046D970000000000F8 +:046D980000000000F7 +:046D990000000000F6 +:046D9A0000000000F5 +:046D9B0000000000F4 +:046D9C0000000000F3 +:046D9D0000000000F2 +:046D9E0000000000F1 +:046D9F0000000000F0 +:046DA00000000000EF +:046DA10000000000EE +:046DA20000000000ED +:046DA30000000000EC +:046DA40000000000EB +:046DA50000000000EA +:046DA60000000000E9 +:046DA70000000000E8 +:046DA80000000000E7 +:046DA90000000000E6 +:046DAA0000000000E5 +:046DAB0000000000E4 +:046DAC0000000000E3 +:046DAD0000000000E2 +:046DAE0000000000E1 +:046DAF0000000000E0 +:046DB00000000000DF +:046DB10000000000DE +:046DB20000000000DD +:046DB30000000000DC +:046DB40000000000DB +:046DB50000000000DA +:046DB60000000000D9 +:046DB70000000000D8 +:046DB80000000000D7 +:046DB90000000000D6 +:046DBA0000000000D5 +:046DBB0000000000D4 +:046DBC0000000000D3 +:046DBD0000000000D2 +:046DBE0000000000D1 +:046DBF0000000000D0 +:046DC00000000000CF +:046DC10000000000CE +:046DC20000000000CD +:046DC30000000000CC +:046DC40000000000CB +:046DC50000000000CA +:046DC60000000000C9 +:046DC70000000000C8 +:046DC80000000000C7 +:046DC90000000000C6 +:046DCA0000000000C5 +:046DCB0000000000C4 +:046DCC0000000000C3 +:046DCD0000000000C2 +:046DCE0000000000C1 +:046DCF0000000000C0 +:046DD00000000000BF +:046DD10000000000BE +:046DD20000000000BD +:046DD30000000000BC +:046DD40000000000BB +:046DD50000000000BA +:046DD60000000000B9 +:046DD70000000000B8 +:046DD80000000000B7 +:046DD90000000000B6 +:046DDA0000000000B5 +:046DDB0000000000B4 +:046DDC0000000000B3 +:046DDD0000000000B2 +:046DDE0000000000B1 +:046DDF0000000000B0 +:046DE00000000000AF +:046DE10000000000AE +:046DE20000000000AD +:046DE30000000000AC +:046DE40000000000AB +:046DE50000000000AA +:046DE60000000000A9 +:046DE70000000000A8 +:046DE80000000000A7 +:046DE90000000000A6 +:046DEA0000000000A5 +:046DEB0000000000A4 +:046DEC0000000000A3 +:046DED0000000000A2 +:046DEE0000000000A1 +:046DEF0000000000A0 +:046DF000000000009F +:046DF100000000009E +:046DF200000000009D +:046DF300000000009C +:046DF400000000009B +:046DF500000000009A +:046DF6000000000099 +:046DF7000000000098 +:046DF8000000000097 +:046DF9000000000096 +:046DFA000000000095 +:046DFB000000000094 +:046DFC000000000093 +:046DFD000000000092 +:046DFE000000000091 +:046DFF000000000090 +:046E0000000000008E +:046E0100000000008D +:046E0200000000008C +:046E0300000000008B +:046E0400000000008A +:046E05000000000089 +:046E06000000000088 +:046E07000000000087 +:046E08000000000086 +:046E09000000000085 +:046E0A000000000084 +:046E0B000000000083 +:046E0C000000000082 +:046E0D000000000081 +:046E0E000000000080 +:046E0F00000000007F +:046E1000000000007E +:046E1100000000007D +:046E1200000000007C +:046E1300000000007B +:046E1400000000007A +:046E15000000000079 +:046E16000000000078 +:046E17000000000077 +:046E18000000000076 +:046E19000000000075 +:046E1A000000000074 +:046E1B000000000073 +:046E1C000000000072 +:046E1D000000000071 +:046E1E000000000070 +:046E1F00000000006F +:046E2000000000006E +:046E2100000000006D +:046E2200000000006C +:046E2300000000006B +:046E2400000000006A +:046E25000000000069 +:046E26000000000068 +:046E27000000000067 +:046E28000000000066 +:046E29000000000065 +:046E2A000000000064 +:046E2B000000000063 +:046E2C000000000062 +:046E2D000000000061 +:046E2E000000000060 +:046E2F00000000005F +:046E3000000000005E +:046E3100000000005D +:046E3200000000005C +:046E3300000000005B +:046E3400000000005A +:046E35000000000059 +:046E36000000000058 +:046E37000000000057 +:046E38000000000056 +:046E39000000000055 +:046E3A000000000054 +:046E3B000000000053 +:046E3C000000000052 +:046E3D000000000051 +:046E3E000000000050 +:046E3F00000000004F +:046E4000000000004E +:046E4100000000004D +:046E4200000000004C +:046E4300000000004B +:046E4400000000004A +:046E45000000000049 +:046E46000000000048 +:046E47000000000047 +:046E48000000000046 +:046E49000000000045 +:046E4A000000000044 +:046E4B000000000043 +:046E4C000000000042 +:046E4D000000000041 +:046E4E000000000040 +:046E4F00000000003F +:046E5000000000003E +:046E5100000000003D +:046E5200000000003C +:046E5300000000003B +:046E5400000000003A +:046E55000000000039 +:046E56000000000038 +:046E57000000000037 +:046E58000000000036 +:046E59000000000035 +:046E5A000000000034 +:046E5B000000000033 +:046E5C000000000032 +:046E5D000000000031 +:046E5E000000000030 +:046E5F00000000002F +:046E6000000000002E +:046E6100000000002D +:046E6200000000002C +:046E6300000000002B +:046E6400000000002A +:046E65000000000029 +:046E66000000000028 +:046E67000000000027 +:046E68000000000026 +:046E69000000000025 +:046E6A000000000024 +:046E6B000000000023 +:046E6C000000000022 +:046E6D000000000021 +:046E6E000000000020 +:046E6F00000000001F +:046E7000000000001E +:046E7100000000001D +:046E7200000000001C +:046E7300000000001B +:046E7400000000001A +:046E75000000000019 +:046E76000000000018 +:046E77000000000017 +:046E78000000000016 +:046E79000000000015 +:046E7A000000000014 +:046E7B000000000013 +:046E7C000000000012 +:046E7D000000000011 +:046E7E000000000010 +:046E7F00000000000F +:046E8000000000000E +:046E8100000000000D +:046E8200000000000C +:046E8300000000000B +:046E8400000000000A +:046E85000000000009 +:046E86000000000008 +:046E87000000000007 +:046E88000000000006 +:046E89000000000005 +:046E8A000000000004 +:046E8B000000000003 +:046E8C000000000002 +:046E8D000000000001 +:046E8E000000000000 +:046E8F0000000000FF +:046E900000000000FE +:046E910000000000FD +:046E920000000000FC +:046E930000000000FB +:046E940000000000FA +:046E950000000000F9 +:046E960000000000F8 +:046E970000000000F7 +:046E980000000000F6 +:046E990000000000F5 +:046E9A0000000000F4 +:046E9B0000000000F3 +:046E9C0000000000F2 +:046E9D0000000000F1 +:046E9E0000000000F0 +:046E9F0000000000EF +:046EA00000000000EE +:046EA10000000000ED +:046EA20000000000EC +:046EA30000000000EB +:046EA40000000000EA +:046EA50000000000E9 +:046EA60000000000E8 +:046EA70000000000E7 +:046EA80000000000E6 +:046EA90000000000E5 +:046EAA0000000000E4 +:046EAB0000000000E3 +:046EAC0000000000E2 +:046EAD0000000000E1 +:046EAE0000000000E0 +:046EAF0000000000DF +:046EB00000000000DE +:046EB10000000000DD +:046EB20000000000DC +:046EB30000000000DB +:046EB40000000000DA +:046EB50000000000D9 +:046EB60000000000D8 +:046EB70000000000D7 +:046EB80000000000D6 +:046EB90000000000D5 +:046EBA0000000000D4 +:046EBB0000000000D3 +:046EBC0000000000D2 +:046EBD0000000000D1 +:046EBE0000000000D0 +:046EBF0000000000CF +:046EC00000000000CE +:046EC10000000000CD +:046EC20000000000CC +:046EC30000000000CB +:046EC40000000000CA +:046EC50000000000C9 +:046EC60000000000C8 +:046EC70000000000C7 +:046EC80000000000C6 +:046EC90000000000C5 +:046ECA0000000000C4 +:046ECB0000000000C3 +:046ECC0000000000C2 +:046ECD0000000000C1 +:046ECE0000000000C0 +:046ECF0000000000BF +:046ED00000000000BE +:046ED10000000000BD +:046ED20000000000BC +:046ED30000000000BB +:046ED40000000000BA +:046ED50000000000B9 +:046ED60000000000B8 +:046ED70000000000B7 +:046ED80000000000B6 +:046ED90000000000B5 +:046EDA0000000000B4 +:046EDB0000000000B3 +:046EDC0000000000B2 +:046EDD0000000000B1 +:046EDE0000000000B0 +:046EDF0000000000AF +:046EE00000000000AE +:046EE10000000000AD +:046EE20000000000AC +:046EE30000000000AB +:046EE40000000000AA +:046EE50000000000A9 +:046EE60000000000A8 +:046EE70000000000A7 +:046EE80000000000A6 +:046EE90000000000A5 +:046EEA0000000000A4 +:046EEB0000000000A3 +:046EEC0000000000A2 +:046EED0000000000A1 +:046EEE0000000000A0 +:046EEF00000000009F +:046EF000000000009E +:046EF100000000009D +:046EF200000000009C +:046EF300000000009B +:046EF400000000009A +:046EF5000000000099 +:046EF6000000000098 +:046EF7000000000097 +:046EF8000000000096 +:046EF9000000000095 +:046EFA000000000094 +:046EFB000000000093 +:046EFC000000000092 +:046EFD000000000091 +:046EFE000000000090 +:046EFF00000000008F +:046F0000000000008D +:046F0100000000008C +:046F0200000000008B +:046F0300000000008A +:046F04000000000089 +:046F05000000000088 +:046F06000000000087 +:046F07000000000086 +:046F08000000000085 +:046F09000000000084 +:046F0A000000000083 +:046F0B000000000082 +:046F0C000000000081 +:046F0D000000000080 +:046F0E00000000007F +:046F0F00000000007E +:046F1000000000007D +:046F1100000000007C +:046F1200000000007B +:046F1300000000007A +:046F14000000000079 +:046F15000000000078 +:046F16000000000077 +:046F17000000000076 +:046F18000000000075 +:046F19000000000074 +:046F1A000000000073 +:046F1B000000000072 +:046F1C000000000071 +:046F1D000000000070 +:046F1E00000000006F +:046F1F00000000006E +:046F2000000000006D +:046F2100000000006C +:046F2200000000006B +:046F2300000000006A +:046F24000000000069 +:046F25000000000068 +:046F26000000000067 +:046F27000000000066 +:046F28000000000065 +:046F29000000000064 +:046F2A000000000063 +:046F2B000000000062 +:046F2C000000000061 +:046F2D000000000060 +:046F2E00000000005F +:046F2F00000000005E +:046F3000000000005D +:046F3100000000005C +:046F3200000000005B +:046F3300000000005A +:046F34000000000059 +:046F35000000000058 +:046F36000000000057 +:046F37000000000056 +:046F38000000000055 +:046F39000000000054 +:046F3A000000000053 +:046F3B000000000052 +:046F3C000000000051 +:046F3D000000000050 +:046F3E00000000004F +:046F3F00000000004E +:046F4000000000004D +:046F4100000000004C +:046F4200000000004B +:046F4300000000004A +:046F44000000000049 +:046F45000000000048 +:046F46000000000047 +:046F47000000000046 +:046F48000000000045 +:046F49000000000044 +:046F4A000000000043 +:046F4B000000000042 +:046F4C000000000041 +:046F4D000000000040 +:046F4E00000000003F +:046F4F00000000003E +:046F5000000000003D +:046F5100000000003C +:046F5200000000003B +:046F5300000000003A +:046F54000000000039 +:046F55000000000038 +:046F56000000000037 +:046F57000000000036 +:046F58000000000035 +:046F59000000000034 +:046F5A000000000033 +:046F5B000000000032 +:046F5C000000000031 +:046F5D000000000030 +:046F5E00000000002F +:046F5F00000000002E +:046F6000000000002D +:046F6100000000002C +:046F6200000000002B +:046F6300000000002A +:046F64000000000029 +:046F65000000000028 +:046F66000000000027 +:046F67000000000026 +:046F68000000000025 +:046F69000000000024 +:046F6A000000000023 +:046F6B000000000022 +:046F6C000000000021 +:046F6D000000000020 +:046F6E00000000001F +:046F6F00000000001E +:046F7000000000001D +:046F7100000000001C +:046F7200000000001B +:046F7300000000001A +:046F74000000000019 +:046F75000000000018 +:046F76000000000017 +:046F77000000000016 +:046F78000000000015 +:046F79000000000014 +:046F7A000000000013 +:046F7B000000000012 +:046F7C000000000011 +:046F7D000000000010 +:046F7E00000000000F +:046F7F00000000000E +:046F8000000000000D +:046F8100000000000C +:046F8200000000000B +:046F8300000000000A +:046F84000000000009 +:046F85000000000008 +:046F86000000000007 +:046F87000000000006 +:046F88000000000005 +:046F89000000000004 +:046F8A000000000003 +:046F8B000000000002 +:046F8C000000000001 +:046F8D000000000000 +:046F8E0000000000FF +:046F8F0000000000FE +:046F900000000000FD +:046F910000000000FC +:046F920000000000FB +:046F930000000000FA +:046F940000000000F9 +:046F950000000000F8 +:046F960000000000F7 +:046F970000000000F6 +:046F980000000000F5 +:046F990000000000F4 +:046F9A0000000000F3 +:046F9B0000000000F2 +:046F9C0000000000F1 +:046F9D0000000000F0 +:046F9E0000000000EF +:046F9F0000000000EE +:046FA00000000000ED +:046FA10000000000EC +:046FA20000000000EB +:046FA30000000000EA +:046FA40000000000E9 +:046FA50000000000E8 +:046FA60000000000E7 +:046FA70000000000E6 +:046FA80000000000E5 +:046FA90000000000E4 +:046FAA0000000000E3 +:046FAB0000000000E2 +:046FAC0000000000E1 +:046FAD0000000000E0 +:046FAE0000000000DF +:046FAF0000000000DE +:046FB00000000000DD +:046FB10000000000DC +:046FB20000000000DB +:046FB30000000000DA +:046FB40000000000D9 +:046FB50000000000D8 +:046FB60000000000D7 +:046FB70000000000D6 +:046FB80000000000D5 +:046FB90000000000D4 +:046FBA0000000000D3 +:046FBB0000000000D2 +:046FBC0000000000D1 +:046FBD0000000000D0 +:046FBE0000000000CF +:046FBF0000000000CE +:046FC00000000000CD +:046FC10000000000CC +:046FC20000000000CB +:046FC30000000000CA +:046FC40000000000C9 +:046FC50000000000C8 +:046FC60000000000C7 +:046FC70000000000C6 +:046FC80000000000C5 +:046FC90000000000C4 +:046FCA0000000000C3 +:046FCB0000000000C2 +:046FCC0000000000C1 +:046FCD0000000000C0 +:046FCE0000000000BF +:046FCF0000000000BE +:046FD00000000000BD +:046FD10000000000BC +:046FD20000000000BB +:046FD30000000000BA +:046FD40000000000B9 +:046FD50000000000B8 +:046FD60000000000B7 +:046FD70000000000B6 +:046FD80000000000B5 +:046FD90000000000B4 +:046FDA0000000000B3 +:046FDB0000000000B2 +:046FDC0000000000B1 +:046FDD0000000000B0 +:046FDE0000000000AF +:046FDF0000000000AE +:046FE00000000000AD +:046FE10000000000AC +:046FE20000000000AB +:046FE30000000000AA +:046FE40000000000A9 +:046FE50000000000A8 +:046FE60000000000A7 +:046FE70000000000A6 +:046FE80000000000A5 +:046FE90000000000A4 +:046FEA0000000000A3 +:046FEB0000000000A2 +:046FEC0000000000A1 +:046FED0000000000A0 +:046FEE00000000009F +:046FEF00000000009E +:046FF000000000009D +:046FF100000000009C +:046FF200000000009B +:046FF300000000009A +:046FF4000000000099 +:046FF5000000000098 +:046FF6000000000097 +:046FF7000000000096 +:046FF8000000000095 +:046FF9000000000094 +:046FFA000000000093 +:046FFB000000000092 +:046FFC000000000091 +:046FFD000000000090 +:046FFE00000000008F +:046FFF00000000008E +:04700000000000008C +:04700100000000008B +:04700200000000008A +:047003000000000089 +:047004000000000088 +:047005000000000087 +:047006000000000086 +:047007000000000085 +:047008000000000084 +:047009000000000083 +:04700A000000000082 +:04700B000000000081 +:04700C000000000080 +:04700D00000000007F +:04700E00000000007E +:04700F00000000007D +:04701000000000007C +:04701100000000007B +:04701200000000007A +:047013000000000079 +:047014000000000078 +:047015000000000077 +:047016000000000076 +:047017000000000075 +:047018000000000074 +:047019000000000073 +:04701A000000000072 +:04701B000000000071 +:04701C000000000070 +:04701D00000000006F +:04701E00000000006E +:04701F00000000006D +:04702000000000006C +:04702100000000006B +:04702200000000006A +:047023000000000069 +:047024000000000068 +:047025000000000067 +:047026000000000066 +:047027000000000065 +:047028000000000064 +:047029000000000063 +:04702A000000000062 +:04702B000000000061 +:04702C000000000060 +:04702D00000000005F +:04702E00000000005E +:04702F00000000005D +:04703000000000005C +:04703100000000005B +:04703200000000005A +:047033000000000059 +:047034000000000058 +:047035000000000057 +:047036000000000056 +:047037000000000055 +:047038000000000054 +:047039000000000053 +:04703A000000000052 +:04703B000000000051 +:04703C000000000050 +:04703D00000000004F +:04703E00000000004E +:04703F00000000004D +:04704000000000004C +:04704100000000004B +:04704200000000004A +:047043000000000049 +:047044000000000048 +:047045000000000047 +:047046000000000046 +:047047000000000045 +:047048000000000044 +:047049000000000043 +:04704A000000000042 +:04704B000000000041 +:04704C000000000040 +:04704D00000000003F +:04704E00000000003E +:04704F00000000003D +:04705000000000003C +:04705100000000003B +:04705200000000003A +:047053000000000039 +:047054000000000038 +:047055000000000037 +:047056000000000036 +:047057000000000035 +:047058000000000034 +:047059000000000033 +:04705A000000000032 +:04705B000000000031 +:04705C000000000030 +:04705D00000000002F +:04705E00000000002E +:04705F00000000002D +:04706000000000002C +:04706100000000002B +:04706200000000002A +:047063000000000029 +:047064000000000028 +:047065000000000027 +:047066000000000026 +:047067000000000025 +:047068000000000024 +:047069000000000023 +:04706A000000000022 +:04706B000000000021 +:04706C000000000020 +:04706D00000000001F +:04706E00000000001E +:04706F00000000001D +:04707000000000001C +:04707100000000001B +:04707200000000001A +:047073000000000019 +:047074000000000018 +:047075000000000017 +:047076000000000016 +:047077000000000015 +:047078000000000014 +:047079000000000013 +:04707A000000000012 +:04707B000000000011 +:04707C000000000010 +:04707D00000000000F +:04707E00000000000E +:04707F00000000000D +:04708000000000000C +:04708100000000000B +:04708200000000000A +:047083000000000009 +:047084000000000008 +:047085000000000007 +:047086000000000006 +:047087000000000005 +:047088000000000004 +:047089000000000003 +:04708A000000000002 +:04708B000000000001 +:04708C000000000000 +:04708D0000000000FF +:04708E0000000000FE +:04708F0000000000FD +:0470900000000000FC +:0470910000000000FB +:0470920000000000FA +:0470930000000000F9 +:0470940000000000F8 +:0470950000000000F7 +:0470960000000000F6 +:0470970000000000F5 +:0470980000000000F4 +:0470990000000000F3 +:04709A0000000000F2 +:04709B0000000000F1 +:04709C0000000000F0 +:04709D0000000000EF +:04709E0000000000EE +:04709F0000000000ED +:0470A00000000000EC +:0470A10000000000EB +:0470A20000000000EA +:0470A30000000000E9 +:0470A40000000000E8 +:0470A50000000000E7 +:0470A60000000000E6 +:0470A70000000000E5 +:0470A80000000000E4 +:0470A90000000000E3 +:0470AA0000000000E2 +:0470AB0000000000E1 +:0470AC0000000000E0 +:0470AD0000000000DF +:0470AE0000000000DE +:0470AF0000000000DD +:0470B00000000000DC +:0470B10000000000DB +:0470B20000000000DA +:0470B30000000000D9 +:0470B40000000000D8 +:0470B50000000000D7 +:0470B60000000000D6 +:0470B70000000000D5 +:0470B80000000000D4 +:0470B90000000000D3 +:0470BA0000000000D2 +:0470BB0000000000D1 +:0470BC0000000000D0 +:0470BD0000000000CF +:0470BE0000000000CE +:0470BF0000000000CD +:0470C00000000000CC +:0470C10000000000CB +:0470C20000000000CA +:0470C30000000000C9 +:0470C40000000000C8 +:0470C50000000000C7 +:0470C60000000000C6 +:0470C70000000000C5 +:0470C80000000000C4 +:0470C90000000000C3 +:0470CA0000000000C2 +:0470CB0000000000C1 +:0470CC0000000000C0 +:0470CD0000000000BF +:0470CE0000000000BE +:0470CF0000000000BD +:0470D00000000000BC +:0470D10000000000BB +:0470D20000000000BA +:0470D30000000000B9 +:0470D40000000000B8 +:0470D50000000000B7 +:0470D60000000000B6 +:0470D70000000000B5 +:0470D80000000000B4 +:0470D90000000000B3 +:0470DA0000000000B2 +:0470DB0000000000B1 +:0470DC0000000000B0 +:0470DD0000000000AF +:0470DE0000000000AE +:0470DF0000000000AD +:0470E00000000000AC +:0470E10000000000AB +:0470E20000000000AA +:0470E30000000000A9 +:0470E40000000000A8 +:0470E50000000000A7 +:0470E60000000000A6 +:0470E70000000000A5 +:0470E80000000000A4 +:0470E90000000000A3 +:0470EA0000000000A2 +:0470EB0000000000A1 +:0470EC0000000000A0 +:0470ED00000000009F +:0470EE00000000009E +:0470EF00000000009D +:0470F000000000009C +:0470F100000000009B +:0470F200000000009A +:0470F3000000000099 +:0470F4000000000098 +:0470F5000000000097 +:0470F6000000000096 +:0470F7000000000095 +:0470F8000000000094 +:0470F9000000000093 +:0470FA000000000092 +:0470FB000000000091 +:0470FC000000000090 +:0470FD00000000008F +:0470FE00000000008E +:0470FF00000000008D +:04710000000000008B +:04710100000000008A +:047102000000000089 +:047103000000000088 +:047104000000000087 +:047105000000000086 +:047106000000000085 +:047107000000000084 +:047108000000000083 +:047109000000000082 +:04710A000000000081 +:04710B000000000080 +:04710C00000000007F +:04710D00000000007E +:04710E00000000007D +:04710F00000000007C +:04711000000000007B +:04711100000000007A +:047112000000000079 +:047113000000000078 +:047114000000000077 +:047115000000000076 +:047116000000000075 +:047117000000000074 +:047118000000000073 +:047119000000000072 +:04711A000000000071 +:04711B000000000070 +:04711C00000000006F +:04711D00000000006E +:04711E00000000006D +:04711F00000000006C +:04712000000000006B +:04712100000000006A +:047122000000000069 +:047123000000000068 +:047124000000000067 +:047125000000000066 +:047126000000000065 +:047127000000000064 +:047128000000000063 +:047129000000000062 +:04712A000000000061 +:04712B000000000060 +:04712C00000000005F +:04712D00000000005E +:04712E00000000005D +:04712F00000000005C +:04713000000000005B +:04713100000000005A +:047132000000000059 +:047133000000000058 +:047134000000000057 +:047135000000000056 +:047136000000000055 +:047137000000000054 +:047138000000000053 +:047139000000000052 +:04713A000000000051 +:04713B000000000050 +:04713C00000000004F +:04713D00000000004E +:04713E00000000004D +:04713F00000000004C +:04714000000000004B +:04714100000000004A +:047142000000000049 +:047143000000000048 +:047144000000000047 +:047145000000000046 +:047146000000000045 +:047147000000000044 +:047148000000000043 +:047149000000000042 +:04714A000000000041 +:04714B000000000040 +:04714C00000000003F +:04714D00000000003E +:04714E00000000003D +:04714F00000000003C +:04715000000000003B +:04715100000000003A +:047152000000000039 +:047153000000000038 +:047154000000000037 +:047155000000000036 +:047156000000000035 +:047157000000000034 +:047158000000000033 +:047159000000000032 +:04715A000000000031 +:04715B000000000030 +:04715C00000000002F +:04715D00000000002E +:04715E00000000002D +:04715F00000000002C +:04716000000000002B +:04716100000000002A +:047162000000000029 +:047163000000000028 +:047164000000000027 +:047165000000000026 +:047166000000000025 +:047167000000000024 +:047168000000000023 +:047169000000000022 +:04716A000000000021 +:04716B000000000020 +:04716C00000000001F +:04716D00000000001E +:04716E00000000001D +:04716F00000000001C +:04717000000000001B +:04717100000000001A +:047172000000000019 +:047173000000000018 +:047174000000000017 +:047175000000000016 +:047176000000000015 +:047177000000000014 +:047178000000000013 +:047179000000000012 +:04717A000000000011 +:04717B000000000010 +:04717C00000000000F +:04717D00000000000E +:04717E00000000000D +:04717F00000000000C +:04718000000000000B +:04718100000000000A +:047182000000000009 +:047183000000000008 +:047184000000000007 +:047185000000000006 +:047186000000000005 +:047187000000000004 +:047188000000000003 +:047189000000000002 +:04718A000000000001 +:04718B000000000000 +:04718C0000000000FF +:04718D0000000000FE +:04718E0000000000FD +:04718F0000000000FC +:0471900000000000FB +:0471910000000000FA +:0471920000000000F9 +:0471930000000000F8 +:0471940000000000F7 +:0471950000000000F6 +:0471960000000000F5 +:0471970000000000F4 +:0471980000000000F3 +:0471990000000000F2 +:04719A0000000000F1 +:04719B0000000000F0 +:04719C0000000000EF +:04719D0000000000EE +:04719E0000000000ED +:04719F0000000000EC +:0471A00000000000EB +:0471A10000000000EA +:0471A20000000000E9 +:0471A30000000000E8 +:0471A40000000000E7 +:0471A50000000000E6 +:0471A60000000000E5 +:0471A70000000000E4 +:0471A80000000000E3 +:0471A90000000000E2 +:0471AA0000000000E1 +:0471AB0000000000E0 +:0471AC0000000000DF +:0471AD0000000000DE +:0471AE0000000000DD +:0471AF0000000000DC +:0471B00000000000DB +:0471B10000000000DA +:0471B20000000000D9 +:0471B30000000000D8 +:0471B40000000000D7 +:0471B50000000000D6 +:0471B60000000000D5 +:0471B70000000000D4 +:0471B80000000000D3 +:0471B90000000000D2 +:0471BA0000000000D1 +:0471BB0000000000D0 +:0471BC0000000000CF +:0471BD0000000000CE +:0471BE0000000000CD +:0471BF0000000000CC +:0471C00000000000CB +:0471C10000000000CA +:0471C20000000000C9 +:0471C30000000000C8 +:0471C40000000000C7 +:0471C50000000000C6 +:0471C60000000000C5 +:0471C70000000000C4 +:0471C80000000000C3 +:0471C90000000000C2 +:0471CA0000000000C1 +:0471CB0000000000C0 +:0471CC0000000000BF +:0471CD0000000000BE +:0471CE0000000000BD +:0471CF0000000000BC +:0471D00000000000BB +:0471D10000000000BA +:0471D20000000000B9 +:0471D30000000000B8 +:0471D40000000000B7 +:0471D50000000000B6 +:0471D60000000000B5 +:0471D70000000000B4 +:0471D80000000000B3 +:0471D90000000000B2 +:0471DA0000000000B1 +:0471DB0000000000B0 +:0471DC0000000000AF +:0471DD0000000000AE +:0471DE0000000000AD +:0471DF0000000000AC +:0471E00000000000AB +:0471E10000000000AA +:0471E20000000000A9 +:0471E30000000000A8 +:0471E40000000000A7 +:0471E50000000000A6 +:0471E60000000000A5 +:0471E70000000000A4 +:0471E80000000000A3 +:0471E90000000000A2 +:0471EA0000000000A1 +:0471EB0000000000A0 +:0471EC00000000009F +:0471ED00000000009E +:0471EE00000000009D +:0471EF00000000009C +:0471F000000000009B +:0471F100000000009A +:0471F2000000000099 +:0471F3000000000098 +:0471F4000000000097 +:0471F5000000000096 +:0471F6000000000095 +:0471F7000000000094 +:0471F8000000000093 +:0471F9000000000092 +:0471FA000000000091 +:0471FB000000000090 +:0471FC00000000008F +:0471FD00000000008E +:0471FE00000000008D +:0471FF00000000008C +:04720000000000008A +:047201000000000089 +:047202000000000088 +:047203000000000087 +:047204000000000086 +:047205000000000085 +:047206000000000084 +:047207000000000083 +:047208000000000082 +:047209000000000081 +:04720A000000000080 +:04720B00000000007F +:04720C00000000007E +:04720D00000000007D +:04720E00000000007C +:04720F00000000007B +:04721000000000007A +:047211000000000079 +:047212000000000078 +:047213000000000077 +:047214000000000076 +:047215000000000075 +:047216000000000074 +:047217000000000073 +:047218000000000072 +:047219000000000071 +:04721A000000000070 +:04721B00000000006F +:04721C00000000006E +:04721D00000000006D +:04721E00000000006C +:04721F00000000006B +:04722000000000006A +:047221000000000069 +:047222000000000068 +:047223000000000067 +:047224000000000066 +:047225000000000065 +:047226000000000064 +:047227000000000063 +:047228000000000062 +:047229000000000061 +:04722A000000000060 +:04722B00000000005F +:04722C00000000005E +:04722D00000000005D +:04722E00000000005C +:04722F00000000005B +:04723000000000005A +:047231000000000059 +:047232000000000058 +:047233000000000057 +:047234000000000056 +:047235000000000055 +:047236000000000054 +:047237000000000053 +:047238000000000052 +:047239000000000051 +:04723A000000000050 +:04723B00000000004F +:04723C00000000004E +:04723D00000000004D +:04723E00000000004C +:04723F00000000004B +:04724000000000004A +:047241000000000049 +:047242000000000048 +:047243000000000047 +:047244000000000046 +:047245000000000045 +:047246000000000044 +:047247000000000043 +:047248000000000042 +:047249000000000041 +:04724A000000000040 +:04724B00000000003F +:04724C00000000003E +:04724D00000000003D +:04724E00000000003C +:04724F00000000003B +:04725000000000003A +:047251000000000039 +:047252000000000038 +:047253000000000037 +:047254000000000036 +:047255000000000035 +:047256000000000034 +:047257000000000033 +:047258000000000032 +:047259000000000031 +:04725A000000000030 +:04725B00000000002F +:04725C00000000002E +:04725D00000000002D +:04725E00000000002C +:04725F00000000002B +:04726000000000002A +:047261000000000029 +:047262000000000028 +:047263000000000027 +:047264000000000026 +:047265000000000025 +:047266000000000024 +:047267000000000023 +:047268000000000022 +:047269000000000021 +:04726A000000000020 +:04726B00000000001F +:04726C00000000001E +:04726D00000000001D +:04726E00000000001C +:04726F00000000001B +:04727000000000001A +:047271000000000019 +:047272000000000018 +:047273000000000017 +:047274000000000016 +:047275000000000015 +:047276000000000014 +:047277000000000013 +:047278000000000012 +:047279000000000011 +:04727A000000000010 +:04727B00000000000F +:04727C00000000000E +:04727D00000000000D +:04727E00000000000C +:04727F00000000000B +:04728000000000000A +:047281000000000009 +:047282000000000008 +:047283000000000007 +:047284000000000006 +:047285000000000005 +:047286000000000004 +:047287000000000003 +:047288000000000002 +:047289000000000001 +:04728A000000000000 +:04728B0000000000FF +:04728C0000000000FE +:04728D0000000000FD +:04728E0000000000FC +:04728F0000000000FB +:0472900000000000FA +:0472910000000000F9 +:0472920000000000F8 +:0472930000000000F7 +:0472940000000000F6 +:0472950000000000F5 +:0472960000000000F4 +:0472970000000000F3 +:0472980000000000F2 +:0472990000000000F1 +:04729A0000000000F0 +:04729B0000000000EF +:04729C0000000000EE +:04729D0000000000ED +:04729E0000000000EC +:04729F0000000000EB +:0472A00000000000EA +:0472A10000000000E9 +:0472A20000000000E8 +:0472A30000000000E7 +:0472A40000000000E6 +:0472A50000000000E5 +:0472A60000000000E4 +:0472A70000000000E3 +:0472A80000000000E2 +:0472A90000000000E1 +:0472AA0000000000E0 +:0472AB0000000000DF +:0472AC0000000000DE +:0472AD0000000000DD +:0472AE0000000000DC +:0472AF0000000000DB +:0472B00000000000DA +:0472B10000000000D9 +:0472B20000000000D8 +:0472B30000000000D7 +:0472B40000000000D6 +:0472B50000000000D5 +:0472B60000000000D4 +:0472B70000000000D3 +:0472B80000000000D2 +:0472B90000000000D1 +:0472BA0000000000D0 +:0472BB0000000000CF +:0472BC0000000000CE +:0472BD0000000000CD +:0472BE0000000000CC +:0472BF0000000000CB +:0472C00000000000CA +:0472C10000000000C9 +:0472C20000000000C8 +:0472C30000000000C7 +:0472C40000000000C6 +:0472C50000000000C5 +:0472C60000000000C4 +:0472C70000000000C3 +:0472C80000000000C2 +:0472C90000000000C1 +:0472CA0000000000C0 +:0472CB0000000000BF +:0472CC0000000000BE +:0472CD0000000000BD +:0472CE0000000000BC +:0472CF0000000000BB +:0472D00000000000BA +:0472D10000000000B9 +:0472D20000000000B8 +:0472D30000000000B7 +:0472D40000000000B6 +:0472D50000000000B5 +:0472D60000000000B4 +:0472D70000000000B3 +:0472D80000000000B2 +:0472D90000000000B1 +:0472DA0000000000B0 +:0472DB0000000000AF +:0472DC0000000000AE +:0472DD0000000000AD +:0472DE0000000000AC +:0472DF0000000000AB +:0472E00000000000AA +:0472E10000000000A9 +:0472E20000000000A8 +:0472E30000000000A7 +:0472E40000000000A6 +:0472E50000000000A5 +:0472E60000000000A4 +:0472E70000000000A3 +:0472E80000000000A2 +:0472E90000000000A1 +:0472EA0000000000A0 +:0472EB00000000009F +:0472EC00000000009E +:0472ED00000000009D +:0472EE00000000009C +:0472EF00000000009B +:0472F000000000009A +:0472F1000000000099 +:0472F2000000000098 +:0472F3000000000097 +:0472F4000000000096 +:0472F5000000000095 +:0472F6000000000094 +:0472F7000000000093 +:0472F8000000000092 +:0472F9000000000091 +:0472FA000000000090 +:0472FB00000000008F +:0472FC00000000008E +:0472FD00000000008D +:0472FE00000000008C +:0472FF00000000008B +:047300000000000089 +:047301000000000088 +:047302000000000087 +:047303000000000086 +:047304000000000085 +:047305000000000084 +:047306000000000083 +:047307000000000082 +:047308000000000081 +:047309000000000080 +:04730A00000000007F +:04730B00000000007E +:04730C00000000007D +:04730D00000000007C +:04730E00000000007B +:04730F00000000007A +:047310000000000079 +:047311000000000078 +:047312000000000077 +:047313000000000076 +:047314000000000075 +:047315000000000074 +:047316000000000073 +:047317000000000072 +:047318000000000071 +:047319000000000070 +:04731A00000000006F +:04731B00000000006E +:04731C00000000006D +:04731D00000000006C +:04731E00000000006B +:04731F00000000006A +:047320000000000069 +:047321000000000068 +:047322000000000067 +:047323000000000066 +:047324000000000065 +:047325000000000064 +:047326000000000063 +:047327000000000062 +:047328000000000061 +:047329000000000060 +:04732A00000000005F +:04732B00000000005E +:04732C00000000005D +:04732D00000000005C +:04732E00000000005B +:04732F00000000005A +:047330000000000059 +:047331000000000058 +:047332000000000057 +:047333000000000056 +:047334000000000055 +:047335000000000054 +:047336000000000053 +:047337000000000052 +:047338000000000051 +:047339000000000050 +:04733A00000000004F +:04733B00000000004E +:04733C00000000004D +:04733D00000000004C +:04733E00000000004B +:04733F00000000004A +:047340000000000049 +:047341000000000048 +:047342000000000047 +:047343000000000046 +:047344000000000045 +:047345000000000044 +:047346000000000043 +:047347000000000042 +:047348000000000041 +:047349000000000040 +:04734A00000000003F +:04734B00000000003E +:04734C00000000003D +:04734D00000000003C +:04734E00000000003B +:04734F00000000003A +:047350000000000039 +:047351000000000038 +:047352000000000037 +:047353000000000036 +:047354000000000035 +:047355000000000034 +:047356000000000033 +:047357000000000032 +:047358000000000031 +:047359000000000030 +:04735A00000000002F +:04735B00000000002E +:04735C00000000002D +:04735D00000000002C +:04735E00000000002B +:04735F00000000002A +:047360000000000029 +:047361000000000028 +:047362000000000027 +:047363000000000026 +:047364000000000025 +:047365000000000024 +:047366000000000023 +:047367000000000022 +:047368000000000021 +:047369000000000020 +:04736A00000000001F +:04736B00000000001E +:04736C00000000001D +:04736D00000000001C +:04736E00000000001B +:04736F00000000001A +:047370000000000019 +:047371000000000018 +:047372000000000017 +:047373000000000016 +:047374000000000015 +:047375000000000014 +:047376000000000013 +:047377000000000012 +:047378000000000011 +:047379000000000010 +:04737A00000000000F +:04737B00000000000E +:04737C00000000000D +:04737D00000000000C +:04737E00000000000B +:04737F00000000000A +:047380000000000009 +:047381000000000008 +:047382000000000007 +:047383000000000006 +:047384000000000005 +:047385000000000004 +:047386000000000003 +:047387000000000002 +:047388000000000001 +:047389000000000000 +:04738A0000000000FF +:04738B0000000000FE +:04738C0000000000FD +:04738D0000000000FC +:04738E0000000000FB +:04738F0000000000FA +:0473900000000000F9 +:0473910000000000F8 +:0473920000000000F7 +:0473930000000000F6 +:0473940000000000F5 +:0473950000000000F4 +:0473960000000000F3 +:0473970000000000F2 +:0473980000000000F1 +:0473990000000000F0 +:04739A0000000000EF +:04739B0000000000EE +:04739C0000000000ED +:04739D0000000000EC +:04739E0000000000EB +:04739F0000000000EA +:0473A00000000000E9 +:0473A10000000000E8 +:0473A20000000000E7 +:0473A30000000000E6 +:0473A40000000000E5 +:0473A50000000000E4 +:0473A60000000000E3 +:0473A70000000000E2 +:0473A80000000000E1 +:0473A90000000000E0 +:0473AA0000000000DF +:0473AB0000000000DE +:0473AC0000000000DD +:0473AD0000000000DC +:0473AE0000000000DB +:0473AF0000000000DA +:0473B00000000000D9 +:0473B10000000000D8 +:0473B20000000000D7 +:0473B30000000000D6 +:0473B40000000000D5 +:0473B50000000000D4 +:0473B60000000000D3 +:0473B70000000000D2 +:0473B80000000000D1 +:0473B90000000000D0 +:0473BA0000000000CF +:0473BB0000000000CE +:0473BC0000000000CD +:0473BD0000000000CC +:0473BE0000000000CB +:0473BF0000000000CA +:0473C00000000000C9 +:0473C10000000000C8 +:0473C20000000000C7 +:0473C30000000000C6 +:0473C40000000000C5 +:0473C50000000000C4 +:0473C60000000000C3 +:0473C70000000000C2 +:0473C80000000000C1 +:0473C90000000000C0 +:0473CA0000000000BF +:0473CB0000000000BE +:0473CC0000000000BD +:0473CD0000000000BC +:0473CE0000000000BB +:0473CF0000000000BA +:0473D00000000000B9 +:0473D10000000000B8 +:0473D20000000000B7 +:0473D30000000000B6 +:0473D40000000000B5 +:0473D50000000000B4 +:0473D60000000000B3 +:0473D70000000000B2 +:0473D80000000000B1 +:0473D90000000000B0 +:0473DA0000000000AF +:0473DB0000000000AE +:0473DC0000000000AD +:0473DD0000000000AC +:0473DE0000000000AB +:0473DF0000000000AA +:0473E00000000000A9 +:0473E10000000000A8 +:0473E20000000000A7 +:0473E30000000000A6 +:0473E40000000000A5 +:0473E50000000000A4 +:0473E60000000000A3 +:0473E70000000000A2 +:0473E80000000000A1 +:0473E90000000000A0 +:0473EA00000000009F +:0473EB00000000009E +:0473EC00000000009D +:0473ED00000000009C +:0473EE00000000009B +:0473EF00000000009A +:0473F0000000000099 +:0473F1000000000098 +:0473F2000000000097 +:0473F3000000000096 +:0473F4000000000095 +:0473F5000000000094 +:0473F6000000000093 +:0473F7000000000092 +:0473F8000000000091 +:0473F9000000000090 +:0473FA00000000008F +:0473FB00000000008E +:0473FC00000000008D +:0473FD00000000008C +:0473FE00000000008B +:0473FF00000000008A +:047400000000000286 +:047401000000000186 +:047402000000000185 +:047403000000000085 +:047404000003D09021 +:0474050000000084FF +:047406000000000082 +:04740700000005C0BC +:047408000000000080 +:04740900000000007F +:04740A00000000007E +:04740B00000000007D +:04740C00000000007C +:04740D00000000007B +:04740E00000000007A +:04740F000000000079 +:047410000000000078 +:047411000000000077 +:047412000000000076 +:047413000000000075 +:047414000000000074 +:047415000000000073 +:047416000000000072 +:047417000000000071 +:047418000000000070 +:047419008C2188201A +:04741A008C63886295 +:04741B0088A58CA410 +:04741C0088E78CE68B +:04741D00000000006B +:04741E00000000006A +:04741F000000000069 +:047420000000000068 +:047421000000000067 +:047422000000000066 +:047423000000000065 +:047424000000000064 +:047425000000000063 +:047426000000000062 +:047427000000000061 +:047428000000000060 +:04742900000000005F +:04742A00000000005E +:04742B00000000005D +:04742C00000000005C +:04742D00000000005B +:04742E00000000005A +:04742F000000000059 +:047430000000000058 +:047431000000000057 +:047432000000000056 +:047433000000000055 +:047434000000000054 +:047435000000000053 +:047436000000000052 +:047437000000000051 +:047438000000000050 +:04743900000000004F +:04743A00000000004E +:04743B00000000004D +:04743C00000000004C +:04743D00000000004B +:04743E00000000004A +:04743F000000000049 +:047440000000000048 +:047441000000000047 +:047442000000000046 +:047443000000000045 +:047444000000000044 +:047445000000000043 +:047446000000000042 +:047447000000000041 +:047448000000000040 +:04744900000000003F +:04744A00000000003E +:04744B00000000003D +:04744C00000000003C +:04744D00000000003B +:04744E00000000003A +:04744F000000000039 +:047450000000000038 +:047451000000000037 +:047452000000000036 +:047453000000000035 +:047454000000000034 +:047455000000000033 +:047456000000000032 +:047457000000000031 +:047458000000000030 +:04745900000000002F +:04745A00000000002E +:04745B00000000002D +:04745C00000000002C +:04745D00000000002B +:04745E00000000002A +:04745F000000000029 +:047460000000000028 +:047461000000000027 +:047462000000000026 +:047463000000000025 +:047464000000000024 +:047465000000000023 +:047466000000000022 +:047467000000000021 +:047468000000000020 +:04746900000000001F +:04746A00000000001E +:04746B00000000001D +:04746C00000000001C +:04746D00000000001B +:04746E00000000001A +:04746F000000000019 +:047470000000000018 +:047471000000000017 +:047472000000000016 +:047473000000000015 +:047474000000000014 +:047475000000000013 +:047476000000000012 +:047477000000000011 +:047478000000000010 +:04747900000000000F +:04747A00000000000E +:04747B00000000000D +:04747C00000000000C +:04747D00000000000B +:04747E00000000000A +:04747F000000000009 +:047480000000000008 +:047481000000000007 +:047482000000000006 +:047483000000000005 +:047484000000000004 +:047485000000000003 +:047486000000000002 +:047487000000000001 +:047488000000000000 +:0474890000000000FF +:04748A0000000000FE +:04748B0000000000FD +:04748C0000000000FC +:04748D0000000000FB +:04748E0000000000FA +:04748F0000000000F9 +:0474900000000000F8 +:0474910000000000F7 +:0474920000000000F6 +:0474930000000000F5 +:0474940000000000F4 +:0474950000000000F3 +:0474960000000000F2 +:0474970000000000F1 +:0474980000000000F0 +:0474990000000000EF +:04749A0000000000EE +:04749B0000000000ED +:04749C0000000000EC +:04749D0000000000EB +:04749E0000000000EA +:04749F0000000000E9 +:0474A00000000000E8 +:0474A10000000000E7 +:0474A20000000000E6 +:0474A30000000000E5 +:0474A40000000000E4 +:0474A50000000000E3 +:0474A60000000000E2 +:0474A70000000000E1 +:0474A80000000000E0 +:0474A90000000000DF +:0474AA0000000000DE +:0474AB0000000000DD +:0474AC0000000000DC +:0474AD0000000000DB +:0474AE0000000000DA +:0474AF0000000000D9 +:0474B00000000000D8 +:0474B10000000000D7 +:0474B20000000000D6 +:0474B30000000000D5 +:0474B40000000000D4 +:0474B50000000000D3 +:0474B60000000000D2 +:0474B70000000000D1 +:0474B80000000000D0 +:0474B90000000000CF +:0474BA0000000000CE +:0474BB0000000000CD +:0474BC0000000000CC +:0474BD0000000000CB +:0474BE0000000000CA +:0474BF0000000000C9 +:0474C00000000000C8 +:0474C10000000000C7 +:0474C20000000000C6 +:0474C30000000000C5 +:0474C40000000000C4 +:0474C50000000000C3 +:0474C60000000000C2 +:0474C70000000000C1 +:0474C80000000000C0 +:0474C90000000000BF +:0474CA0000000000BE +:0474CB0000000000BD +:0474CC0000000000BC +:0474CD0000000000BB +:0474CE0000000000BA +:0474CF0000000000B9 +:0474D00000000000B8 +:0474D10000000000B7 +:0474D20000000000B6 +:0474D30000000000B5 +:0474D40000000000B4 +:0474D50000000000B3 +:0474D60000000000B2 +:0474D70000000000B1 +:0474D80000000000B0 +:0474D90000000000AF +:0474DA0000000000AE +:0474DB0000000000AD +:0474DC0000000000AC +:0474DD0000000000AB +:0474DE0000000000AA +:0474DF0000000000A9 +:0474E00000000000A8 +:0474E10000000000A7 +:0474E20000000000A6 +:0474E30000000000A5 +:0474E40000000000A4 +:0474E50000000000A3 +:0474E60000000000A2 +:0474E70000000000A1 +:0474E80000000000A0 +:0474E900000000009F +:0474EA00000000009E +:0474EB00000000009D +:0474EC00000000009C +:0474ED00000000009B +:0474EE00000000009A +:0474EF000000000099 +:0474F0000000000098 +:0474F1000000000097 +:0474F2000000000096 +:0474F3000000000095 +:0474F4000000000094 +:0474F5000000000093 +:0474F6000000000092 +:0474F7000000000091 +:0474F8000000000090 +:0474F900000000008F +:0474FA00000000008E +:0474FB00000000008D +:0474FC00000000008C +:0474FD00000000008B +:0474FE00000000008A +:0474FF000000000089 +:047500000000000087 +:047501000000000086 +:047502000000000085 +:047503000000000084 +:047504000000000083 +:047505000000000082 +:047506000000000081 +:047507000000000080 +:04750800000000007F +:04750900000000007E +:04750A00000000007D +:04750B00000000007C +:04750C00000000007B +:04750D00000000007A +:04750E000000000079 +:04750F000000000078 +:047510000000000077 +:047511000000000076 +:047512000000000075 +:047513000000000074 +:047514000000000073 +:047515000000000072 +:047516000000000071 +:047517000000000070 +:04751800000000006F +:04751900000000006E +:04751A00000000006D +:04751B00000000006C +:04751C00000000006B +:04751D00000000006A +:04751E000000000069 +:04751F000000000068 +:047520000000000067 +:047521000000000066 +:047522000000000065 +:047523000000000064 +:047524000000000063 +:047525000000000062 +:047526000000000061 +:047527000000000060 +:04752800000000005F +:04752900000000005E +:04752A00000000005D +:04752B00000000005C +:04752C00000000005B +:04752D00000000005A +:04752E000000000059 +:04752F000000000058 +:047530000000000057 +:047531000000000056 +:047532000000000055 +:047533000000000054 +:047534000000000053 +:047535000000000052 +:047536000000000051 +:047537000000000050 +:04753800000000004F +:04753900000000004E +:04753A00000000004D +:04753B00000000004C +:04753C00000000004B +:04753D00000000004A +:04753E000000000049 +:04753F000000000048 +:047540000000000047 +:047541000000000046 +:047542000000000045 +:047543000000000044 +:047544000000000043 +:047545000000000042 +:047546000000000041 +:047547000000000040 +:04754800000000003F +:04754900000000003E +:04754A00000000003D +:04754B00000000003C +:04754C00000000003B +:04754D00000000003A +:04754E000000000039 +:04754F000000000038 +:047550000000000037 +:047551000000000036 +:047552000000000035 +:047553000000000034 +:047554000000000033 +:047555000000000032 +:047556000000000031 +:047557000000000030 +:04755800000000002F +:04755900000000002E +:04755A00000000002D +:04755B00000000002C +:04755C00000000002B +:04755D00000000002A +:04755E000000000029 +:04755F000000000028 +:047560000000000027 +:047561000000000026 +:047562000000000025 +:047563000000000024 +:047564000000000023 +:047565000000000022 +:047566000000000021 +:047567000000000020 +:04756800000000001F +:04756900000000001E +:04756A00000000001D +:04756B00000000001C +:04756C00000000001B +:04756D00000000001A +:04756E000000000019 +:04756F000000000018 +:047570000000000017 +:047571000000000016 +:047572000000000015 +:047573000000000014 +:047574000000000013 +:047575000000000012 +:047576000000000011 +:047577000000000010 +:04757800000000000F +:04757900000000000E +:04757A00000000000D +:04757B00000000000C +:04757C00000000000B +:04757D00000000000A +:04757E000000000009 +:04757F000000000008 +:047580000000000007 +:047581000000000006 +:047582000000000005 +:047583000000000004 +:047584000000000003 +:047585000000000002 +:047586000000000001 +:047587000000000000 +:0475880000000000FF +:0475890000000000FE +:04758A0000000000FD +:04758B0000000000FC +:04758C0000000000FB +:04758D0000000000FA +:04758E0000000000F9 +:04758F0000000000F8 +:0475900000000000F7 +:0475910000000000F6 +:0475920000000000F5 +:0475930000000000F4 +:0475940000000000F3 +:0475950000000000F2 +:0475960000000000F1 +:0475970000000000F0 +:0475980000000000EF +:0475990000000000EE +:04759A0000000000ED +:04759B0000000000EC +:04759C0000000000EB +:04759D0000000000EA +:04759E0000000000E9 +:04759F0000000000E8 +:0475A00000000000E7 +:0475A10000000000E6 +:0475A20000000000E5 +:0475A30000000000E4 +:0475A40000000000E3 +:0475A50000000000E2 +:0475A60000000000E1 +:0475A70000000000E0 +:0475A80000000000DF +:0475A90000000000DE +:0475AA0000000000DD +:0475AB0000000000DC +:0475AC0000000000DB +:0475AD0000000000DA +:0475AE0000000000D9 +:0475AF0000000000D8 +:0475B00000000000D7 +:0475B10000000000D6 +:0475B20000000000D5 +:0475B30000000000D4 +:0475B40000000000D3 +:0475B50000000000D2 +:0475B60000000000D1 +:0475B70000000000D0 +:0475B80000000000CF +:0475B90000000000CE +:0475BA0000000000CD +:0475BB0000000000CC +:0475BC0000000000CB +:0475BD0000000000CA +:0475BE0000000000C9 +:0475BF0000000000C8 +:0475C00000000000C7 +:0475C10000000000C6 +:0475C20000000000C5 +:0475C30000000000C4 +:0475C40000000000C3 +:0475C50000000000C2 +:0475C60000000000C1 +:0475C70000000000C0 +:0475C80000000000BF +:0475C90000000000BE +:0475CA0000000000BD +:0475CB0000000000BC +:0475CC0000000000BB +:0475CD0000000000BA +:0475CE0000000000B9 +:0475CF0000000000B8 +:0475D00000000000B7 +:0475D10000000000B6 +:0475D20000000000B5 +:0475D30000000000B4 +:0475D40000000000B3 +:0475D50000000000B2 +:0475D60000000000B1 +:0475D70000000000B0 +:0475D80000000000AF +:0475D90000000000AE +:0475DA0000000000AD +:0475DB0000000000AC +:0475DC0000000000AB +:0475DD0000000000AA +:0475DE0000000000A9 +:0475DF0000000000A8 +:0475E00000000000A7 +:0475E10000000000A6 +:0475E20000000000A5 +:0475E30000000000A4 +:0475E40000000000A3 +:0475E50000000000A2 +:0475E60000000000A1 +:0475E70000000000A0 +:0475E800000000009F +:0475E900000000009E +:0475EA00000000009D +:0475EB00000000009C +:0475EC00000000009B +:0475ED00000000009A +:0475EE000000000099 +:0475EF000000000098 +:0475F0000000000097 +:0475F1000000000096 +:0475F2000000000095 +:0475F3000000000094 +:0475F4000000000093 +:0475F5000000000092 +:0475F6000000000091 +:0475F7000000000090 +:0475F800000000008F +:0475F900000000008E +:0475FA00000000008D +:0475FB00000000008C +:0475FC00000000008B +:0475FD00000000008A +:0475FE000000000089 +:0475FF000000000088 +:047600000000000086 +:047601000000000085 +:047602000000000084 +:047603000000000083 +:047604000000000082 +:047605000000000081 +:047606000000000080 +:04760700000000007F +:04760800000000007E +:04760900000000007D +:04760A00000000007C +:04760B00000000007B +:04760C00000000007A +:04760D000000000079 +:04760E000000000078 +:04760F000000000077 +:047610000000000076 +:047611000000000075 +:047612000000000074 +:047613000000000073 +:047614000000000072 +:047615000000000071 +:047616000000000070 +:04761700000000006F +:04761800000000006E +:04761900000000006D +:04761A00000000006C +:04761B00000000006B +:04761C00000000006A +:04761D000000000069 +:04761E000000000068 +:04761F000000000067 +:047620000000000066 +:047621000000000065 +:047622000000000064 +:047623000000000063 +:047624000000000062 +:047625000000000061 +:047626000000000060 +:04762700000000005F +:04762800000000005E +:04762900000000005D +:04762A00000000005C +:04762B00000000005B +:04762C00000000005A +:04762D000000000059 +:04762E000000000058 +:04762F000000000057 +:047630000000000056 +:047631000000000055 +:047632000000000054 +:047633000000000053 +:047634000000000052 +:047635000000000051 +:047636000000000050 +:04763700000000004F +:04763800000000004E +:04763900000000004D +:04763A00000000004C +:04763B00000000004B +:04763C00000000004A +:04763D000000000049 +:04763E000000000048 +:04763F000000000047 +:047640000000000046 +:047641000000000045 +:047642000000000044 +:047643000000000043 +:047644000000000042 +:047645000000000041 +:047646000000000040 +:04764700000000003F +:04764800000000003E +:04764900000000003D +:04764A00000000003C +:04764B00000000003B +:04764C00000000003A +:04764D000000000039 +:04764E000000000038 +:04764F000000000037 +:047650000000000036 +:047651000000000035 +:047652000000000034 +:047653000000000033 +:047654000000000032 +:047655000000000031 +:047656000000000030 +:04765700000000002F +:04765800000000002E +:04765900000000002D +:04765A00000000002C +:04765B00000000002B +:04765C00000000002A +:04765D000000000029 +:04765E000000000028 +:04765F000000000027 +:047660000000000026 +:047661000000000025 +:047662000000000024 +:047663000000000023 +:047664000000000022 +:047665000000000021 +:047666000000000020 +:04766700000000001F +:04766800000000001E +:04766900000000001D +:04766A00000000001C +:04766B00000000001B +:04766C00000000001A +:04766D000000000019 +:04766E000000000018 +:04766F000000000017 +:047670000000000016 +:047671000000000015 +:047672000000000014 +:047673000000000013 +:047674000000000012 +:047675000000000011 +:047676000000000010 +:04767700000000000F +:04767800000000000E +:04767900000000000D +:04767A00000000000C +:04767B00000000000B +:04767C00000000000A +:04767D000000000009 +:04767E000000000008 +:04767F000000000007 +:047680000000000006 +:047681000000000005 +:047682000000000004 +:047683000000000003 +:047684000000000002 +:047685000000000001 +:047686000000000000 +:0476870000000000FF +:0476880000000000FE +:0476890000000000FD +:04768A0000000000FC +:04768B0000000000FB +:04768C0000000000FA +:04768D0000000000F9 +:04768E0000000000F8 +:04768F0000000000F7 +:0476900000000000F6 +:0476910000000000F5 +:0476920000000000F4 +:0476930000000000F3 +:0476940000000000F2 +:0476950000000000F1 +:0476960000000000F0 +:0476970000000000EF +:0476980000000000EE +:0476990000000000ED +:04769A0000000000EC +:04769B0000000000EB +:04769C0000000000EA +:04769D0000000000E9 +:04769E0000000000E8 +:04769F0000000000E7 +:0476A00000000000E6 +:0476A10000000000E5 +:0476A20000000000E4 +:0476A30000000000E3 +:0476A40000000000E2 +:0476A50000000000E1 +:0476A60000000000E0 +:0476A70000000000DF +:0476A80000000000DE +:0476A90000000000DD +:0476AA0000000000DC +:0476AB0000000000DB +:0476AC0000000000DA +:0476AD0000000000D9 +:0476AE0000000000D8 +:0476AF0000000000D7 +:0476B00000000000D6 +:0476B10000000000D5 +:0476B20000000000D4 +:0476B30000000000D3 +:0476B40000000000D2 +:0476B50000000000D1 +:0476B60000000000D0 +:0476B70000000000CF +:0476B80000000000CE +:0476B90000000000CD +:0476BA0000000000CC +:0476BB0000000000CB +:0476BC0000000000CA +:0476BD0000000000C9 +:0476BE0000000000C8 +:0476BF0000000000C7 +:0476C00000000000C6 +:0476C10000000000C5 +:0476C20000000000C4 +:0476C30000000000C3 +:0476C40000000000C2 +:0476C50000000000C1 +:0476C60000000000C0 +:0476C70000000000BF +:0476C80000000000BE +:0476C90000000000BD +:0476CA0000000000BC +:0476CB0000000000BB +:0476CC0000000000BA +:0476CD0000000000B9 +:0476CE0000000000B8 +:0476CF0000000000B7 +:0476D00000000000B6 +:0476D10000000000B5 +:0476D20000000000B4 +:0476D30000000000B3 +:0476D40000000000B2 +:0476D50000000000B1 +:0476D60000000000B0 +:0476D70000000000AF +:0476D80000000000AE +:0476D90000000000AD +:0476DA0000000000AC +:0476DB0000000000AB +:0476DC0000000000AA +:0476DD0000000000A9 +:0476DE0000000000A8 +:0476DF0000000000A7 +:0476E00000000000A6 +:0476E10000000000A5 +:0476E20000000000A4 +:0476E30000000000A3 +:0476E40000000000A2 +:0476E50000000000A1 +:0476E60000000000A0 +:0476E700000000009F +:0476E800000000009E +:0476E900000000009D +:0476EA00000000009C +:0476EB00000000009B +:0476EC00000000009A +:0476ED000000000099 +:0476EE000000000098 +:0476EF000000000097 +:0476F0000000000096 +:0476F1000000000095 +:0476F2000000000094 +:0476F3000000000093 +:0476F4000000000092 +:0476F5000000000091 +:0476F6000000000090 +:0476F700000000008F +:0476F800000000008E +:0476F900000000008D +:0476FA00000000008C +:0476FB00000000008B +:0476FC00000000008A +:0476FD000000000089 +:0476FE000000000088 +:0476FF000000000087 +:047700000000000085 +:047701000000000084 +:047702000000000083 +:047703000000000082 +:047704000000000081 +:047705000000000080 +:04770600000000007F +:04770700000000007E +:04770800000000007D +:04770900000000007C +:04770A00000000007B +:04770B00000000007A +:04770C000000000079 +:04770D000000000078 +:04770E000000000077 +:04770F000000000076 +:047710000000000075 +:047711000000000074 +:047712000000000073 +:047713000000000072 +:047714000000000071 +:047715000000000070 +:04771600000000006F +:04771700000000006E +:04771800000000006D +:04771900000000006C +:04771A00000000006B +:04771B00000000006A +:04771C000000000069 +:04771D000000000068 +:04771E000000000067 +:04771F000000000066 +:047720000000000065 +:047721000000000064 +:047722000000000063 +:047723000000000062 +:047724000000000061 +:047725000000000060 +:04772600000000005F +:04772700000000005E +:04772800000000005D +:04772900000000005C +:04772A00000000005B +:04772B00000000005A +:04772C000000000059 +:04772D000000000058 +:04772E000000000057 +:04772F000000000056 +:047730000000000055 +:047731000000000054 +:047732000000000053 +:047733000000000052 +:047734000000000051 +:047735000000000050 +:04773600000000004F +:04773700000000004E +:04773800000000004D +:04773900000000004C +:04773A00000000004B +:04773B00000000004A +:04773C000000000049 +:04773D000000000048 +:04773E000000000047 +:04773F000000000046 +:047740000000000045 +:047741000000000044 +:047742000000000043 +:047743000000000042 +:047744000000000041 +:047745000000000040 +:04774600000000003F +:04774700000000003E +:04774800000000003D +:04774900000000003C +:04774A00000000003B +:04774B00000000003A +:04774C000000000039 +:04774D000000000038 +:04774E000000000037 +:04774F000000000036 +:047750000000000035 +:047751000000000034 +:047752000000000033 +:047753000000000032 +:047754000000000031 +:047755000000000030 +:04775600000000002F +:04775700000000002E +:04775800000000002D +:04775900000000002C +:04775A00000000002B +:04775B00000000002A +:04775C000000000029 +:04775D000000000028 +:04775E000000000027 +:04775F000000000026 +:047760000000000025 +:047761000000000024 +:047762000000000023 +:047763000000000022 +:047764000000000021 +:047765000000000020 +:04776600000000001F +:04776700000000001E +:04776800000000001D +:04776900000000001C +:04776A00000000001B +:04776B00000000001A +:04776C000000000019 +:04776D000000000018 +:04776E000000000017 +:04776F000000000016 +:047770000000000015 +:047771000000000014 +:047772000000000013 +:047773000000000012 +:047774000000000011 +:047775000000000010 +:04777600000000000F +:04777700000000000E +:04777800000000000D +:04777900000000000C +:04777A00000000000B +:04777B00000000000A +:04777C000000000009 +:04777D000000000008 +:04777E000000000007 +:04777F000000000006 +:047780000000000005 +:047781000000000004 +:047782000000000003 +:047783000000000002 +:047784000000000001 +:047785000000000000 +:0477860000000000FF +:0477870000000000FE +:0477880000000000FD +:0477890000000000FC +:04778A0000000000FB +:04778B0000000000FA +:04778C0000000000F9 +:04778D0000000000F8 +:04778E0000000000F7 +:04778F0000000000F6 +:0477900000000000F5 +:0477910000000000F4 +:0477920000000000F3 +:0477930000000000F2 +:0477940000000000F1 +:0477950000000000F0 +:0477960000000000EF +:0477970000000000EE +:0477980000000000ED +:0477990000000000EC +:04779A0000000000EB +:04779B0000000000EA +:04779C0000000000E9 +:04779D0000000000E8 +:04779E0000000000E7 +:04779F0000000000E6 +:0477A00000000000E5 +:0477A10000000000E4 +:0477A20000000000E3 +:0477A30000000000E2 +:0477A40000000000E1 +:0477A50000000000E0 +:0477A60000000000DF +:0477A70000000000DE +:0477A80000000000DD +:0477A90000000000DC +:0477AA0000000000DB +:0477AB0000000000DA +:0477AC0000000000D9 +:0477AD0000000000D8 +:0477AE0000000000D7 +:0477AF0000000000D6 +:0477B00000000000D5 +:0477B10000000000D4 +:0477B20000000000D3 +:0477B30000000000D2 +:0477B40000000000D1 +:0477B50000000000D0 +:0477B60000000000CF +:0477B70000000000CE +:0477B80000000000CD +:0477B90000000000CC +:0477BA0000000000CB +:0477BB0000000000CA +:0477BC0000000000C9 +:0477BD0000000000C8 +:0477BE0000000000C7 +:0477BF0000000000C6 +:0477C00000000000C5 +:0477C10000000000C4 +:0477C20000000000C3 +:0477C30000000000C2 +:0477C40000000000C1 +:0477C50000000000C0 +:0477C60000000000BF +:0477C70000000000BE +:0477C80000000000BD +:0477C90000000000BC +:0477CA0000000000BB +:0477CB0000000000BA +:0477CC0000000000B9 +:0477CD0000000000B8 +:0477CE0000000000B7 +:0477CF0000000000B6 +:0477D00000000000B5 +:0477D10000000000B4 +:0477D20000000000B3 +:0477D30000000000B2 +:0477D40000000000B1 +:0477D50000000000B0 +:0477D60000000000AF +:0477D70000000000AE +:0477D80000000000AD +:0477D90000000000AC +:0477DA0000000000AB +:0477DB0000000000AA +:0477DC0000000000A9 +:0477DD0000000000A8 +:0477DE0000000000A7 +:0477DF0000000000A6 +:0477E00000000000A5 +:0477E10000000000A4 +:0477E20000000000A3 +:0477E30000000000A2 +:0477E40000000000A1 +:0477E50000000000A0 +:0477E600000000009F +:0477E700000000009E +:0477E800000000009D +:0477E900000000009C +:0477EA00000000009B +:0477EB00000000009A +:0477EC000000000099 +:0477ED000000000098 +:0477EE000000000097 +:0477EF000000000096 +:0477F0000000000095 +:0477F1000000000094 +:0477F2000000000093 +:0477F3000000000092 +:0477F4000000000091 +:0477F5000000000090 +:0477F600000000008F +:0477F700000000008E +:0477F800000000008D +:0477F900000000008C +:0477FA00000000008B +:0477FB00000000008A +:0477FC000000000089 +:0477FD000000000088 +:0477FE000000000087 +:0477FF000000000086 +:00000001FF diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex new file mode 100644 index 0000000000..b789cb0aef --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex @@ -0,0 +1,26 @@ +:047400000000000286 +:047401000000000186 +:047402000000000185 +:047403000000001075 +:04740400001312D08F +:04740500000002641D +:047406000000041F5F +:047407000000000081 +:047408000000001C64 +:04740900000000641B +:04740A00000000007E +:04740B00000000007D +:04740C00000000007C +:04740D00000000007B +:04740E00000000007A +:04740F000000000079 +:047410000000000078 +:047411000000000077 +:047412000000000076 +:047413000000000075 +:047414000000000074 +:047415000000000073 +:047416000000000072 +:047417000000000071 +:047418000000000070 +:00000001FF diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.txt b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.txt new file mode 100644 index 0000000000..f46e9ba0b2 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.txt @@ -0,0 +1,30 @@ +// This file is dynamically generated and is for information purposes only. +// It is not used during compilation or simulation. + +SEQ_GPT + 0x7400 SEQ_GPT_GLOBAL_PAR_VER : 2 0x00000002 + 0x7404 SEQ_GPT_NIOS_C_VER : 1 0x00000001 + 0x7408 SEQ_GPT_COLUMN_ID : 1 0x00000001 + 0x740C SEQ_GPT_NUM_IOPACKS : 16 0x00000010 + 0x7410 SEQ_GPT_NIOS_CLK_FREQ_KHZ : 1250000 0x001312D0 + 0x7414 SEQ_GPT_PARAM_TABLE_SIZE : 612 0x00000264 + 0x7418 SEQ_GPT_GLOBAL_SKIP_STEPS : 1055 0x0000041F + 0x741C SEQ_GPT_GLOBAL_CAL_CONFIG : 0 0x00000000 + 0x7420 SEQ_GPT_SLAVE_CLK_DIVIDER : 28 0x0000001C + 0x7424 SEQ_GPT_INTERFACE_PAR_PTRS + 0x7424 static_array_elem [0] : 100 0x00000064 + 0x7428 static_array_elem [1] : 0 0x00000000 + 0x742C static_array_elem [2] : 0 0x00000000 + 0x7430 static_array_elem [3] : 0 0x00000000 + 0x7434 static_array_elem [4] : 0 0x00000000 + 0x7438 static_array_elem [5] : 0 0x00000000 + 0x743C static_array_elem [6] : 0 0x00000000 + 0x7440 static_array_elem [7] : 0 0x00000000 + 0x7444 static_array_elem [8] : 0 0x00000000 + 0x7448 static_array_elem [9] : 0 0x00000000 + 0x744C static_array_elem [10] : 0 0x00000000 + 0x7450 static_array_elem [11] : 0 0x00000000 + 0x7454 static_array_elem [12] : 0 0x00000000 + 0x7458 static_array_elem [13] : 0 0x00000000 + 0x745C static_array_elem [14] : 0 0x00000000 + 0x7460 static_array_elem [15] : 0 0x00000000 diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex new file mode 100644 index 0000000000..4a1e8c9ace --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex @@ -0,0 +1,26 @@ +:047400000000000286 +:047401000000000186 +:047402000000000185 +:047403000000001075 +:047404000003D09021 +:04740500000002641D +:04740600000000087A +:047407000000000081 +:047408000000001C64 +:04740900000000641B +:04740A00000000007E +:04740B00000000007D +:04740C00000000007C +:04740D00000000007B +:04740E00000000007A +:04740F000000000079 +:047410000000000078 +:047411000000000077 +:047412000000000076 +:047413000000000075 +:047414000000000074 +:047415000000000073 +:047416000000000072 +:047417000000000071 +:047418000000000070 +:00000001FF diff --git a/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.txt b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.txt new file mode 100644 index 0000000000..17d360f826 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.txt @@ -0,0 +1,30 @@ +// This file is dynamically generated and is for information purposes only. +// It is not used during compilation or simulation. + +SEQ_GPT + 0x7400 SEQ_GPT_GLOBAL_PAR_VER : 2 0x00000002 + 0x7404 SEQ_GPT_NIOS_C_VER : 1 0x00000001 + 0x7408 SEQ_GPT_COLUMN_ID : 1 0x00000001 + 0x740C SEQ_GPT_NUM_IOPACKS : 16 0x00000010 + 0x7410 SEQ_GPT_NIOS_CLK_FREQ_KHZ : 250000 0x0003D090 + 0x7414 SEQ_GPT_PARAM_TABLE_SIZE : 612 0x00000264 + 0x7418 SEQ_GPT_GLOBAL_SKIP_STEPS : 8 0x00000008 + 0x741C SEQ_GPT_GLOBAL_CAL_CONFIG : 0 0x00000000 + 0x7420 SEQ_GPT_SLAVE_CLK_DIVIDER : 28 0x0000001C + 0x7424 SEQ_GPT_INTERFACE_PAR_PTRS + 0x7424 static_array_elem [0] : 100 0x00000064 + 0x7428 static_array_elem [1] : 0 0x00000000 + 0x742C static_array_elem [2] : 0 0x00000000 + 0x7430 static_array_elem [3] : 0 0x00000000 + 0x7434 static_array_elem [4] : 0 0x00000000 + 0x7438 static_array_elem [5] : 0 0x00000000 + 0x743C static_array_elem [6] : 0 0x00000000 + 0x7440 static_array_elem [7] : 0 0x00000000 + 0x7444 static_array_elem [8] : 0 0x00000000 + 0x7448 static_array_elem [9] : 0 0x00000000 + 0x744C static_array_elem [10] : 0 0x00000000 + 0x7450 static_array_elem [11] : 0 0x00000000 + 0x7454 static_array_elem [12] : 0 0x00000000 + 0x7458 static_array_elem [13] : 0 0x00000000 + 0x745C static_array_elem [14] : 0 0x00000000 + 0x7460 static_array_elem [15] : 0 0x00000000 diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.bsf b/corev_apu/altera/ip/emif_cal/emif_cal.bsf new file mode 100644 index 0000000000..16d3a79b1f --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.bsf @@ -0,0 +1,100 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 504 240) + (text "emif_cal" (rect 227 0 261 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 224 20 236)(font "Arial" )) + (port + (pt 0 176) + (input) + (text "calbus_rdata_0[31..0]" (rect 0 0 84 12)(font "SansSerif" (font_size 8))) + (text "calbus_rdata_0[31..0]" (rect 4 165 130 176)(font "SansSerif" (font_size 8))) + (line (pt 0 176)(pt 187 176)(line_width 3)) + ) + (port + (pt 0 201) + (input) + (text "calbus_seq_param_tbl_0[4095..0]" (rect 0 0 136 12)(font "SansSerif" (font_size 8))) + (text "calbus_seq_param_tbl_0[4095..0]" (rect 4 190 190 201)(font "SansSerif" (font_size 8))) + (line (pt 0 201)(pt 187 201)(line_width 3)) + ) + (port + (pt 0 76) + (output) + (text "calbus_read_0" (rect 0 0 59 12)(font "SansSerif" (font_size 8))) + (text "calbus_read_0" (rect 4 65 82 76)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 101) + (output) + (text "calbus_write_0" (rect 0 0 59 12)(font "SansSerif" (font_size 8))) + (text "calbus_write_0" (rect 4 90 88 101)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 126) + (output) + (text "calbus_address_0[19..0]" (rect 0 0 96 12)(font "SansSerif" (font_size 8))) + (text "calbus_address_0[19..0]" (rect 4 115 142 126)(font "SansSerif" (font_size 8))) + ) + (port + (pt 0 151) + (output) + (text "calbus_wdata_0[31..0]" (rect 0 0 87 12)(font "SansSerif" (font_size 8))) + (text "calbus_wdata_0[31..0]" (rect 4 140 130 151)(font "SansSerif" (font_size 8))) + ) + (port + (pt 504 76) + (output) + (text "calbus_clk" (rect 0 0 41 12)(font "SansSerif" (font_size 8))) + (text "calbus_clk" (rect 456 65 516 76)(font "SansSerif" (font_size 8))) + (line (pt 504 76)(pt 187 76)(line_width 1)) + ) + (drawing + (text "emif_calbus_0" (rect 102 46 282 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "calbus_read" (rect 192 71 450 152)(font "SansSerif" (color 0 0 0))) + (text "calbus_write" (rect 192 96 456 202)(font "SansSerif" (color 0 0 0))) + (text "calbus_address" (rect 192 121 468 252)(font "SansSerif" (color 0 0 0))) + (text "calbus_wdata" (rect 192 146 456 302)(font "SansSerif" (color 0 0 0))) + (text "calbus_rdata" (rect 192 171 456 352)(font "SansSerif" (color 0 0 0))) + (text "calbus_seq_param_tbl" (rect 192 196 504 402)(font "SansSerif" (color 0 0 0))) + (text "emif_calbus_clk" (rect 324 46 738 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 308 71 634 152)(font "SansSerif" (color 0 0 0))) + (text " emif_cal " (rect 470 226 1000 462)(font "SansSerif" )) + (line (pt 187 34)(pt 323 34)(line_width 1)) + (line (pt 323 34)(pt 323 226)(line_width 1)) + (line (pt 187 226)(pt 323 226)(line_width 1)) + (line (pt 187 34)(pt 187 226)(line_width 1)) + (line (pt 504 101)(pt 187 101)(line_width 1)) + (line (pt 504 126)(pt 187 126)(line_width 3)) + (line (pt 504 151)(pt 187 151)(line_width 3)) + (line (pt 188 55)(pt 188 205)(line_width 1)) + (line (pt 189 55)(pt 189 205)(line_width 1)) + (line (pt 504 76)(pt 323 76)(line_width 1)) + (line (pt 322 55)(pt 322 80)(line_width 1)) + (line (pt 321 55)(pt 321 80)(line_width 1)) + (line (pt 0 0)(pt 504 0)(line_width 1)) + (line (pt 504 0)(pt 504 243)(line_width 1)) + (line (pt 0 243)(pt 504 243)(line_width 1)) + (line (pt 0 0)(pt 0 243)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.cmp b/corev_apu/altera/ip/emif_cal/emif_cal.cmp new file mode 100644 index 0000000000..2c8a59c08d --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.cmp @@ -0,0 +1,12 @@ + component emif_cal is + port ( + calbus_read_0 : out std_logic; -- calbus_read + calbus_write_0 : out std_logic; -- calbus_write + calbus_address_0 : out std_logic_vector(19 downto 0); -- calbus_address + calbus_wdata_0 : out std_logic_vector(31 downto 0); -- calbus_wdata + calbus_rdata_0 : in std_logic_vector(31 downto 0) := (others => 'X'); -- calbus_rdata + calbus_seq_param_tbl_0 : in std_logic_vector(4095 downto 0) := (others => 'X'); -- calbus_seq_param_tbl + calbus_clk : out std_logic -- clk + ); + end component emif_cal; + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.html b/corev_apu/altera/ip/emif_cal/emif_cal.html new file mode 100644 index 0000000000..2cee8b6f8b --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.html @@ -0,0 +1,208 @@ + + + + + datasheet for emif_cal + + + + + + + + +
emif_cal +
+
+
+ + + + + +
2024.07.03.12:58:24Datasheet
+
+
Overview
+
+
+ + + + +
+
+
+
+
+
+
+
Memory Map
+ + + + +
+ +
+
+

emif_cal_0

altera_emif_cal v2.7.4 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUM_CALBUS_INTERFACE1
DIAG_SIM_CAL_MODE_ENUMSIM_CAL_MODE_SKIP
DIAG_EXPORT_SEQ_AVALON_SLAVECAL_DEBUG_EXPORT_MODE_DISABLED
DIAG_SIM_VERBOSEfalse
DIAG_EXTRA_CONFIGS
DIAG_ENABLE_JTAG_UARTfalse
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ +
+
+

emif_cal_0_emif_cal

altera_emif_cal_iossm v2.7.4 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUM_CALBUS_INTERFACE1
DIAG_SIM_CAL_MODE_ENUMSIM_CAL_MODE_SKIP
DIAG_EXPORT_SEQ_AVALON_SLAVECAL_DEBUG_EXPORT_MODE_DISABLED
DIAG_SIM_VERBOSEfalse
DIAG_EXTRA_CONFIGS
DIAG_ENABLE_JTAG_UARTfalse
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ + + + + +
generation took 0.00 secondsrendering took 0.01 seconds
+ + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.qgsynthc b/corev_apu/altera/ip/emif_cal/emif_cal.qgsynthc new file mode 100644 index 0000000000..310c87ce9e --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.qgsynthc @@ -0,0 +1,241 @@ + + + emif_cal + + + + emif_cal + 1.0 + emif_cal + emif_cal + 0 + + + + + emif_cal_0 + + + + AXM_ID_NUM + 0 + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_EXPORT_VJI + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_VERBOSE + false + + + DIAG_SYNTH_FOR_SIM + false + + + ENABLE_DDRT + false + + + NUM_CALBUS_INTERFACE + 1 + + + PHY_DDRT_EXPORT_CLK_STP_IF + false + + + SHORT_QSYS_INTERFACE_NAMES + true + + + + altera_emif_cal + 2.7.4 + emif_cal_0 + emif_cal_altera_emif_cal_274_kaypsya + 0 + + emif_cal.emif_cal_0 + + + + emif_cal + + + + DIAG_ENABLE_JTAG_UART + false + + + DIAG_EXPORT_SEQ_AVALON_SLAVE + CAL_DEBUG_EXPORT_MODE_DISABLED + + + DIAG_EXPORT_VJI + false + + + DIAG_EXTRA_CONFIGS + + + + DIAG_SIM_CAL_MODE_ENUM + SIM_CAL_MODE_SKIP + + + DIAG_SIM_VERBOSE + false + + + DIAG_SYNTH_FOR_SIM + false + + + ENABLE_DDRT + false + + + IOSSM_SIM_NIOS_PERIOD_PS + 800 + + + IOSSM_USE_MODEL + 1 + + + NUM_CALBUS_INTERFACE + 1 + + + NUM_CALBUS_USED + 1 + + + PORT_CALBUS_ADDRESS_WIDTH + 20 + + + PORT_CALBUS_RDATA_WIDTH + 32 + + + PORT_CALBUS_SEQ_PARAM_TBL_WIDTH + 4096 + + + PORT_CALBUS_WDATA_WIDTH + 32 + + + PORT_CAL_DEBUG_ADDRESS_WIDTH + 27 + + + PORT_CAL_DEBUG_BYTEEN_WIDTH + 4 + + + PORT_CAL_DEBUG_RDATA_WIDTH + 32 + + + PORT_CAL_DEBUG_WDATA_WIDTH + 32 + + + PORT_VJI_IR_IN_WIDTH + 2 + + + PORT_VJI_IR_OUT_WIDTH + 2 + + + SEQ_GPT_COLUMN_ID + 1 + + + SEQ_GPT_GLOBAL_CAL_CONFIG + 0 + + + SEQ_GPT_GLOBAL_PAR_VER + 2 + + + SEQ_GPT_GLOBAL_SKIP_STEPS + 8 + + + SEQ_GPT_NIOS_CLK_FREQ_KHZ + 250000 + + + SEQ_GPT_NIOS_C_VER + 1 + + + SEQ_GPT_NUM_IOPACKS + 16 + + + SEQ_GPT_PARAM_TABLE_SIZE + 612 + + + SEQ_GPT_SLAVE_CLK_DIVIDER + 28 + + + SHORT_QSYS_INTERFACE_NAMES + true + + + SIM_SEQ_GPT_GLOBAL_SKIP_STEPS + 1631 + + + SIM_SEQ_GPT_NIOS_CLK_FREQ_KHZ + 1250000 + + + USE_SOFT_NIOS + 0 + + + USE_SYNTH_FOR_SIM + 0 + + + + altera_emif_cal_iossm + 2.7.4 + emif_cal + emif_cal_altera_emif_cal_iossm_274_yagv7fq + 0 + + emif_cal.emif_cal_0.emif_cal + + + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.qip b/corev_apu/altera/ip/emif_cal/emif_cal.qip new file mode 100644 index 0000000000..85eda7fe45 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.qip @@ -0,0 +1,65 @@ +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_emif_cal" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name PRE_COMPILED_MODULE "ON" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name OCS_IP_FILE "/home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal.ip" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name OCS_IP_TYPE "altera_emif_cal" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name OCS_IP_VERSION "2.7.4" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name OCS_IP_HASH "yagv7fq" +set_global_assignment -library "emif_cal" -name SOPCINFO_FILE [file join $::quartus(qip_path) "emif_cal.sopcinfo"] +set_global_assignment -entity "emif_cal" -library "emif_cal" -name SLD_INFO "QSYS_NAME emif_cal HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "emif_cal" -name MISC_FILE [file join $::quartus(qip_path) "emif_cal.cmp"] +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "emif_cal" -name MISC_FILE [file join $::quartus(qip_path) "../emif_cal.ip"] + +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_NAME "ZW1pZl9jYWxfYWx0ZXJhX2VtaWZfY2FsX2lvc3NtXzI3NF95YWd2N2Zx" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_DISPLAY_NAME "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgSW50ZWwgQ2FsaWJyYXRpb24gSVA=" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_INTERNAL "On" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_VERSION "Mi43LjQ=" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_DESCRIPTION "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgSW50ZWwgQ2FsaWJyYXRpb24gSVA=" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJz" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_NAME "ZW1pZl9jYWxfYWx0ZXJhX2VtaWZfY2FsXzI3NF9rYXlwc3lh" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_DISPLAY_NAME "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgSW50ZWwgQ2FsaWJyYXRpb24gSVA=" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_VERSION "Mi43LjQ=" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_DESCRIPTION "RXh0ZXJuYWwgTWVtb3J5IEludGVyZmFjZXMgSW50ZWwgQ2FsaWJyYXRpb24gSVA=" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_GROUP "TWVtb3J5IEludGVyZmFjZXMgYW5kIENvbnRyb2xsZXJz" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9zdXBwb3J0L2xpdGVyYXR1cmUvbGl0LWV4dGVybmFsLW1lbW9yeS1pbnRlcmZhY2UuaHRtbA==" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_NAME "ZW1pZl9jYWw=" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "emif_cal" -library "emif_cal" -name IP_COMPONENT_VERSION "MS4w" + + +set_global_assignment -library "altera_emif_cal_iossm_274" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/altera_emif_cal_iossm.sv"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/altera_emif_f2c_gearbox.sv"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_code.hex"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.hex"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_sim_global_param_tbl.txt"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.hex"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_synth_global_param_tbl.txt"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq_arch.sv"] +set_global_assignment -library "altera_emif_cal_iossm_274" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_emif_cal_iossm_274/synth/emif_cal_altera_emif_cal_iossm_274_yagv7fq.sv"] +set_global_assignment -library "altera_emif_cal_274" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_emif_cal_274/synth/emif_cal_altera_emif_cal_274_kaypsya.v"] +set_global_assignment -library "emif_cal" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/emif_cal.v"] + + +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_TOOL_NAME "altera_emif_cal" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_TOOL_VERSION "2.7.4" +set_global_assignment -entity "emif_cal_altera_emif_cal_274_kaypsya" -library "altera_emif_cal_274" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_TOOL_NAME "altera_emif_cal_iossm" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_TOOL_VERSION "2.7.4" +set_global_assignment -entity "emif_cal_altera_emif_cal_iossm_274_yagv7fq" -library "altera_emif_cal_iossm_274" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.sopcinfo b/corev_apu/altera/ip/emif_cal/emif_cal.sopcinfo new file mode 100644 index 0000000000..57e85f3fac --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.sopcinfo @@ -0,0 +1,896 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + int + 0 + false + true + false + true + + + java.lang.String + 1 + false + true + true + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + true + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + java.lang.String + emif_calbus_clk + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + calbus_read_0 + Output + 1 + calbus_read + + + calbus_write_0 + Output + 1 + calbus_write + + + calbus_address_0 + Output + 20 + calbus_address + + + calbus_wdata_0 + Output + 32 + calbus_wdata + + + calbus_rdata_0 + Input + 32 + calbus_rdata + + + calbus_seq_param_tbl_0 + Input + 4096 + calbus_seq_param_tbl + + + + + + java.lang.String + + false + true + true + true + + + long + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + calbus_clk + Output + 1 + clk + + + + + + + java.lang.String + 1 + false + true + true + true + + + java.lang.String + SIM_CAL_MODE_SKIP + false + true + true + true + + + java.lang.String + CAL_DEBUG_EXPORT_MODE_DISABLED + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 800 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 16 + true + true + false + true + + + int + 250000 + true + true + false + true + + + int + 1250000 + true + true + false + true + + + int + 612 + true + true + false + true + + + int + 8 + true + true + false + true + + + int + 1631 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 28 + true + true + false + true + + + int + 27 + true + true + false + true + + + int + 32 + true + true + false + true + + + int + 32 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 20 + true + true + false + true + + + int + 32 + true + true + false + true + + + int + 32 + true + true + false + true + + + int + 4096 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 2 + true + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + java.lang.String + emif_calbus_clk + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + calbus_read_0 + Output + 1 + calbus_read + + + calbus_write_0 + Output + 1 + calbus_write + + + calbus_address_0 + Output + 20 + calbus_address + + + calbus_wdata_0 + Output + 32 + calbus_wdata + + + calbus_rdata_0 + Input + 32 + calbus_rdata + + + calbus_seq_param_tbl_0 + Input + 4096 + calbus_seq_param_tbl + + + + + + java.lang.String + + false + true + true + true + + + long + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + calbus_clk + Output + 1 + clk + + + + + 1 + altera_emif_cal + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + External Memory Interfaces Intel Calibration IP + 2.7.4 + + + 2 + conduit_end + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Conduit + 24.1 + + + 2 + clock_source + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Output + 24.1 + + + 1 + altera_emif_cal_iossm + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + External Memory Interfaces Intel Calibration IP + 2.7.4 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal.xml b/corev_apu/altera/ip/emif_cal/emif_cal.xml new file mode 100644 index 0000000000..5c8c3732c5 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: emif_cal" + "Generating: emif_cal_altera_emif_cal_274_kaypsya" + "Generating: emif_cal_altera_emif_cal_iossm_274_yagv7fq" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: emif_cal_altera_emif_cal_274_kaypsya" + "Generating: emif_cal_altera_emif_cal_iossm_274_yagv7fq" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: emif_cal_altera_emif_cal_iossm_274_yagv7fq" + + + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal_bb.v b/corev_apu/altera/ip/emif_cal/emif_cal_bb.v new file mode 100644 index 0000000000..cbed7f8c9f --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal_bb.v @@ -0,0 +1,11 @@ +module emif_cal ( + output wire calbus_read_0, // emif_calbus_0.calbus_read, EMIF Calibration component bus for read + output wire calbus_write_0, // .calbus_write, EMIF Calibration component bus for write + output wire [19:0] calbus_address_0, // .calbus_address, EMIF Calibration component bus for address + output wire [31:0] calbus_wdata_0, // .calbus_wdata, EMIF Calibration component bus for write data + input wire [31:0] calbus_rdata_0, // .calbus_rdata, EMIF Calibration component bus for read data + input wire [4095:0] calbus_seq_param_tbl_0, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + output wire calbus_clk // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + ); +endmodule + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal_generation.rpt b/corev_apu/altera/ip/emif_cal/emif_cal_generation.rpt new file mode 100644 index 0000000000..aafa62bbf0 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal_generation.rpt @@ -0,0 +1,15 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal --family="Agilex 7" --part=AGFB014R24B2E2V +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal --family="Agilex 7" --part=AGFB014R24B2E2V +Info: emif_cal: "Transforming system: emif_cal" +Info: emif_cal: "Naming system components in system: emif_cal" +Info: emif_cal: "Processing generation queue" +Info: emif_cal: "Generating: emif_cal" +Info: emif_cal: "Generating: emif_cal_altera_emif_cal_274_kaypsya" +Info: emif_cal: "Generating: emif_cal_altera_emif_cal_iossm_274_yagv7fq" +Info: emif_cal: Done "emif_cal" with 3 modules, 11 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/emif_cal/emif_cal_generation_previous.rpt b/corev_apu/altera/ip/emif_cal/emif_cal_generation_previous.rpt new file mode 100644 index 0000000000..aafa62bbf0 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal_generation_previous.rpt @@ -0,0 +1,15 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal --family="Agilex 7" --part=AGFB014R24B2E2V +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/intel/emif_cal --family="Agilex 7" --part=AGFB014R24B2E2V +Info: emif_cal: "Transforming system: emif_cal" +Info: emif_cal: "Naming system components in system: emif_cal" +Info: emif_cal: "Processing generation queue" +Info: emif_cal: "Generating: emif_cal" +Info: emif_cal: "Generating: emif_cal_altera_emif_cal_274_kaypsya" +Info: emif_cal: "Generating: emif_cal_altera_emif_cal_iossm_274_yagv7fq" +Info: emif_cal: Done "emif_cal" with 3 modules, 11 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/emif_cal/emif_cal_inst.v b/corev_apu/altera/ip/emif_cal/emif_cal_inst.v new file mode 100644 index 0000000000..61cc976f06 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal_inst.v @@ -0,0 +1,10 @@ + emif_cal u0 ( + .calbus_read_0 (_connected_to_calbus_read_0_), // output, width = 1, emif_calbus_0.calbus_read + .calbus_write_0 (_connected_to_calbus_write_0_), // output, width = 1, .calbus_write + .calbus_address_0 (_connected_to_calbus_address_0_), // output, width = 20, .calbus_address + .calbus_wdata_0 (_connected_to_calbus_wdata_0_), // output, width = 32, .calbus_wdata + .calbus_rdata_0 (_connected_to_calbus_rdata_0_), // input, width = 32, .calbus_rdata + .calbus_seq_param_tbl_0 (_connected_to_calbus_seq_param_tbl_0_), // input, width = 4096, .calbus_seq_param_tbl + .calbus_clk (_connected_to_calbus_clk_) // output, width = 1, emif_calbus_clk.clk + ); + diff --git a/corev_apu/altera/ip/emif_cal/emif_cal_inst.vhd b/corev_apu/altera/ip/emif_cal/emif_cal_inst.vhd new file mode 100644 index 0000000000..12cdf23c33 --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/emif_cal_inst.vhd @@ -0,0 +1,23 @@ + component emif_cal is + port ( + calbus_read_0 : out std_logic; -- calbus_read + calbus_write_0 : out std_logic; -- calbus_write + calbus_address_0 : out std_logic_vector(19 downto 0); -- calbus_address + calbus_wdata_0 : out std_logic_vector(31 downto 0); -- calbus_wdata + calbus_rdata_0 : in std_logic_vector(31 downto 0) := (others => 'X'); -- calbus_rdata + calbus_seq_param_tbl_0 : in std_logic_vector(4095 downto 0) := (others => 'X'); -- calbus_seq_param_tbl + calbus_clk : out std_logic -- clk + ); + end component emif_cal; + + u0 : component emif_cal + port map ( + calbus_read_0 => CONNECTED_TO_calbus_read_0, -- emif_calbus_0.calbus_read + calbus_write_0 => CONNECTED_TO_calbus_write_0, -- .calbus_write + calbus_address_0 => CONNECTED_TO_calbus_address_0, -- .calbus_address + calbus_wdata_0 => CONNECTED_TO_calbus_wdata_0, -- .calbus_wdata + calbus_rdata_0 => CONNECTED_TO_calbus_rdata_0, -- .calbus_rdata + calbus_seq_param_tbl_0 => CONNECTED_TO_calbus_seq_param_tbl_0, -- .calbus_seq_param_tbl + calbus_clk => CONNECTED_TO_calbus_clk -- emif_calbus_clk.clk + ); + diff --git a/corev_apu/altera/ip/emif_cal/synth/emif_cal.v b/corev_apu/altera/ip/emif_cal/synth/emif_cal.v new file mode 100644 index 0000000000..a3ff61f0fe --- /dev/null +++ b/corev_apu/altera/ip/emif_cal/synth/emif_cal.v @@ -0,0 +1,26 @@ +// emif_cal.v + +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module emif_cal ( + output wire calbus_read_0, // emif_calbus_0.calbus_read, EMIF Calibration component bus for read + output wire calbus_write_0, // .calbus_write, EMIF Calibration component bus for write + output wire [19:0] calbus_address_0, // .calbus_address, EMIF Calibration component bus for address + output wire [31:0] calbus_wdata_0, // .calbus_wdata, EMIF Calibration component bus for write data + input wire [31:0] calbus_rdata_0, // .calbus_rdata, EMIF Calibration component bus for read data + input wire [4095:0] calbus_seq_param_tbl_0, // .calbus_seq_param_tbl, EMIF Calibration component bus for parameter table data + output wire calbus_clk // emif_calbus_clk.clk, EMIF Calibration component bus for the clock + ); + + emif_cal_altera_emif_cal_274_kaypsya emif_cal_0 ( + .calbus_read_0 (calbus_read_0), // output, width = 1, emif_calbus_0.calbus_read + .calbus_write_0 (calbus_write_0), // output, width = 1, .calbus_write + .calbus_address_0 (calbus_address_0), // output, width = 20, .calbus_address + .calbus_wdata_0 (calbus_wdata_0), // output, width = 32, .calbus_wdata + .calbus_rdata_0 (calbus_rdata_0), // input, width = 32, .calbus_rdata + .calbus_seq_param_tbl_0 (calbus_seq_param_tbl_0), // input, width = 4096, .calbus_seq_param_tbl + .calbus_clk (calbus_clk) // output, width = 1, emif_calbus_clk.clk + ); + +endmodule diff --git a/corev_apu/altera/ip/iddr_intel.ip b/corev_apu/altera/ip/iddr_intel.ip new file mode 100644 index 0000000000..d136afa04d --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel.ip @@ -0,0 +1,439 @@ + + + + Intel Corporation + iddr_intel + gpio_0 + 22.1.0 + + + ck + + + + + + + + export + + + ck + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + dout + + + + + + + + export + + + dout + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + + + ui.blockdiagram.direction + output + + + + + + + pad_in + + + + + + + + export + + + pad_in + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + + + ui.blockdiagram.direction + input + + + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_gpio + + QUARTUS_SYNTH + + + + + + ck + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + dout + + out + + + 0 + 1 + + + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + pad_in + + in + + + STD_LOGIC_VECTOR + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + iddr_intel + altera_gpio + 22.1.0 + + + + + device_family + device_family + Agilex 7 + + + PIN_TYPE_GUI + Data Direction + Input + + + SIZE + Data width + 1 + + + gui_enable_migratable_port_names + Use legacy top-level port names + false + + + gui_diff_buff + Use differential buffer + false + + + gui_pseudo_diff + Use pseudo-differential buffer + false + + + gui_bus_hold + Use bus-hold circuitry + false + + + gui_open_drain + Use open-drain output + false + + + gui_use_oe + Enable output enable port + false + + + gui_enable_termination_ports + Enable seriestermination/paralleltermination ports + false + + + gui_io_reg_mode + Register mode + DDIO + + + gui_sreset_mode + Enable synchronous clear / preset port + None + + + gui_areset_mode + Enable asynchronous clear / preset port + None + + + gui_enable_cke + Enable clock enable port + false + + + gui_hr_logic + Half Rate Logic + false + + + gui_ddio_with_delay + Input DDIO With Delay + false + + + gui_separate_io_clks + Separate input/output Clocks + false + + + SYS_INFO_DEVICE + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_FAMILY + SYS_INFO_FAMILY + Agilex 7 + + + SYS_INFO_TRAIT_IOBANK_REVISION + SYS_INFO_TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + EXT_DRIVER_PARAM + EXT_DRIVER_PARAM + false + + + GENERATE_SDC_FILE + GENERATE_SDC_FILE + false + + + IP_MIGRATE_PORT_MAP_FILE + IP_MIGRATE_PORT_MAP_FILE + altddio_bidir_port_map.csv + + + AUTO_DEVICE_SPEEDGRADE + Auto DEVICE_SPEEDGRADE + 2 + + + AUTO_BOARD + Auto BOARD + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + + + + + board + Board + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ + element gpio_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} + + + + hideFromIPCatalog + Hide from IP Catalog + true + + + lockedInterfaceDefinition + lockedInterfaceDefinition + + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos/> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + + + + + + + + + + + + + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/iddr_intel/altera_gpio_2210/synth/iddr_intel_altera_gpio_2210_id4velq.v b/corev_apu/altera/ip/iddr_intel/altera_gpio_2210/synth/iddr_intel_altera_gpio_2210_id4velq.v new file mode 100644 index 0000000000..4f155eb422 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/altera_gpio_2210/synth/iddr_intel_altera_gpio_2210_id4velq.v @@ -0,0 +1,58 @@ +// iddr_intel_altera_gpio_2210_id4velq.v + +// This file was auto-generated from altera_gpio_hw.tcl. If you edit it your changes +// will probably be lost. +// +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module iddr_intel_altera_gpio_2210_id4velq ( + input wire ck, // ck.export, In input and output paths, this clock feeds a packed register or DDIO. In bidirectional mode, this clock is the unique clock for the input and output paths if you turn off the Separate input/output Clocks parameter. + output wire [1:0] dout, // dout.export, Data output to the FPGA core in input or bidirectional mode, DATA_SIZE depends on the register mode: Bypass or simple register - DATA_SIZE = SIZE DDIO - DATA_SIZE = 2 x SIZE + input wire [0:0] pad_in // pad_in.export, Input signal from the pad. + ); + + altera_gpio #( + .SIZE (1), + .PIN_TYPE ("input"), + .REGISTER_MODE ("ddr"), + .HALF_RATE ("false"), + .DDIO_WITH_DELAY ("false"), + .SEPARATE_I_O_CLOCKS ("false"), + .BUFFER_TYPE ("single-ended"), + .PSEUDO_DIFF ("false"), + .ARESET_MODE ("none"), + .SRESET_MODE ("none"), + .OPEN_DRAIN ("false"), + .BUS_HOLD ("false"), + .ENABLE_OE ("false"), + .ENABLE_CKE ("false"), + .ENABLE_TERM ("false") + ) core ( + .ck (ck), // input, width = 1, ck.export + .dout (dout), // output, width = 2, dout.export + .pad_in (pad_in), // input, width = 1, pad_in.export + .cke (1'b1), // (terminated), + .ck_fr_in (1'b0), // (terminated), + .ck_fr_out (1'b0), // (terminated), + .ck_in (1'b0), // (terminated), + .ck_out (1'b0), // (terminated), + .ck_fr (1'b0), // (terminated), + .ck_hr_in (1'b0), // (terminated), + .ck_hr_out (1'b0), // (terminated), + .ck_hr (1'b0), // (terminated), + .din (2'b00), // (terminated), + .oe (1'b0), // (terminated), + .pad_io (), // (terminated), + .pad_io_b (), // (terminated), + .pad_in_b (1'b0), // (terminated), + .pad_out (), // (terminated), + .pad_out_b (), // (terminated), + .terminationcontrol (1'b0), // (terminated), + .aclr (1'b0), // (terminated), + .aset (1'b0), // (terminated), + .sclr (1'b0), // (terminated), + .sset (1'b0) // (terminated), + ); + +endmodule diff --git a/corev_apu/altera/ip/iddr_intel/altera_gpio_core10_2210/synth/altera_gpio.sv b/corev_apu/altera/ip/iddr_intel/altera_gpio_core10_2210/synth/altera_gpio.sv new file mode 100644 index 0000000000..b3417ee0d5 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/altera_gpio_core10_2210/synth/altera_gpio.sv @@ -0,0 +1,705 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +`timescale 1 ps / 1 ps + +(* altera_attribute = "-name UNCONNECTED_OUTPUT_PORT_MESSAGE_LEVEL OFF" *) +module altera_gpio_one_bit( + ck, + ck_in, + ck_out, + ck_fr, + ck_fr_in, + ck_fr_out, + ck_hr, + ck_hr_in, + ck_hr_out, + oe, + din, + dout, + pad, + pad_b, + terminationcontrol, + aclr, + aset, + sclr, + sset, + cke +); + + parameter PIN_TYPE = "output"; + parameter BUFFER_TYPE = "single-ended"; + parameter PSEUDO_DIFF = "false"; + parameter REGISTER_MODE = "none"; + parameter HALF_RATE = "false"; + parameter SEPARATE_I_O_CLOCKS = "false"; + parameter ARESET_MODE = "none"; + parameter SRESET_MODE = "none"; + parameter BUS_HOLD = "false"; + parameter OPEN_DRAIN = "false"; + parameter ENABLE_CKE = "false"; + parameter ENABLE_OE = "false"; + parameter ENABLE_TERM = "false"; + + localparam OE_SIZE = (HALF_RATE == "true") ? 2 : 1; + localparam DATA_SIZE = (REGISTER_MODE == "ddr") ? + (HALF_RATE == "true") ? + 4 : 2 + : 1; + + input ck; + input ck_in; + input ck_out; + input ck_fr; + input ck_fr_in; + input ck_fr_out; + input ck_hr; + input ck_hr_in; + input ck_hr_out; + input [OE_SIZE - 1:0] oe; + input [DATA_SIZE - 1:0] din; + output [DATA_SIZE - 1:0] dout; + inout pad; + inout pad_b; + input terminationcontrol; + input aclr; + input aset; + input sclr; + input sset; + input cke; + + wire hr_out_clk; + wire fr_out_clk; + wire hr_in_clk; + wire fr_in_clk; + + wire din_ddr; + wire buf_in; + + wire areset; + wire sreset; + + generate + if(ARESET_MODE == "preset") begin + assign areset = ~aset; + end + else begin + assign areset = ~aclr; + end + endgenerate + + generate + if(SRESET_MODE == "preset") begin + assign sreset = sset; + end + else begin + assign sreset = sclr; + end + endgenerate + + generate + if(SEPARATE_I_O_CLOCKS == "true") + begin + if(HALF_RATE == "true") begin + assign hr_out_clk = ck_hr_out; + assign fr_out_clk = ck_fr_out; + assign hr_in_clk = ck_hr_in; + assign fr_in_clk = ck_fr_in; + end + else begin + assign fr_out_clk = ck_out; + assign fr_in_clk = ck_in; + end + end + else begin + if(HALF_RATE == "true") begin + assign hr_out_clk = ck_hr; + assign fr_out_clk = ck_fr; + assign hr_in_clk = ck_hr; + assign fr_in_clk = ck_fr; + end + else begin + assign fr_out_clk = ck; + assign fr_in_clk = ck; + end + end + endgenerate + + generate + if (PIN_TYPE == "output" || PIN_TYPE == "bidir") + begin: out_path + wire [1:0] din_fr; + + if (HALF_RATE == "true") + begin: out_path_hr + tennm_ddio_out + #( + .half_rate_mode("true"), + .async_mode(ARESET_MODE) + ) iodout_hr_ddio_0 ( + .areset(areset), + .datainhi(din[2]), + .datainlo(din[0]), + .dataout(din_fr[0]), + .clk (hr_out_clk) + ); + + tennm_ddio_out + #( + .half_rate_mode("true"), + .async_mode(ARESET_MODE) + ) iodout_hr_ddio_1 ( + .areset(areset), + .datainhi(din[3]), + .datainlo(din[1]), + .dataout(din_fr[1]), + .clk (hr_out_clk) + ); + end + else + begin: out_path_hr_byp + assign din_fr[DATA_SIZE - 1:0] = din; + end + + if (REGISTER_MODE == "ddr") + begin: out_path_fr + tennm_ddio_out + #( + .half_rate_mode("false"), + .async_mode(ARESET_MODE), + .sync_mode(SRESET_MODE) + ) fr_out_data_ddio ( + .ena(cke), + .areset(areset), + .sreset(sreset), + .datainhi(din_fr[1]), + .datainlo(din_fr[0]), + .dataout(din_ddr), + .clk (fr_out_clk) + ); + end + else if (REGISTER_MODE == "sdr") + begin: out_path_reg + reg reg_data_out; + always @(posedge fr_out_clk) + reg_data_out <= din_fr[0]; + + assign din_ddr = reg_data_out; + end + else + begin: out_path_byp + assign din_ddr = din_fr[0]; + end + end + endgenerate + + generate + wire oe_fr; + wire oe_ddr; + + if (PIN_TYPE == "bidir" || ENABLE_OE == "true") + begin: oe_path + if (HALF_RATE == "true") + begin: oe_path_hr + tennm_ddio_out + #( + .half_rate_mode("true") + ) oe_in_hr_ddio ( + .datainhi(oe[1]), + .datainlo(oe[0]), + .dataout(oe_fr), + .clk (hr_out_clk) + ); + end + else + begin: oe_path_hr_byp + assign oe_fr = oe[0]; + end + + if (REGISTER_MODE == "sdr" || REGISTER_MODE == "ddr") + begin: oe_path_fr + reg oe_reg; + always @(posedge fr_out_clk) oe_reg <= oe_fr; + assign oe_ddr = oe_reg; + end + else + begin: oe_path_byp + assign oe_ddr = oe_fr; + end + end + else if (PIN_TYPE == "output") + begin + assign oe_ddr = 1'b1; + end + else + begin + assign oe_ddr = 1'b0; + end + endgenerate + + generate + if (PIN_TYPE == "input" || PIN_TYPE == "bidir") + begin : input_path + wire [1:0] buf_in_fr; + + if (REGISTER_MODE == "ddr") + begin: in_path_fr + tennm_ddio_in + #( + .async_mode(ARESET_MODE), + .sync_mode(SRESET_MODE) + ) buffer_data_in_fr_ddio ( + .ena(cke), + .areset(areset), + .sreset(sreset), + .datain(buf_in), + .clk (fr_in_clk), + .regouthi(buf_in_fr[1]), + .regoutlo(buf_in_fr[0]) + ); + end + else if (REGISTER_MODE == "sdr") + begin: in_path_reg + reg ro; + always @(posedge fr_in_clk) begin + ro <= buf_in; + end + assign buf_in_fr[0] = ro; + end + else + begin: in_byp + assign buf_in_fr[0] = buf_in; + end + + if (HALF_RATE == "true") + begin: in_path_hr + tennm_ddio_in + #( + .async_mode(ARESET_MODE), + .sync_mode("none") + ) buffer_data_in_hr_ddio_0 ( + .areset(areset), + .datain(buf_in_fr[0]), + .clk (hr_in_clk), + .regouthi(dout[2]), + .regoutlo(dout[0]) + ); + + tennm_ddio_in + #( + .async_mode(ARESET_MODE), + .sync_mode("none") + ) buffer_data_in_hr_ddio_1 ( + .areset(areset), + .datain(buf_in_fr[1]), + .clk (hr_in_clk), + .regouthi(dout[3]), + .regoutlo(dout[1]) + ); + end + else + begin: in_path_hr_byp + assign dout[DATA_SIZE - 1:0] = buf_in_fr[DATA_SIZE - 1:0]; + end + end + endgenerate + + generate + if (PIN_TYPE == "output" || PIN_TYPE == "bidir") + begin : output_buffer + if(BUFFER_TYPE == "differential") begin + wire obuf_din; + wire obuf_din_b; + wire obuf_oe; + wire obuf_oe_b; + + if(PSEUDO_DIFF == "true") begin + if (PIN_TYPE == "output" && ENABLE_OE == "false") + begin : oe_path + tennm_pseudo_diff_out pseudo_diff_out( + .i(din_ddr), + .o(obuf_din), + .obar(obuf_din_b) + ); + + if (ENABLE_TERM == "true") begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .term_in(terminationcontrol), + .i(obuf_din), + .o(pad) + ); + + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_1 ( + .term_in(terminationcontrol), + .i(obuf_din_b), + .o(pad_b) + ); + end + else begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .i(obuf_din), + .o(pad) + ); + + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_1 ( + .i(obuf_din_b), + .o(pad_b) + ); + end + end + else begin + tennm_pseudo_diff_out pseudo_diff_out( + .i(din_ddr), + .o(obuf_din), + .obar(obuf_din_b), + .oein(oe_ddr), + .oeout(obuf_oe), + .oebout(obuf_oe_b) + ); + if (ENABLE_TERM == "true") begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .term_in(terminationcontrol), + .i(obuf_din), + .oe(obuf_oe), + .o(pad) + ); + + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_1 ( + .term_in(terminationcontrol), + .i(obuf_din_b), + .oe(obuf_oe_b), + .o(pad_b) + ); + end + else begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .i(obuf_din), + .oe(obuf_oe), + .o(pad) + ); + + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_1 ( + .i(obuf_din_b), + .oe(obuf_oe_b), + .o(pad_b) + ); + end + end + end + else begin + if (ENABLE_TERM == "true") begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .term_in(terminationcontrol), + .i(din_ddr), + .o(pad), + .obar(pad_b) + ); + end + else begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf_0 ( + .i(din_ddr), + .o(pad), + .obar(pad_b) + ); + end + + end + end + else begin + if (PIN_TYPE == "bidir" || ENABLE_OE == "true") begin + if (ENABLE_TERM == "true") begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf ( + .term_in(terminationcontrol), + .i(din_ddr), + .oe(oe_ddr), + .o(pad) + ); + end + else begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf ( + .i(din_ddr), + .oe(oe_ddr), + .o(pad) + ); + end + end + else begin + if (ENABLE_TERM == "true") begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf ( + .term_in(terminationcontrol), + .i(din_ddr), + .o(pad) + ); + end + else begin + tennm_io_obuf #( + .open_drain_output(OPEN_DRAIN), + .bus_hold(BUS_HOLD) + ) obuf ( + .i(din_ddr), + .o(pad) + ); + end + end + end + end + endgenerate + + generate + if (PIN_TYPE == "input" || PIN_TYPE == "bidir") + begin : input_buffer + if(BUFFER_TYPE == "differential") begin + if (ENABLE_TERM == "true") begin + tennm_io_ibuf + #( + .differential_mode("true"), + .bus_hold(BUS_HOLD) + ) ibuf ( + .i(pad), + .ibar(pad_b), + .term_in(terminationcontrol), + .o(buf_in) + ); + end + else begin + tennm_io_ibuf + #( + .differential_mode("true"), + .bus_hold(BUS_HOLD) + ) ibuf ( + .i(pad), + .ibar(pad_b), + .o(buf_in) + ); + end + end + else begin + if (ENABLE_TERM == "true") begin + tennm_io_ibuf + #( + .differential_mode("false"), + .bus_hold(BUS_HOLD) + ) ibuf ( + .i(pad), + .term_in(terminationcontrol), + .o(buf_in) + ); + end + else begin + tennm_io_ibuf + #( + .differential_mode("false"), + .bus_hold(BUS_HOLD) + ) ibuf ( + .i(pad), + .o(buf_in) + ); + end + end + end + endgenerate + +endmodule + +(* altera_attribute = "-name UNCONNECTED_OUTPUT_PORT_MESSAGE_LEVEL OFF" *) +module altera_gpio( + ck, + ck_in, + ck_out, + ck_fr, + ck_fr_in, + ck_fr_out, + ck_hr, + ck_hr_in, + ck_hr_out, + oe, + din, + dout, + pad_io, + pad_io_b, + pad_in, + pad_in_b, + pad_out, + pad_out_b, + terminationcontrol, + aclr, + aset, + sclr, + sset, + cke +); + + parameter PIN_TYPE = "output"; + parameter BUFFER_TYPE = "single-ended"; + parameter PSEUDO_DIFF = "false"; + parameter REGISTER_MODE = "none"; + parameter HALF_RATE = "false"; + parameter SEPARATE_I_O_CLOCKS = "false"; + parameter SIZE = 4; + parameter ARESET_MODE = "none"; + parameter SRESET_MODE = "none"; + parameter BUS_HOLD = "false"; + parameter OPEN_DRAIN = "false"; + parameter ENABLE_CKE = "false"; + parameter ENABLE_OE = "false"; + parameter ENABLE_TERM = "false"; + parameter DDIO_WITH_DELAY = "false"; + + localparam OE_SIZE = (HALF_RATE == "true") ? 2 : 1; + localparam DATA_SIZE = (REGISTER_MODE == "ddr") ? + (HALF_RATE == "true") ? + 4 : 2 + : 1; + + input ck; + input ck_in; + input ck_out; + input ck_fr; + input ck_fr_in; + input ck_fr_out; + input ck_hr; + input ck_hr_in; + input ck_hr_out; + input [SIZE * OE_SIZE - 1:0] oe; + input [SIZE * DATA_SIZE - 1:0] din; + output [SIZE * DATA_SIZE - 1:0] dout; + input terminationcontrol; + inout [SIZE - 1:0] pad_io; + inout [SIZE - 1:0] pad_io_b; + input [SIZE - 1:0] pad_in; + input [SIZE - 1:0] pad_in_b; + output [SIZE - 1:0] pad_out; + output [SIZE - 1:0] pad_out_b; + input aclr; + input aset; + input sclr; + input sset; + input cke; + + wire [SIZE * OE_SIZE - 1:0] oe_reordered; + wire [SIZE * DATA_SIZE - 1:0] din_reordered; + wire [SIZE * DATA_SIZE - 1:0] dout_reordered; + wire [SIZE - 1:0] pad_io; + wire [SIZE - 1:0] pad_io_b; + + generate + if (PIN_TYPE == "input") + begin + assign pad_io = pad_in; + assign pad_io_b = pad_in_b; + end + else if (PIN_TYPE == "output") + begin + assign pad_out = pad_io; + assign pad_out_b = pad_io_b; + end + endgenerate + + genvar j, k; + generate + for(j = 0; j < SIZE ; j = j + 1) begin : j_loop + for(k = 0; k < DATA_SIZE; k = k + 1) begin : k_d_loop + assign din_reordered[j * DATA_SIZE + k] = din[j + k * SIZE]; + assign dout[j + k * SIZE] = dout_reordered[j * DATA_SIZE + k]; + end + for(k = 0; k < OE_SIZE; k = k + 1) begin : k_oe_loop + assign oe_reordered[j * OE_SIZE + k] = oe[j + k * SIZE]; + end + end + endgenerate + + genvar i; + generate + for(i = 0 ; i < SIZE ; i = i + 1) begin : i_loop + altera_gpio_one_bit #( + .PIN_TYPE(PIN_TYPE), + .BUFFER_TYPE(BUFFER_TYPE), + .PSEUDO_DIFF(PSEUDO_DIFF), + .REGISTER_MODE(REGISTER_MODE), + .HALF_RATE(HALF_RATE), + .SEPARATE_I_O_CLOCKS(SEPARATE_I_O_CLOCKS), + .ARESET_MODE(ARESET_MODE), + .SRESET_MODE(SRESET_MODE), + .BUS_HOLD(BUS_HOLD), + .OPEN_DRAIN(OPEN_DRAIN), + .ENABLE_CKE(ENABLE_CKE), + .ENABLE_OE(ENABLE_OE), + .ENABLE_TERM(ENABLE_TERM) + ) altera_gpio_bit_i ( + .ck(ck), + .ck_in(ck_in), + .ck_out(ck_out), + .ck_fr(ck_fr), + .ck_fr_in(ck_fr_in), + .ck_fr_out(ck_fr_out), + .ck_hr(ck_hr), + .ck_hr_in(ck_hr_in), + .ck_hr_out(ck_hr_out), + .oe(oe_reordered[(i + 1) * OE_SIZE - 1 : i * OE_SIZE]), + .din(din_reordered[(i + 1) * DATA_SIZE - 1 : i * DATA_SIZE]), + .dout(dout_reordered[(i + 1) * DATA_SIZE - 1 : i * DATA_SIZE]), + .pad(pad_io[i]), + .pad_b(pad_io_b[i]), + .terminationcontrol(terminationcontrol), + .aclr(aclr), + .aset(aset), + .sclr(sclr), + .sset(sset), + .cke(cke) + ); + end + endgenerate + +endmodule +`ifdef QUESTA_INTEL_OEM +`pragma questa_oem_00 "Xw7zHY4BqltP71AyShWqYISoLhZT3SxrpyEl7BQuEYmT9aXwFInZOB1+8NAM9Abxac/nqs+RlyE9whduUc9F1yz69gW4lO+wlI8NI9FlvhMmczOfpPoswd02wxY1mC0KUEBF6UVmqVmGgPRlVgar5aXf/783J2fwrQfqbxgQXykWiGLaQMHxcul/bgoN4hFEn1TMYUy/tTE8m8koc22984w19xYrqWuXU/0ySEZYOIJoZBnitKgbUBY3rDzQ99Qg6tQmDbxcCCc6z9INYtbZjIF888CRyYARe9DOQqPTCv6nAt5dj9MQAds4YCMxEsm/ilQC6lg9f2Hk9/Lnn4DeJsk/LyWFN4dH5y3vUGWAYvFdPxB3itFnRFHPeuSxjpmbRXFgSdt5Us1xo5IrPuTTs0p8YAvpbK7GNhnxmBBQ9XNe2afXMLKKrTIYBi7oQIyumhDsvAGNG15ikezHkiJxkQjs4gKtz8RaPx8/4Gg8kkzzKu0wvztFnLqWYq7A1HIP6SRHKHG/174lC6asBipM4vS/iIpoEVsMUoBakLAuhoYLGJdWzqqLyOFIIaiRYuRMgS8aNVlHPBLmKaw+2xiWb0T7NkSgk/c2m/pWV2IZxY9VZMOQM3mzJNtKEzfK+k++EYqyPByvqplT1MqLNRuUhN/vr2A1kGjk9O96NP9YMJROxPvNo+pyzL23l9MIAanx058zhdxd/405zzFUan7ijQ/E4D7UbPwP8kLAlnC0PiRsdyXNUR4nzDJ0iv6esmOYjFDnaplTxRHNkyHS1nAdPgGm7moCYQa50uWfqzpwq5dwC2OMZ6Oiuj/fSU5rQt87X5EyLOHBDPsqG35YFBjKIVoJQfiM9c61EQ2uSrjrBssFfB17FNs1EnHQmaDyJNrBDx8VioA83cj24TL+zDzdYdZEdmIvsNahsOSSrIZsdxqLKLgUPw4JzJ1Mb8i39r/a/0OfC5QryVXDrsbU1XROXFX9IQ7ugnw6fhgFFgvW3AZDOFa2GDcTvxHHE3rvj8wf" +`endif \ No newline at end of file diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.bsf b/corev_apu/altera/ip/iddr_intel/iddr_intel.bsf new file mode 100644 index 0000000000..3be587e261 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.bsf @@ -0,0 +1,71 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 184 168) + (text "iddr_intel" (rect 63 0 97 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 152 20 164)(font "Arial" )) + (port + (pt 0 76) + (input) + (text "ck" (rect 0 0 9 12)(font "SansSerif" (font_size 8))) + (text "ck" (rect 4 65 16 76)(font "SansSerif" (font_size 8))) + (line (pt 0 76)(pt 51 76)(line_width 1)) + ) + (port + (pt 0 126) + (input) + (text "pad_in" (rect 0 0 25 12)(font "SansSerif" (font_size 8))) + (text "pad_in" (rect 4 115 40 126)(font "SansSerif" (font_size 8))) + (line (pt 0 126)(pt 51 126)(line_width 1)) + ) + (port + (pt 184 76) + (output) + (text "dout[1..0]" (rect 0 0 35 12)(font "SansSerif" (font_size 8))) + (text "dout[1..0]" (rect 142 65 202 76)(font "SansSerif" (font_size 8))) + (line (pt 184 76)(pt 136 76)(line_width 3)) + ) + (drawing + (text "ck" (rect 39 46 90 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "export" (rect 56 71 148 152)(font "SansSerif" (color 0 0 0))) + (text "dout" (rect 137 46 298 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "export" (rect 106 71 248 152)(font "SansSerif" (color 0 0 0))) + (text "pad_in" (rect 13 96 62 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "export" (rect 56 121 148 252)(font "SansSerif" (color 0 0 0))) + (text " iddr_intel " (rect 145 151 362 312)(font "SansSerif" )) + (line (pt 51 34)(pt 136 34)(line_width 1)) + (line (pt 136 34)(pt 136 151)(line_width 1)) + (line (pt 51 151)(pt 136 151)(line_width 1)) + (line (pt 51 34)(pt 51 151)(line_width 1)) + (line (pt 52 55)(pt 52 80)(line_width 1)) + (line (pt 53 55)(pt 53 80)(line_width 1)) + (line (pt 135 55)(pt 135 80)(line_width 1)) + (line (pt 134 55)(pt 134 80)(line_width 1)) + (line (pt 52 105)(pt 52 130)(line_width 1)) + (line (pt 53 105)(pt 53 130)(line_width 1)) + (line (pt 0 0)(pt 184 0)(line_width 1)) + (line (pt 184 0)(pt 184 168)(line_width 1)) + (line (pt 0 168)(pt 184 168)(line_width 1)) + (line (pt 0 0)(pt 0 168)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.cmp b/corev_apu/altera/ip/iddr_intel/iddr_intel.cmp new file mode 100644 index 0000000000..f8e8685071 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.cmp @@ -0,0 +1,8 @@ + component iddr_intel is + port ( + ck : in std_logic := 'X'; -- export + dout : out std_logic_vector(1 downto 0); -- export + pad_in : in std_logic_vector(0 downto 0) := (others => 'X') -- export + ); + end component iddr_intel; + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.html b/corev_apu/altera/ip/iddr_intel/iddr_intel.html new file mode 100644 index 0000000000..919bdac627 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.html @@ -0,0 +1,193 @@ + + + + + datasheet for iddr_intel + + + + + + + + +
iddr_intel +
+
+
+ + + + + +
2024.06.20.13:40:16Datasheet
+
+
Overview
+
+
+ + + + +
+
+
+
+
+
+
+
Memory Map
+ + + + +
+ +
+
+

gpio_0

altera_gpio v22.1.0 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PIN_TYPE_GUIInput
SIZE1
gui_enable_migratable_port_namesfalse
gui_diff_bufffalse
gui_pseudo_diff_off_shadowfalse
gui_bus_holdfalse
gui_open_drain_shadowfalse
gui_use_oe_off_shadowfalse
gui_enable_termination_portsfalse
gui_io_reg_modeDDIO
gui_sreset_modeNone
gui_areset_modeNone
gui_enable_ckefalse
gui_hr_logicfalse
gui_separate_io_clks_off_shadowfalse
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ + + + + +
generation took 0.00 secondsrendering took 0.01 seconds
+ + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.qgsynthc b/corev_apu/altera/ip/iddr_intel/iddr_intel.qgsynthc new file mode 100644 index 0000000000..d173a89901 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.qgsynthc @@ -0,0 +1,446 @@ + + + iddr_intel + + + + iddr_intel + 1.0 + iddr_intel + iddr_intel + 0 + + + + + gpio_0 + + + + ARESET_MODE + none + + + BUFFER_TYPE + single-ended + + + BUS_HOLD + false + + + DDIO_WITH_DELAY + false + + + ENABLE_CKE + false + + + ENABLE_OE + false + + + ENABLE_TERM + false + + + EXT_DRIVER_PARAM + false + + + GENERATE_SDC_FILE + false + + + HALF_RATE + false + + + IP_MIGRATE_PORT_MAP_FILE + altddio_bidir_port_map.csv + + + OPEN_DRAIN + false + + + PIN_TYPE + input + + + PIN_TYPE_GUI + Input + + + PSEUDO_DIFF + false + + + REGISTER_MODE + ddr + + + SEPARATE_I_O_CLOCKS + false + + + SIZE + 1 + + + SRESET_MODE + none + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_FAMILY + Agilex 7 + + + SYS_INFO_TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + device_family + Agilex 7 + + + gui_areset_mode + None + + + gui_areset_mode_off_shadow + None + + + gui_bus_hold + false + + + gui_bus_hold_shadow + false + + + gui_ddio_with_delay + false + + + gui_ddio_with_delay_off_shadow + false + + + gui_diff_buff + false + + + gui_enable_cke + false + + + gui_enable_cke_off_shadow + false + + + gui_enable_migratable_port_names + false + + + gui_enable_termination_ports + false + + + gui_enable_termination_ports_shadow + false + + + gui_hr_logic + false + + + gui_hr_logic_off_shadow + false + + + gui_io_reg_mode + DDIO + + + gui_open_drain + false + + + gui_open_drain_shadow + false + + + gui_pseudo_diff + false + + + gui_pseudo_diff_off_shadow + false + + + gui_pseudo_diff_on_shadow + true + + + gui_separate_io_clks + false + + + gui_separate_io_clks_off_shadow + false + + + gui_sreset_mode + None + + + gui_sreset_mode_off_shadow + None + + + gui_use_oe + false + + + gui_use_oe_off_shadow + false + + + gui_use_oe_on_shadow + true + + + + altera_gpio + 22.1.0 + gpio_0 + iddr_intel_altera_gpio_2210_id4velq + 0 + + iddr_intel.gpio_0 + + + + core + + + + ARESET_MODE + none + + + BUFFER_TYPE + single-ended + + + BUS_HOLD + false + + + DDIO_WITH_DELAY + false + + + ENABLE_CKE + false + + + ENABLE_OE + false + + + ENABLE_TERM + false + + + EXT_DRIVER_PARAM + false + + + GENERATE_SDC_FILE + false + + + HALF_RATE + false + + + IP_MIGRATE_PORT_MAP_FILE + altddio_bidir_port_map.csv + + + OPEN_DRAIN + false + + + PIN_TYPE + input + + + PIN_TYPE_GUI + Input + + + PSEUDO_DIFF + false + + + REGISTER_MODE + ddr + + + SEPARATE_I_O_CLOCKS + false + + + SIZE + 1 + + + SRESET_MODE + none + + + SYS_INFO_DEVICE + AGFB014R24B2E2V + + + SYS_INFO_FAMILY + Agilex 7 + + + SYS_INFO_TRAIT_IOBANK_REVISION + IO96A_REVB2 + + + gui_areset_mode + None + + + gui_areset_mode_off_shadow + None + + + gui_bus_hold + false + + + gui_bus_hold_shadow + false + + + gui_ddio_with_delay + false + + + gui_ddio_with_delay_off_shadow + false + + + gui_diff_buff + false + + + gui_enable_cke + false + + + gui_enable_cke_off_shadow + false + + + gui_enable_migratable_port_names + false + + + gui_enable_termination_ports + false + + + gui_enable_termination_ports_shadow + false + + + gui_hr_logic + false + + + gui_hr_logic_off_shadow + false + + + gui_io_reg_mode + DDIO + + + gui_open_drain + false + + + gui_open_drain_shadow + false + + + gui_pseudo_diff + false + + + gui_pseudo_diff_off_shadow + false + + + gui_pseudo_diff_on_shadow + true + + + gui_separate_io_clks + false + + + gui_separate_io_clks_off_shadow + false + + + gui_sreset_mode + None + + + gui_sreset_mode_off_shadow + None + + + gui_use_oe + false + + + gui_use_oe_off_shadow + false + + + gui_use_oe_on_shadow + true + + + + altera_gpio_core10 + 22.1.0 + core + altera_gpio + altera_gpio + 0 + + iddr_intel.gpio_0.core + + + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.qip b/corev_apu/altera/ip/iddr_intel/iddr_intel.qip new file mode 100644 index 0000000000..ec88912dec --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.qip @@ -0,0 +1,64 @@ +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_gpio" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name PRE_COMPILED_MODULE "ON" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name OCS_IP_FILE "/home/angela/Documents/github/cva6/corev_apu/fpga/iddr_intel.ip" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name OCS_IP_TYPE "altera_gpio" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name OCS_IP_VERSION "22.1.0" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name OCS_IP_HASH "id4velq" +set_global_assignment -library "iddr_intel" -name SOPCINFO_FILE [file join $::quartus(qip_path) "iddr_intel.sopcinfo"] +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name SLD_INFO "QSYS_NAME iddr_intel HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "iddr_intel" -name MISC_FILE [file join $::quartus(qip_path) "iddr_intel.cmp"] +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_TARGETED_PART_TRAIT "part.DEVICE_IOBANK_REVISION::IO96A_REVB2" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "iddr_intel" -name MISC_FILE [file join $::quartus(qip_path) "../iddr_intel.ip"] + +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_NAME "YWx0ZXJhX2dwaW8=" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_DISPLAY_NAME "R1BJTyBDb3JlIEludGVsIEZQR0EgSVA=" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_INTERNAL "On" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_VERSION "MjIuMS4w" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_DESCRIPTION "SW50ZWwgRlBHQSBHUElPIENvcmU=" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_COMPONENT_GROUP "SS9P" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_NAME "aWRkcl9pbnRlbF9hbHRlcmFfZ3Bpb18yMjEwX2lkNHZlbHE=" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DISPLAY_NAME "R1BJTyBJbnRlbCBGUEdBIElQ" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_VERSION "MjIuMS4w" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DESCRIPTION "VGhlIEdQSU8gSW50ZWwgRlBHQSBJUCBwcm92aWRlcyBmZWF0dXJlcyB0byBzdXBwb3J0IHRoZSBkZXZpY2UgSS9PIGJsb2Nrcy4gWW91IGNhbiB1c2UgR1BJT3MgaW4gZ2VuZXJhbCBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIHRyYW5zY2VpdmVycywgbWVtb3J5IGludGVyZmFjZXMsIG9yIExWRFMuIFlvdSBjYW4gdXNlIHRoZSBJbnRlbCBRdWFydHVzIFByaW1lIHBhcmFtZXRlciBlZGl0b3IgdG8gY29uZmlndXJlIHRoZSBHUElPIEludGVsIEZQR0EgSVAu" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_GROUP "QmFzaWMgRnVuY3Rpb25zL0kvTw==" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzEzNi8yMy0yLTIxLTAtMC91c2VyLWd1aWRlLWFuZC1kZXZpY2VzLmh0bWw=" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4Mzc4MC8yMy0zL2dlbmVyYWwtcHVycG9zZS1pLW8tb3ZlcnZpZXcuaHRtbA==" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzc3MjEzOC8yMy00L2dlbmVyYWwtcHVycG9zZS1pLW8tb3ZlcnZpZXcuaHRtbA==" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzUxOC8yMy0yL2ktby1vdmVydmlldy5odG1s" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzQ3OS8=" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_NAME "aWRkcl9pbnRlbA==" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "iddr_intel" -library "iddr_intel" -name IP_COMPONENT_VERSION "MS4w" + +set_instance_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name MESSAGE_DISABLE 10034 +set_instance_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name MESSAGE_DISABLE 10230 +set_instance_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name MESSAGE_DISABLE 10036 + +set_global_assignment -library "altera_gpio_core10_2210" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_gpio_core10_2210/synth/altera_gpio.sv"] +set_global_assignment -library "altera_gpio_2210" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_gpio_2210/synth/iddr_intel_altera_gpio_2210_id4velq.v"] +set_global_assignment -library "iddr_intel" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/iddr_intel.v"] + + +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_TOOL_NAME "altera_gpio" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_TOOL_VERSION "22.1.0" +set_global_assignment -entity "iddr_intel_altera_gpio_2210_id4velq" -library "altera_gpio_2210" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_TOOL_NAME "altera_gpio_core10" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_TOOL_VERSION "22.1.0" +set_global_assignment -entity "altera_gpio" -library "altera_gpio_core10_2210" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.sopcinfo b/corev_apu/altera/ip/iddr_intel/iddr_intel.sopcinfo new file mode 100644 index 0000000000..e47da252b6 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.sopcinfo @@ -0,0 +1,716 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + Input + false + true + true + true + + + int + 1 + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + true + false + true + true + + + boolean + true + true + false + false + true + + + boolean + false + false + true + true + true + + + boolean + false + true + false + false + true + + + boolean + false + false + true + false + true + + + boolean + false + true + false + true + true + + + boolean + false + false + true + false + true + + + boolean + false + true + false + true + true + + + boolean + true + true + false + false + true + + + boolean + false + false + true + true + true + + + boolean + false + true + false + false + true + + + java.lang.String + DDIO + false + true + true + true + + + java.lang.String + None + false + true + true + true + + + java.lang.String + None + true + false + false + true + + + java.lang.String + None + false + true + true + true + + + java.lang.String + None + true + false + false + true + + + boolean + false + false + true + true + true + + + boolean + false + true + false + false + true + + + boolean + false + false + true + true + true + + + boolean + false + true + false + false + true + + + boolean + false + false + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + false + false + false + true + + + boolean + false + true + false + true + true + + + java.lang.String + input + true + true + false + true + + + java.lang.String + ddr + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + single-ended + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + none + true + true + false + true + + + java.lang.String + none + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + false + true + true + false + true + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + IO96A_REVB2 + false + true + false + true + PART_TRAIT + DEVICE_IOBANK_REVISION + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + altddio_bidir_port_map.csv + false + true + false + true + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + Intel Agilex 7 FPGA F-Series Development Kit P-Tile and E-Tile DK-DEV-AGF014EA + false + true + false + true + BOARD + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + ck + Input + 1 + export + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + dout + Output + 2 + export + + + + + + ui.blockdiagram.direction + input + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + pad_in + Input + 1 + export + + + + + 1 + altera_gpio + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + GPIO Intel FPGA IP + 22.1.0 + + + 3 + conduit_end + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Conduit + 24.1 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel.xml b/corev_apu/altera/ip/iddr_intel/iddr_intel.xml new file mode 100644 index 0000000000..d2654080ff --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel.xml @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: iddr_intel" + "Generating: iddr_intel_altera_gpio_2210_id4velq" + "Generating: altera_gpio" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: iddr_intel_altera_gpio_2210_id4velq" + "Generating: altera_gpio" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: altera_gpio" + + + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel_bb.v b/corev_apu/altera/ip/iddr_intel/iddr_intel_bb.v new file mode 100644 index 0000000000..c34e40f115 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel_bb.v @@ -0,0 +1,7 @@ +module iddr_intel ( + input wire ck, // ck.export, In input and output paths, this clock feeds a packed register or DDIO. In bidirectional mode, this clock is the unique clock for the input and output paths if you turn off the Separate input/output Clocks parameter. + output wire [1:0] dout, // dout.export, Data output to the FPGA core in input or bidirectional mode, DATA_SIZE depends on the register mode: Bypass or simple register - DATA_SIZE = SIZE DDIO - DATA_SIZE = 2 x SIZE + input wire [0:0] pad_in // pad_in.export, Input signal from the pad. + ); +endmodule + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel_generation.rpt b/corev_apu/altera/ip/iddr_intel/iddr_intel_generation.rpt new file mode 100644 index 0000000000..aebc247393 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel_generation.rpt @@ -0,0 +1,17 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/iddr_intel.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/iddr_intel --family="Agilex 7" --part=AGFB014R24B2E2V +Info: iddr_intel.gpio_0: Intel GPIO supports a maximum interface frequency of 300 MHZ. +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6/corev_apu/fpga/iddr_intel.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6/corev_apu/fpga/iddr_intel --family="Agilex 7" --part=AGFB014R24B2E2V +Info: iddr_intel.gpio_0: Intel GPIO supports a maximum interface frequency of 300 MHZ. +Info: iddr_intel: "Transforming system: iddr_intel" +Info: iddr_intel: "Naming system components in system: iddr_intel" +Info: iddr_intel: "Processing generation queue" +Info: iddr_intel: "Generating: iddr_intel" +Info: iddr_intel: "Generating: iddr_intel_altera_gpio_2210_id4velq" +Info: iddr_intel: "Generating: altera_gpio" +Info: iddr_intel: Done "iddr_intel" with 3 modules, 3 files +Info: Finished: Create HDL design files for synthesis diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.v b/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.v new file mode 100644 index 0000000000..63f364d9d7 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.v @@ -0,0 +1,6 @@ + iddr_intel u0 ( + .ck (_connected_to_ck_), // input, width = 1, ck.export + .dout (_connected_to_dout_), // output, width = 2, dout.export + .pad_in (_connected_to_pad_in_) // input, width = 1, pad_in.export + ); + diff --git a/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.vhd b/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.vhd new file mode 100644 index 0000000000..d512f5a914 --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/iddr_intel_inst.vhd @@ -0,0 +1,15 @@ + component iddr_intel is + port ( + ck : in std_logic := 'X'; -- export + dout : out std_logic_vector(1 downto 0); -- export + pad_in : in std_logic_vector(0 downto 0) := (others => 'X') -- export + ); + end component iddr_intel; + + u0 : component iddr_intel + port map ( + ck => CONNECTED_TO_ck, -- ck.export + dout => CONNECTED_TO_dout, -- dout.export + pad_in => CONNECTED_TO_pad_in -- pad_in.export + ); + diff --git a/corev_apu/altera/ip/iddr_intel/synth/iddr_intel.v b/corev_apu/altera/ip/iddr_intel/synth/iddr_intel.v new file mode 100644 index 0000000000..15d42d25bf --- /dev/null +++ b/corev_apu/altera/ip/iddr_intel/synth/iddr_intel.v @@ -0,0 +1,18 @@ +// iddr_intel.v + +// Generated using ACDS version 24.1 115 + +`timescale 1 ps / 1 ps +module iddr_intel ( + input wire ck, // ck.export, In input and output paths, this clock feeds a packed register or DDIO. In bidirectional mode, this clock is the unique clock for the input and output paths if you turn off the Separate input/output Clocks parameter. + output wire [1:0] dout, // dout.export, Data output to the FPGA core in input or bidirectional mode, DATA_SIZE depends on the register mode: Bypass or simple register - DATA_SIZE = SIZE DDIO - DATA_SIZE = 2 x SIZE + input wire [0:0] pad_in // pad_in.export, Input signal from the pad. + ); + + iddr_intel_altera_gpio_2210_id4velq gpio_0 ( + .ck (ck), // input, width = 1, ck.export + .dout (dout), // output, width = 2, dout.export + .pad_in (pad_in) // input, width = 1, pad_in.export + ); + +endmodule diff --git a/corev_apu/altera/ip/io_pll.ip b/corev_apu/altera/ip/io_pll.ip new file mode 100644 index 0000000000..58d2c90ee7 --- /dev/null +++ b/corev_apu/altera/ip/io_pll.ip @@ -0,0 +1,2038 @@ + + + + Intel Corporation + io_pll + iopll_0 + 19.3.1 + + + refclk + + + + + + + + clk + + + refclk + + + + + + + + + clockRate + Clock rate + 100000000 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + input + + + + + + + locked + + + + + + + + export + + + locked + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + + + ui.blockdiagram.direction + output + + + + + + + reset + + + + + + + + reset + + + rst + + + + + + + + + associatedClock + Associated clock + + + + synchronousEdges + Synchronous edges + NONE + + + + + + + ui.blockdiagram.direction + input + + + + + + + outclk0 + + + + + + + + clk + + + outclk_0 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 200000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk1 + + + + + + + + clk + + + outclk_1 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 125000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk2 + + + + + + + + clk + + + outclk_2 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 200000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk3 + + + + + + + + clk + + + outclk_3 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 125000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk4 + + + + + + + + clk + + + outclk_4 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 100000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + altera_iopll + + QUARTUS_SYNTH + + + + + + refclk + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + locked + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + rst + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_0 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_1 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_2 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_3 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_4 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + Intel Corporation + io_pll + altera_iopll + 19.3.1 + + + + + gui_debug_mode + + false + + + gui_skip_sdc_generation + + false + + + gui_include_iossm + + false + + + gui_cal_code_hex_file + + iossm.hex + + + gui_parameter_table_hex_file + + seq_params_sim.hex + + + gui_pll_tclk_mux_en + + false + + + gui_pll_tclk_sel + + pll_tclk_m_src + + + gui_pll_vco_freq_band_0 + + pll_freq_clk0_band18 + + + gui_pll_vco_freq_band_1 + + pll_freq_clk1_band18 + + + gui_pll_freqcal_en + + true + + + gui_pll_freqcal_req_flag + + true + + + gui_cal_converge + + false + + + gui_cal_error + + cal_clean + + + gui_pll_cal_done + + false + + + gui_pll_type + + S10_Simple + + + gui_pll_m_cnt_in_src + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src0 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src1 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src2 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src3 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src4 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src5 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src6 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src7 + + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src8 + + c_m_cnt_in_src_ph_mux_clk + + + system_info_device_family + Device Family + Agilex 7 + + + system_info_device_component + Component + AGFB014R24B2E2V + + + system_info_device_speed_grade + Speed Grade + 2 + + + system_info_device_iobank_rev + IO Bank Revision + + + + system_part_trait_speed_grade + Speed Grade Trait + 2 + + + system_part_trait_iobank_rev + IO Bank Revision Trait + IO96A_REVB2 + + + gui_usr_device_speed_grade + Speed Grade + 1 + + + gui_en_reconf + Enable dynamic reconfiguration of PLL + false + + + gui_en_iossm_reconf + Enable dynamic reconfiguration of PLL using Calibration IP + false + + + gui_user_base_address + User base address of PLL for dynamic reconfiguration (0..255) + 0 + + + gui_en_dps_ports + Enable access to dynamic phase shift ports + false + + + gui_pll_mode + PLL Mode + Integer-N PLL + + + gui_location_type + IOPLL Type + I/O Bank + + + gui_use_logical + Use logical PLL + false + + + gui_reference_clock_frequency + Reference Clock Frequency + 100.0 + + + gui_reference_clock_frequency_ps + Reference Clock Frequency + 10000.0 + + + gui_use_coreclk + Refclk source is global clock + true + + + gui_refclk_might_change + My reference clock frequency might change + false + + + gui_fractional_cout + Fractional carry out + 32 + + + gui_prot_mode + prot_mode + UNUSED + + + gui_dsm_out_sel + DSM Order + 1st_order + + + gui_use_locked + Enable locked output port + true + + + gui_en_adv_params + Enable physical output clock parameters + false + + + gui_pll_bandwidth_preset + PLL Bandwidth Preset + Medium + + + gui_lock_setting + Lock Threshold Setting + Low Lock Time + + + gui_pll_auto_reset + PLL Auto Reset + false + + + gui_en_lvds_ports + Access to PLL LVDS_CLK/LOADEN output port + Disabled + + + gui_en_periphery_ports + Enable access to I/O Bank clock ports + false + + + gui_operation_mode + Compensation Mode + direct + + + gui_feedback_clock + Feedback Clock + Global Clock + + + gui_clock_to_compensate + Compensated Outclk + 0 + + + gui_use_NDFB_modes + Use Nondedicated Feedback Path + false + + + gui_refclk_switch + Create a second input clock signal 'refclk1' + false + + + gui_refclk1_frequency + Second Reference Clock Frequency + 100.0 + + + gui_en_phout_ports + Enable access to PLL DPA output port + false + + + gui_phout_division + PLL DPA output division + 1 + + + gui_en_extclkout_ports + Enable access to PLL external clock output port + false + + + gui_number_of_clocks + Number Of Clocks + 5 + + + gui_multiply_factor + Multiply Factor (M-Counter) + 25 + + + gui_divide_factor_n + Divide Factor (N-Counter) + 6 + + + gui_frac_multiply_factor + Fractional Multiply Factor (K) + 1 + + + gui_fix_vco_frequency + Specify VCO frequency + false + + + gui_fixed_vco_frequency + Desired VCO Frequency + 600.0 + + + gui_fixed_vco_frequency_ps + Desired VCO Frequency + 1667.0 + + + gui_vco_frequency + Actual VCO Frequency + 1250.0 + + + gui_enable_output_counter_cascading + Enable output counter cascading + false + + + gui_mif_gen_options + MIF Generation Options + Generate New MIF File + + + gui_new_mif_file_path + Path to New MIF file + ~/pll.mif + + + gui_existing_mif_file_path + Path to Existing MIF file + ~/pll.mif + + + gui_mif_config_name + Name of Current Configuration + unnamed + + + gui_active_clk + Create an 'active_clk' signal to indicate the input clock in use + false + + + gui_clk_bad + Create a 'clkbad' signal for each of the input clocks + false + + + gui_switchover_mode + Switchover Mode + Automatic Switchover + + + gui_switchover_delay + Switchover Delay + 0 + + + gui_enable_cascade_out + Create a 'cascade_out' signal to connect to a downstream PLL + false + + + gui_cascade_outclk_index + cascade_out source + 0 + + + gui_enable_cascade_in + Create an 'adjpllin' (cascade in) signal to connect to an upstream PLL through IO Column Cascading + false + + + gui_enable_permit_cal + Connect to an upstream PLL through Core Clock Network Cascading (create a permit_cal input signal) + false + + + gui_enable_upstream_out_clk + Connect outclk to a downstream PLL through Core Clock Network Cascading + false + + + gui_pll_cascading_mode + Connection Signal Type to Upstream PLL + adjpllin + + + gui_enable_mif_dps + Enable Dynamic Phase Shift for MIF streaming + false + + + gui_dps_cntr + DPS Counter Selection + C0 + + + gui_dps_num + Number of Dynamic Phase Shifts + 1 + + + gui_dps_dir + Dynamic Phase Shift Direction + Positive + + + gui_extclkout_0_source + extclk_out[0] source + C0 + + + gui_extclkout_1_source + extclk_out[1] source + C0 + + + gui_extclkout_source + extclk_out source + C0 + + + gui_clock_name_global + Give clocks global names + false + + + gui_clock_name_string0 + Clock Name + outclk0 + + + gui_clock_name_string1 + Clock Name + outclk1 + + + gui_clock_name_string2 + Clock Name + outclk2 + + + gui_clock_name_string3 + Clock Name + outclk3 + + + gui_clock_name_string4 + Clock Name + outclk4 + + + gui_clock_name_string5 + Clock Name + outclk5 + + + gui_clock_name_string6 + Clock Name + outclk6 + + + gui_clock_name_string7 + Clock Name + outclk7 + + + gui_clock_name_string8 + Clock Name + outclk8 + + + gui_clock_name_string9 + Clock Name + outclk9 + + + gui_clock_name_string10 + Clock Name + outclk10 + + + gui_clock_name_string11 + Clock Name + outclk11 + + + gui_clock_name_string12 + Clock Name + outclk12 + + + gui_clock_name_string13 + Clock Name + outclk13 + + + gui_clock_name_string14 + Clock Name + outclk14 + + + gui_clock_name_string15 + Clock Name + outclk15 + + + gui_clock_name_string16 + Clock Name + outclk16 + + + gui_clock_name_string17 + Clock Name + outclk17 + + + gui_divide_factor_c0 + Divide Factor (C-Counter) + 1 + + + gui_divide_factor_c1 + Divide Factor (C-Counter) + 25 + + + gui_divide_factor_c2 + Divide Factor (C-Counter) + 25 + + + gui_divide_factor_c3 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c4 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c5 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c6 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c7 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c8 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c9 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c10 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c11 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c12 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c13 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c14 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c15 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c16 + Divide Factor (C-Counter) + 6 + + + gui_divide_factor_c17 + Divide Factor (C-Counter) + 6 + + + gui_cascade_counter0 + Make this a cascade counter + false + + + gui_cascade_counter1 + Make this a cascade counter + false + + + gui_cascade_counter2 + Make this a cascade counter + false + + + gui_cascade_counter3 + Make this a cascade counter + false + + + gui_cascade_counter4 + Make this a cascade counter + false + + + gui_cascade_counter5 + Make this a cascade counter + false + + + gui_cascade_counter6 + Make this a cascade counter + false + + + gui_cascade_counter7 + Make this a cascade counter + false + + + gui_cascade_counter8 + Make this a cascade counter + false + + + gui_cascade_counter9 + Make this a cascade counter + false + + + gui_cascade_counter10 + Make this a cascade counter + false + + + gui_cascade_counter11 + Make this a cascade counter + false + + + gui_cascade_counter12 + Make this a cascade counter + false + + + gui_cascade_counter13 + Make this a cascade counter + false + + + gui_cascade_counter14 + Make this a cascade counter + false + + + gui_cascade_counter15 + Make this a cascade counter + false + + + gui_cascade_counter16 + Make this a cascade counter + false + + + gui_cascade_counter17 + Make this a cascade counter + false + + + gui_output_clock_frequency0 + Desired Frequency + 200.0 + + + gui_output_clock_frequency1 + Desired Frequency + 125.0 + + + gui_output_clock_frequency2 + Desired Frequency + 200.0 + + + gui_output_clock_frequency3 + Desired Frequency + 125.0 + + + gui_output_clock_frequency4 + Desired Frequency + 100.0 + + + gui_output_clock_frequency5 + Desired Frequency + 100.0 + + + gui_output_clock_frequency6 + Desired Frequency + 100.0 + + + gui_output_clock_frequency7 + Desired Frequency + 100.0 + + + gui_output_clock_frequency8 + Desired Frequency + 100.0 + + + gui_output_clock_frequency9 + Desired Frequency + 100.0 + + + gui_output_clock_frequency10 + Desired Frequency + 100.0 + + + gui_output_clock_frequency11 + Desired Frequency + 100.0 + + + gui_output_clock_frequency12 + Desired Frequency + 100.0 + + + gui_output_clock_frequency13 + Desired Frequency + 100.0 + + + gui_output_clock_frequency14 + Desired Frequency + 100.0 + + + gui_output_clock_frequency15 + Desired Frequency + 100.0 + + + gui_output_clock_frequency16 + Desired Frequency + 100.0 + + + gui_output_clock_frequency17 + Desired Frequency + 100.0 + + + gui_output_clock_frequency_ps0 + Desired Frequency + 5000.0 + + + gui_output_clock_frequency_ps1 + Desired Frequency + 8000.0 + + + gui_output_clock_frequency_ps2 + Desired Frequency + 5000.0 + + + gui_output_clock_frequency_ps3 + Desired Frequency + 8000.0 + + + gui_output_clock_frequency_ps4 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps5 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps6 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps7 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps8 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps9 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps10 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps11 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps12 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps13 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps14 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps15 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps16 + Desired Frequency + 10000.0 + + + gui_output_clock_frequency_ps17 + Desired Frequency + 10000.0 + + + gui_ps_units0 + Phase Shift Units + ps + + + gui_ps_units1 + Phase Shift Units + ps + + + gui_ps_units2 + Phase Shift Units + ps + + + gui_ps_units3 + Phase Shift Units + degrees + + + gui_ps_units4 + Phase Shift Units + ps + + + gui_ps_units5 + Phase Shift Units + ps + + + gui_ps_units6 + Phase Shift Units + ps + + + gui_ps_units7 + Phase Shift Units + ps + + + gui_ps_units8 + Phase Shift Units + ps + + + gui_ps_units9 + Phase Shift Units + ps + + + gui_ps_units10 + Phase Shift Units + ps + + + gui_ps_units11 + Phase Shift Units + ps + + + gui_ps_units12 + Phase Shift Units + ps + + + gui_ps_units13 + Phase Shift Units + ps + + + gui_ps_units14 + Phase Shift Units + ps + + + gui_ps_units15 + Phase Shift Units + ps + + + gui_ps_units16 + Phase Shift Units + ps + + + gui_ps_units17 + Phase Shift Units + ps + + + gui_phase_shift0 + Desired Phase Shift + 0.0 + + + gui_phase_shift1 + Desired Phase Shift + 0.0 + + + gui_phase_shift2 + Desired Phase Shift + 0.0 + + + gui_phase_shift3 + Desired Phase Shift + 0.0 + + + gui_phase_shift4 + Desired Phase Shift + 0.0 + + + gui_phase_shift5 + Desired Phase Shift + 0.0 + + + gui_phase_shift6 + Desired Phase Shift + 0.0 + + + gui_phase_shift7 + Desired Phase Shift + 0.0 + + + gui_phase_shift8 + Desired Phase Shift + 0.0 + + + gui_phase_shift9 + Desired Phase Shift + 0.0 + + + gui_phase_shift10 + Desired Phase Shift + 0.0 + + + gui_phase_shift11 + Desired Phase Shift + 0.0 + + + gui_phase_shift12 + Desired Phase Shift + 0.0 + + + gui_phase_shift13 + Desired Phase Shift + 0.0 + + + gui_phase_shift14 + Desired Phase Shift + 0.0 + + + gui_phase_shift15 + Desired Phase Shift + 0.0 + + + gui_phase_shift16 + Desired Phase Shift + 0.0 + + + gui_phase_shift17 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg0 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg1 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg2 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg3 + Desired Phase Shift + 90.0 + + + gui_phase_shift_deg4 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg5 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg6 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg7 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg8 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg9 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg10 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg11 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg12 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg13 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg14 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg15 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg16 + Desired Phase Shift + 0.0 + + + gui_phase_shift_deg17 + Desired Phase Shift + 0.0 + + + gui_duty_cycle0 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle1 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle2 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle3 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle4 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle5 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle6 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle7 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle8 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle9 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle10 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle11 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle12 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle13 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle14 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle15 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle16 + Desired Duty Cycle + 50.0 + + + gui_duty_cycle17 + Desired Duty Cycle + 50.0 + + + gui_simulation_type + Force full PLL simulation model + false + + + hp_qsys_scripting_mode + hp_qsys_scripting_mode + false + + + + + + + embeddedsw.dts.compatible + altr,pll + + + embeddedsw.dts.group + clock + + + embeddedsw.dts.vendor + altr + + + + + + + board + Board + default + + + device + Device + AGFB014R24B2E2V + + + deviceFamily + Device family + Agilex 7 + + + deviceSpeedGrade + Device Speed Grade + 2 + + + generationId + Generation Id + 0 + + + bonusData + bonusData + bonusData +{ + element iopll_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} + + + + hideFromIPCatalog + Hide from IP Catalog + true + + + lockedInterfaceDefinition + lockedInterfaceDefinition + + + + systemInfos + systemInfos + <systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>outclk0</key> + <value> + <connectionPointName>outclk0</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>200000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>outclk1</key> + <value> + <connectionPointName>outclk1</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>outclk2</key> + <value> + <connectionPointName>outclk2</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>200000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>outclk3</key> + <value> + <connectionPointName>outclk3</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>outclk4</key> + <value> + <connectionPointName>outclk4</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>100000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition> + + + dflBitArray + dflBitArray + + + + cpuInfo + cpuInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + false + + \ No newline at end of file diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/sim/io_pll_altera_iopll_1931_oypl3jq.vo b/corev_apu/altera/ip/io_pll/altera_iopll_1931/sim/io_pll_altera_iopll_1931_oypl3jq.vo new file mode 100644 index 0000000000..d4b24db1e2 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/sim/io_pll_altera_iopll_1931_oypl3jq.vo @@ -0,0 +1,450 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// This is a testing TERP file. +// Wrappers for other families can be found in altera_pll.v (pre Arria 10) and twentynm_iopll.v + +`timescale 1ps/1ps +module io_pll_altera_iopll_1931_oypl3jq +( + // interface refclk + input wire refclk, + // interface locked + output wire locked, + // interface reset + input wire rst, + // interface outclk0 + output wire outclk_0, + // interface outclk1 + output wire outclk_1, + // interface outclk2 + output wire outclk_2, + // interface outclk3 + output wire outclk_3, + // interface outclk4 + output wire outclk_4 +); + +wire [1:0] extclk_out_wire; +wire refclk1; +assign refclk1 = 1'b0; +wire fbclk; +assign fbclk = 1'b0; +wire fboutclk; +wire zdbfbclk; +wire [1:0] loaden; +wire phase_done; +wire [29:0] reconfig_to_pll; +assign reconfig_to_pll = 30'b0; +wire scanclk; +assign scanclk = 1'b0; +wire [7:0] phout; +wire [2:0] num_phase_shifts; +assign num_phase_shifts = 3'b0; +wire permit_cal; +assign permit_cal = 1'b1; +wire fblvds_out; +assign fblvds_out = 1'b1; +wire [4:0] cntsel; +assign cntsel = 5'b0; +wire [1:0] clkbad; +wire [1:0] lvds_clk; +wire [8:0] outclk; +wire [2:0] unused_wires_high; + +wire [0:0] unused_wires_low; +assign unused_wires_low = outclk[0:0]; +assign unused_wires_high = outclk[8:6]; +assign outclk_0 = outclk[1]; +assign outclk_1 = outclk[2]; +assign outclk_2 = outclk[3]; +assign outclk_3 = outclk[4]; +assign outclk_4 = outclk[5]; +wire phase_en; +assign phase_en = 1'b0; +wire extswitch; +assign extswitch = 1'b0; +wire cascade_out; +wire dll_output; +assign dll_output = 1'b1; +wire activeclk; +wire adjpllin; +assign adjpllin = 1'b0; +wire updn; +assign updn = 1'b0; +wire [10:0] reconfig_from_pll; + +wire feedback_clk; +wire fb_clkin; +wire fb_out_clk; +wire fboutclk_wire; +wire locked_wire; +wire [10:0] reconfig_from_pll_wire; +wire gnd /* synthesis keep*/; + +// For use in dps pulse gen module. +wire final_updn; +wire final_phase_en; +wire [3:0] final_cntsel; +wire [2:0] final_num_ps; +assign reconfig_from_pll[10:0] = reconfig_from_pll_wire; + +wire adjpllin_wire = 1'b0; +wire dedicated_refclk_wire = 1'b0; + +//Calibration wires +wire cal_ok_wire; + +// Reset logic: + +//Synchronise the reset signal using Flip-Flop to avoid race condition HSD : https://hsdes.intel.com/appstore/article/#/14021123640 +// Uncomment the lines from 160 to 176 and comment lines 189 190 to workaround the race condition for FM87 +// +// +//reg cal_ok_wire_synced; +// +//always @ (posedge refclk or posedge rst) begin +// +// if (rst) begin +// cal_ok_wire_synced <= 1'b0; +// end else begin +// cal_ok_wire_synced <= cal_ok_wire; +// end +// +//end +// +//wire rst_n_wire = ~((rst & cal_ok_wire_synced) | (~permit_cal)); +//wire dprio_rst_n_wire = ~((~reconfig_to_pll[1] & cal_ok_wire_synced) | (~permit_cal)); + +// There are a few scenarios: +// - Upstream PLL : +// - reset is anded with cal_ok_wire so that a reset signal from the +// user can't interrupt calibration. +// - permit_cal tied off to 1 -> rst_n_wire = ~(rst & cal_ok_wire) +// - Downstream PLL: +// - connect upstream locked to downstream permit_cal +// - until upstream PLL is locked, keep reset high so that the PLL +// can't be calibrated. + +// To get the FM hot potato passing temporarily skip cal_ok and permit_cal + +// +//wire rst_n_wire = ~((rst & cal_ok_wire) | (~permit_cal)); +//Removing cal_ok_wire support since its causing race condition in Hardware, +//Cal_ok_wire should not have a self loop happening and also got confirmation +//from PFE that this gating logic is handled within the Hardware HSD: 14021123640 + +wire rst_n_wire = ~(rst | (~permit_cal)); +wire dprio_rst_n_wire = ~((~reconfig_to_pll[1] & cal_ok_wire) | (~permit_cal)); + + +//------------- Counter enable localparams ------------------------------- +localparam counter0_enable = "false"; +localparam counter1_enable = "true"; +localparam counter2_enable = "true"; +localparam counter3_enable = "true"; +localparam counter4_enable = "true"; +localparam counter5_enable = "true"; +localparam counter6_enable = "false"; +localparam counter7_enable = "false"; +localparam counter8_enable = "false"; +//------------- Counter enable localparams ------------------------------- + + +// ========================================================================================== +// Instantiate tennm_iopll! +// ========================================================================================== +tennm_iopll #( + .auto_clk_sw_en("false"), + .bw_mode("mid_bw"), + .c0_bypass_en("true"), + .c0_even_duty_en("false"), + .c0_high(256), + .c0_low(256), + .c0_out_en(counter0_enable), + .c0_ph_mux_prst(0), + .c0_prst(1), + .c1_bypass_en("false"), + .c1_even_duty_en("true"), + .c1_high(3), + .c1_low(2), + .c1_out_en(counter1_enable), + .c1_ph_mux_prst(0), + .c1_prst(1), + .c2_bypass_en("false"), + .c2_even_duty_en("false"), + .c2_high(4), + .c2_low(4), + .c2_out_en(counter2_enable), + .c2_ph_mux_prst(0), + .c2_prst(1), + .c3_bypass_en("false"), + .c3_even_duty_en("true"), + .c3_high(3), + .c3_low(2), + .c3_out_en(counter3_enable), + .c3_ph_mux_prst(0), + .c3_prst(1), + .c4_bypass_en("false"), + .c4_even_duty_en("false"), + .c4_high(4), + .c4_low(4), + .c4_out_en(counter4_enable), + .c4_ph_mux_prst(0), + .c4_prst(3), + .c5_bypass_en("false"), + .c5_even_duty_en("false"), + .c5_high(5), + .c5_low(5), + .c5_out_en(counter5_enable), + .c5_ph_mux_prst(0), + .c5_prst(1), + .c6_bypass_en("true"), + .c6_even_duty_en("false"), + .c6_high(256), + .c6_low(256), + .c6_out_en(counter6_enable), + .c6_ph_mux_prst(0), + .c6_prst(1), + .c7_bypass_en("true"), + .c7_even_duty_en("false"), + .c7_high(256), + .c7_low(256), + .c7_out_en(counter7_enable), + .c7_ph_mux_prst(0), + .c7_prst(1), + .c8_bypass_en("true"), + .c8_even_duty_en("false"), + .c8_high(256), + .c8_low(256), + .c8_out_en(counter8_enable), + .c8_ph_mux_prst(0), + .c8_prst(1), + .clkin_0_src("coreclkin"), + .clkin_1_src("ioclkin_0"), + .clock_name_0(""), + .clock_name_1("outclk0"), + .clock_name_2("outclk1"), + .clock_name_3("outclk2"), + .clock_name_4("outclk3"), + .clock_name_5("outclk4"), + .clock_name_6(""), + .clock_name_7(""), + .clock_name_8(""), + .clock_name_global_0("false"), + .clock_name_global_1("false"), + .clock_name_global_2("false"), + .clock_name_global_3("false"), + .clock_name_global_4("false"), + .clock_name_global_5("false"), + .clock_name_global_6("false"), + .clock_name_global_7("false"), + .clock_name_global_8("false"), + .clock_to_compensate(1), + .duty_cycle_0(50), + .duty_cycle_1(50), + .duty_cycle_2(50), + .duty_cycle_3(50), + .duty_cycle_4(50), + .duty_cycle_5(50), + .duty_cycle_6(50), + .duty_cycle_7(50), + .duty_cycle_8(50), + .extclk_0_cnt_src("pll_extclk_cnt_src_vss"), + .extclk_0_enable("true"), + .extclk_1_cnt_src("pll_extclk_cnt_src_vss"), + .extclk_1_enable("true"), + .feedback("direct"), + .iopll_type("TOP_BOTTOM"), + .m_counter_bypass_en("false"), + .m_counter_even_duty_en("false"), + .m_counter_high(5), + .m_counter_low(5), + .m_counter_scratch(1), + .manu_clk_sw_en("false"), + .merging_permitted("false"), + .n_counter_bypass_en("true"), + .n_counter_high(256), + .n_counter_low(256), + .n_counter_odd_div_duty_en("false"), + .outclk0("0 ps"), + .outclk1("200.0 MHz"), + .outclk2("125.0 MHz"), + .outclk3("200.0 MHz"), + .outclk4("125.0 MHz"), + .outclk5("100.0 MHz"), + .outclk6("0 ps"), + .outclk7("0 ps"), + .outclk8("0 ps"), + .pfd("100.0 MHz"), + .phase_shift_0("0 ps"), + .phase_shift_1("0 ps"), + .phase_shift_2("0 ps"), + .phase_shift_3("0 ps"), + .phase_shift_4("2000 ps"), + .phase_shift_5("0 ps"), + .phase_shift_6("0 ps"), + .phase_shift_7("0 ps"), + .phase_shift_8("0 ps"), + .prot_mode("BASIC"), + .refclk_src_mux("clk_0"), + .refclk_time("100.0 MHz"), + .self_reset_en("false"), + .simple_pll("false"), + .uc_channel_base_addr(16'h0), + .vco("1000.0 MHz") +) tennm_pll ( + .clken(2'b00), + .cnt_sel(4'b0), + .num_phase_shifts(3'b0), + .phase_en(1'b0), + .up_dn(1'b0), + .dprio_clk(1'b0), + .core_refclk(refclk), + .csr_clk(1'b1), + .csr_en(1'b1), + .csr_in(1'b1), + .dprio_rst_n(rst_n_wire), + .dprio_address(9'b0), + .read(1'b0), + .write(1'b0), + .writedata(8'b0), + .pll_select_top_avl(1'b1), // Hardcoded to use the top PLL for now. + .dps_rst_n(rst_n_wire), + .extswitch(extswitch), + .fbclk_in(1'b0), + .fblvds_in(1'b0), + .mdio_dis(1'b0), + .pfden(1'b1), + .pipeline_global_en_n(1'b0), + .pll_cascade_in(adjpllin_wire), + .pma_csr_test_dis(1'b1), + .refclk({2'b0,refclk1, dedicated_refclk_wire}), + .rst_n(rst_n_wire), + .scan_mode_n(1'b1), + .scan_shift_n(1'b1), + .uc_cal_addr(20'b0), + .uc_cal_clk(1'b0), + .uc_cal_read(1'b0), + .uc_cal_write(1'b0), + .uc_cal_writedata(8'b0), + .user_mode(1'b1), + .zdb_in(1'b0), + .block_select(), + .clk0_bad(clkbad[0]), + .clk1_bad(clkbad[1]), + .clksel(activeclk), + .csr_out(), + .dll_output(dll_output), + .extclk_dft(), + .extclk_output({extclk_out_wire[1], fboutclk_wire}), + .fbclk_out(feedback_clk), + .fblvds_out(fblvds_out), + .lf_reset(), + .loaden(loaden), + .lock(locked_wire), + .lvds_clk(lvds_clk), + .outclk(outclk), + .phase_done(phase_done), + .pll_cascade_out(cascade_out), + .pll_pd(), + .readdata(reconfig_from_pll_wire[7:0]), + .vcop_en(), + .vcoph(phout), + .cal_ok(cal_ok_wire) +); + +assign reconfig_from_pll_wire[8] = locked_wire; +assign reconfig_from_pll_wire[9] = phase_done; +assign reconfig_from_pll_wire[10] = cal_ok_wire; +assign extclk_out_wire[0] = fboutclk_wire; + +assign fboutclk = fboutclk_wire; +assign locked = locked_wire; + +// ================================================================================== +// Create clock buffers for fbclk, fboutclk and zdbfbclk if necessary. +// ================================================================================== +assign zdbfbclk = 0; + +endmodule + + +// ================================================================================= +// The final_phase_en signal should be a signal pulse (there was a silicon bug +// involving this problem on Arria 10. DPS pulse gen generates a singe final_phase_en +// pulse when the user_phase_en goes high. +// It also delays the other signal by one clock cycle +// ================================================================================= + +module dps_pulse_gen_io_pll_altera_iopll_1931_oypl3jq ( + input wire clk, // the DPS clock + input wire rst, // active high reset + input wire user_phase_en, // the user's phase_en signal + input wire user_updn, + input wire [2:0] user_num_ps, + input wire [3:0] user_cntsel, + output reg phase_en, // the phase_en signal for the IOPLL atom + output reg updn, + output reg [2:0] num_ps, + output reg [3:0] cntsel + ); + + //------------------------------------------------------------------------- + // States + localparam IDLE = 0, // Idle state: user_phase_en = 0, phase_en = 0 + PULSE = 1, // Activate state: phase_en = 1 + WAIT = 2; // Wait for user_phase_en to go low + + //------------------------------------------------------------------------- + // FSM current and next states + reg [1:0] state, next; + + // State update + always @(posedge clk) begin + + updn <= user_updn; + cntsel <= user_cntsel; + num_ps <= user_num_ps; + + if (rst) state <= IDLE; + else state <= next; + end + + //------------------------------------------------------------------------- + // Next-state and output logic + always @(*) begin + next = IDLE; // Default next state + phase_en = 1'b0; // Default output + + case (state) + IDLE : begin + if (user_phase_en) next = PULSE; + else next = IDLE; + end + + PULSE : begin + phase_en = 1'b1; + next = WAIT; + end + + WAIT : begin + if (~user_phase_en) next = IDLE; + else next = WAIT; + end + endcase + end + + endmodule + + diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/agilex_iobank_pll.ipxact b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/agilex_iobank_pll.ipxact new file mode 100644 index 0000000000..f42f006eed --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/agilex_iobank_pll.ipxact @@ -0,0 +1,3214 @@ + + + + Vendor + Library + fmiopllwrap_top + 1 + + + fmiopllwrap_top_csr + DPRIOCSR + fmiopllwrap_top + + fmiopllwrap_top_csr + xdprio_dps_iopll.xdprio + 0 + 624 + 624 + register + + fmiopllwrap_top_csr + 0 + 624 + + cr_n_hi + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_hi[8:0] + 0 + 9 + false + write-only + + + reserved0 + + 9 + 3 + false + write-only + + + cr_isel + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_isel[2:0] + 12 + 3 + false + write-only + + + cr_n_lo_8 + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_lo[8] + 15 + 1 + false + write-only + + + cr_n_lo + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_lo[7:0] + 16 + 8 + false + write-only + + + cr_m_directfb + xiopll_custom.xiopll_core.xfb.cr_m_directfb + 24 + 1 + false + write-only + + + cr_tclk + xiopll_custom.xiopll_core.xtestmux.cr_tclk[1:0] + 25 + 2 + false + write-only + + + crdly_m + xiopll_custom.xiopll_core.xmcnt_iopll.xpm_fine_dly.crdly[4:0] + 27 + 5 + false + write-only + + + crhi_m + xiopll_custom.xiopll_core.xmcnt_iopll.crhi[8:0] + 32 + 9 + false + write-only + + + crsel_m + xiopll_custom.xiopll_core.xmcnt_iopll.crsel[1:0] + 41 + 2 + false + write-only + + + crprst_m + xiopll_custom.xiopll_core.xmcnt_iopll.crprst[10:0] + 43 + 11 + false + write-only + + + reserved1 + + 54 + 1 + false + write-only + + + crlo_m_8 + xiopll_custom.xiopll_core.xmcnt_iopll.crlo[8] + 55 + 1 + false + write-only + + + crlo_m + xiopll_custom.xiopll_core.xmcnt_iopll.crlo[7:0] + 56 + 8 + false + write-only + + + cr_atpg_up_ndwn + xiopll_custom.xiopll_core.xvco_iopll.cr_atpg_up_ndwn[7:0] + 64 + 8 + false + write-only + + + cr_extclk0_sel + xiopll_custom.xextclk0.crsel[3:0] + 72 + 4 + false + write-only + + + cr_vcocalsel_clk1_2 + xiopll_custom.cr_vcocalsel_clk1[5:3] + 76 + 3 + false + write-only + + + cr_testdnen + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_testdnen + 79 + 1 + false + write-only + + + cr_testupen + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_testupen + 80 + 1 + false + write-only + + + cr_rplctrl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_rplctrl[1:0] + 81 + 2 + false + write-only + + + cr_bwctrl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_bwctrl[3:0] + 83 + 4 + false + write-only + + + cr_rcpmode + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_rcpmode + 87 + 1 + false + write-only + + + cr_vcop + xiopll_custom.xiopll_core.xvco_iopll.cr_vcop[7:0] + 88 + 8 + false + write-only + + + cr_lockf + xiopll_custom.xiopll_core.xlockf.cr_lockf[11:0] + 96 + 12 + false + write-only + + + cr_lock_test + xiopll_custom.xiopll_core.xlockf.cr_lock_test + 108 + 1 + false + write-only + + + cr_icp_high + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_icp_high[2:0] + 109 + 3 + false + write-only + + + cr_unlockf + xiopll_custom.xiopll_core.xlockf.cr_unlockf[2:0] + 112 + 3 + false + write-only + + + cr_atb + xiopll_custom.xiopll_core.xatb_iopll.cr_atb[4:0] + 115 + 5 + false + write-only + + + cr_pllen + xfpll_ctrl.cr_pllen|xiopll_custom.xpllcoutbuf0.cr_pllen|xiopll_custom.xpllcoutbuf1.cr_pllen|xiopll_custom.xpllcoutbuf2.cr_pllen|xiopll_custom.xpllcoutbuf3.cr_pllen|xiopll_custom.xpllcoutbuf4.cr_pllen|xiopll_custom.xpllcoutbuf5.cr_pllen|xiopll_custom.xpllcoutbuf6.cr_pllen|xiopll_custom.xpllcoutbuf7.cr_pllen|xiopll_custom.xpllcoutbuf8.cr_pllen + 120 + 1 + false + write-only + + + cr_ctrl_override + xfpll_ctrl.cr_ctrl_override + 121 + 1 + false + write-only + + + cr_testen + xfpll_ctrl.cr_testen + 122 + 1 + false + write-only + + + cr_inv + xfpll_ctrl.cr_inv + 123 + 1 + false + write-only + + + cr_vccd_pd + xfpll_ctrl.cr_vccd_pd + 124 + 1 + false + write-only + + + cr_self_rst + xfpll_ctrl.cr_self_rst[1:0] + 125 + 2 + false + write-only + + + defer_cal_user_mode + xiopll_custom.defer_cal_user_mode + 127 + 1 + false + write-only + + + cr_refclk_dly + xiopll_custom.xiopll_core.xref.cr_refclk_dly[2:0] + 128 + 3 + false + write-only + + + cr_fbclk_sel + xiopll_custom.xiopll_core.xfb.cr_fbclk_sel[1:0] + 131 + 2 + false + write-only + + + cr_fbclk_dly + xiopll_custom.xiopll_core.xfb.cr_fbclk_dly[2:0] + 133 + 3 + false + write-only + + + cr_clksel + xiopll_custom.xclkin_sw.xclkin_mux.xmux1.crsel[2:0],xiopll_custom.xclkin_sw.xclkin_mux.xmux0.crsel[2:0] + 136 + 6 + false + write-only + + + cr_clkin_sw_clkloss_fltr + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clkloss_fltr[1:0] + 142 + 2 + false + write-only + + + cr_so + xiopll_custom.xclkin_sw.xpm_pll_so.cr_so[7:0] + 144 + 8 + false + write-only + + + cr_dll_sel + xiopll_custom.xdllout.crsel[3:0] + 152 + 4 + false + write-only + + + cr_n_dly + xiopll_custom.xiopll_core.xfine_dly_n.crdly[4:0] + 156 + 5 + false + write-only + + + reserved2 + + 161 + 1 + false + write-only + + + cr_extclk0_enable + xiopll_custom.xextclk0.crenable + 162 + 1 + false + write-only + + + cr_extclk0_inv + xiopll_custom.xextclk0.crinv + 163 + 1 + false + write-only + + + cr_extclk1_sel + xiopll_custom.xextclk1.crsel[3:0] + 164 + 4 + false + write-only + + + cr_extclk1_enable + xiopll_custom.xextclk1.crenable + 168 + 1 + false + write-only + + + cr_extclk1_inv + xiopll_custom.xextclk1.crinv + 169 + 1 + false + write-only + + + cr_extclk_dllout_en + xiopll_custom.xcoutbuf3.inb,xiopll_custom.xcoutbuf2.inb,xiopll_custom.xcoutbuf1.inb,xiopll_custom.xcoutbuf0.inb + 170 + 4 + false + write-only + + + cr_fblvdsout + xiopll_custom.x221.cr_fblvdsout + 174 + 1 + false + write-only + + + cr_pllcout8 + xiopll_custom.xpllcoutbuf8.cr_pllcout + 175 + 1 + false + write-only + + + cr_pllcout + xiopll_custom.xpllcoutbuf7.cr_pllcout,xiopll_custom.xpllcoutbuf6.cr_pllcout,xiopll_custom.xpllcoutbuf5.cr_pllcout,xiopll_custom.xpllcoutbuf4.cr_pllcout,xiopll_custom.xpllcoutbuf3.cr_pllcout,xiopll_custom.xpllcoutbuf2.cr_pllcout,xiopll_custom.xpllcoutbuf1.cr_pllcout,xiopll_custom.xpllcoutbuf0.cr_pllcout + 176 + 8 + false + write-only + + + cr_lvds0_dly + xiopll_custom.xfine_dly_0.crdly[4:0] + 184 + 5 + false + write-only + + + cr_lvds0_enable + xiopll_custom.xfine_dly_0.crenable + 189 + 1 + false + write-only + + + cr_lvds1_enable + xiopll_custom.xfine_dly_2.crenable + 190 + 1 + false + write-only + + + cr_cal_converge + xiopll_custom.cr_cal_converge + 191 + 1 + false + write-only + + + cr_loaden0_dly + xiopll_custom.xfine_dly_1.crdly[4:0] + 192 + 5 + false + write-only + + + cr_loaden0_enable + xiopll_custom.xfine_dly_1.crenable + 197 + 1 + false + write-only + + + cr_loaden1_enable + xiopll_custom.xfine_dly_3.crenable + 198 + 1 + false + write-only + + + cr_cal_error + xiopll_custom.cr_cal_error + 199 + 1 + false + write-only + + + cr_lvds1_dly + xiopll_custom.xfine_dly_2.crdly[4:0] + 200 + 5 + false + write-only + + + cr_vcocalsel_clk1_1 + xiopll_custom.cr_vcocalsel_clk1[2:0] + 205 + 3 + false + write-only + + + cr_loaden1_dly + xiopll_custom.xfine_dly_3.crdly[4:0] + 208 + 5 + false + write-only + + + cr_cal_done + xiopll_custom.cr_cal_done + 213 + 1 + false + write-only + + + cr_ref_clkloss_fltr + xiopll_custom.xiopll_core.xtestmux.cr_ref_clkloss_fltr[1:0] + 214 + 2 + false + write-only + + + crhi_c0 + xiopll_custom.xccnt_iopll0.crhi[8:0] + 216 + 9 + false + write-only + + + crsel_c0 + xiopll_custom.xccnt_iopll0.crsel[1:0] + 225 + 2 + false + write-only + + + crprst_c0 + xiopll_custom.xccnt_iopll0.crprst[10:0] + 227 + 11 + false + write-only + + + reserved3 + + 238 + 1 + false + write-only + + + crlo_c0_8 + xiopll_custom.xccnt_iopll0.crlo[8] + 239 + 1 + false + write-only + + + crlo_c0 + xiopll_custom.xccnt_iopll0.crlo[7:0] + 240 + 8 + false + write-only + + + crhi_c1 + xiopll_custom.xccnt_iopll1.crhi[8:0] + 248 + 9 + false + write-only + + + crsel_c1 + xiopll_custom.xccnt_iopll1.crsel[1:0] + 257 + 2 + false + write-only + + + crprst_c1 + xiopll_custom.xccnt_iopll1.crprst[10:0] + 259 + 11 + false + write-only + + + reserved4 + + 270 + 1 + false + write-only + + + crlo_c1_8 + xiopll_custom.xccnt_iopll1.crlo[8] + 271 + 1 + false + write-only + + + crlo_c1 + xiopll_custom.xccnt_iopll1.crlo[7:0] + 272 + 8 + false + write-only + + + crhi_c2 + xiopll_custom.xccnt_iopll2.crhi[8:0] + 280 + 9 + false + write-only + + + crsel_c2 + xiopll_custom.xccnt_iopll2.crsel[1:0] + 289 + 2 + false + write-only + + + crprst_c2 + xiopll_custom.xccnt_iopll2.crprst[10:0] + 291 + 11 + false + write-only + + + reserved5 + + 302 + 1 + false + write-only + + + crlo_c2_8 + xiopll_custom.xccnt_iopll2.crlo[8] + 303 + 1 + false + write-only + + + crlo_c2 + xiopll_custom.xccnt_iopll2.crlo[7:0] + 304 + 8 + false + write-only + + + crhi_c3 + xiopll_custom.xccnt_iopll3.crhi[8:0] + 312 + 9 + false + write-only + + + crsel_c3 + xiopll_custom.xccnt_iopll3.crsel[1:0] + 321 + 2 + false + write-only + + + crprst_c3 + xiopll_custom.xccnt_iopll3.crprst[10:0] + 323 + 11 + false + write-only + + + reserved6 + + 334 + 1 + false + write-only + + + crlo_c3_8 + xiopll_custom.xccnt_iopll3.crlo[8] + 335 + 1 + false + write-only + + + crlo_c3 + xiopll_custom.xccnt_iopll3.crlo[7:0] + 336 + 8 + false + write-only + + + crhi_c4 + xiopll_custom.xccnt_iopll4.crhi[8:0] + 344 + 9 + false + write-only + + + crsel_c4 + xiopll_custom.xccnt_iopll4.crsel[1:0] + 353 + 2 + false + write-only + + + crprst_c4 + xiopll_custom.xccnt_iopll4.crprst[10:0] + 355 + 11 + false + write-only + + + reserved7 + + 366 + 1 + false + write-only + + + crlo_c4_8 + xiopll_custom.xccnt_iopll4.crlo[8] + 367 + 1 + false + write-only + + + crlo_c4 + xiopll_custom.xccnt_iopll4.crlo[7:0] + 368 + 8 + false + write-only + + + crhi_c5 + xiopll_custom.xccnt_iopll5.crhi[8:0] + 376 + 9 + false + write-only + + + crsel_c5 + xiopll_custom.xccnt_iopll5.crsel[1:0] + 385 + 2 + false + write-only + + + crprst_c5 + xiopll_custom.xccnt_iopll5.crprst[10:0] + 387 + 11 + false + write-only + + + reserved8 + + 398 + 1 + false + write-only + + + crlo_c5_8 + xiopll_custom.xccnt_iopll5.crlo[8] + 399 + 1 + false + write-only + + + crlo_c5 + xiopll_custom.xccnt_iopll5.crlo[7:0] + 400 + 8 + false + write-only + + + crhi_c6 + xiopll_custom.xccnt_iopll6.crhi[8:0] + 408 + 9 + false + write-only + + + crsel_c6 + xiopll_custom.xccnt_iopll6.crsel[1:0] + 417 + 2 + false + write-only + + + crprst_c6 + xiopll_custom.xccnt_iopll6.crprst[10:0] + 419 + 11 + false + write-only + + + reserved9 + + 430 + 1 + false + write-only + + + crlo_c6_8 + xiopll_custom.xccnt_iopll6.crlo[8] + 431 + 1 + false + write-only + + + crlo_c6 + xiopll_custom.xccnt_iopll6.crlo[7:0] + 432 + 8 + false + write-only + + + crhi_c7 + xiopll_custom.xccnt_iopll7.crhi[8:0] + 440 + 9 + false + write-only + + + crsel_c7 + xiopll_custom.xccnt_iopll7.crsel[1:0] + 449 + 2 + false + write-only + + + crprst_c7 + xiopll_custom.xccnt_iopll7.crprst[10:0] + 451 + 11 + false + write-only + + + reserved10 + + 462 + 1 + false + write-only + + + crlo_c7_8 + xiopll_custom.xccnt_iopll7.crlo[8] + 463 + 1 + false + write-only + + + crlo_c7 + xiopll_custom.xccnt_iopll7.crlo[7:0] + 464 + 8 + false + write-only + + + crhi_c8 + xiopll_custom.xccnt_iopll8.crhi[8:0] + 472 + 9 + false + write-only + + + crsel_c8 + xiopll_custom.xccnt_iopll8.crsel[1:0] + 481 + 2 + false + write-only + + + crprst_c8 + xiopll_custom.xccnt_iopll8.crprst[10:0] + 483 + 11 + false + write-only + + + reserved11 + + 494 + 1 + false + write-only + + + crlo_c8_8 + xiopll_custom.xccnt_iopll8.crlo[8] + 495 + 1 + false + write-only + + + crlo_c8 + xiopll_custom.xccnt_iopll8.crlo[7:0] + 496 + 8 + false + write-only + + + crdly_c0 + xiopll_custom.xccnt_iopll0.xpm_fine_dly.crdly[4:0] + 504 + 5 + false + write-only + + + cr_clkloss_det_en + xiopll_custom.xiopll_core.xtestmux.cr_clkloss_det_en + 509 + 1 + false + write-only + + + crdly_c1 + xiopll_custom.xccnt_iopll1.xpm_fine_dly.crdly[4:0] + 510 + 5 + false + write-only + + + cr_pllreset + xiopll_custom.cr_pllreset + 515 + 1 + false + write-only + + + crdly_c2 + xiopll_custom.xccnt_iopll2.xpm_fine_dly.crdly[4:0] + 516 + 5 + false + write-only + + + cr_clkloss_det_fb_ovrd + xiopll_custom.xiopll_core.xtestmux.cr_clkloss_det_fb_ovrd + 521 + 1 + false + write-only + + + crdly_c3 + xiopll_custom.xccnt_iopll3.xpm_fine_dly.crdly[4:0] + 522 + 5 + false + write-only + + + cr_cal_en_vreg0 + xiopll_custom.xvreg_0p9v0.cal_en + 527 + 1 + false + write-only + + + crdly_c4 + xiopll_custom.xccnt_iopll4.xpm_fine_dly.crdly[4:0] + 528 + 5 + false + write-only + + + cr_refclk_equal + xiopll_custom.cr_refclk_equal + 533 + 1 + false + write-only + + + crdly_c5 + xiopll_custom.xccnt_iopll5.xpm_fine_dly.crdly[4:0] + 534 + 5 + false + write-only + + + user_handle_cal_fail + xiopll_custom.user_handle_cal_fail + 539 + 1 + false + write-only + + + crdly_c6 + xiopll_custom.xccnt_iopll6.xpm_fine_dly.crdly[4:0] + 540 + 5 + false + write-only + + + cr_cal_en_vreg1 + xiopll_custom.xvreg_0p9v1.cal_en + 545 + 1 + false + write-only + + + crdly_c7 + xiopll_custom.xccnt_iopll7.xpm_fine_dly.crdly[4:0] + 546 + 5 + false + write-only + + + cr_ppmclk + xiopll_custom.xpllcoutbuf0.cr_ppmclk|xiopll_custom.xpllcoutbuf1.cr_ppmclk|xiopll_custom.xpllcoutbuf2.cr_ppmclk|xiopll_custom.xpllcoutbuf3.cr_ppmclk|xiopll_custom.xpllcoutbuf4.cr_ppmclk|xiopll_custom.xpllcoutbuf5.cr_ppmclk|xiopll_custom.xpllcoutbuf6.cr_ppmclk|xiopll_custom.xpllcoutbuf7.cr_ppmclk|xiopll_custom.xpllcoutbuf8.cr_ppmclk + 551 + 1 + false + write-only + + + crdly_c8 + xiopll_custom.xccnt_iopll8.xpm_fine_dly.crdly[4:0] + 552 + 5 + false + write-only + + + cr_plniotri + xfpll_ctrl.cr_plniotri + 557 + 1 + false + write-only + + + cr_fb_clkloss_fltr + xiopll_custom.xiopll_core.xtestmux.cr_fb_clkloss_fltr[1:0] + 558 + 2 + false + write-only + + + + cr_vreg0calsel + xiopll_custom.xvreg_0p9v0.calsel[4:0] + 560 + 5 + false + write-only + + + + cr_lckdet_sel + xiopll_custom.xiopll_core.xlockdet.cr_lckdet_sel[2:0] + 565 + 3 + false + write-only + + + + cr_vreg1calsel + xiopll_custom.xvreg_0p9v1.calsel[4:0] + 568 + 5 + false + write-only + + + + cr_lckdet_hys_sel + xiopll_custom.xiopll_core.xlockdet.cr_lckdet_hys_sel[2:0] + 573 + 3 + false + write-only + + + + cr_vreg0_override + xiopll_custom.xvreg_0p9v0.ovrride + 576 + 1 + false + write-only + + + + cr_vreg1_override + xiopll_custom.xvreg_0p9v1.ovrride + 577 + 1 + false + write-only + + + + cr_vcocalsel_clk0 + xiopll_custom.cr_vcocalsel_clk0[5:0] + 578 + 6 + false + write-only + + + + cr_freqcal_en + xiopll_custom.cr_freqcal_en + 584 + 1 + false + write-only + + + + cr_freqcal_biasctl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_freqcal_biasctl[2:0] + 585 + 3 + false + write-only + + + + cr_clk_sel_override + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clk_sel_override + 588 + 1 + false + write-only + + + cr_clk_sel_override_value + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clk_sel_override_value + 589 + 1 + false + write-only + + + cr_freqcal_req_flag + xiopll_custom.cr_freqcal_req_flag + 590 + 1 + false + write-only + + + cr_vcocal_rstb + xiopll_custom.xiopll_core.xvco_cal.resetb + 591 + 1 + false + write-only + + + cr_dprio_interface_sel + xdprio_dps_iopll.dprio_out_reg[599:592] + 592 + 8 + false + write-only + + + dprio_base_addr + xdprio_dps_iopll.dprio_base_addr[8:0] + 600 + 9 + false + write-only + + + coreAvlBaseAddress + 0 + + + + + r_calibration_en + xdprio_dps_iopll.r_calibration_en + 609 + 1 + false + write-only + + + extra_csr + xdprio_dps_iopll.extra_csr[11:10] + 610 + 2 + false + write-only + + + dprio_cvp_inter_sel_csr_ctrl + xdprio_dps_iopll.dprio_cvp_inter_sel_csr_ctrl + 612 + 1 + false + write-only + + + dprio_force_inter_sel_csr_ctrl + xdprio_dps_iopll.dprio_force_inter_sel_csr_ctrl + 613 + 1 + false + write-only + + + dprio_broadcast_en_csr_ctrl + xdprio_dps_iopll.dprio_broadcast_en_csr_ctrl + 614 + 1 + false + write-only + + + dprio_power_iso_en_csr_ctrl + xdprio_dps_iopll.dprio_power_iso_en_csr_ctrl + 615 + 1 + false + write-only + + + uc_channel_base_addr + xdprio_dps_iopll.uc_channel_base_addr[7:0] + 616 + 8 + false + write-only + + + + 1 + + + fmiopllwrap_top_avl + DPRIOAVL + fmiopllwrap_top + + fmiopllwrap_top_avl + 0 + 600 + 8 + register + + iopll_reg_0 + 0x0 + 8 + + cr_n_hi + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_hi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_1 + 0x1 + 8 + + cr_n_hi + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_hi[8] + 0 + 1 + false + read-write + + + reserved0 + + 1 + 3 + false + read-write + + + cr_isel + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_isel[2:0] + 4 + 3 + false + read-write + + + cr_n_lo_8 + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_lo[8] + 7 + 1 + false + read-write + + + + iopll_reg_2 + 0x2 + 8 + + cr_n_lo + xiopll_custom.xiopll_core.xncnt_iopll.cr_n_lo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_3 + 0x3 + 8 + + cr_m_directfb + xiopll_custom.xiopll_core.xfb.cr_m_directfb + 0 + 1 + false + read-write + + + cr_tclk + xiopll_custom.xiopll_core.xtestmux.cr_tclk[1:0] + 1 + 2 + false + read-write + + + crdly_m + xiopll_custom.xiopll_core.xmcnt_iopll.xpm_fine_dly.crdly[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_4 + 0x4 + 8 + + crhi_m + xiopll_custom.xiopll_core.xmcnt_iopll.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_5 + 0x5 + 8 + + crhi_m + xiopll_custom.xiopll_core.xmcnt_iopll.crhi[8] + 0 + 1 + false + read-write + + + crsel_m + xiopll_custom.xiopll_core.xmcnt_iopll.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_m + xiopll_custom.xiopll_core.xmcnt_iopll.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_6 + 0x6 + 8 + + crprst_m + xiopll_custom.xiopll_core.xmcnt_iopll.crprst[10:5] + 0 + 6 + false + read-write + + + reserved1 + + 6 + 1 + false + read-write + + + crlo_m_8 + xiopll_custom.xiopll_core.xmcnt_iopll.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_7 + 0x7 + 8 + + crlo_m + xiopll_custom.xiopll_core.xmcnt_iopll.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_8 + 0x8 + 8 + + cr_atpg_up_ndwn + xiopll_custom.xiopll_core.xvco_iopll.cr_atpg_up_ndwn[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_9 + 0x9 + 8 + + cr_extclk0_sel + xiopll_custom.xextclk0.crsel[3:0] + 0 + 4 + false + read-write + + + cr_vcocalsel_clk1_2 + xiopll_custom.cr_vcocalsel_clk1[5:3] + 4 + 3 + false + read-write + + + cr_testdnen + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_testdnen + 7 + 1 + false + read-write + + + + iopll_reg_10 + 0xa + 8 + + cr_testupen + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_testupen + 0 + 1 + false + read-write + + + cr_rplctrl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_rplctrl[1:0] + 1 + 2 + false + read-write + + + cr_bwctrl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_bwctrl[3:0] + 3 + 4 + false + read-write + + + cr_rcpmode + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_rcpmode + 7 + 1 + false + read-write + + + + iopll_reg_11 + 0xb + 8 + + cr_vcop + xiopll_custom.xiopll_core.xvco_iopll.cr_vcop[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_12 + 0xc + 8 + + cr_lockf + xiopll_custom.xiopll_core.xlockf.cr_lockf[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_13 + 0xd + 8 + + cr_lockf + xiopll_custom.xiopll_core.xlockf.cr_lockf[11:8] + 0 + 4 + false + read-write + + + cr_lock_test + xiopll_custom.xiopll_core.xlockf.cr_lock_test + 4 + 1 + false + read-write + + + cr_icp_high + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_icp_high[2:0] + 5 + 3 + false + read-write + + + + + iopll_reg_14 + 0xe + 8 + + cr_unlockf + xiopll_custom.xiopll_core.xlockf.cr_unlockf[2:0] + 0 + 3 + false + read-write + + + cr_atb + xiopll_custom.xiopll_core.xatb_iopll.cr_atb[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_15 + 0xf + 8 + + cr_pllen + xfpll_ctrl.cr_pllen|xiopll_custom.xpllcoutbuf0.cr_pllen|xiopll_custom.xpllcoutbuf1.cr_pllen|xiopll_custom.xpllcoutbuf2.cr_pllen|xiopll_custom.xpllcoutbuf3.cr_pllen|xiopll_custom.xpllcoutbuf4.cr_pllen|xiopll_custom.xpllcoutbuf5.cr_pllen|xiopll_custom.xpllcoutbuf6.cr_pllen|xiopll_custom.xpllcoutbuf7.cr_pllen|xiopll_custom.xpllcoutbuf8.cr_pllen + 0 + 1 + false + read-write + + + cr_ctrl_override + xfpll_ctrl.cr_ctrl_override + 1 + 1 + false + read-write + + + cr_testen + xfpll_ctrl.cr_testen + 2 + 1 + false + read-write + + + cr_inv + xfpll_ctrl.cr_inv + 3 + 1 + false + read-write + + + cr_vccd_pd + xfpll_ctrl.cr_vccd_pd + 4 + 1 + false + read-write + + + cr_self_rst + xfpll_ctrl.cr_self_rst[1:0] + 5 + 2 + false + read-write + + + defer_cal_user_mode + xiopll_custom.defer_cal_user_mode + 7 + 1 + false + read-write + + + + iopll_reg_16 + 0x10 + 8 + + cr_refclk_dly + xiopll_custom.xiopll_core.xref.cr_refclk_dly[2:0] + 0 + 3 + false + read-write + + + cr_fbclk_sel + xiopll_custom.xiopll_core.xfb.cr_fbclk_sel[1:0] + 3 + 2 + false + read-write + + + cr_fbclk_dly + xiopll_custom.xiopll_core.xfb.cr_fbclk_dly[2:0] + 5 + 3 + false + read-write + + + + iopll_reg_17 + 0x11 + 8 + + cr_clksel + xiopll_custom.xclkin_sw.xclkin_mux.xmux1.crsel[2:0],xiopll_custom.xclkin_sw.xclkin_mux.xmux0.crsel[2:0] + 0 + 6 + false + read-write + + + cr_clkin_sw_clkloss_fltr + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clkloss_fltr[1:0] + 6 + 2 + false + read-write + + + + iopll_reg_18 + 0x12 + 8 + + cr_so + xiopll_custom.xclkin_sw.xpm_pll_so.cr_so[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_19 + 0x13 + 8 + + cr_dll_sel + xiopll_custom.xdllout.crsel[3:0] + 0 + 4 + false + read-write + + + cr_n_dly + xiopll_custom.xiopll_core.xfine_dly_n.crdly[3:0] + 4 + 4 + false + read-write + + + + iopll_reg_20 + 0x14 + 8 + + cr_n_dly + xiopll_custom.xiopll_core.xfine_dly_n.crdly[4] + 0 + 1 + false + read-write + + + reserved2 + + 1 + 1 + false + read-write + + + cr_extclk0_enable + xiopll_custom.xextclk0.crenable + 2 + 1 + false + read-write + + + cr_extclk0_inv + xiopll_custom.xextclk0.crinv + 3 + 1 + false + read-write + + + cr_extclk1_sel + xiopll_custom.xextclk1.crsel[3:0] + 4 + 4 + false + read-write + + + + iopll_reg_21 + 0x15 + 8 + + cr_extclk1_enable + xiopll_custom.xextclk1.crenable + 0 + 1 + false + read-write + + + cr_extclk1_inv + xiopll_custom.xextclk1.crinv + 1 + 1 + false + read-write + + + cr_extclk_dllout_en + xiopll_custom.xcoutbuf3.inb,xiopll_custom.xcoutbuf2.inb,xiopll_custom.xcoutbuf1.inb,xiopll_custom.xcoutbuf0.inb + 2 + 4 + false + read-write + + + cr_fblvdsout + xiopll_custom.x221.cr_fblvdsout + 6 + 1 + false + read-write + + + cr_pllcout8 + xiopll_custom.xpllcoutbuf8.cr_pllcout + 7 + 1 + false + read-write + + + + iopll_reg_22 + 0x16 + 8 + + cr_pllcout + xiopll_custom.xpllcoutbuf7.cr_pllcout,xiopll_custom.xpllcoutbuf6.cr_pllcout,xiopll_custom.xpllcoutbuf5.cr_pllcout,xiopll_custom.xpllcoutbuf4.cr_pllcout,xiopll_custom.xpllcoutbuf3.cr_pllcout,xiopll_custom.xpllcoutbuf2.cr_pllcout,xiopll_custom.xpllcoutbuf1.cr_pllcout,xiopll_custom.xpllcoutbuf0.cr_pllcout + 0 + 8 + false + read-write + + + + iopll_reg_23 + 0x17 + 8 + + cr_lvds0_dly + xiopll_custom.xfine_dly_0.crdly[4:0] + 0 + 5 + false + read-write + + + cr_lvds0_enable + xiopll_custom.xfine_dly_0.crenable + 5 + 1 + false + read-write + + + cr_lvds1_enable + xiopll_custom.xfine_dly_2.crenable + 6 + 1 + false + read-write + + + cr_cal_converge + xiopll_custom.cr_cal_converge + 7 + 1 + false + read-write + + + + iopll_reg_24 + 0x18 + 8 + + cr_loaden0_dly + xiopll_custom.xfine_dly_1.crdly[4:0] + 0 + 5 + false + read-write + + + cr_loaden0_enable + xiopll_custom.xfine_dly_1.crenable + 5 + 1 + false + read-write + + + cr_loaden1_enable + xiopll_custom.xfine_dly_3.crenable + 6 + 1 + false + read-write + + + cr_cal_error + xiopll_custom.cr_cal_error + 7 + 1 + false + read-write + + + + iopll_reg_25 + 0x19 + 8 + + cr_lvds1_dly + xiopll_custom.xfine_dly_2.crdly[4:0] + 0 + 5 + false + read-write + + + cr_vcocalsel_clk1_1 + xiopll_custom.cr_vcocalsel_clk1[2:0] + 5 + 3 + false + read-write + + + + iopll_reg_26 + 0x1a + 8 + + cr_loaden1_dly + xiopll_custom.xfine_dly_3.crdly[4:0] + 0 + 5 + false + read-write + + + cr_cal_done + xiopll_custom.cr_cal_done + 5 + 1 + false + read-write + + + cr_ref_clkloss_fltr + xiopll_custom.xiopll_core.xtestmux.cr_ref_clkloss_fltr[1:0] + 6 + 2 + false + read-write + + + + iopll_reg_27 + 0x1b + 8 + + crhi_c0 + xiopll_custom.xccnt_iopll0.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_28 + 0x1c + 8 + + crhi_c0 + xiopll_custom.xccnt_iopll0.crhi[8] + 0 + 1 + false + read-write + + + crsel_c0 + xiopll_custom.xccnt_iopll0.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c0 + xiopll_custom.xccnt_iopll0.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_29 + 0x1d + 8 + + crprst_c0 + xiopll_custom.xccnt_iopll0.crprst[10:5] + 0 + 6 + false + read-write + + + reserved3 + + 6 + 1 + false + read-write + + + crlo_c0_8 + xiopll_custom.xccnt_iopll0.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_30 + 0x1e + 8 + + crlo_c0 + xiopll_custom.xccnt_iopll0.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_31 + 0x1f + 8 + + crhi_c1 + xiopll_custom.xccnt_iopll1.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_32 + 0x20 + 8 + + crhi_c1 + xiopll_custom.xccnt_iopll1.crhi[8] + 0 + 1 + false + read-write + + + crsel_c1 + xiopll_custom.xccnt_iopll1.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c1 + xiopll_custom.xccnt_iopll1.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_33 + 0x21 + 8 + + crprst_c1 + xiopll_custom.xccnt_iopll1.crprst[10:5] + 0 + 6 + false + read-write + + + reserved4 + + 6 + 1 + false + read-write + + + crlo_c1_8 + xiopll_custom.xccnt_iopll1.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_34 + 0x22 + 8 + + crlo_c1 + xiopll_custom.xccnt_iopll1.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_35 + 0x23 + 8 + + crhi_c2 + xiopll_custom.xccnt_iopll2.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_36 + 0x24 + 8 + + crhi_c2 + xiopll_custom.xccnt_iopll2.crhi[8] + 0 + 1 + false + read-write + + + crsel_c2 + xiopll_custom.xccnt_iopll2.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c2 + xiopll_custom.xccnt_iopll2.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_37 + 0x25 + 8 + + crprst_c2 + xiopll_custom.xccnt_iopll2.crprst[10:5] + 0 + 6 + false + read-write + + + reserved5 + + 6 + 1 + false + read-write + + + crlo_c2_8 + xiopll_custom.xccnt_iopll2.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_38 + 0x26 + 8 + + crlo_c2 + xiopll_custom.xccnt_iopll2.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_39 + 0x27 + 8 + + crhi_c3 + xiopll_custom.xccnt_iopll3.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_40 + 0x28 + 8 + + crhi_c3 + xiopll_custom.xccnt_iopll3.crhi[8] + 0 + 1 + false + read-write + + + crsel_c3 + xiopll_custom.xccnt_iopll3.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c3 + xiopll_custom.xccnt_iopll3.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_41 + 0x29 + 8 + + crprst_c3 + xiopll_custom.xccnt_iopll3.crprst[10:5] + 0 + 6 + false + read-write + + + reserved6 + + 6 + 1 + false + read-write + + + crlo_c3_8 + xiopll_custom.xccnt_iopll3.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_42 + 0x2a + 8 + + crlo_c3 + xiopll_custom.xccnt_iopll3.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_43 + 0x2b + 8 + + crhi_c4 + xiopll_custom.xccnt_iopll4.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_44 + 0x2c + 8 + + crhi_c4 + xiopll_custom.xccnt_iopll4.crhi[8] + 0 + 1 + false + read-write + + + crsel_c4 + xiopll_custom.xccnt_iopll4.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c4 + xiopll_custom.xccnt_iopll4.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_45 + 0x2d + 8 + + crprst_c4 + xiopll_custom.xccnt_iopll4.crprst[10:5] + 0 + 6 + false + read-write + + + reserved7 + + 6 + 1 + false + read-write + + + crlo_c4_8 + xiopll_custom.xccnt_iopll4.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_46 + 0x2e + 8 + + crlo_c4 + xiopll_custom.xccnt_iopll4.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_47 + 0x2f + 8 + + crhi_c5 + xiopll_custom.xccnt_iopll5.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_48 + 0x30 + 8 + + crhi_c5 + xiopll_custom.xccnt_iopll5.crhi[8] + 0 + 1 + false + read-write + + + crsel_c5 + xiopll_custom.xccnt_iopll5.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c5 + xiopll_custom.xccnt_iopll5.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_49 + 0x31 + 8 + + crprst_c5 + xiopll_custom.xccnt_iopll5.crprst[10:5] + 0 + 6 + false + read-write + + + reserved8 + + 6 + 1 + false + read-write + + + crlo_c5_8 + xiopll_custom.xccnt_iopll5.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_50 + 0x32 + 8 + + crlo_c5 + xiopll_custom.xccnt_iopll5.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_51 + 0x33 + 8 + + crhi_c6 + xiopll_custom.xccnt_iopll6.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_52 + 0x34 + 8 + + crhi_c6 + xiopll_custom.xccnt_iopll6.crhi[8] + 0 + 1 + false + read-write + + + crsel_c6 + xiopll_custom.xccnt_iopll6.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c6 + xiopll_custom.xccnt_iopll6.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_53 + 0x35 + 8 + + crprst_c6 + xiopll_custom.xccnt_iopll6.crprst[10:5] + 0 + 6 + false + read-write + + + reserved9 + + 6 + 1 + false + read-write + + + crlo_c6_8 + xiopll_custom.xccnt_iopll6.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_54 + 0x36 + 8 + + crlo_c6 + xiopll_custom.xccnt_iopll6.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_55 + 0x37 + 8 + + crhi_c7 + xiopll_custom.xccnt_iopll7.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_56 + 0x38 + 8 + + crhi_c7 + xiopll_custom.xccnt_iopll7.crhi[8] + 0 + 1 + false + read-write + + + crsel_c7 + xiopll_custom.xccnt_iopll7.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c7 + xiopll_custom.xccnt_iopll7.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_57 + 0x39 + 8 + + crprst_c7 + xiopll_custom.xccnt_iopll7.crprst[10:5] + 0 + 6 + false + read-write + + + reserved10 + + 6 + 1 + false + read-write + + + crlo_c7_8 + xiopll_custom.xccnt_iopll7.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_58 + 0x3a + 8 + + crlo_c7 + xiopll_custom.xccnt_iopll7.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_59 + 0x3b + 8 + + crhi_c8 + xiopll_custom.xccnt_iopll8.crhi[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_60 + 0x3c + 8 + + crhi_c8 + xiopll_custom.xccnt_iopll8.crhi[8] + 0 + 1 + false + read-write + + + crsel_c8 + xiopll_custom.xccnt_iopll8.crsel[1:0] + 1 + 2 + false + read-write + + + crprst_c8 + xiopll_custom.xccnt_iopll8.crprst[4:0] + 3 + 5 + false + read-write + + + + iopll_reg_61 + 0x3d + 8 + + crprst_c8 + xiopll_custom.xccnt_iopll8.crprst[10:5] + 0 + 6 + false + read-write + + + reserved11 + + 6 + 1 + false + read-write + + + crlo_c8_8 + xiopll_custom.xccnt_iopll8.crlo[8] + 7 + 1 + false + read-write + + + + iopll_reg_62 + 0x3e + 8 + + crlo_c8 + xiopll_custom.xccnt_iopll8.crlo[7:0] + 0 + 8 + false + read-write + + + + iopll_reg_63 + 0x3f + 8 + + crdly_c0 + xiopll_custom.xccnt_iopll0.xpm_fine_dly.crdly[4:0] + 0 + 5 + false + read-write + + + cr_clkloss_det_en + xiopll_custom.xiopll_core.xtestmux.cr_clkloss_det_en + 5 + 1 + false + read-write + + + crdly_c1 + xiopll_custom.xccnt_iopll1.xpm_fine_dly.crdly[1:0] + 6 + 2 + false + read-write + + + + iopll_reg_64 + 0x40 + 8 + + crdly_c1 + xiopll_custom.xccnt_iopll1.xpm_fine_dly.crdly[4:2] + 0 + 3 + false + read-write + + + cr_pllreset + xiopll_custom.cr_pllreset + 3 + 1 + false + read-write + + + crdly_c2 + xiopll_custom.xccnt_iopll2.xpm_fine_dly.crdly[3:0] + 4 + 4 + false + read-write + + + + iopll_reg_65 + 0x41 + 8 + + crdly_c2 + xiopll_custom.xccnt_iopll2.xpm_fine_dly.crdly[4] + 0 + 1 + false + read-write + + + cr_clkloss_det_fb_ovrd + xiopll_custom.xiopll_core.xtestmux.cr_clkloss_det_fb_ovrd + 1 + 1 + false + read-write + + + crdly_c3 + xiopll_custom.xccnt_iopll3.xpm_fine_dly.crdly[4:0] + 2 + 5 + false + read-write + + + cr_cal_en_vreg0 + xiopll_custom.xvreg_0p9v0.cal_en + 7 + 1 + false + read-write + + + + iopll_reg_66 + 0x42 + 8 + + crdly_c4 + xiopll_custom.xccnt_iopll4.xpm_fine_dly.crdly[4:0] + 0 + 5 + false + read-write + + + cr_refclk_equal + xiopll_custom.cr_refclk_equal + 5 + 1 + false + read-write + + + crdly_c5 + xiopll_custom.xccnt_iopll5.xpm_fine_dly.crdly[1:0] + 6 + 2 + false + read-write + + + + iopll_reg_67 + 0x43 + 8 + + crdly_c5 + xiopll_custom.xccnt_iopll5.xpm_fine_dly.crdly[4:2] + 0 + 3 + false + read-write + + + user_handle_cal_fail + xiopll_custom.user_handle_cal_fail + 3 + 1 + false + read-write + + + crdly_c6 + xiopll_custom.xccnt_iopll6.xpm_fine_dly.crdly[3:0] + 4 + 4 + false + read-write + + + + iopll_reg_68 + 0x44 + 8 + + crdly_c6 + xiopll_custom.xccnt_iopll6.xpm_fine_dly.crdly[4] + 0 + 1 + false + read-write + + + cr_cal_en_vreg1 + xiopll_custom.xvreg_0p9v1.cal_en + 1 + 1 + false + read-write + + + crdly_c7 + xiopll_custom.xccnt_iopll7.xpm_fine_dly.crdly[4:0] + 2 + 5 + false + read-write + + + cr_ppmclk + xiopll_custom.xpllcoutbuf0.cr_ppmclk|xiopll_custom.xpllcoutbuf1.cr_ppmclk|xiopll_custom.xpllcoutbuf2.cr_ppmclk|xiopll_custom.xpllcoutbuf3.cr_ppmclk|xiopll_custom.xpllcoutbuf4.cr_ppmclk|xiopll_custom.xpllcoutbuf5.cr_ppmclk|xiopll_custom.xpllcoutbuf6.cr_ppmclk|xiopll_custom.xpllcoutbuf7.cr_ppmclk|xiopll_custom.xpllcoutbuf8.cr_ppmclk + 7 + 1 + false + read-write + + + + iopll_reg_69 + 0x45 + 8 + + crdly_c8 + xiopll_custom.xccnt_iopll8.xpm_fine_dly.crdly[4:0] + 0 + 5 + false + read-write + + + cr_plniotri + xfpll_ctrl.cr_plniotri + 5 + 1 + false + read-write + + + cr_fb_clkloss_fltr + xiopll_custom.xiopll_core.xtestmux.cr_fb_clkloss_fltr[1:0] + 6 + 2 + false + read-write + + + + + + iopll_reg_70 + 0x46 + 8 + + cr_vreg0calsel + xiopll_custom.xvreg_0p9v0.calsel[4:0] + 0 + 5 + false + read-write + + + cr_lckdet_sel + xiopll_custom.xiopll_core.xlockdet.cr_lckdet_sel[2:0] + 5 + 3 + false + read-write + + + + + iopll_reg_71 + 0x47 + 8 + + cr_vreg1calsel + xiopll_custom.xvreg_0p9v1.calsel[4:0] + 0 + 5 + false + read-write + + + cr_lckdet_hys_sel + xiopll_custom.xiopll_core.xlockdet.cr_lckdet_hys_sel[2:0] + 5 + 3 + false + read-write + + + + + iopll_reg_72 + 0x48 + 8 + + cr_vreg0_override + xiopll_custom.xvreg_0p9v0.ovrride + 0 + 1 + false + read-write + + + cr_vreg1_override + xiopll_custom.xvreg_0p9v1.ovrride + 1 + 1 + false + read-write + + + cr_vcocalsel_clk0 + xiopll_custom.cr_vcocalsel_clk0[5:0] + 2 + 6 + false + read-write + + + + iopll_reg_73 + 0x49 + 8 + + cr_freqcal_en + xiopll_custom.cr_freqcal_en + 0 + 1 + false + read-write + + + cr_freqcal_biasctl + xiopll_custom.xiopll_core.xchgpmplf_iopll.cr_freqcal_biasctl[2:0] + 1 + 3 + false + read-write + + + cr_clk_sel_override + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clk_sel_override + 4 + 1 + false + read-write + + + cr_clk_sel_override_value + xiopll_custom.xclkin_sw.xpm_pll_so.cr_clk_sel_override_value + 5 + 1 + false + read-write + + + cr_freqcal_req_flag + xiopll_custom.cr_freqcal_req_flag + 6 + 1 + false + read-write + + + cr_vcocal_rstb + xiopll_custom.xiopll_core.xvco_cal.resetb + 7 + 1 + false + read-write + + + + + iopll_reg_74 + 0x4a + 8 + + cr_dprio_interface_sel + xdprio_dps_iopll.dprio_out_reg[599:592] + 0 + 8 + false + read-write + + + + iopll_status_0 + 0x4b + 8 + + counter_full + xdprio_dps_iopll.counter_full + 0 + 8 + false + read-only + + + + + iopll_status_1 + 0x4c + 8 + + refclk_cnt + xdprio_dps_iopll.refclk_counter[7:0] + 0 + 8 + false + read-only + + + + + + iopll_status_2 + 0x4d + 8 + + fbclk_cnt + xdprio_dps_iopll.fbclk_counter[7:0] + 0 + 8 + false + read-only + + + + + + + 8 + + + diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc new file mode 100644 index 0000000000..725ce41370 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc @@ -0,0 +1,179 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +##################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file contains the timing constraints for the Altera PLL. +# * The helper routines are defined in io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl +# +# NOTE +# ---- +# Debug switch. Change to 1 to get more run-time debug information +set debug 0 + +set script_dir [file dirname [info script]] + +source "$script_dir/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl" +source "$script_dir/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl" + +#################### +# # +# GENERAL SETTINGS # +# # +#################### + +# This is a global setting and will apply to the whole design. +# This setting is required for the memory interface to be +# properly constrained. +derive_clock_uncertainty + + +# All timing requirements will be represented in nanoseconds with up to 3 decimal places of precision +set_time_format -unit ns -decimal_places 3 + +# Determine if entity names are on +set entity_names_on [ ai_are_entity_names_on ] + +if {[catch {load_package atoms + load_package sdc_ext + load_package design + catch {read_atom_netlist} read_atom_netlist_out + set read_atom_netlist_error [regexp "ERROR" $read_atom_netlist_out] + } err_loading_packages]} { + post_message -type error "Failed to load packages required by IOPLL SDC: $err_loading_packages" +} + +# This is the main call to the netlist traversal routines +# that will automatically find all pins and registers required +# to apply timing constraints. +# During the fitter, the routines will be called only once +# and cached data will be used in all subsequent calls. + + + +if {[info exists ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_ai_pll_db]} { + # Clean-up stale content + unset ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_ai_pll_db +} +if {[catch {ai_initialize_pll_db ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_ai_pll_db} err_initializing_db]} { + post_message -type warning "Failed to find atom information in IOPLL SDC: $err_initializing_db" +} + +# If multiple instances of this core are present in the +# design they will all be constrained through the +# following loop +set instances [ array names ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_ai_pll_db ] +foreach { inst } $instances { + if { [ info exists pins ] } { + # Clean-up stale content + unset pins + } + + # -------------------------------- # + # - - # + # --- Determine PLL Parameters --- # + # - - # + # -------------------------------- # + + set pll_atoms [get_atom_nodes -matching ${inst}* -type IOPLL] + set num_pll_inst [get_collection_size $pll_atoms] + + if {$num_pll_inst > 1} { + # Error condition + post_message -type error "SDC: More than one PLL atom found with instance name $inst" + } else { + # Use IP generated parameters + if { $debug } { + post_message -type info "SDC: using IP generated parameter values" + } + } + + # These dictionaries hold all the clock information. + lassign $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_ai_pll_db($inst) base_clock_data_dict gen_clock_data_dict + + # ------------------------ # + # - - # + # ---REFERENCE CLOCK(s)--- # + # - - # + # ------------------------ # + dict for {clock_key info} $base_clock_data_dict { + dict with info { + if {$is_fpga_pin && !$exists} { + create_clock -period $period \ + -waveform [ list 0 $half_period] \ + -name $name $port_node_name + } + } + } + # ------------------------- # + # - - # + # --- OUTPUT PLL CLOCKS --- # + # - - # + # ------------------------- # + dict for {clock_key info} $gen_clock_data_dict { + dict with info { + if {[is_post_syn_sta]} { + if {$is_valid && !$exists} { + create_non_virtual_generated_clock_with_master_or_source \ + $master \ + $src \ + $name \ + $multiply_by \ + $divide_by \ + $phase \ + $duty_cycle \ + $pin_node_name + + if {[string match lvds* $clock_key] && [string match *loaden* $pattern] && [dict exists $gen_clock_data_dict $clock_key "through_pin" ] } { + set_max_delay_in_fit_or_false_path_in_sta_through_no_warn $through_pin $max_delay + } + } elseif {[is_m_n_cntr $pattern]} { + create_virtual_generated_clock_with_master_or_source \ + $master \ + $src \ + $name \ + $multiply_by \ + $divide_by \ + $phase \ + $duty_cycle + } + } else { + if {$is_valid && !$exists} { + create_generated_clock -add \ + -source $src \ + -name $name \ + -multiply_by $multiply_by \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cycle \ + $pin_node_name + + if {[string match lvds* $clock_key] && [string match *loaden* $pattern] && [dict exists $gen_clock_data_dict $clock_key "through_pin" ] } { + set_max_delay_in_fit_or_false_path_in_sta_through_no_warn $through_pin $max_delay + } + } + } + } + } + + foreach_in_collection node [get_nodes -no_duplicates -nowarn "${inst}|tennm_pll|dprio_rst_n"] { + set_false_path -through [get_node_info -name $node] + } +} diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v new file mode 100644 index 0000000000..d4b24db1e2 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v @@ -0,0 +1,450 @@ +// (C) 2001-2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + +// This is a testing TERP file. +// Wrappers for other families can be found in altera_pll.v (pre Arria 10) and twentynm_iopll.v + +`timescale 1ps/1ps +module io_pll_altera_iopll_1931_oypl3jq +( + // interface refclk + input wire refclk, + // interface locked + output wire locked, + // interface reset + input wire rst, + // interface outclk0 + output wire outclk_0, + // interface outclk1 + output wire outclk_1, + // interface outclk2 + output wire outclk_2, + // interface outclk3 + output wire outclk_3, + // interface outclk4 + output wire outclk_4 +); + +wire [1:0] extclk_out_wire; +wire refclk1; +assign refclk1 = 1'b0; +wire fbclk; +assign fbclk = 1'b0; +wire fboutclk; +wire zdbfbclk; +wire [1:0] loaden; +wire phase_done; +wire [29:0] reconfig_to_pll; +assign reconfig_to_pll = 30'b0; +wire scanclk; +assign scanclk = 1'b0; +wire [7:0] phout; +wire [2:0] num_phase_shifts; +assign num_phase_shifts = 3'b0; +wire permit_cal; +assign permit_cal = 1'b1; +wire fblvds_out; +assign fblvds_out = 1'b1; +wire [4:0] cntsel; +assign cntsel = 5'b0; +wire [1:0] clkbad; +wire [1:0] lvds_clk; +wire [8:0] outclk; +wire [2:0] unused_wires_high; + +wire [0:0] unused_wires_low; +assign unused_wires_low = outclk[0:0]; +assign unused_wires_high = outclk[8:6]; +assign outclk_0 = outclk[1]; +assign outclk_1 = outclk[2]; +assign outclk_2 = outclk[3]; +assign outclk_3 = outclk[4]; +assign outclk_4 = outclk[5]; +wire phase_en; +assign phase_en = 1'b0; +wire extswitch; +assign extswitch = 1'b0; +wire cascade_out; +wire dll_output; +assign dll_output = 1'b1; +wire activeclk; +wire adjpllin; +assign adjpllin = 1'b0; +wire updn; +assign updn = 1'b0; +wire [10:0] reconfig_from_pll; + +wire feedback_clk; +wire fb_clkin; +wire fb_out_clk; +wire fboutclk_wire; +wire locked_wire; +wire [10:0] reconfig_from_pll_wire; +wire gnd /* synthesis keep*/; + +// For use in dps pulse gen module. +wire final_updn; +wire final_phase_en; +wire [3:0] final_cntsel; +wire [2:0] final_num_ps; +assign reconfig_from_pll[10:0] = reconfig_from_pll_wire; + +wire adjpllin_wire = 1'b0; +wire dedicated_refclk_wire = 1'b0; + +//Calibration wires +wire cal_ok_wire; + +// Reset logic: + +//Synchronise the reset signal using Flip-Flop to avoid race condition HSD : https://hsdes.intel.com/appstore/article/#/14021123640 +// Uncomment the lines from 160 to 176 and comment lines 189 190 to workaround the race condition for FM87 +// +// +//reg cal_ok_wire_synced; +// +//always @ (posedge refclk or posedge rst) begin +// +// if (rst) begin +// cal_ok_wire_synced <= 1'b0; +// end else begin +// cal_ok_wire_synced <= cal_ok_wire; +// end +// +//end +// +//wire rst_n_wire = ~((rst & cal_ok_wire_synced) | (~permit_cal)); +//wire dprio_rst_n_wire = ~((~reconfig_to_pll[1] & cal_ok_wire_synced) | (~permit_cal)); + +// There are a few scenarios: +// - Upstream PLL : +// - reset is anded with cal_ok_wire so that a reset signal from the +// user can't interrupt calibration. +// - permit_cal tied off to 1 -> rst_n_wire = ~(rst & cal_ok_wire) +// - Downstream PLL: +// - connect upstream locked to downstream permit_cal +// - until upstream PLL is locked, keep reset high so that the PLL +// can't be calibrated. + +// To get the FM hot potato passing temporarily skip cal_ok and permit_cal + +// +//wire rst_n_wire = ~((rst & cal_ok_wire) | (~permit_cal)); +//Removing cal_ok_wire support since its causing race condition in Hardware, +//Cal_ok_wire should not have a self loop happening and also got confirmation +//from PFE that this gating logic is handled within the Hardware HSD: 14021123640 + +wire rst_n_wire = ~(rst | (~permit_cal)); +wire dprio_rst_n_wire = ~((~reconfig_to_pll[1] & cal_ok_wire) | (~permit_cal)); + + +//------------- Counter enable localparams ------------------------------- +localparam counter0_enable = "false"; +localparam counter1_enable = "true"; +localparam counter2_enable = "true"; +localparam counter3_enable = "true"; +localparam counter4_enable = "true"; +localparam counter5_enable = "true"; +localparam counter6_enable = "false"; +localparam counter7_enable = "false"; +localparam counter8_enable = "false"; +//------------- Counter enable localparams ------------------------------- + + +// ========================================================================================== +// Instantiate tennm_iopll! +// ========================================================================================== +tennm_iopll #( + .auto_clk_sw_en("false"), + .bw_mode("mid_bw"), + .c0_bypass_en("true"), + .c0_even_duty_en("false"), + .c0_high(256), + .c0_low(256), + .c0_out_en(counter0_enable), + .c0_ph_mux_prst(0), + .c0_prst(1), + .c1_bypass_en("false"), + .c1_even_duty_en("true"), + .c1_high(3), + .c1_low(2), + .c1_out_en(counter1_enable), + .c1_ph_mux_prst(0), + .c1_prst(1), + .c2_bypass_en("false"), + .c2_even_duty_en("false"), + .c2_high(4), + .c2_low(4), + .c2_out_en(counter2_enable), + .c2_ph_mux_prst(0), + .c2_prst(1), + .c3_bypass_en("false"), + .c3_even_duty_en("true"), + .c3_high(3), + .c3_low(2), + .c3_out_en(counter3_enable), + .c3_ph_mux_prst(0), + .c3_prst(1), + .c4_bypass_en("false"), + .c4_even_duty_en("false"), + .c4_high(4), + .c4_low(4), + .c4_out_en(counter4_enable), + .c4_ph_mux_prst(0), + .c4_prst(3), + .c5_bypass_en("false"), + .c5_even_duty_en("false"), + .c5_high(5), + .c5_low(5), + .c5_out_en(counter5_enable), + .c5_ph_mux_prst(0), + .c5_prst(1), + .c6_bypass_en("true"), + .c6_even_duty_en("false"), + .c6_high(256), + .c6_low(256), + .c6_out_en(counter6_enable), + .c6_ph_mux_prst(0), + .c6_prst(1), + .c7_bypass_en("true"), + .c7_even_duty_en("false"), + .c7_high(256), + .c7_low(256), + .c7_out_en(counter7_enable), + .c7_ph_mux_prst(0), + .c7_prst(1), + .c8_bypass_en("true"), + .c8_even_duty_en("false"), + .c8_high(256), + .c8_low(256), + .c8_out_en(counter8_enable), + .c8_ph_mux_prst(0), + .c8_prst(1), + .clkin_0_src("coreclkin"), + .clkin_1_src("ioclkin_0"), + .clock_name_0(""), + .clock_name_1("outclk0"), + .clock_name_2("outclk1"), + .clock_name_3("outclk2"), + .clock_name_4("outclk3"), + .clock_name_5("outclk4"), + .clock_name_6(""), + .clock_name_7(""), + .clock_name_8(""), + .clock_name_global_0("false"), + .clock_name_global_1("false"), + .clock_name_global_2("false"), + .clock_name_global_3("false"), + .clock_name_global_4("false"), + .clock_name_global_5("false"), + .clock_name_global_6("false"), + .clock_name_global_7("false"), + .clock_name_global_8("false"), + .clock_to_compensate(1), + .duty_cycle_0(50), + .duty_cycle_1(50), + .duty_cycle_2(50), + .duty_cycle_3(50), + .duty_cycle_4(50), + .duty_cycle_5(50), + .duty_cycle_6(50), + .duty_cycle_7(50), + .duty_cycle_8(50), + .extclk_0_cnt_src("pll_extclk_cnt_src_vss"), + .extclk_0_enable("true"), + .extclk_1_cnt_src("pll_extclk_cnt_src_vss"), + .extclk_1_enable("true"), + .feedback("direct"), + .iopll_type("TOP_BOTTOM"), + .m_counter_bypass_en("false"), + .m_counter_even_duty_en("false"), + .m_counter_high(5), + .m_counter_low(5), + .m_counter_scratch(1), + .manu_clk_sw_en("false"), + .merging_permitted("false"), + .n_counter_bypass_en("true"), + .n_counter_high(256), + .n_counter_low(256), + .n_counter_odd_div_duty_en("false"), + .outclk0("0 ps"), + .outclk1("200.0 MHz"), + .outclk2("125.0 MHz"), + .outclk3("200.0 MHz"), + .outclk4("125.0 MHz"), + .outclk5("100.0 MHz"), + .outclk6("0 ps"), + .outclk7("0 ps"), + .outclk8("0 ps"), + .pfd("100.0 MHz"), + .phase_shift_0("0 ps"), + .phase_shift_1("0 ps"), + .phase_shift_2("0 ps"), + .phase_shift_3("0 ps"), + .phase_shift_4("2000 ps"), + .phase_shift_5("0 ps"), + .phase_shift_6("0 ps"), + .phase_shift_7("0 ps"), + .phase_shift_8("0 ps"), + .prot_mode("BASIC"), + .refclk_src_mux("clk_0"), + .refclk_time("100.0 MHz"), + .self_reset_en("false"), + .simple_pll("false"), + .uc_channel_base_addr(16'h0), + .vco("1000.0 MHz") +) tennm_pll ( + .clken(2'b00), + .cnt_sel(4'b0), + .num_phase_shifts(3'b0), + .phase_en(1'b0), + .up_dn(1'b0), + .dprio_clk(1'b0), + .core_refclk(refclk), + .csr_clk(1'b1), + .csr_en(1'b1), + .csr_in(1'b1), + .dprio_rst_n(rst_n_wire), + .dprio_address(9'b0), + .read(1'b0), + .write(1'b0), + .writedata(8'b0), + .pll_select_top_avl(1'b1), // Hardcoded to use the top PLL for now. + .dps_rst_n(rst_n_wire), + .extswitch(extswitch), + .fbclk_in(1'b0), + .fblvds_in(1'b0), + .mdio_dis(1'b0), + .pfden(1'b1), + .pipeline_global_en_n(1'b0), + .pll_cascade_in(adjpllin_wire), + .pma_csr_test_dis(1'b1), + .refclk({2'b0,refclk1, dedicated_refclk_wire}), + .rst_n(rst_n_wire), + .scan_mode_n(1'b1), + .scan_shift_n(1'b1), + .uc_cal_addr(20'b0), + .uc_cal_clk(1'b0), + .uc_cal_read(1'b0), + .uc_cal_write(1'b0), + .uc_cal_writedata(8'b0), + .user_mode(1'b1), + .zdb_in(1'b0), + .block_select(), + .clk0_bad(clkbad[0]), + .clk1_bad(clkbad[1]), + .clksel(activeclk), + .csr_out(), + .dll_output(dll_output), + .extclk_dft(), + .extclk_output({extclk_out_wire[1], fboutclk_wire}), + .fbclk_out(feedback_clk), + .fblvds_out(fblvds_out), + .lf_reset(), + .loaden(loaden), + .lock(locked_wire), + .lvds_clk(lvds_clk), + .outclk(outclk), + .phase_done(phase_done), + .pll_cascade_out(cascade_out), + .pll_pd(), + .readdata(reconfig_from_pll_wire[7:0]), + .vcop_en(), + .vcoph(phout), + .cal_ok(cal_ok_wire) +); + +assign reconfig_from_pll_wire[8] = locked_wire; +assign reconfig_from_pll_wire[9] = phase_done; +assign reconfig_from_pll_wire[10] = cal_ok_wire; +assign extclk_out_wire[0] = fboutclk_wire; + +assign fboutclk = fboutclk_wire; +assign locked = locked_wire; + +// ================================================================================== +// Create clock buffers for fbclk, fboutclk and zdbfbclk if necessary. +// ================================================================================== +assign zdbfbclk = 0; + +endmodule + + +// ================================================================================= +// The final_phase_en signal should be a signal pulse (there was a silicon bug +// involving this problem on Arria 10. DPS pulse gen generates a singe final_phase_en +// pulse when the user_phase_en goes high. +// It also delays the other signal by one clock cycle +// ================================================================================= + +module dps_pulse_gen_io_pll_altera_iopll_1931_oypl3jq ( + input wire clk, // the DPS clock + input wire rst, // active high reset + input wire user_phase_en, // the user's phase_en signal + input wire user_updn, + input wire [2:0] user_num_ps, + input wire [3:0] user_cntsel, + output reg phase_en, // the phase_en signal for the IOPLL atom + output reg updn, + output reg [2:0] num_ps, + output reg [3:0] cntsel + ); + + //------------------------------------------------------------------------- + // States + localparam IDLE = 0, // Idle state: user_phase_en = 0, phase_en = 0 + PULSE = 1, // Activate state: phase_en = 1 + WAIT = 2; // Wait for user_phase_en to go low + + //------------------------------------------------------------------------- + // FSM current and next states + reg [1:0] state, next; + + // State update + always @(posedge clk) begin + + updn <= user_updn; + cntsel <= user_cntsel; + num_ps <= user_num_ps; + + if (rst) state <= IDLE; + else state <= next; + end + + //------------------------------------------------------------------------- + // Next-state and output logic + always @(*) begin + next = IDLE; // Default next state + phase_en = 1'b0; // Default output + + case (state) + IDLE : begin + if (user_phase_en) next = PULSE; + else next = IDLE; + end + + PULSE : begin + phase_en = 1'b1; + next = WAIT; + end + + WAIT : begin + if (~user_phase_en) next = IDLE; + else next = WAIT; + end + endcase + end + + endmodule + + diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl new file mode 100644 index 0000000000..ce5b131105 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl @@ -0,0 +1,827 @@ +# PLL parameters + +#USER W A R N I N G ! +#USER The PLL parameters are statically defined in this +#USER file at generation time! + +set ::pll_corename io_pll_altera_iopll_1931_oypl3jq + +set ::pll_all_ip_params [dict create] + +dict set ::pll_all_ip_params gui_device_family "Agilex 7" +dict set ::pll_all_ip_params gui_device_component "AGFB014R24B2E2V" +dict set ::pll_all_ip_params gui_device_speed_grade "2" +dict set ::pll_all_ip_params gui_device_iobank_rev "IO96A_REVB2" +dict set ::pll_all_ip_params gui_debug_mode "false" +dict set ::pll_all_ip_params gui_skip_sdc_generation "false" +dict set ::pll_all_ip_params gui_include_iossm "false" +dict set ::pll_all_ip_params gui_cal_code_hex_file "iossm.hex" +dict set ::pll_all_ip_params gui_parameter_table_hex_file "seq_params_sim.hex" +dict set ::pll_all_ip_params gui_pll_tclk_mux_en "false" +dict set ::pll_all_ip_params gui_pll_tclk_sel "pll_tclk_m_src" +dict set ::pll_all_ip_params gui_pll_vco_freq_band_0 "pll_freq_clk0_band18" +dict set ::pll_all_ip_params gui_pll_vco_freq_band_1 "pll_freq_clk1_band18" +dict set ::pll_all_ip_params gui_pll_freqcal_en "true" +dict set ::pll_all_ip_params gui_pll_freqcal_req_flag "true" +dict set ::pll_all_ip_params gui_cal_converge "false" +dict set ::pll_all_ip_params gui_cal_error "cal_clean" +dict set ::pll_all_ip_params gui_pll_cal_done "false" +dict set ::pll_all_ip_params gui_pll_type "S10_Simple" +dict set ::pll_all_ip_params gui_pll_m_cnt_in_src "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src0 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src1 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src2 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src3 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src4 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src5 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src6 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src7 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params gui_c_cnt_in_src8 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params system_info_device_family "Agilex 7" +dict set ::pll_all_ip_params system_info_device_component "AGFB014R24B2E2V" +dict set ::pll_all_ip_params system_info_device_speed_grade "2" +dict set ::pll_all_ip_params system_part_trait_speed_grade "2" +dict set ::pll_all_ip_params system_part_trait_iobank_rev "IO96A_REVB2" +dict set ::pll_all_ip_params gui_usr_device_speed_grade "1" +dict set ::pll_all_ip_params gui_en_reconf "false" +dict set ::pll_all_ip_params gui_en_iossm_reconf "false" +dict set ::pll_all_ip_params gui_user_base_address "0" +dict set ::pll_all_ip_params gui_en_dps_ports "false" +dict set ::pll_all_ip_params gui_pll_mode "Integer-N PLL" +dict set ::pll_all_ip_params gui_location_type "I/O Bank" +dict set ::pll_all_ip_params gui_use_logical "false" +dict set ::pll_all_ip_params gui_reference_clock_frequency "100.0" +dict set ::pll_all_ip_params gui_reference_clock_frequency_ps "10000.0" +dict set ::pll_all_ip_params gui_use_coreclk "true" +dict set ::pll_all_ip_params gui_refclk_might_change "false" +dict set ::pll_all_ip_params gui_fractional_cout "32" +dict set ::pll_all_ip_params gui_prot_mode "UNUSED" +dict set ::pll_all_ip_params gui_dsm_out_sel "1st_order" +dict set ::pll_all_ip_params gui_use_locked "true" +dict set ::pll_all_ip_params gui_en_adv_params "false" +dict set ::pll_all_ip_params gui_pll_bandwidth_preset "Medium" +dict set ::pll_all_ip_params gui_lock_setting "Low Lock Time" +dict set ::pll_all_ip_params gui_pll_auto_reset "false" +dict set ::pll_all_ip_params gui_en_lvds_ports "Disabled" +dict set ::pll_all_ip_params gui_en_periphery_ports "false" +dict set ::pll_all_ip_params gui_operation_mode "direct" +dict set ::pll_all_ip_params gui_feedback_clock "Global Clock" +dict set ::pll_all_ip_params gui_clock_to_compensate "0" +dict set ::pll_all_ip_params gui_use_NDFB_modes "false" +dict set ::pll_all_ip_params gui_refclk_switch "false" +dict set ::pll_all_ip_params gui_refclk1_frequency "100.0" +dict set ::pll_all_ip_params gui_en_phout_ports "false" +dict set ::pll_all_ip_params gui_phout_division "1" +dict set ::pll_all_ip_params gui_en_extclkout_ports "false" +dict set ::pll_all_ip_params gui_number_of_clocks "5" +dict set ::pll_all_ip_params gui_multiply_factor "25" +dict set ::pll_all_ip_params gui_divide_factor_n "6" +dict set ::pll_all_ip_params gui_frac_multiply_factor "1" +dict set ::pll_all_ip_params gui_fix_vco_frequency "false" +dict set ::pll_all_ip_params gui_fixed_vco_frequency "600.0" +dict set ::pll_all_ip_params gui_fixed_vco_frequency_ps "1667.0" +dict set ::pll_all_ip_params gui_vco_frequency "1250.0" +dict set ::pll_all_ip_params gui_enable_output_counter_cascading "false" +dict set ::pll_all_ip_params gui_mif_gen_options "Generate New MIF File" +dict set ::pll_all_ip_params gui_new_mif_file_path "~/pll.mif" +dict set ::pll_all_ip_params gui_existing_mif_file_path "~/pll.mif" +dict set ::pll_all_ip_params gui_mif_config_name "unnamed" +dict set ::pll_all_ip_params gui_active_clk "false" +dict set ::pll_all_ip_params gui_clk_bad "false" +dict set ::pll_all_ip_params gui_switchover_mode "Automatic Switchover" +dict set ::pll_all_ip_params gui_switchover_delay "0" +dict set ::pll_all_ip_params gui_enable_cascade_out "false" +dict set ::pll_all_ip_params gui_cascade_outclk_index "0" +dict set ::pll_all_ip_params gui_enable_cascade_in "false" +dict set ::pll_all_ip_params gui_enable_permit_cal "false" +dict set ::pll_all_ip_params gui_enable_upstream_out_clk "false" +dict set ::pll_all_ip_params gui_pll_cascading_mode "adjpllin" +dict set ::pll_all_ip_params gui_enable_mif_dps "false" +dict set ::pll_all_ip_params gui_dps_cntr "C0" +dict set ::pll_all_ip_params gui_dps_num "1" +dict set ::pll_all_ip_params gui_dps_dir "Positive" +dict set ::pll_all_ip_params gui_extclkout_0_source "C0" +dict set ::pll_all_ip_params gui_extclkout_1_source "C0" +dict set ::pll_all_ip_params gui_extclkout_source "C0" +dict set ::pll_all_ip_params gui_clock_name_global "false" +dict set ::pll_all_ip_params gui_clock_name_string0 "outclk0" +dict set ::pll_all_ip_params gui_clock_name_string1 "outclk1" +dict set ::pll_all_ip_params gui_clock_name_string2 "outclk2" +dict set ::pll_all_ip_params gui_clock_name_string3 "outclk3" +dict set ::pll_all_ip_params gui_clock_name_string4 "outclk4" +dict set ::pll_all_ip_params gui_clock_name_string5 "outclk5" +dict set ::pll_all_ip_params gui_clock_name_string6 "outclk6" +dict set ::pll_all_ip_params gui_clock_name_string7 "outclk7" +dict set ::pll_all_ip_params gui_clock_name_string8 "outclk8" +dict set ::pll_all_ip_params gui_clock_name_string9 "outclk9" +dict set ::pll_all_ip_params gui_clock_name_string10 "outclk10" +dict set ::pll_all_ip_params gui_clock_name_string11 "outclk11" +dict set ::pll_all_ip_params gui_clock_name_string12 "outclk12" +dict set ::pll_all_ip_params gui_clock_name_string13 "outclk13" +dict set ::pll_all_ip_params gui_clock_name_string14 "outclk14" +dict set ::pll_all_ip_params gui_clock_name_string15 "outclk15" +dict set ::pll_all_ip_params gui_clock_name_string16 "outclk16" +dict set ::pll_all_ip_params gui_clock_name_string17 "outclk17" +dict set ::pll_all_ip_params gui_divide_factor_c0 "1" +dict set ::pll_all_ip_params gui_divide_factor_c1 "25" +dict set ::pll_all_ip_params gui_divide_factor_c2 "25" +dict set ::pll_all_ip_params gui_divide_factor_c3 "6" +dict set ::pll_all_ip_params gui_divide_factor_c4 "6" +dict set ::pll_all_ip_params gui_divide_factor_c5 "6" +dict set ::pll_all_ip_params gui_divide_factor_c6 "6" +dict set ::pll_all_ip_params gui_divide_factor_c7 "6" +dict set ::pll_all_ip_params gui_divide_factor_c8 "6" +dict set ::pll_all_ip_params gui_divide_factor_c9 "6" +dict set ::pll_all_ip_params gui_divide_factor_c10 "6" +dict set ::pll_all_ip_params gui_divide_factor_c11 "6" +dict set ::pll_all_ip_params gui_divide_factor_c12 "6" +dict set ::pll_all_ip_params gui_divide_factor_c13 "6" +dict set ::pll_all_ip_params gui_divide_factor_c14 "6" +dict set ::pll_all_ip_params gui_divide_factor_c15 "6" +dict set ::pll_all_ip_params gui_divide_factor_c16 "6" +dict set ::pll_all_ip_params gui_divide_factor_c17 "6" +dict set ::pll_all_ip_params gui_cascade_counter0 "false" +dict set ::pll_all_ip_params gui_cascade_counter1 "false" +dict set ::pll_all_ip_params gui_cascade_counter2 "false" +dict set ::pll_all_ip_params gui_cascade_counter3 "false" +dict set ::pll_all_ip_params gui_cascade_counter4 "false" +dict set ::pll_all_ip_params gui_cascade_counter5 "false" +dict set ::pll_all_ip_params gui_cascade_counter6 "false" +dict set ::pll_all_ip_params gui_cascade_counter7 "false" +dict set ::pll_all_ip_params gui_cascade_counter8 "false" +dict set ::pll_all_ip_params gui_cascade_counter9 "false" +dict set ::pll_all_ip_params gui_cascade_counter10 "false" +dict set ::pll_all_ip_params gui_cascade_counter11 "false" +dict set ::pll_all_ip_params gui_cascade_counter12 "false" +dict set ::pll_all_ip_params gui_cascade_counter13 "false" +dict set ::pll_all_ip_params gui_cascade_counter14 "false" +dict set ::pll_all_ip_params gui_cascade_counter15 "false" +dict set ::pll_all_ip_params gui_cascade_counter16 "false" +dict set ::pll_all_ip_params gui_cascade_counter17 "false" +dict set ::pll_all_ip_params gui_output_clock_frequency0 "200.0" +dict set ::pll_all_ip_params gui_output_clock_frequency1 "125.0" +dict set ::pll_all_ip_params gui_output_clock_frequency2 "200.0" +dict set ::pll_all_ip_params gui_output_clock_frequency3 "125.0" +dict set ::pll_all_ip_params gui_output_clock_frequency4 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency5 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency6 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency7 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency8 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency9 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency10 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency11 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency12 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency13 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency14 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency15 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency16 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency17 "100.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps0 "5000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps1 "8000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps2 "5000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps3 "8000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps4 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps5 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps6 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps7 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps8 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps9 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps10 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps11 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps12 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps13 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps14 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps15 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps16 "10000.0" +dict set ::pll_all_ip_params gui_output_clock_frequency_ps17 "10000.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency0 "200.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency1 "125.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency2 "200.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency3 "125.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency4 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency5 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency6 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency7 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency8 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency9 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency10 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency11 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency12 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency13 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency14 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency15 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency16 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency17 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range0 "198.333333 198.412698 198.571429 200.0 201.428571 201.587302" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range1 "114.285714 116.666667 120.0 125.0 127.272727 133.333333" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range2 "125.0 142.857143 166.666667 200.0 250.0 333.333333" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range3 "90.909091 100.0 111.111111 125.0 142.857143 166.666667" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range4 "76.923077 83.333333 90.909091 100.0 111.111111 125.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range5 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range6 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range7 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range8 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range9 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range10 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range11 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range12 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range13 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range14 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range15 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range16 "100.0" +dict set ::pll_all_ip_params gui_actual_output_clock_frequency_range17 "100.0" +dict set ::pll_all_ip_params gui_ps_units0 "ps" +dict set ::pll_all_ip_params gui_ps_units1 "ps" +dict set ::pll_all_ip_params gui_ps_units2 "ps" +dict set ::pll_all_ip_params gui_ps_units3 "degrees" +dict set ::pll_all_ip_params gui_ps_units4 "ps" +dict set ::pll_all_ip_params gui_ps_units5 "ps" +dict set ::pll_all_ip_params gui_ps_units6 "ps" +dict set ::pll_all_ip_params gui_ps_units7 "ps" +dict set ::pll_all_ip_params gui_ps_units8 "ps" +dict set ::pll_all_ip_params gui_ps_units9 "ps" +dict set ::pll_all_ip_params gui_ps_units10 "ps" +dict set ::pll_all_ip_params gui_ps_units11 "ps" +dict set ::pll_all_ip_params gui_ps_units12 "ps" +dict set ::pll_all_ip_params gui_ps_units13 "ps" +dict set ::pll_all_ip_params gui_ps_units14 "ps" +dict set ::pll_all_ip_params gui_ps_units15 "ps" +dict set ::pll_all_ip_params gui_ps_units16 "ps" +dict set ::pll_all_ip_params gui_ps_units17 "ps" +dict set ::pll_all_ip_params gui_phase_shift0 "0.0" +dict set ::pll_all_ip_params gui_phase_shift1 "0.0" +dict set ::pll_all_ip_params gui_phase_shift2 "0.0" +dict set ::pll_all_ip_params gui_phase_shift3 "0.0" +dict set ::pll_all_ip_params gui_phase_shift4 "0.0" +dict set ::pll_all_ip_params gui_phase_shift5 "0.0" +dict set ::pll_all_ip_params gui_phase_shift6 "0.0" +dict set ::pll_all_ip_params gui_phase_shift7 "0.0" +dict set ::pll_all_ip_params gui_phase_shift8 "0.0" +dict set ::pll_all_ip_params gui_phase_shift9 "0.0" +dict set ::pll_all_ip_params gui_phase_shift10 "0.0" +dict set ::pll_all_ip_params gui_phase_shift11 "0.0" +dict set ::pll_all_ip_params gui_phase_shift12 "0.0" +dict set ::pll_all_ip_params gui_phase_shift13 "0.0" +dict set ::pll_all_ip_params gui_phase_shift14 "0.0" +dict set ::pll_all_ip_params gui_phase_shift15 "0.0" +dict set ::pll_all_ip_params gui_phase_shift16 "0.0" +dict set ::pll_all_ip_params gui_phase_shift17 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg0 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg1 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg2 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg3 "90.0" +dict set ::pll_all_ip_params gui_phase_shift_deg4 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg5 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg6 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg7 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg8 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg9 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg10 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg11 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg12 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg13 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg14 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg15 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg16 "0.0" +dict set ::pll_all_ip_params gui_phase_shift_deg17 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift0 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift1 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift2 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift3 "2000.0" +dict set ::pll_all_ip_params gui_actual_phase_shift4 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift5 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift6 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift7 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift8 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift9 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift10 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift11 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift12 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift13 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift14 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift15 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift16 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift17 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range0 "0.0 125.0 250.0 375.0 500.0 625.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range1 "0.0 125.0 250.0 375.0 500.0 625.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range2 "0.0 125.0 250.0 375.0 500.0 625.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range3 "1625.0 1750.0 1875.0 2000.0 2125.0 2250.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range4 "0.0 125.0 250.0 375.0 500.0 625.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range5 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range6 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range7 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range8 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range9 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range10 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range11 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range12 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range13 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range14 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range15 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range16 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_range17 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg0 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg1 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg2 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg3 "90.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg4 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg5 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg6 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg7 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg8 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg9 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg10 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg11 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg12 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg13 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg14 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg15 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg16 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg17 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range0 "0.0 9.0 18.0 27.0 36.0 45.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range1 "0.0 5.6 11.2 16.9 22.5 28.1" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range2 "0.0 9.0 18.0 27.0 36.0 45.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range3 "73.1 78.8 84.4 90.0 95.6 101.2" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range4 "0.0 4.5 9.0 13.5 18.0 22.5" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range5 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range6 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range7 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range8 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range9 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range10 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range11 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range12 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range13 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range14 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range15 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range16 "0.0" +dict set ::pll_all_ip_params gui_actual_phase_shift_deg_range17 "0.0" +dict set ::pll_all_ip_params gui_duty_cycle0 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle1 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle2 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle3 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle4 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle5 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle6 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle7 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle8 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle9 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle10 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle11 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle12 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle13 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle14 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle15 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle16 "50.0" +dict set ::pll_all_ip_params gui_duty_cycle17 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle0 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle1 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle2 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle3 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle4 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle5 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle6 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle7 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle8 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle9 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle10 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle11 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle12 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle13 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle14 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle15 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle16 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle17 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range0 "20.0 30.0 40.0 50.0 60.0 70.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range1 "31.25 37.5 43.75 50.0 56.25 62.5" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range2 "20.0 30.0 40.0 50.0 60.0 70.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range3 "31.25 37.5 43.75 50.0 56.25 62.5" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range4 "35.0 40.0 45.0 50.0 55.0 60.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range5 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range6 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range7 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range8 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range9 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range10 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range11 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range12 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range13 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range14 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range15 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range16 "50.0" +dict set ::pll_all_ip_params gui_actual_duty_cycle_range17 "50.0" +dict set ::pll_all_ip_params gui_simulation_type "false" +dict set ::pll_all_ip_params parameterTable_names "{M-Counter Divide Setting} {N-Counter Divide Setting} {VCO Frequency} {C-Counter-0 Divide Setting} {C-Counter-1 Divide Setting} {C-Counter-2 Divide Setting} {C-Counter-3 Divide Setting} {C-Counter-4 Divide Setting} {C-Counter-5 Divide Setting} {C-Counter-6 Divide Setting} {C-Counter-7 Divide Setting} {C-Counter-8 Divide Setting} {PLL Auto Reset} {M-Counter Hi Divide} {M-Counter Lo Divide} {M-Counter Even Duty Enable} {M-Counter Bypass Enable} {N-Counter Hi Divide} {N-Counter Lo Divide} {N-Counter Even Duty Enable} {N-Counter Bypass Enable} {C-Counter-0 Hi Divide} {C-Counter-1 Hi Divide} {C-Counter-2 Hi Divide} {C-Counter-3 Hi Divide} {C-Counter-4 Hi Divide} {C-Counter-5 Hi Divide} {C-Counter-6 Hi Divide} {C-Counter-7 Hi Divide} {C-Counter-8 Hi Divide} {C-Counter-0 Lo Divide} {C-Counter-1 Lo Divide} {C-Counter-2 Lo Divide} {C-Counter-3 Lo Divide} {C-Counter-4 Lo Divide} {C-Counter-5 Lo Divide} {C-Counter-6 Lo Divide} {C-Counter-7 Lo Divide} {C-Counter-8 Lo Divide} {C-Counter-0 Even Duty Enable} {C-Counter-1 Even Duty Enable} {C-Counter-2 Even Duty Enable} {C-Counter-3 Even Duty Enable} {C-Counter-4 Even Duty Enable} {C-Counter-5 Even Duty Enable} {C-Counter-6 Even Duty Enable} {C-Counter-7 Even Duty Enable} {C-Counter-8 Even Duty Enable} {C-Counter-0 Bypass Enable} {C-Counter-1 Bypass Enable} {C-Counter-2 Bypass Enable} {C-Counter-3 Bypass Enable} {C-Counter-4 Bypass Enable} {C-Counter-5 Bypass Enable} {C-Counter-6 Bypass Enable} {C-Counter-7 Bypass Enable} {C-Counter-8 Bypass Enable} {C-Counter-0 Preset} {C-Counter-1 Preset} {C-Counter-2 Preset} {C-Counter-3 Preset} {C-Counter-4 Preset} {C-Counter-5 Preset} {C-Counter-6 Preset} {C-Counter-7 Preset} {C-Counter-8 Preset} {C-Counter-0 Phase Mux Preset} {C-Counter-1 Phase Mux Preset} {C-Counter-2 Phase Mux Preset} {C-Counter-3 Phase Mux Preset} {C-Counter-4 Phase Mux Preset} {C-Counter-5 Phase Mux Preset} {C-Counter-6 Phase Mux Preset} {C-Counter-7 Phase Mux Preset} {C-Counter-8 Phase Mux Preset} {Charge Pump Current} {Bandwidth Control}" +dict set ::pll_all_ip_params parameterTable_values "10 1 {1000.0 MHz} 1 5 8 5 8 10 1 1 1 false 5 5 false false 256 256 false true 256 3 4 3 4 5 256 256 256 256 2 4 2 4 5 256 256 256 false true false true false false false false false true false false false false false true true true 1 1 1 1 3 1 1 1 1 0 0 0 0 0 0 0 0 0 pll_cp_setting5 pll_bw_res_setting3" +dict set ::pll_all_ip_params mifTable_names "{The MIF file specified does not yet exist}" +dict set ::pll_all_ip_params pll_m_cnt_basic "1" +dict set ::pll_all_ip_params pll_m_cnt "1" +dict set ::pll_all_ip_params prot_mode "BASIC" +dict set ::pll_all_ip_params protocol_mode "PROTOCOL_MODE_BASIC" +dict set ::pll_all_ip_params m_cnt_hi_div "5" +dict set ::pll_all_ip_params eff_m_cnt "1" +dict set ::pll_all_ip_params multiply_factor "10" +dict set ::pll_all_ip_params use_core_refclk "true" +dict set ::pll_all_ip_params m_cnt_lo_div "5" +dict set ::pll_all_ip_params n_cnt_hi_div "256" +dict set ::pll_all_ip_params n_cnt_lo_div "256" +dict set ::pll_all_ip_params m_cnt_bypass_en "false" +dict set ::pll_all_ip_params n_cnt_bypass_en "true" +dict set ::pll_all_ip_params m_cnt_odd_div_duty_en "false" +dict set ::pll_all_ip_params n_cnt_odd_div_duty_en "false" +dict set ::pll_all_ip_params pll_vco_div "1" +dict set ::pll_all_ip_params pll_cp_current "pll_cp_setting5" +dict set ::pll_all_ip_params pll_bwctrl "pll_bw_res_setting3" +dict set ::pll_all_ip_params pll_ripplecap_ctrl "pll_ripplecap_setting1" +dict set ::pll_all_ip_params pll_fractional_division "1" +dict set ::pll_all_ip_params fractional_vco_multiplier "false" +dict set ::pll_all_ip_params reference_clock_frequency "100.0 MHz" +dict set ::pll_all_ip_params pll_fractional_cout "1" +dict set ::pll_all_ip_params pll_dsm_out_sel "1st_order" +dict set ::pll_all_ip_params operation_mode "direct" +dict set ::pll_all_ip_params number_of_clocks "5" +dict set ::pll_all_ip_params number_of_outclks "5" +dict set ::pll_all_ip_params pll_vcoph_div "1" +dict set ::pll_all_ip_params pll_type "TOP_BOTTOM" +dict set ::pll_all_ip_params pll_subtype "General" +dict set ::pll_all_ip_params pll_output_clk_frequency "1000.0 MHz" +dict set ::pll_all_ip_params pll_pfd_frequency "100.0 MHz" +dict set ::pll_all_ip_params mimic_fbclk_type "gclk" +dict set ::pll_all_ip_params pll_bw_sel "mid_bw" +dict set ::pll_all_ip_params pll_slf_rst "false" +dict set ::pll_all_ip_params pll_fbclk_mux_1 "pll_fbclk_mux_1_glb" +dict set ::pll_all_ip_params pll_fbclk_mux_2 "pll_fbclk_mux_2_m_cnt" +dict set ::pll_all_ip_params pll_m_cnt_in_src "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params pll_clkin_0_src "coreclkin" +dict set ::pll_all_ip_params refclk1_frequency "0 MHz" +dict set ::pll_all_ip_params pll_clk_loss_sw_en "false" +dict set ::pll_all_ip_params pll_manu_clk_sw_en "false" +dict set ::pll_all_ip_params pll_auto_clk_sw_en "false" +dict set ::pll_all_ip_params pll_clkin_1_src "ioclkin_0" +dict set ::pll_all_ip_params pll_clk_sw_dly "0" +dict set ::pll_all_ip_params pll_extclk_0_cnt_src "pll_extclk_cnt_src_vss" +dict set ::pll_all_ip_params pll_extclk_1_cnt_src "pll_extclk_cnt_src_vss" +dict set ::pll_all_ip_params pll_lock_fltr_cfg "100" +dict set ::pll_all_ip_params pll_unlock_fltr_cfg "2" +dict set ::pll_all_ip_params lock_mode "low_lock_time" +dict set ::pll_all_ip_params clock_to_compensate "1" +dict set ::pll_all_ip_params clock_name_global "false" +dict set ::pll_all_ip_params pll_freqcal_en "true" +dict set ::pll_all_ip_params pll_defer_cal_user_mode "true" +dict set ::pll_all_ip_params dprio_interface_sel "3" +dict set ::pll_all_ip_params merging_permitted "false" +dict set ::pll_all_ip_params bandwidth_mode "BANDWIDTH_MODE_AUTO" +dict set ::pll_all_ip_params compensation_clk_source "COMPENSATION_CLK_SOURCE_UNUSED" +dict set ::pll_all_ip_params compensation_mode "COMPENSATION_MODE_DIRECT" +dict set ::pll_all_ip_params cascade_mode "CASCADE_MODE_STANDALONE" +dict set ::pll_all_ip_params fb_clk_delay "0" +dict set ::pll_all_ip_params fb_clk_fractional_div_den "1" +dict set ::pll_all_ip_params fb_clk_fractional_div_num "1" +dict set ::pll_all_ip_params fb_clk_fractional_div_value "1" +dict set ::pll_all_ip_params fb_clk_m_div "0" +dict set ::pll_all_ip_params out_clk_cascading_source "OUT_CLK_CASCADING_SOURCE_UNUSED" +dict set ::pll_all_ip_params out_clk_external_0_source "OUT_CLK_EXTERNAL_0_SOURCE_UNUSED" +dict set ::pll_all_ip_params out_clk_external_1_source "OUT_CLK_EXTERNAL_1_SOURCE_UNUSED" +dict set ::pll_all_ip_params out_clk_periph_0_delay "0" +dict set ::pll_all_ip_params out_clk_periph_0_en "true" +dict set ::pll_all_ip_params out_clk_periph_1_delay "0" +dict set ::pll_all_ip_params out_clk_periph_1_en "true" +dict set ::pll_all_ip_params ref_clk_delay "0" +dict set ::pll_all_ip_params ref_clk_n_div "1" +dict set ::pll_all_ip_params set_dutycycle "SET_DUTYCYCLE_FRACTION" +dict set ::pll_all_ip_params set_fractional "SET_FRACTIONAL_FRACTION" +dict set ::pll_all_ip_params set_freq "SET_FREQ_DIVISION" +dict set ::pll_all_ip_params set_phase "SET_PHASE_NUM_SHIFTS" +dict set ::pll_all_ip_params pfd_clk_freq "100000000" +dict set ::pll_all_ip_params vco_clk_freq "1000000000" +dict set ::pll_all_ip_params c_cnt_hi_div0 "256" +dict set ::pll_all_ip_params c_cnt_hi_div1 "3" +dict set ::pll_all_ip_params c_cnt_hi_div2 "4" +dict set ::pll_all_ip_params c_cnt_hi_div3 "3" +dict set ::pll_all_ip_params c_cnt_hi_div4 "4" +dict set ::pll_all_ip_params c_cnt_hi_div5 "5" +dict set ::pll_all_ip_params c_cnt_hi_div6 "256" +dict set ::pll_all_ip_params c_cnt_hi_div7 "256" +dict set ::pll_all_ip_params c_cnt_hi_div8 "256" +dict set ::pll_all_ip_params c_cnt_hi_div9 "256" +dict set ::pll_all_ip_params c_cnt_hi_div10 "1" +dict set ::pll_all_ip_params c_cnt_hi_div11 "1" +dict set ::pll_all_ip_params c_cnt_hi_div12 "1" +dict set ::pll_all_ip_params c_cnt_hi_div13 "1" +dict set ::pll_all_ip_params c_cnt_hi_div14 "1" +dict set ::pll_all_ip_params c_cnt_hi_div15 "1" +dict set ::pll_all_ip_params c_cnt_hi_div16 "1" +dict set ::pll_all_ip_params c_cnt_hi_div17 "1" +dict set ::pll_all_ip_params c_cnt_lo_div0 "256" +dict set ::pll_all_ip_params c_cnt_lo_div1 "2" +dict set ::pll_all_ip_params c_cnt_lo_div2 "4" +dict set ::pll_all_ip_params c_cnt_lo_div3 "2" +dict set ::pll_all_ip_params c_cnt_lo_div4 "4" +dict set ::pll_all_ip_params c_cnt_lo_div5 "5" +dict set ::pll_all_ip_params c_cnt_lo_div6 "256" +dict set ::pll_all_ip_params c_cnt_lo_div7 "256" +dict set ::pll_all_ip_params c_cnt_lo_div8 "256" +dict set ::pll_all_ip_params c_cnt_lo_div9 "256" +dict set ::pll_all_ip_params c_cnt_lo_div10 "1" +dict set ::pll_all_ip_params c_cnt_lo_div11 "1" +dict set ::pll_all_ip_params c_cnt_lo_div12 "1" +dict set ::pll_all_ip_params c_cnt_lo_div13 "1" +dict set ::pll_all_ip_params c_cnt_lo_div14 "1" +dict set ::pll_all_ip_params c_cnt_lo_div15 "1" +dict set ::pll_all_ip_params c_cnt_lo_div16 "1" +dict set ::pll_all_ip_params c_cnt_lo_div17 "1" +dict set ::pll_all_ip_params c_cnt_prst0 "1" +dict set ::pll_all_ip_params c_cnt_prst1 "1" +dict set ::pll_all_ip_params c_cnt_prst2 "1" +dict set ::pll_all_ip_params c_cnt_prst3 "1" +dict set ::pll_all_ip_params c_cnt_prst4 "3" +dict set ::pll_all_ip_params c_cnt_prst5 "1" +dict set ::pll_all_ip_params c_cnt_prst6 "1" +dict set ::pll_all_ip_params c_cnt_prst7 "1" +dict set ::pll_all_ip_params c_cnt_prst8 "1" +dict set ::pll_all_ip_params c_cnt_prst9 "1" +dict set ::pll_all_ip_params c_cnt_prst10 "1" +dict set ::pll_all_ip_params c_cnt_prst11 "1" +dict set ::pll_all_ip_params c_cnt_prst12 "1" +dict set ::pll_all_ip_params c_cnt_prst13 "1" +dict set ::pll_all_ip_params c_cnt_prst14 "1" +dict set ::pll_all_ip_params c_cnt_prst15 "1" +dict set ::pll_all_ip_params c_cnt_prst16 "1" +dict set ::pll_all_ip_params c_cnt_prst17 "1" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst0 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst1 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst2 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst3 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst4 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst5 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst6 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst7 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst8 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst9 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst10 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst11 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst12 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst13 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst14 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst15 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst16 "0" +dict set ::pll_all_ip_params c_cnt_ph_mux_prst17 "0" +dict set ::pll_all_ip_params c_cnt_in_src0 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src1 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src2 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src3 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src4 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src5 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src6 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src7 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src8 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src9 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src10 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src11 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src12 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src13 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src14 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src15 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src16 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_in_src17 "c_m_cnt_in_src_ph_mux_clk" +dict set ::pll_all_ip_params c_cnt_bypass_en0 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en1 "false" +dict set ::pll_all_ip_params c_cnt_bypass_en2 "false" +dict set ::pll_all_ip_params c_cnt_bypass_en3 "false" +dict set ::pll_all_ip_params c_cnt_bypass_en4 "false" +dict set ::pll_all_ip_params c_cnt_bypass_en5 "false" +dict set ::pll_all_ip_params c_cnt_bypass_en6 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en7 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en8 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en9 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en10 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en11 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en12 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en13 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en14 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en15 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en16 "true" +dict set ::pll_all_ip_params c_cnt_bypass_en17 "true" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en0 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en1 "true" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en2 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en3 "true" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en4 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en5 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en6 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en7 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en8 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en9 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en10 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en11 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en12 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en13 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en14 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en15 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en16 "false" +dict set ::pll_all_ip_params c_cnt_odd_div_duty_en17 "false" +dict set ::pll_all_ip_params output_clock_frequency0 "0 ps" +dict set ::pll_all_ip_params output_clock_frequency1 "200.0 MHz" +dict set ::pll_all_ip_params output_clock_frequency2 "125.0 MHz" +dict set ::pll_all_ip_params output_clock_frequency3 "200.0 MHz" +dict set ::pll_all_ip_params output_clock_frequency4 "125.0 MHz" +dict set ::pll_all_ip_params output_clock_frequency5 "100.0 MHz" +dict set ::pll_all_ip_params output_clock_frequency6 "0 ps" +dict set ::pll_all_ip_params output_clock_frequency7 "0 ps" +dict set ::pll_all_ip_params output_clock_frequency8 "0 ps" +dict set ::pll_all_ip_params output_clock_frequency9 "0 ps" +dict set ::pll_all_ip_params output_clock_frequency10 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency11 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency12 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency13 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency14 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency15 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency16 "0 MHz" +dict set ::pll_all_ip_params output_clock_frequency17 "0 MHz" +dict set ::pll_all_ip_params phase_shift0 "0 ps" +dict set ::pll_all_ip_params phase_shift1 "0 ps" +dict set ::pll_all_ip_params phase_shift2 "0 ps" +dict set ::pll_all_ip_params phase_shift3 "0 ps" +dict set ::pll_all_ip_params phase_shift4 "2000 ps" +dict set ::pll_all_ip_params phase_shift5 "0 ps" +dict set ::pll_all_ip_params phase_shift6 "0 ps" +dict set ::pll_all_ip_params phase_shift7 "0 ps" +dict set ::pll_all_ip_params phase_shift8 "0 ps" +dict set ::pll_all_ip_params phase_shift9 "0 ps" +dict set ::pll_all_ip_params phase_shift10 "0 ps" +dict set ::pll_all_ip_params phase_shift11 "0 ps" +dict set ::pll_all_ip_params phase_shift12 "0 ps" +dict set ::pll_all_ip_params phase_shift13 "0 ps" +dict set ::pll_all_ip_params phase_shift14 "0 ps" +dict set ::pll_all_ip_params phase_shift15 "0 ps" +dict set ::pll_all_ip_params phase_shift16 "0 ps" +dict set ::pll_all_ip_params phase_shift17 "0 ps" +dict set ::pll_all_ip_params duty_cycle0 "50" +dict set ::pll_all_ip_params duty_cycle1 "50" +dict set ::pll_all_ip_params duty_cycle2 "50" +dict set ::pll_all_ip_params duty_cycle3 "50" +dict set ::pll_all_ip_params duty_cycle4 "50" +dict set ::pll_all_ip_params duty_cycle5 "50" +dict set ::pll_all_ip_params duty_cycle6 "50" +dict set ::pll_all_ip_params duty_cycle7 "50" +dict set ::pll_all_ip_params duty_cycle8 "50" +dict set ::pll_all_ip_params duty_cycle9 "50" +dict set ::pll_all_ip_params duty_cycle10 "50" +dict set ::pll_all_ip_params duty_cycle11 "50" +dict set ::pll_all_ip_params duty_cycle12 "50" +dict set ::pll_all_ip_params duty_cycle13 "50" +dict set ::pll_all_ip_params duty_cycle14 "50" +dict set ::pll_all_ip_params duty_cycle15 "50" +dict set ::pll_all_ip_params duty_cycle16 "50" +dict set ::pll_all_ip_params duty_cycle17 "50" +dict set ::pll_all_ip_params clock_name_1 "outclk0" +dict set ::pll_all_ip_params clock_name_2 "outclk1" +dict set ::pll_all_ip_params clock_name_3 "outclk2" +dict set ::pll_all_ip_params clock_name_4 "outclk3" +dict set ::pll_all_ip_params clock_name_5 "outclk4" +dict set ::pll_all_ip_params clock_name_global_0 "false" +dict set ::pll_all_ip_params clock_name_global_1 "false" +dict set ::pll_all_ip_params clock_name_global_2 "false" +dict set ::pll_all_ip_params clock_name_global_3 "false" +dict set ::pll_all_ip_params clock_name_global_4 "false" +dict set ::pll_all_ip_params clock_name_global_5 "false" +dict set ::pll_all_ip_params clock_name_global_6 "false" +dict set ::pll_all_ip_params clock_name_global_7 "false" +dict set ::pll_all_ip_params clock_name_global_8 "false" +dict set ::pll_all_ip_params divide_factor0 "1" +dict set ::pll_all_ip_params divide_factor1 "1" +dict set ::pll_all_ip_params divide_factor2 "1" +dict set ::pll_all_ip_params divide_factor3 "1" +dict set ::pll_all_ip_params divide_factor4 "1" +dict set ::pll_all_ip_params divide_factor5 "1" +dict set ::pll_all_ip_params divide_factor6 "1" +dict set ::pll_all_ip_params divide_factor7 "1" +dict set ::pll_all_ip_params divide_factor8 "1" +dict set ::pll_all_ip_params out_clk_0_c_div "1" +dict set ::pll_all_ip_params out_clk_1_c_div "1" +dict set ::pll_all_ip_params out_clk_2_c_div "1" +dict set ::pll_all_ip_params out_clk_3_c_div "1" +dict set ::pll_all_ip_params out_clk_4_c_div "1" +dict set ::pll_all_ip_params out_clk_5_c_div "1" +dict set ::pll_all_ip_params out_clk_6_c_div "1" +dict set ::pll_all_ip_params out_clk_0_core_en "true" +dict set ::pll_all_ip_params out_clk_1_core_en "true" +dict set ::pll_all_ip_params out_clk_2_core_en "true" +dict set ::pll_all_ip_params out_clk_3_core_en "true" +dict set ::pll_all_ip_params out_clk_4_core_en "true" +dict set ::pll_all_ip_params out_clk_5_core_en "true" +dict set ::pll_all_ip_params out_clk_6_core_en "true" +dict set ::pll_all_ip_params out_clk_0_delay "0" +dict set ::pll_all_ip_params out_clk_1_delay "0" +dict set ::pll_all_ip_params out_clk_2_delay "0" +dict set ::pll_all_ip_params out_clk_3_delay "0" +dict set ::pll_all_ip_params out_clk_4_delay "0" +dict set ::pll_all_ip_params out_clk_5_delay "0" +dict set ::pll_all_ip_params out_clk_6_delay "0" +dict set ::pll_all_ip_params out_clk_0_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_1_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_2_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_3_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_4_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_5_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_6_dutycycle_den "2" +dict set ::pll_all_ip_params out_clk_0_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_1_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_2_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_3_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_4_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_5_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_6_dutycycle_num "1" +dict set ::pll_all_ip_params out_clk_0_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_1_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_2_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_3_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_4_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_5_phase_shifts "0" +dict set ::pll_all_ip_params out_clk_6_phase_shifts "0" +dict set ::pll_all_ip_params ref_clk_0_freq "100000000" +dict set ::pll_all_ip_params ref_clk_1_freq "100000000" +dict set ::pll_all_ip_params out_clk_0_freq "1000000000" +dict set ::pll_all_ip_params out_clk_1_freq "1000000000" +dict set ::pll_all_ip_params out_clk_2_freq "1000000000" +dict set ::pll_all_ip_params out_clk_3_freq "1000000000" +dict set ::pll_all_ip_params out_clk_4_freq "1000000000" +dict set ::pll_all_ip_params out_clk_5_freq "1000000000" +dict set ::pll_all_ip_params out_clk_6_freq "1000000000" +dict set ::pll_all_ip_params out_clk_0_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_1_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_2_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_3_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_4_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_5_phase_ps "1000000000" +dict set ::pll_all_ip_params out_clk_6_phase_ps "1000000000" +dict set ::pll_all_ip_params pll_tclk_mux_en "false" +dict set ::pll_all_ip_params pll_tclk_sel "pll_tclk_m_src" +dict set ::pll_all_ip_params pll_vco_freq_band_0 "pll_freq_clk0_band18" +dict set ::pll_all_ip_params pll_vco_freq_band_1 "pll_freq_clk1_band18" +dict set ::pll_all_ip_params pll_freqcal_req_flag "true" +dict set ::pll_all_ip_params cal_converge "false" +dict set ::pll_all_ip_params cal_error "cal_clean" +dict set ::pll_all_ip_params pll_cal_done "false" +dict set ::pll_all_ip_params include_iossm "false" +dict set ::pll_all_ip_params cal_code_hex_file "iossm.hex" +dict set ::pll_all_ip_params parameter_table_hex_file "seq_params_sim.hex" +dict set ::pll_all_ip_params iossm_nios_sim_clk_period_ps "1333" +dict set ::pll_all_ip_params hp_number_of_family_allowable_clocks "9" +dict set ::pll_all_ip_params hp_previous_num_clocks "1" +dict set ::pll_all_ip_params hp_actual_vco_frequency_fp "600.0" +dict set ::pll_all_ip_params hp_qsys_scripting_mode "false" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp0 "200.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp1 "125.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp2 "200.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp3 "125.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp4 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp5 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp6 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp7 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp8 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp9 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp10 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp11 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp12 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp13 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp14 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp15 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp16 "100.0" +dict set ::pll_all_ip_params hp_actual_output_clock_frequency_fp17 "100.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp0 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp1 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp2 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp3 "2000.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp4 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp5 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp6 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp7 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp8 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp9 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp10 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp11 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp12 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp13 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp14 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp15 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp16 "0.0" +dict set ::pll_all_ip_params hp_actual_phase_shift_fp17 "0.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp0 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp1 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp2 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp3 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp4 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp5 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp6 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp7 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp8 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp9 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp10 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp11 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp12 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp13 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp14 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp15 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp16 "50.0" +dict set ::pll_all_ip_params hp_actual_duty_cycle_fp17 "50.0" diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl new file mode 100644 index 0000000000..4ad7f4eaab --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl @@ -0,0 +1,121 @@ +# PLL Parameters + +#USER W A R N I N G ! +#USER The PLL parameters are statically defined in this +#USER file at generation time! +#USER To ensure timing constraints and timing reports are correct, when you make +#USER any changes to the PLL component using the Qsys, +#USER apply those changes to the PLL parameters in this file + +set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename io_pll_altera_iopll_1931_oypl3jq + +set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data [dict create] +set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data [dict create] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk pattern __inst_name__|tennm_pll|core_refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk port_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk port_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk is_fpga_pin false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk is_main_refclk true +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk name "__inst_name___refclk" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk period 10.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data refclk half_period 5.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock pattern __inst_name__|tennm_pll~ncntr_reg +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock node_type register +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock name "__inst_name___n_cnt_clk" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock multiply_by 1 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock divide_by 1 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data n_cnt_clock duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock pattern __inst_name__|tennm_pll~mcntr_reg +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock node_type register +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock name "__inst_name___m_cnt_clk" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock multiply_by 1 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock divide_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data m_cnt_clock duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 pattern __inst_name__|tennm_pll|outclk\[1\] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 name __inst_name___outclk0 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 multiply_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 divide_by 5 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk1 counter_index 1 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 pattern __inst_name__|tennm_pll|outclk\[2\] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 name __inst_name___outclk1 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 multiply_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 divide_by 8 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk2 counter_index 2 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 pattern __inst_name__|tennm_pll|outclk\[3\] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 name __inst_name___outclk2 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 multiply_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 divide_by 5 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk3 counter_index 3 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 pattern __inst_name__|tennm_pll|outclk\[4\] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 name __inst_name___outclk3 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 multiply_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 divide_by 8 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 phase 90.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk4 counter_index 4 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 pattern __inst_name__|tennm_pll|outclk\[5\] +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 node_type pin +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 pin_id "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 pin_node_name "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 is_valid false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 exists false +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 name __inst_name___outclk4 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 src refclk +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 master "" +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 multiply_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 divide_by 10 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 phase 0.000 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 duty_cycle 50 +dict set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data outclk5 counter_index 5 diff --git a/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl new file mode 100644 index 0000000000..b2fc9d5a97 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl @@ -0,0 +1,1096 @@ +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and other +# software and tools, and its AMPP partner logic functions, and any output +# files from any of the foregoing (including device programming or simulation +# files), and any associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License Subscription +# Agreement, Intel FPGA IP License Agreement, or other applicable +# license agreement, including, without limitation, that your use is for the +# sole purpose of programming logic devices manufactured by Intel and sold by +# Intel or its authorized distributors. Please refer to the applicable +# agreement for further details. + + +##################################################################### +# +# THIS IS AN AUTO-GENERATED FILE! +# ------------------------------- +# If you modify this files, all your changes will be lost if you +# regenerate the core! +# +# FILE DESCRIPTION +# ---------------- +# This file contains the traversal routines that are used by +# io_pll_altera_iopll_1931_oypl3jq.sdc scripts. +# +# These routines are only meant to support the SDC. +# Trying to using them in a different context can have unexpected +# results. + +set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_debug 0 + +set script_dir [file dirname [info script]] + +source [file join $script_dir io_pll_altera_iopll_1931_oypl3jq_parameters.tcl] + +proc get_warnings_disabled {} { + set local_disable_warnings true + set inis [split [get_global_assignment -name INI_VARS] ";"] + foreach ini $inis { + set ini_lst [split $ini "="] + lassign $ini_lst ini_name ini_value + if {$ini_name == "disable_warnings" && $ini_value == "off"} { + set local_disable_warnings false + break + } + } + return $local_disable_warnings +} +set ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_disable_warnings [get_warnings_disabled] + +# ---------------------------------------------------------------- +# +proc ai_post_message {msg_type msg {msg_context sta_only}} { +# +# Description: Posts a message to Quartus, depending on +# msg_context (sta_only, all) +# +# +# +# ---------------------------------------------------------------- + + if {$msg_type == "debug"} { + if {$::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_debug} { + puts $msg + } + } else { + if {$msg_context == "all"} { + post_message -type $msg_type $msg + } elseif {$msg_context == "sta_only"} { + if {$::TimeQuestInfo(nameofexecutable) == "quartus_sta"} { + post_message -type $msg_type $msg + } + } + } +} + +# ---------------------------------------------------------------- +# +proc ai_are_entity_names_on { } { +# +# Description: Determines if the entity names option is on +# +# ---------------------------------------------------------------- + return [set_project_mode -is_show_entity] +} + +# ---------------------------------------------------------------- +# +proc ai_initialize_pll_db { pll_db_par } { +# +# Description: Gets the instances of this particular PLL IP and creates the pin +# cache +# +# ---------------------------------------------------------------- + upvar $pll_db_par local_pll_db + + global ::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename + + ai_post_message info "Initializing PLL database for CORE $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename" + set instance_list [ai_get_core_instance_list $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename] + + foreach instname $instance_list { + ai_post_message info "Finding port-to-pin mapping for CORE: $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename INSTANCE: $instname" + + set clock_data_dicts [ai_get_pll_pins $instname] + lassign $clock_data_dicts base_clock_data_dict gen_clock_data_dict + print_clock_data $base_clock_data_dict + print_clock_data $gen_clock_data_dict + + set local_pll_db($instname) $clock_data_dicts + } +} + +# ---------------------------------------------------------------- +# +proc ai_get_core_instance_list {corename} { +# +# Description: Converts node names from one style to another style +# +# ---------------------------------------------------------------- + set full_instance_list [ai_get_core_full_instance_list $corename] + set instance_list [list] + + foreach inst $full_instance_list { + if {[lsearch $instance_list [escape_brackets $inst]] == -1} { + ai_post_message debug "Found instance: $inst" + lappend instance_list $inst + } + } + return $instance_list +} + +# ---------------------------------------------------------------- +# +proc ai_get_core_full_instance_list {corename} { +# +# Description: Finds the instances of the particular IP by searching through the cells +# +# ---------------------------------------------------------------- + + set instance_list [design::get_instances -entity $corename] + + if {[ llength $instance_list ] == 0} { + + if {!$::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_disable_warnings} { + ai_post_message warning "The auto-constraining script was not able to detect any instance for core < $corename >" all + ai_post_message warning "Verify the following:" + ai_post_message warning " The core < $corename > is instantiated within another component (wrapper)" all + ai_post_message warning " The core is not the top-level of the project" all + } + } + + return $instance_list +} +proc ai_get_registers {pattern} { + if {$::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_disable_warnings} { + return [get_registers -nowarn -no_duplicates $pattern] + } else { + return [get_registers -no_duplicates $pattern] + } +} +proc ai_get_pins {pattern} { + if {$::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_corename_disable_warnings} { + return [get_pins -nowarn -no_duplicates $pattern] + } else { + return [get_pins -no_duplicates $pattern] + } +} +proc ai_get_pin_node_name {pattern} { + set pin_collection [ai_get_pins $pattern] + set num_pins [get_collection_size $pin_collection] + if {$num_pins == 1} { + foreach_in_collection id $pin_collection { + set node_name [get_node_info -name $id] + return $node_name + } + } + return "" + +} + +# ---------------------------------------------------------------- +# +proc ai_get_collection_size_from_pattern {pattern} { +# +# Description: Takes a string regex and gets the pin collection. +# +# ---------------------------------------------------------------- + set pin_collection [get_pins -no_duplicates $pattern] + return [get_collection_size $pin_collection] +} + +# ---------------------------------------------------------------- +# +proc print_clock_data {d} { +# +# Description: Prints clock data dict +# +# ---------------------------------------------------------------- + dict for {clock_key info} $d { + ai_post_message debug "Clock: $clock_key" + dict for {key val} $info { + ai_post_message debug " $key: $val" + } + } +} + +# ---------------------------------------------------------------- +# +proc ai_subst_instname {clock_data_dict patt} { +# +# Description: Takes a string regex and gets the pin collection. +# +# ---------------------------------------------------------------- + dict for {clock_key info} $clock_data_dict { + dict with info { + regsub -all "__inst_name__" $name $patt new_name + regsub -all "__inst_name__" $pattern $patt new_pattern + + dict set clock_data_dict $clock_key name $new_name + dict set clock_data_dict $clock_key pattern $new_pattern + + if {[dict exists $clock_data_dict $clock_key "through_pin" ]} { + regsub -all "__inst_name__" $through_pin $patt new_through_pin + dict set clock_data_dict $clock_key through_pin $new_through_pin + } + } + } + return $clock_data_dict +} +# ---------------------------------------------------------------- +# +proc ai_update_genclk_div_mult {clock_data_dict pll_parameters_dict} { +# +# Description: Updates the dict with div/mult values collected from +# the PLL's atom parameters. +# +# ---------------------------------------------------------------- + set compensated_counter_div 0 + set clock_to_compensate [dict get $pll_parameters_dict clock_to_compensate] + # Loop over dict to find the compensated counter's div value first. + dict for {clock_key info} $clock_data_dict { + dict with info { + if {[info exists counter_index]} { + if {$counter_index == $clock_to_compensate} { + set compensated_counter_div [dict get $pll_parameters_dict c${counter_index}_total] + } + } + } + unset -nocomplain counter_index + } + dict for {clock_key info} $clock_data_dict { + dict with info { + ai_post_message debug "Getting div/mult factors for clock $clock_key" + + set ccnt -1 + if {[info exists counter_index]} { + set ccnt [dict get $pll_parameters_dict c${counter_index}_total] + set ccnt_dc [dict get $pll_parameters_dict duty_cycle${counter_index}] + } else { + set counter_index -1 + set ccnt_dc 50 + } + set mult_div [ai_get_mult_div_factors \ + $clock_key \ + $src \ + [dict get $pll_parameters_dict n_total] \ + [dict get $pll_parameters_dict m_total] \ + $ccnt \ + $counter_index \ + $compensated_counter_div \ + [dict get $pll_parameters_dict compensation_mode] \ + [dict get $pll_parameters_dict clock_to_compensate]] + + lassign $mult_div mult div + + ai_post_message debug "Setting mult_div factors for: $clock_key to $mult/$div" + + dict set clock_data_dict $clock_key multiply_by $mult + dict set clock_data_dict $clock_key divide_by $div + dict set clock_data_dict $clock_key duty_cycle $ccnt_dc + } + unset -nocomplain counter_index + } + return $clock_data_dict +} +# ---------------------------------------------------------------- +# +proc ai_set_genclk_pin_info {clock_data_dict} { +# +# Description: Updates the dict with pin info collected from making +# STA API calls. +# +# ---------------------------------------------------------------- + dict for {clock_key info} $clock_data_dict { + dict with info { + ai_post_message debug "Setting pin info for clock $clock_key" + if {$node_type == "register"} { + set pin_collection [ai_get_registers $pattern] + } elseif {$node_type == "pin"} { + set pin_collection [ai_get_pins $pattern] + } else { + ai_post_message "debug" "Incorrect type of node." + } + set num_pins [get_collection_size $pin_collection] + if {$num_pins == 1} { + # Always set valid to true if we found the pin node + ai_post_message debug "Setting clock as valid." + dict set clock_data_dict $clock_key is_valid true + + # This for loop should only loop once. + foreach_in_collection id $pin_collection { + set node_name [get_node_info -name $id] + dict set clock_data_dict $clock_key pin_id $id + dict set clock_data_dict $clock_key pin_node_name $node_name + } + # Check if clock_exists, if it does, then + # set key "exists" on the clock info dict. + dict set clock_data_dict $clock_key exists [ai_clock_exists $node_name] + + + } else { + dict set clock_data_dict $clock_key is_valid false + } + + } + } + return $clock_data_dict + + +} +# ---------------------------------------------------------------- +# +proc ai_set_baseclk_pin_info {clock_data_dict refclk_data_dict pll_name} { +# + # Description: Updates the dict with pin info collected from refclk data + # dict, which was obtained by traversing netlist. +# +# ---------------------------------------------------------------- + ai_post_message debug "In ai_set_baseclk_pin_info" + + dict for {clock_key info} $clock_data_dict { + dict with info { + ai_post_message debug "Setting pin info for clock $clock_key" + + set node_name "" + dict for {clock_id info} $refclk_data_dict { + dict with info { + # Figure out which refclk is the baseclk based on input muxes + set pll_atom [ai_get_pll_atom $pll_name] + set clkin_enum "ENUM_IOPLL_CLKIN_0_SRC" + if {!$is_main_refclk} { + set clkin_enum "ENUM_IOPLL_CLKIN_1_SRC" + } + set refclk_src [get_atom_node_info -key $clkin_enum -node $pll_atom] + + set refclk_port_name "$pattern" + if {[regexp {[0-9]+} $refclk_src refclk_index]} { + set refclk_port_name "$pattern\[$refclk_index\]" + } + if {[string equal -nocase $refclk_port_name $ref_pin_node_name]} { + dict set clock_data_dict $clock_key pin_id $ref_pin_id + dict set clock_data_dict $clock_key pin_node_name $ref_pin_node_name + dict set clock_data_dict $clock_key port_id $ref_port_id + dict set clock_data_dict $clock_key port_node_name $ref_port_node_name + dict set clock_data_dict $clock_key is_fpga_pin $ref_is_fpga_pin + set node_name $ref_port_node_name + break + } + } + } + # Check if clock_exists, if it does, then + # set key "exists" on the clock info dict. + dict set clock_data_dict $clock_key exists [ai_clock_exists $node_name] + + } + } + return $clock_data_dict + +} +proc ai_get_n_cnt_clock_node_name {gen_clock_data_dict} { + dict for {clock_key info} $gen_clock_data_dict { + dict with info { + ai_post_message debug "Clock: $clock_key, pin_node_name: $pin_node_name" + + if {$clock_key == "n_cnt_clock"} { + return $pin_node_name + } + } + } + return "" +} + +# ---------------------------------------------------------------- +# +proc ai_update_baseclk_data {base_clock_data_dict pll_parameters_dict} { +# + # Description: Updates the refclk information based on atom settings +# +# ---------------------------------------------------------------- + ai_post_message debug "In ai_update_baseclk_data_dict" + + dict for {base_clock_key info} $base_clock_data_dict { + dict with info { + if {$is_main_refclk} { + set ref_period [dict get $pll_parameters_dict refclk_period] + set ref_period [expr round($ref_period * 1000.0)/1000.0] + set ref_period [format %.3f $ref_period] + dict set base_clock_data_dict $base_clock_key period $ref_period + + set half_period [expr $ref_period /2] + set half_period [expr round($half_period * 1000.0)/1000.0] + set half_period [format %.3f $half_period] + dict set base_clock_data_dict $base_clock_key half_period $half_period + } + } + } + + return $base_clock_data_dict +} + +# ---------------------------------------------------------------- +# +proc ai_update_genclk_sources {base_clock_data_dict gen_clock_data_dict pll_parameters_dict} { +# +# Description: Updates the genclk data dict with src nodes from the appropriate +# refclks +# +# ---------------------------------------------------------------- + ai_post_message debug "In ai_update_genclk_sources" + + # Check if vcoph pin exists, if it does then set the clock source + # as vcoph otherwise set it to either refclk or n_cnt_clock + set vcoph_exists false + if {[dict exists $gen_clock_data_dict vcoph]} { + set vcoph_pin_name [ai_get_pin_node_name [dict get $gen_clock_data_dict vcoph pattern]] + if {$vcoph_pin_name != ""} { + ai_post_message debug "vcoph pin name: $vcoph_pin_name " + set vcoph_exists true + } + } + + dict for {clock_key info} $gen_clock_data_dict { + dict with info { + ai_post_message debug "Setting src pin info for clock $clock_key" + + set node_name "" + set main_refclk_key "" + dict for {base_clock_key base_clock_data_dict_info} $base_clock_data_dict { + dict with base_clock_data_dict_info { + if {$is_main_refclk} { + set main_refclk_key $base_clock_key + if {$is_fpga_pin} { + set node_name $port_node_name + } else { + set node_name $pin_node_name + } + break + } + } + } + if {$clock_key != "n_cnt_clock" && ![dict get $pll_parameters_dict n_bypass]} { + set src "n_cnt_clock" + } + + if {$src == "refclk" || $src == "cascade_in" || $src == "pll_cascade_in" || $src == "core_refclk"} { + set src_ $node_name + } elseif {$src == "n_cnt_clock"} { + if {[is_post_syn_sta]} { + set gen_clock_data_dict_for_post_syn $gen_clock_data_dict + dict for {clk_key gen_clock_data_dict_for_post_syn_info} $gen_clock_data_dict_for_post_syn { + if {$clk_key == "n_cnt_clock"} { + dict set gen_clock_data_dict $clock_key master [dict get $gen_clock_data_dict_for_post_syn_info name] + } + } + } else { + set src_ [ai_get_n_cnt_clock_node_name $gen_clock_data_dict] + } + } else { + set src_ "" + ai_post_message "warning" "Undefined clock source: $src" + dict set gen_clock_data_dict $clock_key is_valid false + } + + if {$clock_key != "n_cnt_clock" && $clock_key != "vcoph" && $vcoph_exists} { + set src_ $vcoph_pin_name + } + dict set gen_clock_data_dict $clock_key src $src_ + } + } + return $gen_clock_data_dict +} +proc ai_invalidate_clocks {clock_data_dict} { + # Set the is_valid flag on each clock to false + dict for {clock_key info} $clock_data_dict { + dict with info { + dict set clock_data_dict $clock_key is_valid false + } + } + return $clock_data_dict +} +proc ai_get_first_outclk_node {clock_data_dict} { + set outclk_pin_id "None" + dict for {clock_key info} $clock_data_dict { + dict with info { + if {$node_type == "pin" && $is_valid} { + set outclk_pin_id $pin_id + break + } + } + } + if {$outclk_pin_id == "None"} { + ai_post_message "warning" "Could not find any valid outclks" + } + return $outclk_pin_id +} +# ---------------------------------------------------------------- +# +proc ai_get_pll_pins { instname } { +# +# Description: Stores the pins of interest for the instance of the IP +# +# ---------------------------------------------------------------- + + set base_clock_data_dict $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_base_clock_data + set gen_clock_data_dict $::GLOBAL_top_io_pll_altera_iopll_1931_oypl3jq_gen_clock_data + # First regsub the instance name for the pin names and patterns. + set base_clock_data_dict [ai_subst_instname $base_clock_data_dict $instname] + set gen_clock_data_dict [ai_subst_instname $gen_clock_data_dict $instname] + + + set pll_parameters_dict [ai_get_pll_atom_parameters $instname] + set gen_clock_data_dict [ai_set_genclk_pin_info $gen_clock_data_dict] + + ai_post_message debug "gen_clock_data_dict initial: " + print_clock_data $gen_clock_data_dict + + # Traverse the first generated clock back to find FPGA pins for refclks. + set outclk_node_id [ai_get_first_outclk_node $gen_clock_data_dict] + if {$outclk_node_id != "None"} { + set refclk_data_dict [ai_get_input_clk_info $outclk_node_id] + ai_post_message debug "refclk_data_dict: " + print_clock_data $refclk_data_dict + + set base_clock_data_dict [ai_set_baseclk_pin_info $base_clock_data_dict $refclk_data_dict $instname] + set gen_clock_data_dict [ai_update_genclk_sources $base_clock_data_dict $gen_clock_data_dict $pll_parameters_dict] + set gen_clock_data_dict [ai_update_genclk_div_mult $gen_clock_data_dict $pll_parameters_dict] + set base_clock_data_dict [ai_update_baseclk_data $base_clock_data_dict $pll_parameters_dict] + ai_post_message debug "base_clock_data_dict: " + print_clock_data $base_clock_data_dict + ai_post_message debug "gen_clock_data_dict final: " + print_clock_data $gen_clock_data_dict + } else { + # Make sure that we don't create any clock constraints + # if no output clock was found + set gen_clock_data_dict [ai_invalidate_clocks $gen_clock_data_dict] + } + + return [list $base_clock_data_dict $gen_clock_data_dict] + +} + +# ---------------------------------------------------------------- +# +proc ai_get_input_clk_info { outclk_pin_id } { +# +# Description: Searches back from the output of the PLL to find the reference clock pin. +# If the reference clock is fed by an input buffer, it finds that pin, otherwise +# in cascading modes it will return the immediate reference clock input of the PLL. +# +# ---------------------------------------------------------------- + if {[ai_is_node_type_pll_clk $outclk_pin_id]} { + #stores the refclk pin ids that were found by tracing the + #output clocks back up + array set refclk_array [list] + ai_traverse_fanin_up_to_depth $outclk_pin_id ai_is_node_type_pll_inclk clock refclk_array 20 + array set refclk_info_array [list] + foreach {net_id id} [array get refclk_array] { + set net_name [get_node_info -name $net_id] + set refclk_info_array($net_id) $net_name + + } + # Dict to hold the refclk info found by traversing the netlist back. + # refclk_data = { + # clock_id = { + # ref_pin_id: str, + # ref_pin_node_name: str, + # ref_port_id: str, + # ref_port_node_name: str, + # ref_is_fpga_pin: true/false, + # } + # } + set refclk_data [dict create] + + set clock_id 0 + + #only works if there is either 1 or 2 refclks + if {[array size refclk_array] == 1 || [array size refclk_array] == 2} { + #iterate over each refclk pin and trace back to find its input port + foreach refclk_pin_id [array names refclk_info_array] { + array set user_refclk_array [list] + array unset refclk_array + array unset user_refclk_array [list] + + ai_traverse_fanin_up_to_depth $refclk_pin_id ai_is_node_type_user_clock clock user_refclk_array 5 + ai_traverse_fanin_up_to_depth $refclk_pin_id ai_is_node_type_pin clock refclk_array 5 + + # If fed by any user specified clock (which could be specified at the pin level or at the + # buffer level), then use that pin as the source. + # Otherwise, trace back to the dedicated input pin (depth 5 so that we don't include global clocks) + if {[array size user_refclk_array] == 1 || [array size refclk_array] < 1} { + # Fed by a user specified clock, a global clock etc. + dict set refclk_data $clock_id ref_pin_id $refclk_pin_id + dict set refclk_data $clock_id ref_pin_node_name $refclk_info_array($refclk_pin_id) + dict set refclk_data $clock_id ref_port_id "" + dict set refclk_data $clock_id ref_port_node_name "" + dict set refclk_data $clock_id ref_is_fpga_pin false + } else { + # Fed by a dedicated input pin + set port_id_ [lindex [array names refclk_array] 0] + + dict set refclk_data $clock_id ref_pin_id $refclk_pin_id + dict set refclk_data $clock_id ref_pin_node_name $refclk_info_array($refclk_pin_id) + dict set refclk_data $clock_id ref_port_id $port_id_ + dict set refclk_data $clock_id ref_port_node_name [get_node_info -name $port_id_] + dict set refclk_data $clock_id ref_is_fpga_pin true + } + + incr clock_id + } + } else { + ai_post_message critical_warning "Could not find PLL ref clock that feeds [get_node_info -name $outclk_pin_id]" all + } + } else { + ai_post_message error "Internal error: ai_get_input_clk_info only works for PLL output clocks" all + } + return $refclk_data +} + +# ---------------------------------------------------------------- +# +proc ai_is_node_type_pin { node_id } { +# +# Description: Determines if a node is a top-level port of the FPGA +# +# ---------------------------------------------------------------- + + set node_type [get_node_info -type $node_id] + if {$node_type == "port"} { + set result 1 + } else { + set result 0 + } + return $result +} + +# ---------------------------------------------------------------- +# +proc ai_is_node_type_user_clock { node_id } { +# +# Description: Determines if a node is a user-defined clock +# +# ---------------------------------------------------------------- + set node_name [get_node_info -name $node_id] + + if {[ai_clock_exists $node_name]} { + return 1 + } else { + return 0 + } +} + +# ---------------------------------------------------------------- +# +proc ai_is_node_type_pll_clk { node_id } { +# +# Description: Determines if a node is an output of a PLL +# +# ---------------------------------------------------------------- + + set cell_id [get_node_info -cell $node_id] + + if {$cell_id == ""} { + set result 0 + } else { + set atom_type [get_cell_info -atom_type $cell_id] + if {$atom_type == "IOPLL"} { + set node_name [get_node_info -name $node_id] + ai_post_message debug "Node_name: $node_name" + if {[string match "*fourteennm_pll\|outclk\\\[*\\\]" $node_name]||[string match "*tennm_pll\|outclk\\\[*\\\]" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll~ncntr_reg" $node_name]||[string match "*tennm_pll~ncntr_reg" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll~c*cntr_reg" $node_name]||[string match "*tennm_pll~c*cntr_reg" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll~mcntr_reg" $node_name]||[string match "*tennm_pll~mcntr_reg" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll\|lvds_clk\\\[*\\\]" $node_name]||[string match "*tennm_pll\|lvds_clk\\\[*\\\]" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll\|loaden\\\[*\\\]" $node_name]||[string match "*tennm_pll\|loaden\\\[*\\\]" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll\|vcoph\\\[*\\\]" $node_name]||[string match "*tennm_pll\|vcoph\\\[*\\\]" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll\|pll_cascade_out" $node_name]||[string match "*tennm_pll\|pll_cascade_out" $node_name]} { + set result 1 + } elseif {[string match "*fourteennm_pll\|extclk_output\\\[*\\\]" $node_name]||[string match "*tennm_pll\|extclk_output\\\[*\\\]" $node_name]} { + set result 1 + } else { + set result 0 + } + } else { + set result 0 + } + } + return $result +} + +# ---------------------------------------------------------------- +# +proc ai_is_node_type_pll_inclk { node_id } { +# +# Description: Determines if a node is an input of a PLL +# +# ---------------------------------------------------------------- + + + set cell_id [get_node_info -cell $node_id] + + if {$cell_id == ""} { + set result 0 + } else { + set atom_type [get_cell_info -atom_type $cell_id] + if {$atom_type == "IOPLL"} { + set node_name [get_node_info -name $node_id] + set fanin_edges [get_node_info -clock_edges $node_id] + if {([string match "*|refclk\\\[*\\\]" $node_name]) && [llength $fanin_edges] > 0} { + set result 1 + } elseif {([string match "*|pll_cascade_in" $node_name]) && [llength $fanin_edges] > 0} { + set result 1 + } elseif {([string match "*|cascade_in" $node_name]) && [llength $fanin_edges] > 0} { + set result 1 + } elseif {([string match "*|core_refclk" $node_name]) && [llength $fanin_edges] > 0} { + set result 1 + } else { + set result 0 + } + } else { + set result 0 + } + } + return $result +} + +# ----------------------------------------------------------------- +# +proc ai_find_pll_inclk { match_command edge_type } { +# +# Desciption: Finds the pll inclk pin whose name matches the +# match_command. Returns the inclk pin name if such +# a pin is found, and returns "" if it is not found +# +# ----------------------------------------------------------------- + + set fanin_id "" + foreach_in_collection pin [get_pins $match_command] { + if {[llength [get_node_info -${edge_type}_edges $pin]] > 0} { + set fanin_id $pin + break + } + } + return $fanin_id +} + +# ---------------------------------------------------------------- +# +proc ai_traverse_fanin_up_to_depth { node_id match_command edge_type results_array_name depth} { +# +# Description: General traversal function up until a depth. Use a function pointer to decide +# ending conditions. +# +# ---------------------------------------------------------------- + + upvar 1 $results_array_name results + + if {$depth < 0} { + error "Internal error: Bad timing netlist search depth" + } + + ai_post_message debug "\[ai_traverse_fanin_up_to_depth\] called with node_id: $node_id cmd: \"$match_command\" type: $edge_type node: [get_node_info -name $node_id]" + if {[is_post_syn_sta] && $match_command == "ai_is_node_type_pll_inclk"} { + set atom_name [get_cell_info -name [get_node_info -cell $node_id]] + set fanin_id [ai_find_pll_inclk $atom_name|core*refclk* $edge_type] + if {$fanin_id == ""} { + set fanin_id [ai_find_pll_inclk $atom_name|pll*cascade*in* $edge_type] + } + if {$fanin_id == ""} { + set fanin_id [ai_find_pll_inclk $atom_name|ref*clk* $edge_type] + } + set results($fanin_id) 1 + ai_post_message debug "\[ai_traverse_fanin_up_to_depth\] post syn model returning fanin id: [get_node_info -name $fanin_id]" + return + } + + set fanin_edges [get_node_info -${edge_type}_edges $node_id] + set number_of_fanin_edges [llength $fanin_edges] + for {set i 0} {$i != $number_of_fanin_edges} {incr i} { + set fanin_edge [lindex $fanin_edges $i] + set fanin_id [get_edge_info -src $fanin_edge] + if {$match_command == "" || [eval $match_command $fanin_id] != 0} { + set results($fanin_id) 1 + } elseif {$depth == 0} { + } else { + ai_traverse_fanin_up_to_depth $fanin_id $match_command $edge_type results [expr {$depth - 1}] + } + } +} + +# ---------------------------------------------------------------- +# +proc ai_index_in_collection { col j } { +# +# Description: Returns a particular index in a collection. +# Analagous to lindex for lists. +# +# ---------------------------------------------------------------- + + set i 0 + foreach_in_collection path $col { + if {$i == $j} { + return $path + } + set i [expr $i + 1] + } + return "" +} + +# +# Description: Rounds a given floating point number +# to 3 decimal places +# +# ---------------------------------------------------------------- +proc ai_round_3dp { x } { + return [expr { round($x * 1000) / 1000.0 } ] +} + +# ---------------------------------------------------------------- +# Description: Checks whether a given clock already exists +# ---------------------------------------------------------------- +proc ai_clock_exists { clock_name } { + set clock_found false + set input_clocks_col [get_clocks -nowarn] + set num_input_clocks [get_collection_size $input_clocks_col] + + if {$num_input_clocks > 0} { + foreach_in_collection iclk $input_clocks_col { + if {![is_clock_defined $iclk]} { + continue + } + + set clk_targets_col [get_clock_info -target $iclk] + set num_clk_targets [get_collection_size $clk_targets_col] + if {$num_clk_targets > 0} { + foreach_in_collection itgt $clk_targets_col { + set node_name [get_node_info -name $itgt] + if {[string compare $node_name $clock_name] == 0} { + set clock_found true + break + } + } + } + if {$clock_found == true} { + break; + } + } + } + + return $clock_found +} + +proc ai_get_pll_atom {instname} { + foreach_in_collection node [get_atom_nodes -type IOPLL] { + set name [get_atom_node_info -key NAME -node $node] + set node_list($name) $node + + if {[string first $instname $name] > -1} { + return $node + } + } + set sdc_file_name [info script] + ai_post_message warning "Could not find IOPLL atom with the name <$instname> while processing <$sdc_file_name>. Please check the synthesis report to ensure that the IOPLL was not synthesized away." all +} +proc ai_get_mult_div_factors {clock_key src ncnt mcnt ccnt counter_index \ + compensated_counter_div compensation_mode \ + clock_to_compensate} { + if {$clock_key == "vcoph"} { + set clock_mult $mcnt + set clock_div 1 + } elseif {$clock_key == "n_cnt_clock"} { + set clock_mult 1 + set clock_div $ncnt + } elseif {$clock_key == "m_cnt_clock"} { + set clock_mult 1 + set clock_div [expr {$mcnt * $ncnt}] + } else { + + if {[string first "vcoph" $src] > -1} { + set clock_mult 1 + set clock_div $ccnt + } else { + # Handle NDFB mode. + # The equation for counter which is to be compensated: C_k = M / N + # The equation for all other counters: C_!k = (M * C_k) / (N * C_!k) + if {$compensation_mode == "NON_DEDICATED_SOURCE_SYNC" || $compensation_mode == "NON_DEDICATED_NORMAL"} { + if {$counter_index == $clock_to_compensate} { + set clock_mult $mcnt + # Instead of dividing by N, we just divide by 1 + # since a clock based on the N counter would be created + # if N > 1 and this clock would be derived based on that, + # so we already have a division happening. + set clock_div 1 + } else { + set clock_mult [expr $mcnt * $compensated_counter_div] + set clock_div $ccnt + } + } else { + ai_post_message debug "Normal C counter" + set clock_mult $mcnt + set clock_div $ccnt + } + } + } + return [list $clock_mult $clock_div] + +} +# ---------------------------------------------------------------- +# +proc ai_get_pll_atom_parameters {instname} { +# +# Description: Gets the PLL paramaters from the Quartus atom and not +# from the IP generated parameters. +# +# ---------------------------------------------------------------- + + set pll_atom [ai_get_pll_atom $instname] + + dict set pll_params compensation_mode [get_atom_node_info -key ENUM_IOPLL_FEEDBACK -node $pll_atom] + dict set pll_params clock_to_compensate [get_atom_node_info -key INT_IOPLL_CLOCK_TO_COMPENSATE -node $pll_atom] + + # Get refclk frequency (might have changed since IP generation) + set refclk_freq [get_atom_node_info -key TIME_IOPLL_REFCLK_TIME -node $pll_atom] + set refclk_int [string trim $refclk_freq "*MHZmhz"] + set refclk_period [expr 1000.0 / $refclk_int] + dict set pll_params refclk_period $refclk_period + + dict set pll_params m_hi_div [get_atom_node_info -key INT_IOPLL_M_COUNTER_HIGH -node $pll_atom] + dict set pll_params m_lo_div [get_atom_node_info -key INT_IOPLL_M_COUNTER_LOW -node $pll_atom] + dict set pll_params m_bypass [get_atom_node_info -key BOOL_IOPLL_M_COUNTER_BYPASS_EN -node $pll_atom] + if {[dict get $pll_params m_bypass]} { + set total 1 + } else { + set total [expr [dict get $pll_params m_hi_div] + [dict get $pll_params m_lo_div]] + } + dict set pll_params m_total $total + + dict set pll_params n_hi_div [get_atom_node_info -key INT_IOPLL_N_COUNTER_HIGH -node $pll_atom] + dict set pll_params n_lo_div [get_atom_node_info -key INT_IOPLL_N_COUNTER_LOW -node $pll_atom] + dict set pll_params n_bypass [get_atom_node_info -key BOOL_IOPLL_N_COUNTER_BYPASS_EN -node $pll_atom] + if {[dict get $pll_params n_bypass]} { + set total 1 + } else { + set total [expr [dict get $pll_params n_hi_div] + [dict get $pll_params n_lo_div]] + } + dict set pll_params n_total $total + + for { set i 0 } { $i < 9} { incr i } { + # Get the C counter parameter settings from the atom netlist + dict set pll_params c${i}_hi_div [get_atom_node_info -key INT_IOPLL_C${i}_HIGH -node $pll_atom] + dict set pll_params c${i}_lo_div [get_atom_node_info -key INT_IOPLL_C${i}_LOW -node $pll_atom] + dict set pll_params c${i}_bypass [get_atom_node_info -key BOOL_IOPLL_C${i}_BYPASS_EN -node $pll_atom] + dict set pll_params c${i}_odd_div_duty_en [get_atom_node_info -key BOOL_IOPLL_C${i}_EVEN_DUTY_EN -node $pll_atom] + + # Calculate the total counter value + if {[dict get $pll_params c${i}_bypass]} { + set total 1 + } else { + set total [expr [dict get $pll_params c${i}_hi_div] + [dict get $pll_params c${i}_lo_div]] + } + dict set pll_params c${i}_total $total + + # Calculate the duty cycle + if {[dict get $pll_params c${i}_bypass]} { + set total_duty 50 + } else { + if {[dict get $pll_params c${i}_odd_div_duty_en]} { + set duty_tweak 1 + } else { + set duty_tweak 0 + } + set total_duty [expr (([dict get $pll_params c${i}_hi_div] - (0.5*$duty_tweak))*100)/$total] + set total_duty [format %.3f $total_duty] + } + dict set pll_params duty_cycle${i} $total_duty + } + + return $pll_params +} + +#__ACDS_USER_COMMENT__Set max delay if in fit flow, otherwise set false path through "through_pin" +# originally in the LVDS SDC. This is called if we are exporting loaden to LVDS +proc set_max_delay_in_fit_or_false_path_in_sta_through_no_warn {through_pin delay} { + + set through_pin_collection [get_pins -compatibility_mode -nowarn $through_pin] + if {[get_collection_size $through_pin_collection] <= 0} { return } + + # if fit_flow == 1 + if {$::TimeQuestInfo(nameofexecutable) == "quartus_fit" } { + set_max_delay -through $through_pin_collection $delay + } else { + set_false_path -through $through_pin_collection + } +} + +# ---------------------------------------------------------------- +# +proc is_m_n_cntr {pattern} { +# +# Description: Determines if a pattern matches m/n_cntr +# +# ---------------------------------------------------------------- + + if {[string match "*fourteennm_pll~ncntr_reg" $pattern]||[string match "*tennm_pll~ncntr_reg" $pattern]|| + [string match "*fourteennm_pll~mcntr_reg" $pattern]||[string match "*tennm_pll~mcntr_reg" $pattern]|| + [string match "*tennm_ph2_iopll~ncntr_reg" $pattern]||[string match "*tennm_ph2_iopll~mcntr_reg" $pattern]} { + return 1 + } else { + return 0 + } +} + +# ---------------------------------------------------------------- +# +proc create_non_virtual_generated_clock_with_master_or_source \ +{master source name multiply_by divide_by phase duty_cycle pin_node_name} { +# +# Description: Creates a non-virtual generated clock using +# the -source or the -master argument +# +# ---------------------------------------------------------------- + if {$master != ""} { + create_generated_clock -add \ + -master $master \ + -name $name \ + -multiply_by $multiply_by \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cycle \ + $pin_node_name + } else { + create_generated_clock -add \ + -source $source \ + -name $name \ + -multiply_by $multiply_by \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cycle \ + $pin_node_name + } +} + +# ---------------------------------------------------------------- +# +proc create_virtual_generated_clock_with_master_or_source \ +{master source name multiply_by divide_by phase duty_cycle} { +# +# Description: Creates a virtual generated clock using +# the -source or the -master argument +# +# ---------------------------------------------------------------- + if {$master != ""} { + create_generated_clock -add \ + -master $master \ + -name $name \ + -multiply_by $multiply_by \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cycle + } else { + create_generated_clock -add \ + -source $source \ + -name $name \ + -multiply_by $multiply_by \ + -divide_by $divide_by \ + -phase $phase \ + -duty_cycle $duty_cycle + } +} diff --git a/corev_apu/altera/ip/io_pll/greybox/io_pll.v b/corev_apu/altera/ip/io_pll/greybox/io_pll.v new file mode 100644 index 0000000000..518a727f90 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/greybox/io_pll.v @@ -0,0 +1,323 @@ +// Copyright (C) 2024 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions +// and other software and tools, and any partner logic +// functions, and any output files from any of the foregoing +// (including device programming or simulation files), and any +// associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License +// Subscription Agreement, the Intel Quartus Prime License Agreement, +// the Intel FPGA IP License Agreement, or other applicable license +// agreement, including, without limitation, that your use is for +// the sole purpose of programming logic devices manufactured by +// Intel and sold by Intel or its authorized distributors. Please +// refer to the Intel FPGA Software License Subscription Agreements +// on the Quartus Prime software download page. + +// VENDOR "Altera" +// PROGRAM "Quartus Prime" +// VERSION "Version 24.1.0 Build 115 03/21/2024 SC Pro Edition" + +// DATE "10/15/2024 10:52:25" + +// +// Device: Altera AGFB014R24B2E2V Package FBGA2486 +// + +// +// This greybox netlist file is for third party Synthesis Tools +// for timing and resource estimation only. +// + + +module io_pll ( + locked, + outclk_0, + outclk_1, + outclk_2, + outclk_3, + outclk_4, + refclk, + rst)/* synthesis synthesis_greybox=0 */; +output locked; +output outclk_0; +output outclk_1; +output outclk_2; +output outclk_3; +output outclk_4; +input refclk; +input rst; + +wire gnd; +wire vcc; +wire unknown; + +assign gnd = 1'b0; +assign vcc = 1'b1; +// unknown value (1'bx) is not needed for this tool. Default to 1'b0 +assign unknown = 1'b0; + +wire \iopll_0.tennm_pll_O_BLOCK_SELECT ; +wire \iopll_0.locked ; +wire \iopll_0.outclk_0 ; +wire \iopll_0.outclk_1 ; +wire \iopll_0.outclk_2 ; +wire \iopll_0.outclk_3 ; +wire \iopll_0.outclk_4 ; + +wire [8:0] \iopll_0.tennm_pll_OUTCLK_bus ; + +assign \iopll_0.outclk_0 = \iopll_0.tennm_pll_OUTCLK_bus [1]; +assign \iopll_0.outclk_1 = \iopll_0.tennm_pll_OUTCLK_bus [2]; +assign \iopll_0.outclk_2 = \iopll_0.tennm_pll_OUTCLK_bus [3]; +assign \iopll_0.outclk_3 = \iopll_0.tennm_pll_OUTCLK_bus [4]; +assign \iopll_0.outclk_4 = \iopll_0.tennm_pll_OUTCLK_bus [5]; + +tennm_iopll \iopll_0.tennm_pll ( + .core_refclk(refclk), + .csr_clk(vcc), + .csr_en(vcc), + .csr_in(vcc), + .dprio_clk(gnd), + .dprio_rst_n(~rst), + .dps_rst_n(~rst), + .extswitch(gnd), + .fbclk_in(gnd), + .fblvds_in(gnd), + .mdio_dis(gnd), + .pfden(vcc), + .phase_en(gnd), + .pipeline_global_en_n(gnd), + .pll_cascade_in(gnd), + .pll_select_top_avl(vcc), + .pma_csr_test_dis(vcc), + .read(gnd), + .rst_n(~rst), + .scan_mode_n(vcc), + .scan_shift_n(vcc), + .uc_cal_clk(gnd), + .uc_cal_read(gnd), + .uc_cal_write(gnd), + .up_dn(gnd), + .user_mode(vcc), + .write(gnd), + .zdb_in(gnd), + .clken({gnd,gnd}), + .cnt_sel({gnd,gnd,gnd,gnd}), + .dprio_address({gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd}), + .num_phase_shifts({gnd,gnd,gnd}), + .refclk({gnd,gnd,gnd,gnd}), + .uc_cal_addr({gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd}), + .uc_cal_writedata({gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd}), + .writedata({gnd,gnd,gnd,gnd,gnd,gnd,gnd,gnd}), + .block_select(\iopll_0.tennm_pll_O_BLOCK_SELECT ), + .cal_ok(), + .clk0_bad(), + .clk1_bad(), + .clksel(), + .core_avl_busy(), + .core_cal_done(), + .csr_out(), + .dll_output(), + .fbclk_out(), + .fblvds_out(), + .iopll_out_sig1(), + .iopll_out_sig2(), + .lf_reset(), + .lock(\iopll_0.locked ), + .phase_done(), + .pll_cascade_out(), + .pll_pd(), + .vcop_en(), + .extclk_dft(), + .extclk_output(), + .loaden(), + .lvds_clk(), + .outclk(\iopll_0.tennm_pll_OUTCLK_bus ), + .readdata(), + .uc_cal_readdata(), + .vcoph()); +defparam \iopll_0.tennm_pll .auto_clk_sw_en = "false"; +defparam \iopll_0.tennm_pll .bw_mode = "mid_bw"; +defparam \iopll_0.tennm_pll .c0_bypass_en = "true"; +defparam \iopll_0.tennm_pll .c0_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c0_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c0_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c0_high = 256; +defparam \iopll_0.tennm_pll .c0_low = 256; +defparam \iopll_0.tennm_pll .c0_out_en = "false"; +defparam \iopll_0.tennm_pll .c0_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c0_prst = 1; +defparam \iopll_0.tennm_pll .c1_bypass_en = "false"; +defparam \iopll_0.tennm_pll .c1_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c1_even_duty_en = "true"; +defparam \iopll_0.tennm_pll .c1_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c1_high = 3; +defparam \iopll_0.tennm_pll .c1_low = 2; +defparam \iopll_0.tennm_pll .c1_out_en = "true"; +defparam \iopll_0.tennm_pll .c1_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c1_prst = 1; +defparam \iopll_0.tennm_pll .c2_bypass_en = "false"; +defparam \iopll_0.tennm_pll .c2_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c2_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c2_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c2_high = 4; +defparam \iopll_0.tennm_pll .c2_low = 4; +defparam \iopll_0.tennm_pll .c2_out_en = "true"; +defparam \iopll_0.tennm_pll .c2_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c2_prst = 1; +defparam \iopll_0.tennm_pll .c3_bypass_en = "false"; +defparam \iopll_0.tennm_pll .c3_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c3_even_duty_en = "true"; +defparam \iopll_0.tennm_pll .c3_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c3_high = 3; +defparam \iopll_0.tennm_pll .c3_low = 2; +defparam \iopll_0.tennm_pll .c3_out_en = "true"; +defparam \iopll_0.tennm_pll .c3_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c3_prst = 1; +defparam \iopll_0.tennm_pll .c4_bypass_en = "false"; +defparam \iopll_0.tennm_pll .c4_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c4_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c4_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c4_high = 4; +defparam \iopll_0.tennm_pll .c4_low = 4; +defparam \iopll_0.tennm_pll .c4_out_en = "true"; +defparam \iopll_0.tennm_pll .c4_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c4_prst = 3; +defparam \iopll_0.tennm_pll .c5_bypass_en = "false"; +defparam \iopll_0.tennm_pll .c5_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c5_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c5_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c5_high = 5; +defparam \iopll_0.tennm_pll .c5_low = 5; +defparam \iopll_0.tennm_pll .c5_out_en = "true"; +defparam \iopll_0.tennm_pll .c5_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c5_prst = 1; +defparam \iopll_0.tennm_pll .c6_bypass_en = "true"; +defparam \iopll_0.tennm_pll .c6_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c6_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c6_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c6_high = 256; +defparam \iopll_0.tennm_pll .c6_low = 256; +defparam \iopll_0.tennm_pll .c6_out_en = "false"; +defparam \iopll_0.tennm_pll .c6_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c6_prst = 1; +defparam \iopll_0.tennm_pll .c7_bypass_en = "true"; +defparam \iopll_0.tennm_pll .c7_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c7_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c7_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c7_high = 256; +defparam \iopll_0.tennm_pll .c7_low = 256; +defparam \iopll_0.tennm_pll .c7_out_en = "false"; +defparam \iopll_0.tennm_pll .c7_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c7_prst = 1; +defparam \iopll_0.tennm_pll .c8_bypass_en = "true"; +defparam \iopll_0.tennm_pll .c8_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c8_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .c8_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .c8_high = 256; +defparam \iopll_0.tennm_pll .c8_low = 256; +defparam \iopll_0.tennm_pll .c8_out_en = "false"; +defparam \iopll_0.tennm_pll .c8_ph_mux_prst = 0; +defparam \iopll_0.tennm_pll .c8_prst = 1; +defparam \iopll_0.tennm_pll .clkin_0_src = "coreclkin"; +defparam \iopll_0.tennm_pll .clkin_1_src = "ioclkin_0"; +defparam \iopll_0.tennm_pll .clock_name_1 = "outclk0"; +defparam \iopll_0.tennm_pll .clock_name_2 = "outclk1"; +defparam \iopll_0.tennm_pll .clock_name_3 = "outclk2"; +defparam \iopll_0.tennm_pll .clock_name_4 = "outclk3"; +defparam \iopll_0.tennm_pll .clock_name_5 = "outclk4"; +defparam \iopll_0.tennm_pll .clock_name_global_0 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_1 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_2 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_3 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_4 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_5 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_6 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_7 = "false"; +defparam \iopll_0.tennm_pll .clock_name_global_8 = "false"; +defparam \iopll_0.tennm_pll .clock_to_compensate = 1; +defparam \iopll_0.tennm_pll .cmp_buf_dly = "0 ps"; +defparam \iopll_0.tennm_pll .device_variant = "device1"; +defparam \iopll_0.tennm_pll .duty_cycle_0 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_1 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_2 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_3 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_4 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_5 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_6 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_7 = 50; +defparam \iopll_0.tennm_pll .duty_cycle_8 = 50; +defparam \iopll_0.tennm_pll .extclk_0_cnt_src = "pll_extclk_cnt_src_vss"; +defparam \iopll_0.tennm_pll .extclk_0_enable = "true"; +defparam \iopll_0.tennm_pll .extclk_1_cnt_src = "pll_extclk_cnt_src_vss"; +defparam \iopll_0.tennm_pll .extclk_1_enable = "true"; +defparam \iopll_0.tennm_pll .feedback = "direct"; +defparam \iopll_0.tennm_pll .iopll_type = "top_bottom"; +defparam \iopll_0.tennm_pll .loaden_0_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .loaden_0_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .loaden_1_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .loaden_1_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .lock_mode = "mid_lock_time"; +defparam \iopll_0.tennm_pll .lvdsclk_0_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .lvdsclk_0_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .lvdsclk_1_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .lvdsclk_1_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .m_counter_bypass_en = "false"; +defparam \iopll_0.tennm_pll .m_counter_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .m_counter_even_duty_en = "false"; +defparam \iopll_0.tennm_pll .m_counter_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .m_counter_high = 5; +defparam \iopll_0.tennm_pll .m_counter_low = 5; +defparam \iopll_0.tennm_pll .m_counter_scratch = 1; +defparam \iopll_0.tennm_pll .manu_clk_sw_en = "false"; +defparam \iopll_0.tennm_pll .merging_permitted = "false"; +defparam \iopll_0.tennm_pll .n_counter_bypass_en = "true"; +defparam \iopll_0.tennm_pll .n_counter_coarse_dly = "0 ps"; +defparam \iopll_0.tennm_pll .n_counter_fine_dly = "0 ps"; +defparam \iopll_0.tennm_pll .n_counter_high = 256; +defparam \iopll_0.tennm_pll .n_counter_low = 256; +defparam \iopll_0.tennm_pll .n_counter_odd_div_duty_en = "false"; +defparam \iopll_0.tennm_pll .outclk0 = "0 ps"; +defparam \iopll_0.tennm_pll .outclk1 = "200.0 mhz"; +defparam \iopll_0.tennm_pll .outclk2 = "125.0 mhz"; +defparam \iopll_0.tennm_pll .outclk3 = "200.0 mhz"; +defparam \iopll_0.tennm_pll .outclk4 = "125.0 mhz"; +defparam \iopll_0.tennm_pll .outclk5 = "100.0 mhz"; +defparam \iopll_0.tennm_pll .outclk6 = "0 ps"; +defparam \iopll_0.tennm_pll .outclk7 = "0 ps"; +defparam \iopll_0.tennm_pll .outclk8 = "0 ps"; +defparam \iopll_0.tennm_pll .pfd = "100.0 mhz"; +defparam \iopll_0.tennm_pll .phase_shift_0 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_1 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_2 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_3 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_4 = "2000 ps"; +defparam \iopll_0.tennm_pll .phase_shift_5 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_6 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_7 = "0 ps"; +defparam \iopll_0.tennm_pll .phase_shift_8 = "0 ps"; +defparam \iopll_0.tennm_pll .prot_mode = "basic"; +defparam \iopll_0.tennm_pll .ref_buf_dly = "0 ps"; +defparam \iopll_0.tennm_pll .refclk_src_mux = "clk_0"; +defparam \iopll_0.tennm_pll .refclk_time = "100.0 mhz"; +defparam \iopll_0.tennm_pll .self_reset_en = "false"; +defparam \iopll_0.tennm_pll .silicon_rev = "reva"; +defparam \iopll_0.tennm_pll .simple_pll = "false"; +defparam \iopll_0.tennm_pll .speed_grade = "dash1"; +defparam \iopll_0.tennm_pll .uc_channel_base_addr = 0; +defparam \iopll_0.tennm_pll .vco = "1000.0 mhz"; +defparam \iopll_0.tennm_pll .zdb_in_clk_src = "clk0"; + +assign locked = \iopll_0.locked ; + +assign outclk_0 = \iopll_0.outclk_0 ; + +assign outclk_1 = \iopll_0.outclk_1 ; + +assign outclk_2 = \iopll_0.outclk_2 ; + +assign outclk_3 = \iopll_0.outclk_3 ; + +assign outclk_4 = \iopll_0.outclk_4 ; + +endmodule diff --git a/corev_apu/altera/ip/io_pll/io_pll.bsf b/corev_apu/altera/ip/io_pll/io_pll.bsf new file mode 100644 index 0000000000..00d509e179 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.bsf @@ -0,0 +1,126 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2024 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the Intel FPGA Software License Subscription Agreements +on the Quartus Prime software download page. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 168 368) + (text "io_pll" (rect 69 0 87 12)(font "SansSerif" (font_size 11))) + (text "inst" (rect 8 352 20 364)(font "Arial" )) + (port + (pt 0 76) + (input) + (text "refclk" (rect 0 0 22 12)(font "SansSerif" (font_size 8))) + (text "refclk" (rect 4 65 40 76)(font "SansSerif" (font_size 8))) + (line (pt 0 76)(pt 51 76)(line_width 1)) + ) + (port + (pt 0 126) + (input) + (text "rst" (rect 0 0 10 12)(font "SansSerif" (font_size 8))) + (text "rst" (rect 4 115 22 126)(font "SansSerif" (font_size 8))) + (line (pt 0 126)(pt 51 126)(line_width 1)) + ) + (port + (pt 168 76) + (output) + (text "locked" (rect 0 0 24 12)(font "SansSerif" (font_size 8))) + (text "locked" (rect 137 65 173 76)(font "SansSerif" (font_size 8))) + (line (pt 168 76)(pt 119 76)(line_width 1)) + ) + (port + (pt 168 126) + (output) + (text "outclk_0" (rect 0 0 33 12)(font "SansSerif" (font_size 8))) + (text "outclk_0" (rect 127 115 175 126)(font "SansSerif" (font_size 8))) + (line (pt 168 126)(pt 119 126)(line_width 1)) + ) + (port + (pt 168 176) + (output) + (text "outclk_1" (rect 0 0 31 12)(font "SansSerif" (font_size 8))) + (text "outclk_1" (rect 129 165 177 176)(font "SansSerif" (font_size 8))) + (line (pt 168 176)(pt 119 176)(line_width 1)) + ) + (port + (pt 168 226) + (output) + (text "outclk_2" (rect 0 0 33 12)(font "SansSerif" (font_size 8))) + (text "outclk_2" (rect 127 215 175 226)(font "SansSerif" (font_size 8))) + (line (pt 168 226)(pt 119 226)(line_width 1)) + ) + (port + (pt 168 276) + (output) + (text "outclk_3" (rect 0 0 33 12)(font "SansSerif" (font_size 8))) + (text "outclk_3" (rect 127 265 175 276)(font "SansSerif" (font_size 8))) + (line (pt 168 276)(pt 119 276)(line_width 1)) + ) + (port + (pt 168 326) + (output) + (text "outclk_4" (rect 0 0 34 12)(font "SansSerif" (font_size 8))) + (text "outclk_4" (rect 127 315 175 326)(font "SansSerif" (font_size 8))) + (line (pt 168 326)(pt 119 326)(line_width 1)) + ) + (drawing + (text "refclk" (rect 19 46 74 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 56 71 130 152)(font "SansSerif" (color 0 0 0))) + (text "locked" (rect 120 46 276 105)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "export" (rect 89 71 214 152)(font "SansSerif" (color 0 0 0))) + (text "reset" (rect 22 96 74 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "reset" (rect 56 121 142 252)(font "SansSerif" (color 0 0 0))) + (text "outclk0" (rect 120 96 282 205)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 104 121 226 252)(font "SansSerif" (color 0 0 0))) + (text "outclk1" (rect 120 146 282 305)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 104 171 226 352)(font "SansSerif" (color 0 0 0))) + (text "outclk2" (rect 120 196 282 405)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 104 221 226 452)(font "SansSerif" (color 0 0 0))) + (text "outclk3" (rect 120 246 282 505)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 104 271 226 552)(font "SansSerif" (color 0 0 0))) + (text "outclk4" (rect 120 296 282 605)(font "SansSerif" (color 128 0 0)(font_size 9))) + (text "clk" (rect 104 321 226 652)(font "SansSerif" (color 0 0 0))) + (text " io_pll " (rect 145 351 338 712)(font "SansSerif" )) + (line (pt 51 34)(pt 119 34)(line_width 1)) + (line (pt 119 34)(pt 119 351)(line_width 1)) + (line (pt 51 351)(pt 119 351)(line_width 1)) + (line (pt 51 34)(pt 51 351)(line_width 1)) + (line (pt 52 55)(pt 52 80)(line_width 1)) + (line (pt 53 55)(pt 53 80)(line_width 1)) + (line (pt 118 55)(pt 118 80)(line_width 1)) + (line (pt 117 55)(pt 117 80)(line_width 1)) + (line (pt 52 105)(pt 52 130)(line_width 1)) + (line (pt 53 105)(pt 53 130)(line_width 1)) + (line (pt 118 105)(pt 118 130)(line_width 1)) + (line (pt 117 105)(pt 117 130)(line_width 1)) + (line (pt 118 155)(pt 118 180)(line_width 1)) + (line (pt 117 155)(pt 117 180)(line_width 1)) + (line (pt 118 205)(pt 118 230)(line_width 1)) + (line (pt 117 205)(pt 117 230)(line_width 1)) + (line (pt 118 255)(pt 118 280)(line_width 1)) + (line (pt 117 255)(pt 117 280)(line_width 1)) + (line (pt 118 305)(pt 118 330)(line_width 1)) + (line (pt 117 305)(pt 117 330)(line_width 1)) + (line (pt 0 0)(pt 168 0)(line_width 1)) + (line (pt 168 0)(pt 168 368)(line_width 1)) + (line (pt 0 368)(pt 168 368)(line_width 1)) + (line (pt 0 0)(pt 0 368)(line_width 1)) + ) +) diff --git a/corev_apu/altera/ip/io_pll/io_pll.cmp b/corev_apu/altera/ip/io_pll/io_pll.cmp new file mode 100644 index 0000000000..dd0657c37f --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.cmp @@ -0,0 +1,13 @@ + component io_pll is + port ( + refclk : in std_logic := 'X'; -- clk + locked : out std_logic; -- export + rst : in std_logic := 'X'; -- reset + outclk_0 : out std_logic; -- clk + outclk_1 : out std_logic; -- clk + outclk_2 : out std_logic; -- clk + outclk_3 : out std_logic; -- clk + outclk_4 : out std_logic -- clk + ); + end component io_pll; + diff --git a/corev_apu/altera/ip/io_pll/io_pll.csv b/corev_apu/altera/ip/io_pll/io_pll.csv new file mode 100644 index 0000000000..47e343fe9f --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.csv @@ -0,0 +1,18 @@ +# system info io_pll on 2024.10.15.08:52:05 +system_info: +name,value +DEVICE,AGFB014R24B2E2V +DEVICE_FAMILY,Agilex 7 +GENERATION_ID,0 +# +# +# Files generated for io_pll on 2024.10.15.08:52:05 +files: +filepath,kind,attributes,module,is_top +sim/io_pll.v,VERILOG,CONTAINS_INLINE_CONFIGURATION,io_pll,true +altera_iopll_1931/sim/io_pll_altera_iopll_1931_oypl3jq.vo,VERILOG,,io_pll_altera_iopll_1931_oypl3jq,false +# +# Map from instance-path to kind of module +instances: +instancePath,module +io_pll.iopll_0,io_pll_altera_iopll_1931_oypl3jq diff --git a/corev_apu/altera/ip/io_pll/io_pll.html b/corev_apu/altera/ip/io_pll/io_pll.html new file mode 100644 index 0000000000..c818f12aa6 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.html @@ -0,0 +1,1397 @@ + + + + + datasheet for io_pll + + + + + + + + +
io_pll +
+
+
+ + + + + +
2024.10.15.08:52:06Datasheet
+
+
Overview
+
+
+ + + + +
+
+
+
+
+
+
+
Memory Map
+ + + + +
+ +
+
+

iopll_0

altera_iopll v19.3.1 +
+
+
+ + + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gui_device_familyAgilex 7
gui_device_componentAGFB014R24B2E2V
gui_device_speed_grade2
gui_en_reconffalse
gui_en_dps_portsfalse
gui_location_typeI/O Bank
gui_reference_clock_frequency100.0
gui_use_coreclktrue
gui_use_lockedtrue
gui_en_adv_paramsfalse
gui_pll_bandwidth_presetMedium
gui_lock_settingLow Lock Time
gui_pll_auto_resetfalse
gui_en_lvds_portsDisabled
gui_operation_modedirect
gui_refclk_switchfalse
gui_refclk1_frequency100.0
gui_en_phout_portsfalse
gui_en_extclkout_portsfalse
gui_number_of_clocks5
gui_fix_vco_frequencyfalse
gui_enable_output_counter_cascadingfalse
gui_mif_gen_optionsGenerate New MIF File
gui_new_mif_file_path~/pll.mif
gui_mif_config_nameunnamed
gui_active_clkfalse
gui_clk_badfalse
gui_switchover_modeAutomatic Switchover
gui_switchover_delay0
gui_enable_cascade_outfalse
gui_cascade_outclk_index0
gui_enable_cascade_infalse
gui_enable_permit_calfalse
gui_extclkout_0_sourceC0
gui_extclkout_1_sourceC0
gui_clock_name_globalfalse
gui_clock_name_string0outclk0
gui_clock_name_string1outclk1
gui_clock_name_string2outclk2
gui_clock_name_string3outclk3
gui_clock_name_string4outclk4
gui_clock_name_string5outclk5
gui_clock_name_string6outclk6
gui_clock_name_string7outclk7
gui_clock_name_string8outclk8
gui_clock_name_string9outclk9
gui_clock_name_string10outclk10
gui_clock_name_string11outclk11
gui_clock_name_string12outclk12
gui_clock_name_string13outclk13
gui_clock_name_string14outclk14
gui_clock_name_string15outclk15
gui_clock_name_string16outclk16
gui_clock_name_string17outclk17
gui_divide_factor_c56
gui_divide_factor_c66
gui_divide_factor_c76
gui_divide_factor_c86
gui_divide_factor_c96
gui_divide_factor_c106
gui_divide_factor_c116
gui_divide_factor_c126
gui_divide_factor_c136
gui_divide_factor_c146
gui_divide_factor_c156
gui_divide_factor_c166
gui_divide_factor_c176
gui_cascade_counter5false
gui_cascade_counter6false
gui_cascade_counter7false
gui_cascade_counter8false
gui_cascade_counter9false
gui_cascade_counter10false
gui_cascade_counter11false
gui_cascade_counter12false
gui_cascade_counter13false
gui_cascade_counter14false
gui_cascade_counter15false
gui_cascade_counter16false
gui_cascade_counter17false
gui_output_clock_frequency0200.0
gui_output_clock_frequency1125.0
gui_output_clock_frequency2200.0
gui_output_clock_frequency3125.0
gui_output_clock_frequency4100.0
gui_output_clock_frequency5100.0
gui_output_clock_frequency6100.0
gui_output_clock_frequency7100.0
gui_output_clock_frequency8100.0
gui_output_clock_frequency9100.0
gui_output_clock_frequency10100.0
gui_output_clock_frequency11100.0
gui_output_clock_frequency12100.0
gui_output_clock_frequency13100.0
gui_output_clock_frequency14100.0
gui_output_clock_frequency15100.0
gui_output_clock_frequency16100.0
gui_output_clock_frequency17100.0
gui_output_clock_frequency_ps510000.0
gui_output_clock_frequency_ps610000.0
gui_output_clock_frequency_ps710000.0
gui_output_clock_frequency_ps810000.0
gui_output_clock_frequency_ps910000.0
gui_output_clock_frequency_ps1010000.0
gui_output_clock_frequency_ps1110000.0
gui_output_clock_frequency_ps1210000.0
gui_output_clock_frequency_ps1310000.0
gui_output_clock_frequency_ps1410000.0
gui_output_clock_frequency_ps1510000.0
gui_output_clock_frequency_ps1610000.0
gui_output_clock_frequency_ps1710000.0
gui_actual_output_clock_frequency0200.0
gui_actual_output_clock_frequency1125.0
gui_actual_output_clock_frequency2200.0
gui_actual_output_clock_frequency3125.0
gui_actual_output_clock_frequency4100.0
gui_actual_output_clock_frequency5100.0
gui_actual_output_clock_frequency6100.0
gui_actual_output_clock_frequency7100.0
gui_actual_output_clock_frequency8100.0
gui_actual_output_clock_frequency9100.0
gui_actual_output_clock_frequency10100.0
gui_actual_output_clock_frequency11100.0
gui_actual_output_clock_frequency12100.0
gui_actual_output_clock_frequency13100.0
gui_actual_output_clock_frequency14100.0
gui_actual_output_clock_frequency15100.0
gui_actual_output_clock_frequency16100.0
gui_actual_output_clock_frequency17100.0
gui_actual_output_clock_frequency_range0198.333333,198.412698,198.571429,200.0,201.428571,201.587302
gui_actual_output_clock_frequency_range1114.285714,116.666667,120.0,125.0,127.272727,133.333333
gui_actual_output_clock_frequency_range2125.0,142.857143,166.666667,200.0,250.0,333.333333
gui_actual_output_clock_frequency_range390.909091,100.0,111.111111,125.0,142.857143,166.666667
gui_actual_output_clock_frequency_range476.923077,83.333333,90.909091,100.0,111.111111,125.0
gui_actual_output_clock_frequency_range5100.0
gui_actual_output_clock_frequency_range6100.0
gui_actual_output_clock_frequency_range7100.0
gui_actual_output_clock_frequency_range8100.0
gui_actual_output_clock_frequency_range9100.0
gui_actual_output_clock_frequency_range10100.0
gui_actual_output_clock_frequency_range11100.0
gui_actual_output_clock_frequency_range12100.0
gui_actual_output_clock_frequency_range13100.0
gui_actual_output_clock_frequency_range14100.0
gui_actual_output_clock_frequency_range15100.0
gui_actual_output_clock_frequency_range16100.0
gui_actual_output_clock_frequency_range17100.0
gui_ps_units0ps
gui_ps_units1ps
gui_ps_units2ps
gui_ps_units3degrees
gui_ps_units4ps
gui_ps_units5ps
gui_ps_units6ps
gui_ps_units7ps
gui_ps_units8ps
gui_ps_units9ps
gui_ps_units10ps
gui_ps_units11ps
gui_ps_units12ps
gui_ps_units13ps
gui_ps_units14ps
gui_ps_units15ps
gui_ps_units16ps
gui_ps_units17ps
gui_phase_shift00.0
gui_phase_shift10.0
gui_phase_shift20.0
gui_phase_shift40.0
gui_phase_shift50.0
gui_phase_shift60.0
gui_phase_shift70.0
gui_phase_shift80.0
gui_phase_shift90.0
gui_phase_shift100.0
gui_phase_shift110.0
gui_phase_shift120.0
gui_phase_shift130.0
gui_phase_shift140.0
gui_phase_shift150.0
gui_phase_shift160.0
gui_phase_shift170.0
gui_phase_shift_deg390.0
gui_phase_shift_deg50.0
gui_phase_shift_deg60.0
gui_phase_shift_deg70.0
gui_phase_shift_deg80.0
gui_phase_shift_deg90.0
gui_phase_shift_deg100.0
gui_phase_shift_deg110.0
gui_phase_shift_deg120.0
gui_phase_shift_deg130.0
gui_phase_shift_deg140.0
gui_phase_shift_deg150.0
gui_phase_shift_deg160.0
gui_phase_shift_deg170.0
gui_actual_phase_shift00.0
gui_actual_phase_shift10.0
gui_actual_phase_shift20.0
gui_actual_phase_shift40.0
gui_actual_phase_shift50.0
gui_actual_phase_shift60.0
gui_actual_phase_shift70.0
gui_actual_phase_shift80.0
gui_actual_phase_shift90.0
gui_actual_phase_shift100.0
gui_actual_phase_shift110.0
gui_actual_phase_shift120.0
gui_actual_phase_shift130.0
gui_actual_phase_shift140.0
gui_actual_phase_shift150.0
gui_actual_phase_shift160.0
gui_actual_phase_shift170.0
gui_actual_phase_shift_range00.0,125.0,250.0,375.0,500.0,625.0
gui_actual_phase_shift_range10.0,125.0,250.0,375.0,500.0,625.0
gui_actual_phase_shift_range20.0,125.0,250.0,375.0,500.0,625.0
gui_actual_phase_shift_range40.0,125.0,250.0,375.0,500.0,625.0
gui_actual_phase_shift_range50.0
gui_actual_phase_shift_range60.0
gui_actual_phase_shift_range70.0
gui_actual_phase_shift_range80.0
gui_actual_phase_shift_range90.0
gui_actual_phase_shift_range100.0
gui_actual_phase_shift_range110.0
gui_actual_phase_shift_range120.0
gui_actual_phase_shift_range130.0
gui_actual_phase_shift_range140.0
gui_actual_phase_shift_range150.0
gui_actual_phase_shift_range160.0
gui_actual_phase_shift_range170.0
gui_actual_phase_shift_deg390.0
gui_actual_phase_shift_deg50.0
gui_actual_phase_shift_deg60.0
gui_actual_phase_shift_deg70.0
gui_actual_phase_shift_deg80.0
gui_actual_phase_shift_deg90.0
gui_actual_phase_shift_deg100.0
gui_actual_phase_shift_deg110.0
gui_actual_phase_shift_deg120.0
gui_actual_phase_shift_deg130.0
gui_actual_phase_shift_deg140.0
gui_actual_phase_shift_deg150.0
gui_actual_phase_shift_deg160.0
gui_actual_phase_shift_deg170.0
gui_actual_phase_shift_deg_range373.1,78.8,84.4,90.0,95.6,101.2
gui_actual_phase_shift_deg_range50.0
gui_actual_phase_shift_deg_range60.0
gui_actual_phase_shift_deg_range70.0
gui_actual_phase_shift_deg_range80.0
gui_actual_phase_shift_deg_range90.0
gui_actual_phase_shift_deg_range100.0
gui_actual_phase_shift_deg_range110.0
gui_actual_phase_shift_deg_range120.0
gui_actual_phase_shift_deg_range130.0
gui_actual_phase_shift_deg_range140.0
gui_actual_phase_shift_deg_range150.0
gui_actual_phase_shift_deg_range160.0
gui_actual_phase_shift_deg_range170.0
gui_duty_cycle050.0
gui_duty_cycle150.0
gui_duty_cycle250.0
gui_duty_cycle350.0
gui_duty_cycle450.0
gui_duty_cycle550.0
gui_duty_cycle650.0
gui_duty_cycle750.0
gui_duty_cycle850.0
gui_duty_cycle950.0
gui_duty_cycle1050.0
gui_duty_cycle1150.0
gui_duty_cycle1250.0
gui_duty_cycle1350.0
gui_duty_cycle1450.0
gui_duty_cycle1550.0
gui_duty_cycle1650.0
gui_duty_cycle1750.0
gui_actual_duty_cycle050.0
gui_actual_duty_cycle150.0
gui_actual_duty_cycle250.0
gui_actual_duty_cycle350.0
gui_actual_duty_cycle450.0
gui_actual_duty_cycle550.0
gui_actual_duty_cycle650.0
gui_actual_duty_cycle750.0
gui_actual_duty_cycle850.0
gui_actual_duty_cycle950.0
gui_actual_duty_cycle1050.0
gui_actual_duty_cycle1150.0
gui_actual_duty_cycle1250.0
gui_actual_duty_cycle1350.0
gui_actual_duty_cycle1450.0
gui_actual_duty_cycle1550.0
gui_actual_duty_cycle1650.0
gui_actual_duty_cycle1750.0
gui_actual_duty_cycle_range020.0,30.0,40.0,50.0,60.0,70.0
gui_actual_duty_cycle_range131.25,37.5,43.75,50.0,56.25,62.5
gui_actual_duty_cycle_range220.0,30.0,40.0,50.0,60.0,70.0
gui_actual_duty_cycle_range331.25,37.5,43.75,50.0,56.25,62.5
gui_actual_duty_cycle_range435.0,40.0,45.0,50.0,55.0,60.0
gui_actual_duty_cycle_range550.0
gui_actual_duty_cycle_range650.0
gui_actual_duty_cycle_range750.0
gui_actual_duty_cycle_range850.0
gui_actual_duty_cycle_range950.0
gui_actual_duty_cycle_range1050.0
gui_actual_duty_cycle_range1150.0
gui_actual_duty_cycle_range1250.0
gui_actual_duty_cycle_range1350.0
gui_actual_duty_cycle_range1450.0
gui_actual_duty_cycle_range1550.0
gui_actual_duty_cycle_range1650.0
gui_actual_duty_cycle_range1750.0
parameterTable_namesM-Counter Divide Setting,N-Counter Divide Setting,VCO Frequency,C-Counter-0 Divide Setting,C-Counter-1 Divide Setting,C-Counter-2 Divide Setting,C-Counter-3 Divide Setting,C-Counter-4 Divide Setting,C-Counter-5 Divide Setting,C-Counter-6 Divide Setting,C-Counter-7 Divide Setting,C-Counter-8 Divide Setting,PLL Auto Reset,M-Counter Hi Divide,M-Counter Lo Divide,M-Counter Even Duty Enable,M-Counter Bypass Enable,N-Counter Hi Divide,N-Counter Lo Divide,N-Counter Even Duty Enable,N-Counter Bypass Enable,C-Counter-0 Hi Divide,C-Counter-1 Hi Divide,C-Counter-2 Hi Divide,C-Counter-3 Hi Divide,C-Counter-4 Hi Divide,C-Counter-5 Hi Divide,C-Counter-6 Hi Divide,C-Counter-7 Hi Divide,C-Counter-8 Hi Divide,C-Counter-0 Lo Divide,C-Counter-1 Lo Divide,C-Counter-2 Lo Divide,C-Counter-3 Lo Divide,C-Counter-4 Lo Divide,C-Counter-5 Lo Divide,C-Counter-6 Lo Divide,C-Counter-7 Lo Divide,C-Counter-8 Lo Divide,C-Counter-0 Even Duty Enable,C-Counter-1 Even Duty Enable,C-Counter-2 Even Duty Enable,C-Counter-3 Even Duty Enable,C-Counter-4 Even Duty Enable,C-Counter-5 Even Duty Enable,C-Counter-6 Even Duty Enable,C-Counter-7 Even Duty Enable,C-Counter-8 Even Duty Enable,C-Counter-0 Bypass Enable,C-Counter-1 Bypass Enable,C-Counter-2 Bypass Enable,C-Counter-3 Bypass Enable,C-Counter-4 Bypass Enable,C-Counter-5 Bypass Enable,C-Counter-6 Bypass Enable,C-Counter-7 Bypass Enable,C-Counter-8 Bypass Enable,C-Counter-0 Preset,C-Counter-1 Preset,C-Counter-2 Preset,C-Counter-3 Preset,C-Counter-4 Preset,C-Counter-5 Preset,C-Counter-6 Preset,C-Counter-7 Preset,C-Counter-8 Preset,C-Counter-0 Phase Mux Preset,C-Counter-1 Phase Mux Preset,C-Counter-2 Phase Mux Preset,C-Counter-3 Phase Mux Preset,C-Counter-4 Phase Mux Preset,C-Counter-5 Phase Mux Preset,C-Counter-6 Phase Mux Preset,C-Counter-7 Phase Mux Preset,C-Counter-8 Phase Mux Preset,Charge Pump Current,Bandwidth Control
parameterTable_values10,1,1000.0 MHz,1,5,8,5,8,10,1,1,1,false,5,5,false,false,256,256,false,true,256,3,4,3,4,5,256,256,256,256,2,4,2,4,5,256,256,256,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true,1,1,1,1,3,1,1,1,1,0,0,0,0,0,0,0,0,0,pll_cp_setting5,pll_bw_res_setting3
mifTable_namesThe MIF file specified does not yet exist
mifTable_values
deviceFamilyUNKNOWN
generateLegacySimfalse
+
   + + + + +
+

Software Assignments

(none)
+
+ + + + + +
generation took 0.00 secondsrendering took 0.01 seconds
+ + diff --git a/corev_apu/altera/ip/io_pll/io_pll.ipxact b/corev_apu/altera/ip/io_pll/io_pll.ipxact new file mode 100644 index 0000000000..2de31fd02d --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.ipxact @@ -0,0 +1,664 @@ + + + Intel Corporation + io_pll + io_pll + 1.0 + + + refclk + + + + + + + + clk + + + refclk + + + + + + + + + clockRate + Clock rate + 100000000 + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + input + + + + + + + locked + + + + + + + + export + + + locked + + + + + + + + + associatedClock + associatedClock + + + + associatedReset + associatedReset + + + + prSafe + Partial Reconfiguration Safe + false + + + + + + + ui.blockdiagram.direction + output + + + + + + + reset + + + + + + + + reset + + + rst + + + + + + + + + associatedClock + Associated clock + + + + synchronousEdges + Synchronous edges + NONE + + + + + + + ui.blockdiagram.direction + input + + + + + + + outclk0 + + + + + + + + clk + + + outclk_0 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 200000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk1 + + + + + + + + clk + + + outclk_1 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 125000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk2 + + + + + + + + clk + + + outclk_2 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 200000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk3 + + + + + + + + clk + + + outclk_3 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 125000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + outclk4 + + + + + + + + clk + + + outclk_4 + + + + + + + + + associatedDirectClock + Associated direct clock + + + + clockRate + Clock rate + 100000000 + + + clockRateKnown + Clock rate known + true + + + externallyDriven + Externally driven + false + + + ptfSchematicName + PTF schematic name + + + + + + + + ui.blockdiagram.direction + output + + + + + + + + + + QUARTUS_SYNTH + :quartus.altera.com: + QUARTUS_SYNTH + + + + + QUARTUS_SYNTH + io_pll + + QUARTUS_SYNTH + + + + + + refclk + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + locked + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + rst + + in + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_0 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_1 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_2 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_3 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + outclk_4 + + out + + + STD_LOGIC + QUARTUS_SYNTH + + + + + + + + + QUARTUS_SYNTH + + altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v + verilogSource + false + + io_pll + + + + altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl + + false + + io_pll + + + + altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl + + false + + io_pll + + + + altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc + + false + + io_pll + + + + altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl + + false + + io_pll + + + + altera_iopll_1931/synth/agilex_iobank_pll.ipxact + unknown + false + + io_pll + + + + synth/io_pll.v + verilogSource + false + + io_pll + + + + + + + Intel Corporation + io_pll + io_pll + 1.0 + + + + + AUTO_GENERATION_ID + Auto GENERATION_ID + 0 + + + AUTO_UNIQUE_ID + Auto UNIQUE_ID + + + + AUTO_DEVICE_FAMILY + Auto DEVICE_FAMILY + Agilex 7 + + + AUTO_DEVICE + Auto DEVICE + AGFB014R24B2E2V + + + AUTO_DEVICE_SPEEDGRADE + Auto DEVICE_SPEEDGRADE + 2 + + + AUTO_BOARD + Auto BOARD + default + + + AUTO_REFCLK_CLOCK_RATE + Auto CLOCK_RATE + -1 + + + AUTO_REFCLK_CLOCK_DOMAIN + Auto CLOCK_DOMAIN + -1 + + + AUTO_REFCLK_RESET_DOMAIN + Auto RESET_DOMAIN + -1 + + + + + diff --git a/corev_apu/altera/ip/io_pll/io_pll.ppf b/corev_apu/altera/ip/io_pll/io_pll.ppf new file mode 100644 index 0000000000..9c16a3a4d6 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.ppf @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/corev_apu/altera/ip/io_pll/io_pll.qgsimc b/corev_apu/altera/ip/io_pll/io_pll.qgsimc new file mode 100644 index 0000000000..814ea488ce --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.qgsimc @@ -0,0 +1,3328 @@ + + + io_pll + + + + io_pll + 1.0 + io_pll + io_pll + 0 + + + + + iopll_0 + + + + bandwidth_mode + BANDWIDTH_MODE_AUTO + + + c_cnt_bypass_en0 + true + + + c_cnt_bypass_en1 + false + + + c_cnt_bypass_en10 + true + + + c_cnt_bypass_en11 + true + + + c_cnt_bypass_en12 + true + + + c_cnt_bypass_en13 + true + + + c_cnt_bypass_en14 + true + + + c_cnt_bypass_en15 + true + + + c_cnt_bypass_en16 + true + + + c_cnt_bypass_en17 + true + + + c_cnt_bypass_en2 + false + + + c_cnt_bypass_en3 + false + + + c_cnt_bypass_en4 + false + + + c_cnt_bypass_en5 + false + + + c_cnt_bypass_en6 + true + + + c_cnt_bypass_en7 + true + + + c_cnt_bypass_en8 + true + + + c_cnt_bypass_en9 + true + + + c_cnt_hi_div0 + 256 + + + c_cnt_hi_div1 + 3 + + + c_cnt_hi_div10 + 1 + + + c_cnt_hi_div11 + 1 + + + c_cnt_hi_div12 + 1 + + + c_cnt_hi_div13 + 1 + + + c_cnt_hi_div14 + 1 + + + c_cnt_hi_div15 + 1 + + + c_cnt_hi_div16 + 1 + + + c_cnt_hi_div17 + 1 + + + c_cnt_hi_div2 + 4 + + + c_cnt_hi_div3 + 3 + + + c_cnt_hi_div4 + 4 + + + c_cnt_hi_div5 + 5 + + + c_cnt_hi_div6 + 256 + + + c_cnt_hi_div7 + 256 + + + c_cnt_hi_div8 + 256 + + + c_cnt_hi_div9 + 256 + + + c_cnt_in_src0 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src1 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src10 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src11 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src12 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src13 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src14 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src15 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src16 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src17 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src2 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src3 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src4 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src5 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src6 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src7 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src8 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src9 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_lo_div0 + 256 + + + c_cnt_lo_div1 + 2 + + + c_cnt_lo_div10 + 1 + + + c_cnt_lo_div11 + 1 + + + c_cnt_lo_div12 + 1 + + + c_cnt_lo_div13 + 1 + + + c_cnt_lo_div14 + 1 + + + c_cnt_lo_div15 + 1 + + + c_cnt_lo_div16 + 1 + + + c_cnt_lo_div17 + 1 + + + c_cnt_lo_div2 + 4 + + + c_cnt_lo_div3 + 2 + + + c_cnt_lo_div4 + 4 + + + c_cnt_lo_div5 + 5 + + + c_cnt_lo_div6 + 256 + + + c_cnt_lo_div7 + 256 + + + c_cnt_lo_div8 + 256 + + + c_cnt_lo_div9 + 256 + + + c_cnt_odd_div_duty_en0 + false + + + c_cnt_odd_div_duty_en1 + true + + + c_cnt_odd_div_duty_en10 + false + + + c_cnt_odd_div_duty_en11 + false + + + c_cnt_odd_div_duty_en12 + false + + + c_cnt_odd_div_duty_en13 + false + + + c_cnt_odd_div_duty_en14 + false + + + c_cnt_odd_div_duty_en15 + false + + + c_cnt_odd_div_duty_en16 + false + + + c_cnt_odd_div_duty_en17 + false + + + c_cnt_odd_div_duty_en2 + false + + + c_cnt_odd_div_duty_en3 + true + + + c_cnt_odd_div_duty_en4 + false + + + c_cnt_odd_div_duty_en5 + false + + + c_cnt_odd_div_duty_en6 + false + + + c_cnt_odd_div_duty_en7 + false + + + c_cnt_odd_div_duty_en8 + false + + + c_cnt_odd_div_duty_en9 + false + + + c_cnt_ph_mux_prst0 + 0 + + + c_cnt_ph_mux_prst1 + 0 + + + c_cnt_ph_mux_prst10 + 0 + + + c_cnt_ph_mux_prst11 + 0 + + + c_cnt_ph_mux_prst12 + 0 + + + c_cnt_ph_mux_prst13 + 0 + + + c_cnt_ph_mux_prst14 + 0 + + + c_cnt_ph_mux_prst15 + 0 + + + c_cnt_ph_mux_prst16 + 0 + + + c_cnt_ph_mux_prst17 + 0 + + + c_cnt_ph_mux_prst2 + 0 + + + c_cnt_ph_mux_prst3 + 0 + + + c_cnt_ph_mux_prst4 + 0 + + + c_cnt_ph_mux_prst5 + 0 + + + c_cnt_ph_mux_prst6 + 0 + + + c_cnt_ph_mux_prst7 + 0 + + + c_cnt_ph_mux_prst8 + 0 + + + c_cnt_ph_mux_prst9 + 0 + + + c_cnt_prst0 + 1 + + + c_cnt_prst1 + 1 + + + c_cnt_prst10 + 1 + + + c_cnt_prst11 + 1 + + + c_cnt_prst12 + 1 + + + c_cnt_prst13 + 1 + + + c_cnt_prst14 + 1 + + + c_cnt_prst15 + 1 + + + c_cnt_prst16 + 1 + + + c_cnt_prst17 + 1 + + + c_cnt_prst2 + 1 + + + c_cnt_prst3 + 1 + + + c_cnt_prst4 + 3 + + + c_cnt_prst5 + 1 + + + c_cnt_prst6 + 1 + + + c_cnt_prst7 + 1 + + + c_cnt_prst8 + 1 + + + c_cnt_prst9 + 1 + + + cal_code_hex_file + iossm.hex + + + cal_converge + false + + + cal_error + cal_clean + + + cascade_mode + CASCADE_MODE_STANDALONE + + + clock_name_0 + + + + clock_name_1 + outclk0 + + + clock_name_2 + outclk1 + + + clock_name_3 + outclk2 + + + clock_name_4 + outclk3 + + + clock_name_5 + outclk4 + + + clock_name_6 + + + + clock_name_7 + + + + clock_name_8 + + + + clock_name_global + false + + + clock_name_global_0 + false + + + clock_name_global_1 + false + + + clock_name_global_2 + false + + + clock_name_global_3 + false + + + clock_name_global_4 + false + + + clock_name_global_5 + false + + + clock_name_global_6 + false + + + clock_name_global_7 + false + + + clock_name_global_8 + false + + + clock_to_compensate + 1 + + + compensation_clk_source + COMPENSATION_CLK_SOURCE_UNUSED + + + compensation_mode + COMPENSATION_MODE_DIRECT + + + divide_factor0 + 1 + + + divide_factor1 + 1 + + + divide_factor2 + 1 + + + divide_factor3 + 1 + + + divide_factor4 + 1 + + + divide_factor5 + 1 + + + divide_factor6 + 1 + + + divide_factor7 + 1 + + + divide_factor8 + 1 + + + dprio_interface_sel + 3 + + + duty_cycle0 + 50 + + + duty_cycle1 + 50 + + + duty_cycle10 + 50 + + + duty_cycle11 + 50 + + + duty_cycle12 + 50 + + + duty_cycle13 + 50 + + + duty_cycle14 + 50 + + + duty_cycle15 + 50 + + + duty_cycle16 + 50 + + + duty_cycle17 + 50 + + + duty_cycle2 + 50 + + + duty_cycle3 + 50 + + + duty_cycle4 + 50 + + + duty_cycle5 + 50 + + + duty_cycle6 + 50 + + + duty_cycle7 + 50 + + + duty_cycle8 + 50 + + + duty_cycle9 + 50 + + + eff_m_cnt + 1 + + + fb_clk_delay + 0 + + + fb_clk_fractional_div_den + 1 + + + fb_clk_fractional_div_num + 1 + + + fb_clk_fractional_div_value + 1 + + + fb_clk_m_div + 0 + + + fractional_vco_multiplier + false + + + gui_active_clk + false + + + gui_actual_duty_cycle0 + 50.0 + + + gui_actual_duty_cycle1 + 50.0 + + + gui_actual_duty_cycle10 + 50.0 + + + gui_actual_duty_cycle11 + 50.0 + + + gui_actual_duty_cycle12 + 50.0 + + + gui_actual_duty_cycle13 + 50.0 + + + gui_actual_duty_cycle14 + 50.0 + + + gui_actual_duty_cycle15 + 50.0 + + + gui_actual_duty_cycle16 + 50.0 + + + gui_actual_duty_cycle17 + 50.0 + + + gui_actual_duty_cycle2 + 50.0 + + + gui_actual_duty_cycle3 + 50.0 + + + gui_actual_duty_cycle4 + 50.0 + + + gui_actual_duty_cycle5 + 50.0 + + + gui_actual_duty_cycle6 + 50.0 + + + gui_actual_duty_cycle7 + 50.0 + + + gui_actual_duty_cycle8 + 50.0 + + + gui_actual_duty_cycle9 + 50.0 + + + gui_actual_duty_cycle_range0 + 20.0,30.0,40.0,50.0,60.0,70.0 + + + gui_actual_duty_cycle_range1 + 31.25,37.5,43.75,50.0,56.25,62.5 + + + gui_actual_duty_cycle_range10 + 50.0 + + + gui_actual_duty_cycle_range11 + 50.0 + + + gui_actual_duty_cycle_range12 + 50.0 + + + gui_actual_duty_cycle_range13 + 50.0 + + + gui_actual_duty_cycle_range14 + 50.0 + + + gui_actual_duty_cycle_range15 + 50.0 + + + gui_actual_duty_cycle_range16 + 50.0 + + + gui_actual_duty_cycle_range17 + 50.0 + + + gui_actual_duty_cycle_range2 + 20.0,30.0,40.0,50.0,60.0,70.0 + + + gui_actual_duty_cycle_range3 + 31.25,37.5,43.75,50.0,56.25,62.5 + + + gui_actual_duty_cycle_range4 + 35.0,40.0,45.0,50.0,55.0,60.0 + + + gui_actual_duty_cycle_range5 + 50.0 + + + gui_actual_duty_cycle_range6 + 50.0 + + + gui_actual_duty_cycle_range7 + 50.0 + + + gui_actual_duty_cycle_range8 + 50.0 + + + gui_actual_duty_cycle_range9 + 50.0 + + + gui_actual_output_clock_frequency0 + 200.0 + + + gui_actual_output_clock_frequency1 + 125.0 + + + gui_actual_output_clock_frequency10 + 100.0 + + + gui_actual_output_clock_frequency11 + 100.0 + + + gui_actual_output_clock_frequency12 + 100.0 + + + gui_actual_output_clock_frequency13 + 100.0 + + + gui_actual_output_clock_frequency14 + 100.0 + + + gui_actual_output_clock_frequency15 + 100.0 + + + gui_actual_output_clock_frequency16 + 100.0 + + + gui_actual_output_clock_frequency17 + 100.0 + + + gui_actual_output_clock_frequency2 + 200.0 + + + gui_actual_output_clock_frequency3 + 125.0 + + + gui_actual_output_clock_frequency4 + 100.0 + + + gui_actual_output_clock_frequency5 + 100.0 + + + gui_actual_output_clock_frequency6 + 100.0 + + + gui_actual_output_clock_frequency7 + 100.0 + + + gui_actual_output_clock_frequency8 + 100.0 + + + gui_actual_output_clock_frequency9 + 100.0 + + + gui_actual_output_clock_frequency_range0 + 198.333333,198.412698,198.571429,200.0,201.428571,201.587302 + + + gui_actual_output_clock_frequency_range1 + 114.285714,116.666667,120.0,125.0,127.272727,133.333333 + + + gui_actual_output_clock_frequency_range10 + 100.0 + + + gui_actual_output_clock_frequency_range11 + 100.0 + + + gui_actual_output_clock_frequency_range12 + 100.0 + + + gui_actual_output_clock_frequency_range13 + 100.0 + + + gui_actual_output_clock_frequency_range14 + 100.0 + + + gui_actual_output_clock_frequency_range15 + 100.0 + + + gui_actual_output_clock_frequency_range16 + 100.0 + + + gui_actual_output_clock_frequency_range17 + 100.0 + + + gui_actual_output_clock_frequency_range2 + 125.0,142.857143,166.666667,200.0,250.0,333.333333 + + + gui_actual_output_clock_frequency_range3 + 90.909091,100.0,111.111111,125.0,142.857143,166.666667 + + + gui_actual_output_clock_frequency_range4 + 76.923077,83.333333,90.909091,100.0,111.111111,125.0 + + + gui_actual_output_clock_frequency_range5 + 100.0 + + + gui_actual_output_clock_frequency_range6 + 100.0 + + + gui_actual_output_clock_frequency_range7 + 100.0 + + + gui_actual_output_clock_frequency_range8 + 100.0 + + + gui_actual_output_clock_frequency_range9 + 100.0 + + + gui_actual_phase_shift0 + 0.0 + + + gui_actual_phase_shift1 + 0.0 + + + gui_actual_phase_shift10 + 0.0 + + + gui_actual_phase_shift11 + 0.0 + + + gui_actual_phase_shift12 + 0.0 + + + gui_actual_phase_shift13 + 0.0 + + + gui_actual_phase_shift14 + 0.0 + + + gui_actual_phase_shift15 + 0.0 + + + gui_actual_phase_shift16 + 0.0 + + + gui_actual_phase_shift17 + 0.0 + + + gui_actual_phase_shift2 + 0.0 + + + gui_actual_phase_shift3 + 2000.0 + + + gui_actual_phase_shift4 + 0.0 + + + gui_actual_phase_shift5 + 0.0 + + + gui_actual_phase_shift6 + 0.0 + + + gui_actual_phase_shift7 + 0.0 + + + gui_actual_phase_shift8 + 0.0 + + + gui_actual_phase_shift9 + 0.0 + + + gui_actual_phase_shift_deg0 + 0.0 + + + gui_actual_phase_shift_deg1 + 0.0 + + + gui_actual_phase_shift_deg10 + 0.0 + + + gui_actual_phase_shift_deg11 + 0.0 + + + gui_actual_phase_shift_deg12 + 0.0 + + + gui_actual_phase_shift_deg13 + 0.0 + + + gui_actual_phase_shift_deg14 + 0.0 + + + gui_actual_phase_shift_deg15 + 0.0 + + + gui_actual_phase_shift_deg16 + 0.0 + + + gui_actual_phase_shift_deg17 + 0.0 + + + gui_actual_phase_shift_deg2 + 0.0 + + + gui_actual_phase_shift_deg3 + 90.0 + + + gui_actual_phase_shift_deg4 + 0.0 + + + gui_actual_phase_shift_deg5 + 0.0 + + + gui_actual_phase_shift_deg6 + 0.0 + + + gui_actual_phase_shift_deg7 + 0.0 + + + gui_actual_phase_shift_deg8 + 0.0 + + + gui_actual_phase_shift_deg9 + 0.0 + + + gui_actual_phase_shift_deg_range0 + 0.0,9.0,18.0,27.0,36.0,45.0 + + + gui_actual_phase_shift_deg_range1 + 0.0,5.6,11.2,16.9,22.5,28.1 + + + gui_actual_phase_shift_deg_range10 + 0.0 + + + gui_actual_phase_shift_deg_range11 + 0.0 + + + gui_actual_phase_shift_deg_range12 + 0.0 + + + gui_actual_phase_shift_deg_range13 + 0.0 + + + gui_actual_phase_shift_deg_range14 + 0.0 + + + gui_actual_phase_shift_deg_range15 + 0.0 + + + gui_actual_phase_shift_deg_range16 + 0.0 + + + gui_actual_phase_shift_deg_range17 + 0.0 + + + gui_actual_phase_shift_deg_range2 + 0.0,9.0,18.0,27.0,36.0,45.0 + + + gui_actual_phase_shift_deg_range3 + 73.1,78.8,84.4,90.0,95.6,101.2 + + + gui_actual_phase_shift_deg_range4 + 0.0,4.5,9.0,13.5,18.0,22.5 + + + gui_actual_phase_shift_deg_range5 + 0.0 + + + gui_actual_phase_shift_deg_range6 + 0.0 + + + gui_actual_phase_shift_deg_range7 + 0.0 + + + gui_actual_phase_shift_deg_range8 + 0.0 + + + gui_actual_phase_shift_deg_range9 + 0.0 + + + gui_actual_phase_shift_range0 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range1 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range10 + 0.0 + + + gui_actual_phase_shift_range11 + 0.0 + + + gui_actual_phase_shift_range12 + 0.0 + + + gui_actual_phase_shift_range13 + 0.0 + + + gui_actual_phase_shift_range14 + 0.0 + + + gui_actual_phase_shift_range15 + 0.0 + + + gui_actual_phase_shift_range16 + 0.0 + + + gui_actual_phase_shift_range17 + 0.0 + + + gui_actual_phase_shift_range2 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range3 + 1625.0,1750.0,1875.0,2000.0,2125.0,2250.0 + + + gui_actual_phase_shift_range4 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range5 + 0.0 + + + gui_actual_phase_shift_range6 + 0.0 + + + gui_actual_phase_shift_range7 + 0.0 + + + gui_actual_phase_shift_range8 + 0.0 + + + gui_actual_phase_shift_range9 + 0.0 + + + gui_c_cnt_in_src0 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src1 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src2 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src3 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src4 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src5 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src6 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src7 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src8 + c_m_cnt_in_src_ph_mux_clk + + + gui_cal_code_hex_file + iossm.hex + + + gui_cal_converge + false + + + gui_cal_error + cal_clean + + + gui_cascade_counter0 + false + + + gui_cascade_counter1 + false + + + gui_cascade_counter10 + false + + + gui_cascade_counter11 + false + + + gui_cascade_counter12 + false + + + gui_cascade_counter13 + false + + + gui_cascade_counter14 + false + + + gui_cascade_counter15 + false + + + gui_cascade_counter16 + false + + + gui_cascade_counter17 + false + + + gui_cascade_counter2 + false + + + gui_cascade_counter3 + false + + + gui_cascade_counter4 + false + + + gui_cascade_counter5 + false + + + gui_cascade_counter6 + false + + + gui_cascade_counter7 + false + + + gui_cascade_counter8 + false + + + gui_cascade_counter9 + false + + + gui_cascade_outclk_index + 0 + + + gui_clk_bad + false + + + gui_clock_name_global + false + + + gui_clock_name_string0 + outclk0 + + + gui_clock_name_string1 + outclk1 + + + gui_clock_name_string10 + outclk10 + + + gui_clock_name_string11 + outclk11 + + + gui_clock_name_string12 + outclk12 + + + gui_clock_name_string13 + outclk13 + + + gui_clock_name_string14 + outclk14 + + + gui_clock_name_string15 + outclk15 + + + gui_clock_name_string16 + outclk16 + + + gui_clock_name_string17 + outclk17 + + + gui_clock_name_string2 + outclk2 + + + gui_clock_name_string3 + outclk3 + + + gui_clock_name_string4 + outclk4 + + + gui_clock_name_string5 + outclk5 + + + gui_clock_name_string6 + outclk6 + + + gui_clock_name_string7 + outclk7 + + + gui_clock_name_string8 + outclk8 + + + gui_clock_name_string9 + outclk9 + + + gui_clock_to_compensate + 0 + + + gui_debug_mode + false + + + gui_device_component + AGFB014R24B2E2V + + + gui_device_family + Agilex 7 + + + gui_device_iobank_rev + IO96A_REVB2 + + + gui_device_speed_grade + 2 + + + gui_divide_factor_c0 + 1 + + + gui_divide_factor_c1 + 25 + + + gui_divide_factor_c10 + 6 + + + gui_divide_factor_c11 + 6 + + + gui_divide_factor_c12 + 6 + + + gui_divide_factor_c13 + 6 + + + gui_divide_factor_c14 + 6 + + + gui_divide_factor_c15 + 6 + + + gui_divide_factor_c16 + 6 + + + gui_divide_factor_c17 + 6 + + + gui_divide_factor_c2 + 25 + + + gui_divide_factor_c3 + 6 + + + gui_divide_factor_c4 + 6 + + + gui_divide_factor_c5 + 6 + + + gui_divide_factor_c6 + 6 + + + gui_divide_factor_c7 + 6 + + + gui_divide_factor_c8 + 6 + + + gui_divide_factor_c9 + 6 + + + gui_divide_factor_n + 6 + + + gui_dps_cntr + C0 + + + gui_dps_dir + Positive + + + gui_dps_num + 1 + + + gui_dsm_out_sel + 1st_order + + + gui_duty_cycle0 + 50.0 + + + gui_duty_cycle1 + 50.0 + + + gui_duty_cycle10 + 50.0 + + + gui_duty_cycle11 + 50.0 + + + gui_duty_cycle12 + 50.0 + + + gui_duty_cycle13 + 50.0 + + + gui_duty_cycle14 + 50.0 + + + gui_duty_cycle15 + 50.0 + + + gui_duty_cycle16 + 50.0 + + + gui_duty_cycle17 + 50.0 + + + gui_duty_cycle2 + 50.0 + + + gui_duty_cycle3 + 50.0 + + + gui_duty_cycle4 + 50.0 + + + gui_duty_cycle5 + 50.0 + + + gui_duty_cycle6 + 50.0 + + + gui_duty_cycle7 + 50.0 + + + gui_duty_cycle8 + 50.0 + + + gui_duty_cycle9 + 50.0 + + + gui_en_adv_params + false + + + gui_en_dps_ports + false + + + gui_en_extclkout_ports + false + + + gui_en_iossm_reconf + false + + + gui_en_lvds_ports + Disabled + + + gui_en_periphery_ports + false + + + gui_en_phout_ports + false + + + gui_en_reconf + false + + + gui_enable_cascade_in + false + + + gui_enable_cascade_out + false + + + gui_enable_mif_dps + false + + + gui_enable_output_counter_cascading + false + + + gui_enable_permit_cal + false + + + gui_enable_upstream_out_clk + false + + + gui_existing_mif_file_path + ~/pll.mif + + + gui_extclkout_0_source + C0 + + + gui_extclkout_1_source + C0 + + + gui_extclkout_source + C0 + + + gui_feedback_clock + Global Clock + + + gui_fix_vco_frequency + false + + + gui_fixed_vco_frequency + 600.0 + + + gui_fixed_vco_frequency_ps + 1667.0 + + + gui_frac_multiply_factor + 1 + + + gui_fractional_cout + 32 + + + gui_include_iossm + false + + + gui_location_type + I/O Bank + + + gui_lock_setting + Low Lock Time + + + gui_mif_config_name + unnamed + + + gui_mif_gen_options + Generate New MIF File + + + gui_multiply_factor + 25 + + + gui_new_mif_file_path + ~/pll.mif + + + gui_number_of_clocks + 5 + + + gui_operation_mode + direct + + + gui_output_clock_frequency0 + 200.0 + + + gui_output_clock_frequency1 + 125.0 + + + gui_output_clock_frequency10 + 100.0 + + + gui_output_clock_frequency11 + 100.0 + + + gui_output_clock_frequency12 + 100.0 + + + gui_output_clock_frequency13 + 100.0 + + + gui_output_clock_frequency14 + 100.0 + + + gui_output_clock_frequency15 + 100.0 + + + gui_output_clock_frequency16 + 100.0 + + + gui_output_clock_frequency17 + 100.0 + + + gui_output_clock_frequency2 + 200.0 + + + gui_output_clock_frequency3 + 125.0 + + + gui_output_clock_frequency4 + 100.0 + + + gui_output_clock_frequency5 + 100.0 + + + gui_output_clock_frequency6 + 100.0 + + + gui_output_clock_frequency7 + 100.0 + + + gui_output_clock_frequency8 + 100.0 + + + gui_output_clock_frequency9 + 100.0 + + + gui_output_clock_frequency_ps0 + 5000.0 + + + gui_output_clock_frequency_ps1 + 8000.0 + + + gui_output_clock_frequency_ps10 + 10000.0 + + + gui_output_clock_frequency_ps11 + 10000.0 + + + gui_output_clock_frequency_ps12 + 10000.0 + + + gui_output_clock_frequency_ps13 + 10000.0 + + + gui_output_clock_frequency_ps14 + 10000.0 + + + gui_output_clock_frequency_ps15 + 10000.0 + + + gui_output_clock_frequency_ps16 + 10000.0 + + + gui_output_clock_frequency_ps17 + 10000.0 + + + gui_output_clock_frequency_ps2 + 5000.0 + + + gui_output_clock_frequency_ps3 + 8000.0 + + + gui_output_clock_frequency_ps4 + 10000.0 + + + gui_output_clock_frequency_ps5 + 10000.0 + + + gui_output_clock_frequency_ps6 + 10000.0 + + + gui_output_clock_frequency_ps7 + 10000.0 + + + gui_output_clock_frequency_ps8 + 10000.0 + + + gui_output_clock_frequency_ps9 + 10000.0 + + + gui_parameter_table_hex_file + seq_params_sim.hex + + + gui_phase_shift0 + 0.0 + + + gui_phase_shift1 + 0.0 + + + gui_phase_shift10 + 0.0 + + + gui_phase_shift11 + 0.0 + + + gui_phase_shift12 + 0.0 + + + gui_phase_shift13 + 0.0 + + + gui_phase_shift14 + 0.0 + + + gui_phase_shift15 + 0.0 + + + gui_phase_shift16 + 0.0 + + + gui_phase_shift17 + 0.0 + + + gui_phase_shift2 + 0.0 + + + gui_phase_shift3 + 0.0 + + + gui_phase_shift4 + 0.0 + + + gui_phase_shift5 + 0.0 + + + gui_phase_shift6 + 0.0 + + + gui_phase_shift7 + 0.0 + + + gui_phase_shift8 + 0.0 + + + gui_phase_shift9 + 0.0 + + + gui_phase_shift_deg0 + 0.0 + + + gui_phase_shift_deg1 + 0.0 + + + gui_phase_shift_deg10 + 0.0 + + + gui_phase_shift_deg11 + 0.0 + + + gui_phase_shift_deg12 + 0.0 + + + gui_phase_shift_deg13 + 0.0 + + + gui_phase_shift_deg14 + 0.0 + + + gui_phase_shift_deg15 + 0.0 + + + gui_phase_shift_deg16 + 0.0 + + + gui_phase_shift_deg17 + 0.0 + + + gui_phase_shift_deg2 + 0.0 + + + gui_phase_shift_deg3 + 90.0 + + + gui_phase_shift_deg4 + 0.0 + + + gui_phase_shift_deg5 + 0.0 + + + gui_phase_shift_deg6 + 0.0 + + + gui_phase_shift_deg7 + 0.0 + + + gui_phase_shift_deg8 + 0.0 + + + gui_phase_shift_deg9 + 0.0 + + + gui_phout_division + 1 + + + gui_pll_auto_reset + false + + + gui_pll_bandwidth_preset + Medium + + + gui_pll_cal_done + false + + + gui_pll_cascading_mode + adjpllin + + + gui_pll_freqcal_en + true + + + gui_pll_freqcal_req_flag + true + + + gui_pll_m_cnt_in_src + c_m_cnt_in_src_ph_mux_clk + + + gui_pll_mode + Integer-N PLL + + + gui_pll_tclk_mux_en + false + + + gui_pll_tclk_sel + pll_tclk_m_src + + + gui_pll_type + S10_Simple + + + gui_pll_vco_freq_band_0 + pll_freq_clk0_band18 + + + gui_pll_vco_freq_band_1 + pll_freq_clk1_band18 + + + gui_prot_mode + UNUSED + + + gui_ps_units0 + ps + + + gui_ps_units1 + ps + + + gui_ps_units10 + ps + + + gui_ps_units11 + ps + + + gui_ps_units12 + ps + + + gui_ps_units13 + ps + + + gui_ps_units14 + ps + + + gui_ps_units15 + ps + + + gui_ps_units16 + ps + + + gui_ps_units17 + ps + + + gui_ps_units2 + ps + + + gui_ps_units3 + degrees + + + gui_ps_units4 + ps + + + gui_ps_units5 + ps + + + gui_ps_units6 + ps + + + gui_ps_units7 + ps + + + gui_ps_units8 + ps + + + gui_ps_units9 + ps + + + gui_refclk1_frequency + 100.0 + + + gui_refclk_might_change + false + + + gui_refclk_switch + false + + + gui_reference_clock_frequency + 100.0 + + + gui_reference_clock_frequency_ps + 10000.0 + + + gui_simulation_type + false + + + gui_skip_sdc_generation + false + + + gui_switchover_delay + 0 + + + gui_switchover_mode + Automatic Switchover + + + gui_use_NDFB_modes + false + + + gui_use_coreclk + true + + + gui_use_locked + true + + + gui_use_logical + false + + + gui_user_base_address + 0 + + + gui_usr_device_speed_grade + 1 + + + gui_vco_frequency + 1250.0 + + + hp_actual_duty_cycle_fp0 + 50.0 + + + hp_actual_duty_cycle_fp1 + 50.0 + + + hp_actual_duty_cycle_fp10 + 50.0 + + + hp_actual_duty_cycle_fp11 + 50.0 + + + hp_actual_duty_cycle_fp12 + 50.0 + + + hp_actual_duty_cycle_fp13 + 50.0 + + + hp_actual_duty_cycle_fp14 + 50.0 + + + hp_actual_duty_cycle_fp15 + 50.0 + + + hp_actual_duty_cycle_fp16 + 50.0 + + + hp_actual_duty_cycle_fp17 + 50.0 + + + hp_actual_duty_cycle_fp2 + 50.0 + + + hp_actual_duty_cycle_fp3 + 50.0 + + + hp_actual_duty_cycle_fp4 + 50.0 + + + hp_actual_duty_cycle_fp5 + 50.0 + + + hp_actual_duty_cycle_fp6 + 50.0 + + + hp_actual_duty_cycle_fp7 + 50.0 + + + hp_actual_duty_cycle_fp8 + 50.0 + + + hp_actual_duty_cycle_fp9 + 50.0 + + + hp_actual_output_clock_frequency_fp0 + 200.0 + + + hp_actual_output_clock_frequency_fp1 + 125.0 + + + hp_actual_output_clock_frequency_fp10 + 100.0 + + + hp_actual_output_clock_frequency_fp11 + 100.0 + + + hp_actual_output_clock_frequency_fp12 + 100.0 + + + hp_actual_output_clock_frequency_fp13 + 100.0 + + + hp_actual_output_clock_frequency_fp14 + 100.0 + + + hp_actual_output_clock_frequency_fp15 + 100.0 + + + hp_actual_output_clock_frequency_fp16 + 100.0 + + + hp_actual_output_clock_frequency_fp17 + 100.0 + + + hp_actual_output_clock_frequency_fp2 + 200.0 + + + hp_actual_output_clock_frequency_fp3 + 125.0 + + + hp_actual_output_clock_frequency_fp4 + 100.0 + + + hp_actual_output_clock_frequency_fp5 + 100.0 + + + hp_actual_output_clock_frequency_fp6 + 100.0 + + + hp_actual_output_clock_frequency_fp7 + 100.0 + + + hp_actual_output_clock_frequency_fp8 + 100.0 + + + hp_actual_output_clock_frequency_fp9 + 100.0 + + + hp_actual_phase_shift_fp0 + 0.0 + + + hp_actual_phase_shift_fp1 + 0.0 + + + hp_actual_phase_shift_fp10 + 0.0 + + + hp_actual_phase_shift_fp11 + 0.0 + + + hp_actual_phase_shift_fp12 + 0.0 + + + hp_actual_phase_shift_fp13 + 0.0 + + + hp_actual_phase_shift_fp14 + 0.0 + + + hp_actual_phase_shift_fp15 + 0.0 + + + hp_actual_phase_shift_fp16 + 0.0 + + + hp_actual_phase_shift_fp17 + 0.0 + + + hp_actual_phase_shift_fp2 + 0.0 + + + hp_actual_phase_shift_fp3 + 2000.0 + + + hp_actual_phase_shift_fp4 + 0.0 + + + hp_actual_phase_shift_fp5 + 0.0 + + + hp_actual_phase_shift_fp6 + 0.0 + + + hp_actual_phase_shift_fp7 + 0.0 + + + hp_actual_phase_shift_fp8 + 0.0 + + + hp_actual_phase_shift_fp9 + 0.0 + + + hp_actual_vco_frequency_fp + 600.0 + + + hp_number_of_family_allowable_clocks + 9 + + + hp_parameter_update_message + + + + hp_previous_num_clocks + 1 + + + hp_qsys_scripting_mode + false + + + include_iossm + false + + + iossm_nios_sim_clk_period_ps + 1333 + + + lock_mode + low_lock_time + + + m_cnt_bypass_en + false + + + m_cnt_hi_div + 5 + + + m_cnt_lo_div + 5 + + + m_cnt_odd_div_duty_en + false + + + merging_permitted + false + + + mifTable_names + The MIF file specified does not yet exist + + + mifTable_values + + + + mimic_fbclk_type + gclk + + + multiply_factor + 10 + + + n_cnt_bypass_en + true + + + n_cnt_hi_div + 256 + + + n_cnt_lo_div + 256 + + + n_cnt_odd_div_duty_en + false + + + number_of_clocks + 5 + + + number_of_outclks + 5 + + + operation_mode + direct + + + out_clk_0_c_div + 1 + + + out_clk_0_core_en + true + + + out_clk_0_delay + 0 + + + out_clk_0_dutycycle_den + 2 + + + out_clk_0_dutycycle_num + 1 + + + out_clk_0_freq + 1000000000 + + + out_clk_0_phase_ps + 1000000000 + + + out_clk_0_phase_shifts + 0 + + + out_clk_1_c_div + 1 + + + out_clk_1_core_en + true + + + out_clk_1_delay + 0 + + + out_clk_1_dutycycle_den + 2 + + + out_clk_1_dutycycle_num + 1 + + + out_clk_1_freq + 1000000000 + + + out_clk_1_phase_ps + 1000000000 + + + out_clk_1_phase_shifts + 0 + + + out_clk_2_c_div + 1 + + + out_clk_2_core_en + true + + + out_clk_2_delay + 0 + + + out_clk_2_dutycycle_den + 2 + + + out_clk_2_dutycycle_num + 1 + + + out_clk_2_freq + 1000000000 + + + out_clk_2_phase_ps + 1000000000 + + + out_clk_2_phase_shifts + 0 + + + out_clk_3_c_div + 1 + + + out_clk_3_core_en + true + + + out_clk_3_delay + 0 + + + out_clk_3_dutycycle_den + 2 + + + out_clk_3_dutycycle_num + 1 + + + out_clk_3_freq + 1000000000 + + + out_clk_3_phase_ps + 1000000000 + + + out_clk_3_phase_shifts + 0 + + + out_clk_4_c_div + 1 + + + out_clk_4_core_en + true + + + out_clk_4_delay + 0 + + + out_clk_4_dutycycle_den + 2 + + + out_clk_4_dutycycle_num + 1 + + + out_clk_4_freq + 1000000000 + + + out_clk_4_phase_ps + 1000000000 + + + out_clk_4_phase_shifts + 0 + + + out_clk_5_c_div + 1 + + + out_clk_5_core_en + true + + + out_clk_5_delay + 0 + + + out_clk_5_dutycycle_den + 2 + + + out_clk_5_dutycycle_num + 1 + + + out_clk_5_freq + 1000000000 + + + out_clk_5_phase_ps + 1000000000 + + + out_clk_5_phase_shifts + 0 + + + out_clk_6_c_div + 1 + + + out_clk_6_core_en + true + + + out_clk_6_delay + 0 + + + out_clk_6_dutycycle_den + 2 + + + out_clk_6_dutycycle_num + 1 + + + out_clk_6_freq + 1000000000 + + + out_clk_6_phase_ps + 1000000000 + + + out_clk_6_phase_shifts + 0 + + + out_clk_cascading_source + OUT_CLK_CASCADING_SOURCE_UNUSED + + + out_clk_external_0_source + OUT_CLK_EXTERNAL_0_SOURCE_UNUSED + + + out_clk_external_1_source + OUT_CLK_EXTERNAL_1_SOURCE_UNUSED + + + out_clk_periph_0_delay + 0 + + + out_clk_periph_0_en + true + + + out_clk_periph_1_delay + 0 + + + out_clk_periph_1_en + true + + + output_clock_frequency0 + 0 ps + + + output_clock_frequency1 + 200.0 MHz + + + output_clock_frequency10 + 0 MHz + + + output_clock_frequency11 + 0 MHz + + + output_clock_frequency12 + 0 MHz + + + output_clock_frequency13 + 0 MHz + + + output_clock_frequency14 + 0 MHz + + + output_clock_frequency15 + 0 MHz + + + output_clock_frequency16 + 0 MHz + + + output_clock_frequency17 + 0 MHz + + + output_clock_frequency2 + 125.0 MHz + + + output_clock_frequency3 + 200.0 MHz + + + output_clock_frequency4 + 125.0 MHz + + + output_clock_frequency5 + 100.0 MHz + + + output_clock_frequency6 + 0 ps + + + output_clock_frequency7 + 0 ps + + + output_clock_frequency8 + 0 ps + + + output_clock_frequency9 + 0 ps + + + parameterTable_names + M-Counter Divide Setting,N-Counter Divide Setting,VCO Frequency,C-Counter-0 Divide Setting,C-Counter-1 Divide Setting,C-Counter-2 Divide Setting,C-Counter-3 Divide Setting,C-Counter-4 Divide Setting,C-Counter-5 Divide Setting,C-Counter-6 Divide Setting,C-Counter-7 Divide Setting,C-Counter-8 Divide Setting,PLL Auto Reset,M-Counter Hi Divide,M-Counter Lo Divide,M-Counter Even Duty Enable,M-Counter Bypass Enable,N-Counter Hi Divide,N-Counter Lo Divide,N-Counter Even Duty Enable,N-Counter Bypass Enable,C-Counter-0 Hi Divide,C-Counter-1 Hi Divide,C-Counter-2 Hi Divide,C-Counter-3 Hi Divide,C-Counter-4 Hi Divide,C-Counter-5 Hi Divide,C-Counter-6 Hi Divide,C-Counter-7 Hi Divide,C-Counter-8 Hi Divide,C-Counter-0 Lo Divide,C-Counter-1 Lo Divide,C-Counter-2 Lo Divide,C-Counter-3 Lo Divide,C-Counter-4 Lo Divide,C-Counter-5 Lo Divide,C-Counter-6 Lo Divide,C-Counter-7 Lo Divide,C-Counter-8 Lo Divide,C-Counter-0 Even Duty Enable,C-Counter-1 Even Duty Enable,C-Counter-2 Even Duty Enable,C-Counter-3 Even Duty Enable,C-Counter-4 Even Duty Enable,C-Counter-5 Even Duty Enable,C-Counter-6 Even Duty Enable,C-Counter-7 Even Duty Enable,C-Counter-8 Even Duty Enable,C-Counter-0 Bypass Enable,C-Counter-1 Bypass Enable,C-Counter-2 Bypass Enable,C-Counter-3 Bypass Enable,C-Counter-4 Bypass Enable,C-Counter-5 Bypass Enable,C-Counter-6 Bypass Enable,C-Counter-7 Bypass Enable,C-Counter-8 Bypass Enable,C-Counter-0 Preset,C-Counter-1 Preset,C-Counter-2 Preset,C-Counter-3 Preset,C-Counter-4 Preset,C-Counter-5 Preset,C-Counter-6 Preset,C-Counter-7 Preset,C-Counter-8 Preset,C-Counter-0 Phase Mux Preset,C-Counter-1 Phase Mux Preset,C-Counter-2 Phase Mux Preset,C-Counter-3 Phase Mux Preset,C-Counter-4 Phase Mux Preset,C-Counter-5 Phase Mux Preset,C-Counter-6 Phase Mux Preset,C-Counter-7 Phase Mux Preset,C-Counter-8 Phase Mux Preset,Charge Pump Current,Bandwidth Control + + + parameterTable_values + 10,1,1000.0 MHz,1,5,8,5,8,10,1,1,1,false,5,5,false,false,256,256,false,true,256,3,4,3,4,5,256,256,256,256,2,4,2,4,5,256,256,256,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true,1,1,1,1,3,1,1,1,1,0,0,0,0,0,0,0,0,0,pll_cp_setting5,pll_bw_res_setting3 + + + parameter_table_hex_file + seq_params_sim.hex + + + pfd_clk_freq + 100000000 + + + phase_shift0 + 0 ps + + + phase_shift1 + 0 ps + + + phase_shift10 + 0 ps + + + phase_shift11 + 0 ps + + + phase_shift12 + 0 ps + + + phase_shift13 + 0 ps + + + phase_shift14 + 0 ps + + + phase_shift15 + 0 ps + + + phase_shift16 + 0 ps + + + phase_shift17 + 0 ps + + + phase_shift2 + 0 ps + + + phase_shift3 + 0 ps + + + phase_shift4 + 2000 ps + + + phase_shift5 + 0 ps + + + phase_shift6 + 0 ps + + + phase_shift7 + 0 ps + + + phase_shift8 + 0 ps + + + phase_shift9 + 0 ps + + + pll_auto_clk_sw_en + false + + + pll_bw_sel + mid_bw + + + pll_bwctrl + pll_bw_res_setting3 + + + pll_cal_done + false + + + pll_clk_loss_sw_en + false + + + pll_clk_sw_dly + 0 + + + pll_clkin_0_src + coreclkin + + + pll_clkin_1_src + ioclkin_0 + + + pll_cp_current + pll_cp_setting5 + + + pll_defer_cal_user_mode + true + + + pll_dsm_out_sel + 1st_order + + + pll_extclk_0_cnt_src + pll_extclk_cnt_src_vss + + + pll_extclk_1_cnt_src + pll_extclk_cnt_src_vss + + + pll_fbclk_mux_1 + pll_fbclk_mux_1_glb + + + pll_fbclk_mux_2 + pll_fbclk_mux_2_m_cnt + + + pll_fractional_cout + 1 + + + pll_fractional_division + 1 + + + pll_freqcal_en + true + + + pll_freqcal_req_flag + true + + + pll_lock_fltr_cfg + 100 + + + pll_m_cnt + 1 + + + pll_m_cnt_basic + 1 + + + pll_m_cnt_in_src + c_m_cnt_in_src_ph_mux_clk + + + pll_manu_clk_sw_en + false + + + pll_output_clk_frequency + 1000.0 MHz + + + pll_pfd_frequency + 100.0 MHz + + + pll_ripplecap_ctrl + pll_ripplecap_setting1 + + + pll_slf_rst + false + + + pll_subtype + General + + + pll_tclk_mux_en + false + + + pll_tclk_sel + pll_tclk_m_src + + + pll_type + TOP_BOTTOM + + + pll_unlock_fltr_cfg + 2 + + + pll_vco_div + 1 + + + pll_vco_freq_band_0 + pll_freq_clk0_band18 + + + pll_vco_freq_band_1 + pll_freq_clk1_band18 + + + pll_vcoph_div + 1 + + + prot_mode + BASIC + + + protocol_mode + PROTOCOL_MODE_BASIC + + + ref_clk_0_freq + 100000000 + + + ref_clk_1_freq + 100000000 + + + ref_clk_delay + 0 + + + ref_clk_n_div + 1 + + + refclk1_frequency + 0 MHz + + + reference_clock_frequency + 100.0 MHz + + + set_dutycycle + SET_DUTYCYCLE_FRACTION + + + set_fractional + SET_FRACTIONAL_FRACTION + + + set_freq + SET_FREQ_DIVISION + + + set_phase + SET_PHASE_NUM_SHIFTS + + + system_info_device_component + AGFB014R24B2E2V + + + system_info_device_family + Agilex 7 + + + system_info_device_iobank_rev + + + + system_info_device_speed_grade + 2 + + + system_part_trait_iobank_rev + IO96A_REVB2 + + + system_part_trait_speed_grade + 2 + + + use_core_refclk + true + + + vco_clk_freq + 1000000000 + + + + altera_iopll + 19.3.1 + iopll_0 + io_pll_altera_iopll_1931_oypl3jq + 0 + + io_pll.iopll_0 + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/io_pll/io_pll.qgsynthc b/corev_apu/altera/ip/io_pll/io_pll.qgsynthc new file mode 100644 index 0000000000..814ea488ce --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.qgsynthc @@ -0,0 +1,3328 @@ + + + io_pll + + + + io_pll + 1.0 + io_pll + io_pll + 0 + + + + + iopll_0 + + + + bandwidth_mode + BANDWIDTH_MODE_AUTO + + + c_cnt_bypass_en0 + true + + + c_cnt_bypass_en1 + false + + + c_cnt_bypass_en10 + true + + + c_cnt_bypass_en11 + true + + + c_cnt_bypass_en12 + true + + + c_cnt_bypass_en13 + true + + + c_cnt_bypass_en14 + true + + + c_cnt_bypass_en15 + true + + + c_cnt_bypass_en16 + true + + + c_cnt_bypass_en17 + true + + + c_cnt_bypass_en2 + false + + + c_cnt_bypass_en3 + false + + + c_cnt_bypass_en4 + false + + + c_cnt_bypass_en5 + false + + + c_cnt_bypass_en6 + true + + + c_cnt_bypass_en7 + true + + + c_cnt_bypass_en8 + true + + + c_cnt_bypass_en9 + true + + + c_cnt_hi_div0 + 256 + + + c_cnt_hi_div1 + 3 + + + c_cnt_hi_div10 + 1 + + + c_cnt_hi_div11 + 1 + + + c_cnt_hi_div12 + 1 + + + c_cnt_hi_div13 + 1 + + + c_cnt_hi_div14 + 1 + + + c_cnt_hi_div15 + 1 + + + c_cnt_hi_div16 + 1 + + + c_cnt_hi_div17 + 1 + + + c_cnt_hi_div2 + 4 + + + c_cnt_hi_div3 + 3 + + + c_cnt_hi_div4 + 4 + + + c_cnt_hi_div5 + 5 + + + c_cnt_hi_div6 + 256 + + + c_cnt_hi_div7 + 256 + + + c_cnt_hi_div8 + 256 + + + c_cnt_hi_div9 + 256 + + + c_cnt_in_src0 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src1 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src10 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src11 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src12 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src13 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src14 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src15 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src16 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src17 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src2 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src3 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src4 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src5 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src6 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src7 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src8 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_in_src9 + c_m_cnt_in_src_ph_mux_clk + + + c_cnt_lo_div0 + 256 + + + c_cnt_lo_div1 + 2 + + + c_cnt_lo_div10 + 1 + + + c_cnt_lo_div11 + 1 + + + c_cnt_lo_div12 + 1 + + + c_cnt_lo_div13 + 1 + + + c_cnt_lo_div14 + 1 + + + c_cnt_lo_div15 + 1 + + + c_cnt_lo_div16 + 1 + + + c_cnt_lo_div17 + 1 + + + c_cnt_lo_div2 + 4 + + + c_cnt_lo_div3 + 2 + + + c_cnt_lo_div4 + 4 + + + c_cnt_lo_div5 + 5 + + + c_cnt_lo_div6 + 256 + + + c_cnt_lo_div7 + 256 + + + c_cnt_lo_div8 + 256 + + + c_cnt_lo_div9 + 256 + + + c_cnt_odd_div_duty_en0 + false + + + c_cnt_odd_div_duty_en1 + true + + + c_cnt_odd_div_duty_en10 + false + + + c_cnt_odd_div_duty_en11 + false + + + c_cnt_odd_div_duty_en12 + false + + + c_cnt_odd_div_duty_en13 + false + + + c_cnt_odd_div_duty_en14 + false + + + c_cnt_odd_div_duty_en15 + false + + + c_cnt_odd_div_duty_en16 + false + + + c_cnt_odd_div_duty_en17 + false + + + c_cnt_odd_div_duty_en2 + false + + + c_cnt_odd_div_duty_en3 + true + + + c_cnt_odd_div_duty_en4 + false + + + c_cnt_odd_div_duty_en5 + false + + + c_cnt_odd_div_duty_en6 + false + + + c_cnt_odd_div_duty_en7 + false + + + c_cnt_odd_div_duty_en8 + false + + + c_cnt_odd_div_duty_en9 + false + + + c_cnt_ph_mux_prst0 + 0 + + + c_cnt_ph_mux_prst1 + 0 + + + c_cnt_ph_mux_prst10 + 0 + + + c_cnt_ph_mux_prst11 + 0 + + + c_cnt_ph_mux_prst12 + 0 + + + c_cnt_ph_mux_prst13 + 0 + + + c_cnt_ph_mux_prst14 + 0 + + + c_cnt_ph_mux_prst15 + 0 + + + c_cnt_ph_mux_prst16 + 0 + + + c_cnt_ph_mux_prst17 + 0 + + + c_cnt_ph_mux_prst2 + 0 + + + c_cnt_ph_mux_prst3 + 0 + + + c_cnt_ph_mux_prst4 + 0 + + + c_cnt_ph_mux_prst5 + 0 + + + c_cnt_ph_mux_prst6 + 0 + + + c_cnt_ph_mux_prst7 + 0 + + + c_cnt_ph_mux_prst8 + 0 + + + c_cnt_ph_mux_prst9 + 0 + + + c_cnt_prst0 + 1 + + + c_cnt_prst1 + 1 + + + c_cnt_prst10 + 1 + + + c_cnt_prst11 + 1 + + + c_cnt_prst12 + 1 + + + c_cnt_prst13 + 1 + + + c_cnt_prst14 + 1 + + + c_cnt_prst15 + 1 + + + c_cnt_prst16 + 1 + + + c_cnt_prst17 + 1 + + + c_cnt_prst2 + 1 + + + c_cnt_prst3 + 1 + + + c_cnt_prst4 + 3 + + + c_cnt_prst5 + 1 + + + c_cnt_prst6 + 1 + + + c_cnt_prst7 + 1 + + + c_cnt_prst8 + 1 + + + c_cnt_prst9 + 1 + + + cal_code_hex_file + iossm.hex + + + cal_converge + false + + + cal_error + cal_clean + + + cascade_mode + CASCADE_MODE_STANDALONE + + + clock_name_0 + + + + clock_name_1 + outclk0 + + + clock_name_2 + outclk1 + + + clock_name_3 + outclk2 + + + clock_name_4 + outclk3 + + + clock_name_5 + outclk4 + + + clock_name_6 + + + + clock_name_7 + + + + clock_name_8 + + + + clock_name_global + false + + + clock_name_global_0 + false + + + clock_name_global_1 + false + + + clock_name_global_2 + false + + + clock_name_global_3 + false + + + clock_name_global_4 + false + + + clock_name_global_5 + false + + + clock_name_global_6 + false + + + clock_name_global_7 + false + + + clock_name_global_8 + false + + + clock_to_compensate + 1 + + + compensation_clk_source + COMPENSATION_CLK_SOURCE_UNUSED + + + compensation_mode + COMPENSATION_MODE_DIRECT + + + divide_factor0 + 1 + + + divide_factor1 + 1 + + + divide_factor2 + 1 + + + divide_factor3 + 1 + + + divide_factor4 + 1 + + + divide_factor5 + 1 + + + divide_factor6 + 1 + + + divide_factor7 + 1 + + + divide_factor8 + 1 + + + dprio_interface_sel + 3 + + + duty_cycle0 + 50 + + + duty_cycle1 + 50 + + + duty_cycle10 + 50 + + + duty_cycle11 + 50 + + + duty_cycle12 + 50 + + + duty_cycle13 + 50 + + + duty_cycle14 + 50 + + + duty_cycle15 + 50 + + + duty_cycle16 + 50 + + + duty_cycle17 + 50 + + + duty_cycle2 + 50 + + + duty_cycle3 + 50 + + + duty_cycle4 + 50 + + + duty_cycle5 + 50 + + + duty_cycle6 + 50 + + + duty_cycle7 + 50 + + + duty_cycle8 + 50 + + + duty_cycle9 + 50 + + + eff_m_cnt + 1 + + + fb_clk_delay + 0 + + + fb_clk_fractional_div_den + 1 + + + fb_clk_fractional_div_num + 1 + + + fb_clk_fractional_div_value + 1 + + + fb_clk_m_div + 0 + + + fractional_vco_multiplier + false + + + gui_active_clk + false + + + gui_actual_duty_cycle0 + 50.0 + + + gui_actual_duty_cycle1 + 50.0 + + + gui_actual_duty_cycle10 + 50.0 + + + gui_actual_duty_cycle11 + 50.0 + + + gui_actual_duty_cycle12 + 50.0 + + + gui_actual_duty_cycle13 + 50.0 + + + gui_actual_duty_cycle14 + 50.0 + + + gui_actual_duty_cycle15 + 50.0 + + + gui_actual_duty_cycle16 + 50.0 + + + gui_actual_duty_cycle17 + 50.0 + + + gui_actual_duty_cycle2 + 50.0 + + + gui_actual_duty_cycle3 + 50.0 + + + gui_actual_duty_cycle4 + 50.0 + + + gui_actual_duty_cycle5 + 50.0 + + + gui_actual_duty_cycle6 + 50.0 + + + gui_actual_duty_cycle7 + 50.0 + + + gui_actual_duty_cycle8 + 50.0 + + + gui_actual_duty_cycle9 + 50.0 + + + gui_actual_duty_cycle_range0 + 20.0,30.0,40.0,50.0,60.0,70.0 + + + gui_actual_duty_cycle_range1 + 31.25,37.5,43.75,50.0,56.25,62.5 + + + gui_actual_duty_cycle_range10 + 50.0 + + + gui_actual_duty_cycle_range11 + 50.0 + + + gui_actual_duty_cycle_range12 + 50.0 + + + gui_actual_duty_cycle_range13 + 50.0 + + + gui_actual_duty_cycle_range14 + 50.0 + + + gui_actual_duty_cycle_range15 + 50.0 + + + gui_actual_duty_cycle_range16 + 50.0 + + + gui_actual_duty_cycle_range17 + 50.0 + + + gui_actual_duty_cycle_range2 + 20.0,30.0,40.0,50.0,60.0,70.0 + + + gui_actual_duty_cycle_range3 + 31.25,37.5,43.75,50.0,56.25,62.5 + + + gui_actual_duty_cycle_range4 + 35.0,40.0,45.0,50.0,55.0,60.0 + + + gui_actual_duty_cycle_range5 + 50.0 + + + gui_actual_duty_cycle_range6 + 50.0 + + + gui_actual_duty_cycle_range7 + 50.0 + + + gui_actual_duty_cycle_range8 + 50.0 + + + gui_actual_duty_cycle_range9 + 50.0 + + + gui_actual_output_clock_frequency0 + 200.0 + + + gui_actual_output_clock_frequency1 + 125.0 + + + gui_actual_output_clock_frequency10 + 100.0 + + + gui_actual_output_clock_frequency11 + 100.0 + + + gui_actual_output_clock_frequency12 + 100.0 + + + gui_actual_output_clock_frequency13 + 100.0 + + + gui_actual_output_clock_frequency14 + 100.0 + + + gui_actual_output_clock_frequency15 + 100.0 + + + gui_actual_output_clock_frequency16 + 100.0 + + + gui_actual_output_clock_frequency17 + 100.0 + + + gui_actual_output_clock_frequency2 + 200.0 + + + gui_actual_output_clock_frequency3 + 125.0 + + + gui_actual_output_clock_frequency4 + 100.0 + + + gui_actual_output_clock_frequency5 + 100.0 + + + gui_actual_output_clock_frequency6 + 100.0 + + + gui_actual_output_clock_frequency7 + 100.0 + + + gui_actual_output_clock_frequency8 + 100.0 + + + gui_actual_output_clock_frequency9 + 100.0 + + + gui_actual_output_clock_frequency_range0 + 198.333333,198.412698,198.571429,200.0,201.428571,201.587302 + + + gui_actual_output_clock_frequency_range1 + 114.285714,116.666667,120.0,125.0,127.272727,133.333333 + + + gui_actual_output_clock_frequency_range10 + 100.0 + + + gui_actual_output_clock_frequency_range11 + 100.0 + + + gui_actual_output_clock_frequency_range12 + 100.0 + + + gui_actual_output_clock_frequency_range13 + 100.0 + + + gui_actual_output_clock_frequency_range14 + 100.0 + + + gui_actual_output_clock_frequency_range15 + 100.0 + + + gui_actual_output_clock_frequency_range16 + 100.0 + + + gui_actual_output_clock_frequency_range17 + 100.0 + + + gui_actual_output_clock_frequency_range2 + 125.0,142.857143,166.666667,200.0,250.0,333.333333 + + + gui_actual_output_clock_frequency_range3 + 90.909091,100.0,111.111111,125.0,142.857143,166.666667 + + + gui_actual_output_clock_frequency_range4 + 76.923077,83.333333,90.909091,100.0,111.111111,125.0 + + + gui_actual_output_clock_frequency_range5 + 100.0 + + + gui_actual_output_clock_frequency_range6 + 100.0 + + + gui_actual_output_clock_frequency_range7 + 100.0 + + + gui_actual_output_clock_frequency_range8 + 100.0 + + + gui_actual_output_clock_frequency_range9 + 100.0 + + + gui_actual_phase_shift0 + 0.0 + + + gui_actual_phase_shift1 + 0.0 + + + gui_actual_phase_shift10 + 0.0 + + + gui_actual_phase_shift11 + 0.0 + + + gui_actual_phase_shift12 + 0.0 + + + gui_actual_phase_shift13 + 0.0 + + + gui_actual_phase_shift14 + 0.0 + + + gui_actual_phase_shift15 + 0.0 + + + gui_actual_phase_shift16 + 0.0 + + + gui_actual_phase_shift17 + 0.0 + + + gui_actual_phase_shift2 + 0.0 + + + gui_actual_phase_shift3 + 2000.0 + + + gui_actual_phase_shift4 + 0.0 + + + gui_actual_phase_shift5 + 0.0 + + + gui_actual_phase_shift6 + 0.0 + + + gui_actual_phase_shift7 + 0.0 + + + gui_actual_phase_shift8 + 0.0 + + + gui_actual_phase_shift9 + 0.0 + + + gui_actual_phase_shift_deg0 + 0.0 + + + gui_actual_phase_shift_deg1 + 0.0 + + + gui_actual_phase_shift_deg10 + 0.0 + + + gui_actual_phase_shift_deg11 + 0.0 + + + gui_actual_phase_shift_deg12 + 0.0 + + + gui_actual_phase_shift_deg13 + 0.0 + + + gui_actual_phase_shift_deg14 + 0.0 + + + gui_actual_phase_shift_deg15 + 0.0 + + + gui_actual_phase_shift_deg16 + 0.0 + + + gui_actual_phase_shift_deg17 + 0.0 + + + gui_actual_phase_shift_deg2 + 0.0 + + + gui_actual_phase_shift_deg3 + 90.0 + + + gui_actual_phase_shift_deg4 + 0.0 + + + gui_actual_phase_shift_deg5 + 0.0 + + + gui_actual_phase_shift_deg6 + 0.0 + + + gui_actual_phase_shift_deg7 + 0.0 + + + gui_actual_phase_shift_deg8 + 0.0 + + + gui_actual_phase_shift_deg9 + 0.0 + + + gui_actual_phase_shift_deg_range0 + 0.0,9.0,18.0,27.0,36.0,45.0 + + + gui_actual_phase_shift_deg_range1 + 0.0,5.6,11.2,16.9,22.5,28.1 + + + gui_actual_phase_shift_deg_range10 + 0.0 + + + gui_actual_phase_shift_deg_range11 + 0.0 + + + gui_actual_phase_shift_deg_range12 + 0.0 + + + gui_actual_phase_shift_deg_range13 + 0.0 + + + gui_actual_phase_shift_deg_range14 + 0.0 + + + gui_actual_phase_shift_deg_range15 + 0.0 + + + gui_actual_phase_shift_deg_range16 + 0.0 + + + gui_actual_phase_shift_deg_range17 + 0.0 + + + gui_actual_phase_shift_deg_range2 + 0.0,9.0,18.0,27.0,36.0,45.0 + + + gui_actual_phase_shift_deg_range3 + 73.1,78.8,84.4,90.0,95.6,101.2 + + + gui_actual_phase_shift_deg_range4 + 0.0,4.5,9.0,13.5,18.0,22.5 + + + gui_actual_phase_shift_deg_range5 + 0.0 + + + gui_actual_phase_shift_deg_range6 + 0.0 + + + gui_actual_phase_shift_deg_range7 + 0.0 + + + gui_actual_phase_shift_deg_range8 + 0.0 + + + gui_actual_phase_shift_deg_range9 + 0.0 + + + gui_actual_phase_shift_range0 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range1 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range10 + 0.0 + + + gui_actual_phase_shift_range11 + 0.0 + + + gui_actual_phase_shift_range12 + 0.0 + + + gui_actual_phase_shift_range13 + 0.0 + + + gui_actual_phase_shift_range14 + 0.0 + + + gui_actual_phase_shift_range15 + 0.0 + + + gui_actual_phase_shift_range16 + 0.0 + + + gui_actual_phase_shift_range17 + 0.0 + + + gui_actual_phase_shift_range2 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range3 + 1625.0,1750.0,1875.0,2000.0,2125.0,2250.0 + + + gui_actual_phase_shift_range4 + 0.0,125.0,250.0,375.0,500.0,625.0 + + + gui_actual_phase_shift_range5 + 0.0 + + + gui_actual_phase_shift_range6 + 0.0 + + + gui_actual_phase_shift_range7 + 0.0 + + + gui_actual_phase_shift_range8 + 0.0 + + + gui_actual_phase_shift_range9 + 0.0 + + + gui_c_cnt_in_src0 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src1 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src2 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src3 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src4 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src5 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src6 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src7 + c_m_cnt_in_src_ph_mux_clk + + + gui_c_cnt_in_src8 + c_m_cnt_in_src_ph_mux_clk + + + gui_cal_code_hex_file + iossm.hex + + + gui_cal_converge + false + + + gui_cal_error + cal_clean + + + gui_cascade_counter0 + false + + + gui_cascade_counter1 + false + + + gui_cascade_counter10 + false + + + gui_cascade_counter11 + false + + + gui_cascade_counter12 + false + + + gui_cascade_counter13 + false + + + gui_cascade_counter14 + false + + + gui_cascade_counter15 + false + + + gui_cascade_counter16 + false + + + gui_cascade_counter17 + false + + + gui_cascade_counter2 + false + + + gui_cascade_counter3 + false + + + gui_cascade_counter4 + false + + + gui_cascade_counter5 + false + + + gui_cascade_counter6 + false + + + gui_cascade_counter7 + false + + + gui_cascade_counter8 + false + + + gui_cascade_counter9 + false + + + gui_cascade_outclk_index + 0 + + + gui_clk_bad + false + + + gui_clock_name_global + false + + + gui_clock_name_string0 + outclk0 + + + gui_clock_name_string1 + outclk1 + + + gui_clock_name_string10 + outclk10 + + + gui_clock_name_string11 + outclk11 + + + gui_clock_name_string12 + outclk12 + + + gui_clock_name_string13 + outclk13 + + + gui_clock_name_string14 + outclk14 + + + gui_clock_name_string15 + outclk15 + + + gui_clock_name_string16 + outclk16 + + + gui_clock_name_string17 + outclk17 + + + gui_clock_name_string2 + outclk2 + + + gui_clock_name_string3 + outclk3 + + + gui_clock_name_string4 + outclk4 + + + gui_clock_name_string5 + outclk5 + + + gui_clock_name_string6 + outclk6 + + + gui_clock_name_string7 + outclk7 + + + gui_clock_name_string8 + outclk8 + + + gui_clock_name_string9 + outclk9 + + + gui_clock_to_compensate + 0 + + + gui_debug_mode + false + + + gui_device_component + AGFB014R24B2E2V + + + gui_device_family + Agilex 7 + + + gui_device_iobank_rev + IO96A_REVB2 + + + gui_device_speed_grade + 2 + + + gui_divide_factor_c0 + 1 + + + gui_divide_factor_c1 + 25 + + + gui_divide_factor_c10 + 6 + + + gui_divide_factor_c11 + 6 + + + gui_divide_factor_c12 + 6 + + + gui_divide_factor_c13 + 6 + + + gui_divide_factor_c14 + 6 + + + gui_divide_factor_c15 + 6 + + + gui_divide_factor_c16 + 6 + + + gui_divide_factor_c17 + 6 + + + gui_divide_factor_c2 + 25 + + + gui_divide_factor_c3 + 6 + + + gui_divide_factor_c4 + 6 + + + gui_divide_factor_c5 + 6 + + + gui_divide_factor_c6 + 6 + + + gui_divide_factor_c7 + 6 + + + gui_divide_factor_c8 + 6 + + + gui_divide_factor_c9 + 6 + + + gui_divide_factor_n + 6 + + + gui_dps_cntr + C0 + + + gui_dps_dir + Positive + + + gui_dps_num + 1 + + + gui_dsm_out_sel + 1st_order + + + gui_duty_cycle0 + 50.0 + + + gui_duty_cycle1 + 50.0 + + + gui_duty_cycle10 + 50.0 + + + gui_duty_cycle11 + 50.0 + + + gui_duty_cycle12 + 50.0 + + + gui_duty_cycle13 + 50.0 + + + gui_duty_cycle14 + 50.0 + + + gui_duty_cycle15 + 50.0 + + + gui_duty_cycle16 + 50.0 + + + gui_duty_cycle17 + 50.0 + + + gui_duty_cycle2 + 50.0 + + + gui_duty_cycle3 + 50.0 + + + gui_duty_cycle4 + 50.0 + + + gui_duty_cycle5 + 50.0 + + + gui_duty_cycle6 + 50.0 + + + gui_duty_cycle7 + 50.0 + + + gui_duty_cycle8 + 50.0 + + + gui_duty_cycle9 + 50.0 + + + gui_en_adv_params + false + + + gui_en_dps_ports + false + + + gui_en_extclkout_ports + false + + + gui_en_iossm_reconf + false + + + gui_en_lvds_ports + Disabled + + + gui_en_periphery_ports + false + + + gui_en_phout_ports + false + + + gui_en_reconf + false + + + gui_enable_cascade_in + false + + + gui_enable_cascade_out + false + + + gui_enable_mif_dps + false + + + gui_enable_output_counter_cascading + false + + + gui_enable_permit_cal + false + + + gui_enable_upstream_out_clk + false + + + gui_existing_mif_file_path + ~/pll.mif + + + gui_extclkout_0_source + C0 + + + gui_extclkout_1_source + C0 + + + gui_extclkout_source + C0 + + + gui_feedback_clock + Global Clock + + + gui_fix_vco_frequency + false + + + gui_fixed_vco_frequency + 600.0 + + + gui_fixed_vco_frequency_ps + 1667.0 + + + gui_frac_multiply_factor + 1 + + + gui_fractional_cout + 32 + + + gui_include_iossm + false + + + gui_location_type + I/O Bank + + + gui_lock_setting + Low Lock Time + + + gui_mif_config_name + unnamed + + + gui_mif_gen_options + Generate New MIF File + + + gui_multiply_factor + 25 + + + gui_new_mif_file_path + ~/pll.mif + + + gui_number_of_clocks + 5 + + + gui_operation_mode + direct + + + gui_output_clock_frequency0 + 200.0 + + + gui_output_clock_frequency1 + 125.0 + + + gui_output_clock_frequency10 + 100.0 + + + gui_output_clock_frequency11 + 100.0 + + + gui_output_clock_frequency12 + 100.0 + + + gui_output_clock_frequency13 + 100.0 + + + gui_output_clock_frequency14 + 100.0 + + + gui_output_clock_frequency15 + 100.0 + + + gui_output_clock_frequency16 + 100.0 + + + gui_output_clock_frequency17 + 100.0 + + + gui_output_clock_frequency2 + 200.0 + + + gui_output_clock_frequency3 + 125.0 + + + gui_output_clock_frequency4 + 100.0 + + + gui_output_clock_frequency5 + 100.0 + + + gui_output_clock_frequency6 + 100.0 + + + gui_output_clock_frequency7 + 100.0 + + + gui_output_clock_frequency8 + 100.0 + + + gui_output_clock_frequency9 + 100.0 + + + gui_output_clock_frequency_ps0 + 5000.0 + + + gui_output_clock_frequency_ps1 + 8000.0 + + + gui_output_clock_frequency_ps10 + 10000.0 + + + gui_output_clock_frequency_ps11 + 10000.0 + + + gui_output_clock_frequency_ps12 + 10000.0 + + + gui_output_clock_frequency_ps13 + 10000.0 + + + gui_output_clock_frequency_ps14 + 10000.0 + + + gui_output_clock_frequency_ps15 + 10000.0 + + + gui_output_clock_frequency_ps16 + 10000.0 + + + gui_output_clock_frequency_ps17 + 10000.0 + + + gui_output_clock_frequency_ps2 + 5000.0 + + + gui_output_clock_frequency_ps3 + 8000.0 + + + gui_output_clock_frequency_ps4 + 10000.0 + + + gui_output_clock_frequency_ps5 + 10000.0 + + + gui_output_clock_frequency_ps6 + 10000.0 + + + gui_output_clock_frequency_ps7 + 10000.0 + + + gui_output_clock_frequency_ps8 + 10000.0 + + + gui_output_clock_frequency_ps9 + 10000.0 + + + gui_parameter_table_hex_file + seq_params_sim.hex + + + gui_phase_shift0 + 0.0 + + + gui_phase_shift1 + 0.0 + + + gui_phase_shift10 + 0.0 + + + gui_phase_shift11 + 0.0 + + + gui_phase_shift12 + 0.0 + + + gui_phase_shift13 + 0.0 + + + gui_phase_shift14 + 0.0 + + + gui_phase_shift15 + 0.0 + + + gui_phase_shift16 + 0.0 + + + gui_phase_shift17 + 0.0 + + + gui_phase_shift2 + 0.0 + + + gui_phase_shift3 + 0.0 + + + gui_phase_shift4 + 0.0 + + + gui_phase_shift5 + 0.0 + + + gui_phase_shift6 + 0.0 + + + gui_phase_shift7 + 0.0 + + + gui_phase_shift8 + 0.0 + + + gui_phase_shift9 + 0.0 + + + gui_phase_shift_deg0 + 0.0 + + + gui_phase_shift_deg1 + 0.0 + + + gui_phase_shift_deg10 + 0.0 + + + gui_phase_shift_deg11 + 0.0 + + + gui_phase_shift_deg12 + 0.0 + + + gui_phase_shift_deg13 + 0.0 + + + gui_phase_shift_deg14 + 0.0 + + + gui_phase_shift_deg15 + 0.0 + + + gui_phase_shift_deg16 + 0.0 + + + gui_phase_shift_deg17 + 0.0 + + + gui_phase_shift_deg2 + 0.0 + + + gui_phase_shift_deg3 + 90.0 + + + gui_phase_shift_deg4 + 0.0 + + + gui_phase_shift_deg5 + 0.0 + + + gui_phase_shift_deg6 + 0.0 + + + gui_phase_shift_deg7 + 0.0 + + + gui_phase_shift_deg8 + 0.0 + + + gui_phase_shift_deg9 + 0.0 + + + gui_phout_division + 1 + + + gui_pll_auto_reset + false + + + gui_pll_bandwidth_preset + Medium + + + gui_pll_cal_done + false + + + gui_pll_cascading_mode + adjpllin + + + gui_pll_freqcal_en + true + + + gui_pll_freqcal_req_flag + true + + + gui_pll_m_cnt_in_src + c_m_cnt_in_src_ph_mux_clk + + + gui_pll_mode + Integer-N PLL + + + gui_pll_tclk_mux_en + false + + + gui_pll_tclk_sel + pll_tclk_m_src + + + gui_pll_type + S10_Simple + + + gui_pll_vco_freq_band_0 + pll_freq_clk0_band18 + + + gui_pll_vco_freq_band_1 + pll_freq_clk1_band18 + + + gui_prot_mode + UNUSED + + + gui_ps_units0 + ps + + + gui_ps_units1 + ps + + + gui_ps_units10 + ps + + + gui_ps_units11 + ps + + + gui_ps_units12 + ps + + + gui_ps_units13 + ps + + + gui_ps_units14 + ps + + + gui_ps_units15 + ps + + + gui_ps_units16 + ps + + + gui_ps_units17 + ps + + + gui_ps_units2 + ps + + + gui_ps_units3 + degrees + + + gui_ps_units4 + ps + + + gui_ps_units5 + ps + + + gui_ps_units6 + ps + + + gui_ps_units7 + ps + + + gui_ps_units8 + ps + + + gui_ps_units9 + ps + + + gui_refclk1_frequency + 100.0 + + + gui_refclk_might_change + false + + + gui_refclk_switch + false + + + gui_reference_clock_frequency + 100.0 + + + gui_reference_clock_frequency_ps + 10000.0 + + + gui_simulation_type + false + + + gui_skip_sdc_generation + false + + + gui_switchover_delay + 0 + + + gui_switchover_mode + Automatic Switchover + + + gui_use_NDFB_modes + false + + + gui_use_coreclk + true + + + gui_use_locked + true + + + gui_use_logical + false + + + gui_user_base_address + 0 + + + gui_usr_device_speed_grade + 1 + + + gui_vco_frequency + 1250.0 + + + hp_actual_duty_cycle_fp0 + 50.0 + + + hp_actual_duty_cycle_fp1 + 50.0 + + + hp_actual_duty_cycle_fp10 + 50.0 + + + hp_actual_duty_cycle_fp11 + 50.0 + + + hp_actual_duty_cycle_fp12 + 50.0 + + + hp_actual_duty_cycle_fp13 + 50.0 + + + hp_actual_duty_cycle_fp14 + 50.0 + + + hp_actual_duty_cycle_fp15 + 50.0 + + + hp_actual_duty_cycle_fp16 + 50.0 + + + hp_actual_duty_cycle_fp17 + 50.0 + + + hp_actual_duty_cycle_fp2 + 50.0 + + + hp_actual_duty_cycle_fp3 + 50.0 + + + hp_actual_duty_cycle_fp4 + 50.0 + + + hp_actual_duty_cycle_fp5 + 50.0 + + + hp_actual_duty_cycle_fp6 + 50.0 + + + hp_actual_duty_cycle_fp7 + 50.0 + + + hp_actual_duty_cycle_fp8 + 50.0 + + + hp_actual_duty_cycle_fp9 + 50.0 + + + hp_actual_output_clock_frequency_fp0 + 200.0 + + + hp_actual_output_clock_frequency_fp1 + 125.0 + + + hp_actual_output_clock_frequency_fp10 + 100.0 + + + hp_actual_output_clock_frequency_fp11 + 100.0 + + + hp_actual_output_clock_frequency_fp12 + 100.0 + + + hp_actual_output_clock_frequency_fp13 + 100.0 + + + hp_actual_output_clock_frequency_fp14 + 100.0 + + + hp_actual_output_clock_frequency_fp15 + 100.0 + + + hp_actual_output_clock_frequency_fp16 + 100.0 + + + hp_actual_output_clock_frequency_fp17 + 100.0 + + + hp_actual_output_clock_frequency_fp2 + 200.0 + + + hp_actual_output_clock_frequency_fp3 + 125.0 + + + hp_actual_output_clock_frequency_fp4 + 100.0 + + + hp_actual_output_clock_frequency_fp5 + 100.0 + + + hp_actual_output_clock_frequency_fp6 + 100.0 + + + hp_actual_output_clock_frequency_fp7 + 100.0 + + + hp_actual_output_clock_frequency_fp8 + 100.0 + + + hp_actual_output_clock_frequency_fp9 + 100.0 + + + hp_actual_phase_shift_fp0 + 0.0 + + + hp_actual_phase_shift_fp1 + 0.0 + + + hp_actual_phase_shift_fp10 + 0.0 + + + hp_actual_phase_shift_fp11 + 0.0 + + + hp_actual_phase_shift_fp12 + 0.0 + + + hp_actual_phase_shift_fp13 + 0.0 + + + hp_actual_phase_shift_fp14 + 0.0 + + + hp_actual_phase_shift_fp15 + 0.0 + + + hp_actual_phase_shift_fp16 + 0.0 + + + hp_actual_phase_shift_fp17 + 0.0 + + + hp_actual_phase_shift_fp2 + 0.0 + + + hp_actual_phase_shift_fp3 + 2000.0 + + + hp_actual_phase_shift_fp4 + 0.0 + + + hp_actual_phase_shift_fp5 + 0.0 + + + hp_actual_phase_shift_fp6 + 0.0 + + + hp_actual_phase_shift_fp7 + 0.0 + + + hp_actual_phase_shift_fp8 + 0.0 + + + hp_actual_phase_shift_fp9 + 0.0 + + + hp_actual_vco_frequency_fp + 600.0 + + + hp_number_of_family_allowable_clocks + 9 + + + hp_parameter_update_message + + + + hp_previous_num_clocks + 1 + + + hp_qsys_scripting_mode + false + + + include_iossm + false + + + iossm_nios_sim_clk_period_ps + 1333 + + + lock_mode + low_lock_time + + + m_cnt_bypass_en + false + + + m_cnt_hi_div + 5 + + + m_cnt_lo_div + 5 + + + m_cnt_odd_div_duty_en + false + + + merging_permitted + false + + + mifTable_names + The MIF file specified does not yet exist + + + mifTable_values + + + + mimic_fbclk_type + gclk + + + multiply_factor + 10 + + + n_cnt_bypass_en + true + + + n_cnt_hi_div + 256 + + + n_cnt_lo_div + 256 + + + n_cnt_odd_div_duty_en + false + + + number_of_clocks + 5 + + + number_of_outclks + 5 + + + operation_mode + direct + + + out_clk_0_c_div + 1 + + + out_clk_0_core_en + true + + + out_clk_0_delay + 0 + + + out_clk_0_dutycycle_den + 2 + + + out_clk_0_dutycycle_num + 1 + + + out_clk_0_freq + 1000000000 + + + out_clk_0_phase_ps + 1000000000 + + + out_clk_0_phase_shifts + 0 + + + out_clk_1_c_div + 1 + + + out_clk_1_core_en + true + + + out_clk_1_delay + 0 + + + out_clk_1_dutycycle_den + 2 + + + out_clk_1_dutycycle_num + 1 + + + out_clk_1_freq + 1000000000 + + + out_clk_1_phase_ps + 1000000000 + + + out_clk_1_phase_shifts + 0 + + + out_clk_2_c_div + 1 + + + out_clk_2_core_en + true + + + out_clk_2_delay + 0 + + + out_clk_2_dutycycle_den + 2 + + + out_clk_2_dutycycle_num + 1 + + + out_clk_2_freq + 1000000000 + + + out_clk_2_phase_ps + 1000000000 + + + out_clk_2_phase_shifts + 0 + + + out_clk_3_c_div + 1 + + + out_clk_3_core_en + true + + + out_clk_3_delay + 0 + + + out_clk_3_dutycycle_den + 2 + + + out_clk_3_dutycycle_num + 1 + + + out_clk_3_freq + 1000000000 + + + out_clk_3_phase_ps + 1000000000 + + + out_clk_3_phase_shifts + 0 + + + out_clk_4_c_div + 1 + + + out_clk_4_core_en + true + + + out_clk_4_delay + 0 + + + out_clk_4_dutycycle_den + 2 + + + out_clk_4_dutycycle_num + 1 + + + out_clk_4_freq + 1000000000 + + + out_clk_4_phase_ps + 1000000000 + + + out_clk_4_phase_shifts + 0 + + + out_clk_5_c_div + 1 + + + out_clk_5_core_en + true + + + out_clk_5_delay + 0 + + + out_clk_5_dutycycle_den + 2 + + + out_clk_5_dutycycle_num + 1 + + + out_clk_5_freq + 1000000000 + + + out_clk_5_phase_ps + 1000000000 + + + out_clk_5_phase_shifts + 0 + + + out_clk_6_c_div + 1 + + + out_clk_6_core_en + true + + + out_clk_6_delay + 0 + + + out_clk_6_dutycycle_den + 2 + + + out_clk_6_dutycycle_num + 1 + + + out_clk_6_freq + 1000000000 + + + out_clk_6_phase_ps + 1000000000 + + + out_clk_6_phase_shifts + 0 + + + out_clk_cascading_source + OUT_CLK_CASCADING_SOURCE_UNUSED + + + out_clk_external_0_source + OUT_CLK_EXTERNAL_0_SOURCE_UNUSED + + + out_clk_external_1_source + OUT_CLK_EXTERNAL_1_SOURCE_UNUSED + + + out_clk_periph_0_delay + 0 + + + out_clk_periph_0_en + true + + + out_clk_periph_1_delay + 0 + + + out_clk_periph_1_en + true + + + output_clock_frequency0 + 0 ps + + + output_clock_frequency1 + 200.0 MHz + + + output_clock_frequency10 + 0 MHz + + + output_clock_frequency11 + 0 MHz + + + output_clock_frequency12 + 0 MHz + + + output_clock_frequency13 + 0 MHz + + + output_clock_frequency14 + 0 MHz + + + output_clock_frequency15 + 0 MHz + + + output_clock_frequency16 + 0 MHz + + + output_clock_frequency17 + 0 MHz + + + output_clock_frequency2 + 125.0 MHz + + + output_clock_frequency3 + 200.0 MHz + + + output_clock_frequency4 + 125.0 MHz + + + output_clock_frequency5 + 100.0 MHz + + + output_clock_frequency6 + 0 ps + + + output_clock_frequency7 + 0 ps + + + output_clock_frequency8 + 0 ps + + + output_clock_frequency9 + 0 ps + + + parameterTable_names + M-Counter Divide Setting,N-Counter Divide Setting,VCO Frequency,C-Counter-0 Divide Setting,C-Counter-1 Divide Setting,C-Counter-2 Divide Setting,C-Counter-3 Divide Setting,C-Counter-4 Divide Setting,C-Counter-5 Divide Setting,C-Counter-6 Divide Setting,C-Counter-7 Divide Setting,C-Counter-8 Divide Setting,PLL Auto Reset,M-Counter Hi Divide,M-Counter Lo Divide,M-Counter Even Duty Enable,M-Counter Bypass Enable,N-Counter Hi Divide,N-Counter Lo Divide,N-Counter Even Duty Enable,N-Counter Bypass Enable,C-Counter-0 Hi Divide,C-Counter-1 Hi Divide,C-Counter-2 Hi Divide,C-Counter-3 Hi Divide,C-Counter-4 Hi Divide,C-Counter-5 Hi Divide,C-Counter-6 Hi Divide,C-Counter-7 Hi Divide,C-Counter-8 Hi Divide,C-Counter-0 Lo Divide,C-Counter-1 Lo Divide,C-Counter-2 Lo Divide,C-Counter-3 Lo Divide,C-Counter-4 Lo Divide,C-Counter-5 Lo Divide,C-Counter-6 Lo Divide,C-Counter-7 Lo Divide,C-Counter-8 Lo Divide,C-Counter-0 Even Duty Enable,C-Counter-1 Even Duty Enable,C-Counter-2 Even Duty Enable,C-Counter-3 Even Duty Enable,C-Counter-4 Even Duty Enable,C-Counter-5 Even Duty Enable,C-Counter-6 Even Duty Enable,C-Counter-7 Even Duty Enable,C-Counter-8 Even Duty Enable,C-Counter-0 Bypass Enable,C-Counter-1 Bypass Enable,C-Counter-2 Bypass Enable,C-Counter-3 Bypass Enable,C-Counter-4 Bypass Enable,C-Counter-5 Bypass Enable,C-Counter-6 Bypass Enable,C-Counter-7 Bypass Enable,C-Counter-8 Bypass Enable,C-Counter-0 Preset,C-Counter-1 Preset,C-Counter-2 Preset,C-Counter-3 Preset,C-Counter-4 Preset,C-Counter-5 Preset,C-Counter-6 Preset,C-Counter-7 Preset,C-Counter-8 Preset,C-Counter-0 Phase Mux Preset,C-Counter-1 Phase Mux Preset,C-Counter-2 Phase Mux Preset,C-Counter-3 Phase Mux Preset,C-Counter-4 Phase Mux Preset,C-Counter-5 Phase Mux Preset,C-Counter-6 Phase Mux Preset,C-Counter-7 Phase Mux Preset,C-Counter-8 Phase Mux Preset,Charge Pump Current,Bandwidth Control + + + parameterTable_values + 10,1,1000.0 MHz,1,5,8,5,8,10,1,1,1,false,5,5,false,false,256,256,false,true,256,3,4,3,4,5,256,256,256,256,2,4,2,4,5,256,256,256,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true,1,1,1,1,3,1,1,1,1,0,0,0,0,0,0,0,0,0,pll_cp_setting5,pll_bw_res_setting3 + + + parameter_table_hex_file + seq_params_sim.hex + + + pfd_clk_freq + 100000000 + + + phase_shift0 + 0 ps + + + phase_shift1 + 0 ps + + + phase_shift10 + 0 ps + + + phase_shift11 + 0 ps + + + phase_shift12 + 0 ps + + + phase_shift13 + 0 ps + + + phase_shift14 + 0 ps + + + phase_shift15 + 0 ps + + + phase_shift16 + 0 ps + + + phase_shift17 + 0 ps + + + phase_shift2 + 0 ps + + + phase_shift3 + 0 ps + + + phase_shift4 + 2000 ps + + + phase_shift5 + 0 ps + + + phase_shift6 + 0 ps + + + phase_shift7 + 0 ps + + + phase_shift8 + 0 ps + + + phase_shift9 + 0 ps + + + pll_auto_clk_sw_en + false + + + pll_bw_sel + mid_bw + + + pll_bwctrl + pll_bw_res_setting3 + + + pll_cal_done + false + + + pll_clk_loss_sw_en + false + + + pll_clk_sw_dly + 0 + + + pll_clkin_0_src + coreclkin + + + pll_clkin_1_src + ioclkin_0 + + + pll_cp_current + pll_cp_setting5 + + + pll_defer_cal_user_mode + true + + + pll_dsm_out_sel + 1st_order + + + pll_extclk_0_cnt_src + pll_extclk_cnt_src_vss + + + pll_extclk_1_cnt_src + pll_extclk_cnt_src_vss + + + pll_fbclk_mux_1 + pll_fbclk_mux_1_glb + + + pll_fbclk_mux_2 + pll_fbclk_mux_2_m_cnt + + + pll_fractional_cout + 1 + + + pll_fractional_division + 1 + + + pll_freqcal_en + true + + + pll_freqcal_req_flag + true + + + pll_lock_fltr_cfg + 100 + + + pll_m_cnt + 1 + + + pll_m_cnt_basic + 1 + + + pll_m_cnt_in_src + c_m_cnt_in_src_ph_mux_clk + + + pll_manu_clk_sw_en + false + + + pll_output_clk_frequency + 1000.0 MHz + + + pll_pfd_frequency + 100.0 MHz + + + pll_ripplecap_ctrl + pll_ripplecap_setting1 + + + pll_slf_rst + false + + + pll_subtype + General + + + pll_tclk_mux_en + false + + + pll_tclk_sel + pll_tclk_m_src + + + pll_type + TOP_BOTTOM + + + pll_unlock_fltr_cfg + 2 + + + pll_vco_div + 1 + + + pll_vco_freq_band_0 + pll_freq_clk0_band18 + + + pll_vco_freq_band_1 + pll_freq_clk1_band18 + + + pll_vcoph_div + 1 + + + prot_mode + BASIC + + + protocol_mode + PROTOCOL_MODE_BASIC + + + ref_clk_0_freq + 100000000 + + + ref_clk_1_freq + 100000000 + + + ref_clk_delay + 0 + + + ref_clk_n_div + 1 + + + refclk1_frequency + 0 MHz + + + reference_clock_frequency + 100.0 MHz + + + set_dutycycle + SET_DUTYCYCLE_FRACTION + + + set_fractional + SET_FRACTIONAL_FRACTION + + + set_freq + SET_FREQ_DIVISION + + + set_phase + SET_PHASE_NUM_SHIFTS + + + system_info_device_component + AGFB014R24B2E2V + + + system_info_device_family + Agilex 7 + + + system_info_device_iobank_rev + + + + system_info_device_speed_grade + 2 + + + system_part_trait_iobank_rev + IO96A_REVB2 + + + system_part_trait_speed_grade + 2 + + + use_core_refclk + true + + + vco_clk_freq + 1000000000 + + + + altera_iopll + 19.3.1 + iopll_0 + io_pll_altera_iopll_1931_oypl3jq + 0 + + io_pll.iopll_0 + + + + + \ No newline at end of file diff --git a/corev_apu/altera/ip/io_pll/io_pll.qip b/corev_apu/altera/ip/io_pll/io_pll.qip new file mode 100644 index 0000000000..20c0132911 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.qip @@ -0,0 +1,56 @@ +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TOOL_VERSION "24.1" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TOP_LEVEL_COMPONENT_NAME "altera_iopll" +set_global_assignment -entity "io_pll" -library "io_pll" -name PRE_COMPILED_MODULE "ON" +set_global_assignment -entity "io_pll" -library "io_pll" -name OCS_IP_FILE "/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip" +set_global_assignment -entity "io_pll" -library "io_pll" -name OCS_IP_TYPE "altera_iopll" +set_global_assignment -entity "io_pll" -library "io_pll" -name OCS_IP_VERSION "19.3.1" +set_global_assignment -entity "io_pll" -library "io_pll" -name OCS_IP_HASH "oypl3jq" +set_global_assignment -library "io_pll" -name SOPCINFO_FILE [file join $::quartus(qip_path) "io_pll.sopcinfo"] +set_global_assignment -entity "io_pll" -library "io_pll" -name SLD_INFO "QSYS_NAME io_pll HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "io_pll" -name MISC_FILE [file join $::quartus(qip_path) "io_pll.cmp"] +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TARGETED_DEVICE_FAMILY "Agilex 7" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TARGETED_PART_TRAIT "DEVICE_SPEEDGRADE::2" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_TARGETED_PART_TRAIT "part.DEVICE_IOBANK_REVISION::IO96A_REVB2" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_GENERATED_DEVICE_FAMILY "{Agilex 7}" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "io_pll" -name MISC_FILE [file join $::quartus(qip_path) "../io_pll.ip"] + +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_NAME "aW9fcGxsX2FsdGVyYV9pb3BsbF8xOTMxX295cGwzanE=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DISPLAY_NAME "SU9QTEwgSW50ZWwgRlBHQSBJUA==" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_VERSION "MTkuMy4x" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DESCRIPTION "SW50ZWwgRlBHQSBQaGFzZS1Mb2NrZWQgTG9vcCAoSU9QTEwgSW50ZWwgRlBHQSBJUCkgY29yZSBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSB0aGUgc2V0dGluZ3Mgb2YgdGhlICBJL08gUExMLg==" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_GROUP "QmFzaWMgRnVuY3Rpb25zL0Nsb2NrczsgUExMcyBhbmQgUmVzZXRzL1BMTA==" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzI4NS8=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzI4NS8=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzE5NS8yMC0zL2NvcmUtOTU3NTEuaHRtbA==" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4Mzc2MS8=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzc2OTAwMS8=" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RvY3MvcHJvZ3JhbW1hYmxlLzY4MzE2Ni8=" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_NAME "aW9fcGxs" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "io_pll" -library "io_pll" -name IP_COMPONENT_VERSION "MS4w" + + +set_global_assignment -library "altera_iopll_1931" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.v"] +set_instance_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_all_ip_params.tcl"] +set_instance_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_parameters.tcl"] +set_instance_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name SDC_ENTITY_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq.sdc"] -no_sdc_promotion -no_auto_inst_discovery -read_during_post_syn_and_post_fit_timing_analysis +set_instance_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name TCL_ENTITY_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/io_pll_altera_iopll_1931_oypl3jq_pin_map.tcl"] +set_global_assignment -library "altera_iopll_1931" -name SOURCE_FILE [file join $::quartus(qip_path) "altera_iopll_1931/synth/agilex_iobank_pll.ipxact"] +set_global_assignment -library "io_pll" -name VERILOG_FILE [file join $::quartus(qip_path) "synth/io_pll.v"] + + +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_TOOL_NAME "altera_iopll" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_TOOL_VERSION "19.3.1" +set_global_assignment -entity "io_pll_altera_iopll_1931_oypl3jq" -library "altera_iopll_1931" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/corev_apu/altera/ip/io_pll/io_pll.sopcinfo b/corev_apu/altera/ip/io_pll/io_pll.sopcinfo new file mode 100644 index 0000000000..469849caae --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.sopcinfo @@ -0,0 +1,7332 @@ + + + + + + + java.lang.Integer + 0 + false + true + false + true + GENERATION_ID + + + java.lang.String + + false + true + false + true + UNIQUE_ID + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + default + false + true + false + true + BOARD + + + java.lang.Long + -1 + false + true + false + true + CLOCK_RATE + refclk + + + java.lang.Integer + -1 + false + true + false + true + CLOCK_DOMAIN + refclk + + + java.lang.Integer + -1 + false + true + false + true + RESET_DOMAIN + refclk + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + boolean + false + false + true + true + true + + + + + embeddedsw.dts.compatible + altr,pll + + + embeddedsw.dts.group + clock + + + embeddedsw.dts.vendor + altr + + + java.lang.String + Agilex 7 + true + false + true + true + + + java.lang.String + AGFB014R24B2E2V + true + false + true + true + + + int + 2 + true + true + true + true + + + java.lang.String + IO96A_REVB2 + true + false + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + iossm.hex + false + true + false + true + + + java.lang.String + seq_params_sim.hex + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + pll_tclk_m_src + false + true + false + true + + + java.lang.String + pll_freq_clk0_band18 + false + true + false + true + + + java.lang.String + pll_freq_clk1_band18 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + cal_clean + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + S10_Simple + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + false + true + false + true + + + java.lang.String + Agilex 7 + false + true + false + true + DEVICE_FAMILY + + + java.lang.String + AGFB014R24B2E2V + false + true + false + true + DEVICE + + + java.lang.String + 2 + false + true + false + true + DEVICE_SPEEDGRADE + + + java.lang.String + + false + true + false + true + + + java.lang.String + 2 + false + true + false + true + PART_TRAIT + DEVICE_SPEEDGRADE + + + java.lang.String + IO96A_REVB2 + false + true + false + true + PART_TRAIT + DEVICE_IOBANK_REVISION + + + java.lang.String + 1 + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + false + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + true + true + + + java.lang.String + Integer-N PLL + false + true + false + true + + + java.lang.String + I/O Bank + false + true + true + true + + + boolean + false + false + true + false + true + + + double + 100.0 + false + true + true + true + + + double + 10000.0 + false + true + false + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + false + true + + + int + 32 + false + true + false + true + + + java.lang.String + UNUSED + false + true + false + true + + + java.lang.String + 1st_order + false + true + false + true + + + boolean + true + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + Medium + false + true + true + true + + + java.lang.String + Low Lock Time + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + Disabled + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + direct + false + true + true + true + + + java.lang.String + Global Clock + false + true + false + true + + + int + 0 + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + double + 100.0 + false + false + true + true + + + boolean + false + false + true + true + true + + + int + 1 + false + true + false + true + + + boolean + false + false + true + true + true + + + int + 5 + false + true + true + true + + + int + 25 + false + true + false + true + + + int + 6 + false + true + false + true + + + long + 1 + false + true + false + true + + + boolean + false + false + true + true + true + + + double + 600.0 + false + false + false + true + + + double + 1667.0 + false + true + false + true + + + java.lang.String + 1250.0 + false + true + false + true + + + boolean + false + false + false + true + true + + + java.lang.String + Generate New MIF File + false + false + true + true + + + java.lang.String + ~/pll.mif + false + false + true + true + + + java.lang.String + ~/pll.mif + false + false + false + true + + + java.lang.String + unnamed + false + false + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + Automatic Switchover + false + true + true + true + + + int + 0 + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.String + 0 + false + false + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + adjpllin + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + C0 + false + true + false + true + + + int + 1 + false + true + false + true + + + java.lang.String + Positive + false + true + false + true + + + java.lang.String + C0 + false + false + true + true + + + java.lang.String + C0 + false + false + true + true + + + java.lang.String + C0 + false + true + false + true + + + boolean + false + false + true + true + true + + + java.lang.String + outclk0 + false + true + true + true + + + java.lang.String + outclk1 + false + true + true + true + + + java.lang.String + outclk2 + false + true + true + true + + + java.lang.String + outclk3 + false + true + true + true + + + java.lang.String + outclk4 + false + true + true + true + + + java.lang.String + outclk5 + false + true + true + true + + + java.lang.String + outclk6 + false + true + true + true + + + java.lang.String + outclk7 + false + true + true + true + + + java.lang.String + outclk8 + false + true + true + true + + + java.lang.String + outclk9 + false + true + true + true + + + java.lang.String + outclk10 + false + true + true + true + + + java.lang.String + outclk11 + false + true + true + true + + + java.lang.String + outclk12 + false + true + true + true + + + java.lang.String + outclk13 + false + true + true + true + + + java.lang.String + outclk14 + false + true + true + true + + + java.lang.String + outclk15 + false + true + true + true + + + java.lang.String + outclk16 + false + true + true + true + + + java.lang.String + outclk17 + false + true + true + true + + + int + 1 + false + true + false + true + + + int + 25 + false + true + false + true + + + int + 25 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 6 + false + true + false + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + int + 6 + false + true + true + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + false + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + boolean + false + false + true + true + true + + + double + 200.0 + false + true + true + true + + + double + 125.0 + false + true + true + true + + + double + 200.0 + false + true + true + true + + + double + 125.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 100.0 + false + true + true + true + + + double + 5000.0 + false + true + false + true + + + double + 8000.0 + false + true + false + true + + + double + 5000.0 + false + true + false + true + + + double + 8000.0 + false + true + false + true + + + double + 10000.0 + false + true + false + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + double + 10000.0 + false + true + true + true + + + java.lang.String + 200.0 + true + true + true + true + + + java.lang.String + 125.0 + true + true + true + true + + + java.lang.String + 200.0 + true + true + true + true + + + java.lang.String + 125.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + java.lang.String + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 198.333333,198.412698,198.571429,200.0,201.428571,201.587302 + true + true + true + true + + + [Ljava.lang.String; + 114.285714,116.666667,120.0,125.0,127.272727,133.333333 + true + true + true + true + + + [Ljava.lang.String; + 125.0,142.857143,166.666667,200.0,250.0,333.333333 + true + true + true + true + + + [Ljava.lang.String; + 90.909091,100.0,111.111111,125.0,142.857143,166.666667 + true + true + true + true + + + [Ljava.lang.String; + 76.923077,83.333333,90.909091,100.0,111.111111,125.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + [Ljava.lang.String; + 100.0 + true + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + degrees + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + java.lang.String + ps + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + false + true + + + double + 90.0 + false + true + true + true + + + double + 0.0 + false + true + false + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + double + 0.0 + false + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 2000.0 + true + true + false + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0,125.0,250.0,375.0,500.0,625.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0,125.0,250.0,375.0,500.0,625.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0,125.0,250.0,375.0,500.0,625.0 + true + true + true + true + + + [Ljava.lang.String; + 1625.0,1750.0,1875.0,2000.0,2125.0,2250.0 + true + true + false + true + + + [Ljava.lang.String; + 0.0,125.0,250.0,375.0,500.0,625.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + false + true + + + java.lang.String + 0.0 + true + true + false + true + + + java.lang.String + 0.0 + true + true + false + true + + + java.lang.String + 90.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + false + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + java.lang.String + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0,9.0,18.0,27.0,36.0,45.0 + true + true + false + true + + + [Ljava.lang.String; + 0.0,5.6,11.2,16.9,22.5,28.1 + true + true + false + true + + + [Ljava.lang.String; + 0.0,9.0,18.0,27.0,36.0,45.0 + true + true + false + true + + + [Ljava.lang.String; + 73.1,78.8,84.4,90.0,95.6,101.2 + true + true + true + true + + + [Ljava.lang.String; + 0.0,4.5,9.0,13.5,18.0,22.5 + true + true + false + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + [Ljava.lang.String; + 0.0 + true + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + double + 50.0 + false + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + java.lang.String + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 20.0,30.0,40.0,50.0,60.0,70.0 + true + true + true + true + + + [Ljava.lang.String; + 31.25,37.5,43.75,50.0,56.25,62.5 + true + true + true + true + + + [Ljava.lang.String; + 20.0,30.0,40.0,50.0,60.0,70.0 + true + true + true + true + + + [Ljava.lang.String; + 31.25,37.5,43.75,50.0,56.25,62.5 + true + true + true + true + + + [Ljava.lang.String; + 35.0,40.0,45.0,50.0,55.0,60.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + [Ljava.lang.String; + 50.0 + true + true + true + true + + + boolean + false + false + true + false + true + + + [Ljava.lang.String; + M-Counter Divide Setting,N-Counter Divide Setting,VCO Frequency,C-Counter-0 Divide Setting,C-Counter-1 Divide Setting,C-Counter-2 Divide Setting,C-Counter-3 Divide Setting,C-Counter-4 Divide Setting,C-Counter-5 Divide Setting,C-Counter-6 Divide Setting,C-Counter-7 Divide Setting,C-Counter-8 Divide Setting,PLL Auto Reset,M-Counter Hi Divide,M-Counter Lo Divide,M-Counter Even Duty Enable,M-Counter Bypass Enable,N-Counter Hi Divide,N-Counter Lo Divide,N-Counter Even Duty Enable,N-Counter Bypass Enable,C-Counter-0 Hi Divide,C-Counter-1 Hi Divide,C-Counter-2 Hi Divide,C-Counter-3 Hi Divide,C-Counter-4 Hi Divide,C-Counter-5 Hi Divide,C-Counter-6 Hi Divide,C-Counter-7 Hi Divide,C-Counter-8 Hi Divide,C-Counter-0 Lo Divide,C-Counter-1 Lo Divide,C-Counter-2 Lo Divide,C-Counter-3 Lo Divide,C-Counter-4 Lo Divide,C-Counter-5 Lo Divide,C-Counter-6 Lo Divide,C-Counter-7 Lo Divide,C-Counter-8 Lo Divide,C-Counter-0 Even Duty Enable,C-Counter-1 Even Duty Enable,C-Counter-2 Even Duty Enable,C-Counter-3 Even Duty Enable,C-Counter-4 Even Duty Enable,C-Counter-5 Even Duty Enable,C-Counter-6 Even Duty Enable,C-Counter-7 Even Duty Enable,C-Counter-8 Even Duty Enable,C-Counter-0 Bypass Enable,C-Counter-1 Bypass Enable,C-Counter-2 Bypass Enable,C-Counter-3 Bypass Enable,C-Counter-4 Bypass Enable,C-Counter-5 Bypass Enable,C-Counter-6 Bypass Enable,C-Counter-7 Bypass Enable,C-Counter-8 Bypass Enable,C-Counter-0 Preset,C-Counter-1 Preset,C-Counter-2 Preset,C-Counter-3 Preset,C-Counter-4 Preset,C-Counter-5 Preset,C-Counter-6 Preset,C-Counter-7 Preset,C-Counter-8 Preset,C-Counter-0 Phase Mux Preset,C-Counter-1 Phase Mux Preset,C-Counter-2 Phase Mux Preset,C-Counter-3 Phase Mux Preset,C-Counter-4 Phase Mux Preset,C-Counter-5 Phase Mux Preset,C-Counter-6 Phase Mux Preset,C-Counter-7 Phase Mux Preset,C-Counter-8 Phase Mux Preset,Charge Pump Current,Bandwidth Control + true + true + true + true + + + [Ljava.lang.String; + 10,1,1000.0 MHz,1,5,8,5,8,10,1,1,1,false,5,5,false,false,256,256,false,true,256,3,4,3,4,5,256,256,256,256,2,4,2,4,5,256,256,256,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true,1,1,1,1,3,1,1,1,1,0,0,0,0,0,0,0,0,0,pll_cp_setting5,pll_bw_res_setting3 + true + true + true + true + + + [Ljava.lang.String; + The MIF file specified does not yet exist + true + true + true + true + + + [Ljava.lang.String; + + true + true + true + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + BASIC + true + true + false + true + + + java.lang.String + PROTOCOL_MODE_BASIC + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 10 + true + true + false + true + + + boolean + true + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + pll_cp_setting5 + true + true + false + true + + + java.lang.String + pll_bw_res_setting3 + true + true + false + true + + + java.lang.String + pll_ripplecap_setting1 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + 100.0 MHz + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + 1st_order + true + true + false + true + + + java.lang.String + direct + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + TOP_BOTTOM + true + true + false + true + + + java.lang.String + General + true + true + false + true + + + java.lang.String + 1000.0 MHz + true + true + false + true + + + java.lang.String + 100.0 MHz + true + true + false + true + + + java.lang.String + gclk + true + true + false + true + + + java.lang.String + mid_bw + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + pll_fbclk_mux_1_glb + true + true + false + true + + + java.lang.String + pll_fbclk_mux_2_m_cnt + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + coreclkin + true + true + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + java.lang.String + ioclkin_0 + true + false + false + true + + + int + 0 + true + false + false + true + + + java.lang.String + pll_extclk_cnt_src_vss + true + true + false + true + + + java.lang.String + pll_extclk_cnt_src_vss + true + true + false + true + + + int + 100 + true + true + false + true + + + int + 2 + true + true + false + true + + + java.lang.String + low_lock_time + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + false + false + true + + + int + 3 + true + true + false + true + + + boolean + false + true + true + false + true + + + java.lang.String + BANDWIDTH_MODE_AUTO + true + true + false + true + + + java.lang.String + COMPENSATION_CLK_SOURCE_UNUSED + true + true + false + true + + + java.lang.String + COMPENSATION_MODE_DIRECT + true + true + false + true + + + java.lang.String + CASCADE_MODE_STANDALONE + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 0 + true + true + false + true + + + java.lang.String + OUT_CLK_CASCADING_SOURCE_UNUSED + true + true + false + true + + + java.lang.String + OUT_CLK_EXTERNAL_0_SOURCE_UNUSED + true + true + false + true + + + java.lang.String + OUT_CLK_EXTERNAL_1_SOURCE_UNUSED + true + true + false + true + + + long + 0 + true + true + false + true + + + boolean + true + true + true + false + true + + + long + 0 + true + true + false + true + + + boolean + true + true + true + false + true + + + long + 0 + true + true + false + true + + + int + 1 + true + true + false + true + + + java.lang.String + SET_DUTYCYCLE_FRACTION + true + true + false + true + + + java.lang.String + SET_FRACTIONAL_FRACTION + true + true + false + true + + + java.lang.String + SET_FREQ_DIVISION + true + true + false + true + + + java.lang.String + SET_PHASE_NUM_SHIFTS + true + true + false + true + + + java.math.BigInteger + 100000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 3 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 3 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 256 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 2 + true + true + false + true + + + int + 4 + true + true + false + true + + + int + 5 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + true + false + true + + + int + 256 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 3 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 1 + true + false + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + true + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + int + 0 + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + true + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + java.lang.String + c_m_cnt_in_src_ph_mux_clk + true + false + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 200.0 MHz + true + true + false + true + + + java.lang.String + 125.0 MHz + true + true + false + true + + + java.lang.String + 200.0 MHz + true + true + false + true + + + java.lang.String + 125.0 MHz + true + true + false + true + + + java.lang.String + 100.0 MHz + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 MHz + true + false + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 2000 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + true + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + java.lang.String + 0 ps + true + false + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + true + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + int + 50 + true + false + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + outclk0 + true + true + false + true + + + java.lang.String + outclk1 + true + true + false + true + + + java.lang.String + outclk2 + true + true + false + true + + + java.lang.String + outclk3 + true + true + false + true + + + java.lang.String + outclk4 + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + boolean + false + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + int + 1 + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + boolean + true + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 2 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 1 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + long + 0 + true + true + false + true + + + java.math.BigInteger + 100000000 + true + true + false + true + + + java.math.BigInteger + 100000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + java.math.BigInteger + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + long + 1000000000 + true + true + false + true + + + boolean + false + true + false + false + true + + + java.lang.String + pll_tclk_m_src + true + false + false + true + + + java.lang.String + pll_freq_clk0_band18 + true + false + false + true + + + java.lang.String + pll_freq_clk1_band18 + true + false + false + true + + + boolean + true + true + false + false + true + + + boolean + false + true + false + false + true + + + java.lang.String + cal_clean + true + false + false + true + + + boolean + false + true + false + false + true + + + boolean + false + true + false + false + true + + + java.lang.String + iossm.hex + true + false + false + true + + + java.lang.String + seq_params_sim.hex + true + false + false + true + + + int + 1333 + true + false + false + true + + + int + 9 + true + true + false + true + + + int + 1 + true + true + false + true + + + double + 600.0 + true + true + false + true + + + java.lang.String + + true + true + false + true + + + boolean + false + false + true + false + true + + + double + 200.0 + true + true + false + true + + + double + 125.0 + true + true + false + true + + + double + 200.0 + true + true + false + true + + + double + 125.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 100.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 2000.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 0.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + double + 50.0 + true + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + + + ui.blockdiagram.direction + input + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + + java.lang.Boolean + true + true + true + false + true + + + java.lang.Long + 100000000 + true + true + false + true + + clock + 0 + false + + refclk + Input + 1 + clk + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + java.lang.String + + false + true + true + true + + + boolean + false + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + conduit + 0 + false + + locked + Output + 1 + export + + + + + + ui.blockdiagram.direction + input + + + java.lang.String + + false + true + true + true + + + com.altera.sopcmodel.reset.Reset$Edges + NONE + false + true + true + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + reset + 0 + false + + rst + Input + 1 + reset + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + long + 200000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + outclk_0 + Output + 1 + clk + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + long + 125000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + outclk_1 + Output + 1 + clk + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + long + 200000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + outclk_2 + Output + 1 + clk + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + long + 125000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + outclk_3 + Output + 1 + clk + + + + + + ui.blockdiagram.direction + output + + + java.lang.String + + false + true + true + true + + + long + 100000000 + false + true + false + true + + + boolean + true + false + true + false + true + + + boolean + false + false + true + false + true + + + java.lang.String + + false + true + false + true + + + java.lang.String + UNKNOWN + false + true + true + true + + + boolean + false + false + true + true + true + + clock + 0 + true + + outclk_4 + Output + 1 + clk + + + + + 1 + altera_iopll + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IModule + IOPLL Intel FPGA IP + 19.3.1 + + + 1 + clock_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Input + 24.1 + + + 1 + conduit_end + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Conduit + 24.1 + + + 1 + reset_sink + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Reset Input + 24.1 + + + 5 + clock_source + com.altera.entityinterfaces.IElementClass + com.altera.entityinterfaces.IMutableConnectionPoint + Clock Output + 24.1 + + 24.1 115 + + diff --git a/corev_apu/altera/ip/io_pll/io_pll.spd b/corev_apu/altera/ip/io_pll/io_pll.spd new file mode 100644 index 0000000000..0673e0309e --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.spd @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/corev_apu/altera/ip/io_pll/io_pll.xml b/corev_apu/altera/ip/io_pll/io_pll.xml new file mode 100644 index 0000000000..45cf6fcab2 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll.xml @@ -0,0 +1,1079 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: io_pll" + "Generating: io_pll_altera_iopll_1931_oypl3jq" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Generating: io_pll_altera_iopll_1931_oypl3jq" + + + diff --git a/corev_apu/altera/ip/io_pll/io_pll_bb.v b/corev_apu/altera/ip/io_pll/io_pll_bb.v new file mode 100644 index 0000000000..f741fe5214 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll_bb.v @@ -0,0 +1,12 @@ +module io_pll ( + input wire refclk, // refclk.clk + output wire locked, // locked.export + input wire rst, // reset.reset + output wire outclk_0, // outclk0.clk + output wire outclk_1, // outclk1.clk + output wire outclk_2, // outclk2.clk + output wire outclk_3, // outclk3.clk + output wire outclk_4 // outclk4.clk + ); +endmodule + diff --git a/corev_apu/altera/ip/io_pll/io_pll_generation.rpt b/corev_apu/altera/ip/io_pll/io_pll_generation.rpt new file mode 100644 index 0000000000..797016fe1e --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll_generation.rpt @@ -0,0 +1,65 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create simulation model +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip --simulation=VERILOG --allow-mixed-language-simulation --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Info: io_pll.iopll_0: Able to implement PLL with user settings +Info: io_pll: "Transforming system: io_pll" +Info: io_pll: "Naming system components in system: io_pll" +Info: io_pll: "Processing generation queue" +Info: io_pll: "Generating: io_pll" +Info: io_pll: "Generating: io_pll_altera_iopll_1931_oypl3jq" +Info: io_pll: Done "io_pll" with 2 modules, 2 files +Info: Generating the following file(s) for VCSMX simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: common/vcsmx_files.tcl +Info: Generating the following file(s) for XCELIUM simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: common/xcelium_files.tcl +Info: Generating the following file(s) for VCS simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: common/vcs_files.tcl +Info: Generating the following file(s) for MODELSIM simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: common/modelsim_files.tcl +Info: Generating the following file(s) for RIVIERA simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: common/riviera_files.tcl +Info: For information on how to simulate your IP, see the explanatory comments in the simulator-specific subdirectories under /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/. +Info: Regenerate these scripts whenever you make any change to any Quartus-generated IP in your project. +Info: Finished: Create simulation model +Info: Starting: Create simulation script +Info: sim-script-gen --system-file=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ --use-relative-paths=true --modelsim-flow=traditional +Info: Generating the following file(s) for VCSMX simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: synopsys/vcsmx/synopsys_sim.setup +Info: synopsys/vcsmx/vcsmx_setup.sh +Info: Generating the following file(s) for XCELIUM simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: xcelium/cds.lib +Info: xcelium/hdl.var +Info: xcelium/xcelium_setup.sh +Info: 2 .cds.lib files in xcelium/cds_libs/ directory +Info: Generating the following file(s) for VCS simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: synopsys/vcs/vcs_setup.sh +Info: Generating the following file(s) for MODELSIM simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: mentor/msim_setup.tcl +Info: Generating the following file(s) for RIVIERA simulator in /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/ directory: +Info: aldec/rivierapro_setup.tcl +Info: For information on how to simulate your IP, see the explanatory comments in the simulator-specific subdirectories under /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll/sim/. +Info: Regenerate these scripts whenever you make any change to any Quartus-generated IP in your project. +Info: Finished: Create simulation script +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Info: io_pll.iopll_0: Able to implement PLL with user settings +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip --synthesis=VERILOG --greybox --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Info: io_pll.iopll_0: Able to implement PLL with user settings +Info: io_pll: "Transforming system: io_pll" +Info: io_pll: "Naming system components in system: io_pll" +Info: io_pll: "Processing generation queue" +Info: io_pll: "Generating: io_pll" +Info: io_pll: "Generating: io_pll_altera_iopll_1931_oypl3jq" +Info: io_pll: Done "io_pll" with 2 modules, 7 files +Info: Generating third-party timing and resource estimation model ... +Info: Done generating third-party timing and resource estimation model. +Info: Finished: Create HDL design files for synthesis +Info: Starting: IP-XACT +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll.ip --synthesis=VERILOG --ipxact --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/intel/ip/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Info: Finished: IP-XACT +Info: Starting: Generate IP Core Documentation +Info: No documentation filesets were found for components in io_pll. No files generated. +Info: Finished: Generate IP Core Documentation diff --git a/corev_apu/altera/ip/io_pll/io_pll_generation_previous.rpt b/corev_apu/altera/ip/io_pll/io_pll_generation_previous.rpt new file mode 100644 index 0000000000..323b796b3e --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll_generation_previous.rpt @@ -0,0 +1,21 @@ +Info: Generated by version: 24.1 build 115 +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/fpga/intel/io_pll.ip --block-symbol-file --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/fpga/intel/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Warning: io_pll.iopll_0: Able to implement PLL - Actual outclk frequency 2 differs from requested setting +Warning: io_pll.iopll_0: Able to implement PLL - Actual outclk frequency 4 differs from requested setting +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/angela/Documents/github/cva6_intel/cva6/corev_apu/fpga/intel/io_pll.ip --synthesis=VERILOG --output-directory=/home/angela/Documents/github/cva6_intel/cva6/corev_apu/fpga/intel/io_pll --family="Agilex 7" --part=AGFB014R24B2E2V +Warning: io_pll.iopll_0: Able to implement PLL - Actual outclk frequency 2 differs from requested setting +Warning: io_pll.iopll_0: Able to implement PLL - Actual outclk frequency 4 differs from requested setting +Info: io_pll: "Transforming system: io_pll" +Info: io_pll: "Naming system components in system: io_pll" +Info: io_pll: "Processing generation queue" +Info: io_pll: "Generating: io_pll" +Info: io_pll: "Generating: io_pll_altera_iopll_1931_2chfxvi" +Info: io_pll: Done "io_pll" with 2 modules, 7 files +Info: Finished: Create HDL design files for synthesis +Info: Starting: Generate IP Core Documentation +Info: No documentation filesets were found for components in io_pll. No files generated. +Info: Finished: Generate IP Core Documentation diff --git a/corev_apu/altera/ip/io_pll/io_pll_inst.v b/corev_apu/altera/ip/io_pll/io_pll_inst.v new file mode 100644 index 0000000000..daf2e21bc2 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll_inst.v @@ -0,0 +1,11 @@ + io_pll u0 ( + .refclk (_connected_to_refclk_), // input, width = 1, refclk.clk + .locked (_connected_to_locked_), // output, width = 1, locked.export + .rst (_connected_to_rst_), // input, width = 1, reset.reset + .outclk_0 (_connected_to_outclk_0_), // output, width = 1, outclk0.clk + .outclk_1 (_connected_to_outclk_1_), // output, width = 1, outclk1.clk + .outclk_2 (_connected_to_outclk_2_), // output, width = 1, outclk2.clk + .outclk_3 (_connected_to_outclk_3_), // output, width = 1, outclk3.clk + .outclk_4 (_connected_to_outclk_4_) // output, width = 1, outclk4.clk + ); + diff --git a/corev_apu/altera/ip/io_pll/io_pll_inst.vhd b/corev_apu/altera/ip/io_pll/io_pll_inst.vhd new file mode 100644 index 0000000000..e1f724eaa1 --- /dev/null +++ b/corev_apu/altera/ip/io_pll/io_pll_inst.vhd @@ -0,0 +1,25 @@ + component io_pll is + port ( + refclk : in std_logic := 'X'; -- clk + locked : out std_logic; -- export + rst : in std_logic := 'X'; -- reset + outclk_0 : out std_logic; -- clk + outclk_1 : out std_logic; -- clk + outclk_2 : out std_logic; -- clk + outclk_3 : out std_logic; -- clk + outclk_4 : out std_logic -- clk + ); + end component io_pll; + + u0 : component io_pll + port map ( + refclk => CONNECTED_TO_refclk, -- refclk.clk + locked => CONNECTED_TO_locked, -- locked.export + rst => CONNECTED_TO_rst, -- reset.reset + outclk_0 => CONNECTED_TO_outclk_0, -- outclk0.clk + outclk_1 => CONNECTED_TO_outclk_1, -- outclk1.clk + outclk_2 => CONNECTED_TO_outclk_2, -- outclk2.clk + outclk_3 => CONNECTED_TO_outclk_3, -- outclk3.clk + outclk_4 => CONNECTED_TO_outclk_4 -- outclk4.clk + ); + diff --git a/corev_apu/altera/ip/io_pll/sim/aldec/rivierapro_setup.tcl b/corev_apu/altera/ip/io_pll/sim/aldec/rivierapro_setup.tcl new file mode 100644 index 0000000000..25420cee5f --- /dev/null +++ b/corev_apu/altera/ip/io_pll/sim/aldec/rivierapro_setup.tcl @@ -0,0 +1,380 @@ + +# (C) 2001-2024 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ACDS 24.1 115 linux 2024.10.15.08:52:05 +# ---------------------------------------- +# Auto-generated simulation script rivierapro_setup.tcl +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# io_pll +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# To write a top-level script that compiles Intel simulation libraries and +# the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "aldec.do", and modify the text as directed. +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. +# # +# set QSYS_SIMDIR
+
+ + + + +
+
+
+
All Components +
   +
emif_fm_0 + altera_emif_fm 2.7.4 +
   + emif_fm_0_ecc_core + altera_emif_ecc 19.1 +
+